3-2 Arria 10 デバイスでサポートされる動作モード A10-DSP Arria 10 デバイスでサポートされる動作モード 表 3-1: Arria 10 デバイスにおける可変精度 DSP ブロックの動作モード 可変精度 DSP ブロックのリソース 1 つの可変精度 DSP

Similar documents
ダウンロード方法アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルの完全なセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールするための

ダウンロード方法 アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルがバンドルされたセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールす

DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用

1-2 MLAB 図 1-1: Arria 10 デバイスにおける LAB 構造およびインタコネクトの概要 この図は LAB インタコネクトを有する Arria 10 の LAB および MLAB 構造の概要を表しています C4 C27 異なる速度と長さのロウ インタコネクト R32 R3/R6 s

ロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール

Cyclone V デバイスのロジック・アレイ・ブロックおよびアダプティブ・ロジック・モジュール、Cyclone Vデバイス・ハンドブック、Volume 1、第1章

AN 630: アルテラCPLD におけるリアルタイムISP およびISP クランプ

A-AN pdf

ウォッチドッグ・タイマ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

AN 611:3G-SDI レベルB とデュアル・リンクHD-SDI(SMPTE372)リファレンス・デザインのマッピング

Microsoft PowerPoint - 7.Arithmetic.ppt

AN 357: Error Detection & Recovery Using CRC in Altera FPGA Devices

2-2 デザイン ガイドライン 表 2-1: 容量と分配 A10-MEMORY タイプ Arria 10 GX Arria 10 GT Arria 10 SX 製品ライン ブロック数 M20K RAM ビット数 (Kb) ブロック数 MLAB RAM ビット数 (Kb) トータル RAM ビット数

インテル® Arria® 10 コア・ファブリックおよび汎用 I/O ハンドブック

ソフトウェア基礎技術研修

8B10Bエンコーダ/デコーダMegaCoreファンクション・ユーザガイド

USB-Blasterダウンロード・ケーブル・ユーザガイド

デュアルDIMM DDR2およびDDR3 SDRAMのボード・デザイン・ガイドライン、外部メモリ・インタフェース・ハンドブック、Volume 2、第5章

MAX 10 高速LVDS I/Oユーザー・ガイド

Arria 10におけるプロトコル経由のCvP初期化およびパーシャル・リコンフィギュレーション ユーザーガイド

JABRA BT

遅延デジタルフィルタの分散型積和演算回路を用いたFPGA実装の検討

MAX 10高速LVDS I/Oユーザーガイド

Xpand! Plug-In Guide

X-Form Plug-in Guide

untitled

外部SQLソース入門

CANコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

Virtex-6 Clocking

AN 455: Understanding CIC Compensation Filters

SonicWALL SSL-VPN 4000 導入ガイド

オンチップ・メモリ クイック・ガイド for Cyclone III

Software Tag Implementation in Adobe Products

AN 477: Designing RGMII Interface with HardCopy

AWS Client VPN - ユーザーガイド

Windows Phone 用 Cisco AnyConnect セキュアモビリティクライ アントユーザガイド(リリース 4.1.x)

「電子政府推奨暗号の実装」評価報告書

RAM-ベース・シフト・レジスタ (ALTSHIFT_TAPS) メガファンクションのユーザーガイド

スライド 1

AutoCAD道場-なぜ「レイアウト」がいいのか?

TOEIC(R) Newsletter

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

ベース0516.indd

2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk

VelilogHDL 回路を「言語」で記述する

360_h1_4.ai

展開とプロビジョニングの概念

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

MAX 10の汎用I/Oのユーザーガイド

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

Nios II カスタム・インストラクションによるキャスト(型変換)の高速化

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

PowerPoint Presentation

Adobe Acrobat DC 製品比較表

MIDI_IO.book

ScanFront300/300P セットアップガイド

Microsoft Word - HowToSetupVault_mod.doc

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな

CCD リニアイメージセンサ用駆動回路 C CCD リニアイメージセンサ (S11155/S ) 用 C は 当社製 CCDリニアイメージセンサ S11155/S 用に開発された駆動回路です S11155/S11156-

Microsoft PowerPoint LC_15.ppt

エレクトーンのお客様向けiPhone/iPad接続マニュアル

Microsoft Word - scilab_intro.doc

Quartus Prime はじめてガイド - デバイス・プログラミングの方法

プログラミング実習I

Autodesk Fusion 360 Autodesk Fusion 360 Honda 3D Fusion 360 CAD Honda EV Autodesk Fusion 360 Honda D 3D Web Rinkak 3D 2016 Honda 3D CEATEC JAPAN

光インタフェースによる銅配線技術の限界の克服

ScanFront 220/220P 取扱説明書

ScanFront 220/220P セットアップガイド

PowerPoint Presentation

Microsoft Word - 実験4_FPGA実験2_2015

FIRコンパイラ・ユーザー・ガイド

計算機アーキテクチャ

AutoCAD のCitrix XenApp 対応

FIR コンパイラ II MegaCore ファンクションのユーザーガイド

Specifications LED ディスプレイビデオコントローラ VX4S

JABRA CLASSIC ユーザーマニュアル jabra.com/classic

パスワード暗号化の設定

インターネット接続ガイド v110

Cyclone Vデバイス・ハンドブック、 Vol 1、第6章:Cyclone Vデバイスの外部メモリ・インタフェース

電力線重畳型機器認証技術

Transcription:

3 2014.08. A10-DSP 署名 この章では 高性能デジタル信号処理 (DSP) アプリケーションでより高いビット精度をサポートするにあたって Arria 10 デバイスの可変精度 DSP ブロックがどのように最適化されるかについて説明します 2014. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of 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 www.altera.com 101 Innovation Drive, San Jose, CA 95134

3-2 Arria 10 デバイスでサポートされる動作モード A10-DSP 2014.08. Arria 10 デバイスでサポートされる動作モード 表 3-1: Arria 10 デバイスにおける可変精度 DSP ブロックの動作モード 可変精度 DSP ブロックのリソース 1 つの可変精度 DSP ブロック 1 つの可変精度 DSP ブロック 動作モード 固定小数点独立 x 19 乗算 固定小数点独立 27 x 27 乗算 固定小数点の 2 つの x 19 乗算加算器モード 36 ビット入力に加算する固定小数点 x 乗算加算器 固定小数点 x 19 シストリック モード 浮動小数点乗算モード 浮動小数点加算器または減算モード 浮動小数点乗算加算器または減算モード 浮動小数点乗算器累積モード 浮動小数点ベクタ 1 モード 浮動小数点ベクタ 2 モード サポートされるインスタンス数 プリアダーのサポート 係数のサポート 入力カスケードのサポート 2 ありありあり (2) (3) チェインアウトのサポート なし 1 ありありあり (4) あり 1 ありありありあり 1 なしなしなしあり 1 ありありありあり 1 なしなしなしなし 1 なしなしなしなし 1 なしなしなしあり 1 なしなしなしなし 1 なしなしなしあり 1 なしなしなしあり (2) 下部の乗算器の遅延レジスタのみ使用可能です (3) プリアダーへの 2 つの入力それぞれが ビットの最大幅を有します 入力カスケードがプリアダ ー入力の 1 つを供給するために使用される場合 入力カスケードの最大幅は ビットです (4) プリアダー機能をイネーブルする場合 入力カスケードのサポートは使用できません

A10-DSP 2014.08. Arria 10 デバイスでサポートされる動作モード 3-3 可変精度 DSP ブロックのリソース 2 つの可変精度 DSP ブロック 動作モード サポートされるインスタンス数 プリアダーのサポート 係数のサポート 入力カスケードのサポート チェインアウトのサポート 複素数 x19 乗算 1 なしなしありなし 表 3-2: Arria 10 デバイスにおける可変精度 DSP ブロックの動作モード 可変精度 DSP ブロックのリソース 1 つの可変精度 DSP ブロック 2 つの可変精度 DSP ブロック 動作モード 固定小数点独立 x 19 乗算 固定小数点独立 27 x 27 乗算 固定小数点の 2 つの x 19 乗算加算器モード 36 ビット入力に加算する固定小数点 x 乗算加算器 固定小数点 x 19 シストリック モード 浮動小数点乗算モード 浮動小数点加算器または減算モード 浮動小数点乗算加算器または減算モード 浮動小数点乗算器累積モード 浮動小数点ベクタ 1 モード 浮動小数点ベクタ 2 モード 複素数 x 19 乗算 ダイナミック ACCUMULATE ダイナミック LOADCONST ダイナミック SUB ダイナミック NEGATE なしなしなしなし ありありなしあり ありありありあり ありありありあり ありありなしなし なしなしなしなし なしなしなしなし なしなしなしなし ありなしなしなし なしなしなしなし なしなしなしなし なしなしなしなし

3-4 機能 機能 Arria 10 の可変精度 DSP ブロックは 固定小数点演算と浮動小数点演算をサポートしています 固定小数点演算のための機能 : 高性能 消費電力の最適化 および完全にレジスタされた乗算演算 ビットおよび 27 ビットのワード長 DSP ブロックにつき 2 つの x 19 乗算器または 1 つの 27 x 27 乗算器 乗算結果を組み合わせるビルトイン加算 減算 および 64 ビットのダブル累算レジスタ プリアダーがディセーブルされる際の 19 ビットまたは 27 ビットのカスケード接続とプリアダーがフィルタリング アプリケーションのタップ ディレイ ラインを形成するために使用される際の ビットのカスケード接続 外部ロジックのサポートなしで あるブロックから次のブロックへ出力結果を伝えるための 64 ビット出力バスのカスケード接続 対称フィルタの 19 ビット モードと 27 ビット モードでサポートされるハード プリアダー フィルタ実装の ビットおよび 27 ビットの両モードにおける内部係数レジスタ バンク 分散された出力加算器を有する ビットおよび 27 ビットのシストリック有限インパルス応答 (FIR) フィルタ バイアスされた丸め処理のサポート 浮動小数点演算ための機能 : 乗算 加算 減算 積和 および積差 累算機能とダイナミック アキュムレータのリセット コントロールを有する乗算 カスケード加算機能を有する乗算 カスケード減算機能を有する乗算 複素数乗算 ダイレクト ベクタ ドット積 シストリック FIR フィルタ A10-DSP 2014.08. 関連情報 Arria 10 Device Handbook: Known Issues Arria 10 Device Handbook の章にて予定される更新をリストします Arria 10 デバイスの概要各デバイスにおける乗算器の数に関する詳細を提供します

A10-DSP 2014.08. リソース 3-5 リソース 表 3-3: Arria 10 デバイスの乗算器数 次の表は 各 Arria 10 デバイスの可変精度 DSP リソースをビット単位によりリストしています バリアント 製品ライン 可変精度 DSP ブロック 独立した入力および出力 x 19 乗算器 乗算演算子 27 x 27 乗算器 ピーク ギガ単位での秒あたりの浮動小数点動作 (GFLOP) 単精度浮動小数点加算器 x 19 乗算加算器モード x 36 ビット入力に加算する乗算加算器 Arria 10 GX Arria 10 GT Arria 10 SX GX 160 156 312 156 140 156 156 156 GX 220 191 382 191 173 192 191 191 GX 270 830 1,660 830 720 800 830 830 GX 320 985 1,970 985 887 985 985 985 GX 480 1,368 2,736 1,368 1,231 1,368 1,368 1,368 GX 570 1,523 3,046 1,523 1,371 1,523 1,523 1,523 GX 660 1,688 3,376 1,688 1,510 1,678 1,688 1,688 GX 900 1,5 3,036 1,5 1,366 1,5 1,5 1,5 GX 1150 1,5 3,036 1,5 1,366 1,5 1,5 1,5 GT 900 1,5 3,036 1,5 1,366 1,5 1,5 1,5 GT 1150 1,5 3,036 1,5 1,366 1,5 1,5 1,5 SX 160 156 312 156 140 156 156 156 SX 220 191 382 191 173 192 191 191 SX 270 830 1,660 830 720 800 830 830 SX 320 985 1,970 985 887 985 985 985 SX 480 1,368 2,736 1,368 1,231 1,368 1,368 1,368 SX 570 1,523 3,046 1,523 1,371 1,523 1,523 1,523 SX 660 1,688 3,376 1,688 1,510 1,678 1,688 1,688 デザインの検討事項 デザインにあたって以下の要素を考慮する必要があります

3-6 動作モード 表 3-4: デザインの検討事項 A10-DSP 2014.08. DSP 実装固定小数点演算浮動小数点演算 デザインの要素 動作モード 内部係数とプリアダー アキュムレータ チェインアウト加算器 動作モード チェインアウト加算器 動作モード Quartus II ソフトウェアには 乗算器の動作モードを制御するために使用できる IP コアが含まれます IP カタログでパラメータ設定を入力すると Quartus II ソフトウェアは自動的に可変精度 DSP ブロックをコンフィギュレーションします また 可変精度 DSP ブロックは DSP Builder Advanced Blockset と OpenCL を使用して実装することもできます 表 3-5: 動作モード 固定小数点演算 アルテラは Arria 10 の可変精度 DSP ブロックの各種モードをデザインに実装するにあたって 2 つの方法 (Quartus II の DSP IP コアを使用する方法と HDL 推測を使用する方法 ) を提供します 固定小数点演算実装の Arria 10 の可変精度 DSP ブロックでは 次の Quartus II の IP コアがサポートされます LPM_MULT ALTERA_MULT_ADD ALTMULT_COMPLEX 浮動小数点演算 アルテラは Arria 10 の可変精度 DSP ブロックの各種モードをデザインに実装するにあたって 1 つの方法 (Quartus II の DSP IP コアを使用する方法 ) を提供します 関連情報 Introduction to Megafunction User Guide Integer Arithmetic Megafunctions User Guide Floating-Point Megafunctions User Guide Quartus II Software Help 固定小数点演算向けの内部係数とプリアダー プリアダー機能を使用するにあたって プリアダーへの入力は同じクロック設定である必要があります

A10-DSP 2014.08. 固定小数点演算向けのアキュムレータ 3-7 また プリアダー機能をイネーブルする場合 入力カスケード サポートは ビット モードでのみ使用可能です ビットおよび 27 ビットの両モードでは 係数機能とプリアダー機能を個別に使用することができます 固定小数点演算向けのアキュムレータ Arria 10 デバイスのアキュムレータは 出力レジスタ バンクとアキュムレータの間に位置する 64 ビットのダブル累算レジスタをイネーブルすることによってダブル累算をサポートします ダブル累算レジスタは プログラミング ファイルでスタティックに設定されています チェインアウト加算器 表 3-6: チェインアウト加算器 固定小数点演算 出力チェイン パスを使用して 他の DSP ブロックからの結果を加算することができます 浮動小数点演算 出力チェイン パスを使用して 他の DSP ブロックからの結果を加算することができます 特定の動作モードへのサポート : 積和モードまたは積差モード ベクタ 1 モード ベクタ 2 モード ブロック アーキテクチャ Arria 10 の可変精度 DSP ブロックは以下の要素で構成されています 表 3-7: ブロック アーキテクチャ DSP 実装固定小数点演算浮動小数点演算 ブロック アーキテクチャ 入力レジスタ バンク パイプライン レジスタ プリアダー 内部係数 乗算器 加算器 アキュムレータとチェインアウト加算器 シストリック レジスタ ダブル累算レジスタ 出力レジスタ バンク 入力レジスタ バンク パイプライン レジスタ 乗算器 加算器 アキュムレータとチェインアウト加算器 出力レジスタ バンク

3-8 ブロック アーキテクチャ 可変精度 DSP ブロックが固定小数点演算シストリック FIR モードでコンフィギュレーションされない場合 両方のシストリック レジスタがバイパスされます 図 3-1: Arria 10 デバイスにおける固定小数点演算の可変精度 DSP ブロック アーキテクチャ (> x 19 モード ) A10-DSP 2014.08. scanin CLK[2..0] ENA[2..0] ACLR[1..0] chainin[63..0] イネーブルされると シストリック レジスタは出力レジスタ バンクとして同じクロック ソースでクロックされます LOADCONST ACCUMULATE NEGATE SUB Pre- Systolic Constant dataa_y0[..0] dataa_z0[17..0] dataa_x0[17..0] COEFSELA[2..0] Pipleine +/- +/- +/- Pre- Systolic s Internal Coefficient x + Chainout adder/ accumulator datab_y1[..0] datab_z1[17..0] datab_x1[17..0] COEFSELB[2..0] +/- Internal Coefficient x Double Accumulation Resulta_[63:0] Resultb_[36:0] scanout chainout[63..0]

A10-DSP 2014.08. ブロック アーキテクチャ 3-9 図 3-2: Arria 10 デバイスにおける固定小数点演算の可変精度 DSP ブロック アーキテクチャ (>27 x 27 モード ) chainin[63..0] LOADCONST ACCUMULATE NEG Constant dataa_y0[26..0] dataa_z0[25..0] Pre- +/- x Chainout / Accumulator + Double Accumulation dataa_x0[26..0] +/- COEFSELA[2..0] Internal Coefficients 64 Result[63..0] chainout[63..0] 図 3-3: Arria 10 デバイスにおける浮動小数点演算の可変精度 DSP ブロック アーキテクチャ chainin[31:0] accumulate dataa_x0[31:0] dataa_y0[31:0] dataa_z0[31:0] result[31:0] chainout[31:0]

3-10 入力レジスタ バンク 入力レジスタ バンク A10-DSP 2014.08. 表 3-8: 入力レジスタ バンク 固定小数点演算 データ ダイナミック コントロール信号 遅延レジスタの 2 セット 浮動小数点演算 データ ダイナミック コントロール信号 DSP ブロック内のすべてのレジスタはポジティブ エッジでトリガされ パワー アップ時にクリアされます 各乗算器オペランドは 入力レジスタをバイパスして直接入力レジスタまたは乗算器を供給することができます 次の可変精度 DSP ブロック信号は 可変精度 DSP ブロック内の入力レジスタを制御します CLK[2..0] ENA[2..0] ACLR[0] 固定小数点演算の x 19 モードでは 入力カスケードおよびチェインアウト機能の両方を使用する場合 遅延レジスタを使用してレイテンシ要件のバランスを取ることができます タップ遅延ライン機能を使用すると 一般配線またはカスケード チェインから乗算器入力の上位レグ 固定小数点演算 x 19 モードの dataa_y0 と datab_y1 および固定小数点演算 27 x 27 モードのみの dataa_y0 を駆動することができます 固定小数点演算の遅延レジスタの 2 セット 固定小数点演算の x 19 シストリック モードで使用可能な 入力カスケード チェインに沿った 2 つの遅延レジスタは 上位遅延レジスタと下位遅延レジスタになります その他のすべての固定小数点演算モードでは 下位遅延レジスタのみ使用できます

A10-DSP 2014.08. 固定小数点演算の遅延レジスタの 2 セット 3-11 図 3-4: Arria 10 デバイスにおける固定小数点演算 x 19 モードの可変精度 DSP ブロックの入力レジスタ 次の図は データ レジスタのみを表しています コントロール信号のレジスタは図示されていません CLK[2..0] ENA[2..0] scanin[..0] ACLR[0] dataa_y0[..0] dataa_z0[17..0] dataa_x0[17..0] Top delay registers datab_y1[..0] datab_z1[17..0] datab_x1[17..0] Bottom delay registers scanout[..0]

3-12 パイプライン レジスタ 図 3-5: Arria 10 デバイスにおける固定小数点演算 27 x 27 モードの可変精度 DSP ブロックの入力レジスタ 次の図は データ レジスタのみを表しています コントロール信号のレジスタは図示されていません CLK[2..0] ENA[2..0] A10-DSP 2014.08. scanin[26..0] ACLR[0] dataa_y0[26..0] dataa_z0[25..0] dataa_x0[26..0] scanout[26..0] パイプライン レジスタ パイプライン レジスタは最大 Fmax 性能を得るために使用されます なお 高い Fmax が不要の場合 パイプライン レジスタはバイパスすることができます 次の可変精度 DSP ブロック信号が可変精度 DSP ブロック内のパイプライン レジスタを制御します CLK[2..0] ENA[2..0] ACLR[1] 浮動小数点演算は 以下のいずれかを実行することができるパイプライン レジスタの 2 つのレイテンシ レイヤを有します パイプライン レジスタのすべてのレイテンシ レイヤをバイパスする パイプライン レジスタのレイテンシ レイヤのいずれか 1 つを使用する パイプライン レジスタの両方のレイテンシ レイヤを使用する

A10-DSP 2014.08. 固定小数点演算向けのプリアダー 3-13 固定小数点演算向けのプリアダー 各可変精度 DSP ブロックはそれぞれ 2 つの 19 ビット プリアダーを有します これらのプリアダーは以下の構成でコンフィギュレーションすることができます 2 つの独立した 19 ビット プリアダー 1 つの 27 ビット プリアダー プリアダーは 次の入力コンフィギュレーションで加算と減算の両方をサポートします x 19 モードにおける ビット ( 符号ありまたは符号なし ) の加算あるいは減算 27 x 27 モードにおける 26 ビットの加算あるいは減算 同じ DSP ブロック内のプリアダーの両方が使用される場合 プリアダーは同じ動作タイプ ( 加算または減算のいずれか ) を共有する必要があります 固定小数点演算向けの内部係数 乗算器 Arria 10 の可変精度 DSP ブロックでは ダイナミック入力または内部係数のいずれかから被乗数を柔軟に選択することができます 内部係数は ビット モードと 27 ビット モードで被乗数の定数係数を最大 8 つサポートすることができます 内部係数機能をイネーブルすると 係数マルチプレクサの選択を制御するにあたって COEFSELA/COEFSELB が使用されます 1 つの可変精度 DSP ブロックは 乗算器のデータ幅と実装に応じて多数の乗算を並行して実行することができます 各可変精度 DSP ブロックはそれぞれ 2 つの乗算器を有します これら 2 つの乗算器は いくつかの動作モードでコンフィギュレーションすることができます 表 3-9: 動作モード 固定小数点演算 1 つの 27 x 27 乗算器 2 つの ( 符号ありまたは符号なし )x 19( 符号あり ) 乗算器 浮動小数点演算 1 つの浮動小数点演算単精度乗算器 加算器 関連情報 3-15 ページの動作モードの説明乗算器の動作モードについての詳細を提供します 動作モードに応じて 以下のように加算器を使用することができます 1 つの 55 ビット加算器または 38 ビット加算器 2 つの x 19 モード ( 加算器がバイパスされる ) 1 つの浮動小数点演算単精度加算器

3-14 固定小数点演算のアキュムレータとチェインアウト加算器 A10-DSP 2014.08. DSP 実装 ダイナミック SUB ポートを使用した加算 ダイナミック SUB ポートを使用した減算 固定小数点演算ありあり 浮動小数点演算なしなし 固定小数点演算のアキュムレータとチェインアウト加算器 Arria 10 の可変精度 DSP ブロックでは 固定小数点演算向けの 64 ビットのアキュムレータと 64 ビットの加算器をサポートしています 次の信号は アキュムレータの機能をダイナミックに制御することができます NEGATE LOADCONST ACCUMULATE アキュムレータは 出力レジスタ バンクとアキュムレータの間に位置する 64 ビットのダブル累算レジスタをイネーブルすることによってダブル累算をサポートします ダブル累算レジスタは プログラミング ファイルでスタティックに設定されています アキュムレータおよびチェインアウト加算器機能は 2 つの固定小数点演算の独立した x 19 モードではサポートされません 表 3-10: アキュムレータ機能とダイナミック コントロール信号 次の表では 各機能のダイナミック信号の設定と説明をリストしています なお この表中の X は "don't care" の値を示します 機能説明 NEGATE LOADCONST ACCUMULATE Zeroing Preload Accumulation Decimation + Accumulate アキュムレータをディセーブルします 結果は常にプリロード値に加算されます 64 ビットのプリロード値の 1 ビットのみが 1 になります これは 64 ビット結果の任意の位置への DSP 結果の丸めとして使用することができます 前の累算結果に現在の結果を加算します この機能は現在の結果を 2 の補数に変換し 以前の結果に加算します 0 0 0 0 1 0 0 X 1 1 X 1

A10-DSP 2014.08. 固定小数点演算のシストリック レジスタ 3-15 機能説明 NEGATE LOADCONST ACCUMULATE Decimation + Chainout この機能は現在の結果を 2 の補数に変換し 以前の DSP ブロックの出力に加算します 固定小数点演算のシストリック レジスタ 1 0 0 各可変精度 DSP ブロックはそれぞれ 2 つのシストリック レジスタを有します 可変精度 DSP ブロックが固定小数点演算シストリック FIR モードでコンフィギュレーションされない場合 両方のシストリック レジスタがバイパスされます シストリック レジスタの最初のセットは 上位乗算器の ビット入力と 19 ビット入力をそれぞれ登録するために使用される ビットおよび 19 ビットのレジスタで構成されています シストリック レジスタの 2 番目のセットは 以前の可変精度 DSP ブロックからのチェインイン入力を遅延させるために使用されます また 出力レジスタとして 同じクロック ソースのすべてのシストリック レジスタをクロックする必要があります なお 出力レジスタはオンにしておく必要があります 固定小数点演算のダブル累算レジスタ ダブル累算レジスタは アキュムレータの パスにおける追加のレジスタです ダブル累算レジスタをイネーブルすると アキュムレータの パスにて追加のクロック サイクル遅延が生じます このレジスタは 出力レジスタ バンクと同じ CLK ENA および ACLR 設定を有します このレジスタをイネーブルすることによって 同じ数の可変精度 DSP ブロックを使用する 2 つのアキュムレータ チャネルを有することができます これはインタリーブした複雑なデータ (I Q) を処理する際に役立ちます 出力レジスタ バンク クロック信号のポジティブ エッジは 74 ビットのバイパス可能な出力レジスタ バンクをトリガし パワー アップ後にクリアされます 次の可変精度 DSP ブロック信号は 各可変精度 DSP ブロックの出力レジスタを制御します CLK[2..0] ENA[2..0] ACLR[1] 動作モードの説明 この項では 固定小数点演算および浮動小数点演算の動作モードを効果的にサポートするために Arria 10 の可変精度 DSP ブロックをコンフィギュレーションする方法を説明します

3-16 固定小数点演算の動作モード 表 3-11: 動作モード A10-DSP 2014.08. 固定小数点演算 独立乗算器モード Sum モード 独立複素数乗算器モード 36 ビット入力に加算する x 乗算モード シストリック FIR モード 浮動小数点演算 乗算モード 加算または減算モード 積和または積差モード 乗算累積モード ベクタ 1 モード ベクタ 2 モード ダイレクト ベクタ ドット積 複素数乗算 固定小数点演算の動作モード 独立乗算器モード 独立した入力および出力乗算器モードでは 可変精度 DSP ブロックは汎用乗算器の個別の乗算演算を実行します コンフィギュレーション ( 符号ありまたは符号なし )x ( 符号ありまたは符号なし ) ブロックごとの乗算器数 ( 符号ありまたは符号なし )x 19( 符号あり ) 2 27( 符号ありまたは符号なし )x 27( 符号ありまたは符号なし ) 2 1

A10-DSP 2014.08. x または x 19 独立乗算器 3-17 x または x 19 独立乗算器 図 3-6: Arria 10 デバイスの各可変精度 DSP ブロックにおける 2 つの x または x 19 独立乗算器 次の図で 変数は以下のように定義されています x 19 オペランドでは n = 19 および m = 37 x オペランドでは n = および m = 36 data_b1[(n-1)..0] data_a1[17..0] Variable-Precision DSP Block n x m [(m-1)..0] data_b0[(n-1)..0] data_a0[17..0] n x m [(m-1)..0] 27 x 27 独立乗算器 図 3-7: Arria 10 デバイスの各可変精度 DSP ブロックにおける 1 つの 27 x 27 独立乗算器モード このモードでは チェインアウト加算器またはアキュムレータと組み合わせた場合 result は最大 64 ビットになり得ます Variable-Precision DSP Block dataa_b0[26..0] dataa_a0[26..0] 27 27 x 54 Result[53..0]

3- 独立複素数乗算器 独立複素数乗算器 Arria 10 デバイスは 2 つの固定小数点演算 Sum モードを使用して x 19 複素数乗算器モードをサポートします 図 3-8: 複素数乗算式のサンプル A10-DSP 2014.08. 虚数部の [(a d) + (b c)] は 1 番目の可変精度 DSP ブロックに実装され 実数部の [(a c) - (b d)] は 2 番目の可変精度 DSP ブロックに実装されます

A10-DSP 2014.08. x 19 複素数乗算器 3-19 x 19 複素数乗算器 図 3-9: Arria 10 デバイスの 2 つの可変精度 DSP ブロックと 1 つの x 19 複素数乗算器 Variable-Precision DSP Block 1 c[..0] b[17..0] d[..0] 19 19 x + 38 Imaginary Part (ad+bc) a[17..0] x Variable-Precision DSP Block 2 d[..0] 19 x b[17..0] c[..0] 19-38 Real Part (ac-bd) a[17..0] x

3-20 Sum モード Sum モード 図 3-10: Arria 10 デバイスの 1 つの可変精度 DSP ブロックの 2 つの x 19 乗算器の和 A10-DSP 2014.08. SUB_COMPLEX dataa_y0[..0] Variable-Precision DSP Block 19 dataa_x0[17..0] x datab_y1[..0] 19 +/- 38 Result[37..0] x datab_x1[17..0] 36 ビット入力に加算する x 19 乗算モード Arria 10 の可変精度 DSP ブロックは 1 つの x 19 乗算を 36 ビット入力に加算することができます 下部の乗算器がバイパスされている間は 上位の乗算器を使用して x 19 乗算への入力を提供します datab_y1[17..0] 信号と datab_y1[35..] 信号は 36 ビット入力を生成するために連結されます 図 3-11: Arria 10 デバイスの 36 ビット入力に加算する x 19 乗算モード Variable-Precision DSP Block SUB_COMPLEX dataa_y0[17..0] 19 dataa_x0[17..0] datab_y1[35..] x +/- 37 Result[37..0] datab_y1[17..0] シストリック FIR モード FIR フィルタの基本構造は 加算によって繋がる乗算のシリーズで構成されています

A10-DSP 2014.08. 可変精度ブロック アーキテクチャ ビューへのシストリック モード ユーザー ビューのマッピング図 3-12: 基本的な FIR フィルタの式 3-21 タップの数や入力容量によって 多数の加算器のチェインを介する遅延は非常に大きくなることがあります 遅延性能の問題を解決するには タップごとに配置される追加の遅延要素でシストリック形式を使用して レイテンシの増加を代償に性能を向上させます 図 3-13: シストリック FIR フィルタの等価回路 y [ n ] w 1[ n ] w 2 [ n ] w k 1 [ n ] [ n w k ] c c 1 2 c k 1 c k x [ n ] Arria 10 の可変精度 DSP ブロックは 次のシストリック FIR 構造をサポートします ビット 27 ビット シストリック FIR モードでは 乗算器の入力はソースの 4 つの異なるセットから供給できます 2 つのダイナミック入力 1 つのダイナミック入力と 1 つの係数入力 1 つの係数入力と 1 つのプリアダー出力 1 つのダイナミック入力と 1 つのプリアダー出力 可変精度ブロック アーキテクチャ ビューへのシストリック モード ユーザー ビューのマッピング 次の図は レジスタをリタイミングし 加算器を再構築することにより Arria 10 の可変精度 DSP ブロック (d) を使用してシストリック FIR フィルタ (a) のユーザー ビューを実装できることを図示したものです レジスタ B は (b) に示されているようにチェインイン ataa_y0 お

3-22 ビットのシストリック FIR モード A10-DSP 2014.08. よび dataa_x0 入力パスでシストリック レジスタにリタイミングすることができます レジスタのリタイミングの最終結果は (c) に示されています 加算器の入力と位置の再構築による 2 つの乗算器の加算結果は (d) に示されているようにチェインアウト加算器によってチェインイン入力に加算されます 図 3-14: 可変精度ブロック アーキテクチャ ビューへのシストリック モード ユーザー ビューのマッピング (a) Systolic FIR Filter User View (b) Variable Precision Block Architecture View (Before Retiming) (c) Variable Precision Block Architecture View (After Retiming) (d) Variable Precision Block Architecture View ( Restructured) x[n] w1[n] dataa_y0 x[n] w1[n] dataa_y0 x[n] w1[n] dataa_y0 x[n] w1[n] c1 x[n-2] c2 x[n-4] c3 x[n-6] c4 w2[n] A w3[n] B w4[n] A y[n] dataa_x0 c1 datab_y1 x[n-2] datab_x1 c2 First DSP Block dataa_y0 x[n-4] dataa_x0 c3 datab_y1 x[n-6] datab_x1 c4 Second DSP Block w2[n] w3[n] w4[n] A Chainin from Previous DSP Block B y[n] Result Chainout Retiming C Result dataa_x0 c1 datab_y1 x[n-2] datab_x1 c2 First DSP Block dataa_y0 x[n-4] dataa_x0 c3 datab_y1 x[n-6] datab_x1 c4 Second DSP Block w2[n] Systolic s w4[n] A Chainin from Previous DSP Block B w3[n] y[n] Result Systolic Chainout C Result dataa_y0 x[n-4] dataa_x0 c1 datab_y1 x[n-2] First DSP Block dataa_x0 c3 datab_y1 x[n-6] datab_x1 c4 datab_x1 c2 Second DSP Block Systolic s w2[n] w4[n] w3[n] A Chainin from Previous DSP Block B y[n] Result Systolic Chainout C Result ビットのシストリック FIR モード ビットのシストリック FIR モードでは 加算器はデュアル 44 ビット加算器としてコンフィギュレーションされます そのため ビット動作 (36 ビット積 ) を使用する際 オーバーヘッドの 8 ビットを提供します これにより 合計で 256 の乗算器の積が可能になります

A10-DSP 2014.08. 27 ビットのシストリック FIR モード 3-23 図 3-15: Arria 10 デバイスの ビット シストリック FIR モード chainin[43..0] 44 イネーブルされると シストリック レジスタは出力レジスタ バンクとして同じクロック ソースでクロックされます Pre- Systolic dataa_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] 3 Pre- +/- +/- +/- Internal Coefficient Systolic s x x + Chainout adder or accumulator 44 Result[43..0] COEFSELB[2..0] 3 Internal Coefficient -bit Systolic FIR 44 chainout[43..0] 27 ビットのシストリック FIR モード 27 ビットのシストリック FIR モードでは チェインアウト加算器またはアキュムレータは 64 ビット動作にコンフィギュレーションされます また 27 ビットのデータ ( 54 ビット積 ) を使用する際 オーバヘッドの 10 ビットを提供します これにより 合計で 1,024 の乗算器の積が可能になります 27 ビット シストリック FIR モードでは DSP ブロックごとに 1 ステージのシストリック フィルタを実装することができます なお このモードではシストリック レジスタは不要です

3-24 浮動小数点演算の動作モード 図 3-16: Arria 10 デバイスの 27 ビット シストリック FIR モード A10-DSP 2014.08. chainin[63..0] 64 Pre- dataa_y0[25..0] dataa_z0[25..0] dataa_x0[26..0] COEFSELA[2..0] 26 26 27 3 Internal Coefficient 27 x +/- +/- + Chainout adder or accumulator 27-bit Systolic FIR 64 chainout[63..0] 浮動小数点演算の動作モード 単一の浮動小数点演算機能 1 つの浮動小数点演算 DSP は 次の機能を実行することができます 乗算モード 加算または減算モード 乗算累積モード 乗算モード このモードでは 基本的な浮動小数点乗算 (y*z) を適用することができます

A10-DSP 2014.08. 加算または減算モード 3-25 図 3-17: Arria 10 デバイスの乗算モード chainin[31:0] accumulate dataa_x0[31:0] dataa_y0[31:0] dataa_z0[31:0] result[31:0] chainout[31:0] 加算または減算モード このモードでは 基本的な浮動小数点加算 (x+y) または基本的な浮動小数点減算 (x-y) を適用することができます 図 3-: Arria 10 デバイスの加算または減算モード chainin[31:0] accumulate dataa_x0[31:0] dataa_y0[31:0] dataa_z0[31:0] result[31:0] chainout[31:0] 乗算累積モード このモードでは 以前の乗算結果との浮動小数点加算に続いて浮動小数点乗算を実行します { ((y*z) + acc) または ((y*z) - acc) }

3-26 複数の浮動小数点演算機能 図 3-19: Arria 10 デバイスの乗算累積モード A10-DSP 2014.08. chainin[31:0] accumulate dataa_x0[31:0] dataa_y0[31:0] dataa_z0[31:0] result[31:0] chainout[31:0] 複数の浮動小数点演算機能 複数の浮動小数点演算 DSP は 以下の機能を実行することができます チェインイン パラメータがオフの場合 単一の浮動小数点演算 DSP を使用する積和または積差モード ベクタ 1 モード ベクタ 2 モード ダイレクト ベクタ ドット積 複素数乗算 積和または積差モード このモードでは 浮動小数点加算または浮動小数点減算に続いて浮動小数点乗算を実行します { ((y*z) + x) または ((y*z) - x) } なお チェインイン パラメータを使用することにより マルチプル チェイン モードをイネーブルすることができます

A10-DSP 2014.08. ベクタ 1 モード 3-27 図 3-20: Arria 10 デバイスの積和または積差モード chainin[31:0] accumulate dataa_x0[31:0] dataa_y0[31:0] dataa_z0[31:0] result[31:0] chainout[31:0] ベクタ 1 モード このモードでは 以前の可変 DSP ブロックからのチェインイン入力との浮動小数点加算に続いて浮動小数点乗算を実行します 入力 x は直接チェインアウトに供給されます ( チェインアウト = x で 結果 = y*z + チェインイン ) 図 3-21: Arria 10 デバイスのベクタ 1 モード chainin[31:0] accumulate dataa_x0[31:0] dataa_y0[31:0] dataa_z0[31:0] result[31:0] chainout[31:0]

3-28 ベクタ 2 モード ベクタ 2 モード このモードでは 乗算結果が直接チェインアウトに供給される浮動小数点乗算を実行します 以前の可変 DSP ブロックからのチェインイン入力は出力結果として入力 x に加算されます ( チェインアウト = y*z で 結果 = x + チェインイン ) 図 3-22: Arria 10 デバイスのベクタ 2 モード A10-DSP 2014.08. chainin[31:0] accumulate dataa_x0[31:0] dataa_y0[31:0] dataa_z0[31:0] result[31:0] chainout[31:0] ダイレクト ベクタ ドット積 次の図では ダイレクト ベクタ ドット積は 以下の DSP モードを設定することによって複数の DSP ブロックで実装されています チェインイン パラメータがオンの積和および減算モード ベクタ 1 ベクタ 2

A10-DSP 2014.08. 複素数乗算 3-29 図 3-23: ダイレクト ベクタ ドット積 chainin[31:0] accumulate dataa_x0[31:0] J dataa_y0[31:0] I dataa_z0[31:0] result[31:0] IJ +KL Vector One chainout[31:0] accumulate AB + CD + EF + GH dataa_x0[31:0] H dataa_y0[31:0] G dataa_z0[31:0] chainin[31:0] result[31:0] Vector Two chainout[31:0] accumulate EF + GH dataa_x0[31:0] F dataa_y0[31:0] E dataa_z0[31:0] chainin[31:0] result[31:0] EF + GH Vector One chainout[31:0] accumulate AB + CD dataa_x0[31:0] D dataa_y0[31:0] C dataa_z0[31:0] chainin[31:0] result[31:0] AB + CD + EF + GH Vector Two chainout[31:0] accumulate dataa_x0[31:0] B dataa_y0[31:0] A dataa_z0[31:0] chainin[31:0] result[31:0] AB + CD Multi-Chain chainout[31:0] 複素数乗算 Arria 10 デバイスは 4 つの Arria 10 可変精度 DSP ブロックを使用して浮動小数点演算の単精度複素数乗算器をサポートします 図 3-24: 複素数乗算式のサンプル

3-30 複素数乗算 虚数部の [(a d) + (b c)] は最初の 2 つの可変精度 DSP ブロックに実装され 実数部の [(a c) - (b d)] は 2 番目の可変精度 DSP ブロックに実装されます 図 3-25: 実数結果の複素数乗算 A10-DSP 2014.08. chainin[31:0] accumulate dataa_x0[31:0] a dataa_y0[31:0] c dataa_z0[31:0] result[31:0] Multiplication Mode chainout[31:0] chainin[31:0] accumulate dataa_x0[31:0] b dataa_y0[31:0] d dataa_z0[31:0] Subtract result[31:0] Result Real Multiply-Add or Multiply-Subtract Mode chainout[31:0]

A10-DSP 2014.08. 改訂履歴 3-31 図 3-26: 虚数結果の複素数乗算 chainin[31:0] accumulate dataa_x0[31:0] a dataa_y0[31:0] d dataa_z0[31:0] result[31:0] Multiplication Mode chainout[31:0] chainin[31:0] accumulate dataa_x0[31:0] b dataa_y0[31:0] c dataa_z0[31:0] result[31:0] Result Imaginary Multiply-Add or Multiply-Subtract Mode chainout[31:0] 改訂履歴

3-32 改訂履歴 A10-DSP 2014.08. 日付バージョン変更内容 2014 年 8 月 2014.08. 浮動小数点演算を追加 可変精度 DSP ブロックの動作モードにダイナミック ACCUMULATE ダイナミック LOADCONST ダイナミック SUB ダイナミック NEGATE を追加 入力カスケード チェインに沿って上位遅延レジスタと下位遅延レジスタを追加 可変精度 DSP ブロック内のパイプライン レジスタを制御する可変精度 DSP ブロック信号を追加 同じ DSP ブロック内の両方のプリアダーが使用されている場合 プリアダーは同じ動作タイプ ( 加算または減算のいずれか ) を共有しなければならない という条件を追加 55 ビット加算器を更新 38 ビット加算器を追加 2 つの x 19 モード ( 加算器がバイパスされる ) を更新 Decimation を Decimation + Accumulate に更新 アキュムレータ機能とダイナミック コントロール信号に Decimation + Chainout を追加 ブロックごとの 1 つの乗算器に 27( 符号ありまたは符号なし ) x 27( 符号ありまたは符号なし ) コンフィギュレーションを追加 1 つの可変精度 DSP ブロックの 2 つの x 19 乗算の和のブロック図と 36 ビット入力に加算する 1 つの x 乗算モードのブロック図からチェインアウト加算器またはアキュムレータを削除 基本的な FIR フィルタの式を更新 可変精度ブロック アーキテクチャ ビューへのシストリック モード ユーザー ビューのマッピングを追加 27 ビットのシストリック FIR モードではシストリック レジスタは不要である旨を追加 2013 年 12 月 2013.12.02 初版