Intel® Quartus® Prime Pro Edition用户指南: 设计编译

ID 683236
日期 12/16/2019
Public
文档目录

1.2.1.1. 综合期间保留寄存器

Intel® Quartus® Prime综合将门控数量最小化,合并冗余逻辑并确保器件资源的有效利用。如果需要在综合过程中保留指定寄存器,则可指定以下实体级约束。

分配Preserve Registers in SynthesisPreserve Fan-Out Free Register Node选项以允许对已保留寄存器进行Fitter优化。Preserve Registers会限制了保留寄存器的Fitter优化。通过点击Assignments > Assignment Editor,修改.qsf文件,或在RTL中指定综合属性,从而指定综合保留约束。

表 3.  综合保留项
约束 说明 允许Fitter Optimization? 约束句法
Preserve Registers in Synthesis 防止在综合期间删除寄存器。该设置不影响重定时或Fitter中的其他优化。 Yes
  • PRESERVE_REGISTER_SYN_ONLY ON|Off -to <entity> .qsf
  • preserve_syn_only or syn_preservesyn_only (synthesis attributes)
Preserve Fan-Out Free Register Node 避免综合期间删除无扇出的被约束寄存器。
PRESERVE_FANOUT_FREE_NODE约束无法保留无扇出寄存器,该寄存器的Verilog HDL或VHDL模块中没有您指定的扇出。要保留这些无扇出寄存器,请实现源文件:
(*noprune*)reg r;
中的noprune 编译指令(pragma)

如果该模块有多个实例,而仅某些实例需要保留无扇出寄存器,则可在HDL的寄存器中设置一个虚编译指令(dummy pragma)并设置PRESERVE_FANOUT_FREE_NODE。该虚编译指令允许寄存器综合实现该约束。例如,在Verilog HDL中对寄存器r设置如下虚编译指令:

(*dummy*)reg r;
Yes
  • PRESERVE_REGISTER_FANOUT_FREE_NODE ON|Off -to <entity> .qsf
  • no_prune on (综合属性)
Preserve Registers 防止综合期间删除和连续优化约束寄存器。顺序性网表优化可消除冗余寄存器和具有固定驱动器的寄存器。 不需要
  • PRESERVE_REGISTER ON|Off -to <entity> .qsf
  • preserve, syn_preserve, 或keep on (综合属性)