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

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