Visible to Intel only — GUID: nik1411004533528
Ixiasoft
Visible to Intel only — GUID: nik1411004533528
Ixiasoft
5.3. 100G Interlaken IP Core User Data Transfer Interface Signals
Signal Name |
Direction |
Width (Bits) |
Description |
---|---|---|---|
100G Interlaken IP Core Transmit User Interface |
|||
itx_chan |
Input |
8 |
Transmit logic channel number. The IP core supports up to 256 channels. The 100G Interlaken IP core samples this value only when a bit of itx_sop or itx_sob is high and itx_num_valid has a non-zero value. |
itx_num_valid |
Input |
8 |
itx_num_valid[7:4] specifies the number of valid 64-bit words in the current packet in the current data symbol. The maximum value of itx_num_valid[7:4] is eight, because a data symbol on the 512 bit wide data path has eight words (8 x 64 bits = 512 bits) . In non-valid cycles, you must set the value of itx_num_valid[7:4] to zero. In valid cycles, you must set the value of itx_num_valid[7:4] as follows:
In dual segment mode, if the value of itx_num_valid[7:4] is four or less (but not zero), the application can hold itx_num_valid[2] high to indicate the current data symbol also includes the first four 64-bit words of a new packet. The only valid values for itx_num_valid[3:0] are 4'b0100 and 4'b0000. When itx_num_valid[3:0] has the value of 4'b0100, you must also hold itx_sop[0] high. You must set the value of itx_num_valid to zero in all non-valid cycles, even when itx_ready is not asserted. |
itx_sop |
Input |
2 |
Indicates the current data symbol on itx_din_words contains the start of a packet (SOP). This signal has the following valid values:
|
itx_eopbits |
Input |
4 |
Indicates whether the current data symbol contains the end of a packet (EOP) with or without an error, and specifies the number of valid bytes in the current end-of-packet, non-error 8-byte data word, if relevant. You must set the value of itx_eopbits as follows:
All other values (4'b01xx, 4'b001x) are undefined. The valid bytes always start in bit positions [63:56] of the final valid data word of the packet. |
itx_sob |
Input |
2 |
Indicates the current data symbol contains the start of a burst (SOB). If the 100G Interlaken IP core is in Interleaved mode, you are responsible for providing this start of the burst signal. If the100G Interlaken IP core is in Packet mode, the IP core ignores this signal. The 100G Interlaken IP core samples the itx_chan signal during this cycle. This signal has the following valid values:
Typically, you use this mode for sending interleaved packets. However, you can still send non-interleaved packets as long as you provide the itx_sob and itx_eob signal values. You are responsible to comply with the BurstMax and BurstMin parameters. If the burst you send is too large, it can overflow the 100G Interlaken transmit buffer. |
itx_eob |
Input |
1 |
End of the burst. If the 100G Interlaken IP core is in Interleaved mode, you are responsible for providing this end of the burst signal. If the 100G Interlaken IP core is in Packet mode, the IP core ignores this signal. You are responsible to comply with the BurstMax and BurstMin parameters. |
itx_din_words |
Input |
512 | The eight 64-bit words of input data (one data symbol). When itx_num_valid has the value of zero, the IP core ignores itx_din_words. |
itx_calendar |
Input |
16 N |
Multiple pages (16 bits per page) of calendar input bits. The 100G Interlaken IP Core copies these bits to the in-band flow control bits in N control words that it sends on the Interlaken link. N is the value of the Number of calendar pages parameter, which can be any of 1, 2, 4, 8. or 16. This signal is synchronous with tx_usr_clk, although it is not part of the user data transfer protocol. |
itx_ready |
Output |
1 |
Flow control signal to back pressure transmit traffic. When this signal is high, you can send traffic to the IP core. When this signal is low, you should stop sending traffic to the IP core within one to four cycles. You can consider the inverse of itx_ready to be a FIFO-almost-full indicator. In full duplex mode, itx_ready is low when rx_lanes_aligned is low. |
itx_ifc_err |
Output |
1 |
Indicates the transmit side user data transfer interface received traffic that the 100G Interlaken IP Core does not support. The IP core asserts the itx_ifc_err signal in the following cases:
The IP core asserts the itx_ifc_err signal for a single clock cycle. The signal pulses within the current burst, with a delay of one or two cycles after the error on the transmit side user data transfer interface. |
100G Interlaken IP Core Receive User Interface |
|||
irx_chan |
Output |
8 |
Receive logic channel number. The IP core supports up to 256 channels. You should sample this value when a bit of irx_sop or irx_sob is high and irx_num_valid has a non-zero value. |
irx_num_valid |
Output |
8 |
irx_num_valid[7:4] specifies the number of valid 64-bit words in the current packet in the current data symbol. The maximum value of irx_num_valid[7:4] is eight, because a data symbol on the 512 bit wide data path has eight words (8 x 64 bits = 512 bits) . In valid cycles, the IP core sets the value of irx_num_valid[7:4] as follows:
In dual segment mode, if the value of irx_num_valid[7:4] is four or less (but not zero), the IP core can hold irx_num_valid[2] high to indicate the current data symbol also includes the first four 64-bit words of a new packet. The only valid values for irx_num_valid[3:0] are 4'b0100 and 4'b0000. When irx_num_valid[3:0] has the value of 4'b0100, the IP core also holds irx_sop[0] high. The IP core sets the value of irx_num_valid to zero in all non-valid cycles. |
irx_sop |
Output |
2 |
Indicates the current data symbol on irx_dout_words contains the start of a packet (SOP). This signal has the following valid values:
|
irx_eopbits |
Output |
4 |
Indicates whether the current data symbol contains the end of a packet (EOP) with or without an error, and specifies the number of valid bytes in the current end-of-packet, non-error 8-byte data word, if relevant. The IP core sets the value of irx_eopbits as follows:
All other values (4'b01xx, 4'b001x) are undefined and are not generated by the IP core. The valid bytes always start in bit positions [63:56] of the final valid data word of the packet. |
irx_sob |
Output |
2 |
Start of the burst. The 100G Interlaken IP core indicates the start of the burst. The signal irx_channel is only valid when irx_sob is high. This signal toggles in Packet Mode and in Interleaved Mode. This signal has the following valid values:
|
irx_eob |
Output |
1 |
End of the burst. The 100G Interlaken IP core indicates the end of the burst. This signal toggles in Packet Mode and in Interleaved Mode. |
irx_dout_words |
Output |
512 | The eight 64-bit words of output data (one data symbol). When irx_num_valid has the value of zero, you should ignore irx_dout_words. |
irx_calendar |
Output |
16 × N |
Multiple pages (16 bits per page) of calendar output bits. The value is the in-band flow control bits from N control words on the incoming Interlaken link. N is the value of the Number of calendar pages parameter, which can be any of 1, 2, 4, 8, or 16. This signal is synchronous with rx_usr_clk, although it is not part of the user data transfer protocol. |
irx_err |
Output |
1 |
Indicates an errored packet. This signal is valid only when irx_eob is asserted. This signal is only valid in irx_eob cycles if you turn on the Include advanced error reporting and handling parameter. |