Main Content

HDL ワークフロー アドバイザーのワークフロー

HDL ワークフロー アドバイザーは、アルゴリズムの HDL 互換性の確認、HDL コードの生成、コードの検証、およびターゲット プラットフォームへのコードの展開を行うさまざまなワークフローを提供します。

MATLAB® アルゴリズムまたは Simulink® モデルに対してワークフロー アドバイザーを実行できます。ターゲット ハードウェアのプラットフォームにコードを展開する前に、合成ツールをインストールして、関数 hdlsetuptoolpath を使用してその合成ツールにパスを指定します。ツールの設定を参照してください。

HDL ワークフロー アドバイザーは Simulink Online™ では使用できません。

MATLAB での HDL ワークフロー アドバイザーの設定

ターゲット ワークフローを指定する前に、MATLAB からワークフロー アドバイザーを実行するときに、設計ファイルとテスト ベンチのファイルを指定し、入力の型を定義して、固定小数点の変換を実行します。

コード生成のターゲット ワークフローを指定するには、次を実行します。

  1. MATLAB ツールストリップで、[アプリ] タブから HDL Coder アプリを選択します。

  2. MATLAB 設計ファイルとテスト ベンチ ファイルを選択して [ワークフロー アドバイザー] ボタンをクリックします。

  3. [HDL ワークフロー アドバイザー] で、[コード生成ワークフロー] として [MATLAB から HDL] または [MATLAB から SystemC] を選択します。

  4. [コード生成ターゲットを選択] タスクで、コード生成の [ワークフロー] を選択します。

メモ

コード生成ワークフローの選択後の手順は、ターゲット ワークフローによって変わります。

Simulink での HDL ワークフロー アドバイザーの設定

Simulink モデルからワークフロー アドバイザーを実行する場合は、ターゲット ワークフローに関係なく、HDL コード生成のためのモデルを準備する手順を実行してからコードを生成します。

ワークフローを実行する Simulink モデルを開きます。

  1. Simulink ツールストリップで、[アプリ] タブから HDL Coder アプリを選択します。

  2. [HDL コード] タブで、[ワークフロー アドバイザー] ボタンをクリックします。

  3. HDL ワークフロー アドバイザーの [ターゲット デバイスおよび合成ツールを設定] タスクで、[ターゲット ワークフロー] を選択します。

ワークフロー アドバイザーの手順は、[ターゲット ワークフロー][ターゲット プラットフォーム]、および [合成ツール] によって変わります。

汎用 ASIC/FPGA

Simulink モデルまたは MATLAB アルゴリズムから HDL コードを生成し、HDL コードを検証して、コードを汎用 ASIC または FPGA デバイスに展開します。汎用 ASIC/FPGA ハードウェアにリストされている合成ツールに属するデバイス ファミリから選択できます。

このワークフローを使用することで、以下を実行できます。

  • 固定小数点 MATLAB アルゴリズムまたは HDL 互換の Simulink モデルの HDL コードを生成します。

  • HDL テスト ベンチとコシミュレーション テスト ベンチ (HDL Verifier™ が必要) およびコードとテスト ベンチをビルドして実行するスクリプトを生成します。Simulink HDL ワークフロー アドバイザー (HDL Verifier が必要) の実行時に、SystemVerilog DPI テスト ベンチとコード カバレッジを生成することもできます。

  • FPGA 合成およびタイミングの解析を実行し、サードパーティ製の合成ツールとの統合により汎用 FPGA プラットフォームでプロトタイプを迅速に作成します。

  • クリティカル パスの情報と合成中に取得したその他の情報を使用して、モデルのバック アノテーションを行い、設計を面積と速度について最適化します。

    メモ

    [合成ツール] として [Intel Quartus Pro] または [Microsemi Libero SoC] を選択した場合、[合成結果をもつモデルに注釈を付ける] タスクは実行できません。クリティカル パスを確認するには、合成のワークフローを実行し、その後タイミング レポートを開きます。

詳細については、以下を参照してください。

IP コアの生成

Simulink モデルまたは MATLAB アルゴリズムから RTL コードとカスタム HDL IP コアを生成します。ワークフローを実行する前に、設計をソフトウェアで実行するコンポーネントとハードウェアで実行するコンポーネントに分割します。SoC プラットフォーム向けのハードウェア ソフトウェア協調設計ワークフローを参照してください。

IP コアは、IP コア定義ファイル、アルゴリズムについて生成された HDL コード、レジスタ アドレス マップがある C ヘッダー ファイル、および IP コア レポートで構成される、共有可能で再利用可能な HDL コンポーネントです。次の項目を参照してください。

IP コアの生成のハードウェアにリストされている合成ツールの 1 つから選択できます。

このワークフローを使用して、次を行えます。

  • ボードに依存しない、汎用 Xilinx® または Intel® HDL IP コアを生成します。

  • Xilinx Vivado® IP インテグレーターまたは Intel Qsys を含むスタンドアロン FPGA ボードまたは SoC プラットフォームをターゲットにするために、IP コアをリファレンス設計に統合します。

  • 組み込みの ARM プロセッサを使用するか、MATLAB から HDL Verifier AXI Manager を使用して、生成された HDL IP コアと通信します。Set Up AXI Manager (HDL Verifier)を参照してください。

default system reference design などの HDL Coder™ が提供するリファレンス設計または作成したリファレンス設計に HDL IP コアを統合できます。詳細については、以下を参照してください。

Simulink Real-Time FPGA I/O

Simulink モデルから HDL コードを生成し、そのコードを Speedgoat® FPGA I/O モジュールに展開します。このワークフローには Xilinx Vivado が必要で、Simulink Real-Time FPGA I/O: Speedgoat ターゲット コンピューターで説明するとおり、IP Core Generation ワークフロー インフラストラクチャを使用します。

[Simulink Real-Time FPGA I/O] ワークフローを実行するには、Speedgoat I/O Blockset および Speedgoat HDL Coder Integration Package をインストールします。統合パッケージをインストールした後、[ターゲット プラットフォーム] を選択し、その後ワークフローを実行して以下を実行します。

  • 再利用可能で共有可能な IP コアを生成します。

  • IP コアを Speedgoat リファレンス設計に統合します。

  • FPGA ビットストリームを生成して、ビットストリームをターゲット ハードウェアにダウンロードします。

  • Simulink Real-Time™ モデルを生成します。このモデルは、FPGA のプログラミングを行い、リアルタイム実行中にボードと通信を行うブロックを含むインターフェイス サブシステム モデルです。

詳細については、Speedgoat Simulink プログラム可能 I/O モジュール向けの IP コアの生成ワークフローを参照してください。

FPGA インザループ

ターゲット FPGA で Simulink モデルまたは MATLAB アルゴリズムをテストします。このワークフローには HDL Verifier が必要です。FPGA インザループ ハードウェアにリストされている合成ツールの 1 つから選択できます。

このワークフローを使用して、次を行えます。

  • FPGA Board Manager から [FIL Enabled] であるボードを選択するか、独自のカスタム ボードを検証用に作成します。FPGA Board Customization (HDL Verifier)を参照してください。

  • 固定小数点 MATLAB アルゴリズムまたは HDL 互換の Simulink モデルの HDL コードを生成します。

  • FPGA 実装を実行し、FIL シミュレーションのためにイーサネット、JTAG、または PCI Express を使用してターゲット FPGA ボードに接続します。

詳細については、以下を参照してください。

参考

|

関連するトピック