はじめに
Source Synchronous のセンターアライン入力のように、データと反転クロックが入力されるようなシステムでは SDC の設定や解析結果はどのようになるのでしょう?
この記事ではシンプルなシステムを例に、SDCと解析結果を紹介しています。
システム構成と I/F 仕様
下図のようなシステム構成とI/Fの仕様のときの例を考えてみます。
SDC 制約
今回は、実際に入力されるクロックとデータに同期する解析用の仮想クロックを使った構成で設定してみます。
CLKとVCLKは図2のクロックのイメージで設定しています。
create_clock -name CLK -period 10.000 -waveform {5.000 10.000} [get_ports {CLK}]
create_clock -name VCLK -period 10.000 -waveform {0.000 5.000}
そして、set_input_delay の -clock に VCLK を設定し、VCLK と DATA の位相差を計算して Valueに設定しています。
設定した Value は、図2 の max/min のイメージです。
set_input_delay -clock {VCLK} -max 1.000 [get_ports {DATA}]
set_input_delay -clock {VCLK} -min -1.000 [get_ports {DATA}]
※ ボード遅延は考慮していません
Report Timing
Timing Analyzer でタイミング解析用の Netlist を作成します。
Report Timing 設定画面を開き、Report の条件などを設定し、Report Timing をクリック。
Report Timing の Setup 解析では、set_input_delay の -max で設定した結果の解析ができます。
Report Timing の Hold 解析では、set_input_delay の -min で設定した結果の解析ができます。
以上で Source Synchronous Input の SDC の例と解析が完了しました。
是非参考にしてみてください。