【半導体:10】🧩 OpenLaneで制御ASICをRTLからGDSまで作ると何が分かるか

topics: [“OpenLane”, “ASIC”, “RTL”, “制御工学”, “SKY130”]


🧭 はじめに

この記事は OpenLane の使い方解説ではありません。
また、単なる「ツール検証ログ」でもありません。

制御系(PID)を題材に、RTLからGDSまで実際に完走した
デジタル制御ASIC設計の記録と、設計判断の言語化
です。


❓ なぜ MCU ではなく ASIC なのか

制御系の実装といえば MCU が一般的です。
しかし、MCU ベース制御には本質的な制約があります。

本プロジェクトでは、これらを避けるために
制御そのものをハードウェアとして固定化しました。

ASIC にすると:

これは安全系・産業制御において大きな意味を持ちます。


🏗 採用したアーキテクチャ

設計した制御ASICは、以下の構成を取っています。

重要なのは階層です。

この構造により、

「制御性能」と「安全性」を役割分離する

ことができます。


🔢 固定小数点設計の現実

制御理論は実数で書かれますが、
ASIC ではすべてが 有限ビット幅です。

ここで重要なのは、

教科書通りにいかない点が多く、
実際に RTL に落として初めて見える問題が多数ありました。

本プロジェクトでは:

という方針を徹底しました。


🧰 OpenLane を使って分かったこと

OpenLane は非常に強力ですが、魔法ではありません。

👍 良い点

一方で、使って初めて分かる制約もあります。


⏱ Gate-level simulation をどう扱ったか

Gate-level simulation には二種類があります。

SKY130 の標準セルは UDP(User Defined Primitive)を多用しており、
Icarus Verilog では完全な gate-level sim が困難です。

本プロジェクトでは、

という役割分担を取りました。

Gate-level timing simulation を「やらない」のも
正しい設計判断の一つです。


📦 成果物

本プロジェクトの成果はすべて公開しています。

ドキュメントには、

までを 省略せず記載しています。


📝 まとめ

OpenLane は「EDAツール」ですが、
本質的には 設計リテラシーを鍛える道具だと感じました。

それを説明できて初めて、
ASIC 設計は「完成した」と言えるのだと思います。

この記事が、
制御とハードウェアの境界に興味のある方
参考になれば幸いです。