Intel® Quartus® Prime Pro Edition用户指南: 设计优化

ID 683641
日期 9/30/2019
Public
文档目录

5.6.5.8.2. 寄存器自动复制:估算物理性接近度

DUPLICATE_REGISTER约束有助于利用估算的物理性接近度信息指导复制创建及其扇出约束。
set_instance_assignment -name DUPLICATE_REGISTER -to <register_name> <num_duplicates>

其中,

  • register_name是要复制的寄存器。从链中创建寄存器树时,请为链中的每个寄存器创建一个唯一约束。如果将DUPLICATE_REGISTER约束应用于链中相互驱动的寄存器,则会以适当顺序处理该约束。
  • num_duplicates是复制寄存器需要创建的数量。(包括原始寄存器)。如果原始信号具有M扇出,则复制项的平均扇出为M/N,各个复制项的扇出率可能或多于或少于该值,具体取决于算法。

在Fitter阶段处理DUPLICATE_REGISTER约束。有必要创建复制项并根据物理性接近度早期估算约束复制项之间的扇出,以最大程度优化设计中“发布复制”所花费的时间。但从而导致细粒度的约束决策不精确。当复制项的数量较小(小于100)时,且所创建组的粒度足够时,最好使用DUPLICATE_REGISTER约束,以允许创建复制项后进行优化时保持灵活性。

Fit报告的Fitter Duplication Summary面板中详细说明了 Intel® Quartus® Prime Pro Edition选择的DUPLICATE_REGISTER约束。其还总结了任何超过1000个扇出的已寄存信号,便于以后可能作为DUPLICATE_REGISTER约束的合理备选对象。

重要:
  • PHYSICAL_SYNTHESIS设置为OFF禁用DUPLICATE_REGISTER
  • 与其他物理综合优化不同,DUPLICATE_REGISTER约束的确允许复制提供以不清楚的寄存器和具有位置约束的寄存器。
  • DUPLICATE_REGISTER约束不处理具有如下任一条件的寄存器:
    • 寄存器驱动全局信号或时钟信号。
    • 寄存器具有时序约束或应用了其他例外情况。
    • 寄存器具有preserve属性或PRESERVE_REGISTER约束。
    • 寄存器被标记为don't touch
    • 寄存器驱动或由其他分区驱动。