第二章 FPGA のいま

FPGA の進化

FPGA のいま

FPGA の特長と半導体製品の中での位置づけを第 1 章で紹介しました。もうおわかりのように、FPGA はその誕生以来変わることのないアドバンテージを提供しています。

FPGA のアドバンテージ

  • 標準品なので IC の製造に関わる「初期コスト」と「製造期間」が不要
  • ユーザーの手元でハードウェアを短期間にカスタマイズ (=プログラム) できる
    • 短期間の仕様変更にも対応可能
    • 必要なら出荷後のハードウェア変更も可能

第 2 章では現在の FPGA への進化と、FPGA が提供する機能、および、それらの機能がどのようにアプリケーションに活用されているのかを見ることで、ユーザーがどんな風に FPGA を利用できるかを感じてみましょう。また、AMD FPGA の次世代の技術についても触れていきます。

FPGA の進化

「FPGA は試作用」でしょうか。昨今の FPGA は集積度、速度性能、機能、価格の面で一昔前の FPGA とは雲泥の差があり試作用としてとらえるには、あまりにももったいないものです。

上図は AMD FPGA の進化の様子を示しています。この 20 年で集積度は 600 倍以上、速度は 100 倍以上、価格はほぼ 1/1000 に低減、そして電力は 1/150 に低下しています。
シリコン自体の進化に加えユーザーが使い易い環境を提供するため、開発ソフトウェアの高機能化、IP コアの充実、などにも注力し FPGA 開発が少しでも短期で容易になるようにしています。ユーザー フレンドリな開発環境とプログラマブルである FPGA の柔軟性が Time-to-Market (市場投入の早期化) と Time-in-Market (市場地位の確保) の両面において、利益の確保に貢献します。
ここまで進化したデバイスと開発環境が整った AMD FPGA を今使わない手はないと思いませんか。

FPGA の機能

FPGA の機能

AMD は大きく分けて 2 つのタイプの FPGA 製品を展開しています。一つは Virtex シリーズで高集積、高性能、高機能な FPGA です。Virtex は機能性、高速性を重視した製品や、大きな集積度を必要とする製品に採用され、最新製品は Virtex 6 FPGA になります。もう一つは Spartan シリーズで低価格、大量生産向けの FPGA です。価格を抑えることで大量生産の使用に耐えうるコストメリットを提供します。最新製品は Spartan 6 FPGA になります。

システム要件 LXT SXT HXT
高性能ロジック
高集積度 ASIC プロトタイプ ロジック  
汎用プロセッシング  
デジタル信号処理
超高性能のデジタル信号処理    
低消費電力シリアル I/O  
シリアル I/O バンド幅       
システム要件 LX LXT
内蔵ハードメモリ
ブロック RAM
高性能クロッキング
高性能シリアル I/O
効率的なコンフィギュレーション
エンベデッド ハード IP
最高性能 DSP
内蔵トランシーバー
統合された PCI Express エンドポイント ブロック  

一般に LSI や FPGA には次の 5 つの機能が最低限必要で、その 5 つの機能とは 「信号入力」「信号出力」「データ処理」「データ保持」および「データ転送」です。それぞれの機能がいかに高速に動作するか、どのくらい大量のデータを処理して転送できるかで、 LSI や FPGA のグレードが決まります。 FPGA の場合、データ処理自体はユーザー デザインに依存してしまいますが、データ処理ファンクションを実現するために、どのような機能エレメント、集積度および速度性能を FPGA が持っているかが重要です。また、データ処理機構はハードウェアで構成する以外にも、FPGA に CPU を実装してソフトウェア処理する手法も可能です。FPGA にはそれぞれのファンクションを使いやすくするためのさまざまな工夫が盛り込まれています。それぞれの機能の詳細はデータシートに譲り、ここでは FPGA に組み込まれた主要な特長を見てみましょう。

コネクティビティ

多くのアプリケーションで重要視されているのが SERDES (Serializer Deserializer) です。これは 10 / 40 / 100G イーサネット、PCI Express®、 OC-48 、XAUI 、SRIO および HDSDI 等々のシリアル信号を入出力するインターフェイス規格を実現するのに必要な信号の受け口になります。Virtex 6、Spartan 6 FPGA 向けのコネクティビティ開発キットも提供しています。

メモリ インターフェイス

画像処理や信号処理系のアプリケーションでは大量のデータを外部メモリとの間で高速にやりとりしなくてはなりません。Spartan 6 FPGA は MCB (Memory Controller Block) と呼ばれるメモリ インターフェイスを内蔵しているので外部メモリとの接続が容易に実現できます。また、Virtex 6 FPGA においても様々なタイプのメモリとインターフェイスするための IP モジュールを生成する MIG (ミグ: Memory Interface Generator) ツールを使用してインターフェイス回路の設計が可能です。

デジタル信号処理

高速動作するデジタル フィルターを設計する際には多くの乗算器が必要になります。FPGA には DSP スライスと呼ばれる乗算累積器 ( Multiplier Accumulator) が多数埋め込まれています。CoreGenerator と呼ばれる IP 生成ツールを用いて DSP スライスを有効活用した高速デジタル フィルターが容易に設計できます。また、一般のデジタル演算、たとえば FFT などにも最適です。

下記の図は各アプリケーションに必要な演算性能と対応する製品のイメージです。

プロセッサ ソリューション

Virtex および Spartan FPGA ファミリでは AMD オリジナルの MicroBlaze (マイクロブレーズ) 2bit RISC アーキテクチャのソフトコア CPU を実装することができます。航空宇宙、ワイヤードとワイヤレス通信、オーディオや放送機器、産業機器、民生機器などの広範なアプリケーションに対応するパフォーマンスとカスタマイズ機能を提供します。
EDK (イーディーケー: Embedded Design Kit) 開発ツールも用意されており、多数のペリフェラル IP を使って、ハードウェア処理とソフトウェア処理を組み合わせた高速で柔軟な組み込みシステム アプリケーションを構築できます。

さまざまなアプリケーションの開発をされる際、ユーザーが「差別化に向けた設計」に専念できるようにこのような環境を提供しました、これを AMD では「ターゲット デザイン プラットフォーム」と呼んでアプリケーションごとに開発キットを用意しています。

アプリケーション

アプリケーション

FPGA といえば通信 / ネットワーク向けと認識されている方も多いのではないでしょうか?ところが、現状では産業機器、民生機器、また、データ処理機器など、あらゆる分野で利用され、非常に多くのユーザーが日々活用するデバイスとなっています。

ワイヤレス通信への応用

ベースバンド プロセッシングは、製品を差別化する重要な要素です。LTE の登場により、データ レートが向上し、レイテンシが低減されました。さらに、より高度なアルゴリズムが使用されるため、従来の DSP プロセッサ ベースのアーキテクチャでは、チャネル カード デザインの最適なソリューションは提供できません。並列処理能力に優れた FPGA なら、デザインを簡素化しながら、システム コスト、電力消費、およびフォーム ファクタを低減できます。さらに、AMD FPGA はリコンフィギュレーション可能でスケーラブルなため、標準規格が変わっても、高額な再設計のリスクは低くなります。標準的な ASIC や ASSP によるデザインと比べ、より短期間で製品化でき、耐久年数も長くなります。

FPGA ベースのプラットフォームで革新する放送機器分野

AMD FPGA の放送機器への展開

放送機器の業界ではそのシステム生産量が限られているため、ASIC の生産はトータル コスト (ASIC の開発費用とデバイス購入費用を合わせたコスト) 的に採算が良くなく、また ASSP は生産量の少ないアプリケーションに対応していないため、従来から FPGA を多用している業界の一つです。
また、信号の受け渡しがディジタルのシリアル伝送の SDI や HDSDI になり、その規格を満足する FPGA は映像信号入出力の受け口として多く採用されています。FPGA の SERDES を多用したエディタ、スイッチャまた DSP スライスを用いた映像処理装置には非常に適したデバイスです。また、Video-Over-IP や今後導入が始まる3-D 映像処理にも適したデバイスといえるでしょう。

産業機器

工場向けの機器には PLC (Programmable Logic Controller) や PLC 用の組み込みシステム、FA 用の標準通信プロトコル、また、それらを支えるリアルタイムの処理能力が要求されます。PLC は従来、演算用 ASIC と CPU で構成されていました。装置の高機能化とともに CPU での処理負荷を無視できなくなり、処理あたりのサイクル タイムが長くなって PLC の基本性能を左右するようになってきました。これを回避するにはハードウェアを用いて並列処理し CPU の負荷軽減を図るのが適切な解決法ですが、少量生産の FA 機器においては ASIC の新規採用は適切ではありません。

このような環境の中で、業界標準通信用 IP コアや 32 ビットのソフトマクロ CPU MicroBlaze (マイクロブレーズ)、さらに高速演算処理機能を兼ね備えた FPGA が注目されています。モーター コントロールや検査用カメラ画像の Video Analytic 処理などにも利用されます。もちろん、低消費電力性も忘れてはいけません。FPGA を使った装置自体の低消費電力化は当然として、FA 機器が工場のモーターなどを高効率制御する機能を持っていることがさらに重要です。FPGA によるハードウェア処理が CPU を補完して高効率制御を実現し、生産設備の トータル な省電力に貢献するでしょう。

医療機器

新の医療機器は、膨大な生データを医師が正しく診断するのに必要なデータへと変換し、画像化あるいは数値化して提示するという、難易度の高い処理を実現しなくてはなりません。特に演算系ではリアルタイムに近い速度で処理しなくては緊急時に間に合いません。 高速性が必要という点からハードウェア処理が選択され、また、医療機器装置の生産量は ASIC を製造するほどの規模がないという点から、FPGA が適切なターゲット デバイスとなります。

例えば、MRI や CT スキャナーは膨大なスキャン データから高精細な断面図画像へと変換するためにトモグラフィーという演算処理を行います。これは一枚の最終画像を得るための処理が膨大なだけでなく、処理自体も FFT などを駆使した高度な信号処理になります。これを支えるのが FPGA で構成する FFT エンジンであり、膨大なデータを外部から FPGA に取り込み、映像データとして出力するための複数の SERDES や、外部メモリとの高速インターフェイスです。これらの要求をかなえるのが FPGA になります。FFT 、各種画像処理、メモリー インターフェイスなど様々な IP コアが用意されています。医療用機器におけるデータ処理精度と高速性と画像処理の柔軟性に関しては、FPGA なくしては語ることができないのが現状です。 

 

FPGA の将来

FPGA の将来

さて、ここまで FPGA の進化と機能、そして、そのアプリケーションを見てきました。では将来、FPGA はどのような進化を遂げるのでしょうか?最終製品の顧客の要求は、高機能で高速に動作し購入可能な価格帯の製品で、さらに低消費電力も要求されるでしょう。 製品メーカーの方はこれらを達成し、消費者をあっと言わせる製品を「創造」「開発」「生産」しなくてはなりません。将来の FPGA は高集積化、高機能化、高速化、低消費電力化、低価格化をプログラマビリティとともに提供し、開発エンジニアの負荷を大きく軽減するデバイスになるでしょう。では、その一部を AMD の次世代 FPGA に見てみましょう。

28 nm プロセスによる 7 シリーズ (セブンシリーズ)

7 シリーズ FPGA は、総消費電力を 50% 削減しながら、低コストから超高性能まで対応するスケーラビリティを備え、3 つのファミリ間で共通の統一アーキテクチャで構築された最大 200 万ロジックセルという業界最高水準の集積度を提供します。

エクステンシブル プロセッシング プラットフォーム

エクステンシブル プロセッシング プラットフォームは、28nm プログラマブル ロジックと ARM® 社のプロセッサを組み合わせた AMD の新しいシングル チップです。これにより業界トップのツール、ソフトウェア、ソリューションを活用できるようになり、ユーザーは簡単かつ迅速にエンベデット システム開発を進める事が可能になります。

FPGA 雑学コラム

パーシャル リコンフィギュレーション (Partial Reconfiguration)

パーシャル リコンフィギュレーションとは、ユーザーが動作している FPGA のデザインの一部を新たなモジュールで再プログラムし、ハードウェア処理の内容を変更することを指します。同時に使用しない回路モジュールが常に FPGA 上に同居している必要はありません。必要なときに必要なモジュールを FPGA 上に導入することができれば、より小さな FPGA で目的を達成することが可能になり、コスト的にも消費電力的にも効果的です。ソフトウェアで言うところのダイナミック リンク ライブラリのように、必要な時にのみそのモジュールをリンクするものです。
AMD では従来からパーシャル リコンフィギュレーション機能のサポートを進めており、FPGA 自体にその仕組みが組み込まれています。ISE (アイエスイー) 開発ツールでのサポートが実現した今、この機能を利用したアプリケーションが多く見られるようになるでしょう。