【半導体】 🏗️ 24. OpenLane 自動フローは魔法ではない|配置・配線・クロックの現実

topics: [“OpenLane”, “ASIC”, “PhysicalDesign”, “OpenROAD”, “EDA”]


🧭 はじめに:ボタン一発でGDSが出る、は幻想である

OpenLaneを触り始めた人が、
必ず一度はこう思います。

▶️ 「make run したら、あとは勝手にGDSが出るんでしょ?」

半分正しく、半分は完全に間違いです。

OpenLaneは確かに
RTL → GDSII を自動で流せます。
しかしそれは 「物理的に成立する設計」 に限られます。

本記事では、
OpenLane Guide Phase 2:Physical Design Reality を基に、

物理設計の現実として解説します。

🔗 OpenLane公式リポジトリ
https://github.com/The-OpenROAD-Project/OpenLane

🔗 体系的ガイド(元資料)
https://samizo-aitl.github.io/openlane-guide/


🧩 OpenLaneの正体:OpenROADベースの自動物理設計

OpenLaneの物理設計パートは、
OpenROAD を中核に構成されています。

これらは 独立した工程ではありません

🔗 すべてが相互に影響する一つの物理問題です。


🧱 Placement:最初に全てが決まる工程

Placement(配置)は、
後工程の9割を決める工程です。

ここで無理をすると、

という 連鎖破綻 が起きます。

⚠️ Placementが破綻した設計は、
その後どれだけ調整しても基本的に救えません。


🌳 CTS:クロックは「信号」ではない

CTS(Clock Tree Synthesis)で
多くの初心者が勘違いします。

⏱ クロックも信号線と同じでしょ?

全く違います。

クロックは、

という 特権的なネットです。

CTSが破綻すると、

といった現象が起きます。


🧵 Routing:配線は「最後」ではない

多くの人が
Routingを「最後の作業」だと思っています。

🧵 配線はPlacementとCTSが終わった後でしょ?

これも誤解です。

実際には、

Routingは 結果が可視化される工程 に過ぎません。

❗ RoutingでDRCが大量に出た時点で、
問題はもっと前にあります。


⚖️ 面積・配線・クロックの三すくみ

OpenLaneが失敗する設計の多くは、
次の 三すくみ に陥っています。

これは 同時に成立しません

どれかを立てると、
必ずどれかが犠牲になります。

OpenLaneはこの矛盾を
自動で解決してくれる魔法のツールではありません


👀 GUIで「失敗」を確認せよ

OpenLaneを使うなら、
GUI(OpenROAD / Magic)を見ることは必須です。

見るべきポイントは以下です。

👁 見ておかしい設計は、必ず動きません。

STAログより、
レイアウトの見た目の方が正直な場合すらあります。


🧠 OpenROADの思想と限界

OpenROADは非常に優秀ですが、
万能ではありません。

OpenLaneは、

🤖 設計者の代わりに悩むツールではない

という点を理解する必要があります。


🧱 なぜ自動フローは突然壊れるのか

理由は単純です。

⚠️ 物理的に成立しない設計を、
自動で成立させることはできない

環境(Phase 1)が正しく、
それでも壊れる場合、

原因はほぼ100%物理設計にあります。


📝 まとめ

これが Phase 2:Physical Design Reality の結論です。


▶️ 次回予告

次回は Phase 3:Integration & Timing Truth

タイミングは嘘をつくのか?
その問いに正面から答えます。