Vitis コア開発キットには、デザインで検出された問題に対して、ソフトウェア アプリケーション開発者が即座に実行可能なガイダンスを提供する包括的な設計ガイダンス ツールが含まれています。問題の原因は、ソース コードに関係している場合や、実行されていないツールの最適化である場合があります。また、ルールはさまざまな基準デザイン セットからの経験に基づく汎用ルールであり、デザインによっては当てはまらない場合もあります。そのため、ガイダンス ルールを理解して、特定のアルゴリズムおよび要件に基づいて適切な操作を実行するようにしてください。
ガイダンスは、Vitis HLS、Vitis プロファイラー、および v++
コンパイラで起動された Vivado Design Suite から生成されます。生成された設計ガイダンスには、いくつかの重要度レベルがあります。警告メッセージ、情報メッセージエラー、デザイン ルール チェックは、ソフトウェア エミュレーション、ハードウェア エミュレーション、およびシステム ビルド中に表示されます。プロファイルの設計ガイダンスは、プロファイリング結果を解釈し、パフォーマンスを向上するのに役立ちます。
ガイダンスには、レポートされた違反に関するメッセージテキスト、推奨される解決方法の概要、詳細な解決方法へのウェブ リンクが含まれます。推奨される解決方法に基づいて、次の手順を決定できます。これにより、問題をすばやく特定し、Vitis テクノロジの使用に関する情報にアクセスできるので、生産性が向上します。
設計ガイダンスは、コマンド ラインまたは Vitis IDE でデザインをビルドまたは実行すると自動的に生成されます。
ガイダンス レポートを開く方法は、Vitis アナライザーの使用 に説明されています。ガイダンス レポートにアクセスするには、コンパイル サマリ、リンク サマリ、または実行サマリを開き、ガイダンス レポートを開きます。
- カーネル ガイダンスは、
v++
コンパイル コマンドを使用してカーネルがビルドされた後に、Vitis HLS ツールにより生成されます。これは、コンパイル サマリ レポートを開くことにより、Vitis アナライザーで表示できます。カーネル ガイダンスおよびコンパイル サマリ ファイルは、コンパイルされる各カーネルに対して生成されます。カーネル ガイダンスには、データフローの使用に関する推奨項目と、予測されるスループットが達成されない理由として考えられることが含まれます。 - カーネル ガイダンスは、
v++
リンク コマンドを使用してカーネルがビルドされた後に生成されます。これは、リンク サマリ レポートを開くことにより、Vitis アナライザーで表示できます。システム ガイダンスには、すべてのカーネル ガイダンス チェックが含まれ、アプリケーションを実行する前に包括的なレビューを提供します。 - 実行ガイダンスは XRT の機能であり、生成された .xclbin を実行すると生成されます。これは、実行サマリを開くことにより Vitis アナライザーで表示できます。実行ガイダンスには、カーネルのストール時間が 50% を超えているかなどのチェック、DDR の代わりに PLRAM を使用できるかなどの推奨項目が含まれます。
ガイダンス レポートを開くと、メッセージと解決方法を含む表が表示されます。解決方法には、関連情報へのウェブリンクも含まれます。
次の図に、Vitis アナライザーで表示されるガイダンス レポートの例を示します。たとえば、[Name] 列のリンクをクリックすると、ルール チェックの説明が表示されます。[Details] 列のリンクをクリックすると、ソース コードが開いてカーネルなどのデザイン オブジェクトが選択されるか、別のレポートが開きます。
v++
コマンドの各実行 (コンパイルおよびリンクを含む) に対して、1 つの HTML ガイダンス レポートが生成されます。レポート ファイルは、--report_dir の特定の出力名の下に保存されます。次に例を示します。
-
v++
コンパイル: v++_compile_<output>_guidance.html -
v++
リンク: v++_link_<output>_guidance.html
[Resolution] 列のウェブ リンクをクリックすると、その解決方法に関する追加情報が表示されます。ガイダンス メッセージ ウェブ ページに、現在のすべてのメッセージがリストされています。
カーネル オブジェクト、計算ユニット オブジェクト、およびプロファイルでレポートされるデータ値も、システム ダイアグラムやプロファイル レポートなどのビューにクロスプローブできます。詳細は、サマリ レポートの使用 を参照してください。