Visible to Intel only — GUID: cfo1697544100260
Ixiasoft
Visible to Intel only — GUID: cfo1697544100260
Ixiasoft
4.4.2. PCS Mode RX Interface
The GTS Ethernet Intel® FPGA Hard IP RX client interface in PCS Only variations employs the Media Independent Interface (MII) protocol.
The RX PCS acts as a source and the client acts as a sink in the receive direction.
Signal Name | Width | Description |
---|---|---|
o_rx_mii_d[63:0] | 64 bits (10GE/25GE) | RX MII data. Data is in MII encoding. o_rx_mii_d[7:0] holds the first byte the IP core received on the Ethernet link. o_rx_mii_d[0] holds the first bit the IP core received on the Ethernet link. When RX MII valid signal has the value of 0 or the RX valid alignment marker signal has the value of 1, the value on this signal is invalid. |
o_rx_mii_c[7:0] | 8 bits (10GE/25GE) | RX MII control bits. Each bit corresponds to a byte of RX MII data. o_rx_mii_c[0] corresponds to o_rx_mii_d[7:0]. If the value of a bit is 1, the corresponding data byte is a control byte. If the value of a bit is 0, the corresponding data byte is data. |
o_rx_mii_valid | 1 bit | Indicates that the RX MII data, RX MII control bits, and the RX valid alignment marker signals are valid. |
o_rx_mii_am_valid | 1 bit | Indicates the IP core received a valid alignment marker on the Ethernet link. When the RX MII valid signal has the value of 0, the value on this signal is invalid. The value of the RX MII valid signal may fall while the IP core is asserting this signal. |
The figure below shows how to receive packets from the RX PCS using the PCS mode RX interface.
- The packets are MII encoded.
- Each byte in o_rx_mii_d has a corresponding bit in o_rx_mii_c that indicates whether the byte is a control byte or a data byte; for example, o_rx_mii_c[2] is the control bit for o_rx_mii_d[23:16].
- The data is only valid when o_rx_mii_valid is high. The contents of the o_rx_mii_d and o_rx_mii_c buses are not defined when o_rx_mii_valid is low.
- The bit order for the PCS mode RX interface is the same as the bit order of the client interface.
- The first bit that the core receives is o_rx_mii_d[0].
MII Data | MII Control | Ethernet Packet Byte | ||
---|---|---|---|---|
o_rx_mii_d[7:0] | 0xFB | o_rx_mii_c[0] | 1 | Start of Packet |
o_rx_mii_d[15:8] | 0x55 | o_rx_mii_c[1] | 0 | Preamble |
o_rx_mii_d[23:16] | 0x55 | o_rx_mii_c[2] | 0 | Preamble |
o_rx_mii_d[31:24] | 0x55 | o_rx_mii_c[3] | 0 | Preamble |
o_rx_mii_d[39:32] | 0x55 | o_rx_mii_c[4] | 0 | Preamble |
o_rx_mii_d[47:40] | 0x55 | o_rx_mii_c[5] | 0 | Preamble |
o_rx_mii_d[55:48] | 0x55 | o_rx_mii_c[6] | 0 | Preamble |
o_rx_mii_d[63:56] | 0xD5 | o_rx_mii_c[7] | 0 | SFD |
o_rx_mii_am_valid indicates the arrival of the alignment markers from the RX PCS. The alignment markers also subject to o_rx_mii_valid. When o_rx_mii_valid is low, o_rx_mii_am_valid is not valid.
The contents of the o_rx_mii_d and o_rx_mii_c buses are not defined when o_rx_mii_valid is low. This is because alignment markers are not part of the 64b/66b encoding, and do not have an MII equivalent.