FPGA(Field Programmable Gate Array)は、製造後に論理機能や接続等を構成できる集積回路です。CPUへ命令列を与えることと、利用する論理回路を構成することを区別します。
内部で構成するもの
| 要素の例 | 役割 |
|---|---|
| 論理ブロック等 | 論理演算や状態の保持等を実現 |
| 配線・接続 | 機能ブロックを結び付ける |
| I/O・専用ブロック等 | 外部との接続、メモリ・演算等を支える |
内部資源や呼び方は製品によります。論理ブロックの接続等を設定して機能を実現しますが、物理的なトランジスターの数やチップ面積を自由に増減できる意味ではありません。
CPU・ASICとの比較
| 種類 | 着眼点 |
|---|---|
| CPU | 命令を実行する汎用の処理装置 |
| FPGA | 用意された資源へ回路の機能・接続を構成する |
| ASIC | 用途に合わせた専用の集積回路を設計・製造する |
FPGA内にCPUを持つ製品や、CPUの回路を実現する構成もあり、完全に排他的な分類ではありません。目的に合う処理の並列化やパイプライン化を設計できます。
設計から動作まで
- 必要な処理と入出力を決める。
- ハードウェア記述等から論理を設計。
- 合成・配置配線等でデバイスの資源へ割り当てる。
- タイミングや資源量を検証し、構成データを用意する。
- 実機で機能と条件を確認する。
記述したものが全てそのまま回路になるわけではなく、設計手法やツールの対応範囲があります。
利点と制約
仕様変更や試作、特定の並列処理で強みがありますが、速度・遅延・消費電力は設計と対象処理に依存します。CPUやGPUより必ず速い、必ず低電力とは限りません。資源・配線・クロック・開発や検証の費用も条件になります。
確認問題:FPGAの再構成とは、物理的なチップの大きさを好きに増減すること?
いいえ。用意されたデバイス資源の範囲で、論理機能や接続を構成することです。
関連する解説
関連する学習へ進む
回路で扱うAND・OR・XORなどを復習したい場合は、noteの論理演算教材へ進めます。FPGAの設計ツールや記述言語の操作講座ではありません。


コメント