ボードに依存しない HDL IP コアの Simulink モデルからの生成
HDL ワークフロー アドバイザーを開いて Simulink® モデルの IP Core Generation ワークフローを実行する際、汎用の Xilinx® プラットフォーム、汎用の Intel® プラットフォーム、汎用の Microchip プラットフォームなどの汎用プラットフォームを指定できます。この場合、任意のターゲット プラットフォームに統合可能な汎用の IP コアがワークフローで生成されます。IP コアの統合には、hdlcoder.ReferenceDesign クラスを使用して、ターゲット ボード向けのカスタム リファレンス設計を定義し登録します。詳細については、以下を参照してください。
ボードに依存しない IP コアの生成
Intel Qsys、Xilinx EDK、Xilinx IP Integrator などの組み込みシステムの統合環境で使用する目的で、ボードに依存しないカスタム IP コアを生成するには、次の手順に従います。
Simulink モデルの DUT を選択して、HDL ワークフロー アドバイザーを開きます。たとえば、モデル
hdlcoder_led_blinkingを開きます。open_system('hdlcoder_led_blinking')
関数
hdlsetuptoolpathを使用して、インストールされたターゲット デバイス向けの合成ツールへのパスを設定します。たとえば、Xilinx Vivado® が合成ツールである場合は、次のコマンドを使用します。hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPath',... 'C:\Xilinx\Vivado\2024.1\bin\vivado.bat');
合成ツールの最新のサポートされているバージョンについてはHDL の言語サポートおよびサポートされるサードパーティ製ツールとハードウェアを参照してください。
DUT サブシステムの HDL ワークフロー アドバイザーを開きます。LED 点滅モデルの場合、
led_counterサブシステムが DUT です。[ターゲットを設定]、[ターゲット デバイスおよび合成ツールを設定] タスクで、次を行います。[ターゲット ワークフロー] には
[IP Core Generation]を選択します。[ターゲット プラットフォーム] には、合成ツールとターゲットとするデバイスによって、
[Generic Altera Platform]または[Generic Xilinx Platform]を選択します。[このタスクを実行] をクリックします。
[ターゲットを設定]、[ターゲット インターフェイスを設定] タスクで、端子ごとに [ターゲット プラットフォーム インターフェイス] を選択してから、[適用] をクリックします。各 DUT 端子を以下のインターフェイスの 1 つにマッピングできます。
[AXI4-Lite]、[AXI4]、[AXI4-Stream]、[AXI4-Stream Video]、[External Port]、または[FPGA Data Capture]。これらのインターフェイスの詳細については、ターゲット プラットフォーム インターフェイスを参照してください。複数のターゲット プラットフォーム インターフェイスに端子をマップすることもできます。詳細については、複数の AXI4-Stream および AXI4 Master インターフェイスを使用した HDL IP コアの生成を参照してください。
DUT 端子をレジスタ インターフェイスにマッピングしない場合は、
External Portインターフェイスにマッピングできます。
[コード生成オプションを設定] タスクを展開します。[最適化オプションを設定] タスクを右クリックし、[選択したタスクまで実行] を選択します。
[HDL コード生成] 、 [RTL コードと IP コアの生成] タスクで、以下を指定できます。
DUT IP コアを複数の AXI Master インターフェイスに接続するかどうか。既定では、[AXI4 下位 ID の幅] の値は
12であり、これにより HDL IP コアを 1 つの AXI Master インターフェイスに接続できます。DUT IP コアを複数の AXI Master インターフェイスに接続するために、[AXI4 下位 ID の幅] を増やすことができます。このタスクを実行すると、この設定は HDL ブロック プロパティ [AXI4SubordinateIDWidth] として DUT に保存されます。詳細については、DUT AXI4 スレーブ インターフェイスにアクセスするためのリファレンス設計での複数の AXI Master インターフェイスの定義を参照してください。
既定のレジスタ インターフェイスを生成するかどうか。既定では HDL Coder™ は、クロック、リセット、ready、タイムスタンプなどの信号についてレジスタ インターフェイスを生成します。レジスタ インターフェイスを生成しない場合は、[既定のレジスタ インターフェイスの生成] チェック ボックスをオフにします。
メモ
いずれかの DUT 端子を [ターゲット インターフェイスを設定] タスクで AXI4 レジスタ インターフェイスにマッピングした場合は、[既定のレジスタ インターフェイスの生成] チェック ボックスがオフかどうかにかかわらず、コード ジェネレーターは端子を AXI4 レジスタ インターフェイスにマッピングします。
[このタスクを実行] をクリックします。チェック ボックスをオフにしてタスクを実行すると、コード ジェネレーターはこの設定を DUT サブシステムに HDL ブロック プロパティ [GenerateDefaultRegisterInterface] として保存します。
タスクの実行後、HDL Coder は [IP コア フォルダー] フィールドに表示されている出力フォルダーに、HTML ドキュメンテーションを含む IP コア ファイルを生成します。IP コア レポートを表示するには、メッセージ ウィンドウにあるリンクをクリックします。
ツールに依存しない IP コアの生成
[Generic Platform] を使用すると、サードパーティ製の合成ツールを設定せずに IP コアと RTL コードを生成できます。[Generic Platform] を使用して IP コアを生成するには、次の手順に従います。
手順 [1.1. ターゲット デバイスおよび合成ツールを設定] で、[ターゲット ワークフロー] を
[IP コアの生成]に設定します。さらに、[ターゲット プラットフォーム] を[Generic Platform]に設定します。このターゲット プラットフォームを設定する場合、合成ツールとターゲット デバイスの情報は必要ありません。手順 [1.2. ターゲット インターフェイスを設定] で、入力端子と出力端子の [ターゲット プラットフォーム インターフェイス] を設定します。端子のターゲット インターフェイスとして、
[AXI4]のほか、[外部端子]も選択できます。HDL ワークフロー アドバイザーの各タスクを手順 [3.1. HDL オプションの設定] まですべて実行します。
手順 [3.2. RTL コードと IP コアの生成] で、このタスクを実行してモデルの RTL コードと IP コアを生成します。生成されたコードはハードウェアで統合できます。
AXI4 または AXI4-Lite レジスタ インターフェイスをもたない IP コア
IP コアの生成ワークフローを実行する際、レジスタ インターフェイスをもたない HDL IP コアをリファレンス設計に生成することもできます。
このワークフローを実行するには、HDL ワークフロー アドバイザーを開き、Generic Xilinx Platform または Generic Altera Platform をターゲット プラットフォームとして指定し、DUT 端子を External Port のみ、または TLAST マッピングをもつ AXI4-Stream インターフェイスにマッピングします。さらに、HDL IP コアを生成する際、[RTL コードと IP コアの生成] タスクで [既定のレジスタ インターフェイスの生成] チェック ボックスをオフにし、[このタスクを実行] を選択します。
この機能は以下の場合に使用します。
レジスタ インターフェイスを使用した IP コアのパラメーター調整を行わない場合。
レジスタ インターフェイスをもたないカスタム リファレンス設計 (スタンドアロン FPGA ボードなど) を作成する場合。
また、こうした場合のレジスタ インターフェイスの生成を回避することにより、ハードウェア リソースの使用率と設計の複雑度が低減されます。
メモ
外部 IO インターフェイスおよび内部 IO インターフェイスが HDL IP コアをカスタム リファレンス設計の他の既存の IP に接続します。これらのインターフェイスを定義するには、hdlcoder.ReferenceDesign クラスの addInternalIOInterface メソッドおよび addExternalIOInterface メソッドを使用します。
HDL IP コアを統合するには、レジスタ インターフェイスをもたないカスタム リファレンス設計を作成できます。カスタム リファレンス設計では、外部 IO、内部 IO、TLAST マッピングをもつ AXI4-Stream インターフェイスのみを使用できます。以下の例を参照してください。
AXI4 レジスタ インターフェイスなどのレジスタ インターフェイスをもたない HDL IP コアを生成する際には、特定の制限事項が適用されます。レジスタ インターフェイスをもたない IP コアの制限を参照してください。
カスタム IP コアの生成の要件と制限
カスタム IP コアの生成の制限
DUT は Atomic システムでなければなりません。
同一の IP コアで AXI4 インターフェイスと AXI4-Lite インターフェイスの両方を使用することはできません。
DUT に Xilinx System Generator ブロック、Vitis® Model Composer ブロック、Intel DSP Builder Advanced ブロックを含めることはできません。
ターゲット言語が VHDL® で、合成ツールが Xilinx ISE または Intel Quartus® Prime の場合、DUT にモデル参照を含めることはできません。
レジスタ インターフェイスをもたない IP コアの制限
[プロセッサ/FPGA 同期] には
Free runningモードを使用しなければなりません。Coprocessing – blockingモードはサポートされていません。