The following tables provide additional details for the RIU register definitions. Many of the settings are used for memory applications (MIG) and are provided for completeness. For information on how the Memory IP uses the RIU registers, see UltraScale Architecture-Based FPGAs Memory IP LogiCORE IP Product Guide (PG150) [Ref 13] .
Table: Register Bit Description (NIBBLE_CTRL0) through Table: Register Bit Description (DFD_CTRL) list register bit descriptions.
NIBBLE_CTRL0 |
ADDR: 0x00 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
|
|
|
|
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
Access |
|
|
|
|
R/W |
R/W |
R |
R/W |
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
15:12 |
Reserved |
|||||||||||||||
11 |
DIS_DYN_MODE_RX: Disable gate delay dynamic mode (MIG) or enable receive delay line updates using RIU. See UltraScale Architecture-Based FPGAs Memory IP LogiCORE IP Product Guide (PG150) for details [Ref 13] . |
|||||||||||||||
10 |
DIS_DYN_MODE_TX: Disable output delay dynamic mode (MIG) or enable transmit delay lines updates using RIU. |
|||||||||||||||
9 |
GT_STATUS: Monitor gate placement relative to strobe/clock. |
|||||||||||||||
8 |
CLR_GATE: Used for strobe/clock gate training. Resets the gating logic. |
|||||||||||||||
7 |
Reserved |
|||||||||||||||
6 |
RXGATE_EXTEND: Enable preamble extension for DQS_BIAS. |
|||||||||||||||
5 |
RX_GATE: Enable receive strobe/clock gating. |
|||||||||||||||
4 |
TX_GATE: Enable transmit clock gating. |
|||||||||||||||
3 |
SERIAL_MODE: Set to 1 to enable PLL_CLK as a sample clock. This mode is used for data sampling of a serial bitstream such as SGMI. BISC manipulates this bit during initial BISC calibration. So if SERIAL_MODE is selected using the RIU register bit instead of the attribute setting, you must set this bit again after DLY_RDY assertion of High. Otherwise the PHY will not be in serial mode operation. |
|||||||||||||||
2 |
INVERT_RX_CLK: Invert the clock path from IOB to RX_BITSLICE. This is for clock path through read DQS_IN. |
|||||||||||||||
1 |
EN_NDQS:
|
|||||||||||||||
0 |
EN_PDQS:
|
CALIB_CTRL |
ADDR: 0x02 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
Access |
R |
R/W |
R/W |
R |
R |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
15 |
PAUSE_RDY: VT tracking state machine pause indication. |
|||||||||||||||
14 |
DIS_VTTRACK_QTR: Enable or disable auto VT tracking for the slave PQTR/NQTR delays. |
|||||||||||||||
13 |
BSC_RESET: Software reset for BISC. |
|||||||||||||||
12 |
PHY_RDY: PHY calibration complete status. This is the RIU equivalent of the VTC_RDY signal. |
|||||||||||||||
11 |
FIXDLY_RDY: Fixed delay calibration complete status. This is the RIU equivalent of the DLY_RDY signal. |
|||||||||||||||
3:10 |
CALIBRATE_EN: Inject the reference clock/PLL CLK into per-bit datapaths for the receive channels to perform self-calibration. CALIBRATE_EN[6:0]: Per RX_BITSLICE. CALIBRATE_EN(7): Master. |
|||||||||||||||
2 |
DIS_VTTRACK_OBIT: Enable or disable auto VT tracking for all output delay lines. |
|||||||||||||||
1 |
DIS_VTTRACK_IBIT: Enable or disable auto VT tacking for all input delay lines. |
|||||||||||||||
0 |
CALIBRATE: Turn self-calibration on or off. |
IODELAY_INC_BCAST_CTRL |
ADDR: 0x06 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Access |
|
|
|
|
|
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
15 |
Reserved |
|||||||||||||||
9 |
BCAST_SEL: Broadcast input or output delay lines (1 = input delay, 0 = output delay). |
|||||||||||||||
8 |
BCAST_INC: Broadcast INC or DEC (1 = INC, 0 = DEC). |
|||||||||||||||
7 |
BCAST_EN: Broadcast enable of fine delay adjustment to delay line [0:6] (1 = enable, 0 = disable). |
|||||||||||||||
6:0 |
BCAST_MASK_IDLY[0:6]: Disable broadcast of INC/DEC to selected delay line (1 = disable, 0 = enable). Note: BISC continuously increments and/or decrements the delay during self-calibration so be careful before writing to input delay lines. |
PQTR |
ADDR: 0x07 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
Access |
|
|
|
|
|
|
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
15 |
INC: Increment. See Table: RIU Delay Adjustments (PQTR, NQTR, MON) . |
|||||||||||||||
14 |
DEC: Decrement. See Table: RIU Delay Adjustments (PQTR, NQTR, MON) . |
|||||||||||||||
13 |
CRSE: See Table: RIU Delay Adjustments (PQTR, NQTR, MON) . Coarse delay increment or decrement of 8 taps. Might cause capture clock to glitch when used for PQTR adjustments. Issue a BS_RESET (ADDR=0x05) to fix alignment after any coarse jump. |
|||||||||||||||
12:9 |
Reserved |
|||||||||||||||
8:0 |
PQTR: P-side quarter delay of 0 to 511 taps. |
NQTR |
ADDR: 0x08 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
0 |
0 |
0 |
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
Access |
W |
W |
W |
|
|
|
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
15 |
INC: Increment. See Table: RIU Delay Adjustments (PQTR, NQTR, MON) . |
|||||||||||||||
14 |
DEC: Decrement. See Table: RIU Delay Adjustments (PQTR, NQTR, MON) . |
|||||||||||||||
13 |
CRSE: See Table: RIU Delay Adjustments (PQTR, NQTR, MON) . Coarse delay increment or decrement of 8 taps. Might cause capture clock to glitch when used for PQTR adjustments. Issue a BS_RESET (ADDR = 0x05) to fix alignment after any coarse jump. |
|||||||||||||||
12:9 |
Reserved |
|||||||||||||||
8:0 |
NQTR: N-side quarter delay of 0 to 511 taps. |
MON |
ADDR: 0x09 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
0 |
0 |
0 |
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Access |
W |
W |
W |
|
|
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
15 |
INC: Increment. See Table: RIU Delay Adjustments (PQTR, NQTR, MON) . |
|||||||||||||||
14 |
DEC: Decrement. See Table: RIU Delay Adjustments (PQTR, NQTR, MON) . |
|||||||||||||||
13 |
CRSE: See Table: RIU Delay Adjustments (PQTR, NQTR, MON) . |
|||||||||||||||
12:10 |
Reserved |
|||||||||||||||
9:0 |
MON: Monitor delay of 0 to 1023 taps. |
ODELAYxx |
ADDR: 0x0A–0x11 (1) |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
0 |
0 |
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Access |
W |
W |
|
|
|
|
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
15 |
INC: Increment delay. See Table: RIU Delay Adjustments (IDELAY, ODELAY) . |
|||||||||||||||
14 |
DEC: Decrement delay. See Table: RIU Delay Adjustments (IDELAY, ODELAY) . |
|||||||||||||||
13:9 |
Reserved |
|||||||||||||||
8:0 |
Output delay line: Tap value between 0 and 511. Fine delay adjustment of write data bits. Can be used for per-bit deskew or DDR write leveling. |
|||||||||||||||
Notes: 1. ADDR: 0x0A is the output delay in the TX_BITSLICE_TRI of the nibble. ADDR: 0X0B to 0x11 are the output delays in the TX_BITSLICEs of the nibble. |
IDELAYxx |
ADDR: 0x12–0x18 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Access |
W |
W |
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
15 |
INC: Increment delay. See Table: RIU Delay Adjustments (IDELAY, ODELAY) . |
|||||||||||||||
14 |
DEC: Decrement delay. See Table: RIU Delay Adjustments (IDELAY, ODELAY) . |
|||||||||||||||
13 |
Reserved |
|||||||||||||||
12:9 |
RX_DCC: Input delay line duty cycle correction. |
|||||||||||||||
8:0 |
Input delay line: Tap value between 0 and 511. Fine delay adjustment of read data bits. Can be used for per-bit deskew and placement of each data bit relative to the sample clock. |
*_ALIGN |
ADDR: 0x19–0x22 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Access |
|
|
|
|
|
|
|
|
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
17:7 |
|
|||||||||||||||
6:0 |
_ALIGN: Stores the align value after calibration. During initial calibration (when SELF_CALIBRATE is set to ENABLE), BISC programs this register to match the data delay to the sample clock/strobe delay. |
WL_DLY_RNK |
ADDR: 0x2C–0x2F |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Access |
|
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
15:14 |
Reserved |
|||||||||||||||
13 |
WL_TRAIN: Set to 1 to put bit slices into write leveling mode. 3-states the data bits while allowing the strobe/clock bits to drive the output buffers. This bit is only present at address 0x2C and does not exist for 0x2D, 0x2E, and 0x2F registers. |
|||||||||||||||
12:9 |
WL_DLY_CRSE: Coarse delay adjustment of 1/2 PLL_CLK period on write data/strobe/clock versus clock. |
|||||||||||||||
8:0 |
WL_DLY_FINE: Fine delay adjustment on write data/strobe/clock versus clock. |
RL_DLY_RNK |
ADDR: 0x30–0x33 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Access |
|
|
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
15:13 |
Reserved |
|||||||||||||||
12:9 |
RL_DLY_CRSE: Coarse delay adjustment of 1 / 2 PLL_CLK period on read strobe/clock gate. |
|||||||||||||||
8:0 |
RL_DLY_FINE: Fine delay adjustment on read strobe/clock gate. |
|||||||||||||||
Notes: 2. Reserved for memory interface generator (MIG). For memory designs using the RL_DLY_RNK, the PLL clock source (CLKIN for the PLL connected to BITSLICE_CONTROL) and RIU_CLK (BITSLICE_CONTROL) must be sourced from the same MMCM with the same phase shift to ensure asynchronous transfers are not corrupted. |
RD_IDLE_COUNT |
ADDR: 0x34 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
Access |
|
|
|
|
|
|
|
|
|
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
15:6 |
Reserved |
|||||||||||||||
5:0 |
Number of clocks (frequency of PLL_CLK/DATA_WIDTH) after PHY_RDEN deassertion and before turning off ODT termination in IOB. |
RL_DLY_RATIO |
ADDR: 0x35 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Access |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
15:0 |
RL_DLY_RATIO: This stores the RATIO value after calibration. Used by BISC for strobe/clock gating and VT tracking. |
RL_DLY_QTR |
ADDR: 0x36 |
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Default |
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Access |
|
|
|
|
|
|
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
15:9 |
Reserved |
|||||||||||||||
8:0 |
RL_DLY_QTR: Set from 0 to 511 taps of fine delay. Determines the 90-degree delay on DQS/clock. Used for DQS gating and VT tracking. |
Attribute |
Register |
Default |
Description |
Position |
Bits |
---|---|---|---|---|---|
EN_OTHER_PCLK |
NIBBLE_CTRL0 |
FALSE |
Set to 1 to pass a source synchronous clock from the other nibble's strobe/clock gating circuit through the PQTR slave delay. Set to 0 to pass a clock from the present nibble's strobe/clock gating circuit through the PQTR slave delay. |
0 |
EN_PDQS |
EN_OTHER_NCLK |
NIBBLE_CTRL0 |
FALSE |
Set to 1 to pass a source synchronous clock from the other nibble's strobe/clock gating circuit through the NQTR slave delay. Set to 0 to pass a clock from the present nibble's strobe/clock gating circuit through the NQTR slave delay. |
1 |
EN_NDQS |
INV_RXCLK |
NIBBLE_CTRL0 |
FALSE |
Invert clock path from IOB to RX_BITSLICE. |
2 |
INVERT_RX_CLK |
SERIAL_MODE |
NIBBLE_CTRL0 |
FALSE |
Set to 1 to put bit slice read paths into SERIAL_MODE. This mode is used for sampling a serial data stream such as SGMII. If serial mode is selected by setting SERIAL_MODE=1 (NIBBLE_CTRL0, Bit 3), the SERIAL_MODE setting must be reassigned after DLY_RDY = 1. The SERIAL_MODE setting reverts to the programmed settings when DLY_RDY is asserted. |
3 |
SERIAL_MODE |
TX_GATING |
NIBBLE_CTRL0 |
FALSE |
Disable clock gating in write clock path. |
4 |
TX_GATE |
RX_GATING |
NIBBLE_CTRL0 |
FALSE |
Disable clock gating in read clock path. |
5 |
RX_GATE |
RXGATE_EXTEND |
NIBBLE_CTRL0 |
FALSE |
BQS bias enable. |
6 |
RXGATE_EXTEND |
RX_CLK_PHASE_P |
NIBBLE_CTRL1 |
SHIFT_0 |
Apply a phase shift of 90 degrees to the received clock. |
0 |
RX_CLK_PHASE_P |
RX_CLK_PHASE_N |
NIBBLE_CTRL1 |
SHIFT_0 |
Apply a phase shift of 90 degrees to the received clock. |
1 |
RX_CLK_PHASE_N |
TX_OUTPUT_PHASE_90 |
NIBBLE_CTRL1 |
FALSE |
Per transmitter delays output phase by 90 degrees when set to TRUE. |
2:11 |
TX_DATA_PHASE |
SELF_CALIBRATE |
CALIB_CTRL |
ENABLE |
Turn self-calibration (BISC) on or off. |
0 |
CALIBRATE |
IDLY_VT_TRACK |
CALIB_CTRL |
TRUE |
Enable VT tracking for input delay lines. |
1 |
DIS_VTTRACK_IBIT |
ODLY_VT_TRACK |
CALIB_CTRL |
TRUE |
Enable VT racking for output delay lines. |
2 |
DIS_VTTRACK_OBIT |