OpenMPW Walkthrough: 1 はじめに

OpenMPW でテープアウトするまでの一連の作業を解説します.まずはじめに参考情報と注意事項などを.

1.情報源

OpenMPW は日々アップデートされていますので,あたりまえですが公式のドキュメントを読みましょう.Caravel の内容についてはこちら.

そして使い方については github の Quick start です.

また,テープアウトまでの一連の流れは efabless公式の動画が youtube で見られます.OpenMPW-6 Walkthrough がたぶん最新です.(2022年10月現在)

日本語での情報源は Cra2yPierr0t さんのまとめた記事を読みましょう.

はっきり言って上の2つを見る/読むすればこの記事読む必要あんまりないんですが.

2.Caravel とは何か

Caravel は efabless の提供する設計テンプレートです.下図に efabless 公式の図を転載しますが,ユーザが設計するのは図右下の "user project wrapper" の中で,その外に RISCベースのCPUを搭載した "Management SoC wrapper",外部との接続のためのIO などが搭載されています.

Caravel Architecture ((c) efabless, from https://github.com/efabless/caravel/blob/main/README.rst)

設計者が提出するのは "user project wrapper" の部分だけです.user_project_wrapper もインターフェースの仕様は決まっているので,設計者は user_project_wrapper に組み込むマクロを設計し,そのマクロを組み込んだ user_project_wrapper を efabless に提出します.

デジタル用の caravel_user_project と,アナログ用の caravel_user_project_analog があります.

user project area は面積 2.92 mm×3.52 mm38個の IOポート4個の電源パッドがあり,128個の信号をロジックアナライザで取得することができます.

3.環境の準備

標準的な設計フローは OpenLane を使います.Caravel では各種ツールは docker のコンテナとして実行するので,docker が必要です.また,Caravel では全ての作業が make を通して行なわれますので,make も必要です.ということで基本的には Linux 環境がよいでしょう.Windows でもできるのかも知れませんが筆者は Linux で育ってきた人間なのでよく知りません.Mac は触ったことがないのでもっと分かりません.

3.1 筆者の環境

この記事の内容は Windows 10 + WSL2 (Ubuntu 18) + Docker Desktop の環境で確認しています.あと X server として VcXsrv.Ubuntu には git,python,その他必要なものをインストールしています.だいたいのものは apt install で入るので,必要に応じて入れましょう.

3.2 環境設定メモ

WSL2 を使うための Docker Desktop の設定

Docker Desktop の設定

WSL2 で VcXsrv を使うための設定: WSL2 では WSL1 のときのように localhost:0.0 でつなげなくなったので,以下のような設定が要ります.

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0

4.OpenMPW の状況 (2022年10月現在)

OpenMPW-2 以降のプロジェクトは2022年10月現在でパッケージの問題によって完成が遅れています.納品スケジュールは予定通りにならないこともあると思っておきましょう.まぁ,無料ですしね.OpenMPW-1 は最初ということもあっていろいろ問題が発生しました.特に接続のためのハーネスは深刻だったようで,OpenMPW-2 では新しいハーネスを使う,ということが2022年8月にアナウンスされました.OpenMPW-3 はパッケージ作業中,OpenMPW-4以降は検証が終わるまで保留,という状態です.新ハーネスの検証が終われば 順次スケジュールの遅延は解消されていくと思われますが,最新の OpenMPW-7 もCaravel の更新への対応が入っているのでやはり遅れる可能性が高いと思われます.

  • OpenMPW-1 : 2020/11/30 T.O.,2021/9/18 shipping予定 → 2021/12/18 Shipping (3ヶ月遅れ)

  • OpenMPW-2: 2021/6/18 T.O.,2021/12/6 shipping予定 → 2022/10/10時点でチップの検証・ボードの製造が進行中

  • OpenMPW-3: パッケージ作業進行中?

  • OpenMPW-4~MPW-6: 製造済み,パッケージ作業保留中

  • OpenMPW-7: 2022/09/18 T.O.,10/10 にCaravel を更新,新 Caravel への対応作業中 (10/17締切?)

efabless からは毎週進捗が報告されており,OpenMPW-2 は 10/12 にボードが efabless に到着,その後検証を経て出荷という予定になっています.問題が解決されて安定することを期待しましょう.

また,この変更に伴なって 2022/10/10 に Caravel がアップデートされ,(まだ製造プロセスに入っていない) OpenMPW-7 のプロジェクトには対応のための追加作業が依頼されたようです.どこがどう変わったのか把握できていませんが,過去のOpenMPW-6以前の情報とは細部が異なる可能性があります.

セットアップとサンプルの動作確認につづく.


この記事が気に入ったらサポートをしてみませんか?