Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 11/27/2024
Public
Document Table of Contents

5.5.6.6.2. Input Enable Signal Generation

Each one of the data pins (DQ pin) and the DQS pin requires an input enable (OE) control signal that must be set in the appropriate time, so the signals received from the memory device can be correctly captured. The hardware that controls the generation of the input enable (IE) signal is similar to the one for the OE signal generation in the write path described earlier. In this case, the dfi_rddata_en_p0/p1 signals from the memory controller are used. The phy_ie_timing_reg register is used to control the mechanism to generate the IE signals. Initially, the dfi_rddata_en signal is delayed a configurable number of clk_phy clock cycles to line it up with the true (normal) DFI read data position. This implies that some functional blocks are required to operate with this delayed signal (this is the case of the TSEL signal generators). The number of cycles to be delayed is defined in the rddata_en_ie_dly field. The setting and clearing of the IE signal also can be delayed. For this, the IE signal for DQ pins is controlled with the dq_ie_start and dq_ie_stop fields. Similarly, the IE signal for the DQS pin is controlled with the dqs_ie_start and dqs_ie_stop fields. The setting and clearing times for IE signals can be adjusted with a ½ clk_phy clock cycle resolution.

Note: For SD/eMMC operation mode, there is a potential problem scenario in which the data transferred from the device could be received and the last bit of transferred frame could be interpreted as the beginning of a new received frame. Even though the standard defines minimal timings between transmitted and received data, the PHY cannot handle this because of delays which are unknown for the host controller (I/O PAD and PCB). For SD, an additional IO mask logic has been introduced to keep input in high state when it should be inactive (when transfer is performed to the device). The logic works similarly to the input enable logic but does not use the IO PAD function. The maximum delay from PHY to device and back cannot exceed this value in the IO mask. The IO mask logic is controlled by the io_mask* fields in the phy_dq_timing_reg.