このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
SystemVerilog DPIコンポーネントを生成する
手順 1.ターゲットを選択
モデルを開き、Apps タブで HDL Verifier をクリックします。次に、[HDL Verifier] タブで [C Code Settings] をクリックします。Configuration Parameters ダイアログが Code Generation ペインに開きます。
System target file の Target 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 コンポーネントでそれらにアクセスする場合は、この手順を完了します。
左側のペインで、Code Generation > Interface を選択します。
Generate C API for セクションで、signals チェック ボックスが選択されていることを確認します。

Code Generation > SystemVerilog DPIを選択します。
Generate access function to test point の場合は、
One function per Test PointまたはOne function for all Test Pointsを選択します。
SystemVerilog DPI コンポーネント テスト ポイント アクセスを参照してください。
手順 4.SystemVerilog生成オプションの設定
左側のペインで、Code Generation 、 SystemVerilog DPI を選択します。
Report run-time error を選択して、Simulink® から HDL シミュレーションにランタイム エラーをエクスポートします。すべての Simulink ブロックが実行時エラー チェックを提供するわけではありません。Simulink モデルに Assertion ブロックを追加することで、実行時チェックを追加できます。
テストベンチを生成するには、Generate test bench を選択します。テストベンチは、生成された C コンポーネントを Simulink サブシステムのデータ ベクトルと比較します。
SystemVerilog Ports セクションで、次のパラメータを設定します。
SystemVerilog データ型を選択します。(オプション)
Connection を
Port listまたはInterfaceに設定します。Composite data type を
Structureに設定します。このオプションは、非仮想バスまたは複雑なデータ型に対して SystemVerilogstructデータ型を作成します。または、Flattenedを選択してフラット化されたポートを作成します。Simulink ベクトルまたは配列から複数の SystemVerilog スカラー ポートを作成するには、Scalarize matrix and vector ports を選択します。インターフェイス上の配列を保持するには、このオプションをオフにします。
デザインが連続的で登録されている場合は、Component template type を
Sequentialに設定します。モデルが純粋に組み合わせモデル(クロック遅延なし)の場合は、Component template type をCombinationalに設定します。
ヒント
コード生成に HDL Coder™ を使用する場合は、次のオプションを選択して、生成されたインターフェイスを一致させます。
Ports data type を
Logic Vectorに設定します。Composite data type を
Flattenedに設定します。Scalarize matrix and vector portsを選択します。

これらの設定を受け入れ、[構成パラメータ] ダイアログ ボックスを閉じるには、[OK] をクリックします。
手順 5.SystemVerilog DPIコンポーネントを生成する
モデル内で、コンポーネントを生成するサブシステムを含むブロックを右クリックします。Code 、 C/C++ Code 、 Build this Subsystemを選択します。
ダイアログボックスでBuildをクリックします。
SystemVerilog コンポーネントは
として生成されます。ここで、subsystem_build/subsystem_dpi.svsubsystemは DPI コンポーネントを生成したサブシステムの名前です。このビルドにより、コンポーネントのすべての関数宣言が含まれるという名前のパッケージ ファイルも生成されます。subsystem_build/subsystem_dpi_pkg.sv
ホスト マシン用にコンポーネントをビルドした場合は、そのコンポーネントを使用できるようになります。ビルドされたコンポーネントを同じオペレーティング システムを搭載した別のマシンにコピーするには、次のファイルをコピーします。
共有ライブラリ、
subsystem.so、またはsubsystem_win64.dll生成された SystemVerilog ラッパー、
subsystem_dpi.sv生成された SystemVerilog パッケージ ファイル、
subsystem_dpi_pkg.sv生成されたテストベンチフォルダ、
dpi_tb(オプション)
コンポーネントを別のオペレーティング システムを搭載した別のマシンに移植するには、クロスプラットフォームDPIコンポーネントを生成する の手順に従ってください。