Main Content

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

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

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

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

コンポーネントの生成

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

コンポーネントとオプションのテストベンチを生成するには、手順 3 以降から SystemVerilog DPIコンポーネントを生成する に従ってください。

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

コンポーネントを生成した後、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 サブシステムの名前です。

制限

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

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

参考

(MATLAB Coder)

関連するトピック