返回 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 設計的途徑。