Spartan-3 FPGAで 低コストDSP コプロセシングを実現 - Xilinx

Spartan-3 FPGAで
低コストDSP
コ プロセシングを実現
FPGAは、基本的には、未定義ロ
ジックと信号処理用リソースの集合で
す。これらの信号処理用リソースが、
高いスケーラビリティと並列処理の技
術を使用することで、DSP機能のイ
ンプリメントを可能にしているのです。
例えば、従来のDSPソリューション
は複数のマルチプライ アキュムレート
(MAC)ファンクションをシリアル
(直列)方式でインプリメントしてい
ましたが、Spartan-3ファミリに現在
高性能DSP機能をFPGAファブリック内
に組み込むことが、今や真の低コスト
オプションとなりました。
備えられている専用の乗算器とレジス
タを使用すれば、FPGAにこれらをパ
ラレル(並列)処理方式でインプリメ
ントすることが出来るのです。
他の例として、256-タップの有限
インパルス(FIR)フィルタを考えて
みましょう。FPGAファブリックで利
用できるリソースを使用すれば、高度
な並列処理でインプリメントされるも
Suhel Dhanani
Senior Solutions Marketing
Manager Xilinx, Inc.
[email protected]
のをデザインすることができますので、より高い性能を得ることが
できます(図1)
。
FPGAでは、完全にそのハードウェアがコンフィギュレーション
可能なので、アルゴリズムに必要なリソースだけを使用できる柔軟
Steve Zack
Signal Processing
Engineer Xilinx, Inc.
[email protected]
性があります。
図2は、4個のMACファンクションをインプリメントする他の方
法を示しています。FPGAファブリック内の4個のエンベデッド乗
算器を使用すれば、これらのインプリメンテーションを高速に行う
ことができます。これとは別の方法として、1個の乗算器、1個の
FPGAは、ここ数年来、ロジック アグリゲータ、バス ブリッジ、
ペリフェラルなどのDSPアプリケーションに使用されてきました。
最近では、FPGAは高性能DSPアプリケーションにおいて
アキュムレータ、および1個のレジスタを使用するか半-並列処理ア
プローチを使用することで、同じファンクションを、領域を節約し
性能を低減してインプリメントすることもできます。
FPGAはDSPに相当のメリットをもたらしますが、FPGAファ
相当の牽引力を得ており、標準DSPデバイスへの理想的なコ プロ
ブリック内にDSP機能をインプリメントするときの実質的コスト
セッサとして浮上してきています。
この後者の役割では、FPGAは、高度に並列処理されたアーキテ
クチャを使用することにより、驚異的な計算上のスループットを提
供しています。ハードウェアがリ コンフィギャブルなので、ユー
を解析することが重要です。この解析を行うためには、低コストで、
DSPのためのシステム機能を備えている、新しいSpartan-3
FPGAファミリを考慮する必要があります。
ザ アルゴリズムの理想的なインプリメンテーションのために、カ
スタム化したアーキテクチャを開発することが可能です。
Spartan-3デバイス:DSP用に最適化
Spartan-3 FPGAは、90 nm製造技術を利用して低コストのシ
新世代のSpartan-3TM低コストFPGAは、90 nmプロセス技術
を駆使して開発されたもので、高性能DSP機能をインプリメント
する上で効率的な方法を生み出すだけでなく、さらにもっと経済的
なソリューションをも提供します。低コストですので、これに高性
能DSPコ プロセシング機能をインプリメントして、従来のDSPデ
リコン チップを実現しています。これらのデバイスは、DSPファ
ンクションを効率よくインプリメントするために必要な機能をすべ
て持っている唯一の低コストFPGAでもあります。この必要な機能
は、かつてはハイエンドFPGAの独占領域でした(表1)
。
Spartan-3ファミリを使用すれば、高性能で複雑なDSPファン
バイスと共に使用することが出来ます。通常は、前処理機能と後処
理機能を費用対効果の良い方法で集積することになります。
クションを全デバイスの小さな領域にインプリメントすることがで
表1 これらのSpartan-3機能は、領域を効率よく使用する方法で、DSPファンクションの生成を可能にします。
重要な利点
FPGAのアーキテクチャは、DSP機能を高
Sparten-3のシリコン機能
顧客のメリット
度に並列化処理するインプリメンテーションに
Τϯϕσουʷ৐ࢉ‫ث‬
৐ࢉ‫ػ‬ೳͷྖҬ࢖༻ޮ཰͕ྑ͍ΠϯϓϦϝϯςʔγϣϯ
最適で、非常に高い性能が得られます。そして、
෼ࢄ3".
%41܎਺ͷϩʔΧϧ ετϨʔδɺখ‫'*'ܕ‬0
γϑτϨδελ ϩδοΫ
ߴ଎σʔλ͋Δ͍͸όʔετ Ϟʔυ σʔλΛऔಘ͢ΔͨΊʹཧ૝తͳ
ϏοτγϑτϨδελͰɺ%41ΞϓϦέʔγϣϯͰσʔλͷ֨ೲʹ࢖༻͢Δ
࠷େ‫ݸ‬ͷ,CϒϩοΫ3".
ϏσΦ ϥΠϯ όοϑΝɺ
ΩϟογϡλάϝϞϦɺ
εΫϥον ύουϝϞϦɺ
ύέοτ όοϑΝɺେ‫ن‬໛'*'0
ユーザによるプログラムの変更が可能なので、
ユーザの機能をインプリメントするときに適切
なレベルの並列処理を選択することにより、デバ
イス領域と性能間のトレードオフを行うことが可
能となります。
48
図1 FPGAのDSPに対する並列処理アプローチで計算上の高いスループットを実現。
FPGA − 完全なパラレル インプリメンテーション
伝統的なDSPプロセッサ−シリアル インプリメンテーション
σʔλೖྗ
Ϩδελ
σʔλೖྗ
܎਺
$
$
Ϩδελ
$
Ϩδελ
$
Ϩδελ
$
Ϩδελ
$
Ϩδελ
$
."$Ϣχοτ
αϯϓϧͷ
ॲཧʹ͸
ճͷ
ϧʔϓ͕ඞཁ
Ϩδελ
‫ݸ‬ͷΫϩοΫ αΠΫϧͰ
ճͷΦϖϨʔγϣϯ
σʔλग़ྗ
σʔλग़ྗ
ロックRAMを使用します。この場合、これらの
図2 ユーザ ニーズに適したFPGAのカスタマイズが可能
パラレル
エンベデッド ファンクションが使うチップ領域
の見積値を考慮して、これをロジックが使用す
シリアル
半-パラレル
+
表3に、これらのファンクションのいくつか
+
+
D
+
と、これらをSpartan-3シリコン内にインプリ
+
+
+
メントするときのコストを示します。(PROM
D
+
+
D
+
+ +
+ + + +
るチップ領域に加えました。
+
をプログラミングするためのコストは含めてい
+
ません。それは、多くの場合、FPGAをプログ
+
σόΠεྖҬɿ"
.."$T
ߴ଎
ラムする際にはボード上に既存のEPROMを使
σόΠεྖҬɿ"
.."$T
࠷దԽ
用できるからです。
)
σόΠεྖҬ "
.."$T
DSPアプリケーションで使用されるもっとも
খྖҬ
一般的な機能には、高速フーリエ変換(FFT)
とFIRフィルタがあります。毎秒8.1メガ サン
きます。その際、デバイスの残りの領域をシステム ロジックやイ
プル(MSPS)で動作する、シングル チャネル64-タップMAC
ンターフェイス機能のために使用できるので、より低いコストとよ
FIRフィルタは、実質コスト$0.41でインプリメントできます。こ
り高いシステム集積度の両立が可能になります。
のフィルタは、200枚のロジック スライスと4個のエンベデッド
表2は、先進機能と低コストの組み合わせが、どのように一緒に
作用して、低コストのDSPファンクションを提供するかを示して
乗算器を使用しますが、これはチップ領域の約3%であることに注
意してください。
います。この表は、Spartan-3のラインナップの一部と、1秒あた
Spartan-3内には、Viterbiやリード ソロモンの各機能のような
りの百万乗算アキュムレート数(MMAC/s)
、および各デバイスで
簡単な前方エラー訂正用DSPコアを低コストでインプリメントす
のMMAC/sあたりのコストを示しています。
ることもできます。チャネルあたり1.9 MSPSで動作する32チャ
乗算器の数とその動作周波数を掛けてMMAC/sのコラムを算出
ネル並列モードのViterbiデコーダの実質コストは$5.06で、チャ
し て い ま す 。 こ の 周 波 数 は 、 Spartan-3 FPGAの − 4グ
ネルあたり$0.16となります。60 MHzで動作するリード ソロモ
レードで150 MHzです。
ンG.709デコーダ ファンクションは、同じデバイスの6.9%しか
次に、該当するデバイスで−4スピード グレード品5万個の購入
使用しません(実質コストは、$0.92です)
。
価格をもとに、MMAC/sあたりのコストを計算しました。この値
デジタル ダウン コンバータ(DDC)やデジタル アップ コン
は、業界で引用されるベンチマークの1つで、25セントに達して
バータ(DUC)などの複雑なファンクション(通常、無線基地局
います。
で使用されます)は、Spartan-3 XC3S1000デバイスの20%以
下しか使用しません(実質コストは、$2.49です)
。
DSP機能の最小コストを達成する方法
現在のところ、DSP機能をFPGAにインプリメントするときの
実質コストを計算する標準的な方法は存在しません。しかしこの解
表2 MMAC/sあたりのコスト計算
析を目的に、実質コストは、利用されるシリコン領域のパーセン
テージに基づくコストにデバイスのユニット コストを掛けたもの
デバイス
と(理論付けして)考えてみましょう。FPGAの残りの部分は他の
エンベデッド乗算器
MMAC/s
MMAC/sのコスト
(18×18) (乗算器数×150 MHz)
システム ファンクションに使用できるのですから、これは公平な
計算方法であると言えます。
DSP機能をFPGA内にインプリメントする際の実質コストを計
算するために、Spartan-3ファミリのなかで中規模サイズのデバ
イスであるSpartan-3 XC3S1000デバイスで考えてみましょう。
多くの場合、与えられたDSP機能は、FPGAのロジック(論理回
路)を使用するだけでなく、エンベデッド(内蔵の)乗算器とブ
9$4
9$4
9$4
9$4
9$4
49
ンクスのDSP用システム ジェ
図3 既存のツール フロー内で可能なDSPの設計手法
ネレータを併用して、ハード
ウェア モデルを開発し、検証
MATLAB
SIMULINK
+
ザイリンクス
ブロックセット
ϑΝϯΫγϣϯγεςϜͷϞσϧԽ
します。
2. プッシュ ボタンにより、ザイ
リンクス システム ジェネレー
タは、ビットとサイクルに適合
したHDL回路表現を容易に生
成します。「ビットとサイクル
)%-ͷࣗಈੜ੒
に適合している」というのは、
そのビヘイビア(動作)が
Simulink/システム ジェネレー
タ モデル内に見られる機能動
作に合致していることが保証さ
れているという意味です。
˔
ISE
ModelSim
˔
˔
߹੒
഑ஔ഑ઢ
ϏοτετϦʔϜੜ੒
'1("ͷ
ΠϯϓϦϝϯςʔγϣϯ
3. ISE設計ツールがそのデザイン
を合成して、FPGAのプログラ
ミングに使用されるビットスト
リームを生成します。
FPGA設計者が、システム エンジ
FPGAのビットストリーム
ニアのデザインをHDLに変換すると
きに発生するエラーで、多くの時間
表3 Spartan-3デバイス内に作られる各種DSPファンクションの実質コスト
を消耗するステップは、こうして取
り除かれます。図3は、ザイリンク
XC3S1000
デバイスの
使用率(%)
実質コスト
(5万個時)
主な仕様
1024-ポイント
複素数FFT
24.1%
$3.23
20 μs 変換
20μs変換、バーストI/O、
16-ビットの入力とフェーズ ファクタ
シングル チャネル
64-タップFIRフィルタ
3.0%
$0.41
8.1 MSPS
16-ビットのデータと係数、
MACインプリメンテーション、8.1 MSPS
デジタル ダウン
コンバータ
(チャネルあたり)
18.6%
$2.49
サンプル レート
100 MSPS
デジタル アップ
コンバータ
(チャネルあたり)
18.6%
Viterbi デコーダ
37.8%
ファンクション
他の仕様
スのシステム ジェネレータを使用し
たときの代表的な設計フローを示し
ています。この製品の最近の進化に
より、今では、DSP設計者は、
Simulink/システム ジェネレータか
らFPGAビットストリームを直接生
成できます。
結 論
Spartan-3 FPGAは低ユニット
$2.49
$5.06
サンプル レート
100 MSPS
チャネルあたり
1.9 MSPS
リード ソロモン
G.709エンコーダ
1.3%
$0.17
120 MHz
リード ソロモン
G.709デコーダ
6.9%
$0.92
60 MHz
コストとDSP機能に最適化された
アーキテクチャの組み合わせにより、
パラレル モード、
トレース バック42、
コンストレイント長 = 7、
32-チャネル、チャネルあたり1.9 MSPS
高性能DSP機能向に、業界での最小
価格レベルを有しています。ザイリ
ンクスは、ユーザのツール フローに
適切でかつFPGAのインプリメン
テーション過程を自動化することで
ユーザの生産性を強化するデザイン
ツールを提供することにより、エン
ベデッドDSP機能の生成がさらに容
易になるように努力しています。
開発ツール フロー
ザイリンクスでは、ユーザのDSP設計に業界標準開発ツールを
使用することができます。ザイリンクスのDSP用システム ジェネ
レータと組み合わせて、MathWorks社のMATLAB TM および
SimulinkTMを使用すれば、Simulink環境から抜け出すことなく、
ユーザのターゲット ハードウェア プラットフォーム上で信号処理
アルゴリズムをモデル化し、シミュレートし、そして検証すること
ができます。
代表的な設計フローには、次のステップが含まれます。
1. DSP設計者は、業界標準のMathWorks社のツールとザイリ
50
Spartan-3デバイスが利用できることと、関連した設計 ツール、
およびこのファブリックに最適化された標準のDSPファンクショ
ンがますます増えていますので、実効性のあるオプションとして、
Spartan-3 FPGAを使用したエンベデッドDSP機能を評価してみ
てください。
詳細情報については、www.xilinx.co.jp/spartan3/、
www.xilinx.co.jp/dsp/、または www.xilinx.co.jp/ipcenter/を
ご覧ください。