System Generator トークンは、システムおよびシミュレーション パラメーターを制御するためのコントロール パネルとして機能し、ネットリスト生成用のコード ジェネレーターを起動するためにも使用されます。HDL ブロックセットのエレメントを含む各 Simulink® モデルには、少なくとも 1 つの System Generator トークンが含まれている必要があります。モデルに System Generator トークンを追加すると、コードの生成およびシミュレーションの処理方法を指定できます。
トークンのパラメーター
Simulink モデルのアイコンをダブルクリックすると、[Block Parameters] ダイアログ ボックスが開きます。
- Compilation タブ
-
Compilation タブには、次のパラメーターがあります。
- Board
-
デザインをテストするのに使用するザイリンクス パートナーまたはカスタム ボードを指定します。Board は、後述の Compilation 設定で選択したコンパイル ターゲット (IP Catalog、Hardware Co-Simulation、Synthesized Checkpoint、または HDL Netlist) のいずれでも指定できます。
Board を選択すると、Part フィールドに Board で選択したボード上にあるザイリンクス デバイスの名前が表示されます。このパーツ名は変更できません。
パートナー ボードまたはカスタム ボードが Board リストに表示されるようにするには、ボードを記述するボード ファイルにアクセスするよう Model Composer を設定する必要があります。
- Part
- 使用するザイリンクス FPGA または SoC パーツを指定します。Board を選択すると、Part フィールドに Board で選択したボード上のザイリンクス デバイスの名前が表示されます。このパーツ名は変更できません。
- Compilation
-
コード生成を実行したときに生成するコンパイル結果のタイプを指定します。デフォルトのコンパイル タイプは IP Catalog です。
次のコンパイル タイプを選択すると、Settings ボタンが有効になります。
- IP Catalog compilation
- Settings ボタンをクリックすると、ダイアログ ボックスが開き、IP カタログに配置される IP の説明を追加できます。
- Hardware Co-Simulation (JTAG) compilation
- Settings ボタンをクリックすると、ダイアログ ボックスが開き、JTAG ハードウェア協調シミュレーションを高速化するためにバースト データ転送を使用できます。
- Hardware Description 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 ビット ポートは Model Composer でベクターとして解釈されます。注記: このオプションをオンにして Generate code and Run behavioral simulation in Vivado を実行しようとすると、エラボレーション段階でエラーが発生することがあります。
- Target directory
- Model Composer のコンパイル結果を保存するディレクトリを指定します。Model Composer および FPGA インプリメンテーション ツールでは多数のファイルが生成されるので、個別のディレクトリ ( Simulink® モデル ファイルが含まれるディレクトリとは別のディレクトリ) を作成することをお勧めします。
- Synthesis strategy
- ドロップダウン リストの定義済みストラテジから合成ストラテジを選択します。
- Implementation strategy
- ドロップダウン リストの定義済みストラテジからインプリメンテーション ストラテジを選択します。
- Create interface document
-
オンにして [Generate] ボタンをクリックすると、Model Composer でネットリスト記述されるデザインを示す HTM ファイルが作成されます。このファイルは、ネットリスト フォルダーの documentation フォルダーに含まれます。
生成されたドキュメントへの設計者コメントの追加: 自動生成されたドキュメントにコメントを追加する場合は、次の手順に従います。
- 最上位の Simulink キャンバスをダブルクリックし、Designer
Comments: で始まるコメントを追加します。図 1. 設計者コメント
- System Generator トークンをダブルクリックし、Compilation タブの下部にある Create interface document をオンにして Generate をクリックします。
- ネットリスト作成が完了したら、netlist フォルダーにある documentation サブフォルダーに移動し、HTM ドキュメントをダブルクリックします。
ドキュメントに「Designer Comments」セクションが作成されており、入力したコメントが記載されています。
図 2. 「Designer Comments」セクション
- 最上位の Simulink キャンバスをダブルクリックし、Designer
Comments: で始まるコメントを追加します。
- Create testbench
- Model Composer で HDL テストベンチを作成するよう指定します。HDL シミュレータでテストベンチをシミュレーションし、コンパイルされたデザインのシミュレーション結果を Simulink シミュレーション結果と比較します。Model Composer では、デザインを Simulink でシミュレーションし、Gateway ブロックで検出される値を保存することにより、テスト ベクターを作成します。テストベンチの最上位 HDL ファイルの名前は <name>_testbench.vhd/.v (<name> はテストするデザイン部分から導出された名前) です。注記: ゲートウェイ (Gateway In または Gateway Out) が AXI4-Lite インターフェイスとして設定されているデザインに対しては、テストベンチの生成はサポートされません。
- Model Upgrade
- 最新ではないブロックを特定してアップグレードするのに役立つステータス レポートを生成します。
- Clocking タブ
-
Clocking タブには、次のパラメーターがあります。
- Enable multiple clocks
- 複数クロック デザインの最上位 System Generator トークンでオンにする必要があります。オンにすると、コード生成エンジンにより、さまざまなサブシステムのクロック情報がこれらのサブシステムに含まれる System Generator トークンから取得されます。オフの場合、デザインはシングル クロック デザインとして扱われ、すべてのクロック情報が最上位 System Generator トークンから継承されます。
- FPGA clock period(ns)
- システム クロックの周期を ns で指定します。値は整数である必要はありません。ここで指定した周期は、制約ファイルでグローバル PERIOD 制約として設定され、ザイリンクス インプリメンテーション ツールに渡されます。マルチサイクル パスは、この値の整数倍に制約されます。
- Clock pin location
- ハードウェア クロックのピン ロケーションを指定します。この情報は、制約ファイルを介してザイリンクス インプリメンテーション ツールに渡されます。Model Composer デザインを大型 HDL デザインに組み込む場合は、このオプションを指定しないでください。
- Provide clock enable clear pin
- Model Composer で最上位クロック ラッパーに
ce_clr
ポートが含められるよう指定します。ce_clr 信号は、クロック イネーブル生成ロジックをリセットするために使用されます。クロック イネーブル生成ロジックをリセットする機能により、デザインでデータパス サンプリングの開始の指定を動的に制御できます。 - Simulink system period (sec)
- Simulink システム周期を秒で指定します。Simulink システム周期は、モデルに含まれるサンプル周期の最大公約数です。これらのサンプル周期は、ブロックのダイアログ ボックスで明示的に設定、Simulink 伝搬ルールに基づいて自動設定、またはこのオプションを使用してブロックのハードウェア オーバーサンプリング レートにより暗示的に設定します。このオプションを使用する場合、暗示されるサンプル時間は、Simulink のブロックで計測されるシミュレーション サンプル時間より高速になります。ハードウェアでは、オーバーサンプリング レートが 1 より大きいブロックは、その入力をデータよりも高速に処理します。たとえば、オーバーサンプリング レートが 8 の配列型乗算器ブロックでは、(Simulink) サンプル周期は Simulink の乗算器ブロックの実際のサンプル時間の 8 分の 1 になります。このパラメーターは、マスター ブロックでのみ変更できます。
- Perform analysis
- コンパイル時に解析 (タイミングまたはリソース) を Model Composer デザインで実行するかどうかを指定します。None を選択すると、タイミング解析またはリソース解析は実行されません。Post Synthesis を選択すると、デザインが Vivado® ツールセットで合成された後に解析が実行されます。Post Implementation を選択すると、デザインが Vivado ツールセットでインプリメントされた後に解析が実行されます。
- Analyzer type
- 2 つの選択肢 (Timing および Resource) があります。生成が完了すると、[Timing Analyzer] ウィンドウまたは [Resource Analyzer] ウィンドウが開きます。
- Launch analyzer
- Analyzer type での選択に基づいて、[Timing Analyzer] ウィンドウまたは [Resource Analyzer] ウィンドウを開きます。Simulink モデルで解析を既に実行していて、Simulink モデルを前回の実行から変更していない場合にのみ、この操作が可能です。
- General タブ
-
General タブには、次のパラメーターがあります。
- Block icon display
- コンパイルが完了した後でモデルの各ブロック アイコンに表示されるようにする情報のタイプを指定します。次に、さまざまな表示オプションについて説明します。
- Default
- モデルの各ブロックにデフォルト ブロック アイコン情報が表示されます。ブロックのデフォルト アイコンは、xbsIndex ライブラリからのものです。図 3. デフォルト ブロック アイコン
- Normalized Sample Periods
- 各ブロックにすべての入力および出力ポートに対する正規化サンプル周期が表示されます。たとえば、Simulink システム周期が 4 に設定されており、ブロック ポートに伝搬されるサンプル周期が 4 の場合、このブロック ポートに表示される正規化周期は 1 になります。ブロック ポートに伝搬されるサンプル周期が 8 の場合、表示される正規化周期は 2 になります。値が大きいほどレートは低速になります。図 4. 正規化サンプル周期アイコン
- Sample frequencies (MHz)
- 各ブロックのサンプリング周波数を表示します。
- Pipeline stages
- 各ブロックの入力ポートからのレイテンシ情報を表示します。特定の上位ブロック (FFT、RS エンコーダー/デコーダー、Viterbi デコーダーなど) では、表示されるパイプライン段が正しくないことがあります。このような場合は、表示されるパイプライン情報を使用して、ブロックに入力から出力への組み合わせパスがあるかどうかを判断できます。たとえば、下の図の Up Sample ブロックには、入力から出力ポートへの組み合わせパスがあります。図 5. 周波数の例
- HDL port names
- モデルの各ブロックに各ポートの HDL ポート名が表示されます。
- Input data types
- モデルの各ブロックに各入力ポートのデータ型が表示されます。
- Output data types
- モデルの各ブロックに各出力ポートのデータ型が表示されます。
- Remote IP cache
-
Model Composer コンパイルの一部として Vivado 合成が実行されるたびに、デザインで IP キャッシュにアクセスします。コンパイルで合成用に IP インスタンスが生成され、Vivado 合成ツールで合成出力ファイルが生成されたときに、キャッシュ エリアにエントリが作成されます。IP を新しくカスタマイズしたときにまったく同じプロパティを使用すると、IP インスタンスを再合成する代わりに、キャッシュ内の合成出力ファイルがデザインの出力ディレクトリにコピーされます。ディスク キャッシュにアクセスすることで、デザイン プロセスの繰り返し実行にかかる時間が短縮されます。
IP キャッシュについては、HDL ライブラリで説明されています。
- Clear cache
- リモート IP キャッシュをクリアします。デザインで多くの IP モジュールが使用されている場合は特に、IP キャッシュのサイズが大きくなる可能性があるため、キャッシュをクリアすることでディスク スペースを節約できます。