Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
CV-52003-2.0
© 2012 Altera Corporation. All rights reserved. ALTERA, ARRIare trademarks of Altera Corporation and registered in the U.Strademarks or service marks are the property of their respectivsemiconductor products to current specifications in accordanceservices at any time without notice. Altera assumes no responsdescribed herein except as expressly agreed to in writing by Alon any published information and before placing orders for pr
Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統2012 年 6月
June 2012CV-52003-2.0
3. Cyclone V デバイスの可変精度 DSPブロック
この章では、高性能 DSP アプリケーションにおいて、より高いビット精度をサポー
トするために Cyclone® V デバイスの可変精度デジタル信号処理(DSP)ブロックがど
のように最適化されるか説明します。
この章は、以下のセクションで構成されています。
■ 「機能」
■ 3–2 ページの「サポートされる動作モード」
■ 3–3 ページの「デザインの検討事項」
■ 3–4 ページの「ブロック・アーキテクチャ」
■ 3–10 ページの「動作モードの説明」
機能Cyclone V の可変精度 DSP ブロックは、以下の機能を提供します。
■ 高性能、消費電力の最適化、および完全レジスタ化された乗算演算
■ 9 ビット、18 ビット、および 27 ビットのワード幅
■ 2 個の 18 x 19 複素数乗算
■ 乗算結果を結合するビルトイン加算、減算、64 ビット累算ユニット
■ フィルタリング・アプリケーションのタップ・ディレイ・ラインを形成するため
の 19 ビットまたは 27 ビットのカスケード
■ 外部ロジック・サポートなしで 1 つのブロックから次のブロックへの出力結果を
伝播させるための 64 ビット出力バスのカスケード
■ 対称フィルタで 19 ビット・モードおよび 27 ビット・モードをサポートするハー
ド・プリ加算器
■ フィルタの実装に使用される内部係数レジスタ・バンク
■ 分散された出力加算器付きの18ビットおよび27ビットのシストリック有限インパ
ルス応答(FIR)フィルタ
f 各 Cyclone V デバイスでの乗算器の数について詳しくは、 Cyclone V Device Overview を参
照してください。
A, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos . Patent and Trademark Office and in other countries. All other words and logos identified as e holders as described at www.altera.com/common/legal.html. Altera warrants performance of its with Altera's standard warranty, but reserves the right to make changes to any products and ibility or liability arising out of the application or use of any information, product, or service tera. Altera customers are advised to obtain the latest version of device specifications before relying oducts or services.
合
Feedback Subscribe
ISO 9001:2008 Registered
3‒2 第 3章: Cyclone V デバイスの可変精度DSP ブロックサポートされる動作モード
サポートされる動作モード表 3–1 に、Cyclone V の可変精度 DSP ブロックでサポートされている動作モードを示
します。
表3‒1. Cyclone V デバイスの可変精度 DSP ブロックの動作モード
可変精度 DSP ブロック・リソース
動作モードサポートされるインスタンス
プリ加算器のサポート
係数のサポート
入力カスケードのサポート (1)
チェインアウトのサポート
1 個の可変精度DSP ブロック
独立 9 x 9 乗算 3 なし なし なし なし
独立 18 x 18 乗算 2 あり あり あり なし
独立 18 x 19 乗算 2 あり あり あり なし
独立 18 x 25 乗算 1 あり あり あり あり
独立 20 x 24 乗算 1 あり あり あり あり
独立 27 x 27 乗算 1 あり あり あり あり
2 個の 18 x 19 multiplier adder モード
1 あり あり あり あり
36 ビット入力に加算する 18 x 18 Multiplier Adder
1 あり なし なし あり
2 個の可変精度DSP ブロック
複素数 18 x 19 乗算 1 なし なし あり なし
表 3–1 の注:
(1) プリ加算器機能をイネーブルすると入力カスケードのサポートは使用不可能です。
Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック 3‒3デザインの検討事項
デザインの検討事項
動作モードQuartus® II ソフトウェアには、乗算器の動作モードを制御するために使用できるメガ
ファンクションが含まれています。MegaWizard™ Plug-In Manager でパラメータ設定を
入力後、Quartus II ソフトウェアは可変精度 DSP ブロックを自動的にコンフィギュ
レーションします。
f 詳しくは、以下のユーザーガイドを参照してください。
■ Introduction to Megafunction User Guide
■ Integer Arithmetic Megafunctions User Guide
■ Floating-Point Megafunctions User Guide
プリ加算器プリ加算器の機能を使用するには、すべての入力データおよび乗算器のクロック設
定が同一になっている必要があります。
プリ加算器の機能がイネーブルされている場合、入力カスケード・サポートは使用
不可能です。
内部係数18 ビット・モードおよび 27 ビット・モードでは、係数機能およびプリ加算器機能を
別々に使用することができます。
アキュムレータアキュムレータは、出力レジスタ・バンクおよびアキュムレータの間に位置してい
る 64 ビットのダブル累算レジスタをイネーブルすることによってダブル累算をサ
ポートします。
ダブル累算レジスタは、プログラミング・ファイルにスタティックに設定されます。
チェインアウト加算器他の DSP ブロックからの結果を加算するために出力チェイン・パスを使用すること
ができます。
2012 年 6月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統合
3‒4 第 3章: Cyclone V デバイスの可変精度DSP ブロックブロック・アーキテクチャ
ブロック・アーキテクチャCyclone V の可変精度 DSP ブロックは、以下の要素から構成されています。
■ 入力レジスタ・バンク
■ プリ加算器
■ 内部係数
■ 乗算器
■ 加算器
■ アキュムレータおよびチェインアウト加算器
■ シストリック・レジスタ
■ ダブル累算レジスタ
■ 出力レジスタ・バンク
図 3–1 に、Cyclone V の可変精度 DSP ブロックのアーキテクチャ全体を示します。
図3‒1. Cyclone V デバイスの可変精度 DSP ブロックのアーキテクチャ(1)
図 3–1 の注:
(1) 可変精度 DSP ブロックがシストリック FIR モードにコンフィギュレーションされていない場合、両方のシストリック・レジスタはバイパスされます。
(2) シストリック・レジスタをイネーブルする場合、3 つのレジスタは出力レジスタ・バンクとして同じクロック・ソースを持ちます。
Inpu
t Reg
iste
r Ban
kIn
put R
egis
ter B
ank
scanin
scanout
LOADCONST
ACCUMULATE
NEGATE
dataa_y0[18..0]
dataa_z0[17..0]
dataa_x0[17..0]
COEFSELA[2..0]
datab_y1[18..0]
datab_z1[17..0]
datab_x1[17..0]
COEFSELB[2..0]
SUB_COMPLEX
+/-
Pre-Adder
+/-
Pre-Adder
+/-
InternalCoefficient
InternalCoefficient
Multiplier
Adder
+/- +/-
Systolic Registers (2)
Systolic Register (2)
Chainout adder oraccumulator
+
Out
put R
egis
ter B
ank
Out
put R
egis
ter B
ank
Constant
Double Accumulation
Register
chainin[63..0]
chainout[63..0]
Result[73..0]
Multiplier
x
x
CLK[2..0]
ENA[2..0]
ACLR[1..0]
Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック 3‒5ブロック・アーキテクチャ
入力レジスタ・バンク入力レジスタ・バックは、データ、ダイナミック・コントロール信号、および 2セットの遅延レジスタから構成されています。
DSP ブロック内のすべてのレジスタは、ポジティブ・エッジでトリガされており、
パワーアップ時にクリアされます。各乗算器オペランドは、入力レジスタに供給す
るか、入力レジスタをバイパスして直接乗算器に供給できます。
以下の可変精度 DSP ブロック信号は、可変精度 DSP ブロック内の入力レジスタを制
御します。
■ CLK[2..0]
■ ENA[2..0]
■ ACLR[0]
18 x 19 モードでは、レイテンシ要件のバランスさせるために入力カスケードおよび
チェインアウト機能の両方を使用しているときに遅延レジスタを使用することがで
きます。
タップ・ディレイ・ライン機能によって、18 x 19 モードでは dataa_yおよび
datab_y1、27 x 27 モードでは dataa_y0のみの乗算器の上位レグ入力を一般的な配線
またはカスケード・チェインからドライブできます。
図 3–2 に、18 x 19 モードでの入力レジスタを示します。
図3‒2. 18 x 19 モードでの可変精度 DSP ブロックの入力レジスタ(1)
図 3–2 の注:
(1) この図はデータ・レジスタのみを示しており、コントロール信号用のレジスタは示されていません。
dataa_y0[18..0]
dataa_z0[17..0]
dataa_x0[17..0]
datab_y1[18..0]
Delay registers
datab_z1[17..0]
datab_x1[17..0]
Delay registers
scanin[18..0]
scanout[18..0]
CLK[2..0]
ENA[2..0]
ACLR[0]
2012 年 6月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統合
3‒6 第 3章: Cyclone V デバイスの可変精度DSP ブロックブロック・アーキテクチャ
図 3–3 に、27 x 27 モードでの入力レジスタを示します。
プリ加算器それぞれの可変精度 DSP ブロックには 19 ビットのプリ加算器があります。これらの
プリ加算器を 2 つの 19 ビット・プリ加算器または 1 つの 27 ビット・プリ加算器と
してコンフィギュレーションすることができます。
プリ加算器は、以下の入力コンフィギュレーションで加算および減算の両方をサ
ポートしています。
■ 18 x 19 モードの 18 ビット(符号あり)加算または減算
■ 18 x 19 モードの 17 ビット(符号なし)加算または減算
■ 27 x 27 モードの 26 ビット加算または減算
内部係数Cyclone V の可変精度 DSP ブロックには、ダイナミック入力または内部係数のいずれ
か一方からの被乗算を選択できる柔軟性があります。
内部係数は、18 ビット・モードおよび 27 ビット・モードでの被乗算として最大 8 個
の定数係数をサポートすることができます。内部係数機能をイネーブルする場合、
係数マルチプレクサの選択を制御するために COEFSELA/COEFSELBが使用されます。
図3‒3. 27 x 27 モードでの可変精度 DSP ブロックの入力レジスタ(1)
図 3–3 の注:
(1) この図はデータ・レジスタのみを示しており、コントロール信号用のレジスタは示されていません。
dataa_y0[26..0]
dataa_z0[25..0]
dataa_x0[26..0]
scanin[26..0]
CLK[2..0]
ENA[2..0]
ACLR[0]
scanout[26..0]
Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック 3‒7ブロック・アーキテクチャ
乗算器乗算器のデータ幅に応じて、シングル可変精度 DSP ブロックは複数の乗算をパラレ
ルに実行できます。
可変精度 DSP ブロックあたりに 2 つの乗算器があります。
これら 2 つの乗算器を以下の動作モードにコンフィギュレーションすることができ
ます。
■ 1 つの 27 x 27 乗算器
■ 2 つの 18(符号あり)/(符号なし)x 19(符号あり)乗算器
■ 3 つの 9 x 9 乗算器
乗算器の動作モードについて詳しくは、3–10 ページの「動作モードの説明」を参照
してください。
加算器動作モードに応じて、さまざまなサイズの加算器を使用することができます。
■ 64 ビット・アキュムレータ付きの 1 つの 64 ビット加算器
■ 2つの18 x 19モード—それぞれの独立8 x 19乗算の37ビットの全結果を生成するた
めに、加算器は 2 つの 37 ビット加算器に分割されます。
■ 3つの 9 x 9モード —3つの 9 x 9乗算結果を別々に生成するために、加算器を 3つの
18 ビット加算器として使用することができます。
アキュムレータおよびチェインアウト加算器Cyclone V の可変精度 DSP ブロックは、64 ビットのアキュムレータおよび 64 ビット
の加算器をサポートしています。
以下の信号を使用してアキュムレータのファンクションをダイナミックに制御する
ことができます。
■ NEGATE
■ LOADCONST
■ ACCUMULATE
アキュムレータは、出力レジスタ・バンクおよびアキュムレータの間に位置する 64ビットのダブル累算レジスタをイネーブルすることによってダブル累算をサポート
します。
ダブル累算レジスタは、プログラミング・ファイルにスタティックに設定されます。
アキュムレータおよびチェインアウト加算器の機能は、2 つの独立 18 x 19 モードお
よび 3 つの 9 x 9 モードではサポートされていません。
2012 年 6月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統合
3‒8 第 3章: Cyclone V デバイスの可変精度DSP ブロックブロック・アーキテクチャ
表 3–2 に、ダイナミック信号設定および各ファンクションの説明を示します。
シストリック・レジスタ可変精度 DSP ブロックあたりに 2 つのシストリック・レジスタがあります。可変精
度 DSP ブロックがシストリック FIR にコンフィギュレーションされていない場合、
両方のシストリック・レジスタはバイパスされます。
1 番目のシストリック・レジスタは、上位乗算器の 18 ビットおよび 19 ビット入力を
それぞれレジスタ化するために使用される 18 ビットおよび 19 ビットのレジスタか
ら構成されています。
2 番目のシストリック・レジスタは、次の可変精度 DSP ブロックへのチェインアウ
ト出力を遅らせるために使用されます。
すべてのシストリック・レジスタに、出力レジスタ・バンクと同じクロック・ソー
スでクロックを供給する必要があります。
ダブル累算レジスタダブル累算レジスタは、アキュムレータのフィードバック・パスに余分なレジスタ
です。ダブル累算レジスタをイネーブルすると、余分なクロック・サイクルはア
キュムレータのフィードバック・パスで遅れることになります。
このレジスタには、出力レジスタ・バンクとしていくつかの CLK、ENA、および ACLR設定があります。
このレジスタをイネーブルすることによって、可変精度 DSP ブロックと同じ数を使
用して 2 つのアキュムレータ・チャネルを持つことができます。
出力レジスタ・バンククロック信号のポジティブ・エッジは、64 ビットのバイパス可能な出力レジスタ・
バンクをトリガして、パワーアップ後にクリアされます。
次の可変精度 DSP ブロックの信号は、可変精度 DSP ブロックごとの出力レジスタを
制御します。
■ CLK[2..0]
表3‒2. アキュムレータのファンクションとダイナミック・コントロール信号
ファンクション
説明 NEGATE LOADCONST ACCUMULATE
ゼロイング アキュムレータをディセーブルします。 0 0 0
プリロード
アキュムレータに初期値をロードします。64 ビットのプリロード値の 1 ビットのみは「1」です。この値は、64 ビットの結果の任意の位置に対するDSP 結果の丸め処理として使用されます。
0 1 0
累算 現在の結果を前回の累算結果に追加します。 0 X (1) 1
デシメーション
このファンクションにより、現在の結果が 2 の補数に変換され、前の結果に加算されます。
1 X (1) 1
表 3–2 の注:
(1) X は「don’t care」値であることを示します。
Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック 3‒9ブロック・アーキテクチャ
■ ENA[2..0]
■ ACLR[1]
2012 年 6月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統合
3‒10 第 3章: Cyclone V デバイスの可変精度DSP ブロック動作モードの説明
動作モードの説明このセクションでは、以下の動作モードを効率的にサポートするために Cyclone V の
可変精度 DSP ブロックをコンフィギュレーションする方法を説明します。
■ 独立乗算器モード
■ 独立複素数乗算器モード
■ Multiplier Adder Sum モード
■ 36 ビット入力に加算する 18 x 18 乗算モード
■ シストリック FIR モード
独立乗算器モード独立した入力および出力乗算器モードでは、可変精度 DSP ブロックは汎用乗算器の
個別乗算演算を実行します。
表 3–3 に、独立した乗算器モードでの Cyclone V の可変精度 DSP ブロックの乗算器コ
ンフィギュレーションを示します。
図 3–4 に、9 x 9 独立乗算器モードでの可変精度 DSP ブロックを示します。
表3‒3. 可変精度 DSP ブロックの独立乗算器モードでのコンフィギュレーション
コンフィギュレーション ブロックあたりの乗算器数 説明
9 x 9 3 図 3–4
18(符号あり)x 18(符号なし)
2 図 3–518(符号なし)x 18(符号なし)
18(符号あり)x 19(符号あり)
18(符号なし)x 19(符号あり)
18 x 25 1 図 3–620 x 24 1 図 3–727 x 27 1 図 3–8
図3‒4. 可変精度 DSP ブロックごとの 3つの 9 x 9 独立乗算器モード(1)
図 3–4 の注:
(1) 3 ペアのデータは axポートおよび ay ポートにパックされます。resultには3つの 18 ビット・プロダクトが含まれています。
Inpu
t Reg
iste
r Ban
k
Multiplier
x Result[53..0](p2, p1, p0)
ay[y2, y1, y0]
ax[x2, x1, x0]
27
27
54
Variable-Precision DSP Block
Out
put R
egis
ter B
ank
Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック 3‒11動作モードの説明
図 3–5 に、18 x 18 または 18 x 19 独立乗算器モードでの可変精度 DSP ブロックを示し
ます。
図 3–6 に、18 x 25 独立乗算器モードでの可変精度 DSP ブロックを示します。
図3‒5. 可変精度 DSP ブロックごとの 2つの 18 x 18 または 18 x 19 独立乗算器モード(1), (2)
図 3–5 の注:
(1) 18 x 19 モードでは n = 19 および m = 37 です。
(2) 18 x 18 モードでは n = 18 および m = 36 です。
図3‒6. 可変精度 DSP ブロックごとの 1つの 18 x 25 独立乗算器モード(1)
図 3–6 の注:
(1) チェインアウト加算器またはアキュムレータを組み込めば最大 52 ビットまでの結果が可能です。
[(m-1)..0]
Multiplier
x
Multiplier
xIn
put R
egis
ter B
ank
data_b1[(n-1)..0]
data_a1[17..0]
n
18
Variable-Precision DSP Block
data_b0[(n-1)..0]
data_a0[17..0]
n
18
m
[(m-1)..0]m
Out
put R
egis
ter B
ank
Inpu
t Reg
iste
r Ban
k
Multiplier
Result[42..0]
dataa_b0[17..0]
dataa_a0[24..0]
18
25
43
Variable-Precision DSP Block
Out
put R
egis
ter B
ank
x
2012 年 6月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統合
3‒12 第 3章: Cyclone V デバイスの可変精度DSP ブロック動作モードの説明
図 3–7 に、20 x 24 独立乗算器モードでの可変精度 DSP ブロックを示します。
図 3–8 に、27 x 27 独立乗算器モードでの可変精度 DSP ブロックを示します。
図3‒7. 可変精度 DSP ブロックごとの 1つの 20 x 24 独立乗算器モード(1)
図 3–7 の注:
(1) チェインアウト加算器またはアキュムレータを組み込めば最大 52 ビットまでの結果が可能です。
図3‒8. 可変精度 DSP ブロックごとの 1つの 27 x 27 独立乗算器モード(1)
図 3–8 の注:
(1) チェインアウト加算器またはアキュムレータを組み込めば最大 64 ビットまでの結果が可能です。
Inpu
t Reg
iste
r Ban
k
Multiplier
xResult[43..0]
dataa_b0[19..0]
dataa_a0[23..0]
20
24
44
Variable-Precision DSP Block
Out
put R
egis
ter B
ank
Inpu
t Reg
iste
r Ban
k
Multiplier
x Result[53..0]
dataa_b0[26..0]
dataa_a0[26..0]
27
27
54
Variable-Precision DSP Block
Out
put R
egis
ter B
ank
Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック 3‒13動作モードの説明
独立複素数乗算器モードCyclone V デバイスは、Cyclone V の 2 つの可変精度 DSP ブロックを使用して 18 x 19複素数乗算器モードをサポートします。
式 3–1 に、複素数乗算の式のサンプルを示します。
虚部の [(a × d) + (b × c)] は 1 番目の可変精度 DSP ブロックに実装され、そして実部
の [(a × c) - (b × d)] は 2 番目の可変精度 DSP ブロックに実装されます。
図 3–9 に、18 x 19 複素数乗算を示します。
式3‒1. 複素数乗算の式
a jb+( ) c jd+( )× a c×( ) b d×( )–[ ] j a d×( ) b c×( )+[ ]+=
図3‒9. 2 つの可変精度 DSPブロックを使用する 1 つの 18 x 19 複素数乗算器
Variable-Precision DSP Block 1
Variable-Precision DSP Block 2
Inpu
t Reg
iste
r Ban
k
Imaginary Part(ad+bc)
Multiplier
c[18..0]
b[17..0]
19
18
Multiplier
d[18..0]
a[17..0]
19
18
37
Adder
+
x
x
Out
put R
egis
ter B
ank
Inpu
t Reg
iste
r Ban
k
Real Part(ac-bd)
d[18..0]
b[17..0]
19
18
c[18..0]
a[17..0]
19
18
37
Out
put R
egis
ter B
ank
Multiplier
Multiplier
Adder
x
x
-
2012 年 6月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統合
3‒14 第 3章: Cyclone V デバイスの可変精度DSP ブロック動作モードの説明
Multiplier Adder Sumモード図 3–10 に、2 つの 18 x 19 Multiplier Adder Sum モードで 1 つの和を得る場合の可変精
度 DSP ブロックを示します。
図3‒10. 1 つの可変精度 DSP ブロックを使用する 2 つの 18 x 19 乗算器からの 1 つの和
Inpu
t Reg
iste
r Ban
k
Result[36..0]
dataa_y0[18..0]
dataa_x0[17..0]
19
18
Variable-Precision DSP Block
datab_y1[18..0]
datab_x1[17..0]
19
18
37
Multiplier
Multiplier
Adder
+/-
Chainout adder oraccumulator
SUB_COMPLEX
Out
put
Reg
iste
r Ban
k
+
x
x
Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック 3‒15動作モードの説明
36 ビット入力に加算する 18 x 18 乗算モードCyclone V の可変精度 DSP ブロックは、18 x 18 乗算を 1 つの 36 ビット入力に加算す
ることができます。
下位乗算器がバイパスされている間に、18 x 18 乗算の入力を提供する上位加算器を
使用します。datab_y1[17..0]信号および datab_y1[35..18]信号が連結されて、
36 ビット入力を生成します。
図 3–11 に、可変精度 DSP ブロックでの 36 ビット入力に加算する 18 x 18 乗算モード
を示します。
図3‒11. 36 ビット入力に加算する 18 x 18 乗算モード
Inpu
t Reg
iste
r Ban
k
Result[36..0]
dataa_y0[17..0]
dataa_x0[17..0]
18
18
Variable-Precision DSP Block
datab_y1[35..18]
datab_y1[17..0]
18
18
37
Multiplier
Adder
Chainout adder oraccumulator
SUB_COMPLEX
Out
put R
egis
ter B
ank
x
+/- +
2012 年 6月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統合
3‒16 第 3章: Cyclone V デバイスの可変精度DSP ブロック動作モードの説明
シストリック FIR モードFIR フィルタの基本構造は、次に示す一連の乗算から構成されています。
式 3–2 に、FIR フィルタ動作を示します。
タップおよび入力サイズの大きさによっては、多くの加算器のチェイン内での遅延
が非常に大きくなることがあります。遅延のパフォーマンスの問題を克服するため
に、タップごとの追加の遅延要素と共にシストリック・フォームが使用されること
で、増大するレイテンシのコストでのパフォーマンスが向上します。
図 3–12 に、シストリック・フォームでの FIR フィルタの同等回路を示します。
Cyclone V の可変精度 DSP ブロックは、18 ビットおよび 27 ビットのシストリック FIRの構造をサポートします。
シストリック FIR モードでは、乗算器に対して 4 つの異なる一連のソースから入力
することができます。
■ 2 つのダイナミック入力
■ 1 つのダイナミック入力および 1 つの係数入力
■ 1 つの係数入力および 1 つのプリ加算器出力
■ 1 つのダイナミック入力および 1 つのプリ加算器出力
18 ビットのシストリック FIR の例 — 加算器はデュアル 44 ビット加算器としてコン
フィギュレーションされており、18 ビット動作を使用するときにオーバーヘッドの
8 ビットを与えます(36 ビットのプロダクト)。これによって合計 256 の乗算器プロ
ダクトが可能となります。
式3‒2. FIR フィルタの基本式
図3‒12. シストリック FIR フィルタの同等回路
y n[ ] c i[ ]x n i– 1–[ ]i 1=
k
=
1−kc][nx
][ny
1c 2c kc
][1 nw ][2 nw ][1 nwk− ][nwk
Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック 3‒17動作モードの説明
図 3–13 に、18 ビットのシストリック FIR モードを示します。
27 ビットのシストリック FIR の例 — チェインアウト加算器またはアキュムレータ
は、64 ビット動作用としてコンフィギュレーションされており、27 ビットのデータ
を使用するときにオーバーヘッドの 10 ビットを提供します(54 ビットのプロダク
ト)。これによって、合計 1024 の乗算プロダクトが可能となります。
27 ビットのシストリック FIR モードによって、DSP ブロックごとに 1 つのステー
ジ・シストリック・フィルタの実装が可能となります。
図 3–14 に、27 ビットのシストリック FIR モードを示します。
図3‒13. 18 ビットのシストリック FIR モード
図 3–13 の注:
(1) シストリック・レジスタには、出力レジスタ・バンクとして同一のクロック・ソースがあります。
Inpu
t Reg
iste
r Ban
kdataa_y0[17..0]
dataa_z0[17..0]
dataa_x0[17..0]
COEFSELA[2..0]
datab_y1[17..0]
datab_z1[17..0]
datab_x1[17..0]
COEFSELB[2..0]
+/-
Pre-Adder
+/-
Pre-Adder
+/-
InternalCoefficient
InternalCoefficient
Multiplier
Multiplier
Adder
+/-
Systolic Registers (1)
Systolic Register (1)
Chainout adder oraccumulator
+
Out
put R
egis
ter B
ank
chainin[43..0]
chainout[43..0]
Result[43..0]
18-bit Systolic FIR
x
x
図3‒14. 27 ビットのシストリック FIR モード
Inpu
t Reg
iste
r Ban
k
dataa_y0[25..0]
dataa_z0[25..0]
dataa_x0[26..0]
COEFSELA[2..0]
Pre-Adder
+/-
InternalCoefficient
Multiplier
Adder
+/-
Chainout adder oraccumulator
+
chainin[63..0]
chainout[63..0]
27-bit Systolic FIR
27 x
Out
put R
egis
ter B
ank
2012 年 6月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 1:デバイスのインタフェースおよび統合
3‒18 第 3章: Cyclone V デバイスの可変精度DSP ブロック改訂履歴
改訂履歴表 3–4 に、本資料の改訂履歴を示します。
表3‒4. 改訂履歴
日付 バージョン 変更内容
2012 年 6 月 2.0
Quartus II ソフトウェア v12.0 リリースの更新。
■ 章の再構成。
■「デザインの検討事項」、「加算器」、および「ダブル累算レジスタ」のセクションの追加。
■ 図 3–1 および 図 3–13 の更新。
■ 表 3–3 の追加。
■「シストリック・レジスタ」および「シストリック FIR モード」のセクションの更新。
■ 式 3–2 の追加。
■ 図 3–12 の追加。
2011 年 10 月 1.0 初版。
Cyclone Vデバイス・ハンドブック 2012年 6月 Altera CorporationVolume 1:デバイスのインタフェースおよび統合