🚀 OpenLane導入とフローの全体像

Introduction and Full Flow of OpenLane-Based Digital Design


📘 概要|Overview

本節では、オープンソースEDAフロー OpenLane v2 を利用した、
RTL(Verilog)→ GDS(物理レイアウト) までの ASIC 実装プロセス全体を解説します。

This section explains how to set up OpenLane and provides a clear overview
of the digital design flow from RTL to GDS, using open-source tools and the Sky130A PDK.


📦 OpenLaneとは|What is OpenLane?

OpenLane は、The-OpenROAD Project が開発する
自動デジタルLSI実装フロー(RTL→GDS 自動化)です。

Component Description
🧠 OpenROAD Floorplan / Placement / CTS / Routing / STA
⚙️ Yosys RTL → Gate-Level 論理合成
📐 Magic DRC(物理ルールチェック)
🔎 Netgen LVS(回路一致チェック)
📦 Docker OpenLane v2 の実行環境
🧱 volare Sky130 PDK の取得・切替

🔧 導入手順|Installation Steps(最新版)

最新 OpenLane v2 では Docker + volare 方式が標準です。

✅ 1. Sky130 PDK の取得(volare)

pip install --upgrade pip volare
volare enable sky130A

✅ 2. OpenLane v2(Dockerイメージ)

docker pull efabless/openlane:2024.09.11

✅ 3. OpenLane コンテナの起動

docker run --rm -it \
  -v $HOME/openlane/designs:/openlane/designs \
  -v $HOME/openlane/pdks:/pdks \
  -e PDK_ROOT=/pdks \
  -e PDK=sky130A \
  efabless/openlane:2024.09.11

🗂️ ディレクトリ構成|Directory Structure

openlane/
├── designs/
│    └── inverter/
│        ├── config.tcl
│        └── src/inverter.v
└── pdks/
     └── sky130A/

📈 設計フロー全体像|Full Flow Overview

| Step | Description | Tool | |——|————-|——| | 1️⃣ Synthesis | RTL → Gate-Level Netlist | Yosys | | 2️⃣ Floorplan | コア領域・ピン配置 | OpenROAD | | 3️⃣ Placement | セル配置 | OpenROAD | | 4️⃣ CTS | クロックツリー合成 | OpenROAD | | 5️⃣ Routing | 自動配線 | OpenROAD | | 6️⃣ Signoff (DRC/LVS) | Magic DRC / Netgen LVS | Magic, Netgen | | 7️⃣ GDS Output | 製造用 GDSII | Magic, KLayout |


✅ 教育的意義|Why It Matters for Education


📎 関連教材リンク


📝 備考