FPGAとは?仕組み・メリット・用途を分かりやすく解説

FPGA(Field-Programmable Gate Array)は、出荷後でもユーザーが回路構成を変更できる「プログラマブルな集積回路」です。ソフトウェアを書き換えるのではなく、ハードウェア回路そのものを再構成できる点が大きな特徴です。

結論から言えば、FPGAは「低遅延」と「仕様変更への強さ」が同時に必要な場面で有効です。ただし開発難易度・コスト・消費電力では不利になるため、CPU・GPU・ASICとの使い分けを前提に判断する必要があります。

FPGA/基板設計受託開発へのお問い合わせはこちら

FPGAおよびSoCを用いた論理設計から、基板レイアウト、組込みファームウェア開発、量産支援までを一括してご提供

FPGAの概要|要点早見表

項目要点
定義出荷後でも回路構成を変更できるプログラマブルな集積回路
動作の仕組み論理ブロックと再構成可能な配線を、設計データ(ビットストリーム)で組み替えて回路を作る
最大の強み入力から出力までの遅延を小さく、かつ一定にできる
主な弱みHDL設計と検証の工数が大きい。量産単価と消費電力でASICに不利
向く場面低遅延が必須、独自I/Oが必要、規格変更が想定される、ASIC前の試作
向かない場面仕様が固定で大量生産(ASICが有利)/標準的な用途を最短で製品化(ASSPが有利)
代表的な用途通信・ネットワーク、画像・映像、産業機器・計測制御、プロトタイピング
開発言語VHDL/Verilogなどのハードウェア記述言語(HDL)
主要ベンダーAMD(旧Xilinx)、Altera(旧Intel FPGA)、Microchip、Lattice

FPGAはCPUのように「プログラムを実行する装置」ではなく、「処理手順そのものを回路として作る基盤」です。この違いが、低遅延性能と開発難易度の両方の理由になっています。

FPGAでよくある課題

FPGAの採用を決めても、実際の開発では技術選定とは別の壁が出てきます。現場で繰り返し起きる課題を5つ挙げます。

見積もりが機能量では決まらない

FPGA開発では、「何を作るか」よりも「目標周波数で安定動作させるまで」に工数が集中します。HDLを書き終えた時点は途中地点で、そこからタイミング制約の設定、合成・配置配線の収束、シミュレーション、実機デバッグが続きます。

機能一覧だけで見積もると、この検証工数が抜け落ちます。結果として、後工程でスケジュールとコストが膨らむパターンが起きやすくなります。

目標周波数に収束しない

同じ論理でも、配置配線の結果によって配線遅延が変わり、目標周波数に届かないことがあります。ロジックを書き直すのではなく、回路の分割方法やパイプライン段数、配置の制約を見直す必要があり、この判断には経験が要ります。

社内に経験者が少なく、属人化しやすい

FPGA開発はツールチェーン、IPコアの選定、タイミング制約の書き方といった暗黙知の比重が大きい領域です。担当者が1人しかいない状態で進めると、設計判断の妥当性を社内で検証できず、担当者の異動や退職がそのまま製品リスクになります。

ハードとソフトの境界で問題が出る

FPGA単体では製品になりません。基板設計(電源レール、クロック、信号品質)、組込みファームウェア、CPUとの役割分担まで含めて設計する必要があります。ここを別々のベンダーに分けると、問題が起きたときに切り分けができず、責任範囲の隙間に落ちる不具合が出やすくなります。

長期の部品調達とEOL

デバイスが新規入手困難になるケースがあります。たとえばアンチヒューズ型FPGAは、かつて宇宙・防衛用途で採用されてきましたが、旧Actel(現Microchip/Microsemi)の製品は現在新規入手が困難です。産業機器や医療機器のように10年以上供給する製品では、選定時点でライフサイクルと代替品の見通しを立てておかないと、後から回路の作り直しが発生します。

FPGA/基板設計受託開発事業についてのご紹介

FPGAおよびSoCを用いた論理設計から、基板レイアウト、組込みファームウェア開発、量産支援までを一括してご提供

ゼネテックのFPGAソリューション

ゼネテックは、FPGAおよびSoCを用いた論理設計から、基板レイアウト、組込みファームウェア開発、量産支援までを一括してご提供しています。前章の課題に対する対応をまとめます。

よくある課題ゼネテックの対応
見積もりが機能量では決まらない要件をレイテンシとスループットに分解し、検証工数を含めた前提で見積もりを提示
目標周波数に収束しない回路分割・パイプライン設計・配置配線を前提とした構造設計から関与
社内に経験者が少ない対象範囲を限定したスモールスタート、既存IPを前提とした設計に対応
ハードとソフトの境界で問題が出る論理設計・基板設計・ファームウェアを同一体制で担当し、切り分けの手戻りを削減
長期の部品調達とEOLライフサイクルと代替品を含めたデバイス選定をご提案

一気通貫での対応体制

FPGAの論理設計だけでなく、回路設計・基板レイアウト、組込みファームウェア、量産移行までを同一体制で担当します。ハードとソフトの境界で起きる問題を、ベンダー間の調整なしに解決できる点が特徴です。

AMD Adaptive Computing Partner認定

AMD(旧Xilinx)のAdaptive Computing Partnerとして認定を受けています。

詳細はこちら

構想段階からのご相談に対応

「レイテンシ目標が固まっていない」「FPGAが適切かどうかも判断できていない」という段階からご相談いただけます。要件整理からご支援します。

FPGA開発のお問い合わせはこちらから

FPGA開発やハード・ソフトウェア開発のご相談はこちらからご連絡ください

そもそもFPGAとは

FPGAは、あらかじめ用意された多数の小さな論理回路と配線の候補をチップ内に持ち、設計データ(ビットストリーム)を書き込むことで、どの論理を使いどう接続するかを決める集積回路です。部品を差し替えながら回路を組める基板のような発想で理解するとわかりやすいです。

FPGAが注目される理由

開発スピードや要求性能の変化が激しい領域で、後から回路を作り替えられる柔軟性と、ハードウェアならではの性能を両立できる点がFPGAの評価を高めています。

FPGAが選ばれる大きな理由は、仕様変更や追加機能に「回路のまま」追従できることです。ソフトウェア更新のように現場で機能を差し替えられる一方で、実行主体はCPUではなく専用回路なので、一定のタイミングで動かしたい処理や、I/Oに直結する処理で強みが出ます。

近年は通信規格や映像規格、暗号方式、AI推論モデルなどの変化が速く、最初からASICのような用途固定チップに投資するリスクが上がっています。FPGAなら試作から製品化までのリードタイムを短縮しつつ、必要に応じて性能ボトルネックを回路化していく段階的な最適化が可能です。

もう一つの背景は、I/Oの高速化とデータ量の増大です。CPUがすべてを処理すると、割り込みやメモリーコピー、OSの揺らぎがレイテンシに影響します。FPGAはストリーム処理としてデータを流し込み、受けた順に並列パイプラインで処理できるため、低遅延を保ったままスループットを上げやすいのが評価されています。

FPGAの基本構造と仕組み

FPGAは「論理を作るためのブロック」と「それらをつなぐ配線」を、コンフィギュレーション情報で切り替えることで目的の回路を実現します。

開発では、VHDLやVerilogなどのHDLで「こういう回路にしたい」を記述し、合成・配置配線という工程でFPGA上のどこに割り当て、どの配線でつなぐかをツールが決めます。ここで重要なのは、動作周波数や入出力タイミングの条件を制約として与え、狙ったタイミングで動く回路に収束させることです。

FPGAの挙動はプログラムというより、配線と素子の状態を決めた結果としての回路動作です。そのため、同じアルゴリズムでも、回路をどう分割して同時実行させるか、どこでレジスターを挿入してパイプライン化するかで、性能とレイテンシ、リソース消費が大きく変わります。

ロジックブロックと配線で回路を構成する

FPGAの中心は、LUT(Look-Up Table)やフリップフロップなどを含むロジックブロックです。LUTは小さな論理関数を実現でき、フリップフロップは状態を保持して同期回路を作るために使います。これらを組み合わせることで、単純なゲートから複雑なステートマシンまで構成できます。

ベンダーごとに名称と階層が異なります。

ベンダーロジックブロックの呼称内部単位
AMD(旧Xilinx)CLB(Configurable Logic Block)スライス
Altera(旧Intel FPGA)LAB(Logic Array Block)ALM(Adaptive Logic Module)

ロジックブロック同士は、再構成可能な配線網でつながります。スイッチボックスや配線チャネルを、コンフィギュレーションによってオン・オフして経路を作るイメージです。固定配線のICと異なり、必要な接続だけを後から作り替えられるのがFPGAの本質です。

実務ではこの配線が性能を左右します。同じ論理でも、離れた場所に配置されると配線遅延が増え、目標周波数に届かないことがあります。回路の分割やパイプライン挿入だけでなく、配置配線を意識した構造にすることが、FPGAで安定して性能を出す鍵になります。

コンフィギュレーションメモリーの種類と特徴

FPGAはコンフィギュレーションメモリーに「どの論理をどうつなぐか」を保持します。この方式の違いが、起動方法、更新のしやすさ、セキュリティ、運用コストに直結します。

方式揮発性再書き換え起動方法向く用途
SRAM型揮発(電源断で消える)容易(主流)外部フラッシュからビットストリームをロード頻繁な再構成、機能更新を前提とする製品
フラッシュ型不揮発可能電源投入後すぐ立ち上がる再構成が少なく、運用性・起動要件を重視する装置
アンチヒューズ型不揮発不可(1回のみ)電源投入後すぐ立ち上がる改ざん耐性・耐タンパ性が求められる領域(新規入手は困難)

SRAM型は柔軟性が高い一方、起動時間と、ロード経路の盗聴対策(暗号化や認証)の設計が重要になります。

現行のMicrochipのFPGAラインナップ(PolarFire、IGLOO2など)はフラッシュベースに移行しており、新規設計ではフラッシュ型でセキュリティ機能を強化した製品が、アンチヒューズ型の実質的な代替となります。

用途選定では、再構成の頻度、起動要件、セキュリティ要件、量産時の部品点数をセットで評価すると失敗しにくいです。

FPGA開発のお問い合わせはこちらから

FPGA開発やハード・ソフトウェア開発のご相談はこちらからご連絡ください

FPGAのメリットとデメリット

FPGAは「低遅延」「並列処理」「仕様変更耐性」といった強みがある一方、設計難易度やコスト・消費電力などで注意すべき点もあります。

メリット                        デメリット・注意点
入力から出力までの遅延を小さく、かつ一定にできる HDL設計・タイミング制約・実機検証の工数が大きい
演算器を並べてハードウェア並列で性能を伸ばせるLUT・フリップフロップ・BRAM・DSPのリソース制約がある
ビットストリーム更新で出荷後も機能を変更できる量産規模が大きいとASICの方が総コストで有利になりうる
独自I/Oや厳密なタイミング生成を作り込める同等性能ではASICより消費電力で不利になりやすい

FPGAの価値は、回路を自由に作れること自体よりも、要件に合わせてデータの流れとタイミングを設計し、性能を狙って作り込める点にあります。CPUで間に合わない、しかしASICを作るほどではない、という領域で特に効きます。

高速・低遅延でリアルタイム処理に強い

FPGAは専用回路としてデータパスを構成できるため、入力から出力までの経路が明確で、処理遅延を小さく、かつ一定にしやすいのが強みです。OSのスケジューリングや割り込みの影響を受けにくく、決まったタイミングで処理したい用途に向きます。

典型的な設計手法がパイプライン化です。処理を段階に分け、各段の間にレジスターを入れて、毎クロック新しいデータを流すことで、スループットを上げつつレイテンシを設計値として管理できます。リアルタイム性が重要な現場では平均値よりも最悪値が問題になるため、最悪遅延を抑えやすいFPGAが通信、計測、制御、映像などの領域で採用されやすいです。

並列処理で効率よく性能を出せる

FPGAは同じ処理ブロックを複数並べたり、処理を分岐させたりして、ハードウェア並列で性能を伸ばしやすいです。CPUのように1つの演算器を時間で共有するのではなく、必要なら演算器を増やす、という発想が取れます。

ただし無制限に増やせるわけではありません。どのリソースがボトルネックになるかは設計によって異なるため、早い段階で概算の資源見積もりを行い、並列度を決めるのが重要です。性能設計では演算回数だけでなくメモリー帯域やI/O帯域が支配的になることが多く、メモリー往復を減らす構成を作れると、少ないクロックでも高い実効性能が出ます。

試作から量産まで仕様変更に対応しやすい

FPGAはビットストリームを書き換えることで、機能更新やバグ修正が可能です。製品出荷後でもアップデートで改善できるため、早期投入してフィードバックを取りながら磨き込む戦略と相性があります。

仕様が固まらない段階では、まずFPGAで動くものを作り、性能や入出力仕様が確定してから最適化を進められます。製品やデバイスによっては、チップの一部だけを入れ替える部分再構成が可能な場合もあります。常時稼働が求められる装置で機能を止めずに更新したい要求があるなら、対応可否を含めてデバイス選定の段階で確認しておくと効果的です。

開発難易度・コスト・消費電力の注意点

FPGA開発は、HDL設計に加えて、タイミング制約、合成・配置配線の収束、シミュレーションと実機検証が必要です。動けばよいではなく、目標周波数で安定動作することが品質条件になるため、見積もりは機能量だけでなく検証工数まで含める必要があります。

コスト面では、デバイス単価だけでなく、ボード設計(電源レールの多さ、クロック、信号品質)、開発ツールやIPコア費用、評価環境の準備が効いてきます。消費電力は、汎用的な配線網を持つ分、同等性能で見るとASICに不利になりがちです。必要な性能を満たす最小構成に絞る、クロックや並列度を適切に設計するなど、電力を仕様として管理する姿勢が重要になります。

医療機器の開発支援について

要求レベルの高い医療機器の開発を、ソフトウェアとハードウェアの両面からワンストップで支援

FPGAと混同されやすいICとの違い

比較の軸は、処理の並列性、レイテンシ(入力から出力までの遅れ)、スループット(単位時間当たりの処理量)、そして仕様変更への追従コストです。主要なICとの違いを一覧にまとめます。

比較対象得意分野レイテンシ特性仕様変更のしやすさ向く用途
FPGA用途特化のデータパスと並列処理小さく、かつ一定にしやすいビットストリーム更新で対応(設計・検証が必要)低遅延、独自I/O、規格変更が想定される領域
CPU汎用処理・アルゴリズム実装割り込み・キャッシュ・OSで揺らぐソフトウェア変更のみで容易制御、UI、頻繁に仕様が変わる処理
GPU大規模並列計算(画像処理・機械学習)バッチ/カーネル単位で一定になりにくいソフトウェア変更で容易高スループット重視のバッチ処理
マイコン周辺回路込みの制御  比較的読みやすいソフトウェア変更で容易 短期間で作りたい制御用途
DSP積和演算・信号処理(FFT、フィルター)処理内容により変動プログラムで変更可能アルゴリズム探索・係数変更が多い段階
CPLD小規模ロジック読みやすく、起動直後から動く可能(小規模)リセット生成、グルーロジック、デコーダー
ASIC量産時の性能・電力・単価最小・最も安定不可(再設計にNREが発生)仕様固定かつ大量生産
ASSP特定用途の完成機能製品仕様で固定不可(機能固定)標準的な用途を最短で製品化

以下、それぞれの違いを個別に補足します。

CPUとの違い

CPUは命令を順番に実行する汎用プロセッサーで、ソフトウェアを書き換えるだけで機能を変えられます。幅広い処理に対応できる一方、同じ回路を共有しながら時間を分けて処理するため、割り込みやキャッシュ、OSの影響で遅延が揺らぐことがあります。

FPGAは、必要な演算器や制御回路を並列に置き、データが来たら回路がそのまま流れ作業で処理します。狙いどおりに作れればレイテンシが読みやすく、I/Oに同期した処理を安定して実現できます。頻繁な仕様変更が予想される領域では、まずCPUで成立させ、ボトルネックだけをFPGA化するのが現実的な進め方です。

GPUとの違い

GPUは多数の演算器で同じ種類の計算を一気に回すのが得意で、画像処理や機械学習のような大規模並列計算で力を発揮します。一方で、処理の単位がカーネル実行やバッチになりやすく、データ転送やスケジューリングの都合でレイテンシが一定にならない場面があります。

FPGAはデータパスや制御を用途特化で組めるため、1件ずつ流れてくるデータをストリームとして処理し、入力から出力までの遅れを小さく保つのが得意です。推論で比較する場合も、GPUは高スループットを狙いやすく、FPGAは前後処理まで含めたパイプラインを作り込みやすい、という違いがあります。どちらが優位かは、レイテンシ目標、バッチの可否、データ形式変換の重さで決まります。

マイコンとの違い

マイコンはCPUに加えてタイマー、通信、A/Dなど周辺回路がまとまっており、制御用途を短期間で作りやすいのが強みです。C系言語で開発でき、デバッグ手法もソフトウェア寄りで学習コストが低めです。

FPGAは、独自のI/Oプロトコルや厳密なタイミング生成、複数チャネルを同時に動かす処理に強い一方、HDLでの設計とタイミング検証が必要になります。現場ではマイコン+FPGAの組み合わせも定番で、マイコンで設定や監視を行い、FPGAで信号処理や高速I/Oを担当させると、全体の開発リスクを下げられます。

DSPとの違い

DSPは積和演算など信号処理向けに最適化されたプロセッサーで、フィルターやFFTなどの定番処理を効率よく実行できます。プログラムで処理内容を変えられ、開発はソフトウェアに近い進め方が可能です。

FPGAでもDSPブロック(乗算器やMAC)を活用して同様の処理を作れますが、処理全体をパイプライン化して複数サンプルを同時に流す設計が取りやすい点が違いです。アルゴリズム探索や係数変更が頻繁な段階ではDSPの方がスピーディーで、要件が固まった後に必要な箇所だけFPGAでハード化する判断が現実的です。

CPLDとの違い

CPLDは比較的小規模なプログラマブルロジックで、遅延が読みやすく、起動直後から意図したロジックが動きやすい特性があります。リセット生成、I/Oのグルーロジック、単純なデコーダーなど、ボードの隙間を埋める用途でよく使われます。

FPGAはより大規模で、内部RAM(BRAM)やDSPブロック、高速I/O(SerDes)など高機能ブロックを持つ製品が多く、データ処理そのものを載せるのに向きます。少ないロジックで確実に動かしたい制御系はCPLD、大規模な並列処理や高速ストリーム処理はFPGA、が基本の棲み分けです。

ASICとの違い

ASICは用途固定の専用チップで、量産時の性能、消費電力、部品単価で強みがあります。ただし、設計から製造までの期間が長く、初期費用(NRE)が大きいので、仕様変更が起きると損失が大きくなります。

FPGAは量産単価や電力でASICに不利になりやすい一方、設計変更をビットストリームの更新で吸収でき、試作や市場投入を早められます。実務では、まずFPGAで製品やプロトタイプを成立させ、出荷数量が増え仕様が安定してからASICへ移行する流れもあります。量産規模と変更頻度を見ながら段階的に最適解を選ぶのが合理的です。

ASSPとの違い

ASSPは特定用途向けの標準品で、すでに機能が完成しているため、設計工数を大きく削減できます。入手性も良く、一般的な用途なら最短距離で製品化できるのが魅力です。

ただし機能は固定なので、独自のI/F変換や差別化機能、将来の拡張を盛り込みたい場合は限界があります。FPGAは要求に合わせて機能を作れるため、ASSPで足りない部分の穴埋めや、複数ASSPの間をつなぐ変換・集約処理にも向きます。差別化の核がデータパスやI/O処理にある場合、FPGAは競争力を作りやすい選択肢になります。

医療機器の開発支援について

要求レベルの高い医療機器の開発を、ソフトウェアとハードウェアの両面からワンストップで支援

CPUとの役割分担とSoC FPGA

FPGAは単体で完結するというより、CPUと組み合わせて使うケースが多いです。制御やUIはCPU、厳密なタイミングが必要なデータパスはFPGAといった役割分担にすると、開発効率と性能のバランスが取りやすくなります。

近年ではARM Cortexなどのハードプロセッサーコアをチップ内に統合したSoC FPGAも主流化しており、CPU+FPGAの役割分担を1チップ内で完結できる構成も選択肢になっています。代表的な製品として、AMD Zynq、Altera Agilex SoC、Microchip PolarFire SoCなどがあります。

SoC FPGAの詳細は「SoC FPGAとは?FPGAとの違い、開発フローを徹底解説」で解説しています。

FPGAのユースケースと使い分けの判断軸

FPGAは、低遅延・高速I/O・並列処理が効く領域や、専用チップ化する前段階で特に効果を発揮します。

用途代表的な処理FPGAが向く理由
通信・ネットワークパケット処理、暗号処理、プロトコル変換I/Oに近い場所でストリーム処理としてさばけ、CPU負荷を下げつつレイテンシを安定させられる
画像・映像カメラ入力の前処理、フォーマット変換、フィルター処理、エンコード前段の整形入ってくるデータを止められず、一定周期で処理結果を出す必要がある
産業機器・計測・制御独自I/O、複数センサーの同時処理、厳密なトリガー同期、モーター制御の補助チャネルごとのタイミングを作り込み、同時並列で処理できる
ASIC前のプロトタイピング仕様確定、性能検証量産判断の精度を上げ、NRE投資前にリスクを削減できる

採用を判断するときのチェックリスト

要件を数字に落とし込むと、CPUで十分なのかFPGAが必要なのかが見えやすくなります。以下の順に確認していくと判断がぶれにくくなります。

  • レイテンシ:平均処理時間だけでなく、最悪遅延がいくつまで許されるか
  • スループット:入力データが途切れない前提か、バッファーで吸収できるか
  • 消費電力:電力上限を仕様として決めているか
  • 量産規模:数量とライフサイクルを踏まえ、ASICとの総コスト比較をしたか
  • 変更頻度:規格追加やアルゴリズム更新の可能性があるか
  • 開発体制:HDL設計、タイミング制約、実機検証を担える体制があるか
  • 移行戦略:FPGAで先行投入し、後にASIC化する道を検討したか

規格追加やアルゴリズム更新が想定されるならFPGAの価値が上がりますが、逆に仕様が固定で数量が大きいならASICやASSPが有利になる可能性があります。

まとめ

FPGAは、低遅延と仕様変更耐性が同時に必要な領域で最も効果を発揮するデバイスです。

要点を整理します。

・仕組み:論理ブロックと再構成可能な配線を、ビットストリームで組み替えて回路を作る集積回路
・強み:入力から出力までの遅延を小さく一定に保てる。ハードウェア並列で性能を伸ばせる。出荷後も機能を更新できる
・弱み:HDL設計と検証の工数が大きい。量産単価と消費電力ではASICに不利
・使い分け:レイテンシとスループットを数値化し、変更頻度と量産規模を踏まえてCPU/GPU/ASSP/ASICと役割分担する
・発注時の注意:見積もりに検証工数が含まれているか、ハードとソフトの切り分けが体制として担保されているかを確認する

変更に強い試作・先行投入、低遅延が必須のデータパス、独自I/Oなど、FPGAの強みが効くポイントに絞って活用すると、投資対効果が高くなります。

FPGA開発のお問い合わせはこちらから

FPGA開発やハード・ソフトウェア開発のご相談はこちらからご連絡ください

※ 本記事に記載されている製品名・社名は、各社の商標または登録商標です。