Xilinx 1G_PCS_PMA Experiment

Xilinx 1G_PCS_PMA Experiment

Reference Document PG047

1G_PCS_PMA Example Project

This project implements the conversion between GMII and GT interfaces, where the GMII interface connects to an external PHY chip.

graph LR;  
gmii_txd --> |IODELAY|gmii_txd_delay;   
gmii_txd_delay --> |BUGIO Sampling|gmii_txd_iff;
gmii_txd_iff --> |bufr Sampling|gmii_txd_reg;
gmii_txd_reg --> |elastic_buffer|gmii_txd_fifo ---> gt;

gmii_rxd_int(gt) -->|userclk2 Sampling|rxd_obuf;
rxd_obuf -->|OBUFT|gmii_rxd;

Simulation Diagram: Notes:

  • • The simulation needs to run for about 5.5ms before resetdone goes high.
  • • The bit 10 of REG0 in the MDIO register needs to be configured; otherwise, RMII_rx will not receive data, isolating the PHY from the MAC interface.
  • • From the simulation, it can be seen that tx/rx_en starts from the 0X55 preamble and continues until the FCS.

Debugging Signal

Signal Name Bit Width Direction Meaning
<span>gt0_rxchariscomma_out[3:0]</span> 4 bit output Indicates “This is a COMMA symbol” on a per-byte basis. bit[i]=1 indicates that RX_DATA[8i+7 : 8i] contains a comma (K28.1/K28.5/K28.7). Commonly used as an auxiliary judgment for whether byte alignment is correct.
<span>gt0_rxcharisk_out[3:0]</span> 4 bit output Indicates “This is a K code” on a per-byte basis. bit[i]=1 indicates that RX_DATA[8i+7 : 8i] is a control character (Kxx.x) in 8B/10B, not a data character (Dxx.x). Used by upper-layer protocol logic to identify packet headers, idle sequences, ordered sets, etc.
<span>gt0_rxbyteisaligned_out</span> 1 bit output Byte alignment completion flag. A high level indicates that the GT has found a valid COMMA and completed byte boundary adjustment, making the 32-bit boundary of RX_DATA the correct 4-byte frame.
<span>gt0_rxbyterealign_out</span> 1 bit output Byte realignment event. If the GT needs to readjust the byte boundary due to COMMA loss or bit errors during link operation, this signal will go high for one cycle, indicating that a “slip/realignment has just occurred”.
<span>gt0_rxcommadet_out</span> 1 bit output COMMA detection pulse. When the GT recognizes any valid COMMA symbol (K28.1/5/7) in the serial bit stream, this signal will go high for one cycle, used in conjunction with <span>rxpcommaalignen/rxmcommaalignen</span> to trigger alignment actions.

1G_PCS_SFP Experiment

  • • At this point, we do not need the sampling of bufio/bufr, nor the data output of OBUFT, so this part can be removed.
  • • If the FCS check fails for the data sent by TX, it will not be captured on the computer side.
  • • By configuring bit 14 of register 0 in the MDIO, you can see the sent data packets, even if they are packets with FCS check errors.

Leave a Comment