FPGA

0762fc14f3a7b6dd582104eaead6add5_s_R

FPGAの市場規模

近年、FPGAという言葉が、IT関連のニュースでもよく取り上げられるようになっています。2015年10月に発表されたガートナー社の「2016年の戦略的テクノロジ・トレンドのトップ10」においても、すでに「高度なシステム・アーキテクチャ」おけるFPGAについて、飛躍的なパフォーマンス向上のメリットやディープ・ラーニングや高度な機械学習機能の可能性を広げることに適しているとしています。

また、FPGAの市場規模も拡大しているようです。2017年1月に(株)富士キメラ総研が発表した「半導体デバイスの世界市場調査」では、2015年の市場規模は4,300億円で、2020年には7,550億円と2015年比175.6%増と予測しています。そして、民生機器におけるASSPやASIC代替により市場が二桁成長していると分析しています。

MarketsandMarketsの「FPGAの世界市場予測(~2023年):SRAM、アンチヒューズ、フラッシュ」では、FPGA市場が2017年に58.3億米ドルと評価され、2023年までにCAGR8.5で95.5億米ドルに成長すると予測しています。

PLD とFPGA

FPGAとは「Field Programmable Gate Array」の頭文字をとったものです。Fieldは現場、programmableは書き換え可能、Gateは論理ゲート、Arrayは配列(ここでは格子状)といった意味で、日本語では「現場で構成可能な回路アレイ」「現場で書き換え可能な論理回路の多数配列」「製造後に内部構成をプログラミングで変更可能なロジック回路」などと訳されているようです。

ハードウェア回路でありながら、プログラムの書き換えによってソフトウェアのように柔軟に用途を変更できる、いわばハードウエアの性格とソフトウエアの柔軟性を備えた半導体チップです。

ユーザが論理機能を決めることのできロジック・デバイスをPLD(Programmable Logic Device)と言います。FPGAはそのPLDの一つと捉えることができいます。PLDは、小規模なAND-OR構造でできたSPLD(SimplePLD)、AND-OR構造を拡張し大規模化したCPLD(ComplexPLD)、LUT(LookUpTable)構造を用いた大規模なFPGA(FieldProgrammableGateArray)に分類さ、SPLD (SimplePLD)とCPLD(ComplexPLD)は狭義のPLDとし、AND-OR構造を使わないFPGAと区別されています。

fpga_001_R(ザイリンクス株式会社マーケティング部「FPGAって何?15分でわかるFPGA入門講座 https://www.paltek.co.jp/newsletter/2007/06/pdf/01/xilinx_What%27s_FPGA.pdf より」

FPGAは、設計データをSRAMに保存しているため、揮発性のメモリーと同じく、電源のオンオフで回路は消えてしまいます。そのため電源をオンにしてFPGAを使用する際に最初にやるべきことは、FPGAにデザインデーター書き込むことです。このことをコンフィグレーション(Configuration)と呼びます。
FPGAは、複雑な演算アルゴリズムの実行、並列化による高速処理が可能であり、従来のマイクロプロセッサと比べて電力当たりの性能は10倍以上向上するとも言われています。

FPGAを最初に製品化したのはXilinx 社です。Zilog社(※1)をスピンアウトしたRoss H. Freeman氏とBernard V.Vonderschmit氏が1984年に設立した会社です。Ross H. Freeman氏のFPGAの基本アーキテクチャに関する発明によって1985年に実用的なFPGAが実現し、その後Xilinx 社に参加したWilliam S.Carter氏のコンフィギャブルなロジックエレメントの内部接続に関する発明によって、効率の良いセル間の接続方法が実現しています。
Ross H. Freeman氏とWilliam S.Carter氏の発明は、フリーマン特許(特許番号: US RE34363)、カーター特許(特許番号: US 464248)と呼ばれて、PLD関連の中では最も有名な特許とされているそうです。

(※1)Zilog社は、1974年に米インテル社の元社員Federico Faggin氏らがスピンアウトしてつくった半導体製造会社で、1976 年には「Z80」(クロック周波数 25MHz 、トランジスタ数 8200 )が発表して人気を得ました。その後商業的には2002年に連邦倒産法の適用を受け、現在は米IXYS社の一部となっているようです。

FPGAの構造

FPGAは下図のように、プログラム可能な論理ブロックを格子状に配置し、その間に縦方向と横方向に配線路を設けた構造をしています。

下図右は、FPGAの論理ブロックの構成です。論理ブロックは、CLB(cofiguarable logic block)やLE(logic element)、スライスなどとも呼ばれるようです。
基本論理ブロックはルックアップテーブル(look-up table:LUT)とフリップフロップ((flip-flop:FF)で構成されています。LUTは、真理値表で定義された動作を実行する回路です。下図右では LUT は 4 入力 1 出力の例が示してあります。フリップフロップは、同期出力を得たり順序回路を構成する際に用います。このブロックの構造はメーカによって異なります。

基本論理ブロックは、配線路に設けられたスイッチ・マトリックスによって任意の接続が可能です。スイッチ・マトリックスは、トランスファ・ゲートで作られています。SRAM方式のFPGAでは、LUTもトランスファ・ゲートのON/OFFもSRAMで構成されており、電源がOFFになるとデータが消えてしまいます。そのため、FPGAは電源を入れたときに外部から回路情報をSRAMに情報を書き込む作業(コンフィグレーション)が必要になります。

fpga_002_R(Electronics — Open Access Journal  http://www.mdpi.com/2079-9292/4/1/150/htm より)

FPGAにはいくつか種類があり、コンフィグレーションの方法によって、SRAM方式の他にも、ヒューズ型、フラッシュ型などがあります。それぞれメリイとはありますが、ヒューズ型は何度も書き換えるということは不可能であること、フラッシュ型は製造プロセスの複雑さから集積度やコスト面で課題があり、SRAM方式が主流になっているようです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です