Vitis Model Composer Hub - 2022.1 日本語

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

Document ID
UG1483
Release Date
2022-05-26
Version
2022.1 日本語

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

説明

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

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

  • Target ページ: デバイスまたはボードを選択します。
  • AI Engine ページ: AI エンジン コード生成フローを制御するオプションを指定します。
  • HDL ページ: HDL コード生成フローを制御するオプションを指定します。これらのオプションは、レガシ System Generator トークと同じです。
  • HLS ページ: HLS コード生成フローを制御するオプションを指定します。
  • Hardware Flow ページ: ハードウェアでデザインを検証するのに必要なオプションを指定します。
  • Generate ページ: [Subsystem] を選択して [Code Drectory] を指定することにより、出力フローを選択します。

ライブラリ

AI エンジン/Tools、HLS/Tools、Utilities/Code Generation



データ型サポート

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

パラメーター

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

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

[Target]
Select Hardware
  • 参照ボタン () をクリックして Device Chooser ダイアログ ボックスを開き、デザインでターゲットとするパーツ、ボード、またはプラットフォーム選択します。Vitis Model Composer は、Vivado のデータベースからボードおよびデバイス データを取得します。
[AI Engine]
Target Subsystem
  • AI エンジン コード生成のターゲットとするサブシステムの名前をドロップダウン リストから選択します。
[AI Engine] → [Settings]
Compiler options
  • コンパイラ デバッグ オプション、実行ターゲット オプションなどを制御します。
Create testbench
  • Vitis Model Composer でコードを生成中にテスト ベクターが生成されるように指定します。
Run AIE Simulation
  • このオプションは、Create testbench がオンの場合にのみ設定可能です。コード生成後に AIE シミュレーションを実行します。
Simulation timeout (cycles)
  • AIE シミュレーションを実行するサイクル数を指定します。デフォルト値は 50000 です。
Plot AIE Simulation output and estimate throughput
  • シミュレーション データを記録し、AI エンジン サブシステムの出力を視覚化できるようにします。
Collect profiling statistics and enable 'printf' for debugging
  • 解析用にプロファイリング データを取得します。
VitisCollect data for Analyzer:
  • Vitis アナライザーで表示可能なシミュレーション結果のサマリを収集します。
Open Vitis Analyzer:
  • Vitis Vitis アナライザーを起動します。このオプションは、[Collect Data for Vitis Analyzer] をオンにして AI エンジン シミュレーションを少なくとも 1 回実行した後にのみ設定可能です。
[HDL]
Target Subsystem
  • HDL コード生成のターゲットとするサブシステムの名前をドロップダウン リストから選択します。
[HDL] → [Settings]
Compilation Type
  • コード生成を実行したときに生成するコンパイル結果のタイプを指定します。デフォルト コンパイル タイプは [IP Catalog] です。
    次のコンパイル タイプを選択すると、[Settings] ボタンが有効になります。
    • IP Catalog compilation: [Settings] ボタンをクリックすると、ダイアログ ボックスが開き、IP カタログに配置される IP の説明を追加できます。
    • Hardware Co-Simulation (JTAG) compilation: [Settings] ボタンをクリックすると、ダイアログ ボックスが開き、JTAG ハードウェア協調シミュレーションを高速化するためにバースト データ転送を使用できます。
Hardware Description
  • デザインのコンパイルで使用する 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
  • ドロップダウン リストの定義済みストラテジからインプリメンテーション ストラテジを選択します。
Create testbench
  • Vitis Model Composer で HDL テストベンチを作成するよう指定します。HDL シミュレータでテストベンチをシミュレーションし、コンパイルされたデザインのシミュレーション結果を Simulink シミュレーション結果と比較します。Vitis Model Composer では、デザインを Simulink でシミュレーションし、Gateway ブロックで検出される値を保存することにより、テスト ベクターを作成します。テストベンチの最上位 HDL ファイルの名前は、<name>_testbench.vhd/.v (<name> はテストするデザイン部分から導出された名前) です。
    注記: ゲートウェイ (Gateway In または Gateway Out) が AXI4-Lite インターフェイスとして設定されているデザインでは、テストベンチ生成はサポートされません。
[HDL Clocking]
FPGA clock period (ns)
  • システム クロックの周期を ns で指定します。値は整数である必要はありません。ここで指定した周期は、制約ファイルでグローバル PERIOD 制約として設定され、ザイリンクス インプリメンテーション ツールに渡されます。マルチサイクル パスは、この値の整数倍に制約されます。
Simulink system period (sec)
  • Simulink システム周期を秒で指定します。Simulink システム周期は、モデルに含まれるサンプル周期の最大公約数です。これらのサンプル周期は、ブロックのダイアログ ボックスで明示的に設定、Simulink 伝搬ルールに基づいて自動設定、またはこのオプションを使用してブロックのハードウェア オーバーサンプリング レートにより暗示的に設定します。このオプションを使用する場合、暗示されるサンプル時間は、Simulink のブロックで計測されるシミュレーション サンプル時間より高速になります。ハードウェアでは、オーバーサンプリング レートが 1 より大きいブロックは、その入力をデータよりも高速に処理します。たとえば、オーバーサンプリング レートが 8 の配列型乗算器ブロックでは、(Simulink) サンプル周期は Simulink の乗算器ブロックの実際のサンプル時間の 8 分の 1 になります。このパラメーターは、マスター ブロックでのみ変更できます。
Clock pin location
  • ハードウェア クロックのピン ロケーションを指定します。この情報は、制約ファイルを介してザイリンクス インプリメンテーション ツールに渡されます。Vitis Model Composer デザインを大型 HDL デザインに組み込む場合は、このオプションを指定しないでください。
Provide clock enable clear pin
  • Vitis Model Composer で最上位クロック ラッパーに ce_clr ポートが含められるよう指定します。ce_clr 信号は、クロック イネーブル生成ロジックをリセットするために使用されます。クロック イネーブル生成ロジックをリセットする機能により、デザインでデータパス サンプリングの開始の指定を動的に制御できます。
Enable multiple clocks
  • 複数クロック デザインの最上位 System Generator トークンでオンにする必要があります。オンにすると、コード生成エンジンにより、さまざまなサブシステムのクロック情報がこれらのサブシステムに含まれる System Generator トークンから取得されます。オフの場合、デザインはシングル クロック デザインとして扱われ、すべてのクロック情報が最上位 System Generator トークンから継承されます。
[HDL] → [Analysis]
Block icon display
  • コンパイルが完了した後でモデルの各ブロック アイコンに表示されるようにする情報のタイプを指定します。次に、さまざまな表示オプションについて説明します。
    • Default
      • モデルの各ブロックにデフォルト ブロック アイコン情報が表示されます。ブロックのデフォルト アイコンは、xbsIndex ライブラリからのものです。
      図 2. デフォルト ブロック アイコン
    • Normalized Sample Periods
      • 各ブロックにすべての入力および出力ポートに対する正規化サンプル周期が表示されます。たとえば、Simulink システム周期が 4 に設定されており、ブロック ポートに伝搬されるサンプル周期が 4 の場合、このブロック ポートに表示される正規化周期は 1 になります。また、ブロック ポートに伝搬されるサンプル周期が 8 の場合、表示される正規化周期は 2 になります。このように、値が大きいほどレートが低速になります。
      図 3. 正規化サンプル周期アイコン

    • Sample frequencies (MHz)
      • 各ブロックのサンプリング周波数を表示します。
    • Pipeline stages
      • 各ブロックの入力ポートからのレイテンシ情報を表示します。特定の上位ブロック (FFT、RS エンコーダー/デコーダー、Viterbi デコーダーなど) では、表示されるパイプライン段が正しくないことがあります。このような場合は、表示されるパイプライン情報を使用して、ブロックに入力から出力への組み合わせパスがあるかどうかを判断できます。たとえば、下の図の Up Sample ブロックには、入力から出力ポートへの組み合わせパスがあります。
      図 4. 周波数の例

    • HDL port names
      • モデルの各ブロックに各ポートの HDL ポート名が表示されます。
    • Input data types
      • モデルの各ブロックに各入力ポートのデータ型が表示されます。
    • Output data types
      • モデルの各ブロックに各出力ポートのデータ型が表示されます。
Update the model
  • 最新ではないブロックを特定してアップグレードするのに役立つステータス レポートを生成します。
Perform Analysis
  • コンパイル時に解析 (タイミングまたはリソース) を Vitis Model Composer デザインで実行するかどうかを指定します。None を選択すると、タイミング解析またはリソース解析は実行されません。Post Synthesis を選択すると、デザインが Vivado® ツールセットで合成された後に解析が実行されます。Post Implementation を選択すると、デザインが Vivado ツールセットでインプリメントされた後に解析が実行されます。
  • Analysis Type
    • 2 つの選択肢 (Timing および Resource) があります。生成が完了すると、[Timing Analyzer] ウィンドウまたは [Resource Analyzer] ウィンドウが開きます。
Launch
  • Analyzer type での選択に基づいて、[Timing Analyzer] ウィンドウまたは [Resource Analyzer] ウィンドウを開きます。これは、Simulink モデルで解析を既に実行しており、Simulink モデルを前回の実行から変更していない場合にのみ機能します。
Remote IP cache
  • Vitis Model Composer コンパイルの一部として Vivado 合成が実行されるたびに、デザインで IP キャッシュにアクセスします。コンパイルで合成用に IP インスタンスが生成され、Vivado 合成ツールで合成出力ファイルが生成されたときに、キャッシュ エリアにエントリが作成されます。IP を新しくカスタマイズしたときにまったく同じプロパティを使用すると、IP インスタンスを再合成する代わりに、キャッシュ内の合成出力ファイルがデザインの出力ディレクトリにコピーされます。ディスク キャッシュにアクセスすることで、デザイン プロセスの繰り返し実行にかかる時間が短縮されます。

    IP キャッシュについては、HDL ライブラリで説明されています。

Create interface document
  • オンにして [Generate] ボタンをクリックすると、Vitis Model Composer でネットリストを生成するデザインを記述する HTM ファイルが作成されます。このファイルは、ネットリスト フォルダーの documentation フォルダーに含まれます。
Clear cache
  • リモート IP キャッシュをクリアします。デザインで多くの IP モジュールが使用されている場合は特に、IP キャッシュのサイズが大きくなる可能性があるため、キャッシュをクリアすることでディスク スペースを節約できます。
[HLS]
Target Subsystem
  • HLS コード生成のターゲットとするサブシステムの名前をドロップダウン リストから選択します。
[HLS] → [Settings]
Target

[Target] の設定は、次のとおりです。

表 1. HLS のターゲット設定
設定 説明
[IP Catalog] IP Catalog を選択すると、デザインを Vivado IP カタログにエクスポートできます。C/C++ コードの生成後、Vitis 高位合成 (HLS) が起動して C コードが合成され、IP として Vivado IP カタログにエクスポート可能なプロジェクトが作成されます。
[System Generator] System Generator を選択すると、デザインを HDL ブロックセットにエクスポートできます。C/C++ コードの生成後、Vitis HLS (高位合成) が起動して C コードが合成され、HDL モデルで Vitis HLS ブロックとして使用可能な RTL ソリューションが作成されます。
[HLS C++ Code] HLS C++ code を選択すると、デザイン モデルが C++ コードにコンパイルされます。
FPGA clock frequency
  • ターゲット デバイスのクロック周波数を MHz で指定します。この周波数は、ダウンストリームのツール フローに渡されます。
Throughput factor
  • スループットを増加するために、クロックごとに処理されるサンプル数を指定します。係数を大きくすると、ハードウェア リソースの使用量が増加します。スループット係数は 1 ~ 16 にする必要があります。
Create testbench and run C simulation
  • Vitis Model Composer でシミュレーションを実行し、コード生成時にテスト ベクターを生成します。
Testbench stack size (MBytes)
  • スタック サイズを入力します。Create and run testbench をオンにすると、Testbench stack size で C シミュレーション (CSIM) 中のテストベンチ スタック フレームのサイズを指定できます。スタックに大型配列が割り当てられている場合やサブシステムの入れ子構造が深すぎる場合など、テストベンチの実行用に割り当てられたデフォルトの 10 MB ではテストの実行には不十分な場合があります。この場合、セグメンテーション エラーや関連するエラー メッセージが表示され、テストがエラーになります。このような場合は、スタック フレームのサイズを増加して、テストを再実行できます。
[Hardware Flow]
ハードウェア イメージを生成するには、Target でプラットフォームを指定し、AI Engine/SettingsCreate Testbench をオンにします。
  • HW System Type: 検証フロー (Baremetal または Linux hardware) を選択します。
  • Target: ハードウェア検証フローのターゲットを指定します。
[Generate]
AI エンジン、HDL、または HLS ブロックセットからのブロックを含む Subsystem を選択し、対応する Code Directory を指定します。Code Directory は、完全なディレクトリ パスを入力するか、Browse ボタンをクリックしてパスを指定します。