説明
元の C/C++ ベースのテストベンチを使用して、合成済み RTL の合成後協調シミュレーションを実行します。
ヒント: テストベンチ用のファイルを指定するには、次のコマンドを実行します。
add_files -tb
シミュレーション結果は、-rtl オプションの設定によって、アクティブ ソリューションの sim/Verilog または sim/VHDL フォルダーに書き込まれます。
構文
cosim_design [OPTIONS]
オプション
-
-O - C/C++ テストベンチおよび RTL ラッパーの最適化コンパイルをイネーブルにします。これにより、コンパイル時間は増加しますが、ランタイム パフォーマンスは改善されます。
-
-argv <string> -
<string>はメイン C/C++ 関数に渡されます。ビヘイビアー テストベンチの引数リストを指定します。
-
-compiled_library_dir <string> - サードパーティ シミュレータを使用したシミュレーション中のコンパイル済みライブラリのディレクトリを指定します。
<string>は、コンパイル済みライブラリのディレクトリへのパスです。ライブラリは、 『Vivado Design Suite Tcl コマンド リファレンス ガイド』 (UG835) で説明されるように、compile_simlibコマンドを使用して事前にコンパイルしておく必要があります。 -
-coverage - VCS シミュレータを使用したシミュレーションでの範囲を指定します。
-
-disable_binary_tv - 圧縮されたバイナリ形式ではなく、テキスト形式のテスト ベクター ファイルを使用します。
-
-disable_deadlock_detection - 協調シミュレーションのデッドロック検出機能をディスエーブルにします。
-
-disable_dependency_check - 協調シミュレーションを実行する際に、依存性チェックをディスエーブルにします。
-
-enable_changing_stable_inputs - このオプションが設定されると、協調シミュレーション テストベンチは、協調シミュレーションにおける最上位関数の呼び出し間で、最上位デザイン
ap_ctrl_noneの安定入力を変更できます。デザインがアイドル状態ではないときに安定入力を変更すると、協調シミュレーション エラーが発生することがあるため、このオプションは、テストベンチがこのような変更を許容できる場合にのみ使用する必要があります。 -
-enable_dataflow_profiling - このオプションは、協調シミュレーション中にチャネル サイズをトラックするデータフロー チャネル プロファイリングをオンにします。
-
-enable_fifo_sizing - 協調シミュレーション中にデータフロー プロファイリング用の自動 FIFO チャネル サイズ調整をオンにします。
-
-enable_tasks_with_m_axi - このオプションにより、安定したトップ ポインターを持つ
hls::taskとap_ctrl_noneのシミュレーションがイネーブルになります。 -
-hwemu_trace_dir <kernel_name>/<instance_name> - ハードウェア エミュレーション中に生成されたテスト ベクターを協調シミュレーション時に使用する場所を指定します。テスト ベクターは
config_export -cosim_trace_generationコマンドで生成されます。引数で、ハードウェア エミュレーション シミュレーション結果のカーネルおよび Vitis カーネルのインスタンス名を指定し、テスト ベクターを配置します。 -
-ldflags <string> - 協調シミュレーションでリンカーに渡すオプションを指定します。
通常は、インクルード パス情報または C/C++ テストベンチのライブラリ情報を渡すのに使用されます。
-
-random_stall - 協調シミュレーション中の最上位インターフェイスのランダム停止をイネーブルにします。
-
-rtl [verilog | vhdl] - C/RTL 協調シミュレーションに使用する RTL 言語を指定します。デフォルトは verilog です。
-
-setup - すべてのシミュレーション ファイルをアクティブ ソリューションの sim/<HDL> ディレクトリに作成します。シミュレーションは実行されませんが、後でコマンド シェルから実行できます。
-
-stable_axilite_update - 前のトランザクションと比較して安定したレジスタを設定するには
s_axiliteをイネーブルにします。 -
-trace_level [*none* | all | port | port_hier] - C/RTL 協調シミュレーション中の波形トレースのレベルを指定します。
-
none: トレース データは保存されません。これがデフォルトです。 -
all: すべてのポートおよび信号波形がトレース ファイルに保存されます。 -
port: 最上位ポートの波形トレースのみが保存されます。 -
port_hier: そのデザイン階層のポートすべてのトレース情報が保存されます。
トレース ファイルは、シミュレーションが実行されると、
-rtlオプションに使用した設定によって、現在のソリューションの sim/Verilog または sim/VHDL フォルダーに保存されます。 -
-
-user_stall <string> - 協調シミュレーション中に使用する JSON ストール ファイルを指定します。ストール ファイルは、
cosim_stallコマンドを使用して生成できます。 -
-wave_debug - 波形およびシミュレーション結果を表示するため Vivado シミュレータの GUI を開きます。データフローおよび順次処理と同様、生成された RTL ではすべてのプロセスを表示する波形をイネーブルにします。このオプションは、
-tool xsimを設定して協調シミュレーションに Vivado シミュレータを使用する場合にのみサポートされます。詳細は、シミュレーション波形の表示 を参照してください。
例
Vivado シミュレータを使用して検証を実行します。
cosim_design
VCS シミュレータを使用して Verilog RTL を検証し、波形トレース ファイルの保存をイネーブルにします。
cosim_design -tool VCS -rtl verilog -coverage -trace_level all
ModelSim を使用して VHDL RTL を検証します。値 5 および 1 がテストベンチ関数に渡され、RTL 検証で使用されます。
cosim_design -tool modelsim -rtl vhdl -argv "5 1"