概述
當開發人員新增功能並為其設計除錯時,設計迭代很常見。在許多情況下,這些迭代都是漸進式變更,且大多數都只涉及設計的一小部分。AMD Vivado™ Design Suite 提供兩項關鍵技術,可大幅縮短設計迭代時間:漸進式編譯與 Abstract Shell。
漸進式編譯
在快速發展的現場可程式化閘陣列 (Field Programmable Gate Array, FPGA) 設計領域中,建立大型複雜設計時,達到設計迭代的速度至關重要。一般來說,迭代變更經常是針對設計原始程式碼、限制和設定。在傳統流程中,進行這些變更將需要對整個設計重新進行完整編譯,而這可能既費時又耗費資源。
Vivado 漸進式編譯可透過智慧型識別和只重新編譯設計中已修改的部分來解決此難題,無須再從頭進行編譯。這個方法可在進行小幅設計變更時大減編譯時間,並幫助設計人員加速設計迭代,進而讓工程師能夠快速驗證其設計變更。
以下的基準測試資料顯示的是 68 項設計在 Vivado Design Suite 2022.2 版中的編譯時間,藍色表示預設編譯,而紅色則表示漸進式流程。基準測試顯示,使用漸進式編譯時,重新編譯時間平均快上 1.4 倍。
使用 2022.2 版進行 UltraScale+™ 器件設計的漸進式編譯基準測試結果

註腳:本次結果是由 Vivado™ 工程團隊於 2022 年 10 月針對 68 項設計測量而得,比較的是 Vivado 軟體工具 2022.2 版的預設編譯與漸進式編譯。已捨棄六個超過 6 倍異常值的比較結果,以提供更具代表性的效能平均值。5% 的設計已進行漸進式編譯,以供比較。商用系統的實際改善成效可能會因系統硬體、軟體、驅動程式版本以及 BIOS 設定等因素而有所不同。
簡而言之,Vivado 漸進式編譯是 Vivado Design Suite 中的一項功能,可讓 FPGA 設計人員提高工作效率,進而加快設計變更的產出時間,並加速 FPGA 的開發。
Abstract Shell
針對大型複雜設計,Abstract Shell 推出可實現快速編譯時間的尖端方法。經由 Abstract Shell 所提供的方法,工程師既可建立一部分設計的精簡版本,又不會忽略掉其與設計其餘部分的關聯性。透過隔離設計的特定區域,Abstract Shell 可讓工程師獨立實作並驗證模組,無須重新編譯整個設計。Abstract Shell 讓設計人員可以標記正在變更的設計部分,以及保持不變的設計部分。
以下的基準測試資料顯示,Abstract Shell 與 Full Shell 相比,編譯時間平均快上 5 倍。紅線顯示執行 Abstract Shell 較執行 Full Shell 的編譯時間加快速度。藍色橫條顯示 55 個測試案例的平均編譯時間快上 5 倍。
使用 2021.1 版進行 UltraScale+ 器件設計的 Abstract Shell 基準測試結果優勢

註腳:本次結果是由 Vivado™ 工程團隊於 2021 年 6 月針對 55 項設計測量而得,比較的是 Vivado 軟體工具 2021.1 版的預設編譯與 Abstract Shell 編譯。商用系統的實際改善成效可能會因系統硬體、軟體、驅動程式版本以及 BIOS 設定等因素而有所不同。
簡而言之,Abstract Shell 透過提供快速、高效率和模組化的方法,來改變設計人員建立、修改、除錯和最佳化 FPGA 設計的方式,進而徹底改變 FPGA 設計工作。