Attribute Descriptions - 2.4 English - PG169

Integrated Interlaken 150G LogiCORE IP Product Guide (PG169)

Document ID
PG169
Release Date
2024-06-05
Version
2.4 English

The following table provides a detailed description for the UltraScale+ and UltraScale device Integrated Interlaken IP core attributes and their default values. These attributes are configured through the DRP interface. These attributes should be static and only changed during reset.

Table 1. UltraScale+ and UltraScale Device Integrated Interlaken Core Attributes
Name Type Description Default Value
LBUS Interface – Clock/Reset/Control Attributes
MODE Boolean This attribute selects between

6 x 25 Gb/s and 12 x 12.5 Gb/s operation of the protocol logic.

TRUE: Selects 12 x 12.5 Gb/s

FALSE: Selects 6 x 25 Gb/s

TRUE
BYPASS Boolean This attribute controls whether Interlaken is operating in protocol block bypass (lane logic only) mode or not.

TRUE: Enables protocol bypass (lane logic only) mode.

FALSE: Disables protocol bypass (lane logic only) mode.

FALSE
LBUS Interface – TX Path Control/Status Attributes
CTL_TX_FC_CALLEN[7-1:0] 7-bit Hex TX Flow Control Calendar Length Input. This input controls the number of bits of ctl_tx_fc_stat that are actually used. The settings (in decimal) for calendar length are as follows:

7‘h0= 16 entries

7‘h1 = 32 entries

7‘h3 = 64 entries

7‘h7 = 128 entries

7‘hF = 256 entries

All other values are reserved and must not be used.

7’h00
CTL_TX_BURSTMAX[1:0] 2-bit Hex Interlaken TX BurstMax. This bus sets the BurstMax parameter for the TX as follows:

2‘h0 = 64 bytes

2‘h1 = 128 bytes

2‘h2 = 192 bytes

2‘h3 = 256 bytes

The burst size selected by ctl_tx_burstmax must be greater than or equal to the burst size selected by ctl_tx_burstshort.

2’h3
CTL_TX_BURSTSHORT[2:0] 3-bit Hex Interlaken TX BurstShort. This bus sets the BurstShort parameter for the TX as follows:

3‘h0 = not valid

3‘h1 = 64 bytes

3‘h2 = 96 bytes

3‘h3 = 128 bytes

3‘h4 = 160 bytes

3‘h5 = 192 bytes

3‘h6 = 224 bytes

3‘h7 = 256 bytes

The burst size selected by ctl_tx_burstshort must be less than or equal to the burst size selected by ctl_tx_burstmax.

3’h1
CTL_TX_DISABLE_SKIPWORD Boolean Skip Word Injection Deletion.

As required by the Interlaken specification, a skip word is inserted once per Meta Frame to permit clock compensation through a repeater function. If the Interlaken core is not transmitting through an intermediary device, but is simply transmitting to an "ultimate" receiver such as another Interlaken core, this attribute can be set to TRUE. See section 5.4.7 of the Interlaken Protocol Definition, Revision 1.2, October 7, 2008.

TRUE
CTL_TX_MFRAMELEN_MINUS1[15:0] 16-bit Hex TX Meta Frame Length minus one. This bus sets the MetaFrameLength parameter for the TX and should be set to the desired length minus 1. For example, to set the MetaFrame length to 2,048, set this bus to 2,047 (decimal). MetaFrame length is defined as the number of Interlaken words. Each Interlaken word is 8 bytes (64 bits).

The minimum value for CTL_TX_MFRAMELEN_MINUS1 is 255 or 0xFF.

16’h07FF
CTL_TX_LAST_LANE[3:0] 4-bit Hex This attribute is used for lane decommissioning of the TX and indicates the last active lane. 4’hB
LBUS Interface – RX Path Control/Status Attributes
CTL_RX_PACKET_MODE Boolean RX Packet Mode Error Handling. This attribute changes the way the error handler in the RX path processes errors.

TRUE: Packet mode. Assumes packets are arriving as complete packets.

FALSE: Burst Interleaved mode. Assumes packets are arriving in bursts interleaved from different channels.

Use of this attribute ensures that packets delivered to the LBUS have the appropriate SOP and EOP pairing.

TRUE
CTL_RX_BURSTMAX[1:0] 2-bit Hex Interlaken RX BurstMax. This bus set the BurstMax parameter for the RX as follows:

2‘h0 = 64 bytes

2‘h1 = 128 bytes

2‘h2 = 192 bytes

2‘h3 = 256 bytes

These inputs are only used in conjunction with stat_rx_burstmax_err.

2’h3
CTL_RX_MFRAMELEN_MINUS1[15:0] 16-bit Hex RX Meta Frame Length minus one. This bus sets the MetaFrameLength parameter for the RX and should be set to the desired length minus 1. For example, to set the MetaFrame length to 2,048, set this bus to 2,047 (decimal). MetaFrame length is defined as the number of Interlaken words. Each Interlaken word is 8 bytes (64 bits). The minimum value for CTL_RX_MFRAMELEN_MINUS1 is 255 or 0xFF. 16’h07FF
CTL_RX_LAST_LANE[3:0] 4-bit Hex This attribute is used for lane decommissioning of the RX and indicates the last active lane. 4’hB
Data Channel Extension Feature Interface Attributes
CTL_TX_CHAN_EXT[1:0] 2-bit Hex Selects the maximum number of TX data channels. Coding as follows:

2’h0 = selects 256 channels in Control Word Bits[39:32]

2’h1 = selects 512 channels in Control Word Bits[39:31]

2’h2 = selects 1,024 channels in Control Word Bits[39:30]

2’h3 = selects 2,048 channels in Control Word Bits[39:29]

2’h0
CTL_RX_CHAN_EXT[1:0] 2-bit Hex Selects the maximum number of RX data channels. Coding as follows:

2’h0 = selects 256 channels in Control Word Bits[39:32]

2’h1 = selects 512 channels in Control Word Bits[39:31]

2’h2 = selects 1,024 channels in Control Word Bits[39:30]

2’h3 = selects 2,048 channels in Control Word Bits[39:29]

2’h0
Retransmission Attributes
CTL_TX_RETRANS_RAM_BANKS[1:0] 2-bit Hex TX Retransmission Buffer Size

This attribute is used to set the total number of banks of RAM to be used by the buffer. The total RAM is divided into four banks.

2'h0 = Use Bank 0 only

2'h1 = Use Banks 0-1 only

2'h2 = Use Banks 0-2 only

2'h3 = Use all four banks

Default Value: 2'h3

CTL_TX_RETRANS_MULT[2:0] 3-bit Hex TX Retransmission Sequence Multiplier. This input selects the value of the sequence multiplier. The following values are defined:

3'h0 = x1

3'h1 = x2

3'h2 = x4

3'h3 = x8

3'h4 = x16

3'h5 = x32

3'h6 = reserved

3'h7 = reserved

The TX Retransmission Sequence Multiplier must be the same as the link partner RX.

The retransmission sequence number and the channel extension both use the Multiple-Use bits in a Burst Control Word. In order to ensure sufficient bursts before the retransmission sequence wraps around, the following should be observed:

If the multiplier is 4 or less, then CTL_TX_CHAN_EXT should be equal to 0. If the multiplier is 8, then CTL_TX_CHAN_EXT can be 0 or 1. If the multiplier is 16, then CTL_TX_CHAN_EXT can be 0, 1, or 2. If the multiplier is 32, then CTL_TX_CHAN_EXT can be 0, 1, 2, or 3.

3'h0
CTL_TX_RETRANS_DEPTH[13:0] 14-bit Hex TX Retransmission buffer depth.

This input is used to set the maximum number of entries to be stored in the retransmission buffer. An entry is defined as a single write to the buffer or eight Interlaken words. The buffer depth needs to be set to a suitable value depending upon the latency, sequence multiplier and channel extension setting.

14'h0800
CTL_RX_RETRANS_MULT[2:0] 3-bit Hex RX Retransmission Sequence Multiplier. This input selects the value of the sequence multiplier. The following values are defined:

3'h0 = x1

3'h1 = x2

3'h2 = x4

3'h3 = x8

3'h4 = x16

3'h5 = x32

3'h6 = reserved

3'h7 = reserved

The RX Retransmission Sequence Multiplier must be the same as the link partner TX.

The retransmission sequence number and the channel extension both use the Multiple-Use bits in a Burst Control Word. In order to ensure sufficient bursts before the retransmission sequence wraps around, the following should be observed:

If the multiplier is 4 or less, then CTL_RX_CHAN_EXT should be equal to 0. If the multiplier is 8, then CTL_RX_CHAN_EXT can be 0 or 1. If the multiplier is 16, then CTL_RX_CHAN_EXT can be 0, 1, or 2. If the multiplier is 32, then CTL_RX_CHAN_EXT can be 0, 1, 2, or 3.

3'h0
CTL_RX_RETRANS_TIMER1[15:0] 16-bit Hex Interlaken RX Retransmission Short Timer Value.

The input sets the maximum value timer1 counts to in terms of Interlaken words received. It begins counting as soon as a CRC24 error causes a retransmission request.

This counter has two modes of operation depending upon the setting of the input CTL_RX_RETRANS_TIMER2.

If CTL_RX_RETRANS_TIMER2 has a non-zero value (Mode 1), then while timer1 is counting to its limit, all subsequent errors and valid sequence discontinuities are ignored.

If CTL_RX_RETRANS_TIMER2 has a zero value (Mode 2), then while timer1 is counting to its limit, all subsequent errors are ignored but valid sequence discontinuities are accepted. If the timer expires without a valid sequence discontinuity being received, retransmission is re-requested. If used in this mode, CTL_RX_RETRANS_TIMER1 should be assigned a value greater than the expected request-to-discontinuity latency.

CTL_RX_RETRANS_TIMER1 must always be assigned a value greater than eight.

16'h00800
CTL_RX_RETRANS_TIMER2[15:0] 16-bit Hex Interlaken RX Retransmission Long Timer Value.

The input sets the maximum value timer2 counts to in terms of Interlaken words received. It begins counting as soon as a CRC24 error causes a retransmission request. This input must be set to a value of zero (to enable Mode 2) or a value greater than the expected request-to-discontinuity latency (to enable Mode 1). If the timer expires without a valid discontinuity being received, retransmission is re-requested.

16'h0000
CTL_RX_RETRANS_RETRY[3:0] 4-bit Hex Interlaken RX Retransmission Retry Timer Value.

This input sets the maximum value for a counter that counts the number of times re-requests for a sequence are made before asserting STAT_RX_RETRANS_RETRY_ERR. For reliable operation, this input must have a value of at least 2.

4'h2
CTL_RX_RETRANS_WRAP_TIMER[7:0] 8-bit Hex Interlaken RX Retransmission Wrap Around Timer Value.

This input sets the value for a timer that counts changes in the primary sequence number while waiting for an expected sequence after a request for retransmission. This counter has no effect if this input is programmed with a value of 0. If this counter reaches its maximum value, STAT_RX_RETRANS_WRAP_ERR is asserted and remains asserted until the input CTL_RX_RETRANS_RESET is asserted and negated.

8'h00
CTL_RX_RETRANS_WDOG[11:0] 12-bit Hex Interlaken RX Retransmission Watchdog Timer Value.

This input sets the most significant bits of a maximum value for a 32-bit watchdog timer that counts while waiting for an expected sequence after a request for retransmission. This counter has no effect if all bits of this bus are a value of 0. This counter is incremented in terms of incoming Interlaken words. If this counter reaches its maximum value, STAT_RX_RETRANS_WDOG_ERR is asserted and remains asserted until the input CTL_RX_RETRANS_RESET is asserted and negated.

12'h000