7 シ リ ーズ FPGA コ ン フ ィ ギ ャ ラ ブル ロジ ッ ク ブロ ッ ク ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先しま す。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の 上、最新情報につきましては、必ず最新英語版をご参照ください。 DISCLAIMER The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To the maximum extent permitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or to product specifications.You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent.Certain products are subject to the terms and conditions of Xilinx’s limited warranty, please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx.Xilinx products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products in such critical applications, please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos. Automotive Applications Disclaimer XILINX PRODUCTS ARE NOT DESIGNED OR INTENDED TO BE FAIL-SAFE, OR FOR USE IN ANY APPLICATION REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS APPLICATIONS RELATED TO:(I) THE DEPLOYMENT OF AIRBAGS, (II) CONTROL OF A VEHICLE, UNLESS THERE IS A FAIL-SAFE OR REDUNDANCY FEATURE (WHICH DOES NOT INCLUDE USE OF SOFTWARE IN THE XILINX DEVICE TO IMPLEMENT THE REDUNDANCY) AND A WARNING SIGNAL UPON FAILURE TO THE OPERATOR, OR (III) USES THAT COULD LEAD TO DEATH OR PERSONAL INJURY.CUSTOMER ASSUMES THE SOLE RISK AND LIABILITY OF ANY USE OF XILINX PRODUCTS IN SUCH APPLICATIONS. © Copyright 2011–2014 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners. こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected] ま で、 ま たは各 ページの右下にあ る [ フ ィ ー ド バ ッ ク 送信] ボ タ ン を ク リ ッ ク す る と 表示 さ れ る フ ォームか ら お知 ら せ く だ さ い。いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受け付けてお り ません。 あ ら か じ めご了承 く だ さ い。 改訂履歴 次の表に、 こ の文書の改訂履歴を示 し ます。 日付 バージ ョ ン 2011 年 3 月 1 日 1.0 初版 2011 年 3 月 28 日 1.1 表 1-2 に XC7K355T、 XC7K420T、 お よ び XC7K480T デバ イ ス を追加。 わか り や す く す る ために文章の一部を変更。 2011 年 9 月 30 日 1.2 「7 シ リ ーズ CLB の特徴」 の最後に文章を追加。表 1-2 お よ び表 1-3 を追加。表 1-2 の CLB 機能 を 更新。 「CLB の配置」 の最初に文章 を 追加、 「ASMBL アーキ テ ク チ ャ 」 セ ク シ ョ ンお よ び 「CLB ス ラ イ ス」 の見出 し を追加。 「キ ャ リ ー ロ ジ ッ ク 」 の最後に段落を追加。 「キ ャ リ ー ロ ジ ッ ク の使用法」 の最後に文章を追加。 「ス ラ イ ス マルチプ レ ク サーの タ イ ミ ン グ パ ラ メ ー タ ー」 に、 2 つ目の文章を追加。 わか り やす く す る ために、 表 5-2、 表 5-4、 お よ び表 5-5 を修正。 「ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) テ ク ノ ロ ジ を使用す る デバ イ ス」 セ ク シ ョ ン を追加。 2012 年 1 月 30 日 1.3 表 1-1 を変更。 「分散 RAM (SLICEM のみで使用可能)」 に、 5 段落目を追加。 わか り やす く す る ために、「グ ロ ーバル制御信号 GSR お よ び GTS」の最後の段落を修正。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド 内容 japan.xilinx.com UG474 (v1.7) 2014 年 11 月 17 日 日付 バージ ョ ン 内容 2012 年 11 月 5 日 1.4 「7 シ リ ーズ CLB の特徴」 の最後の箇条書 き の 「均一性」 を 「最適化」 に変更。 「デ バ イ ス リ ソ ー ス」 の最初の文章で、 「均一性」 を 「ス ケー ラ ブル」 に変更。 表 1-1 か ら 7A350T デバ イ ス を削除。 表 1-3 か ら 7V1500T お よ び 7VH290T デバ イ ス を 削除。 「分散 RAM (SLICEM のみで使用可能)」、 「シ フ ト レ ジ ス タ (SLICEM のみ )」、 「フ リ ッ プ フ ロ ッ プ プ リ ミ テ ィ ブ」 に、 『7 シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 の参照先追加。 図 5-2 で、 TCEO を TCECK に変更、 「一般的な タ イ ミ ン グ特性」 の 最初の箇条書 き を変更。 2013 年 8 月 6 日 1.5 Artix®-7 デバ イ ス を追加。 イ ンプ リ メ ン テーシ ョ ン ツールの参照先を更新。 2014 年 8 月 11 日 1.6 表 1-1 ~表 1-3 の注記を変更。 22 ページの 「制御信号」 の極性に関す る 記述を 「独 立 し た」 か ら 「プ ロ グ ラ ム可能」 に変更。 表 2-3 にプ リ ミ テ ィ ブ列を追加 し て注記 を削除。 図 2-6 ~図 2-14 の名前を変更 ( マ イ ナー修正)。 52 ページの 「 ク ロ ッ ク – WCLK」、53 ページの「 ク ロ ッ ク – CLK」、お よ び 54 ページの「 ク ロ ッ ク - C」を改訂。 2014 年 11 月 17 日 1.7 表 1-1 に、 新たに Artix 7A15T デバ イ ス の記述を追加。 UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド japan.xilinx.com UG474 (v1.7) 2014 年 11 月 17 日 目次 改訂履歴. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 こ のユーザー ガ イ ド について 内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 その他の リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 第 1 章 : 概要 CLB の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 7 シ リ ーズ CLB の特徴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 デバ イ ス リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 推奨デザ イ ン フ ロ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 ピ ン配置の計画 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 第 2 章 : 機能の詳細 CLB の配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 ス ラ イ ス の説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 ル ッ ク ア ッ プ テーブル (LUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 ス ト レージ エ レ メ ン ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 分散 RAM (SLICEM のみで使用可能) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 シ フ ト レ ジ ス タ (SLICEM のみ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 マルチプ レ ク サー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 キ ャ リ ー ロ ジ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 第 3 章 : デザイ ン入力 デザ イ ンのチ ェ ッ ク リ ス ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 CLB リ ソ ース の使用法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 プ リ ミ テ ィ ブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 第 4 章 : ア プ リ ケーシ ョ ン 分散 RAM のアプ リ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 シ フ ト レ ジ ス タ のアプ リ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 キ ャ リ ー ロ ジ ッ ク のアプ リ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 第 5 章 : タ イ ミ ング CLB ス ラ イ ス の一般的な タ イ ミ ン グ モデル と パ ラ メ ー タ ー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 CLB ス ラ イ ス のマルチプ レ ク サーの タ イ ミ ン グ モデルお よ びパ ラ メ ー タ ー . . . . . . . . . . . . . . . . 64 CLB ス ラ イ ス のキ ャ リ ー チ ェーンの タ イ ミ ン グ モデルお よ びパ ラ メ ー タ ー . . . . . . . . . . . . . . . . 65 CLB ス ラ イ ス分散 RAM の タ イ ミ ン グ モデルお よ びパ ラ メ ー タ ー (SLICEM のみ) . . . . . . . . . . 67 CLB ス ラ イ ス の SRL シ フ ト レ ジ ス タ の タ イ ミ ン グ モデルお よ び パ ラ メ ー タ ー (SLICEM のみ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 5 第 6 章 : 高度な使用法 ラ ッ チ フ ァ ン ク シ ョ ンの ロ ジ ッ ク への転用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 イ ン タ ー コ ネ ク ト リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 ス タ ッ ク ド シ リ コ ン イ ン タ ーコ ネ ク ト (SSI) テ ク ノ ロ ジ を使用す る デバ イ ス . . . . . . . . . . . . . . . 77 6 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 こ のユーザー ガ イ ド について ザ イ リ ン ク ス 7 シ リ ーズ FPGA には、 3 つの FPGA フ ァ ミ リ があ り ます。 こ れ ら はすべて最 も 低 い消費電力を達成す る よ う 設計 さ れてお り 、 最適な電力、 性能、 コ ス ト の実現に向けて、 標準デザ イ ン を フ ァ ミ リ 間で拡張 さ せ る こ と が可能です。 Artix®-7 フ ァ ミ リ は、 量産アプ リ ケーシ ョ ン向け に開発 さ れ、 最 も 低い コ ス ト と 消費電力を実現す る よ う 最適化 さ れてい ます。 Virtex®-7 フ ァ ミ リ は、 最高のシ ス テ ム性能 と 容量を提供す る よ う に最適化 さ れてい ます。 Kintex®-7 フ ァ ミ リ は、 対 コ ス ト 性能に最 も 優れた新 し い ク ラ ス の FPGA です。 こ のユーザー ガ イ ド は、 7 シ リ ーズ FPGA の コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク ブ ロ ッ ク (CLB) について説明 し た技術的な リ フ ァ レ ン ス です。 通常、 ロ ジ ッ ク 合成では、 シ ス テ ム設計者の介入な し に CLB リ ソ ース が割 り 当て ら れ ます。 ル ッ ク ア ッ プ テーブル (LUT) の多様な フ ァ ン ク シ ョ ン、キ ャ リ ー伝搬の物理的方向、使用可能な フ リ ッ プ フ ロ ッ プの数お よ び分布、 お よ び効率的なシ フ ト レ ジ ス タ の使用方法な ど、 一部の CLB の詳細 を理解す る こ と は効率的なデザ イ ンの作成に役立ち ます。 こ のユーザー ガ イ ド では、 こ れ ら の説明 お よ び CLB のその他の フ ァ ン ク シ ョ ンについて詳細に説明 し ます。 こ の 『7 シ リ ーズ FPGA コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド 』 を含む、 7 シ リ ーズ FPGA に関す る すべての資料は、 ザ イ リ ン ク ス の ウ ェ ブサ イ ト (japan.xilinx.com/7) か ら 入 手で き ます。 内容 こ のユーザー ガ イ ド は、 次の各章で構成 さ れてい ます。 • 第 1 章 「概要」 では、 ほ と ん ど のユーザーが必要 と す る 、 次の よ う な基本情報を提供 し ます。 • 「CLB の概要」 は、 新規ユーザーを対象 と し た情報です。 • 「7 シ リ ーズ CLB の特徴」 では、 経験豊富なユーザー向けに Spartan®-6 や Virtex®-6 FPGA フ ァ ミ リ か ら 新 し く な っ た点を紹介 し 、 デザ イ ン移行時の検討事項を解説 し ます。 • 「デバ イ ス リ ソ ース」 では、 デバ イ ス あ た り の リ ソ ース数や、 さ ま ざ ま な 7 シ リ ーズ フ ァ ミ リ 間に共通す る 項目を示 し ます。 • 「推奨デザ イ ン フ ロ ー」 には、 CLB リ ソ ース の基本的な使用法 と 重要な検討課題が列挙 さ れてい ます。 • 「ピ ン配置の計画」 では、 CLB がデザ イ ンの ピ ン配置に影響を及ぼす可能性があ る 側面に ついて検討 し ます。 • 第 2 章 「機能の詳細」 では、 各 CLB フ ァ ン ク シ ョ ンの具体的な アーキ テ ク チ ャ を示 し ます。 • 第 3 章 「デザ イ ン入力」 では、 デザ イ ン入力のガ イ ド ラ イ ン と 、 イ ン ス タ ン シエーシ ョ ン用の プ リ ミ テ ィ ブ を紹介 し ます。 • 第 4 章 「アプ リ ケーシ ョ ン」 では、 よ り 大規模な アプ リ ケーシ ョ ンに対す る CLB リ ソ ース の 適用例を示 し ます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 7 こ のユーザー ガ イ ド について • 第 5 章 「 タ イ ミ ン グ」 では、 タ イ ミ ン グ モデル と 記載 さ れてい る CLB タ イ ミ ン グ仕様の定義 を説明 し ます。 • 第 6 章 「高度な使用法」 では、 7 シ リ ーズ CLB の高度な機能について説明 し ます。 その他の リ ソ ース その他の資料は、 ザ イ リ ン ク ス の ウ ェ ブサ イ ト か ら 入手で き ます。 japan.xilinx.com/support/documentation/index シ リ コ ンや ソ フ ト ウ ェ ア、 IP に関す る ア ンサー デー タ ベース を検索 し た り 、 テ ク ニ カル サポー ト の ウ ェ ブケース を開 く 場合は、 次の ウ ェ ブサ イ ト にア ク セ ス し て く だ さ い。 japan.xilinx.com/support 8 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 第1章 概要 CLB の概要 7 シ リ ーズ コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク ブ ロ ッ ク (CLB) は、 次に示す高機能かつ高性能の FPGA ロ ジ ッ ク を提供 し ます。 • 完全な 6 入力ル ッ ク ア ッ プ テーブル (LUT) テ ク ノ ロ ジ • デ ュ アル LUT5 (5 入力 LUT) オプシ ョ ン • 分散 メ モ リ お よ びシ フ ト レ ジ ス タ ロ ジ ッ ク フ ァ ン ク シ ョ ン • 高速演算専用のキ ャ リ ー ロ ジ ッ ク フ ァ ン ク シ ョ ン • 使用効率を向上 さ せ る 多入力マルチプ レ ク サー CLB ( コ ン フ ィ ギ ャ ラ ブル ロ ジ ッ ク ブ ロ ッ ク ) は、 順次回路お よ び組み合わせ回路を イ ンプ リ メ ン ト す る 際の主要な ロ ジ ッ ク リ ソ ー ス です。 各 CLB エ レ メ ン ト は ス イ ッ チ マ ト リ ッ ク ス に接続 し て、 汎用配線マ ト リ ッ ク ス にア ク セ ス し ます (図 1-1 参照)。 1 つの CLB エ レ メ ン ト には、 2 つの ス ラ イ ス があ り ます。 X-Ref Target - Figure 1-1 COUT COUT CLB Slice(1) Switch Matrix Slice(0) CIN CIN UG474_c1_01_071910 図 1-1 : CLB 内のス ラ イ ス配置 7 シ リ ーズ FPGA の LUT は、 出力が 1 つの 6 入力 LUT と し て、 ま たは出力は別々でア ド レ ス ま たは ロ ジ ッ ク 入力が共通の 2 つの 5 入力 LUT と し て構成で き ます。各 5 入力 LUT 出力はオプシ ョ ン と し て フ リ ッ プ フ ロ ッ プで ラ ッ チで き ます。 6 入力 LUT が 4 つ、 それ ら の フ リ ッ プ フ ロ ッ プが 8 つ、 そ し て演算キ ャ リ ー ロ ジ ッ ク に よ っ て ス ラ イ ス が構成 さ れ、 2 つの ス ラ イ ス が CLB を構成 し ます。 (各 LUT か ら 1 つずつの) 4 つの フ リ ッ プ フ ロ ッ プはオプシ ョ ン で、 ラ ッ チ と し て使用で き ます。 こ の場合、 ス ラ イ ス に残っ た 4 つの フ リ ッ プ フ ロ ッ プは未使用にする 必要があ り ます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 9 第 1 章 : 概要 全ス ラ イ ス の約 3 分の 2 は SLICEL ロ ジ ッ ク ス ラ イ ス で、残 り が SLICEM です。SLICEM の LUT は、 64 ビ ッ ト の分散 RAM と し て、 ま たは 32 ビ ッ ト のシ フ ト レ ジ ス タ (SRL32) か 2 つの SRL16 と し て使用で き ます。 最近の合成ツールでは、 こ の よ う な高効率の ロ ジ ッ ク 、 演算、 お よ び メ モ リ 機能を活か し た合成が実行 さ れます。 さ ら に、 経験の豊富な設計者は こ れ ら を イ ン ス タ ン シエー ト す る こ と も で き ます。 7 シ リ ーズ CLB の特徴 7 シ リ ーズ デバ イ ス の CLB は、 Virtex®-6 FPGA フ ァ ミ リ の CLB と 同一です。 ま た、 Spartan®-6 FPGA フ ァ ミ リ の CLB に も 非常に類似 し てい ますが、 次の点が異な り ます。 • • カ ラ ム状のアーキ テ ク チ ャ • 高集積度への容易な ス ケー リ ン グ • よ り 多 く の CLB 間配線 SLICEL お よ び SLICEM のみ (Spartan-6 FPGA の SLICEX はない) • すべての ス ラ イ ス でキ ャ リ ー ロ ジ ッ ク をサポー ト • よ り 最適化 CLB 構造の共通の機能に よ っ て、 Spartan-6 お よ び Virtex-6 フ ァ ミ リ か ら 7 シ リ ーズ デバ イ スへ のデザ イ ン移行が簡素化 さ れ ま す。 た だ し 独自の フ ロ ア プ ラ ン を採用 し てい る こ と か ら 、 従来の FPGA を タ ーゲ ッ ト と し ていたデザ イ ン を イ ンプ リ メ ン ト する 前は、 ロ ケーシ ョ ン制約を削除す る 必要があ り ます。 イ ン タ ーコ ネ ク ト の配線 リ ソ ース が、 Virtex-6 FPGA フ ァ ミ リ と 比較 し てサ イ ズ、 量、 お よ び柔軟性の面で優れてい る ため、 自動配置配線の結果が向上 し ます。 デバイ ス リ ソ ース CLB リ ソ ース がすべての 7 シ リ ーズ フ ァ ミ リ 間で ス ケー ラ ブルであ る こ と か ら 、 アーキ テ ク チ ャ が共通 と な り 、 効率、 IP イ ンプ リ メ ン テーシ ョ ン、 デザ イ ン移行が改善 さ れます。 7 シ リ ーズ フ ァ ミ リ 間の差異は、 CLB の数お よ び CLB と その他のデバ イ ス リ ソ ース の比率です。 7 シ リ ーズ フ ァ ミ リ 間の移行では、 CLB に対する デザ イ ン変更は不要です。 デバ イ ス の容量は、 論理的に従来の 4 入力 LUT と フ リ ッ プ フ ロ ッ プ 1 つに相当する ロ ジ ッ ク セル 単位で計測 さ れ ま す。 7 シ リ ーズ FPGA の CLB には、 6 入力 LUT、 豊富な フ リ ッ プ フ ロ ッ プ と ラ ッ チ、 キ ャ リ ー ロ ジ ッ ク 、 そ し て SLICEM 内に分散 RAM ま たはシ フ ト レ ジ ス タ を構築す る 機 能が備わ り 、実質的な容量が増加 し てい ます。ロ ジ ッ ク セル と 6 入力 LUT の数の比率は 1.6:1 です。 7 シ リ ーズ FPGA の CLB リ ソ ース 表 1-1 ~表 1-3 に、 Artix®-7、 Kintex®-7、 お よ び Virtex®-7 FPGA で使用可能な CLB リ ソ ー ス を示 し ます。 最新情報は、 『7 シ リ ーズ FPGA 概要』 (DS180) を参照 し て く だ さ い。 表 1-1 : Artix-7 FPGA の CLB リ ソ ース フリ ップ フロップ 200 100 20,800 20,800 400 200 41,600 2,400 32,600 600 300 65,200 3,568 47,200 892 446 94,400 ス ラ イ ス (1) SLICEL SLICEM 7A15T 2,600(2) 1,800 800 10,400 7A35T (2) 3,600 1,600 5,750 8,232 7A50T 7A75T 10 (Kb) デバイ ス 5,200 8,150 (2) 11,800 6 入力 LUT 分散 RAM (Kb) japan.xilinx.com シ フ ト レ ジス タ 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 デバイ ス リ ソ ース 表 1-1 : Artix-7 FPGA の CLB リ ソ ース (続き ) デバイ ス ス ラ イ ス (1) SLICEL SLICEM 7A100T 15,850 11,100 4,750 63,400 7A200T 33,650 22,100 11,550 134,600 (Kb) フリ ップ フロップ 1,188 594 126,800 2,888 1,444 269,200 6 入力 LUT 分散 RAM (Kb) シ フ ト レ ジス タ 注記 : 1. 7 シ リ ーズ FPGA の各ス ラ イ ス には、 4 つの LUT と 8 つの フ リ ッ プ フ ロ ッ プが含ま れ、 SLICEM でのみ LUT を分散 RAM ま たは SRL と し て使用で き ます。 2. デバ イ ス内でサポー ト さ れ る LUT と フ リ ッ プ フ ロ ッ プの数に対応す る ス ラ イ ス の数です。 表 1-2 : Kintex-7 FPGA の CLB リ ソ ース (Kb) フリ ップ フロップ 838 419 82,000 101,400 2,188 1,094 202,800 16,000 203,800 4,000 2,000 407,600 35,300 20,350 222,600 5,088 2,544 445,200 40,900 22,650 254,200 5,663 2,831 508,400 41,400 23,750 260,600 5,938 2,969 521,200 47,500 27,150 298,600 6,788 3,394 597,200 デバイ ス ス ラ イ ス (1) SLICEL SLICEM 7K70T 10,250 6,900 3,350 41,000 7K160T 25,350 16,600 8,750 7K325T 50,950 34,950 7K355T 55,650 7K410T 63,550 7K420T 7K480T (2) 65,150 74,650 6 入力 LUT 分散 RAM (Kb) シ フ ト レジス タ 注記 : 1. 7 シ リ ーズ FPGA の各ス ラ イ ス には、 4 つの LUT と 8 つの フ リ ッ プ フ ロ ッ プが含まれ、 SLICEM でのみ LUT を分散 RAM ま たは SRL と し て使用で き ます。 2. デバ イ ス内でサポー ト さ れ る LUT と フ リ ッ プ フ ロ ッ プの数に対応す る ス ラ イ ス の数です。 表 1-3 : Virtex-7 FPGA の CLB リ ソ ース (Kb) フリ ップ フロップ 6,938 3,469 728,400 1,221,600 21,550 10,775 2,443,200 17,550 204,000 4,388 2,194 408,000 38,300 26,100 257,600 6,525 3,263 515,200 75,900 43,200 32,700 303,600 8,175 4,088 607,200 7VX550T 86,600(2) 51,700 34,900 346,400 8,725 4,363 692,800 7VX690T 108,300 64,750 43,550 433,200 10,888 5,444 866,400 7VX980T 153,000 97,650 55,350 612,000 13,838 6,919 1,224,000 7VX1140T 178,000 107,200 70,800 712,000 17,700 8,850 1,424,000 7VH580T 90,700 55,300 35,400 362,800 8,850 4,425 725,600 デバイ ス ス ラ イ ス (1) SLICEL SLICEM 7V585T 91,050 63,300 27,750 364,200 7V2000T 305,400 219,200 86,200 7VX330T 51,000 33,450 7VX415T 64,400 7VX485T 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 6 入力 LUT 分散 RAM (Kb) japan.xilinx.com シ フ ト レジス タ 11 第 1 章 : 概要 表 1-3 : Virtex-7 FPGA の CLB リ ソ ース (続き ) デバイ ス ス ラ イ ス (1) SLICEL SLICEM 7VH870T 136,900 83,750 53,150 6 入力 LUT 分散 RAM (Kb) 547,600 13,275 シ フ ト レジス タ (Kb) フリ ップ フロップ 6,638 1,095,200 注記 : 1. 7 シ リ ーズ FPGA の各ス ラ イ ス には、 4 つの LUT と 8 つの フ リ ッ プ フ ロ ッ プが含ま れ、 SLICEM でのみ LUT を分散 RAM ま たは SRL と し て使用で き ます。 2. デバ イ ス内でサポー ト さ れ る LUT と フ リ ッ プ フ ロ ッ プの数に対応す る ス ラ イ ス の数です。 推奨デザイ ン フ ロー CLB リ ソ ース は汎用デザ イ ン ロ ジ ッ ク 用に推論 さ れ る ため、 イ ン ス タ ン シエーシ ョ ンは不要です。 HDL デザ イ ン を適切に行 う だけで十分です。 次に、 注意すべき 点を示 し ます。 • CLB のフ リ ッ プ フ ロ ッ プにはセ ッ ト ま たは リ セ ッ ト のいずれか一方 し かあ り ません。セ ッ ト と リ セ ッ ト の両方は使用で き ません。 • フ リ ッ プ フ ロ ッ プが豊富に用意 さ れてい ます。 性能を向上 さ せ る ためにパ イ プ ラ イ ン処理を検 討 し て く だ さ い。 • 制御入力は ス ラ イ ス ま たは CLB 間で共有 さ れます。 各デザ イ ンに必要な制御信号の数は可能 な限 り 少な く し ま す。 制御入力には、 ク ロ ッ ク 、 ク ロ ッ ク イ ネーブル、 セ ッ ト / リ セ ッ ト 、 書 き 込み イ ネーブルな ど があ り ます。 • 6 入力 LUT を 32 ビ ッ ト のシ フ ト レ ジ ス タ と し て使用する こ と で、高効率な イ ンプ リ メ ン テー シ ョ ンが可能にな り ます。 • 必要な格納領域が小 さ な場合は、 6 入力 LUT を 64x1 の メ モ リ と し て使用で き ます。 • 専用キ ャ リ ー ロ ジ ッ ク を使用す る と 演算機能を効果的に イ ンプ リ メ ン ト で き ます。 次に、 推奨デザ イ ン フ ロ ーの手順を示 し ます。 1. 推奨す る 手法 (HDL、 IP な ど ) を用いてデザ イ ン を イ ンプ リ メ ン ト し ます。 2. 使用率レ ポー ト か ら 、 リ ソ ース の利用状況を判断 し ます。 演算 ロ ジ ッ ク 、 分散 RAM、 SRL が適宜使用 さ れてい る こ と を確認 し ます。 3. 4. フ リ ッ プ フ ロ ッ プの使用法を検討 し ます。 a. 性能向上を目的 と し たパ イ プ ラ イ ン処理の使用 b. 専用 リ ソ ース (ブ ロ ッ ク RAM、 DSP) 出力への専用フ リ ッ プ フ ロ ッ プの使用 c. シ フ ト レ ジ ス タ の SRL と し ての使用 ( セ ッ ト / リ セ ッ ト の使用を避け る ) セ ッ ト / リ セ ッ ト の使用は最低限に抑え ます。 ピ ン配置の計画 多 く の場合、 リ ソ ース の使用はデバ イ ス の ピ ン配置に影響を及ぼ し ますが、 CLB はデバ イ ス全体に 分散 し てい る ため ピ ン配置に与え る 影響はわずかです。 ASMBL™ アーキ テ ク チ ャ は、 ほ と ん ど の I/O の両側にあ る CLB に最大限の柔軟性を提供 し ます。 FPGA の要件に基づいて ツールに I/O 配置を決定 さ せ る こ と が最良の方法です。その結果に対 し て、 ボー ド レ イ ア ウ ト の検討時に必要な変更を加え ます。 ただ し 、 ツールがデザ イ ン要件に基づいて最 適の位置に I/O を配置で き る よ う に タ イ ミ ン グ制約を設定す る 必要があ り ます。 12 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 ピ ン配置の計画 キ ャ リ ー ロ ジ ッ ク はカ ラ ムに沿っ て垂直上方向にカ ス ケー ド 接続す る ため、 多入力演算バ ス は I/O を含むほかの ロ ジ ッ ク と 直交す る 方向で駆動す る 可能性があ り ます。 ほ と ん ど の 7 シ リ ーズ デバ イ スは、ASMBL アーキ テ ク チ ャ の分散 I/O の効果を最大限に活かす こ と がで き る フ リ ッ プチ ッ プ パ ッ ケージで提供 さ れます。 一方、 よ り 小型のデバ イ ス は低 コ ス ト の ワ イ ヤ ボ ンデ ィ ン グ パ ッ ケージで提供 さ れ ます。 こ れ ら の小型パ ッ ケージでは、 一部の ピ ン が特性 上ほかの ピ ンに比べて I/O や特別な リ ソ ース に近接 し てい る ため、 内部 ロ ジ ッ ク の定義が完了 し て か ら ピ ン配置を決定す る 必要があ り ます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 13 第 1 章 : 概要 14 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 第2章 機能の詳細 こ の章では 7 シ リ ーズ FPGA の CLB アーキ テ ク チ ャ について詳 し く 解説 し ます。 こ れ ら はデザ イ ンの最適化や検証に役立ち ますが、デザ イ ンの開始に必要 と な る も のではあ り ません。 こ の章では、 次の項目について説明 し ます。 • 「CLB の配置」 CLB 内の ス ラ イ ス の配置 と 機能に関す る 概要 • 「ス ラ イ ス の説明」 SLICEM お よ び SLICEL の全詳細 • 「ル ッ ク ア ッ プ テーブル (LUT)」 ロ ジ ッ ク フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーの説明 • 「ス ト レージ エ レ メ ン ト 」 ラ ッ チお よ びフ リ ッ プ フ ロ ッ プの内容お よ び制御方法 • 「分散 RAM (SLICEM のみで使用可能)」 LUT を書 き 込み可能な メ モ リ と し て使用する SLICEM の機能 • 「シ フ ト レ ジ ス タ (SLICEM のみ)」 LUT を シ フ ト レ ジ ス タ と し て使用する SLICEM の機能 • 「マルチプ レ ク サー」 LUT を組み合わせて多入力フ ァ ン ク シ ョ ン を作成する ための専用ゲー ト • 「キ ャ リ ー ロ ジ ッ ク 」 効率的に演算機能を イ ンプ リ メ ン ト す る ための専用ゲー ト お よ びカ ス ケー ド 接続 CLB の配置 7 シ リ ーズ FPGA の CLB はカ ラ ムに配列 さ れます。 7 シ リ ーズ FPGA は、 第 4 世代 と な る 、 独自 のカ ラ ム ベース の ASMBL™ アーキ テ ク チ ャ を採用 し たデバ イ ス です。 ASMBL アーキテ ク チ ャ ザ イ リ ン ク ス は、 さ ま ざ ま な アプ リ ケーシ ョ ン分野に最適 と な る よ う に各種機能を組み合わせて構 成 し た FPGA プ ラ ッ ト フ ォ ー ム を 可能にす る た め、 ASMBL (Advanced Silicon Modular Block) アーキ テ ク チ ャ を開発 し ま し た。 こ の革新的な技術に よ り 、 ザ イ リ ン ク スは幅広い品揃えでデバ イ ス を提供 し 、 ユーザーは特定のデザ イ ンに適 し たバ ラ ン ス の機能 と 性能を備え る デバ イ ス を選択で き ます。図 2-1 に、さ ま ざ ま な タ イ プのカ ラ ムベース リ ソ ース か ら 成 る 概略ブ ロ ッ ク 図を示 し ます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 15 第 2 章 : 機能の詳細 X-Ref Target - Figure 2-1 Feature Options Column Based ASMBL Architecture Logic (SLICEL) Global Clock Logic (SLICEM) High-performance I/O DSP High-range I/O Memory Integrated IP Clock Management Tile Mixed Signal Transceivers Domain A Domain B Domain C Applications Applications Applications UG474_c2_24_071014 図 2-1 : ASMBL アーキテ ク チ ャ ASMBL アーキ テ ク チ ャ は次の方法で従来の設計におけ る 限界を取 り 除 き ます。 • I/O 数に よ る ア レ イ サ イ ズの制限な ど、 幾何学的配置の制約を削除 • 電源お よ びグ ラ ン ド をチ ッ プのあ ら ゆ る 場所に配置 さ せ る こ と で、 こ れ ら の分配を強化 • 異種の統合 IP ブ ロ ッ ク を互いに、 かつ周囲の リ ソ ース か ら 独立 し て拡張可能 SSI テ ク ノ ロ ジ 7 シ リ ーズ デバ イ ス は、 独自の ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) テ ク ノ ロ ジ を用い る こ と で さ ら に高度な統合を実現 し ます。SSI テ ク ノ ロ ジに よ っ て、1 つのパ ッ シブ イ ン タ ーポーザー 層上で複数の SLR (Super Logic Region) を組み合わせ る こ と が可能にな り 、1 万を超え る 内部 SLR 接続を持つ FPGA を作成で き る よ う にな り ます。 詳細は、 第 6 章 「高度な使用法」 を参照 し て く だ さ い。 CLB ス ラ イ ス CLB エ レ メ ン ト には 1 対の ス ラ イ ス が含まれ、各ス ラ イ ス は 4 つの 6 入力 LUT と 8 つの ス ト レー ジ エ レ メ ン ト か ら 構成 さ れます。 • SLICE(0) - CLB の下部、 左のカ ラ ムに配置 さ れた ス ラ イ ス • SLICE(1) - CLB の上部、 右のカ ラ ムに配置 さ れた ス ラ イ ス こ れ ら 2 つの ス ラ イ ス は、 直接相互接続 し てお ら ず、 各ス ラ イ ス は 1 つのカ ラ ム と し て配置 さ れて い ます。 カ ラ ム内のそれぞれの ス ラ イ ス には、 1 本の独立 し た キ ャ リ ー チ ェーンがあ り ます。 16 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 CLB の配置 ザ イ リ ン ク ス ツールでは、 ス ラ イ ス は次の よ う に定義 さ れてい ます。 • 「X」 の後に続 く 数字は、 各ペアでの ス ラ イ ス の位置お よ びス ラ イ ス のカ ラ ム位置を示 し ます。 こ の番号は、 最初の CLB カ ラ ムでは ス ラ イ ス の下位か ら 0、 1 と 定義 し 、 2 番目の CLB カ ラ ムの下位か ら 2、 3 な ど の よ う に定義 し ます。 • 「Y」 の後に続 く 数字は、 ス ラ イ ス の行を示 し ます。 こ の番号は、 同 じ CLB 内では同一にな り 、 CLB の行間では下か ら 上に位置す る に従っ て順に大 き く な り ます。 図 2-2 に、 ダ イ の左下に配置 さ れた 4 つの CLB を示 し ます。 X-Ref Target - Figure 2-2 COUT COUT COUT CLB COUT CLB Slice1 X1Y1 Slice1 X3Y1 Slice0 X0Y1 Slice0 X2Y1 CIN CIN COUT COUT CLB CIN CIN COUT COUT CLB Slice1 X1Y0 Slice1 X3Y0 Slice0 X0Y0 Slice0 X2Y0 UG474_c2_01_092210 図 2-2 : CLB およびス ラ イ ス間の行 と カ ラ ムの関係 CLB およびス ラ イ ス コ ン フ ィ ギ ュ レーシ ョ ン 表 2-1 に、1 つの CLB に含まれ る ロ ジ ッ ク リ ソ ース を示 し ます。SLICEM の各 LUT はル ッ ク ア ッ プ テーブル、 分散 RAM、 ま たはシ フ ト レ ジ ス タ と し て構成で き ます。 表 2-1 : 1 つの CLB に含まれる ロ ジ ッ ク リ ソ ース スラ イス 数 LUT フリ ップ フロップ 演算および キ ャ リ ー チ ェ ーン 分散 RAM(1) シ フ ト レ ジ ス タ (1) 2 8 16 2 256 ビ ッ ト 128 ビ ッ ト 注記 : 1. SLICEM にのみ該当 し ます。 SLICEL には分散 RAM ま たはシ フ ト レ ジ ス タ はあ り ません。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 17 第 2 章 : 機能の詳細 ス ラ イ スの説明 すべての ス ラ イ ス には、 次が含まれます。 • 4 つの ロ ジ ッ ク フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ー ( ま たはル ッ ク ア ッ プ テーブル) • 8 つの ス ト レージ エ レ メ ン ト • 多入力機能マルチプ レ ク サー • キャ リー ロジッ ク ス ラ イ ス では、 こ れ ら のエ レ メ ン ト を使用 し て ロ ジ ッ ク フ ァ ン ク シ ョ ン、 演算機能、 お よ び ROM 機能を提供 し ます。 さ ら に、 特定ス ラ イ ス は 2 つの フ ァ ン ク シ ョ ン (分散 RAM を使用 し たデー タ 格納お よ び 32 ビ ッ ト レ ジ ス タ を使用 し たデー タ シ フ ト ) をサポー ト し ます。 こ れ ら の追加フ ァ ン ク シ ョ ン を サ ポー ト す る 特定 ス ラ イ ス を SLICEM、 そ の他の ス ラ イ ス を SLICEL と 呼び ま す。 SLICEM のエ レ メ ン ト お よ び接続を図 2-3 に、SLICEL のエ レ メ ン ト お よ び接続を図 2-4 に示 し ま す。 各 CLB には SLICEL が 2 つ、 ま たは SLICEL と SLICEM が各 1 つ含まれます。 18 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 ス ラ イ スの説明 X-Ref Target - Figure 2-3 D CE CK COUT SRHI SRLO INIT1 Q INIT0 SR Reset Type Sync/Async FF/LAT DX D6:1 DMUX DI2 A6:A1 W6:W1 CK D D O6 O5 DX D CE CK DI1 WEN MC31 D DI CE CK SRHI SRLO INIT1 Q INIT0 SR FF/LAT INIT1 Q INIT0 SRHI SRLO SR CX C6:1 CMUX DI2 A6:A1 W6:W1 CK C C O6 O5 CX D CE CK DI1 WEN MC31 D CI CE CK SRHI SRLO INIT1 Q INIT0 SR FF/LAT INIT1 Q INIT0 SRHI SRLO BMUX DI2 A6:A1 W6:W1 CK B B O6 O5 BX DI1 WEN MC31 D BI CE CK SRHI SRLO INIT1 Q INIT0 SR D CE CK FF/LAT INIT1 Q INIT0 SRHI SRLO BQ SR AX A6:1 CQ SR BX B6:1 DQ AMUX DI2 A6:A1 W6:W1 CK AX DI1 WEN MC31 AI A A O6 O5 D CE CK FF/LAT INIT1 Q INIT0 SRHI SRLO AQ SR 0/1 SR CE CLK CK WE WEN CIN UG474_c2_02_110510 図 2-3 : SLICEM の図 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 19 第 2 章 : 機能の詳細 X-Ref Target - Figure 2-4 D COUT CE CK SRHI SRLO INIT1 Q INIT0 SR Reset Type Sync/Async FF/LAT DX D6:1 DMUX A6:A1 D D O6 O5 DX D CE CK D CE CK SRHI SRLO INIT1 Q INIT0 SR FF/LAT INIT1 Q INIT0 SRHI SRLO SR CX C6:1 CMUX A6:A1 C C O6 O5 CX D CE CK D CE CK SRHI SRLO INIT1 Q INIT0 SR FF/LAT INIT1 Q INIT0 SRHI SRLO BMUX A6:A1 B B O6 O5 BX D CE CK SRHI SRLO INIT1 Q INIT0 SR D CE CK FF/LAT Q INIT1 INIT0 SRHI SRLO SR AX A6:1 CQ SR BX B6:1 DQ BQ AMUX A6:A1 A A O6 O5 AX D CE CK FF/LAT Q INIT1 INIT0 SRHI SRLO AQ SR 0/1 SR CE CLK CIN UG474_c2_03_101210 図 2-4 : SLICEL の図 20 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 ル ッ ク ア ッ プ テーブル (LUT) ル ッ ク ア ッ プ テーブル (LUT) 7 シ リ ーズ FPGA の フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーは、 6 入力のル ッ ク ア ッ プ テーブル (LUT) と し て イ ンプ リ メ ン ト さ れてい ます。各ス ラ イ ス (A、 B、 C、お よ び D) の 4 つの フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーには、6 つの独立 し た入力 (A 入力 : A1~A6) と 2 つの独立 し た出力 (O5 お よ び O6) が あ り ます。 フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーは次を イ ンプ リ メ ン ト で き ます。 • 任意に定義 さ れた 6 入力のブール関数 • 任意に定義 さ れた 2 つの 5 入力のブール関数 ( こ れ ら 2 つが入力を共有 し てい る 場合のみ) • 2 つの任意に定義 さ れた 3 お よ び 2 入力以下のブール関数 6 入力の フ ァ ン ク シ ョ ンでは、 次の入出力を使用 し ます。 • A1 ~ A6 入力 • O6 出力 5 入力以下の フ ァ ン ク シ ョ ンが 2 つの場合は、 次の入出力を使用 し ます。 • A1 ~ A5 入力 • A6 は High に駆動 • O5 お よ び O6 出力 LUT を通 る 伝搬遅延は、 イ ン プ リ メ ン ト さ れ る フ ァ ン ク シ ョ ン と は無関係です。 フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーか ら の信号は、 次が可能です。 • ス ラ イ ス か ら 出力 (O6 は A、 B、 C、 D 出力か ら 、 O5 は AMUX、 BMUX、 CMUX、 DMUX 出力か ら ) • O6 出力か ら XOR 専用ゲー ト に入力 • O5 出力か ら キ ャ リ ー ロ ジ ッ ク チ ェーンに入力 • O6 出力か ら キ ャ リ ー ロ ジ ッ ク マルチプ レ ク サーのセ レ ク ト ラ イ ンに入力 • ス ト レージ エ レ メ ン ト の D 入力 • O6 出力か ら F7AMUX/F7BMUX 多入力マルチプ レ ク サーに入力 基本的な LUT のほかに も 、 ス ラ イ ス には 3 つのマルチプ レ ク サー (F7AMUX、 F7BMUX、 お よ び F8MUX) が含まれてい ます。 こ れ ら のマルチプ レ ク サーを使用 し て、 1 つの ス ラ イ ス内で最大 4 つ の フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーを組み合わせ、 7 入力ま たは 8 入力の フ ァ ン ク シ ョ ン を構成で き ます。 • F7AMUX : LUT A お よ び B か ら 7 入力フ ァ ン ク シ ョ ン を生成する と き に使用 • F7BMUX : LUT C お よ び D か ら 7 入力フ ァ ン ク シ ョ ン を生成する と き に使用 • F8MUX : すべての LUT を組み合わせて 8 入力フ ァ ン ク シ ョ ン を生成す る と き に使用 複数の ス ラ イ ス を使用す る と 、 9 入力以上の フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト で き ますが、 ス ラ イ ス間には直接接続がないため、 CLB 内で 8 入力を超え る フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーは作成で き ません。 ス ト レージ エ レ メ ン ト ス ラ イ ス あ た り 8 つの ス ト レージ エ レ メ ン ト があ り ます。 その う ち 4 つはエ ッ ジ ト リ ガーの D タ イ プ フ リ ッ プ フ ロ ッ プ ま たは レ ベル認識 ラ ッ チ と し て コ ン フ ィ ギ ュ レ ーシ ョ ン で き ま す。 D 入力 は、 AFFMUX、 BFFMUX、 CFFMUX、 ま たは DFFMUX を通 る LUT 出力で直接駆動する か、 あ 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 21 第 2 章 : 機能の詳細 る いは AX、BX、CX、ま たは DX 入力か ら フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーをバ イ パスする BYPASS ス ラ イ ス入力で直接駆動で き ます。 ラ ッ チ と し て コ ン フ ィ ギ ュ レーシ ョ ンする 場合、 ラ ッ チは CLK が Low の と き に透過にな り ます。 上記の 4 つ以外に、 エ ッ ジ ト リ ガーの D タ イ プ フ リ ッ プ フ ロ ッ プ と し てのみ コ ン フ ィ ギ ュ レ ー シ ョ ン可能な ス ト レージ エ レ メ ン ト が 4 つあ り ます。 D 入力は、 LUT の O5 出力ま たは AX、 BX、 CX、 あ る いは DX 入力を介 し た BYPASS ス ラ イ ス 入力に よ っ て駆動可能です。 従来の 4 つの ス ト レージ エ レ メ ン ト が ラ ッ チ と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れ る 場合、 こ れ ら の ス ト レージ エ レ メ ン ト は使用で き ません。 図 2-5 に、 ス ラ イ ス で レ ジ ス タ のみを使用 し た コ ン フ ィ ギ ュ レーシ ョ ンお よ びレ ジ ス タ と ラ ッ チの 両方を使用 し た コ ン フ ィ ギ ュ レーシ ョ ン を示 し ます。 X-Ref Target - Figure 2-5 DFF LUT D O5 Output D CE CK DX INIT1 Q INIT0 SRHIGH SRLOW D CE CK D CE CK DX SR LUT C Output INIT1 Q INIT0 SRHIGH SRLOW D CE CK CX Reset Type FF LATCH Q INIT1 INIT0 SRHIGH SRLOW SR FF LATCH Q INIT1 INIT0 SRHIGH SRLOW SR BFF BX D CE CK CE CLK Sync LUT B Output Async BQ BFF/LATCH BX D CE CK INIT1 Q INIT0 SRHIGH SRLOW D CE CK CE SR CLK AFF LUT A O5 Output AX INIT1 Q INIT0 SRHIGH SRLOW CQ Reset Type SR Sync LUT B O5 Output DQ CFF/LATCH CQ SR SR DFF/LATCH DQ CFF LUT C O5 Output CX LUT D Output LUT A Output AX FF LATCH Q INIT1 INIT0 SRHIGH SRLOW SR BQ AFF/LATCH AQ SR Async D CE CK FF LATCH Q INIT1 INIT0 SRHIGH SRLOW SR AQ UG474_c2_04_101210 図 2-5 : ス ラ イ ス内の 2 つの コ ン フ ィ ギ ュ レーシ ョ ン ( レ ジス タ のみ 4 つ、 およびレ ジ ス タ / ラ ッ チ 4 つ) 制御信号 1 つの ス ラ イ ス内の ス ト レージ エ レ メ ン ト 間では、 ク ロ ッ ク (CLK)、 ク ロ ッ ク イ ネーブル (CE)、 お よ びセ ッ ト / リ セ ッ ト (SR) 制御信号が共有 さ れます。 こ のため、 ス ラ イ ス内の 1 つの フ リ ッ プ フ ロ ッ プで SR ま たは CE が イ ネーブルの と き 、 ス ラ イ ス で使用 さ れ る 残 り の フ リ ッ プ フ ロ ッ プで も 共有信号に よ っ て SR ま たは CE が イ ネーブルにな り ます。CLK 信号のみプ ロ グ ラ ム可能な極性が 22 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 分散 RAM (SLICEM のみで使用可能) あ り ます。 ク ロ ッ ク 信号上にあ る イ ンバー タ ーは、 すべて自動で取 り 込まれます。 CE お よ び SR 信 号はア ク テ ィ ブ High です。 ス ト レージ エ レ メ ン ト には次の初期化オプシ ョ ンがあ り ます。 • SRLOW : CLB SR 信号のアサー ト に よ る 同期ま たは非同期 リ セ ッ ト • SRHIGH : CLB SR 信号のアサー ト に よ る 同期ま たは非同期セ ッ ト • INIT0 : 電源投入ま たはグ ロ ーバル セ ッ ト / リ セ ッ ト に よ る 非同期 リ セ ッ ト (76 ページの 「グ ロ ーバル制御信号 GSR お よ び GTS」 参照) • INIT1 : 電源投入ま たはグ ロ ーバル セ ッ ト / リ セ ッ ト に よ る 非同期セ ッ ト SR 信号は、 ス ト レージ エ レ メ ン ト を強制的に SRHIGH 属性ま たは SRLOW 属性で指定 さ れた ス テー ト に し ます。 SR がアサー ト さ れ る と 、 SRHIGH では ス ト レージ エ レ メ ン ト の出力 ロ ジ ッ ク レ ベルが強制的に High にな り 、 SRLOW では Low にな り ます (表 2-2 参照)。 表 2-2 : SRLOW および SRHIGH を使用 し た と きの真理値表 SR SRVAL 機能 0 SRLOW (デフ ォ ル ト ) ロ ジ ッ ク レベル変化な し 1 SRLOW (デフ ォ ル ト ) SRHIGH 0 0 ロ ジ ッ ク レベル変化な し 1 SRHIGH 1 SRHIGH お よ び SRLOW は、 ス ラ イ ス内の各ス ト レージ エ レ メ ン ト で個々に設定で き ます。 同期 (SYNC) ま たは非同期 (ASYNC) のセ ッ ト / リ セ ッ ト (SRTYPE) は、 個別に設定で き ません。 コ ン フ ィ ギ ュ レーシ ョ ン後の初期ス テー ト ま たはグ ロ ーバル初期ス テー ト は、それぞれ INIT0 お よ び INIT1 属性で定義 さ れ ます。 デフ ォ ル ト では、 SRLOW 属性を指定す る と INIT0 に、 SRHIGH 属性を指定す る と INIT1 にな り ます。 7 シ リ ーズ デバ イ ス では、 SRHIGH お よ び SRLOW に関係 な く INIT0 お よ び INIT1 を設定で き ます。 レ ジ ス タ ま たは ラ ッ チ と し て も 機能す る 4 つの ス ト レージ エ レ メ ン ト のセ ッ ト お よ び リ セ ッ ト の コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ン を次に示 し ます。 • セッ ト/リ セッ ト なし • 同期セ ッ ト • 同期 リ セ ッ ト • 非同期セ ッ ト (プ リ セ ッ ト ) • 非同期 リ セ ッ ト ( ク リ ア ) 分散 RAM (SLICEM のみで使用可能) SLICEM 内の フ ァ ン ク シ ョ ン ジ ェ ネ レ ー タ ー (LUT) は、 分散 RAM エ レ メ ン ト と 呼ばれ る 同期 RAM リ ソ ース と し て イ ンプ リ メ ン ト で き ます。 SLICEM の 複数の LUT を さ ま ざ ま な方法で組み 合わせ る こ と で、 格納で き る デー タ 容量を増やす こ と がで き ます。 RAM エ レ メ ン ト は、 SLICEM 内で次の イ ンプ リ メ ン ト す る よ う に構成可能です。 • シ ン グル ポー ト 32x1 ビ ッ ト RAM • デ ュ アル ポー ト 32x1 ビ ッ ト RAM • ク ワ ッ ド ポー ト 32x2 ビ ッ ト RAM • シ ンプル デ ュ アル ポー ト 32x6 ビ ッ ト RAM 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 23 第 2 章 : 機能の詳細 • シ ン グル ポー ト 64x1 ビ ッ ト RAM • デ ュ アル ポー ト 64x1 ビ ッ ト RAM • ク ワ ッ ド ポー ト 64x1 ビ ッ ト RAM • シ ンプル デ ュ アル ポー ト 64x3 ビ ッ ト RAM • シ ン グル ポー ト 128x1 ビ ッ ト RAM • デ ュ アル ポー ト 128x1 ビ ッ ト RAM • シ ン グル ポー ト 256x1 ビ ッ ト RAM 分散 RAM モジ ュ ールは同期 (書き 込み) リ ソ ース です。 同期読み出 し は、 同一ス ラ イ ス内の フ リ ッ プ フ ロ ッ プ を使用 し て イ ンプ リ メ ン ト で き ます。こ の よ う に フ リ ッ プ フ ロ ッ プ を使用す る 場合には、 フ リ ッ プ フ ロ ッ プの Clock-to-Out 遅延が低減 さ れ る ため、 分散 RAM の性能が向上 し ま す。 ただ し 、 ク ロ ッ ク レ イ テ ン シが 1 サ イ ク ル分追加 さ れます。 分散エ レ メ ン ト では同 じ ク ロ ッ ク 入力が共 有 さ れ ま す。 書 き 込みを実行す る 場合、 SLICEM の CE ま たは WE ピ ン で駆動 さ れ る 書 き 込み イ ネーブル (WE) 入力を High に駆動す る 必要があ り ます。 表 2-3 に、 各分散 RAM コ ン フ ィ ギ ュ レーシ ョ ンで使用する LUT (各ス ラ イ ス に 4 つ) 数を示 し ま す。 使用可能な分散 RAM プ リ ミ テ ィ ブの詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA お よ び Zynq-7000 All Programmable SoC ラ イ ブ ラ リ ガ イ ド 』 (UG953) を参照 し て く だ さ い。 表 2-3 : 分散 RAM の コ ン フ ィ ギ ュ レーシ ョ ン RAM 説明 プリ ミティブ LUT 数 32 x 1S シ ン グル ポー ト RAM32X1S 1 32 x 1D デュ アル ポー ト RAM32X1D 2 32 x 2Q ク ワ ッ ド ポー ト RAM32M 4 32 x 6SDP シ ンプル デ ュ アル ポー ト RAM32M 4 64 x 1S シ ン グル ポー ト RAM64X1S 1 64 x 1D デュ アル ポー ト RAM64X1D 2 64 x 1Q ク ワ ッ ド ポー ト RAM64M 4 64 x 3SDP シ ンプル デ ュ アル ポー ト RAM64M 4 128 x 1S シ ン グル ポー ト RAM128X1S 2 128 x 1D デュ アル ポー ト RAM128X1D 4 256 x 1S シ ン グル ポー ト RAM256X1S 4 分散 RAM の コ ン フ ィ ギ ュ レーシ ョ ンには、 次の よ う なポー ト があ り ます。 • シ ン グル ポー ト • 同期書 き 込みお よ び非同期読み出 し 用に共通のア ド レ ス ポー ト • デ ュ アル ポー ト • 同期書 き 込みお よ び非同期読み出 し 用に 1 ポー ト - 24 読み出 し お よ び書 き 込みア ド レ スは同 じ ア ド レ ス バ ス を共有 読み出 し お よ び書 き 込みのポー ト ア ド レ ス が共有 さ れてい る フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーが 1 つ接続 さ れ る japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 分散 RAM (SLICEM のみで使用可能) • 非同期読み出 し 用に 1 ポー ト - • • 2 つ目の フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーには、 2 つ目の読み出 し 専用ポー ト ア ド レ ス に接続 さ れ る 、 A 入力お よ び 1 つ目の読み出 し /書 き 込みポー ト ア ド レ ス と 共有す る WA 入力があ る シ ンプル デ ュ アル ポー ト • 同期書 き 込み用に 1 ポー ト (書き 込みポー ト か ら のデー タ 出力/読み出 し ポー ト はない) • 非同期読み出 し 用に 1 ポー ト ク ワ ッ ド ポー ト • 同期書 き 込みお よ び非同期読み出 し 用に 1 ポー ト • 非同期読み出 し 用に 3 ポー ト 図 2-3 に示す と お り 、 共通書 き 込みポー ト W6:W1 (次の図では、 WA[6:1]) は常に、 D[6:1] を使用 す る D LUT への入力に よ っ て物理的に駆動 さ れます。 読み出 し ポー ト は、 4 つの LUT のそれぞれ で独立 し てい ます。 し たがっ て、 DPRAM64 が LUT コ ン フ ィ ギ ュ レーシ ョ ンに設定 さ れていて も 、 D LUT は常に有効な シ ン グル ポー ト と な り ます。 読み出 し お よ び書 き 込みア ド レ ス が互いに接続 さ れてい る 場合に SPRAM32 を選択で き ますが、その他の 3 つの LUT は常に有効なデ ュ アル ポー ト と な り ます。 図 2-6 か ら 図 2-14 に、 1 つの SLICEM を使用 し て コ ン フ ィ ギ ュ レーシ ョ ンす る 分散 RAM の例を 示 し ます。 x2 コ ン フ ィ ギ ュ レーシ ョ ン (図 2-6 の 32x2 ク ワ ッ ド ポー ト ) を使用す る 場合は、 A6 お よ び WA6 を ソ フ ト ウ ェ アで High 駆動 し て、 O5 と O6 を独立 さ せます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 25 第 2 章 : 機能の詳細 X-Ref Target - Figure 2-6 RAM32M DID[1] DID[0] ADDRD[4:0] (DI) (AX/BX/CX/DX) D[5:1] 5 5 (CLK) (WE) WCLK WED DPRAM32 DI1 DI2 A[6:1] WA[6:1] CLK WE O6 DOD[0] O5 DOD[1] DPRAM32 ADDRC[4:0] C[5:1] 5 5 DI1 DI2 A[6:1] WA[6:1] CLK WE O6 DOC[0] O5 DOC[1] DPRAM32 ADDRB[4:0] B[5:1] 5 5 DI1 DI2 A[6:1] WA[6:1] CLK WE O6 DOB[0] O5 DOB[1] DPRAM32 ADDRA[4:0] A[5:1] 5 5 DI1 DI2 A[6:1] WA[6:1] CLK WE O6 DOA[0] O5 DOA[1] UG474_c2_06_070914 図 2-6 : 32x2 ク ワ ッ ド ポー ト の分散 RAM (RAM32M) 26 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 分散 RAM (SLICEM のみで使用可能) X-Ref Target - Figure 2-7 RAM32M DPRAM32 unused unused WADDR[5:1] WADDR[6] = 1 D[5:1] 5 5 (CLK) (WE) WCLK WED DI1 DI2 A[6:1] WA[6:1] CLK WE DPRAM32 DATA[1] DATA[2] RADDR[5:1] RADDR[6] = 1 C[5:1] 5 5 DI1 DI2 A[6:1] WA[6:1] CLK WE O6 O[2] O5 O[1] DPRAM32 DATA[3] DATA[4] B[5:1] 5 5 DI1 DI2 A[6:1] WA[6:1] CLK WE O6 O[4] O5 O[3] DPRAM32 DATA[5] DATA[6] A[5:1] 5 5 DI1 DI2 A[6:1] WA[6:1] CLK WE O6 O[6] O5 O[5] UG474_c2_06_070914 図 2-7 : 32x6 シ ン プル デ ュ アル ポー ト の分散 RAM (RAM32M) 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 27 第 2 章 : 機能の詳細 X-Ref Target - Figure 2-8 RAM64X1S D A[5:0] WCLK WE (DI) 6 (D[6:1]) 6 (CLK) (WE/CE) SPRAM64 O O6 DI1 Output Registered Output D Q A[6:1] WA[6:1] CLK WE (Optional) UG474_c2_07_101210 図 2-8 : 64x1 シ ン グル ポー ト の分散 RAM (RAM64X1S) 4 つの シ ン グ ル ポー ト 64x1 ビ ッ ト モ ジ ュ ール を 図 2-8 に示す よ う に構築す る 場合は、 4 つの RAM64X1S プ リ ミ テ ィ ブで SLICEM を 1 つ使用で き ます。 ただ し 、 こ れ ら のプ リ ミ テ ィ ブでは 同 じ ク ロ ッ ク 、 書 き 込み イ ネーブル、 共有読み出 し お よ び書き 込みポー ト ア ド レ ス入力を共有す る 必要があ り ます。 こ の コ ン フ ィ ギ ュ レーシ ョ ンは、 64x4 ビ ッ ト のシ ン グル ポー ト 分散 RAM と 同 等です。 2 つ の デ ュ ア ル ポ ー ト 64x1 ビ ッ ト モ ジ ュ ール を 図 2-9 に 示す よ う に 構築す る に は、 2 つ の RAM64X1D プ リ ミ テ ィ ブで SLICEM を 1 つ使用で き ます。 ただ し 、 こ れ ら のプ リ ミ テ ィ ブでは 同 じ ク ロ ッ ク 、 書 き 込み イ ネーブル、 共有読み出 し お よ び書き 込みポー ト ア ド レ ス入力は共有す る 必要があ り ます。 こ の コ ン フ ィ ギ ュ レーシ ョ ンは、 64x2 ビ ッ ト のデ ュ アル ポー ト 分散 RAM と 同 等です。 X-Ref Target - Figure 2-9 RAM64X1D D A[5:0] WCLK WE DPRAM64 (DI) O6 DI1 (D[6:1]) 6 6 (CLK) (WE/CE) DI1 (C[6:1]) 6 6 A[6:1] WA[6:1] CLK WE Registered Output D Q A[6:1] WA[6:1] CLK WE (Optional) DPRAM64 DPRA[5:0] SPO O6 DPO Registered Output D Q (Optional) UG474_c2_08_101210 図 2-9 : 64x1 デ ュ アル ポー ト の分散 RAM (RAM64X1D) 28 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 分散 RAM (SLICEM のみで使用可能) X-Ref Target - Figure 2-10 RAM64M DID ADDRD WCLK WE (DI) (D[6:1]) (CLK) (WE) DPRAM64 O6 DI1 DOD A[6:1] WA[6:1] CLK WE D Q Registered Output (Optional) DPRAM64 DI1 ADDRC (C[6:1]) O6 A[6:1] WA[6:1] CLK WE D (B[6:1]) O6 D (A[6:1]) A[6:1] WA[6:1] CLK WE Q Registered Output (Optional) DPRAM64 ADDRA Registered Output DOB A[6:1] WA[6:1] CLK WE DI1 Q (Optional) DPRAM64 DI1 ADDRB DOC O6 DOA D Q Registered Output (Optional) UG474_c2_09_070914 図 2-10 : 64x1 ク ワ ッ ド ポー ト の分散 RAM (RAM64M) 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 29 第 2 章 : 機能の詳細 X-Ref Target - Figure 2-11 RAM64M DPRAM64 unused unused WADDR[6:1] D[6:1] 6 6 (CLK) (WE) WCLK WED DI1 DI2 A[6:1] WA[6:1] CLK WE DPRAM64 DATA[1] RADDR[6:1] C[6:1] 6 6 DI1 DI2 A[6:1] WA[6:1] CLK WE O6 O[1] O5 DPRAM64 DATA[2] B[6:1] 6 6 DI1 DI2 A[6:1] WA[6:1] CLK WE O6 O[2] O5 DPRAM64 DATA[3] A[6:1] 6 6 DI1 DI2 A[6:1] WA[6:1] CLK WE O6 O[3] O5 UG474_c2_10_070914 図 2-11 : 64x3 シ ン プル デ ュ アル ポー ト の分散 RAM (RAM64M) ワ ー ド 数が 64 以上の分散 RAM コ ン フ ィ ギ ュ レーシ ョ ン を イ ン プ リ メ ン ト す る には、 多入力機能 マルチプ レ ク サー (F7AMUX、 F7BMUX、 お よ び F8MUX) を図 2-12 ~図 2-14 に示す よ う に使用 す る 必要があ り ます。 2 つの シ ン グ ル ポー ト 128x1 ビ ッ ト モ ジ ュ ール を 図 2-12 に示す よ う に構築す る には、 2 つの RAM128X1S プ リ ミ テ ィ ブで SLICEM を 1 つ使用で き ます。 ただ し 、 こ れ ら のプ リ ミ テ ィ ブでは 同 じ ク ロ ッ ク 、 書 き 込み イ ネーブル、 共有読み出 し お よ び書き 込みポー ト ア ド レ ス入力を共有す る 必要があ り ます。 こ の コ ン フ ィ ギ ュ レーシ ョ ンは、 128x2 ビ ッ ト のシ ン グル ポー ト 分散 RAM と 同 等です。 30 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 分散 RAM (SLICEM のみで使用可能) X-Ref Target - Figure 2-12 RAM128X1S A6 (CX) D SPRAM64 (DI) O6 DI1 [5:0] A[6:0] WCLK WE 7 (CLK) (WE/CE) A[6:1] WA[7:1] CLK WE 0 SPRAM64 DI1 Registered Output D Q (Optional) [5:0] 7 O6 F7BMUX Output A[6:1] WA[7:1] CLK WE UG474_c2_11_101210 図 2-12 : 128x1 シ ングル ポー ト の分散 RAM (RAM128X1S) 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 31 第 2 章 : 機能の詳細 X-Ref Target - Figure 2-13 RAM128X1D A6 (CX) D DPRAM64 DI O6 DI1 6 A[6:0] 7 (CLK) (WE) WCLK WE A[6:1] WA[7:1] CLK WE SPO DPRAM64 D Q F7BMUX O6 DI1 Registered Output (Optional) 6 7 A[6:1] WA[7:1] CLK WE DPRAM64 O6 DI1 6 DPRA[6:0] 7 A[6:1] WA[7:1] CLK WE DPO DPRAM64 DI1 F7AMUX D Q O6 (Optional) 6 7 Registered Output A[6:1] WA[7:1] CLK WE AX UG474_c2_12_101210 図 2-13 : 128x1 デ ュ アル ポー ト の分散 RAM (RAM128X1D) 32 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 分散 RAM (SLICEM のみで使用可能) X-Ref Target - Figure 2-14 RAM256X1S SPRAM64 D 6 A[7:0] WCLK WE O6 DI1 8 (CLK) (WE/CE) A[6:1] WA[8:1] CLK WE A6 (CX) SPRAM64 6 8 F7BMUX O6 DI1 A[6:1] WA[8:1] CLK WE A7 (BX) O F8MUX SPRAM64 8 A[6:1] WA[8:1] CLK WE DI1 8 Registered Output (Optional) A6 (AX) SPRAM64 6 D Q O6 DI1 6 Output F7AMUX O6 A[6:1] WA[8:1] CLK WE UG474_c2_13_101210 図 2-14 : 256x1 シ ングル ポー ト の分散 RAM (RAM256X1S) こ こ に示 し た例 よ り も 大 き な分散 RAM コ ン フ ィ ギ ュ レーシ ョ ンが必要な場合は、SLICEM が 2 つ 以上必要ですが、 CLB 内ま たは ス ラ イ ス間には直接接続がないため、 こ れ以上大規模な分散 RAM は構築で き ません。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 33 第 2 章 : 機能の詳細 分散 RAM のデー タ フ ロー 同期書き込み 同期書 き 込みは、 ア ク テ ィ ブ High の書 き 込み イ ネーブル (WE) を使用 し てシ ン グル ク ロ ッ ク エ ッ ジで実行 さ れます。 WE が High の と き 、 入力 (D) がア ド レ ス A の メ モ リ 位置へ読み込まれます。 非同期読み出 し 出力は、 デ ュ アル ポー ト モー ド の SPO 出力のア ド レ ス A、 ま たはデュ アル ポー ト モー ド の DPO 出力のア ド レ ス DPRA で決定 さ れます。 新 し いア ド レ ス がア ド レ ス ピ ンに読み込まれ る と 、 LUT にア ク セ スす る 時間分遅れて、 メ モ リ 位置のデー タ 値が出力に現れます。 こ の動作は ク ロ ッ ク 信号 と は関係な く 非同期で実行 さ れます。 分散 RAM のま と め 分散 RAM の特徴を ま と め る と 次の よ う にな り ます。 • SLICEM にはシ ン グル ポー ト と デュ アル ポー ト があ る • 書 き 込みには、 ク ロ ッ ク エ ッ ジが 1 つ必要 • 読み出 し は非同期で行われ る (Q 出力) • デー タ 入力は、 Setup-to-Clock タ イ ミ ン グ仕様に従 う ROM (読み出 し 専用 メ モ リ ) SLICEM お よ び SLICEL の両ス ラ イ ス に含まれ る 各フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーは、64x1 ビ ッ ト ROM を イ ンプ リ メ ン ト で き 、 ROM64X1、 ROM128X1、 お よ び ROM256X1 の 3 つの コ ン フ ィ ギ ュ レーシ ョ ンが可能です。 ROM の内容は各デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン時に読み込まれ ます。 表 2-4 に、 各 ROM コ ン フ ィ ギ ュ レーシ ョ ンで使用 さ れ る LUT 数を示 し ます。 表 2-4 : ROM コ ン フ ィ ギ ュ レーシ ョ ン ROM LUT 数 64 x 1 1 128 x 1 2 256 x 1 4 シ フ ト レ ジ ス タ (SLICEM のみ) SLICEM フ ァ ン ク シ ョ ン ジ ェ ネ レ ー タ ーは、 ス ラ イ ス 内の フ リ ッ プ フ ロ ッ プ を 使用せずに、 32 ビ ッ ト シ フ ト レ ジ ス タ と し て も コ ン フ ィ ギ ュ レ ーシ ョ ン で き ま す。 シ フ ト レ ジ ス タ を使用す る と 、 各 LUT でシ リ アル デー タ を 1 ~ 32 ク ロ ッ ク サ イ ク ルだけ遅延 さ せ る こ と がで き ま す。 シ フ ト イ ン D (DI1 LUT ピ ン ) お よ びシ フ ト ア ウ ト Q31 (MC31 LUT ピ ン ) ラ イ ンは、 LUT を カ ス ケー ド 接続 し て よ り 大規模な シ フ ト レ ジ ス タ を構築 し ます。 し たが っ て、 1 つの SLICEM にあ る 4 つの LUT を カ ス ケー ド 接続す る と 、最大 128 ク ロ ッ ク サ イ ク ルの遅延を生成で き ます。複数の SLICEM のシ フ ト レ ジ ス タ を組み合わせ る こ と も で き ますが、 よ り 長いシ フ ト レ ジ ス タ を構築で き る ス ラ イ ス間の直接接続はあ り ません。 ま た、 LUT B/C/D の MC31 出力 も 使用で き ません。 生 成 さ れたプ ロ グ ラ マブル遅延を使用 し て、 デー タ パ イ プ ラ イ ン の タ イ ミ ン グ のバ ラ ン ス を取 る こ と が可能です。 34 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 シ フ ト レ ジ ス タ (SLICEM のみ) シ フ ト レ ジ ス タ には次の よ う な用途が考え ら れます。 • 遅延ま たは レ イ テ ン シの補正 • 同期 FIFO お よ び CAM (Content Addressable Memory) シ フ ト レ ジ ス タ には次の よ う な機能があ り ます。 • 書 き 込み • ク ロ ッ ク 入力 (CLK) およびオプシ ョ ンの ク ロ ッ ク イ ネーブル (CE) と 同期し て実行 さ れ る • Q31 への固定読み出 し ア ク セ ス • ダ イ ナ ミ ッ ク 読み出 し ア ク セ ス • 5 ビ ッ ト のア ド レ ス バス A[4:0] を使用 し て実行 さ れ る - • ア ド レ ス を変更す る と 、 32 ビ ッ ト の任意のビ ッ ト を非同期に読み出す こ と がで き る (プ リ ミ テ ィ ブ上では Q と し て参照 さ れ る LUT の O6 出力か ら ) • こ の機能は、 32 ビ ッ ト 未満の小規模シ フ ト レ ジ ス タ を構成す る 際に役立つ • • LUT ア ド レ ス の LSB は使用せず、 ソ フ ト ウ ェ アに よ っ て自動的に High 駆動 さ れ る た と えば、 13 ビ ッ ト のシ フ ト レ ジ ス タ を構築す る 場合は、 ア ド レ ス を 13 番目のビ ッ ト に設定す る 同期読み出 し の イ ンプ リ メ ン テーシ ョ ンに、 ス ト レージ エ レ メ ン ト ま たはフ リ ッ プ フ ロ ッ プが使用で き る - フ リ ッ プ フ ロ ッ プの Clock-to-Out が遅延全体を左右 し 、 性能が向上す る - ただ し 、 ク ロ ッ ク レ イ テ ン シが 1 サ イ ク ル分だけ追加 さ れ る シ フ ト レ ジ ス タ のセ ッ ト ま たは リ セ ッ ト はサポー ト さ れていない 図 2-15 に、 32 ビ ッ ト シ フ ト レ ジ ス タ の ロ ジ ッ ク ブ ロ ッ ク 図を示 し ます。 X-Ref Target - Figure 2-15 SRLC32E SHIFTIN (MC31 of Previous LUT) SRL32 SHIFTIN (D) (AI) DI1 MC31 A[4:0] CLK CE 5 (A[6:2]) (CLK) (WE/CE) SHIFTOUT (Q31) A[6:2] CLK CE O6 Output (Q) (AQ) Registered D Q Output (Optional) UG474_c2_14_110510 図 2-15 : 32 ビ ッ ト シ フ ト レ ジス タ のコ ン フ ィ ギ ュ レーシ ョ ン 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 35 第 2 章 : 機能の詳細 図 2-16 に、フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーを 1 つ使用 し たシ フ ト レ ジ ス タ コ ン フ ィ ギ ュ レーシ ョ ンの例を示 し ます。 X-Ref Target - Figure 2-16 32-bit Shift Register SHIFTIN (D) WE SHIFTOUT(Q31) CLK Address (A[4:0]) 5 MUX Q UG474_c2_15_101210 図 2-16 : シ フ ト レ ジ ス タ の表記 図 2-17 に 2 つの 16 ビ ッ ト シ フ ト レ ジ ス タ を示 し ま す。 こ の例は、 1 つの LUT に イ ン プ リ メ ン ト 可能です。 SRLC32E お よ び SRL16E プ リ ミ テ ィ ブ の詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA お よ び Zynq-7000 All Programmable SoC ラ イ ブ ラ リ ガ イ ド 』 (UG953) を参照 し て く だ さ い。 X-Ref Target - Figure 2-17 SRL16 SHIFTIN1 (AI) A[3:0] O5 DI1 4 CLK A[5:2] CLK WE CE SRL16 DI2 SHIFTIN2 (AX) 4 A[5:2] CLK WE O6 MC31 UG474_c2_16_101210 図 2-17 : 2 つの 16 ビ ッ ト シ フ ト レ ジ ス タ を使用 し た コ ン フ ィ ギ ュ レーシ ョ ン 前述の と お り 、 出力 (MC31) を 1 つ追加 し てシ フ ト レ ジ ス タ 間に専用配線を使用す る と 、 LUT O6 出力を使用せずに、 その レ ジ ス タ の最終ビ ッ ト を次の レ ジ ス タ の最初のビ ッ ト に接続で き ます。 よ り 長いシ フ ト レ ジ ス タ は、 チ ェ ーン内の任意のビ ッ ト に動的にア ク セ ス し て構築で き ます。 シ フ ト レ ジ ス タ のチ ェーン接続お よ び F7AMUX、 F7BMUX、 F8MUX マルチプ レ ク サーに よ っ て、 ア ド レ ス指定に よ る ア ク セ ス が可能な最大 128 ビ ッ ト のシ フ ト レ ジ ス タ を 1 つの SLICEM 内に イ ンプ リ メ ン ト で き ます。図 2-18 か ら 図 2-20 に、SLICEM 1 つを使用 し たシ フ ト レ ジ ス タ コ ン フ ィ ギ ュ レーシ ョ ンの さ ま ざ ま な例を示 し ます。 36 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 シ フ ト レ ジ ス タ (SLICEM のみ) X-Ref Target - Figure 2-18 SRL32 SHIFTIN (D) O6 DI1 5 A[5:0] MC31 (CLK) (WE/CE) CLK WE A[6:2] A5 (AX) CLK WE Output (Q) SRL32 DI1 F7AMUX D Q (AQ) Registered Output O6 (Optional) 5 A[6:2] CLK WE (MC31) MC31 SHIFTOUT (Q63) UG474_c2_17_101210 図 2-18 : 64 ビ ッ ト シ フ ト レ ジス タ のコ ン フ ィ ギ ュ レーシ ョ ン X-Ref Target - Figure 2-19 CX (A5) SRL32 SHIFTIN (D) 5 A[6:0] CLK WE O6 DI1 A[6:2] F7BMUX MC31 (CLK) (WE/CE) CLK WE BX (A6) (BMUX) F8MUX D Q Registered Output (Optional) SRL32 O6 DI1 5 Output (Q) (BQ) A[6:2] MC31 CLK WE AX (A5) SRL32 DI1 Not Used O6 F7AMUX 5 A[6:2] CLK WE UG474_c2_18_101210 図 2-19 : 96 ビ ッ ト シ フ ト レ ジス タ のコ ン フ ィ ギ ュ レーシ ョ ン 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 37 第 2 章 : 機能の詳細 X-Ref Target - Figure 2-20 SRL32 SHIFTIN (D) A[6:0] CLK WE O6 DI1 5 (CLK) (WE/CE) A[6:2] MC31 CX (A5) CLK WE SRL32 F7BMUX O6 DI1 A[6:2] BX (A6) MC31 CLK WE (BMUX) F8MUX D Q SRL32 (BQ) Output (Q) Registered Output (Optional) O6 DI1 A[6:2] MC31 AX (A5) CLK WE SRL32 O6 DI1 A[6:2] MC31 CLK WE F7AMUX (MC31) SHIFTOUT (Q127) UG474_c2_19_101210 図 2-20 : 128 ビ ッ ト シ フ ト レ ジ ス タ の コ ン フ ィ ギ ュ レーシ ョ ン 2 つ以上の SLICEM を使用する と 128 ビ ッ ト よ り も 長いシ フ ト レ ジ ス タ を構成で き ますが、 ス ラ イ ス間には直接接続がないため、 こ れ よ り 長いシ フ ト レ ジ ス タ は構築で き ません。 シ フ ト レ ジ ス タ のデー タ フ ロー シ フ ト 動作 図 5-7 に、 シ フ ト 動作の タ イ ミ ン グ図を示 し ます。 シ フ ト 動作には、 次の よ う な特徴があ り ます。 38 • シ ン グル ク ロ ッ ク エ ッ ジで動作す る • ア ク テ ィ ブ High の ク ロ ッ ク イ ネーブルに よ っ て有効 と な る • 入力 (D) はシ フ ト レ ジ ス タ の最初のビ ッ ト に読み込まれ る • ほかのビ ッ ト も それぞれ次の高位ビ ッ ト にシ フ ト す る japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 マルチ プ レ クサー • カ ス ケー ド 接続可能なシ フ ト レ ジ ス タ コ ン フ ィ ギ ュ レーシ ョ ンでは、 最後のビ ッ ト が MC31 出力にシ フ ト ア ウ ト さ れ る • 5 ビ ッ ト のア ド レ ス ポー ト (A[4:0]) で選択 さ れた ビ ッ ト は、 Q 出力に現れ る ダ イ ナ ミ ッ ク 読み出 し ダ イ ナ ミ ッ ク 読み出 し 動作には、 次の よ う な特徴があ り ます。 • Q 出力は、 5 ビ ッ ト のア ド レ ス に よ っ て決定 さ れ る • 新 し いア ド レ ス が 5 ビ ッ ト の入力ア ド レ ス ピ ンに読み込まれ る と 、 こ の新 し いビ ッ ト 値が、 LUT にア ク セ スす る 時間分遅れて Q 出力に出力 さ れ る • こ の動作は非同期で、 ク ロ ッ ク 信号お よ び ク ロ ッ ク イ ネーブル信号 と は関係な く 行われ る ス タ テ ィ ッ ク 読み出 し ス タ テ ィ ッ ク 読み出 し 動作には、 次の よ う な特徴があ り ます。 • 5 ビ ッ ト ア ド レ ス入力が固定 さ れてい る 場合、 Q 出力は常に同 じ ア ド レ ス の値にな る • こ のモー ド では、 1 つの LUT に 1 ~ 32 ビ ッ ト のシ フ ト レ ジ ス タ を イ ンプ リ メ ン ト す る • シ フ ト レ ジ ス タ 長は (N+1) と な る (N は、 0 ~ 31 の入力ア ド レ ス ) • Q 出力は、 シ フ ト 操作 と 同期 し て変化す る • 前のビ ッ ト が次の位置にシ フ ト し て Q に出力 さ れ る シ フ ト レ ジ ス タ のま と め シ フ ト レ ジ ス タ の特徴を ま と め る と 次の よ う にな り ます。 • シ フ ト 操作には ク ロ ッ ク エ ッ ジ 1 つが必要 • LUT の Q 出力に対する 可変長モー ド の読み出 し は非同期で実行 さ れ る • LUT の Q 出力に対する 固定長モー ド の読み出 し は同期で実行 さ れ る • デー タ 入力は、 Setup-to-Clock タ イ ミ ン グ仕様に従 う • カ ス ケー ド 接続可能な コ ン フ ィ ギ ュ レーシ ョ ンでは、常に Q31 出力に最終のビ ッ ト 値が含まれる • Q31 出力は各シ フ ト 動作後に同期 し て変化す る マルチ プ レ クサー 7 シ リ ーズ FPGA の フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーお よ び関連する マルチプ レ ク サーは、次を イ ン プ リ メ ン ト で き ます。 • LUT を 1 つ使用す る 4:1 マルチプ レ ク サー • • LUT を 2 つ使用す る 8:1 マルチプ レ ク サー • • ス ラ イ ス あ た り 4 つの 4:1 マルチプ レ ク サー ス ラ イ ス あ た り 2 つの 8:1 マルチプ レ ク サー LUT を 4 つ使用す る 16:1 マルチプ レ ク サー • ス ラ イ ス あ た り 1 つの 16:1 マルチプ レ ク サー 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 39 第 2 章 : 機能の詳細 こ れ ら の多入力マルチプ レ ク サーは、 専用の F7AMUX、 F7BMUX、 お よ び F8MUX マルチプ レ ク サーを使用 し て、 1 レベルの ロ ジ ッ ク ( ま たは LUT) に イ ン プ リ メ ン ト さ れ ます。 こ の よ う なマ ルチプ レ ク サーは、 1 つの ス ラ イ ス で最大 4 つの LUT を組み合わせる こ と がで き ます。 ま た、 2 つ の LUT を用いた最大 13 入力の汎用フ ァ ン ク シ ョ ン、 ま たは 4 つの LUT (1 ス ラ イ ス ) を用いた 27 入力の汎用フ ァ ン ク シ ョ ン を構成す る 場合に も 使用で き ます。 マルチプ レ ク サーの出力は組み合わ せ回路に よ る 値で、 CLB の ス ト レージ エ レ メ ン ト に格納で き ます。 大規模マルチ プ レ ク サーのデザイ ン 4:1 マルチ プ レ ク サー すべての LUT は 4:1 マルチプ レ ク サー (MUX) に コ ン フ ィ ギ ュ レーシ ョ ンで き ます。4:1 MUX は、 同 じ ス ラ イ ス内の フ リ ッ プ フ ロ ッ プ を 1 つ使用 し て イ ンプ リ メ ン ト で き 、 1 つの ス ラ イ ス には最大 4 つの 4:1 MUX を イ ンプ リ メ ン ト 可能です (図 2-21 参照)。 X-Ref Target - Figure 2-21 SLICE LUT (D) O6 SEL D [1:0], DATA D [3:0] Input (D[6:1]) 6 D Q A[6:1] (DQ) (C) O6 SEL C [1:0], DATA C [3:0] Input D Q A[6:1] (CQ) (B) O6 SEL B [1:0], DATA B [3:0] Input D Q A[6:1] 6 A[6:1] (CLK) CLK (BQ) (A) O6 (A[6:1]) Registered Output 4:1 MUX Output Registered Output (Optional) LUT SEL A [1:0], DATA A [3:0] Input 4:1 MUX Output (Optional) LUT (B[6:1]) 6 Registered Output (Optional) LUT (C[6:1]) 6 4:1 MUX Output D Q (AQ) 4:1 MUX Output Registered Output (Optional) UG474_c2_20_101210 図 2-21 : 1 つのス ラ イ スに 4 つの 4:1 マルチ プ レ クサー 40 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 マルチ プ レ クサー 8:1 マルチ プ レ ク サー 各ス ラ イ ス には、F7AMUX と F7BMUX がそれぞれ 1 つずつあ り ます。 こ れ ら 2 つの MUX では、 2 つの LUT 出力を組み合わせて最大 13 入力の組み合わせフ ァ ン ク シ ョ ン ( ま たは 8:1 MUX) を構 築 し ます。 1 つの ス ラ イ ス には最大 2 つの 8:1 MUX を イ ンプ リ メ ン ト で き ます (図 2-22 参照)。 X-Ref Target - Figure 2-22 SLICE LUT O6 SEL D [1:0], DATA D [3:0] Input (1) (D[6:1]) 6 A[6:1] F7BMUX (CMUX) LUT O6 SEL C [1:0], DATA C [3:0] Input (1) SELF7(1) CLK (C[6:1]) 6 D Q (CQ) 8:1 MUX Output (1) Registered Output A[6:1] (Optional) (CX) (CLK) LUT O6 SEL B [1:0], DATA B [3:0] Input (2) (B[6:1]) 6 A[6:1] F7AMUX (AMUX) LUT O6 SEL A [1:0], DATA A [3:0] Input (2) SELF7(2) (A[6:1]) 6 D Q (AQ) 8:1 MUX Output (2) Registered Output A[6:1] (Optional) (AX) UG474_c2_21_101210 図 2-22 : 1 つのス ラ イ スに 2 つの 8:1 マルチ プ レ クサー 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 41 第 2 章 : 機能の詳細 16:1 マルチ プ レ ク サー 各ス ラ イ ス には、 F8MUX が 1 つあ り ます。 こ の F8MUX は、 F7AMUX お よ び F7BMUX の出力 を組み合わせて、 最大 27 入力 ( ま たは 16:1 MUX) の組み合わせフ ァ ン ク シ ョ ン を構築 し ます。 1 つの ス ラ イ ス には 16:1 MUX を 1 つのみ イ ンプ リ メ ン ト で き ます (図 2-23 参照)。 X-Ref Target - Figure 2-23 SLICE LUT O6 SEL D [1:0], DATA D [3:0] Input (D[6:1]) 6 F7BMUX A[6:1] LUT O6 SEL C [1:0], DATA C [3:0] Input SELF7 (C[6:1]) 6 A[6:1] F8MUX (CX) (BMUX) LUT D Q O6 SEL B [1:0], DATA B [3:0] Input (B[6:1]) 6 F7AMUX A[6:1] (B) 16:1 MUX Output Registered Output (Optional) LUT O6 SEL A [1:0], DATA A [3:0] Input SELF7 SELF8 CLK (A[6:1]) 6 A[6:1] (AX) (BX) (CLK) UG474_c2_22_101210 図 2-23 : 1 つのス ラ イ スに 1 つの 16:1 マルチ プ レ クサー 複数の SLICEM を使用する と 16:1 よ り 大規模なマルチプ レ ク サーを構築で き ますが、 ス ラ イ ス間 には直接接続がないため、 こ れ よ り 長いマルチプ レ ク サーは構築で き ません。 42 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 キャ リー ロジ ッ ク キャ リー ロジ ッ ク フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーのほか、高速加算/減算を実行する ために、専用の高速ル ッ ク アヘ ッ ド キ ャ リ ー ロ ジ ッ ク が含まれてい ます。図 1-1 に示す よ う に、 7 シ リ ーズ FPGA の CLB には 2 つ の独立 し た キ ャ リ ー チ ェーンがあ り ます。 こ のキ ャ リ ー チ ェーンはカ ス ケー ド 接続が可能なため、 図 2-2 の よ う な、 大規模な加算/減算 ロ ジ ッ ク を構築で き ます。 キ ャ リ ー チ ェーン では上方向に演算が実行 さ れ、 各ス ラ イ ス の高 さ は 4 ビ ッ ト です。 各ビ ッ ト に対 し て キ ャ リ ー マルチプ レ ク サー (MUXCY) と 専用 XOR ゲー ト が 1 つずつあ り 、 選択 さ れた キ ャ リ ー ビ ッ ト を使用 し てオペ ラ ン ド を加算/減算 し ます。 専用キ ャ リ ー パスお よ びキ ャ リ ー マルチプ レ ク サー (MUXCY) を使用 し て、 フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーを カ ス ケー ド 接続 し 、 多入力 ロ ジ ッ ク フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト す る こ と も 可能です。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 43 第 2 章 : 機能の詳細 図 2-24 に、 1 つの ス ラ イ ス の関連 ロ ジ ッ ク を使用 し た キ ャ リ ー チ ェ ーン を示 し ます。 X-Ref Target - Figure 2-24 COUT (To Next Slice) Carry Chain Block (CARRY4) CO3 S3 O6 From LUTD DMUX/DQ* MUXCY O3 O5 From LUTD DMUX DI3 DQ D Q DX (Optional) CO2 S2 O6 From LUTC CMUX/CQ* MUXCY O2 O5 From LUTC CMUX DI2 CQ D Q CX (Optional) CO1 S1 O6 From LUTB BMUX/BQ* MUXCY O1 O5 From LUTB BMUX DI1 BQ D Q BX (Optional) CO0 S0 O6 From LUTA AMUX/AQ* MUXCY O0 O5 From LUTA AMUX DI0 AQ D Q AX CYINIT CIN (Optional) * Can be used if unregistered/registered outputs are free. 01 CIN (From Previous Slice) UG474_c2_23_071813 図 2-24 : 高速キ ャ リ ー ロ ジ ッ ク パスおよび関連する エ レ メ ン ト キ ャ リ ー チ ェーンは、 フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ー と 共にキ ャ リ ー ル ッ ク アヘ ッ ド ロ ジ ッ ク を 使用 し ます。 次に示す 10 の独立 し た入力 と 、 8 つの独立 し た出力があ り ます。 • 入力 • • S 入力 - S0 ~ S3 - キ ャ リ ー ル ッ ク アヘ ッ ド ロ ジ ッ ク の伝搬信号 - フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーの O6 出力か ら 入力 さ れ る DI 入力 - DI1 ~ DI4 - 44 キ ャ リ ー ル ッ ク アヘ ッ ド ロ ジ ッ ク の生成信号 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 キャ リー ロジ ッ ク - フ ァ ン ク シ ョ ン ジ ェ ネ レー タ ーの O5 出力か ら 入力 さ れ る - 乗算器を構築す る 場合 - ス ラ イ ス の BYPASS 入力 (AX、 BX、 CX、 DX) - 加算器/ ア キ ュ ム レー タ を構築する 場合 • CYINIT - キ ャ リ ー チ ェーンの最初のビ ッ ト の CIN - 加算の場合 0 - 減算の場合 1 - 最初のキ ャ リ ー ビ ッ ト を動的に指定す る ための AX 入力 • CIN - • ス ラ イ ス を カ ス ケー ド 接続 し 、 よ り 長いキ ャ リ ー チ ェーン を構成す る 出力 • O 出力 - O0 ~ O3 - • 加算/減算の合計出力 CO 出力 - CO0 ~ CO3 - 各ビ ッ ト のキ ャ リ ー出力の計算 - CO3 が ス ラ イ ス の COUT 出力に接続 さ れ、 複数ス ラ イ ス を カ ス ケー ド 接続す る こ と に よ っ て、 よ り 長いキ ャ リ ー チ ェーンが構築 さ れ る 加算器の伝搬遅延は、 カ ス ケー ド 接続 さ れ る キ ャ リ ー チ ェ ーン の数が増え る ほ ど、 オペ ラ ン ド の ビ ッ ト 数 と 共に直線的に増加 し ます。 キ ャ リ ー チ ェ ーンは、 同一 ス ラ イ ス内の ス ト レージ エ レ メ ン ト ま たはフ リ ッ プ フ ロ ッ プ を使用 し て イ ンプ リ メ ン ト で き ます。 キ ャ リ ー ロ ジ ッ ク のカ ス ケー ド 接続は、 ス ラ イ ス カ ラ ム の高 さ にのみ制限 さ れ ます。 ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) テ ク ノ ロ ジ を使用す る デバ イ ス の SLR (Super Logic Region) 間 では、キ ャ リ ー ロ ジ ッ ク のカ ス ケー ド 接続はで き ません。第 6 章の 「ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) テ ク ノ ロ ジ を使用す る デバ イ ス」 を参照 し て く だ さ い。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 45 第 2 章 : 機能の詳細 46 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 第3章 デザイ ン入力 CLB リ ソ ー ス は、 FPGA 固有の特別な コ ーデ ィ ン グ を必要 と せず、 FPGA 合成ツールに よ っ て自 動的かつ効率的に適用 さ れ ま す。 ただ し 、 HDL コ ーデ ィ ン グにおけ る 推奨事項や手法が、 デザ イ ン効率を最大限に引 き 出す最適化に役立つ場合があ り ます。 デザイ ンのチ ェ ッ ク リ ス ト 次のガ イ ド ラ イ ンは、 7 シ リ ーズ CLB を効果的に使用す る ためのデザ イ ン上の推奨事項を ま と め た簡単なチ ェ ッ ク リ ス ト です。 • リ ソ ース使用率 • ジ ェ ネ リ ッ ク HDL コ ー ド を使用 し 、合成お よ びマ ッ ピ ン グのツールが特定の FPGA CLB リ ソ ース を選択で き る よ う に し ます。 • 特定 リ ソ ース の イ ン ス タ ン シエーシ ョ ンは、 集積度ま たは性能の要件を満たすために必要 な場合にのみ検討 し ます。 • 合成結果を予測ス ラ イ ス数 と 比較 し てデザ イ ンの効率を検証 し ます。 • タ ーゲ ッ ト デバ イ ス のデザ イ ンで リ ソ ース が不足 し た場合、 ど の リ ソ ース が制約要因に な っ て い る の か を 確認 し 、 レ ジ ス タ か ら SRL や分散 RAM、 分散 RAM か ら ブ ロ ッ ク RAM、 キ ャ リ ー ロ ジ ッ ク か ら DSP ス ラ イ ス な ど の代替 リ ソ ースへの移行を検討 し ます。 • ほかのアーキ テ ク チ ャ か ら デザ イ ン を移行す る 場合は、 リ ソ ース イ ン ス タ ン シエーシ ョ ン、 マ ッ ピ ン グお よ びフ ロ アプ ラ ンの制約を削除 し ます ( 『7 シ リ ーズ FPGA マ イ グ レー シ ョ ン メ ソ ド ロ ジ ガ イ ド 』 (UG429) 参照)。 FPGA に適 し た HDL コ ーデ ィ ン グ手法については、 japan.xilinx.com か ら 入手で き る 『XST ユー ザー ガ イ ド (Virtex-6、 Spartan-6、 お よ び 7 シ リ ーズ デバ イ ス用)』 (UG687) を参照 し て く だ さ い。 • パ イ プ ラ イ ン処理 • • 豊富な フ リ ッ プ フ ロ ッ プ を活用 し て性能を高め る には、 シーケ ン シ ャ ル デザ イ ンの手法や パ イ プ ラ イ ン処理を使用 し て く だ さ い。 制御信号 • 制御信号は必要な場合にのみ使用 し ます。 • FPGA リ ソ ース を最大限に活用で き る よ う に、配線済みのグ ロ ーバル リ セ ッ ト 信号の使用 を避け、 ロ ーカル リ セ ッ ト の使用 も 最低限に抑え ます。 • ア ク テ ィ ブ High の制御信号を使用 し ます。 • 1 つの フ リ ッ プ フ ロ ッ プでセ ッ ト と リ セ ッ ト の両方を使用 し ない よ う に し ます。 • フ リ ッ プ フ ロ ッ プの代わ り に LUT を使用 し て使用率の最大化、 消費電力の最小化を図 る ため、 小 さ な シ フ ト レ ジ ス タ お よ び ス ト レージ ア レ イ に制御信号を使用 し ない よ う に し ます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 47 第 3 章 : デザイ ン入力 • ソ フ ト ウ ェ ア オプシ ョ ン • 性能を自動的に向上 さ せ る ために、 タ イ ミ ン グ制約を使用 し 、 ソ フ ト ウ ェ ア オプシ ョ ン を 用いて イ ンプ リ メ ン テーシ ョ ン実行時間の増加 と の ト レー ド オ フ を調整 し ます。 CLB リ ソ ースの使用法 ザ イ リ ン ク ス では、 ツールが CLB リ ソ ース の使用を推論で き る よ う に、 ジ ェ ネ リ ッ ク HDL コ ー ド の使用を推奨 し てい ま す。 7 シ リ ーズ FPGA 向けに設計 さ れた IP ソ リ ュ ーシ ョ ン を使用す る と 、 CLB リ ソ ース を十分に活用で き ます。 LUT、 キ ャ リ ー ロ ジ ッ ク 、 シーケ ン シ ャ ル エ レ メ ン ト を含 む CLB のすべての機能は直接 イ ン ス タ ン シエー ト で き ます。 ただ し 、 イ ン ス タ ン シエーシ ョ ンは 主に DSP ス ラ イ ス な ど の CLB 外の リ ソ ース を使用する 場合の指定に使用 し て く だ さ い。合成ツー ルに よ っ て多入力マルチプ レ ク サー、 分散 RAM、 SRL 機能な ど の目的の CLB リ ソ ース を推論で き ない場合には、 イ ン ス タ ン シエーシ ョ ンが必要 と な る 可能性があ り ます。 プリ ミティブ こ こ では、 最 も 頻繁に使用 さ れ る CLB プ リ ミ テ ィ ブの概要を説明 し ます。 イ ン ス タ ン シエーシ ョ ン の例お よ びほかの CLB プ リ ミ テ ィ ブに関す る 情報は、 『Vivado Design Suite 7 シ リ ーズ FPGA お よ び Zynq-7000 All Programmable SoC ラ イ ブ ラ リ ガ イ ド 』 (UG953) を参照 し て く だ さ い。 マルチ プ レ ク サー プ リ ミ テ ィ ブ マルチプ レ ク サーのプ リ ミ テ ィ ブは、 各ス ラ イ ス の専用マルチプ レ ク サーを直接 イ ン ス タ ン シエー ト す る こ と で、 よ り 多入力のマルチプ レ ク サーを構築で き る よ う に し ます。 表 3-1 に、 2 つのプ リ ミ テ ィ ブの説明を示 し ます。 表 3-1 : マルチ プ レ クサーのプ リ ミ テ ィ ブ プリ ミティブ 入力 リ ソ ース 出力 MUXF7 LUT 出力 (4:1 マルチプ レ ク サー ) F7AMUX ま たは F7BMUX 8:1 マルチプ レ ク サー MUXF8 F7AMUX お よ び F7BMUX の 出力 (8:1 マルチプ レ ク サー ) F8MUX 16:1 マルチプ レ ク サー いずれのマルチプ レ ク サー プ リ ミ テ ィ ブ も 同 じ ポー ト 信号を使用 し ます。 図 3-1 に、 MUXF7 を示 し ます。 48 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 プリ ミティブ X-Ref Target - Figure 3-1 MUXF7 I0 O I1 S UG474_c3_01_101210 図 3-1 : MUXF7 プ リ ミ テ ィ ブ ポー ト 信号 デー タ 入力 - I0、 I1 デー タ 入力には、 セ レ ク ト 信号 (S) で選択 さ れ る デー タ が入力 さ れます。 セ レ ク ト 入力 - S セ レ ク ト 入力信号は、 出力 O へ送信 さ れ る デー タ 入力信号を決定 し ます。 ロ ジ ッ ク 0 では I0 入力 が、 ロ ジ ッ ク 1 では I1 入力が選択 さ れます。 デー タ 出力 - O デー タ 出力 O には、 セ レ ク ト 入力で選択 さ れたデー タ 値 (1 ビ ッ ト ) が出力 さ れます。 キ ャ リ ー チ ェ ーン プ リ ミ テ ィ ブ CARRY4 プ リ ミ テ ィ ブは、 各ス ラ イ ス で使用可能な高速キ ャ リ ー ロ ジ ッ ク を イ ン ス タ ン シエー ト し ま す。 こ の プ リ ミ テ ィ ブ は、 LUT と 接続 し て 加算器お よ び乗算器 を 構築 し ま す。 図 3-2 に、 CARRY4 プ リ ミ テ ィ ブ を示 し ます。 合成ツールに よ っ て通常は、 演算 HDL コ ー ド か ら こ の ロ ジ ッ ク が推論 さ れ、 その フ ァ ン ク シ ョ ンが自動で適切に接続 さ れます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 49 第 3 章 : デザイ ン入力 X-Ref Target - Figure 3-2 CARRY4 DI[3:0] S[3:0] CYINIT O[3:0] CO[3:0] CI UG474_c3_02_101210 図 3-2 : CARRY4 プ リ ミ テ ィ ブ ポー ト 信号 合計出力 - O[3:0] 合計出力には、 加算/減算の最終結果が出力 さ れ ます。 ス ラ イ ス の AMUX/BMUX/CMUX/DMUX 出力に接続 さ れます。 キ ャ リ ー出力 - CO[3:0] キ ャ リ ー出力には、 各 ビ ッ ト の キ ャ リ ー ア ウ ト が出力 さ れ ま す。 CO[3] は COUT と 等価です。 COUT を介 し て CO[3] を ほかの CARRY4 プ リ ミ テ ィ ブの CI 入力へ接続す る こ と で、 よ り 長い キ ャ リ ー チ ェ ーン を構築で き ます。 キ ャ リ ー チ ェ ーンは、 専用の配線に よ っ て ス ラ イ ス に沿っ て 上方向に接続 さ れます。 キ ャ リ ー出力は、必要に応 じ て ス ラ イ ス の AMUX/BMUX/CMUX/DMUX 出力に も 接続 さ れます。 キ ャ リ ー入力 - CI CIN と も 呼ばれ る キ ャ リ ー入力を使用 し て ス ラ イ ス を カ ス ケー ド 接続 し 、よ り 長いキ ャ リ ー チ ェー ン を構築 し ます。 デー タ 入力 - DI[3:0] デー タ 入力は、 キ ャ リ ー ル ッ ク アヘ ッ ド ロ ジ ッ ク の生成信号 と し て使用 さ れ ます。 こ の生成信号 は、 LUT 出力か ら 送信 さ れます。 セ レ ク ト 入力 - S[3:0] セ レ ク ト 入力は、 キ ャ リ ー ル ッ ク アヘ ッ ド ロ ジ ッ ク の伝搬信号 と し て使用 さ れ ます。 こ の伝搬信 号は、 LUT 出力か ら 送信 さ れます。 キ ャ リ ー初期化 - CYINIT キ ャ リ ー初期化入力を使用 し て、 キ ャ リ ー チ ェ ーンの最初の ビ ッ ト を選択 し ます。 CYINIT 値は、 加算の場合は 0、 減算の場合は 1、 あ る いは最初のキ ャ リ ー ビ ッ ト を動的に指定する 場合は AX 入 力にな り ます。 50 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 プリ ミティブ SLICEM 分散 RAM プ リ ミ テ ィ ブ 表 3-2 に、 8 つのプ リ ミ テ ィ ブ を示 し ます。 3 つのプ リ ミ テ ィ ブがシ ン グル ポー ト RAM、 3 つの プ リ ミ テ ィ ブがデ ュ アル ポー ト RAM、 そ し て 2 つのプ リ ミ テ ィ ブが ク ワ ッ ド ポー ト の RAM で す。 表 3-2 : シ ングル ポー ト 、 デ ュ アル ポー ト 、 および ク ワ ッ ド ポー ト 分散 RAM プリ ミティブ RAM のサイ ズ タ イプ RAM32X1S 32 ビ ッ ト シ ン グル ポー ト A[4:0] (読み出 し /書 き 込み) RAM32M 32 ビ ッ ト ク ワ ッ ド ポー ト ADDRA[4:0] (読み出 し ) ア ド レ ス入力 ADDRB[4:0] (読み出 し ) ADDRC[4:0] (読み出 し ) ADDRD[4:0] (読み出 し /書 き 込み) RAM64X1S 64 ビ ッ ト シ ン グル ポー ト A[5:0] (読み出 し /書 き 込み) RAM64X1D 64 ビ ッ ト デ ュ アル ポー ト A[5:0] (読み出 し /書 き 込み) DPRA[5:0] (読み出 し ) RAM64M 64 ビ ッ ト ク ワ ッ ド ポー ト ADDRA[5:0] (読み出 し ) ADDRB[5:0] (読み出 し ) ADDRC[5:0] (読み出 し ) ADDRD[5:0] (読み出 し /書 き 込み) RAM128X1S 128 ビ ッ ト シ ン グル ポー ト A[6:0] (読み出 し /書 き 込み) RAM128X1D 128 ビ ッ ト デ ュ アル ポー ト A[6:0] ( 読み 出 し / 書 き 込 み) DPRA[6:0] (読み出 し ) RAM256X1S 256 ビ ッ ト シ ン グル ポー ト A[7:0] (読み出 し /書 き 込み) 入力お よ び出力デー タ は 1 ビ ッ ト 幅です ( ク ワ ッ ド ポー ト RAM を除 く )。 図 3-3 に、標準的なシ ン グル ポー ト 、デュ アル ポー ト 、 ク ワ ッ ド ポー ト の分散 RAM のプ リ ミ テ ィ ブ を示 し ます。 A、 ADDR、 お よ び DPRA 信号はア ド レ ス バ ス です。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 51 第 3 章 : デザイ ン入力 X-Ref Target - Figure 3-3 RAM#X1S D WE RAM#X1D D WE O RAM#M SPO WCLK WCLK A[#:0] A[#:0] R/W Port DPRA[#:0] Read Port DI[A:D][#:0] WE DOD[#:0] WCLK DPO ADDRD[#:0] R/W Port ADDRC[#:0] Read Port DOC[#:0] ADDRB[#:0] Read Port DOB[#:0] ADDRA[#:0] Read Port DOA[#:0] UG474_c3_03_101210 図 3-3 : シ ングル ポー ト 、 デ ュ アル ポー ト 、 および ク ワ ッ ド ポー ト 分散 RAM プ リ ミ テ ィ ブ 分散 RAM プ リ ミ テ ィ ブ を複数使用する と 、ビ ッ ト 幅の大き い メ モ リ ブ ロ ッ ク を イ ンプ リ メ ン ト で き ます。 ポー ト 信号 同 じ メ モ リ セルを読み出す場合で も 、 分散 RAM の各ポー ト はそれぞれ独立 し て動作 し ます。 ク ロ ッ ク – WCLK ク ロ ッ ク は同期書 き 込みに使用 し ます。デー タ 入力ピ ン と ア ド レ ス入力ピ ンのセ ッ ト ア ッ プ タ イ ム は、 WCLK ピ ン を基準 と し てい ます。 ク ロ ッ ク ピ ン (WCLK) には、 ス ラ イ ス レベルで反転オプシ ョ ンがあ り ます。 ク ロ ッ ク 信号は、 ほ かの ロ ジ ッ ク リ ソ ース を使用せずに、立ち下が り エ ッ ジ ま たは立ち上が り エ ッ ジでア ク テ ィ ブにで き ます。 デフ ォ ル ト では、 立ち上が り エ ッ ジ を使用 し ます。 イ ネーブル – WE/WED イ ネーブル ピ ンはポー ト の書 き 込みを制御 し ます。 WE が無効の場合、 メ モ リ セルへの書 き 込み は実行 さ れません。 WE が有効の場合、 ク ロ ッ ク エ ッ ジに同期 し て、 ア ド レ ス入力で指定 し た メ モ リ 位置にデー タ 入力信号が書 き 込まれます。 ア ド レ ス – A[#:0]、 DPRA[#:0]、 ADDRA[#:0] – ADDRD[#:0] ア ド レ ス入力 A[#:0] ( シ ン グル ポー ト お よ びデ ュ アル ポー ト の場合)、 DPRA[#:0] (デュ アル ポー ト の場合)、 ADDRA[#:0] ~ ADDRD[#:0] ( ク ワ ッ ド ポー ト の場合) は、 読み出 し ま たは書 き 込み を実行す る メ モ リ セルを選択 し ま す。 必要 と な る ア ド レ ス 入力の数はポー ト 幅に よ っ て決定 し ま す。 VHDL ま たは Verilog の イ ン ス タ ン シエーシ ョ ンでは、 一部のア ド レ ス入力はバ ス ではあ り ま せん。 表 3-2 に各ア ド レ ス ピ ンの機能の概要を示 し ます。 デー タ 入力 – D、 DID[#:0] デー タ 入力 D ( シ ン グル ポー ト お よ びデ ュ アル ポー ト の場合) お よ び DID[#:0] ( ク ワ ッ ド ポー ト の 場合) には、 RAM に書 き 込む新 し いデー タ 値が入力 さ れます。 52 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 プリ ミティブ デー タ 出力 – O、 SPO、 DPO および DOA[#:0] – DOD[#:0] デー タ 出力 O ( シ ン グル ポー ト ま たは SPO)、 DPO (デ ュ アル ポー ト )、 DOA[#:0] ~ DOD[#:0] ( ク ワ ッ ド ポー ト ) には、 ア ド レ ス入力で指定 し た メ モ リ セルの内容が反映 さ れます。 次のア ク テ ィ ブ な書 き 込み ク ロ ッ ク エ ッ ジで、 デー タ 出力 (O、 SPO、 DOD[#:0) には新 し く 書 き 込ま れたデー タ が反映 さ れます。 SLICEM SRL シ フ ト レ ジ ス タ プ リ ミ テ ィ ブ 32 ビ ッ ト のシ フ ト レ ジ ス タ (SRLC32E) は、 SLICEM の LUT を 1 つ用い る プ リ ミ テ ィ ブ を 1 つ 使用 し ます。 図 3-4 に、 32 ビ ッ ト シ フ ト レ ジ ス タ のプ リ ミ テ ィ ブ を示 し ます。 X-Ref Target - Figure 3-4 SRLC32E 5 D A[4:0] Q CE Q31 CLK UG474_c3_04_102910 図 3-4 : 32 ビ ッ ト シ フ ト レ ジ ス タ ポー ト 信号 ク ロ ッ ク – CLK シ フ ト 動作は、ク ロ ッ ク の立ち上が り エ ッ ジ ま たは立ち下が り エ ッ ジのいずれかに同期 し ます。デー タ お よ び ク ロ ッ ク イ ネーブル入力ピ ンには、 CLK の選択 さ れたエ ッ ジ を基準 と し たセ ッ ト ア ッ プ タ イ ムがあ り ます。 ク ロ ッ ク ピ ン (CLK) には、 ス ラ イ ス レベルで反転オプシ ョ ンがあ り ます。 ク ロ ッ ク 信号は、 ほか の ロ ジ ッ ク リ ソ ース を使用せずに、立ち下が り エ ッ ジ ま たは立ち上が り エ ッ ジでア ク テ ィ ブにで き ます。 デフ ォ ル ト では、 立ち上が り エ ッ ジ を使用 し ます。 デー タ 入力 – D デー タ 入力は、 シ フ ト レ ジ ス タ へシ フ ト イ ンす る 新 し いデー タ (1 ビ ッ ト ) にな り ます。 ク ロ ッ ク イ ネーブル - CE ク ロ ッ ク イ ネーブル ピ ンは、 シ フ ト 動作を制御 し ます。 ク ロ ッ ク イ ネーブル ピ ンが非ア ク テ ィ ブ の と き は、 シ フ ト レ ジ ス タ にデー タ はシ フ ト イ ン さ れず、 新 し いデー タ は書 き 込 ま れ ま せん。 ク ロ ッ ク イ ネーブルを ア ク テ ィ ブにす る と 、 デー タ 入力 (D) の内容が最初のビ ッ ト に書 き 込まれ、 す べてのデー タ が 1 つずつシ フ ト し ます。 新 し いデー タ は、 出力ピ ン (Q) お よ びカ ス ケー ド 接続可能 な出力ピ ン (Q31) に送信 さ れます。 ア ド レ ス – A[4:0] ア ド レ ス入力は、 読み出 さ れ る ビ ッ ト (範囲 0 ~ 31) を選択 し ます。 n 番目の ビ ッ ト が、 出力ピ ン (Q) に送信 さ れます。 こ の入力はカ ス ケー ド 接続可能な出力ピ ン (Q31) に影響せず、 Q31 は常にシ フ ト レ ジ ス タ の最後のビ ッ ト ( ビ ッ ト 31) にな り ます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 53 第 3 章 : デザイ ン入力 デー タ 出力 – Q デー タ 出力 Q には、 ア ド レ ス入力で選択 さ れたデー タ 値 (1 ビ ッ ト ) が送信 さ れます。 デー タ 出力 – Q31 デー タ 出力 Q31 には、 32 ビ ッ ト シ フ ト レ ジ ス タ の最後のビ ッ ト 値が送信 さ れます。 シ フ ト イ ンが 実行 さ れ る ご と に新 し いデー タ が出力 さ れます。 フ リ ップフロップ プリ ミ テ ィ ブ フ リ ッ プ フ ロ ッ プや ラ ッ チ両方を含む、 CLB の ス ト レージ エ レ メ ン ト 用のプ リ ミ テ ィ ブがい く つ かあ り 、 さ ま ざ ま な制御信号を組み合わせて使用で き ます。 図 3-5 に、 FDRE プ リ ミ テ ィ ブ を例 と し て示 し ま す。 フ リ ッ プ フ ロ ッ プお よ び ラ ッ チのプ リ ミ テ ィ ブの詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA お よ び Zynq-7000 All Programmable SoC ラ イ ブ ラ リ ガ イ ド 』 (UG953) を参照 し て く だ さ い。 X-Ref Target - Figure 3-5 FDRE D Q CE C R UG474_c3_05_102910 図 3-5 : FDRE プ リ ミ テ ィ ブ ポー ト 信号 デー タ 入力 - D デー タ 入力は、 フ リ ッ プ フ ロ ッ プに ク ロ ッ ク で入力 さ れ る 新 し いデー タ (1 ビ ッ ト ) です。 デー タ 出力 - Q Q は、 フ リ ッ プ フ ロ ッ プか ら の レ ジ ス タ を介 し た 1 ビ ッ ト のデー タ 出力です。 クロッ ク - C デー タ のキ ャ プチ ャ お よ び出力の ト グルには、 ク ロ ッ ク の立ち上が り エ ッ ジ ま たは立ち下が り エ ッ ジのいずれかが使用 さ れます。 デー タ お よ び ク ロ ッ ク イ ネーブル入力ピ ンには、 ク ロ ッ ク の選択 さ れたエ ッ ジ を基準 と し たセ ッ ト ア ッ プ タ イ ムがあ り ます。 ク ロ ッ ク ピ ン (C) には、 ス ラ イ ス レベ ルで反転オプシ ョ ンがあ り ます。 ク ロ ッ ク 信号は、 ほかの ロ ジ ッ ク リ ソ ース を使用せずに、 立ち下 が り エ ッ ジ ま たは立ち上が り エ ッ ジでア ク テ ィ ブにで き ます。 デフ ォ ル ト では、 立ち上が り エ ッ ジ を使用 し ます。1 つの ス ラ イ ス に含まれ る すべての フ リ ッ プ フ ロ ッ プで、同 じ ク ロ ッ ク お よ び ク ロ ッ ク の極性を使用す る 必要があ り ます。 ク ロ ッ ク イ ネーブル - CE CE が Low の と き 、 D 入力に対す る ク ロ ッ ク 遷移が無視 さ れ ます。 セ ッ ト お よ び リ セ ッ ト 入力は、 ク ロ ッ ク イ ネーブル よ り も 優先 さ れます。 54 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 プリ ミティブ 同期 リ セ ッ ト - R R が High の場合、 ほかの入力 よ り も 優先 さ れ、 デー タ 出力 (Q) は ク ロ ッ ク 遷移がア ク テ ィ ブの と き に Low に駆動 さ れ ま す。 こ の信号は FDRE コ ン ポーネ ン ト で使用で き ま す。 デフ ォ ル ト では、 電源投入時に FDRE フ リ ッ プ フ ロ ッ プ も ク リ ア さ れます。 同期セ ッ ト - S S が High の場合、 ほかの入力 よ り も 優先 さ れ、 デー タ 出力 (Q) は ク ロ ッ ク 遷移がア ク テ ィ ブの と き に High に駆動 さ れ ま す。 こ の信号は FDSE コ ン ポーネ ン ト で使用で き ま す。 デフ ォ ル ト では、 電源投入時に FDSE フ リ ッ プ フ ロ ッ プ も プ リ セ ッ ト さ れます。 非同期 ク リ ア - CLR CLR が High の場合、 ほかの入力 よ り も 優先 さ れ、 デー タ 出力 (Q) は Low に駆動 さ れます。 こ の 信号は FDCE コ ン ポーネ ン ト で使用で き ます。 デフ ォ ル ト では、 電源投入時に FDCE フ リ ッ プ フ ロ ッ プ も ク リ ア さ れます。 非同期プ リ セ ッ ト - PRE PRE が High の場合、 ほかの入力 よ り も 優先 さ れ、 デー タ 出力 (Q) は High に駆動 さ れます。 こ の 信号は FDPE コ ン ポーネ ン ト で使用で き ま す。 デフ ォ ル ト では、 電源投入時に FDPE フ リ ッ プ フ ロ ッ プ も プ リ セ ッ ト さ れます。 注記 : 1 つの フ リ ッ プ フ ロ ッ プで非同期 ク リ ア と 非同期プ リ セ ッ ト の両方 を使用す る 場合は、 リ ソ ースお よ び タ イ ミ ン グ パ ス を追加す る 必要があ り ます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 55 第 3 章 : デザイ ン入力 56 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 第4章 ア プ リ ケーシ ョ ン こ の章では、 よ り 大 き な フ ァ ン ク シ ョ ンの一部 と し て CLB リ ソ ース を使用す る 方法について説明 し ます。 ま た、 こ れ ら の フ ァ ン ク シ ョ ン を別の方法で イ ンプ リ メ ン ト す る 場合の ト レー ド オ フ につ いて も 解説 し ます。 分散 RAM のア プ リ ケーシ ョ ン 分散 RAM と し ての用途には、小規模な ア レ イ 向けの ス ト レージ エ レ メ ン ト と よ り 大規模なア レ イ 向けのブ ロ ッ ク RAM と の間に ト レー ド オ フ があ り ます。 最大限の柔軟性を得 る ために、 メ モ リ は 可能な限 り 推論す る こ と を推奨 し ます。 分散 RAM は、 イ ン ス タ ン シエーシ ョ ン ま たはザ イ リ ン ク ス LogiCORE™ IP を使用 し て タ ーゲ ッ ト にす る こ と も で き ます。 通常、 タ ーゲ ッ ト デバ イ ス の SLICEM ま たは ロ ジ ッ ク リ ソ ー ス が不足 し ていない限 り 、 64 ビ ッ ト 以下の メ モ リ は、 すべて分散 RAM で イ ン プ リ メ ン ト し て く だ さ い。 分散 RAM は、 リ ソ ース、 性能、 消費電力の面で よ り 効率的です。 64 ビ ッ ト か ら 128 ビ ッ ト の メ モ リ の場合、 使用す る 最適な リ ソ ース の判断は次の要因に依存 し ま す。 1. 使用可能なブ ロ ッ ク RAM の有無。 使用で き る ブ ロ ッ ク RAM がない場合は、 分散 RAM を使 用 し ます。 2. レ イ テ ン シの要件。 非同期読み出 し 機能が必要な場合は、 分散 RAM を使用 し ます。 3. デー タ 幅。 16 ビ ッ ト よ り も 大 き な場合は、 可能であればブ ロ ッ ク RAM を使用 し ます。 4. 必要な性能要件。 通常、 レ ジ ス タ 付 き 分散 RAM はブ ロ ッ ク RAM に比べて Clock-to-Out タ イ ミ ン グが短 く 、 配置制約 も 厳 し く あ り ません。 シ フ ト レ ジ ス タ のア プ リ ケーシ ョ ン 同期シ フ ト レ ジ ス タ シ フ ト レ ジ ス タ のプ リ ミ テ ィ ブは、 同 じ ス ラ イ ス にあ る レ ジ ス タ を使用 し ません。 完全に同期 し た 読み出 し /書 き 込みシ フ ト レ ジ ス タ を イ ンプ リ メ ン ト する には、 出力ピ ン Q を フ リ ッ プ フ ロ ッ プに 接続す る 必要があ り ます。 図 4-1 に示す よ う に、 シ フ ト レ ジ ス タ と フ リ ッ プ フ ロ ッ プで同 じ ク ロ ッ ク が使用 さ れます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 57 第 4 章 : ア プ リ ケーシ ョ ン X-Ref Target - Figure 4-1 SRLC32E D FF D Q Synchronous Output Q Address (Write Enable) CE Q31 CLK UG474_c4_01_101210 図 4-1 : 同期シ フ ト レ ジ ス タ こ の コ ン フ ィ ギ ュ レーシ ョ ンは、デザ イ ンが簡単で タ イ ミ ン グ ソ リ ュ ーシ ョ ンの点で も 優れてい ま す。 フ リ ッ プ フ ロ ッ プはシ フ ト レ ジ ス タ チ ェ ーン の最後の レ ジ ス タ と 考え、 固定長モー ド ま たは 可変長モー ド でのア ド レ ス指定は必要な長 さ か ら 1 を引いた値に し ます。 必要に応 じ て、 カ ス ケー ド 接続可能な出力 も フ リ ッ プ フ ロ ッ プ を介 し て出力で き ます。 固定長シ フ ト レ ジ ス タ カ ス ケ ー ド 接続可能 な 32 ビ ッ ト の シ フ ト レ ジ ス タ で は、 専用 マ ルチ プ レ ク サー (F7AMUX、 F7BMUX、 お よ び F8MUX) を使用せずに、 任意の固定長モー ド シ フ ト レ ジ ス タ を イ ン プ リ メ ン ト で き ます。 図 4-2 に、 72 ビ ッ ト のシ フ ト レ ジ ス タ を示 し ます。 最後の SRLC32E プ リ ミ テ ィ ブ のみア ド レ ス 入力を 0b00111 に固定す る 必要があ り ま す。 ま たは、 シ フ ト レ ジ ス タ の長 さ を 71 ビ ッ ト ま でに制限 し て ( ア ド レ ス入力を 0b00110 に固定)、 最後の レ ジ ス タ にはフ リ ッ プ フ ロ ッ プ を使用す る こ と も で き ます。 SRLC32E プ リ ミ テ ィ ブでは、 シ フ ト レ ジ ス タ の長 さ はア ド レ ス入力 +1 です。 X-Ref Target - Figure 4-2 LUT D LUT D D D Q31 Q31 SRLC32E SRLC32E LUT LUT D D Q31 Q31 SRLC32E SRLC32E FF LUT D 00111 5 LUT Q A[4:0] OUT (72-bit SRL) D 00110 5 Q A[4:0] Q31 Q31 SRLC32E SRLC32E D Q OUT (72-bit SRL) UG474_c4_02_101210 図 4-2 : 固定長シ フ ト レ ジ ス タ の例 58 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 キ ャ リ ー ロ ジ ッ クのア プ リ ケーシ ョ ン キ ャ リ ー ロ ジ ッ クのア プ リ ケーシ ョ ン CLB の専用キ ャ リ ー ロ ジ ッ ク は、 加算器、 カ ウ ン タ ー、 コ ンパ レー タ な ど の演算の性能を向上 さ せ ます。 単純な カ ウ ン タ ーま たは加算/減算器を含むデザ イ ン では、 自動的にキ ャ リ ー ロ ジ ッ ク が 推論 さ れます。 乗算器な ど の よ り 複雑な フ ァ ン ク シ ョ ンは、 独立 し た DSP48E1 ス ラ イ ス に よ っ て イ ンプ リ メ ン ト で き ます。 すべてのデバ イ ス に搭載 さ れた DSP48E1 ス ラ イ ス は、 乗算、 乗算累算、 乗算加算、 3 入力加算、 バ レ ル シ フ タ ー、 多入力マルチプ レ ク サー、 マ グ ニチ ュ ー ド コ ンパ レー タ 、 ビ ッ ト 単位の ロ ジ ッ ク フ ァ ン ク シ ョ ン、 パ タ ーン検出、 多入力カ ウ ン タ ーな ど、 多 く の独立 し た機能を サポー ト し ま す。 さ ら に、 複数の DSP48E1 ス ラ イ ス を カ ス ケー ド 接続で き る アーキ テ ク チ ャ に よ っ て、 多入力の数 値演算や DSP フ ィ ル タ ー、 お よ び複素数演算に も 対応で き ます。 DSP48E1 ス ラ イ ス の詳細は、 『7 シ リ ーズ DSP48E1 ス ラ イ ス ユーザー ガ イ ド 』 (UG479) を参照 し て く だ さ い。 CLB キ ャ リ ー ロ ジ ッ ク と DSP48E1 ス ラ イ ス のいずれを使用す る かは、 アプ リ ケーシ ョ ン に よ っ て異な り ます。 DSP48E1 ス ラ イ ス全体 よ り も 、 CLB キ ャ リ ー ロ ジ ッ ク を用いた方が小規模な演算 は よ り 高速に動作 し 、 消費電力 も 小 さ く な り ま す。 DSP48E1 ス ラ イ ス をすべて使用 し てい る 場合 は、 効率的な代替手段 と し て CLB ス ラ イ スやキ ャ リ ー ロ ジ ッ ク を利用で き ます。 キ ャ リ ー ロ ジ ッ ク の使用法 キ ャ リ ー ロ ジ ッ ク は、 推論ま たは イ ン ス タ ン シエーシ ョ ンのいずれ も 可能です。 7 シ リ ーズ FPGA 向けに設計 さ れたマ ク ロ を使用す る と 、 特に複雑な フ ァ ン ク シ ョ ン で最大の柔軟性 と 効率が得 ら れ ます。 ユ ニ マ ク ロ は、 加算器、 カ ウ ン タ ー、 コ ン パ レ ー タ 、 乗算器、 乗算器/ ア キ ュ ム レ ー タ を 含み、 DSP48E1 ス ラ イ ス を使用 し ます。 ザ イ リ ン ク ス の IP には同様の フ ァ ン ク シ ョ ン が含 ま れ ま す。 こ れ ら の フ ァ ン ク シ ョ ン を定義す る 場合、 CLB キ ャ リ ー ロ ジ ッ ク ま たは DSP48E1 ス ラ イ ス のいずれで イ ン プ リ メ ン ト す る かはユー ザーが指定で き ます。 キ ャ リ ー ロ ジ ッ ク は ス ラ イ ス (SLICEL お よ び SLICEM) の隔カ ラ ムで垂直方向上向 き に実行 し ま す。 キ ャ リ ー ロ ジ ッ ク を使用す る 場合、 ザ イ リ ン ク ス ツールに よ っ て ロ ジ ッ ク が自動的にカ ラ ム 方向に配置 さ れます。 フ ロ アプ ラ ン を作成す る 際は、 キ ャ リ ー ロ ジ ッ ク を使用す る フ ァ ン ク シ ョ ン を必ずグループ化 し 、 キ ャ リ ー チ ェ ーン が不要に中断 さ れ る こ と のない よ う にす る 必要が あ り ま す。 ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) テ ク ノ ロ ジ を 使用す る デバ イ ス の SLR (Super Logic Region) 間では、 キ ャ リ ー ロ ジ ッ ク のカ ス ケー ド 接続はで き ません。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 59 第 4 章 : ア プ リ ケーシ ョ ン 60 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 第5章 タ イ ミ ング ザ イ リ ン ク ス ソ フ ト ウ ェ ア を使用 し てデザ イ ン を イ ン プ リ メ ン ト す る 場合、 多様な タ イ ミ ン グ パ ラ メ ー タ ーをすべて理解す る 必要はあ り ませんが、 ク リ テ ィ カル パ ス の解析や よ り 大規模で複雑な 7 シ リ ーズ FPGA を使用す る 高速デザ イ ン を目指す上級設計者に と っ ては、タ イ ミ ン グ モデルの理 解が役立ち ます。 こ こ に記載す る タ イ ミ ン グ モデルを使用す る 場合は、ザ イ リ ン ク ス Timing Analyzer お よ び各 7 シ リ ーズ FPGA デー タ シー ト の 「ス イ ッ チ特性」 も 併せて参照する こ と を推奨 し ます。 ピ ン名、 パ ラ メ ー タ ー名、 お よ びパ ス はすべて、 Timing Analyzer の レ ポー ト の表記 と 一致 し ます。 こ の章では、 デー タ シー ト の 「ス イ ッ チ特性」 に記載 さ れてい る ほ と ん ど の CLB タ イ ミ ン グ パ ラ メ ー タ ーにつ いて説明 し てい ます。 こ の章では、 フ ァ ン ク シ ョ ン を次の 5 つのカ テ ゴ リ に分けて解説 し ます。 • 62 ページの 「CLB ス ラ イ ス の一般的な タ イ ミ ン グ モデル と パ ラ メ ー タ ー」 • 64 ページの 「CLB ス ラ イ ス のマルチプ レ ク サーの タ イ ミ ン グ モデルお よ びパ ラ メ ー タ ー」 • 65 ページの 「CLB ス ラ イ ス のキ ャ リ ー チ ェーンの タ イ ミ ン グ モデルお よ びパ ラ メ ー タ ー」 • 67 ページの 「CLB ス ラ イ ス分散 RAM の タ イ ミ ン グ モデルお よ びパ ラ メ ー タ ー (SLICEM の み) 」 • 70 ページの 「CLB ス ラ イ ス の SRL シ フ ト レ ジ ス タ の タ イ ミ ン グ モデルお よ び パ ラ メ ー タ ー (SLICEM のみ)」 各カ テ ゴ リ について、 次の 3 つのセ ク シ ョ ンで タ イ ミ ン グ モデルを説明 し てい ます。 • フ ァ ン ク シ ョ ン エ レ メ ン ト 図 - ピ ンや接続を示す基本的な アーキ テ ク チ ャ 図 • タ イ ミ ン グ パ ラ メ ー タ ー - 各 7 シ リ ーズ FPGA デー タ シー ト に記載 さ れてい る タ イ ミ ン グ パ ラ メ ー タ ーの定義 • タ イ ミ ン グ図 - フ ァ ン ク シ ョ ン エ レ メ ン ト の タ イ ミ ン グ パ ラ メ ー タ ー間の相対関係を示す図 タ イ ミ ン グ パ ラ メ ー タ ー名は通常、 T に開始ピ ンお よ び終了ピ ンの組み合わせを下付 き で併記 し た 形式で表 し ます。 た と えば、 TCECK は CE か ら ク ロ ッ ク へのセ ッ ト ア ッ プ タ イ ム、 TCKCE は ク ロ ッ ク か ら CE をデ ィ アサー ト す る ま でのホール ド タ イ ム を表 し ます。 1 つのパ ラ メ ー タ ー名が ス ラ イ ス内全体で複数のパ ス に適用 さ れ、 各パ ス で異な る 値を取 る 場合 も あ り ます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 61 第 5 章 : タ イ ミ ング CLB ス ラ イ スの一般的な タ イ ミ ング モデル と パラ メ ー タ ー 図 5-1 に、 7 シ リ ーズ FPGA ス ラ イ ス の簡略図を示 し ます。 こ こ で説明する タ イ ミ ン グ パ ス に関連 す る エ レ メ ン ト のみを示 し てい ます。 X-Ref Target - Figure 5-1 LUT D Inputs 6 O6 D O5 DMUX FF/LAT D CE CLK DX Q D 6 DQ SR CE CK LUT C Inputs Q SR F7BMUX O6 C CMUX O5 FF/LAT CX Q D F8MUX 6 Q CQ SR CE CK SR LUT B Inputs D CE CLK O6 B BMUX O5 FF/LAT BX Q D LUT A Inputs 6 F7AMUX D CE CLK Q BQ SR CE CK SR O6 A O5 AMUX AX Q D FF/LAT CE CK SR CE D CE CLK Q AQ SR CLK SR UG474_c5_01_101210 図 5-1 : 7 シ リ ーズ FPGA ス ラ イ スの簡略図 62 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 CLB ス ラ イ スの一般的な タ イ ミ ング モデル と パラ メ ー タ ー 一般的な タ イ ミ ン グ パ ラ メ ー タ ー 表 5-1 に、 図 5-1 に示 し た主なパス に関連す る 、 ス ラ イ ス の一般的な タ イ ミ ン グ パ ラ メ ー タ ーを示 し ます。 表 5-1 : ス ラ イ スの一般的な タ イ ミ ング パ ラ メ ー タ ー パラ メ ー タ ー 機能 説明 組み合わせ遅延 TILO(1) A/B/C/D 入力か ら A/B/C/D 出力 ス ラ イ ス の A/B/C/D LUT 入力か ら 、 ル ッ ク ア ッ プ テーブル (LUT) を通 り 、 ス ラ イ ス の A/B/C/D 出力に出力 さ れ る ま での伝搬遅延 TITO 透過 ラ ッ チを通 る A/B/C/D 入力 か ら AQ/BQ/CQ/DQ 出力 ス ラ イ ス の A/B/C/D LUT 入力か ら 、 LUT を通 り 、 ス ラ イ ス シーケ ン シ ャ ル エ レ メ ン ト ( ラ ッ チ コ ン フ ィ ギ ュ レーシ ョ ン ) の AQ/BQ/ CQ/DQ 出力に出力 さ れ る ま での伝搬遅延 シーケ ン シ ャル遅延 TCKO FF ク ロ ッ ク (CLK) か ら AQ/BQ/CQ/DQ 出力 ク ロ ッ ク 後に、 ス ラ イ ス シーケ ン シ ャ ル エ レ メ ン ト の AQ/BQ/CQ/ DQ 出力でデー タ が安定 し て い な ければな ら な い時間 ( フ リ ッ プ フ ロ ッ プ と し て コ ン フ ィ ギ ュ レーシ ョ ン ) TCKLO ラ ッ チ ク ロ ッ ク (CLK) か ら AQ/BQ/CQ/DQ 出力 ク ロ ッ ク 後に、 ス ラ イ ス シーケ ン シ ャ ル エ レ メ ン ト の AQ/BQ/CQ/ DQ 出力でデー タ が安定 し ていなければな ら ない時間 ( ラ ッ チ と し て コ ン フ ィ ギ ュ レーシ ョ ン ) TSHCKO ク ロ ッ ク 後 に、 ( ス ラ イ ス の フ リ ッ プ フ ロ ッ プ を 介 し て ) AMUX/ FF ク ロ ッ ク (CLK) か ら AMUX/BMUX/CMUX/DMUX BMUX/CMUX/DMUX 出力が安定する ま での時間 出力 ス ラ イ ス シーケ ン シ ャ ル エ レ メ ン ト のセ ッ ト ア ッ プおよびホール ド タ イム(2) TAS/TAH A/B/C/D 入力 ク ロ ッ ク の前後に、ス ラ イ ス の A/B/C/D LUT 入力か ら のデー タ が安 定 し ていなければな ら ない時間 TDICK/TCKDI AX/BX/CX/DX 入力 ク ロ ッ ク の前後に、 ス ラ イ ス の AX/BX/CX/DX 入力か ら のデー タ が 安定 し ていなければな ら ない時間 TCECK/TCKCE CE 入力 ク ロ ッ ク の前後に、 ス ラ イ ス の CE 入力が安定 し ていな ければな ら ない時間 TSRCK/TCKSR SR 入力 ク ロ ッ ク の前後に、 ス ラ イ ス の SR ( セ ッ ト / リ セ ッ ト ) 入力 タ が安定 し ていなければな ら ない時間 TRPW (TSRMIN) SR 入力 SR ( セ ッ ト / リ セ ッ ト ) の最小パルス幅 TRQ SR 入力 ス ラ イ ス シーケ ン シ ャ ル エ レ メ ン ト の非同期セ ッ ト / リ セ ッ ト 伝搬 遅延 CE 入力 CE の イ ネーブルか ら 、 AQ/BQ/CQ/DQ 出力で ラ ッ チ出力 さ れ る ま セ ッ ト /リ セ ッ ト その他 TCEO での伝搬遅延 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 63 第 5 章 : タ イ ミ ング 表 5-1 : ス ラ イ スの一般的な タ イ ミ ング パ ラ メ ー タ ー (続き ) パラ メ ー タ ー FTOG 機能 説明 CLK 入力 ト グル周波数 – ス ラ イ ス フ リ ッ プ フ ロ ッ プが ク ロ ッ ク 供給 さ れ る 最 大周波数 (エ ク ス ポー ト 制御の場合) 注記 : 1. こ のパ ラ メ ー タ ーは、 2 つの 5 入力フ ァ ン ク シ ョ ン と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れた LUT を含みます。 2. TXXCK = セ ッ ト ア ッ プ タ イ ム ( ク ロ ッ ク エ ッ ジの前)、 TCKXX = ホール ド タ イ ム ( ク ロ ッ ク エ ッ ジの後) です。 一般的な タ イ ミ ン グ特性 図 5-2 に、 7 シ リ ーズ FPGA ス ラ イ ス の一般的な タ イ ミ ン グ特性を示 し ます。 X-Ref Target - Figure 5-2 1 2 3 CLK TCECK CE AX/BX/CX/DX (DATA) TDICK TSRCK SR (RESET) TCKO TCKO AQ/BQ/CQ/DQ (OUT) UG474_c5_02_102310 図 5-2 : ス ラ イ スの一般的な タ イ ミ ング特性 • ク ロ ッ ク イ ベン ト (1) よ り も TCECK 時間前に、 ク ロ ッ ク イ ネーブル信号が ス ラ イ ス レ ジ ス タ の CE 入力上で有効 (High) にな り ます。 • ク ロ ッ ク イ ベン ト (1) よ り も TDICK 時間前に、 AX、 BX、 CX、 ま たは DX 入力のいずれかか ら のデー タ が ス ラ イ ス レ ジ ス タ の D 入力で有効 (High) にな り ます。 こ れは、 ク ロ ッ ク イ ベン ト (1) の後の TCKO 時間に、 AQ、 BQ、 CQ、 ま たは DQ ピ ンに出力 さ れます。 • ク ロ ッ ク イ ベン ト (3) よ り も TSRCK 時間前に、 同期 リ セ ッ ト と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れた SR 信号が有効 (High) にな り 、 ス ラ イ ス レ ジ ス タ が リ セ ッ ト さ れます。 こ れは、 ク ロ ッ ク イ ベン ト (3) の後の TCKO 時間に、 AQ、 BQ、 CQ、 ま たは DQ ピ ンに出力状態が反映 さ れ ます。 CLB ス ラ イ スのマルチプ レ クサーのタ イ ミ ング モデルおよびパラ メ ー タ ー 41 ページの図 2-22 お よ び 42 ページの図 2-23 に、7 シ リ ーズ FPGA ス ラ イ ス の多入力マルチプ レ ク サーを示 し ます。 ス ラ イ ス マルチ プ レ ク サーの タ イ ミ ング パラ メ ー タ ー 表 5-2 に、図 2-22 お よ び図 2-23 に示 し た主なパ ス に関連す る ス ラ イ ス マルチプ レ ク サーの タ イ ミ ン グ パ ラ メ ー タ ーを示 し ます。 こ れ ら のパ ラ メ ー タ ー名の多 く は、 多入力マルチプ レ ク サーを含ま ないパス に も 使用 さ れます。 64 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 CLB ス ラ イ スのキ ャ リ ー チ ェ ーンの タ イ ミ ング モデルおよびパラ メ ー タ ー 表 5-2 : ス ラ イ ス マルチ プ レ クサーの タ イ ミ ング パラ メ ー タ ー パラ メ ー タ ー 機能 説明 多入力マルチ プ レ クサーを使用する ス ラ イ スの伝搬遅延 TAXA/TAXB/ TBXB/ TCXB/TCXC AX/BX/CX 入力か ら AMUX/BMUX/CMUX 出力 ス ラ イ ス の AX/BX/CX 入力 か ら 、 マルチプ レ ク サーのセ レ ク ト 入力を 通 り 、 ス ラ イ ス の AMUX/BMUX/ CMUX 出力に出力 さ れ る ま での伝 搬遅延 TOPAB/ TOPBA/TOPBB/ TOPCB/ TOPDB/TOPDC A/B/C/D 入力か ら AMUX/BMUX/CMUX 出力 ス ラ イ ス の A/B/C/D LUT 入力 か ら 、 マルチプ レ ク サーを通 り 、 ス ラ イ ス の AMUX/BMUX/CMUX 出力 に出力 さ れ る ま での伝搬遅延 TILO_2 A/C 入力か ら AMUX/CMUX 出力 ス ラ イ ス の A LUT 入力 か ら 、 F7AMUX マ ル チ プ レ ク サ ー を 通 り 、 ス ラ イ ス の AMUX 出力に出力 さ れ る ま での伝搬遅延、 ま たは、 ス ラ イ ス の C LUT 入力 か ら 、 F7BMUX マ ル チ プ レ ク サ ー を 通 り 、 ス ラ イ ス の CMUX 出力に出力 さ れ る ま での伝搬遅延 CLB ス ラ イ スのキャ リ ー チ ェ ーンのタ イ ミ ング モデルおよびパラ メ ー タ ー 44 ページの図 2-24 に、 7 シ リ ーズ FPGA ス ラ イ ス に含まれ る キ ャ リ ー チ ェ ーン を示 し ます。 ス ラ イ ス キ ャ リ ー チ ェ ーンの タ イ ミ ング パラ メ ー タ ー 表 5-3 に、図 2-24 に示 し た主なパ ス に関連す る ス ラ イ ス キ ャ リ ー チ ェーンの タ イ ミ ン グ パ ラ メ ー タ ーを示 し ます。 表 5-3 : ス ラ イ ス キ ャ リ ー チ ェ ーンの タ イ ミ ン グ パラ メ ー タ ー パラ メ ー タ ー 機能 説明 キ ャ リ ー チ ェ ーン と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れたス ラ イ スの伝搬遅延 TAXA/TAXB/TAXC/TAXD/ TBXB/TBXC/TBXD/ TCXC/TCXD/ TDXD AX/BX/CX/DX 入力 か ら ス ラ イ ス の AX/BX/CX/DX 入力か ら 、 AMUX/BMUX/CMUX/ キ ャ リ ー ロ ジ ッ ク を通 り 、 ス ラ イ ス の AMUX/BMUX/CMUX/DMUX 出力 DMUX 出力 に出力 さ れ る ま での伝搬遅延 TAXCY /T BXCY /T CXCY / AX/BX/CX/DX 入力 か ら TDXCY COUT 出力 ス ラ イ ス の AX/BX/CX/DX 入力か ら 、 ス ラ イ ス の COUT 出力に出力 さ れ る ま での伝搬遅延 TBYP ス ラ イ ス の CIN 入力か ら、 ス ラ イ ス の COUT 出力に出力される までの伝搬遅延 CIN 入力か ら COUT 出力 T O P C Y A / T O P C Y B / A/B/C/D 入力 か ら COUT ス ラ イ ス の A/B/C/D LUT 入力 か ら 、 TOPCYC/TOPCYD 出力 ス ラ イ ス の COUT 出力に出力 さ れ る ま での伝搬遅延 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 65 第 5 章 : タ イ ミ ング 表 5-3 : ス ラ イ ス キ ャ リ ー チ ェ ーンの タ イ ミ ン グ パラ メ ー タ ー (続き ) パラ メ ー タ ー 機能 説明 T C I N A / T C I N B / T C I N C / CIN 入力か ら XOR (和) を使用する ス ラ イ スの CIN 入 AMUX/BMUX/CMUX/ 力か ら AMUX/BMUX/CMUX/DMUX TCIND DMUX 出力 出力に出力される までの伝搬遅延 キ ャ リ ー チ ェ ーン と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れたス ラ イ スのセ ッ ト ア ッ プおよびホール ド タ イ ム(1) TCINCK/TCKCIN CIN 入力 ク ロ ッ ク の前/後に ス ラ イ ス の CIN 入 力が安定 し ていなければな ら ない時間 注記 : 1. TXXCK = セ ッ ト ア ッ プ タ イ ム ( ク ロ ッ ク エ ッ ジの前)、TCKXX = ホール ド タ イ ム ( ク ロ ッ ク エ ッ ジの後) です。 ス ラ イ ス キ ャ リ ー チ ェ ーンの タ イ ミ ング特性 図 5-3 に、 7 シ リ ーズ FPGA ス ラ イ ス に イ ンプ リ メ ン ト さ れた ス ラ イ ス キ ャ リ ー チ ェ ーンの タ イ ミ ン グ特性を示 し ます。 X-Ref Target - Figure 5-3 1 CLK CIN (DATA) TCINCK TCKO AQ/BQ/CQ/DQ (OUT) UG474_c5_03_110110 図 5-3 : ス ラ イ ス キ ャ リ ー チ ェ ーンの タ イ ミ ング特性 図 5-3 について説明 し ます。 • 66 ク ロ ッ ク イ ベン ト (1) よ り も TCINCK 時間前に、 CIN 入力か ら のデー タ が ス ラ イ ス レ ジ ス タ の DATA 入力で 有効 (High) にな り ます。 こ れは、 ク ロ ッ ク イ ベン ト (1) の後の TCKO 時間に AQ/BQ/CQ/DQ ピ ンに出力 さ れます。 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 CLB ス ラ イ ス分散 RAM の タ イ ミ ング モデルおよびパ ラ メ ー タ ー (SLICEM のみ) CLB ス ラ イ ス分散 RAM の タ イ ミ ング モデルおよびパラ メ ー タ ー (SLICEM のみ) 図 5-4 に、 7 シ リ ーズ FPGA ス ラ イ ス に イ ンプ リ メ ン ト さ れてい る 分散 RAM の詳細を示 し ます。 図をわか り やす く す る ために、 ス ラ イ ス の一部のエ レ メ ン ト は省略 さ れてい ます。 こ こ で説明す る タ イ ミ ン グ パ ス に関連す る エ レ メ ン ト のみを示 し てい ます。 X-Ref Target - Figure 5-4 RAM DI DX D input 6 CLK WE DI1 DI2 A[6:0] WA[6:0] CLK WE O6 D O5 DMUX O6 C O5 CMUX O6 B O5 BMUX O6 A O5 AMUX RAM CI CX C input 6 DI1 DI2 A[6:0] WA[6:0] CLK WE RAM BI BX B input 6 DI1 DI2 A[6:0] WA[6:0] CLK WE RAM AI AX A input 6 DI1 DI2 A[6:0] WA[6:0] CLK WE UG474_c5_04_110110 図 5-4 : 7 シ リ ーズ FPGA の SLICEM に含まれる分散 RAM の簡略図 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 67 第 5 章 : タ イ ミ ング 分散 RAM の タ イ ミ ング パラ メ ー タ ー 表 5-4 に、 図 5-4 に示 し た主なパ ス に関連する SLICEM に含まれ る 分散 RAM の タ イ ミ ン グ パ ラ メ ー タ ーを示 し ます。 表 5-4 : 分散 RAM の タ イ ミ ン グ パラ メ ー タ ー パラ メ ー タ ー 機能 説明 RAM (分散 RAM) と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れたス ラ イ ス LUT のシーケ ン シ ャ ル遅延 書き 込み操作の ク ロ ッ ク 後に、分散 RAM に書 き 込まれた デー タ が ス ラ イ ス の A/B/C/D 出力で安定 し ていなければ な ら ない時間 TSHCKO CLK か ら A/B/C/D 出力 TSHCKO (TSHCKO_1) CLK か ら 書 き 込み操作の CLK 後に、 分散 RAM に書 き 込 ま れ た AMUX/BMUX/CMUX/DMUX デー タ が ス ラ イ ス の AMUX/BMUX/CMUX/DMUX 出力 出力 で安定 し ていなければな ら ない時間 RAM (分散 RAM) と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れたス ラ イ ス LUT のセ ッ ト ア ッ プおよびホール ド タ イム(1) TDS/TDH (TDS_LRAM/TDH_LRAM) TAS/TAH (TAS_LRAM/TAH_LRAM) TWS/TWH (TWS_LRAM/TWH_LRAM) デ ー タ 入 力 (DI1) と し て コ ン フ ィ ギ ュ レ ー シ ョ ン さ れ た AI/ BI/CI/DI (2) ク ロ ッ ク の前/後に、 RAM と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れた ス ラ イ ス の AI/BI/CI/DI 入力でデー タ が安定 し て いなければな ら ない時間 A/B/C/D ア ド レ ス入力 ク ロ ッ ク の前/後に、 RAM と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れた ス ラ イ ス の A/B/C/D LUT 入力でア ド レ ス信号が安 定 し ていなければな ら ない時間 WE 入力 ク ロ ッ ク の前/後に、 RAM コ ン フ ィ ギ ュ レーシ ョ ン さ れた ス ラ イ ス の WE 入力で書 き 込み イ ネーブル信号が安定 し ていなければな ら ない時間 ク ロ ッ ク CLK TMPW (TMPW_LRAM) 分散 RAM の最小 ク ロ ッ ク パルス幅 TMCP ア ド レ ス 書 き 込み サ イ ク ル時間 を 満 た す た め の 最小 ク ロ ッ ク 周期 注記 : 1. TXS = セ ッ ト ア ッ プ タ イ ム ( ク ロ ッ ク エ ッ ジの前)、 TXH = ホール ド タ イ ム ( ク ロ ッ ク エ ッ ジの後) です。 2. パ ラ メ ー タ ーは、 デー タ 入力 (DI2) と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れた AX/BX/CX/DX を含みます。 68 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 CLB ス ラ イ ス分散 RAM の タ イ ミ ング モデルおよびパ ラ メ ー タ ー (SLICEM のみ) 分散 RAM の タ イ ミ ング特性 図 5-5 に、 7 シ リ ーズ FPGA ス ラ イ ス (LUT を RAM と し て コ ン フ ィ ギ ュ レーシ ョ ン ) に イ ンプ リ メ ン ト さ れた分散 RAM の タ イ ミ ン グ特性を示 し ます。 X-Ref Target - Figure 5-5 1 2 3 4 5 6 7 TMCP TMPW TMPW CLK TAS A/B/C/D (ADDR) 2 F 3 4 0 1 5 E TDS AI/BI/CI/DI (DI) 1 X TWS 0 X TILO TILO WE DATA_OUT A/B/C/D Output TSHCKO 1 WRITE MEM(F) READ 0 1 WRITE WRITE 0 WRITE MEM(E) READ UG474_c5_05_110110 図 5-5 : ス ラ イ ス分散 RAM の タ イ ミ ング特性 ク ロ ッ ク イ ベン ト 1 : 書き込み 書 き 込み動作中は、 ADDR 入力上のア ド レ ス が指す メ モ リ の内容は変化 し ません。 こ の メ モ リ ロ ケーシ ョ ンに書 き 込まれたデー タ は、 ク ロ ッ ク に同期 し て A/B/C/D 出力に反映 さ れます。 • ク ロ ッ ク イ ベン ト (1) よ り も TWS 時間前に、 書き 込み イ ネーブル信号 (WE) が有効 (High) に な り 、 RAM が書 き 込み動作を実行で き る 状態にな り ます。 • ク ロ ッ ク イ ベン ト (1) よ り も TAS 時間前に、 ア ド レ ス (2) が RAM の A/B/C/D 入力で有効に な り ます。 • ク ロ ッ ク イ ベン ト (1) よ り も TDS 時間前に、 DATA が RAM の DI 入力で有効 (1) にな り 、 TSHCKO 時間後に A/B/C/D 出力に反映 さ れます。 ま た、 ク ロ ッ ク イ ベン ト (1) よ り も TSHCKO 時間後に、 AMUX、 BMUX、 CMUX、 DMUX、 お よ び COUT 出力に も 反映 さ れます。 ク ロ ッ ク イ ベン ト 2 : 読み出 し 分散 RAM では、 すべての読み出 し が非同期です。 WE が Low の場合は、 随時ア ド レ ス バ ス を ア サー ト で き ます。 そのア ド レ ス バ ス にあ る RAM の内容は、 TILO の遅延 (LUT を通過す る 場合の 伝搬遅延) 後に A/B/C/D 出力に反映 さ れます。ク ロ ッ ク イ ベン ト (2) の後に ア ド レ ス (F) はアサー ト さ れ、 そのア ド レ ス にあ る RAM の内容は、 TILO の遅延後に出力に反映 さ れます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 69 第 5 章 : タ イ ミ ング CLB ス ラ イ スの SRL シ フ ト レ ジス タ の タ イ ミ ン グ モデルおよび パラ メ ー タ ー (SLICEM のみ) 図 5-6 に、7 シ リ ーズ FPGA の ス ラ イ ス に含まれ る シ フ ト レ ジ ス タ の イ ンプ リ メ ン テーシ ョ ン を示 し ます。 図をわか り やす く す る ために、 ス ラ イ ス の一部のエ レ メ ン ト は省略 さ れてい ます。 こ こ で 説明す る タ イ ミ ン グ パ ス に関連す る エ レ メ ン ト のみを示 し てい ます。 X-Ref Target - Figure 5-6 SRL DI1 DI D O6 D address 6 A MC31 CLK WE CLK W SRL DI1 C address C O6 CI 6 A MC31 CLK WE SRL DI1 B address B O6 BI 6 A MC31 CLK WE SRL DI1 A O6 AI A address 6 A CLK DMUX MC31 WE UG474_c5_06_110110 図 5-6 : 7 シ リ ーズ FPGA のス ラ イ ス SRL の簡略図 70 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 CLB ス ラ イ スの SRL シ フ ト レ ジ ス タ の タ イ ミ ング モデルおよび パラ メ ー タ ー (SLICEM のみ) ス ラ イ ス シ フ ト レジス タのタ イ ミ ング パラ メ ー タ ー 表 5-5 に、 図 5-6 に示 し た主なパス に関連す る 、 SLICEM SRL の タ イ ミ ン グ パ ラ メ ー タ ーを示 し ます。 表 5-5 : ス ラ イ ス シ フ ト レ ジス タ の タ イ ミ ング パラ メ ー タ ー パラ メ ー タ ー 機能 説明 SRL と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れたス ラ イ ス LUT のシーケ ン シ ャル遅延 CLK か ら A/B/C/D 出力 書 き 込み操作後の ク ロ ッ ク 後に、 シ フ ト レ ジ ス タ に書き 込まれたデー タ が ス ラ イ ス の A/B/C/D 出力 で安定 し ていなければな ら ない時間 TREG (TREG_MUX)(1) CLK か ら AMUX ~ DMUX 出力 書 き 込み操作後の ク ロ ッ ク 後に、 シ フ ト レ ジ ス タ AMUX/ に 書 き 込 ま れ た デー タ が ス ラ イ ス の BMUX/CMUX/DMUX 出力で 安定 し て い な け れ ばな ら ない時間 TREG (TREG_M31) CLK か ら MC31 出力 を 通 り 、 に 書 き 込 ま れ た デー タ が、 MC31 出力 を 通 り 、 DMUX 出力へ送信 DMUX 出力で安定 し ていなければな ら ない時間 TREG(1) 書 き 込み操作後の ク ロ ッ ク 後に、 シ フ ト レ ジ ス タ SRL と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れたス ラ イ ス LUT のセ ッ ト ア ッ プお よびホール ド タ イ ム(2) TCECK/TCKCE CE 入力 (CE) (TCECK_SHFREG/TCKCESHFREG) ク ロ ッ ク の前/後に、 ク ロ ッ ク イ ネーブル信号が ス ラ イ ス LUT の CE 入力で安定 し ていなければな ら な い 時間 ( シ フ ト レ ジ ス タ と し て コ ン フ ィ ギ ュ レーシ ョ ン ) TWS/TWH (TWS_SHFREG/TWH_SHFREG) CE 入力 (WE) ク ロ ッ ク の前/後に、 書 き 込み イ ネーブル信号が ス ラ イ ス LUT の WE 入力で安定 し ていなければな ら な い 時間 ( シ フ ト レ ジ ス タ と し て コ ン フ ィ ギ ュ レーシ ョ ン ) TDS/TDH(3) (TDS_SHFREG/TDH_SHFREG) デ ー タ 入 力 (DI) と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れた AI/BI/CI/DI ク ロ ッ ク の前/後に、 デー タ が ス ラ イ ス の AI/BI/CI/ DI 入力で安定 し ていな ければな ら ない時間 ( シ フ ト レ ジ ス タ と し て コ ン フ ィ ギ ュ レーシ ョ ン ) ク ロ ッ ク CLK TMPW 分散 RAM の最小 ク ロ ッ ク パルス幅 注記 : 1. こ のパ ラ メ ー タ ーは、 2 ビ ッ ト シ フ ト レ ジ ス タ と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れた LUT を含みます。 2. TXS = セ ッ ト ア ッ プ タ イ ム ( ク ロ ッ ク エ ッ ジの前)、 TXH = ホール ド タ イ ム ( ク ロ ッ ク エ ッ ジの後) です。 3. こ のパ ラ メ ー タ ーは、 デー タ 入力 (DI2) ま たは共通シ フ ト の 2 ビ ッ ト と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れた AX/BX/CX/DX を含みます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 71 第 5 章 : タ イ ミ ング ス ラ イ ス シ フ ト レ ジ ス タ の タ イ ミ ン グ特性 図 5-7 に、 7 シ リ ーズ FPGA ス ラ イ ス (LUT はシ フ ト レ ジ ス タ と し て コ ン フ ィ ギ ュ レーシ ョ ン ) に イ ンプ リ メ ン ト さ れたシ フ ト レ ジ ス タ の タ イ ミ ン グ特性を示 し ます。 X-Ref Target - Figure 5-7 1 2 3 4 5 6 32 CLK TWS Write Enable (WE) TDS Shift_In (DI) 0 Address (A/B/C/D) 1 1 0 0 TREG 1 0 2 1 TILO Data Out (A/B/C/D) X 1 MSB (MC31/DMUX) 0 TREG X X X 1 0 X TILO 1 1 X 0 X 1 X 0 UG474_c5_07_110110 図 5-7 : ス ラ イ ス シ フ ト レ ジ ス タ の タ イ ミ ング特性 ク ロ ッ ク イ ベン ト 1 : シ フ ト イ ン 書 き 込み ( シ フ ト イ ン ) 実行中、 シ フ ト レ ジ ス タ を介 し てデー タ がシ フ ト さ れ る と き に A/B/C/D 入 力のア ド レ ス にあ る レ ジ ス タ のシ ン グル ビ ッ ト の内容が変更 さ れ ます。 ク ロ ッ ク イ ベン ト 時にア ド レ ス が変更 さ れない場合、 こ の レ ジ ス タ に書 き 込 ま れたデー タ が同期 し て A/B/C/D 出力に反映 さ れ ます。 ク ロ ッ ク イ ベン ト 中に A/B/C/D 入力が変更 さ れ る 場合、 ア ド レ ス指定可能な出力 (A/ B/C/D 出力) のデー タ 値は無効にな り ます。 • ク ロ ッ ク イ ベン ト (1) よ り も TWS 時間前に、 書き 込み イ ネーブル信号 (WE) は有効 (High) に な り 、 シ フ ト レ ジ ス タ が次の書 き 込みを実行で き る 状態にな り ます。 • ク ロ ッ ク イ ベン ト (1) よ り も TDS 時間前に、DATA がシ フ ト レ ジ ス タ の DI 入力で有効 (0) に な り 、 ク ロ ッ ク イ ベン ト (1) よ り 遅延時間 TREG 後に A/B/C/D 出力に反映 さ れます。 ク ロ ッ ク イ ベン ト (1) でア ド レ ス 0 が指定 さ れ る ため、 DI 入力のデー タ はレ ジ ス タ 0 に書 き 込まれ、 A/ B/C/D 出力で反映 さ れます。 ク ロ ッ ク イ ベン ト 2 : シ フ ト イ ン • ク ロ ッ ク イ ベン ト (2) よ り も TDS 時間前に、DATA がシ フ ト レ ジ ス タ の DI 入力で有効 (1) に な り 、 ク ロ ッ ク イ ベン ト (2) よ り 遅延時間 TREG 後に A/B/C/D 出力に反映 さ れます。 ク ロ ッ ク イ ベン ト (2) でア ド レ ス 0 が指定 さ れた ま ま にな る ため、DI 入力のデー タ はレ ジ ス タ 0 に書 き 込まれ、 D 出力で反映 さ れます。 ク ロ ッ ク イ ベン ト 3 : シ フ ト イ ン / ア ド レ ス指定に よ る (非同期) 読み出 し すべての読み出 し 動作は CLK 信号に非同期で実行 さ れます。 ク ロ ッ ク イ ベン ト 間でア ド レ ス が変 更 さ れた場合、 そのア ド レ ス上の レ ジ ス タ のデー タ は TILO (LUT 通過時の伝搬遅延) 時間遅れて、 ア ド レ ス指定可能な出力 (A/B/C/D 出力) に反映 さ れます。 72 • ク ロ ッ ク イ ベン ト (3) よ り も TDS 時間前に、DATA がシ フ ト レ ジ ス タ の DI 入力で有効 (1) に な り 、 ク ロ ッ ク イ ベン ト (3) よ り 遅延時間 TREG 後に A/B/C/D 出力に反映 さ れます。 • ア ド レ ス は変更 さ れます (0 か ら 2)。 こ の と き 、 レ ジ ス タ 2 に保持 さ れてい る 値は 0 ( こ の例で は、 最初にシ フ ト さ れ る デー タ ) であ り 、 TILO の遅延後に A/B/C/D 出力に反映 さ れます。 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 CLB ス ラ イ スの SRL シ フ ト レ ジ ス タ の タ イ ミ ング モデルおよび パラ メ ー タ ー (SLICEM のみ) ク ロ ッ ク イ ベン ト 32 : MSB (最上位ビ ッ ト ) の変化 • ク ロ ッ ク イ ベン ト (32) の後の TREG 時間に、 シ フ ト レ ジ ス タ にシ フ ト さ れ る 最初のビ ッ ト が LUT A ( シ フ ト レ ジ ス タ ) の MC31 出力を通っ て、 ス ラ イ ス の DMUX 出力で有効 ( こ の例で は ロ ジ ッ ク 0) に な り ま す。 こ れは、 ク ロ ッ ク イ ベ ン ト (1) の後の TREG 時間で、 AMUX、 BMUX、 CMUX、 DMUX、 お よ び COUT 出力に対 し て も 同様です。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 73 第 5 章 : タ イ ミ ング 74 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 第6章 高度な使用法 ラ ッ チ フ ァ ン ク シ ョ ンのロ ジ ッ クへの転用 ラ ッ チ フ ァ ン ク シ ョ ンは レベル認識型であ る ため、 ロ ジ ッ ク ゲー ト の等価回路 と し て使用で き ま す。 こ の フ ァ ン ク シ ョ ン を指定す る プ リ ミ テ ィ ブは、 図 6-1 に示す AND2B1L (一方の入力が反転 し た 2 入力の AND ゲー ト ) お よ び OR2L (2 入力の OR ゲー ト ) です。 X-Ref Target - Figure 6-1 AND2B1L OR2L UG474_c6_01_110210 図 6-1 : AND2B1L および OR2L コ ンポーネ ン ト 図 6-2 に示す よ う に、 AND2B1L や OR2L プ リ ミ テ ィ ブが イ ン ス タ ン シエー ト さ れ る と 、 ラ ッ チの デー タ 、 お よ び SR の入力 と Q 出力が使用 さ れ、 CK ゲー ト と CE ゲー ト の イ ネーブルがア ク テ ィ ブ High に保持 さ れ ます。 AND2B1L は、 ラ ッ チ デー タ 入力 ( ゲー ト の反転入力、 DI) と 非同期 ク リ ア入力 (SRI) を組み合わせます。 OR2L は、 ラ ッ チ デー タ 入力 と 非同期プ リ セ ッ ト を組み合わせ ます。 通常、 ラ ッ チ デー タ は同 じ ス ラ イ ス の LUT 出力か ら 入力 さ れ、 ロ ジ ッ ク フ ァ ン ク シ ョ ンが ほかの外部入力へ拡張 さ れ ます。 SR 入力は各ス ラ イ ス に 1 つ し か存在 し ないため、 1 つの ス ラ イ ス に複数の AND2B1L ま たは OR2L を使用す る 場合は、 外部入力を共有す る 必要があ り ます。 X-Ref Target - Figure 6-2 IN[6:1] LUT6 O6 D Q Q VCC CE CK SR SRI UG474_c6_02_110310 図 6-2 : OR2L のイ ン プ リ メ ン テーシ ョ ン (Q = D または SRI) デバ イ ス モデルでは、 こ れ ら の フ ァ ン ク シ ョ ンは ス ト レージ エ レ メ ン ト の AND2L お よ び OR2L コ ン フ ィ ギ ュ レーシ ョ ン と し て表示 さ れます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 75 第 6 章 : 高度な使用法 2 入力ゲー ト の AND2B1L お よ び OR2L は、 LUT リ ソ ース を節約 し 、 電源投入時お よ び GSR ( グ ロ ーバル セ ッ ト / リ セ ッ ト ) のアサー ト 時に既知の状態に初期化 さ れます。 こ れ ら のプ リ ミ テ ィ ブに よ っ て レ ジ ス タ / ラ ッ チ リ ソ ース を ロ ジ ッ ク に転用す る こ と で、ロ ジ ッ ク レベルが低減 さ れ、ロ ジ ッ ク 集積度が向上 し ます。 ただ し 、 ク ロ ッ ク 入力お よ び ク ロ ッ ク イ ネーブル入力を固定す る 必要があ る こ と か ら 、 1 つ以上の AND2B1L ま たは OR2L プ リ ミ テ ィ ブ を指定す る と 、 ス ラ イ ス内で レ ジ ス タ のパ ッ キ ン グや集積度に問題が生 じ る 可能性があ り 、 その場合、 残 り の レ ジ ス タ や ラ ッ チを使 用で き な く な り ます。 イ ン タ ー コ ネ ク ト リ ソ ース イ ン タ ー コ ネ ク ト と は、 FPGA 内の IOB、 CLB、 DSP ス ラ イ ス、 ブ ロ ッ ク RAM な ど の フ ァ ン ク シ ョ ン エ レ メ ン ト の入力 と 出力間をつな ぐ 信号経路であ り 、 プ ロ グ ラ ム可能なネ ッ ト ワ ー ク です。 配線 と も 呼ばれ る イ ン タ ー コ ネ ク ト は、 最適な コ ネ ク テ ィ ビ テ ィ を達成す る ためにセグ メ ン ト 化 さ れてい ます。 ザ イ リ ン ク ス の配置配線ツールは、 豊富な イ ン タ ーコ ネ ク ト ア レ イ を活用 し 、 最適な シ ス テ ム性能を最短の コ ンパ イ ル時間で実現 し ます。 7 シ リ ーズ CLB は FPGA 内の通常のア レ イ に配置 さ れます。 各 CLB は ス イ ッ チ マ ト リ ッ ク ス に 接続 し て、CLB の行間 と カ ラ ム間に水平お よ び垂直方向に存在す る 汎用配線マ ト リ ッ ク ス にア ク セ ス し ます。 同様の ス イ ッ チ マ ト リ ッ ク ス で、 DSP ス ラ イ スやブ ロ ッ ク RAM リ ソ ース な ど のほか の リ ソ ース に も 接続 し ます。 ほ と ん ど の イ ン タ ー コ ネ ク ト 機能は、 FPGA 設計者か ら は透過的、 つま り 意識す る 必要があ り ませ ん。 イ ン タ ー コ ネ ク ト に関す る 詳細な知識は設計テ ク ニ ッ ク のガ イ ド と し て役立ち ますが、 効率的 な FPGA デザ イ ンに必須 と い う わけではあ り ません。ユーザーが制御で き る イ ン タ ー コ ネ ク ト は一 部に限 ら れてい ます。 その一例が ク ロ ッ ク 配線 リ ソ ース であ り 、 こ れは ク ロ ッ ク バ ッ フ ァ ーを使用 する こ と で選択 し ます。 詳細は、 『7 シ リ ーズ FPGA ク ロ ッ ク リ ソ ース ユーザー ガ イ ド 』 (UG472) で説明 し てい ます。 2 つのグ ロ ーバル制御信号 GSR お よ び GTS は、 STARTUPE2 プ リ ミ テ ィ ブ を 使用 し て選択 さ れます。 グ ローバル制御信号 GSR および GTS 7 シ リ ーズ FPGA には、 汎用 イ ン タ ー コ ネ ク ト に加え、 表 6-1 に示す 2 つのグ ロ ーバル ロ ジ ッ ク 制御信号があ り ます。 表 6-1 : グローバル ロ ジ ッ ク制御信号 グローバル制御入力 説明 GSR グ ロ ーバル セ ッ ト / リ セ ッ ト : High の場合、 非同期ですべての レ ジ ス タ と フ リ ッ プ フ ロ ッ プを初期状態に戻 し ます。 GTS グ ロ ーバル ト ラ イ ス テー ト : High の場合、非同期ですべての I/O ピ ン をハ イ イ ン ピーダ ン ス状態 (High-Z、 ト ラ イ ス テー ト ) に し ます。 デザ イ ン内のすべて の フ リ ッ プ フ ロ ッ プに共通の初期化信号が必要な場合、 独立 し た配線済みグ ロ ーバル リ セ ッ ト 信号の代わ り に GSR 制御信号を使用す る こ と で、 CLB の入力を節約で き 、 よ り 小規模で効率的なデザ イ ン を作成で き ます。GSR 信号は常に フ リ ッ プ フ ロ ッ プ を再初期化す る 必要 があ り ます。 GSR お よ び GTS を使用 し て も 、 汎用配線 リ ソ ース は消費 さ れません。 ま た、 FPGA の コ ン フ ィ ギ ュ レーシ ョ ン プ ロ セ ス で自動的にアサー ト さ れ る ため、FPGA は確実に既知の状態か ら 起動 さ れ ま す。 コ ン フ ィ ギ ュ レ ーシ ョ ン時に、 フ リ ッ プ フ ロ ッ プは コ ン フ ィ ギ ュ レ ーシ ョ ン ク ロ ッ ク に よ っ て有効にな り 、 その後ユーザー ク ロ ッ ク が供給 さ れ る ため、 コ ン フ ィ ギ ュ レーシ ョ ン 後はユーザー ク ロ ッ ク にかかわ る 主要な フ リ ッ プ フ ロ ッ プ ま たは ク ロ ッ ク 信号を有効にす る こ と を推奨 し ます。 76 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) テ ク ノ ロ ジ を使用するデバイ ス STARTUPE2 プ リ ミ テ ィ ブ STARTUPE2 プ リ ミ テ ィ ブは、 GSR お よ び GTS の信号の ソ ース を定義、 お よ び接続 し ます。 ユー ザーは、 こ のプ リ ミ テ ィ ブに よ っ て、 こ れ ら の専用ネ ッ ト の ソ ー ス を定義で き ま す。 GSR お よ び GTS は、 コ ン フ ィ ギ ュ レ ーシ ョ ン中は常にア ク テ ィ ブで、 STARTUPE2 プ リ ミ テ ィ ブで信号 と 接 続す る と 、 コ ン フ ィ ギ ュ レーシ ョ ン後の制御方法を指定で き ます。デフ ォ ル ト の場合、 コ ン フ ィ ギ ュ レーシ ョ ン後、 ス タ ー ト ア ッ プ段階で選択 さ れた ク ロ ッ ク サ イ ク ルでは、 こ れ ら が無効にな り 、 デ バ イ ス の フ リ ッ プ フ ロ ッ プお よ び I/O が有効にな り ます。 STARTUPE2 プ リ ミ テ ィ ブには、 特に コ ン フ ィ ギ ュ レーシ ョ ン時に使用 さ れ る 信号がほかに も あ り ます。 詳細は、 『7 シ リ ーズ FPGA コ ン フ ィ ギ ュ レーシ ョ ン ユーザー ガ イ ド 』 (UG470) を参照 し て く だ さ い。 イ ン タ ー コ ネ ク ト の最適化 イ ン タ ーコ ネ ク ト の遅延は、 デザ イ ンの特定の イ ンプ リ メ ン テーシ ョ ンや ロ ー ド に よ っ て異な り ま す。 イ ン タ ー コ ネ ク ト の種類、 デバ イ ス内を伝搬する 距離、 通過する ス イ ッ チ マ ト リ ッ ク ス の数な ど が全体の遅延を決定す る 要因にな り ま す。 タ イ ミ ン グの問題の多 く は、 ブ ロ ッ ク 遅延を確認 し 、 レベル数を低減す る か高速パ ス を使用す る こ と で得 ら れ る 効果を判断す る こ と で解決で き ます。 イ ン タ ー コ ネ ク ト 遅延が長い場合は、 イ ンプ リ メ ン テーシ ョ ンのエ フ ォー ト レベルま たは反復回数を 増や し て性能を改善す る と 共に、 必要な タ イ ミ ン グが制約フ ァ イ ルで指定 さ れてい る こ と を確認 し ます。 ク リ テ ィ カル パ ス を含むネ ッ ト 、 ま たは負荷が重いネ ッ ト については、 ほ と ん ど の場合、 ネ ッ ト の ソ ース を複製す る こ と で改善 さ れ ます。 ス ラ イ ス のデ ュ アル 5 入力 LUT コ ン フ ィ ギ ュ レーシ ョ ン を使用す る と 、 同一ス ラ イ ス内で ロ ジ ッ ク を簡単に複製で き 、 ソ ース フ ァ ン ク シ ョ ンの入力の余分 な負荷を最小にで き ます。 一方、 複数の ス ラ イ ス で ロ ジ ッ ク を複製す る と 、 ソ フ ト ウ ェ アで ソ ース を個々に配置で き る よ う にな り ます。 フ ロ アプ ラ ンは、 ユーザー配置制約を指定す る プ ロ セ ス です。 こ れは、 自動配置配線の前後いずれ で も 実行で き ますが、 ユーザー フ ロ アプ ラ ン を指定する 場合は、 必ず自動配置配線を先に実行す る こ と を推奨 し ます。 ザ イ リ ン ク ス の イ ンプ リ メ ン テーシ ョ ン ツールでは、 配置がグ ラ フ ィ ッ ク 表示 さ れ ま す。 こ の表示に よ っ て、 設計者は幅広いデザ イ ンお よ び解析機能を用いて RTL コ ーデ ィ ン グ、 合成、 イ ンプ リ メ ン テーシ ョ ン を選択で き ます。 ス タ ッ ク ド シ リ コ ン イ ン タ ーコ ネ ク ト (SSI) テ ク ノ ロジを使用するデバイ ス 『7 シ リ ーズ FPGA 概要』 (DS180) で説明 し た と お り 、 一部の Virtex-7 デバ イ ス は ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト (SSI) テ ク ノ ロ ジ を採用 し てい ます。こ れ ら のデバ イ ス は、SLL (Super Long Line) と 呼ばれ る 追加 さ れた独自の イ ン タ ー コ ネ ク ト リ ソ ース を提供 し ます。 こ れ ら の特別な配線 リ ソ ース は、 数 も 豊富 (10,000 以上) で高速 (約 1ns) なため、 ほかの イ ン タ ーコ ネ ク ト リ ソ ース と 同様に扱 う こ と がで き ます。 SLL は、 図 6-3 に示す よ う に SLR (Super Logic Region) 間の接続を 提供 し ます。 複数の SLR を効果的に組み合わせ る こ と で、 ASMBL™ アーキ テ ク チ ャ のカ ラ ム の 高 さ が増 し 、 デバ イ ス の総容量が増加 し ます。 ソ フ ト ウ ェ アに よ っ て こ の コ ン フ ィ ギ ュ レーシ ョ ン を最大限に活用す る 配置を実行 し た り 、 ユーザーが フ ロ アプ ラ ン を適用 し て、 SLR 内お よ び SLR 間の配置を制御で き ます。 キ ャ リ ー ロ ジ ッ ク のカ ス ケー ド 接続は SLR 内にのみ限定 さ れ、 SLL の 接続を通 じ て継続す る も のではあ り ません。 ブ ロ ッ ク RAM、 DSP、 お よ び DCI な ど のほかのカ ス ケー ド 接続 も 同様です。 境界はフ ロ アプ ラ ン ツールで視覚的に表示 さ れ、 タ イ ミ ン グ レ ポー ト に 報告 さ れます。 Virtex-7 デバ イ ス別の SLR 数は、 『7 シ リ ーズ FPGA 概要』 に記載 さ れてい ます。 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日 japan.xilinx.com 77 第 6 章 : 高度な使用法 X-Ref Target - Figure 6-3 Super Logic Region (SLR) Super Long Line (SLL) Super Logic Region (SLR) UG474_c6_03_090211 図 6-3 : ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト テ ク ノ ロ ジ SSI テ ク ノ ロ ジ を使用す る デバ イ ス を タ ーゲ ッ ト に し たデザ イ ンでは、 STARTUPE2 を 1 つだけ イ ン ス タ ン シエー ト し ます。 GSR お よ び GTS 信号の 1 つの ソ ース が SLR 境界を越え てデバ イ ス の すべてのエ レ メ ン ト に伝搬 さ れます。 SSI テ ク ノ ロ ジ を使用す る デバ イ ス の最適化は、 標準デバ イ ス と 同様に、 適切な設計手法や タ イ ミ ン グ制約、 最良の イ ンプ リ メ ン テーシ ョ ン を自動的に探 し 出すオプシ ョ ン な ど を適用す る こ と で開 始で き ます。 こ れ ら のデバ イ ス の フ ロ アプ ラ ンには同 じ グ ラ フ ィ カル ツールが使用で き ます。 SSI テ ク ノ ロ ジ を使用す る デバ イ ス の詳細は、 次を参照 し て く だ さ い。 • • DS180 : 『7 シ リ ーズ FPGA 概要』 ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト テ ク ノ ロ ジのページ japan.xilinx.com/technology/roadmap/stacked-silicon-interconnect • 78 WP380 : 『ザ イ リ ン ク ス の ス タ ッ ク ド シ リ コ ン イ ン タ ー コ ネ ク ト テ ク ノ ロ ジで飛躍的な FPGA 容量、 帯域幅、 電力効率を実現』 japan.xilinx.com 7 シ リ ーズ FPGA CLB ユーザー ガ イ ド UG474 (v1.7) 2014 年 11 月 17 日
© Copyright 2024 ExpyDoc