あなたは、人に「FPGA」を正しく説明できるだろうか? いまや常識となりつつあるFPGAについて、あらためてその概念から仕組み、最新動向までを解説する。(編集部)
近年、1度も「FPGA」という言葉を聞いたことがないというシステム・回路設計エンジニアはほとんどいないと思います。非常になじみのあるデバイスになってきたとともに、生産性を大きく向上できるデバイスとして、実際に使っているエンジニアの方も急増しています。いまでは、FPGAが採用されている製品に触れない日はないというほどです。
例えば、民生用途では、皆さんがいま購入を検討されているであろう薄型液晶・プラズマテレビ、HDDレコーダなどのオーディオ/ビジュアル関係の製品に搭載されています。また、コンピュータや携帯電話基地局、通信インフラストラクチャ関連製品などにも多く採用されています。しかし、具体的にFPGAって何? どこが便利なの? と聞かれると、正確に「xxxが理由で、こう便利だよ」と説明できる方はそれほど多くないと思います。
FPGAは、「Field Programmable Gate Array」の略であり、
ユーザーが希望する論理機能を自分のPCを使って短期間で実現でき、しかも何度も書き換えが可能な、安価な夢のデバイス
です。実際に、世界中で多くのユーザーに支持されており、2005年のASICおよびPLD(FPGAを含むプログラマブル製品)の売り上げランキング(iSuppli社調べ)では、世界ベスト5の中にFPGAベンダが2社入っています。業界1位の米ザイリンクスは、IBMに次ぐ世界第2位、そして米アルテラは第4位です。
FPGAを世の中に生み出したのは、米ザイリンクスです。1985年に販売された「XC2000」が世界初のFPGAになります。
当時はCMOS LSIが半導体デバイスの主流であり、大規模な論理システムが次々に実現されていた時代でした。当時最も簡単に論理システムをLSI化する方法として、「ゲートアレイ」がありました。ゲートアレイはあらかじめ多数のトランジスタを搭載したシリコン・ウェハに、ユーザーの設計に従ったメタル配線工程を施して製造します。ASIC(Application Specific Integrated Circuit)の中で最も低コストかつ短期間で設計・開発できますが、それでも数週間のTAT(Turn Around Time)が必要です。
一方では、ユーザーが現場(フィールド)でプログラムできるロジック・デバイスとして、PROM(Programmable Read Only Memory)から派生した「PLA」(Programmable Logic Array)が使われていました。PLAは積和構造を特徴とする論理LSIで、PROMプログラムと同様の装置で接続情報を書き込むことができました。EPROMやEEPROMなど新規デバイスが次々に登場し、実用的で使いやすいデバイスとして人気がありました。しかし、任意の大規模論理を実現することは難しく、補助的な役割にとどまっていました。
そのような中で登場したXC2000シリーズは、PLAのフィールド・プログラマブル性とゲートアレイの設計自由度を兼ね備えた、初めてのFPGAデバイスでした。ユーザーが設計した論理情報と配線情報を内蔵のSRAM型メモリセル構造を持つ記憶素子にローディングすれば、その設計どおりの回路として動作させることができました。
このFPGAの登場に最初に大きなメリットを感じたのは、コンピュータの研究者でした。それまで新しいコンピュータ・アーキテクチャのアイデアを実現するには、試作機としてASICを開発するか、膨大な数の個別ICをブレッドボードに実装するしかありませんでした。しかし、膨大なコストと労力を必要とするこれらの作業と違い、一度複数のFPGAを実装した試作用のボードを作っておけば、設計した新しいアーキテクチャを即座に実行できるようになりました。さらに修正・仕様変更も容易にできるようになったのです。これにより、多くの新しいアーキテクチャが登場するとともに、リコンフィギュラブル(再構成可能)プロセッサの研究や新しいFPGAアーキテクチャの研究が盛んになりました。その後、通信・画像処理分野でもその特徴が大きく評価され、ルータなど通信ネットワーク網を構成する各装置内に多く採用されていきました。
このように、ASICなどと違い、短期間でユーザーの希望する論理を低コストでできるコンセプトは、多くのユーザーに支持されました。しかし、発売当初からもろ手を挙げて支持されたわけではありません。実際の集積度はゲートアレイの1/5にすぎず、当時の設計ツールではデバイス特性を生かした効率の良い設計ができなかったことなどが理由でした。現在では、65/90nmなどの最先端半導体プロセス技術により集積度も向上し、さまざまな設計ツールも進化したことにより、より集積度が高く、効率の良い設計が可能になりました。しかし、FPGAが普及した一番の理由は、FPGAデバイス自体の価格が誰でも入手できる価格帯まで下がってきたことだと思います。
Copyright © ITmedia, Inc. All Rights Reserved.