- Published on
オープン FPGA & RISC-V 開発 2026 完全ガイド - Yosys・NextPnR・IceStorm・Lattice ECP5・SiFive・BeagleV-Fire・Tang Nano・PULPino 徹底解説
- Authors

- Name
- Youngju Kim
- @fjvbn20031
プロローグ - 「FPGA は高くて難しい」という常識が崩れた 2026 年
2010 年代半ばまで、FPGA は「チップが高くて、ツールはもっと高くて、ライセンスは閉じている」の同義語だった。Xilinx Vivado は数十 GB の無料版をインストールする必要があったし、Altera Quartus も同じ。合成はブラックボックス。クラウドビルドは不可能。一行変えて 30 分待つのが日常だった。
2026 年の風景は違う。iCE40・ECP5・Gowin の一部は Yosys + NextPnR + IceStorm / Project Trellis / Apicula という完全オープンチェーンで RTL からビットストリームまで作れる。RISC-V コアは PULPino、Rocket、BOOM、VexRiscv、Ariane(CVA6)、OpenTitan がすべてオープンソース。SBC は VisionFive 2、Milk-V Mars、BeagleV-Fire、HiFive Premier P550、Banana Pi BPI-F3、LicheePi 4A と 30 ドルから始まる。
ASIC も手の届く距離にある。Tiny Tapeout は SkyWater 130nm または GlobalFoundries 180nm に学生や趣味家の設計を 50〜300 ドルで載せて返す。OpenROAD は RTL から GDSII までオープン EDA だけで通せる。
この記事はその全体像 - FPGA ベンダー、オープンチェーン、ボード、RISC-V コア、HDL 言語、シミュレータ、形式検証、オープン ASIC、韓国・日本の動き - を 2026 年時点で一度に整理する。
1 章 · FPGA の基本 - LUT・FF・BRAM・DSP・クロックドメイン
FPGA(Field-Programmable Gate Array)は 再構成可能なデジタル回路アレイ である。中核は 5 つの資源。
| 資源 | 役割 | 単位 |
|---|---|---|
| LUT(Look-Up Table) | 4〜6 入力の真理値表、任意の組み合わせ回路を実装 | iCE40 4-LUT、ECP5 4-LUT、7-series 6-LUT |
| FF(フリップフロップ) | 同期レジスタ、通常 LUT ごとに 1 つ | LUT-FF ペア |
| BRAM(ブロック RAM) | 18〜36 kbit のデュアルポートメモリブロック | iCE40 4 kbit EBR、ECP5 18 kbit EBR |
| DSP スライス | 乗算・累積器、信号処理 / AI 加速 | iCE40 にはほぼ無、ECP5 18×18、7-series DSP48 |
| クロック / PLL | クロック分配・周波数合成 | 通常 4〜8 のグローバルクロック |
LUT 数はチップ規模の一次指標だが、BRAM と DSP が用途を決める。映像・AI 加速は DSP が、キャッシュや FIFO の多い設計は BRAM が先にネックになる。
iCE40 HX8K: 7,680 LUT4, 7,680 FF, 32×4kbit BRAM = 128 kbit, DSP なし
iCE40 UP5K: 5,280 LUT4, 5,280 FF, 30×4kbit + 4×128kbit SPRAM = 約 640 kbit, DSP 8
ECP5 LFE5UM-85F: 84K LUT4, 84K FF, 208×18kbit = 約 3.7 Mbit, DSP 156
Artix-7 XC7A100T: 101K LUT6, 126K FF, 4.86 Mbit BRAM, DSP48 240
「どの規模のチップを買うべきか」は合成を一度回さないと答えが出ない。目安として 趣味の学習は 5K〜10K LUT(iCE40 HX/UP5K、Tang Nano 9K)、教育・RISC-V ソフトコアは 25K〜85K LUT(ECP5、Cyclone 10)、本格 SoC は 100K 以上(Artix-7、Zynq) が無難。
2 章 · FPGA ベンダー地図 - AMD/Xilinx・Intel/Altera・Lattice・Microchip・GOWIN・EFINIX
2025 年に Intel は Altera を分社化して独立企業として再売却 に動き、2022 年に AMD が買収した Xilinx は AMD Adaptive Computing に完全吸収された。2026 年の 6 大ベンダーはこの構成。
| ベンダー | 代表ファミリ | 強み | ツールチェーン | オープンチェーン |
|---|---|---|---|---|
| AMD / Xilinx | 7-series、UltraScale+、Versal ACAP | 最大シェア、AI Engine、Zynq SoC | Vivado、Vitis | 部分(yosys + nextpnr-xilinx 実験的) |
| Intel から Altera(再独立) | Cyclone 10、Stratix 10/12、Agilex | HBM 統合、高密度 | Quartus Prime | なし |
| Lattice Semiconductor | iCE40、ECP5、MachXO5、CrossLink-NX、Avant | 低消費電力、小型パッケージ、オープン親和 | Radiant、Diamond、icecube2 | 完全(Yosys + NextPnR) |
| Microchip | PolarFire、PolarFire SoC、IGLOO2 | フラッシュベース(起動即時)、RISC-V SoC 統合 | Libero SoC | 部分 |
| GOWIN | LittleBee、Arora V、Aurora | 中国製の低価格、広いパッケージ | GoWin EDA | 部分(Apicula / nextpnr-himbaechel) |
| EFINIX | Trion、Titanium | 低消費電力、AI 加速(Quantum core) | Efinity | なし |
2026 年のトレンド。
- AMD Versal ACAP - FPGA + ARM + AI Engine をワンチップに。4nm プロセス、HBM 統合。データセンター AI 推論狙い。
- Lattice Avant - Lattice 初のミッドレンジ FPGA、2023 年発表、2025 年量産。ECP5 比 5 倍の論理量。
- Microchip PolarFire SoC - SiFive U54 4 コア + E51 1 コアの RISC-V と FPGA を一体化。BeagleV-Fire 採用。
- GOWIN GW5A - Arora V 5nm、韓国・日本のメーカー市場で活発。
オープンチェーンの観点では Lattice が事実上の標準。iCE40(IceStorm)、ECP5(Project Trellis)、MachXO(Project Oxide)の全ラインが Yosys/NextPnR に流れ、Lattice 自身も Radiant の中で Yosys をオプションに入れている。GOWIN は Apicula + nextpnr-himbaechel で LittleBee / Arora V の一部が入った。
3 章 · Yosys - オープン合成器の事実上の標準
Yosys は Claire Wolf(旧 Clifford Wolf)が 2012 年から開発する Verilog 合成器。ISC ライセンス。2026 年現在 0.45 が安定版。
Yosys は単なる合成器ではなく モジュラーな RTL → ゲートレベル変換パイプライン である。read_verilog から始まり、proc、opt、techmap、abc などのパスを通って write_verilog や write_blif に至る。
# iCE40 ターゲット合成のワンライナー
yosys -p "synth_ice40 -top top -json out.json" design.v
# より詳細なフロー
yosys -p "
read_verilog design.v
hierarchy -check -top top
proc; opt; fsm; opt
memory_bram -rules ice40.txt
techmap; opt
abc -lut 4
clean
write_json out.json
"
主な機能。
- 複数バックエンド - iCE40、ECP5、Xilinx 7-series(実験)、Gowin、Intel(実験)、Nexus、ASIC(ABC + Liberty)
- SystemVerilog 対応 - Verilog 2005 は完全、SV 2017 は部分(パラメータ、interface 一部)。完全な SV は slang + Yosys か sv2v 変換で。
- Verific フロントエンド - 商用パーサー。Yosys + Verific で SV/VHDL フル対応。非公開。
- Yosys cell library - シミュレーションモデルまで同梱。
2024 年に YosysHQ が Yosys 本家を運用し、Tabby CAD Suite(Yosys + Verific + SymbiYosys 商用)というビジネスモデルを構築。本体は ISC オープンソース のまま。
4 章 · NextPnR - 現代的な P&R、arachne-pnr の後継
NextPnR(2018〜)は Yosys と対になる place-and-route ツール。前世代の arachne-pnr(iCE40 専用、単純な SA ベース)を置き換えた。
NextPnR が持ち込んだもの。
- タイミング解析駆動の P&R - 静的タイミングを P&R ループに直接組み込む。
- 複数デバイス - iCE40、ECP5、Nexus(MachXO5)、Gowin(himbaechel 経由)、実験的 Xilinx。
- HeAP placer + router - 大規模設計に耐える。
- GUI - 配置結果を可視化。
フローは単純。
# Yosys 合成
yosys -p "synth_ice40 -top top -json top.json" top.v
# NextPnR で P&R
nextpnr-ice40 --hx8k --package ct256 \
--json top.json \
--pcf top.pcf \
--asc top.asc
# icepack: ASCII → ビットストリーム
icepack top.asc top.bin
# iceprog: ボードに書き込み
iceprog top.bin
ECP5 フローも同じ形。
yosys -p "synth_ecp5 -top top -json top.json" top.v
nextpnr-ecp5 --25k --package CABGA381 \
--json top.json --lpf top.lpf \
--textcfg top.config
ecppack --svf top.svf top.config top.bit
ujprog top.bit # または openFPGALoader
Gowin もほぼ同じ。
yosys -p "synth_gowin -top top -json top.json" top.v
nextpnr-himbaechel --device GW1NR-LV9QN88PC6/I5 \
--json top.json --vopt cst=top.cst \
--write top_pnr.json
gowin_pack -d GW1N-9C -o top.fs top_pnr.json
openFPGALoader -b tangnano9k top.fs
NextPnR 0.7+(2025)はマルチスレッドルーターを導入し、100K LUT クラスの P&R 時間を半分以下に短縮した。
5 章 · Project IceStorm・Project Trellis・Project NX/Apicula - ビットストリームのリバースエンジニアリング
オープンチェーン最大の難関は ビットストリームのフォーマット。合成と P&R はアルゴリズムだが、ビットストリームはベンダーが非公開にしているビット単位のエンコーディング。これを解くのが「プロジェクト群」の仕事。
| プロジェクト | ターゲット | 開始 | 状況 |
|---|---|---|---|
| IceStorm | Lattice iCE40(HX、LP、UP、UltraPlus) | 2015 | 完成、事実上の標準 |
| Project Trellis | Lattice ECP5(LFE5U/UM 12/25/45/85) | 2017 | 完成 |
| Project Oxide / nextpnr-nexus | Lattice Nexus(MachXO5、CrossLink-NX、CertusPro-NX) | 2020 | 進行中 |
| Project Apicula | Gowin LittleBee、Arora V(一部) | 2020 | 部分対応 |
| Project U-Boot / SymbiFlow → F4PGA | Xilinx 7-series(Artix-7) | 2017 | 停滞、部分対応 |
| prjpolarfire | Microchip PolarFire | 2024(実験) | 初期段階 |
中心は IceStorm と Project Trellis。Claire Wolf の Project IceStorm(2015)がすべての出発点。iCE40 のビットストリームを一ビットずつ追って解読し、その上に Yosys synth_ice40 バックエンドと arachne-pnr / nextpnr-ice40 が乗った。David Shah の Project Trellis(2017)が同じことを ECP5 で行った。この 2 つがなければ NextPnR にもターゲットがない。
2025〜2026 年の動き。
- Project Oxide → nextpnr-nexus - MachXO5/CrossLink-NX の部分対応。Lattice 自身も一部協力。
- Apicula - Robert Ou らが GOWIN GW1N 系を解読、GW2A も進行中。Tang Nano 9K/20K は実用段階。
- prjpolarfire - PolarFire ビットストリーム解析が始まったところ。時間がかかる。
教訓は 「ハードウェアメーカーの協力がなくてもビットストリームは解ける」 が、解くには人間の時間が必要、ということ。
6 章 · オープン FPGA ボード - iCEbreaker・OrangeCrab・Tang Nano・ECPIX-5・Arty A7
2026 年、オープンチェーンが回るボードをカテゴリ別に整理する。
iCE40 系(最も入門しやすい)
| ボード | FPGA | メモリ | 価格(2026) | 特徴 |
|---|---|---|---|---|
| iCEbreaker | iCE40-UP5K | 5K LUT + 1 Mbit SPRAM | 50 ドル | 1bitsquared 製、PMOD 多数、RISC-V ワークショップ標準 |
| TinyFPGA BX | iCE40 LP8K | 7.6K LUT | 35 ドル | USB 直接起動、ブレッドボード親和 |
| iCE40-HX8K Breakout | iCE40 HX8K | 7.6K LUT | 80 ドル | Lattice 公式、学習用 |
| Olimex iCE40-HX8K-EVB | iCE40 HX8K | + Cortex-M0 | 40 ドル | 欧州製 |
| Fomu | iCE40-UP5K | 5K LUT | 50 ドル | USB ポート内に収まる超小型 |
ECP5 系(RISC-V ソフトコアが実用な領域)
| ボード | FPGA | 価格 | 特徴 |
|---|---|---|---|
| OrangeCrab | ECP5 25F/85F | 129 ドル | Feather フォームファクタ、DDR3 |
| ECPIX-5 | ECP5 45F/85F | 150 ドル | LambdaConcept 製、RISC-V Linux 可 |
| Versa-ECP5(Lattice 公式) | ECP5 45F | 250 ドル〜 | DDR3、PCIe x1、Ethernet |
| Colorlight 5A-75B | ECP5 25F | 25 ドル | LED コントローラ基板の改造、激安 |
| ULX3S | ECP5 12/25/45/85F | 115 ドル〜 | EMARD 製、HDMI、ESP32、microSD、最も汎用 |
Gowin 系(最も安い)
| ボード | FPGA | 価格 | 特徴 |
|---|---|---|---|
| Tang Nano 9K | GW1NR-9(8640 LUT) | 20 ドル | HDMI、microSD、入門の標準 |
| Tang Nano 20K | GW2AR-18(20736 LUT) | 30 ドル | SDRAM 内蔵、RISC-V Linux も可能圏 |
| Tang Primer 20K | GW2A-18 | 50 ドル | より大きい LUT、Pmod |
| Tang Mega 138K | GW5AT-138 | 100 ドル | Arora V、AI トイ可能 |
Xilinx(オープンチェーン部分対応、Vivado メイン)
| ボード | FPGA / SoC | 価格 | 特徴 |
|---|---|---|---|
| Arty A7-35T / 100T | Artix-7 | 129〜249 ドル | Digilent 製、RISC-V ソフトコア学習の標準 |
| Zybo Z7-10 / 20 | Zynq-7000(ARM + FPGA) | 199〜299 ドル | Linux + FPGA |
| PYNQ-Z2 | Zynq-7020 | 229 ドル | PYNQ で Python から FPGA を操作 |
| Genesys 2 | Kintex-7 | 1000 ドル〜 | 高仕様の学習・研究 |
Intel/Altera
| ボード | FPGA | 価格 | 特徴 |
|---|---|---|---|
| CYC1000 | Cyclone 10 LP | 50 ドル | Trenz 製、コンパクト |
| DE10-Lite / DE10-Nano | MAX10 / Cyclone V | 85〜150 ドル | 教育の標準、Terasic 製 |
学習段階の目安は、第 1 段階が iCEbreaker(iCE40-UP5K、50 ドル)、第 2 段階が ULX3S または OrangeCrab(ECP5、115〜150 ドル)、第 3 段階が Arty A7-100T または Zybo Z7-20。「20 ドルでまず始めたい」なら Tang Nano 9K が最適。
7 章 · RISC-V - ISA から拡張セットまで
RISC-V は UC Berkeley で 2010 年に始まったオープン ISA。2015 年に RISC-V Foundation(現 RISC-V International)が発足し、2026 年時点で次のような標準が固まっている。
| 拡張 | 意味 | 備考 |
|---|---|---|
| RV32I / RV64I | 32/64 ビットの基本整数 | 必須 |
| M | 乗除算 | 事実上必須 |
| A | アトミック | SMP、マルチコアに必須 |
| F / D / Q | 浮動小数 32/64/128 | 部分採用 |
| C | 圧縮(16 ビット命令) | コードサイズ約 1.5 倍効果 |
| B | ビット操作(Zba/Zbb/Zbs) | 2021 年批准 |
| V | ベクトル | 2021 年批准、AI の中核 |
| Zicsr / Zifencei | CSR / fence.i | システムに必須 |
| H | ハイパーバイザ | 2023 年批准 |
| Zk* | スカラ暗号 | 2021 年批准 |
典型的な「RV64GC」プロファイルは RV64IMAFDCZicsr_Zifencei。Linux ディストロの標準。
2025 年に批准された RVA23 が 2026 年のデータセンター・モバイル基準。V(Vector 1.0)、B、Zk*、H、Zicboz が必須化された。Android RISC-V 移植は RVA23 ベース。
8 章 · オープン RISC-V コア - PULPino・Rocket・BOOM・Ariane・VexRiscv・OpenTitan
オープンソース RISC-V CPU コア IP は 2026 年、ほぼ「選んで使う」段階。
| コア | 出自 | HDL | 特徴 | ライセンス |
|---|---|---|---|---|
| Rocket Chip | UC Berkeley | Chisel | RV64GC 5 段イン・オーダー、Linux 対応 | BSD |
| BOOM | UC Berkeley | Chisel | OoO スーパースカラ、研究の標準 | BSD |
| CVA6(Ariane) | OpenHW / ETH | SystemVerilog | RV64GC 6 段、Linux、産業検証済み | Solderpad |
| CV32E40P(PULPino) | OpenHW / ETH | SystemVerilog | RV32IMC、小型かつ産業グレード | Solderpad |
| CV32E40X / CV32E41P | OpenHW | SystemVerilog | XIF 拡張ポート、P-ext 実験 | Solderpad |
| Ibex | lowRISC | SystemVerilog | RV32IMC、OpenTitan の心臓 | Apache 2.0 |
| VexRiscv | SpinalHDL | SpinalHDL | プラグインベース、合成に優しい | MIT |
| NaxRiscv | SpinalHDL | SpinalHDL | OoO、VexRiscv の後継 | MIT |
| PicoRV32 | Clifford Wolf | Verilog | 超小型、iCE40-UP5K に収まる | ISC |
| SERV | Olof Kindgren | Verilog | ビット直列、世界最小の RV32I | ISC |
| Western Digital SweRV / EH1/2 | WD | SystemVerilog | 組み込み、NVMe コントローラ由来 | Apache 2.0 |
| OpenTitan Ibex ベースの RoT | lowRISC + Google | SystemVerilog | TPM 相当のセキュリティチップ、ChromeOS 搭載 | Apache 2.0 |
| Microchip MiV | Microchip | (非公開ネットリスト) | PolarFire 内蔵ソフトコア | プロプライエタリ |
選び方の目安。
- iCE40-UP5K に RISC-V を一度乗せてみたい → PicoRV32 または SERV。
- ECP5 で Linux を起動したい → VexRiscv(LiteX 同梱)または Rocket Chip。
- 産業向け RV32 マイコン IP → CV32E40P(PULPino)または Ibex。
- 研究用 OoO → BOOM または NaxRiscv。
- セキュリティ Root of Trust → OpenTitan。
LiteX(Florent Kermarrec)は VexRiscv を中心に SoC を 5 分で作れるフレームワーク。ECP5/ULX3S/OrangeCrab/Tang Nano で Linux を起動する最速ルート。
9 章 · SiFive・Andes・Codasip - 商用 RISC-V IP
SiFive(2015 年に Berkeley 出身者が設立)は商用 RISC-V IP の代表。2026 年のラインナップ。
| ライン | 代表コア | ターゲット | 備考 |
|---|---|---|---|
| Performance | P870 | データセンター、モバイル | OoO RV64GCV、RVA23 |
| Intelligence | X280、X390 | エッジ AI/ML 推論 | 1024 ビットベクトル |
| Essential | E2、E3、E6、E7、E76 | マイコン | E76 = HiFive Premier P550 |
| Automotive | S26、S2C26 | ASIL-B/D | ISO 26262 |
2025 年発表の SiFive P870-D は 16 コア RV64GCV、5GHz のデータセンタークラス。Intel Lunar Lake 時代に RISC-V がノートPC・サーバを狙う。
他の商用 IP。
- Andes Technology - 台湾、AndeStar V5 ISA(RISC-V 互換+拡張)、Andriy N25/A25/AX65/AX27。
- Codasip - チェコ、カスタム RISC-V コア生成器 + Codasip Studio。
- Cortus - フランス、APS25。
- Esperanto Technologies - ET-SoC-1、1088 コアの RISC-V AI 推論チップ。
- Tenstorrent - Jim Keller の会社。Ascalon(16-wide OoO RV64)でノート PC SoC へ進出。
2026 年の主軸は 「RV64 サーバクラスコア」。ARM Neoverse に本気で挑む RISC-V コアが初めて登場した。
10 章 · RISC-V SBC - VisionFive 2・Milk-V・BeagleV・HiFive・Banana Pi・LicheePi
物理的な RISC-V コンピュータ(ボード)は 2026 年、ほぼあらゆる価格帯に存在する。
| ボード | SoC | RISC-V コア | 価格 | 備考 |
|---|---|---|---|---|
| VisionFive 2 | StarFive JH7110 | 4×SiFive U74 @ 1.5GHz | 60〜80 ドル | Debian/Ubuntu 安定、IMG GPU |
| Milk-V Mars | StarFive JH7110 | 4×U74 | 50 ドル〜 | RPi フォームファクタ |
| Milk-V Mars CM | JH7110 | 4×U74 | 40 ドル | CM4 フォームファクタ |
| Milk-V Meles | TH1520 | 4×Xuantie C910 | 100 ドル〜 | T-Head、Alibaba |
| Milk-V Pioneer | SG2042 | 64×C920 | 1500 ドル | メインボード形、デスクトップ |
| Pine64 Star64 | JH7110 | 4×U74 | 70 ドル〜 | Pine64 エコシステム |
| BeagleV-Ahead | TH1520 | 4×C910 | 150 ドル | BeagleBoard.org |
| BeagleV-Fire | Microchip MPFS025T | 4×U54 + 1×E51 + FPGA | 150 ドル | FPGA 統合 |
| SiFive HiFive Unmatched | FU740 | 4×U74 + 1×S7 | (販売終了) | 2021 |
| HiFive Premier P550 | EIC7700X(ESWIN) | 4×SiFive P550 | 399 ドル | RVA22、2024 発売 |
| Banana Pi BPI-F3 | SpacemiT K1 | 8×X60 | 90 ドル〜 | RVV 1.0 ベクトル |
| Sipeed LicheePi 4A | TH1520 | 4×C910 @ 1.85GHz | 150 ドル〜 | 8/16GB RAM オプション |
| Sipeed LicheePi 3A | TH1520 | 4×C910 | 80 ドル | 軽量 |
| Tang Mega 138K Pro | Gowin GW5AT-138 + LiteX VexRiscv | ソフトコア | 100 ドル | ソフト RISC-V FPGA |
性能とソフトウェア成熟度で見ると。
- デスクトップ代替 - Milk-V Pioneer、HiFive Premier P550。
- 趣味・ホームサーバ - VisionFive 2、Milk-V Mars、Pine64 Star64。Ubuntu/Debian/Fedora パッケージ豊富。
- FPGA と組み合わせてデジタル設計学習 - BeagleV-Fire。
- ベクトル加速ベータ - Banana Pi BPI-F3、LicheePi 4A。
2026 年の RISC-V SBC の本当の課題は依然として GPU ドライバ と Linux カーネル V 拡張対応。メインライン Linux に RVV 1.0 は入ったが、ユーザ空間ライブラリは追従中。
11 章 · BeagleV-Fire と PolarFire SoC - FPGA + RISC-V のワンパッケージ
BeagleV-Fire(2024)は BeagleBoard.org が作ったボードで、核は Microchip PolarFire SoC MPFS025T-FCSG325E。一つのパッケージに以下が入る。
- 4×SiFive U54 RV64GC Linux 対応コア @ 600MHz
- 1×SiFive E51 RV64IMAC モニタコア
- 約 25K LUT + 68 LSRAM(PolarFire FPGA ファブリック)
- メモリコントローラ、PCIe、USB 統合
このボードの意味は 「Zynq の RISC-V 版」 だということ。ARM Cortex-A + FPGA の Zynq と同様、RISC-V + FPGA がワンチップにあり、ソフトウェアは Linux、加速は FPGA に振り分けできる。さらに PolarFire は フラッシュベース なので起動が即時(SRAM ベースの Xilinx は起動時にビットストリームのロード時間が必要)。
# BeagleV-Fire で RISC-V Linux を起動した後に FPGA ビットストリームを差し替え
sudo mtd-utils flashcp custom.spi /dev/mtd-fpga
# または BeagleV-Fire の gateware アップデートツール
sudo /opt/microchip/fpga-config-tool/fct \
--bitstream custom.dat --slot golden
sudo reboot
Microchip は Libero SoC(クローズドツール)をメインに推すが、BeagleV-Fire コミュニティは VexRiscv + LiteX を PolarFire 上で動かす道も開いている。
12 章 · HDL 言語 - Verilog・SystemVerilog・VHDL・Chisel・SpinalHDL・Amaranth・Veryl
ハードウェア記述言語(HDL)の地図は 2026 年に 5 つの流れ。
1. 古典 Verilog / SystemVerilog(産業標準)
// SystemVerilog 2017 - シンプルなレジスタ
module reg8 (
input logic clk,
input logic rst_n,
input logic [7:0] din,
output logic [7:0] dout
);
always_ff @(posedge clk or negedge rst_n) begin
if (!rst_n) dout <= 8'h00;
else dout <= din;
end
endmodule
SV 2017 は logic、always_ff/comb、interface、package、bind、アサーション(SVA)といった産業必須機能を追加。2023 標準は事実上マイナーアップデート。
2. VHDL 2019
entity reg8 is
port (
clk : in std_logic;
rst_n : in std_logic;
din : in std_logic_vector(7 downto 0);
dout : out std_logic_vector(7 downto 0)
);
end entity;
architecture rtl of reg8 is
begin
process (clk, rst_n) is
begin
if rst_n = '0' then
dout <= (others => '0');
elsif rising_edge(clk) then
dout <= din;
end if;
end process;
end architecture;
欧州・防衛・航空で強い。GHDL がオープンシミュレータ、合成は ghdl-yosys-plugin が解く。
3. Chisel(Scala ベース、UC Berkeley)
import chisel3._
class Reg8 extends Module {
val io = IO(new Bundle {
val din = Input(UInt(8.W))
val dout = Output(UInt(8.W))
})
val r = RegInit(0.U(8.W))
r := io.din
io.dout := r
}
Chisel は Scala embedded DSL。Rocket Chip、BOOM、Chipyard のエコシステムは全部 Chisel。出力は FIRRTL → SystemVerilog。Chisel 6(2024)は Scala 2.13/3 ベース。
4. SpinalHDL(Scala ベース、VexRiscv エコシステム)
import spinal.core._
class Reg8 extends Component {
val io = new Bundle {
val din = in UInt(8 bits)
val dout = out UInt(8 bits)
}
val r = Reg(UInt(8 bits)) init(0)
r := io.din
io.dout := r
}
Chisel と同じ哲学だが、構文が軽くシミュレーションが速い。VexRiscv / NaxRiscv の母体。
5. Python HDL - Amaranth(旧 nMigen)・Migen・MyHDL・PyMTL
# Amaranth
from amaranth import *
class Reg8(Elaboratable):
def __init__(self):
self.din = Signal(8)
self.dout = Signal(8)
def elaborate(self, platform):
m = Module()
m.d.sync += self.dout.eq(self.din)
return m
Amaranth(M-Labs、旧 nMigen)は Yosys と直接統合。LiteX の一部コンポーネントも Amaranth。
6. Veryl(Rust スタイル、2023 〜)
module reg8 (
clk: input clock,
rst_n: input reset,
din: input logic<8>,
dout: output logic<8>,
) {
always_ff (clk, rst_n) {
if_reset {
dout = 0;
} else {
dout = din;
}
}
}
Veryl は Verilog にトランスパイルされる。モジュールインポート、型推論、名前空間といったモダン言語機能。
7. CIRCT(MLIR ベース、LLVM 配下)
CIRCT は LLVM 内の 回路 IR。FIRRTL/HW/SV/Calyx などの dialect を持つ。2026 年には Chisel はほぼ全面 CIRCT バックエンドに移行。
学習段階の目安は、第 1 段階に SystemVerilog(産業標準)、第 2 段階に Chisel または SpinalHDL(RISC-V SoC エコシステム)、第 3 段階に Amaranth または Veryl。
13 章 · Verilator・Icarus・GHDL・Cocotb - シミュレータ
RTL をチップに焼く前に シミュレーション で検証する。2026 年のツール群。
| ツール | 言語 | 速度 | ライセンス | 特徴 |
|---|---|---|---|---|
| Verilator 5 | SV(合成可能) | 非常に速い | LGPL | C++ にコンパイル、産業標準。5.x は SVA 強化 |
| Icarus Verilog(iverilog) | Verilog/SV(イベント駆動) | 普通 | GPL | 最も始めやすい |
| GHDL | VHDL | 速い | GPL | VHDL 1987〜2019 |
| CXXRTL | Yosys バックエンド | 非常に速い | ISC | Yosys 合成結果を C++ で |
| Verilator + cocotb | Cocotb 連携 | 速い | 混合 | Python テストベンチ |
| Modelsim / Questa | SV/VHDL | 普通 | 商用 | Intel 買収後 ED ライセンス、学生向け一部無料 |
| VCS(Synopsys) | SV | 速い | 商用 | 産業標準 |
| Xcelium(Cadence) | SV/VHDL | 速い | 商用 | 産業標準 |
Verilator フロー。
# 合成可能な Verilog を C++ にコンパイル
verilator --cc design.v --exe sim_main.cpp \
--trace --build -j 0
# シミュレーション実行
./obj_dir/Vdesign
# 波形は GTKWave か Surfer で
gtkwave dump.vcd
Cocotb(2013〜)は Python コルーチンベースのテストベンチ。2026 年の安定版は 1.9。
# tb_reg8.py
import cocotb
from cocotb.clock import Clock
from cocotb.triggers import RisingEdge
@cocotb.test()
async def test_reg8(dut):
cocotb.start_soon(Clock(dut.clk, 10, units="ns").start())
dut.rst_n.value = 0
await RisingEdge(dut.clk)
dut.rst_n.value = 1
dut.din.value = 0xA5
await RisingEdge(dut.clk)
await RisingEdge(dut.clk)
assert dut.dout.value == 0xA5
# 最小 Makefile
SIM = verilator
TOPLEVEL_LANG = verilog
VERILOG_SOURCES = $(PWD)/reg8.sv
TOPLEVEL = reg8
MODULE = tb_reg8
include $(shell cocotb-config --makefiles)/Makefile.sim
波形ビューワ は伝統的に GTKWave が標準だったが、2024〜2025 年に Surfer(Rust で書かれた新世代)が急速に人気を得ている。WASM ビルドもあるのでブラウザでも動く。
14 章 · SymbiYosys・形式検証 - シミュレーションを越えて
シミュレーションは入力ケースを自分で書く必要がある。形式検証(formal verification) は 数学的にプロパティが全ケースで成立することを証明 する。
SymbiYosys(YosysHQ)は Yosys 上に乗った形式検証ドライバ。内部エンジンは Z3、Yices2、Boolector、CVC4 などの SMT ソルバ。
// SVA プロパティ付き add4.sv
module add4 (
input logic [3:0] a, b,
output logic [4:0] s
);
assign s = a + b;
// プロパティ: s は決して 30 を超えない(signed 解釈)
property no_overflow_msb;
@(posedge $time) (s <= 30);
endproperty
assert property (no_overflow_msb);
endmodule
# add4.sby
[tasks]
prove
[options]
prove: mode prove
prove: depth 20
[engines]
prove: smtbmc z3
[script]
read -formal add4.sv
prep -top add4
[files]
add4.sv
sby -f add4.sby prove
# 結果: PASS — または反例の .vcd
形式検証が強いのは AXI / Wishbone のようなバスプロトコル と 暗号モジュール。Symbiotic EDA の Wishbone formal property と AXI VIP が代表。
YosysHQ は Tabby CAD Suite で Verific(完全な SV/VHDL パーサ) + Yosys + SBY + 商用サポートを束ねて販売。オープン SBY はそのまま無料。
15 章 · 標準バス - AXI・AXI-Lite・Wishbone・TileLink
SoC 内部で IP ブロック同士が話すための 標準バス。
| バス | 出自 | 特徴 | 用途 |
|---|---|---|---|
| AMBA AXI4 | ARM(仕様は無料) | 5 チャネルの split transaction、バースト | Xilinx、ARM、Intel、事実上の産業標準 |
| AXI4-Lite | ARM | AXI の単純版、レジスタインタフェース | 制御レジスタ、小型 IP |
| AXI4-Stream | ARM | データストリーム、アドレスなし | DSP/AI データフロー |
| AHB / APB | ARM | 古い、組み込み MCU | Cortex-M MCU |
| Wishbone B4 | OpenCores | オープン、単純 | OpenRISC、オープン IP 多数 |
| TileLink | Chipyard / SiFive | RISC-V SoC のキャッシュコヒーレント | Rocket/BOOM、Chipyard |
| OCP | Accellera | 事実上減少傾向 | 一部 ASIC |
| NoC | 多数 | network on chip、スケーラブル | マルチコア |
オープン RISC-V SoC は基本的に TileLink(Rocket Chip、Chipyard)または Wishbone(LiteX、VexRiscv)を使い、外部インタフェースだけ AXI に変換する。AXI ⇔ Wishbone、AXI ⇔ TileLink ブリッジ IP はすべてオープン提供。
IP-XACT(IEEE 1685)は IP のメタデータ標準。ポート、レジスタ、メモリマップを XML で記述して RTL ラッパーを自動生成。代表的なオープンツールに Kactus2。
16 章 · オープン ASIC - OpenROAD・SkyWater 130nm・GlobalFoundries 180nm・Tiny Tapeout
FPGA は再構成可能だが ASIC(用途特化集積回路)は焼いてしまえば終わり。オープン ASIC フローが 2020 年以降に成り立つようになった。
OpenROAD(DARPA IDEA、UCSD/UMich)は RTL → GDSII 全体のオープン EDA フロー。Yosys が合成、OpenROAD がフロアプラン、配置、CTS、配線、DRC/LVS を担う。
# OpenROAD flow scripts
git clone https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts
cd OpenROAD-flow-scripts
./build_openroad.sh
# デザイン追加
cp -r designs/gcd flow/designs/sky130hd/my_design
# Makefile 設定を編集
make DESIGN_CONFIG=./designs/sky130hd/my_design/config.mk
PDK(process design kit)はチップを焼くためのデバイスモデルとルール。重要なオープン PDK は 2 つ。
| PDK | ノード | 後援 | 備考 |
|---|---|---|---|
| SkyWater SKY130 | 130nm | Google / SkyWater | 2020 公開、最も成熟 |
| GlobalFoundries GF180MCU | 180nm | Google / GF | 2022 公開、アナログ親和 |
| IHP SG13G2 | 130nm BiCMOS | IHP(ドイツ) | 2023 公開、SiGe BiCMOS |
| (実験) PDK@22FDX | 22nm | NDA 要 | 非公開 |
Tiny Tapeout(Matt Venn、2022〜)が決定的な変化。130nm Sky130 にユーザの設計を タイル 単位で集めて 1 チップに焼き、各ユーザに PCB を送る。2026 年回の価格は 1×1 タイル 50 ドル、2×2 で 200 ドル、8×2 で 300 ドル。
# Tiny Tapeout の設計は Verilog 1 モジュールに圧縮
module tt_um_my_design (
input wire [7:0] ui_in, // 8 入力(スイッチ/ボタン)
output wire [7:0] uo_out, // 8 出力(LED)
input wire [7:0] uio_in, // 双方向入力
output wire [7:0] uio_out, // 双方向出力
output wire [7:0] uio_oe, // 双方向 enable
input wire ena, // enable
input wire clk, // クロック
input wire rst_n // リセット
);
// 設計はここに
endmodule
OpenLane(Efabless)は SkyWater + OpenROAD を束ねたフロー。Mflowgen(UT Austin)も似た役回り。2026 年に OpenLane 2 が Python ベースで書き直された。
Efabless の caravel チップは RISC-V(PicoRV32) + 約 10mm² のユーザ領域。caravel を通じた MPW shuttle(multi-project wafer)が年に数回回る。学生・小規模チームが初めて「自分の ASIC」を持てるようになった流れ。
17 章 · OpenTitan・Caliptra - セキュリティ RoT のオープンハードウェア
OpenTitan(lowRISC + Google、2019〜)はオープンな セキュリティ root of trust のチップ設計。Ibex RV32IMC コア、AES/SHA/HMAC/PRNG アクセラレータ、ライフサイクルマネージャ、OTP fuse、USB、SPI をワンチップに。Google Titan(Chromebook 用セキュリティチップ)や Apple T2 のオープン対応。
2024 年に Google が量産 OpenTitan ベースチップを発表。2026 年にはデータセンター NIC、サーバ BMC、IoT ゲートウェイが OpenTitan を RoT として採用する流れ。
Caliptra(OCP、Microsoft/Google/AMD/NVIDIA、2022〜)はデータセンターアクセラレータ・SoC に組み込む RoT IP。OpenTitan の一部を活用。Open Compute Project の標準。
要点は 「セキュリティチップもオープンで成立する」。閉じたセキュリティ(TPM メーカーが作って中を見せない)からオープンに検証可能なセキュリティへ。
18 章 · Chipyard・LiteX・Caravel - RISC-V SoC 統合フレームワーク
「コア + メモリ + UART + SPI + Ethernet」を毎回ゼロから書くのは非効率。SoC 統合フレームワークがその隙間を埋める。
Chipyard(UC Berkeley、2018〜)は Chisel ベースの RISC-V SoC ジェネレータ。Rocket/BOOM/CVA6 コア + L2 キャッシュ + アクセラレータ(NVDLA、Gemmini) + メモリコントローラ + 周辺を組み合わせる。
// Chipyard 設定
class MyConfig extends Config(
new boom.common.WithNLargeBooms(1) ++
new freechips.rocketchip.subsystem.WithNBigCores(2) ++
new chipyard.config.AbstractConfig
)
Chipyard ワークフローはシミュレータ(VCS/Verilator)、FPGA(FireSim)、ASIC(Hammer)を同時に視野に入れる。FireSim(AWS F1)は RISC-V SoC をクラウド FPGA 上でサイクル正確にシミュレーション。
LiteX(Florent Kermarrec、2018〜)は Migen/Amaranth ベースの SoC ジェネレータ。VexRiscv/NaxRiscv コア + Wishbone バス + LiteDRAM + LiteEth + LiteSDCard などの IP を持つ。iCEbreaker、ULX3S、OrangeCrab、Arty、Tang Nano で Linux を起動する最も簡単な道。
# ULX3S で LiteX + VexRiscv + Linux
git clone https://github.com/litex-hub/linux-on-litex-vexriscv
cd linux-on-litex-vexriscv
./make.py --board=ulx3s --variant=85F --cpu-variant=linux \
--build --load
Caravel(Efabless)は ASIC shuttle 用の RISC-V ラッパー。ユーザ領域 + マネジメント SoC(PicoRV32 ベース)。
19 章 · 韓国 FPGA / RISC-V の動き - ETRI・KAIST・Rebellions
韓国の FPGA / RISC-V 活動は学術中心から産業中心へ移りつつある。
- ETRI(韓国電子通信研究院) - RISC-V ベースのシステム半導体研究。2024 年 ETRI RISC-V Linux ボードのデモ。
- KAIST - 電子工学のデジタル設計講義は SystemVerilog + Vivado が標準。RISC-V 講義も Chipyard/Rocket を活用。
- ソウル大・浦項工科大・高麗大 - RISC-V SoC 研究。
- Rebellions(2020〜) - AI 推論チップ ATOM(第 1 世代 GDDR6、第 2 世代 HBM)。制御コアに自社 RISC-V を採用。SK Telecom データセンターに導入。
- FuriosaAI - Warboy 第 1 世代(2021)、RNGD 第 2 世代(2024)。NPU は独自設計だが RISC-V をホストとして検討。
- Sapeon - SK 系列の NPU。
- DEEPX - エッジ AI NPU。
- Telechips / Silicon Mitus - 自動車・電力半導体での RISC-V 導入を検討。
韓国の FPGA メーカー市場は Lattice/Xilinx/Intel + 最近の Tang Nano(GOWIN)コスパで多様化。Maker Faire Seoul 2025 で Tang Nano ワークショップと ULX3S ワークショップが開催された。
オープン RISC-V SBC は Aliexpress / 直輸入 で入ってくる。VisionFive 2、Milk-V、LicheePi いずれも韓国コミュニティ(Clien、RPi Korea 掲示板)でレビューが活発。
20 章 · 日本の動き - PEZY-SC・Renesas RZ/Five・AIST OpenTitan
日本は RISC-V / FPGA 領域で独特の位置にある。ARM Cortex と NEC/Renesas/Toshiba 自社コアが強かったため RISC-V は遅れたが、2024〜2026 年に加速。
- Renesas RZ/Five(2023) - 初の量産 RISC-V MPU。Andes AX45MP デュアル RV64GC + RGMII Ethernet。産業用。
- Renesas R9A02G021(2024) - RISC-V ベースの 32 ビット MCU。AndesCore N22。
- PEZY-SC4 / SC4s - PEZY Computing のメニーコアアクセラレータ。第 1 世代(SC1)は MIPS、後継世代は独自 ISA + RISC-V ホストを検討。Top500 入賞歴あり。
- AIST(産業技術総合研究所) - 日本版 OpenTitan ポート、RISC-V CPU 研究。
- 東工大、東北大、京大 - RISC-V SoC、量子・AI アクセラレータ研究。
- 隼 / 昆蔵 Lab(RISC-V ボードコミュニティ) - 秋葉原メーカーシーンで Tang Nano / iCEbreaker ワークショップ。
興味深いのは日本が 車載 RISC-V に強いこと。Renesas は ISO 26262 ASIL-D RISC-V を量産済み。自動車 ECU の ARM → RISC-V 移行の最初の産業事例は日本から出る可能性がある。
経済産業省 の Rapidus 2nm ファウンドリは直接 RISC-V ではないが、日本国内の先端ノード回復が RISC-V SoC 量産を下支えする。
21 章 · ユースケース - レトロコンピューティング・HFT・映像・AI・セキュリティ
オープン FPGA / RISC-V が実際に使われている領域。
1. レトロコンピューティング / ゲーム(FPGA NES/SNES/MD)
| プロジェクト | ボード | 備考 |
|---|---|---|
| MiSTer FPGA | DE10-Nano(Cyclone V SoC) | NES、SNES、MD、PS1、Amiga、MSX など 200 以上 |
| Analogue Pocket | Altera Cyclone 10 | GB/GBC/GBA + 追加コア |
| MARSx(オープン) | ECP5 | 進行中 |
| NESCube | iCE40 | ワンチップ NES |
MiSTer は 2017 年以降、事実上レトロ FPGA の標準。200 以上のコアをオープンソースで取得し SD カードに入れて起動。
2. HFT(高頻度取引)
取引所のマーケットデータ解析、注文生成、FIX → ネイティブプロトコル変換を ナノ秒レイテンシ で処理するために Xilinx UltraScale+/Versal を使う。オープンチェーンはほぼなく、Vivado が中心。
3. 映像 / 画像処理
HDMI 入力 → AI 推論(小型 ML) → HDMI 出力のようなライブ映像。ECP5(OrangeCrab) + Wuxx HDMI Pmod や Zybo Z7 で。Sipeed Tang Mega 138K で 60fps 4K 処理に挑戦中。
4. AI アクセラレータ
NVDLA(NVIDIA Deep Learning Accelerator、オープン)、Gemmini(Chipyard)、VTA(TVM)を FPGA に合成。ECP5 85F で小規模モデル、Versal AI Edge で大規模モデル。
5. セキュリティ Root of Trust
OpenTitan をデータセンター NIC、サーバ BMC、IoT ゲートウェイに搭載。ChromeOS の Titan-C(OpenTitan ベース)、Caliptra(OCP)が量産開始。
6. 学習 / 教育
RV32IMC をゼロから書く授業が KAIST / Berkeley / ETH のいずれも標準化。iCEbreaker + PicoRV32、ULX3S + VexRiscv、Arty + Rocket の組み合わせ。
22 章 · 比較マトリクス - FPGA ボード / RISC-V SBC を 1 枚で
| 区分 | ボード | チップ | LUT またはコア | メモリ | 価格(2026) | 強み | 弱み |
|---|---|---|---|---|---|---|---|
| FPGA 入門 | iCEbreaker | iCE40-UP5K | 5K LUT4 | 1 Mbit SPRAM | 50 ドル | 完全オープン、ワークショップ標準 | DSP なし |
| FPGA 入門 | Tang Nano 9K | GW1NR-9 | 8.6K LUT4 | 32 Mbit PSRAM | 20 ドル | コスパ最強、HDMI 内蔵 | ツール未成熟 |
| FPGA 中級 | ULX3S | ECP5 25/85F | 25K〜84K LUT | 32MB SDRAM | 115 ドル〜 | HDMI、SD、ESP32 統合 | フォームファクタが大きい |
| FPGA 中級 | OrangeCrab | ECP5 85F | 84K LUT | 128MB DDR3 | 129 ドル | Feather 形、USB | ピン少 |
| FPGA 学習 | Arty A7-100T | Artix-7 | 101K LUT6 | 256MB DDR3 | 249 ドル | RISC-V 学習の標準 | Vivado 必須 |
| FPGA + ARM | Zybo Z7-20 | Zynq-7020 | 53K LUT + 2×A9 | 1GB DDR3 | 299 ドル | Linux + FPGA | Vivado 必須 |
| FPGA + RISC-V | BeagleV-Fire | PolarFire SoC | 25K LUT + 5×SiFive | 2GB DDR4 | 150 ドル | RISC-V Linux + FPGA | フラッシュ書き込みは一度 |
| RISC-V 入門 | Milk-V Mars | JH7110 | 4×U74 | 1〜8GB | 50 ドル〜 | RPi 形 | GPU 弱 |
| RISC-V デスクトップ | HiFive Premier P550 | EIC7700X | 4×SiFive P550 | 16GB DDR5 | 399 ドル | RVA22、mITX | RVV は次世代 |
| RISC-V ベクトル | Banana Pi BPI-F3 | SpacemiT K1 | 8×X60 | 4/8/16GB | 90 ドル〜 | RVV 1.0 | ソフト未成熟 |
| RISC-V ワークステーション | Milk-V Pioneer | SG2042 | 64×C920 | DDR4-3200 | 1500 ドル | 64 コア | 価格・電力 |
| セキュリティ | OpenTitan(量産) | EarlGrey | Ibex RV32 + crypto | 1MB SRAM | チップ単位 OEM | オープン RoT | ボード少 |
| レトロ | MiSTer(DE10-Nano) | Cyclone V SoC | 41K LE + 2×A9 | 1GB DDR3 | 230 ドル(基板 + IO) | 200 以上のコア | クローズド Quartus |
23 章 · 学習ロードマップ - 第 0 週から 1 年まで
FPGA / RISC-V に初めて入る人向けの 12 か月ロードマップ。
第 1〜2 週 - Verilog 基礎
- Verilog 2005 文法、always ブロック、レジスタ、FSM。
- シミュレータ: iverilog + GTKWave。あるいは EDA Playground(ブラウザ)。
- 書籍: Pong P. Chu「FPGA Prototyping by Verilog Examples」。
第 3〜6 週 - 初めてのボード、初めての L チカ → 初めての UART
- iCEbreaker または Tang Nano 9K を入手。
- LED 点滅 → UART エコー → 7 セグ → VGA。
- オープンチェーン(Yosys + NextPnR + IceStorm)。
第 7〜12 週 - SystemVerilog + 形式検証
- always_ff/comb、interface、package、SVA。
- SymbiYosys で簡単なプロパティ証明。
- Verilator で cocotb テストベンチ。
第 4〜6 か月 - 初めての RISC-V ソフトコア
- PicoRV32 を iCE40-UP5K に焼いてファームウェアを動かす。
- または VexRiscv を ULX3S に焼き、LiteX で Linux を起動。
- アセンブリ → GCC → OpenOCD デバッグ。
第 7〜9 か月 - Chisel / SpinalHDL または ECP5 SoC
- Chisel Bootcamp(Berkeley)または SpinalHDL ワークショップ。
- Chipyard で Rocket Chip をシミュレーション。
第 10〜12 か月 - ASIC フローまたは RISC-V SBC + アクセラレータ
- Tiny Tapeout に小さな設計を提出(50 ドル)。
- あるいは VisionFive 2 / BeagleV-Fire にアクセラレータ IP を接続。
費用は 30 ドル(Tang Nano)〜 300 ドル(ボード + ASIC タイル)で学部生レベルの予算で十分。1 年経つと SoC を 1 つ「自分で RTL から書いた」水準に達する。
24 章 · 落とし穴とハマりやすい箇所
- 合成とシミュレーションの差 -
initial、#delay、レースコンディションはシミュレーションでは通るが合成では無視されたり挙動が違う。 - クロックドメインクロス(CDC) - 異なるクロック間の信号は必ず同期化。メタステーブル防止。形式検証(CDC linter)を回すべき。
- タイミング違反 - 初回コンパイルは通っても、大きな設計では setup/hold 違反が出る。NextPnR の
--seed変更、パイプライン化。 - LUT/FF 不足 → ECP5 に移行 - iCE40 5K では RISC-V Linux は無理。VexRiscv RV32IM でも ECP5 25F 以上が普通。
- ベンダーライブラリ依存 - Vivado プリミティブ(BUFG、IOBUF)を明示的に使うと他 FPGA に移植できない。inferable code を優先。
- シミュレーションだけを信じる - 形式検証、合成後タイミングレポート、実機計測まで揃って検証完了。
- ビットストリームエンコードの差 - 同じ ECP5 でも Lattice Diamond と Yosys+nextpnr で結果が違うことがある。一部コーナーケースで Yosys は保守的。
- RISC-V V 拡張 - RVV 1.0 は批准済みだが GCC/LLVM 自動ベクトル化は 2026 年も進行中。手で intrinsics を書く段階。
25 章 · 結論 - デジタル設計の真の民主化
2026 年、デジタル回路設計はもはや「高価な EDA ライセンスを持つ人だけ」のものではない。
- 20 ドルの Tang Nano で初めての L チカ。
- 無料 Yosys / NextPnR でどんな iCE40 / ECP5 / Gowin ビットストリームでも。
- 無料 Verilator / Cocotb で産業グレードのシミュレーション。
- 無料 SymbiYosys で形式検証。
- 50 ドルの Tiny Tapeout で ASIC。
- 50〜1500 ドルの RISC-V SBC でデスクトップからワークステーションまで。
その上に オープンコア(PicoRV32、VexRiscv、Rocket、BOOM、CVA6、Ibex)、オープン SoC フレームワーク(Chipyard、LiteX)、オープン PDK(SKY130、GF180MCU)、オープン RoT(OpenTitan、Caliptra)が一行で展開される。これを学生一人がすべて触れる。
残る差は 2 つ。第 1 に、高密度 FPGA(Versal、Stratix 10)のオープンチェーンはまだ遠い。第 2 に、7nm 以下の ASIC オープン PDK は NDA の向こう側。それでも学習・趣味・小規模量産にはオープンで十分。
本当のメッセージは単純だ。「自分の回路をチップに焼く」 ことが書籍 100 冊分以内の予算に収まった。次にすることは学習ではなく、作ることだ。
参考資料
- Yosys: https://github.com/YosysHQ/yosys
- NextPnR: https://github.com/YosysHQ/nextpnr
- Project IceStorm: https://github.com/YosysHQ/icestorm
- Project Trellis: https://github.com/YosysHQ/prjtrellis
- Project Oxide(Nexus): https://github.com/gatecat/prjoxide
- Project Apicula(Gowin): https://github.com/YosysHQ/apicula
- SymbiYosys: https://github.com/YosysHQ/sby
- Verilator: https://www.veripool.org/verilator/
- Icarus Verilog: http://iverilog.icarus.com/
- Cocotb: https://www.cocotb.org/
- GTKWave: https://gtkwave.sourceforge.net/
- Surfer waveform viewer: https://surfer-project.org/
- RISC-V International: https://riscv.org/
- Rocket Chip: https://github.com/chipsalliance/rocket-chip
- BOOM: https://github.com/riscv-boom/riscv-boom
- CVA6(Ariane): https://github.com/openhwgroup/cva6
- CV32E40P: https://github.com/openhwgroup/cv32e40p
- Ibex: https://github.com/lowRISC/ibex
- VexRiscv: https://github.com/SpinalHDL/VexRiscv
- PicoRV32: https://github.com/YosysHQ/picorv32
- SERV: https://github.com/olofk/serv
- OpenTitan: https://opentitan.org/
- Caliptra: https://www.opencompute.org/projects/caliptra
- Chipyard: https://chipyard.readthedocs.io/
- LiteX: https://github.com/enjoy-digital/litex
- Chisel: https://www.chisel-lang.org/
- SpinalHDL: https://spinalhdl.github.io/SpinalDoc-RTD/
- Amaranth HDL: https://amaranth-lang.org/
- Veryl: https://veryl-lang.org/
- CIRCT(MLIR): https://circt.llvm.org/
- OpenROAD: https://theopenroadproject.org/
- OpenLane: https://github.com/The-OpenROAD-Project/OpenLane
- SkyWater PDK: https://github.com/google/skywater-pdk
- GlobalFoundries 180MCU PDK: https://github.com/google/gf180mcu-pdk
- Tiny Tapeout: https://tinytapeout.com/
- Efabless caravel: https://github.com/efabless/caravel
- BeagleV-Fire: https://beagleboard.org/beaglev-fire
- VisionFive 2: https://www.starfivetech.com/en/site/boards
- Milk-V: https://milkv.io/
- Sipeed LicheePi: https://wiki.sipeed.com/
- Lattice Semiconductor: https://www.latticesemi.com/
- AMD Adaptive Computing: https://www.amd.com/en/products/adaptive-socs-and-fpgas.html
- SiFive: https://www.sifive.com/
- MiSTer FPGA: https://misterfpga.org/