セットアップ・ホールド タイミング計算ツール
要点
セットアップ・スラックは「クロック周期 + スキュー − セットアップ時間 − 不確かさ −(tcq + 組み合わせ遅延)」で、負なら周波数を下げるか論理段数を減らす必要があります。ホールドは同じエッジでデータが追い越す「速すぎる」問題で、周波数を下げても直らず、遅延バッファの挿入で直します。
入力(単位はすべて ps)
セットアップ・スラック30.0ps
ホールド・スラック20.0ps
クロック周期 T500.0ps
このパスの最大動作周波数2128MHz
データ到着時刻(セットアップ / ホールド)425 / 55ps
1段15psのゲートなら通せる段数の目安27段
正のスキュー(受信側のクロックが遅れて届く)はセットアップには有利、ホールドには不利に働きます。実際の静的タイミング解析(STA)では、プロセス・電圧・温度のコーナーごとに、配線の寄生 RC とオンチップばらつき(OCV)を含めて全パスを検証します。
周波数とセットアップ・スラック
| 周波数 | 周期 | セットアップ・スラック | 判定 |
|---|---|---|---|
| 1000 MHz | 1000 ps | 530 ps | OK |
| 1500 MHz | 667 ps | 197 ps | OK |
| 2000 MHz | 500 ps | 30 ps | OK |
| 2500 MHz | 400 ps | -70 ps | 違反 |
| 3000 MHz | 333 ps | -137 ps | 違反 |
| 3500 MHz | 286 ps | -184 ps | 違反 |
セットアップとホールドの違い
同期回路では、送信側のフリップフロップから出たデータが、次のクロックエッジより前(セットアップ時間)に受信側へ届き、エッジの後もしばらく(ホールド時間)変化しないことが必要です。セットアップは「遅すぎる」問題で、クロック周期に対して回路が長すぎると起き、周波数を下げれば解消します。ホールドは「速すぎる」問題で、同じエッジで次のデータが追い越してしまうもので、周波数とは関係なく起きます。
スラックが負のパスが1本でもあればチップは正しく動きません。設計の終盤では、配置配線後の遅延を抽出した静的タイミング解析でスラックを確認し、クロックツリーの調整やゲートサイジングで違反をゼロにしてからテープアウトします。