topics: [“openlane2”, “asic”, “physicaldesign”, “sram”, “sky130”]
本記事では、OpenLane2(v2)を用いて SRAM ハードマクロを統合し、
RTL → GDS まで完走する物理設計フローを紹介します。
重要なのは、本記事の目的が
SRAM を設計することではない点です。
SRAM はあくまで external hard macro として扱い、
SoC 物理設計で一般的な統合手法を明示することを目的としています。
実務の SoC 設計において SRAM は通常:
です。
したがって本プロジェクトでも、SRAM は以下のポリシーで扱います。
これは 逃げではなく、現実的な設計作法です。
OpenLane(v1)ではなく OpenLane2 を選んだ理由は以下です。
特に macro-aware floorplanning の記述性は、
OpenLane2 の大きな利点です。
本プロジェクトで行った手順は以下の通りです。
SRAM は設計変数ではなく、
初期条件(制約)として固定されます。
最終的に生成された GDS では、以下が確認できます。
これは 正しい結果です。
「SRAM の中身が見えない」こと自体が、
ハードマクロ統合が正しく行われた証拠になります。
→ あります。
SoC 設計の難しさは、
にあります。
本プロジェクトは、
その 現実に一番近い部分を切り出した教材です。
本記事で扱った内容は、
以下のリポジトリに 再現可能な形で整理しています。
GitHub Pages
https://samizo-aitl.github.io/openlane2-sram/
GitHub Repository
https://github.com/Samizo-AITL/openlane2-sram
設定ファイル・構成・設計ポリシーを含め、
教材として再利用可能な形で公開しています。
本記事が、
「標準セルだけではない現実の ASIC 設計」に
一歩踏み出す助けになれば幸いです。