FPGA (Field Programmable Gate Array)

更新日:

用語解説

FPGA(Field Programmable Gate Array)は、製造後に利用者が内部の論理機能と配線接続を設定し、目的のデジタル回路を実現できるプログラマブルな集積回路です。

■ 試験で押さえるポイント

  • LUT(Look-Up Table)、フリップフロップ、プログラマブル配線、入出力ブロックを基本とし、製品によって乗算器、メモリ、CPUコア、高速通信回路も内蔵します。

  • VHDLやVerilogなどのHDLで回路を記述し、論理合成、配置配線、タイミング検証を経て構成データを生成します。通常のCPU命令を順番に実行するプログラムとは実装原理が異なります。

  • 多数の回路を並列動作させられ、低遅延で決定的な処理に向きます。画像・信号処理、通信、試作、ハードウェアアクセラレータなどに使われます。

  • ASICより再構成と開発着手が容易ですが、同じ機能では一般に面積、消費電力、最高性能、量産単価で不利になる場合があります。SRAM型では起動時の構成読込みが必要です。

■ 選択肢での判断ポイント

FPGA=製造後に論理回路を再構成可能、ASIC=特定用途向けに製造時の回路が固定、と対比します。ソフトウェアを書き換えるだけの汎用CPUと同一ではありません。

例: 入力映像の各画素へ同じ演算を行う回路を多数並列に構成し、1クロックごとに連続処理します。仕様変更時は構成データを更新でき、ASIC製造前の試作にも使えます。

同じ分野の用語