Intel® Quartus® Prime Pro Edition用户指南: 设计建议

ID 683082
日期 9/28/2020
Public

本文档可提供新的版本。客户应 单击此处 前往查看最新版本。

文档目录

3.3.1. 同步寄存器链长度

Synchronization Register Chain Length选项指定应该保护多少个寄存器免受可能会降低每个寄存器链的MTBF的优化,并控制应该优化多少个寄存器以通过Optimize Design for Metastability选项来增加MTBF。

例如,如果Synchronization Register Chain Length选项设置成2,那么在所有已标识的同步链中的前两个寄存器上都会防止进行诸如寄存器复制或者逻辑重定时的优化。当Optimize Design for Metastability选项开启时,这前两个寄存器也会被优化以提高MTBF。

Synchronization Register Chain Length选项的默认设置是3。同步链中的第一个寄存器始终受保护以防止可能降低MTBF的操作,但应设置保护长度以保护更多同步链。Intel建议您将此选项设置为设计中同步链的最大长度,以便为MTBF保留和优化所有同步寄存器。

点击Assignments > Settings > Compiler Settings > Advanced Settings (Synthesis),更改全局Synchronization Register Chain Length选项。

您也可以在Assignment Editor中对一个节点或者实体设置Synchronization Register Chain Length。您可以在同步链中的第一个寄存器上设置此值,以指定要在此链中保护和优化的寄存器数量。如果要保护和优化在具有低MTBF的特定同步链中创建的额外寄存器,或者要在未满足最大频率或时序性能的特定链中为MTBF优化较少的寄存器,那么此单独设置是有用的。要使用Tcl进行全局设置,请使用以下命令:

set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH <number of registers>

要使用Tcl将此assignment应用于一个设计实例或者特定链中的第一个寄存器,请使用以下命令:

set_instance_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH <number of registers> -to <register or instance name>