Main Content

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

クロスプラットフォーム DPI コンポーネントの生成

DPI コンポーネント生成を使用して、 Simulink®サブシステムをデジタル プログラミング インターフェイス (DPI) を備えた C 言語コンポーネントにエクスポートし、 Verilog®または SystemVerilog シミュレーションで使用します。ModelSim®、 Xcelium™ (Linux®のみ)、 VCS® (Linuxのみ)、 Vivado®、または汎用 DLL を生成することもできます。

Windows® 64 ホスト マシンからコンポーネントを生成する場合、コンポーネント ライブラリを構築して、別のオペレーティング システム上でシミュレーションを実行することもできます。ターゲットとホストが同じでない場合は、共有ライブラリまたは HDL シミュレータ プロジェクトを手動で移植してビルドする必要があります。Linuxマシンで生成された DPI コンポーネントを他のオペレーティング システムに移植することはできません。

このワークフローには、 ASIC Testbench for HDL Verifierアドオンが必要です。

ターゲット ツールチェーンの選択

ターゲット マシンがホストと同じオペレーティング システムを使用している場合、インストールされているコンパイラを選択することも、ツールがコンパイラを自動的に検索するように要求もできます。シミュレーター プロジェクトを生成する場合、または他のコンパイラーがインストールされていない場合は、ホストと同じオペレーティング システムの HDL シミュレーターを選択します。ただし、ターゲット オペレーティング システムがホストと異なる場合は、ターゲット シミュレータとオペレーティング システムを選択する必要があります。

モデルを開き、 [Apps]タブでHDL Verifierをクリックします。左側のペインでDPI Component Generationを選択し、 HDL VerifierタブでC Code Settingsをクリックします。「Configuration Parameters」ダイアログが「Code Generation」ペインに開きます。次に、 Build processで、ターゲットToolchainを選択します。このオプションは、シミュレーションを実行するターゲット シミュレータとオペレーティング システムを指定します。サポートされている製品間ツールチェーンは次のとおりです。

  • Mentor Graphics ModelSim/QuestaSim (64-bit Windows) ( Windowsホストからのみ利用可能)

  • Mentor Graphics ModelSim/QuestaSim (32-bit Windows) ( Windowsホストからのみ利用可能)

  • Xilinx Vivado Simulator (64-bit Windows) ( Windowsホストからのみ利用可能)

  • Cadence Xcelium (64-bit Linux)

  • Mentor Graphics ModelSim/QuestaSim (64-bit Linux)

  • Synopsys VCS (64-bit Linux)

  • Xilinx Vivado Simulator (64-bit Linux)

別のオペレーティング システム用の共有ライブラリを構築するには、シミュレータ オプションの 1 つを選択する必要があります。その後、ターゲット マシン上にライブラリをビルドできます。

コンポーネントの生成

構成パラメーターのTarget Selectionで、 System target fileに対してBrowseをクリックします。リストからsystemverilog_dpi_ert.tlcを選択します。

コンポーネントとオプションのテストベンチを生成するには、 SystemVerilog DPI コンポーネントの生成のステップ 3 以降に従います。

転送用のパッケージ ファイル

コンポーネントを生成した後、ターゲット マシンにコピーする前に、 packNGo (MATLAB Coder)関数を使用して、生成されたファイルと必要な依存関係をパッケージ化します。

load('subsystem_build/buildInfo.mat')
packNGo(buildInfo, 'minimalHeaders', false)
ここで、 subsystem は、 DPI 生成に使用されるSimulinkサブシステムの名前です。結果は、 subsystem.zipという名前の zip ファイルになります。

ターゲットマシンにコピー

生成されたコンポーネントを別のオペレーティング システムで使用するには、生成されたパッケージ ファイルをターゲット マシンにコピーして解凍し、そこでライブラリをビルドする必要があります。

  1. 生成されたsubsystem .zipファイルをホスト マシンからターゲット マシンにコピーします。.zipファイルはモデルと同じフォルダーにあります。ModelSim .doファイル、またはXcelium、 VCS、またはVivado .shファイルは、.zipファイルに含まれています。

  2. ファイルを選択したフォルダーに解凍します。

ライブラリの構築

ホスト マシン上でコンポーネントを生成すると、そのオペレーティング システム用にライブラリが構築されます。コンポーネントを別のオペレーティング システムに移植するには、ターゲット マシン上でコンポーネントを手動でビルドする必要があります。シミュレーター プロジェクトまたは汎用共有ライブラリをビルドするには、表内でターゲット オペレーティング システムと HDL シミュレーターを見つけて、指示に従います。

ターゲットオペレーティングシステムHDL シミュレーター組み立て説明書
Windows 32 ModelSim
  • gcc_ver_mingw32ライブラリがModelSimインストール フォルダーにインストールされていることを確認します。このコンパイラは、 ModelSimをインストールすると使用できます。コンポーネントをビルドする前にコンパイラをインストールします。

  • ModelSim HDL シミュレーターを開始します。

  • コマンド ウィンドウで、生成されたファイルを解凍したフォルダーに移動します。

  • 次のコマンドを使用してプロジェクトをビルドします。

    do subsystem.do

    ここで、 subsystem は、 DPI 生成に使用されるSimulinkサブシステムの名前です。

LinuxModelSim
  • ModelSim HDL シミュレーターを開始します。

  • コマンド ウィンドウで、生成されたファイルを解凍したフォルダーに移動します。

  • 次のコマンドを使用してプロジェクトをビルドします。

    do subsystem.do

    ここで、 subsystem は、 DPI 生成に使用されるSimulinkサブシステムの名前です。

Xcelium
  • パスにXceliumを指定したターミナル シェルで、次のコマンドを使用してプロジェクトをビルドします。

    sh subsystem.sh

    ここで、 subsystem は、 DPI 生成に使用されるSimulinkサブシステムの名前です。

VCS
  • パスにVCSを指定したターミナル シェルで、シミュレータ環境パスを設定します。コマンドを実行するときは、独自のSynopsys® VCSインストール パスを使用してください。

    set VCS_HOME = C:/Synopsys/temp/vcs/S-2021.09-1
    ここで、 VCS_HOME は環境変数の名前です。

  • 次のコマンドを使用してプロジェクトをビルドします。

    sh subsystem.sh

    ここで、 subsystem は、 DPI 生成に使用されるSimulinkサブシステムの名前です。

Vivado
  • Vivado HDL シミュレーターを開始します。

  • コマンド ウィンドウで、生成されたファイルを解凍したフォルダーに移動します。

  • 次のコマンドを使用してプロジェクトをビルドします。

    sh subsystem.sh

    ここで、 subsystem は、 DPI 生成に使用されるSimulinkサブシステムの名前です。

制限

  • クロスプラットフォーム DPI 生成は、参照サブシステムに Test Assessment (Simulink Test)ブロックがある場合、モデル参照をサポートしません。

  • DPI コンポーネントの生成では、single シミュレーターのdoubleおよびVivado データ型はサポートされていません。

参考

(MATLAB Coder)

関連するトピック