半導体設計民主化のための自作RISC-V SoC実践編

PicoRV32 と Wishbone で作る、フィジカルAI時代の実用オリジナルチップ

← 講義ポータルに戻る 実験並走記録 ゴール・基板

第14章 基板化(PCB・KiCad)― 届いたチップを、実用ボードへ

本講座のゴールです。前章でテープアウトに送り出した設計は、数ヶ月後、一個の"部品"として手元に届きます。けれど、チップ単体では何もできません。電源も、クロックも、外部メモリも、コネクタもないからです。そのチップを「使えるボード」にする最後の工程が、基板化(PCB設計)です。ここでも主役はオープンソース――KiCadで回路図と基板を設計し、格安のPCB製造サービスへ送ります。チップの周りに、これまで各章で設計してきた周辺(外部Flash・RAM・microSD・無線・音声・モータ・Ethernet…)を現物として配置し、一枚の実用ボードへまとめます。

本章の留保(毎章の約束)。 ピン配置は実チップの現物(テープアウトで確定したピンアウト)に合わせます。電源IC・コネクタ・PCB製造サービスといった具体の部品名・サービス・価格は変動するため、本文では断定せず一例として示します。KiCadの操作の深部は、それ自体が大きな主題なので、本章はSoC実践編の締めとしての全体像に留め、詳細は専用の学習や公式ドキュメントに委ねます([改訂マーカー:使用部品・実チップのピンアウト])。

14.1 なぜ基板化が"ゴール"なのか

第13章で「設計の自由」がシリコンになりました。けれど、それを現実に動かし、人に使ってもらうには、もう一段の自由が要ります。基板の自由です。チップ設計をオープンツール(LibreLane/OpenROAD)で民主化したのと対をなす形で、基板設計もオープンツール(KiCad)で民主化されています。自作のチップを、自作の基板に載せる――この二つが揃って初めて、「個人が、世界に通用する実用デバイスを、巨大資本なしに作る」という本講座の旗印が、文字どおり手のひらの上で完成します。

14.2 KiCad ― PCB設計の民主化

KiCadは、回路図エディタと基板(PCB)レイアウトエディタを備えた、オープンソースのEDAです。かつて高価だった基板設計ツールが無償で手に入り、回路図 → 部品配置 → 配線 → 製造データ(ガーバー)出力までを一貫して行えます。LibreLaneが「チップの中」を、KiCadが「チップの外(基板)」を担う――内と外、両方がオープンになったことが、個人ものづくりの地図を塗り替えました。

14.3 チップの周りに、何を載せるか

基板の中心は、もちろん私たちの自作SoCチップです。その周りに、各章で設計してきた機能を現物の部品として配置します。

 自作SoCボード(概念配置図)
 ───────────────────────────────────────────────────────────────
            ┌── 電源(LDO+デカップリング)        ┌── 水晶+負荷容量(クロック)
            │                                       │
   [USB-UART]──┐                                ┌──[ 外部SPI Flash ](XIP起動・第4章)
   書込/コンソール│        ┌─────────────┐         │
            │        │   自作SoC   │────────┤──[ 外部RAM ](MicroPython/表示・第4/10/11章)
   [リセット/SW/LED]──┤   (RISC-V) │         │
            │        │  チップ本体  │         ├──[ microSDスロット ](SPI・第6章)
   [Pmod/GPIOヘッダ]──┘        └─────────────┘         ├──[ 技適済み無線モジュール ](UART・第6/7章)
            │                                       ├──[ 音声(コーデック/アンプ) ](第8章)
   [モータドライバ端子](第9章)                       ├──[ Ethernet PHY+RJ45 ](第5章)
            │                                       └──[ 表示コネクタ(VGA/SPI-LCD/I2C-OLED) ](第10章)
 ───────────────────────────────────────────────────────────────
   ※ どれを実装するかは用途で取捨選択。全部載せでなく「作りたいボード」に合わせて選ぶ。

※「USBホスト/ハブ」は載せません(設計の整合)。 本講座は途中で、難所のUSBホストを採らず、microSD(SPI)と技適済み無線モジュール(UART)の外付けへ方針転換しました(第6・7章)。基板もその判断に従い、無線を自分で実装せず技適済みモジュールを外付けします。USB-UART変換(書き込み・コンソール用)は有線の橋なので別物として載せます。

14.4 電源・クロック・リセット ― 地味だが、ここで決まる

動く基板と動かない基板の差は、たいてい地味な土台で決まります。

14.5 各章を、一枚の基板に集約する

基板化は、これまでの旅の"現物による総復習"でもあります。設計してきた周辺が、ここで実際の部品・コネクタになります。

記憶

外部SPI Flash(XIP起動・第4章)と外部RAM(MicroPythonや表示のフレームバッファ・第4/10/11章)、microSDスロット(第6章)。

通信

USB-UART(書き込み・コンソール)、技適済み無線モジュール(第6/7章)、Ethernet PHY+RJ45(第5章)。

身体(入出力)

音声(コーデック/アンプ・第8章)、モータドライバ端子(第9章)、表示コネクタ(VGA/小型LCD・第10章)。

外に出すべきは、Pmod/GPIOヘッダも。拡張の余地を残しておくと、ボードが「閉じた完成品」ではなく「育てられる土台」になります。これは第11章「使えるボード」の思想の、ハード側の表れです。

14.6 KiCadのワークフロー ― 回路図から、製造データまで

KiCadでの作業は、おおむね次の順で進みます(各段の深部は専用の学習へ)。

 KiCad:回路図 → 基板 → 製造データ
 ───────────────────────────────────────────────────────────────
   1. 回路図       部品(シンボル)を置き、配線(ネット)でつなぐ
   2. フットプリント 各部品に実装形状を割り当てる(チップ・コネクタ・受動部品)
   3. 部品配置      基板上に部品を並べる(電源・クロックは近接、熱・ノイズに配慮)
   4. 配線(ルーティング) 銅箔で各ネットを結ぶ(電源は太く、高速線は短く等)
   5. DRC          基板の設計ルール違反がないか確認(第13章のDRCの基板版)
   6. 出力          ガーバー+ドリル+部品表(BOM)+実装座標 を生成
 ───────────────────────────────────────────────────────────────
   ※ チップのピン割り当ては、テープアウトで確定した実チップのピンアウトに従う。

14.7 製造へ出す ― 格安PCBという、もう一つの民主化

出来上がった製造データ(ガーバー等)を、オンラインのPCB製造サービスへ送れば、数日〜数週間で基板が届きます。少量なら非常に安価で作れる、とされ、部品実装まで請け負うサービスもあります。これも、チップ・基板ツールに続く「ものづくりの民主化」の一翼です。具体のサービス・価格・納期・対応は変動するので、本文では断定せず、その時点の各サービスの公式で確認してください([改訂マーカー:PCB製造サービスの現状])。

14.8 我々のチップの現実 ― デモ基板か、フル基板か

最後に正直な設計判断を。どんなチップが届くかで、基板の作り方は変わります。

タイル型シャトルの場合

多数の設計が相乗りしたチップ(第13章)は、提供元の専用デモ基板+ブレイクアウト基板で扱う形が用意される、とされる。まずはそれで自分のタイルを動かし、必要な部分だけ外付けする。

パッケージ単体の場合

自分のSoCが独立したパッケージで届くなら、本章のフル基板を自前で設計する。電源・クロック・周辺を全部、自分の基板で受け持つ。

※まず小さく、確実に(第13章と同じ精神)。 いきなり全部載せの大基板を狙わず、最小構成(電源+クロック+外部Flash+USB-UART)で「起動する」を確認してから、周辺を一つずつ足していく。基板も、検証と同じく段階的に積み上げるのが安全です。

14.9 この章のまとめ

これで、設計から製造、そして基板まで――一気通貫の道具立てがそろいました。あとは、本物のチップが届くのを待つだけです。製造から数ヶ月後、手のひらに乗ったシリコンを基板で動かし、設計どおりかを確かめる。本講座が"完成"する、その瞬間へ――終章:実チップ検証と、世界への宣言です。