Jump to content
  • 0

how to receive data from ethernet port in SDK(zynq) and put the data in block ram


arzazo

Question

1 answer to this question

Recommended Posts

  • 0
The ZYNQ GEM controllers are a bit arcane to use. As far as I know you have to set up DMA Buffer Descriptors to connect the Ethernet MAC to memory; there aren't GEM data registers to access directly. It may be possible to use AXI BRAM in the PL as a BD source or sink; I don't know because I've never tried. So, if you goal is to connect your PL logic to a PS GEM then you likely have a few design options to choose from. You'll have to figure out how to synchronize your PS code to with your PL design to make sure that Tx data is available and Rx data is consumed properly. Since your frames are short you shouldn't have to worry about AXI burst addressing issues as long as high data rates are not important.

Read the ZYNQ 7000 TRM for details on how to use the GEM. The SDK has numerous example projects to compile and inspect. Expect to put some effort into it.

The more that you can constrain your Ethernet connection operation the easier the HW/SW project can be. Depending on your project requirements, and how you choose to address them, things could get pretty messy.

In general, FPGA vendors have a strong preference as to Ethernet use cases. Swimming against the flow will be hard work; but potentially worth the effort. Edited by zygot
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...