3-7 FPGAの構成データと再構成
FPGA(Field Programmable Gate Array)の最大の特徴は、
出荷後でも回路構成を変更できる点にあります。
この仕組みを支えているのが
構成データ(コンフィギュレーションデータ)
です。
構成データとは何か
構成データとは、
FPGA内部の
LUTの内容、配線の接続状態、FFの動作
などを定義するビット列です。
設計者が記述した HDL(Verilog / VHDL)は、
論理合成・配置配線を経て、
最終的に
「FPGA内部をどう結線するか」を示すデータ
へと変換されます。
再構成(Reconfiguration)の仕組み
FPGAは起動時、
外部メモリ(Flash、ROM など)から
構成データを読み込み、
内部回路を構築します。
電源を切ると回路が消え、
再起動時に再び読み込まれるため、
同じハードウェアで全く別の回路
として動作させることが可能です。
部分再構成という考え方
近年のFPGAでは、
一部の回路だけを動作中に書き換える
「部分再構成(Partial Reconfiguration)」
も利用できます。
- 使わない回路領域を別用途に切り替える
- 処理内容を動的に変更する
- 消費電力やリソースを最適化する
これは CPU や GPU にはない、
回路そのものを切り替える
という FPGA 特有の発想です。
CPU・GPUとの決定的な違い
CPUやGPUは、
命令を変えて処理内容を変える
アーキテクチャです。
一方FPGAでは、
命令ではなく回路自体が変わる
ため、
- 処理遅延が一定
- 並列動作が本質的
- リアルタイム性が高い
という特性を持ちます。