304 - DDR2: What could be wrong if there is no read data valid signal detected from the Lattice DDR2 IP core?
There are several possible reasons when the read data valid signal is not asserted at all during the read operation:
- The read data valid signal is generated from the incoming DQS signal that is driven by a DDR2 memory device or memory module (except LatticeSC devices). Check if the DQS signal from the memory comes out and is connected to the DQS pad of the target device properly.
- Missing or driving improper level of reference voltage (VREF) also causes problems on the data valid generation. Make sure the VREF1 pad of each FPGA bank is connected to the required reference voltage (0.9V for DDR2).
- The PCB trace round trip delay must be compensated. If you use the Lattice DDR2 IP core, you can compensate the trace delay by providing a proper value on the read_pulse_tap input port. See the DDR1/DDR2 IP core user manual (ipug35.pdf) for compensating the PCB trace delay.
Note: If you generated a bitstream for a LatticeXP2 device using the old ispLEVER v7.0 SP2 software, the read data valid signal does not function properly. This was fixed in ispLEVER v7.1 or later version. If you are still using ispLEVER v7.0 SP2 with Lattice DDR2 IP core for LatticeXP2, please migrate to the latest ispLEVER or Lattice Diamond software.