Vitis Model Composer Hub - 2024.2 日本語 - UG1483

Vitis Model Composer ユーザー ガイド (UG1483)

Document ID
UG1483
Release Date
2025-02-03
Version
2024.2 日本語

モデルのインプリメンテーションを制御します。

説明

Vitis Model Composer Hub ブロックは、Vitis Model Composer の動作を制御します。

生成された出力のターゲット デザイン フロー、出力のディレクトリ パス、および必要なデバイスとデザイン クロック周波数は、次のページで指定できます。

  • Hardware Selection ページ: デバイスまたはボードを選択します。
  • Code Generation ページ: 解析、ハードウェアでの検証、および Vitis Model Composer からのエクスポートといったエラボレーション ワークフローまでデザインを実行するためのタブが用意されています。サブシステムが HDL、HLS、AIE のいずれをターゲットにしているかによって、異なるオプションが表示されます。
  • [Design Settings] ページ: デザインのその他の設定を指定します。

ライブラリ

AI エンジン/Tools; HLS/Tools; Utilities/Code Generation.


Generated by Your Tool

データ型サポート

Vitis Model Composer Hub ブロックには、データ型は関係しません。

パラメーター

図 1. Vitis Model Composer Hub ブロックのパラメーター
Generated by Your Tool

Vitis Model Composer Hub ブロックの各ページで設定可能なオプションは、次のとおりです。

[Hardware Selection]
参照ボタン () をクリックして Device Chooser ダイアログ ボックスを開き、デザインでターゲットとするパーツ、ボード、またはプラットフォーム選択します。Vitis Model Composer は、Vivado のデータベースからボードおよびデバイス データを取得します。
[Code Generation]
左のリストから、コードを生成するサブシステム名を選択します。実行するコード生成のタイプ (HDL、HLS、AI エンジン) によって、異なる設定項目が表示されます。
[Settings] (AIE)
[AIE Compiler Options]
AIE コンパイラに追加のコマンド ライン オプション (デバッグ オプション、実行ターゲット オプションなど) を渡ことができます。
[Analyze] (AIE)
[Target Directory]
このタブの操作を実行するための作業ディレクトリを指定します。
[AIE Simulator Options]
AIE シミュレータに追加のコマンド ライン オプションを渡すことができます。
[Simulation timeout (cycles)]
AIE シミュレーションを実行するサイクル数を指定します。デフォルト値は 50000 です。
[Collect profiling statistics and enable 'printf' for debugging]
解析用にプロファイリング データを取得します。
[Collect trace data for Vitis Analyzer, viewing internal signals, and latency]
AI エンジン デザイン内の信号のトレース データを収集し、Vitis アナライザーまたは Simulation Data Inspector でそれらのデータを表示します。
[View AIE Simulation output and throughput]
Simulation Data Inspector を起動し、AIE シミュレータでシミュレーションされた AI エンジン サブシステムの出力をプロットします。
[Open Vitis Analyzer]
クリックで Vitis アナライザーを起動します。このオプションは、[Collect Data for Vitis Analyzer] をオンにして AI エンジン シミュレーションを少なくとも 1 回実行した後にのみ設定可能です。
[Settings] (HDL)
[Target Language]
デザインのコンパイルで使用する HDL 言語を指定します。[VHDL] または [Verilog] を選択できます。
[VHDL library]
コードを生成する VHDL work ライブラリを指定します。デフォルト名は xil_defaultlib です。
[Use STD_LOGIC type for Boolean or 1 bit wide gateways]
デザインのハードウェア記述言語 (HDL) が VHDL の場合、このオプションをオンにすると、ブールまたは 1 ビット ポート (Gateway In または Gateway Out) が STD-LOGIC 型として宣言されます。このオプションをオフにすると、ブールまたは 1 ビット ポートは Vitis Model Composer でベクターとして解釈されます。
注記: このオプションをオンにしてコードの生成を実行し、ビヘイビアー シミュレーションを Vivado で実行しようとすると、エラボレーション段階でエラーが発生することがあります。
[Synthesis Strategy]
ドロップダウン リストの定義済みストラテジから合成ストラテジを選択します。
[Implementation Strategy]
ドロップダウン リストの定義済みストラテジからインプリメンテーション ストラテジを選択します。
[Enable multiple clocks]
デザインに複数のクロックがある場合、オンにする必要があります。オンにすると、コード生成エンジンにより、さまざまなサブシステムのクロック情報が該当するクロック タブから取得されます。オフの場合、デザインはシングル クロック デザインとして処理されます。
[Number of clocks]
デザインのクロック数を定義します。表示されるクロック タブの数は、クロックの数と同じになります。クロック タブごとに、サブシステムを選択し、そのサブシステムのクロック設定をする必要があります。
[FPGA clock period (ns)]

システム クロックの周期を ns で指定します。値は整数である必要はありません。ここで指定した周期は、制約ファイルでグローバル PERIOD 制約として設定され、AMD インプリメンテーション ツールに渡されます。マルチサイクル パスは、この値の整数倍に制約されます。

[Simulink system period (sec)]
Simulink システム周期を秒で指定します。Simulink システム周期は、モデルに含まれるサンプル周期の最大公約数です。これらのサンプル周期は、ブロックのダイアログ ボックスで明示的に設定、Simulink の伝搬ルールに基づいて自動設定、またはこのオプションを使用してブロックのハードウェア オーバーサンプリング レートにより暗示的に設定します。最後のケースの場合、暗示されるサンプル時間は、Simulink のブロックで計測されるシミュレーション サンプル時間より高速になります。ハードウェアでは、オーバーサンプリング レートが 1 より大きいブロックは、その入力をデータよりも高速に処理します。たとえば、オーバーサンプリング レートが 8 の配列型乗算器ブロックでは、(Simulink) サンプル周期は Simulink の乗算器ブロックの実際のサンプル時間の 8 分の 1 になります。このパラメーターは、マスター ブロックでのみ変更できます。
[Clock pin location]
ハードウェア クロックのピン ロケーションを指定します。この情報は、制約ファイルを介して AMD インプリメンテーション ツールに渡されます。Vitis Model Composer デザインを大型 HDL デザインに組み込む場合は、このオプションを指定しないでください。
[Provide clock enable clear pin]
Vitis Model Composer で最上位クロック ラッパーに ce_clr ポートが含められるよう指定します。ce_clr 信号は、クロック イネーブル生成ロジックをリセットするために使用されます。クロック イネーブル生成ロジックをリセットする機能により、デザインでデータパス サンプリングの開始の指定を動的に制御できます。この信号は、DFX プラットフォームに実装するモジュールには重要です。
[Analyze] (HDL)
注記: このタブで使用できるタスクの詳細は、Vitis Model Composer での解析の実行 を参照してください。
[Target Directory]
このタブの操作を実行するための作業ディレクトリを指定します。
[Perform Analysis]
コンパイル時に解析 (タイミングまたはリソース) を Vitis Model Composer デザインで実行するかどうかを指定します。None を選択すると、タイミング解析またはリソース解析は実行されません。Post Synthesis を選択すると、デザインが Vivado ツールセットで合成された後に解析が実行されます。Post Implementation を選択すると、解析は、デザインが Vivado ツールセットでインプリメントされた後に実行されます。
[Analysis Type]
2 つの選択肢 (Timing および Resource) があります。生成が完了すると、[Timing Analyzer] ウィンドウまたは [Resource Analyzer] ウィンドウが開きます。
[Block Icon Display]
コンパイルが完了した後でモデルの各ブロック アイコンに表示されるようにする情報のタイプを指定します。次に、さまざまな表示オプションについて説明します。
[Default]
モデルの各ブロックにデフォルト ブロック アイコン情報が表示されます。ブロックのデフォルト アイコンは、xbsIndex ライブラリからのものです。
図 2. デフォルト ブロック アイコン Generated by Your Tool
[Normalized Sample Periods]
各ブロックにすべての入力および出力ポートに対する正規化サンプル周期が表示されます。たとえば、Simulink システム周期が 4 に設定されており、ブロック ポートに伝搬されるサンプル周期が 4 の場合、このブロック ポートに表示される正規化周期は 1 になります。また、ブロック ポートに伝搬されるサンプル周期が 8 の場合、表示される正規化周期は 2 になります。このように、値が大きいほどレートが低速になります。
図 3. 正規化サンプル周期アイコン Generated by Your Tool
[Sample frequencies (MHz)]
各ブロックのサンプリング周波数を表示します。
[Pipeline stages]
各ブロックの入力ポートからのレイテンシ情報を表示します。特定の上位ブロック (FFT、RS エンコーダー/デコーダー、Viterbi デコーダーなど) では、表示されるパイプライン段が正しくないことがあります。このような場合は、表示されるパイプライン情報を使用して、ブロックに入力から出力への組み合わせパスがあるかどうかを判断できます。たとえば、次の図の Up Sample ブロックには、入力から出力ポートへの組み合わせパスがあります。
図 4. パイプライン段 Generated by Your Tool
[HDL port names]
モデルの各ブロックに各ポートの HDL ポート名が表示されます。
[Input data types]
モデルの各ブロックに各入力ポートのデータ型が表示されます。
[Output data types]
モデルの各ブロックに各出力ポートのデータ型が表示されます。
[Update the model]
選択した [Block Icon type] を表示するようにモデルを更新します。
[Create interface document]
オンにして Generate ボタンをクリックすると、Vitis Model Composer でネットリストを生成するデザインを記述する HTM ファイルが作成されます。このファイルは、netlist フォルダーの documentation に含まれます。
[Settings] (HLS)
[FPGA clock frequency]
ターゲット デバイスのクロック周波数を MHz で指定します。この周波数は、ダウンストリームのツール フローに渡されます。
[Testbench stack size (MBytes)]
スタック サイズを入力します。Create and run testbench をオンにすると、Testbench stack size で C シミュレーション (CSIM) 中のテストベンチ スタック フレームのサイズを指定できます。スタックに大型配列が割り当てられている場合やサブシステムの入れ子構造が深すぎる場合など、テストベンチの実行用に割り当てられたデフォルトの 10 MB ではテストの実行には不十分な場合があります。この場合、セグメンテーション エラーや関連するエラー メッセージが表示され、テストがエラーになります。このような場合は、スタック フレームのサイズを増加して、テストを再実行できます。
[Analyze] (HLS)
[Target Directory]
このタブの操作を実行するための作業ディレクトリを指定します。
[Validate on Hardware]
[Target Directory]
このタブの操作を実行するための作業ディレクトリを指定します。
[HW System Type]
検証フロー ([Baremetal] または [Linux]) を選択します。
[Target]
ハードウェア検証フローのターゲットを指定します。
[Common SW Dir]
PetaLinux の共通イメージが格納されているフォルダーのパスを指定します。このオプションは、[Linux HW System Type] が選択されている場合にのみ有効になります。
[Target SDK Dir]
ターゲット SDK を含むフォルダーへのパスを指定します。このオプションは、[Linux HW System Type] が選択されている場合にのみ有効になります。
[Generate (BOOT.BIN/SD card image) after code generation]
オンにすると、コード生成後に BOOT.BIN (ベアメタル HW システム用) または SD カード イメージ (Linux HW システム用) が生成されます。
[Export]
[Export Directory]
エクスポートする出力ファイルが作成されるディレクトリを指定します。
[Export Type]
IP カタログ
HDL または HLS を Vivado IP サブシステムとしてエクスポートします。[IP Catalog] が選択されている場合、[Settings] ボタンをクリックすると、ダイアログ ボックスが開き、IP カタログに配置される IP の説明を追加できます。
合成済みチェックポイント
Vivado で使用するために、HDL サブシステムを合成済みチェックポイントとしてエクスポートします。
HDL ネットリスト
Vivado で使用するために、HDL サブシステムを HDL コードやネットリストとしてエクスポートします。
Vitis HLS
HDL サブシステムを HLS C/C++ コードとしてエクスポートします。
[Vitis Hardware Kernel (.xo)]
AIE または HLS サブシステムをコンパイル済み Vitis ハードウェア カーネル (.xo) としてエクスポートします。
[Graph Code]
AIE サブシステムを AI エンジン グラフ コードとしてエクスポートします。
[Compiled AI エンジン Graph Application (libadf.a)]
AIE サブシステムをコンパイル済み AI エンジン グラフとしてエクスポートします。
[Generate testbench]
[HDL designs]: Vitis Model Composer で HDL テストベンチが作成されるように指定します。HDL シミュレータでテストベンチをシミュレーションし、コンパイルされたデザインのシミュレーション結果を Simulink シミュレーション結果と比較します。Vitis Model Composer では、デザインを Simulink でシミュレーションし、Gateway ブロックで検出される値を保存することにより、テスト ベクターを作成します。テストベンチの最上位 HDL ファイルの名前は、<name>_testbench.vhd/.v (<name> はテストするデザイン部分から導出された名前) です。
注記: ゲートウェイ (Gateway In または Gateway Out) が AXI4-Lite インターフェイスとして設定されているデザインに対しては、テストベンチ生成はサポートされません。

[AIE/HLS designs]: Vitis Model Composer でコードを生成中にテスト ベクターが生成されるように指定します。

[Design Settings]
[Treat this model as a legacy System Generator design for backward-compatibility]
Model Composer Hub ブロックで、モデルをレガシ System Generator デザインとして扱うかどうかを指定します。System Generator トークンを Model Composer Hub ブロックに自動的にアップグレードする場合、このチェック ボックスは自動的にオンになります。このチェック ボックスをオンにすると、レガシ デザインを変更せずに、Model Composer Hub ブロックを使用できます。ただし、[Validate on Hardware] フローなど、Model Composer Hub ブロックが提供する新しい機能は使用できなくなります。
[Number of parallel AI エンジン builds]
モデルのコンパイルを高速化するために、Vitis Model Composer は、マシン上の複数のコアを利用して、AI エンジン ブロックを同時に構築できます。設定値には、マシン上のコアの最大数まで指定できます。