Vivado 概要に戻る

デザインの反復作業をさらに迅速化

概要

デザインに新機能を追加してデバッグするプロセスには反復作業が不可欠です。これらの反復作業のほとんどは、インクリメンタルな変更であり、その変更はデザインの一部分に限定されます。Vivado ML エディションでは、インクリメンタル コンパイルと抽象化シェルという 2 つの機能を提供し、この反復プロセスを効率化します。

インクリメンタル コンパイル

頻繁にアップデートが必要で、大規模かつ複雑なデザインを構築する際には反復作業をすばやく行うことが重要です。デザインを最適化するためには、ソース コード、制約、設定を何度も変更する必要があります。従来のフローでは、これらの変更を行うたびに、デザイン全体を再コンパイルする必要があり、多くの時間と労力が必要でした。

Vivado のインクリメンタル コンパイルは、変更された箇所を特定して、その部分のみを再コンパイルできるため、この問題を解決できます。この機能を使用することで、変更箇所が小さいほどコンパイル時間を削減でき、デザインの反復作業を効率化し、すばやくデザインを検証できるようになります。

次のベンチマーク データは、Vivado ML エディション 2022.2 を使用して 68 個のデザインを比較したものです。デフォルト コンパイルの時間を青で、インクリメンタル フローの時間を赤で示しています。このベンチマークから、インクリメンタル コンパイルを使用した場合、再コンパイル時間が平均 1.4 倍高速化されたことが分かります。

2022.2 を使用した、UltraScale+ デバイス デザインのインクリメンタル コンパイルのベンチマーク結果
Incremental_benchmark

脚注: 2022 年 10 月 現在、Vivado™ エンジニアリング チームが Vivado ML ソフトウェア ツール 2022.2 を使用して 68 個のデザインに対してデフォルトとインクリメンタル コンパイルを実行して比較した結果です。ほかのデータの 6 倍を超える 6 つの外れ値は、平均パフォーマンスの算出に影響するため排除しています。比較用としてデザインの 5% をインクリメンタルにコンパイルしました。実際の商用システムで得られる効果は、システムのハードウェア、ソフトウェア、ドライバー バージョン、BIOS 設定などさまざまな要因によって異なる可能性があります。

つまり、Vivado Design Suite のインクリメンタル コンパイル機能を利用することで、デザインの変更を迅速に反映させることができるため、開発を効率化できます。

抽象化シェル

抽象化シェルは、大規模かつ複雑なデザインの迅速なコンパイルを実現するための最新アプローチを提供します。コンパイルを高速化するために、デザインの一部を切り取ってモジュールを作成し、残りの部分との関連性を示す情報を提供します。特定の領域を分離することで、デザインをモジュール単位で個別にインプリメントして検証できるようになり、デザイン全体を再コンパイルする必要がなくなります。抽象化シェルを使用して、変更する部分と変更しない部分を仕切ることができます。

次のベンチマークは、抽象化シェルを使用した場合、フル システムよりもコンパイル時間が平均 5 倍高速化していることを示しています。赤線は、フル システムの実行と比較して、抽象化シェルでのコンパイル時間の高速化レベルを示しています。青線は、55 のテスト ケースでコンパイル時間が平均 5 倍高速化していることを示しています。

2021.1 を使用した、UltraScale+ デバイス デザインの抽象化シェル ベンチマーク結果
AbsShell_Benchmark

脚注: 2021 年 6 月 現在、Vivado™ エンジニアリング チームが Vivado ML ソフトウェア ツール 2021.1 を使用して 55 個のデザインに対してデフォルトと抽象化シェルを使用したコンパイル時間を比較した結果です。商用システムでの実際の改善効果は、システムのハードウェア、ソフトウェア、ドライバーのバージョン、BIOS 設定などの要因によって異なる場合があります。

抽象化シェルはモジュールに分割する効果的な設計方法であり、FPGA デザインを迅速に作成、変更、デバッグ、最適化するのに役立つ革新的なアプローチです。