FPGAは、CPUでのソフト処理と比べて、特定の処理をハード(専用の論理回路)によって高速化できるプログラマブルなデバイス(LSI)のこと。アクセラレータとしては、デバイスの製造後は内部の論理回路を変更できない「ASIC(Application Specific Integrated Circuit)」が使われることがあるが、FPGAは、機器に組み込んだ後でも、ユーザーなどがソフト的に内部の論理回路を変更できる点が特徴である。

 FPGAは、かつては有線・無線通信機器、ネットワーク機器、医療機器、計測機器など特定の産業機器での利用が主体だったが、最近では利用用途が広がっている。ハイエンド品はサーバーや各種アプライアンスなどに、安価なローエンド品はテレビなどのデジタル家電やスマートフォンといったコンシューマ製品にも搭載され始めている。

 特に、データセンターでのFPGA利用については、最近、大きな注目を集めている。米マイクロソフトが2015年初頭に自社のデータセンターにFPGAを導入することを表明したほか(関連記事)、米インテルはXeonとFPGAを一つのパッケージに封入した製品を投入する計画を明らかにした(関連記事)。国内でも、ネット広告の高速取引プラットフォームを手掛けるマイクロアドが、FPGAの利用を計画している(関連記事)。

 FPGAの論理回路は、以前は「Verilog HDL」や「VHDL」といった「HDL(ハードウエア記述言語)」を用いてクロック単位で設計する必要があったが、最近では、より抽象度の高いC言語などからHDLのコードを生成する「高位合成(動作合成)」と呼ばれるツールが発達し、ソフト技術者であってもFPGAを利用できる素地が整いつつある。