サードパーティ ツールを使用したタイミング シミュレーションの実行 - 2022.1 日本語

Vivado Design Suite ユーザー ガイド: ロジック シミュレーション (UG900)

Document ID
UG900
Release Date
2022-04-21
Version
2022.1 日本語
ヒント: 合成後のタイミング シミュレーションでは、合成されたネットリストから見積もられたタイミング遅延が使用されます。インプリメンテーション後のタイミング シミュレーションでは実際のタイミング遅延が使用されます。

合成後およびインプリメンテーション後のタイミング シミュレーションを実行する際、シミュレータには次のものが含まれます。

  • SIMPRIM ライブラリ コンポーネントを含むゲートレベルのネットリスト
  • SECUREIP
  • 標準遅延フォーマット (SDF) ファイル

最初にデザイン全体の機能を定義します。デザインがインプリメントされると、正確なタイミング情報が利用できるようになります。

ネットリストおよび SDF を作成するため、Vivado Design Suite は次の処理を実行します。

  • write_verilog オプションを使用してネットリスト ライターの -mode timesim、および write_sdf (SDF アノテーター) を呼び出します。
  • 生成されたネットリストをターゲット シミュレータに送ります。

これらのオプションを変更するには、シミュレーション設定で説明されているように、[Settings] ダイアログ ボックスの [Simulation] ページを使用します。

重要: 合成後とインプリメンテーション後のタイミング シミュレーションは、Verilog でのみサポートされます。VHDL のタイミング シミュレーションはサポートされません。VHDL を使用する場合、合成後およびインプリメンテーション後の論理シミュレーションを実行できます。この場合、SDF アノテーションは必要なく、シミュレーション ネットリストで UNISIM ライブラリが使用されます。ネットリストは write_vhdl Tcl コマンドを使用して作成できます。使用情報は、 『Vivado Design Suite Tcl コマンド リファレンス ガイド』 (UG835) を参照してください。

合成後のタイミング シミュレーション

合成を実行すると、Run Simulation > Post-Synthesis Timing Simulation を実行できるようになります。

合成後のタイミング シミュレーションを選択すると、タイミング ネットリストと SDF ファイルが生成されます。ネットリスト ファイルには $sdf_annotate コマンドが含まれるので、生成された SDF ファイルが自動的に指定されます。

インプリメンテーション後のタイミング シミュレーション

インプリメンテーションを実行すると、Run Simulation > Post-Implementation Timing Simulation を実行できるようになります。

インプリメンテーション後のタイミング シミュレーションを選択すると、タイミング ネットリストと SDF ファイルが生成されます。ネットリスト ファイルには $sdf_annotate コマンドが含まれるので、生成された SDF ファイルが自動的に指定されます。

タイミング シミュレーション用の SDF ファイルのアノテート

シミュレーション設定を指定したときに、SDF ファイルを作成するかどうかと、プロセス コーナーをファーストまたはスローに設定しました。

ヒント: SDF ファイルのオプションの設定を確認するには、Vivado IDE の Flow Navigator で Simulation を右クリックし、Simulation Settings をクリックします。[Settings] ダイアログ ボックスの [Simulation] ページで Netlist タブをクリックします。

SDF ファイルには、指定したプロセス コーナーに基づいて異なる min および max 値が含まれます。

ホールド チェックを実行するには、[-process_corner] を [fast] に設定して SDF ファイルを作成し、SDF ファイルの min 列を使用します。使用する SDF 遅延フィールドの指定方法は、使用するシミュレーション ツールによって異なります。このオプションの設定方法は、ご使用のシミュレーション ツールの資料を参照してください。

4 つのタイミング シミュレーションすべてを実行するには、次のように指定します。

  1. スロー コーナー: SDFMIN および SDFMAX
  2. ファースト コーナー: 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 を使用)

重要: Vivado シミュレータ モデルではインターコネクト遅延が使用されるので、タイミング シミュレーションが正しく実行されるようにするには、-transport_int_delays -pulse_r 0 -pulse_int_r 0 オプションを追加する必要があります。これらのコマンドについては、表 1 で説明しています。