ハードウェア協調シミュレーションは、ハードウェアで実行する Vitis Model Composer モデルまたはサブシステムから始めます。基本的なハードウェア ボードの要件を満たしているモデルであれば、どのモデルでも協調シミュレーションが可能です。モデルには Model Composer Hub ブロックを含める必要があります。このブロックは、モデルのハードウェアへのコンパイル方法を定義します。
Model Composer Hub の使用方法は、Model Composer Hub を使ったコンパイルとシミュレーション を参照してください。
ハードウェア協調シミュレーション用に Vitis Model Composer モデルをコンパイルするには、次を実行します。
-
Vitis Model Composer
Hub ブロックをダブルクリックして Model Composer Hub のダイアログ ボックスを開きます。
- Hardware Selection タブで、Select Hardware フィールドの横にあるボタンをクリックすると、Device Chooser が開きます。
-
Boards タブでボードを選択します。
Board リストに表示されるボードは次のとおりです。
- Vivado の一部としてインストールされているボードすべて。
- Vivado で作成されたカスタム ボード。
- 購入し、Vivado でイネーブルになっているパートナー ボード。
パートナー ボードまたはカスタム ボードが [Board] リストに表示されるようにするには、ボードを記述するボード ファイルにアクセスするよう Vitis Model Composer を設定する必要があります。Model Composer でのボード サポートについては、Model Composer HDL ブロックセットでのボード サポートの指定 を参照してください。
ハードウェア協調シミュレーション用にコンパイルするには、Board でボードを選択する必要があります。パーツとプラットフォームは選択できません。
- OK をクリックして Device Chooser を閉じます。
- Code Generation pane で、左側のリストから HDL サブシステムを選択します。
- HDL Settings タブで Compilation Type に Hardware Co-Simulation (JTAG) を選択します。
- ハードウェア協調シミュレーションをより高速に実行するためバースト モードを使用する場合は、Compilation
Type フィールドの横のボタンをクリックし、Burst
Mode を選択して、バースト モードでの FIFO の深さを入力します。OK をクリックして、Hardware
Co-Simulation Settings ダイアログ ボックスを閉じます。
バースト モードの詳細は、ハードウェア協調シミュレーションのバースト データ転送を参照してください。
重要: バースト モードのハードウェア協調シミュレーションを実行するには、Vitis Model Composer Hub ブロックの HDL Settings タブで Create Testbench をオンにしてテストベンチを作成する必要があります。 - コンパイルの一部としてテストベンチを作成する場合は、HDL Settings タブで Create Testbench をオンにします。Create Testbench をオンにする場合、コンパイル プロセスでサンプル テストベンチが自動的に作成されます。ハードウェア協調シミュレーション用の独自のテストベンチをユーザーが作成することもできます (ハードウェア協調シミュレーションへの M コード アクセスを参照)。
-
Generate をクリックします。
ハードウェア協調シミュレーション用にデザインの FPGA コンフィギュレーション ビットストリームが生成されます。Model Composer では、コンパイル プロセス中にモデルの HDL およびネットリスト ファイルが生成されるだけでなく、FPGA コンフィギュレーション ファイルを生成するのに必要なダウンストリーム ツールも実行されます。
コンフィギュレーション ビットストリームには、モデルに関連するハードウェアと、Model Composer がボードと PC 間の物理的インターフェイスを使用してデザインと通信できるようにする追加インターフェイス ロジックが含まれます。このロジックにはメモリ マップ インターフェイスが含まれており、Model Composer はこれを介してデザインの入力ポートおよび出力ポートに対して値の読み出しおよび書き込みを実行できます。また、ターゲットの FPGA ボードを正しく機能させるために必要なボード特定の回路も含まれます。
コンパイルが終了すると、次のような結果になります。
- 手順 7 で Burst mode
をオンにしていない場合は、JTAG Cosim ハードウェア協調シミュレーション ブロックが別のウィンドウに表示されます。ハードウェア協調シミュレーション ブロックを Simulink モデルにドラッグ (またはコピーして貼り付け) します。ハードウェア協調シミュレーション ブロックを使用すると、Simulink ウィンドウ内でハードウェア協調シミュレーションを実行できます。
ハードウェア協調シミュレーション ブロックの詳細は、ハードウェア協調シミュレーション ブロック を参照してください。
図 1. ハードウェア協調シミュレーション ライブラリ ブロックコンパイルで Create Testbench をオンした場合は、コンパイルにより M コードハードウェア協調シミュレーションのサンプル テストベンチも生成されます (ハードウェア協調シミュレーションへの M コード アクセス を参照)。このテストベンチを使用してハードウェア協調シミュレーションを実行するか、またはこれをカスタマイズしてユーザーのテストベンチを作成することもできます。
- 手順 7 で Burst mode
をオンにした場合は、ハードウェア協調シミュレーション ブロックは表示されません。バースト モードの協調シミュレーションを実行する場合は、コンパイル中にターゲット ディレクトリに配置された
MATLAB®
の M コード テストテストベンチを使用します。
- 最上位デザインをコンパイルすると、テストベンチの名前が次のように指定されます。
<design_name>_hwcosim_test.m
- デザインのサブシステムをコンパイルすると、テストベンチの名前が次のように指定されます。
<design_name>_<sub_system>_hwcosim_test.m
コンパイルにより、Simulink モデルでハードウェア協調シミュレーションを実行する準備が整います。
ハードウェア協調シミュレーションを実行するには、次に進みます。
- 標準 (非バースト モード) を実行する場合は、標準ハードウェア協調シミュレーションの実行を参照してください。
- バースト モードを実行する場合は、バースト モードのハードウェア協調シミュレーションの実行を参照してください。
- 最上位デザインをコンパイルすると、テストベンチの名前が次のように指定されます。
- 手順 7 で Burst mode
をオンにしていない場合は、JTAG Cosim ハードウェア協調シミュレーション ブロックが別のウィンドウに表示されます。ハードウェア協調シミュレーション ブロックを Simulink モデルにドラッグ (またはコピーして貼り付け) します。ハードウェア協調シミュレーション ブロックを使用すると、Simulink ウィンドウ内でハードウェア協調シミュレーションを実行できます。