5.3. Receive User Interface Signals
Signal Name | Width (Bits) | I/O Direction | Description | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
irx_chan | 8 | Output | Receive logic channel number for the first segment chunk. The IP core supports up to 256 channels. The Interlaken IP core samples this value only when a bit of irx_sop or irx_sob is high and irx_num_valid has a non-zero value. | ||||||||||||||||||||||||||||||||
irx_chan1 | 8 | Output | Receive logic channel number for the second segment chunk. The IP core supports up to 256 channels. The Interlaken IP core samples this value only when a bit of irx_sob[0] is high and irx_num_valid of the second segment chunk has a non-zero value. |
||||||||||||||||||||||||||||||||
irx_num_valid | Variable | Output | Indicates the number of valid 64-bit words in the current packet in the current data symbol. The width of the irx_num_valid depends on the parameter number of words. For single segment,
For multi-segment,
If number of words is equal to 8 and Number of segments is equal to 2:
In the end of burst cycle (irx_eob=1), if the value of irx_num_valid[7:4] is equal to or less than 4'b0100 and the Number of segments parameter is set to 2, you can set the value of irx_num_valid[3:0] from 4'b0000 to 4'b0100. If the value of irx_num_valid[3:0] is not equal to zero, you must set the value of irx_sop[0] or irx_sob[0] to 1'b1.
If number of words is equal to 8 and Number of segments is equal to 4:
For all non-valid cycles, the value of irx_num_valid[7:4] and irx_num_valid[3:0] must be set to 4’b0000.
In the end of burst cycle (irx_eob=1), if the value of irx_num_valid[7:4] is equal or less than 4'b0110 and the Number of segments parameter is set to 4, you can set the value of irx_num_valid[3:0] from 4'b0000 to 4'b0110. If the value of irx_num_valid[3:0] is not equal to zero, you must set the value of irx_sop[0] or irx_sob[0] to 1'b1.
If number of words is equal to 16 and Number of segments is equal to 2:
If number of words is equal to 16 and Number of segments is equal to 4:
|
||||||||||||||||||||||||||||||||
irx_eob | 1 | Output | Indicates the end of the burst (EOB) for the first segment chunk. This signal toggles in Packet Mode and in Interleaved Mode. When irx_eopbits has valid value of 4’b1xxx or 4’b0001, the irx_eob is valid too, but not vice-versa. Whenever parameter RX_PKTMOD_ONLY is set to 0, you must provide this signal. Otherwise, when parameter RX_PKTMOD_ONLY is set to 1, the IP core ignores this signal. You are responsible to comply with the BurstMax and BurstMin setting. |
||||||||||||||||||||||||||||||||
irx_eob1 | 1 | Output | Indicates the end of the burst (EOB) for the second segment chunk. Only DUAL or QUAD segment interface defines this signal. When irx_eopbits1 has valid value of 4’b1xxx or 4’b0001, the irx_eob1 is valid too, but not vice-versa. Whenever parameter RX_PKTMOD_ONLY is set to 0, you must provide this signal. Otherwise, when parameter RX_PKTMOD_ONLY is set to 1, the IP core ignores this signal. You are responsible to comply with the BurstMax and BurstMin setting. |
||||||||||||||||||||||||||||||||
irx_eopbits | 4 | Output | Specifies the number of bytes at the end of packet (EOP) for the first segment chunk. Indicates whether the current data symbol contains the 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.
IP core sets the value of irx_eopbits as following:
|
||||||||||||||||||||||||||||||||
irx_eopbits1 | 4 | Output | Specifies number of bytes at the end of packet (EOP) for the second segment chunk.
You must set the value of irx_eopbits1 as following:
|
||||||||||||||||||||||||||||||||
irx_sob | 1, 2 or 4 | Output | Indicates the start of a burst (SOB). This signal toggles in Packet Mode and in Interleaved Mode. If the IP core is in Interleaved mode, you are responsible for providing the start of the burst signal. If the IP core is in Packet mode, the IP core ignores this signal. The IP core samples the irx_chan signal during this cycle.
{segment 3, segment 2, segment 1, segment 0} defines the segment order with segment 3 starts at the most significant bit location (left aligned).
Using four segment as example, the signal has the following valid values:
For example: If number of words= 16, Number of segments=4, rx_num_valid[9:5]= 3, rx_num_valid[4:0]= 9, then the second segment starts at word[11], sob[3:0]= 4'1100 If number of words= 16, Number of segments=4, rx_num_valid[9:5]= 9, rx_num_valid[4:0]= 4, then the second segment starts at word[3], sob[3:0]= 4'1001 |
||||||||||||||||||||||||||||||||
irx_sop | 1, 2 or 4 | Output | Indicates the current data symbol on irx_din_words contains the start of a packet (SOP).
Using four segment as example, the signal has the following valid values:
For example: If number of words= 16, Number of segments=4, rx_num_valid[9:5]= 3, rx_num_valid[4:0]= 9, then the second segment starts at word[11], sop[3:0]= 4'1100 If number of words= 16, Number of segments=4, rx_num_valid[9:5]= 9, rx_num_valid[4:0]= 4, then the second segment starts at word[3], sop[0]= 4'1001 |
||||||||||||||||||||||||||||||||
irx_dout_words | Variable | Output | The 64-bit words of input data (one data symbol). The width of the itx_din_words depends on the parameter external_words.
The first and last data word is in [511:448] and [63:0] respectively. When irx_ num_valid has the value of zero, you should ignore irx_dout_words. |
||||||||||||||||||||||||||||||||
irx_calendar | N * 16 | Output | Multiple pages (16 bits per page) of calendar input 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 | 1 | Output | Indicates an errored packet. This signal is valid only when irx_eob is asserted. | ||||||||||||||||||||||||||||||||
irx_err1 | 1 | Output | Indicates an errored packet in second segment chunk. This signal is valid only when irx_eob1 is asserted. This signal is only valid in DUAL or QUAD mode. |