100gbe ip core rx client interface examples – Altera 40-Gbps Ethernet MAC and PHY MegaCore Function User Manual
Page 77

100GbE IP Core RX Client Interface Examples
Example on RX Client Interface Without Preamble Pass-Through
Figure 3-26: Typical Traffic on the RX Client Interface for 100GbE IP Core Without Adapters and with
Preamble Pass-Through Turned Off
/e100_tb/dut/dout_d
070707070707070...
363738393a3b3c3...5e5f606162636465...
020202020202010...8788898a8b8c8d8...afb0b1b2b3b4b5b6...
fb55555
070707070707070...
/e100_tb/dut/dout_c
000007ffff
ffffffff80
ffffffffff
000000003f
0000000000
0000000000
800
10
08
00
00
/e100_tb/dut/dout_first_data
0000800000
0000000400
0000000000
0000000000
/e100_tb/dut/dout_last_data
00
00
/e100_tb/dut/dout_runt_last_data
1f
1c
00
1f
1e
00
0f
/e100_tb/dut/dout_payload
/e100_tb/dut/dout_fcs_error
/e100_tb/dut/dout_fcs_valid
00
/e100_tb/dut/dout_dst_addr_match
/e100_tb/dut/dout_valid
/e100_tb/dut/clk_rxmac
1
2
3
4
5
6
7
8
In the figure,
dout_last_data
is asserted in the second cycle, indicating the end of a packet. The
dout_d
signal returns to 0 (5’h1c = 5’b11100). The
dout_c
and
dout_d
busses are set to 1b’1 and 8’h07,
respectively, to indicate idling. In the fourth cycle,
dout_first_data
is asserted and a short packet begins.
This packet terminates successfully in the final cycle. Note that the first packet has a CRC error
(
dout_fcs_error
= 1 and
fcs_valid
= 1).
The
dout_first_data
signal marks the first word of data. The first byte of data is always the most signifi‐
cant byte of the word. There are 5 legal starting positions for the 100GbE IP core and 2 legal starting
positions for the 40GbE IP core. The
dout_last_data
signal marks the last data byte before the FCS
(CRC). It can occur at any byte position.
The
dout_runt_last_data
signal indicates that the packet ending in this word is less than the minimum
legal length of 64 bytes from first data to the last FCS byte inclusive. Runt frames of eight or fewer bytes
cannot be legally represented in CGMII and trigger a decoding error rather than this flag.
The
dout_fcs_error
and
dout_fcs_valid
signals indicate the result of the CRC checking logic.
dout_fcs_valid
= 1 and
dout_fcs_error
= 1 indicate a corrupted frame. Note that the CRC checking
network works correctly on runt frames of 40–63 bytes. Runt frames of less than 40 bytes may be
incorrectly determined to have a proper CRC.
3-30
100GbE IP Core RX Client Interface Examples
UG-01088
2014.12.15
Altera Corporation
Functional Description