全国高校eスポーツ選手権運営の舞台裏。開催ET2009の最終日となる11月20日、ET2009展示会場に隣接するヨコハマグランドインターコンチネンタルホテルでXilinxとARMによる合同記者発表会が開催された。今回のテーマは、10月20日に発表された、XilinxとARMの共同開発に関するもので、会場ではザイリンクスのサム・ローガン社長とアームの西嶋貴史社長が、今回の共同開発について説明を行なった(写真1)。●FPGA+Cortexコアでコンバージェンス領域をターゲットにまず説明に立ったローガン社長が、Xilinxの基本戦略を軸に説明した。これまでもプロセスの微細化が進行、そのたびに性能の向上やダイサイズの縮小といったメリットがあった反面、回路の複雑さや検証の難しさが増すといったデメリットがどんどん顕在化してきた。この先もこうした問題は更に続くとした上で(写真2)、引き続きアプリケーションに対するソリューションのギャップが広くなる方向に進んでいるとしている(写真3)。問題はこのギャップのハザマにあるアプリケーションが増えつつあることである(写真4)。【写真2】恐らく2010年あたりに、主要なファウンダリは11nm台の生産を開始すると見られている。【写真3】縦軸がマーケット規模、横軸がセグメントとなる。携帯などの少品種大量をターゲットにした領域はグラフ左端で、こちらはASIC/ASSPIがカバーするエリア、反対に通信向けコントローラのような多品種少量をターゲットにするのがFPGAとなるが、問題はこの中間である。【写真4】ニーズの微妙に異なるラインナップを用意するときに、今までだとハイエンドに相当する機能を盛り込んだASICを作り、あとは機能を無効にする形でラインナップ分けをすることで、ASIC製造に必要な個数を確保するという方策がよく利用されたが、最近はそうしたことも次第に難しくなりつつあるXilinxはFPGA方向からのアプローチとして、階層構造のレイヤーを考え、単にFPGAのみならずIPやプラットフォームを提供することで、アプリケーション開発を容易にする、という方向性を示しているが(写真5)、このドメイン特化部分にこれまで十分な部品が存在しなかった(写真6)。4xxコアをハードコアとして埋め込んだラインナップが存在するほか、SoftCoreとして提供されるMicroBlazeもあるが、もう少し新しいコアが必要になってきていた。これまでXilinxの主要ターゲットだった通信向けではPowerPCコアに対応したアプリケーションが多かったが、昨今は通信向けが半分程度となり、残りが民生や医療など新しい分野向けとなることで、PowerPCのままでは具合が悪く、MicroBlazeではパフォーマンスが足りないという状況になってきた。【写真5】顧客の開発リソースは有限であるので基本的な部分の開発まで自前で行なうとなると、製品の差別化の部分に掛けられるリソースが減ってしまう。【写真6】FPGAはある意味MACの塊というかDSPの塊的なものとも見ることができるが、汎用プロセッサに関してはいまいち不足気味であった。IP、更には次世代のAMBAバスを将来のXilinxの製品に搭載することが決まったわけだ(写真7)。これにより、従来手薄だったASIC/ASSPとFPGAの境目にあたる部分に投入するための手段が1つできたことになる(写真8)。搭載される次世代AMBAでは、FPGA上もしくは外部のプロセッサとFPGAのロジックをシームレスに接続できるようになっていることも明らかにされた(写真9)。【写真7】CPUのみならず物理IPも、というところがミソ。【写真8】あくまでもCPUではなく、AMBAと説明している点もポイント。携帯機器とかモーター制御などでのARMのプレセンスは非常に高いが、それ以外の用途(例えばXilinxが得意とするキャリアの基地局などでの通信機器関係とか、CTやMRIなどの大型医療機器関係など)ではARMのプレセンスはほとんど無い。【写真9】次世代AMBAの構造。CPUを搭載する必要も無く、内部のIP同士を繋ぐ標準バスとしてAMBAが使えるということになるこのあたりで西嶋社長に説明をバトンタッチした。写真08のスライドを見ながら、従来ARMはASIC/ASSPベンダーにCPUをIPで販売するベンダーであり、図で言えばASIC/ASSPクラスアプリケーションに強い特徴を持つ反面、それ以外の分野ではそれほど強くないことを説明。したがってXilinxとパートナーシップを組むことはお互いが苦手とする領域を補完しあえる関係にあり、両者のコラボレーションによって融合領域(図中の「サービス不足のアプリケーション」の領域)をカバーするソリューションが提供できると説明した。続いて行なわれた質疑応答の内容をまとめてご紹介したい。製品投入時期や具体的に搭載されるCPUや物理IPについては、現状では公表できないとしており、これについては2010年に改めて発表を行なうという話であった。Cortexの全シリーズ(A/R/M)のライセンスを受けているわけではなく、またCPUコアはハードIPとして提供されるため、後から構成変更は出来ないとのことだった。AMBAに関しては変更可能になるとのことだった。(既にソフトコアとして提供されている)Cortex-M1同様、ユーザーがこのCortex搭載のFPGAを使う場合、ARMと契約したり別にライセンス料を支払う必要はないという話であった。Cortexファミリーと並行して)PowerPCコアを提供するかどうかは明確に出来ないという返事であった。いうことで、もう少しだけ解説を。実は2008年頃から、ARMコアのCPUを乗せるとか乗せないという話は出たり消えたりしていた。性能の低いものに関しては、ActelのCoreMP3とかAtmelのCAP9などがあるし、FPGA専用ソフトコアとしてはCortex-M1がActel/Altera/Xilinxの各FPGAの上で動作する。440は550MHz駆動で1,100DMIPS以上)という希望があり、そうなるとどうしてもARM10以上、実際の希望はARM11だったようだ。ARM11コアの搭載にあたってはライセンスでずいぶん揉めたそうで、少なくとも2008年の段階では「いつ搭載できるか」が全く不明だった模様だが、少なくともこの時点ではまだCortexファミリーを搭載する予定はなかったようだ。これが心機一転、Cortexファミリーの搭載となったのは、先日発表されたCortex-A5の存在が大きいようだ。Cortex-A5はARM9~ARM11のアップグレードパスとしては最適なプロセッサコアであり、リファレンスが40nmプロセスという点も、既に40nmで製造を行なっているVirtex-6には適切であろう。Cortex-A8/A9はパフォーマンスが高い(というか、高すぎる)一方で消費電力も高い。スマートブック系アプリケーションにFPGAが入る可能性は余りなく、もう少し下のデバイスに入るから、Cortex-A5は適切な選択であろう。今のところCortex-A5はTSMCのプロセスでの数字が公開されているが、ARMは当然UMCでもCortex-A5の製造を可能にすると思われる。質疑応答の中では明確には示されなかったが、西嶋社長が「ほとんどのファウンダリが我々の製品を製造可能な契約を結んでいる」としており、UMCでも当然製造可能になると思われる。微妙なのはSpartan-6を製造するSamsungの45nmプロセスだが、こちらについては「そもそもSpartanグレードにCortexが入るか」がまず問題なのであって、少なくとも当面はVirtex-6のみの対応になると思われる。CPUコアはVirtexのみだろうが、AMBAや物理IPに関してはVirtex/Spartanの両対応になりそうだ。問題はここの物理IPの品揃えである。ARMはSoC向けIPの提供を行なっていたArtisan社を2004年に買収、同社が提供していたさまざまなIPがそのまま利用できるようになっている。ここにはさまざまなスタンダードセルやメモリインターフェイス、メモリ/レジスターなどから、高速I/Oまで幅広いラインナップが揃っている。Xilinxも自身でこうしたラインナップをある程度提供しているわけで、どの程度の物理IPが今後持ち込まれるのかは非常に興味ある部分だ。SoCの内部バスとしては、AMBA/AXIとOCPという2大勢力があるが、今回XilinxがAMBA/AXI陣営に参画したという点もなかなかに興味深い。こちらに関しては、Xilinx自身というよりも競合する他のFPGAベンダーの動向が気になる部分だろう。