PHY Lite for Parallel Interfaces Intel® FPGA IP User Guide

ID 683716
Date 4/01/2024
Document Table of Contents Input Path

The simplified input path of the IP consists of the pipeline registers, receiver FIFO, shift registers, and phase shift logics.
Figure 40. Simplified Input PathThis figure shows the input path for the PHY Lite for Parallel Interfaces Intel® FPGA IP.
Table 39.  Components in the Simplified Input Path of the PHY Lite for Parallel Interfaces Intel® FPGA IP
Component Description
Pipeline Registers Represent pipeline stages in the input path

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 Shift Logics 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 40.  Types of Delay in the 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 You can reconfigure these delays in the control registers. You can program the RcvEn delay statically or dynamically through the Additional Receiver Enable Latency settings in the IP Parameter Editor.
Positive-edge strobe_in delay Dynamic
Negative-edge strobe_in delay Dynamic
read_enable_offset delay Dynamic
Table 41.  Input Path Reconfigurable Delays DescriptionThis table lists the reconfigurable input path delays for the PHY Lite for Parallel Interfaces Intel® FPGA IP.
Feature Description Bit-field Description Min Max



  • 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



Bit 6 to bit 0 represents additional phase shift in RcvEn signal measured in 1/128 of VCO clock period. 0 127



  • 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



Phase shift in the positive edge of the DQS for each pin measured in 1/128 of VCO clock period. 0 127



  • 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 41.  PHY Lite for Parallel Interfaces Intel® FPGA IP Input Operation

The preceding figure shows an example of RX data transfer in QR DDR. The data_to_core signal for each pin is eight bits wide. The PHY Lite for Parallel Interfaces IP uses DDR4 preamble settings, and expects one cycle of preamble by default. To set the PHY Lite for Parallel Interfaces IP to accept edge-aligned data, select 90 degrees in the Capture strobe phase shift parameter setting.

To ensure that the IP uses only clock edges associated with valid input data, gate the receiver off when PHY Lite for Parallel Interfaces IP is not accepting input data. If there are extra toggling signals or noise on the DQS port, use a refined version of the received strobe. The gating signal, RcvEn (receiver enable), is derived internally from the rdata_en signal. Use the RcvEn signal to ungate the DQS gate window by asserting RcvEn up to one cycle before the first rising edge of DQS, as shown in the following figure. You require no more than one cycle preamble in the strobe signal.

Figure 42. Ungating DQS Gate WindowThis figure shows the ungating of the DQS window by internally asserting the RcvEn signal.
Figure 43. Shutting Off the DQS Gate WindowThe following figure shows how disabling RcvEn shuts off the DQS gate.

In the input path, program the on die termination (ODT) and sense amplifier (SA) when you dynamically reconfigure the RcvEn delay.

To save power in idle mode, gate off the ODT and SA using two enable signals tapped from the same shift register as RcvEn.

Whenever you reconfigure the RcvEn delay, reconfigure the following ODT and SA settings to ensure that all parts of the receiver circuitry turns on at the correct time:
  • DqsSenseAmpDelay
  • DqsSenseAmpDuration
  • DqSenseAmpDuration
  • DqSenseAmpDelay
  • DqOdtDuration
  • DqOdtDelay
  • DqsOdtDuration
  • DqsOdtDelay
Adjust these settings for both upper and lower nibbles in the lane according to the following table.
Table 42.  Settings for DQ/DQS ODT/SA DelaysThis table lists the settings adjustments for both the upper and lower nibbles in the lane.
RxRcvEnPi[10:7]>>Gear4 3 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 the RcvEn coarse delay or RxRcvEnPiRank0[10:7], Intel recommends that you update read_enable_offset to avoid receiving misaligned data in the core. The small values of read_enable_offset can cause RX FIFO underflow, while large values may cause an overflow.

Table 43.  Allowed values for read_enable_offset based on RcvEn coarse delayThis table lists the allowed values for read_enable_offset according to the 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 4, 6, 8, 10, 12
3 This value is the shifted value of RxRcvEnPi[10:7]. The Gear4 value is always 1.