Altera 40-Gbps Ethernet MAC and PHY MegaCore Function User Manual
Page 78

The
dout_payload
signal marks words that contain frame data payload. Words that contain data payload
might also contain Idle or sequence control information, or preamble/frame delimiters. However, if the
word contains any frame data, the
dout_payload
bit that corresponds to that word has the value of 1.
The
dout_valid
signal exists for clock rate compensation. This signal is almost always asserted. When
dout_valid
is deasserted all other dout signals should be ignored for one clock cycle.
Example on RX Client Interface With Preamble Pass-Through
Figure 3-27: Typical Traffic on the RX Client Interface for 100GbE IP Core Without Adapters and With
Preamble Pass-Through
070707070707070...
363738393a3b3c3...5e5f606162636465...
555555555555555D20...
8788898a8b8c8d8...afb0b1b2b3b4b5b6...
555555
070707070707070...
000007ffff
ffffffff80
ffffffffff
000000001f
0000000000
0000000000
8000000000
800
10
10
00
00
0000800000
0000000200
0000000000
0000000000
00
00
1f
1c
00
1f
1e
00
1f
00
2
3
5
6
7
8
1
4
/e100_tb/dut/dout_d
/e100_tb/dut/dout_c
/e100_tb/dut/dout_first_data
/e100_tb/dut/dout_last_data
/e100_tb/dut/dout_runt_last_data
/e100_tb/dut/dout_payload
/e100_tb/dut/dout_fcs_error
/e100_tb/dut/dout_fcs_valid
/e100_tb/dut/dout_dst_addr_match
/e100_tb/dut/dout_valid
/e100_tb/dut/clk_rxmac
In the figure, the IP core is in preamble pass-through mode, and places the preamble sequence on the data
bus
dout_d
. The
dout_first_data
signal marks the first word of data, including the full preamble
sequence, beginning with the Start byte. The data in each packet begins with the Start byte (0x55), six-byte
preamble (0x555555555555), and SFD (0xD5), and must align with one of the legal starting positions. The
IP core asserts the
dout_c
signal high for the Start byte, and holds
dout_c
low for the remainder of the
preamble, which is considered to be data. The
dout_c
signal is the only signal that distinguishes any part
of the preamble sequence from data. The second and third packets in the example each begin in the first
word of
dout_d
, with the preamble sequence. However, they could each legally begin at the start of any
other word of
dout_d
; the start of each word is a legal starting position.
UG-01088
2014.12.15
100GbE IP Core RX Client Interface Examples
3-31
Functional Description
Altera Corporation