ニンテンドー3DSのグラフィックスや、オリンパスの第3世代マイクロフォーサーズ(マイクロ一眼)「E-P3/E-PL3/E-PM1」のGUI向けにグラフィックスIPコアを提供しているディジタルメディアプロフェッショナル(DMP)。同社とFPGAベンダXilinxの日本法人ザイリンクスは2011年8月に、XilinxのハイエンドFPGA「Virtex-6」ファミリを搭載した3D/2Dグラフィックスシステム開発評価ボードとDMPの3D/2DグラフィックスIPを統合した「PICA 200(SMAPH-F) for FPGA Virtex-6 Evalution Kit」を発表した。これにより、手軽に3Dグラフィックスの開発が可能になると両社は語っている。今回、DMPとザイリンクスの双方に話を聞く機会を得たので、その様子をお伝えしたい。

そもそもDMPは2002年7月に法政大学の池戸恒雄教授により設立されたベンチャー企業で、3D/2DグラフィックスIPの開発とライセンスビジネスを展開してきており、上記のようなコンシューマ機器などへの搭載も進み、業績も好調なことから2011年6月には東京証券取引所マザーズ市場への上場を果たしている・

同社のグラフィックスIPのラインアップは大きく分けて4種類に分けられる。高機能かつ高性能な3Dグラフィックスを表現可能な「リアリスティック3Dグラフィックス」用IP「PICA 200」、一般的な用途向け「3Dグラフィックス/コンピューティング」用IPとして「PICA 200 Lite」「SMAPH-S」、そして「PICA 200 for FPGA」の3つ、「2Dベクターグラフィックス」用IP「SMAPH-F」、そして最後は「ベクター/3Dグラフィックスハイブリッド」用IP「SMAPH-H」だ。

DMPの提供しているIPラインアップ

3D系のIPは基本的にPICA 200がすべてベースになって開発されたもの。PICA 200はOpenGL ES 1.1に対応しているほか、独自技術でゲーム系グラフィックスに特化した「DMP MAESTROテクノロジー」を採用(現在は第2世代となる「MAESTRO 2G」を採用)することで、低消費電力を実現しつつ、相当の3D描画性能を達成していることは3DSに採用されたことなどからも窺えるだろう。

PICA 200の概要。同社のIPの最大のポイントはロジック領域が少なく、かつ他社のグラフィックスコアと比較しても低消費電力だというところ

PICA 200 LiteはPICA 200からMAESTROを除外し、UIアプリ向けに機能最適化を図ったIP。フルHD解像度に対応でき、フレームバッファは最大4088×4088ピクセル、ピクセルフォーマットはRGBA4444、RGB565、RGBA5551、RGBA8888に対応し、頂点性能は最大12.7Mピクセル/秒(166MHz動作時)、ピクセル性能は最大166ピクセル/秒(166MHz動作字)となっている。

PICA 200 Lite/PICA 200 for FPGAの概要

このPICA 200 Liteの性能強化を図り、OpenGL ES 2.0に対応させたのがSMAPH-Sだ。プログラマブルシェーダに対応し、頂点性能は最大106Mポリゴン/秒(266MHz、4頂点処理プロセッサ搭載時)、ピクセル性能は最大2.2Gフラグメント/秒(266MHz、8フラグメント処理プロセッサ搭載時)となっている。こちらは今後、OpenCL 1.1への対応を予定する次世代IP「SMAPH-S Next(開発コード名)」も開発が進められているという。

OpenGL ES 2. に対応したプログラマブルシェーダ・プロセッサを搭載したSMAPH-Sの概要。用途に応じて柔軟にプロセッサ数とパイプライン本数を変更することが可能で、表ではコア数は24、パイプライン数は4本までとなっているが、それ以上に搭載することも可能だという。ちなみにS404クラスで、PlayStation VitaのGPUと同等の描画性能だとDMPでは説明している

2D向けのSMAPH-FはOpenVG 1.1に準拠しており、インタフェースとして活用することで、Adobe Flash LiteやSVGなどのベクターグラフィックスライブラリのハードウエア・アクセラレーションが可能となる。また、SMAPH-HはおおむねSMAPH-SとSMAPH-Fを統合したIPという位置づけとなっている。

SMAPH-Fの概要

SMAPH-Hの概要

そして今回の話題であるPICA 200 for FPGAだが、FPGAでの利用向けに特化したIPで、最大XGA解像度に対応し、頂点性能は最大3.8Mポリゴン/秒(50MHz動作時。Virtex-6ではこれが最高値だが、Virtex-7になればもっと高速な処理ができるようになるという)、ピクセル性能は最大50Mピクセル/秒(50MHz動作時)のレンダリングが可能で、汎用GPUやASICで実現していた3Dグラフィックス描画をFPGA上で実現することが可能となるというもの。対応FPGAはXilinxのVirtex-5/6のほか、28nmプロセスを採用した次世代FPGAである「Xilinx 7シリーズ(Virtex/Kintex/Artix-7)」にも対応する。

PICA 200 for FPGAの評価ボードは東京エレクトロン デバイス(TED)が開発を担当しており、基板上にはFPGAとして最大規模の集積度を誇る「Virtex-6 LX760」とPCI Express ×4 Gen1用に「Virtex-6 LX550T」の2つのFPGAが搭載されており(LX550Tの余ったロジックセル部分にほかのIPを搭載することも可能)、x86やARM、MIPSなどの各種プロセッサとのやり取りをしながら、3D GUIなどの開発を行うことができる。

赤いボードがPICA 200 for FPGA。デモではその上にARMコア搭載ボードとLCDを載せつつ、ARMコアを使わずにAtomベースのx86アーキテクチャでPCI Express経由で3D描画のデモを見せていた。そんな構成でも、それなりに3D描画がグルグルと動いており、作成したUIなどの動作チェックなどとしては十分な性能だと思われた

同ソリューションが狙うのは主に2つのカテゴリ。1つは従来からFPGAが得意としてきたSoC/ASICのプロトタイピング。そしてもう1つは少量品で、ASICなどを作るまでもない分野。例えば航空宇宙分野などは機体そのものの生産数も少ないことから、ASICをいちいち作っていては採算に見合わない。そういった分野も従来からFPGAが活用されてきているが、そうした領域でのより高度なGUIの実現ニーズに対応することが可能となる。

具体的には、ハードウェア/ソフトウェアエンジニアによる開発現場での活用のほか、UIをデザインするデザイナーそのものにも使ってもらいたいとしている。実際にデモも見せてもらったが、組込機器などのUIとして考えれば十分な性能を実現しているように思えた。

また、将来的にはXilinx 7シリーズを用いることで、民生機器などでの活用に向けた開発も可能になると両社いずれもが期待を語っている。

さらに、PICA 200 for FPGAという名前での販売だが、ほかのDMPのIPも別途ライセンスを受けることで搭載することが可能(MAESTRO含む)であるため、必要に応じて、それらのIPも活用した開発も可能となっており、より高度なUIの実現なども可能となる。

なお、すでにSMAPH-F for FPGAの方は活用に向けた交渉が進められているとするほか、PICA 200 for FPGAについても販売初年度では10ライセンスの販売を目標としており、3Dグラフィックスの適用分野の拡大を目指した取り組みを今後も進めていくとしている。