-
Notifications
You must be signed in to change notification settings - Fork 55
Example: Ethernet
This is a break down of an Arty board based example that receives Ethernet frames, does some work on the payload, and sends a response frame back.
This example is from a series of examples designed for the Arty Board. See that page for basic instruction for using the Arty board.
The source code for this project can be primarily found in work_app.c. This project uses the Xilinx TEMAC core at this for easy access to the off chip Ethernet PHY. work_app.c describes three main functions / clock domains: rx_main() which is connected the receive part of the TEMAC core, tx_main() which is connected to the transmit part of the TEMAC core, and work_pipeline() which has the work() function to be done.
In both the RX and TX functions two things occur: 1) The 8b AXIS to/from the TEMAC is converted to 32b AXIS. This is done using 'raw VHDL' code as to easily make use of existing AXIS data width converter IP freely available from Xilinx. 2) The 32b AXIS from the TEMAC is parsed to pull out Ethernet header info, ex. mac addresses, see eth_32.c.
TODO C sourceThe compiler produces a text representation of what operations occur at which point during the pipeline (i.e. how long each operation takes and when). Inputs flow from top to bottom. Functions listed on the same lines are occurring in parallel.
TODO PIPELINE MAP
TODO TOOL RESULTS
Resource usage:
TODO IMAGE
TODO

