Visible to Intel only — GUID: nik1411172625001
Ixiasoft
Visible to Intel only — GUID: nik1411172625001
Ixiasoft
3.2.4.3. 40-100GbE IP Core RX Data Bus Without Adapters (Custom Streaming Interface)
The RX bus without adapters consists of five 8-byte words, or 320 bits, operating at a frequency above 315 MHz for the 100GbE IP core or two 8‑byte words, or 128 bits, for the 40GbE IP core, nominally at 315 MHz. This bus drives data from the RX MAC to the RX client.
Signal Name |
Direction |
Description |
---|---|---|
dout_d[<w>*64-1:0] | Output |
Received data and Idle bytes. In RX preamble pass-through mode, this bus also carries the preamble. |
dout_c[<w>*8-1:0] | Output |
Indicates control bytes on the data bus. Each bit of dout_c indicates whether the corresponding byte of dout_d is a control byte. A bit is asserted high if the corresponding byte on dout_d is an Idle byte or the Start byte, and has the value of zero if the corresponding byte is a data byte or, in preamble pass-through mode, a preamble or SFD byte. |
dout_first_data[<w>-1:0] | Output |
Indicates the first data word of a frame, in the current clk_rxmac cycle. In RX preamble pass-through mode, the first data word is the word that contains the preamble. When the RX preamble pass-through feature is turned off, the first data word is the first word of Ethernet data that follows the preamble. |
dout_last_data[<w>*8–1:0] | Output |
Indicates the final data byte of a frame, before the FCS, in the current clk_rxmac cycle. |
dout_runt_last_data[<w>-1:0] | Output |
Indicates that the last_data (the final data byte of the frame) is the final data byte of a runt frame (< 64 bytes). If a frame is eight bytes or smaller, it is considered a decoding error and not a runt frame, and the IP core does not flag it with this signal. |
dout_payload[<w>-1:0] | Output |
Word contains packet data (including destination and source addresses) as opposed to only containing Idle bytes. CRC and padding bits are considered data for this signal. When preamble pass-through is turned on, the preamble is also considered data for this signal. |
dout_fcs_error | Output |
The current or most recent last_data byte is part of a frame with an incorrect FCS (CRC-32) value. By default, the IP core asserts dout_fcs_error in the same cycle as the dout_last_data signal. However, in RX automatic pad removal mode, the dout_fcs_error signal might lag the dout_last_data signal for the frame. |
dout_fcs_valid | Output |
The FCS error bit is valid. |
dout_dst_addr_match[<w>-1:0] | Output |
The first data word in a frame that matches the destination address in the DST_AD0_LO and DST_AD0_HI registers. However, if bit 30 of the MADDR_CTRL register has the value of 0, the address is always considered to match. Otherwise, if bit 0 of the MADDR_CTRL register has the value of 0, the address is always considered to not match. |
dout_valid | Output |
The dout_d bus contents are valid. This signal is occasionally deasserted due to clock crossing. |
clk_rxmac | Input |
RX MAC clock. The minimum clock frequency is 315 MHz. The clk_rxmac clock and the clk_txmac clock (which clocks the TX datapath) are not related and their rates do not have to match. |
The data bytes use 100 Gigabit Media Independent Interface (CGMII‑like) encoding. For packet payload bytes, the dout_c bit is set to 0 and the dout_d byte is the packet data. You can use this information to transmit out‑of-spec data such as customized preambles when implementing non-standard variants of the IEEE 802.3ba-2010 100G Ethernet Standard. If the additional customized data is not required, simply ignore all words which are marked with dout_payload = 0 and discard the dout_c bus.
In RX preamble pass-through mode, dout_c has the value of 1 while the start byte of the preamble is presented on the RX interface, and dout_c has the value of 0 while the remainder of the preamble sequence (six-byte preamble plus SFD byte) is presented on the RX interface. While the preamble sequence is presented on the RX interface, dout_payload has the value of 1.