これまでの連載を通じて,FPGAがさまざまなアプリケーションに使われていることを示してきましたが,さらに用途を拡大するきっかけとなった要因のひとつがプロセッサコアの統合です。かつてFPGAは,いわゆる「雑論理(グルーロジック)」を収容する目的で主に使われてきましたが,プロセッサの統合が可能になったことで,システムの主要部分すべてをFPGAに組み込むことができるようになり,システムの高性能化および小型化に大きなメリットをもたらしました。そこで今回のPart1では,プロセッサコアの搭載について概要を説明します。
設計部に所属する若手ハードウェアエンジニアのエフ夫さん。担当する次の製品にFPGA採用を提案し,課長からもOKをもらいました。エフ夫さんは,FPGAについて調べるうちに,さらに大胆な提案を思いつきました。そこで早速,課長に相談です。

ハンダ課長,こんどのシステムですが,FPGAにプロセッサまで入れてしまおうかと考えているんですが。
確かに,そうした方が回路は合理的になるね。先日,説明してもらった画像処理と通信処理の応用事例でも,プロセッサを統合したFPGAを使った例が多かったな。ただ,FPGAを使うのはうちの課としては今回が初めてだし,いきなりそこまでやるのは,ちょっと・・・。
FPGAベンダーが提供しているプロセッサIPを使えば,FPGAとプロセッサの開発環境を一つにできます。しかも,プロセッサを統合することによって,システムの処理能力がぐっと高まると見ているのですが。
なるほど。いずれにせよ,そろそろ方式設計を始めてシステム・アーキテクチャに関する議論を本格的に始めるべき時期に来たようだな。それではメンバーを編成してプロジェクトを正式にキックオフすることにしよう。プロセッサを組み込むとなるとファームウェアの部隊も必要になるね。メンバーは僕のほうで集めるから,エフ夫君は方式案をまとめておくように。
了解です,いよいよプロジェクトスタートというわけですね!
FPGAの応用が高度化かつ拡大している理由は,FPGAデバイス自体の集積度の向上や回路動作の高速化などはもちろんですが,もうひとつ忘れてはならない点として,プロセッサコアの統合が可能になったことが挙げられるでしょう。
FPGAへのプロセッサコアの本格的な統合が始まったのは2000年前後のことです。この時期,FPGAの論理規模もそれなりに大きくなり,PCIバスなど周辺IP(ハードマクロまたはソフトIP)も整備され,さらに画像処理や通信システムなどの性能向上ニーズも高まりを見せていました。要は条件が揃いつつあったのです。
なお,「プロセッサの統合」と表現していますが,FPGAチップのなかにCPUチップを物理的に搭載することだけを指すわけではありません。一般にはソフトIP(=論理情報のみでレイアウト情報を持たない設計資産)の形でプロセッサ回路をFPGA内部に組み込むことを指しますので,念のため。
さて,FPGAにプロセッサコアを統合すると,どのようなメリットが得られるでしょう。いくつかを挙げてみましょう。
(a) 外付けプロセッサを内蔵することで回路サイズの小型化が図れる
(b) アプリケーション回路(画像処理や通信システムなど)と一緒に組み込むことで,性能の最適化が図りやすい
(c) デジタル回路によるハードウェア処理と,プロセッサ+ソフトウェアによるソフトウェア処理とを,バランス良くチューニングできる
(d)ネットワークのスタック処理など,負荷の高い処理をメインのプロセッサからオフロードできる(図1)
(e) 外付けプロセッサと違って生産中止のおそれがない
このようなメリットが得られるため,FPGAにプロセッサを統合する事例が着実に増えています。
FPGAでは具体的にどのようなプロセッサが利用できるのでしょうか。ソフトIPとして現在提供されているプロセッサは,組込み用として普及している8ビットアーキテクチャまたは16ビットアーキテクチャのものが主体です。なお,パソコンに搭載されている最先端のx86系プロセッサは現時点では利用できません。
サードパーティからは,ソフトIPの形式で,8051,Z80,6809など古い8ビット・アーキテクチャのほか,最近では英ARM社のARM Cortexプロセッサなどが提供されています。またFPGAベンダーも独自のコアを提供していて,アルテラの場合は「Nios II」(ニオス・ツー)と呼ぶ32ビット・アーキテクチャのプロセッサが用意されています(図2)。アルテラのFPGAならどの品種にも組み込めるほか,アプリケーション独自の命令を追加することも可能です。採用ライセンス数はすでに2万を超えています。
〒163-1332 東京都新宿区西新宿6-5-1 新宿アイランドタワー32階
TEL 03-3340-9480
FAX 03-3340-9487
URL http://www.altera.co.jp/