ID:21029 ADD_PHASE_TRANSFER_REG parameter of INPUT_PHASE_ALIGNMENT primitive "<name>" must be set to the opposite setting of INVERT_PHASE parameter
CAUSE: The
ADD_PHASE_TRANSFER_REG
parameter of the specified INPUT_PHASE_ALIGNMENT
primitive is set to an illegal value. If the ADD_PHASE_TRANSFER_REG
parameter is TRUE, then the INVERT_PHASE
parameter must be set to FALSE and vice versa if the following conditions are met:-
use_phase_ctrlin
is set toFALSE
and -
invert_phase
is not set todynamic
and -
add_phase_transfer_reg
is not set todynamic
and -
bypass_output_register
ise set tofalse
and - the sources clocks phase is within
+1
or-1
delay buffer.
- if
phase_setting
is set to0
andinvert_phase
is set toadd_phase_transfer_reg
, thenphase difference = 0
(definite violation) - if
phase_setting
is set to0
andinvert_phase
is not set toadd_phase_transfer_reg
, thenphase difference = 3 to 8
(definitely not a violation) - if
phase_setting
is in the inclusive range[1, DLL_delay_chain_length/2]
andinvert_phase
is set toadd_phase_transfer_reg
, thenphase difference = phase_setting
- if
phase_setting
is in the range[DLL_delay_chain_length/2 .. 7]
andinvert_phase
is set toadd_phase_transfer_reg
, thenphase difference = (phase_setting - DLL_delay_chain_length)
- if
invert_phase
is not set toadd_phase_transfer_reg
, thenphase difference = (phase_setting - DLL_delay_chain_length/2)
ACTION: Check the design and make sure that the specified parameter values are not in conflict with each other.