LibreLaneを使ってみよう
はじめに
これまでの「オープンソースPDKで遊ぼう」シリーズでは、
- KLayout
- xschem
- ngspice
などを利用してIC設計環境を構築してきました。
近年、OpenLaneに代わる新しいデジタル設計フローとして LibreLane が登場しています。
今回は LibreLane 3.0.4 を Linux Mint 上に導入し、SKY130A のサンプルデザインから GDS を生成してみます。
LibreLaneとは
OpenLane では、
RTL
↓
Yosys
↓
OpenROAD
↓
Magic
↓
GDS
という流れでデジタルチップを実装していました。
LibreLane は OpenLane2 系の流れを汲む新しいフローで、
- Pythonベース
- Docker対応
- PDK管理機能の強化
- フロー設定の整理
- OpenROADとの統合強化
などが行われています。
今回の環境
| 項目 | 内容 |
|---|---|
| PC | CHUWI LarkBox X 2023 |
| OS | Linux Mint 21.3 Cinnamon Edge |
| PDK | SKY130A |
| LibreLane | 3.0.4 |
| Docker | 29.6.0 |
Docker確認
まず Docker が正常に動作していることを確認します。
docker --version
結果
Docker version 29.6.0, build fb59821
必要ツール確認
Git
which git
結果
/usr/bin/git
Python
which python3
結果
/usr/bin/python3
pip
python3 -m pip --version
結果
pip 22.0.2 from /usr/lib/python3/dist-packages/pip
build-essential
dpkg -s build-essential | grep Status
結果
Status: install ok installed
LibreLane取得
cd ~
git clone https://github.com/librelane/librelane.git
cd librelane
取得後に確認します。
ls
結果
Authors.md
Changelog.md
License
Makefile
Readme.md
default.nix
docs
librelane
pyproject.toml
...
LibreLaneインストール
python3 -m pip install --user --upgrade .
Smoke Test
LibreLane が Docker コンテナ上で正常に起動するか確認します。
python3 -m librelane --dockerized --smoke-test
結果
INFO Smoke test passed.
無事に LibreLane が動作しました。
PDK確認
今回の環境では以下のPDKが導入済みでした。
ls ~/pdk
結果
ciel
sky130A
sky130A7t
sky130B
PDK_ROOT も確認します。
echo $PDK_ROOT
結果
/home/take/pdk
サンプルデザイン実行
LibreLane 3.0.4 のサンプルデザインは
librelane/examples/spm-user_project_wrapper
に用意されています。
実行します。
cd ~/librelane
python3 -m librelane --dockerized \
--pdk-root $HOME/pdk \
./librelane/examples/spm-user_project_wrapper/config.json
実行には数分程度かかります。
GDS生成確認
生成されたGDSを確認します。
find ./librelane/examples/spm-user_project_wrapper/runs -name "*.gds"
結果
./librelane/examples/spm-user_project_wrapper/runs/RUN_xxxx/final/gds/SPM_example.gds
最終GDSが生成されました。
KLayoutで確認
生成された GDS を KLayout で開きます。
klayout \
./librelane/examples/spm-user_project_wrapper/runs/RUN_xxxx/final/gds/SPM_example.gds
以下が表示結果です。
図1 LibreLaneで生成したSPM_exampleのレイアウト
OpenROAD による配置配線結果が確認できます。
LibreLaneを使ってみて
今回 LibreLane を試してみた感想としては、
- インストールが比較的簡単
- サンプル実行までスムーズに進められる
- これから始めるなら有力な選択肢
という印象でした。
まとめ
今回は LibreLane 3.0.4 を Linux Mint 21.3 に導入し、
- Docker
- SKY130A PDK
- LibreLane
- KLayout
を利用したオープンソースASIC設計環境を構築しました。
サンプルデザインから実際に GDS を生成し、KLayout でレイアウトを確認できました。
OpenLaneに慣れている方でも比較的移行しやすく、今後のオープンソースASIC設計フローとして注目したいところです。
