前編ではデジタル信号処理プラットフォームとして使用することができるDSPとFPGAについて、チップ選択時にシステム設計者が検討すべき項目などを述べてきた。それを踏まえて後編では、具体的な応用事例を交えて、デジタル信号処理におけるDSPとFPGAの正しい選び方などについて解説する。

Michael Parker 米Altera社

ケース1:IP監視カメラ

 ここでは設計上の判断を示す例として、ビデオ監視システムを取り上げる。この監視システムの用途は、民生電子機器市場をターゲットとしている。したがって製品コストが重視され、NREコスト節減に対する要求は高い。民生電子機器市場は、市場の変化が激しく、製品の市場投入時期がとても重要な要素となる。プロジェクトの全体的なリスクも最小限に抑える必要がある。また、民生機器の小型化への動きと、セキュリティ用途が、システムのフォームファクタとして重要な要素である。

 IP監視カメラ市場では、これらの問題が反映されている。ビデオ監視システム市場の成長により、低コストカメラのリファレンスデザインに対する要求が生じた。リファレンスデザインにより、NREを低減しながら迅速な市場投入を実現する一方で、特定用途に合わせて設計を変更することもできる。この分野のシステム開発者は、以下の項目に対応するプラットフォームを求めている。

  • 小型カメラへのDV端子
  • 低いBOMコスト
  • スケジューリング、管理、制御タスクを実行する組み込みCPU
  • 組み込みLinux、リアルタイム
  • TCP/IPおよびアナログビデオ出力
  • 柔軟な画像圧縮(H.264、MPEG-4、Motion JPEG)エンコーダ、最大D1@30fps
  • カスタムまたはライセンスされたビデオ解析ソフトウエアのサポート
  • フィールドプログラマブル
図1 ローエンドのDSPベースのネットワーク接続カメラ監視システムの一般的なブロック構成図
図1 ローエンドのDSPベースのネットワーク接続カメラ監視システムの一般的なブロック構成図
[画像のクリックで拡大表示]

 上記の要件を満たすチップとしては、TI社が提供するビデオアプリケーション向けの高性能デジタルメディアSoC(system on chip)が適切だ。高速ビデオ処理用にDSPコア「DaVinci C64x+」を、コプロッセッシング処理と周辺機能管理用に「ARM9」プロセッサコアを搭載した、デュアルプロセッサ構成のSoCである。

 DSPは、IPカメラのリファレンスデザインの中心的なチップとして、ビデオデータの取得、必要な形式へのエンコード、イーサーネットとTCP/IPを介した出力などを行う。またデュアルプロセッサ構成のSoCとすることで、設計者は信号処理アルゴリズムをDSPコアに実装し、パケット組み立てや周辺機能管理といったほかのタスクをARM9プロセッサコアに実行させることができる。

ケース2:組み込みビデオ信号処理サブシステム

 次に、より一般的なビデオ信号処理回路の設計事例を紹介する。用途としては、車載インフォテインメントシステム、軍事向けコックピット画面、ビデオ会議システムなどが考えられる。これらのシステムのすべてにおいて、さまざまな解像度のビデオフォーマットを処理し、フォーマット間の変換を行い、複数のビデオ画像を混在させたり重ね合わせたりする必要がある。以下の機能の一部またはすべてが、これらのアプリケーションにおいて要求される。

  • 全フレーム解像度のサポート、最大1080p @60fps
  • 高品質デインタレース
  • 高品質スケーラ
  • 色空間変換(RGB←→YCrCb)
  • クロマ(色差)リサンプリング
  • 画像のアルファ混合
  • 画像クリッピング
  • さまざまな実行時制御およびスケジューリング、管理、制御タスクを実行するための組み込みCPU
  • 組み込み Linux、リアルタイム
  • 低いBOMコスト
  • フィールドプログラマブル
図2 FPGAベースのシステムのブロック構成図
図2 FPGAベースのシステムのブロック構成図
[画像のクリックで拡大表示]

 Altera社のFPGA「Cyclone III 」とIPコアを使用すれば、これらのシステム要件を満たすことができる。上述の機能のすべてが、ビデオIPライブラリにおいてコアとして提供されており、最小限のNREによる迅速な市場投入を可能とする。特定の用途に合わせて設計を変更することも可能だ。

 より高性能なスタジオ放送機器アプリケーション向けには、ビデオ信号の伝送規格の1つであるSDI(シリアルデジタルインターフェース)を備えた「Stratix」や「Arria」クラスのFPGAが適している。Stratix FPGAの集積度により、DSPではサポートすることが難しいレベルの処理リソースを必要とする、1080pの高解像度ビデオ圧縮(H.264、MPEG-4)機能を搭載することも可能である。

ケースバイケースで選択

 FPGAかDSPかの選択は、さまざまなパラメータに依存する。正しい選択を行うための普遍的なチェックリストなどはなく、必ず何らかのトレードオフがある。特定のシステムの設計要件に最適なプラットフォームを選択する場合において、システム開発者や実装チームは、これらのトレードオフを十分に理解することが課題となる。FPGAまたはDSPが正しい選択となる設計例は多く、DSPとFPGAのハイブリッドシステムが必要となるケースも間違いなく存在する。これらの設計例は、自分の設計に適したデバイスを選択する際の参考となるであろう。

市場の方向性

 半導体製造プロセスの微細化に伴い、マスクの製造コストとASICのNREコストは著しく増加している。加えて、プロセスノードが次の世代へと移行するたびに、回路の集積度はおよそ2倍ずつ高まることになる。しかし、チップの動作周波数は限界に達しつつある。つまり、チップのサイズは増大するものの、チップの動作周波数の大幅な増加は期待できない。また、マスクの製造コストが上昇するのに伴って、大量消費する民生アプリケーションのみがASICを利用することが可能となる。これに対して、製造数の少ないその他のアプリケーションは、DSPやFPGAといったプログラマブルなソリューションを使用する傾向にある。

 この傾向に最も適合しているのがFPGAである。FPGAは並列アーキテクチャを実装できるため、回路の集積度が高まることに伴ってその性能を拡張することができる。例えばAltera社は最近、最新の40 nm技術を使ったチップに、500Kを大きく超えるロジックエレメントを集積したFPGAを開発した。これにより、大規模なデジタル信号処理回路を実装できる。DSPチップはこれまで、動作周波数を向上させることにより処理能力を上げてきたが、近年その動作周波数は1 GHzのレベルにとどまっている。TI社など、複数のDSPコアを搭載するチップを提供するDSPベンダーもあるが、この動きには広がりがなく、内蔵するコア数が増加すれば設計はさらに複雑になってしまう傾向がある。

 さらに、FPGAの設計フローは進歩し続けており、DSPベースの設計とFPGAベースの設計における複雑さの差は縮まりつつある。FPGA のコンパイル時間と設計品質はますます向上している。FPGAベースの設計フローを使いこなすことのできるエンジニアの数も増えてきた。また、FPGA構造における組み込みプロセッサによって、さらに柔軟な設計手法が適用可能となってきている。「Cからゲートへ」を実現する高度な設計ツールを提供するベンダーもいくつかあり、将来的にソフトウエア開発者は、FPGAとDSPによる実装を選択することができるようになるだろう。

 その一方で、システム処理の要件は高まり続けている。ワイヤレスの分野では、「第4世代(4G)」として新しいOFDMAシステムの開発が進められている。その試行により、これまでにないほどの高速データ通信機能とサービスが提供されるだろう。すべての放送装置と配信ネットワークは、高解像度およびビデオオンデマンド・サービスへと移行している。軍事システムの要件は、シリコン技術が進歩し、同じフォームファクタにさらなる機能とデータ処理能力が搭載されるようになる。DSPおよびFPGAベンダーにとっては、これらの新しいアプリケーションにおいて、処理速度や消費電力、コストの要件を満たすシリコンプラットフォームを提供していくことがこれからの課題となるだろう。

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

目次