ASYNC_REG 约束:
- 识别设计中的异步寄存器
- 禁用这些寄存器的 X 传输
ASYNC_REG 约束可通过以下方式附加到前端设计中的寄存器:
- 在 HDL 代码中使用属性
- 在赛灵思设计约束 (XDC) 中使用约束
ASYNC_REG
附加到的寄存器会在时序仿真期间保留先前的值,并且不会向仿真输出 X。请谨慎使用;也可能在此过程中已通过时钟设置来输入新的值。
ASYNC_REG 约束仅适用于 CLB 以及输入输出块 (IOB) 寄存器和锁存器。欲知详情,请参阅 Vivado Design Suite 属性参考指南(UG912) 中的 ASYNC_REG。
如果无法避免在异步数据中进行时钟设置,请仅对 IOB 或 CLB 寄存器执行时钟设置。在异步信号中对 RAM、移位寄存器 LUT (SRL) 或其他同步元素进行时钟设置无法得到确定性的结果;因此应避免使用。AMD 强烈建议您首先在寄存器、锁存器或 FIFO 中正确同步任何异步信号,然后再写入 RAM、移位寄存器 LUT (SRL) 或任何其他同步元素。如需了解更多信息,请参阅 Vivado Design Suite 用户指南:使用约束(UG903)。