【半導体】⏱️ 25. OpenLane STAは嘘をつくのか?|SDF・GLS・物理が食い違う本当の理由”
topics: [“OpenLane”, “ASIC”, “STA”, “Timing”, “EDA”]
🧭 はじめに:STAは通った。それでも動かない。
OpenLaneを使っていると、
必ず一度はこの状況に遭遇します。
- ✅ STAはPASSしている
- ✅ Setup / Hold も問題ない
- ❌ それでもシミュレーションや実機で動かない
このとき、多くの人はこう思います。
🤔 「STAが嘘をついているのでは?」
結論から言います。
❗ STAは嘘をつきません。
ただし、真実をすべて語っているわけでもありません。
本記事では、
OpenLane Guide Phase 3:Integration & Timing Truth を基に、
- STAは何を保証しているのか
- SDF / GLS はどこまで信用できるのか
- 「STAは通ったのに動かない」の正体
を 論理・物理・仮定の関係として整理します。
🔗 OpenLane公式リポジトリ
https://github.com/The-OpenROAD-Project/OpenLane
🔗 体系的ガイド(元資料)
https://samizo-aitl.github.io/openlane-guide/
🧠 STAとは何か:事実ではなく「仮定の計算」
STA(Static Timing Analysis)は、
時間を止めたまま行う解析です。
STAが前提としているのは、次の仮定です。
- 📐 セル遅延はモデル通り
- 🧵 配線遅延は推定値通り
- ⏱ クロックは想定通り届く
- 🔁 データは論理通り遷移する
つまりSTAは、
📊 仮定がすべて成立した世界での最悪値計算
を行っています。
⏱ Setup / Hold の物理的意味
Setup / Hold は
数式ではなく 物理現象です。
- Setup違反
→ データが間に合わない - Hold違反
→ データが早く来すぎる
これはすべて、
- 配線長
- バッファ段数
- クロックのスキュー
という 物理量 によって決まります。
⚠️ STAは「物理がこうなっているはずだ」という
想定の上でしか計算できません。
🔗 SDFとは何を伝えているのか
SDF(Standard Delay Format)は、
- ⏱ セル遅延
- 🧵 配線遅延
を 時間情報として注入するためのファイルです。
しかし注意点があります。
❗ SDFは“平均的な物理像”を流し込むだけ
- IR Drop
- Crosstalk
- 局所温度上昇
これらは 基本的に含まれません。
🧪 GLSが保証するもの・しないもの
GLS(Gate Level Simulation)は、
多くの人が誤解しています。
🤔 GLSを回したから安心?
それは違います。
GLSが保証するのは、
- 🔁 論理構造が合っていること
- ⏱ 遅延がSDF通り反映されていること
だけです。
❌ 実シリコンの全挙動を再現するものではありません。
⚠️ 「STAは通ったのに動かない」正体
この現象の正体は、ほぼ次のどれかです。
- 📉 配線遅延の過小評価
- ⚡ IR Drop による実遅延増加
- 🔊 クロストークによる遅延変動
- 🌡 温度勾配の影響
- 🔁 クロックツリーの局所破綻
これらは、
📌 STAの仮定から外れた物理現象
です。
STAが嘘をついたのではなく、
現実が仮定を裏切ったのです。
🧱 OpenLaneで見えるタイミングの限界
OpenLaneはOSSフローです。
- 商用EDAの全補正は入らない
- 最先端ノード前提ではない
- 物理ばらつきは簡略化されている
つまり、
🧠 OpenLaneのSTAは「教育用・検証用の真実」
であり、
量産用の最終保証ではありません。
🧠 タイミングとは何か
結論を言います。
⏱ タイミングとは、
統計と仮定の集合体である
STAは強力ですが、
万能ではありません。
設計者がやるべきことは、
- 仮定を理解する
- 物理を疑う
- レイアウトを見る
ことです。
📝 まとめ
- ⏱ STAは嘘をつかない
- ⚠️ ただし仮定の世界を計算している
- 🔗 SDF / GLS は限定的
- 🧱 物理が仮定を壊す
- 👀 最後に信じるべきはレイアウト
これが
Phase 3:Integration & Timing Truth の結論です。
▶️ 次回予告
次回は 最終回(記事26)。
- 💥 よくある破綻パターン集
- 🔀 OpenLane1 vs OpenLane2 の使い分け
- ♻️ バージョン固定と再現性
- 🧭 なぜこの順序でガイドを書いたのか
OpenLaneを「壊さず」使い続ける技術をまとめます。