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ブロックが実行時エラー チェックを提供するわけではありません。AssertionブロックをSimulinkモデルに追加することで、実行時チェックを追加できます。

  3. Generate test benchを選択してテストベンチを生成します。テストベンチは、生成された C コンポーネントをSimulinkサブシステムからのデータ ベクトルと照合してチェックします。

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

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

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

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

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

    • デザインがシーケンシャルで登録されている場合は、 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 コンポーネントの生成の手順に従ってください。

関連するトピック