Xilinxは11月13日(現地時間)に、20nmプロセスを採用した次世代製品「8シリーズ」の製品ポートフォリオ戦略を発表したが、この製品ポートフォリオ戦略について、もう少し詳しい話を今回、本国XilinxのTim Erjavec氏(Photo00)から伺う機会に恵まれたので、これをレポートしたいと思う。
まず氏は、現在出荷中の28nmプロセスを使った7シリーズに触れ、単なるMonolithicなFPGA Fablicに加え、Cortex-A9を搭載したSoC、そして複数のMonolithic FablicをPassive Interposerで繋ぐ3D IC(正確には2.5Dでは? と突っ込んだところ、「確かに今はActive Slice同士はSide-by-Sideで、3D方向はPassive Interposerとの接続だが、ただそれでも3Dは3Dだ」と答えてくれた)という3種類の基本的なコンポーネントを確立できたとしており、この構成を20nm世代でも継承するとしている(Photo01)。
Photo01:7シリーズからは、限定的ではあるがアナログ回路(AMS:Agile Mixed Signal)を搭載しており、これも6シリーズからの新機能となる。このAMSも8シリーズに継承される模様 |
すでに7シリーズは全シリーズともESの出荷は始まっており、量産に入っているものも少なくない(Photo02)。ちなみに3D ICに関しては、完全に同じSliceを複数搭載するHomogeneous構成以外に、異なるコンポーネントを組み合わせたHeterogeneous構成のものも提供予定とされる。Homogeneousの一例は「Virtex-7 2000T」であるが、これとは別に2つのFPGA Sliceに28GbpsのHigh-Speed Transceiverを組み合わせたものが現在サンプル出荷を開始しているということで見せていただいた。こうしたものは、そのまま20nm世代にも引き継がれてゆくとしている。
Photo02:Zynqの量産開始は2013年第1四半期、3D ICは2012年12月に量産に入るとの事 |
Photo03:SoCへの対応も含めて、より大規模なLEのFPGAの構築が20nm世代では可能になるとしており、このためにはまず開発環境の整備が必要という話 |
ただ20nm世代では、従来以上にLE(Logic Element)が増えてゆくことで開発がどんどん困難になってゆくという問題がある。これはより大規模な回路を組みめるようになった事が主要因だが、これまでのHDLによる記述以外にSystem Cを使ってのシステム記述などのニーズが増えてきており、こうしたトレンドへの対応も必要だから、という話である(Photo03)。これに対応する形でXilinxは第2四半期から新しい開発ツール「Vivado」の出荷を開始しており、先日はこれの12.3が公開されている(Photo04)。
このVivadoはどう効果的か? という話だが、例えば200万LEを持つVirtex-7 2000Tを従来のISEを使った場合と比較すると、3~4倍の処理性能と、20%程度高い最適化能力を実現できるとしている(Photo05)。なぜここまで差が出るようになったのか、についてErjavec氏は「従来のISEは、元々数千ゲートしかなかった時代に開発されたもので、とてもではないが今の200万LEを扱えるようには出来ていない。Vivadoはこうした大規模なLEでの開発環境を目指して開発されたものだ」とし、「Vivadoは今後10年の開発現場での利用に向けて、4年以上掛けて開発した」と説明した。
Photo05:20nm世代の場合は、このVivadoが唯一のデザインツールとなり、従来のISEは20nm世代製品をサポートしない(できない)。したがってユーザーは現在の7シリーズで、ISEからVivadoへの移行を行う必要がある |
この性能の改善をもう少し詳細に説明したのがPhoto06だ。特にSystem Cを使っての開発の効率が改善していることが示されており、これについてErjavec氏は「別に開発者はトランジスタを直接触るわけではなく、Toolを介してデバイスをアクセスする訳で、だからこそToolが重要である」としており、Toolこそが開発効率の鍵になる、と強調した上でVivadoに加えて様々なツールやIPを提供し(Photo07)、これらを組み合わせることで開発効率の向上が図れると説明した。
次いで、いよいよ20nm世代の話になる。といっても今回は非常に概念的な話ではある。現在の28nm世代に続き、次は20nm、その先には14/16nmのFinFET、次いで10nmといった具合に展開をしてゆくとしており、プロセスノードごとに30~50%の性能/消費電力比、あるいは性能/価格比を向上させてゆくとした上で、SoCあるいは3D ICに関してはさらに性能改善をしてゆくという見通しを説明した(Photo08)。
ちなみに3D ICに関して「将来は複数のActive Slice同士の接合がありえるか?」と確認したところ、「今のところはPassiveとActiveの組み合わせで十分足りており、これによって競合他社が提供しえない大規模なLEのFPGAを提供できている。顧客にとっては、Active-Passiveの組み合わせなのか、Active同士の組み合わせなのかは重要なポイントではなく、単にLEの数なり搭載されるFunctionが何か、が問題なのであって、そうした観点では今のActive-Passiveの組み合わせは十分効率的である」という返事であった。
さてその20nm世代の製品であるが、基本的には現在の7シリーズの構成を引き継ぎつつ、よりバラエティに富んだ製品ラインナップを提供できるとしている(Photo09)。
Photo09:例えば3D ICの場合、Active Slice同士の帯域は28nm世代に比べて5倍の帯域になった、としている。詳細はまだ明らかにされなかったが、恐らくは配線数と速度の両方が増強されたものと思われる |
特にこの20nm世代では、トランシーバの速度を33Gbps~最大56Gbpsまで引き上げたものが提供される、と説明された。56Gbpsというと、そろそろ銅配線でどうだろう? という領域であるが、これについてもまだ詳細は言えないとしながらも、プロトコルおよびトランシーバそのものに同社のノウハウを注いでおり、問題なく実現できるとしている。恐らく一番想定アプリケーションとして一番ありそうなのはInterlakenを使ってのネットワーク機器の構築で、従来だとFPGA同士の接続に利用するInterlakenの通信のためにかなりのトランシーバを使うことになり、このため結果として1つのFPGAに多くの機能を詰め込めない(機能を一杯詰め込むためには、単に前段あるいは後段に繋ぐのみならず、メモリその他の周辺回路も色々Interlakenで繋ぐ必要がある。ところがトランシーバの数が足りないと1つのFPGAに色々繋ぐのは無理なので、結局機能を複数のFPGAに分割してトランシーバの数を稼ぐといった対応が必要になる)といった事が起きていたが、単純に言ってもピークで従来の倍の速度であればトランシーバの必要数が半減するわけで、これは大きな特徴ということになりそうだ(33Gbps以上はXCVRプロトコルの利用が前提になるような記述もあるが、このあたりはまだ明確ではない)。
さて、もう少し個別の話を。基本的には現在の「Artix/Kintex/Virtex」という3つのFPGA製品ライン+SoCのZynqという構成は8シリーズでも継承される模様である。明確には説明されなかったが、「3D ICの技術はKintexやArtix、Zynqには不要だろう」としていたので、3D ICに関してはVirtexの製品ラインで提供されるのみで、Artix/Kintex/Zynqは引き続きMonolithic構成となる模様だが、それぞれの想定されるアプリケーションはPhoto10の通りである。
特にSoCに関しては、実際にZyncのサンプル出荷を開始したところ、多くのユーザーが非常に幅広い用途にこれを利用したとしており、そうした用途は今後より広がってゆくことを期待しているようだ。
もう少し細かく見ると、まずMonolithic製品に関してはPhoto11のような感じである。まずトランシーバに関してはLink Trainingの機能を含む模様で、最適な通信速度に自動的にあわせるとか、未通信時には休止することで消費電力を下げるといった機能を搭載するようだ。
またDSPやBlock RAMの性能の改善やDDR4メモリのサポートなどもサポートされ、さらに内部のRoutingの効率を最大90%程度まで改善するとしている。次にSoCであるが(Photo12)、ARMのサブシステムを含む全体について2倍の性能改善が実現されるとしている。一方3D ICはより大容量のLEを搭載する方向がメインで、またそうした大量のLEを利用するアプリケーションでは外部へのメモリ要求も強く、ここに「標準的なメモリI/Fを利用できるように、という要望が非常に強い」との事であった(Photo13)。
Photo12:ちなみにCPUブロックの詳細はまだ公開できないが、コア数については「少なくとも2つよりは多い」との事だった |
Photo13:56Gbpsのトランシーバはこの3D ICのみの搭載になるのかもしれない |
ちなみにこの20nm世代の3D ICでどれだけのLEが搭載されるのかは明らかにされなかったが、「例えば200万LEを超えるような製品をまともなYieldで実現するためには、3D ICしか方法が無い」ということであった。
用いられるTSMCの20nmプロセスに関しては、Xilinxの立場としては「今のところ順調に開発が進んでいる」との事。またTSMCは20nm世代では1種類のプロセスしか提供しない事をすでに明らかにしているが、これについても「我々は28nm世代でHPLプロセスを使って製造を行っており、これで特に問題は生じていない。20nm世代もこれに準じたものになるので、問題は生じないだろう」とした。また、この20nm世代におけるSoCのCPUコアについて、当然詳細はまだ公開できないとしながら「実際にこの20nm世代のSoCが搭載された製品が製造されるのは4年位先になる訳で、その時点の要求に見合った性能のものを搭載する」とした。さらに32bitと64bitのどちらのコアを搭載するのか? については、「FPGAに搭載されるアプリケーションは恐らく64bit Addressingは必要ないと思う」としており、性能的にはCPUコアに加えて十分なDatapathをSoC FPGA内部で提供することで32bitで間に合うだろう、とした。
今回の発表はTechnology Announcementから一歩踏み込んだ程度のもので、まだ具体的なラインアップやスペックは未発表のままである。実際製品の登場スケジュールは?というと、TSMCの20nmプロセスが量産に入るまであと1年近く(最初に量産に入るのはTSMCのFab 12 Phase 6でこれが2013年中、次がFab 14 Phase 5でこちらは2014年)かかる。また製造開始当初のものはまずXilinxによるテスト用、次が特定Customer向けのαサンプリング向けとなるし、ここで何か問題が出たりしたら当然手戻りが発生するわけで、このあたりが解決していわゆるESが始まるまでには軽く2年は掛かるだろう。そのES品を使って機器の開発に掛かるのは、そんなわけで2年以上先の事になる。にも関わらずここで発表を急いだのは、顧客にISEからVivadoへの移行を促したいから、というのが一番の理由ではないかと筆者は想像する。
筆者もそうだが、特段理由が無ければ使い慣れたツールを切り替えるのには抵抗がある。ましてや、大規模なシステム開発などを行っている場合には、途中で開発ツールを変更するなどご法度以外の何者でもない。ところがISEではもはや大規模なFPGA開発が不可能というかパフォーマンスが非常に悪いことが明確で、それもあってXilinxはVivadoを開発したわけだが、逆に言えば20nm世代の8シリーズが広く使われるためには、まず前提としてVivadoが広く利用されていなければならない。そうした状況を考えると、今というのは7シリーズを使った最初の機器製造が一段落する頃であり、丁度切り替えを始めるにも良い時期である。そこでぼちぼち積極的にVivadoのプロモーションを行ってゆく必要があり、その切り替えの動機として一番判りやすいのが8シリーズへの移行、と考えると今回の発表は判りやすい。
ISEが使えなくなる、という時点でVivadoが8シリーズの生命線を握っているという考え方も出来るわけで、そんなわけでこのVivadoの今後の普及状況がちょっと楽しみである。