入門
「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のテストベンチが設計を駆動する仕組み、そして出力される波形の読み方を解説します。
有限状態機械
MooreマシンとMealyマシン、状態のエンコード方法、2プロセス記述と1プロセス記述、そして初心者が最初のFSMで必ず引っかかるバグを解説します。
カウンタ、タイマーとデバウンス
分周クロックの代わりにクロックイネーブルを使う理由、ミリ秒tick生成器、エッジ検出付きのボタンデバウンサ、多重化した7セグメント表示器を、テストベンチ付きで解説します。
メモリ、ブロックRAMとFIFO
分散RAMとブロックRAMの違い、合成が正しいプリミティブを推論するようにRAMとROMを書く方法、リードビフォアライトとライトファースト、そしてfullとemptyフラグを備えた同期FIFOを解説します。
RTLからボードへ: フローの全体像
AMD、Altera、Lattice、Gowinの制約ファイル、ピン割り当てとI/O規格、タイミングレポートの読み方、そしてBasys 3とTang Nano 9KでのLチカの実例を解説します。