(2024/01版)efabless 社 chipignite サービスを利用したチップ作製を目指す.
動作環境 : Windows11 22H2, VMWare workstation pro 17.0.2, Ubuntu 22.04.3 LTS
使用ソフトウェア : OpenLane 2024.01.12
2024年1月現在,OpenLaneは頻繁に更新されており,導入手順がそのまま利用できない場合も予想される.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential python3 python3-venv python3-pip make git
python3 -m pip install pyyaml click
docker は 無償の商用利用可能な CLI を導入する.(docker desktopは有償)
2024年1月現在,無償のDockerエンジンのみの導入方法は英語ドキュメントのみであり,そちらを参照する.
公式情報:https://docs.docker.com/engine/install/ubuntu/
まず,Dockerの公開鍵を設定する.ca-certificates 導入時にエラーなど発生する場合は,sudo apt autoremove を実行する.
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
つぎに,Dockerのレポジトリを設定する.
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
エンジンのインストールを行う.
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
dockerの動作確認を行う.
sudo docker run hello-world
グループ docker にユーザを登録してユーザ権限で実行できるように設定する.なお,hello-world 実行時に設定が反映されない場合は再起動する.
sudo groupadd docker
sudo usermod -aG docker ${USER}
docker run hello-world
参照: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04
パッケージ元の追加を実行すると,apt 実行時に「複数回設定されています」など表示されインストールなどできない状態となる.
これは,/etc/apt/sources.list.d/ 下のパッケージ記述が重複しているため.grep /etc/apt/sources.list.d/* docker など実行した際に複数表示される場合は,当該の *.list からdocker記載を「#」でコメントアウトすることで回避できる.
日本語翻訳のDockerバージョン19など古いインストール方法では,GPGの公開鍵が無効である不具合が生じることがある.この場合,下記の手順によりdockerエンジン,レポジトリの削除により回避する.
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt remove docker-ce
sudo apt autoremove
sudo rm /etc/apt/sources.list.d/archive_uri-https_download_docker_com_linux_ubuntu-jammy.list
sudo rm /etc/apt/sources.list.d/archive_uri-https_download_docker_com_linux_ubuntu-jammy.list.save
サイズが大きいため,gitではdepthにて最新のコミットを取得する様に指定する.
git clone --depth 1 https://github.com/The-OpenROAD-Project/OpenLane.git
cd OpenLane
make
動作テスト.designs/spm/runs/openlane_test_results 下にテスト回路がビルドされる.
make test
OpenLaneのコンテナ起動スクリプトmake mountでは,hostネットワークが利用される.このとき,XwindowのGUIを接続することができない場合がある.
(恐らくWindows上のVMwareの場合,Microsoft Defenderにてブロックされている)
このため,Makefile の34行DOCKER_OPTIONSにて,–network hostを–network bridgeに変更する.
DOCKER_OPTIONS += -e DISPLAY=$(DISPLAY) -v /tmp/.X11-unix:/tmp/.X11-unix -v $(HOME)/.Xauthority:/root/.Xauthority --network bridge --security-opt seccomp=unconfined
最後に,make test にて合成した回路を表示させ,正しく表示されることを確認する.
make mount
klayout -e -nn $PDK_ROOT/sky130A/libs.tech/klayout/tech/sky130A.lyt \
-l $PDK_ROOT/sky130A/libs.tech/klayout/tech/sky130A.lyp \
./designs/spm/runs/openlane_test/results/final/gds/spm.gds