• 0

RGMII (ZCU102-Zybo Z7)


Question

8 answers to this question

Recommended Posts

  • 0

Hi @PG_R,

I have connected many different fpga's to my PC through Ethernet using a standard Ethernet cable.  I believe a regular ethernet cable will do just fine. The difficult process will be facilitating the ethernet communication. That is why I suggested using the petalinux project linked above.

best regards,

Jon  

Link to post
Share on other sites
  • 0

@PG_R

Typically Ethernet PHY devices such as the Marvel 88E1111 are optimized to work with Cat5e cables. The interface between the PHY and the FPGA is immaterial; it doesn't make any difference whether it's RGMII, GMII, or SGMII. As long as the PHYs on both boards are setup properly to communicate at a particular speed, say Gigabit, and auto-negotiate you can just connect a cable between the boards and the PHYs will establish a connection without any assistance from the FPGA logic or ARM cores. Of course when the PHY is connected to FPGA logic then RGMII and SGMII is a bit more complicated, especially if you want to support 10/100/1000 rates. Most PHYs can be set to automatically switch input/output signals on the cable side so there isn't a driver conflict ( you needn't worry about using a cross-over cable ). The bad news is that programming many Ethernet PHYs is not always easy... the Marvel products require an NDA to see the register functionality. The good news is that for Xilinx and Digilent FPGA boards the PHYs are typically initialized on power-up or reset in the proper mode. For Intel based FPGA boards this is not the case as Intel wants you to be dependent on their IP to use the Ethernet PHY; this extends to their partners  in crime.

I've used the Ethernet PHYs to pass data between FPGA boards for many years. The next question then becomes; Do you want to use a MAC? For Zynq based boards the Ethernet PHY is connected to the ARM core through a MAC in the PS.. no getting around the MAC. For boards where the PHY is connected to logic you can do anything that you want. Once the PHYs on your boards have auto-negotiated a connection you will be responsible for the actual passing of packets and supporting particular protocols.

Edited by zygot
Link to post
Share on other sites
  • 0

Hi @zygot

I want to send/receive data from my compuer to PS DDR4 over the Ethernet using Gmii to Rgmii. I did vivado implemetation and imported vivado generated hardare description into Petalinux 2018.3.

I assigned a MAC address to Ethernet PHY and an IP address during the petalinux config. Can you please guide me how to write data sent at this Ip address to the PS DDR4? PS has a DDR4 memory via SO DIMM module. I am using Zynq™ UltraScale+™ ZU19EG FPGA. 

 

2001717997_Screenshotfrom2019-07-2410-11-37.thumb.png.d588b6f73ccef1ba4e75186dd63489d7.png

 

Edited by srikanth
Link to post
Share on other sites
  • 0

@srikanth

I don't have experience using your board, much experience using Petalinux, or an easy to follow list of instructions that will get you up and running. My only advice would be to start off with a known-good demo project for your board using the PS Ethernet port and bootstrap off of that. Most of my ZYNQ projects are bare-metal and don't use the PS Ethernet port.

You might have better luck asking specific questions about specific issues rather than looking for a recipe to complete a project with so many tools involved.

Link to post
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