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