DSPはFPGAで作れる?:イチから学ぶDSP基礎の基礎(5)(2/3 ページ)
今回は、DSPとFPGAを比較してみたいと思います。この比較は、言いかえれば、“デジタル信号処理にはソフトウェア処理とハードウェア処理のどちらが向いているか”ということになります。
DSPでFPGAと同じデジタル信号処理は可能か?
先ほどとは逆にFPGAならではのデジタル信号処理をDSPで実現できるかどうかを考えてみましょう。ここではFPGAが用いられている典型的な例として高周波信号のフィルタリング(デジタルフィルタ)を取り上げます。
具体的には次のようなFIRデジタルフィルタについて考えてみましょう。
- 入力サンプリング周波数:10MHz
- 入力信号分解能:16bit
- FIRフィルタ・タップ長:100タップ
この100tap FIRフィルタの演算を数式で表すと次式のようになります。
シグナルフロー・グラフは図4のようになります。
規模の大きいFPGAを使えば、このようなFIRフィルタは図5のようにシグナルフロー・グラフどおりの回路構成で実現可能です(図はあくまでも一例を示したもので最適化された回路ではありません)。Strings:フィルタのタップ長が短ければ、FPGAではこのように乗算器を多数並べた直接的な回路を組むことができます。
図5の回路はクロック信号を供給するだけで動作するので、制御のためのシーケンサー回路は必要ありません。乗算器1個だけを使用してFIRフィルタの演算回路を構成すると処理性能が100分の1になってしまいますし、出力1サンプルを求めるのに乗算器を100回動かすシーケンサーが必要になります。図5の回路ではFFが16×99=1584個、16bit乗算器が100個、加算器が99個必要となりますが、規模の大きいFPGAならばすべてを内蔵可能です。
ではDSPでこれと同じ処理を実現することは可能でしょうか? 単純に考えれば、10MHz×100=1GHzのクロック周波数で動作する積和演算器を搭載したDSPであれば、サンプリング周波数10MHz・100タップFIRフィルタの処理ができます。では、サンプリング周波数50MHz・20タップFIRフィルタではどうでしょうか?
この場合、単位時間内の演算量(クロック周波数とタップ長の積)に変わりはありませんが、入出力の性能が追い付かないために現在のDSPでは処理できなくなってしまいます。
一方、FPGAにはクロック数100MHzで動作する内蔵乗算器もありますので、このようなデジタルフィルタは問題なく実現可能です。また100タップFIRフィルタを内蔵可能なFPGAであれば、20タップFIRフィルタは5個内蔵できることになります。
FPGAでは、FIRフィルタ5個分の高速入出力回路を内蔵することも容易です。実は高周波信号のデジタル処理ではこのようにサンプリング周波数が非常に高いものの1サンプル当たりの演算量が少ない(デジタルフィルタの例でいえばタップ長が短い/フィルタ次数が小さい)処理例が多いのです。また、中には演算語長も16bitよりも短い8bit12bit程度で済んでしまうアプリケーションもあります。
このように高いサンプリング周波数が要求されるけれども演算があまり複雑でない処理は、一般的にDSPを用いたソフト処理よりも、FPGAを用いたハード処理の方がシステムの実現が容易になります。なお、場合によってはソフト処理の柔軟性の利点(プログラム変更が容易)を取って、FPGAではなくDSPのマルチプロセッサ・システムで高周波信号処理を行うこともあります。
DSPとFPGAの使い分け
ここまで調べてきた結果を基に、デジタル信号処理にはDSPとFPGAのどちらが向いているかを述べると以下のようになります。
(1)比較的サンプリング周波数が低く(数百kHzあるいは数MHz程度)、次数の大きいデジタルフィルタやFFT、相関演算、データ圧縮伸張などを組み合わせた複雑な処理をするのにはDSPによるソフトウェア処理が向いている。
(2)DSPではI/Oの性能が追い付かないくらいサンプリング周波数が高く(数十MHz以上)、1サンプル当たりの演算量が少なく演算語長が小さい処理には、FPGAによるハードウェア処理が向いている。
大まかにいって、このようにそれぞれの特性を生かしたDSPとFPGAの使い分けを行うのが妥当でしょう。DSPが完全にFPGAを置き換えたり、逆にFPGAがDSPを完全に置き換えるようなことはありません。
象徴的な例ですが、あるFPGAメーカーはDSPメーカーのDSP評価キットの拡張バスに接続して組み合わせて使うことができるFPGA評価ボードを販売しています。これはFPGAメーカーもFPGAとDSPの適切な使い分け・共存をユーザーに推奨していることを示すものです。
Copyright © ITmedia, Inc. All Rights Reserved.