現場のエンジニアのためのFPGAガイド
最初のルックアップテーブルから研究レベルのアーキテクチャまでを体系立てたレッスン、テーマ別の深掘りハブ、率直なベンダー・ボードのリファレンス、そして出典付きで平易に書かれた毎日のニュース。
すべてのレッスンは2027年1月31日まで無料で読めます。アカウント登録は不要です。
学習トラック
すべてのレッスン →ここから始める
入門トラックの全体 →FPGAとは何か
フィールドプログラマブルゲートアレイは、論理の配線を自分で決めるチップです。本レッスンではその意味、マイコン・ASIC・GPUとの違い、そしてFPGAが真価を発揮する場面を説明します
FPGAはどのようにプログラムされるか
ハードウェア記述からコンフィギュレーション済みチップまでの道のりを段階ごとに追い、AMD、Altera、Lattice、オープンソースフローで出会うツール名を紹介します
組み合わせ論理とルックアップテーブル
ブール関数と真理値表、ルックアップテーブルがそのどれをも小さなメモリに変える仕組み、キャリーチェーンとマルチプレクサを解説し、VerilogとVHDLの組み合わせ論理ブロックを示します
レジスタ、クロック、状態という考え方
フリップフロップ、クロックエッジ、セットアップとホールドを直感的に説明し、設計を予測可能に保つ同期設計の規則と、同期リセットとイネーブル付きのレジスタをVerilogとVHDLで示します
初めてのHDLモジュール
VerilogモジュールとVHDLエンティティの構造、ポート、wire・reg・signal、連続代入とクロック付き代入を解説し、LEDを点滅させる完全なカウンタを両言語で1行ずつ説明します
シミュレーションとテストベンチ
合成の前にシミュレーションを行う理由、VerilogやVHDLのテストベンチが設計を駆動する仕組み、そして出力される波形の読み方を解説します。
トピックハブ
全20トピック →FPGAアーキテクチャ
LUT、配線、ブロックRAM、DSPスライス、クロッキング。
ハードウェア記述言語
VHDL、Verilog、SystemVerilog、そしてその上に立つジェネレータ。
高位合成
C、C++、SYCLをRTLに変換する技術と、それが報われる場面。
検証
テストベンチ、cocotb、UVM、形式検証、そしてハードウェアのCI。
タイミング収束と制約
STA、XDCとSDC、クロックドメイン間の乗り換え、リセット。
SoC FPGA
Zynq、Versal、Agilex SoC、PolarFire SoCとLinux。
ソフトプロセッサ
MicroBlaze V、Nios V、VexRiscv、NEORV32、LiteX。
高速I/O
トランシーバー、PCIe、Ethernet、DDR、HBM、JESD204。
FPGAでのDSP
固定小数点、DSPスライス、フィルタ、FFT、CORDIC。
無線とSDR
RFSoC、OFDM、LDPC、5G NRブロック、GNU Radioのオフロード。
画像・映像処理
カメラ、ディスプレイ、ストリーミングパイプラインと帯域幅
FPGAでのAIと機械学習
量子化推論、データフロー型とオーバーレイ型のアクセラレータ
ベンダー
ベンダーハブ →作ってみる
すべてのプロジェクト →オープンソースツールでTang Nano 9KのLチカからPWMブリージングLEDへ
Yosys、nextpnr-himbaechel、openFPGALoaderをインストールし、三角波とガンマ補正のルックアップ、自作のPWMモジュールで、Tang Nano 9Kの6個のLEDをゆっくり明滅させます。
Basys 3でUARTエコー
115200ボーのUART受信器と送信器をVerilogで作り、入力した文字を大文字・小文字を反転して返す回路をシミュレーションしてから、シリアルターミナルで実機テストします。
iCEBreakerでVGAテストパターンを表示する
オープンソースフローでiCE40 UP5Kから640x480、60 Hzの映像信号を生成します。PLLで作るピクセルクロック、同期信号生成器、カラーバー、市松模様、跳ね回るブロックを12ビットVGA Pmodに出力します。