概观

设计迭代在开发者添加新特性和调试设计时很常见。在许多情况下,这些迭代均为增量更改,而且在大多数情况下,更改只会发生在一小部分设计中。AMD Vivado™ Design Suite 提供两项可显著缩短设计迭代时间的重要技术:增量编译和 Abstract Shell。

增量编译

在快速发展的 FPGA 设计领域,当构建大型复杂设计时,达到设计迭代的速度至关重要。对设计源代码、约束和设置进行迭代修改很常见。在传统流程中,进行这些修改将需要对整个设计进行彻底重新编译,这可能会耗费大量的时间和资源。

Vivado 增量编译可以仅对已修改的设计部分进行智能识别和重新编译,无需全面编译,从而克服了这一挑战。这种方法不仅可缩短进行少量设计修改时的编译时间,而且还可帮助设计人员更快地对其设计进行迭代,进而允许工程师快速验证其设计修改。

下面的基准测试数据显示了在 2022.2 版 Vivado Design Suite 中,对 68 种设计使用默认编译时的编译时间(蓝色)和增量流程(红色)。基准测试显示,使用增量编译进行重新编译时的平均速度提升了 1.4 倍。

使用 2022.2 时 UltraScale+™ 器件设计的增量编译基准测试结果

Incremental Compile Benchmark Chart

附注:截至 2022 年 10 月,Vivado™ 工程团队完成了对 68 个设计的测量,比较了在 Vivado 软件工具 2022.2 中使用默认编译与增量编译的性能。放弃了超过 6 倍的六个离群值比较,以提供更具代表性的平均表现。5% 的设计经过增量编译以进行比较。商业系统的实际改进提升可能会因系统硬件、软件、驱动程序版本和 BIOS 设置等多种因素而有所不同。

总之,Vivado 增益编译是 Vivado Design Suite 中的一个特性,有助于 FPGA 设计人员提高工作效率,进而缩短设计修改的周转时间,并加快 FPGA 开发速度。

Abstract Shell

Abstract Shell 引入一种领先方法来为大型复杂设计实现快速编译。它提供了一种方法来创建设计某一部分的精简版本,同时为设计的其余部分提供上下文。通过隔离设计的特定区域,Abstract Shell 可以让工程师独立实现和验证模块,而无需重新编译整个设计。Abstract Shell 允许设计人员将设计中的修改部分和未修改部分标出来。

下面的基准测试数据显示,Abstract Shell 与完全 Shell 相比,编译时间平均缩短了 5 倍。红线显示的是 Abstract Shell 运行相对于完整 Shell 运行的编译速度提升情况。蓝条显示,55 个测试案例的平均编译时间缩短了 5 倍。

使用 2021.1 时 UltraScale+ 器件设计的 Abstract Shell 优势基准测试结果

Abstract Shell Benefits Benchmark Chart

附注:截至 2021 年 6 月,Vivado™ 工程团队完成了对 55 项设计的测量,比较了在 Vivado 软件工具 2021.1 中使用默认编译与 Abstract Shell 的性能。商业系统的实际改进提升可能会因系统硬件、软件、驱动程序版本和 BIOS 设置等多种因素而有所不同。

总之,Abstract Shell 通过提供一种快速、高效的模块化方法,彻底颠覆了 FPGA 设计,这种方法改变了设计人员创建、修改、调试和优化 FPGA 设计的途径。

支持和资源