FPGAとは
FPGA(Field-Programmable Gate Array)は、製造した後でも利用者が中の回路構成を書き換えられる半導体チップです。CPUのようにソフトウェアの命令を順番に実行するのではなく、目的の処理そのものを回路として組み、並列に動かします。
チップの中には、小さな論理回路(LUT=ルックアップテーブル)、フリップフロップ、配線のスイッチがたくさん並んでいます。設計データを読み込ませると、これらの部品のつなぎ方が決まり、専用回路として動きます。製品によっては、乗算器(DSPブロック)、メモリ、高速通信の回路、CPUコアも同じチップに載っています。
専用チップ(ASIC)と比べると、FPGAは作り直しの費用がかからず、出荷後でも回路を更新できます。そのぶん、同じ処理をASICで作った場合より、1個あたりの価格、消費電力、速度の面では一般に不利です。
FPGAの使い方
エンジニアの開発は、おおむね次の順に進みます。
1. 回路を記述する。VerilogやVHDLといったハードウェア記述言語(HDL)で、レジスタ転送レベル(RTL)の回路を書くのが基本です。C/C++から回路を生成する高位合成(HLS)も使われます。 2. メーカーの開発ツールで論理合成と配置配線を行い、ビットストリームと呼ばれる設定データを作る。 3. ビットストリームをチップに書き込み、実機で動作を確かめる。
ソフトウェア開発と違い、クロックごとの動作やタイミングの制約を意識する必要があります。そのため、学ぶのは簡単ではありません。最近は、LLMエージェントにチップを設計させる研究も出ています。ICCAD'26で発表される論文は、RTLを直接書かせる方法と、HLSを経由させる方法などを比較しました。当サイトの記事によると、HLS経由は「RTL直書きの2.6倍」という結果です。どの指標で2.6倍なのかは、論文本体で確認してください。
何に使えるのか(企画・DX向け)
FPGAが向いているのは、「処理の内容がはっきり決まっていて、低遅延や並列処理が必要なのに、量が少なくてASICを作るほどではない」場面です。代表的な用途は次のとおりです。
- 通信機器やネットワーク機器のパケット処理 - カメラ、医療機器、検査装置の画像・信号処理 - ASICを開発する前の試作と検証 - 金融取引など、遅延をできるだけ小さくしたい処理 - AI推論のアクセラレータ
一方、汎用的な計算やAIの学習には、GPUやCPUのほうが手軽な場合が多いです。導入を考えるときは、「どの処理を、どれくらいの遅延と電力で動かしたいか」を最初に決めると判断しやすくなります。
FPGAの料金・費用の考え方
FPGAの価格は、ロジックの規模や搭載している機能によって大きく変わります。この記事では、特定の型番の価格は書きません。費用は主に次の3つで決まります。
- チップや評価ボードの購入費 - 開発ツールのライセンス費(メーカーは、一部のデバイス向けに無償版のツールを提供しています) - HDLを書ける技術者の人件費と開発期間
実際には、3つ目の人件費と開発期間が最も重くなることが少なくありません。正確な見積もりは、メーカーや代理店に問い合わせる必要があります。
誰が作っているのか・競合(投資家向け)
大手は、旧XilinxのFPGA事業を買収したAMDと、Alteraの2社です。ほかに、低消費電力の製品を得意とするLattice Semiconductorや、Microchip Technologyなどが製品を出しています。
最近の動きとして、AlteraはFPGAの新製品「Agilex 2X」を発表しました。報道の見出しによると、第1弾の製品は電力あたりの性能が1.8倍です。ただし、何と比べて1.8倍なのか、仕様、出荷時期はまだ分かっていません。
用途ごとの競合は、GPU(AI処理や並列計算)、ASIC(大量生産する場合)、マイコンやCPU(小規模な制御)です。FPGAは「ASICほど数が出ないが、CPUでは性能が足りない」という領域で、これらの製品と競っています。
