FPGA(エフピージーエー)とは、製造後でも回路構成を修正・変更・設定できる集積回路のことです。「Field Programmable Gate Array」頭文字を組み合わせた言葉で、日本語だと「ユーザーやエンジニアがデバイスの入手後、その場(Field)でプログラムできる(Programmable)回路(Gate)」と意訳できます。市場規模が拡大しており、2025年には86億米ドルに到達すると予想されています。

FPGAの市場ができたのは1985年。アメリカの半導体製造企業「ザイリンクス」が、理論ゲートと配線をプログラムできるXC2064を製品化したのが始まりです。1985年から1990年代中頃にかけて、FPGAを開発・製造する企業が急激に増加。これに伴いFPGAの小型化や量産化が進み、自動車や産業用の機械にまで使われるようになりました。近年はチップ上でプログラムできるシステムや再構成可能コンピューティングなどが開発され、より多くの場面でFPGAの技術が使われています。

FPGAを設計するときは、まずコストや電源電圧などをもとに評価ボードを選定します。その後書き込みツールを準備し、メーカー提供の開発環境をセットアップしたらプログラミング言語を書き込みます。書き込みを終えたら回路の動作をテストし、回路通り正常に動いたら設計完了です。

FPGAのメリットは、いつでもプログラムの書き換えができること以外に、演算性能が非常に高く遅延が少ないことも挙げられます。一般的なCPUはコア全体を使って並列処理を行うため、不要な部分の並列化も必要でした。しかしFPGAはプログラムの変更ができるため、必要な処理だけを書き込んだ無駄のない動きを実現できます。またFPGAはデータソースに直接アクセスするため、要求したデータや結果が返送されるまでの時間的な遅延がかなり短いのも特徴です。処理効率が良いぶん、消費電力量の減少にも効果が期待できます。

高い機能性を誇るFPGAですが、他の集積回路であるCPUやGPUと比べるとプログラミングや構成がかなり難しいというデメリットがあります。FPGAでプログラミングする際は、VHDLやVerilogといったハードウェア記述言語を用いるのが一般的です。代替方法として高位合成も使えますが、それでもなお難易度が高いのが難点です。

FPGAの用途は、民生電子機器から事業用ハードウェアの設計・開発まで多岐に渡ります。FPGAを使用した身近な民生電子機器には、高精細テレビ・プロジェクター・モバイル端末などがあります。事業用としてはデータロガーや電源瞬間試験装置の開発、画像処理ボードの設計などに使用。集積回路を用途や目的に合わせて柔軟に書き換えられるぶん、幅広い製品に取り入れられています。