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