数年前から、FPGAに高い関心が集まりつつある。FPGAとはField Programmable Gate Arrayの略で、直訳すれば「現場でプログラム可能なゲートアレイ」ということになる。もう少し意味の通る日本語にすると「製造後に内部構成をプログラミングで変更可能なロジック回路」というあたりだろうか。FPGAそのものは1980年代に初めて製品が登場しているから、もう30年ほどの歴史になるが、人気が上がり始めたのは2010年あたりからになる。これにはいくつかの理由がある。今回はFPGAの特徴と、利用が広がった理由を解説する。

汎用回路では得られない、高い効率性

 いわゆる集積回路のうち、LSIなどと呼ばれているチップは、大別すると「汎用向け」と「専用向け」に分類できる。

 汎用向けはほとんどの場合、別に用意したプログラムを利用して様々な処理を行う。CPUやGPU(Graphics Processing Unit)、MCU(Micro Controller Unit)など大まかな用途によって構成や性能などは異なっているが、基本的にはプログラムを入れないと何もできない。半導体チップだけ買ってきてもだめで、チップを搭載したボードを作った後で、チップで動くソフトウエアを開発して実行し、何らかの処理をすることになる。

 これに対して専用向けは、ASICあるいはASSPなどという分類になる。ASICは「Application Specific IC」、ASSPは「Application Specific Standard Product」の略で、どちらも特定の処理に向けたチップとなる。両者の違いは、どの程度特定の目的に専用化されているかでしかない。いずれも、プログラムは必要ないか、必要な場合でもわずかである。

 ASICは、チップをボードに搭載すれば、あとはソフトも何もなしに処理が実行される。ASSPは、ASSPとは別に汎用のプロセッサを用意して前処理/後処理をする場合もあるが、処理の中核部分はASSPチップ内部で完結する。

同世代の半導体チップで、同じ処理を同程度の消費電力で実現しようとしたときの汎用向けと専用向けの位置付けのイメージ。
同世代の半導体チップで、同じ処理を同程度の消費電力で実現しようとしたときの汎用向けと専用向けの位置付けのイメージ。
[画像のクリックで拡大表示]