1. この記事で学べること
- STA(Static Timing Analysis)の基本概念
- なぜ STA が現代の半導体設計で必須なのか
- セットアップ/ホールドなどのタイミング指標の正しい理解
- STA が設計フローのどこで使われ、何を保証するのか
- 実務での典型的な利用シーンと注意点
- 次のステップ(タイミングクロージャ、物理設計、SDF など)に進むための基礎知識
2. 概要(全体像)
STA(Static Timing Analysis)は、回路のタイミング特性をシミュレーションを使わずに静的に解析する手法です。
クロックに同期して動作するデジタル回路では、信号が「いつ到達するか」が機能の正しさを左右します。STA は、回路全体の遅延を網羅的に評価し、セットアップ違反・ホールド違反がないかを確認するための標準手法です。
特徴は以下の通りです:
- ベクトル(入力パターン)不要
- 回路全体を網羅的に解析
- 最悪条件(Worst Case)を評価
- 物理設計(P&R)と密接に連携
3. なぜ重要なのか(背景・目的)
背景
LSI の動作周波数が高まり、プロセスばらつき・配線遅延が支配的になったことで、タイミングの保証が設計品質の中心になりました。
STA の目的
- セットアップ時間・ホールド時間を満たすか確認する
- クロックドメイン間のタイミング整合性を保証する
- 配線遅延・セル遅延を考慮した実動作の安全性を担保する
- タイミングクロージャ(Timing Closure)を達成する
STA は「動作の正しさ」を時間軸で保証するための必須工程です。
4. 基本概念の整理
タイミングパス(Timing Path)
定義:信号が出発点(Startpoint)から到達点(Endpoint)まで伝搬する経路
例:FF → 論理セル → FF
実務での意味:各パスの遅延を評価し、セットアップ/ホールドを満たすか確認する単位
セットアップ時間(Setup Time)
定義:クロックの立ち上がり(または立下り)より前に、データが安定していなければならない時間
例:FF がデータを取り込む直前の安定期間
実務での意味:セットアップ違反は「遅すぎる」問題であり、周波数向上のボトルネックになる
ホールド時間(Hold Time)
定義:クロックエッジの後も、データが一定期間変化してはならない時間
例:FF がデータを保持するための最小期間
実務での意味:ホールド違反は「速すぎる」問題であり、配線調整やバッファ挿入で対処する
スラック(Slack)
定義:要求到達時間(Required Time)と実際の到達時間(Arrival Time)の差
例:Slack = Required – Arrival
実務での意味:Slack が負ならタイミング違反。設計品質の最重要指標。
クロックツリー(Clock Tree)
定義:クロックを各 FF に届けるための配線・バッファ構造
例:CTS(Clock Tree Synthesis)で生成される
実務での意味:クロックスキューがセットアップ/ホールドに直接影響する
5. 実務での具体的な利用シーン
RTL → Gate 変換後のタイミングチェック
合成後のゲートレベルネットリストに対して STA を実施し、論理遅延の問題を早期に検出。
P&R(Place & Route)後のタイミングクロージャ
配線遅延が支配的になるため、STA は物理設計の中心工程。
ECO(Engineering Change Order)
タイミング違反を修正するためのバッファ挿入・セル置換などの判断に STA が必須。
クロックドメインクロッシング(CDC)検証
CDC パスの false path / multicycle path の設定が STA の前提条件となる。
SDF(Standard Delay Format)生成
STA の結果を SDF として出力し、ゲートレベルシミュレーションに反映。
6. 誤解しやすい点・注意点
- STA は機能検証ではない
→ タイミングの正しさを保証するが、論理機能の正しさは別問題。 - ベクトル不要=万能ではない
→ CDC や非同期回路は STA だけでは完全に保証できない。 - セットアップとホールドはトレードオフ
→ クロックスキュー調整は片方を改善するともう片方が悪化する場合がある。 - False Path / Multicycle Path の設定ミスは致命的
→ STA は制約(SDC)に従うため、誤った制約は誤った結果を生む。
7. 関連する専門用語の整理
| 用語 | 定義 | 実務での意味 |
|---|---|---|
| Setup Time | FF がデータを取り込む前に必要な安定時間 | 周波数上限を決める要因 |
| Hold Time | クロック後にデータが変化してはいけない時間 | 配線調整・バッファ挿入で対処 |
| Slack | Required – Arrival | タイミング違反の指標 |
| SDC | STA の制約ファイル | False Path / Multicycle Path の設定 |
| WNS/TNS | Worst/Total Negative Slack | タイミング品質の KPI |
| PVT | Process, Voltage, Temperature | 最悪条件の評価に必須 |
| CTS | Clock Tree Synthesis | クロックスキューを最適化 |
8. まとめ
- STA は デジタル回路のタイミングを静的に解析する標準手法
- セットアップ/ホールド、スラック、クロックスキューが中心概念
- STA は SDC 制約に依存するため、制約の正確さが品質を左右する
- P&R フローと密接に連携し、タイミングクロージャの基盤となる
- 実務では ECO、CDC、SDF 生成など多くの工程と結びつく
- STA の理解は、物理設計・タイミング最適化・高周波設計へ進むための必須ステップ

コメント