この章では、OpenLaneを用いて Verilog RTL記述からGDS生成までの一連のデジタルLSI設計フローを体験します。
Sky130 PDKと連携し、合成、配置、配線、検証の各ステップを順に実行します。
inverter
以下は、標準的なOpenLane実習の最小単位である inverter
設計をベースにします。
module inverter(
input wire a,
output wire y
);
assign y = ~a;
endmodule
※ より大規模な設計(
gcd
,picorv32
等)は後続章で扱います
以下のコマンドで、RTLからGDSまで一括実行が可能です:
cd OpenLane/
make mount
その後、Docker内で以下を実行:
./flow.tcl -design inverter -tag run1
実行ステップ(自動処理):
synthesis
)floorplan
)placement
)cts
)routing
)drc
, lvs
)gds
, lef
)designs/inverter/runs/run1/
├── results/
│ ├── synthesis/
│ ├── floorplan/
│ ├── placement/
│ ├── routing/
│ ├── gds/
│ └── reports/
└── logs/
results/gds/inverter.gds
:GDS版下ファイルreports/synthesis/
:セル数・面積・クロック情報reports/routing/
:ワイヤ長・ビア数・電力推定