Skip to content

OSS-ASIC-TOOLS is an all-in-one Docker container for SKY130/GF180/IHP130-based analog and digital chip design. AMD64 and ARM64 are natively supported.

License

Notifications You must be signed in to change notification settings

ishi-kai/oss-asic-tools-in-docker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oss-asic-tools

Docker をベースとした ASIC Tools の環境を用意しました。 Chipathon2023 のジャパンチームのための環境でもあり、 OpenLane の環境でもあります。 情報はすべて日本語で展開します。(git のコメントも含めて)。

使い方

現在、ターゲットは amd64 だけです。

  1. Docker の準備
  2. 本レポジトリを clone
$ git clone https://github.com:ishi-kai/oss-asic-tools-in-docker.git
  1. Docker コンテナの実行
$ cd oss-asic-tools-in-docker
$ ./start_x.sh

WSL2 の Ubuntu22.04

まっさらなWSL2のUbuntu22.04で、start_x.shを叩いたら、 Xauthorityがないというエラーが発生することがあります。 いかのようにすれば対応可能です。

touch ~/.Xauthority
xauth add ${HOST}:0 . $(xxd -l 16 -p /dev/urandom)

ユーザ

Docker 内の ユーザは 1000:1000 の id と gid を使用しています。 したがって、もしホストのユーザがこの ID じゃなかったら ちょっとした混乱を生むかもしれません。ここは整理したいところでもあります。 /etc/passwd には 1000 の id は登録されておらず、 /etc/passwd と /etc/group をコピーして libnss を利用してユーザぽい情報を提供しています。

HOME は /headless にしてあります。

/etc/passwd にユーザがないため sudo コマンドはあるものの、 sudo は使えません。

追加のツールをインストール

Docker 内でツールを追加でインストールしようと思った場合は Docker に root で入る必要があります。(sudo が使えないため) docker run で --user 0:0 をつかって立ち上げれば root で Docker 内のイメージに入り込めるので、その後、 apt install などをして必要なツール類をインストールしてください。

Discord Rich Presence 対応

start_x.sh で起動時に Discord が起動されていれば discord-ipc-0 の ソケットを共有して Discord の RPC 経由で Rich Presence に対応して あります。

そのため、start_x.sh で起動すると「Chipathon2023 をゲーム中」 の表示がなされます。設定を抑制するには、環境変数の SUPPRESS_DISCORD_RP に yes を設定してください。

その歴史

元になっているのは iic-osic-tools です。 IIC(Institute for Integrated Circuits) が 用意している Analog にもフォーカスした OpenLane の flow を実現する Docker 環境です。

さらに本を正すと FOSS-ASIC-TOOLS ですが、こちらは開発が止まっています。efabless としては efabless/openlaneefabless/openlane-tools をメンテナンス管理しているようです。

iic-osic-tools からの変更点

名称を変更しました。iic は団体名、osic は造語のようなので、efabless の 元の名前に foss-asic-tools を参考に oss-asic-tools-in-docker と しました。foss はどうやら Free Open Source Software の略のようで、 ソフトウェア屋さんからみたら OSS は OSS であり、F があるとある種の誤解を 生むと思ったので oss としました。

名称変更による構成の変更

もとの構成は /foss というディレクトリの下に tools, pdks, examples という ディレクトリ構成でしたが、伝統的な名称である /opt の下に oss を配置しました。 後、特定の ツールが swift を要求していたのでそれも /opt の下にあります。

ユーザのデザインは /foss/designs から /headless/eda/designs と変更し 通常はホストの $HOME/eda/designs を参照しています。

Docker image のビルド

Docker のイメージは通常 dockerhub の ishikai からバイナリとして 準備されるのでビルドの必要はないはずです。ビルドしたい場合は

DOCKER_LOAD=yes ./build-all.sh

とすればローカルにイメージを作成できることでしょう。 build には docker の buildx を必要とするため、先立って、 buildx をインストールする必要があります。 ここ の情報がわかりやすかった。

うまく buildx がインストールできれば docker buildx version とか のコマンドが使えるようになる。

ToDo

  • OpenROAD のインストール確認
  • 説明用ウェブ立ち上げ
    • PDKS の説明
    • DB 連携
  • サンプル追加
  • GF180 動かせるようにする
  • ADC とかのサンプルを動かせるようにする
  • 重複する bash コードの整理
  • mlterm 対応

About

OSS-ASIC-TOOLS is an all-in-one Docker container for SKY130/GF180/IHP130-based analog and digital chip design. AMD64 and ARM64 are natively supported.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 66.2%
  • C 15.6%
  • Shell 6.7%
  • Cython 4.8%
  • Ruby 1.7%
  • C++ 1.6%
  • Other 3.4%