このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
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ブロックが実行時エラー チェックを提供するわけではありません。AssertionブロックをSimulinkモデルに追加することで、実行時チェックを追加できます。
Generate test benchを選択してテストベンチを生成します。テストベンチは、生成された C コンポーネントをSimulinkサブシステムからのデータ ベクトルと照合してチェックします。
SystemVerilog Portsセクションで、次のパラメーターを設定します。
SystemVerilog データ型を選択します。 (オプション)
Connection を
Port list
またはInterface
に設定します。Composite data type を
Structure
に設定します。このオプションは、非バーチャル バスまたは複雑なデータ型に対して SystemVerilogstruct
データ型を作成します。あるいは、Flattened
を選択してフラット化されたポートを作成します。Scalarize matrix and vector portsを選択して、 Simulinkベクトルまたは配列から複数の SystemVerilog スカラー ポートを作成します。インターフェイス上で配列を保持するには、このオプションをオフにします。
デザインがシーケンシャルで登録されている場合は、 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 コンポーネントの生成の手順に従ってください。