Main Content

SoC プラットフォーム向けのハードウェア ソフトウェア協調設計ワークフロー

HDL Coder™ のハードウェア ソフトウェア協調設計ワークフローは、MATLAB® と Simulink® の設計を Zynq®-7000 プラットフォームや Intel® SoC プラットフォームに展開するプロセスを自動化するのに便利です。次のワークフローを繰り返すことにより、設計を分割して展開する最もよい方法を調べることができます。

  1. MATLAB および Simulink のアルゴリズムとシステム設計: 最初に、MATLAB または Simulink で設計を実装します。設計の動作が要件を満たしたら、設計の分割方法を決定します。つまり、ハードウェアで実行する部分と、組み込みソフトウェアで実行する部分を決めます。

    ハードウェアで実行する部分の設計では、MATLAB 構文、あるいは HDL コード生成用にサポートされて構成されている Simulink ブロックを使用しなければなりません。次の項目を参照してください。

  2. HDL IP コアの生成: ハードウェアで実行する設計の部分を Atomic Subsystem ブロックまたは MATLAB 関数に格納し、HDL ワークフロー アドバイザーで HDL IP コアを定義して生成します。

    次の図は、ハードウェア部分 (オレンジ) とソフトウェア部分 (青) に分割した設計を示します。HDL IP コアの生成では、モデルのハードウェア部分から IP コアが作成されます。IP コアには、AXI4 にアクセス可能なレジスタ、AXI4 または AXI4-Lite インターフェイス、AXI4-Stream または AXI4-Stream Video インターフェイス、AXI4 Master インターフェイス、外部端子など、ハードウェア インターフェイスのコンポーネントが含まれます。

  3. 組み込みシステム ツールの統合: HDL ワークフロー アドバイザーの IP コアの生成ワークフローの一環として、生成した IP コアを "リファレンス設計" に挿入し、SoC ハードウェアの FPGA ビットストリームを生成します。

    "リファレンス設計" とは、事前定義された組み込みシステム統合プロジェクトのことです。リファレンス設計には、カスタム IP コアと独自に生成する組み込みソフトウェアを除く、Intel または Xilinx® ソフトウェアで設計を SoC プラットフォームに展開するために必要なすべての要素が含まれます。

    次の図は、リファレンス設計 (緑) と生成された IP コア (オレンジ) の関係を示しています。

  4. "SW インターフェイス生成" (Simulink ライセンスと Embedded Coder® ライセンスが必要): HDL ワークフロー アドバイザーでは、IP コアを生成してリファレンス設計に挿入した後に、オプションでソフトウェア インターフェイス モデル、ホスト インターフェイス モデル、およびホスト インターフェイス スクリプトを生成できます。このソフトウェア インターフェイス モデルは、元のモデルのハードウェア部分を AXI ドライバー ブロックに置き換えたものです。ホスト インターフェイス モデルでは、AXI Manager Write ブロックおよび AXI Manager Read ブロックを使用して、ターゲット ハードウェアのメモリマップ位置に対する JTAG またはイーサネット ケーブルを介した書き込みと読み取りが可能です。ホスト インターフェイス スクリプトは、リファレンス設計とターゲット プラットフォーム インターフェイス テーブルの設定に基づいて生成される MATLAB ファイルです。これには、ターゲット ハードウェアに接続するためのコマンドと、AXI ドライバー ブロックまたは AXI Manager を使用して生成された IP コアの読み取りと書き込みを可能にするコマンドが含まれます。

    Embedded Coder ライセンスを保有している場合は、ソフトウェア インターフェイス モデルとホスト インターフェイス スクリプトを自動的に生成し、そのモデルから組み込みコードを生成して、実行可能ファイルをビルドして ARM® プロセッサの Linux® カーネルで実行できます。生成される組み込みソフトウェアには、AXI ドライバー ブロックから生成される、HDL IP コアを制御する AXI ドライバー コードが含まれています。

    Embedded Coder ライセンスと Simulink ライセンスのいずれも保有していない場合は、組み込みソフトウェアを作成し、ARM プロセッサ用に手動でビルドすることができます。FPGA I/O ホスト インターフェイス スクリプトの生成と管理を参照してください。

    次の図は、元のモデルとソフトウェア インターフェイス モデルの違いを示しています。

  5. "SoC プラットフォームと "エクスターナル モードの PIL": HDL ワークフロー アドバイザーを使用して、SoC プラットフォームの FPGA ビットストリームをプログラムします。その後、ソフトウェア インターフェイス モデルをエクスターナル モードまたはプロセッサインザループ (PIL) モードで実行し、展開された設計をテストできます。

    展開された設計が設計要件を満たさない場合、モデルを変更するか、ハードウェアとソフトウェア間の分割を変更してワークフローを繰り返すことができます。

参考

関連するトピック