Xilinx、Extensible Processing Platform「ZYNQ」を発表

【写真01】Senior Vice President, Worldwide MarketingのVincent Ratford氏。氏によれば「今週は我々のチームが世界中を回ってこのような説明会を行なっている」とのこと。ご苦労様である

3月1日(ドイツ時間) 発表



 ドイツ時間の3月1日午前8時30分、Xilinxは全世界的に新しい“Extensible Processing Platform”に対応した製品であるZYNQ(ジンク)製品ファミリーを発表した。日本国内ではこれに先立ち、2月25日にザイリンクスのオフィスで記者説明会が開催され、本国からVincent Ratford氏(写真01)が説明を行なった。

 さて、今回の“Extensible Processing Platform”であるが、これは昨年(2010年)4月に発表が行なわれた、FPGAとARM Cortex-A9コアを1つのダイに収めた製品のことである。Xilinxの推定によれば、2014年までに同社がターゲットとするような組み込みマーケットは127億ドルの規模となるが(写真02)、これを狙うためには単にFPGAだけでは足りない、というのが同社の認識である。現在の市場は、ASIC/ASSP/2チップソリューションのいずれか、ということになるが、例えば「28nm世代でASICを製造する場合、デザインの初期コストは8,000万ドル規模に達する」(Ratford氏)からおいそれと手は出せないし、ASSPは既にある程度機能なり要求が決まっているものには良いソリューションだが、新しい分野のアプリケーションには必ずしも対応できるとは限らない。こうした用途にこれまでFPGAを投入してきたわけだが、FPGA単体では機能が限られるので、MPUとの2チップ構成となり、価格や実装面積、消費電力などの観点で不利だった(写真03)。

【写真02】従来FPGAは、ここに出てくるアプリケーションにおいて、ある種のアクセラレータとして使われたり、もしくはインターフェイスとして使われたりしてきたが、もっと本格的にこのマーケットで売り上げを伸ばすためには、こうした周辺機器ではなくアプリケーションの中核に入る必要があり、そのためには高い性能を持つ汎用プロセッサが必要、という判断である【写真03】もっともFPGAの場合、構造上ASICなどに比べて必要なトランジスタ数が増えるから、概ねプロセス世代で2世代前のASIC製品と同等といったところで、本来だと55nmあたりのプロセスを使うASICと比較すべきなのかもしれないが

 こうした用途に向けて新たに投入されるのが、今回発表されたZYNQである(写真04)。当初はZYNQ 7010~7040の4製品が発表されており、今後は動向に応じて製品を投入していくとしている。

 基本的な構成は、Dual Cortex-A9 MPコアに、Xilinxの7シリーズのプログラマブルアレイを組み合わせた構造である(写真05)。まずCortex-A9の部分であるが、動作周波数800MHzのデュアルCortex-A9 MPコアで、NEONもデュアルで搭載される(写真06)。これに32KB/32KBのL1キャッシュと512KBのL2キャッシュが搭載されるというもので、メモリ種類が幅広く選べるあたりはいかにもであるが、ARM側に収められたペリフェラルを含めて、おおむね典型的なCortex-A9搭載のアプリケーションプロセッサという趣である。これに適当なGPUを組み合わせれば、インターネットアプライアンスがすぐにできあがりそうだ。

【写真04】発音だけでは亜鉛(Zinc)と区別が出来ないが、これは意味をかけている部分もあるそうで。亜鉛は中間材料としてさまざまな合金が結合する仲立ちをする事が多く、今回のZYNQもそうしたアプリケーションの中核としてデザインの仲立ちをすることを想定しているのだとか【写真05】この構造は以前発表された通りのものである【写真06】左下の内蔵するMemory-mapped Peripheralに、謎の「2倍速」デバイスがいっぱいあるが、原文はこれが“2x”、つまり2倍速ではなく「2つの」の意味。USB 2.0やGbE、SD/SDIO、UART、CAN2B、I2C/SPIなどが全てデュアルで搭載されているという意味である

 一方プログラマブルアレイだが、こちらは既存の7シリーズのものをそのまま組み合わせたとしている。ちょっと意外だったのだが、今回の場合ZYNQ-7010/7020がArtix-7ベース、ZYNQ-7030/7040がKintex-7ベースとされており、ハイエンドのVirtex-7ベースではないことだ。Artix-7のラインナップはこちら、Kintex-7のラインナップはこちらに示されているが、ロジックセル数で言えばArtix-7が18,000~35,000、Kintex-7が30,000~48,000といったあたりで、機能的にはそれぞれArtix-7/Kintex-7のローエンドよりちょっと上程度の構成になっている(写真07)。外部I/OはFPGAの特徴をそのまま引き継いでおり、結構な数のI/Oが引っ張り出せるとする(写真08、09)。

【写真07】ADCが2chのみというのはちょっと寂しいが、これはマイコンとしてみるからで、FPGAとしてみればADCが入っているのはちょっと珍しい、ということになる【写真08】Cortex-A9とは内部のAXI-4で接続する形になる。ちなみにCortex-A9用のPeripheral I/OにStatic Memory(要するにSRAM)とあるが、他にFlash Memoryも搭載可能で、ここをプログラマブルアレイのConfiguration Memoryとして使う構成も可能だという話だった【写真09】CPUコアに関しては全モデル共通で、異なるのはプログラマブルアレイとI/Oということになる。さすがにローエンドではPCIeなどは使えないようだ

 こうした製品をどう使うのかという適用事例に関して、もう少し説明があった(写真10)。まず車載向けのDA(Driver Assistance)システムというのは、例えばバックミラー付近に取り付けられたカメラで車前方の映像解析を行ない、これにあわせて衝突回避とかプリクラッシュシステムを動かすといった要望に応えるものになるが、こうした用途にローエンドのZYNQが適当なソリューションになる(写真11)、というものだった。

 ここで問題になるのはコストであるが、例えば百万個とかのオーダーであれば、このローエンド品の価格は15ドルを切る程度で供給される、という話であった。もう少し大規模な分野ではFA(Factory Automation)で、従来は汎用プロセッサ+FPGAのソリューションがメインであるが、これをワンチップで置き換え出来る、としている(写真12)。最後が「日本市場で特に多い」(Ratford氏)という放送用カメラの分野で、この分野も従来は2チップソリューションが多かったのを、ZYNQではワンチップで置き換え可能、としている(写真13)。

【写真10】ちなみにZYNQと従来のFPGAの住み分けというか売り上げ比率に関し、Ratford氏は「今年は30%以上の成長を見せるが、これは従来の(Virtex/Spartan)5/6シリーズによるもので、業界全体がこのくらいの伸び率になる。続く2~3年は7シリーズの売り上げが大きくなり、ZYNQの売り上げは5年後あたりだろう」という見解をまず示したあとで、「ZYNQと従来のFPGAは競合するものではなく、むしろ新しいマーケットを切り開くと見ており、ここは年率25%くらいの割合で成長することを期待している。5年後には5億ドル、10年後には10億ドルの規模を期待する」との話だった【写真11】この部分は低コスト化への要求が厳しい分野で、それゆえにこれまでASICを使う事が多かった、としている。ただ多くのプロセッサベンダーがこの部分にソリューションを投入しつつあるので、むしろ競合はASICというよりも専用プロセッサの2チップ構成ではないか? という気もする
【写真12】これも、FAのどの部分かで要求が異なってくる。機械制御そのものは、モータ制御用のPWMを初めとした周辺機器を豊富に内蔵したCortex-Mシリーズの汎用マイコンの方が適していると思われるから、おそらくはその1つ上のレベルを想定していると考えられる【写真13】放送用カメラは新規格(最近なら3D)の対応とか、新撮影素子とか、新フォーマットなどが出てくるたびに作り直しになるし、数が出るものではなく、その一方で価格は高くても許容される分野だからこれまではミドルレンジというよりもしばしばVirtexクラスのFPGAが投入されることもあった分野である

 次いで開発環境の話であるが、基本的には従来のFPGA+汎用プロセッサの2チップソリューションとほとんど変わらないことになる(写真14)。Cortex-A9コアで動くソフトウェアに関してはARMのDevelopper Connectionに加盟している各社から提供されるとしており(写真15)、一方プログラマブルアレイに関しては既存のFPGA開発環境がそのまま利用できるとしている(写真16)。

【写真14】後のQ&Aセッションでも明らかになったことだが、少なくとも現時点ではZYNQの開発には、Programming Arrayを設計するデザイナーと、Cortexの上で動くアプリケーションを開発するプログラマーの2種類の開発者が必要になっており、短期的にはこれを統合するアイディアは無いようだ【写真15】ここに関しては、Xilinxから出るのはAXI-4のI/Fをアクセスするためのライブラリや、デフォルトで搭載されるプロセッサ用ペリフェラルのドライバ/ライブラリ類に限られるようで、後はARMのDeveloper Studio 5なりサードパーティ各社から出る開発キットなりを使う、という形になるようだ【写真16】XilinxのISE 13.1でZYNQ向けの開発環境が提供されるとのことである
プラットフォーム、としてARM/Avnet/Xylon/NIの名前が挙がっているのは、これらの企業はZYNQを搭載した開発ボードなどをリリースする、ということだそうだ

 最後に開発状況であるが、まずEarly Access Programに加盟することで、2011年後半からエミュレーションプラットフォームが入手可能になる(一部のαAccessの企業は既に入手している模様だ)。これはZYNQのエミュレーションを行なうボード(Virtex 5/6が複数個乗った形で構成されるものらしい)とISE 13.1の組み合わせで構成される。これとは別に、αシリコンは2011年後半にリリースされるが、これは特定の企業向けとなり、いわゆるES(エンジニアリングサンプル)として幅広くリリースされるのは2012年に入ってから、ということになるようだ(写真17)。

 ということでレポートが一段落したところでもう少し解説など。まずプロセッサコアに関してだが、今回は契約の関係もあるのか、全モデルでCortex-A9 MPコアのデュアル構成となった。これに関しては、将来的には例えばローエンドにはCortex-A5とか、あるいはハイエンドにはCortex-A15といった可能性はありえるが、現状はまだそこまで考えていないという話であった。ローエンドにデュアルが必要か? と問いかけたところ、大体の場合デュアルコアの片方はシステム制御に使い、もう片方がアプリケーションプロセッサとして使われるので、デュアルコアでちょうどマッチしており、なのでシングルコアの構成は考えていないという話であった。であれば共有L2の構成はある種不適当な感じもしなくはないのだが、このあたりはOSをどう載せるかにも関係してくるのだろう。

 もう1つはユーザーロジックとCortex-A9の関係であるが、現状ではプログラマブルアレイ上のロジックは、AXI-4上にメモリマップされる形でアクセスすることになるようだ。結果、先の開発環境でも「最初にユーザーロジックをどうメモリマッピングするかを決めれば、あとはアプリケーションソフトの開発者とユーザーロジックの開発者は独自に開発を進められる」という話が出てきており、ここからもう一歩進んだ融合というのは今のところ考えていないようだ。このあたりが今後の検討課題になりそうな気がする。

 ところでZYNQの位置づけだが、基本的には“Price Sensitiveなマーケット向け”という判断で、なのでVirtexのような高価なものにはならないそうだ。Xilinxは先に、28nm世代でStacked Silicon Interconnectという、一種のマルチチップソリューション(複数のFPGAを、Silicon Interposerを介して接続することで大規模FPGAを構築する)をVirtex-7向けに発表しているが、この技術はZYNQには高価すぎるため使う予定はないとのこと。また先に車載向けのDAシステムで15ドル未満という価格が提示されたが、同様に例えば開発キットはハードウェアと開発ツール全部込みで500ドル(これにはZYNQ-7020のP85というモデルが搭載されるそうである)を予定しているとか。このあたりは、明確に従来とはちょっと異なる価格戦略をとっていることが伺える。

 また発表にはなかったが、こちらも消費電力を大幅に抑える仕組みが色々とあるようで、例えばZYNQ-7010の消費電力は2W以下だそうである(ハイエンドのZYNQ-7040は? と聞いたら「忘れた」という回答が返ってきた)。またディープスリープの仕組みも搭載しており、これはCortexコアとプログラマブルアレイの両方で利用可能だそうだ。ただプログラマブルアレイはSRAMベースなので、ディープスリープから復帰の時にはもう一度コンフィギュレーションをロードすることになる。このあたりは、レスポンスタイムと消費電力のトレードオフであり、いくつかのオプションを提供して、最適なものをユーザーが選べるという話であった。

 ところでこの製品を何と分類すべきか、が難しいところだ。Xilinx自身に伺ったところ「これはExtensible Processing Platformだ」という回答が返ってきたが、これはあまり答えになっていない。FPGAの枠からはみ出しているし、汎用プロセッサではもとより無い。CPU+FPGA、というのがコンサバティブな分類であるが、実体としてはASSPにかなり近い存在、と言っていいのかもしれない。個人的にはマルチロールASSPあたりが一番適切なのではないかと思う。従来のXilinxの製品と異なり、個人でも使いやすそうだし、価格もかなりこなれている感じである。ホビーユーザーでも使えるようなプラットフォームが出てくると嬉しいのだが、と感じた製品であった。

(2011年 3月 1日)

[Reported by 大原 雄介]