シミュレータのサポート - 2021.2 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2022-03-29
Version
2021.2 Japanese

Vitis ツールは、Alveo データセンター アクセラレータ カードや Versal および Zynq UltraScale+ MPSoC エンベデッド プラットフォームを含むすべてのプラットフォームのデフォルト シミュレータとして Vivado ロジック シミュレータ (xsim) を使用します。ただし、xilinx_vck190_base のような Versal エンベデッド プラットフォーム (または類似のカスタム プラットフォーム) の場合は、Vitis ツールでハードウェア エミュレーション用のサードパーティー シミュレータ (Mentor Graphics 社の Questa Advanced Simulator、Xcelium、および VCS) の使用もサポートされます。サポートされるシミュレータのバージョンは、Vivado Design Suite でサポートされるバージョンと同じです。

ヒント: データセンター プラットフォームの場合、ハードウェア エミュレーションで Questa Advanced Simulator を使用した U250_XDMA プラットフォームがサポートされます。このサポートには、特に明記しない限り、ピア ツー ピア (P2P)、SlaveBridge、またはその他の機能は含まれません。

サードパーティー シミュレータをイネーブルするには、デバイス バイナリ (.xclbin) およびサポートされる Tcl スクリプトの生成時に、追加でコンフィギュレーション オプションをインプリメントする必要があります。各シミュレータの要件については、次に説明します。また、Vitis でこれらのシミュレータを使用する前に、サードパーティ シミュレータの Vivado 設定を実行する必要があります。具体的には、compile_sim_lib Tcl コマンドを使用してシミュレーション モデルをプリコンパイルする必要があります。サードパーティのシミュレータ設定の詳細は、 『Vivado Design Suite ユーザー ガイド: ロジック シミュレーション』 (UG900) を参照してください。

Questa
リンク中に使用する次の詳細パラメーターと Vivado プロパティをコンフィギュレーション ファイルに追加します。
## Final set of additional options required for running simulation using Questa Simulator
[advanced]
param=hw_emu.simulator=QUESTA
[vivado]
prop=project.__CURRENT__.simulator.questa_install_dir=/tools/gensys/questa/2020.4/bin/
prop=project.__CURRENT__.compxlib.questa_compiled_library_dir=<install_dir>/clibs/questa/2020.4/lin64/lib/
prop=fileset.sim_1.questa.compile.sccom.cores={4}
コンフィギュレーション ファイルを生成したら、次のように v++ コマンド ラインで使用できます。
v++ -link --config questa_sim.cfg
Xcelium
リンク中に使用する次の詳細パラメーターと Vivado プロパティをコンフィギュレーション ファイルに追加します。
## Final set of additional options required for running simulation using Xcelium Simulator
[advanced]
param=hw_emu.simulator=XCELIUM
[vivado]
prop=project.__CURRENT__.simulator.xcelium_install_dir=/tools/dist/xlm/20.09.006/tools.lnx86/xcelium/bin/
prop=project.__CURRENT__.compxlib.xcelium_compiled_library_dir=/clibs/xcelium/20.09.006/lin64/lib/ 
prop=fileset.sim_1.xcelium.elaborate.xmelab.more_options={-timescale 1ns/1ps} 
コンフィギュレーション ファイルを生成したら、次のように v++ コマンド ラインで使用できます。
v++ -link --config xcelium.cfg
VCS
リンク中に使用する次の詳細パラメーターと Vivado プロパティをコンフィギュレーション ファイルに追加します。
## Final set of additional options required for running simulation using VCS Simulator
[advanced]
param=hw_emu.simulator=VCS
[vivado]
prop=project.__CURRENT__.simulator.vcs_install_dir=/tools/gensys/vcs/R-2020.12/bin/
prop=project.__CURRENT__.compxlib.vcs_compiled_library_dir=/clibs/vcs/R-2020.12/lin64/lib/
prop=project.__CURRENT__.simulator.vcs_gcc_install_dir=/tools/installs/synopsys/vg_gnu/2019.06/amd64/gcc-6.2.0_64/bin
コンフィギュレーション ファイルを生成したら、次のように v++ コマンド ラインで使用できます。
v++ -link --config vcs_sim.cfg

launch_emulator.py コマンドに -user-pre-sim-script オプションおよび -user-post-sim-script オプションを使用すると、シミュレーションの開始前またはシミュレーションの完了後に実行する Tcl スクリプトを指定できます。たとえば、これらのスクリプトでは、$cwd コマンドを使用してシミュレータの実行ディレクトリを取得し、シミュレーションの前に必要なファイルをコピーしたり、シミュレーションの最後に生成された出力ファイルをコピーしたりできます。

ハードウェア エミュレーションをイネーブルにするには、Vivado Design Suite でシミュレーション用の環境を設定する必要があります。重要なのは、シミュレータで使用する RTL および SystemC モデルをプリコンパイルしておくことです。これには、Vivado ツールで compile_sim_lib コマンドを実行する必要があります。シミュレーション モデルのプリコンパイルの詳細は、 『Vivado Design Suite ユーザー ガイド: ロジック シミュレーション』 (UG900) を参照してください。

シミュレーション準備が整った Versal プラットフォームを作成すると、Vivado ツールでシミュレーション ラッパーが生成されます。このラッパーは、シミュレーション テストベンチにインスタンシエートする必要があります。そのため、デザイン モジュールの最上位が <top> である場合、Vivado ツールで launch_simulation を呼び出すと、<top>_sim_wrapper モジュールが生成され、xlnoc.bd も生成されます。これらのファイルはシミュレーション専用のソースとして生成され、Vivado ツールで launch_simulation が呼び出されるたびに上書きされます。プラットフォーム開発者は、独自の <top> モジュールではなく、このモジュールをテストベンチにインスタンシエートする必要があります。