ID:15960 ADD_PHASE_TRANSFER_REG parameter of DQS_ENABLE_CONTROL primitive "<name>" must be set to the opposite setting of INVERT_PHASE parameter if USE_PHASECTRLIN parameter is FALSE, INVERT_PHASE is not set to DYNAMIC, ADD_PHASE_TRANSFER_REG parameter

CAUSE: The ADD_PHASE_TRANSFER_REG parameter of the specified DQS_ENABLE_CONTROL 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 to FALSE and
  • invert_phase is not set to dynamic and
  • add_phase_transfer_reg is not set to dynamic and
  • level_dqs_enable is set to TRUE and
  • dqsenablin input signal is not VCC or GND and
  • the sources clocks phase is within +1 or -1 delay buffer.
To determine the source's clock phase, use the following conditions:
  • if phase_setting is set to 0 and invert_phase is set to add_phase_transfer_reg, then phase difference = 0 (definite violation)
  • if phase_setting is set to 0 and invert_phase is not set to add_phase_transfer_reg, then phase difference = 3 to 8 (definitely not a violation)
  • if phase_setting is in the inclusive range [1, DLL_delay_chain_length/2] and invert_phase is set to add_phase_transfer_reg, then phase difference = phase_setting
  • if phase_setting is in the range (DLL_delay_chain_length/2 .. 7] and invert_phase is set to add_phase_transfer_reg, then phase difference = (phase_setting - DLL_delay_chain_length)
  • if invert_phase is not set to add_phase_transfer_reg, then phase 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.