FPGAの主要ベンダーは、回路設計の大規模化に向けて、新しいチップの開発と同時に、システム統合を高い生産性で行うことができる次世代開発ツールの開発にも力を入れている。さらに、組み込みシステム用途ではハードウェア設計に加えて、内蔵するプロセッサ用のプログラム開発を効率よく行うためのツール提供が必須となる。

Qsys:システム・レベル設計で生産性向上

 最新の半導体チップは、複数のプロセッサコアや大容量メモリをはじめ、大規模なシステム・レベルの回路を1つのチップに集積することが可能となっている。こうした中で、FPGAは、このシステム・レベル設計を効率よく行える半導体ソリューションの1つとして注目されている。これを可能とするのは、最先端プロセス技術を駆使したFPGAチップと、SoC設計に最適なツールの提供である。

 SoC設計の生産性を向上させるためには、設計の抽象化レベルをシステム・レベルに引き上げていくことが重要となる。そのためには、「IPコアの再利用が容易であること」、「システム・レベルの設計を階層的に行えること」、「検証時間を短縮できること」、といった要件が開発ツールに求められている。

 2011年11月に横浜で開催された「Embedded Technology 2011」(ET2011)でも、こうした要件を満たす最新の開発環境が来場者の注目を集めていた。例えば、アルテラ・ブースでは、開発ツール「Quartus® II」で利用できるシステム・レベルの統合ツール「Qsys」を紹介した。Qsysでは、これまでアルテラが提供してきたシステム開発ツール「SOPC Builder」の機能に加えて、「業界標準インタフェースのサポート」、「階層構造設計」、「リアルタイムのシステム・デバッグ」、「IP管理機能」などが提供される。

 システム・レベル設計の生産性を向上するための1つの手法は、流通しているIPコアを最大限に活用することだ。しかも、そのIPコアが標準インタフェースを備えていれば、システム統合を行う際にインタフェース部の再設計といった手間を省くことができる。Qsysは、これまでアルテラが提供してきた「Avalon」に加えて、ARMの標準インタフェースである「AMBA AXI」のサポートが始まっていることに加え、「AHB」のサポートも検討している。しかも、1つのチップ内にAvalonとAMBA AXIを混載して実装することができる。これによって、多くのIPコアの再利用が容易となる。

 また、FPGA内にJTAGあるいはTCP/IPのブリッジIPを組み込んでおけば、外部からハードウェアの検証が容易に行えるオンチップ・デバッグ機能を持たせることができる。これにより、Qsysのシステム・コンソールから、ブリッジIPを介して機能ブロックのポートにアクセスし、外部からコマンドを送ったり、レジスタの状態を読み出したりすることができる。従来はレジスタの設定を手作業で行っていたが、オン・デバッグ機能により、ボード完成までの期間を短縮することができる。これらの検証機能により開発の効率を大幅に改善することができる(写真4)。

写真4:オンチップ・デバッグ機能により、データをリアルタイムに解析することができる
写真4:オンチップ・デバッグ機能により、データをリアルタイムに解析することができる

 これ以外にも、Qsysはチーム・ベースの設計をサポートする階層構造設計への対応や、パイプライン・レジスタを自動で挿入することにより、従来に比べ最大2倍の動作周波数が得られるQsysインタコネクト技術をサポートしており、こうした新たな機能を活用することで、SoC設計の生産性をさらに向上させることができる。

Virtual Target:実機レスでソフトを動作検証

 組み込みシステム設計者の間では、SoC FPGAに対する期待が日増しに高まっている。それは最新のマルチコア・プロセッサをハードウェアで実装したFPGAが市場に投入されるからだ。これによって、設計者はSoCとしての十分なコストパフォーマンスを手に入れやすくなった。

 例えばアルテラは、組み込みシステムの開発者に向けた取り組みとして「エンベデッド・イニシアチブ」を2010年10月に発表した(参考:EE Times Japanの記事)。この構想を実現するために、ハードウェア化されたARMプロセッサや高速インタコネクトのサポート、ハードウェア設計環境およびソフトウェア開発環境の整備などに取り組んできた。そして1年後の2011年10月にはARMベースの「SoC FPGA」ファミリとそのシミュレーション・モデルが発表された(参考:EE Times Japanの記事)。

 SoC FPGA開発ボードを仮想化したパソコンベースの機能シミュレーション・モデル「SoC FPGA Virtual Target」は、デュアルコアのARM Cortex-A9 MPCoreプロセッサとその周辺機能をモデル化したものとなる。DDR SDRAMやフラッシュメモリ、バーチャルI/Oなど、ボード・レベルのコンポーネントもモデル化されて内蔵されている。SoC FPGA開発ボードに実装された主なコンポーネントのデバイス・ドライバも含まれているため、実機が完成していない状態でも、Virtual Targetを用いれば比較的容易にソフトウェアの動作検証が可能となる。また、Virtual Target上では、「Linux」や「VxWorks」といったOSを起動させることもできる。写真5はLinuxの起動画面である。会場では、サポートが始まったばかりのVxWorksベースのシミュレーション環境も紹介された。

写真5:製品の早期市場投入を実現するVirtual Target
写真5:製品の早期市場投入を実現するVirtual Target

DSPソリューション:シングル・チップで1T FLOPS超

 FPGAによるDSPソリューションも大きな進化を遂げている。最新のFPGAに浮動小数点演算機能を実装した場合、演算性能はシングル・チップで1T FLOPSを超えることもある。MPUやDSPに比べて演算性能が10?100倍も優れ、演算性能がFPGAと同等の汎用GPUと比較すれば、消費電力は1/4以下となる。その上、FPGAは浮動小数点演算機能も含めてシステム・レベルの機能をワンチップに集積できる。会場では、Cyclone® IIIスタータボードを使い「Mandelbrot」の演算とその描画デモを行った(写真6)。

写真6:Cyclone III スタータボードで「Mandelbrot」を演算し描画した
写真6:Cyclone III スタータボードで「Mandelbrot」を演算し描画した

この記事は、アイティメディア社『FPGA Insights』に掲載されていたコンテンツを、アイティメディア/EDN Japanの許可を得て転載しています。

目次