Attributes

Versal Adaptive SoC SelectIO Resources Architecture Manual (AM010)

Document ID
AM010
Release Date
2024-03-18
Revision
1.5 English

For attributes ending in 0-5, each one represents the NIBBLESLICE with the matching number. For example, CASCADE_<0-5> represents CASCADE_0, CASCADE_1 … CASCADE_5. Accordingly, CASCADE_0 is associated with NIBBLESLICE[0], CASCADE_1 is associated with NIBBLESLICE[1], and so on.

Table 1. XPHY Attributes
Attribute Per Nibble/Per NIBBLESLICE Values Default Value Description
CASCADE_<0-5> NIBBLESLICE TRUE, FALSE FALSE

TRUE: Cascades the input and output delay of a NIBBLESLICE, which doubles the available delay from 512 taps/625 ps to 1024 taps/1250 ps. Cascading is only possible for the receiver and renders the TX datapath of that NIBBLESLICE inoperable outside of its output delay used for the cascading. When changing the delay, it is recommended to store half of the desired delay value in the input delay and half in the output delay.

FALSE: No cascade, only the input delay is used for the receiver.

CONTINUOUS_DQS Nibble TRUE, FALSE FALSE

Used with the RX_GATING attribute and the PHY_RDEN port to gate the capture clock entering on NIBBLESLICE[0] or from inter-byte or inter-nibble clocking.

The capture clock must be continuous (not a strobe) to set CONTINUOUS_DQS = TRUE. Because the capture clock is continuous and because there is no timing requirement between PHY_RDEN and the capture clock, the gate enable and disable is not cycle accurate to the capture clock (RX_GATING = ENABLE, CONTINUOUS_DQS = TRUE in this case). In contrast, when RX_GATING = ENABLE and CONTINUOUS_DQS = FALSE, gate enable and disable can be trained to be deterministic.

Setting CONTINUOUS_DQS = TRUE requires that two capture clock cycles be received prior to receiving data to prevent data loss.

See the PHY_RDEN description in Ports and refer to Bidirectional Datapath for more information.

CRSE_DLY_EN Nibble TRUE, FALSE FALSE

TRUE: In addition to the normal quarter delays applied to the strobe, a coarse delay is applied. Set CRSE_DLY_EN to TRUE if RX_CLK_PHASE_P/N = SHIFT_90, the interface receives edge-aligned clock and data, and the interface is below 1 GHz. Using coarse delays requires that SELF_CALIBRATE = ENABLE and that both RX_CLK_PHASE_P and RX_CLK_PHASE_N be set to the same value as one another (both SHIFT_90 or both SHIFT_0).

FALSE: A coarse delay will not be applied.

The CRSE delay can only be used with a low frequency (200 MHz – 1 GHz) PLL_CLK, edge-aligned source-synchronous receiver interface to center the strobe to data.

DELAY_VALUE_<0-5> NIBBLESLICE 0–625 ps/1250 ps 0 DELAY_VALUE_x is the delay in ps that is used for the input and output delays for the respective NIBBLESLICE[x].
  • If CASCADE_x = TRUE, the maximum value of DELAY_VALUE_x extends from 625 ps to 1250 ps.
  • For NIBBLESLICEs with TX_OUTPUT_PHASE_90_x = TRUE, the DELAY_VALUE_x must be set to 0.
  • For NIBBLESLICEs in a nibble with RX_CLK_PHASE_<P|N> = SHIFT_90, at least one of the nibbleslices within the nibble must have DELAY_VALUE_x = 0.
  • A non-zero delay requires SELF_CALIBRATE = ENABLE.

For interfaces with PLL_CLK below 500 MHz, DELAY_VALUE is not supported. Consequently, delays will need to be updated using the CNTVALUEIN, CE, INC, and LD ports. See Controlling Delays for more information.

DIS_IDLY_VT_TRACK Nibble TRUE, FALSE FALSE

TRUE: Disables VTC on input delays.

FALSE: Enables VTC on input delays. Following the steps outlined in Controlling Built-in Self-Calibration is still required for VTC to operate.

DIS_ODLY_VT_TRACK Nibble TRUE, FALSE FALSE

TRUE: Disables VTC on output delays.

FALSE: Enables VTC on output delays. Following the steps outlined in Controlling Built-in Self-Calibration is still required for VTC to operate.

DIS_QDLY_VT_TRACK Nibble TRUE, FALSE FALSE

TRUE: Disables VTC on QTR delays.

FALSE: Enables VTC on QTR delays. Following the steps outlined in Controlling Built-in Self-Calibration is still required for VTC to operate.

DQS_MODE Nibble DDR3, DDR4_1TCK, DDR4_2TCK, LPDDR4_TOGGLE, LPDDR4 DDR4_1TCK This attribute is only for memory-related use.
DQS_SRC Nibble LOCAL, EXTERN LOCAL

LOCAL: Set to LOCAL if the strobe is sourced from the connecting IOB, if its source and destination nibble are the same (the latter would require TXRX_LOOPBACK_x = TRUE for NIBBLESLICE[x]), or if SERIAL_MODE = TRUE.

EXTERN: Set to EXTERN if the strobe enters through inter-byte clocking.

DQS_SRC can be set to either value for nibbles receiving a strobe through inter-nibble clocking.

EN_CLK_TO_LOWER Nibble ENABLE, DISABLE DISABLE

ENABLE: Enables inter-byte clocking to a numerically lower nibble.

DISABLE: Disables inter-byte clocking to a numerically lower nibble.

EN_CLK_TO_UPPER Nibble ENABLE, DISABLE DISABLE

ENABLE: Enables inter-byte clocking to a numerically higher nibble

DISABLE: Disables inter-byte clocking to a numerically higher nibble

EN_DYN_DLY_MODE Nibble TRUE, FALSE FALSE This attribute is only for memory-related use.
EN_OTHER_NCLK Nibble TRUE, FALSE FALSE

TRUE: Enables sourcing the n-side of the strobe from inter-nibble clocking.

FALSE: Disables sourcing the n-side of the strobe from inter-nibble clocking.

EN_OTHER_PCLK Nibble TRUE, FALSE FALSE

TRUE: Enables sourcing the p-side of the strobe from inter-nibble clocking.

FALSE: Disables sourcing the p-side of the strobe from inter-nibble clocking.

FAST_CK Nibble TRUE, FALSE FALSE This attribute is only for memory-related use.
FIFO_MODE_<0-5> NIBBLESLICE ASYNC, SYNC, BYPASS ASYNC

ASYNC: Set to ASYNC if the read and write clocks of the FIFO in NIBBLESLICE[x] are the same frequency but phase independent.

SYNC: Set to SYNC if the read and write clocks of the FIFO in NIBBLESLICE[x] are the same clock. SYNC requires a continuous receive data clock.

BYPASS: Set to BYPASS for the FIFO in NIBBLESLICE[x] to forward the data to the fabric (it is not stored in the FIFO like in the ASYNC and SYNC settings). A zero cycle path is possible here. . BYPASS requires a continuous receive data clock.

IBUF_DIS_SRC_<0-5> NIBBLESLICE EXTERNAL, INTERNAL EXTERNAL See Controlling IBUF_DISABLE and DYN_DCI for more information.
INV_RXCLK Nibble TRUE, FALSE FALSE

TRUE: Inverts the incoming strobe from the IOB to NIBBLESLICE[0], which also affects all nibbles that the clock is routed to as a result of inter-nibble/byte clocking. INV_RXCLK only affects the n-clk.

FALSE: Strobe is not inverted. This is the only supported INV_RXCLK value when DQS_SRC = EXTERN

LP4_DQS Nibble TRUE, FALSE FALSE This attribute is only for memory-related use.
ODELAY_BYPASS_<0-5> NIBBLESLICE TRUE, FALSE FALSE This attribute is only for memory-related use.
ODT_SRC_<0-5> NIBBLESLICE EXTERNAL, INTERNAL EXTERNAL See Controlling IBUF_DISABLE and DYN_DCI for more information.
PRIME_VAL 1'b0, 1'b1 1'b0 This attribute is only for memory-related use.
REFCLK_FREQUENCY Nibble 200.0–4266.0 [MHz] 200.0 [MHz] Set to the frequency of the PLL_CLK input.
RX_CLK_PHASE_N Nibble SHIFT_0, SHIFT_90 SHIFT_0

SHIFT_0: Set to SHIFT_0 to not apply a phase shift to the n-clk.

SHIFT_90: Set to SHIFT_90 to apply a positive 90° phase shift (relative to the data) to the n-clk. This phase shift is not retained for inter-nibble clocking. Setting RX_CLK_PHASE_N = SHIFT_90 requires that SELF_CALIBRATE = ENABLE. DELAY_VALUE_x of all NIBBLESLICEs must be set to 0 in nibbles where RX_CLK_PHASE_N = SHIFT_90.

RX_CLK_PHASE_P Nibble SHIFT_0, SHIFT_90 SHIFT_0

SHIFT_0: Set to SHIFT_0 to not apply a phase shift to the p-clk.

SHIFT_90: Set to SHIFT_90 to apply a positive 90° phase shift (relative to the data) to the p-clk. This phase shift is not retained for inter-nibble clocking. Setting RX_CLK_PHASE_P = SHIFT_90 requires that SELF_CALIBRATE = ENABLE. DELAY_VALUE_x of all NIBBLESLICEs must be set to 0 in nibbles where RX_CLK_PHASE_P = SHIFT_90.

RX_DATA_WIDTH Nibble 2, 4, 8 8 Set 1:2, 1:4, or 1:8 deserialization.
RX_GATING Nibble DISABLE, ENABLE DISABLE Used with the RX_DATA_WIDTH and CONTINUOUS_DQS attributes, as well as the PHY_RDEN port, to gate the strobe entering on NIBBLESLICE[0] or from inter-byte or inter-nibble clocking. RX_GATING is necessary for bidirectional clocks which can be tristated when not active, or for strobes that are indeterministic on start-up or during normal operation. See the description for PHY_RDEN for more information.
SELF_CALIBRATE Nibble DISABLE, ENABLE ENABLE

ENABLE: Enables BISC (proper assertion of EN_VTC, RX_EN_VTC, and TX_EN_VTC is still required)

DISABLE: Disables BISC.

SERIAL_MODE Nibble TRUE, FALSE FALSE

TRUE: Set to TRUE for interfaces where data is received without an accompanying source synchronous clock (strobe). In this case, the capture clock is generated internally from the PLL_CLK input.

FALSE: Set to FALSE for source-synchronous interfaces.

TBYTE_CTL_<0-5> Nibble, NIBBLESLICE PHY_WREN, T T

T: Set to T if using the T input (combinatorial path from the PL) as the tristate control signal for NIBBLESLICE[x]. If TX_DATA_WIDTH = 2, only T (not PHY_WREN) can be used as the tristate control signal.

PHY_WREN: Set to PHY_WREN if using the PHY_WREN input as the tristate control signal for NIBBLESLICE[x]. The serialized and inverted PHY_WREN is synchronized with the TX data. Each bit of PHY_WREN controls the tristate for two bits of data.

T and PHY_WREN can both be applied to the same NIBBLESLICE, and the NIBBLESLICE selects which one to use based on its TBYTE_CTL_x setting.

TXRX_LOOPBACK_<0-5> NIBBLESLICE TRUE, FALSE FALSE

TRUE: Set to TRUE to loop back the TX output to RX input of the same NIBBLESLICE[x]. The TX output will still reach the IOB. A buffer (IBUF, OBUF, IOBUF, or a variant of one of the three) must be used for loopback to work. Connect the net from XPHY.O0[x] to the input of an OBUF, IOBUF, or variant of one of the two. Alternatively, connect the output net from an IBUF, IOBUF, or a variant of one of the two to XPHY.DATAIN[x]. Regardless of which net is used, only use one buffer (IBUF, OBUF, or variant) in this path.

FALSE: Set to FALSE for no loopback and for all unused nibbleslices.

TXRX_LOOPBACK_# is not supported when SERIAL_MODE = TRUE. See Controlling TX to RX Loopback for more information.

TX_DATA_WIDTH Nibble 2, 4, 8 8 Set 2:1, 4:1, or 8:1 serialization.

If TX_DATA_WIDTH = 2, any IOBs connected to the nibble cannot use PRE_EMPHASIS.

TX_GATING Nibble DISABLE, ENABLE DISABLE

DISABLE:The TX datapath of NIBBLESLICE[0], NIBBLESLICE[2], NIBBLESLICE[3], NIBBLESLICE[4], and NIBBLESLICE[5] are not gated. NIBBLESLICE[1] cannot be gated through this attribute, regardless of its setting.

ENABLE: Use PHY_WREN to gate the TX datapath of NIBBLESLICE[0], NIBBLESLICE[2], NIBBLESLICE[3], NIBBLESLICE[4], and NIBBLESLICE[5]. NIBBLESLICE[1] cannot be gated.

TX_INIT_<0-5> NIBBLESLICE 1'b1, 1'b0 1'b0

1'b0: Sets the TX IOB value associated with NIBBLESLICE[x] during configuration and reset (in this case, TX_RST[x] = 1 or RST = 1) to 1'b0.

1'b1: Sets the TX IOB value associated with NIBBLESLICE[x] during configuration and reset (in this case, TX_RST[x] = 1 or RST = 1) to 1'b1.

TX_INIT_TRI Nibble 1'b1, 1'b0 1'b1

1'b0: Sets the tristate control signal during configuration and reset (in this case, TX_RST[x] = 1 or RST = 1) to 1'b0.

1'b1: Sets the tristate control signal during configuration and reset (in this case, TX_RST[x] = 1 or RST = 1) to 1'b1.

TX_OUTPUT_PHASE_90_<0-5> NIBBLESLICE TRUE, FALSE FALSE Used for TX signals to center align the transmit clock to data. Set to TRUE for clock and FALSE for data to achieve a center-aligned clock and data relationship.

TRUE: Applies a positive 90° phase shift to the TX output of NIBBLESLICE[x]. DELAY_VALUE_x should be set to 0 when TX_OUTPUT_PHASE_90_x = TRUE.

FALSE: Set to FALSE to not apply the 90° shift.

TX_OUTPUT_PHASE_90_TRI Nibble TRUE, FALSE FALSE

Used for center-aligned DDR TX signals where tristate control is required. Only applicable when TBYTE_CTL_x = PHY_WREN. Each NIBBLESLICE being tristated must have its associated DELAY_VALUE_x set to 0.

TRUE: Applies a positive 90° phase shift to T_OUT[x].

FALSE: Does not apply the 90° phase shift.

WRITE_LEVELING Nibble TRUE, FALSE FALSE This attribute is only for memory-related use.