合成後およびインプリメンテーション後のタイミング シミュレーションを実行する際、シミュレータには次のものが含まれます。
- SIMPRIM ライブラリ コンポーネントを含むゲートレベルのネットリスト
- SECUREIP
- 標準遅延フォーマット (SDF) ファイル
最初にデザイン全体の機能を定義します。デザインがインプリメントされると、正確なタイミング情報が利用できるようになります。
ネットリストおよび SDF を作成するため、Vivado Design Suite は次の処理を実行します。
-
write_verilog
オプションを使用してネットリスト ライターの-mode timesim
、およびwrite_sdf
(SDF アノテーター) を呼び出します。 - 生成されたネットリストをターゲット シミュレータに送ります。
これらのオプションを変更するには、シミュレーション設定で説明されているように、[Settings] ダイアログ ボックスの [Simulation] ページを使用します。
write_vhdl
Tcl コマンドを使用して作成できます。使用情報は、
『Vivado Design Suite Tcl コマンド リファレンス ガイド』 (UG835) を参照してください。合成後のタイミング シミュレーション
合成を実行すると、
を実行できるようになります。合成後のタイミング シミュレーションを選択すると、タイミング ネットリストと SDF ファイルが生成されます。ネットリスト ファイルには $sdf_annotate
コマンドが含まれるので、生成された SDF ファイルが自動的に指定されます。
インプリメンテーション後のタイミング シミュレーション
インプリメンテーションを実行すると、
を実行できるようになります。インプリメンテーション後のタイミング シミュレーションを選択すると、タイミング ネットリストと SDF ファイルが生成されます。ネットリスト ファイルには $sdf_annotate
コマンドが含まれるので、生成された SDF ファイルが自動的に指定されます。
タイミング シミュレーション用の SDF ファイルのアノテート
シミュレーション設定を指定したときに、SDF ファイルを作成するかどうかと、プロセス コーナーをファーストまたはスローに設定しました。
SDF ファイルには、指定したプロセス コーナーに基づいて異なる min
および max
値が含まれます。
ホールド チェックを実行するには、[-process_corner] を [fast] に設定して SDF ファイルを作成し、SDF ファイルの min 列を使用します。使用する SDF 遅延フィールドの指定方法は、使用するシミュレーション ツールによって異なります。このオプションの設定方法は、ご使用のシミュレーション ツールの資料を参照してください。
4 つのタイミング シミュレーションすべてを実行するには、次のように指定します。
- スロー コーナー: SDFMIN および SDFMAX
- ファースト コーナー: SDFMIN および SDFMAX
スタンドアロンのタイミング シミュレーションの実行
Vivado IDE からタイミング シミュレーションを実行する場合は、タイミング シミュレーション関連のオプションがシミュレータに追加されますが、スタンドアロン タイミング シミュレーションを実行する場合は、エラボレーション中に次のオプションをシミュレータに渡す必要があります。
VCS の場合:
+pulse_e/<number> and +pulse_r/<number> +transport_int_delays
エラボレーション中 (VCS を使用)
ModelSim/Questa Advanced Simulator の場合:
+transport_int_delays +pulse_int_e/0 +pulse_int_r/0
エラボレーション中 (vsim を使用)
-transport_int_delays -pulse_r 0 -pulse_int_r 0
オプションを追加する必要があります。これらのコマンドについては、表 1 で説明しています。