返回 Vivado 概述

加速设计迭代

概述

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

增量编译

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

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

下面的基准测试数据显示了在 2022.2 版的 Vivado ML Edition 中,默认编译的编译时间(蓝色)和 68 种设计的增量流程(红色)。基准测试显示,使用 Incremental Compile 的重新编译时间平均快 1.4 倍。

使用 2022.2 为 UltraScale+ 器件设计带来的增量编译基准测试结果
Incremental_benchmark

脚注: 截至 2022 年 10 月,Vivado 工程团队使用 Vivado ML 软件工具 2022.2 对 68 个设计执行了默认和增量编译。这 6 个异常值比其他数据大 6 倍以上,因为它们影响平均性能的计算,所以被排除在外。5% 的设计经过增量编译以进行比较。商业系统的实际改进提升可能会因系统硬件、软件、驱动版本和 BIOS 设置等多种因素而有所不同。

总之,Vivado Incremental Compile 是 Vivado 设计套件中的一个特性,有助于 FPGA 设计人员提高工作效率,进而不仅可缩短设计修改的周期时间,而且还可加速 FPGA 的开发。

抽象 Shell

抽象 Shell 引入一种领先方法来为大型复杂设计实现快速编译。它提供的方法不仅可创建部分设计的精简版本,同时还可为其余设计提供设计环境。抽象 Shell 通过隔离特定区域的设计,允许工程师自主实施并验证模块,无需重新编译整个设计。抽象 Shell 允许设计人员将设计的修改部分和未修改部分标出来。

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

抽象 Shell 使用 2021.1 为 UltraScale+ 器件设计的基准测试结果带来了巨大优势
AbsShell_Benchmark

脚注:截至 2021 年 6 月,Vivado™ 工程团队在 Vivado ML 软件工具 2021.1 上对 55 项设计进行了测量,将默认编译测量结果与抽象 Shell 编译测量结果进行了比较。商业系统的实际改进提升可能会因为系统硬件、软件和驱动程序版本,以及 BIOS 设置等因素而有所不同。

总之,抽象 Shell 通过提供一种快速、高效的模块化方法,为 FPGA 设计带来了革命性的变革,这种方法改变了设计人员创建、修改、调试和优化 FPGA 设计的途径。