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

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

Document ID
UG1393
Release Date
2021-03-22
Version
2020.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 スクリプトの生成時に、追加でコンフィギュレーション オプションをインプリメントする必要があります。各シミュレータの要件については、次に説明します。

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.2/bin/
prop=project.__CURRENT__.compxlib.questa_compiled_library_dir=<install_dir>/clibs/questa/2020.2/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 Questa Simulator
[advanced]
param=hw_emu.simulator=XCELIUM
[vivado]
prop=project.__CURRENT__.compxlib.xcelium_compiled_library_dir=/proj/xbuilds/2020.2_daily_latest/clibs/xcelium/20.03.005/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 Questa Simulator
[advanced]
param=hw_emu.simulator=VCS
[vivado]
prop=project.__CURRENT__.simulator.vcs_install_dir=/tools/gensys/vcs/Q-2020.03/bin/
prop=project.__CURRENT__.compxlib.vcs_compiled_library_dir=/proj/xbuilds/2020.2_daily_latest/clibs/vcs/Q-2020.03/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 コマンドに -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> モジュールではなく、このモジュールをテストベンチにインスタンシエートする必要があります。