システム・レベルの機能をワンチップに集積する手法として、FPGAの活用が注目されている。とくに、高性能プロセッサを内蔵したSoC FPGAが登場したこともあり、その動きに弾みを付ける。こうしたSoC FPGAを有効活用するには、ハードウェアの開発環境と並んで、ソフトウェア開発を容易にするツールのサポートが重要となる。本稿ではソフトウェアの開発効率を高めることができる「仮想プロトタイピング環境」など、最新のソフトウェア開発環境について紹介する。

ハード/ソフト開発環境を強化

 前編でも述べたように、アルテラはARMベースの「SoC FPGA」ファミリとその「シミュレーション・モデル」を2011年10月に発表した(プレスリリース1プレスリリース2EE Times Japanニュース)。今回のSoC FPGAファミリは、28nm世代のローエンドファミリ「Cyclone® V」およびミッドレンジファミリ「Arria® V」をベースとした製品である。いずれも最大800MHzで動作するデュアルコア構成の「Cortex-A9 MPCore」プロセッサを中核としたSoCを構成することができる。NEONメディア・プロセッサ・エンジン、単精度/倍精度浮動小数点演算回路、L1およびL2キャッシュ、ECC付きメモリ・コントローラ(DDR2/3、Mobile DDR、LPDDR2、NANDフラッシュなど)やUSB 2.0などの汎用ペリフェラルといった周辺回路も含まれている。

写真
[画像のクリックで拡大表示]

これ以外にも、Qsysには次世代SoC FPGA設計に必要な機能がいくつか追加されている。その1つが、階層構造設計のサポートである。この機能により、IP機能のコレクションをサブシステムとして再利用しやすくなり、大規模なシステム開発やスケーラブルなシステム拡張がこれまで以上に容易に行えるようになる。

また、業界標準のバス・インタフェースをサポートしていることである。最新のQuartus II開発ソフトウェアでは、アルテラがこれまでサポートしてきたインターコネクト・ファブリック「Avalon」に加えて、「AMBA AXI」など、業界標準のオンチップバスにも対応しており、さまざまなバス仕様のIPコアをFPGA上で混載して利用することが可能となる。

仮想プロトタイピング環境をサポート

 ARMベースの「SoC FPGA」ファミリ向けソフトウェア開発環境としては、ARM社から提供されるエコシステムを利用することができる。それに加えて、SoC FPGAデバイスのハード・プロセッサ・システムをPC上で仮想化した「Virtual Target」の提供を新たに始めた(図1)。このVirtual Targetは、シノプシス社が既に供給している仮想プロトタイピング環境をベースとしたもので、開発ボードを置き換えてソフトウェア開発を実施することができるツールである。

図1:Virtual Targetの概要
図1:Virtual Targetの概要
[画像のクリックで拡大表示]

 Virtual Targetで最初に提供されるターゲット・ボードは、デュアルコアのARM Cortex-A9 MPCoreプロセッサとその周辺機能から構成される「ハード・プロセッサ・システム」をモデル化したものとなる。DDR SDRAMやフラッシュメモリ、バーチャルI/Oなど、ボード・レベルのコンポーネントもモデル化されて内蔵されている。

 このシミュレーション・モデルは、SoC FPGAデバイスと同等の機能を備えており、かつバイナリレベルおよびレジスタレベルでの互換性を持つ。また、Virtual Targetのモデル上で、「Linux」や「VxWorks」といったOSを起動させることもできる。SoC FPGAに実装されたハードIPに対するデバイス・ドライバも含まれているため、実機が完成していない状態でも、Virtual Targetを用いれば容易にソフトウェアの開発と検証が可能となる。しかも、Virtual Target上で開発したソフトウェアを、そのまま実機に移行させることができる。

 また、Virtual Targetの拡張機能「FPGAイン・ザ・ループ」を追加提供する予定である。このFPGAイン・ザ・ループを利用すれば、FPGA上のユーザーIP用のドライバ開発やハード・プロセッサ・システムとFPGAロジックとの協調検証をモ行うことができる。

まとめ

 Virtual TargetとFPGAイン・ザ・ループを組み合わせて利用すれば、最終的にハードウェアの完成を待たなくても、組み込みソフトウェアの開発を先行して進めることができる。このような開発ツールを利用できることは、タイムツーマーケットが強く要求される最近の組み込みシステム開発において、大きなメリットといえよう。なお、Virtual Targetの操作については、アルテラのウェブサイトで公開されているデモ動画でも確認することができる 。

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

目次