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