Main Content

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

SystemVerilog DPIコンポーネントを生成する

手順 1.ターゲットを選択

  1. モデルを開き、Apps タブで HDL Verifier をクリックします。次に、[HDL Verifier] タブで [C Code Settings] をクリックします。Configuration Parameters ダイアログが Code Generation ペインに開きます。

  2. System target fileTarget Selection の下で、Browse をクリックします。リストからsystemverilog_dpi_grt.tlcを選択します。

    • あるいは、Embedded Coder® ライセンスをお持ちの場合は、ターゲット systemverilog_dpi_ert.tlc を選択できます。このターゲットを使用すると、[モデル構成パラメーター] ダイアログ ボックスの Code Generation ペインで追加のコード生成オプションにアクセスできます。

      クロスプラットフォーム コンポーネントを生成する場合は、System target file パラメータに systemverilog_dpi_ert.tlc を選択する必要があります。

手順 2.ツールチェーンを選択

引き続き Code Generation ペインで、Toolchain を選択します。ホスト マシンと同じオペレーティング システム用の共有ライブラリを生成するには、インストールされているコンパイラのリストからコンパイラを選択するか、Automatically locate an installed toolchain を選択します。HDL シミュレータに含まれているコンパイラを使用する場合、または別のオペレーティング システム用のコンポーネントを生成する場合、または共有ライブラリではなく HDL シミュレータ プロジェクトを生成する場合は、HDL シミュレータとターゲット オペレーティング システムを選択します。

オプションで追加のコンパイル フラグを追加できます。Build Configuration の下で、Specify を選択します。現在のフラグを表示するには、Show Settings をクリックします。

手順 3.テストポイントアクセスを有効にする(オプション)

モデル内の内部信号をテスト ポイントとして指定し、生成された DPI コンポーネントでそれらにアクセスする場合は、この手順を完了します。

  1. 左側のペインで、Code Generation > Interface を選択します。

  2. Generate C API for セクションで、signals チェック ボックスが選択されていることを確認します。

  3. Code Generation > SystemVerilog DPIを選択します。

  4. Generate access function to test point の場合は、One function per Test Point または One function for all Test Points を選択します。

SystemVerilog DPI コンポーネント テスト ポイント アクセスを参照してください。

手順 4.SystemVerilog生成オプションの設定

  1. 左側のペインで、Code GenerationSystemVerilog DPI を選択します。

  2. Report run-time error を選択して、Simulink® から HDL シミュレーションにランタイム エラーをエクスポートします。すべての Simulink ブロックが実行時エラー チェックを提供するわけではありません。Simulink モデルに Assertion ブロックを追加することで、実行時チェックを追加できます。

  3. テストベンチを生成するには、Generate test bench を選択します。テストベンチは、生成された C コンポーネントを Simulink サブシステムのデータ ベクトルと比較します。

  4. SystemVerilog Ports セクションで、次のパラメータを設定します。

    • SystemVerilog データ型を選択します。(オプション)

    • ConnectionPort list または Interface に設定します。

    • Composite data typeStructure に設定します。このオプションは、非仮想バスまたは複雑なデータ型に対して SystemVerilog struct データ型を作成します。または、Flattened を選択してフラット化されたポートを作成します。

    • Simulink ベクトルまたは配列から複数の SystemVerilog スカラー ポートを作成するには、Scalarize matrix and vector ports を選択します。インターフェイス上の配列を保持するには、このオプションをオフにします。

    • デザインが連続的で登録されている場合は、Component template typeSequential に設定します。モデルが純粋に組み合わせモデル(クロック遅延なし)の場合は、Component template typeCombinational に設定します。

    ヒント

    コード生成に HDL Coder™ を使用する場合は、次のオプションを選択して、生成されたインターフェイスを一致させます。

    • Ports data typeLogic Vector に設定します。

    • Composite data typeFlattened に設定します。

    • Scalarize matrix and vector portsを選択します。

  5. これらの設定を受け入れ、[構成パラメータ] ダイアログ ボックスを閉じるには、[OK] をクリックします。

手順 5.SystemVerilog DPIコンポーネントを生成する

  1. モデル内で、コンポーネントを生成するサブシステムを含むブロックを右クリックします。CodeC/C++ CodeBuild this Subsystemを選択します。

  2. ダイアログボックスでBuildをクリックします。

    SystemVerilog コンポーネントは subsystem_build/subsystem_dpi.sv として生成されます。ここで、subsystem は DPI コンポーネントを生成したサブシステムの名前です。このビルドにより、コンポーネントのすべての関数宣言が含まれる subsystem_build/subsystem_dpi_pkg.sv という名前のパッケージ ファイルも生成されます。

ホスト マシン用にコンポーネントをビルドした場合は、そのコンポーネントを使用できるようになります。ビルドされたコンポーネントを同じオペレーティング システムを搭載した別のマシンにコピーするには、次のファイルをコピーします。

  • 共有ライブラリ、subsystem.so、または subsystem_win64.dll

  • 生成された SystemVerilog ラッパー、subsystem_dpi.sv

  • 生成された SystemVerilog パッケージ ファイル、subsystem_dpi_pkg.sv

  • 生成されたテストベンチフォルダ、dpi_tb (オプション)

コンポーネントを別のオペレーティング システムを搭載した別のマシンに移植するには、クロスプラットフォームDPIコンポーネントを生成する の手順に従ってください。

関連するトピック