MII和RGMII的区别 上图是am3358芯片的物理层接口,RGMII和MII,可以看出管脚数量不一样,以及Clk的方向不一样,MII的Rx和Tx方向的时钟都是由PHY或者FPGA提供的,而RGMII则是谁发数据谁提供时钟,而且是双沿采样的。 ...Base Delay Reporting timeDesign You can use the timeDesign command to run Early Global ...
在第三阶段中添加延迟。数据发送方向,FPGA侧的TX_CLK信号不需要额外处理,也就是说FPGA发送与数据边沿对齐的时钟信号。TXD和TX_CLK信号波形如图。PHY内部会调整TX_CLK,使之能够稳定采样TXD。数据接收方向,由于RX_CLK由PHY提供,PHY芯片直接产生与数据中心对齐的时钟信号。RXD和RX_CLK信号波形如图。可见,使PHY芯片...
1、rgmii信号中的接收时钟phy_rxclk为单端时钟,如果将此时钟接到FPGA中多功能时钟引脚(MRCC或SRCC)上时,必须从正端(P)输入; 每个PHY芯片的tx和rx信号接在FPGA的同一个bank中,其中tx_clk和rx_clk需要接入bank中时钟专用管脚的P端,且其N端不能够接其它信号; 2、rgmii中接收信号(rxd、rxclk、rxctl)必须在FPG...
1、rgmii信号中的接收时钟phy_rxclk为单端时钟,如果将此时钟接到FPGA中多功能时钟引脚(MRCC或SRCC)上时,必须从正端(P)输入; 每个PHY芯片的tx和rx信号接在FPGA的同一个bank中,其中tx_clk和rx_clk需要接入bank中时钟专用管脚的P端,且其N端不能够接其它信号; ...
上图中PHY芯片给过来的时钟信号rgmii_rx分成两路,一路需要经过一级BUFIO,产生信号rgmii_rx_clk_bufio,该rgmii_rx_clk_bufio信号只是在接口处使用,用于后续添加IODELAY时使用;另一路信号经过一级BUFR,产生rx_clk_int时钟信号,该时钟信号就可以作为全局时钟使用,可以驱动2-3个BANK范围内的信号。
调试RGMII的最关键一步就是delay的调整,即调整CLK到数据的中间,可以先使能PHY那边的2ns,delay。然后再微调主控这边的delay。遍历取一个中间最优值。 2.能发短包,不能发长包 确认时钟频率是否正确。比如时钟频率大于或小于125MHz,在发长包时bit累计偏差会导致后面的bit错位。
.RST ( i_rst ) // 1-bit input: Asynchronous Reset to the DELAY_VALUE ); IDDR # ( .DDR_CLK_EDGE ( "OPPOSITE_EDGE" ), //"OPPOSITE_EDGE", "SAME_EDGE, "SAME_EDGE_PIPELINED" .INIT_Q1 ( 1'b0 ), .INIT_Q2 ( 1'b0 ),
IDELAYE源语 这是工程1-RGMII接口特有的功能模块,目的是为接收的PHY数据进行延时和对齐,采用了 IDELAYE源语,该源语在不同的FPGA器件上略有差异,本设计中的A7、K7、Zynq用的是IDELAYE2;IDELAYE2源语需要与IDELAYCTRL一起搭配使用,需要参考时钟200M;代码部分如下:例化位置在fpga.v; ...
上图中PHY芯片给过来的时钟信号rgmii_rx分成两路,一路需要经过一级BUFIO,产生信号rgmii_rx_clk_bufio,该rgmii_rx_clk_bufio信号只是在接口处使用,用于后续添加IODELAY时使用;另一路信号经过一级BUFR,产生rx_clk_int时钟信号,该时钟信号就可以作为全局时钟使用,可以驱动2-3个BANK范围内的信号。