序章:なぜ今、半導体設計が民主化されるのか?
本章では、現代のテクノロジー社会において劇的な変化を遂げている「半導体設計の民主化(Democratization of Silicon Design)」の背景と、その中心にあるオープンソースエコシステムについて学びます。かつては限られた開発環境や組織の特権であった「本物の集積回路(IC)」の設計・製造が、なぜ今、個人や多様なプレイヤーの手へ広く開放されつつあるのか、その仕組みを紐解きます。専門知識がない一般の方や他分野の技術者にとっても、現代の半導体開発がどれほど身近なものになったかを感じていただけることと思います。
「RISC-Vの教科書を読んでも、自分でチップが作れる気がしない」 ― そう感じたことはありませんか? 市販のRISC-V解説書の多くは、命令セット(できあがったCPUを"どう動かすか"のルール)の説明が中心です。それは大切な知識ですが、いわば「プログラムを書いて動かす側」の地図であって、「CPUという部品そのものを作る側」の地図ではありません。だからいくら読んでも、「自分で作れる」という実感にはつながりにくい面があるように思います。本講座は、その反対側から出発します ― 回路を一つずつ"物"として組み上げ、最終的に本物のシリコンチップとして焼き上げる、「作る側」の道です。読み終えるころには、「作れる気がしない」が「作れそうだ」へと変わっていく ― 本講座は、それを目指しています。
0.1 伝統的な半導体開発における「高い参入障壁」
長年、デジタル集積回路(LSI:エルエスアイ)を設計・製造するには、非常に高度なリソースと組織的なバックアップが必要とされてきました。大学や研究機関においては、商用EDAツールの学割・アカデミック利用や、大学・研究機関向けに提供されてきた公的な試作シャトルサービスを活用することで、学生や研究者が実チップを設計・製造できる環境が維持されてきました。しかし、一般的な初学者や個人、あるいは専門外の技術者がこの分野に参入しようとした場合、依然として以下の大きな壁が存在していました。
1. 組織外・個人では維持できない高額なライセンス
半導体設計に不可欠なEDA(Electronic Design Automation:電気設計自動化)ツールは、アカデミックや企業向け大口契約の枠外(個人やスタートアップ、他分野の組織)で導入しようとすると、1ライセンスあたり年間数百万円から数千万円の費用がかかることも多いとされます。このコスト構造が、専門組織外への技術の広がりを阻んできました。
2. 秘匿されてきたIP(回路資産)の壁
これまでのチップ設計、そこで使われるCPU(中央演算処理装置)などのコア部分の開発では、企業や研究室が代々受け継いできた独自のIP(Intellectual Property:回路の知的財産・設計データ)を利用するか、高額な商用のCPU IPを契約して組み込むのが一般的でした。この「既存の回路資産の囲い込み」により、資産を持たない新規参入者がゼロから現代的なSoC(System on Chip:システム・オン・チップ)を構築することは難しかったとされています。
今回の「民主化」が指す意味: 従来の大学教育や特定の研究室における優れた試作環境を超えて、今回のパラダイムシフトがもたらすのは、「インターネットとPC、そしてわずかな予算さえあれば、組織の所属を問わず誰もが世界共通のオープンな資産を使って本物の物理シリコンチップを作れるようになった」という、さらに一歩進んだ裾野の拡大(真の民主化)です。
なお、こうした民主化の波は、チップの「中身」(シリコン)だけにとどまりません。完成したチップを載せ、人が触れられる装置として動かすための土台であるプリント基板(PCB)の設計・製造も、同じ潮流の中で個人の手に降りてきています。基板を数枚から安価に製造できる時代になったことで、「自分で設計したシリコンを、自分で設計した基板に載せる」という一気通貫のものづくりが現実になりました。基板設計の側は、姉妹講義のKiCad入門で扱います。
0.2 民主化をもたらした5つのゲームチェンジャー
2020年代に入り、この参入障壁を劇的に下げる大変革が世界中で急速に巻き起こっています。このイノベーションは、以下の5つの要素が融合したことで実現しました。
- オープンソースCPUの標準化:RISC-V(リスク・ファイブ)の普及
命令セットアーキテクチャ(コンピュータの動かし方のルール)が完全にオープンソースとして公開されているRISC-Vの登場により、従来の「代々伝わる閉じたIP」や高額な商用CPU IPに依存する必要がなくなりました。世界中で検証された標準的なプロセッサコア(本講義で扱うPicoRV32など)をベースに、誰もが自由にカスタマイズ可能なSoC設計をスタートできるようになりました。 - 完全オープンソースのPDK:SkyWater 130nm
半導体製造には、工場の製造物理特性や標準セル(AND/ORゲートなど、基本となるデジタル部品の塊)のデータをまとめたPDK(Process Design Kit:プロセス開発キット)が不可欠です。従来、PDKは厳格な秘密保持契約(NDA:開示に厳しい制限がある契約)のもとでしか開示されませんでしたが、米国SkyWater Technology社とGoogleの提携により、130nm製造プロセスのPDKが世界で初めて完全にオープンソースで公開されました。これにより、誰でも制限なしに具体的な「工場用設計部品集」を参照できるようになりました。 - オープンソースEDAツールの成熟:OpenROAD & Yosys
米国DARPA(国防高等研究計画局)の資金援助などを受け、コミュニティが主導して「完全に自動化されたオープンソースの物理設計ツール」であるOpenROAD(オープンロード)プロジェクトや、強力な論理合成ツールであるYosys(ヨシス)が急速に進化しました。これにより、商用EDAの代替となり得る、人間が書いたプログラム(RTL:アールティーエル)から工場に提出する最終データ(GDSII)までの自動配置配線(P&R:ピーアンドアール)フローが無料で利用可能となりました。🔍 詳しく知りたい方向け:自動配置配線(P&R)フローの全体プロセスと中身
自動配置配線(P&R:Placement and Routing)フローとは、プログラムのソースコード(Verilog HDLなどのRTL)として書かれた「論理回路の設計図」を、実際の半導体チップ上に配置する「物理的なレイアウト(幾何学パターン)」へ自動で変換する、バックエンド設計の一連の工程のことです。LibreLane(YosysやOpenROAD)の内部でも、このP&Rフローが自動的に実行されています。具体的にどのような処理が行われているのか、順を追って解説します。
[ RTL記述 (Verilog等のプログラム) ] │ ▼ 1. 論理合成 (Synthesis) ─────── 基板の「部品(ゲート)」と「接続リスト」に変換 │ ▼ 2. 床計画 (Floorplanning) ───── チップ全体の枠組みと、外部ピンの配置を決める │ ▼ 3. 配置 (Placement) ────────── 膨大な数の部品(標準セル)を最適な位置に並べる │ ▼ 4. クロックツリー合成 (CTS) ──── 信号のタイミングを合わせるための時計の針(配線)を通す │ ▼ 5. ルーティング (Routing) ───── 部品同士の隙間を縫って、何層もの金属線で繋ぐ │ ▼ 6. 物理検証 (Sign-off/DRC) ──── 工場のルール通りに作られているかチェック │ ▼ [ 製造用データ (GDSII) ]各ステップの具体的な中身
- 1. 論理合成(Synthesis)【担当:Yosys】
人間が書いた「もしAかつBなら、Cを出力する」というテキストプログラム(RTL)を解析し、PDKに含まれる具体的な部品(ANDゲートやORゲートなどの標準セル)の組み合わせに変換します。この変換された回路の接続情報のことをネットリストと呼びます。 - 2. 床計画(Floorplanning)【担当:OpenROAD】
チップ全体のサイズ(面積)を決め、電源線(VDD/GND)を格子状にどう張り巡らせるか、また外部と信号をやり取りする入出力ピン(I/Oパッド)を四辺のどこに配置するかという「土地利用計画」を立てます。 - 3. 配置(Placement)【担当:OpenROAD】
論理合成で作成された数千〜数万個以上の標準セルを、床計画で決めたエリア内に実際に敷き詰めます。- 大域配置(Global Placement): まずは全体の配線が短くなるように、重なりを気にせず大まかに部品を分散させます。
- 詳細配置(Detail Placement): その後、工場のルール(サイト)にぴったり収まるよう、部品の重なりを解消して綺麗に整列させます。
- 4. クロックツリー合成(CTS:Clock Tree Synthesis)【担当:OpenROAD】
デジタル回路にとって命とも言える「クロック信号(同期タイミングを合わせるためのメトロノームの役割)」を、すべての部品へ同時に、遅延なく届けるための専用の配線網を構築します。木の枝(ツリー)のように分岐させながらバッファと呼ばれる部品を挟み、タイミングのズレ(クロックツリー・スキュー)を極限まで抑えます。 - 5. ルーティング(Routing / 配線)【担当:OpenROAD】
部品の配置が終わったら、それらの間を網の目のように繋ぐ配線(金属配線層)を自動で引き回します。- グローバルルーティング: どのエリアを通れば配線が渋滞しないか、大まかに経路を計算します。
- ディテールルーティング: 実際に1層目、2層目……といったシリコン上の金属レイヤーを使い、工場の製造ルール(配線の太さや間隔の制限)を破らないように、パズルのように細かく配線を決定します。
- 6. 物理検証(Sign-off / DRC・LVS)【担当:Magic, Netgen】
出来上がったレイアウトデータが、工場の物理的な限界(最小寸法など)に違反していないかを調べるDRC(Design Rule Check)や、最初に作った回路図通りの接続になっているかを調べるLVS(Layout Versus Schematic)を行い、問題がなければ「GDSII」と呼ばれる最終的な製造データを書き出します(これをテープアウトと呼びます)。
💡 なぜ「自動」であることが民主化に繋がったのか?
かつて(あるいは現在でもアナログ回路などでは)、これらの配置や配線を専用の商用レイアウトツールを使い、人間の手で1本1本綺麗にレイアウトしていました。しかし、数万〜数百万ゲートを超える現代のデジタルSoC(RISC-Vなど)をすべて手作業で配置・配線することは、現実的ではないとされています。この複雑なパズルを、高度なアルゴリズムによって「スクリプトコマンドひとつで、エラーなく数分〜数時間で全自動処理してくれる」ようになったこと(OpenROAD等の成熟)が、個人や非専門家でも半導体を設計できるようになった大きな理由の一つとされています。
- 1. 論理合成(Synthesis)【担当:Yosys】
- Pythonによるインフラの指揮者:LibreLane
OpenROADやYosys、Magic、Netgenといった無数の個別オープンソースツールを1つの有機的な流れとして束ね、Pythonインフラによって高度に自動化・モジュール化した最新のデジタル実装フレームワークがLibreLane(リブレ・レーン)です。シンプルなコマンドと設定ファイルだけで、バックエンド設計(物理レイアウト化の工程)をスムーズに進行できるよう設計されています。 - 超低コストの実チップ製造シャトル:Tiny Tapeout
SkyWater 130nmプロセスの上で「1枚のマルチプロジェクト・チップ(MPW:複数の異なる設計を相乗りさせる試作ウェハ)の中に、数百人分の小さな回路をタイル状に相乗りさせて製造する」仕組みが構築されました。大規模な公的試作スキームを利用できない個人や他分野の学生であっても、わずか数万円という手軽なコストで、自分の設計した回路を「本物の物理的なシリコンチップ」として製造し、手元に基板として受け取ることができるようになりました。💡 コラム:半導体の最終データ「GDSII(ジーディーエスツー)」とは?
本講義の最終目標は、設計した回路をGDSII(ジーディーエスツー)というファイル形式に出力することです。これは、電子工作や基板設計でおなじみのプリント基板(PCB)工場へ送る「ガーバーデータ(Gerber)」の半導体版にあたるものです。
シリコンウェハという超微細な世界に、何層もの金属線やトランジスタの形を焼き付けるための「超精密な型紙(レイアウトパターン)」のデータであり、これを作ることが半導体工場への発注(テープアウト)の最終ステップになります。一見難しそうに見える半導体開発ですが、この最終出力を目指すというゴールは、普段私たちが慣れ親しんでいる基板作りの流れと非常によく似ています。
0.3 生成AI(LLM)との融合がもたらす未来
さらに現在、大規模言語モデル(LLM:エルエルエム)の発展により、ハードウェア記述言語(Verilog HDL:ベリログ・エイチディーエル)の生成・デバッグ・最適化をAIが強力にアシストする環境が整いつつあります。従来であれば、複雑な回路の構文エラーや、タイミング制約の解消には組織内でのノウハウや経験が必要でしたが、AIにエラーログや仕様書を入力することで、非専門家であっても迅速に修正案を得ることができます。
本書で目指す最終目標は、この民主化されたツール群とAIの力をフルに活用し、オープンソースのRISC-V CPUコアであるPicoRV32を組み込んだ「自作SoC」を設計し、最終的に外部周辺機器やWiFiドングルを接続して制御できる独自のマイコンボードの基盤を作ることです。その第一歩として、まずは次章で全体フローを学び、環境構築へ進んでいきましょう。