タイミング クロージャのための複数のインプリメンテーション ストラテジの実行 - 2020.2 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2021-03-22
Version
2020.2 Japanese

困難なデザインでは、複数の異なるストラテジを使用して Vivado インプリメンテーションを複数回繰り返すことで、タイミング クロージャを達成できます。このトピックでは、ハードウェア ビルド (-t hw) で複数のインプリメンテーション ストラテジを同時に起動する方法と、問題のなかった実行を見つけて使用し、デバイス バイナリを生成してビルドを完了する方法について説明します。

--vivado オプション で説明されるように、--vivado.impl.strategies コマンドを使用すると、1 つのビルド パスに実行する複数のストラテジを指定できます。コマンド ラインは、次のようになります。

v++ --link -s -g -t hw --platform xilinx_zcu102_base_202010_1 -I . \
--vivado.impl.strategies "Performance_Explore,Area_Explore" -o kernel.xclbin hello.xo

上記の例の場合、Performance_Explore および Area_Explore ストラテジが Vivado ビルド内で同時に実行され、どの結果がベストなのかを確認できます。ALL を指定すると、ツール内で使用可能なすべてのストラテジを実行するようにを指定できます。

このオプションは、次の形式のコンフィギュレーション ファイルでも決定できます。

#Vivado Implementation Strategies
[vivado]
impl.strategies=Performance_Explore,Area_Explore

Vitis コンパイラは、最初に完了したタイミングを満たす実行結果を自動的に選択し、そのビルド プロセスを続行して、デバイス バイナリを生成します。ただし、すべての実行が完了するまで待機し、完了した実行からベストの結果を選択してから、ツールに続行するように指示することもできます。これには、次のように --advanced.compiler 指示子を使用する必要があります。

[advanced]
param=compiler.multiStrategiesWaitOnAllRuns=1

また、すべてのインプリメンテーション ストラテジが完了した後で、その結果を手動で確認することもできます。この後、to_step を使用して Vivado をインタラクティブに起動する方法 で説明するように、--reuse_impl オプションを使用してインプリメンテーション実行のいずれかの結果を使用します。