Visible to Intel only — GUID: fbw1676546076793
Ixiasoft
Visible to Intel only — GUID: fbw1676546076793
Ixiasoft
2.2.1.3. Input Path
Component | Description |
---|---|
Pipeline Registers | Represent pipeline stages in the input path |
2 RX FIFOs | Perform 2:1 rate conversion on the RX data
|
Shift Registers | Perform the following functions:
|
Phase Shifts | Perform the following functions:
|
There are five types of delay in the input path. The following table describes the delays:
Delay | Type | Description |
---|---|---|
Inherent latency | Static |
|
RcvEn delay (internal signal generated from input signal rdata_en) | Dynamic |
|
Positive-edge strobe_in delay | Dynamic | |
Negative-edge strobe_in delay | Dynamic | |
read_enable_offset delay | Dynamic |
Feature | Description | Bit-field Description | Min | Max |
---|---|---|---|---|
RxRcvEnPiRank0 [10:7] |
|
Bit 10 to bit 7 represents integer number of VCO clock cycles to delay RcvEn signal. | 0 | 15 |
RxRcvEnPiRank0 [6:0] | Bit 6 to bit 0 represents additional phase shift in RcvEn signal measured in 1/128 of VCO clock period. | 0 | 127 | |
RxDqsNDelayPi [6:0] |
|
Phase shift in the negative edge of the DQS for each pin measured in 1/128 of VCO clock period. | 0 | 127 |
RxDqsPDelayPi [6:0] |
Phase shift in the positive edge of the DQS for each pin measured in 1/128 of VCO clock period. | 0 | 127 | |
read_enable_offset [3:0] |
|
Delay before reading from the RX FIFO measured in number of PHY clock cycles. | 0 | 15 |
The preceding figure shows an example of RX data transfer in QR DDR. The data_to_core for each pin is 8 bits wide. PHY Lite uses DDR4 preamble settings, expecting one cycle of preamble by default. Setting the parameter Capture strobe phase shift to 90 degrees causes PHY Lite IP to accept edge-aligned data.
To ensure that only clock edges associated with valid input data are used, the receiver must be gated off when PHY Lite IP is not accepting any input data. There might be extra toggles or noise on the DQS port, so it is important to use a refined version of the received strobe. The gating signal, RcvEn (receiver enable), is internally derived from rdata_en signal. The RcvEn signal is used to ungate the DQS gate window and can be asserted up to one cycle before the first rising edge of DQS, as shown in the following figure. This means that at most, one cycle preamble is required in the strobe signal.
The process of shutting off the DQS gate happens automatically once the last burst ends. This is achieved by using two modified versions of the RcvEn signal: RcvEnPiMod and RcvEnPre. RcvEnPiMod is derived from RcvEnPi, which is the output of the serializer. RcvEnPiMod turns on at the same time as RcvEnPi, but the falling edge is adjusted. RcvEnPre starts a burst counter that counts up to burst length / 2 repeatedly. PHY Lite IP uses Burst Length 4 setting, so the burst counter repeatedly counts from 0 to 1. RcvEnPiMod ends one cycle early. When RcvEnPiMod is low and the burst counter reaches its maximum, RcvEnPre is deasserted at the next negative edge of the DQS, therefore shutting off ungating circuit.
In the input path, the ODT (on die termination) and SA (sense amplifier) settings should also be programmed when changing RcvEn delay by dynamic reconfiguration. The ODT and SA are gated off in the idle mode to save power. There are two separate enable signals for these settings, which are tapped from the same shift register as RcvEn. If RcvEn delay is reconfigured, the ODT and SA settings must be adjusted as well to make sure everything in the receiver circuitry turns on at the right time. The relevant settings to reconfigure are DqsSenseAmpDelay, DqsSenseAmpDuration, DqSenseAmpDuration, DqSenseAmpDelay, DqOdtDuration, DqOdtDelay, DqsOdtDuration, and DqsOdtDelay. These settings should be adjusted for both upper and lower nibbles in the lane according to the following table:
RxRcvEnPi[10:7]>>Gear4 1 | DqsOdtDelay | DqOdtDelay | Dq/Dqs SenseAmpDelay |
---|---|---|---|
0 | 2 | 3 | 3 |
1 | 3 | 4 | 4 |
2 | 4 | 5 | 5 |
3 | 5 | 6 | 6 |
4 | 6 | 7 | 7 |
5 | 7 | 8 | 8 |
6 | 8 | 9 | 9 |
7 | 9 | 10 | 10 |
When changing RcvEn coarse delay or RxRcvEnPiRank0[10:7], Intel recommends updating read_enable_offset to avoid receiving misaligned data in the core. The small values of read_enable_offset may result in RX FIFO underflow, and the large values may result in overflow. Refer to the table below for the allowed values of read_enable_offset according to RcvEn coarse delay.
RxRcvEnPiRank0[10:7] | Allowed values for read_enable_offset |
---|---|
0, 1, 4, 5, 8, 9, 12, 13 | 3, 5, 7, 9, 11 |
2, 3, 6, 7, 10, 11, 14, 15 | 2, 4, 6, 8, 10, 12 |