FPGA はLSI 内部の論理回路をプログラミングできる半導体チップの一つです.FPGAは多数の論理ブロックとその間を繋ぐ配線およびプログラム可能なスイッチで構成されています.論理ブロックは,任意の論理式を実現可能なLUTと,フリップフロップにより構成されています.これらにより複雑なディジタル回路をその場で実現できます.FPGAの設計はまず,HDL回路図で,論理回路を記述します.そのソース・コードFPGA 用の開発ツールでコンパイルすると,コンフィグレーション・データと呼ばれるファイルが生成されます.このコンフィグレーション・ファイルには論理ブロックの情報や論理ブロック間の配線方法などが記述されています.コンフィグレーション・データをFPGAダウンロード・ケーブル経由等で書き込むことで,そのFPGA が設計したディジタル回路へと変わります.
表 1. プログラマブル・デバイスの比較

表 1. プログラマブル・デバイスの比較