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

ID 683082
日期 9/28/2020
Public

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

文档目录

2.2.4.3. 对时序收敛进行优化

要实现设计的时序收敛,您可以在 Intel® Quartus® Prime软件中使能编译设置,或者直接修改时序约束。

时序收敛的编译设置

注: 工程设置的更改会大大增加编译时间。设计处理之后,您可以通过查看Fitter消息来查看性能提升与运行时成本之间的比较。
表 2.  影响时序收敛的编译设置
设置 位置 对时序收敛的影响
Allow Register Duplication Assignments > Settings > Compiler Settings > Advanced Settings (Fitter)

在寄存器具有高扇出或扇出位于器件物理上较远区域的情况下,此技术最有用。

查看网表优化报告,并考虑手动复制物理综合自动添加的寄存器。您也可以在Chip Planner中找到原始寄存器和重复寄存器。比较它们的位置,如果扇出得到改善,那么修改代码并关闭寄存器重复以节省编译时间。

Prevent Register Retiming Assignments > Settings > Compiler Settings > Advanced Settings (Fitter)

如果寄存器之间的某些组合路径超出了时序目标,而其他路径不足,那么此设置是很有用的。

如果设计已经进行了大量流水线设计,那么寄存器重定时不太可能提供显着的性能提升,因为流水线级之间不应存在逻辑级别的显著不平衡。

使用时序约束优化时序收敛的准则

适当的时序约束对于实现时序收敛至关重要。在应用时序约束时,请遵循以下一般准则:

  • 当不需要单周期时序分析时,在设计中应用多周期约束。
  • 将False Path约束应用于设计中的所有异步时钟域交叉或复位。此技术可防止过度约束,而Fitter只专注于关键路径以减少编译时间。但是,与物理综合相比,过度限制时序关键时钟域有时可以提供更好的时序结果和更低的编译时间。
  • 当物理综合的slack提升接近零时,要进行过度约束而不是使用物理综合。通过使用设置不确定性,对时序关键时钟域的频率要求进行过约束。
  • 在评估约束变更对性能和运行时的影响时,请使用至少三个不同的seed编译设计,以确定平均性能和运行时效果。不同的约束组合会产生各种结果。三个或更多个样本确定了性能趋势。根据性能的提高或下降对约束进行修改。
  • 尽可能将设置保留为默认值。性能约束的增加会大大增加编译时间。尽管可能需要这些增加来关闭设计时序,但尽可能使用默认设置可以最大程度地缩短编译时间。