HLS プロジェクトの最適化

解析が終了したら、関数のパフォーマンスを最適化する必要があることがほとんどです。パフォーマンスに問題がなくても、さらに改善の可能性はあります。このセクションでは、プロジェクトに最適化を適用するメカニズムについて説明します。実行可能なさまざまなタイプの最適化については、Vitis HLS での最適化手法 を参照してください。

さまざまな HLS 指示子を使用して最適化指示子をコンパイラとしてソース コードに直接追加するか、set_directive Tcl コマンドを使用して Tcl スクリプトに最適化指示子を含めてコンパイル中にソリューションで使用されるようにすることができます。

Vitis HLS には、最適化プラグマおよび指示子に加え、シミュレーションおよび合成のデフォルト結果を管理するためのコンフィギュレーション設定も多く含まれます。これらのコンフィギュレーション設定には、SolutionSolution Settings... をクリックするとアクセスでき、Add をクリックすると追加できます。特定のコンフィギュレーション設定の適用方法は、コンフィギュレーション コマンド を参照してください。

追加のソリューションの作成

Vitis HLS の最も一般的な使用方法では、初期デザインを作成し、結果を解析して、エリアおよびパフォーマンス要件を満たすために最適化を実行します。これは通常繰り返し実行されるプロセスで、望ましい結果を得るためには複数の段階および複数の最適化が必要です。ソリューションを使用すると、ツールを設定し、結果を向上するため関数に指示子を追加し、結果を保存してほかのソリューションと比較するのに便利です。

追加のソリューションを作成するには、ProjectNew Solution をクリックするか、New Solution ツールバー ボタン をクリックします。これにより、次の図に示す [Solution Wizard] ダイアログ ボックスが開きます。

1: [Solution Wizard] ダイアログ ボックス

[Solution Wizard] ダイアログ ボックスには、新規 Vitis HLS プロジェクトの作成 に説明されているオプションと、別のソリューションから指示子と制約をコピーする Copy directives and constraints from solution というオプションがあります。複数のソリューションがある場合は、コピー元のソリューションを選択できます。新しいソリューションが作成されたら、最適化指示子を追加 (別のソリューションからコピーした場合は変更) できます。

プロジェクトに複数のソリューションがある場合は、通常コマンドは現在アクティブなソリューションに対して実行されます。アクティブ ソリューションを指定するには、[Explorer] ビューでソリューションを右クリックし、Set Active Solution コマンドをクリックします。デフォルトでは、合成コマンドおよびシミュレーション コマンドはアクティブ ソリューションをビルドし、指示子はアクティブ ソリューションに適用され、アクティブ ソリューションのレポートが開きます。プロジェクトに複数のソリューションがある場合は、正しいソリューションを指定していることを確認してください。

ヒント: [Explorer] ビューでは、アクティブ ソリューションが太字の斜体で表示されます。