クイズ

  • 問題1:FPGAのPは何の略?
  • 問題2:FFPGAのAはアルテラのAである。 ○か×か?

※答えはこのページの一番下にあります。

「いま,FPGAはどこに使われているのか?」

今やさまざまな機器に組み込まれ,利用目的も多様化しているFPGA。最新のFPGAは何をどこまで対応できるようになっているのか。前編の画像処理編に続いて,後編ではFPGAの実際の応用分野として,通信処理を取り上げてみよう。

 通信機能は今のIT社会において不可欠だ。有線のEthernetや無線LAN(WiFi)をはじめ,電話事業者やCATV事業者によるブロードバンドサービス,携帯電話のインフラを利用した移動体通信,さらには最近では電力線を使ったPLC(Power Line Communication)などが企業活動のみならず個人の生活をも支えるとともに,産業分野でも工場全体に張り巡らされたネットワークが高品質かつ高スループットな生産を実現している。

 FPGAはこうした通信処理にも最適だ。その理由を挙げてみよう。

(1) プロトコルを制御するIPやライブラリ資産が揃っている(図1)

(2) 10Gbpsクラスにも対応可能な高速トランシーバ(SerDes)が揃っている(図2)

(3) 高速な符号処理を実現するDSPや乗算器が用意されている

(4) プロセッサコア(アルテラの場合はNios IIコアなど)を統合することもできるため,通信処理のオフロードを行って,メインとなるシステムプロセッサの処理負荷を軽くすることができる

(5) 論理を何回でもプログラミングできるため,通信規格の策定段階であっても,安心して試作を進めることができる

(6) 産業用イーサネットのように細部では異なるプロトコルが複数存在する場合でも,内部論理のプログラミングを変更するだけで,ひとつの製品を複数のプロトコルに横展開できる

(7) 製品出荷後に新しい通信サービスが始まった場合でも,ファームウェアのアップデートという形で機能を再プログラミングすることで,ユーザー資産を守りながら新サービスに速やかに対応できる

 このような特徴を生かした応用例をいくつか挙げてみよう。

図1.アルテラのFPGAがサポートするプロトコルの一例。IPやハードマクロ,あるいはNios IIプロセッサのスタックとして実装する。

図1.アルテラのFPGAがサポートするプロトコルの一例。IPやハードマクロ,あるいはNios IIプロセッサのスタックとして実装する。

図2.最高8.5Gbpsのシリアル伝送をサポートするアルテラのハイエンドFPGA,Startix IV GX。さらに11.3GbpsまでサポートするStratix IV GTも登場している。

図2.最高8.5Gbpsのシリアル伝送をサポートするアルテラのハイエンドFPGA,Startix IV GX。さらに11.3GbpsまでサポートするStratix IV GTも登場している。

100Gbpsクラスの次世代イーサネットにも対応可能な最新FPGA

 まず高速な通信インフラの例を紹介しよう。図3に,SONETやSDHに対応したバックボーンのMSPP(マルチサービスプロビジョニングプラットフォーム)に始まり,サービスプロバイダのエッジルータを経由し,最後にはアクセスエッジまたはエンタプライズネットワークへと至る,高速コミュニケーションインフラの概略システムを示す。

 初段のトランスミッションブロックと次段のサービスプロバイダブロックとは超高速なネットワークで結ぶ必要がある。現時点では40GbE(40Gbpsのイーサネット)や100GbE(100Gbpsのイーサネット)がこの領域のネットワークの最有力候補であり,具体的なネットワーク製品も登場しつつある。この例ではそれぞれのプロトコルコントローラとして,アルテラのハイエンドFPGAであるStratix IV GT とStratix IV GXを使用した。

Stratix IV GXは業界で初めて(アルテラ調べ)40nmプロセスを採用したFPGAである。最高8.5Gbpsのデータレートをサポートしたトランシーバを32個搭載する。10GbE (XAUI) のフィジカルメディアアタッチメント(PMA)サブレイヤとフィジカルコーディング・サブレイヤ(PCS)の両方をデバイスにハードとして実装している。

 さらに高速な11.3Gbpsのトランシーバを搭載したStratix IV GTも量産中だ。Stratix IV GTでは,10Gbps光モジュールにダイレクトに接続できるため,外部PHYが不要となり,コストと消費電力を削減することができる。また,ソフトIPによるInterlakenの対応も完全だ。現在のところ,この帯域においてPHY+処理を担うASSPは存在しない。ASICでも,10Gbps以上の帯域を実現することは,技術的に容易ではない。

 アクセス段およびエンタプライズネットワーキング段にはHardCopy IV GX,Arria II GX,Stratix IV GXをそれぞれの要件に応じて適宜使用した。エンド側にいくほどコストや消費電力に対する市場のプレッシャが強くなるため,HardCopy ASICやArria IIのような比較的コストの低いソリューションが適する。なお,HardCopy IV GXはStratix IVと同等の回路規模と性能を持ったASICで,デザインを変えずにStratix IVをプロトタイプに使うことができる。Arria II GXはミドルレンジのFPGAと位置づけられているが,少し前までのハイエンドFPGAを低コストに使用できるようになったと言えるものだ。

 図1の右上にあるリモート・レディオ・ヘッドの簡単なブロック図を図4に示した。プロトコルを実装するために,10万個のロジックエレメント,6Mbitの内蔵メモリ,500個の18×18乗算器などが必要で,ここでは先ほども述べたようにArria II GXを選択している。内部にはNios IIプロセッサコアを搭載した。

 このような高速アプリケーションの応用については,アルテラのホワイトペーパー「40G/100Gアプリケーションにおける10Gbpsトランシーバの活用(pdf)」にまとめられているので,ハイエンドFPGAの実力を理解する意味でもご一読されたい。

図3.高速通信インフラにおけるFPGAの適用例

図3.高速通信インフラにおけるFPGAの適用例

図4.リモートラジオヘッドの応用例

図4.リモートラジオヘッドの応用例

高スループットな生産を支える産業用イーサネットへの応用

 次に,産業用イーサネットへの応用例を挙げてみよう。産業用イーサネットは工場やプラントで使用され,一般のイーサネットとは違ってリアルタイム性を備えている点が特徴だ。最近ではセンサー情報をやり取りするフィールドバスの代わりとしても採用が進みつつある。

 産業用イーサネットは,前述のような高速コミュニケーションインフラとは異なり,信頼性と堅牢性を重視する意味からも,通信速度は10Mbpsあるいは100Mbpsが主流である。そのため,ハイエンドのStratixやミッドレンジのArriaほどの性能は不要で,低コストのCycloneファミリで構成することができる。ブロック図は図5のとおりだ。

図5.産業用イーサネットコントローラの構成図

図5.産業用イーサネットコントローラの構成図

 レイヤ1に相当するPHY(トランシーバ)のみ外付けが必要だが,レイヤ2のMAC(メディアアクセスコントローラ)はCyclone IIIに内蔵できる。また,レイヤ3以上はCyclone IIIに組み込んだNios IIプロセッサとイーサネットのスタックで処理する。産業用イーサネットには数々のプロトコルが存在するが,レイヤ3のプロトコルスタック部分を入れ替えることで,さまざまなネットワークに対応することができる。なお,Cyclone III をサポートするIPとしては,Modbus TCP,EtherNet/IP,PROFINET,EtherCAT, Powerlink,IEEE 1588などが利用できる。

 図6は実際のソリューションの例だ。さまざまなボードベンダーがCyclone IIIを採用した産業用イーサネットのボードを開発している。産業用イーサネットはコンシューマ製品とは違ってボリュームが見込めない場合が多く,ASICでは開発費すら回収できなくなってしまう。少量生産という点でもFPGAに軍配が上がる。

図6.産業用イーサネットボードの製品例

図6.産業用イーサネットボードの製品例

 なお,以上の詳細は,アルテラのホワイトペーパー「産業用イーサネットに対応する柔軟性の高いソリューション(pdf)」にまとめられているので,参考にしていただきたい。

FPGAの特性を的確に生かして強い製品作りを

 以上,前編と後編に分けて,画像処理と通信処理での応用例あるいは応用方法の例をいくつか紹介した。画像処理も通信処理もあらゆる分野で欠かすことのできない機能である。一方で要求性能のレベルが年々高くなっているのも事実だ。消費電力の削減に対するニーズも強い。機器や製品の開発期間は短縮され,一方で処理はより高度に,より複雑になり,設計者の負担も増している。

 FPGAは,回路をプログラミングできるだけではなく,ライブラリやIP資産が揃っているほか,プロセッサコアの統合によってソフトウェア処理を取り込むこともできる。つまり「グラフィクスプロセッサ」あるいは「ネットワークプロセッサ」をASICよりも効率よく開発できるということだ。

 もちろん,最先端の画像処理や通信処理の機能の実装は,FPGA以外の部分でチャレンジを伴なうものだ。Gbpsクラスの信号を扱う場合は,基板を含めて,シグナル・インテグリティと呼ばれる高速信号の実装にも気を遣う必要がある。また,安定した電源の供給も不可欠だ。したがって,優れたシグナル・インテグリティを提供するFPGAを正しく選択することが重要だろう。 また,高速FPGAに対応する電源ICやモジュールの選択も重要だ。高速アナログ伝送や電源周りの設計負担やリスクを軽減してくれるような,FPGAメーカーと電源メーカーのタッグ・チームによるサポートが受けられるかどうかを判断材料にするとよいだろう。

 またこれはFPGAに限った話ではないが,現在の技術・市場のスピードに対応するためには,製品の企画から,新しい標準規格を適切にキャッチアップしつつ,日々登場する新サービスとの整合性も図っていく必要もある。製品開発を成功させるには,自己研鑽に加え,プロジェクトマネージメントの右腕となるようなサポートを提供するメーカー/販売代理店の協力を得ることも考慮したい。FPGAの利点やリソースをプロジェクトとして最大限に生かしつつ,強い製品を生み出していっていただきたいと思う。

 次回は連載の最終回として,プロセッサコアの搭載によるFPGAの進化と今後の可能性ついて述べてみたい。

  • 解答1:FPGAのPはProgrammableの頭文字のPです。その「プログラマブル」の名の通り、FPGAは、「後からでも回路の書き換えが可能」である点が大きな利点になっています。詳しくはアルテラの「FPGA入門」をご覧ください。
  • 解答2:1983 年に世界で初めて書き換え可能なロジック・デバイス (PLD : Programmable Logic Device) を開発して以来、アルテラはプログラマブル・ロジックにおけるイノベーションをリードし続けていますので、FPGA の A はアルテラの A だとお思いの方もいらっしゃるかもしれません。しかし、FPGA は、Field Programmable Gate Array の頭文字をとったものです。よって、A は 「Array」 の略になります。アルテラについて詳しくは「アルテラについて」をご覧ください。