Jump to content
  • 0

RGMII (ZCU102-Zybo Z7)


PG_R

Question

8 answers to this question

Recommended Posts

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 comment
Share on other sites

@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.

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

@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 comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...