ultrascale アーキテクチャ dsp スഊラ イス ユーザー ガイド ...ultrascale...

73
UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.10) 2020 9 22 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に よっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきまし ては、必ず最新英語版をご参照ください。

Upload: others

Post on 10-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

UltraScale アーキテクチャ DSP スライス

ユーザー ガイド

UG579 (v1.10) 2020 年 9 月 22 日

この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。

Page 2: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

改訂履歴

次の表に、 この文書の改訂履歴を示します。

日付 バージョ ン 内容

2020 年 9 月 22 日 1.10 表 1-2 に VU23P と VU57P を追加。 表 2-11 で XOR24_48_96 の XOR 入力ビッ ト を更新。

図 4-6 で DSP スライスに遅延の要素を追加。

2019 年 9 月 20 日 1.9 表 1-2 に、 VU19P、 VU45P、 および VU47P を追加。

2019 年 5 月 14 日 1.8 「デバイス リ ソース」 で Tcl コマンドを更新し注記を追加。 表 1-2 で、 VU11P および VU13P デバイスの列を全体的に更新し、 VU27P、 VU29P、 VU31P、 VU33P、 VU35P、 およ

び VU37P デバイスを追加。

2018 年 6 月 4 日 1.7 図 5-3 の後に ALUMODE の説明を追加し、 表 5-1 を追加。 「加算器/減算器のみ」 の ALUMODE の設定を更新。

2018 年 4 月 5 日 1.6 図 2-2 で、 B 入力パス内の INMODE[4] で制御されるマルチプレクサーの上側の入力を、

B2 段の後の構成済み出力セレクシ ョ ンに接続。

2017 年 10 月 18 日 1.5 図 1-1 に P/C マルチプレクサーの出力を追加。 図 1-2 の後の段落で、 クロ ッ ク領域を越え

たカスケード接続についての説明を追加。 式 2-1 の後のリ ス トで X マルチプレクサーの入

力を更新。

2017 年 6 月 1 日 1.4 6 ページの 「UltraScale アーキテクチャの概要」 の 後の段落の UltraScale アーキテクチャ

に関する資料へのリ ンクを更新。 「パターン検出器」 で始まる、 箇条書き リ ス トで重複し

ている用語を削除。 8 ページの 「旧世代との違い」 の 後の段落を改訂。 表 1-2 を更新し、

KU3P の総数を変更、 KU7P を含む行を削除。 式 2-1 の後の 2 番目の箇条書きを更新。

表 2-1 の前置加算器/乗算器機能の欄を更新。 表 2-2 の乗算器 A および B ポートの欄を更

新。 34 ページの 「エンベデッ ド ファンクシ ョ ン」 の 初の文を改訂し、 エンベデッ ド ファンクシ ョ ン前置加算器を追加。 39 ページの 「オーバーフローおよびアンダーフロー ロジッ ク」 の 後に新しい段落を追加。 表 3-3 に IS_RSTINMODE_INVERTED、

IS_RSTM_INVERTED、 および IS_RSTP_INVERTED を追加。 このバージ ョ ンですべての数

値を差し替え。

2015 日 11 月 24 日 1.3 6 ページの 「UltraScale アーキテクチャの概要」 に UltraScale+ デバイスの概要を追加。

9 ページの 「デバイス リ ソース」 で、 第 1 段落を新たに追加して以前の第 1 段落を第 2 段落にし、 以前の第 2 段落を削除、 第 3 段落を新たに追加。 図 1-2 を更新。 表 1-1 および

表 1-2 を追加。 69 ページの 「MULTSIGNOUT と CARRYCASCOUT」 で、 第 5 段落にある CARRYINSEL を CARRYINSELREG に変更。 UltraScale+ デバイスへの参照を追加して 72 ページの 「参考資料」 を再編成および更新。

2015 年 1 月 12 日 1.2 表 1-2 を削除し、 9 ページ目に 『UltraScale アーキテクチャおよび製品データシート : 概要』 (DS890) への参照を追加。 表 2-2 の 3 行目の INMODE[3] の値を 0 から 0/1 に変更。 46 ペー

ジに 『Vivado Design Suite リ ファレンス ガイ ド : System Generator を使用したモデル ベース

の DSP デザイン』 (UG958) への参照を追加。46 ページと付録 A に、Vivado 高位合成のウェ

ブ ページへの参照を追加。 47 ページに 『UltraScale アーキテクチャ ライブラ リ ガイ ド』 (UG974) への参照を追加。 56 ページに UltraScale デバイス データシートへの参照を追加。

付録 A に、 Vivado 高位合成、 DSP ソ リ ューシ ョ ン、 Vivado ビデオ チュート リ アル、 およ

びザイ リ ンクス DSP ト レーニングの各ウェブ ページへの参照を追加。

UltraScale アーキテクチャ DSP48E2 スライス 2UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 3: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

2014 年 7 月 15 日 1.1 8 ページの 「SSI テク ノ ロジを使用したデバイス との違い」 を削除。 表 1-2 を追加。 図 2-5 に、 各入力を選択するために使用される、 マルチプレクサーの INMODE[0] の値を追加。

図 2-6 に、 各入力を選択するために使用される、 マルチプレクサーの INMODE[4] の値を

追加。 表 2-2 に注記 3 を追加。 第 2 章の 「DSP48E2 の動作モード」 を追加。 表 3-2 の「CEA1」、 「CEA2」、 「CEB1」、 「CEB2」、 および 「INMODE」 の説明を修正。 表 3-3 の「AREG」 および 「BREG」 の説明を修正。 「参考資料」 に [参照 7] および [参照 8] を追加。

2013 月 12 月 10 日 1.0 初版

日付 バージョ ン 内容

UltraScale アーキテクチャ DSP48E2 スライス 3UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 4: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

目次

改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

第 1 章: 概要UltraScale アーキテクチャの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6UltraScale アーキテクチャ DSP スライスの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7旧世代との違い . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8デバイス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9推奨デザイン フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

第 2 章: DSP48E2 の機能概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13DSP48E2 の機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14DSP48E2 スライスのアーキテクチャの特長 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17簡略化された DSP48E2 スライス動作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19DSP48E2 の動作モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

第 3 章: DSP48E2 のデザイン入力概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46DSP48E2 スライスのプリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

第 4 章: DSP48E2 の使用ガイド ライン概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56パフォーマンス向上のための設計 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56電力削減のための設計 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57加算器ツ リーと加算器カスケード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57DSP48E2 スライスのカラム間接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62DSP48E2 スライスの時分割多重化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62備考および推奨 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63前置加算器ブロッ クの用途 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64メモ リ マップされた I/O レジスタ アプリ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

第 5 章: カスケード接続: CARRYOUT、 CARRYCASCOUT、 および MULTSIGNOUT概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65CARRYOUT/CARRYCASCOUT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65MULTSIGNOUT と CARRYCASCOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69サマリ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

付録 A: その他のリソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71ソ リ ューシ ョ ン センター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Documentation Navigator およびデザイン ハブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

UltraScale アーキテクチャ DSP48E2 スライス 4UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 5: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

お読みください: 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

UltraScale アーキテクチャ DSP48E2 スライス 5UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 6: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 1 章

概要

UltraScale アーキテクチャの概要

ザイ リ ンクス UltraScale™ アーキテクチャは、 チップ上での効率的な配線とデータ処理だけでなく、 スマート プロ

セッシングによって数百ギガ ビッ ト /秒レベルのシステム性能を可能にする業界初の ASIC ク ラスのアーキテクチャ

です。 UltraScale アーキテクチャ デバイスは、 次世代配線、 ASIC 方式のクロ ッキング、 3D-on-3D IC、 マルチプロ

セッサ SoC (MPSoC) テク ノ ロジ、 新しい消費電力削減機能など、 業界 先端をいく革新的な技術によって高帯域幅、

高使用率の幅広いシステム要件に対応します。 これらのデバイスは多数の構築ブロッ クが共通となっているため、

異なるプロセス ノード間や製品ファ ミ リ間での拡張性に優れ、 複数のプラ ッ ト フォームに渡るシステム レベルでの

投資を可能にします。

Virtex® UltraScale+™ デバイスは、 も高いシ リ アル I/O 帯域幅と信号処理帯域幅、 大のオンチップ メモ リ集積度

など、 FinFET ノードで 高の性能と統合性を提供します。 業界で 高性能を誇る FPGA ファ ミ リの Virtex UltraScale+ デバイスは、 1Tb/s を超えるネッ ト ワークやデータセンターから、 完全統合型レーダー /早期警告システ

ムにいたるまで、 広範なアプリ ケーシ ョ ンに 適です。

Virtex UltraScale デバイスは、 シ リ アル I/O 帯域幅およびロジッ ク容量などにおいて、 20nm で 高の性能と統合性を

提供します。 20nm プロセス ノードで業界唯一のハイエンド FPGA となるこのデバイスは、 400G ネッ ト ワークから

大規模 ASIC のプロ ト タイピングやエミ ュレーシ ョ ンなどのアプリ ケーシ ョ ンに 適です。

Kintex® UltraScale+ デバイスは、 ト ランシーバー、 メモ リ インターフェイス ライン レート、 100G コネクティビティ コアなどのハイエンド機能を備えるこ とで もコス ト効率の高いソ リ ューシ ョ ンを可能にし、 FinFET ノードで も

優れた価格/性能/ワ ッ トのバランスを提供します。 この 新のミ ッ ドレンジ ファ ミ リは、 パケッ ト処理と DSP を多

用する機能に 適である と同時に、 ワイヤレス MIMO 技術、 Nx100G ネッ ト ワーク、 データセンターなど広範なア

プリ ケーシ ョ ンにも対応します。

Kintex UltraScale は、 20nm で 高の価格/性能/ワッ トのバランスを提供するデバイスで、 ミ ッ ド レンジ デバイス と し

て 高の信号処理帯域幅、 次世代ト ランシーバー、 適な対コス ト性能をもたらす低コス ト パッケージを提供しま

す。 このファ ミ リは、 100G ネッ ト ワークやデータセンター アプリ ケーシ ョ ンでのパケッ ト処理だけでなく、 次世代

の医療用画像処理、 8k4k ビデオ、 ヘテロジニアスなワイヤレス インフラなどで必要と される DSP 性能を重視するア

プリ ケーシ ョ ンにも 適です。

Zynq® UltraScale+ MPSoC デバイスは、 64 ビッ トのプロセッサ スケーラビ リティを実現しつつ、 リ アルタイム制御と

ソフ ト エンジンおよびハード エンジンを兼ね備えており、 グラフ ィ ッ クス、 ビデオ、 波形、 およびパケッ トの処理

に対応します。 高度な解析が可能な Arm® ベースのシステムと タスクのアクセラレーシ ョ ンが可能なオンチップ プログラマブル ロジッ クが統合されているため、 5G ワイヤレス、 次世代 ADAS、 インダス ト リ アル IoT など広範なア

プリ ケーシ ョ ンにおいて無限の可能性を引き出すこ とができます。

このユーザー ガイ ドでは、UltraScale アーキテクチャの DSP スライス リ ソースについて説明します。UltraScale アーキ

テクチャに関するその他の資料は、 ザイ リ ンクスのウェブサイ ト (japan.xilinx.com/documentation) から入手可能です。

UltraScale アーキテクチャ DSP48E2 スライス 6UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 7: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 1 章: 概要

UltraScale アーキテクチャ DSP スライスの概要

プログラマブル ロジッ ク デバイスはカスタマイズされた完全な並列アルゴ リズムをインプリ メン トできるため、 デ

ジタル信号処理 (DSP) アプリ ケーシ ョ ンに有効です。 DSP アプリ ケーシ ョ ンは、 専用の DSP リ ソースに 適に実装

された多数のバイナリ乗算器およびアキュムレータを使用します。 UltraScale デバイスは、 いずれも専用の低消費電

力 DSP スライスを数多く装備し、 システム設計の柔軟性を維持しながら、 高速処理と小型化を同時に実現していま

す。 DSP リ ソースは、 デジタル信号処理のほかにも多くのアプリ ケーシ ョ ンで速度と効率性を向上させます。 この

よ うなアプ リ ケーシ ョ ンには、 バス幅の広いダイナミ ッ ク シフター、 メモ リ アドレス ジェネレーター、 多ビッ トの

マルチプレクサー、 メモ リ マップされた I/O レジスタが含まれます。 UltraScale アーキテクチャの DSP スライスは DSP48E2 プリ ミ ティブによって定義され、 ザイ リ ンクス ツールでは DSP または DSP48E2 のいずれかの名称で呼ば

れます。 図 1-1 に、 DSP48E2 スライスの基本機能を示します。 全詳細は、 第 2 章 「DSP48E2 の機能」 を参照してく

ださい。

DSP スライスの主な機能は次のとおりです。

• ダイナミ ッ ク バイパス機能を備えた 27 x 18 の 2 の補数乗算器

• 低消費電力の 27 ビッ ト前置加算器: 対称フ ィルター アプリ ケーシ ョ ンを 適化し、 DSP のロジッ ク要件を緩和

します。

• 48 ビッ ト アキュムレータ : カスケード接続するこ とで 96 ビッ ト以上のアキュムレータ、 加算器、 カウンターを

構築できます。

• SIMD (単一命令複数データ ) 演算ユニッ ト : デュアル 24 ビッ ト またはクワッ ド 12 ビッ トの加算/減算/累算が可能

です。

• 48 ビッ トの論理ユニッ ト : ビッ ト単位 AND、 OR、 NOT、 NAND、 NOR、 XOR、 XNOR があ り ます。

• パターン検出器: ターミナル カウン ト、 オーバーフロー /アンダーフロー、 収束丸め/対称丸めのサポート、 論理

ユニッ ト との組み合わせによって 96 ビッ ト幅の AND/NOR を実現します。

• オプシ ョ ンのパイプライン レジスタ と専用バス : シス ト リ ッ ク FIR フ ィルターなどの階層/複合機能向けに複数

の DSP スライスを 1 カラムにカスケード接続する場合に使用します。

X-Ref Target - Figure 1-1

図 1-1: DSP48E2 の基本機能

48-Bit Accumulator/Logic Unit

Pattern Detector

27 x 18Multiplier

Pre-adder

B

A

D

C

P

XOR

PatternDetect=

+

X16750-082917

UltraScale アーキテクチャ DSP48E2 スライス 7UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 8: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 1 章: 概要

DSP48E2 スライスはダイナミ ッ ク OPMODE とカスケード機能によって、 シーケンシャル、 カスケードの両方の演算

をサポート します。 DSP スライスには次のよ うなアプリ ケーシ ョ ンがあ り ます。

• 固定小数点および浮動小数点の高速フーリエ変換 (FFT) 機能

• シス ト リ ッ ク FIR フ ィルター

• マルチレート FIR フ ィルター

• CIC フ ィルター

• 多ビッ トの実数/複素乗算器/アキュムレータ

旧世代との違い

UltraScale アーキテクチャの DSP48E2 スライスは、7 シ リーズ FPGA の DSP48E1 スライスに対して下位互換性が保た

れています。 DSP48E2 スライスは実質的に DSP48E1 スライスの上位セッ トであ り、 次の変更点があ り ます。

• DSP48E1 ファンクシ ョ ンの幅の拡張

° 乗算器の幅を DSP48E1 の 25 x 18 から DSP48E2 では 27 x 18 に拡張

° 前置加算器を 25 ビッ トから 27 ビッ トに拡張

- 前置加算器の D 入力とレジスタを 27 ビッ トに拡張

- 前置加算器の AD レジスタ結果を 27 ビッ トに拡張

• 前置加算器の柔軟性向上

° 前置加算器の入力と して A または B を選択可能

° 前置加算器の出力を 2 乗する機能

• WMUX による ALU の第 4 オペランド追加

° 乗算器の 2 つの部分積によ り、 さ らに 2 つの入力オペランドの追加をサポート (DSP48E1 では 1 つのみ)

° 2 段目で 4 オペランド加算が可能

° メモ リ セル ベースの丸め定数を追加し、 A x B + C + RND ファンクシ ョ ンの C 入力を解放

° WMUX はアキュムレータのフ ィードバッ クパスを追加し、 複素数積和 (MACC) またはセ ミパラレル FIR フ ィルターのサイズを縮小

• X、 Y、 Z マルチプレクサーの多ビッ ト XOR

° 1 段目の 48 個の 3 ビッ ト XOR からオクタル 12 ビッ ト XOR、クワ ッ ド 24 ビッ ト XOR、デュアル 48 ビッ ト XOR、 シングル 96 ビッ ト XOR を構成する XOR ツ リーへの入力

° 多ビッ ト XOR モードで 2 つの DSP48E2 スライスをカスケード接続し、オクタル 24 ビッ ト XOR、 クワ ッ ド 48 ビッ ト XOR、 デュアル 96 ビッ ト XOR、 シングル 192 ビッ ト XOR を構成。 カスケードの深さは DSP のカラム サイズによって制限される。

° 単一の DSP48E2 で XOR 累算フ ィードバッ クを介してよ り多ビッ トの XOR を連続して構築し、 ク ロ ッ ク サイクルごとの XOR 幅を 96 ビッ トに拡張

• DSP48E2 固有の機能

° リセッ ト入力にプログラム可能な反転を追加して柔軟性を向上

° P レジスタ内のカウンター /アキュムレータの自動リセッ ト よ り も ク ロ ッ ク イネーブルの優先度を高く設定

可能

UltraScale アーキテクチャ DSP48E2 スライス 8UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 9: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 1 章: 概要

DSP48E2 ブロ ッ クは符号付きの演算インプリ メンテーシ ョ ンを使用します。 HDL ソースでは、 リ ソースの性能と

適に整合し、 通常は も効率的なマッピングを実現するために符合付きの値を使用してコードを記述するこ とを推

奨します。 7 シ リーズ FPGA の 25 x 18 乗算器向けに作成されたデザインは、 UltraScale アーキテクチャの 27 x 18 乗算器向けに符号拡張しなければならない場合があ り ます。 移行および設計手法の詳細は、 『UltraScale アーキテク

チャへの移行設計手法ガイ ド』 (UG1026) [参照 1] を参照してください。 カスケード接続した DSP スライスを多数含

むデザインを移行する場合は、 新しいターゲッ ト デバイスにおけるカラムあたりの DSP スライス数に注意してくだ

さい。

デバイス リソース

DSP リ ソースは UltraScale ポート フォ リオで 適化されており、 異なる リ ソース量のデバイスがスケーラブルに用意

されています。 アーキテクチャは共通のため、 インプリ メンテーシ ョ ンの効率、 IP インプリ メンテーシ ョ ン、 デザ

イン移行が改善されます。 UltraScale ファ ミ リ間の移行では、 DSP48E2 スライスに対するデザイン変更は不要です。

DSP の各タイルは、 2 つの DSP48E2 スライス と専用のインターコネク トで構成されています (図 1-2 参照)。DSP タイ

ルは、 DSP48E2 のカラム内で垂直方向に積み重なり ます。 DSP タイルの高さは、 コンフ ィギャラブル ロジッ ク ブロ ッ ク (CLB) 5 個分または 36K ブロッ ク RAM 1 個分の高さ と同じです。 ブロ ッ ク RAM は、 2 つの 18K ブロッ ク RAM に分割できます。 DSP48E2 スライスは、 18K ブロ ッ ク RAM と水平方向に整列して配置されるため、 リ ソース

間の接続が 適化されます。

各クロ ッ ク領域の DSP48E2 カラムの高さは 12 個のタイル分に相当し、各クロ ッ クには 24 個の DSP48E2 スライスが

含まれます。 各カラムのクロ ッ ク領域の数は、 Vivado [Device] ビュー、 『UltraScale アーキテクチャおよび製品データ

シート : 概要』 (DS890) [参照 2]、または 『UltraScale および UltraScale+ FPGA パッケージおよびピン配置ユーザー ガイ

ド』 (UG575) [参照 3] に記載のバンク図で確認できます。 DSP48E2 スライスは、 複数のクロ ッ ク領域にまたがってデ

バイスの境界まで、または SSI テク ノ ロジを採用した 3D IC の場合は SLR (Super Logic Region) の境界までカスケード

接続できます。 UltraScale+ 低電圧デバイス (VCCINT = 0.72V) では、 クロ ッ ク領域をまたがるカスケード接続は性能に

影響を与える可能性があ り ます。 1 つのカラムでカスケード接続が可能な DSP48E2 スライスの数は、次の Tcl コマン

ドで確認できます。

llength [get_sites DSP48E2_X3Y* -of_objects [get_slrs SLR0]]

注記: 大数は、 DSP カラム (PS によって DSP カスケードの高さが制限される場合) および SLR (HBM インターフェ

イスがある場合とない場合での SLR) の条件によって減少する場合があ り ます。

X-Ref Target - Figure 1-2

図 1-2: DSP タイル

CLB

s \ I

nter

conn

ect

36K Block RAM

18K Block RAM

18K Block RAM

DSP48E2 Slice

DSP48E2 Slice

X16751-042617

UltraScale アーキテクチャ DSP48E2 スライス 9UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 10: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 1 章: 概要

表 1-1 に、 UltraScale FPGA のカラム内で垂直方向に直接カスケード接続可能な DSP48E2 スライスの 大数と DSP48E2 スライスの総数を示します。

表 1-2 に、 UltraScale+ FPGA についての同様の情報を示します。

表 1-1: UltraScale FPGA でカスケード接続可能な DSP スライスの最大数

カスケード接続可能な最大数 総数

Kintex UltraScale

KU025 72 1,152

KU035 120 1,700

KU040 120 1,920

KU060 120 2,760

KU085 120(1) 4,100

KU095 192 768

KU115 120 5,520

Virtex UltraScale

VU065 120 600

VU080 192 672

VU095 192 768

VU125 120 1,200

VU160 120(2) 1,560

VU190 120 1,800

VU440 120 2,880

注記:1. KU085 の SLR1 でカスケード接続可能なスライスの 大数は 96 です。

2. VU160 の SLR0 でカスケード接続可能なスライスの 大数は 96 です。

表 1-2: UltraScale+ FPGA でカスケード接続可能な DSP スライスの最大数

カスケード接続可能な最大数 総数

Kintex UltraScale+

KU3P 96 1,368

KU5P 96 1,824

KU9P 168 2,520

KU11P 192 2,928

KU13P 168 3,528

KU15P 264 1,968

Virtex UltraScale+

VU3P 120 2,280

VU5P 120 3,474

VU7P 120 4,560

VU9P 120 6,840

UltraScale アーキテクチャ DSP48E2 スライス 10UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 11: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 1 章: 概要

推奨デザイン フロー

DSP デザインの多くは UltraScale アーキテクチャ デバイスに十分適しています。 このアーキテクチャを活用するに

は、 その基盤となる機能や性能を理解し、 これらの リ ソースのメ リ ッ ト を 大限引き出すデザイン入力コードを作

成する必要があ り ます。 DSP48E2 リ ソースは、 ほとんどの DSP ファンクシ ョ ンと多くの演算ファンクシ ョ ンに自動

的に使用されます。 通常、 DSP リ ソースは推論による実装が適しています。 DSP48E2 スライスが適切に推論される

よ うに、 使用する合成ツールのマニュアルに記載されたガイ ド ラインを参照してください。 DSP48E2 プリ ミ ティブ

のインスタンシエーシ ョ ンを使用し、 特定の機能に直接アクセスできます。 DSP48E2 スライスを使用する際の推奨

事項は、 次のとおりです。

• HDL ソースで符号付きの値を使用する

• 性能向上と消費電力低減のため、 DSP48E2 スライス とプログラマブル ロジッ クの両方でパイプライン化する

• フ ィルター係数の格納場所には、 コンフ ィギャラブル ロジッ ク ブロ ッ ク (CLB) のシフ ト レジスタ LUT (SRL)、CLB 分散 RAM、 ブロ ッ ク RAM のすべて、 またはいずれかを使用する

• 加算器または論理ユニッ トのみを使用する場合は、 消費電力削減のために USE_MULT を NONE に設定する

• 性能の 大化および消費電力の 小化のため、 カスケード接続には汎用インターコネク トではなく専用リ ソー

スを使用し、 使用するカラムは 1 つに留める

• 低速アプリ ケーシ ョ ンで リ ソースが限られている場合は時分割多重化を検討する

• 小規模な乗算器、 加算器、 およびカウンターは CLB キャ リー ロジッ クを使用して実装する

設計手法の詳細は、 第 4 章 「DSP48E2 の使用ガイ ド ラ イン」 を参照してください。

VU11P 96 9,216

VU13P 96 12,288

VU19P 120 3,840

VU23P 264 1,320

VU27P 96 9,216

VU29P 96 12,288

VU31P 90 2,880

VU33P 90 2,880

VU35P 96 5,952

VU37P 96 9,024

VU45P 96 5,952

VU47P 96 9,024

VU57P 96 9,024

表 1-2: UltraScale+ FPGA でカスケード接続可能な DSP スライスの最大数 (続き)

カスケード接続可能な最大数 総数

UltraScale アーキテクチャ DSP48E2 スライス 11UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 12: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 1 章: 概要

ピン配置の計画

DSP48E2 スライスはデバイス全体に分散されるため、 DSP の使用法はピン配置にほとんど影響を与えません。 イン

プ リ メンテーシ ョ ンの要件に基づいてツールに DSP48E2 と I/O の配置を決定させるが 良の方法です。 その結果に

対して、 ボード レイアウ トの検討時に必要な変更を加えます。 ただし、 デザイン要件を満たすためにツールが 適

の位置に I/O を配置できるよ うに、 タイ ミ ング制約を設定する必要があ り ます。 DSP を構成する方向に関してただ 1 つ注意すべき点は、 DSP48E2 スライスのカスケード接続はカラム方向に垂直に積み上げる という こ とです。 これ

によって I/O を含むほかのロジッ クに向かって垂直方向に幅の広いバスを駆動できます。 I/O カラムは通常、

DSP48E2 スライスの 6 個分と同じ垂直スペースに 13 本の I/O を提供します。各クロ ッ ク領域の高さは 52 本の I/O と 12 個の DSP タイル (24 DSP スライス) と して定義されます。

UltraScale アーキテクチャ DSP48E2 スライス 12UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 13: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章

DSP48E2 の機能

概要

この章では DSP48E2 エレ メン トについて技術的に詳し く解説します。 DSP48E2 スライスは、 27 ビッ トの前置加算

器、 27 x 18 乗算器、 後置加算器/減算器、 アキュムレータまたは論理ユニッ ト と して機能する柔軟な 48 ビッ ト ALU から構成されます (図 2-1 参照)。

X-Ref Target - Figure 2-1

図 2-1: DSP48E2 の機能の詳細

*These signals are dedicated routing paths internal to the DSP48E2 column. They are not accessible via general-purpose routing resources.

X

17-Bit Shift

17-Bit Shift

0

Y

Z

0

0RND

48

48

4

48

BCIN* ACIN*

OPMODE

PCIN*

MULTSIGNIN*

PCOUT*CARRYCASCOUT*

MULTSIGNOUT*

CREG/C Bypass/Mask

CARRYCASCIN*

CARRYIN

CARRYINSEL

A:B

ALUMODE

B

A

C

M

PP

C

MULT27 X 18

W

18

30

3

PATTERNDETECT

PATTERNBDETECT

CARRYOUT

XOR OUT

4

8

9

48

48

30

18

5

D 27

27

INMODE

BCOUT* ACOUT*

18

30

4 2

3018

Dual B Register

Dual A, D,and Pre-adder

180

U

V

1

X16752-042617

UltraScale アーキテクチャ DSP48E2 スライス 13UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 14: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

DSP48E2 は多くの独立した機能をサポート します。 次のよ うな機能があ り ます。

• 乗算

• 累積乗算 (MACC)

• 乗算加算

• 4 入力加算

• バレル シフ ト

• 多ビッ ト マルチプレクサー

• マグニチュード コンパレータ

• ビッ ト単位のロジッ ク ファンクシ ョ ン

• 多ビッ ト XOR

• パターン検出

• 多ビッ トのカウンター

さらに、 複数の DSP48E2 スライスをカスケード接続できるアーキテクチャによって、 多ビッ トの数値演算や DSP フ ィルター、 および複素数演算にも、 汎用のロジッ クを使用せずに対応できます。

DSP48E2 の機能

DSP48E2 スライスの機能は次のとおりです。

• D レジスタを持つ 27 ビッ トの前置加算器で A または B パスの性能を拡張

• 前置加算入力と して A または B を選択できるため、 よ り多ビッ トの乗算係数を使用可能

• 前置加算器の結果を乗算器の両入力に接続できるため、 2 乗計算が可能

• 乗算 (A*B) と加算 (A+B) の動的な切り替え時に、 INMODE 制御によるパイプラインのバランス調整が可能

• 27 x 18 乗算器

• 30 ビッ ト A 入力の下位 27 ビッ トは乗算器の A 入力へ送信され、 全 30 ビッ ト入力は 48 ビッ ト A:B 連結内部バ

スの上位 30 ビッ ト を形成する

• A 入力と B 入力のカスケード接続

° 直接パスおよびカスケード パスにおいてパイプライン化を選択可能

° 2 段構成の A および B 入力レジスタにそれぞれ専用のクロ ッ ク イネーブルがあ り、 個別にレジスタを有効

化できる

• 独立型 C 入力および C レジスタ (専用リセッ ト と ク ロ ッ ク イネーブル付き )

• 内部カスケード信号の CARRYCASCIN と CARRYCASCOUT を使用し、 2 つの DSP48E2 スライスで 96 ビッ トの

アキュムレータ /乗算器/減算器、 および複数の DSP のカスケード接続をサポート

• OPMODE が設定可能な MULTSIGNIN および MULTSIGNOUT 内部カスケード信号で、 96 ビッ ト MACC への拡

張が可能

UltraScale アーキテクチャ DSP48E2 スライス 14UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 15: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

• 4 入力加算器/減算器に単一命令複数データ (SIMD) モードを使用し、 1 段目の乗算器の使用を不要にする

° 2 つの独立 CARRYOUT 信号付きデュアル 24 ビッ ト SIMD 加算器/減算器/アキュムレータ

° 4 つの独立 CARRYOUT 信号付きクワッ ド 12 ビッ ト SIMD 加算器/減算器/アキュムレータ

• 48 ビッ トの論理ユニッ ト

° ビッ ト単位ロジッ ク動作 - 2 入力 AND、 OR、 NOT、 NAND、 NOR、 XOR、 および XNOR

° ALUMODE を使用して動的に選択可能なユニッ ト モード

• 8 個の 12 ビッ ト XOR から 1 個の 96 ビッ ト XOR まで選択可能な 96 ビッ ト幅 XOR ロジッ ク

• パターン検出器

° オーバーフロー /アンダーフロー

° 収束丸め

° ターミナル カウン ト検出と自動リセッ ト (自動リセッ ト よ り も ク ロ ッ ク イネーブルを優先する設定が可能)

• 48 ビッ トの P バスのカスケード接続によ り、 低消費電力の内部加算器カスケードをサポート : 48 ビッ トの P バスによ り、 12 ビッ ト クワ ッ ドまたは 24 ビッ ト デュアル SIMD 加算器をサポート可能

• オプシ ョ ンの 17 ビッ ト右方向シフ トで、 大規模な乗算器を構築可能

• ダイナミ ッ ク ユーザー制御型の動作モード

° 9 ビッ トの OPMODE 制御バスによ り、 W、 X、 Y、 および Z マルチプレクサーへ選択信号が送られる

° 5 ビッ トの INMODE 制御バスによ り、 2 段構成の A および B レジスタ、 前置加算器の加算/減算制御、 前置

加算器のマルチプレクサー機能に使用するマスク ゲートの選択が可能

° 4 ビッ トの ALUMODE 制御バスによ り、 論理ユニッ ト ファンクシ ョ ンとアキュムレータの加算/減算制御を

選択

• 2 段目の加算器へのキャ リーイン

° 丸め

° 大規模な加算器/減算器

° 3 ビッ ト CARRYINSEL マルチプレクサー

• 2 段目の加算器へのキャ リーアウ ト

° 大規模な加算器/減算器

° 各 SIMD 加算器で利用可能 ( 大 4)

° CARRYCASCOUT および MULTSIGNOUT のカスケード接続で、 96 ビッ ト MACC への拡張が可能

• 単一クロ ッ クで同期動作

• オプシ ョ ンの入力、 パイプライン、 および出力/累算レジスタ

• 制御信号 (OPMODE、 ALUMODE、 CARRYINSEL) 用のオプシ ョ ン レジスタ

• 独立したクロ ッ ク イネーブルおよび極性をプログラムできる同期リセッ トによ り柔軟性を強化

• 内部乗算器や XOR ロジッ クをゲート遮断するこ とで未使用時の消費電力を低減

UltraScale アーキテクチャ DSP48E2 スライス 15UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 16: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

DSP スライスは 1 つの乗算器と、 それに後置する 1 つのアキュムレータで構成されています。 乗算と積和のどちら

の演算についても、 フル スピードで処理するには 3 つ以上のパイプライン レジスタが必要です。 1 段目の乗算演算

で 2 つの部分積が生成され、 2 段目でその部分積の和を求めます。

乗算器内にレジスタが 1 つまたは 2 つしかない場合は、 消費電力削減と性能向上のため、 常に M レジスタを使用す

る必要があ り ます。

加算/減算と論理ユニッ ト演算をフル スピードで実行するには、少なく と も 2 つ (入力と出力) のパイプライン レジス

タが必要です。

DSP スライスのカスケード接続によって、 加算器ツ リーの代わりに加算器カスケード上にパイプライン化した高速

フ ィルターを、 きわめて効率的にインプリ メン トできます。

マルチプレクサーは OPMODE、 ALUMODE、 CARRYINSEL などの制御信号によって動的に制御されるため、 非常

に柔軟な制御が可能になっています。 レジスタ とダイナミ ッ ク動作モードを採用したデザインは、 乗算器の組み合

わせに比べ、 DSP スライスの機能を活用する上で適しています。

一般的に、 DSP スライスはダイナミ ッ ク OPMODE とカスケード機能によって、 シーケンシャル、 カスケードの両方

の演算をサポート します。 DSP スライスの用途と しては、 高速フーリエ変換 (FFT) や浮動小数点演算、 四則演算 (乗算、 加算/減算、 除算)、 カウンター、 大きなバス マルチプレクサーなどが挙げられます。

その他には、 同期リセッ ト 、 ク ロ ッ ク イネーブル、 デュアル A 入力パイプライン レジスタ、 パターン検出、 論理ユ

ニッ ト機能、 SIMD (単一命令複数データ ) 機能、 および MACC と加算器/アキュムレータの 96 ビッ ト拡張などがあ り

ます。 また、 DSP スライスは収束丸めと対称丸め、 ターミナル カウン ト検出とカウンターの自動リセッ ト、 および

シーケンシャル アキュムレータのオーバーフロー /アンダーフロー検出をサポート します。 96 ビッ ト幅の XOR ファ

ンクシ ョ ンは、 8 個の 12 ビッ ト幅 XOR、 4 個の 24 ビッ ト幅 XOR、 2 個の 48 ビッ ト幅 XOR と してインプ リ メン トで

きます。

UltraScale アーキテクチャ DSP48E2 スライス 16UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 17: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

DSP48E2 スライスのアーキテクチャの特長

DSP48E2 スライス内には、 A および B レジスタの後に 27 ビッ トの入力ベクターを持つ前置加算器があ り ます。 この

入力ベクターは D レジスタ と呼ばれ、 前置加算器のレジスタ と して使用できるほか、 乗算器への代替入力と しても

使用可能です。 図 2-2 に、 DSP48E2 固有の機能を示します。

X-Ref Target - Figure 2-2

図 2-2: DSP48E2 スライスの入力レジスタと前置加算器の階層図

CARRYCASCIN*

X

17-Bit Shift

17-Bit Shift

0

Y

Z

0

0RND

48

48

4

48

BCIN* ACIN*

OPMODE

PCIN*

MULTSIGNIN*

PCOUT*CARRYCASCOUT*

MULTSIGNOUT*

CREG/C Bypass/Mask

CARRYIN

CARRYINSEL

A:B

ALUMODE

B

A

C

M

PP

C

MULT27 X 18

W

18

30

3

PATTERNDETECT

PATTERNBDETECT

CARRYOUT

XOR OUT

4

8

9

48

48

30

18

27

27

BCOUT* ACOUT*

18

30

3018

5

D

INMODE

4 2

180

U

V

1

+–

A

D

30A1ACIN

27

27

ACOUT

X MUX30

30

2727 INMODE[2]

INMODE[3]

INMODE[0]

INMODE[1]A

D

A2

AD

CEA1 RSTA

CED RSTD

CEA2 RSTA

CEAD RSTD

PREADDINSEL

B2B1

AMULTSEL18

A2A1

PREADD_AB

AD_DATA

B18

B1BCIN

BCOUT

X MUX18

18

18

INMODE[4]

B MULTB2 INMODE[1]B

AD_DATA

BMULTSEL

B2B1

CEB1 RSTB CEB2 RSTB

Dual A, D,and Pre-adder

Dual B Register

X16753-030618

UltraScale アーキテクチャ DSP48E2 スライス 17UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 18: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

各 DSP48E2 スライスには、 2 入力乗算器、 マルチプレクサー、 および 4 入力の加算器/減算器/アキュムレータが、 こ

の順番に配置されています。 DSP48E2 乗算器は非対称入力があ り、 18 ビッ トおよび 27 ビッ トの 2 の補数オペランド

を受信します。 この乗算器では、 2 つの部分積で構成される 45 ビッ トの 2 の補数を出力します。 これらの部分積は X および Y マルチプレクサーでそれぞれ 48 ビッ トへ符号拡張され、 4 入力加算器へ送信されて 終的に合算されま

す。 この結果は、 45 ビッ トの乗算出力とな り、 48 ビッ トに符号拡張されます。 つま り、 乗算器が使用される場合、

加算器は事実上 3 入力加算器となり ます。

USE_MULT 属性を NONE に設定し、 OPMODE を適切に設定するこ とで乗算器をバイパスする と、 2 段目の加算器/減算器には 48 ビッ トの 2 の補数値が 4 つ入力され、 48 ビッ トの 2 の補数結果が 1 つ出力されます。 SIMD モードの

場合、 48 ビッ ト加算器/減算器は CARRYOUT ビッ ト を使用して、 デュアル 24 ビッ ト またはクワ ッ ド 12 ビッ ト SIMD 演算が可能です。 このコンフ ィギュレーシ ョ ンは、 ダイナミ ッ ク制御信号の ALUMODE によ り、 2 つの 48 ビッ ト 2 進数 (特殊な XOR3 の場合は 3 つの 48 ビッ ト 2 進数) に対するビッ ト単位の論理演算もサポート します。

DSP48E2 カラム内で DSP48E2 スライスをカスケード接続する と、 よ り高いレベルの DSP 機能が可能になり ます。

2 つのデータパス (ACOUT、 BCOUT)、 および DSP48E2 スライス出力 (PCOUT、 MULTSIGNOUT、CARRYCASCOUT) がカスケード接続可能です。 データパスのカスケード接続は、 フ ィルター デザインで活用されま

す。 たとえば、 有限インパルス応答 (FIR) フ ィルター デザインは、 カスケード入力を使用して一連の入力データ サンプルを包括し、 カスケード出力を使用して部分的な出力結果をまとめあげます。 カスケード接続は FPGA ファブ

リ ッ クの一般配線を使用しないため、 高性能かつ低消費電力な DSP フ ィルター機能が構築されます。

C 入力によ り、 3 入力加算器や加算器付き 2 入力乗算器などの多くの 3 入力演算機能を構築できます。 このファンク

シ ョ ンのサブセッ トは、 0 または無限大の方向への対称丸め乗算をサポート します。 C 入力にパターン検出機能を組

み合わせる と、 収束丸めもサポート されます。

高精度演算の場合、 DSP48E2 スライスは 17 ビッ ト分右方向へシフ ト します。 これによ り、 1 つの DSP48E2 スライス

から出力される部分積は右揃いになり、 隣接する DSP48E2 スライスで算出された部分積へ加算されます。 この手法

が使用できるため、 大規模な乗算器を構築する場合は、 DSP48E2 スライスが使用されます。

入力オペランド、 中間積、 およびアキュムレータ出力のプログラム可能なパイプラインは、 スループッ ト を向上し

ます。 48 ビッ ト内部パス (PCOUT/PCIN) によ り、 単一カラム内に DSP スライスを集合させるこ とが可能です。 複数

カラムにまたがる場合は、 CLB ロジッ クが必要になり ます。

DSP48E2 スライスの出力にあるパターン検出器は、 収束丸め、 オーバーフロー /アンダーフロー、 ブロ ッ ク浮動小数

点、 およびアキュムレータ ターミナル カウン ト (カウンター自動リセッ ト ) をサポート します。 パターン検出器は、

マスク制限されたパターンと DSP48E2 スライス出力が一致しているか検出します。

UltraScale アーキテクチャ DSP48E2 スライス 18UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 19: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

簡略化された DSP48E2 スライス動作

DSP48E2 スライスの演算部分は、 27 ビッ トの前置加算器、 27 x 18 ビッ トの 2 の補数乗算器があ り、 その後に 4 つの 48 ビッ ト データパス マルチプレクサー (W、 X、 Y、 および Z 出力) があ り ます。 さ らに、 4 入力の加算器/減算器ま

たは 2 入力論理ユニッ トが配置されています (図 2-4 参照)。 2 入力論理ユニッ ト を使用する場合、 乗算器は使用でき

ません。

DSP48E2 スライスのデータおよび制御入力は、 演算およびロジッ ク段へと送信されます。 A および B データ入力は、

オプシ ョ ンで 1 つまたは 2 つのレジスタを使用できるため、 パイプライン段数の多い DSP アプリ ケーシ ョ ン ソリ ューシ ョ ンに有効です。 D パスと AD パスはそれぞれ 1 回レジスタに保持できます。 その他のデータ入力および制

御入力は、オプシ ョ ンと して 1 つのレジスタを使用できます。『UltraScale および UltraScale+ デバイス データシート 』 [参照 2] に記載された 大周波数で動作させるには、 パイプライン レジスタを使用します。

基本的に、 加算器/減算器/論理ユニッ トの出力は、 その入力のファンクシ ョ ンです。 入力は、 上位マルチプレク

サー、 キャ リー セレク ト ロジッ ク、 および乗算アレイで駆動されます。

式 2-1 に、 加算器/減算器による W、 X、 Y、 Z と CIN の組み合わせを示します。 CIN、 W マルチプレクサー出力、 X マルチプレクサー出力、 および Y マルチプレクサー出力は常に合算されます。 この結果を、 Z マルチプレクサー出

力と加算または減算できます。 減算に使用するには、 ALUMODE を 0001 に設定します。

加算器/減算器出力 = (Z ± (W + X + Y + CIN)) または (-Z + (W + X + Y + CIN) – 1) 式 2-1

A および B 入力が乗算されて結果が C レジスタへ加算される、 または結果が C レジスタから減算される という ファ

ンクシ ョ ン構築にこのスライスが使用されています。 制御およびデータ入力に関する詳細は、 このセクシ ョ ンの後

半で説明します。 乗算器ファンクシ ョ ンを選択する と、 X および Y マルチプレクサー出力の両方を使用して加算器

へ送信されます。 乗算器から出力された 2 つの 45 ビッ ト部分積は、 加算器/減算器へ送信される前に 48 ビッ トへ符

号拡張されます。

1 段目の乗算器を使用しない場合、 48 ビッ トのデュアル入力ビッ ト単位のロジッ ク ファンクシ ョ ンは、 AND、 OR、NOT、 NAND、 NOR、 XOR、 および XNOR を実行します。 これらのファンクシ ョ ンへの入力は次のとおりです。

• W マルチプレクサーにはすべて 0

• X マルチプレクサーには A:B または P

• Y マルチプレクサーには論理演算に応じてすべて 1 またはすべて 0

• Z マルチプレクサーには C、 P、 PCIN のいずれか

PCIN は下位 DSP スライスからのカスケード入力であるため、 このカスケード パスを使用してさ らに多ビッ トの論

理演算も作成可能です。 Y マルチプレクサーで C 入力を選択し、 ALUMODE[3:0] = 0100 と した場合、 48 ビッ ト、

3 入力のビッ ト単位 XOR3 論理演算がサポート されます。

加算器/減算器または論理ユニッ トの出力は、 パターン検出ロジッ クへ送信されます。 DSP48E2 スライスは、 このパ

ターン検出器によって、 カウン トが 大値に達したと きの収束丸めやカウンター自動リセッ ト、 およびアキュム

レータでのオーバーフロー /アンダーフロー /飽和をサポート します。 パターン検出器と論理ユニッ ト を組み合わせ

る と、 2 つの 48 ビッ ト フ ィールドの 48 ビッ トのダイナミ ッ ク比較が実行可能になり ます。 これによ り、 「A:B NAND C = = 0」 または 「A:B (ビッ ト単位ロジッ ク ) C = = インプリ メン ト されるパターン」 という ファンクシ ョ ンが

有効になり ます。

UltraScale アーキテクチャ DSP48E2 スライス 19UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 20: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

図 2-3 に、 DSP48E2 スライスの簡略図を示します。 9 ビッ トの OPMODE が W、 X、 Y、 および Z マルチプレクサー

の選択を制御し、 加算器/減算器または論理ユニッ トへの入力へ接続します。 乗算器から X、 Y、 および Z マルチプ

レクサーへ渡される 45 ビッ トの部分積データは符号拡張され、 48 ビッ ト入力データパスを形成して加算器/減算器

へ送信されます。 45 ビッ ト オペランドおよび 48 ビッ ト アキュムレータ出力に基づき、 「ガードビッ ト 」 (オーバーフ

ローから保護するビッ ト ) は 3 になり ます。 MACC 動作数を拡張させるには、 MACC_EXTEND を使用する必要があ

り ます。 これによ り、 2 つの DSP48E2 スライスを使用する 96 ビッ トの MACC へ拡張できます。 A が 18 ビッ トに制

限されている (符号拡張後は 27 ビッ ト ) 場合、 MACC 用のガード ビッ トは 12 ビッ トになり ます。 CARRYOUT ビッ

トは、 乗算動作中は無効です。 OPMODE、 ALUMODE、 CARRYINSEL、 および CARRYIN の組み合わせによって、

加算器/減算器または論理ユニッ トのファンクシ ョ ンを制御します。

X-Ref Target - Figure 2-3

図 2-3: DSP スライス動作の簡略図

OPMODE, CARRYINSEL,and ALUMODE ControlBehavior

PA:B

A

B

C

PCINAll 0s

Shifters

P

Z

D+

OPMODE Controls Behavior

All 1s

WRND

X

Y

X16754-042617

UltraScale アーキテクチャ DSP48E2 スライス 20UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 21: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

入力ポート

このセクシ ョ ンでは、 DSP48E2 スライスの入力ポートについて詳し く説明します。 図 2-4 に、 DSP48E2 スライスの

入力ポート を示します。

A、 B、 C、 および D ポート

DSP48E2 スライスの入力データ ポートは、 一般的な DSP および演算アルゴ リズムを多数サポート しています。

DSP48E2 スライスには、 4 つの直接入力データ ポート (A、 B、 C、 D) があ り ます。 A データ ポートは 30 ビッ ト幅、

B データ ポートは 18 ビッ ト幅、 C データ ポートは 48 ビッ ト幅、 前置加算器 D データ ポートは 27 ビッ ト幅です。

27 ビッ ト A (A[26:0]) および 18 ビッ ト B ポートは、 27 x 18 ビッ トの 2 の補数乗算器へ入力データを送信します。 独立

型 C ポート を使用する と、 各 DSP48E2 スライスで乗算/加算、 乗算/減算、 および乗算/丸め演算が可能になり ます。

連結された A ポート と B ポート (A:B) は、乗算器をバイパスして X マルチプレクサー入力へ接続します。30 ビッ トの A 入力ポートは、A:B 連結データパスの上位 30 ビッ ト を形成し、18 ビッ トの B 入力ポートは、A:B データパスの下位 18 ビッ ト を形成します。 A:B データパスと C 入力ポート を使用する と、 各 DSP48E2 スライスに 48 ビッ トの加算器/減算器をインプリ メン トできます (USE_MULT を NONE または DYNAMIC に設定して乗算器を使用しない場合)。

X-Ref Target - Figure 2-4

図 2-4: DSP48E2 スライスの入力ポート

*These signals are dedicated routing paths internal to the DSP48E2 column. They are not accessible via general-purpose routing resources

X

17-Bit Shift

17-Bit Shift

0

Y

Z

0

0RND

48

48

4

48

BCIN* ACIN*

OPMODE

PCIN*

MULTSIGNIN*

PCOUT*CARRYCASCOUT*

MULTSIGNOUT*

CREG/C Bypass/Mask

CARRYCASCIN*

CARRYIN

CARRYINSEL

A:B

ALUMODE

B

A

C

M

PP

C

MULT27 X 18

W

18

30

3

PATTERNDETECT

PATTERNBDETECT

CARRYOUT

XOR OUT

4

8

9

48

48

30

18

5

D 27

27

INMODE

BCOUT* ACOUT*

18

30

4 2

3018

180

U

V

1

Dual B Register

Dual A, D,and Pre-adder

X16783-042617

UltraScale アーキテクチャ DSP48E2 スライス 21UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 22: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

また、 各 DSP48E2 スライスには 2 本のカスケード入力データパス (ACIN および BCIN) があ り、 隣接する DSP48E2 スライス との入力をカスケード接続します。A 入力のカスケード パスは 30 ビッ ト幅で、B 入力のカスケード パスは 18 ビッ ト幅です。 これらの使用は、 FIR フ ィルター、 複素数乗算、 高精度乗算、 および複素数 MACC などのアプリ

ケーシ ョ ンで有効です。

A および B 入力ポート と ACIN および BCIN カスケード ポートは、 データパス上のパイプライン段数を 0、 1、 また

は 2 と して設定できます。 図 2-5 に、 デュアル A、 D、 および前置加算器のポート ロジッ クを示します。 図 2-6 はデュアル B レジスタのポート ロジッ クを示しています。属性を使用して異なるパイプライン段数にも設定できます。

ALU への X マルチプレクサーの A および B 直接入力用のパイプライン段数を選択する場合は、AREG および BREG 属性を使用します。 また、 乗算器のパイプライン段数は INMODE[0] で動的に変更できます。 ACOUT および BCOUT カスケード データパス上のパイプライン段数を選択する場合は、 ACASCREG および BCASCREG 属性を使

用します。 50 ページの表 3-3 に、 使用可能な属性値を示します。 コンフ ィギュレーシ ョ ン ビッ トで制御されるマル

チプレクサーは、 パス、 オプシ ョ ンのレジスタ、 またはカスケード接続された入力を使用してフローを選択します。

データ ポート レジスタによ り、 ク ロ ッ ク周波数を増加 (パフォーマンス向上) させるこ とが可能になり ますが、 デー

タ レイテンシという ト レードオフが生じます。

X-Ref Target - Figure 2-5

図 2-5: デュアル A、 D、 および前置加算器のロジック

+–

A

D

30A1ACIN

27

27

ACOUT

X MUX30

30

2727 INMODE[2]

INMODE[3]

INMODE[0]

INMODE[1]A

D

A2

AD

CEA1 RSTA

CED RSTD

CEA2 RSTA

CEAD RSTD

PREADDINSEL

B2B1

AMULTSEL18

A2A1

PREADD_AB

AD_DATAA MULT

X16758-042617

X-Ref Target - Figure 2-6

図 2-6: デュアル B レジスタのロジック

B18

B1BCIN

BCOUT

X MUX18

18

18

INMODE[4]

B MULTB2 INMODE[1]B

AD_DATA

BMULTSEL

B2B1

CEB1 RSTB CEB2 RSTB

0

1

X16759-042617

UltraScale アーキテクチャ DSP48E2 スライス 22UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 23: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

表 2-1 と表 2-2 に、 ダイナミ ッ ク制御ビッ トの INMODE[4:0] およびスタティ ッ ク制御ビッ トの AMULTSEL、BMULTSEL、 PREADDINSEL のエンコードを示します。 前置加算器の機能が増えたため、 DSP48E1 の属性 USE_DPORT が DSP48E2 では属性 AMULTSEL に置き換えられているこ とに注意してください。

これらのビッ トによ り、 前置加算器、 A、 B および D 入力レジスタの機能が決定されます。 表 2-1 と表 2-2 に示す前

置加算器機能を有効にするには、 AMULTSEL 属性を AD に設定する必要があ り ます。

つま り、 ダイナミ ッ ク制御信号の INMODE と スタティ ッ ク属性の AMULTSEL、 BMULTSEL、 PREADDINSEL が、

前置加算器の機能と乗算器の前に置かれた A、 B、 D レジスタのバス マルチプレクサーを制御します。 DSP48E2 は 2 段構成の A または B に接続する前置加算器、 並びに前置加算器の 2 乗機能をサポート します。

表 2-1: INMODE[4:0] の機能 (レガシ オプシ ョ ンを含む。 AREG/BREG が 1 または 2 の場合)

INMODE[4] INMODE[3] INMODE[2] INMODE[1] INMODE[0] BMULTSEL AMULTSEL(USE_DPORT)

乗算器 Aポート

乗算器 Bポート

前置加算器/乗算器

ファンクシ ョ ン

0/1 0 0 0 0 B A (FALSE) A2 B2/B1 A2 * B

0/1 0 0 0 1 B A (FALSE) A1 B2/B1 A1 * B

0/1 0 0 1 0 B A (FALSE) Zero B2/B1 B * Zero

0/1 0 0 1 1 B A (FALSE) Zero B2/B1 B * Zero

0/1 0 0 0 0 B AD (TRUE) A2 B2/B1 A2 * B

0/1 0 0 0 1 B AD (TRUE) A1 B2/B1 A1 * B

0/1 0 0 1 0 B AD (TRUE) Zero B2/B1 B * Zero

0/1 0 0 1 1 B AD (TRUE) Zero B2/B1 B * Zero

0/1 0 1 0 0 B AD (TRUE) D + A2(1) B2/B1 (D + A2) * B

0/1 0 1 0 1 B AD (TRUE) D + A1(1) B2/B1 (D + A1) * B

0/1 0 1 1 0 B AD (TRUE) D B2/B1 D * B

0/1 0 1 1 1 B AD (TRUE) D B2/B1 D * B

0/1 1 0 0 0 B AD (TRUE) –A2 B2/B1 –(A2 * B)

0/1 1 0 0 1 B AD (TRUE) –A1 B2/B1 –(A1 * B)

0/1 1 0 1 0 B AD (TRUE) Zero B2/B1 B * Zero

0/1 1 0 1 1 B AD (TRUE) Zero B2/B1 B * Zero

0/1 1 1 0 0 B AD (TRUE) D – A2(1) B2/B1 (D – A2) * B

0/1 1 1 0 1 B AD (TRUE) D – A1(1) B2/B1 (D – A1) * B

0/1 1 1 1 0 B AD (TRUE) D B2/B1 D * B

0/1 1 1 1 1 B AD (TRUE) D B2/B1 D * B

注記:1. 前置加算器は飽和をサポート していないため、 前置加算器がオーバーフローもし くはアンダーフローしないよ う、 D および A ポートに

データを入力します。 34 ページの 「前置加算器」 を参照してください。

UltraScale アーキテクチャ DSP48E2 スライス 23UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 24: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

表 2-2: INMODE[4:0] の機能 (前置加算器の新規オプシ ョ ンを含む)

INMODE[4]

INMODE[3]

INMODE[2]

INMODE[1]

INMODE[1]A

(1)

INMODE[1]B

(1)

INMODE[0]

PREADDINSEL

BMULTSEL

AMULTSEL

(USE_DPORT)

乗算器

A ポー

乗算器

B ポー

ト(3)

前置

加算器

/乗算器

ファン

クシ

ョン

0/1 0 0 0 0 0 0/1 A B A (FALSE) A2/A1 B2/B1 A * B

0/1 0 0 0 0 0 0/1 B B A (FALSE) A2/A1 B2/B1 A * B

0/1 0/1 1 0 0 0 0/1 A B AD (TRUE) D ± A2/A1(2) B2/B1 (D ± A) * B

0/1 0 0 1 1 0 X A B A (FALSE) Zero B2/B1 B * Zero

0/1 0 0 1 0 1 X B B A (FALSE) A2/A1 Zero A * Zero

X 0/1 1 0 0 0 0/1 A AD AD (TRUE) D ± A2/A1(2) D ± A2/A1(2) (D ± A)2

X 0 1 1 1 0 X A AD AD (TRUE) D D D2

X 0/1 0 0 0 0 0/1 A AD AD (TRUE) ± A2/A1 ± A2/A1 A2

X 0/1 0 0 0 0 0/1 A AD A (FALSE) A2/A1 ± A2/A1 ± (A2)

X 0/1 1 0 0 0 0/1 A AD A (FALSE) A2/A1 D ± A2/A1(2) (D ± A) * A

0/1 0/1 1 0 0 0 0/1 B AD A (FALSE) A2/A1 D ± B2/B1(2) (D ± B) * A

X 0 1 1 0 1 0/1 B AD A (FALSE) A2/A1 D D * A

0/1 0/1 0 0 0 0 0/1 B AD A (FALSE) A2/A1 ± B2/B1 (± B) * A

0/1 0/1 1 0 0 0 0/1 B AD AD (TRUE) D ± B2/B1(2) D ± B2/B1(2) (D ± B)2

0/1 0/1 0 0 0 0 0/1 B AD AD (TRUE) ± B2/B1 ± B2/B1 B2

0/1 0/1 0 0 0 0 0/1 B B AD (TRUE) ± B2/B1 B2/B1 ± (B2)

0/1 0/1 1 0 0 0 0/1 B B AD (TRUE) D ± B2/B1(2) B2/B1 (D ± B) * B

注記:1. INMODE[1]A および INMODE[1]B は、 PREADDINSEL および INMODE[1] のユーザー設定で定義される内部信号です。 PREADDINSEL =

A の場合、 INMODE[1]A (22 ページの図 2-5 参照) は INMODE[1]、 INMODE[1]B (22 ページの図 2-6 参照) は 0 です。 PREADDINSEL = B の場合、 INMODE[1]B は INMODE[1]、 INMODE[1]A は 0 です。

2. 前置加算器は飽和をサポート していないため、 前置加算器がオーバーフローもし くはアンダーフローしないよ う、 D および A または B ポートにデータを入力します。 34 ページの 「前置加算器」 を参照してください。

3. A または D は、 B ポート を通る場合は 18 ビッ トに制限され、 前置加算器を使用する場合は 17 ビッ トの符号拡張された 2 の補数に制限さ

れます。

UltraScale アーキテクチャ DSP48E2 スライス 24UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 25: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

INMODE[0] は、A1 (INMODE[0] = 1)、 または AREG で制御される A2 マルチプレクサー (INMODE[0] = 0) のいずれか

を指定します。

INMODE [1] を使用して A または B データパスをゲート制御するこ とで、INMODE[2] 制御信号と前置加算器で 2:1 バス マルチプレクサーを構成できます。

INMODE[2] = 0 の場合、前置加算器への D 入力は 0 です。 INMODE[1] および INMODE[2] を使用すれば、 D レジスタ

と A または B レジスタを、 リセッ トによって強制的に 0 に設定するこ とな く多重化できます。

INMODE[3] = 1 は減算を意味し、 INMODE[3] = 0 は A または B の D への加算を意味します。 D をゲート遮断する と、

この動的な反転によって A または B の絶対値を求めるこ とができます。

INMODE[4] は、 B1 (INMODE[4] = 1)、 または BREG で制御される B2 マルチプレクサー (INMODE[4] = 0) のいずれか

を指定します。

48 ビッ トの C ポートは、 W、 Y および Z マルチプレクサー共通の入力と して使用され、 加算、 減算、 4 入力加算/減算、 およびロジッ ク ファンクシ ョ ンを実行します。 また、 C 入力をパターン検出器に接続する と、 丸め機能もイン

プ リ メン ト可能です。 図 2-7 に、 C ポート ロジッ クを示します。 CREG 属性を使用し、 C 入力データパスのパイプラ

イン数を選択します。

X-Ref Target - Figure 2-7

図 2-7: C ポート ロジック

DEN

RST

CEC

RSTC

C C Input toW, Y and ZMultiplexers and Pattern Detector

48

48

48

X16760-042617

UltraScale アーキテクチャ DSP48E2 スライス 25UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 26: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

OPMODE、 ALUMODE、 および CARRYINSEL ポート ロジック

OPMODE、 ALUMODE、 および CARRYINSEL ポートのロジッ クは、 フロースルーまたはレジスタを介する入力制

御信号をサポート します。 コンフ ィギュレーシ ョ ン ビッ トで制御されるマルチプレクサーが、 オプシ ョ ンと しての

レジスタ使用を選択します。 制御ポート レジスタによ り、 ク ロ ッ ク周波数を増加 (パフォーマンス向上) させるこ と

が可能になり ますが、 データ レイテンシという ト レードオフが生じます。 レジスタには独立したクロ ッ ク イネーブ

ルと リセッ ト信号があ り ます。 OPMODE および CARRYINSEL レジスタは RSTCTRL でリセッ ト され、 ALUMODE は RSTALUMODE でリセッ ト されます。 図 2-8 に、 クロ ッ ク イネーブルと OPMODE、 ALUMODE、 および CARRYINSEL ポート ロジッ クを示します。

X-Ref Target - Figure 2-8

図 2-8: OPMODE、 ALUMODE、 および CARRYINSEL ポート ロジック

DEN

RST

CECTRL

RSTCTRL

OPMODE To the W, X, Y, ZMultiplexers and3-Input Adder/Subtracter

9

9

1

DEN

RST

CEALUMODE

RSTALUMODE

ALUMODETo Adder/Subtracter

4

4

1

1

DEN

RST

CARRYINSELTo Carry InputSelect Logic

3

31

X16761-042617

UltraScale アーキテクチャ DSP48E2 スライス 26UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 27: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

W、 X、 Y、 および Z マルチプレクサー

OPMODE (動作モード ) 制御入力には W、 X、 Y、 および Z マルチプレクサー選択用のフ ィールドがあ り ます。

OPMODE 入力によって、 ク ロ ッ ク サイ クルの切り替えに伴い、 DSP48E2 の機能を動的に変更できます (与えられた

計算シーケンスに基づく、 DSP48E2 スライスの内部データパス コンフ ィギュレーシ ョ ンの変更など)。

OPMODE ビッ トは、 OPMODEREG 属性を使用してオプシ ョ ンのレジスタを設定できます (表 3-4 参照)。

表 2-3、 表 2-4、 表 2-5、 および表 2-6 に、 OPMODE で使用可能な値および 4 つのマルチプレクサー (W、 X、 Y およ

び Z) の出力結果を示します。 マルチプレクサー出力は 4 つのオペランドを加算器/減算器へ送信します。 マルチプレ

クサー セレク ト ビッ トのすべての組み合わせが可能ではあ り ません。 「違反セレクシ ョ ン」 と記載されている組み

合わせは不定結果が生じます。 乗算出力が選択されている場合は、 X および Y マルチプレクサーを使用して乗算部

分積が加算器/減算器へ送信されます。

表 2-3: OPMODE の制御ビッ トによる W マルチプレクサー出力の選択

W OPMODE[8:7]

Z OPMODE[6:4]

YOPMODE[3:2]

XOPMODE[1:0]

W マルチプレクサー出力

説明

00 xxx xx xx 0デフォルト。 論理演算の場合

に選択する必要がある

01 xxx xx xx P PREG = 1 とする必要がある

10 xxx xx xx RND -

11 xxx xx xx C -

表 2-4: OPMODE の制御ビッ トおよび X マルチプレクサー出力

W OPMODE[8:7]

Z OPMODE[6:4]

YOPMODE[3:2]

XOPMODE[1:0]

X マルチプレクサー出力

説明

xx xxx xx 00 0 デフォルト

xx xxx 01 01 M OPMODE[3:2] = 01 で選択する

必要がある

xx xxx xx 10 P PREG = 1 とする必要がある

xx xxx xx 11 A:B 48 ビッ ト幅

表 2-5: OPMODE の制御ビッ トおよび Y マルチプレクサー出力

W OPMODE[8:7]

Z OPMODE[6:4]

YOPMODE[3:2]

XOPMODE[1:0]

Y マルチプレクサー出力

説明

xx xxx 00 xx 0 デフォルト

xx xxx 01 01 M OPMODE[1:0] = 01 で選択す

る必要がある

xx xxx 10 xx 48'FFFFFFFFFFFF

主に X および Z マルチプレ

クサー上での論理ユニッ ト

のビッ ト単位操作で使用さ

れる

xx xxx 11 xx C

UltraScale アーキテクチャ DSP48E2 スライス 27UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 28: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

ALUMODE 入力

4 ビッ トの ALUMODE は、 2 段目の加算器/減算器/論理ユニッ トの動作を制御します。 ALUMODE = 0000 では、 加

算動作 Z + (W + X + Y + CIN) が選択されます。 CIN は CARRYIN マルチプレクサーの出力です (図 2-9 参照)。ALUMODE = 0011 では、 減算動作 Z – (W + X + Y + CIN) が選択されます。 ALUMODE = 0001 では、 –Z + (W + X + Y + CIN) – 1 をインプリ メン トできます。 ALUMODE = 0010 では –(Z + W + X + Y + CIN) – 1 をインプ リ メン トでき、

これは not (Z + W + X + Y + CIN) と等価です。 2 の補数は、 ビッ ト単位で反転して 1 を加算するこ とで負の値に変換

できます (例: –k = not (k) + 1)。 強化された加算/減算/論理ユニッ ト を使用してその他の減算動作やロジッ ク動作もイ

ンプ リ メン ト可能です。 表 2-7 を参照してください。

2 入力 ALUMODE 演算については、 36 ページの表 2-10 および 67 ページの表 5-3 を参照して ください。

表 2-6: OPMODE の制御ビッ トおよび Z マルチプレクサー出力

W OPMODE[8:7]

Z OPMODE[6:4]

YOPMODE[3:2]

XOPMODE[1:0]

Z マルチプレクサー出力

説明

xx 000 xx xx 0 デフォルト

xx 001 xx xx PCIN -

xx 010 xx xx P PREG = 1 とする必要がある

xx 011 xx xx C -

00 100 10 00 P MACC 拡張にのみ使用する。

PREG = 1 とする必要がある

xx 101 xx xx 17 ビッ ト シフ ト (PCIN) -

xx 110 xx xx 17 ビッ ト シフ ト (P) PREG = 1 とする必要がある

xx 111 xx xx xx 違反セレクシ ョ ン

表 2-7: 4 入力 ALUMODE 演算

DSP の動作 OPMODE[8:0]ALUMODE[3:0]

3 2 1 0

Z + W + X + Y + CIN 任意の有効な OPMODE 0 0 0 0

Z – (W + X + Y + CIN) 任意の有効な OPMODE 0 0 1 1

–Z + (W + X + Y + CIN) – 1 = not (Z) + W + X + Y + CIN

任意の有効な OPMODE 0 0 0 1

not (Z +W + X + Y + CIN) = –Z – W - X – Y – CIN - 1

任意の有効な OPMODE 0 0 1 0

注記:1. 2 の補数では、 –Z = not (Z) + 1 です。

UltraScale アーキテクチャ DSP48E2 スライス 28UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 29: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

キャリー入力ロジック

キャ リー入力ロジッ クの結果は、 3 ビッ ト幅の CARRYINSEL 信号の関数と して決ま り ます。 図 2-9 に、 キャ リー入

力ロジッ クの入力を示します。 加算器および減算器用の結果を生成するキャ リー入力は、 常にク リ ティカル パス上

にあ り ます。 このロジッ クをシ リ コン上に実装するこ とで、 高性能が実現します。 キャ リー ロジッ クへのキャ リー

入力は、 常に W、 X、 Y、 および Z マルチプレクサーの出力の前に集められるため、 CARRYIN は OPMODE の選択

の影響を受けません。

図 2-9 に、 3 ビッ ト CARRYINSEL 制御で選択された 8 入力を示します。 初の入力である CARRYIN (CARRYINSEL はバイナリ 000 に設定) は、 汎用ロジッ クから得られます。 このオプシ ョ ンによ り、 ユーザー ロジッ クに基づいた

キャ リー ファンクシ ョ ンの実装が可能になり ます。 CARRYIN はオプシ ョ ンでレジスタを付けるこ とが可能です。

2 番目の入力 (CARRYINSEL はバイナリ 010 に設定) は、 隣接する DSP48E2 スライスから接続される CARRYCASCIN 入力です。 3 番目の入力 (CARRYINSEL はバイナリ 100 に設定) は、 同じ DSP48E2 スライスから接

続されてフ ィードバッ ク される CARRYCASCOUT です。 キャ リー ロジッ クに関する内部レジスタの説明は、

54 ページの表 3-4 を参照してください。

4 番目の入力 (CARRYINSEL はバイナリ 110 に設定) は対称丸め乗算器の出力の A[26] XNOR B[17] です。この信号に

は、 MREG パイプライン遅延と一致するよ うにオプシ ョ ンでレジスタを追加できます。 5 番目と 6 番目の入力 (CARRYINSEL はバイナリ 111 および 101) は、 P 出力の対称丸めのために正の P 出力 MSB P[47] または反転した P 出力 MSB P[47] を選択します。 7 番目と 8 番目の入力 (CARRYINSEL はバイナリ 011 および 001) は、 P 入力の対称

丸め込みを実行するため、 正のカスケード P 入力 MSB PCIN[47] または反転したカスケード P 入力 MSB PCIN[47] を選択します。

X-Ref Target - Figure 2-9

図 2-9: CARRYINSEL ポート ロジック

RST

CED

RSTALLCARRYIN

CECARRYIN

CARRYCASCIN

CARRYIN

Large Add/Sub/Acc(Parallel Op)

Large Add/Sub/Acc(Seq Op)

000

010

100

110

111

101

011

001

CARRYCASCOUT

A[26] XNOR B[17]

Inverted P[47]

Inverted PCIN[47]

3

RST

CED

RSTALLCARRYIN

CEM

Round A * B

Round Output

CARRYINSEL

CIN

X16762-042617

UltraScale アーキテクチャ DSP48E2 スライス 29UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 30: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

表 2-8 に、 3 つのキャ リー入力セレク ト ビッ ト (CARRYINSEL) および結果のキャ リー入力またはソースを示します。

表 2-8: CARRYINSEL 制御のキャリー ソース

CARRYINSELセレク ト 説明

2 1 0

0 0 0 CARRYIN 汎用インターコネク ト

0 0 1 ~PCIN[47] PCIN の丸め (無限大の方向へ丸め)

0 1 0 CARRYCASCIN 大規模な加算/減算/累算 (パラレル動作)

0 1 1 PCIN[47] PCIN の丸め (0 の方向へ丸め)

1 0 0 CARRYCASCOUT 桁数の多い加算/減算/累算 (内部フ ィードバッ

クを介した順次演算)。 PREG = 1 とする必要

がある

1 0 1 ~P[47] P の丸め (無限大の方向へ丸め)。 PREG = 1 とする必要がある

1 1 0 A[26] XNOR B[17] AxB の丸め

1 1 1 P[47] P の丸め (0 の方向へ丸め)。 PREG = 1 とする

必要がある

UltraScale アーキテクチャ DSP48E2 スライス 30UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 31: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

出力ポート

このセクシ ョ ンでは、 DSP48E2 スライスの出力ポートについて詳し く説明します。 図 2-10 に、 DSP48E2 スライスの

出力ポート を示します。

ACOUT および BCOUT を除くすべての出力ポートは、RSTP でリセッ ト され、CEP でイネーブルになり ます (図 2-11 参照)。 ACOUT と BCOUT は、 RSTA および RSTB (図 2-5 および図 2-6 参照) でそれぞれリセッ ト されます。

X-Ref Target - Figure 2-10

図 2-10: DSP48E2 スライスの出力ポート

*These signals are dedicated routing paths internal to the DSP48E2 column. They are not accessible via general-purpose routing resources.

MULT27 X 18

X

17-Bit Shift

17-Bit Shift

0

Y

Z

0

0RND

48

48

4

48

BCIN* ACIN*

OPMODE

PCIN*

MULTSIGNIN*

PCOUT*CARRYCASCOUT*

MULTSIGNOUT*

CREG/C Bypass/Mask

CARRYCASCIN*

CARRYIN

CARRYINSEL

A:B

ALUMODE

B

A

C

M

PP

C

W

18

30

3

PATTERNDETECT

PATTERNBDETECT

CARRYOUT

XOR OUT

4

8

9

48

48

30

18

5

D 27

27

INMODE

BCOUT* ACOUT*

18

30

4 2

3018

180

U

V

1

Dual B Register

Dual A, D,and Pre-adder

X16784-042617

X-Ref Target - Figure 2-11

図 2-11: 出力ポートのロジック

DEN Q

RST

CEP

RSTP

P/PCOUT/MULTSIGNOUT/CARRYCASCOUT/

CARRYOUT/PATTERNDETECT/

PATTERNBDETECT/XOROUT

DSP48E2Slice Output

X16763-042617

UltraScale アーキテクチャ DSP48E2 スライス 31UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 32: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

P ポート

各 DSP48E2 スライスには、 48 ビッ ト幅の出力ポート P があ り ます。 この出力は、 内部 PCOUT パスを使用して隣接

する DSP48E2 スライスへ接続 (カスケード接続) できます。 PCOUT は、 隣接する DSP48E2 スライス内の Z マルチプ

レクサー (PCIN) の入力へ接続します。 このパスによ り、 隣接する DSP48E2 スライス間で出力ス ト リームをカスケー

ド接続できます。

CARRYCASCOUT および CARRYOUT ポート

各 DSP48E2 スライスからのキャ リーアウ トは、 CARRYOUT ポート を介してロジッ ク リ ソースに送信できます。

このポートは 4 ビッ ト幅です。 CARRYOUT[3] は、 2 入力の 48 ビッ ト加算器/減算器または 1 入力のアキュムレータ

の有効なキャ リーアウ トです。 この場合、 USE_SIMD = ONE48 がデフォルト設定となり、 SIMD モードではないこ

とを示します。 2 入力加算器/減算器または 1 入力アキュムレータが、 TWO24 または FOUR12 などの SIMD モードで

使用される場合に有効なキャ リーアウ ト信号を表 2-9 に示します。 3 入力 (または 4 入力) 加算器/減算器 (例: A:B + C + PCIN) または 2 入力 (または 3 入力) アキュムレータ (例: A:B + C + P) のコンフ ィギュレーシ ョ ンが使用される場合、

あるいは乗算器が使用される場合は、 CARRYOUT 信号は有効ではあ り ません。

4 入力 ALUMODE 演算については、 28 ページの表 2-7 も参照してください。

CARRYOUT 信号は、 CARRYCASCOUT ポート を介して、 隣接する次の DSP48E2 スライスにカスケード接続します。

CARRYCASCOUT 出力を使用する と、 DSP48E2 スライス内に桁数の多い加算、 減算、 ACC、 および MACC ファン

クシ ョ ンをインプ リ メン トできます。 1 ビッ トの CARRYCASCOUT 信号は CARRYOUT[3] に対応しますが、 両者は

同等ではあ り ません。 また、 CARRYCASCOUT 信号は CARRYINSEL マルチプレクサーを介して、 同じ DSP48E2 スライスへフ ィードバッ ク されます。

乗算器または 3 入力 (または 4 入力) 加算/減算動作が使用される場合、 CARRYOUT[3] 信号は無視されます。 MACC 演算ではアキュムレータ ステージに 3 入力の加算器が含まれるため、2 つの DSP48E2 スライスを結合した 96 ビッ ト MACC を実行するには、 MULTSIGNOUT 信号と CARRYCASCOUT 信号が必要になり ます。 2 番目の DSP48E2 スラ

イスの OPMODE は、 CARRYCASCOUT と MULTSIGNOUT の両方を使用するために、 MACC_EXTEND (001001000) を設定する必要があ り ます。 これによ り、 上位 DSP48E2 スライスの 3 入力加算器キャ リー制限がなく

な り ます。 CARRYOUT/CARRYCASCOUT の実際のハードウェア インプリ メンテーシ ョ ンと、 これらの違いについ

ては、 第 5 章 「カスケード接続: CARRYOUT、 CARRYCASCOUT、 および MULTSIGNOUT」 を参照してください。

表 2-9: 各種 SIMD モード と CARRYOUT ビッ トの対応

SIMD モード 加算器のビッ ト幅 対応するキャリーアウト

FOUR12 P[11:0] CARRYOUT[0]

P[23:12] CARRYOUT[1]

P[35:24] CARRYOUT[2]

P[47:36] CARRYOUT[3]

TWO24 P[23:0] CARRYOUT[1]

P[47:24] CARRYOUT[3]

ONE48 P[47:0] CARRYOUT[3]

UltraScale アーキテクチャ DSP48E2 スライス 32UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 33: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

MULTSIGNOUT ロジック

MULTSIGNOUT は、 ハード ウェア信号をソフ ト ウェアで抽象化したものです。 乗算器出力の MSB と してモデル化

されており、 用途は 96 ビッ ト MACC を構築するための MACC 拡張に限られます。 MULTSIGNOUT の実際のハード

ウェア インプリ メンテーシ ョ ンについては、 第 5 章 「カスケード接続: CARRYOUT、 CARRYCASCOUT、 および MULTSIGNOUT」 を参照してください。

乗算器出力の MSB は、MULTSIGNIN 信号を介して次の DSP48E2 スライスへカスケード接続され、用途は 96 ビッ ト アキュムレータを構築するための MACC 拡張に限られます。 MULTSIGNOUT の実際のハードウェア インプ リ メン

テーシ ョ ンについては、 第 5 章 「カスケード接続: CARRYOUT、 CARRYCASCOUT、 および MULTSIGNOUT」 を参

照してください。

PATTERNDETECT および PATTERNBDETECT ロジック

DSP48E2 スライス出力のパターン検出器は、 P バスと指定パターンの一致、 またはパターンの補数との完全一致を

検出します。 加算器の出力が指定パターンと一致する場合は、 PATTERNDETECT 出力が High になり ます。 加算器の

出力が指定パターンの補数と一致する場合は、 PATTERNBDETECT 出力が High になり ます。

パターン検出器の特定ビッ ト位置を隠すにはマスク フ ィールドを使用します。 PATTERNDETECT は、 ビッ ト単位で ((P == pattern)||mask) を計算し、 結果を AND 演算してシングル出力ビッ ト を出力します。 同様に、

PATTERNBDETECT は、 ((P == ~pattern)||mask) かど うかを検出できます。 パターン フ ィールド とマスク フ ィールド

は、それぞれ 48 ビッ ト コンフ ィギュレーシ ョ ン フ ィールドの設定または (レジスタ付きの) C 入力の設定を用いるこ

とができます。 C 入力が PATTERN と して使用される場合、 Z マルチプレクサーの入力で、 OPMODE が 0 を選択する

よ うに設定する必要があ り ます。 すべてのレジスタが リセッ ト される と、 RESET ピンがディアサート された直後か

ら 1 ク ロ ッ ク サイ クル間、 PATTERNDETECT は High になり ます。

パターン検出器によ り、 DSP48E2 スライスはカウン トが上限に達したと きに収束丸めとカウンター自動リセッ ト を

実行できるほか、 アキュムレータのオーバーフロー、 アンダーフロー、 および飽和もサポート しています。

オーバーフローおよびアンダーフロー ロジック

DSP48E2 スライスの専用の OVERFLOW および UNDERFLOW 出力は、 パターン検出器を使用して、 DSP48E2 スラ

イス内の演算が P[N] ビッ ト (N = 1 ~ 46) を超えてオーバーフローしたかを検出します。 OVERFLOW および UNDERFLOW の使用中は、 P レジスタを有効にする必要があ り ます。 詳細は、 「エンベデッ ド ファンクシ ョ ン」 を

参照してください。

UltraScale アーキテクチャ DSP48E2 スライス 33UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 34: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

エンベデッ ド ファンクシ ョ ン

デバイスに組み込まれたファンクシ ョ ンには、 前置加算器、 27 x 18 乗算器、 加算器/減算器/論理ユニッ ト、 およびパ

ターン検出器ロジッ クが含まれます (図 2-12 参照)。

前置加算器

DSP スライスには、 27 ビッ ト前置加算器が搭載されています。 前置加算器は、 A または B レジスタ パス (図 2-12 およびその拡大図の 22 ページの図 2-5 参照) にあ り ます。前置加算器を使用するこ とで、乗算器への入力前に加算や減

算を実行するこ とが可能になり ます。 前置加算器は飽和演算ロジッ クを持たないため、 演算中にオーバーフローま

たはアンダーフローしないよ う、 入力オペランドを 26 ビッ ト (または B パスの場合 17 ビッ ト ) の 2 の補数の符号拡

張データに制限する必要があ り ます。 また、 前置加算器をバイパスして D を乗算器への入力パスにするこ と もでき

ます。 D パスを使用しない場合、 A または B パイプラインの出力は乗算器への入力前にネゲートできます。 前置加

算器ブロッ クには、 前置加算器の 2 乗機能を含む 大 15 の動作モードがあ り、 きわめて柔軟に活用できます。

X-Ref Target - Figure 2-12

図 2-12: DSP48E2 スライスのエンベデッ ド ファンクシ ョ ン

*These signals are dedicated routing paths internal to the DSP48E2 column. They are not accessible via general-purpose routing resources.

MULT27 X 18

X

17-Bit Shift

17-Bit Shift

0

Y

Z

0

0RND

48

48

4

48

BCIN* ACIN*

OPMODE

PCIN*

MULTSIGNIN*

PCOUT*CARRYCASCOUT*

MULTSIGNOUT*

CREG/C Bypass/Mask

CARRYCASCIN*

CARRYIN

CARRYINSEL

A:B

ALUMODE

B

A

C

PP

C

W

18

30

3

PATTERNDETECT

PATTERNBDETECT

CARRYOUT

XOR OUT

4

8

9

48

48

30

18

5

D 27

27

INMODE

BCOUT* ACOUT*

18

30

4 2

3018

Dual B Register18

0

U

V

1

M

Dual A, D, and Pre-adder

X16785-042617

UltraScale アーキテクチャ DSP48E2 スライス 34UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 35: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

式 2-2 では、A (または B) と D が前置加算器/減算器を介して 初に加算されます。その結果が B (または A) に乗算さ

れた後、 乗算結果が C 入力に加算されます。 この論理式によ り、 対称フ ィルターが効率化されます。

式 2-2

2 の補数乗算器

図 2-12 に示す DSP48E2 スライス内の 2 の補数乗算器は、 27 ビッ トの 2 の補数入力および 18 ビッ トの 2 の補数入力

を受け取り ます。 乗算器は 45 ビッ ト部分積を 2 つ生成します。 この 2 つの部分積が結合されて、 図 2-13 に示すよ う

に乗算器出力から 90 ビッ トの結果が出力されます。 よ り大きな積を得るために乗算器をカスケード接続するには、

17 ビッ ト右方向シフ トするカスケード出力バスを使用します。 右方向シフ ト を使用して、 適切なビッ ト数だけ部分

積をシフ ト して右揃えにします。 このカスケード パスは、 隣接する DSP48E2 スライスの加算器/減算器に接続して

いる Z マルチプレクサーへ接続します。 入力オペランドの MSB を 0 に設定する と、 乗算器は符号なしの演算をエ

ミ ュレートできます。

図 2-13 に、 乗算器出力用のオプシ ョ ンのパイプライン レジスタ (MREG) を示します。 レジスタを使用する と、 1 クロ ッ ク分のレイテンシが生じますがパフォーマンスは向上します。

加算器/減算器または論理ユニッ ト

加算器/減算器または論理ユニッ トの出力は、 制御入力とデータ入力で決定されます (図 2-14 参照)。 OPMODE およ

び CARRYINSEL 信号で、 加算器/減算器のデータ入力が選択されます。 ALUMODE 信号で、 加算器/減算器に実装さ

れているファンクシ ョ ンが選択されます。 このよ うに、 エンベデッ ド加算器/減算器/論理ユニッ トの機能は、

OPMODE、 ALUMODE、 および CARRYSEL 信号で判断されます。 論理ユニッ ト を使用する場合、 乗算器は使用でき

ません。 OPMODEREG と CARRYINSELREG の値は同一である必要があ り ます。

入力マルチプレクサーも同様に、 OPMODE ビッ トによってファンクシ ョ ンの一部が選択されます。 表中のシンボル

「±」 は加算または減算を意味し、 これは ALUMODE 制御信号のステートによって決定されます。 シンボル 「:」 は連

結を意味し、 X、 Y マルチプレクサーの出力と CIN の値は常に合計されます。 詳細は、 28 ページの 「ALUMODE 入力」 を参照してください。

X-Ref Target - Figure 2-13

図 2-13: 2 の補数乗算器とオプシ ョ ンの MREG

Final Adder/Subtracter Output C B D A±( )× W C+ IN+( )±=C A D B±( )× W C+ IN+( )±C B D B±( )× W C+ IN+( )±C A D A±( )× W C+ IN+( )±C D B±( )2 W C+ IN+( )±C D A±( )2 W C+ IN+( )±

XA or AD

Partial Product 1

Partial Product 2B or AD

OptionalMREG

90

45

45

X16764-042617

UltraScale アーキテクチャ DSP48E2 スライス 35UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 36: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

2 入力論理ユニッ トまたは 3 入力 XOR の特殊なケース

DSP48E2 スライス内の加算、 減算、 および単純なロジッ ク ファンクシ ョ ンは、 2 段目の 4 入力加算器を使用するこ

とで実現します。

表 2-10 に、 2 段目の 4 入力加算器/減算器/論理ユニッ トにインプリ メン ト可能なロジッ ク ファンクシ ョ ンを示しま

す。 また、 OPMODE および ALUMODE 制御信号の設定も示します。

OPMODE[3:2] を 00 に設定する と、 Y マルチプレクサー出力がデフォルトの 0 値になり ます。 OPMODE[3:2] を 10 に設定する と、 Y マルチプレクサー出力がすべて 1 になり ます。 OPMODE[1:0] は、 X マルチプレクサーの出力を選

択し、 OPMODE[6:4] は Z マルチプレクサーの出力を選択します。 2 入力論理演算の場合、 W マルチプレクサー出力

をすべてデフォルトの 0 値にするには、 OPMODE[8:7] を 00 に設定する必要があ り ます。

OPMODE[3:2] を 11 に設定し、 Y マルチプレクサーの出力に C 入力を選択するこ とで、 XOR3 を構成できます。

表 2-10 に示すとおり、 XOR3 が有効になるのは、 ALUMODE[3:0] = 0100 の場合のみです。

表 2-10: OPMODE および ALUMODE 制御ビッ トおよび論理ユニッ トの出力

論理ユニッ ト モードOPMODE[3:2] ALUMODE[3:0]

3 2 3 2 1 0

X XOR Z 0 0 0 1 0 0

X XNOR Z 0 0 0 1 0 1

X XNOR Z 0 0 0 1 1 0

X XOR Z 0 0 0 1 1 1

X AND Z 0 0 1 1 0 0

X AND (NOT Z) 0 0 1 1 0 1

X NAND Z 0 0 1 1 1 0

(NOT X) OR Z 0 0 1 1 1 1

X XNOR Z 1 0 0 1 0 0

X XOR Z 1 0 0 1 0 1

X XOR Z 1 0 0 1 1 0

X XNOR Z 1 0 0 1 1 1

X OR Z 1 0 1 1 0 0

X OR (NOT Z) 1 0 1 1 0 1

X NOR Z 1 0 1 1 1 0

(NOT X) AND Z 1 0 1 1 1 1

X XOR Y XOR Z(1) 1 1 0 1 0 0

注記:1. Y マルチプレクサーで C 入力を選択した場合に有効です。

UltraScale アーキテクチャ DSP48E2 スライス 36UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 37: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

SIMD (単一命令複数データ ) モード

48 ビッ ト加算器/減算器/アキュムレータを複数のデータ セグメン トに分割し、 セグメン ト間の内部キャ リー伝搬を

なくすこ とによ り、 各セグメン ト を独立して動作させるこ とができます。 加算器/減算器/アキュムレータは、 4 つの 12 ビッ ト加算器/減算器/アキュムレータまたは 2 つの 24 ビッ ト加算器/減算器/アキュムレータに分割するこ とが可能

で、 各セグメン トにはキャ リーアウ ト信号があ り ます。 ダイナミ ッ ク OPMODE タイプ制御とは対照的に、 SIMD モード分割はスタティ ッ ク コンフ ィギュレーシ ョ ンです (図 2-14 参照)。

• 4 つの 2 入力、 3 入力または 4 入力加算器 (各セグメン トには 12 ビッ ト入力、 12 ビッ ト出力、 およびキャ リーア

ウ トがある )

• ファンクシ ョ ンは ALUMODE[3:0] で動的に制御され、 オペランド ソースは OPMODE[8:0]

• 4 つすべての加算器/減算器/アキュムレータは同じファンクシ ョ ンを実行する

• 2 つの 2 入力、 3 入力、 または 4 入力加算器 (各セグメン トには、 24 ビッ ト入力、 24 ビッ ト出力、 およびキャ

リーアウ トがある ) の構築も可能 (非表示)

図 2-14 に示す SIMD 機能は、 48 ビッ トの論理ユニッ ト を複数の小規模論理ユニッ トに分割できます。 各小規模論理

ユニッ トは同じファンクシ ョ ンを実行します。 このファンクシ ョ ンは、 ALUMODE[3:0] および OPMODE 制御入力を

使用して動的に変更可能です。

X-Ref Target - Figure 2-14

図 2-14: 4 つの 12 ビッ ト SIMD 加算器コンフ ィギュレーシ ョ ン

X

Y

W

Z

P[11:0], CARRYOUT[0]

P[23:12], CARRYOUT[1]

P[35:24], CARRYOUT[2]

P[47:36], CARRYOUT[3]

0

P

[47:36]

[35:24]

[23:12]

[11:0]

0

1

PCIN

P

C

A:B

C

0

P

RND

CQ

0

ALUMODE[3:0]

[47:0]

[47:0]

X16765-042617

UltraScale アーキテクチャ DSP48E2 スライス 37UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 38: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

パターン検出ロジック

パターン検出器は、 DSP48E2 スライスの加算器/減算器/論理ユニッ トの出力に接続されています (図 2-12 参照)。

パターン検出器とは、 P 出力と同じサイクルで結果を生成する加算器/減算器/論理ユニッ トの出力に対する同一性

チェッ クです。 パターン検出出力と DSP48E2 スライスの P 出力の間には、 追加のレイテンシはあり ません。 パターン

検出器を使用する場合、 パターン検出パスにロジッ クが追加されるため、 スピードが多少低減します (図 2-15 参照)。

パターン検出器を使用して実行可能なアプリ ケーシ ョ ンを次に示します。

• オプシ ョ ンのマスク付きパターン検出

• ダイナミ ッ ク C 入力と A x B パターンの一致

• P[46] を超えるオーバーフロー /アンダーフロー /飽和

• A:B == C およびダイナミ ッ ク パターン マッチ。 例: A:B OR C == 0、 A:B AND C == 1

• A:B {function} C == 0

• CEP の優先度をオプシ ョ ンで指定可能な 48 ビッ ト カウンターの自動リセッ ト (ターミナル カウン ト検出)

• 丸め動作用の中間ポイン ト検出

X-Ref Target - Figure 2-15

図 2-15: パターン検出器ロジック

C (Register)

PATTERN

P

C (Register)

MASK

C Shift by 2, 00 (Mode 2)

C Shift by 1, 0 (Mode 1)

SEL_MASK

PATTERNMASK

= 48' B00000000...= 48' B00111111...

SEL_MASK

SEL_PATTERN

PATTERNBDETECTPAST(1)

PATTERNBDETECT

PATTERNDETECT

Notes:1. Denotes an internal signal.

P

PATTERNDETECTPAST(1)

X16766-042617

UltraScale アーキテクチャ DSP48E2 スライス 38UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 39: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

パターン検出器を使用しない場合、 次のよ うにその他の機能の実装に利用できます。

• ファンアウ ト を低減してスピードを向上させるためにピン (符号ビッ ト など) を複製する。

• CLB への外部配線なしで 1 ビッ ト (例: 符号ビッ ト ) に対する内蔵インバーターをインプリ メン トする。

• 浮動小数点のスティ ッキー ビッ トのチェッ ク、 特殊なケースへの対応、 または DSP48E2 スライス出力のモニタ

リ ング。

• 特殊条件が満たされたと きに、 または特殊条件が満たされないと きにフラグする。

マスク フ ィールドを使用して、 パターン検出器で特定のビッ ト位置をマスクするこ と も可能です。 パターン フ ィー

ルドおよびマスク フ ィールドには、 48 ビッ トのコンフ ィギュレーシ ョ ン フ ィールドの値、 または C 入力で設定した

値を使用します。

オーバーフローおよびアンダーフロー ロジック

こ こで説明するオーバーフロー /アンダーフローの内容は、 1 つの DSP48E2 スライスにインプリ メン ト されたシーケ

ンシャル アキュムレータ (MACC または加算器/アキュムレータ ) に当てはま り ます。 アキュムレータには 1 ビッ ト以

上のガード ビッ トが必要です。 パターン検出器がマスク 0011111 …1 (デフォルト設定) でパターン = 00000…0 を検出するよ うに設定されている場合、DSP48E2 スライスは 00111 … 1 を超えるオーバーフロー、 または 11000… 0 を下回るアンダーフローをフラグします。 USE_PATTERN_DETECT 属性を PATDET に設定する と、 パターン検出ロ

ジッ クの使用が有効になり ます。 このオーバーフロー /アンダーフローの実装は冗長符号ビッ ト を使用し、 出力ビッ

ト幅を 47 に削減します。

マスク値を 0000111 …1 に変更する と、 オーバーフローが検出されるビッ ト値 P[N] を変更できます。 このロジッ ク

は、2N - 1 の正の値への飽和および 2 の補数表現での 2N の負の値への飽和をサポート します (N はマスク フ ィールド

内の値 1 の桁数)。

N = 2 の場合、 オーバーフロー /アンダーフロー条件を確認するには、 次の例を使用します。

• マスクが 0...11 に設定されている

• (N) LSB ビッ トは、 比較には考慮されない

• N = 2 の場合、 合法的な値 (パターン) は、 22-1 ~ –22 または 3 ~ -4

X-Ref Target - Figure 2-16

図 2-16: パターン検出のオーバーフロー /アンダーフロー ロジック

PATTERNBDETECTPAST(1)

PATTERNBDETECTPATTERNDETECT

Notes:1. Denotes an internal signal.

Underflow

PATTERNDETECTPAST(1)

PATTERNBDETECTPATTERNDETECT

Overflow

PATTERNMASK

= 48' B00000000...= 48' B00111111...

X16767-041219

UltraScale アーキテクチャ DSP48E2 スライス 39UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 40: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

図 2-17 および図 2-18 は、 それぞれオーバーフローとアンダーフローの例を示しています。

• P == pattern または mask の場合、 PATTERNDETECT は 1

• P == patternb または mask の場合、 PATTERNBDETECT は 1

オーバーフローは、 加算によって加算器/減算器/論理ユニッ トの出力値が 3 を超える と発生します。 終値 0..0011 に 1 を加算する と 0..0100 とな り、 これによ り PATTERNDETECT 出力は 0 になり ます。

PATTERNDETECT 出力が 1 から 0 になる と、 オーバーフローがアサート されます。

アンダーフローは、 減算によって値が –4 未満になる と発生します。 1..1100 から 1 を減算する と 1..1010 (–5) とな り、 これによ り PATTERNBDETECT 出力は 0 になり ます。 PATTERNBDETECT 出力が 1 から 0 になる と、 アン

ダーフローがアサート されます。

オーバーフローとアンダーフローは、 直前の値 (オーバーフローの場合は正、 アンダーフローの場合は負) を基準に

します。 オーバーフローは正の値から有効範囲外の値を減算した結果と して発生する場合があ り ます。 同様に、 ア

ンダーフローが負の値に有効範囲外の値を加算した結果と して発生するこ と もあ り ます。

X-Ref Target - Figure 2-17

図 2-17: パターン検出のオーバーフロー条件

X-Ref Target - Figure 2-18

図 2-18: パターン検出のアンダーフロー条件

x x x x x 0 .. 0000 0 .. 0001 0 .. 0010 0 .. 0011 0 .. 0100

PATTERNDETECT Caused by OverflowHigh to Low

OverflowX16768-042617

x x x x 1 .. 1111 1 .. 1110 1 .. 1101 1 .. 1100 1 .. 1010

PATTERNBDETECT Caused by UnderflowHigh to Low

Underflow

0 .. 0000

X16769-042617

UltraScale アーキテクチャ DSP48E2 スライス 40UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 41: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

多ビッ ト XORDSP48E2 スライスの新機能と して、 96 ビッ ト幅の XOR ファンクシ ョ ンの実行が可能になり ました。 XOR には入力

と して X、 Y、 Z マルチプレクサーを使用します。 W マルチプレクサーは出力と してすべて 0 を選択します。 ALU ロジッ クは、 表 2-10 に示すよ うに、 適切な OPMODE および ALUMODE 信号を選択するこ とによって、 多ビッ トの XOR の 1 段目に使用され、 X XOR Z または X XOR Y XOR Z をインプリ メン ト します。 次に、 信号は専用出力を持

つ XOR ロジッ ク ツ リーに分岐します。 マルチプレクサーによ り、 8 個の 12 ビッ ト幅 XOR、 4 個の 24 ビッ ト幅 XOR、 2 個の 48 ビッ ト幅 XOR、 1 個の 96 ビッ ト幅 XOR のいずれかを選択できます。 図 2-19 を参照してください。

図 2-19 の S[47:0] 内部バスは、 P[47:0] 出力バスではなく、 4:2 コンプレッサー バスの 1 つです。

X-Ref Target - Figure 2-19

図 2-19: ALU で多ビッ ト XOR ファンクシ ョ ンを作成

+–

0PCIN

PC

0A:B

P

[47:0]X

Z[47:0]

ALUMODE[3:0]

S[47:0]

S[47:42]

S[41:36]

S[23:18]

S[17:12]

S[11:6]

S[5:0] XOR12A

XOR12B

XOR12C

XOR12D

XOR12E

XOR12F

XOR12G

XOR12HXOROUT[7]

XOROUT[6]

XOROUT[5]

XOROUT[4]

XOROUT[3]

XOROUT[2]

XOROUT[1]

XOROUT[0]

XOR24D

XOR24C

XOR24B

XOR24A

XOR48B

XOR96

XOR48A

S[29:24]

S[35:30]

01C

[47:0]Y

X16770-042617

UltraScale アーキテクチャ DSP48E2 スライス 41UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 42: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

XOR ファンクシ ョ ンの幅を 96 ビッ ト または 12/24/48 ビッ トのいずれにするかは、 表 2-11 に示す XORSIMD 属性に

よって選択します。

専用の XOR ロジッ クによ り、 前方エラー訂正や CRC アルゴ リ ズムをインプ リ メン トする際の性能が向上します。

また、 多ビッ ト XOR ファンクシ ョ ンが不要な場合は、 電力削減モードを有効にする USE_WIDEXOR 属性もあ り ま

す (50 ページの表 3-3 参照)。

1 段目の XOR は、 XOR2 または XOR3 のいずれかです。 いずれの場合も、 ALU の XOR ファンクシ ョ ンに対して ALUMODE[3:0] = 0100 です。 Y マルチプレクサーで 0 を選択する と、 XOR2 が構成されます。 Y マルチプレクサー

で C レジスタを選択する と、 XOR3 が構成され、 ALU で 大 48 の XOR3 をサポート します。 第 3 の入力には P 出力

か PCIN カスケード接続を使用できます。 この入力は、 さ らに幅の広い XOR ファンクシ ョ ンを可能にする XOR の累

算およびカスケード機能を提供します。

表 2-11: XOR9_XOR SIMD モード ビッ ト

XORSIMD属性

XOR幅

XOR 入力ビッ ト (A:B^C)

対応するXOROUT

XOR12 12 ビッ ト

S[5:0] XOROUT[0]

S[11:6] XOROUT[1]

S[17:12] XOROUT[2]

S[23:18] XOROUT[3]

S[29:24] XOROUT[4]

S[35:30] XOROUT[5]

S[41:36] XOROUT[6]

S[47:42] XOROUT[7]

XOR24_48_96

24 ビッ ト

S[11:0] XOROUT[0]

S[23:12] XOROUT[2]

S[35:24] XOROUT[4]

S[47:36] XOROUT[6]

48 ビッ トS[23:0] XOROUT[1]

S[47:24] XOROUT[5]

96 ビッ ト S[47:0] XOROUT[3]

UltraScale アーキテクチャ DSP48E2 スライス 42UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 43: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

DSP48E2 の動作モード

表 2-12 は、 1 つの DSP48E2 スライスで可能な主な動作モードをま とめたもので、 主要な機能と使用されるソースが

記載されています。 表 2-13 から表 2-17 には、 それぞれ 2、 3、 4、 6、 8 個のカスケード接続されたスライスに拡張し

た場合の動作モードを示します。

表 2-12: DSP48E2 の動作モード : 1 スライス

動作モード 前置加算器 A/B/P カスケード 48 ビッ ト C ポート RND のサポート

27x18 + C 乗算/MACC 17/26 ビッ ト N/A 使用 あり

27x18 複素数シーケンシャル MACC オプシ ョ ン N/A オプシ ョ ン あ り

27x19 または 28x18 N/A N/A 使用 制限あり

前置加算器出力の 2 乗 17 ビッ ト N/A オプシ ョ ン オプシ ョ ン

SIMD 加算/減算/カウンター /累算 N/A N/A 使用 なし

48 ビッ ト加算/減算/カウンター /累算 N/A N/A 使用 あり

48 ビッ ト 2:1 バス多重化 N/A N/A 使用 N/A

XOR96/48/24/12 N/A N/A 使用 N/A

AND96/NOR96 N/A N/A 使用 N/A

48 の 2 入力論理演算 N/A N/A 使用 N/A

表 2-13: DSP48E2 の動作モード : 2 スライス

動作モード 前置加算器 A/B/P カスケード 48 ビッ ト C ポート RND のサポート

27x18 + C MACC96 26 ビッ ト P を使用 使用 あ り

35x27 + C 26 ビッ ト あ り 使用 あ り

35x28 または 36x27 N/A あ り 使用 制限あ り

44x18 + C 17 ビッ ト あ り 使用 あ り

44x19 または 45x18 N/A あ り 使用 なし

27x18 + C シス ト リ ッ ク乗算/加算 2 タ ップ フ ィルター

17/26 ビッ ト あ り 使用 あ り

2 つの前置加算器出力の 2 乗の和 17 ビッ ト P を使用 オプシ ョ ン オプシ ョ ン

96 ビッ ト加算/減算/カウンター /累算 N/A N/A 使用 あり

18 ビッ ト バレル シフター N/A あ り N/A N/A

34 ビッ ト バス シフター N/A あ り N/A N/A

48 ビッ ト 4:1 バス多重化 N/A P を使用 使用 N/A

XOR192/96/48/24 N/A P を使用 使用 N/A

AND144/NOR144 N/A P を使用 使用 N/A

48 の 3 入力論理演算 (48 XOR4) N/A P を使用 使用 N/A

UltraScale アーキテクチャ DSP48E2 スライス 43UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 44: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

表 2-14: DSP48E2 の動作モード : 3 スライス

動作モード 前置加算器 A/B/P カスケード 48 ビッ ト C ポート RND のサポート

18x18 複素数乗算/MACC 18 ビッ ト A を使用 使用 あ り

26x17 複素数演算/MACC 26 ビッ ト A/B を使用 使用 あ り

52x27 + C 26 ビッ ト あ り 使用 あ り

52x28 または 53x27 N/A あ り 使用 制限あ り

61x18 + C 17 ビッ ト あ り 使用 あ り

61x19 または 62x18 N/A あ り 使用 制限あ り

27x18 + C シス ト リ ッ ク乗算/加算 3 タ ップ フ ィルター

17/26 ビッ ト あ り 使用 あ り

3 つの前置加算器出力の 2 乗の和 17 ビッ ト P を使用 オプシ ョ ン オプシ ョ ン

144 ビッ ト加算/減算/カウンター /累算 N/A N/A 使用 あり

48 ビッ ト 6:1 バス多重化 N/A P を使用 使用 N/A

XOR288/144/72/36 N/A P を使用 使用 N/A

AND192/NOR192 N/A P を使用 使用 N/A

48 の 4 入力論理演算 (48 XOR6) N/A P を使用 使用 N/A

表 2-15: DSP48E2 の動作モード : 4 スライス

動作モード 前置加算器 A/B/P カスケード 48 ビッ ト C ポート RND のサポート

27x19 複素数乗算 N/A P を使用 使用 あ り

27x18 + C 複素数乗算/MACC 17 ビッ ト P を使用 使用 あ り

44x35 + C N/A B/P を使用 使用 あ り

44x36 または 45x35 N/A B/P を使用 使用 あ り

69x27 + C 26 ビッ ト あ り 使用 あ り

69x28 または 70x27 N/A あ り 使用 制限あ り

78x18 + C 17 ビッ ト あ り 使用 あ り

78x19 または 79x18 N/A あ り 使用 制限あ り

27x18 + C シス ト リ ッ ク乗算/加算 4 タ ップ フ ィルター

17/26 ビッ ト あ り 使用 あ り

4 つの前置加算器出力の 2 乗の和 17 ビッ ト P を使用 オプシ ョ ン オプシ ョ ン

192 ビッ ト加算/減算/カウンター /累算 N/A N/A 使用 あり

48 ビッ ト 8:1 バス多重化 N/A P を使用 使用 N/A

XOR384/192/96/48 N/A P を使用 使用 N/A

AND240/NOR240 N/A P を使用 使用 N/A

48 の 5 入力論理演算 (48 XOR8) N/A P を使用 使用 N/A

UltraScale アーキテクチャ DSP48E2 スライス 44UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 45: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 2 章: DSP48E2 の機能

表 2-16: DSP48E2 の動作モード : 6 スライス

動作モード 前置加算器 A/B/P カスケード 48 ビッ ト C ポート RND のサポート

27x18 + C 複素数 MACC96 17 ビッ ト P を使用 使用 あ り

61x35 + C N/A B/P を使用 使用 あ り

61x36 または 62x35 N/A B/P を使用 使用 あ り

103x27 + C 26 ビッ ト あ り 使用 あ り

103x28 または 104x27 N/A あ り 使用 制限あ り

112x18 + C 17 ビッ ト あ り 使用 あ り

112x19 または 113x18 N/A あ り 使用 制限あ り

53x53 符号なし N/A あ り 使用 なし

27x18 + C シス ト リ ッ ク乗算/加算 6 タ ップ フ ィルター

17/26 ビッ ト あ り 使用 あ り

6 つの前置加算器出力の 2 乗の和 17 ビッ ト P を使用 オプシ ョ ン オプシ ョ ン

288 ビッ ト加算/減算/カウンター /累算 N/A N/A 使用 あり

48 ビッ ト 12:1 バス多重化 N/A P を使用 使用 N/A

XOR576/288/144/72 N/A P を使用 使用 N/A

AND336/NOR336 N/A P を使用 使用 N/A

48 の 7 入力論理演算 (48 XOR12) N/A P を使用 使用 N/A

表 2-17: DSP48E2 の動作モード : 8 スライス

動作モード 前置加算器 A/B/P カスケード 48 ビッ ト C ポート RND のサポート

35x27 + C 複素数乗算 26 ビッ ト B/P を使用 使用 あ り

78x35 + C N/A B/P を使用 使用 あ り

78x36 または 79x35 N/A B/P を使用 使用 制限あり

69x44 + C N/A B/P を使用 使用 あ り

69x45 または 70x44 N/A B/P を使用 使用 制限あり

27x18 + C シス ト リ ッ ク乗算/加算 8 タ ップ フ ィルター

17/26 ビッ ト あ り 使用 あ り

8 つの前置加算器出力の 2 乗の和 17 ビッ ト P を使用 オプシ ョ ン オプシ ョ ン

384 ビッ ト加算/減算/カウンター /累算 N/A N/A 使用 あり

48 ビッ ト 16:1 バス多重化 N/A P を使用 使用 N/A

XOR768/384/192/96 N/A P を使用 使用 N/A

AND432/NOR432 N/A P を使用 使用 N/A

48 の 9 入力論理演算 (48 XOR16) N/A P を使用 使用 N/A

UltraScale アーキテクチャ DSP48E2 スライス 45UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 46: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 3 章

DSP48E2 のデザイン入力

概要

ザイ リ ンクスは、 ハード ウェア、 アルゴ リズム、 そして従来プロセッサ ベースの DSP それぞれの設計者が抱える固

有ニーズに応じる、 統合 DSP デザイン フローを提供しています。 このフローは、 あらゆる主要 DSP デザイン入力を

サポート し、 デザインの生産性を確保するものです。

DSP 向けの Vivado™ Design Suite System Generator for DSP は、 高度なモデル ベースのデザインを、 MathWorks MATLAB や Simulink を用いて作成できるよ うにします。 また、 固定小数点または浮動小数点のハードウェア生成、

ハード ウェア協調シ ミ ュレーシ ョ ン、 RTL またはエンベデッ ド システムへのシステム統合をサポート します。 詳細

は、 『Vivado Design Suite リ ファレンス ガイ ド : System Generator を使用したモデル ベースの DSP デザイン』 (UG958) [参照 4] を参照して ください。

Vivado 高位合成 [参照 5] は C、 C++、 およびシステム C 仕様を直接プログラマブル ロジッ クでターゲッ トにできる

ため、 手作業による RTL 作成が不要となり、 デザインのインプ リ メンテーシ ョ ンが加速されます。

Vivado Design Suite には、 RTL または System Generator/Vivado HLS に対応し、デバイスに 適化された DSP IP の充実

したライブラ リが含まれており、 DSP デザインを簡単に構築できます。 これによ り、 FPGA 設計に豊富な経験のな

い設計者であっても高い QoR (結果の品質) が得られます。 RTL によってインプリ メン ト された DSP アルゴ リズム

は、 MATLAB/Simulink または C/C++ などの DSP 固有シ ミ ュレーシ ョ ン環境で検証可能です。

合成ツールでは、 ほとんどの DSP ファンクシ ョ ンおよび多くの演算ファンクシ ョ ンに対して、 DSP48E2 スライスを HDL コードから自動的に推論されます (詳細は合成ツールのマニュアル参照)。 特定の機能に直接アクセスする場合

や、 よ り高度なユーザー制御が必要な場合は、 DSP48E2 のプリ ミ ティブをインスタンシエートできます。

表 3-1: デザイン入力の方法

方法 サポート

インスタンシエーシ ョ ン あ り

推論 推奨

Vivado IP カタログ あ り

マクロ あ り

UltraScale アーキテクチャ DSP48E2 スライス 46UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 47: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 3 章: DSP48E2 のデザイン入力

DSP48E2 スライスのプリ ミテ ィブ

図 3-1 に、 DSP48E2 のプリ ミ ティブを示します。 この図では、 DSP48E2 スライスの入力および出力ピンを示し、 各

ポートのビッ ト幅も示しています。 各ピンの定義は、 表 3-2 で説明しています。 インスタンシエーシ ョ ンの例につ

いては、『UltraScale アーキテクチャ ライブラ リ ガイ ド』 (UG974) [参照 6] および Vivado 言語テンプレート を参照して

ください。

X-Ref Target - Figure 3-1

図 3-1: DSP48E2 スライスのプリ ミテ ィブ

A[29:0]B[17:0]C[47:0]

OPMODE[8:0]ALUMODE[3:0]CARRYINCARRYINSEL[2:0]

CEA 1CEA 2CEB 1CEB 2CECCEDCEMCEPCEAD

RSTARSTB

ACOUT[29:0]BCOUT[17:0]PCOUT[47:0]

P[47:0]

CARRYOUT[3:0]CARRYCASCOUT

MULTSIGNOUT

PATTERNDETECTPATTERNBDETECT

OVERFLOWUNDERFLOW

RSTC RSTDRSTMRSTPRSTCTRLRSTALLCARRYIN

CLK

RSTALUMODERSTINMODE

ACIN[29:0]BCIN[17:0]PCIN[47:0]CARRYCASCINMULTSIGNIN

CEALUMODECECTRLCECARRYINCEINMODE

301848

D[26:0]27

301848

4894

3

INMODE[4:0]5

4

301848

XOROUT[7:0] 8

X16771-042617

UltraScale アーキテクチャ DSP48E2 スライス 47UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 48: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 3 章: DSP48E2 のデザイン入力

表 3-2: DSP48E2 のピンの説明

名前 方向 ビッ ト幅 説明

A(1) 入力 30 A[26:0] は、 乗算器または前置加算器の A 入力。 A[29:0] は、 2 段目の加

算器/乗算器またはロジッ ク ファンクシ ョ ンへの A:B 連結入力の MSB ( 上位ビッ ト )。

ACIN(2) 入力 30 カスケード接続されている上位 DSP48E2 スライス (A とマルチプレクス) の ACOUT と接続するデータ入力。

ACOUT(2) 出力 30 カスケード接続されている下位 DSP48E2 スライスの ACIN へ接続する

データ出力。

ALUMODE 入力 4 DSP48E2 スライス内のロジッ ク ファンクシ ョ ンの選択を制御する。

B(1) 入力 18 乗算器の B 入力。 B[17:0] は、 2 段目の加算器/乗算器またはロジッ ク ファンクシ ョ ンへの A:B 連結入力の LSB ( 下位ビッ ト )。

BCIN(2) 入力 18 カスケード接続されている上位 DSP48E2 スライス (B とマルチプレクス) の BCOUT と接続するデータ入力。

BCOUT(2) 出力 18 カスケード接続されている下位 DSP48E2 スライスの BCIN へ接続する

データ出力。

C(1) 入力 48 2 段目の加算器/減算器、 パターン検出器、 またはロジッ ク ファンク

シ ョ ンへのデータ入力。

CARRYCASCIN(2) 入力 1 カスケード接続されている上位 DSP48E2 スライスの CARRYCASCOUT と接続するキャ リー入力。

CARRYCASCOUT(2) 出力 1 カスケード接続されている下位 DSP48E2 スライスの CARRYCASCIN へ接続するキャ リーアウ ト 。 この信号は、 同じ DSP48E2 スライスの CARRYINSEL マルチプレクサー入力へ内部フ ィードバッ ク される

CARRYIN 入力 1 ロジッ クからのキャ リー入力。

CARRYINSEL 入力 3 キャ リー ソースを選択する。

CARRYOUT 出力 4 アキュムレータ /加算器/論理ユニッ トの各 12 ビッ ト フ ィールドからの 4 ビッ ト CARRYOUT 信号。 通常の 48 ビッ ト演算には CARRYOUT3 だけが使用される。 SIMD 演算では 4 ビッ ト キャ リーアウ ト (CARRYOUT[3:0]) が使用可能。

CEA1 入力 1 1 段目の A (入力) レジスタ用のクロ ッ ク イネーブル。A1 は、AREG = 2 または INMODE[0] = 1 の場合のみ使用します。

CEA2 入力 1 2 段目の A (入力) レジスタ用のクロ ッ ク イネーブル。A2 は、AREG = 1 または 2、 および INMODE[0] = 0 の場合のみ使用します。

CEAD 入力 1 前置加算器出力 AD パイプライン レジスタ用のクロ ッ ク イネーブル。

CEALUMODE 入力 1 ALUMODE (制御入力) レジスタ用のクロ ッ ク イネーブル。

CEB1 入力 1 1 段目の B (入力) レジスタ用のクロ ッ ク イネーブル。 B1 は、 BREG = 2 または INMODE[4] = 1 の場合のみ使用します。

CEB2 入力 1 2 段目の B (入力) レジスタ用のクロ ッ ク イネーブル。 B2 は、 BREG = 1 または 2、 および INMODE[4] = 0 の場合のみ使用します。

CEC 入力 1 C (入力) レジスタ用のクロ ッ ク イネーブル。

CECARRYIN 入力 1 CARRYIN (ロジッ クからの入力) レジスタ用のクロ ッ ク イネーブル。

UltraScale アーキテクチャ DSP48E2 スライス 48UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 49: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 3 章: DSP48E2 のデザイン入力

CECTRL 入力 1 OPMODE および CARRYINSEL (制御入力) レジスタ用のクロ ッ ク イネーブル。

CED 入力 1 D (入力) レジスタ用のクロ ッ ク イネーブル。

CEINMODE 入力 1 INMODE 制御入力レジスタ用のクロ ッ ク イネーブル。

CEM 入力 1 乗算後の M (パイプライン) レジスタおよび内部乗算丸め CARRYIN レジスタ用のクロ ッ ク イネーブル。

CEP 入力 1 P (出力) レジスタ用のクロ ッ ク イネーブル。

CLK 入力 1 DSP48E2 入力クロ ッ ク (すべての内部レジスタおよびフ リ ップフロ ップ

で共通)。

D(1) 入力 27 前置加算器への 27 ビッ ト データ入力または乗算器への代替入力。 前置

加算器は INMODE3 信号で指定される D + A を実行する。

INMODE 入力 5 前置加算器、 A、 B、 D 各入力、 および入力レジスタの機能を選択する 5 つの制御ビッ ト。 未使用の場合は GND に固定します。

MULTSIGNIN(2) 入力 1 MACC 拡張用に上位 DSP48E2 スライスから渡される乗算結果の符号。

MULTSIGNOUT(2) 出力 1 MACC 拡張用に、 カスケード接続されている下位 DSP48E2 スライスに

渡す乗算結果の符号。

OPMODE 入力 9 DSP48E2 スライス内の W、 X、 Y、 および Z マルチプレクサーへの入力

を制御する。

OVERFLOW 出力 1 適切に設定したパターン検出器を使用した場合、 オーバーフローを示

す出力。

P 出力 48 2 番目の加算器/減算器またはロジッ ク ファンクシ ョ ンからのデータ出力。

PATTERNBDETECT 出力 1 P[47:0] とパターンの補数の一致を示す出力。

PATTERNDETECT 出力 1 P[47:0] とパターンの一致を示す出力。

PCIN(2) 入力 48 カスケード接続されている上位 DSP48E2 スライスの加算器 PCOUT と接続するデータ入力。

PCOUT(2) 出力 48 カスケード接続されている下位 DSP48E2 スライスの PCIN へ接続する

データ出力。

RSTA 入力 1 両方の A (入力) レジスタ用のリセッ ト 。

RSTALLCARRYIN 入力 1 キャ リー (内部パス) および CARRYIN レジスタ用のリセッ ト 。

RSTALUMODE 入力 1 ALUMODE (制御入力) レジスタ用のリセッ ト 。

RSTB 入力 1 両方の B (入力) レジスタ用のリセッ ト 。

RSTC 入力 1 C (入力) レジスタ用のリセッ ト 。

RSTCTRL 入力 1 OPMODE および CARRYINSEL (制御入力) レジスタ用のリセッ ト 。

RSTD 入力 1 D (入力) レジスタおよび前置加算器 (出力) AD パイプライン レジスタ用

のリセッ ト 。

RSTINMODE 入力 1 INMODE (制御入力) レジスタ用のリセッ ト 。

RSTM 入力 1 M (パイプライン) レジスタ用のリセッ ト 。

表 3-2: DSP48E2 のピンの説明 (続き)

名前 方向 ビッ ト幅 説明

UltraScale アーキテクチャ DSP48E2 スライス 49UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 50: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 3 章: DSP48E2 のデザイン入力

DSP48E2 スライスの属性とレジスタ

このセクシ ョ ンでは、 DSP48E2 スライスの合成属性について説明します。 属性は制御およびデータパス上のパイプ

ライン レジスタを呼び出し、 属性値はパイプライン レジスタの段数を示します。 属性の説明は表 3-3、 内部レジス

タの説明は表 3-4 を参照してください。

RSTP 入力 1 P (出力) レジスタ用のリセッ ト 。

UNDERFLOW 出力 1 適切に設定したパターン検出器を使用した場合に、 アンダーフローを

示す出力。

XOROUT 出力 8 XORSIMD 属性に基づく多ビッ トの XOR の出力。 図 2-19 を参照してく

ださい。

注記:1. これらのデータ ピンが使用されていないと き、 リーク電力の損失を抑えるには、 データ ピン入力信号を High、 入力レジスタを選択、 そ

して CE および RST 入力制御信号を Low にする必要があ り ます。 未使用の C 入力の推奨される設定例は、 C[47:0] = すべて 1、 CREG = 1、CEC = 0、 および RSTC = 0 とするこ とです。

2. これらの信号は、 DSP48E2 カラム内の専用配線パスです。 汎用配線リ ソースからは、 これらの信号にアクセスできません。

3. 信号はすべてアクティブ High です。

表 3-2: DSP48E2 のピンの説明 (続き)

名前 方向 ビッ ト幅 説明

表 3-3: 属性設定の説明

属性名 設定 (デフォルト ) 属性の説明

レジスタ制御属性

ACASCREG 0、 1、 2 (1) AREG と併用し、A カスケード パス (ACOUT) 上の A 入力レジス

タ数を選択します。 値は AREG と同じか 1 つ少なくなり ます。

AREG が 0 の場合: ACASCREG は必ず 0AREG が 1 の場合: ACASCREG は必ず 1AREG が 2 の場合: ACASCREG は 1 または 2 に設定可能

ADREG 0、 1 (1) AD パイプライン レジスタ数を選択します。

ALUMODEREG 0、 1 (1) ALUMODE 入力レジスタ数を選択します。

AREG 0、 1、 2 (1) ALU への X マルチプレクサーの A 入力レジスタ数を選択し

ます。 1 を選択する と、 A2 レジスタが使用されます。 乗算器

の INMODE[0] およびカスケード パスの ACASCREG と併用

します。

BCASCREG 0、 1、 2 (1) BREG と併用し、B カスケード パス (BCOUT) 上の B 入力レジス

タ数を選択します。 値は BREG と同じか 1 つ少なくなり ます。

BREG が 0 の場合: BCASCREG は必ず 0BREG が 1 の場合: BCASCREG は必ず 1BREG が 2 の場合: BCASCREG は 1 または 2 に設定可能

BREG 0、 1、 2 (1) ALU への X マルチプレクサーの B 入力レジスタ数を選択し

ます。 1 を選択する と、 B2 レジスタが使用されます。 乗算器

の INMODE[4] およびカスケード パスの BCASCREG と併用

します。

CARRYINREG 0、 1 (1) CARRYIN 入力レジスタ数を選択します。

UltraScale アーキテクチャ DSP48E2 スライス 50UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 51: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 3 章: DSP48E2 のデザイン入力

CARRYINSELREG 0、 1 (1) CARRYINSEL 入力レジスタ数を選択します。

CREG 0、 1 (1) C 入力レジスタ数を選択します。

DREG 0、 1 (1) D 入力レジスタ数を選択します。

INMODEREG 0、 1 (1) INMODE 入力レジスタ数を選択します。

MREG 0、 1 (1) M パイプライン レジスタ数を選択します。

OPMODEREG 0、 1 (1) OPMODE 入力レジスタ数を選択します。

PREG 0、 1 (1) P 出力レジスタ数を選択します (CARRYOUT、PATTERNDETECT、 PATTERNBDETECT、 OVERFLOW、

UNDERFLOW、 XOROUT、 CARRYCASCOUT、MULTSIGNOUT、 PCOUT にも使用)。

機能制御属性

A_INPUT DIRECT、 CASCADE (DIRECT)

A 入力をパラレル入力 (DIRECT)、 または前のスライス とカス

ケード接続された入力 (CASCADE) から選択します。

B_INPUT DIRECT、 CASCADE (DIRECT)

B 入力をパラレル入力 (DIRECT)、 または前のスライス とカス

ケード接続された入力 (CASCADE) から選択します。

PREADDINSEL A、 B (A) 前置加算器の D に加算する入力を選択します。

AMULTSEL A、 AD (A) 乗算器の 27 ビッ トの A 入力を選択します。 7 シ リーズの DSP48E1 プリ ミ ティブでは、 この属性を USE_DPORT と呼ん

でいましたが、 前置加算器の柔軟性が強化されたため名称を

変更しました (デフォルトの AMULTSEL = A は、USE_DPORT = FALSE と等価)。

BMULTSEL B、 AD (B) 乗算器の 18 ビッ トの B 入力を選択します。

USE_MULT NONE、 MULTIPLY、

DYNAMIC (MULTIPLY)乗算器の使用法を選択します。 加算器または論理ユニッ トの

みを使用する場合は、 消費電力削減のために NONE に設定し

ます。

A*B 演算と A:B 演算を動的に切り替えるために、 2 つのパス

のワース ト ケースのタイ ミ ングを特定する必要がある場合

は、 DYNAMIC を使用します。

RND 48 ビッ ト フ ィールド (00...00)

この 48 ビッ トの値は、 WMUX への丸め定数として使用します。

USE_SIMD ONE48、 TWO24、FOUR12 (ONE48)

加算器/減算器の動作モードを選択します。 属性設定には、

1 つの 48 ビッ ト加算器モード (ONE48)、 2 つの 24 ビッ ト加算

器モード (TWO24)、 および 4 つの 12 ビッ ト加算器モード (FOUR12) があ り ます。 ONE48 は Virtex-6 デバイスの DSP48 動作と互換性があ り、 実際は、 SIMD モードではあ り ません。

標準的な乗算/加算動作は、 ONE48 モードで設定されている場

合にサポート されます。

TWO24 または FOUR12 モードのいずれかを選択した場合は、

乗算器を使用しないでください。 USE_MULT は NONE に設定

する必要があ り ます。

表 3-3: 属性設定の説明 (続き)

属性名 設定 (デフォルト ) 属性の説明

UltraScale アーキテクチャ DSP48E2 スライス 51UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 52: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 3 章: DSP48E2 のデザイン入力

USE_WIDEXOR TRUE、 FALSE (FALSE) 多ビッ トの XOR を使用するかど うかを決定します。

XORSIMD XOR12、 XOR24_48_96 (XOR24_48_96)

多ビッ トの XOR の動作モードを選択します。 1 個の 96 ビッ

ト 、 2 個の 48 ビッ ト 、 4 個の 24 ビッ ト XOR モード (XOR24_48_96) または 8 個の 12 ビッ ト XOR モード (XOR12) に設定できます。

パターン検出属性

AUTORESET_PATDET NO_RESET、RESET_MATCH、

RESET_NOT_MATCH (NO_RESET)

パターン検出イベン トが現在のクロ ッ ク サイクルで発生した

場合に、 P レジスタ (累積値またはカウンター値) を次のク

ロ ッ ク サイクルで自動的にリセッ ト します。 RESET_MATCH および RESET_NOT_MATCH は、 DSP48E2 スライスが次のク

ロ ッ ク サイクルで P レジスタを自動リセッ トする条件を指定

します。

• パターンが一致する場合

または

• 直前のサイ クルで一致していたパターンが現在のクロ ッ ク サイ クルで一致しなくなった場合

AUTORESET_PRIORITY RESET、 CEP (RESET) AUTORESET_PATDET 機能を使用する場合に CEP に設定する

と、 P レジスタはクロ ッ ク イネーブルの値を リセッ ト ペン

ディング状態にするだけです。 それ以外の設定では、 自動リ

セッ トが優先されます。

MASK 48 ビッ ト フ ィールド (0011...11)

パターン検出中に特定ビッ ト をマスクするために使用される 48 ビッ ト値です。値が 1 の MASK ビッ トに対応するパターン ビッ トは無視され、 値が 0 の MASK ビッ トに対応するパター

ン ビッ トが照合されます。

PATTERN 48 ビッ ト フ ィールド (00...00)

パターン検出器で使用される 48 ビッ ト値です。

SEL_MASK MASK、 C、ROUNDING_MODE1、ROUNDING_MODE2

(MASK)

パターン検出器に使用されるマスクを選択します。 C および MASK は、 標準的なパターン検出 (カウンター、 オーバーフ

ロー検出など) の設定です。 ROUNDING_MODE1 (C バーを 1 ビッ ト左シフ ト ) および ROUNDING_MODE2 (C バーを 2 ビッ ト左シフ ト ) は、 オプシ ョ ンでレジスタに保持する C 入力を基準とする特殊なマスクを選択します。 これらの丸め

モードは、 パターン検出器を使用して DSP48E2 スライスに収

束丸めをインプリ メン トする場合に使用できます。

SEL_PATTERN PATTERN、 C (PATTERN)

マスク フ ィールド用の入力ソースを選択します。 この入力

ソースには、 48 ビッ トの動的 「C」 入力または 48 ビッ トの静

的な属性値項目のいずれかを使用できます。

USE_PATTERN_DETECT NO_PATDET、 PATDET (NO_PATDET)

パターン検出器および関連する機能が使用されている場合は PATDET、 使用されていない場合は NO_PATDET に設定しま

す。 この属性は、 スピード仕様およびシ ミ ュレーシ ョ ン モデ

ルにのみ使用されます。

表 3-3: 属性設定の説明 (続き)

属性名 設定 (デフォルト ) 属性の説明

UltraScale アーキテクチャ DSP48E2 スライス 52UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 53: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 3 章: DSP48E2 のデザイン入力

オプシ ョ ンの反転属性

IS_ALUMODE_INVERTED 4 ビッ ト バイナリ

(4'b0000)DSP スライス内で ALUMODE[3:0] の反転オプシ ョ ンを適用す

るかど うかを示します。デフォルトの 4'b0000 は、ALUMODE バスの全ビッ トが反転されないこ とを意味します。 属性の各

ビッ トが、 ALUMODE バスの対応するビッ ト を制御します。

IS_CARRYIN_INVERTED 1 ビッ ト バイナリ

(1'b0)DSP スライス内で CARRYIN の反転オプシ ョ ンを適用するか

ど うかを示します。 デフォルトの 1'b0 は CARRYIN が反転さ

れないこ とを意味します。

IS_CLK_INVERTED 1 ビッ ト バイナリ

(1'b0)DSP スライス内で CLK の反転オプシ ョ ンを適用するかど うか

を示します。 デフォルトの 1'b0 は CLK が反転されないこ とを

意味します。

IS_INMODE_INVERTED 5 ビッ ト バイナリ

(5'b00000)DSP スライス内で INMODE[4:0] の反転オプシ ョ ンを適用する

かど うかを示します。 デフォルトの 5'b00000 は、 INMODE バスの全ビッ トが反転されないこ とを意味します。 属性の各

ビッ トが、 INMODE バスの対応するビッ ト を制御します。

IS_OPMODE_INVERTED 9 ビッ ト バイナリ (9'b000000000)

DSP スライス内で OPMODE[8:0] の反転オプシ ョ ンを適用する

かど うかを示します。 デフォルトの 9'b000000000 は、

OPMODE バスの全ビッ トが反転されないこ とを意味します。

属性の各ビッ トが、 OPMODE バスの対応するビッ ト を制御し

ます。

IS_RSTA_INVERTED 1 ビッ ト バイナリ

(1'b0)DSP スライス内で RSTA の反転オプシ ョ ンを適用するかど う

かを示します。 デフォルトの 1'b0 は RSTA が反転されないこ

とを意味します。

IS_RSTALLCARRYIN_INVERTED 1 ビッ ト バイナリ

(1'b0)DSP スライス内で RSTALLCARRYIN の反転オプシ ョ ンを適用

するかど うかを示します。 デフォルトの 1'b0 は RSTALLCARRYIN が反転されないこ とを意味します。

IS_RSTALUMODE_INVERTED 1 ビッ ト バイナリ

(1'b0)DSP スライス内で RSTALUMODE の反転オプシ ョ ンを適用す

るかど うかを示します。 デフォルトの 1'b0 は RSTALUMODE が反転されないこ とを意味します。

IS_RSTB_INVERTED 1 ビッ ト バイナリ

(1'b0)DSP スライス内で RSTB の反転オプシ ョ ンを適用するかど う

かを示します。 デフォルトの 1'b0 は RSTB が反転されないこ

とを意味します。

IS_RSTC_INVERTED 1 ビッ ト バイナリ

(1'b0)DSP スライス内で RSTC の反転オプシ ョ ンを適用するかど う

かを示します。 デフォルトの 1'b0 は RSTC が反転されないこ

とを意味します。

IS_RSTCTRL_INVERTED 1 ビッ ト バイナリ

(1'b0)DSP スライス内で RSTCTRL の反転オプシ ョ ンを適用するか

ど うかを示します。 デフォルトの 1'b0 は RSTCTRL が反転さ

れないこ とを意味します。

IS_RSTD_INVERTED 1 ビッ ト バイナリ

(1'b0)DSP スライス内で RSTD の反転オプシ ョ ンを適用するかど う

かを示します。 デフォルトの 1'b0 は RSTD が反転されないこ

とを意味します。

表 3-3: 属性設定の説明 (続き)

属性名 設定 (デフォルト ) 属性の説明

UltraScale アーキテクチャ DSP48E2 スライス 53UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 54: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 3 章: DSP48E2 のデザイン入力

IS_RSTINMODE_INVERTED 1 ビッ ト バイナリ

(1'b0)DSP スライス内で RSTINMODE の反転オプシ ョ ンを適用する

かど うかを示します。 デフォルトの 1'b0 は RSTINMODE が反

転されないこ とを意味します。

IS_RSTM_INVERTED 1 ビッ ト バイナリ

(1'b0)DSP スライス内で RSTM の反転オプシ ョ ンを適用するかど う

かを示します。 デフォルトの 1'b0 は RSTM が反転されないこ

とを意味します。

IS_RSTP_INVERTED 1 ビッ ト バイナリ

(1'b0)DSP スライス内で RSTP の反転オプシ ョ ンを適用するかど う

かを示します。 デフォルトの 1'b0 は RSTP が反転されないこ

とを意味します。

表 3-3: 属性設定の説明 (続き)

属性名 設定 (デフォルト ) 属性の説明

表 3-4: 内部レジスタの説明

レジスタ 説明および関連する属性

2 段の A レジスタ A 入力の 2 つのオプシ ョ ン レジスタです。 AREG で選択され、 それぞれ CEA1 および CEA2 で有効にでき、 RSTA で同期リセッ ト されます。

2 段の B レジスタ B 入力の 2 つのオプシ ョ ン レジスタです。BREG で選択され、それぞれ CEB1 および CEB2 で有効になり、 RSTB で同期リセッ ト されます。

AD レジスタ オプシ ョ ンの前置加算器の結果用レジスタです。 ADREG で選択され、 CEAD で有効にな

り、 RSTD で同期リセッ ト されます。

ALUMODE レジスタ ALUMODE 制御信号用のオプシ ョ ンのパイプライン レジスタです。 ALUMODEREG で選

択され、 CEALUMODE で有効にでき、 RSTALUMODE で同期リセッ ト されます。

C レジスタ C 入力用のオプシ ョ ン レジスタです。 CREG で選択され、 CEC で有効になり、 RSTC で同

期リセッ ト されます。

CARRYIN レジスタ CARRYIN 制御信号用のオプシ ョ ンのパイプライン レジスタです。 CARRYINREG で選択

され、 CECARRYIN で有効になり、 RSTALLCARRYIN で同期リセッ ト されます。

CARRYINSEL レジスタ CARRYINSEL 制御信号用のオプシ ョ ンのパイプライン レジスタです。 CARRYINSELREG で選択され、 CECTRL で有効になり、 RSTCTRL で同期リセッ ト されます。

D レジスタ オプシ ョ ンの D 前置加算器入力用のレジスタです。 DREG で選択され、 CED で有効にな

り、 RSTD で同期リセッ ト されます。

INMODE レジスタ 前置加算器とそのモード、および乗算器に送られる A および B レジスタの符号と ソースを

選択する 5 ビッ トのレジスタです。 INMODEREG で選択され、 CEINMODE で有効になり、

RSTINMODE で同期リセッ ト されます。

Internal Multiplier Carry レジスタ

内部キャ リー信号用 (乗算対称丸め込み専用) のオプシ ョ ンのパイプライン レジスタです。

CEM で有効になり、 RSTM で同期リセッ ト されます。

M レジスタ 45 ビッ トの部分積 2 つで構成される乗算器出力用のオプシ ョ ンのパイプライン レジスタ

です。

これらの 2 つの部分積は X および Y マルチプレクサーへ送信され、 終的に加算器/減算

器へ送られて出力を生成します。

MREG で選択され、 CEM で有効になり、 RSTM で同期リセッ ト されます。

UltraScale アーキテクチャ DSP48E2 スライス 54UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 55: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 3 章: DSP48E2 のデザイン入力

OPMODE レジスタ OPMODE 制御信号用のオプシ ョ ンのパイプライン レジスタです。 OPMODEREG で選択さ

れ、 CECTRL で有効になり、 RSTCTRL で同期リセッ ト されます。

出力レジスタ P、 OVERFLOW、 UNDERFLOW、 PATTERNDETECT、 PATTERNBDETECT、 CARRYOUT、XOROUT 出力用のオプシ ョ ンのレジスタです。 PREG で選択され、 CEP で有効になり、

RSTP で同期リセッ ト されます。 PCOUT、 CARRYCASCOUT、 および MULTSIGNOUT も同じレジスタから同期出力されます。 これらは、 次の DSP48E2 スライスへのカスケード

接続出力です。

表 3-4: 内部レジスタの説明 (続き)

レジスタ 説明および関連する属性

UltraScale アーキテクチャ DSP48E2 スライス 55UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 56: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 4 章

DSP48E2 の使用ガイド ライン

概要

この章では、 パフォーマンス向上、 低消費電力、 および低リ ソース使用率を実現するための設計手法とテクニッ ク

について説明します。

この章には、 次のセクシ ョ ンがあ り ます。

• パフォーマンス向上のための設計

• 電力削減のための設計

• 加算器ツ リーと加算器カスケード

• DSP48E2 スライスのカラム間接続

• DSP48E2 スライスの時分割多重化

• 備考および推奨

• 前置加算器ブロッ クの用途

• メモ リ マップされた I/O レジスタ アプリ ケーシ ョ ン

パフォーマンス向上のための設計

DSP48E2 スライスの使用時に 大限の性能を得るには、 デザインを完全にパイプライン化する必要があ り ます。

乗算器ベースのデザインでは、 DSP48E2 スライスに 3 段のパイプラインが必要です。 乗算器ベース以外のデザイン

では、 2 段のパイプラインを使用します。 パフォーマンスの詳細は、 『UltraScale および UltraScale+ デバイス データ

シート 』 [参照 2] を参照してください。

重要: レイテンシが重要なデザインで、 DSP48E2 スライス内でレジスタを 1 つまたは 2 つしか使用できない場合は、

常に M レジスタを使用してください。

UltraScale アーキテクチャ DSP48E2 スライス 56UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 57: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 4 章: DSP48E2 の使用ガイド ライン

電力削減のための設計

USE_MULT 属性は、 乗算器の用法を選択します。 加算器/論理ユニッ トのみ使用する場合は、 この属性を NONE に設

定してください。 DSP48E2 スライス内にインプリ メン ト したファンクシ ョ ンは、 ファブ リ ッ ク内のファンクシ ョ ン

よ り も低消費電力です。 ファブ リ ッ クの配線リ ソースを使用する代わりに DSP48E2 スライス内のカスケード パスを

使用するこ とによっても、 消費電力が抑えられます。 M レジスタを使用する乗算器は、 M レジスタを使用しない乗

算器よ り も消費電力が低くなり ます。 27 x 18 未満のオペランドの場合、 オペランドを MSB 側に配置し、 未使用の下

位ビッ トに 0 をパディングするこ とで、 FPGA ファブリ ッ クの消費電力を削減できます。 乗算器入力オペランドの 1 つが定数の場合、 これを B 入力に割り当てて Booth エンコード ロジッ クの消費電力を低減します。

加算器ツリーと加算器カスケード

加算器ツリー

標準的な直接型 FIR フ ィルターの場合、 一連の入力サンプルは、 DSP48E2 スライス内の乗算器の一方の入力に渡さ

れます。 乗算器のも う一方の入力には、 係数が渡されます。 複数の乗算器からの出力を結合するために、 加算器ツ

リーが使用されます (図 4-1 参照)。

UltraScale アーキテクチャ DSP48E2 スライス 57UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 58: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 4 章: DSP48E2 の使用ガイド ライン

従来の手法では、 通常ファブ リ ッ ク加算器はパフォーマンス向上の障害となり ます。 必要な加算器数および配線数

は、 フ ィルター サイズによって異なり ます。 加算器ツ リーの深さは、 フ ィルターのタ ップ数の log2 とな り ます。

また、 図 4-1 に示す加算器ツ リーの構造は、 コス ト、 ロジッ ク リ ソース、 および電力を増加させる可能性もあり ます。

UltraScale™ アーキテクチャの CLB では、 1 つのスライス内で 6 LUT とキャ リー チェーンの両方を使用するこ とで、

効率的な 3 入力加算器が構築できます。 CLB 内の 6 LUT は、 デュアル 5 LUT と して機能します。 この 5 LUT は 3:2 コンプレッサーと して使用され、 3 つの入力値を加算して 2 つの出力値を生成します。 図 4-2 に、 3:2 コンプレッ

サーを示します。

X-Ref Target - Figure 4-1

図 4-1: 従来型の FIR フ ィルターの加算器ツリー

+

×48

48

y(n-6)

18

1848

48

18

18

18

18

18

18

h0(n)

X(n)

h1(n)

48

48

18

1848

48

18

18

18

18

18

18

h2(n)

X(n)

h3(n)

h4(n)

X(n-2)

X(n-4)

h5(n)

h6(n)

h7(n)

Z-2

Z-2

Z-2

×

×

+

+

+

×

+

×

×

×

+

× +

The final stages of the postaddition in logic are the performance bottlenecks thatconsume more power.

X16772-042617

UltraScale アーキテクチャ DSP48E2 スライス 58UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 59: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 4 章: DSP48E2 の使用ガイド ライン

2 入力キャ リー カスケード加算器と結合したデュアル 5 LUT (3:2 コンプレッサーと してコンフ ィギュレーシ ョ ン) は、必要な数のスライスを縦方向に並べるこ とによ り、図 4-3 に示すよ うに 3 つの N ビッ ト値を加算して 1 つの N+2 ビッ ト出力を生成します。

X-Ref Target - Figure 4-2

図 4-2: 3 入力加算器/減算器 (3:2 コンプレッサー )

X-Ref Target - Figure 4-3

図 4-3: 3 入力加算器

X(1)Y(1)

Z(1)

BBUS(0)SUB/

ADDB

BBUS(0)

SUB/ADDB

SUB/ADDB

AX

A5

A2

A3A4

IN5

00 1

O6A

CY(0)

CY(1)

GND

O5A

1

VCC

IN6

IN2

DAQ

AMUX

SUM(0)

BBUS(0)

Q

CK

IN3IN4

X(0)Y(0)

Z(0)

BX

B5

B2

B3B4

IN5

B1 IN1

00 1

O6B

O5B

1

VCC

IN6

IN2

DBQ

BMUX

SUM(1)

BBUS(1)

Q

CK

IN3IN4 ABUS(1)

ABUS(0)

X16773-042617

A

C

3:2 Compressor

ABUS

BBUS

SUM48

2-InputCascade

AdderB

Left Shift By 1

46

46

46

X16774-042617

UltraScale アーキテクチャ DSP48E2 スライス 59UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 60: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 4 章: DSP48E2 の使用ガイド ライン

3:1 加算器 (図 4-3 参照) は、 大規模な加算器ツ リー用の構築ブロ ッ ク と して使用されます。 追加される入力数しだい

で、 複数の 5 LUT または 6 LUT を使用して CLB ロジッ ク内に 5:3 または 6:3 コンプレッサーも構築できます。 6:3 コンプレッサーと 2 つの DSP48E2 スライスをシ リ アルに組み合わせる と、 6 つのオペランドを加算して 1 つの出力を

生成します (図 4-4 参照)。 初の DSP48E2 スライスの LSB ビッ トは、 Y バスと Z バスの左シフ トによ り空いたまま

になっているため、 0 の値を配置する必要があ り ます。 後の DSP48E2 スライスは、 2 段の A:B 入力レジスタを使

用して X バスを 初の DSP48E2 スライスの出力に合わせて調整 (パイプライン マッチ) します。 複数レベルの 6:3 コンプレッサーを使用する と、 入力バス数を拡張できます。

図 4-4 の X、 Y、 および Z バスの論理式は次のとおりです。

X(n) = A(n) XOR B(n) XOR C(n) XOR D(n) XOR E(n) XOR F(n) 式 4-1

式 4-2

式 4-3

コンプレッサー エレ メン トおよびカスケード加算器は、 よ り大規模な加算器を構築するためにツ リー状に配置でき

ます。 後の加算段は DSP48E2 スライスにインプ リ メン ト します。 デザインのタイ ミ ング条件を満たすよ うに、 パ

イプライン レジスタを追加する必要があ り ます。 これらの加算器は、 加算器カスケード よ り もエ リ ア使用率や電力

が高くなり ます。

X-Ref Target - Figure 4-4

図 4-4: 6 入力加算器

A

F

6:3Compressor

Left Shift By 2

X

Y

Z

SUM48Left Shift By 1 DSP48E2

Slice

DSP48E2 Slice

45

45X16775-042617

Y(n) = A(n)B(n) XOR A(n)C(n) XOR A(n)D(n) XOR A(n)E(n) XOR A(n)F(n) XOR B(n)C(n) XOR B(n)D(n) XOR B(n)E(n) XOR B(n)F(n) XOR C(n)D(n) XOR C(n)E(n) XOR C(n)F(n)

XOR D(n)E(n) XOR D(n)F(n) XOR E(n)F(n)

Z(n) = A(n)B(n)C(n)D(n) OR A(n)B(n)C(n)E(n) OR A(n)B(n)C(n)F(n) OR A(n)B(n)D(n)E(n) OR A(n)B(n)D(n)F(n) OR A(n)B(n)E(n)F(n)OR A(n)C(n)D(n)E(n) OR A(n)C(n)D(n)F(n) OR A(n)C(n)E(n)F(n)OR A(n)D(n)E(n)F(n) OR B(n)C(n)D(n)E(n) OR B(n)C(n)D(n)F(n)OR B(n)C(n)E(n)F(n) OR B(n)D(n)E(n)F(n) OR C(n)D(n)E(n)F(n)

UltraScale アーキテクチャ DSP48E2 スライス 60UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 61: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 4 章: DSP48E2 の使用ガイド ライン

加算器カスケード

加算器カスケードのインプ リ メンテーシ ョ ンでは、 DSP48E2 スライスのカスケード パスを使用するこ とによって、

小限のシ リ コン リ ソースで加算後処理を実現できます。 図 4-5 に示すよ うなカスケード接続手法を使用する場合

は、 加法演算結果をインク リ メンタル (追加的) に計算する必要があ り ます。

カスケード接続された加算器の場合、 正しい結果を得るためには入力サンプルの遅延と係数遅延の均衡が重要とな

り ます。 係数は、 時間の経過に従って不安定になり ます (ウェーブ係数)。

X-Ref Target - Figure 4-5

図 4-5: 加算器カスケード

Slice 7

No Wire Shift

Slice 8

Slice 6

Slice 5

48

48

48

18

1848

48

48

48

18

18

18

18

18

18

48Y(n–10)

h0(n)

X(n)

h1(n-1)

Slice 3

No Wire Shift

Slice 4

Slice 2

Slice 1

Zero

48

48

48

18

1848

48

48

48

18

18

18

18

18

18

h2(n-2)

h3(n-3)

h4(n-4)

h5(n-5)

h6(n-6)

h7(n-7)

No Wire Shift

No Wire Shift

No Wire Shift

No Wire Shift

48

No Wire Shift

The post adders arecontained entirely indedicated silicon forhighest performanceand lowest power.

×

×

×

×

+

+

+

+

× +

+

× +

× +

Sign Extended from 36 Bits to 48 BitsX16776-042617

UltraScale アーキテクチャ DSP48E2 スライス 61UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 62: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 4 章: DSP48E2 の使用ガイド ライン

DSP48E2 スライスのカラム間接続

カスケード パスを使用して加算器をインプリ メン トする場合、 消費電力およびスピードが大幅に向上します。 1 つのパス上で使用できる 大カスケード数は、 チップのカラム内にある DSP48E2 スライスの合計数にのみ制限されま

す。 9 ページの 「デバイス リ ソース」 を参照してください。

重要: DSP カラムの高さはデバイス間で異なるため、 デザインの移植時には注意が必要です。

複数のカラムにまたがる場合は、 DSP カラムの 上位からのバス出力を使用し、 隣接する DSP カラムの 下位 DSP48E2 スライスの C 入力にこのバスを配線するために、 CLB スライス パイプライン レジスタを追加します。

また、 このよ うに複数の DSP カラムにまたがる場合は、 入力オペランドのアライ メン ト も必要になり ます。

DSP48E2 スライスの時分割多重化 DSP48E2 スライスの高速演算エレ メン トによ り、 DSP デザインでは時分割多重化を使用できます。 時分割多重化と

は、 1 つの DSP48E2 スライス内で複数のファンクシ ョ ンを異なる時間インスタンスで実行するプロセスです。 サン

プル レートが低いデザインなどに使用されます。 式 4-4 に、 1 つの DSP48E2 スライスにインプリ メン ト可能なファ

ンクシ ョ ン数 (N) を求める式を示します。

N * チャネル周波数 ≤ DSP48E2 スライスの最大周波数 式 4-4

時分割多重化した DSP デザインでは、 オプシ ョ ンのパイプライン化で、 1 秒間に 大 5 億サンプルまでのマルチ

チャネルを集約するこ とが可能です。 DSP48E2 スライスを使用して時分割多重化したデザインをインプリ メン トす

るこ とは、 結果と して リ ソース使用率と消費電力の削減に繋がり ます。

DSP48E2 スライスには、 従来型 FIR フ ィルターの基本的なエレ メン ト と して、 乗算器、 加算器、 遅延/パイプライン レジスタがあ り、 汎用 CLB スライスを使用するこ とな く入力ス ト リーム (B バス) および出力ス ト リーム (P バス) をカスケード接続できます。

マルチチャネル フ ィルタ リ ングは、 時分割多重化したシングルチャネル フ ィルターと見なすこ とができます。 標準

的なマルチチャネル フ ィルタ リ ングでは、 各チャネルに対して個別のデジタル フ ィルターを使用して、 複数の入力

チャネルがフ ィルタ リ ングされます。 デバイスの DSP48E2 スライスは高性能であるため、 8x ク ロ ッ クで 1 つのフ ィ

ルターをクロ ッ ク駆動するこ とで、 8 つの入力チャネルのすべてを 1 つのデジタル フ ィルターでフ ィルタ リ ングで

きます。 このインプ リ メンテーシ ョ ンでは、 各チャネルを個別にインプリ メン トする方法と比較する と、 合計リ

ソース数が 1/8 になり ます。

UltraScale アーキテクチャ DSP48E2 スライス 62UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 63: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 4 章: DSP48E2 の使用ガイド ライン

備考および推奨

• 4 x 4 乗算器のよ うな小規模な乗算器と、 ビッ ト幅が小さい加算器およびカウンターのインプリ メンテーシ ョ ン

には、 CLB ロジッ クの LUT およびキャ リー チェーンを使用してください。 小規模な加算器やカウンターを数

多く含むデザインは、 SIMD モードを使用して DSP48E2 スライスに演算をインプ リ メン ト します。 SIMD モー

ドのファンクシ ョ ンでは、 DSP48E2 スライス内に入力レジスタも含むこ とで、 インターコネク ト ロジッ クを使

用する場合と比べて 1/2 のエリ アおよび電力の削減になり ます。

• 少ビッ ト幅ファンクシ ョ ンを実装する場合は、 常に入力オペランドに符号を拡張します。 ファブ リ ッ クの消費

電力を低く抑える場合は、 オペランド命令に MSB を使用し、 LSB はすべてグランド (GND) にします。

• 複数の DSP48E2 スライスをカスケード接続する場合は、 それぞれの信号パスのパイプラインを同じ段数にする

必要があ り ます。

• CARRYIN 入力を使用して、 1 ずつカウン ト アップするカウンターを DSP48E2 スライスにインプリ メン ト しま

す。 N ずつカウン ト または可変のカウンターの場合は、 C または A:B 入力を使用できます。

• DSP48E2 カウンターを使用して、 大限の速度で動作する制御ロジッ クを実装できます。

• CLB 内の SRL16/SRL32 およびブロ ッ ク RAM は、 フ ィルター係数の格納場所と して使用するか、 DSP48E2 スラ

イス との組み合わせでレジスタ ファ イルまたはメモ リ エレ メン ト と して使用してください。 入力ビッ トのピッ

チは、 CLB およびブロ ッ ク RAM のビッ ト ピッチと一致させる必要があ り ます。

• DSP デザインの制御ロジッ クを駆動する高速有限ステート マシンと して、 ブロ ッ ク RAM を使用するこ と も可

能です。

• DSP48E2 スライスは、 MicroBlaze™ や PicoBlaze™ などのプロセッサと組み合わせて、 プロセッサ ファンク

シ ョ ンのハードウェア アクセラレーシ ョ ンに利用できます。

• DSP48E2 スライスの入力へ接続する前に、 SRL16 やブロッ ク RAM の出力にパイプライン レジスタを使用して

ください。 これによ り、 DSP48E2 スライスへ送信される入力オペランドのパフォーマンスが向上します。

• スライス内の SRL16 の出力に付いているレジスタにはリセッ ト ピンおよびクロ ッ ク イネーブル ピンがあ り ま

す。 SRL を リセッ トするには、 16 サイクル間 SRL16 へ 0 を入力して、 その間、 出力レジスタのリセッ ト信号を High に保持します。 特に、 SRL16 を使用して入力データを格納するよ うなフ ィルターの実装には、 この機能が

有効です。

UltraScale アーキテクチャ DSP48E2 スライス 63UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 64: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 4 章: DSP48E2 の使用ガイド ライン

前置加算器ブロックの用途

DSP48E2 スライスの前置加算器は、 LTE (Long-Term Evolution) 規格に含まれるアルゴ リズムなどの無線アプリ ケー

シ ョ ン、 汎用フ ィルター (FIR、 IIR)、 アルファ ブレンディングなどの動画処理を含む、 さまざまな用途で効果的に

使用できます。 前置加算器の も一般的な用途は、 対称 FIR フ ィルターのタップ遅延ラインに対応する値の前置加

算です。

図 4-6 は、 8 タ ップの偶数対称シス ト リ ッ ク FIR のデザインにおける前置加算器 (灰色の部分) の活用例を示してい

ます。

メモリ マップされた I/O レジスタ アプリケーシ ョ ン

DSP48E2 スライスを メモ リ マップされた I/O レジスタ と して使用するには、 この目的で使用するすべての DSP48E2 スライスに接続する書き込みデータ バスをユーザーがブロードキャス トする必要があ り ます。 読み出しアクセスを

ランダムにするには、 多ビッ ト マルチプレクサーが必要です。 DSP48E2 スライスを追加して多ビッ ト マルチプレク

サーと してコンフ ィギュレーシ ョ ンする と、 配線密集を緩和できます。 アドレス デコーダーはファブリ ッ ク ロジッ

クにインプ リ メン ト し、 書き込みデータ バスから適切な DSP 出力レジスタを読み込むよ うに、 各 PREG CE を制御

する必要があ り ます。

X-Ref Target - Figure 4-6

図 4-6: 8 タ ップの偶数対称シスト リ ック FIR

z-2

z-8

(SRL16)

z-1

z-1

z-1

z-1

z-1

+

x

+

z-2

z-1

z-1

z-1

z-1

z-1

+

x

+

z-2

z-1

z-1

z-1

z-1

z-1

+

x

+

z-2

z-1

z-1

z-1

z-1

+

x

+

DSP Slice DSP Slice DSP Slice DSP Slice

x(n)

h0 h1 h2 h3

y(n-8)

Duplicate Tap Delay

z-1

X16777-082020

UltraScale アーキテクチャ DSP48E2 スライス 64UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 65: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 5 章

カスケード接続: CARRYOUT、 CARRYCASCOUT、および MULTSIGNOUT

概要

この章では専用カスケード接続機能を説明し、 主なカスケード信号について詳細に解説します。

CARRYOUT/CARRYCASCOUTDSP48E2 スライス とファブ リ ッ ク キャ リー チェーンでは、減算ファンクシ ョ ンのインプリ メンテーシ ョ ン スタイル

が異なり ます。 CLB スライス内のキャ リー チェーンのインプリ メンテーシ ョ ンでは、 減算処理の間、 CLB のキャ

リー入力ピンを定数 1 に接続する必要があ り ます。 DSP48E2 スライス内での標準的な減算 (ALUMODE = 0011) では、 CARRYIN ピンを 1 に設定する必要はあ り ません。

2 の補数表現で負の値を得るには、 –B = ((not B) + 1) のよ うにビッ ト単位で反転して 1 を加算します。 CLB で A-B は (A + (not B) + 1) と してインプリ メン ト されます (図 5-1 参照)。2 入力減算器は図 5-2 に示すよ うに、[not (B + (not A))] と してインプ リ メン トするこ と もできます。 この代替インプリ メンテーシ ョ ンでは、 加算器/減算器へのキャ リー入

力を通常の用途にも使用できます。

UltraScale アーキテクチャ DSP48E2 スライス 65UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 66: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 5 章: カスケード接続: CARRYOUT、 CARRYCASCOUT、 および MULTSIGNOUT

X-Ref Target - Figure 5-1

図 5-1: CLB ベースの加算器/減算器

X-Ref Target - Figure 5-2

図 5-2: オプシ ョ ンのキャリー入力を使用する加算器/減算器

+A

B

0

Carry Input

A + B

01

+A

B

Sub/Add = 1/0

(Carry input must be 1 for a subtract operation, so it is not available for other uses.)

A ± B

01

X16778-042617

+B

A

Sub/add

Optional carry input

01

01

(Carryin available as an input even for subtract operations)

A ± (B + optional carry input)

X16779-042617

UltraScale アーキテクチャ DSP48E2 スライス 66UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 67: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 5 章: カスケード接続: CARRYOUT、 CARRYCASCOUT、 および MULTSIGNOUT

DSP48E2 スライスは 2 番目のインプリ メンテーシ ョ ンを、 CARRYIN 入力を加えた 4 入力加算器で拡張して使用しま

す (図 5-3 参照)。 加算器は ALUMODE = 0000 を使用します。 これによ り DSP48E2 の SIMD 演算では、 小さな加算/減算ユニッ ト ごとに CARRYIN を使用するこ とな く減算処理を実行できます。

ALUMODE では、 さ らに次の減算処理もサポート されています。

ALUMODE = 0001 が (–Z + (W + X + Y + CIN) – 1) をインプ リ メン ト します。

• ほとんどの場合、 CIN は -1 を相殺するため 1 に設定されます。

ALUMODE = 0010 は、 実際には –(Z + W + X + Y + CIN) – 1 をインプリ メン ト します。

• ALUMODE 0010 を使用して得られた P 出力の反転をほかの DSP スライスにカスケード接続して、 2 の補数減

算をインプ リ メン トできます。

減算演算の結果は ALUMODE[1:0] によって制御されます。 ALUMODE[0] は DSP 加算器への Z 入力を反転します。

ALUMODE[1] は DSP 加算器の出力を反転します。 ALUMODE[1:0] = 2'b11 の場合、 CARRYOUT ビッ トは反転され

ます。 W、 X、 Y、 および CIN を単一の入力 (N) と して扱う こ とを考えます。 簡略化された ALUMODE 演算について

は、 表 5-1 を参照して ください。 こ こで、 P は DSP の出力であ り、 CDSP は (内部で計算されたキャ リー C によって

定義される ) DSP の CARRYOUT 出力です。

X-Ref Target - Figure 5-3

図 5-3: DSP48E2 スライス 4 入力加算器

+Y

Z

ALUMODE[0]

CIN

ALUMODE[1]

DSP48E2 Slice Add/Subtract

01

01

X

W

X16780-042617

UltraScale アーキテクチャ DSP48E2 スライス 67UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 68: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 5 章: カスケード接続: CARRYOUT、 CARRYCASCOUT、 および MULTSIGNOUT

加算演算の場合、 CARRYOUT[3] と CARRYCASCOUT は同一です。 CARRYOUT[3] は CLB 減算と同じ表現です。

したがって、 CLB の加算/減算ファンクシ ョ ンで CARRYOUT[3] ピンを直接使用し、 DSP48E2 スライスの 2 入力減算

を CLB まで拡張できます。 CARRYCASCOUT は、 上方に位置するほかの DSP スライスへのカスケード接続に 適

です。

CARRYOUT[3] 信号と CARRYCASCOUT 信号によって、 複数の DSP48E2 スライスを使用するか、 または DSP48E2 スライス と CLB の加算器/減算器を併用した、 高精度の加算/減算ファンクシ ョ ンの構築が可能になり ます。

重要: 3 入力および 4 入力加算/減算ファンクシ ョ ンの場合、 CARRYOUT[3] と CARRYCASCOUT は無効です。

表 5-1: DSP ALUMODE のキャリーアウト

ALUMODE[3:0] DSP の動作 CLB への拡張 (入力 A、 B、 CI)

0000 P = Z + N、 CDSP = C A:N、 B:Z、 CI:CDSP

0001 P = not(Z) + N ≤ DSP の内部計算

= –Z + N – 1、CDSP = C

A:N、 B:!Z、 CI:CDSP

0010 P = not(Z + N) ≤ DSP の内部計算

= –Z – N – 1、CDSP = C

(出力のみが反転される )

A:N、 B:Z、 CI:CDSP

すべての和出力は反転される必要があ

り、 すべてのキャ リーは反転されずに

チェーンにされる必要がある

0011 P = not(not(Z) + N) ≤ DSP の内部計算

= –(–Z – 1 + N) – 1= Z – N、

CDSP = !C

(出力とキャ リーアウ トは反転され、 キャ リーは

内部計算に対する真の極性で次の DSP にカスケード接続される )

A:Z、 B:!N、 CI:CDSP

UltraScale アーキテクチャ DSP48E2 スライス 68UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 69: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 5 章: カスケード接続: CARRYOUT、 CARRYCASCOUT、 および MULTSIGNOUT

MULTSIGNOUT と CARRYCASCOUT推奨: CARRYOUT[3] は乗算に使用すべきではあ り ません。 DSP48E2 スライスでは 1 段目の乗算器で 2 つの部分積が

生成され、 2 段目でそれらの和が求められるからです。

DSP のすべての 4 入力加算演算 (乗算/加算、 累積乗算を含む) では、 精度を完全に維持するために、 2 つの CARRYOUT ビッ トが生成されます。 これを図 5-4 に示します。

MULTSIGNOUT と CARRYCASCOUT は、 MACC_EXTEND 演算用の 2 つのキャ リー ビッ ト と して機能します。

MULTSIGNOUT が乗算器の符号ビッ ト 、 CARRYCASCOUT がカスケード接続のキャ リーアウ ト ビッ トの場合、 結果

は図 5-4 に示すソフ ト ウェア/UNISIM モデルと して抽象化されます。

このシ ミ ュレーシ ョ ン モデルの MULTSIGNOUT と CARRYCASCOUT はハードウェアとは一致しませんが、 出力 P ビッ トは MACC_EXTEND など、 サポート されるファンクシ ョ ンと一致します。 たとえば、 上位 DSP スライス内で

すべて 0 を使用してロジッ クに配線した CARRYCASCOUT は、 下位 DSP スライスの CARRYOUT[3] と一致しませ

ん。 同様に、 CLB ロジッ クに配線した MULTSIGNOUT は、 実際の乗算結果の符号ではあ り ません。

この MULTSIGNOUT 信号と CARRYCASCOUT 信号によって、 大精度 96 ビッ トのアキュムレータ用に累積され、

DSP48E2 スライスの 大周波数で動作する 27 x 18 乗算器など、 高精度の積和 (MACC_EXTEND) ファンクシ ョ ンの

構築が可能になり ます。

96 ビッ ト積和演算のよ うな大規模なアキュムレータを構築する場合は、 OPMODEREG と CARRYINSELREG を 1 に設定する必要があ り ます。 これによ り、 リセッ ト発生時にシ ミ ュレーシ ョ ン モデルから上位の DSP48E2 スライスに

不明ステートが伝搬されなくな り ます。

X-Ref Target - Figure 5-4

図 5-4: DSP48E2 4 入力加算器

+Y

W

Z P[47:0]

CIN

One Bit Carry Out to FabricCARRYOUT[3]

Two CARRYOUT bits are produced in the hardware and are labeled as MULTSIGNOUT and CARRYCASCOUT in the simulation model.

X

X16781-042617

UltraScale アーキテクチャ DSP48E2 スライス 69UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 70: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

第 5 章: カスケード接続: CARRYOUT、 CARRYCASCOUT、 および MULTSIGNOUT

サマリ

加算器/減算器のみ

CARRYOUT[3]: ハードウェアと ソフ ト ウェアが一致します。

CARRYCASCOUT: ALUMODE = 0000、 0001、 および 0010 の場合に一致し、 ALUMODE = 0011 の場合に反転します。

不一致は、 DSP48E2 スライスで減算に使用されるアルゴ リズムが CLB ロジッ クで使用されるものと異なるために発生

します。 したがって、 CLB ロジッ クからの CARRYOUT は、 反転して DSP48E2 スライスに渡す必要があり ます。

MULTSIGNOUT は加算器だけの場合には無効です。

MACC 演算

CARRYOUT[3] は MACC 演算では無効です。

CARRYCASCOUT および MULTSIGNOUT: ハードウェアと ソフ ト ウェアは、 モデルの違いによ り一致しません。

ソフ ト ウェアのシ ミ ュレーシ ョ ン モデルは、 ハード ウェア モデルを抽象化したものです。 CARRYCASCOUT と MULTSIGNOUT をソフ ト ウェアで表す場合、 UNISIM モデルで高精度の MACC 機能を構築するこ とが可能です。

これらはハード ウェアの CARRYCASCOUT および MULTSIGNOUT と論理的に等価ではあ り ません。 ハード ウェア

と ソフ ト ウェアの結果 (P 出力) だけが論理的に等価であ り、 内部信号 (CARRYCASCOUT および MULTSIGNOUT) は異なり ます。 図 5-5 を参照してください。

X-Ref Target - Figure 5-5

図 5-5: MACC のソフ トウェアとハードウェアのモデル

+A

B

Partial products from the multiply operation are added together in the second stage four-input adder.

CARRYCASCOUT

MULTSIGNOUT

x

Hardware Implementation

Software Model

+A

B

CARRYIN

Zmux (e.g., C, P, PCIN)

CARRYCASCOUT

MULTSIGNOUT

x

CARRYIN

Zmux (e.g., C, P, PCIN)

P[47:0]

P[47:0]

X16782-042617

UltraScale アーキテクチャ DSP48E2 スライス 70UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 71: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

付録 A

その他のリソースおよび法的通知

ザイリンクス リソース

アンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照して

ください。

ソリューシ ョ ン センター

デバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照して ください。 デザイ

ン アシスタン ト 、 デザイン アドバイザリ、 ト ラブルシューティングのヒン ト などが含まれます。

Documentation Navigator およびデザイン ハブ

ザイ リ ンクス Documentation Navigator (DocNav) では、 ザイ リ ンクスの資料、 ビデオ、 サポート リ ソースにアクセス

でき、 特定の情報を取得するためにフ ィルター機能や検索機能を利用できます。 DocNav を開くには、 次のいずれか

を実行します。

• Vivado IDE で [Help] → [Documentation and Tutorials] をク リ ッ ク します。

• Windows で [スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [DocNav] をク リ ッ ク します。

• Linux コマンド プロンプ トに 「docnav」 と入力します。

ザイ リ ンクス デザイン ハブには、 資料やビデオへのリ ンクがデザイン タスクおよびト ピッ クごとにま とめられてお

り、 これらを参照するこ とでキー コンセプ ト を学び、 よ く ある質問 (FAQ) を参考に問題を解決できます。 デザイン ハブにアクセスするには、 次のいずれかを実行します。

• DocNav で [Design Hubs View] タブをク リ ッ ク します。

• ザイ リ ンクス ウェブサイ トのデザイン ハブ ページを参照します。

注記: DocNav の詳細は、 ザイ リ ンクス ウェブサイ トの Documentation Navigator ページを参照してください。

注意: DocNav からは、 日本語版は参照できません。 ウェブサイ トのデザイン ハブ ページをご利用ください。

UltraScale アーキテクチャ DSP48E2 スライス 71UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 72: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

付録 A: その他のリソースおよび法的通知

参考資料

注記: 日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

1. 『UltraScale アーキテクチャへの移行設計手法ガイ ド』 (UG1026: 英語版、 日本語版)

2. 『UltraScale および UltraScale+ デバイス データシート 』 :

° 『UltraScale アーキテクチャおよび製品データシート : 概要』 (DS890: 英語版、 日本語版)

° 『Zynq UltraScale+ MPSoC データシート : 概要』 (DS891: 英語版、 日本語版)

° 『Kintex UltraScale FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS892: 英語版、 日本語版)

° 『Virtex UltraScale FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS893: 英語版、 日本語版)

° 『Kintex UltraScale+ FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS922: 英語版、 日本語版)

° 『Zynq UltraScale+ MPSoC データシート : DC 特性および AC スイ ッチ特性』 (DS925: 英語版、 日本語版)

3. UltraScale および UltraScale+ デバイス パッケージおよびピン配置ユーザー ガイ ド

° 『UltraScale および UltraScale+ FPGA パッケージおよびピン配置ユーザー ガイ ド』 (UG575: 英語版、日本語版)

° 『Zynq UltraScale+ デバイス パッケージおよびピン配置ユーザー ガイ ド』 (UG1075: 英語版、 日本語版)

4. 『Vivado Design Suite リ ファレンス ガイ ド : System Generator を使用したモデル ベースの DSP デザイン』 (UG958)

5. Vivado 高位合成

6. 『UltraScale アーキテクチャ ライブラ リ ガイ ド』 (UG974: 英語版、 日本語版)

7. 『Virtex-5 FPGA XtremeDSP ユーザー ガイ ド』 (UG193: 英語版、 日本語版)

8. 『Virtex-4 FPGA XtremeDSP ユーザー ガイ ド』 (UG073)

9. 『7 シ リーズ FPGA DSP48E1 スライス ユーザー ガイ ド』 (UG479: 英語版、 日本語版)

10. 『Zynq UltraScale+ MPSoC テクニカル リ ファレンス マニュアル』 (UG1085: 英語版、 日本語版)

11. UltraScale アーキテクチャ

12. DSP ソ リ ューシ ョ ン

13. Vivado ビデオ チュート リ アル

14. ザイ リ ンクス DSP ト レーニング

UltraScale アーキテクチャ DSP48E2 スライス 72UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com

Page 73: UltraScale アーキテクチャ DSP スഊラ イス ユーザー ガイド ...UltraScale アーキテクチャ DSP スライス ユーザー ガイド UG579 (v1.9) 2019 年 9 月

付録 A: その他のリソースおよび法的通知

お読みください: 重要な法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適

用される法律が許容する 大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) という状態で提

供され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこ

れらに限られません)、 すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿ま

たは貴社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負

わない (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損

害には、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信

用の損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可

能であったり、 ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情

報に含まれるいかなる誤り も訂正する義務を負わず、 本情報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負

いません。 事前の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変更、 頒布、 または公に展示してはなり ませ

ん。 一定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、 https://japan.xilinx.com/legal.htm#tos で見られるザ

イ リ ンクスの販売条件を参照して ください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したライセンスに含まれる保証と補

助的条件に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプ

リ ケーシ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ う な重大なアプリ ケーシ ョ ンにザイ リ ンクスの

製品を使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。 https://japan.xilinx.com/legal.htm#tos で見られるザ

イ リ ンクスの販売条件を参照して ください。

自動車用のアプリケーシ ョ ンの免責条項

オートモーティブ製品 (製品番号に 「XA」 が含まれる ) は、 ISO 26262 自動車用機能安全規格に従った安全コンセプ ト または余剰性

の機能 ( 「セーフティ設計」 ) がない限り、 エアバッグの展開における使用または車両の制御に影響するアプリ ケーシ ョ ン ( 「セー

フティ アプリ ケーシ ョ ン」 ) における使用は保証されていません。 顧客は、 製品を組み込むすべてのシステムについて、 その使用

前または提供前に安全を目的と して十分なテス ト を行う ものと します。 セーフティ設計なしにセーフティ アプリ ケーシ ョ ンで製品

を使用する リ スクはすべて顧客が負い、 製品の責任の制限を規定する適用法令および規則にのみ従う ものと します。

© Copyright 2013-2020 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Alveo、 Artix、 Kintex、 Spartan、 Versal、 Virtex、 Vivado、 Zynq、 およびこの

文書に含まれるその他の指定されたブランドは、 米国およびその他各国のザイ リ ンクス社の商標です。 AMBA、 AMBA Designer、Arm、 ARM1176JZ-S、 CoreSight、 Cortex、 PrimeCell、 Mali、 および MPCore は、 EU およびその他各国の Arm 社の商標です。 すべて

のその他の商標は、 それぞれの保有者に帰属します。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページ

の右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語

で入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは

受け付けており ません。 あらかじめご了承ください。

UltraScale アーキテクチャ DSP48E2 スライス 73UG579 (v1.10) 2020 年 9 月 22 日 japan.xilinx.com