Cyclone V デバイスの可変精度DSPブロック

3. Cyclone V デバイスの可変精度 DSP
ブロック
June 2012
CV-52003-2.0
CV-52003-2.0
この章では、高性能 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 を参
照してください。
© 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos
are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its
semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and
services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service
described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
ISO
9001:2008
Registered
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Feedback Subscribe
3‒2
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック
サポートされる動作モード
サポートされる動作モード
表 3–1 に、Cyclone V の可変精度 DSP ブロックでサポートされている動作モードを示
します。
表 3‒1. Cyclone V デバイスの可変精度 DSP ブロックの動作モード
可変精度 DSP ブ
ロック・リソース
1 個の可変精度
DSP ブロック
2 個の可変精度
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
あり
なし
なし
あり
複素数 18 x 19 乗算
1
なし
なし
あり
なし
動作モード
入力カス チェイン
ケードのサ アウトの
ポート (1) サポート
表 3–1 の注:
(1) プリ加算器機能をイネーブルすると入力カスケードのサポートは使用不可能です。
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Altera Corporation
第 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)
CLK[2..0]
scanin
chainin[63..0]
ENA[2..0]
ACLR[1..0]
LOADCONST
ACCUMULATE
NEGATE
SUB_COMPLEX
Systolic
Register (2)
Multiplier
Pre-Adder
Constant
dataa_z0[17..0]
dataa_x0[17..0]
COEFSELA[2..0]
Input Register Bank
dataa_y0[18..0]
+/-
Systolic
Registers (2)
x
+/-
Internal
Coefficient
Adder
Multiplier
+/-
+
Chainout adder or
accumulator
+/-
datab_z1[17..0]
x
datab_x1[17..0]
COEFSELB[2..0]
Output Register Bank
Pre-Adder
datab_y1[18..0]
Double
Accumulation
Register
Result[73..0]
Internal
Coefficient
scanout
chainout[63..0]
図 3–1 の注:
(1) 可変精度 DSP ブロックがシストリック FIR モードにコンフィギュレーションされていない場合、両方のシストリック・レジス
タはバイパスされます。
(2) シストリック・レジスタをイネーブルする場合、3 つのレジスタは出力レジスタ・バンクとして同じクロック・ソースを持ち
ます。
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Altera Corporation
第 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)
CLK[2..0]
ENA[2..0]
scanin[18..0]
ACLR[0]
dataa_y0[18..0]
dataa_z0[17..0]
dataa_x0[17..0]
Delay registers
datab_y1[18..0]
datab_z1[17..0]
datab_x1[17..0]
Delay registers
scanout[18..0]
図 3–2 の注:
(1) この図はデータ・レジスタのみを示しており、コントロール信号用のレジスタは示されていません。
2012 年 6 月 Altera Corporation
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
3‒6
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック
ブロック・アーキテクチャ
図 3–3 に、27 x 27 モードでの入力レジスタを示します。
図 3‒3. 27 x 27 モードでの可変精度 DSP ブロックの入力レジスタ (1)
CLK[2..0]
ENA[2..0]
scanin[26..0]
ACLR[0]
dataa_y0[26..0]
dataa_z0[25..0]
dataa_x0[26..0]
scanout[26..0]
図 3–3 の注:
(1) この図はデータ・レジスタのみを示しており、コントロール信号用のレジスタは示されていません。
プリ加算器
それぞれの可変精度 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 が使用されます。
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Altera Corporation
第 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 に、ダイナミック信号設定および各ファンクションの説明を示します。
表 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」値であることを示します。
シストリック・レジスタ
可変精度 DSP ブロックあたりに 2 つのシストリック・レジスタがあります。可変精
度 DSP ブロックがシストリック FIR にコンフィギュレーションされていない場合、
両方のシストリック・レジスタはバイパスされます。
1 番目のシストリック・レジスタは、上位乗算器の 18 ビットおよび 19 ビット入力を
それぞれレジスタ化するために使用される 18 ビットおよび 19 ビットのレジスタか
ら構成されています。
2 番目のシストリック・レジスタは、次の可変精度 DSP ブロックへのチェインアウ
ト出力を遅らせるために使用されます。
すべてのシストリック・レジスタに、出力レジスタ・バンクと同じクロック・ソー
スでクロックを供給する必要があります。
ダブル累算レジスタ
ダブル累算レジスタは、アキュムレータのフィードバック・パスに余分なレジスタ
です。ダブル累算レジスタをイネーブルすると、余分なクロック・サイクルはア
キュムレータのフィードバック・パスで遅れることになります。
このレジスタには、出力レジスタ・バンクとしていくつかの CLK、ENA、および ACLR
設定があります。
このレジスタをイネーブルすることによって、可変精度 DSP ブロックと同じ数を使
用して 2 つのアキュムレータ・チャネルを持つことができます。
出力レジスタ・バンク
クロック信号のポジティブ・エッジは、64 ビットのバイパス可能な出力レジスタ・
バンクをトリガして、パワーアップ後にクリアされます。
次の可変精度 DSP ブロックの信号は、可変精度 DSP ブロックごとの出力レジスタを
制御します。
■
CLK[2..0]
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Altera Corporation
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック
ブロック・アーキテクチャ
■
ENA[2..0]
■
ACLR[1]
2012 年 6 月 Altera Corporation
3‒9
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‒3. 可変精度 DSP ブロックの独立乗算器モードでのコンフィギュレーション
コンフィギュレーション
ブロックあたりの乗算器数
説明
9x9
3
図 3–4
2
図 3–5
18 x 25
1
図 3–6
20 x 24
1
図 3–7
27 x 27
1
図 3–8
18(符号あり)x 18(符号なし)
18(符号なし)x 18(符号なし)
18(符号あり)x 19(符号あり)
18(符号なし)x 19(符号あり)
図 3–4 に、9 x 9 独立乗算器モードでの可変精度 DSP ブロックを示します。
図 3‒4. 可変精度 DSP ブロックごとの 3 つの 9 x 9 独立乗算器モード (1)
Variable-Precision DSP Block
27
ax[x2, x1, x0]
x
Output Register Bank
ay[y2, y1, y0]
Input Register Bank
Multiplier
27
54
Result[53..0]
(p2, p1, p0)
図 3–4 の注:
(1) 3 ペアのデータは ax ポートおよび ay ポートにパックされます。result には3つの 18 ビット・プロ
ダクトが含まれています。
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Altera Corporation
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック
動作モードの説明
3‒11
図 3–5 に、18 x 18 または 18 x 19 独立乗算器モードでの可変精度 DSP ブロックを示し
ます。
図 3‒5. 可変精度 DSP ブロックごとの 2 つの 18 x 18 または 18 x 19 独立乗算器モー
ド (1), (2)
Variable-Precision DSP Block
Multiplier
n
data_b1[(n-1)..0]
m
x
[(m-1)..0]
18
n
Output Register Bank
Input Register Bank
data_a1[17..0]
Multiplier
data_b0[(n-1)..0]
m
x
[(m-1)..0]
18
data_a0[17..0]
図 3–5 の注:
(1) 18 x 19 モードでは n = 19 および m = 37 です。
(2) 18 x 18 モードでは n = 18 および m = 36 です。
図 3–6 に、18 x 25 独立乗算器モードでの可変精度 DSP ブロックを示します。
図 3‒6. 可変精度 DSP ブロックごとの 1 つの 18 x 25 独立乗算器モード (1)
Variable-Precision DSP Block
25
dataa_a0[24..0]
x
Output Register Bank
18
dataa_b0[17..0]
Input Register Bank
Multiplier
43
Result[42..0]
図 3–6 の注:
(1) チェインアウト加算器またはアキュムレータを組み込めば最大 52 ビットまでの結果が可能です。
2012 年 6 月 Altera Corporation
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
3‒12
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック
動作モードの説明
図 3–7 に、20 x 24 独立乗算器モードでの可変精度 DSP ブロックを示します。
図 3‒7. 可変精度 DSP ブロックごとの 1 つの 20 x 24 独立乗算器モード (1)
24
dataa_a0[23..0]
x
Output Register Bank
20
dataa_b0[19..0]
Input Register Bank
Variable-Precision DSP Block
Multiplier
44
Result[43..0]
図 3–7 の注:
(1) チェインアウト加算器またはアキュムレータを組み込めば最大 52 ビットまでの結果が可能です。
図 3–8 に、27 x 27 独立乗算器モードでの可変精度 DSP ブロックを示します。
図 3‒8. 可変精度 DSP ブロックごとの 1 つの 27 x 27 独立乗算器モード (1)
Variable-Precision DSP Block
27
dataa_a0[26..0]
x
Output Register Bank
dataa_b0[26..0]
Input Register Bank
Multiplier
27
54
Result[53..0]
図 3–8 の注:
(1) チェインアウト加算器またはアキュムレータを組み込めば最大 64 ビットまでの結果が可能です。
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Altera Corporation
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック
動作モードの説明
3‒13
独立複素数乗算器モード
Cyclone V デバイスは、Cyclone V の 2 つの可変精度 DSP ブロックを使用して 18 x 19
複素数乗算器モードをサポートします。
式 3–1 に、複素数乗算の式のサンプルを示します。
式 3‒1. 複素数乗算の式
( a + jb ) × ( c + jd ) = [ ( a × c ) – ( b × d ) ] + j [ ( a × d ) + ( b × c ) ]
虚部の [(a × d) + (b × c)] は 1 番目の可変精度 DSP ブロックに実装され、そして実部
の [(a × c) - (b × d)] は 2 番目の可変精度 DSP ブロックに実装されます。
図 3–9 に、18 x 19 複素数乗算を示します。
図 3‒9. 2 つの可変精度 DSP ブロックを使用する 1 つの 18 x 19 複素数乗算器
Variable-Precision DSP Block 1
Multiplier
19
x
Adder
b[17..0]
19
d[18..0]
Input Register Bank
18
18
Multiplier
+
Output Register Bank
c[18..0]
37
Imaginary Part
(ad+bc)
x
a[17..0]
Variable-Precision DSP Block 2
Multiplier
19
x
Adder
b[17..0]
19
c[18..0]
18
Input Register Bank
18
Multiplier
-
Output Register Bank
d[18..0]
37
Real Part
(ac-bd)
x
a[17..0]
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 つの和
Variable-Precision DSP Block
SUB_COMPLEX
Multiplier
19
dataa_y0[18..0]
Chainout adder or
accumulator
x
18
datab_y1[18..0]
+/Multiplier
+
Output Register Bank
19
Input Register Bank
dataa_x0[17..0]
37
Result[36..0]
Adder
x
18
datab_x1[17..0]
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Altera Corporation
第 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 乗算モード
Variable-Precision DSP Block
SUB_COMPLEX
Multiplier
18
18
datab_y1[35..18]
x
Chainout adder or
accumulator
+/-
+
Output Register Bank
18
dataa_x0[17..0]
Input Register Bank
dataa_y0[17..0]
37
Result[36..0]
18
datab_y1[17..0]
Adder
2012 年 6 月 Altera Corporation
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
3‒16
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック
動作モードの説明
シストリック FIR モード
FIR フィルタの基本構造は、次に示す一連の乗算から構成されています。
式 3–2 に、FIR フィルタ動作を示します。
式 3‒2. FIR フィルタの基本式
k
y[ n ] =
 c [ i ]x [ n – i – 1 ]
i=1
タップおよび入力サイズの大きさによっては、多くの加算器のチェイン内での遅延
が非常に大きくなることがあります。遅延のパフォーマンスの問題を克服するため
に、タップごとの追加の遅延要素と共にシストリック・フォームが使用されること
で、増大するレイテンシのコストでのパフォーマンスが向上します。
図 3–12 に、シストリック・フォームでの FIR フィルタの同等回路を示します。
図 3‒12. シストリック FIR フィルタの同等回路
y[n]
w2 [n]
w1[n]
x[n]
c1
c2
wk [n]
wk −1[n]
ck −1
ck
Cyclone V の可変精度 DSP ブロックは、18 ビットおよび 27 ビットのシストリック FIR
の構造をサポートします。
シストリック FIR モードでは、乗算器に対して 4 つの異なる一連のソースから入力
することができます。
■
2 つのダイナミック入力
■
1 つのダイナミック入力および 1 つの係数入力
■
1 つの係数入力および 1 つのプリ加算器出力
■
1 つのダイナミック入力および 1 つのプリ加算器出力
18 ビットのシストリック FIR の例 — 加算器はデュアル 44 ビット加算器としてコン
フィギュレーションされており、18 ビット動作を使用するときにオーバーヘッドの
8 ビットを与えます(36 ビットのプロダクト)。これによって合計 256 の乗算器プロ
ダクトが可能となります。
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Altera Corporation
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック
動作モードの説明
3‒17
図 3–13 に、18 ビットのシストリック FIR モードを示します。
図 3‒13. 18 ビットのシストリック FIR モード
chainin[43..0]
dataa_y0[17..0]
+/-
dataa_z0[17..0]
Systolic
Register (1)
Multiplier
Pre-Adder
Systolic
Registers (1)
x
+/-
Input Register Bank
COEFSELA[2..0]
Internal
Coefficient
+
Adder
Output Register Bank
dataa_x0[17..0]
Chainout adder or
accumulator
Multiplier
Pre-Adder
datab_y1[17..0]
+/-
datab_z1[17..0]
x
Result[43..0]
datab_x1[17..0]
COEFSELB[2..0]
Internal
Coefficient
18-bit Systolic FIR
chainout[43..0]
図 3–13 の注:
(1) シストリック・レジスタには、出力レジスタ・バンクとして同一のクロック・ソースがあります。
27 ビットのシストリック FIR の例 — チェインアウト加算器またはアキュムレータ
は、64 ビット動作用としてコンフィギュレーションされており、27 ビットのデータ
を使用するときにオーバーヘッドの 10 ビットを提供します(54 ビットのプロダク
ト)。これによって、合計 1024 の乗算プロダクトが可能となります。
27 ビットのシストリック FIR モードによって、DSP ブロックごとに 1 つのステー
ジ・シストリック・フィルタの実装が可能となります。
図 3–14 に、27 ビットのシストリック FIR モードを示します。
図 3‒14. 27 ビットのシストリック FIR モード
chainin[63..0]
Multiplier
Pre-Adder
dataa_y0[25..0]
COEFSELA[2..0]
27
Internal
Coefficient
x
+/-
+
Adder
Chainout adder or
accumulator
Output Register Bank
dataa_x0[26..0]
+/Input Register Bank
dataa_z0[25..0]
27-bit Systolic FIR
chainout[63..0]
2012 年 6 月 Altera Corporation
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
3‒18
第 3 章: Cyclone V デバイスの可変精度 DSP ブロック
改訂履歴
改訂履歴
表 3–4 に、本資料の改訂履歴を示します。
表 3‒4. 改訂履歴
日付
バージョン
変更内容
Quartus II ソフトウェア v12.0 リリースの更新。
■
章の再構成。
■ 「デザインの検討事項」
、「加算器」、および「ダブル累算レジスタ」
のセクションの追加。
2012 年 6 月
2.0
■
図 3–1 および 図 3–13 の更新。
■
表 3–3 の追加。
■ 「シストリック・レジスタ」および「シストリック
FIR モード」のセク
ションの更新。
2011 年 10 月
1.0
■
式 3–2 の追加。
■
図 3–12 の追加。
初版。
Cyclone V デバイス・ハンドブック
Volume 1:デバイスのインタフェースおよび統合
2012 年 6 月
Altera Corporation