【半導体:11】🧠 OpenLane2でSRAMハードマクロを統合しGDSを生成する

topics: [“openlane2”, “asic”, “physicaldesign”, “sram”, “sky130”]


🧭 はじめに

本記事では、OpenLane2(v2)を用いて SRAM ハードマクロを統合し、
RTL → GDS まで完走する物理設計フロー
を紹介します。

重要なのは、本記事の目的が
SRAM を設計することではない点です。

SRAM はあくまで external hard macro として扱い、
SoC 物理設計で一般的な統合手法を明示することを目的としています。


🧱 なぜ SRAM を「中身を見ない」のか

実務の SoC 設計において SRAM は通常:

です。

したがって本プロジェクトでも、SRAM は以下のポリシーで扱います。

これは 逃げではなく、現実的な設計作法です。


🛠 OpenLane2 を使う理由

OpenLane(v1)ではなく OpenLane2 を選んだ理由は以下です。

特に macro-aware floorplanning の記述性は、
OpenLane2 の大きな利点です。


🔄 SRAM ハードマクロ統合の流れ

本プロジェクトで行った手順は以下の通りです。

  1. SRAM blackbox の Verilog 宣言
  2. LEF / GDS の外部参照
  3. FIXED 配置によるマクロ配置
  4. halo / keepout を含むフロアプラン
  5. 標準セルの配置・配線
  6. 最終 GDS の生成

SRAM は設計変数ではなく、
初期条件(制約)として固定されます。


🗺 GDS で何が確認できるか

最終的に生成された GDS では、以下が確認できます。

これは 正しい結果です。

「SRAM の中身が見えない」こと自体が、
ハードマクロ統合が正しく行われた証拠になります。


❓ よくある誤解

Q. SRAM を設計していないのに意味はある?

あります。

SoC 設計の難しさは、

にあります。

本プロジェクトは、
その 現実に一番近い部分を切り出した教材です。


📦 この教材の位置づけ

本記事で扱った内容は、
以下のリポジトリに 再現可能な形で整理しています。

設定ファイル・構成・設計ポリシーを含め、
教材として再利用可能な形で公開しています。


📝 まとめ

本記事が、
「標準セルだけではない現実の ASIC 設計」
一歩踏み出す助けになれば幸いです。