PHY Lite for Parallel Interfaces Intel® FPGA IP User Guide

ID 683716
Date 4/10/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

2.2.1.3. Input Path

The simplified input path of the IP consists of pipeline registers, RX FIFO, shift registers, and phase shift.
Figure 5. Simplified Input PathThe following figure shows the input path for the PHY Lite for Parallel Interfaces IP.
Table 6.  Components in Simplified Input PathThis table lists the components in the simplified input path for the PHY Lite for Parallel Interfaces IP.
Component Description
Pipeline Registers Represent pipeline stages in the input path
2 RX FIFOs

Perform 2:1 rate conversion on the RX data

  • At positive edge of strobe_in signal
  • At negative edge of strobe_in signal
Shift Registers Perform the following functions:
  • Delay the RcvEn signal in VCO cycle increments
  • The read_enable_offset shift register delays the rdata_valid signal
Phase Shifts Perform the following functions:
  • Delay RcvEn signal in 1/128 VCO cycle increments
  • Delay RxDqsNDelayPi/RxDqsPDelayPi signal

There are five types of delay in the input path. The following table describes the delays:

Table 7.  Types of Delay in Input Path
Delay Type Description
Inherent latency Static
  • Captured in pipeline stages from the assertion of rdata_en signal in core until internal signal, RcvEn, is asserted
RcvEn delay (internal signal generated from input signal rdata_en) Dynamic
  • Can be reconfigured in control registers
  • The GUI parameter Additional Receiver Enable Latency is the RcvEn delay and can be programmed both statically from the GUI and dynamically
Positive-edge strobe_in delay Dynamic
Negative-edge strobe_in delay Dynamic
read_enable_offset delay Dynamic
Table 8.  Input path Reconfigurable Delays DescriptionThis table details all the reconfigurable input path delays for the PHY Lite for Parallel Interfaces IP.
Feature Description Bit-field Description Min Max
RxRcvEnPiRank0 [10:7]
  • RcvEn delay
  • There are two RxRcvEnPiRank0 registers per lane. One controls the lower nibble (6 pins) and the other controls the upper nibble of the lane.
  • In PHY Lite IP, the nibbles cannot be used independently. Both control signals must be programmed to the same value.
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]

  • strobe­_in delay
  • There are two RxDqsNDelayPi and RxDqsPDelayPi for each pin. Each pin receives a copy of the DQS and can phase-shift each edge of the DQS independently of other pins.
  • Usually both edges should be set to the same delay value, but different values can be used to correct uneven duty cycle.
  • The effective range of this delay setting is up to 1 VCO clock cycle.
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]

  • rdata_valid delay
  • An adjustable setting that changes the delay before starting to read from the RX FIFO, effectively delaying the rdata_valid signal.
  • This delay setting is downstream from the integer portion of the RcvEn delay, so any additional RcvEn delay applies to the rdata_valid signal as well.
Delay before reading from the RX FIFO measured in number of PHY clock cycles. 0 15
Figure 6. Input OperationThis figure shows the input operation for the PHY Lite for Parallel Interfaces IP.

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.

Figure 7. Ungating DQS Gate WindowThis figure shows ungating of DQS window by internally asserting RcvEn.

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.

Figure 8. Shutting Off the DQS Gate WindowThe following figure shows how disabling RcvEn shuts off the DQS gate.

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:

Table 9.  Settings for DQ/DQS ODT/SA Delays
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.

Table 10.  Allowed values for read_enable_offset based on 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
1 This value is the shifted value of RxRcvEnPi[10:7] and Gear4 value is always 1