<div>Lattice Diamond: Why do i encounter an error relating to the usage of the DELAYD primitive on my DDR Design?&nbsp;</div>

<div>Lattice Diamond: Why do i encounter an error relating to the usage of the DELAYD primitive on my DDR Design?&nbsp;</div>

Description:
When using the DELAYD primitive for MachXO2, there is an error message such as this: ERROR - Dynamic delay component 'delayd_0' cannot drive component 'Z_out_pad_RNO'

Solution: 
According to the MachXO2/XO3 usage model, the dynamic delay component "DELAYD" is for input DDR x2, x4, and 7:1 applications. 

If you are not under this use case, you may use DELAYE which can be used for all IO registers and DDR types.  

MAP/PAR will generate an error report if DELAYD is used for IDDRX1 or IREG. It is the same error if DELAYD doesn't drive IDDRX2 or IDDRX4.

The software blocks it when DELAYD drives FPGA fabric directly.