增量综合 - 2023.2 简体中文

适用于 FPGA 和 SoC 的 UltraFast 设计方法指南 (UG949)

Document ID
UG949
Release Date
2023-11-29
Version
2023.2 简体中文

您可使用增量综合来复用现有综合结果。此方法能够将典型的综合编译时间缩短 50%。此方法配合增量实现流程一起使用时,可缩短总体编译时间并提升时序收敛一致性。

对设计进行综合时,会将其细分为多个 RTL 分区。增量综合会复用来自前一轮综合运行的 RTL 分区。RTL 分区通常是随逻辑层级一起创建的。仅当设计足够大、综合创建至少 4 个 RTL 分区并且每个分区包含至少 50000 个实例时,才会运行增量综合。这些实例包含逻辑层级和 RTL 原语。

以下是使用 synth_design -incremental_mode <value> 命令时可用的不同模式:

off
不运行增量综合。
quick
最快获得结果,但不执行跨边界最优化。此模式会限制逻辑的工作频率。
default
启用大部分逻辑最优化,包括跨边界最优化。非增量综合,显著缩短编译时间。
aggressive
启用所有最优化。非增量综合,显著缩短编译时间。

通常建议仅对低性能设计使用 quick 模式。由于无跨边界最优化,因此典型设计的时钟频率会降低。但如果精心构造设计且设计包含已寄存的分层边界,那么可能不会影响可实现的时钟频率。由于跨边界最优化受限,因此在给定区域内进行 RTL 更改才会导致在该区域内发生重新综合。在其他综合分区内执行的更改不会触发超出该分区范围的更改。由此导致增加复用,并能更快获得综合结果。对于其他模式,则情况并非如此,RTL 更改可能触发超出单元所在分区范围的其他分区发生再综合。当超出 50% 的分区发生修改时,将触发完全重新综合。

对于高性能设计,建议使用 defaultaggressiveoff 模式。在 aggressiveoff 模式下会启用更多最优化,这可能导致进行更多再综合,但 QoR 会更高。

为了更加积极地应对编译时间问题,可将增量综合与 OOC 综合进行比对。OOC 综合通常供 IP 使用,并自动执行设置。含增量综合的全局综合所提供的优势不仅体现在允许跨边界最优化上,还体现在编译时间上。值得考量的领域包括:

  • 编译时间

    OOC 综合更快,因为它减少了每次细化的代码量。仅当在 OOC 模块内修改 RTL 时,才会细化 RTL。

  • Performance

    增量综合的最高时钟频率优先于 OOC 综合,因为此模式允许跨 OOC 边界执行最优化。

  • 设置

    对于非 IP 流程,创建 OOC 综合运行时,必须在从更高的模块传递泛型/参数的同时创建封装文件。此外,还必须创建独立时序约束文件,并以 OOC 级别的端口作为目标。增量综合则不存在这些要求。

如需了解更多信息,请参阅 Vivado Design Suite 用户指南:综合(UG901)