7 シリーズ fpga コンフィギュレーション - xilinx · 7 シリーズ fpga...

184
7 シリーズ FPGA コンフィギュレーション ユーザー ガイド UG470 (v1.9) 2014 11 14 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資 料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情 報につきましては、必ず最新英語版をご参照ください。

Upload: others

Post on 18-Mar-2020

60 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン

ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

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

Page 2: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com UG470 (v1.9) 2014 年 11 月 14 日

Notice of DisclaimerThe information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use of Xilinx products.To themaximum extent permitted by applicable law:(1) Materials are made available "AS IS" and with all faults, Xilinx hereby DISCLAIMS ALLWARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIESOF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not beliable (whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage of any kind or naturerelated 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 ofany action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibilityof the same.Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or toproduct specifications.You may not reproduce, modify, distribute, or publicly display the Materials without prior written consent.Certainproducts are subject to the terms and conditions of Xilinx’s limited warranty, please refer to Xilinx’s Terms of Sale which can be viewed atwww.xilinx.com/legal.htm#tos; IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx.Xilinxproducts are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you assume sole risk andliability for use of Xilinx products in such critical applications, please refer to Xilinx’s Terms of Sale which can be viewed atwww.xilinx.com/legal.htm#tos.

AUTOMOTIVE APPLICATIONS DISCLAIMERXILINX PRODUCTS ARE NOT DESIGNED OR INTENDED TO BE FAIL-SAFE, OR FOR USE IN ANY APPLICATIONREQUIRING FAIL-SAFE PERFORMANCE, SUCH AS APPLICATIONS RELATED TO:(I) THE DEPLOYMENT OFAIRBAGS, (II) CONTROL OF A VEHICLE, UNLESS THERE IS A FAIL-SAFE OR REDUNDANCY FEATURE (WHICHDOES NOT INCLUDE USE OF SOFTWARE IN THE XILINX DEVICE TO IMPLEMENT THE REDUNDANCY) AND AWARNING SIGNAL UPON FAILURE TO THE OPERATOR, OR (III) USES THAT COULD LEAD TO DEATH ORPERSONAL INJURY.CUSTOMER ASSUMES THE SOLE RISK AND LIABILITY OF ANY USE OF XILINX PRODUCTSIN SUCH APPLICATIONS.

© Copyright 2011–2014 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brandsincluded herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respectiveowners.

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受け付けており ません。 あらかじめご了承ください。

改訂履歴

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

日付 バージョ ン 内容

2011 年 3 月 1 日 1.0 初版

2011 年 3 月 28 日 1.1 第 1 章 : セクシ ョ ン名 「新しい機能」 を 「7 シ リーズ FPGA の特徴」 に変更。 初

の箇条書き項目に注記を追加。 4 番目の箇条書き項目に 後の 1 文を追加。第 2 章 :「設計に関する考察事項」 セクシ ョ ンを明確化。 「コンフ ィギュレーシ ョ ン ビッ ト ス

ト リームの長さ」 セクシ ョ ンと表 1-1 を追加。 「コンフ ィギュレーシ ョ ン ピン」 セク

シ ョ ンと表 2-2、 表 2-3、 表 2-4 を追加。 「コンフ ィギュレーシ ョ ン バンク電圧セレ

ク ト 」セクシ ョ ンを第 1 章から第 2 章へ移動。表 2-9 を追加。図 2-2、図 2-5、図 2-12、図 2-16、 図 2-19 に信号 CFGBVS を追加。

Page 3: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

UG470 (v1.9) 2014 年 11 月 14 日 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

2011 年 10 月 26 日 1.2 第 1 章 「コンフ ィギュレーシ ョ ンの概要」

• VCC_CONFIG を VCCO_0 に変更

• 表 1-1 に Virtex-7 ファ ミ リ を追加

• 「スタ ッ ク ド シ リ コン インターコネク ト (SSI)」 セクシ ョ ンを追加

第 2 章 「コンフ ィギュレーシ ョ ン インターフェイス」

• 表 2-2 のピン名 D[04-07] および D[08-15] を訂正

• 表 2-4 に DONE ピンの機能に関する注記を追加

• 表 2-4 の DONE ピンへの相互参照を次に追加。 表 2-7、 図 2-2 の注記 2、 表 2-8、図 2-5 の注記 3、 図 2-12、 図 2-12 の注記 1、 図 2-16 の注記 8、 図 2-19 の注記 8、図 2-17 のタイ トルを変更。

• 「同期読み出しモードのサポート 」 の 2 つ目の段落の 初の文で、 マスター BPI同期読み出しモードでサポート されるファ ミ リ を更新

• 「 大コンフィギュレーション クロック周波数の決定」で、BitGen の -g BPI_sync_modeオプションの説明を加筆

• 「 大コンフ ィギュレーシ ョ ン ク ロ ッ ク周波数の決定」の 初の段落で BitGen のConfigRate 設定に関する説明を明確化し、CCLK 周波数を訂正。 また、箇条書き

項目の ADDR の範囲を訂正

第 5 章 「コンフ ィギュレーシ ョ ンの詳細」

• VCC_CONFIG を VCCO_0 に変更

• BPI 非同期および同期読み出しモードの説明を明確化

• 「スタート アップ (手順 8)」で DONE ピンの機能の説明を訂正し、表 2-4 の DONEピンへのリ ンクを追加

• 表 5-12 の注記 2 で BitGen の DriveDone オプシ ョ ンのサポートに関する説明を

更新

• 「JTAG 命令」 で JTAG 命令レジスタに関する説明を明確化

• 表 5-38 で WRAP_ERROR_1 と WRAP_ERROR_0 に関する説明を明確化

第 8 章 「リードバッ ク CRC」

• 表 8-1 でクロ ッ ク ソース プリ ミ ティブの ICAPE2 および STARTUPE2 の名称を

訂正

2012 年 2 月 3 日 1.3 表 1-1 を変更。 表 2-2 の 「マスター SPI x4」 の列に Init_B、 DONE、 CCLK のピン

名を追加。 「マスター SPI コンフ ィギュレーシ ョ ン モード」 で iMPACT オンライン

ヘルプへの URL リ ンクを追加。 「 大コンフ ィギュレーシ ョ ン ク ロ ッ ク周波数の決

定」 を追加。 表 5-16 を追加。

日付 バージョ ン 内容

Page 4: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com UG470 (v1.9) 2014 年 11 月 14 日

2012 年 7 月 19 日 1.4 文書全体で、 「ICAP」 を 「ICAPE2」 に変更。 文書全体で CFGBVS の説明を更新。

「概要」 で、 プルアップ/プルダウン抵抗値を 「4.7Ω」 から 「1kΩ またはそれ以上」 に

変更。タイ トルの 「7 シ リーズ FPGA の特徴」 を 「7 シ リーズ FPGA と旧世代 FPGAのコンフ ィ ギュレーシ ョ ンの違い」 に変更。 このタ イ ト ルの文章の中で、 注記の

「D00」 を 「D0」 に変更、 4 番目の箇条書きの説明を変更、 6 番目および 7 番目の箇

条書きを追加、 後の段落を追加。表 1-1 を差し替え。「不正な複製から FPGA ビッ

ト ス ト リームを保護する」 の 2 番目の段落から 「固有」 とい う言葉を削除して説明

を変更。 「同じコンフ ィギュレーシ ョ ン ビッ ト ス ト リームを複数の FPGA に読み込

む」 の説明の 後に文章を追加。 「スタ ッ ク ド シ リ コン インターコネク ト (SSI)」 の

初の 2 つの段落の説明を変更。表 2-4 で、CFGBVS、TDO、PROGRAM_B、CCLK、

PUDC_B、CSO_B、および DOUT の説明を変更。表 2-5 および表 2-9 の 「コンフ ィ

ギュレーシ ョ ン バンク電圧セレク ト 」 セクシ ョ ンで、 説明を変更。 表 2-7、 表 2-8、表 2-12、 表 2-15 で PUDC_B の説明を変更。 図 2-4 に 「RS[1:0]」 を追加。 参照先

を XAPP974 から XAPP586 に、 および XAPP502 から XAPP583 に変更。 「マス

ター SPI コンフ ィギュレーシ ョ ン モード」 で、 2 番目の段落の 後に文章を追加、

「フラ ッシュのタイ ミ ング」 を 「x1 モード シーケンス」 に変更。 図 2-13 に関する注

記を追加。 「128Mb を超える SPI のサポート 」 で、 後の段落を追加。 「同期読み出

しモードのサポート 」 で、 4 番目および 5 番目の段落を追加。 「バウンダ リ スキャン

によるコンフ ィギュレーシ ョ ン」 で、 後の段落を追加。 「デバイスの電源投入 (手順 1)」 で、 初および 後の段落に VCCBRAM を追加、 後の段落を削除。 図 5-4を変更。 表 5-12 で、 GWE の説明を変更、 注記 3 を追加。 「暗号化ビッ ト ス ト リー

ムの読み込み」 で、 「PROG」 を 「PROGRAM_B」 に変更。 「ビッ ト ス ト リームの暗

号化および内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAPE2)」 の 初の段落

の説明を変更。 表 5-16 で、 「eFUSE 制御レジスタ (FUSE_CNTL)」 のビッ ト位置お

よび関連する説明を変更。タイ トルを「7 シ リーズ FPGA のデバイス固有 ID (DeviceDNA)」 から 「デバイス ID および Device DNA」 に変更、 初の段落の説明を変更、

2 番目の段落を追加。 「JTAG による Device DNA および ID へのアクセス」 の 初

の段落で、 後の 2 つの文章を追加。第 6 章 「リードバッ クおよびコンフ ィギュレー

シ ョ ンの検証」 で、 初の段落の説明を変更、 5 番目の段落を追加。 「フォールバッ

ク マルチブー ト 」 で、 SPI 32 ビ ッ ト ア ド レス モードのサポー ト の例外を追加。

「IPROG」 で、 初の段落の 「PROG」 を 「PROGRAM_B」 に変更。 図 7-3 のアド

レス ビッ ト を更新。

2012 年 11 月 2 日 1.5 表 1-1 から XC7A350T、XC7V1500T、および XC7VH290T デバイスを削除。表 1-1で、 XC7VH580T および XC7VH870T デバイスのコンフ ィギュレーシ ョ ン ビッ ト

ス ト リームの長さ (ビ ッ ト ) を変更。 表 5-13 で、 RBCRC_EN のビ ッ ト値を修正。

第 7 章 「リ コンフ ィギュレーシ ョ ンおよび マルチブート 」 で、 フォールバッ ク機能

で自動的に有効になる Reset On Error を削除。 表 2-4 の DIN ピンおよび D[00-31]ピンの説明を更新。次の表を削除 : 「7 シ リーズ FPGA のシ リ アル コンフ ィギュレー

シ ョ ン インターフェイスで使用するピン」、 「7 シ リーズ FPGA の SelectMAP コン

フ ィギュレーシ ョ ン インターフェイスで使用するピン」、 「7 シ リーズ FPGA の SPIコンフ ィギュレーシ ョ ン インターフェイスで使用するピン」 、 および 「7 シ リーズ

FPGA のマスター BPI コンフ ィギュレーシ ョ ン インターフェイスで使用するピン」。

「同期読み出しモードのサポート 」 の 5 番目の段落を更新。 「ゴールデン イ メージと

マルチブート イ メージの設計要件」 および 「 初にマルチブート イ メージを使用す

る場合の設計上の注意点」 の箇条書きを更新。

日付 バージョ ン 内容

Page 5: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

UG470 (v1.9) 2014 年 11 月 14 日 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

2013 年 1 月 2 日 1.6 Vivado Design Suite への参照を追加 ( 「7 シ リーズ FPGA と旧世代 FPGA のコン

フ ィギュレーシ ョ ンの違い」 で、 後の段落および注記を追加)。 表 1-1 のデバイス

番号を簡略化。 XC7V2000T デバイス JTAG IDCODE を修正 (表 1-1 に注記 2 を追

加)。表 5-1 のセルのタイ トルを 「ザイ リ ンクス ソフ ト ウェア ツール」 から 「ザイ リ

ンクス ツール」 に変更。 特定の eFUSE セキュ リティ オプシ ョ ンによって課せられ

る制限を記載 (表 5-16 の 初の列に注意書き を追加、 「eFUSE 制御レジス タ

(FUSE_CNTL)」 の 2 番目から 後の段落までを注意書きに置き換え)。

2013 年 10 月 22 日 1.7 7A35T、7A50T、7A75T デバイスを追加。文書全体で CFGBVS の説明を更新 (Artix-7 および Kintex-7 デバイスでは、 CFGBVS によってバンク 14 および 15 でサポー

ト される I/O 電圧が決まる)。SPI 32 ビッ トのアドレス モードでサポート されていな

いフォールバッ クへのリ ファレンスを削除。

2014 年 8 月 22 日 1.8 表 1-1 に、 Production IDCODE リ ビジ ョ ンおよびほかの Artix-7 デバイスを追加。

表 1-2 を追加。関連ドキュ メン トの リ ンクを追加またはリ ンクを更新。第 1 章の 「コ

ンフ ィギュレーシ ョ ンのデバッグ」 を追加。 第 2 章の 「SelectMAP の ABORT」 を

追加。 資料全体で、 第 2 章の 「コンフ ィギュレーシ ョ ン バンク電圧セレク ト 」 およ

び CFGBVS の説明を更新。 表 2-6 を FPGA ファ ミ リ別に 3 つの表に分割。 図 2-9を変更。 「Vivado ツールでコンフ ィギュレーシ ョ ン オプシ ョ ンを設定する」 および

「外部マスター コンフ ィギュレーシ ョ ン ク ロ ッ ク (EMCCLK) オプシ ョ ン」 を追加。

図 2-11 に注記を追加。 表 2-14 で、 パラレル NOR フラ ッシュ ファ ミ リにサポート

されるデバイスを追加。 第 3 章の 「電源供給」 を変更。 表 5-1 に Vivado Tcl コマン

ドを追加。 第 5 章の 「STARTUPE2 プリ ミ ティブ」 に、 STARTUPE2 プリ ミ ティブ

と関連するスタート アップの説明を追加。 第 5 章の 「ビッ ト ス ト リームの構成」 を

追加。「Persist オプシ ョ ン」 および 「SelectMAP インターフェイスからコンフ ィギュ

レーシ ョ ン レジスタへのアクセス」を追加。「コンフ ィギュレーシ ョ ン モニター モー

ド」および第 7 章の「サンプル デザイン」を追加。第 9 章「複数デバイスの SelectMAPコンフ ィギュレーシ ョ ン」 および第 10 章 「アドバンス JTAG の使用法」 を追加。資

料全体でコンフ ィギュレーシ ョ ンの説明を更新。

2014 年 11 月 14 日 1.9 Tcl 制約コマンドを大文字に変更。表 1-1 に Artix-7 7A15T デバイスを追加。表 1-1の Virtex-7 7VH580T および 7VH870T で TBD を 「2 またはそれ以降」 に変更。「マ

スター BPI コンフ ィギュレーシ ョ ン インターフェイス」 セクシ ョ ンに 7A15T デバ

イスを追加。図 2-7 に関連する注記の手順 9 の 後に 2 文を追加。表 5-40 のタイ ト

ルを 「制御レジスタ 1 (CTL1)」 から 「BPI/SPI コンフ ィギュレーシ ョ ン オプシ ョ ン

レジスタ」 に変更。 「RS ピン」 の 初の文章を変更。 図 9-5 に関連する注記の手順

5 に 2 つ目の文章を追加。 図 10-3 をマイナー変更。 表 10-4 のコマンド 7 と 8 を削

除して、 ステップ 19 に 「オプシ ョ ン」 を追加。 表 10-4 の注記 3 の説明を明確化。

2015 年 7 月 6 日 1.9 訳語の修正

• 「7 シ リーズ FPGA は 16 ビッ ト幅のコンフ ィギュレーシ ョ ン モードで AES 暗号化をサポート していますが、 この図では使用していません」 → 「7 シ リーズ

FPGA は 16 ビ ッ ト 幅のコンフ ィ ギュ レーシ ョ ン モードで AES 復号化をサ

ポート していますが、 この図では使用していません」

• 「・・・AES 暗号化に加え、 多重のセキュ リティを実現しています。 」 → 「・・・AES復号化に加え、 多重のセキュ リティを実現しています。」

• 「・・・および暗号化されたビッ ト ス ト リームのワード数の情報のみが来ます。」 →

「・・・および復号化されたビッ ト ス ト リームのワード数の情報のみが来ます。」

日付 バージョ ン 内容

Page 6: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com UG470 (v1.9) 2014 年 11 月 14 日

Page 7: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 7UG470 (v1.9) 2014 年 11 月 14 日

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

このユーザー ガイドについて 9内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

その他のリ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

第 1 章 : コンフ ィギュレーシ ョ ンの概要

概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

7 シ リーズ FPGA と旧世代 FPGA のコンフ ィギュレーシ ョ ンの違い . . . . . . . . . . . . . . . . . . . . . . 12

設計に関する考察事項. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

コンフ ィギュレーシ ョ ン方法を決定する要素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

スタ ッ ク ド シ リ コン インターコネク ト (SSI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

コンフ ィギュレーシ ョ ンのデバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

コンフ ィギュレーシ ョ ン ピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

シ リアル コンフ ィギュレーシ ョ ン モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

SelectMAP コンフ ィギュレーシ ョ ン モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

SelectMAP の ABORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

マスター SPI コンフ ィギュレーシ ョ ン モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

マスター BPI コンフ ィギュレーシ ョ ン インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

JTAG インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

第 3 章 : バウンダリ スキャンおよび JTAG コンフ ィギュレーシ ョ ン

はじめに. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

IEEE 1149.1 を使用した 7 シ リーズ デバイスのバウンダ リ スキャン . . . . . . . . . . . . . . . . . . . . . . 71

バウンダ リ スキャン デザインの考察事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

第 4 章 : ダイナミ ック リコンフ ィギュレーシ ョ ン ポート (DRP)ファンクシ ョ ン ブロッ クのダイナミ ッ ク リ コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . 77

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

コンフ ィギュレーシ ョ ン データ ファ イルの形式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

メモ リ ファ イルの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

コンフ ィギュレーシ ョ ン シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

ビッ ト ス ト リームのセキュ リティ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

eFUSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

ビッ ト ス ト リームの構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

コンフ ィギュレーシ ョ ン メモ リ フレーム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

コンフ ィギュレーシ ョ ン パケッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

目次

Page 8: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

8 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

デバイス ID および Device DNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

第 6 章 : リードバックおよびコンフ ィギュレーシ ョ ンの検証

リードバッ クを実行するためのデザインの準備. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

リードバッ ク コマンド シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

リードバッ ク データの検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

リードバッ ク キャプチャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

第 7 章 : リコンフ ィギュレーシ ョ ンおよび

マルチブート

フォールバッ ク マルチブート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

IPROG リ コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

フォールバッ クおよび IPROG リ コンフ ィギュレーシ ョ ンに関連するステータス レジスタ . . . . 152

ウォッチド ッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

サンプル デザイン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

第 8 章 : リードバック CRCSEU の検出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

SEU の訂正 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

第 9 章 : 複数 FPGA のコンフ ィギュレーシ ョ ン

シ リアル デイジー チェーン コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

ギャング シ リ アル コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

複数デバイスの SelectMAP コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

パラレル デイジー チェーン コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

ギャング SelectMAP コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

第 10 章 : アドバンス JTAG の使用法

はじめに. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

JTAG コンフ ィギュレーシ ョ ン/ リードバッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

Page 9: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 9UG470 (v1.9) 2014 年 11 月 14 日

このユーザー ガイドについて

ザイ リ ンクス 7 シ リーズ FPGA には、 3 つの FPGA ファ ミ リがあ り ます。 これらはすべて も低

い消費電力を達成するよ う設計されており、 適な電力、 性能、 コス トの実現に向けて、 標準デザ

インをファ ミ リ間で拡張させるこ とが可能です。Artix®-7 ファ ミ リは、量産アプリ ケーシ ョ ン向け

に開発され、 も低いコス ト と消費電力を実現するよ う 適化されています。 Virtex®-7 ファ ミ リ

は、 高のシステム性能と容量を提供するよ うに 適化されています。 Kintex®-7 ファ ミ リは、 対

コス ト性能に も優れた新しいク ラスの FPGA です。 このユーザー ガイ ドは、 7 シ リーズ FPGAのコンフ ィギュレーシ ョ ンについて説明した技術的な リ ファレンスです。

この 『7 シ リーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』 を含む、 7 シ リーズ FPGA に関するすべての資料は、 ザイ リ ンクスのウェブサイ ト (japan.xilinx.com/7) から入手できます。

内容

このユーザー ガイ ドは、 次の各章で構成されています。

• 第 1 章 「コンフ ィギュレーシ ョ ンの概要」

• 第 2 章 「コンフ ィギュレーシ ョ ン インターフェイス」

• 第 3 章 「バウンダ リ スキャンおよび JTAG コンフ ィギュレーシ ョ ン」

• 第 4 章 「ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート (DRP)」

• 第 5 章 「コンフ ィギュレーシ ョ ンの詳細」

• 第 6 章 「リードバッ クおよびコンフ ィギュレーシ ョ ンの検証」

• 第 7 章 「リ コンフ ィギュレーシ ョ ンおよび マルチブート 」

• 第 8 章 「リードバッ ク CRC」

• 第 9 章 「複数 FPGA のコンフ ィギュレーシ ョ ン」

• 第 10 章 「アドバンス JTAG の使用法」

その他のリソース

その他の資料は、 ザイ リ ンクスのウェブサイ トから入手できます。

http://japan.xilinx.com/support/documentation/index.htm

シ リ コンやソフ ト ウェア、 IP に関するアンサー データベースを検索したり、 テクニカル サポート

のウェブケースを開く場合は、 次のウェブサイ トにアクセスして ください。

http://japan.xilinx.com/support

Page 11: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 11UG470 (v1.9) 2014 年 11 月 14 日

第 1 章

コンフ ィギュレーシ ョ ンの概要

この章では、7 シ リーズ FPGA のコンフ ィギュレーシ ョ ン方法と機能について簡単に概要を説明し

ます。 詳細については、 次章以降で説明します。 この章で説明するコンフ ィギュレーシ ョ ン方法と

機能は、 一部の例外を除いて 7 シ リーズのすべてのファ ミ リに共通です。

概要

ザイ リ ンクス 7 シ リーズ FPGA は、アプリ ケーシ ョ ン固有のコンフ ィギュレーシ ョ ン データ (ビッ

ト ス ト リーム) を内部メモ リに読み込んでコンフ ィギュレーシ ョ ンを行います。 コンフ ィギュレー

シ ョ ンの方法は、7 シ リーズ FPGA 自身が外部不揮発性メモ リ デバイスからビッ ト ス ト リームを読

み込む方法と、 マイ ク ロプロセッサ、 DSP プロセッサ、 マイ ク ロコン ト ローラー、 PC、 ボード テスターなどから読み込む方法があ り ます。 いずれの方法でも、 コンフ ィギュレーシ ョ ンに使用する

データパスには大き く 2 つの種類があ り ます。1 つはシ リ アル データパスで、デバイス ピン要件を

小限に抑えたい場合に使用します。 も う 1 つは 8 ビッ ト 、 16 ビッ ト 、 または 32 ビッ トのデータ

パスで、 高性能、 業界標準のインターフェイスへの接続に使用され、 プロセッサや x8 または x16パラレル フラ ッシュ メモ リ などの外部データ ソースに理想的です。

プロセッサやプロセッサ ペリ フェラルのよ うに、 ザイ リ ンクス FPGA は、 インシステムで必要に

応じて何度でも再プログラムできます。

ザイ リ ンクス FPGA のコンフ ィギュレーシ ョ ン データは CMOS コンフ ィギュレーシ ョ ン ラ ッチ

(CCL) に格納されるため、 いったん電源を切断する と コンフ ィギュレーシ ョ ンが必要です。 ビッ ト

ス ト リームは、毎回専用のコンフ ィギュレーシ ョ ン ピンからデバイスに読み込まれます。 これらの

コンフ ィギュレーシ ョ ン ピンは、 次のよ う なコンフ ィギュレーシ ョ ン モードでインターフェイス

と して機能します。

• マスター シ リ アル コンフ ィギュレーシ ョ ン モード

• スレーブ シ リ アル コンフ ィギュレーシ ョ ン モード

• マスター SelectMAP (パラレル) コンフ ィギュレーシ ョ ン モード (x8、 x16)

• スレーブ SelectMAP (パラレル) コンフ ィギュレーシ ョ ン モード (x8、 x16、 x32)

• JTAG/バウンダ リ スキャン コンフ ィギュレーシ ョ ン モード

• マスター SPI (シ リ アル ペリ フェラル インターフェイス) フラ ッシュ コンフ ィギュレーシ ョ ン

モード (x1、 x2、 x4)

• マスター BPI (バイ ト ペリ フェラル インターフェイス) フラ ッシュ コンフ ィギュレーシ ョ ン

モード、 パラレル NOR フラ ッシュを使用 (x8、 x16)

コンフ ィギュレーシ ョ ン モードの詳細は、第 2 章 「コンフ ィギュレーシ ョ ン インターフェイス」 を

参照して ください。

コンフ ィギュレーシ ョ ン モードは、 専用モード入力ピン M[2:0] でレベルを設定して選択します。

M2、 M1、 および M0 モード ピンは、 一定した DC 電圧レベルで設定する必要があ り ます。 これ

Page 12: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

12 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 1 章 : コンフ ィギュレーシ ョ ンの概要

は、 プルアップまたはプルダウン抵抗 (1kΩ 以下) を使用するか、 GND または VCCO_0 に直接接続

して設定します。モード ピンは、 コンフ ィギュレーシ ョ ン中およびコンフ ィギュレーシ ョ ン後ト グ

ルできません。 モード ピンの設定オプシ ョ ンは、 第 2 章 「コンフ ィギュレーシ ョ ン インターフェ

イス」 を参照して ください。

「マスター」 および 「スレーブ」 という表現は、 コンフ ィギュレーシ ョ ン ク ロ ッ ク (CCLK) の方向

を示します。

• マスター コンフ ィギュレーシ ョ ン モードでは、 7 シ リーズ デバイスが内部オシレーターから

の CCLK を駆動します。 周波数を選択するには、 ビッ ト ス ト リームの -g ConfigRate オプ

シ ョ ンを使用します。ISE Design Suite のこのオプシ ョ ンの詳細は、『ISE コマンド ライン ツー

ル ユーザー ガイ ド』 (UG628) の 「BitGen」 を参照してください。 Vivado Design Suite のこの

オプシ ョ ンの詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』

(UG908) の 「デバイス コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム設定」 を参照してください。

コンフ ィギュレーシ ョ ン完了後は、PERSIST オプシ ョ ンを選択している場合または SEU 検出

機能を使用している場合を除き、 CCLK はオフにな り ます。 詳細は、 第 6 章の 「Persist オプ

シ ョ ン」 を参照してください。 CCLK ピンは弱いプルアップ抵抗によって ト ライステート状態

になり ます。

• スレーブ コンフ ィギュレーシ ョ ン モードでは、 CCLK は入力です。

JTAG/バウンダ リ スキャン コンフ ィギュレーシ ョ ン インターフェイスは、 モード ピンの設定にか

かわらず、 常に使用可能です。

7 シリーズ FPGA と旧世代 FPGA のコンフ ィギュレーシ ョ ンの違い

7 シ リ ーズ デバイ スがサポー ト する コンフ ィ ギュ レーシ ョ ン イ ン ターフェ イ スは、 マス ター

BPI-Down モードを除いて Virtex®-6 FPGA と同様です。 マスター BPI-Down モードは 7 シ リー

ズ FPGA ではサポート されていません。また、 コンフ ィギュレーシ ョ ン時間を短縮するために一部

のコンフ ィギュレーシ ョ ン インターフェイスに次のよ うな機能が追加されています。

• Spartan®-6 FPGA のマスター SPI コンフ ィギュレーシ ョ ン モード と同様、 大 4 ビッ ト幅の

データ バスを使用した SPI フラ ッシュからの読み込みをサポート します。

注記 : 7 シ リーズでは、x2 および x4 SPI データ幅をサポートするために DIN ピン機能が D01コンフ ィギュレーシ ョ ン データ バス ピンと共用の多目的ピンに割り当てられています。 これ

は、DIN が専用ピンであった Virtex-6 FPGA とは異なり ます。また、DIN が D0 コンフ ィギュ

レーシ ョ ン データ バス ピンと共用の多目的ピンに割り当てられていた Spartan-6 FPGA と も

異な り ます。

• マスター SPI コンフ ィギュレーシ ョ ン モードで立ち下がりエッジでのデータ ク ロ ッキングを

サポート します。 これによ り ク ロ ッ ク周期をよ り効率的に利用してコンフ ィギュレーシ ョ ンを

短時間で完了できるよ うにな り ます。

• マスター SPI コンフ ィギュレーシ ョ ン モードで 128Mb を超えるフラ ッシュ メモ リ をサポー

ト します。

• マスター BPI コンフ ィギュレーシ ョ ン モードで、 BPI (パラレル NOR) フラ ッシュからの読み

出し時に同期バース ト読み出しモードをサポー ト します。 ADV_B ピンは Virtex-6 FPGA のBPI インターフェイスに対する新しいピンで、 BPI 同期読み出しモードに必要なアド レスの

ラ ッチをサポート します。

• AES 復号化機能が 大 16 ビッ トのコンフ ィギュレーシ ョ ン データ バス幅をサポート します。

• Virtex-6 と比べる と、 7 シ リーズ FPGA の SelectMAP モードおよび ICAPE2 プリ ミ ティブに

は BUSY ピン/ポートがあ り ません。 SelectMAP/ICAPE2 出力は確定的であるため、 7 シ リー

Page 13: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 13UG470 (v1.9) 2014 年 11 月 14 日

設計に関する考察事項

ズには BUSY は必要あ り ません (132 ページの 「SelectMAP インターフェイスからコンフ ィ

ギュレーシ ョ ン レジスタへのアクセス」 参照)。

• コンフ ィギュレーシ ョ ンおよびバウンダ リ スキャン コンポーネン ト (プリ ミ ティブ) の詳細

は、 『Vivado Design Suite 7 シ リーズ FPGA および Zynq-7000 All Programmable SoC ライブ

ラ リ ガイ ド』 (UG953) を参照してください。 7 シ リーズのプリ ミ ティブ名の末尾には E2 が付

きますが、 Virtex-6 FPGA のプリ ミ ティブ名の末尾には _VIRTEX6 が付きます。

7 シ リーズ デバイスは、 3.3V、 2.5V、 1.8V、 または 1.5V I/O のコンフ ィギュレーシ ョ ン インター

フェ イスをサポー ト しています。 コンフ ィ ギュレーシ ョ ン インターフェ イスには、 バンク 0 のJTAG ピン、バンク 0 の専用コンフ ィギュレーシ ョ ン ピン、そして各コンフ ィギュレーシ ョ ン モー

ドに関係するバンク 14 およびバンク 15 のピンがあ り ます。 バンク 0、 バンク 14、 バンク 15 で適

正なコンフ ィギュレーシ ョ ン インターフェイス電圧をサポートするには、 次の手順に従います。

• バンク 0、14、15 のコンフ ィギュレーシ ョ ンおよび JTAG I/O を 3.3V/2.5V に設定するにはコ

ン フ ィ ギ ュ レーシ ョ ン バン ク電圧セレ ク ト ピン (CFGBVS) を High (VCCO_0) にし、

1.8V/1.5V に設定する場合は Low (GND) にする必要があ り ます。 このピンを Low にして

1.8V/1.5V I/O 動作とする場合は、 デバイスの損傷を防ぐためにバンク 0 に対する VCCO_0 の電源電圧および I/O 信号の電圧を 1.8V 以下にする必要があ り ます。さ らに、CFGBVS を Lowにした場合、 バンク 14 および 15 にあ り、 コンフ ィギュレーシ ョ ンに使用されるすべての I/Oピンの電源電圧も 1.8V または 1.5V と し、これで動作させる必要があ り ます。詳細は、35 ペー

ジの 「コンフ ィギュレーシ ョ ン バンク電圧セレク ト 」 を参照してください。

バンク 14 およびバンク 15 にある I/O の動作電圧はそれぞれ VCCO_14 および VCCO_15 電源によっ

て決ま り ます。バンク 14 またはバンク 15 がコンフ ィギュレーシ ョ ンに使用される場合、それぞれ

のバンクの VCCO 電源はコンフ ィギュレーシ ョ ン インターフェイス全体で電圧の互換性が保たれ

るよ うに、 VCCO_0 電圧と同じである必要があ り ます。 CFGBVS を GND に接続して 1.8V/1.5VI/O 動作と し、バンク 14 およびバンク 15 でコンフ ィギュレーシ ョ ン I/O が使用されている場合は、

デバイスの損傷を防ぐためにバンク 14 または バンク 15 に対する VCCO_14 または VCCO_15 とコンフ ィギュレーシ ョ ン信号の電圧を 1.8V または 1.5V とする必要があ り ます。

大部分の 7 シ リ ーズ FPGA は、 旧世代 FPGA にも対応する ISE Design Suite と新しい VivadoDesign Suite の両方のツールでサポート されています。 このユーザー ガイ ドに記載されているユー

ザー オプシ ョ ンは通常、 ISE Design Suite ツールのオプシ ョ ン名を引用していますが、 VivadoDesign Suite でも同様のオプシ ョ ンが用意されています。 たとえば、 ISE Design Suite では BitGenツールがビッ ト ス ト リームを生成します。 Vivado では、 WRITE_BITSTREAM の Tcl コマンドを

使用してビッ ト ス ト リームを生成できます。 詳細は、 次の資料を参照してください。

• 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835)

• 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908)

注記 : BitGen のコマンド オプシ ョ ンは、 Vivado Design Suite の Tcl プロパティです。 プロパティ

および値は、 UG908 の 「付録 A : デバイス コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム設定」 を参

照して ください。

設計に関する考察事項

効率の良いシステムを構築するには、 どの FPGA コンフ ィギュレーシ ョ ン モードがシステム要件

に合っているのかを検討するこ とが重要です。いずれのコンフ ィギュレーシ ョ ン モードでも、 コン

フ ィ ギュレーシ ョ ン専用の FPGA ピンだけでな く その他の多目的ピンも一時的にコンフ ィ ギュ

レーシ ョ ンに使用可能です。 コンフ ィギュレーシ ョ ンが完了する と、 これらの多目的ピンは汎用ピ

ンとな り ます。 同様に、 使用するコンフ ィギュレーシ ョ ン モードによ り、 FPGA I/O バンクの電圧

が制限されるこ と もあ り ます。 コンフ ィギュレーシ ョ ン オプシ ョ ンはいくつかあ り、柔軟性があ り

Page 14: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

14 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 1 章 : コンフ ィギュレーシ ョ ンの概要

ますが、 各システムに 適なソ リ ューシ ョ ンがあるのが一般的です。 適なコンフ ィギュレーシ ョ

ン オプシ ョ ンを選択するには、 全体的な設定、 速度、 コス ト、 複雑さ といった要因を考慮する必要

があ り ます。

コンフ ィギュレーシ ョ ン ビッ トス ト リームの長さ

FPGA デザインをコンパイルする と ビッ ト ス ト リームが生成されます。 これをコンフ ィギュレー

シ ョ ン インターフェイスから読み込むと、FPGA がそのデザインにコンフ ィギュレーシ ョ ンされま

す。 ビッ ト ス ト リーム全体の長さは固定長で、 各 FPGA のデバイスごとに決まっています。 表 1-1に、 7 シ リーズ FPGA のビッ ト ス ト リームの長さ、 および各 7 シ リーズ デバイス固有の情報を示

します。

Page 15: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 15UG470 (v1.9) 2014 年 11 月 14 日

設計に関する考察事項

表 1-1 : ビッ トス ト リームの長さ

デバイス

コンフ ィギュレー

シ ョ ン ビッ トス ト

リームの長さ (ビッ ト )

コンフ ィギュレー

シ ョ ン フラ ッシュ メモリの 小サイズ

(Mb)

JTAG/デバイス IDCODE[31:0]

(16 進数)(1)

Production IDCODE

リビジ ョ ン

JTAG 命令 長さ (ビッ ト )

SLR (Super Logic

Region)

Artix-7 ファ ミ リ

7A15T 17,536,096 32 X362E093 0 またはそれ以降 6 N/A

7A35T 17,536,096 32 X362D093 0 またはそれ以降 6 N/A

7A50T 17,536,096 32 X362C093 0 またはそれ以降 6 N/A

7A75T 30,606,304 32 X3632093 1 またはそれ以降 6 N/A

7A100T 30,606,304 32 X3631093 1 またはそれ以降 6 N/A

7A200T 77,845,216 128 X3636093 1 またはそれ以降 6 N/A

Kintex-7 ファ ミ リ

7K70T 24,090,592 32 X3647093 0 またはそれ以降 6 N/A

7K160T 53,540,576 64 X364C093 0 またはそれ以降 6 N/A

7K325T 91,548,896 128 X3651093 4 またはそれ以降 6 N/A

7K355T 112,414,688 128 X3747093 0 またはそれ以降 6 N/A

7K410T 127,023,328 128 X3656093 1 またはそれ以降 6 N/A

7K420T 149,880,032 256 X3752093 2 またはそれ以降 6 N/A

7K480T 149,880,032 256 X3751093 2 またはそれ以降 6 N/A

Virtex-7 ファ ミ リ

7V585T 161,398,880 256 X3671093 0 またはそれ以降 6 N/A

7V2000T 447,337,216 512 X36B3093(2) 2 またはそれ以降 24 4

7VX330T 111,238,240 128 X3667093 0 またはそれ以降 6 N/A

7VX415T 137,934,560 256 X3682093 3 またはそれ以降 6 N/A

7VX485T 162,187,488 256 X3687093 3 またはそれ以降 6 N/A

7VX550T 229,878,496 256 X3692093 3 またはそれ以降 6 N/A

7VX690T 229,878,496 256 X3691093 3 またはそれ以降 6 N/A

7VX980T 282,521,312 512 X3696093 0 またはそれ以降 6 N/A

7VX1140T 385,127,680 512 X36D5093 2 またはそれ以降 24 4

7VH580T 195,663,008 256 X36D9093 2 またはそれ以降 22 2

7VH870T 294,006,336 512 X36DB093 2 またはそれ以降 38 3

注記 :

1. JTAG IDCODE 値の 「X」 は リ ビジ ョ ン フ ィールド (IDCODE[31:28]) を示し、 リ ビジ ョ ンによって異なり ます。

2. 7V2000T IDCODE には、 リ ビジ ョ ン フ ィールドのほかに Don't Care ( 「X」 ) ビッ トが追加で含まれています。 Don't Care ビッ ト位置を

含む完全なバイナリ値 IDCODE[31:0] は、 XXXX_0011_0110_1011_XX11_0000_1001_0011 です。

Page 16: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

16 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 1 章 : コンフ ィギュレーシ ョ ンの概要

FPGA コンフ ィギュレーシ ョ ン データ ソース

ザイ リ ンクス 7 シ リーズ FPGA は柔軟性を 大限に考慮して設計されています。コンフ ィギュレー

シ ョ ン データは、 FPGA 自身が不揮発性フラ ッシュ メモ リから読み込むこ と も、 プロセッサやマ

イ ク ロコン ト ローラーなどの外部インテ リ ジェン ト デバイスを使用して FPGA にダウンロードす

るこ と もできます。 また、 ホス ト コンピューターから FPGA の JTAG ポートにケーブルを接続し

てダウンロードするこ と もできます。

マスター モード

FPGA 自身がビッ ト ス ト リームを読み込むコンフ ィギュレーシ ョ ン モードを 「マスター」 モード と

総称し、 データパスはシ リ アルまたはパラレルのどちら も使用できます。 このモードでは、 FPGAコンフ ィギュレーシ ョ ン データをさまざまなタイプの不揮発性メモ リに格納します。マスター モー

ドでは、 通常、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リームは FPGA と同じボード上の外部不揮発

性メモ リにあ り ます。コンフ ィギュレーシ ョ ン ロジッ クを駆動し、CCLK 出力ピンに出力されるコ

ンフ ィギュレーシ ョ ン ク ロ ッ ク信号は、FPGA で内部オシレーターで生成されます。 このコンフ ィ

ギュレーシ ョ ン プロセスは FPGA によって制御されます。

スレーブ モード

FPGA のコンフ ィギュレーシ ョ ンを外部から制御するモードを 「スレーブ」 モード と総称します。

この場合も、 データパスはシ リ アルまたはパラレルのどちら も使用できます。 スレーブ モードで

は、 プロセッサ、 マイ クロコン ト ローラー、 DSP プロセッサ、 テスターなどの外部インテ リ ジェン

ト デバイスを使用し、FPGA にコンフ ィギュレーシ ョ ン イ メージをダウンロード します (図 1-1 参照)。 このコンフ ィギュレーシ ョ ンの利点は、FPGA ビッ ト ス ト リームをシステムのほぼどこにでも

格納できるこ とです。たとえば、オンボードのフラ ッシュ メモ リにプロセッサのコード と一緒に格

納するこ と もできます。 また、 ハード ディ スクに保存したり、 ネッ ト ワークやブリ ッジ接続を使用

してネッ ト ワーク上に保存するこ と も可能です。

Page 17: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 17UG470 (v1.9) 2014 年 11 月 14 日

設計に関する考察事項

スレーブ シ リ アル モードは、 ク ロ ッ ク とシ リ アル データ入力のみで構成される非常に単純なモー

ドです。JTAG モード も単純なシ リアル コンフ ィギュレーシ ョ ン モードで、プロ ト タイプの作成や

ボード検証に使用されます。 スレーブ SelectMAP モードは、 単純な x8、 x16、 または 32 ビッ ト幅

のプロセッサ ペリ フェラル インターフェイスで、チップ セレク ト入力と読み出し /書き込み制御入

力を含みます。

JTAG 接続

4 ピンの JTAG インターフェイスは、オンボード テスターとデバッグ用ハードウェアによ く使用さ

れます。 7 シ リーズ FPGA に対応した下記のザイ リ ンクス プログラ ミ ング ケーブルも、 プロ ト タ

イプ ダウンロードおよびデバッグ用に JTAG インターフェイスを使用します。 終的にアプリ ケー

シ ョ ンで使用するコンフ ィギュレーシ ョ ン モードにかかわらず、JTAG コンフ ィギュレーシ ョ ン パスを含めておく とデザイン開発が容易にな り ます。 第 3 章 「バウンダ リ スキャンおよび JTAG コンフ ィギュレーシ ョ ン」 も参照して ください。

• プラ ッ ト フォーム ケーブル USB IIhttp://japan.xilinx.com/products/devkits/HW-USB-II-G.htm

基本的なコンフ ィギュレーシ ョ ン ソリューシ ョ ン

基本的なコンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンでは、 FPGA 自身が電源投入時にフラ ッシュ メモ リ デバイスからビッ ト ス ト リームを自動的に読み込みます。 FPGA には SPI (シ リ アル ペリ フェ

ラル インターフェイス) があ り、 これを利用して標準の SPI フラ ッシュ デバイスからビッ ト ス ト

リームを読み込みます。

ISE® に含まれる iMPACT ツールは、 一部の SPI フラ ッシュ メモ リに対するプログラムが可能で

す。 iMPACT ツールは標準の JTAG インターフェイスを利用して FPGA と通信し、 FPGA を通じ

て間接的に SPI フラ ッシュをプログラムします。 詳細は、 『SPI フラ ッシュを使用した 7 シ リーズ

X-Ref Target - Figure 1-1

図 1-1 : スレーブ コンフ ィギュレーシ ョ ン モード

DIN

CCLK

SERIAL_DATA

CLOCK

7 Series FPGA

7 Series FPGA

7 Series FPGAProcessor,

Microcontroller

TDI

TMS

DATA_OUT

CLOCK

JTAG Tester, Processor,

Microcontroller

TCK

TDO

MODE_SELECT

DATA_IN

D

RDWR_B

CCLK

CSI_B

DATA

SELECT

READ/WRITE

CLOCK

Processor,Microcontroller

(c) Slave SelectMAP Mode

8, 16, 32

(a) Slave Serial Mode

(b) JTAG ModeUG470_c1_01_070110

Serial Byte-Wide

[7:0][15:0][31:0]

[7:0][15:0][31:0]

Page 18: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

18 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 1 章 : コンフ ィギュレーシ ョ ンの概要

FPGA のコンフ ィギュレーシ ョ ン』 (XAPP586) を参照して ください。 同じよ う な機能が Vivado デバイス プログラマで提供されています。

低コスト重視のコンフ ィギュレーシ ョ ン ソリューシ ョ ン

どのコンフ ィギュレーシ ョ ン方法が も低コス ト になるかは、 アプ リ ケーシ ョ ンによって異な り

ます。

• システムに使用可能な不揮発性メモ リが既にある場合、ビッ ト ス ト リーム イ メージをシステム

メモ リに格納できます。 また、 ハード ド ラ イブに保存したり、 ネッ ト ワーク接続を介してダウ

ンロードできます。 その際には、 ダウンロード モードをマスター BPI モード と スレーブ シ リ

アル モード、 または JTAG コンフ ィギュレーシ ョ ン モード とバウンダ リ スキャンのいずれか

にする必要があ り ます。

• アプリ ケーシ ョ ンで不揮発性メモ リが必要な場合、 メモ リは統合可能です。 たとえば、 FPGAコンフ ィギュレーシ ョ ン ビッ ト ス ト リームはボードのプロセッサ コード と共に格納できます。

使用するプロセッサが FPGA にエンベデッ ド されている MicroBlaze™ の場合、 FPGA コン

フ ィギュレーシ ョ ン データ と MicroBlaze プロセッサのコードを同じ不揮発性メモ リ デバイ

スに格納できます。

高速動作を重視したオプシ ョ ン

アプリ ケーシ ョ ンによっては、 ロジッ クを短時間で動作可能にする必要があ り ます。 FPGA のコン

フ ィギュレーシ ョ ン時間は、 各モードや方法によって異なり ます。 コンフ ィギュレーシ ョ ン時間と

は、 コンフ ィギュレーシ ョ ン自体にかかる時間と初期化に必要な時間を合計したもので、 デバイス

のサイズおよびコンフ ィギュレーシ ョ ン ロジッ クの速度に依存します。

• 同一クロ ッ ク周波数で比較する と、 パラレル コンフ ィギュレーシ ョ ン モードは一度に 8 ビッ

ト 、 16 ビッ ト 、 または 32 ビッ ト をプログラムするため、 シ リ アル モード よ り も高速です。

• デイジー チェーン接続した複数の FPGA をコンフ ィギュレーシ ョ ンするよ り、 1 つの FPGAをコンフ ィギュレーシ ョ ンする方が短時間ですみます。複数の FPGA を使用したデザインでコ

ンフ ィギュレーシ ョ ン時間を短縮するには、個々の FPGA を並列にコンフ ィギュレーシ ョ ンす

る必要があ り ます。

• マスター モードでは、 FPGA がコンフ ィギュレーシ ョ ン ク ロ ッ クを内部で生成し、 CCLK ピンに送信します。 デフォル ト では、 CCLK の周波数は低く設定されていますが、 ビッ ト ス ト

リーム オプシ ョ ンの設定によって内部生成の CCLK の周波数を高く した り、 あるいは CCLKのソースを EMCCLK ピンからの外部クロ ッ ク ソースに切り替えたりできます。サポート され

る 大 CCLK 周波数は、 接続されている不揮発性メモリの読み出し速度の仕様に依存します。

高速なメモ リ を使用する と、 よ り高速なコンフ ィギュレーシ ョ ンが可能です。 CCLK のソース

に内部オシレーターを使用している場合、 出力周波数はプロセス、 電圧、 温度によって変動し

ます。 ク ロ ッ ク ソースに EMCCLK を使用する と高精度な外部クロ ッ ク ソースを利用できる

ため、 適なコンフ ィギュレーシ ョ ンの性能を得るこ とができます。

• スレーブ モードでもマスター モードでも、EMCCLK を使用する と タイ ミ ング要件の厳しい高

速クロ ッ クでの動作も可能になり ます。

不正な複製から FPGA ビッ トス ト リームを保護する

プロセッサ コード と同様に、 FPGA の機能を定義するビッ ト ス ト リームは電源投入時に FPGA に読み込まれます。 このため、 他企業がこのビッ ト ス ト リームを入手してデザインを不正に複製して

しま う可能性もあ り ます。

Page 19: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 19UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン方法を決定する要素

プロセッサのよ うに、 FPGA ビッ ト ス ト リームとその中に埋め込まれている IP コアを保護する方

法はいくつかあ り ます。 も強力な方法は、 バッ クアップ バッテ リ付き SRAM キー利用の AESと、 eFUSE キー利用の AES です。 これ以外の方法と して、低レベルのセキュ リティおよび DeviceDNA を使用する 「デバイス認証」 があ り ます。デバイス認証の詳細は、第 5 章 「コンフ ィギュレー

シ ョ ンの詳細」 を参照して く ださい。 7 シ リ ーズ デバイ スには、 オンチップ AES (AdvancedEncryption Standard) 復号化ロジッ クがあ り、 デザインを高度なセキュ リ テ ィで保護します。 詳細

は、第 5 章 「コンフ ィギュレーシ ョ ンの詳細」 の 「ビッ ト ス ト リーム暗号化」 を参照してください。

同じコンフ ィギュレーシ ョ ン ビッ トス ト リームを複数の FPGA に読み込む

通常、 システム内では 1 つの FPGA に 1 つのコンフ ィギュレーシ ョ ン ビッ ト ス ト リーム イ メージ

があ り ます。 コンフ ィギュレーシ ョ ン デイジー チェーンを利用する と、 1 つのコンフ ィギュレー

シ ョ ン フラ ッシュ メモ リに複数の異なる FPGA ビッ ト ス ト リーム イ メージを格納できます。 しか

し、アプリ ケーシ ョ ンにあるすべての FPGA のパーツ番号とビッ ト ス ト リームが同じ場合、ビッ ト

ス ト リーム イ メージは 1 つだけでかまいません。また、同じビッ ト ス ト リームを、複数の同一 FPGAに読み込むこ とができる連結コンフ ィギュレーシ ョ ンもあ り ます。 このよ う な連結コンフ ィギュ

レーシ ョ ンは、 スレーブ シ リ アル モードまたはスレーブ SelectMAP モードでのみサポート されて

います (第 9 章 「複数 FPGA のコンフ ィギュレーシ ョ ン」 参照)。

コンフ ィギュレーシ ョ ン方法を決定する要素

システムに 適なコンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンを決定する要素は多数あ り、 また、考慮

すべき詳細も数多くあ り ます。設計段階の終盤になって問題が生じるこ とのないよ う、コンフ ィギュ

レーシ ョ ン方法は慎重に選択する必要があ り ます。

特に、 コンフ ィギュレーシ ョ ン専用ピンと コンフ ィギュレーシ ョ ン後に再利用可能なピンの違いを

理解しておく こ とが必要です。 詳細は、 第 5 章 「コンフ ィギュレーシ ョ ンの詳細」 を参照してくだ

さい。

また、データ ファ イル形式およびビッ ト ス ト リームのサイズも考慮する必要があ り ます。 ビッ ト ス

ト リームのサイズはデバイス サイズによって異なり、ビッ ト ス ト リームもいくつかの形式で生成で

きます。

FPGA のコンフ ィギュレーシ ョ ン プロセスには多くの手順が含まれます。 また、 1 つの手順は複数

の連続したイベン ト (シーケンス) で構成されるこ とがほとんどです。たとえば、 初に実行する手

順は複数の電源に対するパワーアップ シーケンスです。全体的なコンフ ィギュレーシ ョ ン時間を把

握するには、 これら手順の 1 つ 1 つにかかる時間を求める必要があ り ます。 Vivado ツールは、 コ

ンフ ィギュレーシ ョ ン時間の概算に使用可能な Tcl コマンド、 CALC_CONFIG_TIME を提供しま

す。 使用法を確認するには、 help calc_config_time を利用してください。

詳細は、 第 5 章 「コンフ ィギュレーシ ョ ンの詳細」 を参照してください。

スタ ック ド シリコン インターコネク ト (SSI)表 1-1 に示す、 2 つ以上の SLR (Super Logic Region) を使用するデバイスはスタ ッ ク ド シ リ コン

インターコネク ト (SSI) テク ノ ロジを採用しています。このテク ノ ロジを用いた Virtex-7 FPGA も、

7 シ リーズのモノ リ シッ ク デバイス と同じコンフ ィギュレーシ ョ ン モードをサポート します。

グローバル コンフ ィギュレーシ ョ ン機能は、SSI デバイスのマスター SLR (Super Logic Region) からデフォル ト で制御されるよ うになっています。 表 1-2 に示すとおり、 SSI デバイスの SPI コン

フ ィギュレーシ ョ ンでは ICAP の読み出し /書き込みアクセスは制限されます。

Page 20: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

20 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 1 章 : コンフ ィギュレーシ ョ ンの概要

SSI デバイスの JTAG コンフ ィギュレーシ ョ ンは、 iMPACT のみを介してサポート されるか、 ある

いは JTAG ケーブル接続または SVF (Serial Vector Fromat) ファ イルのいずれかを使用する Vivadoデバイス プログラマを介してサポート されます。

第 6 章 「リードバッ クおよびコンフ ィギュレーシ ョ ンの検証」 (表 6-1 ~表 6-5) および第 7 章 「リ

コンフ ィギュレーシ ョ ンおよび マルチブート 」 (表 7-1、 表 7-6、 表 7-7) に示したコマンド シーケ

ンスの例はモノ リ シッ クな 7 シ リーズ デバイスに対応するもので、SSI デバイスには対応していま

せん。

SSI テク ノ ロジの詳細は、『ザイ リ ンクスのスタ ッ ク ド シ リ コン インターコネク ト テク ノ ロジで飛

躍的な FPGA 容量、 帯域幅、 電力効率を実現』 (WP380) を参照してください。

表 1-2 : コンフ ィギュレーシ ョ ン メモリへの ICAP のアクセス

デバイス タイプコンフ ィギュレーシ ョ ン

モード

コンフ ィギュレーシ ョ ン メモリへの ICAP のアクセス

モノ リ シッ ク デバ

イスすべてのモード デバイス全体

SSI デバイス

マスター SLR ICAP スレーブ SLR ICAP

SPI x1マスター SLR のみ(1)

スレーブ SLR

SPI x2、 SPI x4 N/A(2)

その他すべてのモード デバイス全体 スレーブ SLR

注記 :

1. SPI モードでのコンフ ィギュレーシ ョ ン時、マスター ICAP はスレーブ SLR のコンフ ィギュレーシ ョ ン メモ リにアクセスできません。 したがって、パーシャル リ コンフ ィギュレーシ ョ ンでは SPI x1 コンフ ィギュ

レーシ ョ ン モードでローカル SLR にある ICAP を使用する必要があ り ます。

2. SPI x2 または SPI x4 モードでのコンフ ィギュレーシ ョ ン時、 スレーブ SLR の ICAP は使用できません。

したがって、 パーシャル リ コンフ ィギュレーシ ョ ンはマスター SLR に制限され、 SEM IP (誤り訂正) はサ

ポート されません。

Page 21: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 21UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ンのデバッグ

コンフ ィギュレーシ ョ ンのデバッグ

こ こで説明するプラ クティ スは、コンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンの実行時に問題に直面し

た場合のデバッグや解決とな り ます。 完全なデバッグを実行する前に、 ビッ ト ス ト リームのデフォ

ルト (カウンターや LED など) を使用して簡単なデザインを作成し、 テス ト して ください。 簡単な

デザインをテス トするこ とによって、高度なビッ ト ス ト リーム設定またはボード インターフェイス

で生じる可能性がある問題を除外できます。 フラ ッシュ メモ リからではな く JTAG を使用するな

ど、異なる方法を用いてコンフ ィギュレーシ ョ ンを試し、問題がコンフ ィギュレーシ ョ ン モード固

有のものかど うかを確認します。 さ らに情報が必要な場合は、ザイ リ ンクス コンフ ィギュレーシ ョ

ン ソ リ ューシ ョ ン センター japan.xilinx.com/support/answers/34904.htm を参照してください。

INIT_B と DONE の 2 つが も重要なコンフ ィギュレーシ ョ ン信号で、 これらを LED ド ラ イバー

に接続します。 INIT_B が Low から High にパルスされる と、 電源投入時の初期化が完了したこ と

を示します。 コンフ ィギュレーシ ョ ン中の INIT_B 信号の立ち下がりエッジは、 FPGA デバイスで

ビッ ト ス ト リームの CRC エラーが確認されたこ とを示します。 コンフ ィギュレーシ ョ ンおよびそ

の他のピンに関する推奨事項は、 『7 シ リーズ回路図デザインのチェッ ク リ ス ト 』 (XMP277) を参照

して ください。 コンフ ィギュレーシ ョ ンが正し く完了しなかった場合、 ステータス レジスタがその

原因となるエラーについて重要な情報を示します。 JTAG のリードバッ ク /検証で、目的のコンフ ィ

ギュレーシ ョ ン データがデバイスに正し く読み込まれたかど うかを判断できます。

コンフ ィギュレーシ ョ ン シ ミ ュレーシ ョ ン モデル (SIM_CONFIG) を使用する と、サポート対象の

コンフ ィギュレーシ ョ ン インターフェイスのシ ミ ュレーシ ョ ンが可能です。 このモデルは、サポー

ト されるデバイスがコンフ ィギュレーシ ョ ン インターフェイスのスティ ミ ュ ラスに対してどのよ

うに反応するかを示します。詳細は、『合成/シ ミ ュレーシ ョ ン デザイン ガイ ド』 (UG626) を参照し

て ください。

Page 23: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 23UG470 (v1.9) 2014 年 11 月 14 日

第 2 章

コンフ ィギュレーシ ョ ン インターフェイス

ザイ リ ンクス 7 シ リーズ デバイスには 5 種類のコンフ ィギュレーシ ョ ン インターフェイスがあ り

ます。表 2-1 に示すよ うに、各インターフェイスは 1 つ以上のコンフ ィギュレーシ ョ ン モードおよ

びバス幅に対応します。インターフェイスのタイ ミ ング情報の詳細は、各 7 シ リーズ FPGA データ

シート を参照して ください。 コンフ ィギュレーシ ョ ンのタイ ミ ングは、 CCLK が内部で生成される

マスター モードでも CCLK ピンに対するものです。

コンフ ィギュレーシ ョ ン ピン

各コンフ ィギュレーシ ョ ン モードでは複数のインターフェイス ピンを使用します。 これらのピン

は、 7 シ リーズ FPGA の複数の I/O バンクにまたがる場合があ り ます。 バンク 0 には専用のコン

フ ィギュレーシ ョ ン ピンが含まれ、 これはすべてのコンフ ィギュレーシ ョ ン インターフェイスで

使用されます。 特定のコンフ ィギュレーシ ョ ン モードでは、 バンク 14 とバンク 15 に含まれる多

目的ピンをコンフ ィギュレーシ ョ ンに使用します。 7 シ リーズ FPGA のデータシートには、 3.3V、

2.5V、 1.8V、 または 1.5V で動作するバンクにあるコンフ ィギュレーシ ョ ン ピンのスイ ッチ特性が

記載されています。

JTAG および専用コンフ ィギュレーシ ョ ンのピンはすべて 1 つの専用バンクにあ り、 専用の電源電

圧 (VCCO_0) が供給されます。 多目的ピンはバンク 14 とバンク 15 にあ り ます。

専用入力ピンはすべて、 VCCO_0 LVCMOS レベル (LVCMOS18、 LVCMOS25、 または

LVCMOS33) で動作します。 アクテ ィブな専用出力ピンはすべて、 LVCMOS、 12mA 駆動能力、

Fast スルー レートに設定されて VCCO_0 電圧レベルで動作します。多目的 I/O を使用するモード

では、 関連する VCCO_14 または VCCO_15 をデバイス コンフ ィギュレーシ ョ ンの I/O 規格に一

表 2-1 : 7 シリーズ FPGA のコンフ ィギュレーシ ョ ン モード

コンフ ィギュレーシ ョ ン モード M[2:0] バス幅 CCLK の方向

マスター シ リ アル 000 x1 出力

マスター SPI 001 x1、 x2、 x4 出力

マスター BPI 010 x8、 x16 出力

マスター SelectMAP 100 x8、 x16 出力

JTAG 101 x1 該当なし

スレーブ SelectMAP 110 x8、 x16、 x32(1) 入力

スレーブ シ リ アル(2) 111 x1 入力

注記 :

1. スレーブ SelectMAP の x16 および x32 バス幅では、 ビッ ト ス ト リームの AES 暗号化はサポート されて

いません。

2. モード ピンには内部プルアップ抵抗があるため、 これがデフォルトの設定となり ます。

Page 24: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

24 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

致する電圧に接続する必要があ り ます。 また、 コンフ ィ ギュレーシ ョ ン実行中の多目的ピンは、

LVCMOS、 12mA 駆動能力、 Fast スルー レート です。 Persist モードを使用する と (132 ページの

「Persist オプシ ョ ン」 参照)、 コンフ ィギュレーシ ョ ン後も選択したコンフ ィギュレーシ ョ ン モード

の多目的 I/O はアクティブな状態を維持します。 この際、 汎用 I/O はデフォルトの I/O 規格である

LVCMOS、 12mA 駆動能力、 スルー レート とな り ます。

表 2-2 と表 2-3 に、各コンフ ィギュレーシ ョ ン モードで使用するピンと、そのピンが属する I/O バンクの一覧を示します。

表 2-2 : コンフ ィギュレーシ ョ ン モード とピンの対応表 (前半)

ピン名

バン

JTAG(専用の場合)

スレーブシリアル

マスターシリアル

マスター SPI

x1 x2 x4

CFGBVS 0 CFGBVS CFGBVS CFGBVS CFGBVS CFGBVS CFGBVS

M[2:0] 0 M[2:0]=101 M[2:0]=111 M[2:0]=000 M[2:0]=001 M[2:0]=001 M[2:0]=001

TCK 0 TCK TCK TCK TCK TCK TCK

TMS 0 TMS TMS TMS TMS TMS TMS

TDI 0 TDI TDI TDI TDI TDI TDI

TDO 0 TDO TDO TDO TDO TDO TDO

PROGRAM_B 0 PROGRAM_B PROGRAM_B PROGRAM_B PROGRAM_B PROGRAM_B PROGRAM_B

INIT_B 0 INIT_B INIT_B INIT_B INIT_B INIT_B INIT_B

DONE 0 DONE DONE DONE DONE DONE DONE

CCLK 0 CCLK CCLK CCLK CCLK CCLK CCLK

PUDC_B(1) 14 PUDC_B(1) PUDC_B(1) PUDC_B(1) PUDC_B(1) PUDC_B(1) PUDC_B(1)

EMCCLK(2) 14 – – EMCCLK(2) EMCCLK(2) EMCCLK(2) EMCCLK(2)

CSI_B 14 – – – – – –

DOUT_CSO_B(3)(4) 14 – [DOUT](3) [DOUT](3) [DOUT](3) – –

RDWR_B 14 – – – – – –

FCS_B 14 – – – FCS_B FCS_B FCS_B

D00_MOSI 14 – – – MOSI MOSI/D00 MOSI/D00

D01_DIN 14 – DIN DIN DIN DIN/D01 DIN/D01

D02 14 – – – – – D02

D03 14 – – – – – D03

D[04-07] 14 – – – – – –

D[08-15] 14 – – – – – –

A[00-15]_D[16-31] 14 – – – – – –

A[16-28] 15 – – – – – –

FOE_B 15 – – – – – –

FWE_B 15 – – – – – –

ADV_B 15 – – – – – –

Page 25: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 25UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン ピン

RS0、 RS1(5) 15 RS0、 RS1(5) RS0、 RS1(5) RS0、 RS1(5) RS0、 RS1(5) RS0、 RS1(5) RS0、 RS1(5)

注記 : 1. PUDC_B はコンフ ィギュレーシ ョ ン中に特別な機能を実行しますが、すべてのコンフ ィギュレーシ ョ ン インターフェイスから独立して

いるため、 PUDC_B の電圧は同じコンフ ィギュレーシ ョ ン インターフェイスのほかのピンと互換である必要はあ り ません。

2. EMCCLK は、ExtMasterCclk_en オプシ ョ ンで EMCCLK をマスター コンフ ィギュレーシ ョ ン モードの外部クロ ッ ク入力に設定した場

合のみ使用します。

3. DOUT は、 デイジー チェーンのシ リ アル コンフ ィギュレーシ ョ ンで下位の FPGA にデータを出力する場合 (または DebugBitstream オプシ ョ ンを指定した場合) にのみ使用します。 それ以外の場合はハイインピーダンスです。

4. CSO_B は、 デイジー チェーンのパラレル コンフ ィギュレーシ ョ ンで下位のデバイスにチップ イネーブル信号を出力する場合のみ使用

します。 それ以外の場合はハイインピーダンスです。

5. RS0 と RS1 はマルチブート イベン トが開始された場合、 または ConfigFallback オプシ ョ ンを有効にしてフォールバッ ク イベン トが発

生した場合のみ駆動されます。 それ以外の場合は、 両者と もハイインピーダンスです。

6. 空欄のセルは、 該当するコンフ ィギュレーシ ョ ン モードでそのピンが使用されないこ とを示しています。 これらは無視され、 コンフ ィ

ギュレーシ ョ ン中はハイインピーダンス とな り ます。

表 2-2 : コンフ ィギュレーシ ョ ン モード とピンの対応表 (前半) (続き)

ピン名

バン

JTAG(専用の場合)

スレーブシリアル

マスターシリアル

マスター SPI

x1 x2 x4

表 2-3 : コンフ ィギュレーシ ョ ン モード とピンの対応表 (後半)

ピン名

バン

マスター SelectMAP スレーブ SelectMAP マスター BPI

x8 x16 x8 x16 x32 x8 x16

CFGBVS 0 CFGBVS CFGBVS CFGBVS CFGBVS CFGBVS CFGBVS CFGBVS

M[2:0] 0 M[2:0]=100 M[2:0]=100 M[2:0]=110 M[2:0]=110 M[2:0]=110 M[2:0]=010 M[2:0]=010

TCK 0 TCK TCK TCK TCK TCK TCK TCK

TMS 0 TMS TMS TMS TMS TMS TMS TMS

TDI 0 TDI TDI TDI TDI TDI TDI TDI

TDO 0 TDO TDO TDO TDO TDO TDO TDO

PROGRAM_B 0 PROGRAM_B PROGRAM_B PROGRAM_B PROGRAM_B PROGRAM_B PROGRAM_B PROGRAM_B

INIT_B 0 INIT_B INIT_B INIT_B INIT_B INIT_B INIT_B INIT_B

DONE 0 DONE DONE DONE DONE DONE DONE DONE

CCLK 0 CCLK CCLK CCLK CCLK CCLK

PUDC_B(1) 14 PUDC_B(1) PUDC_B(1) PUDC_B(1) PUDC_B(1) PUDC_B(1) PUDC_B(1) PUDC_B(1)

EMCCLK(2) 14 EMCCLK(2) EMCCLK(2) – – – EMCCLK(2) EMCCLK(2)

CSI_B 14 CSI_B CSI_B CSI_B CSI_B CSI_B – –

DOUT_CSO_B(3)(4) 14 [CSO_B](4) [CSO_B](4) [CSO_B](4) [CSO_B](4) [CSO_B](4) [CSO_B](4) [CSO_B](4)

RDWR_B 14 RDWR_B RDWR_B RDWR_B RDWR_B RDWR_B – –

FCS_B 14 – – – – – FCS_B FCS_B

D00_MOSI 14 D00 D00 D00 D00 D00 D00 D00

D01_DIN 14 D01 D01 D01 D01 D01 D01 D01

D02 14 D02 D02 D02 D02 D02 D02 D02

D03 14 D03 D03 D03 D03 D03 D03 D03

D[04-07] 14 D[04-07] D[04-07] D[04-07] D[04-07] D[04-07] D[04-07] D[04-07]

D[08-15] 14 – D[08-15] – D[08-15] D[08-15] – D[08-15]

A[00-15]_D[16-31] 14 – – – D[16-31] A[00-15] A[00-15]

A[16-28] 15 – – – A[16-28] A[16-28]

Page 26: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

26 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

FOE_B 15 – – – FOE_B FOE_B

FWE_B 15 – – – FWE_B FWE_B

ADV_B 15 – – – ADV_B ADV_B

RS0、 RS1(5) 15 RS0、 RS1(5) RS0、 RS1(5) RS0、 RS1(5) RS0、 RS1(5) RS0、 RS1(5) RS0、 RS1(5) RS0、 RS1(5)

注記 : 1. PUDC_B はコンフ ィギュレーシ ョ ン中に特別な機能を実行しますが、すべてのコンフ ィギュレーシ ョ ン インターフェイスから独立しているため、PUDC_B

の電圧は同じコンフ ィギュレーシ ョ ン インターフェイスのほかのピンと互換である必要はあ り ません。

2. EMCCLK は、BitGen の ExtMasterCclk_en オプシ ョ ンで EMCCLK をマスター コンフ ィギュレーシ ョ ン モードの外部クロ ッ ク入力に設定した場合のみ使

用します。

3. DOUT は、 デイジー チェーンのシ リ アル コンフ ィギュレーシ ョ ンで下位の FPGA にデータを出力する場合 (または BitGen の DebugBitstream オプシ ョ ン

を指定した場合) にのみ使用します。 それ以外の場合はハイインピーダンスです。

4. CSO_B は、 デイジー チェーンのパラレル コンフ ィギュレーシ ョ ンで下位のデバイスにチップ イネーブル信号を出力する場合のみ使用します。 それ以外の

場合はハイインピーダンスです。

5. RS0 と RS1 はマルチブート イベン トが開始された場合、 または BitGen の ConfigFallback オプシ ョ ンを有効にしてフォールバッ ク イベン トが発生した場

合のみ駆動されます。 それ以外の場合は、 両者と もハイインピーダンスです。

6. 空欄のセルは、 該当するコンフ ィギュレーシ ョ ン モードでそのピンが使用されないこ とを示しています。 これらは無視され、 コンフ ィギュレーシ ョ ン中は

ハイインピーダンス とな り ます。

表 2-3 : コンフ ィギュレーシ ョ ン モード とピンの対応表 (後半) (続き)

ピン名

バン

マスター SelectMAP スレーブ SelectMAP マスター BPI

x8 x16 x8 x16 x32 x8 x16

Page 27: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 27UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン ピン

各コンフ ィギュレーシ ョ ン ピンの定義を、 表 2-4 にまとめます。

表 2-4 : コンフ ィギュレーシ ョ ン ピンの定義

ピン名 バンク (1) タイプ 方向 説明

CFGBVS 0 専用 入力

コンフ ィギュレーシ ョ ン バンク電圧の選択

Artix-7 および Kintex-7 ファ ミ リの場合、CFGBVS は、コンフ ィギュ

レーシ ョ ン専用バンク 0 とバンク 14 および 15 にある多目的コン

フ ィギュレーシ ョ ン ピン の I/O 電圧動作範囲と電圧耐性を決定しま

す。 すべての 7 シ リーズ デバイスで、 コンフ ィギュレーシ ョ ン専用

バンク 0 の動作電圧は常に CFGBVS によって決ま り ます。多目的コ

ンフ ィギュレーシ ョ ン バンク 14 および 15 の動作電圧は、 コンフ ィ

ギュレーシ ョ ン中のみ、 CFGBVS によって決ま り ます。

CFGBVS はバンク電圧の要件に従って High または Low に接続して

ください。 バンク 0 の VCCO_0 電源に 2.5V または 3.3V が供給され

ている場合は、CFGBVS ピンを High (つま り VCCO_0) に接続する必

要があ り ます。 バン ク 0 の VCCO_0 が 1.8V 以下の場合のみ、

CFGBVS を Low (つま り GND) に接続してください。 コンフ ィギュ

レーシ ョ ン中に使用する場合、 バンク 14 および 15 はバンク 0 に接

続される VCCO レベルに一致する必要があ り ます。

注意 : デバイスの損傷を防ぐため、 CFGBVS は必ず VCCO_0 または GND のいずれかに正し く 接続し て く だ さい。 詳細は、

35 ページの 「コンフ ィギュレーシ ョ ン バンク電圧セレク ト 」 を

参照してください。

注記 : Virtex-7 HT デバイスでは CFGBVS ピンを利用できませ

ん。 Virtex-7 HT デバイスはバンク 0 の 1.8V/1.5V 動作しかサ

ポート していません。

M[2:0] 0 専用 入力

コンフ ィギュレーシ ョ ン モード

M[2:0] はコンフ ィギュレーシ ョ ン モードを決定します。 モードの設

定については、 25 ページの表 2-3 を参照してください。 各モード ピンを直接、 または 1kΩ 以下の抵抗を介して VCCO_0 または GND に接続してください。

TCK 0 専用 入力

IEEE Std 1149.1 (JTAG) テス ト ク ロ ッ ク

JTAG チェーン上のすべてのデバイスに対するク ロ ッ クです。ザイ リ

ンクス ケーブル ヘッダーの TCK ピンに接続します。 ク リ ティカル

なク ロ ッ ク信号であるため、 複数のデバイスを JTAG チェーンで接

続する場合は、 必要に応じてケーブル ヘッダーのこの信号をバッ

ファ リ ングしてください。バッファ リ ングする場合は、バッファー入

力を外部の弱いプルアップ抵抗 (10kΩ など) に接続し、ケーブルが接

続されていない場合も有効な High を維持するよ うにしてください。

Page 28: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

28 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

TMS 0 専用 入力

JTAG テス ト モード セレク ト

JTAG チェーン上のすべてのデバイスに対するモード セレク ト信号

です。ザイ リ ンクス ケーブル ヘッダーの TMS ピンに接続します。複

数のデバイスを JTAG チェーンで接続する場合は、必要に応じてケー

ブル ヘッダーのこの信号をバッファ リ ングして ください。 バッファ

リ ングする場合は、 バッ フ ァー入力を外部の弱いプルアップ抵抗

(10kΩ など) に接続し、 ケーブルが接続されていない場合も有効な

High を維持するよ うにしてください。

TDI 0 専用 入力

JTAG テス ト データ入力

JTAG チェーンのシ リ アル データ入力です。 デバイスが 1 つしかな

い場合、 または JTAG チェーンの 初のデバイスの場合は、 ザイ リ

ンクス ケーブル ヘッダーの TDI ピンに接続します。それ以外の場合

(FPGA が JTAG チェーンの 初のデバイスでない場合) は、JTAG スキャン チェーンの上位 JTAG デバイスの TDO ピンに接続して くだ

さい。

TDO 0 専用 出力

JTAG テス ト データ出力

JTAG チェーンのシ リ アル データ出力です。 デバイスが 1 つしかな

い場合、 または JTAG チェーンの 後のデバイスの場合は、 ザイ リ

ンクス ケーブル ヘッダーの TDO ピンに接続します。 それ以外の場

合 (JTAG チェーンの 後の FPGA デバイスでない場合) は、 JTAGスキャン チェーンの下位 JTAG デバイスの TDI ピンに接続してくだ

さい。

PROGRAM_B

0 専用 入力

プログラム (負論理)

コンフ ィギュレーシ ョ ン ロジッ クに対する、 アクテ ィブ Low の リ

セッ ト信号です。この信号を Low にする と FPGA コンフ ィギュレー

シ ョ ンがク リ アされ、 新しいコンフ ィギュレーシ ョ ン シーケンスが

開始します。コンフ ィギュレーシ ョ ンの リセッ トは立ち下がりエッジ

で開始され、 コンフ ィ ギュ レーシ ョ ン (すなわちプログラ ミ ング)シーケンスが次の立ち上がりエッジで開始します。

PROGRAM_B は 4.7kΩ 以下の外部プルア ッ プ抵抗を介し て

VCCO_0 に接続し、 安定的に High を入力するよ うにして ください。

GND 接続に切り替えるプッシュボタンを用意して、 手動でコンフ ィ

ギュレーシ ョ ン リ セッ ト を実行できるよ うにしておく こ とを推奨し

ます。

注記 : 電源投入から PROGRAM_B を Low に保持する と、FPGA のコ ンフ ィ ギュ レーシ ョ ンが リ セ ッ ト に保たれません。 代わ り に、

INIT_B を使用して電源投入後に実行されるコンフ ィギュレーシ ョ

ン シーケンスの開始を遅らせるこ とができます。

表 2-4 : コンフ ィギュレーシ ョ ン ピンの定義 (続き)

ピン名 バンク (1) タイプ 方向 説明

Page 29: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 29UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン ピン

INIT_B 0 専用

双方向

(オープン ドレイン)

初期化 (負論理)

アクテ ィブ Low の FPGA 初期化ピンまたはコンフ ィギュレーシ ョ

ン エラー信号です。 FPGA がコンフ ィギュレーシ ョ ン リセッ ト状態

にある場合や、 コンフ ィギュレーシ ョ ン メモ リ を初期化 (ク リ ア) 中の場合、またはコンフ ィギュレーシ ョ ン エラーを検出した場合に、こ

のピンを Low に駆動します。FPGA の初期化プロセスが完了する と、

INIT_B はハイ インピーダンス とな り ます。 この時点で INIT_B がHigh になるよ うに外部プルアップ抵抗を接続して ください。 電源投

入時に INIT_B を外部から Low に保持する と、 初期化プロセスが完

了した後もコンフ ィギュレーシ ョ ン シーケンスの開始を遅らせるこ

とができます。 初期化プロセス完了後、 INIT_B 入力で High が検出

される と FPGA は M[2:0] ピンの設定に従って残りのコンフ ィギュ

レーシ ョ ン シーケンスを実行します。

4.7kΩ 以下のプルアップ抵抗を介して VCCO_0 に接続し、 Low から

High へ確実に遷移するよ うにしてください。

DONE 0 専用 双方向

完了

DONE ピンが High になる と、 コンフ ィギュレーシ ョ ン シーケンス

が完了したこ とを表します。 DONE 出力はオープン ドレイン出力で

す。

注記 : DONE には約 10kΩ の内部プルアップ抵抗があ り ます。DONEレジスタにはセッ ト アップ/ホールドの条件はあ り ません。 これらの

変更点に加え、 DonePipe レジスタのオプシ ョ ンがデフォルトで有効

になっているため、 DriveDONE のド ラ イバー オプシ ョ ンは不要で

す。 330Ω の外付け抵抗回路は必要あ り ませんが、 旧世代デバイス と

同様に使用できます。

CCLK 0 専用

入力

または

出力

コンフ ィギュレーシ ョ ン ク ロ ッ ク

JTAG モード を除くすべてのモードで、 CCLK は同期 FPGA コン

フ ィギュレーシ ョ ン シーケンスの基準クロ ッ ク とな り ます。

• スレーブ モードの場合 : CCLK は入力で、外部クロ ッ ク ソースに

接続する必要があ り ます。

• マスター モードの場合 : FPGA がコンフ ィギュレーシ ョ ン ク ロ ッ

ク ソース とな り、 CCLK を出力と して駆動します。

• JTAG モードの場合 : CCLK はハイインピーダンスであ り、 未接

続のままでもかまいません。

注記 : CCLK はク リ テ ィカルなクロ ッ ク信号のため、 シグナル イン

テグ リ テ ィが重要です (詳細は、 ザイ リ ンクス ウェブサイ トの シグ

ナル インテグ リティのページ参照)。

表 2-4 : コンフ ィギュレーシ ョ ン ピンの定義 (続き)

ピン名 バンク (1) タイプ 方向 説明

Page 30: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

30 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

PUDC_B 14 多目的 入力

コンフ ィギュレーシ ョ ン中のプルアップ (負論理)

電源投入後およびコンフ ィギュレーシ ョ ン中に SelectIO ピンの内部

プルアップ抵抗を有効にするアクティブ Low の入力信号です。

• Low にする と、各 SelectIO ピンの内部プルアップ抵抗が有効にな

り ます。

• High にする と、 各 SelectIO ピンの内部プルアップ抵抗が無効に

なり ます。

PUDC_B を直接、 または 1kΩ 以下の抵抗を介して VCCO_14 または

GND に接続してください。

注意 : コンフ ィギュレーシ ョ ン前およびコンフ ィギュレーシ ョ

ン中は、 このピンをフロートにしないでください。

EMCCLK 14 多目的 入力

外部マスター コンフ ィギュレーシ ョ ン ク ロ ッ ク

マスター モードで内部コンフ ィギュレーシ ョ ン オシレーターの代わ

りにコンフ ィギュレーシ ョ ン ロジッ クのクロ ッ ク ソース となるオプ

シ ョ ンの外部クロ ッ ク入力です。 詳細は、 39 ページの 「Vivado ツー

ルでコンフ ィギュレーシ ョ ン オプシ ョ ンを設定する」 を参照して く

ださい。

• マスター モードの場合 : FPGA は内部コンフ ィギュレーシ ョ ン エンジンのクロ ッ ク ソースを内部オシレーターから EMCCLK に切

り替える こ とができます。 EMCCLK の周波数はビッ ト ス ト リー

ム設定 (ExtMasterCclk_en) で分周してから、 マスター CCLK 信号と して出力できます。

• JTAG および スレーブ モードの場合 : EMCCLK は無視されるた

め、 未接続のままでもかまいません。

CSI_B 14 多目的 入力

チップ セレク ト入力 (負論理)

FPGA の SelectMAP コンフ ィギュレーシ ョ ン インターフェイスを

有効にするアクティブ Low の入力です。

• マスター SelectMAP モードの場合 : CSI_B を直接、 または 1kΩ以下の抵抗を介して GND に接続して ください。

• スレーブ SelectMAP モードの場合 : 外部コンフ ィギュレーシ ョ ン

コン ト ローラーで CSI_B を制御し、SelectMAP バス上でアクティ

ブにする FPGA を選択します。 または、デイジー チェーンのパラ

レル コンフ ィギュレーシ ョ ンでは上位 FPGA の CSO_B ピンに接

続します。

• その他のモードの場合 : CSI_B は無視されるため、 未接続のまま

でもかまいません。

表 2-4 : コンフ ィギュレーシ ョ ン ピンの定義 (続き)

ピン名 バンク (1) タイプ 方向 説明

Page 31: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 31UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン ピン

CSO_B 14 多目的

出力

(オープン ドレイン)

チップ セレク ト出力 (負論理)

アクティブ Low のオープン ド レイン出力で、 Low 駆動する とデイ

ジー チェーンのパラレル コンフ ィギュレーシ ョ ンで下位 FPGA のス

レーブ SelectMAP コンフ ィギュレーシ ョ ン インターフェイスが有

効になり ます。

• BPI (非同期読み出し専用) および SelectMAP モードの場合 : デイ

ジー チェーンのパラレル コンフ ィギュレーシ ョ ンで、チェーンの

下位にデバイスが接続されている場合は 330Ω の外部プルアップ

抵抗を介して VCCO_14 に接続する と共に、下位デバイスの CSI_B入力にも接続して ください。 それ以外の場合はハイインピーダン

スです。

• シ リ アル モードの場合 : 多目的ピンの CSO_B は、 DOUT ピンと

して機能します。 この表の DOUT の欄を参照してください。

• その他のモードの場合 : CSO_B はハイインピーダンスであ り、未

接続のままでもかまいません。

DOUT 14 多目的 出力

データ出力

DOUT は、デイジー チェーンのシ リ アル コンフ ィギュレーシ ョ ンで

データ出力と して使用します。

• シ リ アル、 直列および SPI (x1 のみ) モード : デバイスをデイジー

チェーン接続してシ リ アル コンフ ィギュレーシ ョ ンを行う際は、

下位のスレーブ シ リ アル FPGA の DIN に接続します。 それ以外

の場合はハイインピーダンスです。

• BPI および SelectMAP モードの場合 : 多目的ピンの DOUT は、

CSO_B ピンと して機能します。この表の CSO_B の欄を参照して

ください。

• その他のモードの場合 : DOUT はハイインピーダンスであ り、 未

接続のままでもかまいません。

注記 : DebugBitstream オプシ ョ ンを有効にする と、 DOUT からデー

タを出力できます。

RDWR_B 14 多目的 入力

読み出し /書き込み (負論理)

RDWR_B は、SelectMAP データ バスの方向を決定します。High の場合、FPGA から SelectMAP データ バスに読み出しデータが出力さ

れます。Low の場合は、外部コン ト ローラーが SelectMAP データ バスを経由して FPGA にデータを書き込むこ とができます。

• マスター SelectMAP モードの場合 : RDWR_B を直接、 または

1kΩ 以下の抵抗を介して GND に接続して ください。

• スレーブ SelectMAP モードの場合 : 外部デバイスで RDWR_B 信号を制御して SelectMAP インターフェイスにおける SelectMAPデータ バスの方向 (読み出し /書き込み) を制御します。

• その他のモードの場合 : RDWR_B は無視されるため、未接続のま

までもかまいません。

表 2-4 : コンフ ィギュレーシ ョ ン ピンの定義 (続き)

ピン名 バンク (1) タイプ 方向 説明

Page 32: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

32 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

D00_MOSI 14 多目的 双方向

マスター出力、 スレーブ入力

SPI モードで FPGA (マスター) から SPI (スレーブ) フラ ッシュ デバ

イスにコマンドを送信するための出力です。

• SPI モードの場合 : SPI フラ ッシュのデータ入力ピンに接続しま

す。

• SelectMAP モードの場合 : 多目的ピンの MOSI は、D00 データ入

力ピンと して機能します。この表の D[00-31] の欄を参照してくだ

さい。

• その他のモードの場合 : MOSI ピンの機能は使用せず、 コンフ ィ

ギュレーシ ョ ン中はハイ インピーダンス とな り無視されるため、

未接続のままでもかまいません。

D01_DIN 14 多目的 双方向

データ入力

DIN はシ リ アル データ入力ピンです。 デフォルトでは、 DIN からの

データが CCLK の立ち上がりエッジでキャプチャされます。

• シ リ アルおよび SPI モードの場合 : DIN はデータ ソースからシ リ

アル データを受信する FPGA データ入力です。 シ リ アル データ

ソースのシ リ アル データ出力ピンに接続してください。

• BPI および SelectMAP モードの場合 : 多目的ピンの DIN は、D01データ入力ピンと して動作します。この表の D[00-31] の欄を参照

してください。

• JTAG モードの場合 : DIN は無視されます。

表 2-4 : コンフ ィギュレーシ ョ ン ピンの定義 (続き)

ピン名 バンク (1) タイプ 方向 説明

Page 33: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 33UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン ピン

D[00-31] 14 多目的 双方向

データ バス

SPI x2、 SPI x4、 BPI、 SelectMAP の各モードでは、 D[00-31] ピン

の一部または全部がデータ バス インターフェ イス とな り ます。 デ

フォルトでは、データ バスからのデータが CCLK の立ち上がりエッ

ジでキャプチャされます。

• SPI モードの場合 : コンフ ィギュレーシ ョ ンは、 標準 SPI (x1) シリ アル データ出力およびデータ入力で使用されるデータ バスの

00/MOSI および D01 ピンで開始します。 ビッ ト ス ト リーム オプ

シ ョ ンを用いて、 SPI フラ ッシュ読み出しモードをデュアル出力

(x2) モードまたはクワッ ド出力 (x4) モードに変更できます。

• SPI x1/x2/x4 の場合 : D00/MOSI を SPI フラ ッシュ シリアル

データ入力 (DQ0/D/SI/IO0) ピンに接続する

• SPI x1/x2/x4 の場合 : D01/DIN を SPI フラ ッシュ シ リ アル

データ出力 (DQ1/Q/SO/IO1) ピンに接続する

• SPI x4 の場合 : D02 を SPI フラ ッシュ クワ ッ ド データ ビッ ト

2 出力 (DQ2/W#/WP#/IO2) ピンに接続し、 外部 4.7kΩ プル

アップ抵抗を VCCO_14 に接続する

• SPI x4 の場合 : D03 を SPI フラ ッシュ クワ ッ ド データ ビッ ト

3 出力 (DQ3/HOLD#/IO3) ピンに接続し、外部 4.7kΩ プルアッ

プ抵抗を VCCO_14 に接続する

残りのデータ ピンは未使用か、 無視されるか、 あるいはコンフ ィ

ギュレーシ ョ ン中はハイインピーダンス とな り ます。

• SelectMAP モードの場合 : FPGA は D[00-07] に現れるバス幅自

動検出パターンを監視して、D[00-07] (x8 バス幅) のみを使用する

か、x16 または x32 データ バス幅を使用するかを決定します。デー

タ バス と して使用するピンをデータ ソースの該当するデータ ピンに接続してください。

注意 : スレーブ SelectMAP の x16 および x32 データ バス幅では、

AES 暗号化されたビ ッ ト ス ト リ ームからのコンフ ィ ギュレー

シ ョ ンはサポート されていません。

• BPI モードの場合 : FPGA は D[00-07] に現れるバス幅自動検出パ

ターンを監視して、 D[00-07] (x8 バス幅) のみを使用するか、 x16データ バス幅を使用するかを決定します。データ バスと して使用

するピンを BPI フラ ッシュの該当するデータ ピンに接続して く

ださい。 多目的ピンの D[16-31] ピンは、 BPI アドレス A[00-15]ピンと して機能します。この表の A[00-28] の欄を参照してくださ

い。

• JTAG モードの場合 : データ ピンは使用しません。

• 全モード共通 : 未使用のデータ ピンはハイインピーダンスで、 コ

ンフ ィギュレーシ ョ ン中は無視されます。 使用しないデータ ピン

は未接続のままでもかまいません。

表 2-4 : コンフ ィギュレーシ ョ ン ピンの定義 (続き)

ピン名 バンク (1) タイプ 方向 説明

Page 34: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

34 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

A[00-28] 14 多目的 出力

アドレス バス

A[00-28] ピンは、パラレル NOR (BPI) フラ ッシュに対してアドレス

を出力します。 A00 がアドレスの 下位ビッ トです。

• BPI モードの場合 : FPGA の A[00-28] ピンをパラレル NOR フラ ッシュのアドレス ピンに接続します。FPGA の A00 ピンは、使

用するデータ バス幅に応じてフラ ッシュの 下位アドレス入力ピ

ンに正し く接続して ください。 BPI フラ ッシュの種類と使用する

データ バス幅によ り、フラ ッシュの 下位アドレス ビッ トは A1、A0、 A-1 のいずれかとな り ます。 パラレル NOR フラ ッシュのア

ド レス バス幅よ り上位のアド レス ピンはコンフ ィギュレーシ ョ

ン実行中は駆動されますが、 コンフ ィギュレーシ ョ ン後は I/O として使用可能です。

• SelectMAP モードの場合 : 多目的ピンの A[00-15] ピンは、

D[16-31] データ バス ピンと して機能します。 この表の D[00-31]の欄を参照してください。

• その他のモード : A[00-28] はハイインピーダンスでコンフ ィギュ

レーシ ョ ン中は無視されるため、未接続のままでもかまいません。

FCS_B 14 多目的 出力

フラ ッシュ チップ セレク ト (負論理)

アクティブ Low のチップ セレク ト出力で、コンフ ィギュレーシ ョ ン

で使用する SPI または BPI フラ ッシュ デバイスを有効にします。

• SPI および BPI モードの場合 : FPGA の FCS_B をフラ ッシュ デバイスのチップ セレク ト入力に接続する と共に、 4.7kΩ 以下の外

部プルアップ抵抗を介して VCCO_14 にも接続してください。

• その他のモードの場合 : FCS_B はハイインピーダンスであ り、 未

接続のままでもかまいません。

FOE_B 15 多目的 出力

フラ ッシュ出力イネーブル (負論理)

パラレル NOR フラ ッシュの出力イネーブルを制御するアクテ ィブ

Low の信号です。

• BPI モードの場合 : FPGA の FOE_B をフラ ッシュの出力イネー

ブル入力に接続する と共に、4.7kΩ 以下の外部プルアップ抵抗を

介して VCCO_15 にも接続して ください。

• その他のモードの場合 : FOE_B はハイインピーダンスであ り、未

接続のままでもかまいません。

FWE_B 15 多目的 出力

フラ ッシュ書き込みイネーブル (負論理)

パラ レル NOR フ ラ ッシュの書き込みイネーブルを制御するア ク

ティブ Low の信号です。

• BPI モードの場合 : FPGA の FWE_B をフラ ッシュの書き込みイ

ネーブル入力に接続する と共に、 4.7kΩ 以下の外部プルアップ抵

抗を介して VCCO_15 にも接続してください。

• その他のモードの場合 : FWE_B はハイインピーダンスであ り、未

接続のままでもかまいません。

表 2-4 : コンフ ィギュレーシ ョ ン ピンの定義 (続き)

ピン名 バンク (1) タイプ 方向 説明

Page 35: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 35UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン ピン

コンフ ィギュレーシ ョ ン バンク電圧セレク ト

コンフ ィギュレーシ ョ ン バンク電圧セレク ト (CFGBVS) ピンを High または Low に接続するこ と

で、バンク 0 のピンおよびコンフ ィギュレーシ ョ ン中に使用する場合はバンク 14 とバンク 15 にあ

る多目的ピンでサポートする I/O 電圧を決定します。 CFGBVS は、 VCCO_0 と GND を基準電圧と

するロジッ ク入力ピンです。CFGBVS ピンが High (3.3V または 2.5V の VCCO_0 電源に接続) の場

合、 バンク 0 のコンフ ィギュレーシ ョ ンおよび JTAG I/O はコンフ ィギュレーシ ョ ン中とその後、

ADV_B 15 多目的 出力

アドレス有効 (負論理)

パラ レル NOR フ ラ ッシュのア ド レス有効を出力するアクテ ィ ブ

Low の信号です。

• BPI モードでアドレス有効の入力に対応したフラ ッシュを使用す

る場合 : FPGA の ADV_B をパラレル NOR フラ ッシュのアドレ

ス有効入力ピンに接続する と共に、 4.7kΩ 以下の外部プルアップ

抵抗を介して VCCO_15 にも接続してください。BPI モードでアド

レ ス有効入力に対応し ていないフ ラ ッ シ ュ を使用する場合 :ADV_B ピンは接続しません。

• その他のモードの場合 : ADV_B はハイインピーダンスであ り、未

接続のままでもかまいません。

RS0、 RS1 15 多目的 出力

リ ビジ ョ ン セレク ト

RS0 および RS1 ピンはリ ビジ ョ ン セレク ト出力ピンです。通常、 コ

ンフ ィギュレーシ ョ ン中はハイインピーダンス とな り ます。 ただし、

FPGA が これらのピンを駆動するケースが 2 つあ り ます。 1 つは

ConfigFallback オプシ ョ ンが有効なと きにコンフ ィギュレーシ ョ ン

エラーが検出された場合で、 フォールバッ ク コンフ ィギュレーシ ョ

ン プロセスの間、 FPGA はこれらを共に Low に駆動します。 も う 1つはユーザーがマルチブート コンフ ィギュレーシ ョ ンを開始した場

合で、 マルチブート コンフ ィギュレーシ ョ ン プロセスの間、 FPGAはこれらのピンをユーザー定義の状態に駆動します。

フォールバッ クが無効 (デフォルト ) で、 マルチブート を使用しない

場合は RS0 と RS1 はハイインピーダンスであ り、未接続のままでも

かまいません。

VCCBATT N/A 電源電圧 N/A

バッ クアップ バッテ リの電源電圧

VCCBATT は、 AES 復号化キーを保存してある FPGA の内部揮発性

メモ リのバッ クアップ バッテ リの電源電圧です。 ビッ ト ス ト リーム

を暗号化した場合、FPGA の電源がオフの間、復号化キーを格納した

揮発性メモ リの内容を保持するためにこのピンをバッ クアップ バッ

テ リに接続する必要があ り ます。復号化キーを使用せず、揮発性メモ

リへのバッ クアップ電源が不要な場合は、 このピンを GND または

VCCAUX に接続してください。ピン名にはバンクを指定する 「_0」 が

含まれますが、 これは I/O を示すものではなく、 VCCO_0 を反映した

ものではあ り ません。

注記 :

1. 各 I/O は、 それぞれが属するバンクの VCCO 電源電圧を基準に動作します。 たとえば、 バンク 0 の I/O は VCCO_0 を基準と します。

表 2-4 : コンフ ィギュレーシ ョ ン ピンの定義 (続き)

ピン名 バンク (1) タイプ 方向 説明

Page 36: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

36 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

3.3V または 2.5V 動作をサポート します。 CFGBVS ピンが Low (GND に接続) の場合、 バンク 0の I/O は、 1.8V または 1.5V 動作をサポート します。 コンフ ィギュレーシ ョ ンは 1.2V ではサポー

ト されていません。

同様に、 バンク 14 および 15 の電圧耐性は、 コンフ ィギュレーシ ョ ン中のみ、 CFGBVS によって

決ま り ます。CFGBVS ピンが High の場合、バンク 14 および 15 のコンフ ィギュレーシ ョ ン I/O はコンフ ィギュレーシ ョ ンの間、 3.3V または 2.5V 動作をサポート します。 CFGBVS ピンが Low の場合、 バンク 14 および 15 のコンフ ィギュレーシ ョ ン I/O はコンフ ィギュレーシ ョ ンの間、 1.8Vまたは 1.5V 動作をサポート します。

7 シ リーズ FPGA の I/O には、HR (High Range) バンク と HP (High Performance) バンクの 2 種類

があ り ます。 HR バンクは 3.3V、 2.5V、およびそれ未満の電圧の I/O 規格をいくつかサポート しま

す。HP バンクは 1.8V 以下の I/O 規格のみをサポート します。コンフ ィギュレーシ ョ ン専用および

JTAG I/O はバンク 0 にあ り ます。 Virtex-7 HT デバイスを除くすべてのデバイスで、 バンク 0 はHR (High Range) バンクです。 コンフ ィギュレーシ ョ ン モードによっては、バンク 14 やバンク 15のピンを使用するこ とがあ り ます。 Artix-7 および Kintex-7 ファ ミ リのバンク 14 とバンク 15 はHR バンクですが、 Virtex-7 ファ ミ リの場合は HP バンク とな り ます。 各デバイスのバンクに関す

る情報は、 『7 シ リーズ FPGA パッケージおよびピン配置ガイ ド』 (UG475) を参照してください。

注記 : Virtex-7 HT デバイスでは CFGBVS ピンを利用できません。 このデバイスはコンフ ィギュ

レーシ ョ ン バンクで 1.8V 動作しかサポート していません。

バンク 0 でサポート される I/O 電圧は、 常に CFGBVS ピンの設定によって決ま り、 バンク 14 およびバンク 15 のコンフ ィギュレーシ ョ ン中の I/O 電圧も このピンによって決ま り ます。 コンフ ィ

ギュレーシ ョ ン中に使用する場合、各コンフ ィギュレーシ ョ ン バンクの VCCO は CFGBVS の設定

と一致させる必要があ り ます。つま り、CFGBVS を VCCO_0 に接続した場合は 2.5V または 3.3V、

GND に接続した場合は 1.8V または 1.5V とな り ます。

表 2-5 に、 CFGBVS ピンの接続と有効な VCCO 電源電圧および I/O 電圧の対応を示します。

注意 : CFGBVS を Low にして 1.8V/1.5V I/O 動作とする場合は、 バンク 0 に対する VCCO_0の電源電圧および I/O 信号の電圧を 1.8V 以下とする必要があ り ます。 コンフ ィギュレーシ ョ

ン中にこれらのバン クのコンフ ィ ギュ レーシ ョ ン I/O を使用する場合、 VCCO_14 および

VCCO_15 も 1.8V/1.5V にする必要があ り ます。 1.8V の 大動作電圧を超える電圧をこれら

のバンクのピンに供給する と、 デバイスが損傷する可能性があ り ます。

コンフ ィギュレーシ ョ ン モードによっては、 バンク 0、 バンク 14、 バンク 15 の複数のバンクにま

たがるインターフェイス ピンを使用するこ とがあ り ます。 通常は、 コンフ ィギュレーシ ョ ン イン

ターフェイスのすべてのピンに一貫した I/O 電圧インターフェイスを確保するために、 3 つのバン

クすべてには同じ VCCO 電圧が供給されます。

CFGBVS ピンを正し く設定するには、 次の手順に従います。

1. FPGA のコンフ ィギュレーシ ョ ン モードを決定する。

表 2-5 : CVGBVS ピンの接続オプシ ョ ン

CFGBVS ピンの接続

サポート されるコンフ ィギュレーシ ョ ン バンク 0/14/15 VCCO 電源電圧と I/O 信号電圧

Artix-7、 Kintex-7 Virtex-7 T、 XT Virtex-7 HT

該当するバンク 0、 14、 15 0 なし

VCCO_0

(3.3V または 2.5V)3.3V または 2.5V 3.3V または 2.5V 1.8V

(CFGBVS なし )GND 1.8V または 1.5V 1.8V または 1.5V

Page 37: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 37UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン ピン

注記 : コンフ ィギュレーシ ョ ン モードにかかわらず、 JTAG インターフェイスはバンク 0 のVCCO_0 電圧レベルで常にサポート されます。

2. FPGA で使用する各コンフ ィギュレーシ ョ ン モードについて、コンフ ィギュレーシ ョ ンに使用

するピンとそのピンが属するバンクを確認する (表 2-2 および表 2-3 参照)。

3. コンフ ィギュレーシ ョ ンで使用するすべてのピンについて必要な I/O 電圧を確認し、 その条件

を満たすよ うに各バンクの I/O 電圧を決定する。

4. ターゲッ ト FPGA ファ ミ リ を選択する。 Virtex-7 FPGA はバンク 14 および 15 で 1.8V/1.5Vのコンフ ィギュレーシ ョ ンのみサポート しています。Virtex-7 HT ファ ミ リはバンク 0 の 1.8Vコンフ ィギュレーシ ョ ンしかサポート していないため、 CFGBVS ピンはあ り ません。

5. 必要なコンフ ィギュレーシ ョ ン I/O 電圧をサポートできるよ うに CFGBVS ピンを設定する。

CFGBVS ピンの正しい設定方法は、 表 2-9 ~表 2-11 を参照してください。

表 2-6 : コンフ ィギュレーシ ョ ン モード、設定可能な電圧、CFGBVS ピンの接続 (Artix-7 および Kintex-7 FPGA の場合)

コンフ ィギュ

レーシ ョ ン モード

使用する

バンク

コンフ ィギュ

レーション インターフェイ

スの I/O 電圧

HR バンク 0 VCCO_0

HR バンク 14 VCCO_14

HR バンク 15 VCCO_15

CFGBVS

JTAG (専用

の場合)0

3.3V3.3V 任意 任意 VCCO_0

2.5V 2.5V 任意 任意 VCCO_0

1.8V 1.8V 任意 任意 GND

1.5V 1.5V 任意 任意 GND

シ リ アル、

SPI、または SelectMAP

0、14(1)

3.3V 3.3V 3.3V 任意 VCCO_0

2.5V 2.5V 2.5V 任意 VCCO_0

1.8V 1.8V 1.8V 任意 GND

1.5V 1.5V 1.5V 任意 GND

BPI 0、 14、15

3.3V 3.3V 3.3V 3.3V VCCO_0

2.5V 2.5V 2.5V 2.5V VCCO_0

1.8V 1.8V 1.8V 1.8V GND

1.5V 1.5V 1.5V 1.5V GND

注記 :

1. マルチブートおよびフォールバッ クの RS[1:0] はバンク 15 にあ り ますが、使用されるのは通常 BPI モード

でのみです。

Page 38: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

38 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

表 2-7 : コンフ ィギュレーシ ョ ン モード、 設定可能な電圧、 CFGBVS ピンの接続 (Virtex-7 およ

び XT FPGA の場合)

コンフ ィギュ

レーシ ョ ン モード

使用する

バンク

コンフ ィギュ

レーシ ョ ン インターフェイス

の I/O 電圧

HR バンク 0 VCCO_0

HP バンク 14 VCCO_14

(1)HP バンク 15 VCCO_15

(1) CFGBVS

JTAG

(専用の場合)0

3.3V 3.3V ≤1.8V ≤1.8V VCCO_0

2.5V 2.5V ≤1.8V ≤1.8V VCCO_0

1.8V 1.8V ≤1.8V ≤1.8V GND

1.5V 1.5V ≤1.8V ≤1.8V GND

シ リ アル、

SPI、 または SelectMAP

0、 14(2)

1.8V 1.8V 1.8V ≤1.8V GND

1.5V 1.5V 1.5V ≤1.8V GND

BPI 0、 14、15

1.8V 1.8V 1.8V 1.8V GND

1.5V 1.5V 1.5V 1.5V GND

注記 :

1. Virtex-7 FPGA のバンク 14 とバンク 15 は HP バンクであるため、1.8V 以下の I/O 規格にのみ対応します。

CFGBVS はこれらのバンクに影響を与えません。

2. マルチブートおよびフォールバッ クの RS[1:0] はバンク 15 にあ り ますが、使用されるのは通常 BPI モード

でのみです。

表 2-8 : コンフ ィギュレーシ ョ ン モード、 設定可能な電圧 (Virtex-7 HT の場合)

コンフ ィギュ

レーシ ョ ン モード

使用する

バンク

コンフ ィギュ

レーシ ョ ン イン

ターフェイスの I/O 電圧

HP バンク 0 VCCO_0

HP バンク 14 VCCO_14

HP バンク 15 VCCO_15

CFGBVS(1)

JTAG

(専用の場合)0 1.8V 1.8V

≤1.8V ≤1.8V N/A

シ リアル、

SPI、 または SelectMAP

0、14(2) 1.8V 1.8V

1.8V ≤1.8V N/A

BPI 0、 14、15

1.8V 1.8V1.8V ≤1.8V N/A

注記 :

1. Virtex-7 HT デバイスはバンク 0 を含むコンフ ィギュレーシ ョ ン バンクの 1.8V 動作しかサポート していま

せん。 CFGBVS は使用できません。

2. マルチブートおよびフォールバッ クの RS[1:0] はバンク 15 にあ り ますが、使用されるのは通常 BPI モード

でのみです。

Page 39: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 39UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン ピン

Vivado ツールでコンフ ィギュレーシ ョ ン オプシ ョ ンを設定する

コンフ ィギュレーシ ョ ン電圧は、 Vivado ツールで CONFIG_VOLTAGE または CFGBVS プロパ

テ ィ を設定して選択できます。 さ らに、 CONFIG_MODE プロパテ ィ を設定する こ とでどのコン

フ ィギュレーシ ョ ン ピンが使用されるかをツールが認識できるよ うにな り ます。 多目的コンフ ィ

ギュレーシ ョ ン ピンの IOSTANDARD がコンフ ィギュレーシ ョ ン電圧と競合するなど、 コンフ ィ

ギュレーシ ョ ン ピンの設定に競合が生じる と、Vivado ツールで警告メ ッセージが表示されます。こ

れらのプロパティは、 Vivado Configuration Dialog (Edit Device Settings) で、 または Tcl コマンド

を用いて設定できます。Tcl 構文の詳細は、『Vivado Design Suite プロパティ リ ファレンス ガイ ド』

(UG912) を参照して く ださい。 Vivado ツールによ る これらオプシ ョ ンの使用例については、

『Vivado Design Suite ユーザー ガイ ド : I/O およびクロ ッ ク配置』 (UG899) を参照してください。

外部マスター コンフ ィギュレーシ ョ ン クロック (EMCCLK) オプシ ョ ン

マスター コンフ ィギュレーシ ョ ン モードでは、 デフォル トで内部で生成されたコンフ ィギュレー

シ ョ ン ク ロ ッ ク ソース CCLK を使用します。 このクロ ッ ク オプシ ョ ンを使用する と、外部クロ ッ

ク ジェネレーター ソースが不要となるため便利です。 ただし、 コンフ ィギュレーシ ョ ン時間の短

縮が要求されるアプリ ケーシ ョ ンでは外部マスター コンフ ィギュレーシ ョ ン ク ロ ッ ク (EMCCLK)を使用して ください。 FPGA の内部クロ ッ クにはマスター CCLK 周波数偏差 (FMCCKTOL) がある

ため、 EMCCLK ク ロ ッ クの方がよ り高精度な外部クロ ッ ク ソースを利用できます。 たとえば、 マ

スター CCLK の 大周波数が 100MHz の場合、 50% の偏差は ConfigRate で 66MHz を超える値

に設定できないこ とを意味します。一方、外部クロ ッ ク ソースの偏差 (100.2MHz、 大) が 200ppmまたはそれ以下であれば、 100MHz 相当を使用できます。 7 シ リーズ FPGA には、 マスター モー

ド時に外部クロ ッ ク ソース (EMCCLK) に動的に切り替える機能があ り ます。

外部クロ ッ ク ソースを有効にする方法は、 次のとおりです。

表 2-9 : コンフ ィギュレーシ ョ ン モード、 互換性のある電圧、 CFGBVS ピンの接続

コンフ ィギュ

レーシ ョ ン

モード

コンフ ィギュ

レーシ ョ ン インターフェイス

I/O 電圧

適用可能なファ ミ リ 互換性のあるバンク電圧 必要な

CFGBVS

ピンの

接続

Artix™-7

ファ ミ リ

Kintex™-7

ファ ミ リ

Virtex®-7

ファ ミ リ

バンク 0VCCO_0

電圧

バンク 14VCCO_14

電圧

バンク 15VCCO_15

電圧

JTAG

(専用の場合)

3.3V √ √ (3) 3.3V 任意(1) 任意(1) VCCO_0

2.5V √ √ (3) 2.5V 任意(1) 任意(1) VCCO_0

1.8V √ √ √ 1.8V 任意(1) 任意(1) GND

シ リ アル、 SPI、または

SelectMAP

3.3V √ √ N/A(1) 3.3V 3.3V 任意(1) VCCO_0

2.5V √ √ N/A(1) 2.5V 2.5V 任意(1) VCCO_0

1.8V √ √ √ 1.8V 1.8V 任意(1) GND

BPI

3.3V √ √ N/A(1) 3.3V 3.3V 3.3V VCCO_0

2.5V √ √ N/A(1) 2.5V 2.5V 2.5V VCCO_0

1.8V √ √ √ 1.8V 1.8V 1.8V GND

注記 :

1. Virtex-7 FPGA のバンク 14 とバンク 15 は HP バンクであるため、 1.8V 以下の I/O 規格にのみ対応します。

2. コンフ ィギュレーシ ョ ン モードにかかわらず、 JTAG インターフェイスはバンク 0 の VCCO_0 電圧レベルで常にサポート されます。

3. Virtex-7 HT デバイスはバンク 0 の 1.8V 動作しかサポート していません。

Page 40: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

40 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

1. ビッ ト ス ト リーム生成オプシ ョ ンで ExtMasterCclk_en を有効にします。

2. EMCCLK の目標電圧を定義します。 次のよ うに定義されます。

• バンク 14 には、 IOSTANDARD が指定された別のピンがあ り ます。 バンク 14 に定義さ

れている電圧は自動的に EMCCLK に適用されます。

• コンフ ィギュレーシ ョ ン後 EMCCLK 信号はデザインで使用され、 その IOSTANDARDが指定されます。

3. EMCCLK をオンボードのオシレーターまたはその他のクロ ッ ク ソースに接続します。

EMCCLK 入力は、 専用のリ ソースを使用してコンフ ィギュレーシ ョ ン ロジッ ク よ り も前で 2、 4、8 分周するこ と も、 そのままのレートで使用する (1 分周) こ と もできます。 ExMasterCclk_en オプ

シ ョ ンは、Vivado で BITSTREAM.CONFIG.EXTMASTERCCLK_EN プロパティを用いて設定し

ます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) を参

照して ください。

set_property BITSTREAM.CONFIG.EXTMASTERCCLK_EN Disable|div-8|div-4|div-2|div-1

デフォルトは無効 (Disable) で、 内部 CCLK を使用します。

EMCCLK は多目的ピンのため、 EMCCLK 信号をデザインでインスタンシエート または使用して

I/O 規格を定義するか、バンク 14 で定義されている別のピンから電圧レベルが取得されます。入力

は EMCCLK ピンの位置に固定します ( 『7 シ リーズ FPGA パッケージおよびピン配置ガイ ド』

(UG475) 参照)。 EMCCLK 入力をオンボードのオシレーターまたはその他のクロ ッ ク ソースに接

続します。 コンフ ィギュレーシ ョ ン エラーを防ぐため、 ク ロ ッ クが非常に高速な場合は特にシグナ

ル インテグ リ ティに配慮して設計してください。

コンフ ィギュレーシ ョ ンは、ビッ ト ス ト リーム ヘッダーが読み出されるまで FPGA の内部オシレー

ターで生成された CCLK で開始します。EMCCLK オプシ ョ ンが有効であれば、FPGA は内部オシ

レーターから EMCCLK ピンのクロ ッ クに切り替えます。

シリアル コンフ ィギュレーシ ョ ン モード

シ リ アル コンフ ィギュレーシ ョ ン モードでは、 CCLK の 1 サイクルで 1 コンフ ィギュレーシ ョ ン

ビッ ト を読み込み、 FPGA をコンフ ィギュレーシ ョ ンします。 CCLK は、 マスター シ リ アル モー

ドでは出力とな り、 スレーブ シ リアル モードでは入力となり ます。

図 2-1 に、 7 シ リーズ FPGA の基本的なシ リ アル コンフ ィギュレーシ ョ ン インターフェイスを示

します。

X-Ref Target - Figure 2-1

図 2-1 : 7 シリーズ FPGA のシリアル コンフ ィギュレーシ ョ ン インターフェイス

DOUT

DONE

CCLK

PUDC_B

INIT_B

DIN

M[2:0]

UG470_c2_01_091310

PROGRAM_B

Page 41: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 41UG470 (v1.9) 2014 年 11 月 14 日

シリアル コンフ ィギュレーシ ョ ン モード

図 2-1 に示すシ リ アル コンフ ィギュレーシ ョ ン インターフェイスのピンは、 27 ページの表 2-4 で説明されています。

スレーブ シリアル コンフ ィギュレーシ ョ ン

スレーブ シ リ アル コンフ ィギュレーシ ョ ンは、 通常、 シ リ アル デイジー チェーン接続した複数デ

バイスをコンフ ィギュレーシ ョ ンする と き、または外部マイクロプロセッサ/CPLD から単独デバイ

スをコンフ ィギュレーシ ョ ンする と きに使用します (図 2-2 参照)。スレーブ シ リ アル コンフ ィギュ

レーシ ョ ンで考慮すべき点は、 CCLK の方向を除いて、 マスター シ リ アル コンフ ィギュレーシ ョ

ン と同様です。 CCLK は、 データを提供する外部ク ロ ッ ク ソースから駆動する必要があ り ます

(43 ページの 「シ リ アル コンフ ィギュレーシ ョ ン データのクロ ッキング」 参照)。 デイジー チェー

ンの詳細は、 第 9 章 「複数 FPGA のコンフ ィギュレーシ ョ ン」 を参照して ください。

Page 42: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

42 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

図 2-2 について説明します。

1. 7 シ リーズ FPGA の VCCO_0 とザイ リ ンクス ケーブルの VREF は同じ電圧とする必要があ り

ます。

2. DONE ピンはオープン ド レイン出力です。DONE 信号の詳細は、 27 ページの表 2-4 を参照し

て ください。

3. INIT_B ピンは双方向オープン ド レイン ピンで、 外部プルアップ抵抗が必要です。

X-Ref Target - Figure 2-2

図 2-2 : スレーブ シリアル モードのコンフ ィギュレーシ ョ ン

TDI TDO

TMS

TCK

PROGRAM_B

VCCINT

INIT_B

DONE

GND

PUDC_B

VCCO_0

VCCO_0

4.7

k

M1

M0

DOUT

330

DIN

CCLK

4.7

k

CLOCK

SERIAL_OUT

PROGRAM_B

PROGRAM_B

INIT_B

DONE

VCC

GND

ConfigurationMemorySource

UG470_c2_02_021914

7 SeriesFPGA

VCCO_0

VCCO_0

VCCBATT

VCCO_0

Microprocessoror CPLD

1

14

Xili

nx C

able

Hea

der

(JT

AG

Inte

rfac

e)

VREF

TMS

TCK

TDO

TDI

N.C.

N.C.

VREF

M2

VCCAUX

VCCAUX

Refer to the Notes following this figure for related information.

CFGBVSSee Configuration Banks Voltage Select section for appropriate connection.

Page 43: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 43UG470 (v1.9) 2014 年 11 月 14 日

シリアル コンフ ィギュレーシ ョ ン モード

4. ビッ ト ス ト リームのスタート アップ ク ロ ッ ク設定で、 CCLK をシ リ アル コンフ ィギュレー

シ ョ ンに設定する必要があ り ます。

5. CCLK のシグナル インテグ リティが重要です。

6. VCCBATT は AES キーを格納している SRAM の電源です。 この SRAM を使用する場合は、

バッ クアップ バッテ リに接続してください。

マスター シリアル コンフ ィギュレーシ ョ ン

マスター シ リ アル コンフ ィギュレーシ ョ ン モードは、 FPGA が CCLK を生成するこ とを除けば、

スレーブ シ リ アル コンフ ィギュレーシ ョ ン モード と同様です。つま り、マスター シ リ アル モード

では CCLK は出力とな り ます。

7 シ リーズ FPGA では、従来のタイプのフラ ッシュ デバイスから少ピン数のコンフ ィギュレーシ ョ

ンを行うには、 主にマスター SPI モードを使用します。

7 シ リーズ FPGA は、レガシのシ リ アル PROM からコンフ ィギュレーシ ョ ンを行う場合や、CPLDベースのカスタム コンフ ィギュレーシ ョ ン ステート マシンを FPGA の CCLK で駆動するための

マスター シ リ アル モードをサポート しています。

シリアル コンフ ィギュレーシ ョ ン データのクロッキング 図 2-3 に、 7 シ リーズ デバイスのスレーブ シ リ アルおよびマスター シ リ アル モードにおけるコン

フ ィギュレーシ ョ ン データのクロ ッ ク シーケンスを示します。

図 2-3 について説明します。

1. ビッ ト 0 は、 初のバイ トの MSB を示します。たとえば、 初のバイ トが 0xAA (1010_1010)の場合、 ビッ ト 0 = 1、 ビッ ト 1 = 0、 ビッ ト 2 = 1 とな り ます。

2. マスター コンフ ィギュレーシ ョ ン モードの場合、 CCLK は INIT_B が High に遷移してから

DONE が High へ遷移するまで駆動されます。それ以外では、 CCLK はハイインピーダンス状

態です。 データシートに記載のタイ ミ ングは CCLK ピンに関連するものです。

3. スレーブ シ リ アル モードの場合、 CCLK はフ リーランニングになり ます。

X-Ref Target - Figure 2-3

図 2-3 : シリアル コンフ ィギュレーシ ョ ンのクロッキング シーケンス

PROGRAM_B

INIT_B

CCLK

DONE

Master DIN

Master CLK Begins Here(2)

DIN Data Bits clocked on Rising Edge of CCLK

UG470_c2_03_110513

BIT 0(1) BIT 1 BIT n BIT n+1

BIT n-63BIT n-64Master DOUT /

Slave DIN

Page 44: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

44 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

SelectMAP コンフ ィギュレーシ ョ ン モード

SelectMAP コンフ ィギュレーシ ョ ン インターフェイス (図 2-4 参照) には、 7 シ リーズ FPGA デバ

イスのコンフ ィギュレーシ ョ ン ロジッ ク と接続するための 8 ビッ ト 、16 ビッ ト、 または 32 ビッ ト

の双方向データ バスがあ り、 コンフ ィギュレーシ ョ ンおよびリードバッ クの両方に使用されます。

リードバッ クおよび読み出し方向でのデータ バスの使用は、 スレーブ SelectMAP モードでのみ可

能です。 詳細は、 第 6 章 「リードバッ クおよびコンフ ィギュレーシ ョ ンの検証」 を参照してくださ

い。 SelectMAP のバス幅は自動的に検出されます (82 ページの 「バス幅の自動検出」 参照)。

CCLK は、マスター SelectMAP モードでは出力となり、スレーブ SelectMAP モードでは入力とな

り ます。SelectMAP バスを使用し、1 つまたは複数の 7 シ リーズ デバイスをコンフ ィギュレーシ ョ

ンできます。

SelectMAP モードで FPGA をコンフ ィギュレーシ ョ ンするには、 次の方法があ り ます。

• 単一デバイス スレーブ SelectMAP

一般的な構成では、 データおよびク ロ ッ クを供給するプロセッサを使用します。 このほか、

CPLD などのプログラマブル ロジッ ク デバイスをコンフ ィギュレーシ ョ ン マネージャーと し

て使用し、 FPGA のスレーブ SelectMAP インターフェイスを利用して FPGA をコンフ ィギュ

レーシ ョ ンする方法もあ り ます。

• 複数デバイス デイジー チェーン SelectMAP バス

フラ ッシュ メモ リ またはプロセッサから、 複数の FPGA を順番に異なるイ メージでコンフ ィ

ギュレーシ ョ ンします。

• 複数デバイス連結の SelectMAP

フラ ッシュ メモ リ またはプロセッサから、複数の FPGA を並列に同じイ メージでコンフ ィギュ

レーシ ョ ンします。

この章では、マスター SelectMAP およびスレーブ SelectMAP の基本的なコンフ ィギュレーシ ョ ン

方法について説明します。 複数デバイスのコンフ ィギュレーシ ョ ン方法は、 第 9 章で説明します。

SelectMAP シ ミ ュレーシ ョ ン モデルの詳細は、『ザイ リ ンクス合成およびシ ミ ュレーシ ョ ン デザイ

ン ガイ ド』 (UG626) のデザインのシ ミ ュレーシ ョ ンについて説明している第 6 章を参照して くだ

さい。

BPI はパラレル フラ ッシュを使用している と きに推奨されるコンフ ィギュレーシ ョ ン モードです

(61 ページの 「マスター BPI コンフ ィギュレーシ ョ ン インターフェイス」 参照)。

X-Ref Target - Figure 2-4

図 2-4 : 7 シリーズ FPGA の SelectMAP コンフ ィギュレーシ ョ ン インターフェイス

DONE

CCLK

PROGRAM_B

INIT_B

D[31:00]

M[2:0]

CSI_B

RDWR_B

CSO_B

UG470_c2_04_062812

PUDC_B

RS[1:0]

Page 45: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 45UG470 (v1.9) 2014 年 11 月 14 日

SelectMAP コンフ ィギュレーシ ョ ン モード

図 2-4 に示す SelectMAP コンフ ィギュレーシ ョ ン インターフェイスのピンは、 27 ページの表 2-4で説明されています。

単一デバイスの SelectMAP コンフ ィギュレーシ ョ ン

マイクロプロセッサによる SelectMAP コンフ ィギュレーシ ョ ン

マイクロプロセッサまたは CPLD を使用して単一の 7 シ リーズ デバイスをコンフ ィギュレーシ ョ ン

するカスタム アプリケーシ ョ ンでは、マスター SelectMAP モード (FPGA からの CCLK を使用) またはスレーブ SelectMAP モードを利用できますが (図 2-5 参照)、 スレーブ SelectMAP モードが推

奨されます。 マイクロプロセッサを使用するザイ リ ンクス FPGA のコンフ ィギュレーシ ョ ンの詳細

は、 アプリ ケーシ ョ ン ノート 『スレーブ シ リ アルまたは SelectMAP モードでマイクロプロセッサ

を使用した 7 シ リーズ FPGA のコンフ ィギュレーシ ョ ン』 (XAPP583) を参照してください。

Page 46: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

46 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

図 2-5 について説明します。

1. 可能なインプリ メンテーシ ョ ンの詳細は、 アプリ ケーシ ョ ン ノート 『スレーブ シ リ アルまた

は SelectMAP モードでマイ クロプロセッサを使用した 7 シ リーズ FPGA のコンフ ィギュレー

シ ョ ン』 (XAPP583) を参照してください。

2. プロセッサまたは CPLD の I/O は、 接続されている FPGA ピンと互換性のある電圧をサポー

ト している必要があ り ます。7 シ リーズ FPGA の VCCO_0 電源入力とザイ リ ンクス ケーブルの

VREF は同じ電圧とする必要があ り ます。

3. DONE ピンはオープン ド レイン出力です。DONE 信号の詳細は、 27 ページの表 2-4 を参照し

て ください。

X-Ref Target - Figure 2-5

図 2-5 : 単一デバイスのスレーブ SelectMAP コンフ ィギュレーシ ョ ン (マイクロプロセッサまたは CPLD を使用)

PROGRAM_B

SELECT

CLOCK

PROGRAM_B

INIT_B

DONE

VCCINT

INIT_B

CSI_B

PROGRAM_BDONE

GND

M1

M0

PUDC_B

CCLK

D[31:0]

RDWR _B

VCCO_0

.

VCC

VCCO_0

GND

Configuration Memory Source

TMS

TDO

TCK

TDI

VREF

TMS

TCK

TDO

TDI

N.C.N.C.

14

1

Xil

inx

Ca

ble

He

ade

r(J

TA

G In

terf

ace)

4.7

UG470_c2_05_072114

7 Series FPGA

Microprocessoror CPLD

D[31:0]

READ/WRITE

VCCO_0

4.7

330Ω

VREF

CSO_B

VCCAUX

VCCAUX

VCCO_0

VCCO_0VCCO_14

VCCO_14

VCCO_15

VCCO_15

M2

Refer to the Notes following this figure for related information.

VCCBATT

See Configuration Banks Voltage Select section for appropriate connection. CFGBVS

Page 47: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 47UG470 (v1.9) 2014 年 11 月 14 日

SelectMAP コンフ ィギュレーシ ョ ン モード

4. INIT_B ピンは双方向オープン ド レイン ピンで、 外部プルアップ抵抗が必要です。

5. ビッ ト ス ト リームのスタート アップ ク ロ ッ ク設定では、 CCLK を SelectMAP コンフ ィギュ

レーシ ョ ンに設定する必要があ り ます。

6. 1 つの FPGA のみをコンフ ィギュレーシ ョ ンする場合、 かつリードバッ クが不要な場合は、

CSI_B および RDWR_B 信号をグランドに接続できます。

7. CCLK のシグナル インテグ リティが重要です。

8. VCCBATT は AES キーを格納している SRAM の電源です。 この SRAM を使用する場合は、

バッ クアップ バッテ リに接続してください。

9. スレーブ SelectMAP コンフ ィギュレーシ ョ ンの場合、 データ バス幅は x8、 x16、 または x32が可能です。スレーブ SelectMAP の x16 および x32 バス幅では、ビッ ト ス ト リームの AES 暗号化はサポート されていません。

SelectMAP データ読み込み

SelectMAP インターフェイスでは、 データを連続的または非連続的に読み込むこ とが可能です。

データ読み込みは、 CSI_B、 RDWR_B、 および CCLK 信号で制御します。

CSI_B

チップ セレク ト入力 (CSI_B) は、 SelectMAP バスを有効にします。 CSI_B が High のと き、 7 シリーズ デバイスは SelectMAP インターフェイスを無視し、 入力データを取り込んだり、 出力を駆

動するこ とはあ り ません。 D[31:0] ピンはハイインピーダンスになり、 RDWR_B は無視されます。

• CSI_B = 0 の場合、 デバイスの SelectMAP インターフェイスは有効

• CSI_B = 1 の場合、 デバイスの SelectMAP インターフェイスは無効

SelectMAP モードでコンフ ィギュレーシ ョ ンされるデバイスが 1 つのみ、かつリードバッ クが不要

な場合、 CSI_B 信号をグランドに接続できます。

RDWR_B

RDWR_B は 7 シ リーズ デバイスの入力であ り、 データ ピンが入力または出力かを選択します。

• RDWR_B = 0 の場合、 データ ピンは入力 (FPGA に書き込む)

• RDWR_B = 1 の場合、 データ ピンは出力 (FPGA から読み出す)

コンフ ィギュレーシ ョ ンの際は、 RDWR_B は書き込みに設定 (RDWR_B = 0) する必要があ り ま

す。 リードバッ クを実行するには、 CSI_B がアサート されている間に RDWR_B を読み出し制御

(RDWR_B = 1) に設定してください (詳細は、 第 6 章 「リードバッ クおよびコンフ ィギュレーシ ョ

ンの検証」 参照)。

CSI_B が Low の間に RDWR_B の値が Low から High へ遷移する と ABORT が生じ、 コンフ ィ

ギュレーシ ョ ン I/O が非同期的に入力から出力へ変更します。 ABORT ステータスはクロ ッ クに同

期してデータ ピンに現れます。 CSI_B が Low の間に RDWR_B の値が High から Low へ遷移す

る場合も ABORT が生じてコンフ ィギュレーシ ョ ン I/O が非同期的に出力から入力へ変更します

が、 ABORT ステータスのリードバッ クはあ り ません。 リードバッ クが不要な場合、 RDWR_B はグランドに接続するか、 SelectMAP ABORT 時のデバッグに使用できます。 詳細は、 「SelectMAPの ABORT」 を参照してください。

CSI_B がディアサート されている場合、 RDWR_B 信号は無視されます。 データ ピンの ト ラ イ ステートの読み出し /書き込み制御は非同期です。CSI_B がアサート されている間、RDWR_B を読み

Page 48: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

48 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

出しに設定 (RDWR_B = 1、 リードバッ ク ) する と、 FPGA は CCLK に関係なく SelectMAP デー

タをアクティブに駆動します。

CCLK

SelectMAP データ バスのすべての動作は、 CCLK に同期しています。 RDWR_B が書き込み制御

に設定されている場合 (RDWR_B = 0、 コンフ ィギュレーシ ョ ン)、FPGA は SelectMAP データ ピンを CCLK の立ち上がりエッジでサンプリ ングします。RDWR_B が読み出し制御に設定されてい

る場合 (RDWR_B = 1、 リードバッ ク )、 FPGA は SelectMAP データ ピンを CCLK の立ち上がり

エッジで更新します。

スレーブ SelectMAP モードでは、 CCLK を停止するこ とによってコンフ ィギュレーシ ョ ンを中断

できます (50 ページの 「SelectMAP データの不連続読み込み」 参照)。

SelectMAP データの連続読み込み

データの連続読み出しは、 コンフ ィギュレーシ ョ ン コン ト ローラーからコンフ ィギュレーシ ョ ン

データ ス ト リームを中断な く供給可能なアプ リ ケーシ ョ ンで使用します。 電源投入後、 コンフ ィ

ギュ レーシ ョ ン コ ン ト ローラーは RDWR_B 信号を書き込み制御に設定 (RDWR_B = 0) し、

CSI_B 信号をアサート (CSI_B = 0) します。CSI_B がアサート される前に RDWR_B は Low 駆動

する必要があ り、 そ う しないと ABORT が発生します。

デバイスは、CCLK の次の立ち上がりエッジでデータ ピンのサンプリ ングを開始します。コンフ ィ

ギュレーシ ョ ンでは、 バス幅が決定するまで D[0:7] ピンのみがサンプ リ ングされます。 詳細は、

82 ページの 「バス幅の自動検出」 を参照して ください。 バス幅が決定する と、同期幅を検出するた

めに適切な幅のデータ バスがサンプリ ングされます。同期ワードがデバイスに伝搬された後、 コン

フ ィギュレーシ ョ ンが開始します。

コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの読み込み後に、 デバイスはスタート アップ シーケン

スを開始します。デバイスは、ビッ ト ス ト リームで指定されたスタート アップ シーケンスで、DONE信号を High にアサート します (第 5 章の 「スタート アップ (手順 8)」 参照)。コンフ ィギュレーシ ョ

ン コン ト ローラーは、 スタート アップ シーケンスの完了まで CCLK パルスを継続して送信する必

要があ り ます (DONE が High になった後でも、CCLK パルスが数サイクル必要な場合があ り ます。

詳細は、 第 5 章の 「スタート アップ (手順 8)」 を参照して ください)。

CSI_B および RDWR_B 信号は、 コンフ ィギュレーシ ョ ン後にディアサートできますが、アサート

したま までもかまいません。 SelectMAP ポー ト はア ク テ ィ ブでな く なっているため、 こ こで

RDWR_B を ト グルしても ABORT は生じません。

Page 49: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 49UG470 (v1.9) 2014 年 11 月 14 日

SelectMAP コンフ ィギュレーシ ョ ン モード

図 2-6 に、SelectMAP コンフ ィギュレーシ ョ ンにおける連続的なデータ読み出しのタイ ミ ングを示

します。

図 2-6 について説明します。

1. SelectMAP バスにデバイスが 1 つしかない場合、 CSI_B 信号を Low に接続できます。 CSI_Bが Low に接続されていないと きは、 随時アサート可能です。

2. リードバッ クが不要な場合は RDWR_B を Low に接続できます。CSI_B をアサート した後は、

RDWR_B を ト グルしないでください。 ト グルする と ABORT が生じます。

3. モード ピンは、 INIT_B が High になったと きにサンプリ ングされます。 ステータス レジスタ

はアップデート されて x8 モードを示します。

4. ABORT を回避するため、 CSI_B よ り前に RDWR_B をアサートする必要があ り ます。

5. CSI_B をアサート して SelectMAP インターフェイスを有効にします。

6. CSI_B のアサート後の 初の CCLK の立ち上がりエッジで、 初のバイ トが読み込まれます。

7. 各 CCLK の立ち上がりエッジで 1 バイ トのコンフ ィギュレーシ ョ ン ビッ ト ス ト リームが読み

込まれます。

8. スタート アップ コマンドの読み込み後に、 デバイスはスタート アップ シーケンスを開始しま

す。

9. スタート アップ シーケンスは、 短で CCLK の 8 サイクル間継続されます (第 5 章の「スター

ト アップ (手順 8)」 参照)。

10. スタート アップ シーケンスで DONE ピンは High になり ます。 スタート アップ シーケンスを

完了するために追加の CCLK が必要な場合があ り ます (第 5 章の 「スタート アップ (手順 8)」参照)。

11. コンフ ィギュレーシ ョ ンが完了したら、 CSI_B 信号をディアサートできます。

12. CSI_B 信号がディアサート されたら、 RDWR_B をディアサートできます。

13. スレーブ SelectMAP の場合、 データ バスは x8、 x16、 または x32 が可能です。 バス幅検出

シーケンス後、 ステータス レジスタがアップデート されます。

X-Ref Target - Figure 2-6

図 2-6 : x8 SelectMAP データの連続的な読み込み

PROGRAM_B

INIT_B

CCLK

CSI_B

RDWR_B

D[0:7]

UG470_c2_06_072610

Byte 0 Byte 1 Byte n

DONE

(1)

(2)

(3)

(4)

(5)

(6) (7) (8) (9)

(10)

(11)

(12)

Page 50: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

50 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

SelectMAP データの不連続読み込み

データの不連続読み込みは、コンフ ィギュレーシ ョ ン コン ト ローラーからコンフ ィギュレーシ ョ ン

データを連続的に供給できないアプリ ケーシ ョ ンで使用します。 たとえば、 新しいデータをフェッ

チする間コンフ ィギュレーシ ョ ンが中断するよ うなコン ト ローラーがこれに該当します。

コンフ ィギュレーシ ョ ンを一時停止させる方法は 2 つあり ます。1 つは CSI_B 信号をディアサート

する方法 (図 2-7 に示すフ リーランニング CCLK 手法) で、 も う 1 つは、 CCLK を停止する方法 (図 2-8 に示す制御 CCLK 手法) です。

図 2-7 について説明します。

1. RDWR_B を Low に駆動し、 D[0:n] ピンをコンフ ィギュレーシ ョ ンの入力と して設定します。

リードバッ クが不要な場合は RDWR_B を Low に接続できます。CSI_B をアサート した後は、

RDWR_B を ト グルしないでください。 ト グルする と ABORT が生じます。

2. INIT_B が High になる と、 デバイスはコンフ ィギュレーシ ョ ン可能な状態とな り ます。

3. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。 スレーブ SelectMAP の場合、 デー

タ バスは x8、 x16、 または x32 が可能です。

4. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

5. ユーザーが CSI_B をディアサート し、 このバイ トは無視されます。

6. ユーザーが CSI_B をディアサート し、 このバイ トは無視されます。

7. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

8. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

9. ユーザーが CSI_B をディアサート し、 このバイ トは無視されます。

10. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

11. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

12. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

X-Ref Target - Figure 2-7

図 2-7 : フリーランニング CCLK 手法を使用した SelectMAP データの不連続読み込み

PROGRAM_B

INIT_B

CCLK

CSI_B

RDWR_B

D[00:n]

UG470_c2_07_092210

(2)

(3) (4) (5) (6) (7) (8) (9) (10) (11) (12)

(1)

Page 51: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 51UG470 (v1.9) 2014 年 11 月 14 日

SelectMAP コンフ ィギュレーシ ョ ン モード

図 2-8 について説明します。

1. CSI_B がディアサート されている間、 データ ピンはハイインピーダンス状態です。 スレーブ

SelectMAP の場合、 データ バスは x8、 x16、 または x32 が可能です。

2. CSI_B がディアサート されている間、 RDWR_B はデバイスに影響を与えません。

3. ユーザーが CSI_B をアサート します。デバイスは、CCLK の立ち上がりエッジでコンフ ィギュ

レーシ ョ ン データの読み込みを開始します。

4. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

5. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

6. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

SelectMAP のデータ順

通常、 SelectMAP コンフ ィギュレーシ ョ ンは、 マイ ク ロプロセッサまたは CPLD にあるユーザー

アプリ ケーシ ョ ンを使用して駆動するか、場合によっては、その他の FPGA デバイスを使用して駆

動します。 これらのアプリ ケーシ ョ ンでは、 コンフ ィギュレーシ ョ ン データ ファ イル内のデータ

順と FPGA で予測されるデータ順の対応関係を理解しておく必要があ り ます。

SelectMAP x8 モードの場合、CCLK の 1 サイクルで 1 バイ トのコンフ ィギュレーシ ョ ン データが

読み込まれ、各バイ トの MSB は D0 ピンに現れます。 D0 = MSB、 D7 = LSB とい う規則は、 その

他のデバイスが採用しているものとは異な り ます。 x16 および x32 モードの場合は、 85 ページの

「パラレル バスのビッ ト順」 を参照してください。 この規則の違いが、 カスタム コンフ ィギュレー

シ ョ ン ソ リ ューシ ョ ンを設計する際に混乱の元となる こ とがあ り ます。 表 2-10 に、 16 進数の

0xABCD を SelectMAP データ バスに読み込む方法を示します。

このよ うな一般的な規則と異なるデータ順でも問題なく扱えるアプリ ケーシ ョ ンもあ り ますが、 そ

うでない場合は、 ソース コンフ ィギュレーシ ョ ン データ ファ イルをビッ ト スワ ップして、 データ

ス ト リームの各バイ ト内のビッ ト順を逆にした方が扱いやすくなるこ とがあ り ます。 このよ うなア

プリ ケーシ ョ ン用に、 ザイ リ ンクスの PROM ファ イル生成ソフ ト ウェアでは、 ビッ ト スワップし

X-Ref Target - Figure 2-8

図 2-8 : CCLK 制御法を使用した SelectMAP データの不連続読み込み

CCLK

CSI_B

RDWR_B

D[n:00]

UG470_c2_08_072610

Byte 0 Byte 1 Byte n

(1)

(2)

(3)

(4) (5) (6)

表 2-10 : SelectMAP 8 ビッ ト モードのビッ ト順

CCLK サイクル 16 進数 D0 D1 D2 D3 D4 D5 D6 D7

1 0xAB 1 0 1 0 1 0 1 1

2 0xCD 1 1 0 0 1 1 0 1

注記 :

1. D[00:07] は SelectMAP モードのデータ ピンです。

Page 52: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

52 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

た PROM ファ イルが生成可能です (81 ページの「コンフ ィギュレーシ ョ ン データ ファ イルの形式」

参照)。

表 2-11 に、 7 シ リーズ FPGA の SelectMAP x8、 x16、 x32 データ バス幅でのビッ ト順を示しま

す。7 シ リーズ FPGA の SelectMAP データ バスのビッ ト順は、Virtex-6 FPGA の場合と同様です。

SelectMAP の ABORTABORT とは、 SelectMAP コンフ ィギュレーシ ョ ンまたはリードバッ ク シーケンスが中断される

こ とです。 これは、 CCLK でサンプ リ ング される とお り CSI_B がアサー ト されている と きに

RDWR_B のステートが変更される と生じます。コンフ ィギュレーシ ョ ンの ABORT が発生する と、

CCLK の次の 4 サイ クル間、内部ステータスが D[04:07] ピンに送信されます。その他の D ピンは、

常に High です。 ABORT シーケンスの終了後、 ユーザーはコンフ ィギュレーシ ョ ン ロジッ クを再

同期化し、 コンフ ィギュレーシ ョ ンを再開できます。 バイ ト間で RDWR_B をディアサートする必

要があるアプリ ケーシ ョ ンでは、 CCLK を制御する方法を使用してください (表 2-8 参照)。

コンフ ィギュレーシ ョ ンの ABORT シーケンス

ABORT は、 コンフ ィギュレーシ ョ ン中に次のよ うにして出されます。

1. コンフ ィギュレーシ ョ ン シーケンスが正常に開始されます。

2. デバイスが選択されている と き (CSI_B が Low にアサート されている)、 RDWR_B ピンを

CCLK に同期して High 駆動します。

3. RDWR_B が読み出し制御 (ロジッ ク High) に設定された状態の場合、 FPGA がステータス

ワードをデータ ピンに送り ます。

4. ABORT が 4 ク ロ ッ ク サイクル間継続し、 ステータスが更新されます。図 2-9 を参照してくだ

さい。

表 2-11 : ビッ ト順

SelectMAP

データ バス幅

データ ピン

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

x32 24 25 26 27 28 29 30 31 16 17 18 19 20 21 22 23 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7

x16 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7

x8 0 1 2 3 4 5 6 7

Page 53: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 53UG470 (v1.9) 2014 年 11 月 14 日

SelectMAP の ABORT

リードバックの ABORT シーケンス

ABORT は、 リードバッ ク中に次のよ うにして出されます。

1. リードバッ ク シーケンスが正常に開始されます。

2. デバイスが選択されている と き (CSI_B が Low にアサート されている)、ユーザーが RDWR_Bピンを CCLK に同期して Low 駆動します。

3. CSI_B がディアサート される と ABORT が終了します。

図 2-10 を参照して ください。

X-Ref Target - Figure 2-9

図 2-9 : SelectMAP モードのコンフ ィギュレーシ ョ ン ABORT シーケンス

X-Ref Target - Figure 2-10

図 2-10 : リードバックの ABORT シーケンス

Page 54: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

54 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

リードバッ ク中の ABORT では、RDWR_B 信号が書き込み制御 (FPGA D[x:00] ピンが入力) と し

て設定されているため、 ステータス ワードの更新はあ り ません。

ABORT ステータス ワード

コンフ ィ ギュレーシ ョ ン中の ABORT シーケンスでは、 デバイスが D[00:07] ピンにステータス

ワードを送り ます。 ステータス ビッ トはビッ ト スワ ップしません。 また、 その他のデータ ピンは

常に High です。 表 2-12 で、 ステータス ワードについて説明します。

ABORT シーケンスは、 CCLK の 4 サイ クル間継続します。 このサイ クル間で、 データ アラ イ メ

ン トおよび ABORT ステータスに反映するよ う、ステータス ワードが更新されます。一般的なシー

ケンスは次のとおりです。

11011111 => DALIGN = 1, IN_ABORT_B = 110001111 => DALIGN = 0, IN_ABORT_B = 010001111 => DALIGN = 0, IN_ABORT_B = 010001111 => DALIGN = 0, IN_ABORT_B = 0

後のサイクルが終了する と、同期ワードの再読み込みが可能となり、データ アライ メン トが確立

します。

ABORT 後にコンフ ィギュレーシ ョ ンまたはリードバックを再開

ABORT 完了後にコンフ ィギュレーシ ョ ンまたはリードバッ クを再開させるには、 次の 2 つの方法

があ り ます。

• ABORT 完了後に再びデバイスを同期化する

• PROGRAM_B を Low 駆動させてデバイスを リセッ トする

デバイスを再同期化するには、 CSI_B をディアサート し、 再度アサート して ください。 ABORT が発生したと きに進行していた 後のコンフ ィギュレーシ ョ ン パケッ ト またはリードバッ ク パケッ

表 2-12 : ABORT ステータス ワード

ビッ ト ステータス ビッ ト名 説明

D07 CFGERR_B

コンフ ィギュレーシ ョ ン エラー (アクティブ Low)

0 = コンフ ィギュレーシ ョ ン エラー発生

1 = コンフ ィギュレーシ ョ ン エラーなし

D06 DALIGN

同期ワードの受信 (アクティブ High)

0 = 同期ワードを受信しない

1 = インターフェイス ロジッ クで同期ワードを

受信

D05 RIP

リードバッ クを実行中 (アクティブ High)

0 = リードバッ クを実行しない

1 = リードバッ クを実行する

D04 IN_ABORT_B

ABORT を実行中 (アクティブ Low)

0 = ABORT を実行する

1 = ABORT を実行しない

D03 ~ D00 1111 1 に固定

Page 55: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 55UG470 (v1.9) 2014 年 11 月 14 日

マスター SPI コンフ ィギュレーシ ョ ン モード

ト を送信する と、 コンフ ィギュレーシ ョ ン/ リードバッ クが再開します。 コンフ ィギュレーシ ョ ンま

たはリードバッ クを 初から再実行するこ と も可能です。

マスター SPI コンフ ィギュレーシ ョ ン モード

7 シ リーズ FPGA のマスター SPI コンフ ィギュレーシ ョ ン モードでは、 ビッ ト ス ト リームの格納

先に少ピン数の業界標準 SPI フラ ッシュ デバイスを使用できます。 これら FPGA は、 事実上の業

界標準となっている 4 ピン インターフェイスの SPI フラ ッシュ デバイスに直接接続して、 格納さ

れているビッ ト ス ト リームを読み出すこ とができます。

7 シ リーズ FPGA のマスター SPI コンフ ィギュレーシ ョ ン モード (図 2-11) では、オプシ ョ ンと し

て x2 および x4 の Fast Output Read をサポート した SPI デバイスからの読み出しも可能です。 こ

れらの出力モードは、標準の 1 ビッ ト SPI インターフェイスよ り もそれぞれ 2 倍または 4 倍高速で

す。 さ らに、 ク ロ ッ ク周期全体の利用効率を高めてコンフ ィギュレーシ ョ ン時間を短縮できる立ち

下がりエッジを使用するク ロ ッキング オプシ ョ ンも用意されています。 このほか、 128Mb を超え

る SPI フラ ッシュ (32 ビッ ト アドレス指定が必要) もサポート されています。 その他の命令および

制限は、 59 ページの 「128Mb を超える SPI のサポート 」 を参照してください。 スタ ッ ク ド シ リ コ

ン インターコネク ト (SSI) デバイスでの SPI コンフ ィギュレーシ ョ ンの使用の詳細は、 19 ページ

の 「スタ ッ ク ド シ リ コン インターコネク ト (SSI)」 を参照してください。

57 ページの図 2-12 に、データ幅 x1 および x2 の場合の SPI コンフ ィギュレーシ ョ ンの接続を示し

ます。x2 モードでは多目的ピンの D00_MOSI をデータ I/O ピンと して使用するため、x1 モードの

場合と接続は同様です。 デイジー チェーン接続のコンフ ィギュレーシ ョ ンは、 SPI x1 モードでの

み利用できます。 マスター SPI モードで SPI フラ ッシュ との接続に使用する FPGA ピンを27 ペー

ジの表 2-4 に示します。

iMPACT プログラ ミ ング ツールには、 間接プログラ ミ ングを使用して SPI シ リ アル フラ ッシュを

プログラムする機能があ り ます。 これによ り、 iMPACT ツールと SPI フラ ッシュを 7 シ リーズ デバイス経由で接続する新しい FPGA デザインがダウンロード されます。 この操作を実行する と、そ

れ以前の FPGA メモ リの内容は失われます。 ISE iMPACT 間接プログラムは、 間接プログラムは、

Micron N25Q 3.3V および 1.8V、Winbond W25Q、Spansion S25FL の SPI フラ ッシュをサポート

します。 各種プログラ ミ ング ツールでサポート されている集積度については、 iMPACT のオンラ

イン ヘルプを参照してください。 同じよ う な機能が Vivado デバイス プログラマで提供されます。

SPI x1、 x2、 および x4 動作に関するその他の詳細 (参照する回路図、 プログラム手順など) は、 ア

プリ ケーシ ョ ン ノート 『SPI フラ ッシュを使用した 7 シ リーズ FPGA のコンフ ィギュレーシ ョ ン』

(XAPP586) を参照してください。

Page 56: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

56 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

X-Ref Target - Figure 2-11

図 2-11 : 7 シリーズ FPGA の SPI コンフ ィギュレーシ ョ ン インターフェイス

図 2-11 に示す SPI コンフ ィ ギュレーシ ョ ン インターフェ イ スで使用するピンは、 27 ページの

表 2-4 で説明されています。

DONE

CCLK

PROGRAM_B

INIT_B

D01_DIN

M[2:0]

EMCCLK

PUDC_B

UG470_c2_11_110513

D00_MOSI

FCS_B

Page 57: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 57UG470 (v1.9) 2014 年 11 月 14 日

マスター SPI コンフ ィギュレーシ ョ ン モード

図 2-12 について説明します。

1. DONE ピンはオープン ド レイン出力です。DONE 信号の詳細は、 27 ページの表 2-4 を参照し

て ください。

2. INIT_B ピンは双方向オープン ド レイン ピンで、 外部プルアップ抵抗が必要です。

3. ビッ ト ス ト リームのスタート アップ ク ロ ッ ク設定で、 CCLK を SPI コンフ ィギュレーシ ョ ン

に設定する必要があ り ます。

4. CCLK のシグナル インテグ リティが重要です。

5. デイジー チェーン接続の SPI x1 コンフ ィギュレーシ ョ ン モードでは、 DOUT を下位 FPGAの DIN に接続して ください。 x2 および x4 SPI モードではデイジー チェーン接続はサポート

されていません。

6. フラ ッシュから FPGA へのデータパスには、オーバーシュート を 小限に抑えるために直列抵

抗の使用を検討して ください。 適切な抵抗値はシ ミ ュレーシ ョ ンで求めるこ とができます。

X-Ref Target - Figure 2-12

図 2-12 : 7 シリーズ FPGA の SPI x1/x2 コンフ ィギュレーシ ョ ン インターフェイス

UG470_c2_12_032311

VCCINT

FCS_B

INIT_B

DIN/D[01]

MOSI/D[00] D

S

VCC

Q

C

GND

PUDC_B

VCCO_0

CCLK

EMCCLK

VCCO_14

SPI Flash

HOLDM1

M0

M2

DOUT

W

TMS

TDO

TCK

TDI

VREF

7 SeriesFPGA

DONE

GND

PROGRAM_B

VREF

TMS

TCK

TDO

TDI

N.C.N.C.

1

14

Xil

inx

Ca

ble

He

ade

r(J

TA

G In

terf

ace)

PROGRAM_B

VCCO_0

2.4

4.7

330Ω

4.7

VCCO_0

VCCO_0

NC

VCCO_0

VCC

VCCO_0VCCO_0

VCCO_0

Refer to the Notes following this figure for related information.

VCCAUX

VCCAUX

VCCBATT

See Configuration Banks VoltageSelect section for appropriate

connection.CFGBVS

Page 58: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

58 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

7. 7 シ リーズ FPGA の VCCO_0 電源電圧は SPI デバイスの I/O の VCC と合わせる必要があ り

ます。

8. SPI のデータは CCLK の立ち下がりエッジで出力され、 立ち上がりエッジで FPGA に入力さ

れます (spi_fall_edge:Yes と して立ち下がりエッジ ク ロ ッキングを有効にした場合を除く )。

9. ク ロ ッ ク ソースが内部オシレーターの場合、 CCLK の周波数は、 ConfigRate オプシ ョ ンを

使用して調整できます。 また、 ExtMasterCclk_en オプシ ョ ンで CCLK のソースを EMCCLKピンに変更して外部クロ ッ ク ソースを利用するこ と もできます。

10. VCCBATT は AES キーを格納している SRAM の電源です。 この SRAM を使用する場合は、

バッ クアップ バッテ リに接続してください。

図 2-13 に、 7 シ リーズ FPGA SPI x1 モード シーケンスを示します。

図 2-13 について説明します。

1. 波形は相対的なイベン ト シーケンスを示し、 正確な縮尺ではあ り ません。 SPI コマンドおよび

データ タイ ミ ングの詳細は、 SPI フラ ッシュ メモ リのデータシート を参照して ください。

2. CCLK 周波数が、FCS_B と MOSI の動作に十分なマージンを与えながら公称値 3MHz で動作

を開始します。 読み出し開始後に ConfigRate オプシ ョ ンが使用される場合は、 CCLK 周波

数が増加します。 こ こでは、 SPI の Clock-to-Data 出力および FPGA の DIN セッ ト アップの

タイ ミ ングのみ考慮される必要があ り ます。

3. コンフ ィギュレーシ ョ ン後に SPI フラ ッシュが使用されない場合は、 FPGA デザインが

FCS_B ピンを High 駆動するこ とを推奨します。

マスター SPI デュアル (x2) およびクアッ ド (x4) の読み出しコマンド

7 シ リーズ FPGA のマスター SPI コンフ ィギュレーシ ョ ン モードでは、 2 倍速および 4 倍速の読

み出し動作をサポート しています。まず、FPGA から SPI に Fast Read オペコード (0Bh) を送信し、

次にビッ ト ス ト リームの冒頭でデータ幅変更のコマンドを読み込みます。次に、 FPGA から SPI デ

X-Ref Target - Figure 2-13

図 2-13 : 7 シリーズ FPGA SPI x1 モード シーケンス

PROGRAM_B

INIT_B

M[2:0]

FS[2:0]

CCLK

FCS_B

MOSI

DIN (Normal Read)

DIN (Fast Read)

DONE

Configuration Mode User Mode

UG470_c2_15_072114

001

8-BitRead CMD

24-BitAddress

Bitstream Data

8 CCLKs

Bitstream Data

… … … …

Page 59: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 59UG470 (v1.9) 2014 年 11 月 14 日

マスター SPI コンフ ィギュレーシ ョ ン モード

バイスに対してデュアルまたはクアッ ドの高速読み出しコマン ド を新たに発行し、 x2 または x4データ幅で読み出しを開始します。

ソフ ト ウェアでこのコンフ ィギュレーシ ョ ン モードを有効にするには、 spi_buswidth オプシ ョ

ンを使用して適切なビッ ト ス ト リーム コマンドを挿入します。 表 2-13 に、 7 シ リーズ FPGA でサ

ポート している SPI 読み出しオペコードを示します。

128Mb を超える SPI のサポート

128Mb を超える SPI フラ ッシュは、 これまでの SPI デバイスで標準と されていた 24 ビッ ト アド

レスではアドレス指定できません。 32 ビッ ト アドレス指定の方法は SPI ベンダーによって異なり

ますが、7 シ リーズ FPGA では、 まず 24 ビッ ト アドレス モードで SPI が起動し、専用のオペコー

ドで 32 ビッ ト アドレシング モードでの読み出しに切り替えるよ うなソ リ ューシ ョ ンをサポート し

ています。spi_32bit_addr オプシ ョ ンを使用する と、128Mb を超えるフラ ッシュ デバイスをア

ドレス指定可能なビッ ト ス ト リームを生成できます。

7 シ リーズ FPGA と インターフェイスするには、 SPI デバイスは表 2-13 に示した命令をサポート

していなければなり ません。

SPI コンフ ィギュレーシ ョ ンのタイ ミング

SPI フラ ッシュ デバイスはデフォルトでクロ ッ クの立ち下がりエッジでデータを出力し、立ち上が

りエッジで 7 シ リーズ FPGA にデータが入力されます。 この場合、 ク ロ ッ ク サイ クルの半分が無

駄になり、コンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンの 大クロ ッ ク速度が制約を受けるこ とになり

ます (図 2-14 参照)。 ク ロ ッ ク周期を 大限に有効利用するため、 7 シ リーズ FPGA は立ち下がり

エッジでのデータ ク ロ ッキング オプシ ョ ンをサポート しています。

コンフ ィギュレーシ ョ ン開始時点では、立ち上がりエッジで FPGA にデータが入力されます。 これ

は、ビッ ト ス ト リームの冒頭で立ち下がりエッジでの入力に切り替える命令を FPGA が読み込むま

表 2-13 : SPI 命令と必要なオペコード

SPI 命令 オペコード

Fast Read x1 0B

Dual Output Fast Read 3B

Quad Output Fast Read 6B

Fast Read (32 ビッ ト アドレス) 0C

Dual Output Fast Read (32 ビッ ト アドレス) 3C

Quad Output Fast Read (32 ビッ ト アドレス) 6C

X-Ref Target - Figure 2-14

図 2-14 : 基本的な SPI コンフ ィギュレーシ ョ ンのタイ ミング

CCLK

MISO[3:0](from SPI flash)

FPGAdatahold time

FPGAdata-to-CLKsetup time

SPI flashCLK-to-datavalid time

UG470_c2_13_092210

Page 60: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

60 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

で続きます。 この後、外部クロ ッキングに切り替えるコマンド、 またはマスター ク ロ ッ ク周波数を

変更する コマン ドが実行されます。 立ち下が り エッジを使用する ク ロ ッキング オプシ ョ ンは、

spi_fall_edge オプシ ョ ンで有効にします。

大コンフ ィギュレーシ ョ ン クロック周波数の決定

マスター SPI モードの場合、 FPGA がコンフ ィギュレーシ ョ ン ク ロ ッ クを供給します。 FPGA のマスター コンフ ィ ギュレーシ ョ ン ク ロ ッ ク周波数は、 ConfigRate オプシ ョ ンで設定します。

ConfigRate オプシ ョ ンは、 標準のコンフ ィギュレーシ ョ ン ク ロ ッ ク周波数を設定します。

このセクシ ョ ンで説明するタイ ミ ング要件を満たしていれば、 ConfigRate の値を大き く してコン

フ ィギュレーシ ョ ン時間を短縮できます。ConfigRate の値が有効かど うかを判断するには、次のタ

イ ミ ング パラ メーターを考慮する必要があ り ます。

FPGA 標準マスター CCLK 周波数 (ConfigRate)

FPGA マスター CCLK 周波数偏差 (FMCCKTOL)

SPI ク ロ ッ クから出力までの時間 (TSPITCO)

FPGA データ セッ ト アップ タイム (TSPIDCC)

大限の性能を達成するには、 FPGA で立ち下がりエッジを使用してクロ ッ ク周期全体を有効に利

用する必要があ り ます ( 「SPI コンフ ィギュレーシ ョ ンのタイ ミ ング」 参照)。 こ こからの説明は、

このオプシ ョ ン (spi_fall_edge) を有効にしているこ とを前提と します。

FPGA のマスター コンフ ィギュレーシ ョ ン ク ロ ッ クには周波数偏差 TMCCKTOL があ り ます。 こ

の偏差 (TMCCKTOL) を考慮して、 ワース ト ケース ( 速) のマスター CCLK 周波数の周期が、

FPGA のアドレス出力が有効になるまでの時間、 SPI ク ロ ッ クから出力までの時間、 および FPGAセッ ト アップ タイムの合計よ り も大き くなる (式 2-2 参照) よ うに ConfigRate オプシ ョ ンを設定

する必要があ り ます。

式 2-1

この式では、 FPGA マスター コンフ ィギュレーシ ョ ン ク ロ ッ クの周波数偏差が大きな要素となる

ため、 コンフ ィギュレーシ ョ ンに 速レートが必要な場合は、 周波数偏差の影響を 小限に抑える

ために外部クロ ッ クを使用するこ とを推奨します。 その場合、 EMCCLK ピンに接続してビッ ト ス

ト リーム (ExtMasterClk_en) でこのオプシ ョ ンを有効にする必要があ り ます。

電源投入シーケンスに関する注意事項

電源を投入する と、FPGA でコンフ ィギュレーシ ョ ンが自動的に開始します。FPGA がマスター シリ アル SPI コンフ ィギュレーシ ョ ン モードの場合、FCS_B を Low にアサート して SPI フラ ッシュ

を選択し、 この SPI フラ ッシュへの読み出しコマンドを駆動します。SPI フラ ッシュは、FCS_B がLow にアサート されて読み出しコマンドが送信される前に、コマンドを受信可能な状態になってい

る必要があ り ます。

FPGA と SPI フラ ッシュには異なる電源レールから電源が供給でき、同じ電源を使用した場合でも

異なる立ち上がり地点で応答するこ とがあるため、FPGA と SPI フラ ッシュの電源投入シーケンス

と電源の立ち上が りには注意が必要です。 電源投入シーケンスや電源の立ち上が りによっては、

FPGA が SPI フラ ッシュの前に、 あるいは SPI フラ ッシュが FPGA の前に立ち上がった りするこ

とがあ り ます。また、一部の SPI フラ ッシュ デバイスでは電源投入からデバイスが選択可能になる

までの 小時間 (通常は数ミ リ秒) が指定されているこ とがあ り、この間はデバイスを選択しないよ

1ConfigRate 1 FMCCKTOLMAX+( )×------------------------------------------------------------------------------------------------ TSPITCO TSPIDCC+≥

Page 61: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 61UG470 (v1.9) 2014 年 11 月 14 日

マスター BPI コンフ ィギュレーシ ョ ン インターフェイス

うにする必要があ り ます。 電源の立ち上がりがほぼ同時の多くのシステムでは、 FPGA のパワーオ

ン リセッ ト時間 (TPOR) を使用して FPGA の コンフ ィギュレーシ ョ ンの開始を遅らせ、SPI フラ ッ

シュの準備が完了するよ うにできます。 一般にシステムを設計する際は、 パワーオン シーケンス、

電源の立ち上がり、FPGA パワーオン リセッ トのタイ ミ ング、および SPI フラ ッシュの電源投入の

タイ ミ ングが、FPGA コンフ ィギュレーシ ョ ンの開始と SPI フラ ッシュの準備完了のタイ ミ ングの

関係にどのよ うに影響するかを考慮する必要があ り ます。 FPGA の電源に関する要件と タイ ミ ング

については、各 7 シ リーズ FPGA データシートで確認してください。SPI フラ ッシュの電源投入タ

イ ミ ングの要件については各 SPI フラ ッシュのデータシート を参照してください。

FPGA がコンフ ィギュレーシ ョ ンを開始する前に SPI フラ ッシュを確実にコマンド受信可能な状

態にするには、 次のいずれかの手法でシステムを設計するよ うにします。

• FPGA コンフ ィギュレーシ ョ ンが開始する前に SPI フラ ッシュに電源が投入されて非同期読

み出しが可能な状態になるよ う、 パワーオン シーケンスを制御する

• 電源投入時から FPGA の INIT_B ピンを Low に保持して FPGA コンフ ィギュレーシ ョ ンの

開始を遅らせ、 SPI がコマンドを受信可能な状態になった後に INIT_B ピンを High にする

マスター BPI コンフ ィギュレーシ ョ ン インターフェイス

7 シ リーズ FPGA のマスター BPI コンフ ィギュレーシ ョ ン モード (図 2-15 参照) では、 ビッ ト ス

ト リームの格納先に業界標準のパラレル NOR (BPI) フラ ッシュ デバイスを使用できます。 BPI フラ ッシュのアドレス、データ、制御信号に FPGA を直接接続して格納されているビッ ト ス ト リーム

を読み出すこ とができます。

図 2-15 に示す BPI コンフ ィギュレーシ ョ ン インターフェイスのピンは、27 ページの表 2-4 で説明

されています。 必要となるピンの一部はバンク 15 にあ り ます。 Artix-7 7A15T、 7A35T および

7A50T デバイスの CPG236 パッケージでは、バンク 15 がボンディングされていないため、BPI コンフ ィギュレーシ ョ ンがサポート されません。

7 シ リーズ FPGA のマスター BPI コンフ ィギュレーシ ョ ン モードには、非同期と同期の 2 つの BPIフラ ッシュ読み出しモードがあ り ます。BPI フラ ッシュ同期読み出しモードで外部マスター ク ロ ッ

クを使用する と、 その他の直接コンフ ィギュレーシ ョ ン モード よ り も短時間でコンフ ィギュレー

シ ョ ンが完了します。 また、 大 29 本のアドレス ラインが用意されているため、 よ り高密度のパ

ラレル NOR フラ ッシュにもアクセスできます。

デフォルトでは、7 シ リーズ FPGA は BPI フラ ッシュの非同期モードを使用してビッ ト ス ト リーム

データを読み出します (63 ページの図 2-16 参照)。FPGA が特定の開始アドレスからアドレス バス

X-Ref Target - Figure 2-15

図 2-15 : 7 シリーズ FPGA のマスター BPI コンフ ィギュレーシ ョ ン インターフェイス

EMCCLK

PUDC_B

INIT_B

D[15:00]

M[2:0]

PROGRAM_B

UG470_c2_15_110513

RS[1:0]

A[28:00]

CSO_B

FOE_B

CCLK

FCS_B

ADV_B

FWE_B

DONE

Page 62: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

62 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

を駆動する と、 BPI フラ ッシュがビッ ト ス ト リーム データを返します。デフォルトの開始アドレス

は 0 です。開始アドレスは、マルチブート リ コンフ ィギュレーシ ョ ンの手順で明示的に設定できま

す (第 7 章 「リ コンフ ィギュレーシ ョ ンおよび マルチブート 」 参照)。 非同期読み出しモードでは、

サポート されているバス幅 (x8 または x16) が自動で検出されます (82 ページの 「バス幅の自動検

出」 参照)。

7 シ リーズ FPGA のマスター BPI コンフ ィギュレーシ ョ ン モードには、 バース ト同期読み出し

モードをサポート した一部の BPI デバイスからビッ ト ス ト リームを読み出すオプシ ョ ンもあ り ま

す (図 2-19 および 67 ページの 「同期読み出しモードのサポート 」 参照)。 同期読み出しモードを

サポートする BPI デバイスは、 FPGA から与えられた開始アドレスを内部アドレス カウンターに

ラ ッチします。次に、 ク ロ ッ クの供給が開始する と、 フラ ッシュは各クロ ッ ク周期で連続する次の

アドレスからデータ バスへデータを出力します。 BPI デバイスからのデータ出力は、 非同期読み

出しモード よ り も同期読み出しモードの方が何倍も高速です。

iMPACT プログラ ミ ング ツールには、 間接 プログラ ミ ングを使用してパラレル NOR フラ ッシュ

をプログラムする機能があ り ます。 この方法で、 iMPACT ツールと BPI フラ ッシュ デバイスを 7シ リーズ FPGA 経由で接続する新しい FPGA デザインをダウンロード します。 詳細は、 『7 シ リー

ズ FPGA の BPI 高速コンフ ィギュレーシ ョ ンおよび iMPACT フラ ッシュプログラム』 (XAPP587)を参照して ください。同じよ うな機能が Vivado デバイス プログラマで提供される予定です。 PCIeインターフェイスなどのエンベデッ ド システムでは、 JTAG 接続を利用できない可能性があ り ま

す。その代わり PCIe システムではインシステム プログラ ミ ングが可能です。詳細は、『PCI Expressテク ノ ロジを利用した Virtex-6、Virtex-7、Kintex-7 FPGA の BPI PROMインシステムプ ログラ ミ

ング』 (XAPP518) を参照してください。

表 2-14 に、 7 シ リーズ FPGA でサポート されているパラレル NOR フラ ッシュ ファ ミ リ を示しま

す。 コンフ ィギュレーシ ョ ンで使用できるフラ ッシュの 大サイズを決定するアドレス信号数につ

いては、 各 FPGA のデータシート を参照してください。

非同期読み出しモードのサポート

7 シ リーズ FPGA のマスター BPI コンフ ィギュレーシ ョ ン モードでは、 デフォルトで BPI フラ ッ

シュ非同期読み出しモード を使用してビ ッ ト ス ト リ ーム データを読み出し ます。 電源投入後、

FPGA の INIT_B 出力が High に遷移する とモード ピンの M[2:0] がサンプリ ングされます。 この

時点で、 モード ピンは有効な論理レベル (マスター BPI コンフ ィギュレーシ ョ ン モードの場合、

M[2:0] = 010) に定義されている必要があ り ます。 FPGA コ ンフ ィ ギュ レーシ ョ ンの実行中、

PUDC_B ピンは一定の論理レベルに固定しておく必要があ り ます。 マスター BPI コンフ ィギュ

レーシ ョ ン モードである と判断される と、 FPGA がフラ ッシュ制御信号を駆動します (FWE_B が

表 2-14 : サポート されているパラレル NOR フラ ッシュ ファ ミ リ

ベンダー ファ ミ リ 集積度 コンフ ィギュレーシ ョ ンで使用

可能な読み出しモード

Micron 社 P33 (Axcell™) 64Mb ~ 1Gb 同期/非同期

Micron 社

P30

(StrataFlash™、

Axcell)64Mb ~ 1Gb 同期/非同期

Micron 社 M29EW 64Mb ~ 1Gb 非同期

Micron 社 G18F 128Mb ~ 1Gb 同期/非同期

Spansion 社 S29GLxxxP 128Mb ~ 1Gb 非同期

Spansion 社 S29GLxxxS 128Mb ~ 1Gb 非同期

Page 63: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 63UG470 (v1.9) 2014 年 11 月 14 日

マスター BPI コンフ ィギュレーシ ョ ン インターフェイス

High、 FOE_B が Low、 FCS_B が Low)。 BPI フラ ッシュ非同期読み出しモードでは CCLK 出力

は BPI フラ ッシュ デバイスに接続されていませんが、 FPGA は CCLK の立ち上がりエッジの後で

アドレスを出力し、 CCLK の次の立ち上がりエッジでデータがサンプリ ングされます。 BPI に関連

するタイ ミ ング パラ メーターは、CCLK ピンを基準クロ ッ ク と します。BPI モードの場合、アドレ

スは 0 から開始し、 DONE ピンがアサー ト される まで 1 ずつ増加し ます。 ア ド レ スが 大値

(29'h1FFFFFFF) に達し、かつコンフ ィギュレーシ ョ ンが完了していない (DONE がアサート され

ていない) 場合、 ステータス レジスタでエラーがフラグされ、 フォールバッ ク リ コンフ ィギュレー

シ ョ ンが開始します。7 シ リーズ FPGA の BPI モードでは非同期のページ モード読み出しもサポー

ト されており、 CCLK 周波数を増加させるこ とが可能です。 詳細は、 66 ページの 「ページ モード

のサポート 」 を参照して ください。

図 2-16 について説明します。

1. 7 シ リーズ FPGA の VCCO_0 入力とザイ リ ンクス ケーブルの VREF は同じ電圧に接続する必

要があ り ます。

2. 7 シ リーズ FPGA バンク電圧 VCCO_14 は、A[15:00]、FCS_B、D[15:00]、EMCCLK、PUDC_B、

および CSO_B 信号に電源を供給します。バンク電圧 VCCO_15 は、A[28:16]、FWE_B、FOE_B、

ADV_B、 RS0、 および RS1 信号に電源を供給します。

X-Ref Target - Figure 2-16

図 2-16 : 7 シリーズ FPGA の マスター BPI コンフ ィギュレーシ ョ ン インターフェイス - 非同期読み出しの例

UG470_c2_16_072114

See Configuration Banks Voltage Select section for appropriate connection.

7 Series FPGA

x8/x16 BPI Flash

Xili

nx 1

4-pi

n JT

AG

Rib

bon

Cab

le H

eade

r

VCCAUX

VCCAUX

VCCINT

PROGRAM_B

Mode = Master BPI

INIT_B

CCLK

FWE_B

M2

IEE

E 1

149.

1JT

AG

Por

t

M1M0

10

0

VCCO

VCCO_15

VCCO_14

DONE

VCCBATT

N/C

N/C

N/C

FOE_B

CSO_B

N/CRS1N/CRS0

GND

FCS_B

VCCO

VREF

VREF

TMSTCKTDOTDI

14

1

N/CN/C

GND

TMS

TCK

TDO

TDI

PUDC_B

A[n:1]

A[15:00]

A[28:16]

WE

RST

WAIT

CLK

VCCINT

VCCO_0

VCCO_0VCCO_0

VCCO_0

ADV

OE

CE

PROGRAM_B

DQ[15:0] D[15:00]

4.7

WP

VCCO_0

4.7 kΩ

4.7

4.7

4.7

4.7

330Ω

EMCCLK

N/C

CFGBVS

Page 64: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

64 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

3. BPI モードでは、 M[2:0] = 010 です。

4. 図 2-16 は、 x16 BPI インターフェイスを示したものです。 x8 BPI インターフェイスでは、

D[07:00] のみを使用します。 82 ページの 「バス幅の自動検出」 を参照してください。

5. データ ピンへのビッ ト ス ト リームの送信は、 SelectMAP モード と同じビッ ト スワップの規則

に従います。 85 ページの 「パラレル バスのビッ ト順」 を参照してください。

6. 非同期読み出しモードでは CCLK 出力はフラ ッシュには接続されませんが、コンフ ィギュレー

シ ョ ン中にフラ ッシュの読み出しデータをサンプリ ングする目的で使用されます。 すべてのタ

イ ミ ングは CCLK を基準と しています。 CCLK ピンを駆動した り、 High または Low に接続

しないでください。

7. 図 2-16 に示すよ うに、 RS[1:0] ピンは未接続です。 これらの出力ピンはオプシ ョ ンで、 マルチ

ブート コンフ ィギュレーシ ョ ンに使用できます。 第 7 章 「リ コンフ ィギュレーシ ョ ンおよび

マルチブート 」 を参照して ください。

8. DONE ピンはオープン ド レイン出力です。DONE 信号の詳細は、 27 ページの表 2-4 を参照し

て ください。

9. 実際のフラ ッシュ信号の接続については、BPI フラ ッシュ ベンダー提供のデータシート を参照

して ください。 アドレスが正し く揃う よ うにするため、 使用するバイ ト /ワード モードに関し

てフラ ッシュ ファ ミ リのアドレス LSB に十分注意して ください。すべてのフラ ッシュ ファ ミ

リでアドレス LSB に A01 が使用されているわけではあ り ません。

10. 単純なシングル デバイスの JTAG スキャン チェーンの JTAG 接続を示しています。 JTAG スキャン チェーンに複数のデバイスがある場合は、適切な IEEE Std 1149.1 デイジー チェーン手

法を使用して JTAG 信号を接続して ください。 JTAG 動作では、 TCK のシグナル インテグ リ

ティが重要です。JTAG スキャン チェーンのデバイス間のシグナル インテグ リ ティを確実にす

るには、 TCK 信号を適切に配線および終端し、 必要に応じてバッファーを介します。

11. マスター BPI モード (010) に設定した FPGA のモード ピン (M[2:0]) を示しています。 デ

ザイン中に FPGA の JTAG デバッグ機能が利用できるよ うに、FPGA のモード ピンを JTAGモード (101) に変更するためのオプシ ョ ンをボード レベルでインプ リ メ ン ト しておく こ と

を推奨します。 JTAG モードへの変更は必須ではあ り ませんが、 明示的にモードを変更して

おく こ とによ り、デバッグ中にマスター BPI コンフ ィギュレーシ ョ ン動作の影響を完全に排

除できます。

12. この接続図では FPGA の PUDC_B ピンをグランドに接続し、多目的コンフ ィギュレーシ ョ ン

I/O の内部プルアップをコンフ ィ ギュレーシ ョ ンの間だけ有効にしています。 PUDC_B はHigh に接続するこ と もできます。 この場合、多目的コンフ ィギュレーシ ョ ン I/O は、 コンフ ィ

ギュレーシ ョ ンの間ト ライステート とな り ます。

13. VCCBATT は AES キーを格納している SRAM の電源です。 この SRAM を使用する場合は、

バッ クアップ バッテ リに接続してください。

14. この図の例は、単一ビッ ト ス ト リーム コンフ ィギュレーシ ョ ンをサポート しているため、図中

の FPGA RS[1:0] は接続されていません。

15. VCCINT の電源電圧については、 各 7 シ リーズ FPGA データシート を参照してください。

Page 65: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 65UG470 (v1.9) 2014 年 11 月 14 日

マスター BPI コンフ ィギュレーシ ョ ン インターフェイス

図 2-17 に、 非同期読み出し時のマスター BPI コンフ ィギュレーシ ョ ンの波形を示します。

図 2-17 について説明します。

1. コンフ ィギュレーシ ョ ンは、 電源投入 (PROGRAM_B がアサート されて High を保持) または

PROGRAM_B への High-Low-High パルスで開始します。

2. 電源投入コンフ ィギュレーシ ョ ンの場合、 INIT_B は Low で開始します。 PROGRAM_B で開

始するコンフ ィギュレーシ ョ ンの場合は、 PROGRAM_B が Low 駆動する と INIT_B が Low駆動します。

3. 通常、 RS[1:0] はハイ インピーダンスです。 ただし、 マルチブート (または BPI モードでの

フォールバッ ク イベン ト ) の場合は RS[1:0] を Hig h または Low に駆動します。

4. FPGA の内部初期化プロセスが終わる と INIT_B がリ リースされます。 外部抵抗によって

INIT_B が High にプルアップされます。 INIT_B の立ち上がりエッジで、 FPGA は M[2:0] ピンをサンプリ ングしてコンフ ィギュレーシ ョ ン モードを決定します。

5. M[2:0] ピンからマスター BPI コンフ ィギュレーシ ョ ン モード と判断する と、 FPGA が

FWE_B を High、 FOE_B を Low、 および FCS_B を Low 駆動します。

6. INIT_B の立ち上がりエッジから TICCK 分遅れて、 FPGA が CCLK を駆動します。

7. FPGA が A[n:00] ピンを介して初期アドレス (A00) を駆動し、少な く と も CCLK の 10 サイク

ル間その初期アドレスを保持します。 電源投入コンフ ィギュレーシ ョ ンの場合、 初期アドレス

は 0x00000000 です。 マルチブート ト リ ガーのコンフ ィギュレーシ ョ ンの場合は、 初期アド

レスが異なり ます。

8. FPGA は、CCLK の立ち上がりエッジで 8 ビッ ト または 16 ビッ トのデータ ワードをレジスタ

に格納します。

9. FPGA が複数あるパラレル コンフ ィギュレーシ ョ ン デイジー チェーンの場合、 CSO_B をLow 駆動して、データ バスからビッ ト ス ト リームを読み出す次の FPGA を選択できます。BPIモードでは、 パラレル デイジー チェーンのみサポート されています。 第 9 章 「複数 FPGA のコンフ ィギュレーシ ョ ン」 を参照して ください。

X-Ref Target - Figure 2-17

図 2-17 : 7 シリーズ FPGA のマスター BPI コンフ ィギュレーシ ョ ン - 非同期読み出しの波形

010 (Binary) = Master BPIM[2:0]

PROGRAM_B

INIT_B

FWE_B

FOE_B

FCS_B

A[n:00]

CCLK

D[n:00]

RS[1:0]

CSO_B

DONE

1

0

0

A1 AnA0

D0 D1 Dn

Z

Z

UG470_c2_17_110513

Page 66: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

66 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

10. ビッ ト ス ト リームの 後の 8 ビッ ト または 16 ビッ ト (フラ ッシュ デバイスによって異なる) に近くなる と、 FPGA はスタート アップ シーケンスを開始します。

11. ビッ ト ス ト リームの転送中に FPGA が CRC エラーを検出した場合は、INIT_B ピンが Low 駆動します。 DONE は Low 駆動のままです。

12. FPGA がエラーのないすべてのビッ ト ス ト リームを受信した場合は、スタート アップ シーケン

ス中に DONE ピンを リ リースして、 内部抵抗が DONE ピンを High にします。

13. スタート アップ シーケンス中に、多目的ピンはユーザーの FPGA デザインのコンフ ィギュレー

シ ョ ン内容で有効になり ます。ハイ インピーダンスの FCS_B ピンを FPGA デザインで使用し

ない場合は、 外部抵抗によって High にプルアップし、 フラ ッシュを無効にします。

14. コンフ ィギュレーシ ョ ン終了時に、デフォルトでマスター CCLK は無効とな り、ハイインピー

ダンス状態とな り ます。

15. 多目的のコンフ ィギュレーシ ョ ン I/O は、 GTS_cycle 後にユーザー モードに切り替わり ます。

デフォルトでは、 これは DONE が High になった 1 サイクル後です。

ページ モードのサポート

多くの NOR フラ ッシュ デバイスで、非同期のページ読み出しがサポート されています。通常、ペー

ジへの 初のアクセスに も長時間がかかり (~100ns)、 同じページへの 2 回目以降のアクセスは

高速になり ます (~25ns)。 7 シ リーズ デバイスでは、次のパラ メーターをビッ ト ス ト リームでプロ

グラムするこ とによ り、ページ読み出し機能を利用して CCLK の周波数を 大限に高めるこ とがで

きます。

• ページ サイズは 1 (デフォルト )、 4、 8 のいずれかです。 フラ ッシュの実際のページ サイズが

8 よ り大きい場合は、 8 を指定する と も効率がよ くな り ます。

• 初回アクセスの CCLK サイ クルは 1 (デフォルト )、 2、 3、 4 のいずれかです。 ページ サイズ

が 1 の場合は CCLK サイ クルを 1 に指定してください。

• CCLK 周波数

ページ モード動作のシーケンスは、 7 シ リーズ FPGA のビッ ト ス ト リームで制御します。 FPGAがリセッ ト される と、 デフォル トでページ サイズが 1、 初回アクセスの CCLK サイ クルが 1 とな

り、 マスター CCLK は も低いデフォル ト周波数で動作します。 COR0 レジスタにはマスター

CCLK の周波数制御用ビッ トが格納され (119 ページの 「コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0 (01001)」 参照)、 COR1 レジスタには、 BPI フラ ッシュ ページ モードの制御用ビッ トが

格納されます (119 ページの 「コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0 (01001)」 参照)。COR1 レジスタがプログラムされる と、 BPI アドレス タイ ミ ングがページの境界で切り替わり ま

す (図 2-18 参照)。 SWITCH コマンドを受信する と、 マスター CCLK はユーザーが指定した周波

数に切り替わり、その周波数で残りのコンフ ィギュレーシ ョ ンが読み込まれます。BitGen オプシ ョ

ンの詳細は、『コマンド ラ イン ツール ユーザー ガイ ド』 (UG628) の「BitGen」を参照して ください。

Page 67: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 67UG470 (v1.9) 2014 年 11 月 14 日

マスター BPI コンフ ィギュレーシ ョ ン インターフェイス

図 2-18 について説明します。

1. 図 2-18 は、 ページ サイズが 4、 初の CCLK アクセスが 2 の BPI モードを示したものです。

2. データ バス幅は x8 (n = 7) または x16 (n = 15) が可能です。

同期読み出しモードのサポート

7 シ リーズ FPGA のマスター BPI コンフ ィギュレーシ ョ ン モードで同期読み出しを使用する と、フ

ラ ッシュからの直接コンフ ィギュレーシ ョ ンで も高速にコンフ ィギュレーシ ョ ンが完了し、 カス

タマイズした外部制御ロジッ ク も必要あ り ません。

マスター BPI 同期読み出しモード (図 2-19 参照) は、 表 2-14 の 「コンフ ィギュレーシ ョ ンで使用

可能な読み出しモード」 で 「同期」 と記載されたフラ ッシュ ファ ミ リ をサポート しています。FPGAはまず非同期読み出しモードで動作を開始し、ビッ ト ス ト リーム ヘッダーによって非同期読み出し

モード をそのまま継続するか、 よ り高速な同期読み出しモードに切 り替えるかを決定し ます。

BPI_sync_mode オプシ ョ ンを設定している場合、 非同期読み出しから同期読み出しへの切り替え

は、 ビッ ト ス ト リームのコマンドによって開始します。 このオプシ ョ ンには、 Type1 と Type2 の 2種類の設定があ り ます。 Type1 は同期ビッ ト と レイテンシ ビッ ト を G18F フラ ッシュ ファ ミ リに

設定する場合に、 Type2 は P30 に設定する場合に使用します。 この切り替え処理は、 FPGA コン ト

ローラーが BPI フラ ッシュのコンフ ィギュレーシ ョ ン レジスタに対して非同期書き込みを実行し

てデバイスを同期モードに設定した後、 ビッ ト ス ト リームの再読み込みを開始する という形で行わ

れます。 同期読み出しモードをサポートするには、 FPGA の CCLK 出力を BPI フラ ッシュ デバイ

スに接続し、FPGA の ADV_B 信号を Micron フラ ッシュの ADV 信号に接続する必要があ り ます。

BPI フラ ッシュ コンフ ィギュレーシ ョ ン レジスタの同期ビッ ト設定は揮発性のため、 電源切断時

または FPGA の INIT_B を Low 駆動して BPI フラ ッシュにリセッ ト を発行した場合にク リ アされ

ます。

FPGA のコンフ ィギュレーシ ョ ンが完了する と、 BPI フラ ッシュは同期読み出しモードに保持され

ます。

フォールバッ ク機能で同期読み出しモードを使用する場合は、 「 初にマルチブート イ メージを使

用する場合の設計上の注意点」 を参照して同期読み出しモードに影響を与えるゴールデン イ メージ

の設計上の考察事項を確認して ください。

X-Ref Target - Figure 2-18

図 2-18 : BPI モードの波形 (ページ サイズ = 4、 初のアクセス CCLK = 2)

CCLK

FCS_B

FOE_B

FWE_B

A[02:00]

D[n:00]

UG470_c2_18_110513

107 2 3 54 76

D1D0

CCLK = 2

D2 D3 D5D4 D7D6

PAGE_SIZE = 4 PAGE_SIZE = 4

CCLK = 2

Page 68: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

68 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

BPI 同期読み出しモードのその他の詳細 (参照する回路図、 プログラム手順など) は、 アプ リ ケー

シ ョ ン ノート 『7 シ リーズ FPGA の BPI 高速コンフ ィギュレーシ ョ ンおよび iMPACT フラ ッシュ

プログラム』 (XAPP587) を参照してください。

図 2-19 について説明します。

1. 7 シ リーズ FPGA の同期読み出しモードでは、非同期モード よ り も必要な接続の数が多くなり

ます。 FPGA の CCLK をフラ ッシュの CLK 信号に接続し、 FPGA の ADV_B をフラ ッシュ

の ADV 信号に接続する必要があ り ます。 図 2-19 に示した接続では、 FPGA は電源投入直後

は非同期モードで起動した後、 同期モードに切り替わり ます。

2. 7 シ リーズ FPGA の VCCO_0 入力とザイ リ ンクス ケーブルの VREF は同じ電圧に接続する必

要があ り ます。

3. 7 シ リーズ FPGA バンク電圧 VCCO_14 は、A[15:00]、FCS_B、D[15:00]、EMCCLK、PUDC_B、

および CSO_B 信号に電源を供給します。バンク電圧 VCCO_15 は、A[28:16]、FWE_B、FOE_B、

ADV_B、 RS0、 および RS1 信号に電源を供給します。

4. BPI モードでは、 M[2:0] = 010 です。

5. 同期読み出しモードでは、 図 2-19 に示した x16 データ幅のみがサポート されます。

X-Ref Target - Figure 2-19

図 2-19 : 7 シリーズ FPGA の マスター BPI コンフ ィギュレーシ ョ ン インターフェイス - 同期読み出しの例

UG470_c2_19_071014

7 Series FPGA

MicronPC28FxxxP30T

Xili

nx 1

4-pi

n JT

AG

Rib

bon

Cab

le H

eade

r

VCCAUX

VCCAUX

VCCINT

PROGRAM_B

Mode = Master BPI

INIT_B

CCLK

FWE_B

M2

IEE

E 1

149.

1JT

AG

Por

t

M1M0

10

0

VCCO

VCCO_15

VCCO_14

DONE

VCCBATT

N/C

N/C

FOE_B

CSO_B

N/CRS1N/CRS0

GND

FCS_B

VCCO

VREF

VREF

TMSTCKTDOTDI

14

1

N/CN/C

GND

TMS

TCK

TDO

TDI

PUDC_B

A[n:1]

A[15:00]

A[28:16]

WE

RST

WAIT

CLK

VCCINT

VCCO_0

VCCO_0VCCO_0

VCCO_0

ADV ADV_B

OE

CE

PROGRAM_B

DQ[15:0] D[15:00]

4.7

4.7

WP

VCCO_0

4.7 kΩ

4.7

4.7

4.7

4.7

330Ω

EMCCLK

N/C

See Configuration Banks Voltage Select section for appropriate connection. CFGBVS

Page 69: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 69UG470 (v1.9) 2014 年 11 月 14 日

マスター BPI コンフ ィギュレーシ ョ ン インターフェイス

6. データ ピンへのビッ ト ス ト リームの送信は、 SelectMAP モード と同じビッ ト スワップの規則

に従います。 85 ページの 「パラレル バスのビッ ト順」 を参照してください。

7. 図 2-19 に示すよ うに、 RS[1:0] ピンは未接続です。 これらの出力ピンはオプシ ョ ンで、 マルチ

ブート コンフ ィギュレーシ ョ ンに使用できます。 第 7 章 「リ コンフ ィギュレーシ ョ ンおよび

マルチブート 」 を参照して ください。

8. DONE ピンはオープン ド レイン出力です。DONE 信号の詳細は、 27 ページの表 2-4 を参照し

て ください。

9. 単純なシングル デバイスの JTAG スキャン チェーンの JTAG 接続を示しています。 JTAG スキャン チェーンに複数のデバイスがある場合は、適切な IEEE Std 1149.1 デイジー チェーン手

法を使用して JTAG 信号を接続して ください。 JTAG 動作では、 TCK のシグナル インテグ リ

ティが重要です。JTAG スキャン チェーンのデバイス間のシグナル インテグ リ ティを確実にす

るには、 TCK 信号を適切に配線および終端し、 必要に応じてバッファーを介します。

10. マスター BPI モード (010) に設定した FPGA のモード ピン (M[2:0]) を示しています。デザイ

ン中に FPGA の JTAG デバッグ機能が利用できるよ うに、 FPGA のモード ピンを JTAG モー

ド (101) に変更するためのオプシ ョ ンをボード レベルでインプ リ メ ン ト しておく こ とを推奨

します。 JTAG モードへの変更は必須ではあ り ませんが、 明示的にモードを変更しておく こ と

によ り、 デバッグ中にマスター BPI コンフ ィギュレーシ ョ ン動作の影響を完全に排除できま

す。

11. この接続図では FPGA の PUDC_B ピンをグランドに接続し、多目的コンフ ィギュレーシ ョ ン

I/O の内部プルアップをコンフ ィ ギュレーシ ョ ンの間だけ有効にしています。 PUDC_B はHigh に接続するこ と もできます。 この場合、多目的コンフ ィギュレーシ ョ ン I/O は、 コンフ ィ

ギュレーシ ョ ンの間ト ライステート とな り ます。

12. 7 シ リーズ FPGA は 16 ビッ ト幅のコンフ ィギュレーシ ョ ン モードで AES 復号化をサポート

していますが、 この図では使用していません。 このため、 復号化キーのバッ クア ップ電源

VCCBATT を GND に接続しています。

13. VCCINT の電源電圧については、 各 7 シ リーズ FPGA データシート を参照してください。

大コンフ ィギュレーシ ョ ン クロック周波数の決定

マスター BPI モードの場合、 FPGA がコンフ ィギュレーシ ョ ン ク ロ ッ クを供給します。 FPGA のマスター コンフ ィ ギュレーシ ョ ン ク ロ ッ ク周波数は、 ConfigRate オプシ ョ ンで設定します。

ConfigRate オプシ ョ ンは、標準のコンフ ィギュレーシ ョ ン ク ロ ッ ク周波数を設定します。BPI 非同期読み出しモードでは、 デフォル トの ConfigRate 設定を使用するこ とを推奨します。 デフォル

ト値の設定では標準の CCLK 周波数が 3MHz とな り、主要な BPI フラ ッシュ ファ ミ リのタイ ミ ン

グ要件を満たすこ とができます。 このセクシ ョ ンで説明するタ イ ミ ング要件を満たしていれば、

ConfigRate の値を大き く してコンフ ィギュレーシ ョ ン時間を短縮できます。非同期読み出しモード

で ConfigRate の値が有効かど うかを判断するには、 次のタイ ミ ング パラ メーターを考慮する必要

があ り ます。

• FPGA 標準マスター CCLK 周波数 (ConfigRate)

• FPGA マスター CCLK 周波数偏差 (FMCCKTOL)

• CCLK の立ち上がりエッジから ADDR[28:0] 出力が有効になるまでの時間 (TBPICCO)

• BPI フラ ッシュのアドレス指定から出力が有効になるまでの (アクセス) 時間 (TACC)

• FPGA データ セッ ト アップ タイム (TBPIDCC)

Page 70: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

70 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイス

FPGA のマスター コンフ ィギュレーシ ョ ン ク ロ ッ クには偏差 TMCCKTOL があ り ます。 この偏差

(TMCCKTOL) を考慮して、 ワース ト ケース ( 速) のマスター CCLK 周波数の周期が、 FPGA のア

ドレス出力が有効になるまでの時間、BPI フラ ッシュのアクセス時間、および FPGA セッ ト アップ

タイムの合計よ り も大き くなる (式 2-2 参照) よ うに ConfigRate オプシ ョ ンを設定する必要があ

り ます。

式 2-2

電源投入シーケンスに関する注意事項

電源を投入する と、 FPGA でコンフ ィギュレーシ ョ ンが自動的に開始します。 FPGA がマスター

BPI コンフ ィギュレーシ ョ ンモードの場合、 FCS_B が Low にアサート され、 アドレスのシーケン

スが駆動されて BPI フラ ッシュのビッ ト ス ト リームが読み出されます。BPI フラ ッシュで保存され

ているビッ ト ス ト リームが正し く出力されるよ うにするため、 FCS_B が Low にアサート され、

初のアドレスが送信される前に、 BPI フラ ッシュが非同期読み出し可能な状態になっている必要が

あ り ます。

FPGA と BPI フラ ッシュには異なる電源レールから電源を供給でき、また同じ電源が使用されてい

る場合でも異なる立ち上がり地点で応答するこ とがあるため、FPGA と BPI フラ ッシュの電源投入

シーケンス と電源の立ち上がりには注意が必要です。 電源投入シーケンスや電源の立ち上がりに

よっては、 FPGA が BPI フラ ッシュの前に、 あるいは BPI フラ ッシュが FPGA の前に立ち上がっ

たりするこ とがあ り ます。 電源の立ち上がりがほぼ同時であるほとんどのシステムでは、 FPGA のパワーオン リ セ ッ ト時間 (TPOR) を使用して FPGA のコンフ ィギュレーシ ョ ンの開始を遅らせ、

FPGA のコンフ ィギュレーシ ョ ンが開始する前に BPI フラ ッシュの準備が完了するよ うにできま

す。一般にシステムを設計する際は、 パワーオン シーケンス、電源の立ち上がり、 FPGA パワーオ

ン リセッ トのタイ ミ ング、および BPI フラ ッシュの電源投入のタイ ミ ングが、FPGA コンフ ィギュ

レーシ ョ ンの開始と BPI フラ ッシュで非同期読み出しの準備が完了するタイ ミ ングの関係にどの

よ うに影響するかを考慮する必要があ り ます。7 シ リーズ FPGA の電源要件およびタイ ミ ングにつ

いては、 各 7 シ リーズ FPGA データシートで確認して ください。 FPGA がコンフ ィギュレーシ ョ

ンを開始する前に BPI フラ ッシュを確実に非同期読み出し可能な状態にするには、次のいずれかの

手法でシステムを設計するよ うにします。

• FPGA コンフ ィギュレーシ ョ ンが開始する前に BPI フラ ッシュに電源が投入されて非同期読

み出しが可能な状態になるよ う、 パワーオン シーケンスを制御する

• 電源投入時から FPGA の INIT_B ピンを Low に保持して FPGA コンフ ィギュレーシ ョ ンの

開始を遅らせ、 BPI フラ ッシュが非同期読み出し可能になった後に、 INIT_B ピンを High にする

JTAG インターフェイス

7 シ リーズ FPGA は、 4 ピンの JTAG インターフェイスを介したコンフ ィギュレーシ ョ ンが可能で

す。 この場合、 ザイ リ ンクス ツールとザイ リ ンクス ケーブルを使用してプロセッサまたは カスタ

ム CPLD デザインから直接コンフ ィギュレーシ ョ ンを行う方法と、サードパーティのバウンダ リ スキャン ツールを使用する方法があ り ます。 JTAG 指定モードの設定は、 (M[2:0] = 101) です。 ザイ

リ ンクス ツールは、ISE や ChipScope™ Pro ツールを含む ISE Design Suite で、また Vivado DesignSuite ラボ ツールで JTAG インターフェイスを使用します。

ほかのコンフ ィギュレーシ ョ ン モードに設定していても JTAG コマンドが優先されますが、 ほかの

モード との競合を防ぐため、 M[2:0] オプシ ョ ンを使用して JTAG モードに設定するこ とを推奨しま

す。詳細は、第 3 章「バウンダ リ スキャンおよび JTAG コンフィギュレーシ ョ ン」を参照してください。

1ConfigRate 1 FMCCKTOLMAX+( )×------------------------------------------------------------------------------------------------ TBPICCO TACC TBPIDCC+ +≥

Page 71: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 71UG470 (v1.9) 2014 年 11 月 14 日

第 3 章

バウンダリ スキャンおよび JTAG コンフ ィギュレーシ ョ ン

はじめに

ザイ リ ンクスの 7 シ リーズ デバイスは、テス ト アクセス ポート (TAP) およびバウンダ リ スキャン

アーキテクチャを定義した IEEE 1149.1 規格をサポート しています。 この規格は、個々のコンポー

ネン ト とそれらの接続のテス ト をボード レベルで行うためのものです。 バウンダ リ スキャン アー

キテクチャは接続テス トだけでなく コンフ ィギュレーシ ョ ンや検証などベンダー固有の命令も柔軟

にサポートするため、 コンフ ィギュレーシ ョ ン データを直接 FPGA に読み込む機能を追加できま

す。一般に、TAP (タ ップ アクセス ポート ) とバウンダ リ スキャン アーキテクチャを総称して JTAGと呼んでいます。

IEEE 1149.1 を使用した 7 シリーズ デバイスのバウンダリ スキャン

7 シ リーズ ファ ミ リは IEEE Standard 1149.1 (Test Access Port and Boundary-Scan Architecture) に完全に準拠しており、 IEEE 1149.1 規格で定められている必須エレ メン ト をすべて備えています。

これらのエレ メン ト とは、 TAP (テス ト アクセス ポート )、 TAP コン ト ローラー、 命令レジスタ、

命令デコーダー、 バウンダ リ レジスタ、 バイパス レジスタです。 また、 7 シ リーズ ファ ミ リは 32ビッ トのデバイス識別レジスタ と コンフ ィギュレーシ ョ ン レジスタもサポート しています。こ こか

らは、 7 シ リーズ デバイスの JTAG アーキテクチャについて詳し く説明します。

テスト アクセス ポート (TAP)7 シ リーズ FPGA の TAP には、 7 シ リーズ デバイスおよび一般的な JTAG アーキテクチャのプロ

ト コルで必須と指定されている 4 本の専用ピンがあ り ます。これら 3 つの入力ピンと 1 つの出力ピ

ンを使用して、 IEEE Std 1149.1 バウンダ リ スキャンの TAP コン ト ローラーを制御します。 TRST(テス ト リ セッ ト ) やイネーブル ピンなどのオプシ ョ ン制御ピンが他社製デバイスで使用されてい

る場合があ り ます。 これらのオプシ ョ ンが他社製デバイスで駆動されている場合があるため、 ザイ

リ ンクス製デバイスを他社製デバイス と組み合わせて使用する際は、 オプシ ョ ン制御ピンの信号に

注意して ください。

IEEE 1149.1 規格のバウンダ リ スキャン TAP コン ト ローラーは、16 ステートのステート マシンで

す。 詳細は、 第 10 章 「アドバンス JTAG の使用法」 を参照してください。

Page 72: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

72 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 3 章 : バウンダリ スキャンおよび JTAG コンフ ィギュレーシ ョ ン

表 3-1 では、 4 つの必須ピンについて説明します。 これらのピンは、 コンフ ィギュレーシ ョ ン バン

ク 0 にあ り ます。 2.5V または 3.3V 動作の場合、 VCCO_0 を 2.5V または 3.3V と し、 CFGBVS をVCCO_0 ( 「コンフ ィギュレーシ ョ ン バンク電圧セレク ト 」 参照) に接続します。

バウンダリ スキャンのタイ ミング パラメーター

一般的に必要と されるタイ ミ ング パラ メーター (図 3-1 参照) の特性評価データについては、 各 7シ リーズ FPGA データシートの 「コンフ ィギュレーシ ョ ンのスイ ッチ特性」 の表を参照して くだ

さい。

表 3-1 : 7 シリーズ FPGA の TAP コン ト ローラー ピン(1)

ピン 方向コンフ ィギュレーシ ョ ン

前の内部プル抵抗説明

TDI 入力 プルアップ Test Data In (テス ト データ入力) - すべての JTAG 命令およびデータ

レジスタへのシ リ アル入力です。

ある命令で TDI ピンのデータをどのレジスタに送るかは、 TAP コン ト

ローラー ステートおよび現在の命令によって決ま り ます。 ピンが駆動

されていないと きにロジッ ク High にするため、 TDI には内部プルアッ

プ抵抗があ り ます。 TDI は、 TCK の立ち上がりエッジで JTAG レジス

タに適用されます。

TDO 出力 プルアップ Test Data Out (テス ト データ出力) - すべての JTAG 命令およびデータ

レジスタのシ リ アル出力です。

ある命令でどのレジスタ (命令またはデータ) から TDO ピンにデータ

を送るかは、 TAP コン ト ローラー ステートおよび現在の命令によって

決ま り ます。TDO のステートは TCK の立ち下がりエッジで変化し、命

令またはデータをデバイスで送信している場合のみアクテ ィブにな り

ます。 TDO はアクティブ ド ラ イバー出力です。 ピンがアクティブでな

いと きにロジッ ク High にするため、 TDO には内部プルアップ抵抗が

あ り ます。

TMS 入力 プルアップ Test Mode Select (テス ト モード選択) - TCK の立ち上がりエッジで、

TAP コン ト ローラーのステートのシーケンスを決定します。

ピンが駆動されていないと きにロジッ ク High にするため、 TMS には

内部プルアップ抵抗があ り ます。

TCK 入力 プルアップ Test Clock (テス ト ク ロ ッ ク ) - JTAG のテス ト ク ロ ッ ク ピンです。

TAP コン ト ローラーおよび JTAG レジスタは、 TCK を基準に動作しま

す。ピンが駆動されていないと きにロジッ ク High にするため、TCK には内部プルアップ抵抗があ り ます。

注記 :

1. TDO および TCK 同様、TMS と TDI には IEEE Std 1149.1 で規定された内部プルアップ抵抗があ り ます。 これらの内部プルアップ抵抗

は、 選択されているモードに関係なくアクティブです。 内部プルアップの値については、 各 7 シ リーズ FPGA データシート を参照して

ください。 ビッ ト ス ト リーム オプシ ョ ンを使用して、 コンフ ィギュレーシ ョ ン後に 4 つの必須ピンすべてに対してプルアップ抵抗また

はプルダウン抵抗を有効にできます。 詳細は、 『コマンド ラ イン ツール ユーザー ガイ ド』 (UG628) を参照して ください。

Page 73: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 73UG470 (v1.9) 2014 年 11 月 14 日

IEEE 1149.1 を使用した 7 シリーズ デバイスのバウンダリ スキャン

7 シリーズ デバイスでのバウンダリ スキャンの使用

ザイ リ ンクス ツールで単一デバイスをコンフ ィギュレーシ ョ ンする場合、 TAP コン ト ローラーの

コマンドは自動的に発行されます。 コンピューターのポートから 7 シ リーズ FPGA にビッ ト ス ト

リームを自動的に転送するには、 ダウンロード ケーブルを 4 つの JTAG ピン (TMS、 TCK、 TDI、および TDO) に正し く接続する必要があ り ます。コンフ ィギュレーシ ョ ン ツールは接続が正しいか

ど うかを自動的に確認し、コンフ ィギュレーシ ョ ン ビッ トの送信コマンドやコンフ ィギュレーシ ョ

ン ビッ トが適切に管理されているこ とを確認するコマンドを送信します。

図 3-2 は、 1 つのデバイス と JTAG 信号ヘッダーをシンプルな形で接続した、 一般的な JTAG 構成

を示したものです。 このヘッダーは、 プロセッサで駆動するか、 またはザイ リ ンクスのプログラ ミ

ング ケーブルを使用してラボ ツールで駆動できます。TCK はバウンダ リ スキャンの動作で使用す

るクロ ッ クです。TDO - TDI 間の接続によ り、JTAG チェーンを介したデータ シフ ト用のシ リアル

データパスが作成されます。 TMS は、 TAP コン ト ローラーのステートの遷移を制御します。 JTAGが正し く機能するには、 これらの信号をすべて物理的に正し く接続する必要があ り ます。

X-Ref Target - Figure 3-1

図 3-1 : 7 シリーズ FPGA のバウンダリ スキャン ポートのタイ ミング波形

UG470_c3_01_072610

TDO

TCK

TDI

TMS

Data Valid

TTCKTDO

TTAPTCKTTCKTAP

X-Ref Target - Figure 3-2

図 3-2 : 単一デバイスの JTAG プログラ ミング接続

TDO

TCK

TMS

TDI

TDO

TCK

TMS

TDI

7 Series FPGA

Device

JTAG Header

UG470_c3_02_061710

Page 74: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

74 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 3 章 : バウンダリ スキャンおよび JTAG コンフ ィギュレーシ ョ ン

複数デバイスのコンフ ィギュレーシ ョ ン

複数の 7 シ リーズ デバイスを 1 つのチェーンで接続してコンフ ィギュレーシ ョ ンする こ と もでき

ます (図 3-3 参照)。

コンフ ィギュレーシ ョ ン モードが JTAG のみの場合は、 PROGRAM_B、 INIT_B、 および DONEをそれぞれ別々のプルアップ抵抗へ接続できます。

JTAG チェーン内の複数のデバイスは 1 つずつコンフ ィギュレーシ ョ ンされます。 複数デバイスの

コンフ ィギュレーシ ョ ンは、シグナル インテグ リティが良好に保たれている限り、チェーンの長さ

にかかわらず実行できます。 ザイ リ ンクス ツールは、 JTAG ヘッダーからの TDI 信号に も近い

デバイスから順にチェーン内のデバイスを自動的に検出します。

バウンダリ スキャン デザインの考察事項

JTAG 信号の配線

TCK および TMS 信号はチェーン内のすべてのデバイスに伝送されるため、 シグナル インテグ リ

ティが重要です。 たとえば、 JTAG 機能が正し く動作するには、 TCK がすべてのレシーバーで均一

に遷移する必要があ り ます。 また、 TCK を正し く終端処理する必要もあ り ます。 TCK のシグナル

インテグ リティによっては、確実に JTAG コンフ ィギュレーシ ョ ンを行える 大周波数が低くなる

こ とがあ り ます。

さ らに、 チェーンが長い場合 (3 つ以上のデバイス)、 すべてのレシーバーで駆動強度が十分である

よ うにするため、 TMS および TCK にバッファーを付ける必要があ り ます。 また、 ロジッ ク Highでの電圧はチェーン内のすべてのデバイス と互換性がある必要があ り ます。

TRST (テス ト リ セッ ト ) やイネーブル ピンなどのオプシ ョ ン制御ピンが他社製デバイスで使用さ

れている場合があ り ます。 このため、 ザイ リ ンクス製デバイスを他社製デバイス と組み合わせて使

用する際は、 これらのオプシ ョ ン ピンの駆動が必要となる場合があるため、 注意してください。

電源供給

バウンダ リ スキャン テス ト を実行するには、 SelectIO ピンと ト ランシーバー ピンを設定する必要

があ り ます。 SelectIO ピンについては、 SAMPLE 命令によって強制的に LVCMOS に入力バッ

ファーが設定されます。入力レベルがフローティング状態 (プルアップなし ) の場合は、 さ らに電流

引き込みが生じる可能性があ り ます。 ト ランシーバー ピンについては、 SAMPLE 命令によってバ

ンドギャ ップとパッ ド ド ラ イバーが有効になり、AC-JTAG (IEEE 1149.6) 動作が可能になり ます。

X-Ref Target - Figure 3-3

図 3-3 : 複数デバイスのバウンダリ スキャン チェーン

JTAG Header

UG470_c3_03_061710

7 SeriesFPGA

TDOTDI

TMS

TCK

7 SeriesFPGA

PROGRAM_B

TDI

TMS

TCK

PROGRAM_B

TDO

7 SeriesFPGA

TDI

TMS

TCK

PROGRAM_B

TDO

Device 0 Device 1 Device 2

TDO

TMS

TDI

TCK

Page 75: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 75UG470 (v1.9) 2014 年 11 月 14 日

バウンダリ スキャン デザインの考察事項

これによ り、 ト ランシーバーがパワー ダウン モード となるためコンフ ィギュレーシ ョ ンされてい

ないデバイスの消費電力が増加する可能性があ り ます。 消費される電流量が通常動作時よ り も大き

くなるこ とはあ り ません。

バウンダリ スキャンによるコンフ ィギュレーシ ョ ン

7 シ リーズ デバイスは、標準のバウンダ リ スキャン (JTAG) ポートからのコンフ ィギュレーシ ョ ン

をサポート しています。 JTAG ポートからのコンフ ィギュレーシ ョ ンは、 モード ピンの設定にかか

わらず随時行う こ とができます。 ただし、 JTAG ポートからのコンフ ィギュレーシ ョ ンとほかのコ

ンフ ィギュレーシ ョ ン モードが競合するのを防ぐために、JTAG コンフ ィギュレーシ ョ ン モードを

明示的に設定するこ と もできます。

ザイ リ ンクスは、 プロ ト タイプ用に独自のプログラ ミ ング ケーブル (パラレルおよび USB) とバウ

ンダ リ スキャン プログラ ミ ング ツールを提供しています。 これらは、 量産環境での利用を想定し

たものではあ り ませんが、FPGA インプリ メンテーシ ョ ンおよび JTAG チェーンの完全性の検証に

非常に役立ちます。

JTAG チェーン内のほかのデバイスにアクセスする際は、 正しいデバイスが適切な信号を受信でき

るよ う、 命令レジスタの長さを把握しておく こ とが重要です。 この情報は、 各デバイスの BSDLファ イルに記述されています。 スタンドアロン BSDL ファ イルは、 ダウンロード ページから入手

可能な ISE ツールで提供されます。 Vivado ツールには BSDL 情報が含まれています。

バウンダ リ スキャンを利用したベンダー固有の命令と して もよ く使用されるものの 1 つに、コン

フ ィギュレーシ ョ ン命令があ り ます。7 シ リーズ デバイスで JTAG からコンフ ィギュレーシ ョ ンを

行う場合、 この命令はモード ピンの設定に関係なく実行されます。

スタ ッ ク ド シ リ コン インターコネク ト (SSI) テク ノ ロジ デバイスの JTAG コンフ ィギュレーシ ョ

ンは、 iMPACT のみを介してサポー ト されるか、 JTAG ケーブル接続または SVF (Serial VectorFormat) ファ イルのいずれかを使用する Vivado デバイス プログラマを介してサポート されます。

Page 77: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 77UG470 (v1.9) 2014 年 11 月 14 日

第 4 章

ダイナミ ック リコンフ ィギュレーシ ョ ン ポート (DRP)

ファンクシ ョ ン ブロックのダイナミ ック リコンフ ィギュレーシ ョ ン

バックグランド

7 シ リーズ ファ ミ リ FPGA のコンフ ィギュレーシ ョ ン メモ リの主な用途は、 ユーザー ロジッ ク、

コネクティビティ、 および I/O のインプリ メン トですが、 それ以外の用途に使用される場合もあ り

ます。 たとえば、 コンフ ィギュレーシ ョ ン メモ リ を使用し、 CMT (ク ロ ッ ク マネージメン ト タイ

ル) などのファンクシ ョ ン ブロ ッ クに対するさまざまな固定条件を指定します。

アプリ ケーシ ョ ンによっては、 ファンクシ ョ ン ブロ ッ クの動作中に、 これらの条件の変更が必要と

な り ます。 このよ うな変更は、 JTAG、 ICAPE2、 SelectMAP ポート を使用するパーシャル ダイナ

ミ ッ ク リ コンフ ィギュレーシ ョ ンによって可能です。 しかし、 数多くのファンクシ ョ ン ブロ ッ ク

にはこの変更プロセスを簡単にするダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポートが用意されて

います。 DRP は、 CMT、 MMCM/PLL、 XADC、 シ リ アル ト ランシーバー、および PCIe® ブロ ッ

ク (I/O を除く ) に備わっています。

概要

この章では、 アド レス指定が可能で、 パラレル書き込み/読み出しが実行可能なコンフ ィギュレー

シ ョ ン メモ リについて概説します。 このメモ リは、 リ コンフ ィギュレーシ ョ ンが必要となり う る各

ファンクシ ョ ン ブロ ッ クにインプ リ メ ン ト されています。 このコンフ ィギュレーシ ョ ン メモ リに

は、 次のよ うな特長があ り ます。

• FPGA ロジッ クから直接アクセスできます。ファンクシ ョ ン ブロ ッ クの機能によってコンフ ィ

ギュレーシ ョ ン ビッ トの書き込みや読み出しが実行されます。

• メモ リの各ビッ トは、 ビッ ト ス ト リームにある、 それぞれに対応するコンフ ィギュレーシ ョ ン

メモ リ ビッ ト値で初期化されます。 メモ リ ビッ トは、後で ICAPE2 を利用して変更できます。

• 各メモ リ ビッ トの出力はファンクシ ョ ン ブロ ッ ク ロジッ クを駆動するため、 このメモリの内

容によってファンクシ ョ ン ブロ ッ クの構成が決定します。

アドレス空間には、 ステータス (読み出しのみ) およびファンクシ ョ ン イネーブル (書き込みのみ)を含むこ とができます。 読み出し専用および書き込み専用の操作は同じアドレス空間に対して実行

できます。図 4-1 は、以前の FPGA ファ ミ リではコンフ ィギュレーシ ョ ン ビッ トがどのよ うにファ

ンクシ ョ ン ブロ ッ クのロジッ クを直接駆動するかを示したものです。 図 4-2 は、 リ コンフ ィギュ

レーシ ョ ン ロジッ クによってコンフ ィギュレーシ ョ ン ビッ トの読み出し /書き込みフローがどのよ

うに変化したかを示したものです。

Page 78: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

78 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 4 章 : ダイナミ ック リ コンフ ィギュレーシ ョ ン ポート (DRP)

図 4-3 は図 4-2 と同じ ものですが、 ロジッ ク プレーンとファンクシ ョ ン ブロ ッ ク間のポート を示

し、 実際の信号名と方向がわかるよ うになっています。

X-Ref Target - Figure 4-1

図 4-1 : ダイナミ ック インターフェイスを使用しない場合の

ブロック コンフ ィギュレーシ ョ ン ロジック

X-Ref Target - Figure 4-2

図 4-2 : ダイナミ ック インターフェイスを使用した場合の

ブロック コンフ ィギュレーシ ョ ン ロジック

X-Ref Target - Figure 4-3

図 4-3 : 信号名を示したブロック コンフ ィギュレーシ ョ ン ロジック

All configuration bits for this block

to Block Logic

Configuration Logic Functional Block UG470_c4_01_102313

CONTROLLER

Block Status (Read-Only Ports)

Function Enables (Write-Only Ports)

Reconfigurable Bits

All Configuration Bitsfor This Block

Non-Reconfigurable Bits

to Block Logic

to Block Logic

StandardDynamic ReconfigurationPort (to Logic)

Configuration Logic Functional Block

Logic Plane

UG470_c4_02_110513

Controller

Block Status (Read-Only Ports)

Function Enables (Write-Only Ports)

Reconfigurable Bits

All Configuration Bitsfor This Block

Non-Reconfigurable Bits

to Block Logic

to Block Logic

StandardDynamicReconfigurationPort (to Logic)

Configuration Logic Functional Block

Logic Plane

UG470_c4_03_110513

DCLK

DRDY

DEN

DWE DADDR[m:0]

DI[n:0]

DO[n:0]

Page 79: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 79UG470 (v1.9) 2014 年 11 月 14 日

ファンクシ ョ ン ブロックのダイナミ ック リコンフ ィギュレーシ ョ ン

FPGA ロジック ポートについて

79 ページの表 4-1 に、 FPGA ロジッ ク ポートの各信号を示します。 各ファンクシ ョ ン ブロ ッ クに

はこれらの信号の一部またはすべてをインプリ メン トでき、ファンクシ ョ ン ブロ ッ ク名は異なるこ

とがあ り ます。 通常、 ポートは同期式のパラレル メモ リ ポートで、 ブロ ッ ク RAM インターフェ

イス と同様に書き込みバスと読み出しバスが別々になっています。バス ビッ トには、LSB から MSBの順に 0 から番号が付けられています。 信号はすべてアクティブ High です。

ポートのタイ ミ ングは DCLK 入力に同期し、その他すべての入力信号は、DCLK の立ち上がりエッ

ジでファンクシ ョ ン ブロ ッ ク内にラ ッチされます。 そして、 入力 (書き込み) データは DCLK の次

の立ち上がりエッジ前に、書き込みアドレス と DWE および DEN 信号と同時に現れます。次のデー

タを受信できる状態になる と、DRDY ポートが 1 ク ロ ッ ク サイクル間アサート されます。出力デー

タは、 ファンクシ ョ ン ブロ ッ ク内でラ ッチされません。 出力 (読み出し) データは、 DEN および

DADDR がアサー ト されてから数サイ クル後に有効と な り ます。 出力データが有効になる と、

DRDY がアサート されます。

DCLK の 大周波数などの絶対タイ ミ ング パラ メーターは、 各 7 シ リーズ FPGA データシートに

記載されています。

表 4-1 : ポート信号の定義

信号名 方向(1) 説明

DCLK 入力

ほかのすべてのポート信号のタイ ミ ングは、 この信号の立ち

上がりエッジを基準と します。DCLK は通常、グローバル クロ ッ ク バッファーで駆動します。

DEN 入力

すべてのポートの処理を有効にします。DWE が FALSE の場

合は読み出し処理が、 それ以外の場合は書き込み処理が有効

になり ます。

DEN は DCLK の 1 サイ クル間のみパルスする必要があ り

ます。

DWE 入力アクティブの場合、 ポートへの書き込み処理が有効にな り ま

す ( 「DEN」 参照)。

DADDR[m:0] 入力

DCLK の次のサイクルで書き込みまたは読み出しを実行する

セルを指定します。アドレスは、DEN がアクティブなサイク

ルで現れます。

DI[n:0] 入力

アドレス指定されたセルに書き込まれるデータです。 データ

は、DEN および DWE がアクティブなサイクルで現れ、その

サイ クルの 後でレジスタに取り込まれますが、 実際の書き

込みは DRDY が返される前の不特定の時間に実行されます。

DO[n:0] 出力

DWE が非アクティブなと きに DEN がアクティブになる と、

アド レス指定されたセルから読み出されたデータがこのバス

上に現れます。 それ以外の場合、 DO[n:0] の値は不定です。

Page 80: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

80 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 4 章 : ダイナミ ック リ コンフ ィギュレーシ ョ ン ポート (DRP)

ダイナミ ッ ク コンフ ィギュレーシ ョ ン ポート を用いるファンクシ ョ ン ブロ ッ クの詳細は、 次の資

料を参照して ください。

* 『MMCM および PLL のダイナミ ッ ク リ コンフ ィギュレーシ ョ ン』 (XAPP888)

* 『7 シ リーズ FPGA および Zynq-7000 All Programmable SoC XADC デュアル 12 ビッ ト 1MSPSアナログ - デジタル コンバーター ユーザー ガイ ド』 (UG480)

* 『7 シ リーズ FPGA GTX/GTH ト ランシーバー ユーザー ガイ ド』 (UG476)

* 『7 シ リーズ FPGA GTP ト ランシーバー ユーザー ガイ ド』 (UG482)

* 『7 Series FPGAs Integrated Block for PCI Express 製品ガイ ド』 (PG054)

DRDY 出力

DEN に対する応答信号で、 DRP サイ クルが完了して次の

DRP サイ クルを開始できるこ とを示します。ポート読み出し

の場合、DRDY がアクティブなサイ クルにおいて、DCLK の立ち上がりエッジで DO バスのデータを取り込む必要があ り

ます。 DEN がアクテ ィブにな り、 次のポート サイ クルを開

始できる 初のサイ クルは、 DRDY がアクテ ィブになる ク

ロ ッ ク サイクルと同一です。

注記 :

1. 「入力」 とは、 DRP への入力 (書き込み) を意味します。

表 4-1 : ポート信号の定義 (続き)

信号名 方向(1) 説明

Page 81: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 81UG470 (v1.9) 2014 年 11 月 14 日

第 5 章

コンフ ィギュレーシ ョ ンの詳細

コンフ ィギュレーシ ョ ン データ ファイルの形式

ザイ リ ンクスのデザイン ツールでは、 コンフ ィギュレーシ ョ ン データ ファ イルをさまざまな形式

で生成できます (表 5-1 参照)。 ISE の BitGen ツールは、 PAR 後の NCD ファ イルをコンフ ィギュ

レーシ ョ ン ファ イルまたはビッ ト ス ト リームに変換します。 また、 PROM ファ イル生成ツールの

PROMGen は、 1 つ以上のビッ ト ス ト リーム ファ イルを 1 つの PROM ファ イルに変換します。 同

等の Vivado Tcl コマン ドは WRITE_BITSTREAM と WRITE_CFGMEM です。 さまざまな形式

の PROM ファ イルが生成可能であ り、 PROM で使用する必要はあ り ません。 これらは任意の場所

に保存し、 任意の手段で取り込むこ とができます。

表 5-1 : ザイリンクスのコンフ ィギュレーシ ョ ン ファイルの形式

ファイル

拡張子

ビッ ト スワップ(1) ザイリンクス ツール(2) 説明

BIT ビッ ト スワ ップなし

ISE BitGen または

Vivado write_bitstream

(デフォルトで生成)

FPGA へのダウンロードが不要なヘッダー情報を含むバイ

ナ リ コ ンフ ィ ギ ュ レーシ ョ ン データ フ ァ イルです。

iMPACT または Vivado デバイス プログラマと共にプログ

ラ ミ ング ケーブルを使用してデバイスをプログラムする際

に使用します。

RBT ビッ ト スワ ップなし

ISE BitGen

(-b オプシ ョ ンの設定で生成) Vivado write_bitstream

(-raw_bitfile 引数で生成)

BIT フ ァ イルを ASCII 形式と したもので、 テキス ト ヘッ

ダーと ASCII 形式の 1 および 0 が含まれています (コン

フ ィギュレーシ ョ ン ビッ ト ごとに 8 ビッ ト )。

BIN ビッ ト

スワ ップなし

ISE BitGen (-g binary:yes

オプシ ョ ンの設定で生成) または PROMGen

または

Vivado write_bitstream

(-bin_file 引数で生成)

ヘッダー情報のないバイナリ コンフ ィギュレーシ ョ ン デー

タ ファ イルで、 カスタム コンフ ィギュレーシ ョ ン ソ リ ュー

シ ョ ン (マイ クロプロセッサなど) またはサード パーティの

PROM をプログラムする場合に使用します。

MCS ビッ ト スワップあ り (3)

ISE PROMGen または iMPACT、

または

Vivado write_cfgmem -format MCS

コ ンフ ィ ギ ュ レーシ ョ ン データ以外にア ド レ スおよび

チェ ッ クサム情報を含む ASCII 形式の PROM ファ イルで

す。 主に、 デバイス プログラマや iMPACT で使用します。

Page 82: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

82 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

7 シ リーズ FPGA のビッ ト ス ト リームには、コンフ ィギュレーシ ョ ン データ以外に FPGA コンフ ィ

ギュレーシ ョ ン ロジッ クへのコマンド も含まれます。

7 シ リーズ FPGA のビッ ト ス ト リームは、 次の 3 つの部分で構成されます。

• 「バス幅の自動検出」

• 「同期ワード」

• FPGA コンフ ィギュレーシ ョ ン

バス幅の自動検出

すべてのビッ ト ス ト リームの開始部分には、 バス幅の自動検出パターンが挿入されます。 これは、

パラレル コンフ ィギュレーシ ョ ン モードで自動的にコンフ ィギュレーシ ョ ン バス幅を検出するた

めに使用されます。 このパターンは同期ワードの前にあるため、シ リ アル コンフ ィギュレーシ ョ ン

モードでは無視されます。

パラレル コンフ ィギュレーシ ョ ン モードでは、 バス幅はコンフ ィギュレーシ ョ ン ロジッ クによっ

て自動的に検出されます。バス幅検出パターンは、ビッ ト ス ト リームの先頭に置かれます。コンフ ィ

ギュレーシ ョ ン ロジッ クではパラレル バスの下位 8 ビッ トのみがチェ ッ ク され、 受信したバイ ト

シーケンスに基づいて自動的に適切な外部バス幅に切り替えるこ とができます。 表 5-2 に、 バス幅

検出パターンを挿入したビッ ト ス ト リームの例を示します。 詳し くは 「パラレル バスのビッ ト順」

で説明しますが、 FPGA データ ピンに現れるビッ ト パターンはスワップしています。

表 5-2 に示したビッ ト ス ト リーム データは、スワ ップしていないビッ ト ス ト リームの 32 ビッ ト コンフ ィギュレーシ ョ ン ワードです。 スワ ップした形式、 およびスワップしていない形式の詳細は、

「コンフ ィギュレーシ ョ ン データ ファ イルの形式」 を参照してください。

HEX ユーザー指定

ISE PROMGen または iMPACT、

または

Vivado write_cfgmem -format HEX

コンフ ィ ギュレーシ ョ ン データのみを含む ASCII 形式の

PROM ファ イルです。主に、カスタム コンフ ィギュレーシ ョ

ン ソ リ ューシ ョ ンで使用します。

注記 :

1. ビッ ト スワ ップの詳細は、 「ビッ ト スワ ップ」 を参照して ください。

2. BitGen および PROMGen の構文の詳細は、 『コマンド ラ イン ツール ユーザー ガイ ド』 (UG628) を参照してください。 Vivado DesignSuite での同等のツールおよび構文については、『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) を参照して

ください。

3. 通常、 PROM ファイルは SPI コンフ ィギュレーシ ョ ン モードを除きビッ ト スワ ップされます。 SPI フラ ッシュの場合は、 PROMGen の-spi オプシ ョ ンを使用してビッ ト スワ ップのないファイルを生成します。

表 5-1 : ザイリンクスのコンフ ィギュレーシ ョ ン ファイルの形式 (続き)

ファイル

拡張子

ビッ ト スワップ(1) ザイリンクス ツール(2) 説明

表 5-2 : バス幅検出パターン

D[24:31] D[16:23] D[8:15] D[0:7] 注釈

0xFF 0xFF 0xFF 0xFF

0x00 0x00 0x00 0xBB バス幅検出パターン

0x11 0x22 0x00 0x44 バス幅検出パターン

0xFF 0xFF 0xFF 0xFF

0xFF 0xFF 0xFF 0xFF

Page 83: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 83UG470 (v1.9) 2014 年 11 月 14 日

メモリ ファイルの生成

ザイ リ ンク ス ツールで生成されるコンフ ィギュレーシ ョ ン ビ ッ ト ス ト リーム (BIT または RBTファ イル) には必ずバス幅の自動検出パターンが含まれるため、 バス幅の自動検出をユーザーが意

識するこ とはほとんどあ り ません。 モード ピンをマスター シ リ アル、 スレーブ シ リ アル、 JTAG、

SPI モードのいずれかに設定している場合、検出パターンはコンフ ィギュレーシ ョ ン ロジッ クで無

視されます。

x8 バスの場合、 コンフ ィギュレーシ ョ ン バス幅検出ロジッ クが D[0:7] ピンで 初に 0xBB、 次に

0x11 を検出します。x16 バスの場合は、D[0:7] ピンで 初に 0xBB、次に 0x22 を検出します。x32バスの場合は、 D[0:7] ピンで 初に 0xBB、 次に 0x44 を検出します。

0xBB 直後のバイ トが 0x11、 0x22、 0x44 のいずれでもない場合、 バス幅のステート マシンが リ

セッ ト され、 有効なシーケンスが検出されるまで 0xBB を検索します。 その後、 適切な外部バス幅

に切 り 替わ り、 同期ワー ド の検出を開始し ます。 バス幅が検出される と、 電源の入れ直し、

PROGRAM_B パルス、 JPROGRAM リ セ ッ ト 、 または IPROG リ セ ッ ト が発行される まで、

SelectMAP インターフェイスはそのバス幅に固定されます。

同期ワード

特別な同期ワードを使用し、 コンフ ィギュレーシ ョ ン ロジッ クを 32 ビッ ト ワードに揃えるこ とが

できます。 同期ワードが検出されるまで、 FPGA はパケッ ト処理を開始しません。 パラレル コン

フ ィ ギュレーシ ョ ン モードでは、 同期ワードの前にバス幅が正し く検出される必要があ り ます。

表 5-3 に、 ビッ ト スワ ップなしのビッ ト ス ト リーム形式における同期ワードを示します。

メモリ ファイルの生成

PROM ファ イルは、 ISE Design Suite の場合は PROMGen ユーティ リ ティ を用い、 Vivado DesignSuite の場合は Tcl コマンド WRITE_CFGMEM を用いてビッ ト ス ト リーム ファ イルから生成され

ます。 PROMGen はコマンド ラ インから直接実行するこ と も、 iMPACT のファイル生成モードで

間接的に実行するこ と もできます。PROMGen の構文の詳細は、『コマンド ライン ツール ユーザー

ガイ ド』 (UG628) を参照してください。 また、 iMPACT の詳細は、 ISE ツールのマニュアルを参照

して ください。 WRITE_CFGMEM の詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラム

およびデバッグ』 (UG908) を参照して ください。 PROM ファ イルは、 ビッ ト ス ト リームを PROMプログラ ミ ング用の形式に変換し、 シ リ アル デイジー チェーン用にビッ ト ス ト リーム ファ イルを

結合する場合に使用します ( 「シ リ アル デイジー チェーン用の PROM ファ イル」 参照)。

シリアル デイジー チェーン用の PROM ファイル シ リ アル デイジー チェーンは、個別の BIT ファ イルを結合しただけではプログラムできないため、

シ リ アル デイジー チェーン専用の形式でコンフ ィギュレーシ ョ ン データを用意する必要があ り ま

す。 PROMGen (または iMPACT) を使用する と、 複数のビッ ト ス ト リームからシ リ アル デイジー

0xAA 0x99 0x55 0x66 同期ワード

… … … … …

表 5-2 : バス幅検出パターン (続き)

D[24:31] D[16:23] D[8:15] D[0:7] 注釈

表 5-3 : 同期ワード

31:24 23:16 15:8 7:0

0xAA 0x99 0x55 0x66

Page 84: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

84 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

チェーン専用形式の PROM ファ イルを生成できます。PROM ファ イルを生成するには、PROMGenで複数のビッ ト ス ト リームを選択して -n、 -u、 -d オプシ ョ ンを指定するか、 または iMPACT のFile Generation Wizard を使用し ます。 Tcl コマン ド WRITE_CFGMEM の場合、 -loadbit

"up|down <address1> <bitfile1.bit> <address2> <bitfile2.bit>" 引数を使用しま

す。 詳細は、 各ツールのマニュアルを参照して ください。

PROMGen は、下位デバイスのコンフ ィギュレーシ ョ ン データを上位デバイスのコンフ ィギュレー

シ ョ ン パケッ トの中にネス ト してビッ ト ス ト リームの形式を変換します。 デイジー チェーンのコ

ンフ ィギュレーシ ョ ンを実行する際、 上位デバイスに複数のビッ ト ス ト リームを送信する と 初

のデバイスのみがコンフ ィギュレーシ ョ ンされ、 以降のデータは無視されます。

SelectMAP コンフ ィギュレーシ ョ ン用の PROM ファイル

MCS ファ イルは、 主に SelectMAP モードで単一の FPGA をプログラムする場合に用いるザイ リ

ンクス コンフ ィギュレーシ ョ ン PROM のプログラムに使用します。 カスタム コンフ ィギュレー

シ ョ ン ソ リ ューシ ョ ンで も手軽に利用できる PROM ファ イル形式は、何も加工していない BINおよび HEX 形式のファ イルです。 ただし場合によっては、 ファ イル形式の変更が必要になるこ と

があ り ます。詳細は、アプリ ケーシ ョ ン ノート 『スレーブ シ リアル/SelectMAP モードでマイクロ

プロセッサを使用した 7 シ リーズ FPGA のコンフ ィギュレーシ ョ ン』 (XAPP583) を参照して くだ

さい。

SelectMAP コンフ ィギュレーシ ョ ン用の複数のコンフ ィギュレーシ ョ ン ビッ ト ス ト リームが 1 つのメモ リ デバイスにある場合、 それらのビッ ト ス ト リームを 1 つのシ リ アル デイジー チェーン

PROM ファ イルに結合するのではなく、 複数の BIN または HEX ファ イルでターゲッ トのメモ リ

デバイスをプログラムする必要があ り ます。 複数の個別データ ス ト リームを持つ PROM ファ イル

が 1 つ必要な場合は、 iMPACT でパラレル PROM をターゲッ トにし、 目的のデータス ト リーム数

を選択して生成します。あるいは、PROMGen のコマンド ラインから生成するこ と もできます。詳

細は、 PROMGen ツールのマニュアルを参照してください。

SPI/BPI コンフ ィギュレーシ ョ ン用の PROM ファイル

PROMGen の -d および -u オプシ ョ ン、 iMPACT File Generation Wizard、 または write_cfgmem-loadbit 引数を使用してサード パーティのフラ ッシュ デバイスに対応した PROM ファ イルを

作成できます。 出力には、 使用しているサード パーティ プログラマでサポート されている形式を

選択して ください。BPI デバイスによっては、PROM ファ イルをプログラムする際にエンディアン

のスワ ップを有効にする必要があ り ます。 詳細は、 フラ ッシュ デバイス ベンダーの資料を参照し

て ください。

ビッ ト スワップ

ビッ ト スワップとは、 バイ ト内でビッ ト位置を入れ替えるこ とです。 PROMGen -spi オプシ ョ ン

または write_cfgmem -interface spi1|spi2|spi4 オプシ ョ ンを使用して SPI コンフ ィギュ

レーシ ョ ン モードを指定した場合を除き、 MCS 形式の PROM ファ イルは常にビッ ト スワ ップさ

れます。ファ イル形式が HEX の場合、ビッ ト スワップを使用するかど うかはユーザー オプシ ョ ン

で指定できます。 ビッ ト ス ト リーム ファ イル (BIT、 RBT、 BIN) がビッ ト スワ ップするこ とはあ

り ません。

HEX フ ァ イル形式には、 コンフ ィ ギュ レーシ ョ ン データのみ含まれますが、 その他の形式の

PROM ファ イルには、FPGA にはダウンロード されないアドレスおよびチェッ クサム情報が含まれ

ます。 このアドレスおよびチェ ッ クサム情報は、 サード パーティのデバイス プログラマが使用す

るもので、 PROM へはプログラムされません。

Page 85: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 85UG470 (v1.9) 2014 年 11 月 14 日

メモリ ファイルの生成

図 5-1 に、 2 バイ トのデータ (0xABCD) のビッ ト スワ ップを示します。

各バイ トの MSB は、 データの方向に関係なく D0 ピンに割り当てられます。

• ビッ ト スワップしたデータでは、 右端のビッ トが D0

• ビッ ト スワップしていないデータでは、 左端のビッ トが D0

ビッ ト スワ ップが必要かど うかは、 完全にアプリ ケーシ ョ ンによって決定します。 ビッ ト スワ ッ

プは、 シ リ アル、 SelectMAP、 または BPI PROM ファ イルおよび ICAPE2 インターフェイスで可

能です。

パラレル バスのビッ ト順

従来の SelectMAP x8 モードの場合、 CCLK の 1 サイ クルで 1 バイ トのコンフ ィギュレーシ ョ ン

データが読み込まれ、各バイ トの MSB ( 上位ビッ ト ) は D0 ピンに出力されます。この D0 = MSB、

D7 = LSB という規則はほかのデバイスには該当しませんが、ザイ リ ンクスの FPGA はすべてこの

規則に従っています。ビッ ト スワ ップの規則は、7 シ リーズ FPGA の BPI x8 モードおよび ICAPE2インターフェイスにも該当します ( 「ビッ ト スワップ」 参照)。

7 シ リーズ デバイスでは、 ビッ ト スワ ップ規則は x16 および x32 バス幅にも適用され、 データは

各バイ ト内でビッ ト スワップされます。7 シ リーズ FPGA のビッ ト順は Virtex®-6 FPGA の場合と

同じです。

表 5-4 および表 5-5 に、 ビッ ト ス ト リーム内の同期ワード例を示します。 この例では、 スレーブ

SelectMAP、 マスター SelectMAP、 BPI モードなどのパラレル コンフ ィギュレーシ ョ ン モードを

使用した場合、 そして ICAPE2 インターフェイスを使用した場合に FPGA データ ピンに現れる

データを示しています。

X-Ref Target - Figure 5-1

図 5-1 : ビッ ト スワップの例

UG470_c5_01_072610

Hex:

Binary:

Bit-SwappedBinary:

Bit-SwappedHex:

SelectMAPData Pin:

D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7

1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1

A B C D

1 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1

D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0

D 5 B 3

SelectMAPData Pin:

Page 86: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

86 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

コンフ ィギュレーシ ョ ンの遅延

コンフ ィギュレーシ ョ ンの開始を遅らせるには、 初期化中に INIT_B ピンを Low に保持します

(図 5-4 参照)。 いったん INIT_B が High になる と、 その後に INIT_B を Low にしても コン

フ ィギュレーシ ョ ンを遅延させる こ とはできません。

表 5-6 に、 初期化およびコンフ ィギュレーシ ョ ンの遅延に関連する信号を示します。

表 5-4 : 同期ワードのビッ ト スワップ例

同期ワード [31:24](1) [23:16] [15:8] [7:0]

ビッ ト ス ト リーム形式 0xAA 0x99 0x55 0x66

ビッ ト スワップ後 0x55 0x99 0xAA 0x66

注記 :

1. ビッ ト スワ ップする と、 [31:24] は 0xAA から 0x55 に変化します。

表 5-5 : x8、 x16、 x32 モードでの同期ワードのデータ シーケンス例

CCLK サイクル 1 2 3 4

x8 モードの D[7:0] ピン 0x55 0x99 0xAA 0x66

x16 モードの D[15:0] ピン 0x5599 0xAA66

x32 モードの D[31:0] ピン 0x5599AA66

表 5-6 : 初期化およびコンフ ィギュレーシ ョ ンの遅延に関連する信号

信号名 タイプ アクセス(1) 説明

INIT_B 入力、 出力、

またはオープ

ン ドレイン

INIT_B ピンを介して外部

からアクセス可能

パワーオン リ セッ ト または PROGRAM_B リ セッ ト

後、 INIT_B が Low 駆動し、 FPGA がコンフ ィ ギュ

レーシ ョ ン メモ リ を初期化 (ク リ ア) 中であるこ とを

示します。

モード ピンのサンプリ ング前は入力とな り、Low に保

持するこ とでコンフ ィギュレーシ ョ ンの開始を遅らせ

るこ とができます。

モード ピンのサンプ リ ング後はオープン ド レインの

アクティブ Low 出力とな り、コンフ ィギュレーシ ョ ン

中の CRC エラーまたはコンフ ィギュレーシ ョ ン後の

リードバッ ク CRC エラー ( リードバッ ク CRC が有効

の場合) の有無を示します。

0 = CRC または IDCODE エラー (DONE が Low)、またはリードバッ ク CRC エラー (DONE が High、リードバッ ク CRC が有効の場合)

1 = CRC エラーなし、 コンフ ィギュレーシ ョ ンの

初期化完了

INIT_COMPLETE ステータス(2) 7 シ リーズ FPGA のステー

タ ス レジス タ を介してア

クセス可能な内部信号

INIT_B 信号が内部で リ リースされているかを示しま

す。

Page 87: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 87UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン シーケンス

コンフ ィギュレーシ ョ ン シーケンス

コンフ ィギュレーシ ョ ン インターフェイスにはいくつかの種類があ り ますが、7 シ リーズ デバイ

スをコンフ ィギュレーシ ョ ンする基本的な手順はすべてのモードで共通です。図 5-2 に、7 シ リー

ズ FPGA のコンフ ィギュレーシ ョ ン プロセスを示します。 こ こからは、各手順 (図中では灰色で

表示) について詳し く説明します。

初の 3 つのセッ ト アップ段階では、7 シ リーズ デバイスを初期化し、モード ピンをサンプリ ング

してコンフ ィギュレーシ ョ ン モードを判断します。

設定 (手順 1 - 3)セッ ト アップのプロセスは、 すべてのコンフ ィギュレーシ ョ ン モードで同じです (図 5-3 参照)。

セッ ト アップの各手順は、 デバイスを正し く コンフ ィギュレーシ ョ ンするために非常に重要です。

この手順では、 1. デバイスの電源投入、 2. コンフ ィギュレーシ ョ ン メモ リのク リ ア、 3. モード ピンのサンプリ ングを実行します。

デバイスの電源投入 (手順 1)

7 シ リーズ デバイスのコンフ ィギュレーシ ョ ンには、 VCCO_0、 VCCAUX、 VCCBRAM、 VCCINT ピンへの電源投入が必要です。 パワーオン シーケンスの要件については、 各 7 シ リーズ FPGA デー

タシート を参照して ください。

MODE_STATUS[2:0] ステータス 7 シ リーズ FPGA のステー

タ ス レジス タ を介してア

クセス可能な内部信号

ステータスが読み込まれたと きのモード ピンの値を

示します。

注記 :

1. 7 シ リーズ FPGA のステータス レジスタの詳細は、 117 ページの表 5-28 を参照して ください。 SelectMAP を介したデバイスのステータ

ス レジスタへのアクセスについては、 第 6 章 「リードバッ クおよびコンフ ィギュレーシ ョ ンの検証」 を参照してください。

2. タイプがステータスの場合は、 対応するピンのない内部ステータス信号です。

表 5-6 : 初期化およびコンフ ィギュレーシ ョ ンの遅延に関連する信号 (続き)

信号名 タイプ アクセス(1) 説明

X-Ref Target - Figure 5-2

図 5-2 : 7 シリーズ FPGA のコンフ ィギュレーシ ョ ン プロセス

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG470_c5_02_072610

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

Setup

X-Ref Target - Figure 5-3

図 5-3 : デバイスの電源投入 (手順 1)

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG470_c5_03_072610

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

Setup

Page 88: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

88 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

JTAG コンフ ィギュレーシ ョ ンのピンはすべて 1 つの専用バンクにあ り、専用の電源電圧 (VCCO_0)が供給されます。多目的ピンはバンク 14 とバンク 15 にあ り ます。専用入力ピンはすべて、VCCO_0LVCMOS レベルで動作します。アクティブな専用出力ピンはすべて、LVCMOS、12mA 駆動能力、

Fast スルー レートに設定されて VCCO_0 電圧レベルで動作します。Persist モードを使用する と、コ

ンフ ィギュレーシ ョ ン後も選択したコンフ ィギュレーシ ョ ン モードの多目的 I/O はアクテ ィブな

状態を維持します。 この際、 I/O 規格は LVCMOS、 12mA 駆動能力、 スルー レート とな り ます。

多目的 I/O を使用するモードでは、 関連する VCCO_14 または VCCO_15 をデバイス コンフ ィギュ

レーシ ョ ンの I/O 規格に一致する電圧に接続する必要があ り ます。 また、 コンフ ィギュレーシ ョ ン

実行中のピンは、 LVCMOS、 12mA 駆動能力、 Fast スルー レートです。

電源投入の際には、 VCCINT ピンに 1.0V または 0.9V (-2L の場合) の電源電圧を供給する必要があ

り ます。JTAG モード場合は、7 シ リーズ FPGA のコンフ ィギュレーシ ョ ン時に VCCO_0 以外の I/O電圧に電源を供給する必要はあ り ません。 多目的ピンを使用するコンフ ィギュレーシ ョ ン モード (シ リ アル、 マスター BPI、 SPI、 SelectMAP など) を選択した場合、 VCCO_14 と VCCO_15 のいずれ

かまたは両方に電源を供給する必要があ り ます。 表 5-7 に、 コンフ ィギュレーシ ョ ンに必要な電源

を示します。表 5-8 に、電源投入に関するタイ ミ ング パラ メーターを示します。電圧の定格値につ

いては、 各 7 シ リーズ FPGA データシート を参照してください。

表 5-7 : コンフ ィギュレーシ ョ ンに必要な電源

ピン名 説明

VCCINT 内部コア ロジッ クの電源

VCCBATT(1) AES 復号化キーを格納したメモリのバッ クアップ電源 (キー格納用メモ リ を

使用しない場合は、 VCCAUX または GND に接続)

VCCAUX 補助回路用の 1.8V 電源

VCCAUX_IO_# 補助 I/O 回路の 1.8V/2.0V 電源ピン

VCCBRAM FPGA のロジッ ク ブロ ッ ク RAM の電源ピン

VCCO_0 コンフ ィギュレーシ ョ ン バンク電源電圧

VCCO_14 VCCO_15

多目的コンフ ィギュレーシ ョ ン ピンの出力電源電圧。コンフ ィギュレーシ ョ

ンでサポート される標準的な I/O 電圧レベルは、 1.5V、 1.8V、 2.5V、および

3.3V

注記 :

1. VCCBATT は、AES 暗号化したビッ ト ス ト リームの復号化キーを FPGA のバッ クアップ バッテ リ付き RAMに格納した場合のみ使用します。

表 5-8 : 電源投入に関するタイ ミング パラメーター

説明 シンボル

プログラム レイテンシ TPL

POR (パワーオン リセッ ト ) TPOR

CCLK 出力遅延 TICCK

プログラム パルス幅 TPROGRAM

注記 :

1. 電源投入時のタイ ミ ング特性については、 各 7 シ リーズ FPGA データシート を参照して ください。

Page 89: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 89UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン シーケンス

図 5-4 に、 電源投入時の波形を示します。

電源投入時に適切に動作させるには、 各 7 シ リーズ FPGA データシートに記載のガイ ド ラ インに

従ってください。電源は、各 7 シ リーズ FPGA データシートに記載された電源立ち上がり時間内に

単調増加で立ち上がる必要があ り ます。 電源電圧はすべて推奨動作範囲内とする必要があ り ます。

VCCINT が VDRINT を下回ったり、 VCCAUX が VDRI を下回る と、 コンフ ィギュレーシ ョ ン データ

が失われる可能性があ り ます (各電圧値の詳細は、 各 7 シ リーズ FPGA データシート参照)。

単調増加での立ち上がりが不可能な場合は、システム電源が VCCO_0、VCCAUX、VCCBRAM、VCCINTの 小推奨動作電圧に達するまで INIT_B ピンを Low に維持してコンフ ィギュレーシ ョ ンの開始

を遅らせて ください ( 「コンフ ィギュレーシ ョ ンの遅延」 参照)。 一部のコンフ ィギュレーシ ョ ン

モードではバンク 14 とバンク 15 のいずれかまたは両方を使用します。これらのバンクをコンフ ィ

ギュ レーシ ョ ンで使用する場合、 INIT_B が High になる前にそれぞれの電源電圧 (VCCO_14、

VCCO_15) も 小推奨動作電圧に達していなければなり ません。

電源投入後、 PROGRAM_B ピンを Low に ト グルしてデバイスを リ コンフ ィギュレーシ ョ ンでき

ます (図 5-5 参照)。

X-Ref Target - Figure 5-4

図 5-4 : デバイスの電源投入タイ ミング

X-Ref Target - Figure 5-5

図 5-5 : PROGRAM_B ピンを Low に切り替えてデバイスをリコンフ ィギュレーシ ョ ンする

UG470_c5_04_071114

TPOR

TICCK

INIT_B

CCLK Output or Input

VALIDM0, M1, M2*

(Required)

*Can be either or , but must not toggle during and after configuration.

Last to ramp ofVCCINT/VCCAUX/

VCCBRAM/VCCO_0

UG470_c5_20_073014

PROGRAM_B

INIT_B

CCLK

M0, M1, M2 Valid

tlCCK

tPL

tPROGRAM

Page 90: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

90 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

コンフ ィギュレーシ ョ ン メモリのクリア (手順 2、 初期化)

コンフ ィギュレーシ ョ ン メモ リは、デバイスへの電源投入後、PPROGRAM_B ピンの Low パルス

後、 JTAG JPROGRAM 命令または IPROG コマン ドの使用後、 あるいはフォールバッ ク リ コン

フ ィギュレーシ ョ ン シーケンス中に逐次初期化されます。グローバル セッ ト / リセッ ト (GSR) のア

サートによってブロ ッ ク RAM は初期ステートにリセッ ト され、 フ リ ップフロ ップは再初期化され

ます。 初期化の間、 グローバル ト ラ イステート (GTS) を使用するこ とでコンフ ィギュレーシ ョ ン

専用ピンおよび JTAG ピン以外の I/O はハイ インピーダンス状態となり ます。 初期化中、 INIT_Bは内部で Low に維持され、 電源投入時は TPOR 経過後に (図 5-4 参照)、 その他の場合は TPL 経過

後にリ リースされます。 INIT_B を外部から Low に保持する と、デバイスはピンがリ リースされる

まで初期化プロセスのその時点の状態で待機し、 TPOR または TPL 遅延が実現します。

PROGRAM_B の 短 Low パルス時間は、 TPROGRAM タ イ ミ ング パラ メーターによって決定し

ます。

モード ピンのサンプリング (手順 3)

INIT_B ピンが High に遷移する と、 デバイスはモード ピン M[2:0] をサンプ リ ングし、 マスター

モードの場合はコンフ ィギュレーシ ョ ン ク ロ ッ ク (CCLK) の駆動を開始します。この時点で、デバ

イスは CCLK の立ち上がりエッジでコンフ ィギュレーシ ョ ン データ入力ピンのサンプリ ングを開

始します。 BPI および SelectMAP モードでは、 バス幅はデフォルトで x8 であ り、 ステータス レジスタにこれが反映されます。バス幅検出シーケンス後、 ステータス レジスタがアップデート され

ます。 パワー サイ クルまたは PROGRAM_B のアサートによって リ コンフ ィギュレーシ ョ ンされ

た場合のみモード ピンが再度サンプリ ングされます。

X-Ref Target - Figure 5-6

図 5-6 : 初期化 (手順 2)

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG470_c5_05_101510

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

Setup

X-Ref Target - Figure 5-7

図 5-7 : モード ピンのサンプリング (手順 3)

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG470_c5_06_101510

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

Setup

Page 91: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 91UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン シーケンス

ビッ トス ト リームの読み込み (手順 4 - 7)ビッ ト ス ト リームの読み込みプロセスは、 すべてのコンフ ィギュレーシ ョ ン モードでほぼ共通で

す。主な違いは、 コンフ ィギュレーシ ョ ン ロジッ クへのインターフェイスです。 これらの違いに関

する詳細は、 第 2 章 「コンフ ィギュレーシ ョ ン インターフェイス」 で説明しています。

同期 (手順 4)

BPI、 スレーブ SelectMAP、 およびマスター SelectMAP モードでは、 初にバス幅を検出する必

要があ り ます ( 「バス幅の自動検出」 参照)。 スレーブ シ リ アル、 マスター シ リ アル、 SPI、 および

JTAG モードでは、 バス幅検出パターンは無視されます。 バス幅検出シーケンスの次に、 32 ビッ ト

の特別な同期ワード (0xAA995566) をコンフ ィギュレーシ ョ ン ロジッ クに送信する必要があ り ま

す。同期ワードは、 これからコンフ ィギュレーシ ョ ン データの送信が開始されるこ とをデバイスに

通知する と共に、 内部のコンフ ィギュレーシ ョ ン ロジッ クがコンフ ィギュレーシ ョ ン データに揃

う よ うにします。 「バス幅自動検出」 シーケンスを除き、 同期ワード よ り も前のコンフ ィギュレー

シ ョ ン入力ピン上のデータはすべて無視されます。

ツールで生成したコンフ ィギュレーシ ョ ン ビッ ト ス ト リーム (BIT ファ イル) には必ずバス幅検出

パターンと同期ワードの両方が含まれるため、 同期をユーザーが意識するこ とはほとんどあ り ませ

ん。 表 5-9 に、 同期に関連する信号を示します。

X-Ref Target - Figure 5-8

図 5-8 : 同期 (手順 4)

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG470_c5_07_101510

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

表 5-9 : 同期化に関連する信号

信号名 タイプ アクセス 説明

DALIGN ステータス SelectMAP インターフェイスで ABORT シー

ケンス中にのみ使用可能です。

デバイスが同期しているかど うかを示します。

IWIDTH ステータス 内部信号です。 7 シ リーズ FPGA ステータス

レジスタを介してのみアクセス可能です。 (1)

ステータス レジスタ BUS_WIDTH のビッ ト

が検出したバス幅を示します。

検出されたバス幅を示します。

00 = x1

01 = x8

10 = x16

11 = x32

ICAPE2 が有効な場合、この信号はコンフ ィギュ

レーシ ョ ン完了後の ICAPE2 幅を示します。

注記 :

1. 7 シ リーズ FPGA のステータス レジスタの詳細は、表 5-28 を参照してください。JTAG または SelectMAP を介したデバイスのステータ

ス レジスタへのアクセスについては、 第 6 章 「リードバッ クおよびコンフ ィギュレーシ ョ ンの検証」 を参照してください。

Page 92: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

92 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

デバイス ID の確認 (手順 5)

デバイスの同期後、コンフ ィギュレーシ ョ ン データ フレームを読み込む前にデバイス ID を確認す

る必要があ り ます。これは、別のデバイス用にフォーマッ ト されたビッ ト ス ト リームでコンフ ィギュ

レーシ ョ ンされるこ とを防ぐためです。

コンフ ィギュレーシ ョ ン中に ID エラーが発生する と、 デバイスはフォールバッ ク リ コンフ ィギュ

レーシ ョ ンの実行を試みます。

デバイス ID チェッ クはビッ ト ス ト リームに組み込まれているため、 この処理を設計者が意識する

こ とはほとんどあ り ません。 この場合のデバイス ID チェッ クは、 JTAG IDCODE レジスタを介し

てではなく、コンフ ィギュレーシ ョ ン ロジッ クに対するビッ ト ス ト リーム内のコマンドによって実

行されます。

7 シ リーズ FPGA の JTAG IDCODE レジスタのフォーマッ トは次のとおりです。

vvvv:fffffff:aaaaaaaaa:ccccccccccc1

説明 :

v = リ ビジ ョ ン

f = 7 ビッ トのファ ミ リ コード

a = 9 ビッ トのアレイ コード (4 ビッ トのサブファ ミ リ コード と 5 ビッ トのデバイス コード )

c = 企業コード

コンフ ィギュレーシ ョ ン データ フレームの読み込み (手順 6)

同期ワードの読み込みとデバイス ID の確認が完了する と、コンフ ィギュレーシ ョ ン データ フレー

ムが読み込まれます (110 ページの 「コンフ ィギュレーシ ョ ン メモ リ フレーム」 参照)。 このプロセ

スをユーザーが意識するこ とはほとんどあ り ません。

X-Ref Target - Figure 5-9

図 5-9 : デバイス ID の確認 (手順 5)

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG470_c5_08_072610

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

X-Ref Target - Figure 5-10

図 5-10 : コンフ ィギュレーシ ョ ン データ フレームの読み込み (手順 6)

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG470_c5_09_072610

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

Page 93: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 93UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン シーケンス

CRC (Cyclic Redundancy Check) (手順 7)

コンフ ィ ギュレーシ ョ ン データ フレームの読み込み時に、 デバイスはコンフ ィ ギュレーシ ョ ン

データ パケッ トから CRC 値を算出します。 コンフ ィギュレーシ ョ ン データ フレームの読み込み

後、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リームによ りデバイスに対して CRC を確認する命令が発

行され、その後に正しい CRC 値が送信されます。デバイスが算出した CRC 値がビッ ト ス ト リーム

内の正しい CRC 値と一致しない場合、デバイスは INIT_B を Low 駆動し、 コンフ ィギュレーシ ョ

ンを中断します。 CRC チェッ クはデフォルトでコンフ ィギュレーシ ョ ン ビッ ト ス ト リームに含ま

れますが、 不要であれば無効にできます ( 『コマンド ライン ツール ユーザー ガイ ド』 (UG628) の「BitGen」 参照)。 CRC チェッ クを無効にする と、 誤ったコンフ ィギュレーシ ョ ン データ フレーム

が読み込まれ、 デザインの動作不良やデバイスの損傷を引き起こす可能性があ り ます。

FPGA がマスターとなっているモードでのコンフ ィギュレーシ ョ ンで CRC エラーが発生する と、

フォールバッ ク リ コンフ ィギュレーシ ョ ンが実行されます。BPI および SPI モードでフォールバッ

ク リ コンフ ィギュレーシ ョ ンが再びエラーになった場合、BPI/SPI インターフェイスを再同期する

には、 PROGRAM_B ピンをパルスし、 コンフ ィギュレーシ ョ ン プロセスを 初から再実行する必

要があ り ます。その場合も JTAG インターフェイスは応答可能で、デバイスも有効ですが、BPI/SPIインターフェイスのみ動作できない状態にあ り ます。 SelectMAP モードの場合は、 PROGRAM_Bピンを Low にパルスするか、ABORT シーケンスを開始するこ とによって再同期できます (第 2 章

の 「SelectMAP コンフ ィギュレーシ ョ ン モード」 参照)。

7 シ リーズ デバイスでは 32 ビッ トの CRC チェッ クが使用されます。 CRC チェッ クは、 コンフ ィ

ギュレーシ ョ ン ビッ ト ス ト リームの送信エラーを検出するためのものですが、ある特定の状況下で

は検出できない可能性もあ り ます。 これは、ダブルクロ ッキングなどのクロ ッキング エラーによっ

て 32 ビッ トのビッ ト ス ト リーム パケッ ト と コンフ ィギュレーシ ョ ン ロジッ クの同期が失われた場

合などです。 同期が失われる と、 以降のコマンドは CRC チェッ クのコマンドを含め一切認識され

なくな り ます。 このよ うな状況では CRC が無視されるため、 DONE が Low、 INIT_B が High になってコンフ ィギュレーシ ョ ンが完了しません。 BPI モードの非同期読み出しでは、 アドレス カウ

ンターが 終的にオーバーフローまたはアンダーフローしてラ ップアラウン ドが起こ り、 これに

よってフォールバッ ク リ コンフ ィギュレーシ ョ ンが開始します。 BPI 同期読み出しモードでは、エ

ラー条件のラ ップアラウンドはサポート されません。

スタートアップ (手順 8)

X-Ref Target - Figure 5-11

図 5-11 : CRC (Cyclic Redundancy Check) (手順 7)

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG470_c5_10_072610

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

X-Ref Target - Figure 5-12

図 5-12 : スタートアップ シーケンス (手順 8)

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG470_c5_11_072610

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

Page 94: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

94 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

コンフ ィギュレーシ ョ ン フレームの読み込みが完了する と、 スタート アップ シーケンスの開始命

令がビッ ト ス ト リームからデバイスに与えられます。 スタート アップ シーケンスは、 8 フェーズ (フェーズ 0 ~ 7) のシーケンシャル ステート マシンで制御されます。スタート アップ シーケンサー

は、 表 5-10 に示すタスクを実行します。

EOS のアサート を除く スター ト アップ イベン ト の順序は、 ビッ ト ス ト リーム オプシ ョ ンでユー

ザーがプログラムできます ( 『コマン ド ラ イン ツール ユーザー ガイ ド』 (UG628) 参照)。 表 5-10に、一般的なイベン トの順序を示します。実際のスタート アップ イベン トの各フェーズはユーザー

でプログラム可能ですが、 EOS は常に 後のフェーズでアサート されます。 スタート アップ オプ

シ ョ ンのガイ ド ラインは、第 2 章 「コンフ ィギュレーシ ョ ン インターフェイス」 を参照してくださ

い。 表 5-11 に、 デフォルト設定でのスタート アップ イベン トの順序を示します。

適切なオプシ ョ ンを使用する と、 スタート アップ シーケンスで MMCM がロ ッ クするか DCI が一

致するまで待機させる こ とができます。 通常、 これらのオプシ ョ ンは、 MMCM のロ ッ ク または

DCI の一致の前に、DONE、GTS、および GWE がアサート されないよ うにするために設定します。

DONE 信号は、 ユーザーが指定したサイ クルでスタート アップ シーケンサーによって リ リースさ

れますが、 実際に DONE ピンがロジッ ク High になるまで、 スター ト アップは続行されません。

DONE ピンはオープン ド レインの双方向信号です。 DONE ピンがリ リースされる と、 Low 駆動が

停止してピンが内部プルアップ抵抗によってプルアップされます。DONE ピンと コンフ ィギュレー

シ ョ ン ロジッ ク間にレジスタを追加するため、 DONE_PIPE はデフォルトで有効になっています。

7 シ リーズ FPGA における DONE 信号の変更点については、 表 2-4 を参照してください。 表 5-12にスタート アップ シーケンスに関連した信号を示し、 図 5-13 にその波形を示します。

表 5-10 : スタートアップ イベン トのユーザー選択可能なサイクル

フェーズ イベン ト

1 ~ 6 MMCM がロ ッ クするまで待機する (オプシ ョ ン)

1 ~ 6 DCI が一致するまで待機する (オプシ ョ ン)

1 ~ 6 GWE (グローバル ライ ト イネーブル) をアサート し、RAM およびフ リ ップフロ ップ

の状態を変更可能にする

1 ~ 6 GTS (グローバル ト ラ イステート ) をディアサート し、 I/O を有効にする

1 ~ 6 DONE ピンを リ リースする

7 EOS (End Of Startup) をアサートする

表 5-11 : デフォルトのスタートアップ イベン トのシーケンス

フェーズ イベン ト

4 DONE ピンを リ リースする

5 GTS をディアサート し、 I/O を有効にする

6 GWE をアサート し、 RAM とフ リ ップフロ ップの状態を変

更可能にする

7 EOS をアサートする

Page 95: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 95UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン シーケンス

表 5-12 : スタートアップ シーケンサーに関連する信号

信号名 タイプ アクセス(1) 説明

DONE 双方向(2) DONE ピンまたは 7 シ リー

ズ FPGA のステータス レジ

スタ

コンフ ィギュレーシ ョ ンが完了したこ とを示します。 外

部で Low を維持し、 スタート アップをほかの FPGA と同期させるこ とができます。

Release_DONE

ステータス7 シ リーズ FPGA ステータス

レジスタ

デバイスが DONE ピンの Low 駆動を停止したかを示し

ます。 ピンを外部から Low に維持し た場合、

Release_DONE と実際の DONE ピンの値が異なるこ と

があ り ます。

GWE(3) グローバル ライ ト イネーブル (GWE)。 アサート される

と、 FPGA の CLB、 IOB フ リ ップフロ ップ、 およびそ

の他の同期エレ メン トが有効になり ます。

GTS グローバル ト ラ イステート (GTS)。 アサート される と、

コンフ ィギュレーシ ョ ン ピン用を除くすべての I/O ド ラ

イバーが無効になり ます。

EOS EOS (End of Startup)。コンフ ィギュレーシ ョ ンおよびス

タート アップ プロセスが完全に終了したこ と示します。

DCI_MATCH すべての DCI (デジタル制御イ ンピーダンス) コ ン ト

ローラーの内部抵抗が、 外部の参照抵抗と一致している

こ とを示します。

MMCM_LOCK すべてのク ロ ッ ク マネージメン ト ブロ ッ クの準備が完

了したこ とを示します。この信号は、デフォルトでアサー

ト されています。 また、 MMCM に LOCK_WAIT オプ

シ ョ ンを使用し、 ビッ ト ス ト リーム生成時に LockCycleオプシ ョ ンを使用した場合にアクティブになり ます。

注記 :

1. 7 シ リーズ FPGA のステータス レジスタの詳細は、 表 5-28 を参照してください。 JTAG または SelectMAP を介したデバイスのステー

タス レジスタへのアクセスについては、 第 6 章 「リードバッ クおよびコンフ ィギュレーシ ョ ンの検証」 を参照して ください。

2. オープン ド レイン出力です。

3. GWE はコンフ ィギュレーシ ョ ン ク ロ ッ ク (CCLK) に同期してアサート されるため、デバイス全体のスキューが大き くな り ます。 このた

め、順次エレ メン トはユーザーのシステム ク ロ ッ クに同期して リ リースされず、 スタート アップ中にタイ ミ ング違反が発生する可能性が

あ り ます。 スタート アップ後にデザインを リセッ ト し、 その他の同期化テクニッ クを適用するこ とを推奨します。

X-Ref Target - Figure 5-13

図 5-13 : コンフ ィギュレーシ ョ ン信号のシーケンス (デフォルト設定でのスタートアップの場合)

POR

INIT_B

DONE

EOS

CCLK

Initialization Configuration StartupEnd of BitstreamUG470_c5_12_071114

GWE

GTS

Page 96: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

96 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

End of Startup へのクロッキング

デフォルトで、DONE はスタート アップのフェーズ 4 でリ リースされ、DONE_PIPE が有効になっ

て 1 ク ロ ッ ク サイクルのレイテンシが追加されます。DONE はコンフ ィギュレーシ ョ ンが完了し、

すべてのデータが読み込まれたこ と を示すものですが、 ス ター ト ア ップ シーケンスが End ofStartup のフェーズ 7 まで正し くかつ確実に完了するには追加クロ ッ ク サイ クルを適用する必要が

あ り ます。 DONE 後は控えめに見積もっても 24 のクロ ッ ク サイ クルが必要で、 これが も一般的

な使用例です。 ビッ ト ス ト リーム オプシ ョ ンの LCK_cycle または Match_cycle によって未定義の

クロ ッ ク サイクル数が追加されます。

多目的コンフ ィギュレーシ ョ ン ピンで DCI を使用

I/O バンク 14 または 15 にあるコンフ ィギュレーシ ョ ン ピンがユーザー デザインの DCI I/O 規格

に割り当てられている場合には、 DCIRESET プ リ ミ テ ィブもデザインに含めて使用する必要があ

り ます。 デザインは DCIRESET の RST 入力をパルスした後、 LOCKED 信号がアサート されるま

で待機してから、DCI 規格を使用する多目的コンフ ィギュレーシ ョ ン ピンのユーザー入力または出

力を使用するよ うにして ください。 コンフ ィギュレーシ ョ ン ピンと して機能する多目的コンフ ィ

ギュレーシ ョ ン I/O ピンは、 デバイス初期化中に実行される 初の DCI 調整を無視します。 詳細

は、 『7 シ リーズ FPGA SelectIO リ ソース ユーザー ガイ ド』 (UG471) を参照して ください。

STARTUPE2 プリ ミテ ィブ STARTUPE2 プリ ミ ティブ (図 5-14 参照) は、ユーザー ロジッ ク と コンフ ィギュレーシ ョ ン ロジッ

クの制御およびステータス信号間を結ぶインターフェイスを提供します。 ピンの多くはスター ト

アップ シーケンスに関連し、スタート アップ ク ロ ッ クのユーザー指定を可能にする CLK 信号など

が含まれます。 STARTUPE2 をデザインでインスタンシエートする こ とで、 選択されたコンフ ィ

ギュレーシ ョ ン信号をデバイス動作中にユーザーが制御できるよ うにな り ます。

X-Ref Target - Figure 5-14

図 5-14 : STARTUPE2 プリ ミテ ィブ

Page 97: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 97UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン シーケンス

表 5-13 に STARTUPE2 プリ ミ ティブのピンを示します。

表 5-13 : STARTUPE2 のピン

ピン名 タイプ 説明

CLK 入力 ユーザー スタート アップ ク ロ ッ ク ピンです。 デバイス スタート アップ シーケンス クロ ッ クを駆動する FPGA ロジッ クからの入力です。 スタート アップ シーケンス用にユー

ザー定義された CCLK を供給します。

GSR 入力 推奨されていません – Low に接続して無効にします。 GSR (グローバル セッ ト / リ セッ

ト ) ピンは FPGA からのアクティブ High 入力で、 CLB フ リ ップフロ ップの再初期化に

使用可能な非同期セッ ト / リ セッ ト をアサート します。 GSR 信号はデバイス全体に及び、

ユーザー ク ロ ッ クに非同期でリ リースされます。 非同期リ リースやデバイス全体のス

キューが原因で、 フ リ ップフロ ップは同じ ク ロ ッ ク サイ クルで リ リースされず、 メ タス

テーブルが発生する可能性があ り ます。 GSR を使用するアプ リ ケーシ ョ ンでは、 GSR 前にすべてのクロ ッ クが停止するか、 または GSR 後にデバイスが リ コンフ ィギュレー

シ ョ ンされるこ とが必要です。 同じフ リ ップフロ ップの初期化 (セッ ト / リ セッ ト ) は、

スタート アップ前のデバイス コンフ ィギュレーシ ョ ンで問題な く実行されます。

GTS 入力 グローバル ト ラ イステート ピンです。 FPGA ロジッ クからのアクティブ High 入力で、

すべてのユーザー I/O をハイ インピーダンス ステートにします。 コンフ ィギュレーシ ョ

ン中、 同じ機能が常にアサート されます。 ほとんどのアプリ ケーシ ョ ンでは、 このピン

を Low に接続します。

KEYCLEARB 入力 バッ クアップ バッテ リ付きの RAM から AES 複合化キーをク リ アします。FPGA ファブ

リ ッ クからのアクティブ Low 入力です。 データシートに記載の TPROGRAM 遅延の間こ

のピンを Low に保持する と、バッ クアップ バッテ リ付き RAM (BBRAM) に格納されて

いる復号化キーの内容が消去されます。

PACK 入力 PROGRAM_B または JPROGRAM 肯定応答信号を示します。 FPGA ロジッ クからの入

力であ り、 PROGRAM_B 信号のアサートに対して肯定応答を返し、 中断していた PROGRAM_B ステート マシンを再開して FPGA を引き続き リセッ ト します。 このピン

は、 PROG_USR 属性を True に設定した場合のみ有効になり ます。

PREQ 出力 FPGA ロジッ クへの PROGRAM_B パルスまたは JPROGRAM REQuest 要求です。

FPGA ロジッ クへの出力です。 デバイスを リセッ トするための PROGRAM_B ステート マシンからの要求です。 これによ り、 デザインがリセッ ト を完了できる状態になるまで PROGRAM_B 要求がゲート制御されます。 このピンは、 PROG_USR 属性を True に設

定した場合のみ有効になり ます。

USRCCLKO 入力 CCLK ピンです。 FPGA ロジッ クからの入力で、 コンフ ィギュレーシ ョ ン後にロジッ ク

で生成されたカスタム ク ロ ッ ク周波数を FPGA CCLK ピンに駆動します。 コンフ ィギュ

レーシ ョ ン後に外部 SPIフラ ッシュ デバイスにアクセスする際に使用します。 詳細は、

「USRCCLKO」 を参照してください。

USRCCLKTS 入力 CCLK ピンに対するユーザー CCLK ト ラ イステート イネーブルです。FPGA ロジッ クか

らのアクティブ High 入力で、 コンフ ィギュレーシ ョ ン後に使用する と FPGA CCLK ピンをハイインピーダンス ステートにします。 ほとんどのアプリ ケーシ ョ ンでは、 このピ

ンを Low に接続します。

USRDONEO 入力 DONE ピンの出力値です。 FPGA ロジッ クからの入力で、 FPGA DONE ピンに接続し

ます。

USRDONETS 入力 DONE ピンに対するユーザー DONE ト ラ イステート イネーブルです。 FPGA ロジッ ク

からのアクティブ High 入力で、 DONE をハイインピーダンス ステートにします。 通常 Low に接続して DONE を有効にします。

Page 98: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

98 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

USRCCLKO

STARTUPE2 プ リ ミ テ ィブの USRCCLKO 入力によって、 コンフ ィギュレーシ ョ ン後にユーザー

ロジッ クが CCLK ピンを駆動できるよ うにな り ます。 USRCCLKO は POST_CRC リードバッ ク

ロジッ クにも クロ ッ クを供給できます (両方が使用される場合) (表 8-1 参照)。内部 USRCCLKO から CCLK ピンまでの遅延は、 データシー ト で TUSRCCLKO と して定義されています。 End ofStartup 後の USRCCLKO の 初の 3 ク ロ ッ ク サイクルは、ク ロ ッ ク ソースを切り替えるために使

用され、外部 CCLK ピンへ出力されるこ とはあ り ません。 これによ り、内部オシレーターからユー

ザー ク ロ ッ クへの移行時に発生する CCLK グ リ ッチが回避されます。ただし、外部マスター CCLKピンの EMCCLK がコンフ ィギュレーシ ョ ンに使用される場合、 USRCCLKO の 3 ク ロ ッ ク サイ

クルで新しいユーザー ク ロ ッ クへ切り替わるまで、CCLK にグ リ ッチが発生し続ける可能性があ り

ます。

ビッ トス ト リームのセキュリテ ィ

こ こでは、 FPGA ビッ ト ス ト リームのセキュ リティ機能と して、 ビッ ト ス ト リーム暗号化とビッ ト

ス ト リーム認証について説明します。

リードバッ クを回避するこ とがセキュ リティの基本です。 ビッ ト ス ト リームのセキュ リ ティはレベ

ル 1 ( リードバッ ク無効) またはレベル 2 ( リードバッ ク と リ コンフ ィギュレーシ ョ ンを共に無効) に設定できます。

ビッ トス ト リーム暗号化

7 シ リーズ デバイスにはオンチップ AES (Advanced Encryption Standard) 復号化ロジッ クがあ り、

デザインの高い安全性を実現しています。 外部の者がビッ ト ス ト リームを不正入手したと しても、

暗号化キーを知らなければ、 ビッ ト ス ト リームが解読されるこ と もデザインが複製されるこ と もあ

り ません。 したがって、 暗号化した 7 シ リーズ FPGA デザインのコピーやリバース エンジニア リ

ングは不可能です。

7 シ リーズ FPGA の AES システムは、 ソフ ト ウェア ベースのビッ ト ス ト リーム暗号化機能と、 オ

ンチップのビッ ト ス ト リーム復号化機能、および暗号化キーを格納する専用メモリで構成されます。

ザイ リ ンク ス ツールを使用して、 暗号化キーと暗号化したビッ ト ス ト リームを生成します。 7 シリーズ デバイスでは、 この暗号化キーをデバイス内部の専用 RAM (外部の小型バッ クアップ バッ

テ リに接続) または eFUSE のいずれかに格納できます。暗号化キーは、 JTAG ポート を介してのみ

デバイスにプログラムできます。

CFGCLK 出力 コンフ ィギュレーシ ョ ン ロジッ クの主要クロ ッ クの出力です。 FPGA ロジッ クへの出力

です。ビッ ト ス ト リーム オプシ ョ ン ConfigRate で定義される標準周波数のクロ ッ ク信号

を専用の内部リ ング オシレーターから出力します。

CFGMCLK 出力 コンフ ィギュレーシ ョ ンの内部オシレーターのクロ ッ ク出力です。 FPGA ロジッ クへの

出力です。 専用の内部リ ング オシレーターから標準周波数 65MHz のクロ ッ ク信号を出

力します。

EOS 出力 End of Startup (スタート アップ終了) です。 アクティブ High 出力で、 EOS フラグを FPGA ロジッ クに伝搬します。 FPGA が動作準備完了しているこ と示すリセッ ト信号と

して使用できます。

表 5-13 : STARTUPE2 のピン (続き)

ピン名 タイプ 説明

Page 99: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 99UG470 (v1.9) 2014 年 11 月 14 日

ビッ トス ト リームのセキュリテ ィ

コンフ ィギュレーシ ョ ン実行中、 7 シ リーズ デバイスでは反対の処理、 つま り取り込んでいるビッ

ト ス ト リームの復号化が行われます。 7 シ リーズ FPGA の AES 暗号化ロジッ クは、 256 ビッ トの

暗号化キーを使用します。

オンチップの AES 復号化ロジッ クは、 ビッ ト ス ト リームの復号化以外の目的には使用できません。

つま り、 ユーザー デザインで AES 復号化ロジッ クを使用し、 コンフ ィギュレーシ ョ ン ビッ ト ス ト

リーム以外のデータを復号化するこ とはできません。

AES について

7 シ リーズ FPGA の暗号化システムは、AES (Advanced Encryption Standard) 暗号化アルゴ リズム

を使用します。 AES は、 NIST (National Institute of Standards and Technology) および米国商務省

が認証する公式規格です (http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf)。

7 シ リーズ FPGA の AES 暗号化システムは 256 ビッ トの暗号化キーを使用し (NIST が定める 128ビッ トおよび 192 ビッ ト の暗号化キーはインプ リ メ ン ト しない)、 一度に 128 ビッ ト のデータ ブロ ッ クを暗号化または復号化します。 NIST による と、 256 ビッ ト キーの場合、 キーの組み合わせ

は 1.1x1077 とおり考えられます。

AES のよ うな対称暗号化アルゴ リズムでは、暗号化と復号化に同じキーが使用されます。 したがっ

て、 データの安全性はキーの安全性に依存しています。

暗号化したビッ トス ト リームの作成

ザイ リ ンクス ISE で提供されている BitGen では、 暗号化したビッ ト ス ト リームと暗号化していな

いビッ ト ス ト リームのどちらも作成できます。 ビッ ト ス ト リームを AES 暗号化するには、 Encryptオプシ ョ ンを選択し、Keyfile オプシ ョ ンを使用して BitGen の入力と して 256 ビッ トのキーを指定

します。 これによ り、 BitGen で暗号化ビッ ト ス ト リーム ファ イル (BIT) および暗号化キーファ イ

ル (NKY) が生成されます。

BitGen コマンドおよび構文の詳細は、 『コマンド ライン ツール ユーザー ガイ ド』 (UG628) を参照

して ください。

WRITE_BITSTREAM の Tcl コマンドは Vivado 開発システムで同じ機能を提供します ( 『VivadoDesign Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) 参照)。

暗号化キーの読み込み

暗号化キーは、JTAG インターフェイスを介してのみ 7 シ リーズ デバイスに読み込むこ とができま

す。 iMPACT ツールまたは Vivado デバイス プログラマで NKY ファ イルを入力と し、 サポート さ

れているザイ リ ンクスのプログラ ミ ング ケーブルを使用して JTAG 経由でデバイスに暗号化キー

をプログラムできます。

暗号化キーをプログラムする際、 ISC_PROGRAM_KEY 命令を実行する とデバイスが特別なキー

アクセス モードになり ます。このモードでは、暗号化キー専用 RAM と コンフ ィギュレーシ ョ ン メモ リ を含むすべての FPGA メモ リがク リ アされます。 暗号化キーがプログラムされ、 キー アクセ

ス モードが終了する と、いかなる方法でもデバイスから暗号化キーを読み出すこ とはできず、 キー

を再プログラムするにはデバイス全体を初期化する必要があ り ます。通常、このキー アクセス モー

ドをユーザーが意識するこ とはあ り ません。

eFUSE ビッ トに暗号化キーを格納した場合、ユーザーは検証目的でこのキーを リードバッ クできま

す。検証後は、 FUSE_CNTL レジスタの read_en_b_key をプログラムして AES キーの読み出し と

書き込みを禁止にする必要があ り ます。 詳細は、 103 ページの 「eFUSE」 を参照してください。

Page 100: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

100 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

暗号化ビッ トス ト リームの読み込み

デバイスに適切なキーをプログラムする と、暗号化ビッ ト ス ト リームを使用したデバイス コンフ ィ

ギュレーシ ョ ンが可能になり ます。 暗号化ビッ ト ス ト リームでコンフ ィギュレーシ ョ ンを行った後

は、ビッ ト ス ト リームのセキュ リティ設定にかかわらず、JTAG または SelectMAP リードバッ クに

よってコンフ ィギュレーシ ョ ン メモ リ を読み出すこ とはできません。

デバイスに暗号化キーが読み込まれた状態のと きに、 暗号化していないビッ ト ス ト リームでデバイ

スをコンフ ィギュレーシ ョ ンするには、 まず POR または PROGRAM_B をアサート してコンフ ィ

ギュレーシ ョ ン メモ リ をク リ アする必要があ り ます。 この場合、 暗号化キーは無視されます。 ま

た、 暗号化していないビッ ト ス ト リームでコンフ ィギュレーシ ョ ンを行った後は、 リードバッ クが

可能です (BitGen のセキュ リティ設定で許可されている場合のみ)。 この場合でも、デバイスから暗

号化キーを読み出すこ とはできないため、 「 ト ロ イの木馬」 ビッ ト ス ト リームを使用して 7 シ リー

ズ FPGA の暗号化システムを無効にするこ とはできません。

暗号化を使用しても、 コンフ ィギュレーシ ョ ンの方法にはほとんど影響はあ り ません。 7 シ リーズ

FPGA では、 圧縮されたビッ ト ス ト リーム と暗号化されたビッ ト ス ト リームの両方が作成できま

す。 暗号化ビッ ト ス ト リームは、 JTAG、 シ リ アル、 SPI (x1、 x2、 および x4 モード を含む)、 BPI、SelectMAP、 ICAPE2 すべてのコンフ ィギューシ ョ ンインターフェイスで使用できます。 ただし、

コンフ ィギュレーシ ョ ン方法によっては暗号化ビッ ト ス ト リームに若干の制約が生じたり、 タイ ミ

ングが変わるこ とがあ り ます。 スレーブ SelectMAP と ICAPE2 インターフェイスでは、 x8 バスで

しか暗号化ビッ ト ス ト リームを使用できません。 マスター SelectMAP とマスター BPI インター

フェイスでは x8 および x16 データ バスのどちら も暗号化ビッ ト ス ト リームをサポート しますが、

x16 バス幅の場合、 マスター CCLK 周波数が ConfigRate で設定した値の半分に低下するか、 ま

たは ExtMasterCCLK_en が使用されている と きは EMCCLK レー ト の半分に低下し ます。

ConfigRate 周波数または外部 EMCCLK 周波数に基づいて CCLK がアップデー ト される前に、

DEC (AES 暗号化機能が有効) ビッ ト が読み出される と、 ビ ッ ト ス ト リームの冒頭はよ り低速な

CCLK で開始します。

暗号化ビッ ト ス ト リームを使用した場合、外部コンフ ィギュレーシ ョ ン インターフェイスからパー

シャル リ コンフ ィギュレーシ ョ ンはできないため、デバイス全体をコンフ ィギュレーシ ョ ンする必

要があ り ます。 コンフ ィギュレーシ ョ ン後に リ コンフ ィギュレーシ ョ ンするには、 PROGRAM_Bピンを ト グルする、電源を再投入する、 あるいは JPROGRAM 命令を与える必要があ り ます。暗号

化をオンにする と、 7 シ リ ーズ FPGA ではフォールバッ ク リ コ ンフ ィ ギュ レーシ ョ ンおよび

IPROG リ コンフ ィギュレーシ ョ ンが有効とな り ます。また、ICAPE2 プリ ミ ティブを使用した リー

ドバッ クが可能です ( 「ビ ッ ト ス ト リームの暗号化および内部コンフ ィギュレーシ ョ ン アクセス

ポート (ICAPE2)」 参照)。 VCCBATT または VCCAUX が維持されている限り、 これらのイベン トに

よってキーがリセッ ト されるこ とはあ り ません。

暗号化ビッ ト ス ト リーム内のキーとデバイスに格納されたキーが一致しないと コンフ ィギュレー

シ ョ ンがエラーとな り、 INIT_B ピンが Low になって (フォールバッ クが有効の場合は High に戻

る)、 DONE ピンは Low のままになり ます。

ビッ トス ト リームの暗号化および内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAPE2)

内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAPE2) プリ ミ ティブを使用する と、 ユーザー ロジッ クから 7 シ リーズ FPGA のコンフ ィギュレーシ ョ ン インターフェイスにアクセスできます。

ICAPE2 プ リ ミ テ ィブの詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA および Zynq-7000 AllProgrammable SoC ライブラ リ ガイ ド』 (UG953) を参照してください。 ICAPE2 インターフェイス

は、 ビッ ト スワ ップを含めて SelectMAP インターフェイス とほぼ同じです (85 ページの 「パラレ

ル バスのビ ッ ト 順」 参照)。 タ イ ミ ングは SelectMAP インターフェ イ ス と同様で、 大周波数

FICAPCK は 7 シ リーズ データシートに記載されています。 SelectMAP インターフェイスの リード

Page 101: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 101UG470 (v1.9) 2014 年 11 月 14 日

ビッ トス ト リームのセキュリテ ィ

バッ クの制限が、 コンフ ィギュレーシ ョ ン後の ICAPE2 インターフェイスにはあ り ません。 ビッ ト

ス ト リームの暗号化を使用した場合でも、 暗号化されている、 されていないにかかわらずパーシャ

ル ビ ッ ト ス ト リ ームを送信するか、 または ICAPE2 であれば リ ードバッ ク を実行可能です。

ICAPE2 インターフェイスをユーザー I/O に配線しない限り、 ICAPE2 を使用するこ とで外部から

7 シ リーズ FPGA の AES 暗号化システムが侵害されるこ とはあ り ません。

デザインのセキュ リティに万全を期すには、 ICAPE2 インターフェイスをユーザー I/O に接続しな

いでください。 ICAPE2 ク ロ ッ クの接続はセキュ リティに影響を及ぼすものではあ り ません。 リー

ドバッ ク CRC (POST_CRC) およびビッ ト ス ト リームの暗号化機能の両方が有効の場合、 ICAPE2がインスタンシエート されてク ロ ッ クが供給されるまで リードバッ ク CRC は動作可能な状態にな

り ません。

ほかのコンフ ィギュレーシ ョ ン インターフェイス と同様、 ICAPE2 インターフェイスからキー レジスタにアクセスするこ とはできません。

ICAPE2 プ リ ミ テ ィブの詳細は、 『Vivado Design Suite 7 シ リ ーズ FPGA および Zynq-7000 AllProgrammable SoC ライブラ リ ガイ ド』 (UG953) を参照してください。

AES (Advanced Encryption Standard) 暗号

7 シ リーズ FPGA でサポート される AES は Virtex-6 デバイス と同じです。256 ビッ トの暗号化キー

を eFUSE ビッ ト またはバッ クアップ バッテ リ付き RAM のいずれかにユーザーが格納し、 ザイ リ

ンクス ビッ ト ス ト リーム ライターで AES を用いてビッ ト ス ト リームを暗号化します。

この暗号化機能では、CBC (Cipher Block Chaining) モードの 256 ビッ ト AES 暗号を使用してビッ

ト ス ト リームを暗号化できます。ユーザーが 128 ビッ トの初期ベクターと 256 ビッ トのキーを用意

するか、 ソフ ト ウェアでランダム キーを選択します。 バッ クアップ バッテ リ付き RAM に格納し

た AES キーを FPGA ロジッ クで消去するなど、 一部のセキュ リティ機能を利用するには、 デバイ

スを暗号化ビッ ト ス ト リームでコンフ ィギュレーシ ョ ンする必要があ り ます。

表 5-14 : ビッ トス ト リーム オプシ ョ ン

名前 タイプ 設定 (デフォルト ) 説明

KeyFile 文字列型 <design>.nky AES キーと AES 初期ベクターを含みます。

ファ イルが存在しない場合は、 ランダムに

生成されたキーと初期ベク ターをビッ ト ス

ト リーム ライターが作成します。

Encrypt ブール型 Yes、No (デフォルト )

Yes の場合、ビッ ト ス ト リームを暗号化しま

す。ビッ ト ス ト リームの CTL0[6] (dec) ビッ

ト を設定します。

Key0 文字列型 キーを指定します。指定した値は、キーファ

イルに書き込まれます。

StartCBC 文字列型 初期ベクターを指定します。 指定した値は、

キーファイルに書き込まれます。

EncryptKeySelect 列挙型 bbram

(デフォルト )、efuse

ビッ ト ス ト リームの暗号化キーの格納先を

eFUSE またはバッ クアップ バッテ リ付き

RAM のいずれかに指定します。ビッ ト ス ト

リームの CTL0[31] (efuse_key) ビッ ト を設

定します。

Page 102: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

102 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

VCCBATT

暗号化キーを FPGA のバッ クアップ バッテ リ付き RAM に格納した場合、 暗号化キーのメモ リ セルは揮発性であ り、継続的に電力を供給する必要があ り ます。通常の動作中、 これらのメモ リ セル

には補助電圧入力 (VCCAUX) から電源が供給されますが、VCCAUX が切断される と、 キーを保持す

るために VCCBATT 電源入力から電源が供給されます。VCCBATT にはほとんど電流が流れないため

(nA 程度)、 この電源には小さなボタン電池が適しています。 バッテ リの寿命を推定するには、 各 7シ リーズ FPGA データシートおよびバッテ リの仕様書に記載されている DC 特性および VCCBATTを参照して ください。

VCCBATT には電流が流れないため、 VCCAUX から電源を供給中に切断できます。 VCCBATT は、

VCCAUX 切断時に暗号化キーを保持する以外の目的には使用できません。

ビッ トス ト リーム認証

概要

7 シ リ ーズ デバイ スは、 オンチ ッ プのビ ッ ト ス ト リ ーム HMAC (keyed-Hash MessageAuthentication Code) をハード ウェアにインプ リ メ ン ト しており、 AES 復号化に加え、 多重のセ

キュ リティを実現しています。 AES と HMAC のキーが入手されない限り、 ビッ ト ス ト リームの読

み込み、 改変、 不正入手、 複製が行われるこ とはあ り ません。 AES は、 デザインを複製やリバース

エンジニア リ ングから保護するための基本的なセキュ リティを提供します。一方 HMAC は、FPGAのコンフ ィギュレーシ ョ ン用に提供されたビッ ト ス ト リームが改変されておらず、 そのまま読み込

んで問題ないこ とを保証します。シングル ビッ トの反転を含め、 ビッ ト ス ト リームに対するあらゆ

る改ざんを検出できます。

HMAC アルゴ リズムで使用するキーを、 ザイ リ ンクス ツールで指定します。 または、 ツールでラ

ンダム キーを自動生成するこ と もできます。HMAC キーと AES キーは別のものです。ザイ リ ンク

ス ツールは、 HAMC キー と SHA アルゴ リ ズムを使用し て 256 ビ ッ ト の MAC (MessageAuthentication Code) を生成します。MAC は AES 暗号化されたビッ ト ス ト リームの一部と して送

信され、 ビッ ト ス ト リームのデータが本物で改ざんされていないこ とを検証します。 この認証機能

は、 あらゆる種類の制御ビッ ト とデータ ビッ ト を含む、 ビッ ト ス ト リーム全体に適用されます。 7シ リーズ FPGA でセキュ リティ ソ リ ューシ ョ ンを使用する場合は、必ず HMAC と AES の両方を

用いるこ とにな り ます。 同様の機能は、 Vivado ラボ ツールにもあ り ます。

インプリ メンテーシ ョ ン

7 シ リーズ FPGA の HMAC 認証システムは、ザイ リ ンクス ツールに含まれる HMAC コンポーネ

ン ト と、 すべての 7 シ リーズ FPGA に内蔵されているハード ウェア コンポーネン トで構成されま

す。 これら 2 つのコンポーネン ト が、 キーと SHA 256 (Secure Hash Algorithm) に基づいて 256ビッ トの MAC コードを生成します。ビッ ト ス ト リームの生成で、AES 暗号化ビッ ト ス ト リーム内

に組み込まれる MAC が生成されます。コンフ ィギュレーシ ョ ン時に、FPGA 内の HMAC/SHA256エンジンが、 ハード ウェア AES で復号化したデータから MAC を計算し、 暗号化ビッ ト ス ト リー

ム内の MAC と比較します。 この 2 つの MAC が一致する場合、 コンフ ィギュレーシ ョ ンはスター

ト アップ サイクルまで終えて完了します。一致しない場合、 フォールバッ クが有効であれば、デバ

イス全体のコンフ ィギュレーシ ョ ンをク リ アした後でフォールバッ ク ビッ ト ス ト リームが読み込

まれます。 フォールバッ クが無効の場合は、 コンフ ィギュレーシ ョ ン ロジッ クがコンフ ィギュレー

シ ョ ン イ ン ターフ ェ イ ス を無効にし、 FPGA へのア ク セス を完全に遮断し ます。 この場合、

PROGRAM_B 信号または POR (パワーオン リセッ ト ) 信号をパルスして、 コンフ ィギュレーシ ョ

ン インターフェイスを リセッ トする必要があ り ます。

Page 103: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 103UG470 (v1.9) 2014 年 11 月 14 日

eFUSE

HMAC のキー格納場所がオンチップには不要

7 シ リーズ FPGA の認証システムは、標準技術局 (NIST) が公開している SHA256 FIPS PUB-182-2(http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf) および HMACFIPS PUB-198 (http://csrc.nist.gov/publications/fips/fips198-1/FIPS-198-1_final.pdf) アルゴ リ ズム

を使用します。 ビッ ト長の異なるほかの SHA アルゴ リズムはインプリ メン ト されていません。

AES 暗号化された認証済みビッ ト ス ト リームは、 x16 および x32 バス幅のスレーブ SelectMAP を除き、すべての外部標準コンフ ィギュレーシ ョ ン インターフェイスで読み込むこ とができます。デ

バイスを暗号化ビッ ト ス ト リームでコンフ ィギュレーシ ョ ンした後に、 暗号化されていない別の

ビッ ト ス ト リームを読み込むこ とができるのは、 PROGRAM_B ピンがアサート された後、 JTAGJPROGRAM コマンドの後、 または POR が発生した後に限られます。 これらの状況では、 現在の

コンフ ィギュレーシ ョ ン メモ リがすべて消去されるため、次のコンフ ィギュレーシ ョ ンを読み込み

可能な状態になり ます。

認証されたビッ トス ト リームの作成

HMAC と AES はそれぞれ異なるキーを使用するため、 ザイ リ ンクス ツールでは 2 つのキーを指

定する必要があ り ます。 HMAC 機能は、 SHA256 を使用して暗号化されていないビッ ト ス ト リー

ム全体を対象に実行されます。次に、 HMAC キーを含むビッ ト ス ト リームが AES で暗号化されま

す。 この結果、 ビッ ト ス ト リームの暗号化された部分よ り も前には、 同期ワード、 FPGA に対して

暗号化機能の使用を指示するコマンド、 および復号化されたビッ ト ス ト リームのワード数の情報の

みが来ます。

ザイ リ ン ク スのビ ッ ト ス ト リ ーム機能 (AES と HMAC を常に併用) を使用するには、

Encrypt:yes オプシ ョ ンを指定し ます (詳細は、 『コマン ド ラ イン ツール ユーザー ガイ ド』

(UG628)、または 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908) 参照)。 HMAC キーはユーザーが NKY ファ イルで指定するか、 またはツールで自動的にランダム

キーを生成します。

NKY ファ イルのフォーマッ トは次のとおりです。

KEY HMAC <hex string> (256 bit HMAC key)

例 :

Key HMAC 505daf31dea6930375003b9286bb183752457a90a79ace727b516f0009995a9e;

その他のセキュ リティ保護機能の使用に関する詳細は、 『Virtex-6 および 7 シ リーズ FPGA での不

正操作防止デザインの開発』 (XAPP1084) を参照して ください。

eFUSEeFUSE は、 コンフ ィギュレーシ ョ ン設定に使用する不揮発性のワンタイム プログラマブル技術で

す。 ヒ ューズ リ ンクは、一定期間に大量の電流を流すこ とでプログラム (バーン、 ブローと も呼ぶ)します。ユーザー プログラム可能な eFUSE のプログラムにはザイ リ ンクス コンフ ィギュレーシ ョ

ン ツールが使用できます。 eFUSE のプログラム中はデバイスをコンフ ィギュレーシ ョ ンしないで

ください。

通常、プログラムしたヒ ューズ リ ンクはプログラムしていない状態よ り も抵抗値が数桁大き くな り

ます。プログラムしたヒ ューズの論理値は 1 で、プログラムしていないヒ ューズの論理値は 0 です。

Page 104: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

104 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

eFUSE レジスタ

7 シ リーズには、 全部で 4 つの eFUSE レジスタがあ り ます。 表 5-15 に、 7 シ リーズ デバイスの

eFUSE レジスタ とそれぞれのサイズおよび用途を示します。

eFUSE ビッ トは OTP (ワンタイム プログラマブル) です。 FPGA ロジッ クがアクセスできるのは、

FUSE_USER レジスタ値と FUSE_DNA レジスタ値のう ち Device DNA となる 57 ビッ ト のみで

す。 それ以外の eFUSE ビッ トには FPGA ロジッ クからはアクセスできません。

eFUSE 制御レジスタ (FUSE_CNTL)

このレジスタには、 ユーザー プログラマブル ビッ ト が含まれています (表 5-16 参照)。 これらの

ビッ ト を使用して、 AES キーの使用法や eFUSE レジスタの読み出し /書き込み保護を設定します。

ビッ ト 0 が 初にシフ ト イン/シフ ト アウ ト されます。

eFUSE ビッ トは OTP (ワンタイム プログラマブル) です。一度プログラムする と再プログラムはで

きません。たとえばレジスタへのアクセスを無効にした場合、後から有効にするこ とはできません。

表 5-15 : eFUSE レジスタ

レジスタ名サイズ

(ビッ ト )内容 説明

FUSE_KEY 256 ビッ ト ス ト リーム暗号化キー

[0:255]

(ビッ ト 255 が 初にシフ ト )

AES ビッ ト ス ト リームの復号化で使用するキーを格納し

ます。 バッ クアップ バッテ リ付きの SRAM にキーを格納

する代わりに、 eFUSE にキーを格納して使用できます。

7 シ リーズ FPGA の復号化エンジンは、 この AES キーを

使用して暗号化ビ ッ ト ス ト リームを読み込みます。 AESキーは、 FUSE_CNTL レジスタの読み出し /書き込みアク

セス ビッ トの設定に基づき、 JTAG ポート を介して読み出

しまたはプログラムが可能です。

FUSE_USER 32 ユーザー定義

[31:0]

(ビッ ト 0 が 初にシフ ト )

32 ビッ ト のユーザー定義コードを格納します。 このレジ

スタは、EFUSE_USR プ リ ミ テ ィブを使用して FPGA ロジッ クから読み出し可能です。 EFUSE_USR プ リ ミ テ ィ

ブの詳細は、『7 シ リーズ ラ イブラ リ ガイ ド』 を参照して

ください。

このコードは、 FUSE_CNTL レジスタの読み出し /書き込

みアクセス ビッ トの設定に基づき、 JTAG ポート を介して

読み出しまたはプログラムが可能です。

FUSE_DNA 64 ザイ リ ン ク スがプログラムす

るデバイス ID

[0:63]

(ビッ ト 63 が 初にシフ ト )

デバイス ID ビッ ト [0:63] です。 [7:63] は、 Device DNAと し て知られる 57 ビ ッ ト の読み出し専用 XSC_DNAJTAGレジスタおよび DNA_PORT プリ ミ ティブ値に対応

します。 127 ページの 「デバイス ID および Device DNA」

を参照してください。

FUSE_CNTL 14 制御ビッ ト

CNTL [13:0]

(ビッ ト 0 が 初にシフ ト )

キーの使用や eFUSE レジスタへの読み出し /書き込みアク

セスを制御します。 このレジスタは、 JTAG ポート を介し

て読み出しまたはプログラムが可能です。

Page 105: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 105UG470 (v1.9) 2014 年 11 月 14 日

eFUSE

FUSE_CNTL[0] をプログラムしない場合

• 暗号化は、 ビッ ト ス ト リーム オプシ ョ ンで無効/有効にできる

• eFUSE に格納されている AES キーを使用するか、 バッ クアップ バッテ リ付きの SRAM に格

納されている AES キーを使用するかをビッ ト ス ト リーム オプシ ョ ンで選択できる

注意 : FUSE_CNTL[0] をプログラムした場合、 eFUSE に格納されたキーで暗号化したビッ ト

ス ト リームのみを外部コンフ ィギュレーシ ョ ン ポー ト を用いた FPGA のコンフ ィギュレー

シ ョ ンに使用できます。 これによ り、ザイ リ ンクスのテス ト ビッ ト ス ト リームや構築済みビッ

ト ス ト リ ームを使用したデバイ ス コンフ ィ ギュ レーシ ョ ンができな く な り ます。 つま り、

FUSE_CNTL[0] ビッ トがプログラムされているデバイスに対する RMA 要求または iMPACTによる SPI/BPI フラ ッシュの間接プログラムがサポート されません。

FUSE_CNTL[1] がプログラムされる と、外部コンフ ィギュレーシ ョ ン ポートは、初期コンフ ィギュ

レーシ ョ ン後にコンフ ィギュレーシ ョ ン メモ リへのアクセスがブロ ッ ク されます。デバイスを再コ

ンフ ィ ギュレーシ ョ ンするには、 電源の再投入、 JPROGRAM または IPROG コマン ドの発行、

PROGRAM_B ピンのパルスのいずれかが必要になり ます。

表 5-16 : eFUSE 制御レジスタ (FUSE_CNTL)

ビッ ト位置 名前 説明

0 CFG_AES_Only

eFUSE に格納された AES キーの使用を強制します。 このビッ ト をプログラ ミ

ングする前であれば、暗号化されていないビッ ト ス ト リーム、またはバッ クアッ

プ バッテ リ付き RAM にキーの値を格納した暗号化ビッ ト ス ト リームを使用し

て FPGA をコンフ ィギュレーシ ョ ンできます。

注意 : このビッ トがプログラムされる と、 AES キーが確認されない限りデ

バイスは使用できません。 また、 RMA (Return Material Authorization) による返却は受け付けられません。

1 AES_Exclusive

外部コンフ ィギュレーシ ョ ン インターフェイスからのパーシャル リ コンフ ィ

ギュレーシ ョ ンを無効にします。 ただし、 ICAPE2 を使用するこ とでパーシャ

ル リ コンフ ィギュレーシ ョ ンが可能になり ます。

注意 : このビ ッ ト がプロ グ ラ ム される と、 RMA (Return MaterialAuthorization) による返却は、デバイス解析およびデバッグの面で制限があ

り ます。 リードバッ クおよびコンフ ィギュレーシ ョ ンを回避する代替手段

は、 セキュ リ ティ レベル 2 です。

2 W_EN_B_Key_User AES キーと FUSE_USER のプログラ ミ ングを無効にします。

3 R_EN_B_Key

AES キーの読み出し、 および AES キーとユーザー コードのプログラ ミ ングを

無効にします。 JTAG ポート を介したユーザー コードの読み出しは無効になり

ますが、 EFUSE_USR コンポーネン ト を使用するユーザー コードの読み出しは

無効になり ません。

4 R_EN_B_User ユーザー コードの読み出し、 および AES キーとユーザー コードのプログラ ミ

ングを無効にします。

5 W_EN_B_Cntl 制御ビッ トのプログラ ミ ングを無効にします。

6 – 13 予約 予約

Page 106: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

106 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

JTAG 命令

eFUSE レジスタは JTAG ポートから読み出すこ とができます。 eFUSE のプログラムは、 JTAG を介してのみ可能です。 表 5-17 に、 eFUSE に関連する JTAG 命令を示します。 JTAG 命令レジスタ

の長さは 6ビッ トですが、 スタ ッ ク ド シ リ コン インターコネク ト (SSI) テク ノ ロジを採用し、 SLR(Super Logic Region) を持つデバイスの場合はレジスタ長が異なり ます。詳細は、15 ページの表 1-1および 19 ページの 「スタ ッ ク ド シ リ コン インターコネク ト (SSI)」 を参照してください。

ビッ トス ト リームの構成

デバイスへの電源投入および初期化が完了する と、INIT_B ピンがリ リースされ、コンフ ィギュレー

シ ョ ンが開始可能とな り ます。 初期化後、 パケッ ト プロセッサは、 通常は同期ワードなど特定の

データ パターンを認識するまでコンフ ィギュレーシ ョ ン インターフェイスに送信されるすべての

データを無視します。 外部パラレル (BPI または SelectMAP モード ) インターフェイスの場合、 バ

ス幅自動検出パターンによってコンフ ィギュレーシ ョ ン インターフェイスのバス幅が設定されま

す。 詳細は、 82 ページの 「バス幅の自動検出」 を参照してください。 バス幅が設定された後、 その

他すべてのコンフ ィギュレーシ ョ ン インターフェイスについて、同期ワードが認識されるまでコン

フ ィギュレーシ ョ ン インターフェイスの全データが無視されます。詳細は、83 ページの 「同期ワー

ド」 を参照して ください。 同期化後、 コンフ ィギュレーシ ョ ン ロジッ クによって各 32 ビッ ト デー

タ ワードがコンフ ィギュレーシ ョ ン パケッ ト または複数ワード コンフ ィギュレーシ ョ ン パケッ ト

のコンポーネン ト と して処理されます。詳細は、110 ページの 「コンフ ィギュレーシ ョ ン パケッ ト 」

を参照して ください。

表 5-18 に、デフォルト設定を用いて生成された、XC7K325T のサンプル ビッ ト ス ト リームの構成

を示します。

表 5-17 : eFUSE 関連の JTAG 命令

JTAG 命令 コード (1) 動作

FUSE_KEY 110001 FUSE_KEY レジスタを選択します。

FUSE_USER 110011 FUSE_USER レジスタを選択します。

FUSE_CNTL 110100 FUSE_CNTL レジスタを選択します。

注記 :

1. SSI テク ノ ロジを採用したデバイス (7V2000T、 7VX1140T、 7VH580T、 7VH870T) のコードは長くな

り ます。 詳細は、 各デバイスの BSDL ファ イルを参照してください。

表 5-18 : XC7K325T のサンプル ビッ トス ト リーム

コンフ ィギュレー

シ ョ ン データ ワード (16 進数)

説明

FFFFFFFF ダ ミー パッ ド ワード、 ワード 1

FFFFFFFF ダ ミー パッ ド ワード、 ワード 2

… ダ ミー パッ ド ワード 3 ~ 7

FFFFFFFF ダ ミー パッ ド ワード、 ワード 8

000000BB バス幅自動検出、 ワード 1

11220044 バス幅自動検出、 ワード 2

FFFFFFFF ダ ミー パッ ド ワード

Page 107: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 107UG470 (v1.9) 2014 年 11 月 14 日

ビッ トス ト リームの構成

FFFFFFFF ダ ミー パッ ド ワード

AA995566 同期ワード

20000000 NOOP

30022001 パケッ ト タイプ 1 : TIMER レジスタの書き込み、 WORD_COUNT = 1

00000000 TIMER[31:0] = 00000000 (16 進数)(オプシ ョ ンのウォッチド ッグ タイマー用のプレースホルダー )

30020001 パケッ ト タイプ 1 : WBSTAR レジスタの書き込み、 WORD_COUNT = 1

00000000 WBSTAR[31:0] = 00000000 (16 進数)(オプシ ョ ンのマルチブート ネクス ト コンフ ィギュレーシ ョ ン アドレス用の

プレースホルダー )

30008001 パケッ ト タイプ 1 : CMD レジスタの書き込み、 WORD_COUNT = 1

00000000 CMD[4:0] = 00000 (バイナリ ) = NULL(オプシ ョ ンのマルチブー ト ネク ス ト コンフ ィ ギュ レーシ ョ ン リ ブー ト

IPROG コマンド用のプレースホルダー )

20000000 NOOP

30008001 パケッ ト タイプ 1 : CMD レジスタの書き込み、 WORD_COUNT = 1

00000007 CMD[4:0] = 00111 (バイナリ ) = RCRC (CRC レジスタのリセッ ト )(ビッ ト ス ト リーム CRC のカバレッジがこ こで開始)

20000000 NOOP

20000000 NOOP

30026001 パケッ ト タイプ 1 : CRC レジスタの書き込み、 WORD_COUNT = 1

00000000 CRC による算出値 = 00000000 (16 進数)(オプシ ョ ンの PRE_COMPUTED POST_CRC_SOURCE 用のプレースホル

ダー )

30012001 パケッ ト タイプ 1 : COR0 レジスタの書き込み、 WORD_COUNT = 1

02003FE5 COR0[31:0] = 02003FE5 (16 進数)(EMCCLK、 CCLK 周波数、 スタート アップ シーケンスなど、 コンフ ィギュ

レーシ ョ ン オプシ ョ ンを設定)

3001C001 パケッ ト タイプ 1 : COR1 レジスタの書き込み、 WORD_COUNT = 1

00000000 COR1[31:0] = 00000000 (16 進数)(POST_CRC イネーブル、 BPI ページ モードなど、 コンフ ィギュレーシ ョ ン

オプシ ョ ンを設定)

30018001 パケッ ト タイプ 1 : IDCODE レジスタの書き込み、 WORD_COUNT = 1

03651093 IDCODE[31:0] = 03651093 (16 進数)(書き込まれた IDCODE がデバイス IDCODE と一致しない場合はエラー )

30008001 パケッ ト タイプ 1 : CMD レジスタの書き込み、 WORD_COUNT = 1

表 5-18 : XC7K325T のサンプル ビッ トス ト リーム (続き)

コンフ ィギュレー

シ ョ ン データ ワード (16 進数)

説明

Page 108: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

108 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

00000009 CMD[4:0] = 01001 (バイナリ ) = SWITCH (CCLK 周波数の変更)

20000000 NOOP

3000C001 パケッ ト タイプ 1 : MASK レジスタの書き込み、 WORD_COUNT = 1

00000401 CTL0/CTL1 レジス タへの書き込み用のビ ッ ト マス ク。 MASK[31:0] =00000401 (16 進数)

3000A001 パケッ ト タイプ 1 : CTL0 レジスタの書き込み、 WORD_COUNT = 1

00000501 CTL0[31:0] = 00000501 (16 進数) (注記 : 以前の MASK も確認)(フォールバッ ク、 リードバッ クなど、 コンフ ィギュレーシ ョ ン制御オプシ ョ

ンを設定)

3000C001 パケッ ト タイプ 1 : MASK レジスタの書き込み、 WORD_COUNT = 1

00000000 CTL0/CTL1 レジス タへの書き込み用のビ ッ ト マス ク。 MASK[31:0] =00000000 (16 進数)

30030001 パケッ ト タイプ 1 : CTL1 レジスタの書き込み、 WORD_COUNT = 1

00000000 CTL1[31:0] = 00000000 (16 進数) (注記 : 以前の MASK も確認)(コンフ ィギュレーシ ョ ン制御オプシ ョ ンを設定、 RFU (将来使用する目的で

予約))

20000000 NOOP

20000000 NOOP

20000000 NOOP

20000000 NOOP

20000000 NOOP

20000000 NOOP

20000000 NOOP

20000000 NOOP

30002001 パケッ ト タイプ 1 : FAR レジスタの書き込み、 WORD_COUNT = 1

00000000 FAR (フレーム アドレス) = 00000000 (16 進数)

30008001 パケッ ト タイプ 1 : CMD レジスタの書き込み、 WORD_COUNT = 1

00000001 CMD[4:0] = 00001 (バイナ リ ) = WCFG (書き込みコンフ ィギュレーシ ョ ン

データ)

20000000 NOOP

30004000 パケッ ト タイプ 1 : FDRI レジスタの書き込み、 WORD_COUNT = 0

502BA520 パケッ ト タイプ 2 : FDRI レジスタの書き込み、 WORD_COUNT = 2860320

00000000 FDRI データ ワード 1 ( 初のビ ッ ト ス ト リ ーム コンフ ィ ギュレーシ ョ ン

データ ワード )

00000000 FDRI データ ワード 2

表 5-18 : XC7K325T のサンプル ビッ トス ト リーム (続き)

コンフ ィギュレー

シ ョ ン データ ワード (16 進数)

説明

Page 109: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 109UG470 (v1.9) 2014 年 11 月 14 日

ビッ トス ト リームの構成

… FDRI データ ワード 3 ~ 2860319

00000000 FDRI データ ワード 2860320 ( 後のビ ッ ト ス ト リーム コンフ ィ ギュレー

シ ョ ン データ ワード )

30000001 パケッ ト タイプ 1 : CRC レジスタの書き込み、 WORD_COUNT = 1

C81874CB CRC[31:0] = C81874CB (16 進数)(書き込まれた CRC が算出された CRC 値と一致しない場合はエラー )

20000000 NOOP

20000000 NOOP

30008001 パケッ ト タイプ 1 : CMD レジスタの書き込み、 WORD_COUNT = 1

0000000A CMD[4:0] = 01010 (バイナリ ) = GRESTORE (GRESTORE 信号のパルス)

20000000 NOOP

30008001 パケッ ト タイプ 1 : CMD レジスタの書き込み、 WORD_COUNT = 1

00000003 CMD = 00011 (バイナリ ) = DGHIGH/LFRM (GHIGH_B のディアサート )

20000000 NOOP

… …

20000000 NOOP

30008001 パケッ ト タイプ 1 : CMD レジスタの書き込み、 WORD_COUNT = 1

00000005 CMD[4:0] = 00101 (バイナリ ) = START (STARTUP シーケンスの開始)

20000000 NOOP

30002001 パケッ ト タイプ 1 : FAR レジスタの書き込み、 WORD_COUNT = 1

03BE0000 FAR (フレーム アドレス) = 03BE0000 (16 進数)

3000C001 パケッ ト タイプ 1 : MASK レジスタの書き込み、 WORD_COUNT = 1

00000501 CTL0/CTL1 レジス タへの書き込み用のビ ッ ト マス ク。 MASK[31:0] =00000501 (16 進数)

3000A001 パケッ ト タイプ 1 : CTL0 レジスタの書き込み、 WORD_COUNT = 1

00000501 CTL0[31:0] = 00000501 (16 進数) (注記 : 以前の MASK も確認)(フォールバッ ク、 リードバッ クなど、 コンフ ィギュレーシ ョ ン制御オプシ ョ

ンを設定)

30000001 パケッ ト タイプ 1 : CRC レジスタの書き込み、 WORD_COUNT = 1

E3AD7EA5 CRC[31:0] = E3AD7EA5 (16 進数)(書き込まれた CRC が算出された CRC 値と一致しない場合はエラー )

20000000 NOOP

20000000 NOOP

30008001 パケッ ト タイプ 1 : CMD レジスタの書き込み、 WORD_COUNT = 1

表 5-18 : XC7K325T のサンプル ビッ トス ト リーム (続き)

コンフ ィギュレー

シ ョ ン データ ワード (16 進数)

説明

Page 110: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

110 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

コンフ ィギュレーシ ョ ン メモリ フレーム

7 シ リーズ FPGA のコンフ ィギュレーシ ョ ン メモ リは、フレームに分割され、デバイスに並べられ

ています。7 シ リーズ FPGA のコンフ ィギュレーシ ョ ン メモ リ空間では、フレームがアドレス指定

可能な 小単位であ り、すべての操作はコンフ ィギュレーシ ョ ン フレーム全体に対して実行するこ

とにな り ます。ビッ ト ス ト リーム オプシ ョ ンによっては、コンフ ィギュレーシ ョ ン ビッ ト ス ト リー

ムにオーバーヘッ ド が追加される こ と があ り ます。 ビ ッ ト ス ト リ ームの正確な長さは、 RBT(rawbits) ファ イルに記述されています。 このファイルは、 BitGen の -b オプシ ョ ンを指定するか、

または ISE の [Generate Programming File] → [Create ASCII Configuration File] ポップアップ メニューをク リ ッ クする と生成されます。 ビッ ト ス ト リーム長 (ワード ) は、 コンフ ィギュレーシ ョ ン

アレイ サイズ (ワード ) にコンフ ィギュレーシ ョ ン オーバーヘッ ド (ワード ) を足したものにほぼ等

し くな り ます。 ビッ ト ス ト リーム長 (ビッ ト ) は、 ビッ ト ス ト リーム長 (ワード ) に 32 を掛けたもの

にほぼ等し くな り ます。

コンフ ィギュレーシ ョ ン パケッ ト

7 シ リーズ FPGA のビッ ト ス ト リーム コマンドはすべて、 コンフ ィギュレーシ ョ ン レジスタに対

する読み出しまたは書き込みという形で実行されます。

パケッ トのタイプ

FPGA のビッ ト ス ト リームは、 タイプ 1 と タイプ 2 の 2 つのパケッ ト タイプで構成されます。 こ

こでは、 各パケッ ト タイプとその使用法について説明します。

タイプ 1 パケッ ト

タイプ 1 のパケッ トは、 レジスタの読み出しおよび書き込みに使用されます。 7 シ リーズ FPGA では、 14 ビッ トのレジスタ アドレスのうち 5 ビッ トのみを使用します。 ヘッダー セクシ ョ ンは、 常

に 32 ビッ ト ワードです。

タイプ 1 パケッ トのヘッダー セクシ ョ ンの後には、 タイプ 1 データ セクシ ョ ンが続きます。 この

セクシ ョ ンに含まれる 32 ビッ ト ワードの数をヘッダーのワード カウン ト部で宣言します。

0000000D CMD[4:0] = 01101 (バイナリ ) = DESYNCH (DALIGN のリセッ ト ) (新しい同

期ワードが必要)

20000000 NOOP (NOOP を用いるビッ ト ス ト リームのパッ ド剰余)

… …

20000000 NOOP (ビッ ト ス ト リーム終了)

表 5-18 : XC7K325T のサンプル ビッ トス ト リーム (続き)

コンフ ィギュレー

シ ョ ン データ ワード (16 進数)

説明

Page 111: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 111UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン レジスタ

タイプ 2 パケッ ト

タイプ 1 に後続するタイプ 2 のパケッ トは、長いブロ ッ クの書き込みに使用されます。 このパケッ

トにはタイプ 1 パケッ トのアドレスが使用されるため、 アド レス部はあ り ません。 ヘッダー セク

シ ョ ンは、 常に 32 ビッ ト ワードです。

タイプ 2 パケッ トのヘッダー セクシ ョ ンの後には、 タイプ 2 データ セクシ ョ ンが続きます。 この

セクシ ョ ンに含まれる 32 ビッ ト ワードの数をヘッダーのワード カウン ト部で宣言します。

コンフ ィギュレーシ ョ ン レジスタ

表 5-22 に、 タイプ 1 パケッ ト レジスタの一覧を示します。 それに続いて、 各レジスタの詳細につ

いて説明します。

表 5-19 : タイプ 1 パケッ ト ヘッダーのフォーマッ ト

ヘッダー タイプ

オペコード レジスタ アドレス 予約 ワード カウン ト

[31:29] [28:27] [26:13] [12:11] [10:0]

001 xx RRRRRRRRRxxxxx RR xxxxxxxxxxx

注記 :

1. 「R」 は今後の使用のための予約ビッ トで、 現時点では未使用です。 予約ビッ トには 0 を書き込む必要があ

り ます。

表 5-20 : オペコードのフォーマッ ト

オペコード 機能

00 NOP

01 読み出し

10 書き込み

11 予約

表 5-21 : タイプ 2 パケッ ト ヘッダーのフォーマッ ト

ヘッダー タイプ オペコード ワード カウン ト

[31:29] [28:27] [26:0]

010 RR xxxxxxxxxxxxxxxxxxxxxxxxxx

注記 :

1. 「R」 は今後の使用のための予約ビッ トで、 現時点では未使用です。 予約ビッ トには 0 を書き込む必要が

あ り ます。

表 5-22 : タイプ 1 パケッ ト レジスタ

名前読み出し /書き込み

アドレス 説明

CRC 読み出し /書き込み

00000 CRC レジスタ

FAR 読み出し /書き込み

00001 フレーム アドレス レジスタ

Page 112: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

112 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

CRC レジスタ (00000)

このレジスタへの書き込みによって、 ビッ ト ス ト リーム データに対する CRC チェッ クが実行され

ます。書き込まれた値が現時点で計算された CRC 値と一致する と、CRC_ERROR フラグがク リ ア

されてスタート アップが可能とな り ます。

FDRI 書き込み 00010フレーム データ レジスタ、 入力レジスタ (コンフ ィギュ

レーシ ョ ン データの書き込み)

FDRO 読み出し 00011フレーム データ レジスタ、 出力レジスタ (コンフ ィギュ

レーシ ョ ン データの読み出し )

CMD 読み出し /書き込み

00100 コマンド レジスタ

CTL0 読み出し /書き込み

00101 制御レジスタ 0

MASK 読み出し /書き込み

00110 CTL0 および CTL1 のマスク レジスタ

STAT 読み出し 00111 ステータス レジスタ

LOUT 書き込み 01000 デイジー チェーン用レガシ出力レジスタ

COR0 読み出し /書き込み

01001 コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0

MFWR 書き込み 01010 複数フレームの書き込みレジスタ

CBC 書き込み 01011 初期 CBC 値レジスタ

IDCODE 読み出し /書き込み

01100 デバイス ID レジスタ

AXSS 読み出し /書き込み

01101 ユーザー アクセス レジスタ

COR1 読み出し /書き込み

01110コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 1

WBSTAR 読み出し /書き込み

10000ウォーム ブートの開始アドレス レジスタ

TIMER 読み出し /書き込み

10001ウォ ッチド ッグ タイマー レジスタ

BOOTSTS 読み出し 10110 ブート履歴のステータス レジスタ

CTL1 読み出し /書き込み

11000制御レジスタ 1

BSPI 読み出し /書き込み

11111BPI/SPI コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ

表 5-22 : タイプ 1 パケッ ト レジスタ (続き)

名前読み出し /書き込み

アドレス 説明

Page 113: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 113UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン レジスタ

フレーム アドレス レジスタ (00001)

7 シ リーズ デバイスは、上半分と下半分に分かれています。 7 シ リーズ デバイスのフレームはすべ

て 3,232 ビッ ト (101 個の 32 ビッ ト ワード ) の固定長です。

フレーム アドレス レジスタ (FAR) は、 ブロ ッ ク タイプ、 ト ップ/ボ ト ム ビッ ト 、 行アドレス、 列

アドレス、 マイナー アドレスの 5 つのフ ィールドで構成されます (表 5-23 参照)。 アドレスは直接

書き込む以外に、 各フレームの 後で自動的に増分するこ と もできます。 通常、 ビッ ト ス ト リーム

はアドレス 0 から開始し、 終値まで自動的に増分します。

FDRI レジスタ (00010)

このレジスタへの書き込みによって、 FAR レジスタで指定したフレーム アドレスのフレーム デー

タがコンフ ィギュレーシ ョ ンされます。

FDRO レジスタ (00011)

このレジスタは読み出し専用で、FAR レジスタで指定されたアドレスからコンフ ィギュレーシ ョ ン

データのフレームを リードバッ クするために使用されます。

コマンド レジスタ (00100)

コマンド (CMD) レジスタは、 コンフ ィギュレーシ ョ ン制御ロジッ クに対し、 グローバル信号をス

ト ローブしてその他のコンフ ィギュレーシ ョ ン ファンクシ ョ ンを実行するよ う命令するために使

用されます。 CMD レジスタに格納されたコマンドは、 FAR に新しい値が読み込まれるたびに実行

されます。 表 5-24 に、 コマンド レジスタのコマンド とそのコードを示します。

表 5-23 : フレーム アドレス レジスタの説明

アドレス タイプビッ ト

インデックス説明

ブロ ッ ク タイプ [25:23] 有効なブロ ッ ク タイプは CLB、 I/O、 CLK (000)、 ブロ ッ ク

RAM の内容 (001)、CFG_CLB (010) です。通常のビッ ト ス

ト リームには、 タイプ 011 は含まれません。

ト ップ/ボ ト ム

ビッ ト

22 上半分の行 (0) または下半分の行 (1) のいずれかを選択し

ます。

行アドレス [21:17] 現在の行を選択します。 行アドレスは、 まず中央から一番上

の行に向かって増加した後でリセッ ト し、 次に中央から一番

下の行に向かって増加します。

列アドレス [16:7] CLB の列など、大まかな列を選択します。列アドレスは左端

の 0 から開始し、 右方向に増加します。

マイナー アドレス [6:0] 選択した列内のフレームを選択します。

表 5-24 : コマンド レジスタのコード

コマンド コード 説明

NULL 00000 Null コマンド、 動作なし

WCFG 00001 コンフ ィギュレーシ ョ ン データの書き込み - FDRI にコンフ ィギュ

レーシ ョ ン データを書き込む前に使用します。

MFW 00010 マルチ フレーム書き込み - 1 つのフレーム データを複数のフレーム

アドレスに書き込む場合に使用します。

Page 114: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

114 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

制御レジスタ 0 (00101)

制御レジスタ 0 (CTL0) は、7 シ リーズ デバイスのコンフ ィギュレーシ ョ ンに使用されます。CTL0レジスタへの書き込みは、 MASK レジスタの値でマス ク されます。 これによ り、 SBITS および

DGHIGH/LFRM

00011 終フレーム - GHIGH_B 信号をディアサート し、すべてのインター

コネク ト を有効にします。 この信号は、 AGHIGH コマン ドでアサー

ト されます。

RCFG 00100 コンフ ィギュレーシ ョ ン データの読み出し - FDRO から コンフ ィ

ギュレーシ ョ ン データを読み出す前に使用します。

START 00101 スタート アップ シーケンスを開始します。 CRC チェッ クでエラーが

検出されず、DESYNC コマンドが実行された後、スタート アップ シー

ケンスを開始します。

RCAP 00110 シングル シ ョ ッ ト モード で リ ー ド バ ッ ク キ ャプチャ を実行後、

CAPTURE 信号を リセッ ト します。

RCRC 00111 CRC のリセッ ト - CRC レジスタを リセッ ト します。

AGHIGH 01000 GHIGH_B 信号のアサート - すべてのインターコネク ト をハイイン

ピーダンス状態にし、新しいコンフ ィギュレーシ ョ ン データを書き込

む場合の競合を回避します。シャ ッ ト ダウン リ コンフ ィギュレーシ ョ

ンでのみ使用します。 インターコネク トは、 LFRM コマンドによって

再びアクティブになり ます。

SWITCH 01001 CCLK 周波数の切り替え - マスター CCLK の周波数を COR0 レジ

スタの OFSEL ビッ トで指定された値に変更します。

GRESTORE 01010 GRESTORE 信号のパルス - IOB および CLB フ リ ップフロ ップを

ユーザー設定に従ってセッ ト またはリセッ ト します。

SHUTDOWN 01011 シャ ッ ト ダウン シーケンスの開始 - シャ ッ ト ダウン シーケンスを開

始し、完了時にはデバイスが使用不可とな り ます。シャ ッ ト ダウンは、

次に CRC チェッ クに成功したと き、または RCRC 命令によって開始

されます (通常は RCRC 命令を使用)。

GCAPTURE 01100 GCAPTURE のパルス - 現在のレジスタの状態をキャプチャ セルに

取り込みます。

DESYNC 01101 DALIGN 信号のリセッ ト - コンフ ィギュレーシ ョ ンの 後でデバイ

スの同期を解除するために使用します。同期が解除される と、コンフ ィ

ギュレーシ ョ ン データ ピンのすべての値は無視されます。

予約 01110 予約

IPROG 01111 ウォーム ブート を開始する内部 PROG です。

CRCC 10000 リードバッ ク CRC が選択される と、 コンフ ィギュレーシ ョ ン ロジッ

クがコンフ ィギュレーシ ョ ン後の 初のリードバッ ク CRC 値を算出

します。GHIGH を ト グルするのと同じ動作です。リ コンフ ィギュレー

シ ョ ン中に GHIGH が ト グルしない場合にこのコマン ド を使用しま

す。

LTIMER 10001 ウォッチド ッグ タイマーを再び読み込みます。

表 5-24 : コマンド レジスタのコード (続き)

コマンド コード 説明

Page 115: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 115UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン レジスタ

PERSIST ビッ ト を再指定するこ とな く、GTS_USR_B 信号を ト グルできます。表 5-25 に CTL0 レジスタの各ビッ ト位置の名称を示し、 表 5-26 で各ビッ トについて説明します。

表 5-25 : 制御レジスタ 0 (CTL0)

説明

EF

US

E_K

EY

ICA

P_S

EL

EC

T

予約

OverTem

pPow

erDow

n

予約

ConfigF

allback

予約

GL

UT

MA

SK

_B

FAR

SR

C

DE

C

SB

ITS

[1:0]

PE

RS

IST

予約

GT

S_U

SR

_B

ビッ ト インデッ クス

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

値 0 0 x x x x x x x x x x x x x x x x x x x 0 x 0 0 0 0 0 0 x x 1

表 5-26 : 制御レジスタ 0 の詳細

名前ビッ ト

インデックス説明

EFUSE_KEY 31 AES キーの格納場所を選択します。

0 : バッ クアップ バッテ リ付きの RAM (デフォルト )

1 : eFUSE

このビッ トは、 DEC をセッ トする と内部で再びラ ッチされます。 その後も この

ビッ トは読み出し /書き込みが可能ですが、 キーの格納場所が切り替わるのを防

ぐため、 変更はできません。

ICAP_SELECT 30 ICAP ポート を選択します。

0 : 上部 ICAPE2 ポートが有効 (デフォルト )

1 : 下部 ICAPE2 ポートが有効

OverTempPowerDown 12 XADC の過温度パワーダウン イネーブル ビッ トです。

0 : 過温度パワー ダウンが無効 (デフォルト )

1 : 過温度パワーダウンが有効

ConfigFallback 10 コンフ ィギュレーシ ョ ンがエラーになる と停止し、 デフォルト ビッ ト ス ト リー

ムへのフ ォールバッ ク を無効にし ます。 ビ ッ ト ス ト リ ーム オプシ ョ ンは

ConfigFallback:Enable/Disable です。

0 : フォールバッ クが有効 (デフォルト )

1 : フォールバッ クが無効

GLUTMASK_B 8 グローバルの LUT マスク信号です。 メモ リ セルの変更可能な リードバッ ク値

をすべてマスクします。

1 : 変更可能なメモ リ セル リードバッ ク値をマスク しない

0 : 分散 RAM または SRL (デフォルト ) など、 変更可能なメモ リ セル リー

ドバッ ク値をマスクする

FARSRC 7 FAR[23:0] コンフ ィギュレーシ ョ ン レジスタの出力を決定します。

0 : EFAR、 ECC エラー フレームのアドレス

1 : FAR、 RBCRC のアドレス (デフォルト )

Page 116: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

116 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

マスク レジスタ (00110)

CTL0 および CTL1 レジスタへの書き込みを、 MASK レジスタでビッ ト マスクします。

ステータス レジスタ (00111)

ステータス (STAT) レジスタには、 さまざまなグローバル信号の値が格納されます。 このレジスタ

は、 SelectMAP または JTAG インターフェイスから読み出しが可能です。 表 5-27 に STAT レジス

タの各ビッ ト位置の名称を示し、 表 5-28 で各ビッ トについて説明します。

DEC 6 AES 復号化機能のイネーブル ビッ トです。

0 : 復号化機能が無効 (デフォルト )

1 : 復号化機能が有効

SBITS[1:0] [5:4] セキュ リ テ ィ レベルを設定します。 7 シ リーズ FPGA のセキュ リ テ ィ レベル

は、 暗号化ビッ ト ス ト リームにも適用されます。 この設定は、 ICAPE2 ではな

く コンフ ィギュレーシ ョ ン ポートに適用されます。セキュ リ ティ レベルは、暗

号化されたビ ッ ト ス ト リームの 後、 または暗号化されていないビ ッ ト ス ト

リームでは EOS の後に有効になり ます。

00 : 読み出し /書き込み可 (デフォルト )

01 : リードバッ クが無効

1x : 書き込み/読み出し共に無効

セキュ リティ レベルが 00 および 01 の場合、 FAR と FDRI のみ暗号化書き込

みアクセスが可能です。

PERSIST 3 M2:M0 で指定したコンフ ィギュレーシ ョ ン インターフェイスがコンフ ィギュ

レーシ ョ ン後も維持されます。 通常、 SelectMAP インターフェイスでのみ使用

し、 リ コンフ ィギュレーシ ョ ンおよびリードバッ クを可能にします。 第 6 章の

「リードバッ クを実行するためのデザインの準備」 の PERSIST オプシ ョ ンを参

照してください。

0 : No (デフォルト )

1 : あ り

GTS_USR_B 0 アクティブ Low のト ライステート I/O です。 GTS_CFG_B もアサート されて

いる場合、 プルアップをオフにします。

0 : I/O はト ライステート

1 : I/O はアクティブ (デフォルト )

表 5-26 : 制御レジスタ 0 の詳細 (続き)

名前ビッ ト

インデックス説明

Page 117: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 117UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン レジスタ

表 5-27 : ステータス レジスタ

説明

予約

BU

S_W

IDT

H

予約

STA

RT

UP

_STA

TE

XA

DC

_OV

ER

_TE

MP

DE

C_E

RR

OR

ID_E

RR

OR

DO

NE

RE

LE

AS

E_D

ON

E

INIT

_B

INIT

_CO

MP

LE

TE

MO

DE

GH

IGH

_B

GW

E

GT

S_C

FG

_B

EO

S

DC

I_MA

TC

H

MM

CM

_LO

CK

PAR

T_S

EC

UR

ED

CR

C_E

RR

OR

ビッ ト インデッ クス

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

値 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x

表 5-28 : ステータス レジスタの説明

名前ビッ ト

インデックス説明

BUS_WIDTH [26:25] コンフ ィギュレーシ ョ ン バス幅の自動検出結果を示しま

す。 BPI および SelectMAP モードの場合、 モード ピンの

サンプリ ング後かつバス幅の検出前に値が 01 (x8) に設定

されます。 ICAPE2 が有効な場合、 このフ ィールドにはコ

ンフ ィギュレーシ ョ ン完了後の ICAPE2 バス幅の情報が

格納されます。

00 = x101 = x810 = x1611 = x32

STARTUP_STATE [20:18] コンフ ィギュレーシ ョ ン スタート アップのステート マシ

ンを示します (0 ~ 7)。

フェーズ 0 = 000

フェーズ 1 = 001

フェーズ 2 = 011

フェーズ 3 = 010

フェーズ 4 = 110

フェーズ 5 = 111

フェーズ 6 = 101

フェーズ 7 = 100

DEC_ERROR 16 復号化処理の前後いずれかに FDRI への書き込みがあった

こ とを示します。

0 : DEC_ERROR なし

1 : DEC_ERROR あ り

ID_ERROR 15 FDRI への書き込みで DEVICE_ID チェ ッ ク エラーが

あったかど うかを示します。

0 : ID_ERROR なし

1 : ID_ERROR あ り

Page 118: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

118 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

DONE 14 DONE ピンの値を示します。

RELEASE_DONE 13 内部 DONE 信号の値を示します。

0 : DONE 信号が リ リース されていない (ピンはアク

ティブに Low に維持)

1 : DONE 信号がリ リースされている (外部で Low に維

持するこ とが可能)

INIT_B 12 INIT_B ピンの値を示します。

INIT_COMPLETE 11 初期化の完了を示す内部信号です。

0 : 初期化が未完了

1 : 初期化完了

MODE [10:8] モード ピン (M[2:0]) の状態を示します。

GHIGH_B 7 GHIGH_B の状態を示します。

0 : GHIGH_B がアサート されている

1 : GHIGH_B がディアサート されている

GWE 6 GWE の状態を示します。

0 : FF およびブロ ッ ク RAM へ書き込み不可

1 : FF およびブロ ッ ク RAM へ書き込み可

GTS_CFG_B 5 GTS_CFG_B の状態を示します。

0 : すべての I/O がハイインピーダンス状態

1 : すべての I/O が設定通りに動作

EOS 4 スタート アップの終了を示す、スタート アップ ブロッ クか

らの信号です。

0 : スタート アップ シーケンスが未完了

1 : スタート アップ シーケンスが完了

DCI_MATCH 3 0 : DCI が不一致

1 : DCI が一致

すべての MATCH 信号 (各バンクに 1 つ) の論理積となり

ます。DCI I/O がバンクにない場合、そのバンクの MATCH信号は 1 とな り ます。

MMCM_LOCK 2 0 : MMCM がロッ ク されていない

1 : MMCM がロッ ク されている

すべての MMCM LOCKED 信号の論理積となり ます。 未

使用の DCM LOCKED 信号は 1 とな り ます。

表 5-28 : ステータス レジスタの説明 (続き)

名前ビッ ト

インデックス説明

Page 119: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 119UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン レジスタ

LOUT レジスタ (01000)

シ リ アル デイジー チェーンでのコンフ ィギュレーシ ョ ン中、 ソフ ト ウェアではこのレジスタを使

用して DOUT ピンへデータが駆動されます。

コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0 (01001)

コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0 (COR0) は、 デバイスのコンフ ィギュレーシ ョ ン

オプシ ョ ンの設定に使用されます。 表 5-29 に COR0 レジス タの各ビ ッ ト 位置の名称を示し、

表 5-30 で各ビッ トについて説明します。

PART_SECURED 1 0 : 復号化機能 のセキュ リティを設定していない

1 : 復号化機能 のセキュ リティを設定している

CRC_ERROR 0 0 : CRC エラーなし

1 : CRC エラー

表 5-28 : ステータス レジスタの説明 (続き)

名前ビッ ト

インデックス説明

表 5-29 : コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0

説明

予約

予約

予約

予約

PW

RD

WN

_STA

T

予約

DO

NE

_PIP

E

DR

IVE

_DO

NE

SIN

GL

E

OS

CF

SE

L

SS

CL

KS

RC

DO

NE

_CY

CL

E

MA

TC

H_C

YC

LE

LO

CK

_CY

CL

E

GT

S_C

YC

LE

GW

E_C

YC

LE

ビッ ト インデッ クス

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

値 0 0 0 0 0 X 1 0 0 0 0 0 0 0 0 0 x 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0

表 5-30 : コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0 の説明

名前ビッ ト

インデックス説明

PWRDWN_STAT 27 DONE ピンをパワーダウン ステータス ピンに変更します。

0 : DONE ピン

1 : パワーダウン ピン

DONE_PIPE 25 0 : DONEIN にパイプライン ステージを追加しない

1 : DONEIN にパイプライン ステージを追加する (デフォルト )

コンフ ィ ギュレーシ ョ ン ロジッ クによって読み出される前に

DONE 信号に対するレジスタを追加します。

FPGA は、 スタート アップ ク ロ ッ クの 1 サイクル分開始が遅延

している DONE を待機します。

DRIVE_DONE 24 0 : DONE ピンはオープン ドレイン

1 : DONE はアクティブに High に駆動 (推奨されていない)

Page 120: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

120 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

SINGLE 23 0 : リードバッ クをシングル シ ョ ッ トにしない

CAPTUREE2 プ リ ミ テ ィブで CAP がアサー ト されるたび

に、 新し く キャプチャした値が読み込まれます。 CMD レジ

スタの GCAPTURE 命令でもキャプチャを実行できます。

1 : シングル シ ョ ッ ト モードのリードバッ クを実行する

連続して リードバッ クを実行する場合、 新しい リードバッ ク

を開始する前に CMD レジスタへ RCAP 命令を取り込む必要

があ り ます。

OSCFSEL [22:17] マスター モードで CCLK 周波数を選択します。

(2MHz ~ 60MHz)

SSCLKSRC [16:15] スタート アップ シーケンスのクロ ッ ク ソースを指定します。

00 : CCLK

01 : UserClk (CAPTUREE2 ブロ ッ クに接続したユーザー クロ ッ ク )

1x : JTAGClk

DONE_CYCLE [14:12] DONE ピンを リ リースするスタート アップ サイクルを指定しま

す。

000 : スタート アップ フェーズ 1

001 : スタート アップ フェーズ 2

010 : スタート アップ フェーズ 3

011 : スタート アップ フェーズ 4

100 : スタート アップ フェーズ 5

101 : スタート アップ フェーズ 6

110 : スタート アップ フェーズ 7

111 : 状態を保持

MATCH_CYCLE [11:9] DCI が一致するまで待機するスタート アップ サイクルを指定し

ます。

000 : スタート アップ フェーズ 0

001 : スタート アップ フェーズ 1

010 : スタート アップ フェーズ 2

011 : スタート アップ フェーズ 3

100 : スタート アップ フェーズ 4

101 : スタート アップ フェーズ 5

110 : スタート アップ フェーズ 6

111 : ウェイ ト なし

表 5-30 : コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0 の説明 (続き)

名前ビッ ト

インデックス説明

Page 121: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 121UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン レジスタ

MFWR レジスタ (01010)

ビッ ト ス ト リームの圧縮オプシ ョ ンで使用されます。

LOCK_CYCLE [8:6] MMCM がロ ッ クするまで待機するスタート アップ サイ クルを

指定します。

000 : スタート アップ フェーズ 0

001 : スタート アップ フェーズ 1

010 : スタート アップ フェーズ 2

011 : スタート アップ フェーズ 3

100 : スタート アップ フェーズ 4

101 : スタート アップ フェーズ 5

110 : スタート アップ フェーズ 6

111 : ウェイ ト なし

GTS_CYCLE [5:3] GTS 信号をディアサートするスタート アップ サイクルを選択し

ます。

000 : スタート アップ フェーズ 1

001 : スタート アップ フェーズ 2

010 : スタート アップ フェーズ 3

011 : スタート アップ フェーズ 4

100 : スタート アップ フェーズ 5

101 : スタート アップ フェーズ 6

110 : DONE ピンに追随。 ビ ッ ト ス ト リーム オプシ ョ ンは

-g GTS_cycle:Done。

001 : 状態を保持

GWE_CYCLE [2:0] GWE 信号をディアサートするスタート アップ フェーズを選択

します。

000 : スタート アップ フェーズ 1

001 : スタート アップ フェーズ 2

010 : スタート アップ フェーズ 3

011 : スタート アップ フェーズ 4

100 : スタート アップ フェーズ 5

101 : スタート アップ フェーズ 6

110 : DONE ピンに追随。 ビ ッ ト ス ト リーム オプシ ョ ンは

GWE_cycle:Done。

111 : 状態を保持

表 5-30 : コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0 の説明 (続き)

名前ビッ ト

インデックス説明

Page 122: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

122 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

CBC レジスタ (01011)

AES 復号化の初期ベクター (IV) を格納するレジスタで、 ビッ ト ス ト リーム暗号化オプシ ョ ンで使

用されます。

IDCODE レジスタ (01100)

FDRI への書き込みを行う前に、 必ずこのレジスタへの書き込みが必要です。 このレジスタに書き

込まれた IDCODE は、 デバイスの IDCODE と一致する必要があ り ます。

このレジスタを読み出すと、 デバイスの IDCODE が返されます。

AXSS レジスタ (01101)

このレジスタは、USR_ACCESSE2 プリ ミ ティブをサポート します。 このプリ ミ ティブを使用する

こ とによって、FPGA ビッ ト ス ト リームで格納された、 またはコンフ ィギュレーシ ョ ン レジスタ と

して外部または内部のコンフ ィギュレーシ ョ ン ポー ト によって再書き込みされた 32 ビッ ト値へ

FPGA ロジッ クから直接アクセスできます。 USR_ACCESS は、 32 ビッ トのユーザー指定値を用

いてコンフ ィギュレーシ ョ ンするか、 あるいはタイムスタンプ機能を使用してビッ ト ス ト リーム生

成プログラムで自動的に読み込むこ とができます。 リ ビジ ョ ン、デザイン追跡、 シ リ アル ナンバー

には、 ユーザー指定値が使用できます。 インプリ メンテーシ ョ ンが複数回実行され、 ソース デザイ

ン自体は変更されていない場合には、タイムスタンプ機能が有益です。このプリ ミ ティブの詳細は、

『Vivado Design Suite 7 シ リーズ FPGA および Zynq-7000 All Programmable SoC ライブラ リ ガイ

ド』 (UG953) を参照して ください。 プ リ ミ テ ィブおよび AXSS レジスタの使用に関する詳細は、

『USR_ACCESS を使用するビッ ト ス ト リーム認識』 (XAPP497) を参照してください。

コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 1 (01110)

コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 1 (COR1) は、 デバイスのコンフ ィギュレーシ ョ ン

オプシ ョ ンの設定に使用されます。 表 5-31 に COR1 レジス タの各ビ ッ ト 位置の名称を示し、

表 5-32 で各ビッ トについて説明します。

表 5-31 : コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 1

説明

予約

PE

RS

IST

_DE

AS

SE

RT

_AT

_DE

SY

NC

RB

CR

C_A

CT

ION

予約

RB

CR

C_N

O_P

IN

RB

CR

C_E

N

予約

BP

I_1ST

_RE

AD

_CY

CL

E

BP

I_PAG

E_S

IZE

ビッ ト インデッ クス

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

値 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Page 123: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 123UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン レジスタ

表 5-32 : コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 1 の説明

名前ビッ ト

インデックス説明

PERSIST_DEASSERT_AT_DESYNC 17 DESYNC コマンドによる PERSIST のディアサート を制御します。

0 : DESYNC コマン ドで PERSISTをディアサート しない (デフォルト )

1 : DESYNC コマン ドで PERSISTをディアサートする

RBCRC_ACTION [16:15] 00 : Continue (継続)01 : HALT (停止)11 : Correct_And_Halt (修正およ

び停止)10 : Correct_And_Continue (修正お

よび継続)

RBCRC_NO_PIN 9 INIT_B を リードバッ ク CRC エラーの

ステータス出力ピン と して使用するか

ど うかを設定します。

0 : INIT_B を リードバッ ク CRC エラーのステータス出力ピンと して使

用する (デフォルト )

1 : INIT_B を リードバッ ク CRC エラーのステータス出力ピンと して使

用しない

RBCRC_EN 8 連続した リードバッ ク CRC の有効/無効を設定します。

0 : 連続した リードバッ ク CRC を無

効にする (デフォルト )

1 : 連続した リードバッ ク CRC を有

効にする

BPI_1ST_READ_CYCLE [3:2] 初のバイ ト読み出し タ イ ミ ングを設

定します。

00 : 1 CCLK (デフォルト )

01 : 2 CCLK

10 : 3 CCLK

11 : 4 CCLK

BPI_PAGE_SIZE [1:0] フラ ッシュ メモ リのページ サイズを設

定します。

00 : 1 バイ ト /ワード (デフォルト )

01 : 4 バイ ト /ワード

10 : 8 バイ ト /ワード

11 : 予約

Page 124: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

124 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

ウォーム ブート開始アドレス レジスタ (10000)

ウォーム ブート開始アドレス レジスタ (WBSTAR) は、 IPROG コマンドが適用されている と きに

使用するマルチブート アドレス位置を指定します。表 5-33 にウォーム ブート開始アドレス レジス

タの各ビッ ト位置の名称を示し、 表 5-34 で各ビッ トについて説明します。

ウォッチド ッグ タイマー レジスタ (10001)

ウォ ッチド ッグ タイマーは、 フォールバッ ク ビッ ト ス ト リームに対しては自動的に無効にな り ま

す。 表 5-35 に TIMER レジスタの各ビッ ト位置の名称を示し、 表 5-36 で各ビッ トについて説明し

ます。

表 5-33 : WBSTAR レジスタ

説明

RS

[1:0]

RS

_TS

_B

STA

RT

_AD

DR

ビッ ト インデッ クス

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

値 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

表 5-34 : WBSTAR レジスタの説明

名前ビッ ト

インデックス説明

RS[1:0] [31:30] 次のウォーム ブートでの RS[1:0] ピンの値を設

定します。 デフォルト値は 00 です。

RS_TS_B 29

RS[1:0] ピンの ト ライステート イネーブル ビッ

トです。

0 : 無効 (デフォルト )

1 : 有効

START_ADDR [28:0] 次のビッ ト ス ト リームの開始アド レスを設定し

ます。 デフォルトの開始アドレスは 0 です。

表 5-35 : TIMER レジスタ

説明

TIM

ER

_US

R_M

ON

TIM

ER

_CF

G_M

ON

TIM

ER

_VA

LU

E

ビッ ト インデッ クス

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

値 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Page 125: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 125UG470 (v1.9) 2014 年 11 月 14 日

コンフ ィギュレーシ ョ ン レジスタ

ブート履歴ステータス レジスタ (10110)

ブー ト 履歴ステータ ス (BOOTSTS) レジス タは、 POR、 PROGRAM_B のアサー ト、 または

JPROGRAM 命令によってのみリセッ ト できます。 EOS またはエラーが発生する と、 ステータス

(_0) がステータス (_1) にシフ ト し、 ステータス (_0) は現在のステータスで更新されます。表 5-37に BOOTSTS レジスタの各ビッ ト位置の名称を示し、 表 5-38 で各ビッ トについて説明します。

表 5-36 : TIMER レジスタの説明

名前ビッ ト

インデックス説明

TIMER_USR_MON 31

ユーザー モード中にウォ ッチド ッグ タ イマー

を有効にします。

0 : 無効 (デフォルト )

1 : 有効

TIMER_CFG_MON 30

コンフ ィギュレーシ ョ ン中にウォッチド ッグ タイマーを有効にします。

0 : 無効 (デフォルト )

1 : 有効

TIMER_VALUE [29:0]ウォ ッチド ッグのタイムアウ ト値です。 ウォ ッ

チド ッグ ク ロ ッ クは約 125KHz ~ 380KHz です。 デフォルト値は 0 です。

表 5-37 : BOOTSTS レジスタ

説明

予約

HM

AC

_ER

RO

R_1

WR

AP

_ER

RO

R_1

CR

C_E

RR

OR

_1

ID_E

RR

OR

_1

WT

O_E

RR

OR

_1

IPR

OG

_1

FAL

LB

AC

K_1

VA

LID

_1

HM

AC

_ER

RO

R_0

WR

AP

_ER

RO

R_0

CR

C_E

RR

OR

_0

ID_E

RR

OR

_0

WT

O_E

RR

OR

_0

IPR

OG

_0

FAL

LB

AC

K_0

VA

LID

_0

ビッ ト インデッ クス

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

値 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

表 5-38 : BOOTSTS レジスタの説明

名前ビッ ト

インデックス説明

HMAC_ERROR_1 15 HMAC エラー

WRAP_ERROR_1 14 BPI アドレス カウンターのラ ップアラウンド エラー。 非同期読み出しモードでサポート

CRC_ERROR_1 13 CRC エラー

ID_ERROR_1 12 ID_CODE エラー

WTO_ERROR_1 11 ウォ ッチド ッグのタイムアウ ト エラー

IPROG_1 10 内部 PROG で開始したコンフ ィギュレーシ ョ ン

Page 126: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

126 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

制御レジスタ 1 (11000)

制御レジスタ 1 (CTL1) は、 7 シ リーズ デバイスのコンフ ィギュレーシ ョ ンに使用します。 このレ

ジスタは予約されています。 表 5-39 を参照して ください。

BPI/SPI コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ (11111)

BPI/SPI コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ (BSPI) は予約されており、 ツールで設定さ

れるデバイスの特定コンフ ィギュレーシ ョ ン オプシ ョ ンを格納するために使用します。表 5-40 に、

COR1 レジスタの各ビッ ト位置名を示します。

FALLBACK_1 9 1 : デフォルト リ コンフ ィギュレーシ ョ ンへ

のフォールバッ ク、 RS[1:0] はアクテ ィブに

2'b00 を駆動

0 : 通常のコンフ ィギュレーシ ョ ン

VALID_1 8 ステータス 1 は有効

HMAC_ERROR_0 7 HMAC エラー

WRAP_ERROR_0 6 BPI アドレス カウンターのラ ップアラウンド エラー。 非同期読み出しモードでサポート

CRC_ERROR_0 5 CRC エラー

ID_ERROR_0 4 ID_CODE エラー

WTO_ERROR_0 3 ウォ ッチド ッグのタイムアウ ト エラー

IPROG_0 2 内部 PROG で開始したコンフ ィギュレーシ ョ ン

FALLBACK_0 1 1 : デフォルト リ コンフ ィギュレーシ ョ ンへ

のフォールバッ ク、 RS[1:0] はアクテ ィブに

2'b00 を駆動

0 : 通常のコンフ ィギュレーシ ョ ン

VALID_0 0 ステータス 0 は有効

注記 :

1. 電源投入時には、 このレジスタのデフォルト値はどのフ ィールド も 0 とな り、エラー、 フォールバッ ク、 ま

たは有効なコンフ ィギュレーシ ョ ンが検出されていないこ とを示します。コンフ ィギュレーシ ョ ン後、これ

らのビッ トのいずれかが 1 の場合は、 エラー、 フォールバッ ク、 またはコンフ ィギュレーシ ョ ンの完了が

検出されたこ とを示します。

表 5-38 : BOOTSTS レジスタの説明 (続き)

名前ビッ ト

インデックス説明

表 5-39 : 制御レジスタ 1 (CTL1)

説明

予約

ビ ッ ト インデッ クス

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

値 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x

Page 127: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 127UG470 (v1.9) 2014 年 11 月 14 日

デバイス ID および Device DNA

デバイス ID および Device DNA7 シ リーズ FPGA には、57 ビッ トの Device DNA 値を提供するための 64 ビッ トのデバイス ID が組み込まれています。 この不揮発性の ID はザイ リ ンクスによって FPGA に恒久的にプログラムさ

れており、 変更できないため、 改ざんされるこ とはあ り ません。 各デバイスは、 固有となるこ とが

多い 57 ビッ トの DNA 値でプログラムされています。 ただし、同じファ ミ リ内で 大 32 個のデバ

イスが同じ DNA 値を含むこ とができます。 JTAG FUSE_DNA コマンドを使用する と、 常に固有

となる 64 ビッ ト値をすべて読み出すこ とが可能です。 Device DNA は、 64 ビッ トの FUSE_DNA値のビッ ト 0 ~ 56 で構成されます。

外部アプリ ケーシ ョ ンは JTAG ポート を介して Device DNA または FUSE_DNADNA の値にアク

セスでき、 FPGA デザインは Device DNA アクセス ポート (DNA_PORT) を介して DNA 値にの

みアクセスできます。

FPGA アプリ ケーシ ョ ンは、 デザイン プリ ミ ティブの DNA_PORT (Device DNA Access Port) を使用してこの DNA 値にアクセスします (図 5-15 参照)。

DNA 値図 5-16 に示すよ うに、 Device DNA は 57 ビッ トの値です。

表 5-40 : BPI/SPI コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ

説明

予約

BP

I_sync_mode

(1)

読み出しコンフ ィギュレーシ ョ ン レジスタ (BPI_sync_mode によって指定、 詳細は XAPP587 を

参照)

予約

SP

I_32bit_addr (2)

SP

I_buswidth

(3)

SPI_read_opcode

(59 ページの表 2-13 参照)

ビッ ト インデッ クス

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

値 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1

注記 : 1. 67 ページの 「同期読み出しモードのサポート 」 を参照してください。

2. 59 ページの 「128Mb を超える SPI のサポート 」 を参照してください。

3. 58 ページの 「マスター SPI デュアル (x2) およびクアッ ド (x4) の読み出しコマンド」 を参照してください。

X-Ref Target - Figure 5-15

図 5-15 : 7 シリーズ FPGA の DSP DNA_PORT デザイン プリ ミテ ィブ

UG470_c5_15_110513

DIN DOUT

DNA_PORT

READ

SHIFT

CLK

Page 128: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

128 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

動作

図 5-16 に、DNA_PORT デザイン プリ ミ ティブの一般的な機能を示します。FPGA アプリ ケーシ ョ

ンは、 初に DNA_PORT プリ ミ ティブをデザイン内でインスタンシエート しておく必要があ り ま

す (図 5-15 参照)。

Device DNA を読み出すには、 まず FPGA アプリ ケーシ ョ ンが DNA_PORT 出力シフ ト レジスタ

に DNA 値を送信します。 READ 入力は、 CLK の立ち上がりエッジのと きにアサート されている

必要があ り ます (表 5-41 参照)。 これによ り、出力シフ ト レジスタに DNA の 57 ビッ トすべてが並

行して読み込まれます。 READ 操作は SHIFT 操作よ り も優先されます。

DNA ビッ トの読み出しを継続するには、 表 5-41 に示すよ うに、 CLK の立ち上がりエッジの後で

SHIFT をアサートする必要があ り ます。 これで、出力シフ ト レジスタの値が DOUT 出力にシフ ト

されます。 DIN 入力の値は、 シフ ト レジスタにシフ ト されます。

READ と SHIFT の両方が Low の場合、 出力シフ ト レジスタの値が保持され、 DOUT の値も変わ

り ません。DNA のメモ リ仕様については、各 7 シ リーズ FPGA データシート を参照してください。

DNA の拡張

図 5-17 に示すとおり、DNA_PORT プリ ミ ティブを使用するアプリ ケーシ ョ ンのほとんどは、DINデータ入力を定数に接続しています。

X-Ref Target - Figure 5-16

図 5-16 : DNA_PORT の動作

560

57-Bit Device DNA

Factory Programmed, Unchangeable

560DIN DOUT57-Bit Loadable Shift Register

READ = 1

SHIFT=1

UG470_c5_16_110513

CLK

Read = 0

表 5-41 : DNA_PORT の動作

動作 DIN READ SHIFT CLK シフ ト レジスタ DOUT

HOLD X 0 0 X 前の値を保持 前の値を保持

READ X 1 X 57 ビッ トの DNA をすべて読み込み ID のビッ ト 56

SHIFT DIN 0 1 DIN をビッ ト 0 にシフ ト し、 シフ ト レジス

タの値を DOUT にシフ ト

シフ ト レジス タ

のビッ ト 56

注記 :

X = Don’t Care

= 立ち上がり ク ロ ッ ク エッジ

Page 129: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 129UG470 (v1.9) 2014 年 11 月 14 日

デバイス ID および Device DNA

図 5-18 のよ うに、DOUT シ リ アル出力ポート を DIN シ リ アル入力ポートに接続する と DNA の長

さを延長できます。 このよ うにする と、 DNA を任意の長さに拡張できます。

また、 FPGA のロジッ ク リ ソースを使用して DNA にビッ ト を追加するこ と も可能です。 図 5-19に示すよ うに、 FPGA アプリ ケーシ ョ ンは DNA_PORT の DIN シ リ アル入力を介して追加のビッ

ト を挿入できます。ロジッ ク リ ソースを利用する場合は、固定値のビッ ト を追加するこ と も、DeviceDNA から計算した変数のビッ ト を追加するこ と もできます。

JTAG による Device DNA および ID へのアクセス

FPGA の内部 Device DNA は、ベンダー固有の XSC_DNA コマンドを使用して JTAG ポートから

読み出すこ とができます。この場合、XSC_DNA コマンドを発行する前に ISC_ENABLE を読み込

む必要があ り ます。 ISC_ENABLE によって FPGA デザインが停止します。 XSC_DNA コマンド

の発行後に FPGA デザインを再開させるには、 ISC_DISABLE が必要です。

X-Ref Target - Figure 5-17

図 5-17 : 定数をシフ ト イン

X-Ref Target - Figure 5-18

図 5-18 : 巡回シフ ト

X-Ref Target - Figure 5-19

図 5-19 : ビッ トス ト リーム固有のコード

DIN DOUT

DNA_PORT

READSHIFTCLK

UG470_c5_17_010513

0

DIN DOUT

DNA_PORT

READSHIFTCLK

UG470_c5_18_110513

UG470_c5_19_110513

DIN DOUT

DNA_PORT

READSHIFTCLK

Application Code

DIN DOUTREADSHIFTCLK

READSHIFT

CLK

Page 130: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

130 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 5 章 : コンフ ィギュレーシ ョ ンの詳細

図 5-16 に示すよ うに、 デバイスが Shift-DR ステートに入る と、 XSC_DNA コマンドに続いて IDのビッ ト 56 が TDO JTAG 出力に出力されます。Device DNA の残りのビッ トおよびレジスタへの

入力のデータは、 JTAG コン ト ローラーが Shift-DR ステートのと きに順次シフ ト アウ ト されます。

固有の 64 ビッ ト ID はすべて、 ベンダー固有の FUSE_DNA コマンドを使用して JTAG ポートか

ら読み出すこ とができます。 機能性は XSC_DNA と同様ですが、 ID のビッ ト 63 は FUSE_DNAコマンド後に TDO JTAG 出力へ出力されます。

iMPACT によるデバイス ID へのアクセス

57 ビッ トの Device DNA の値は、iMPACT でも読み出すこ とができます。FPGA から Device DNAを読み出すには、 readDna -p <position> を実行し ます。 Vivado デバイス プログラマには

Device DNA 値を読み出す機能も追加される予定です。

Page 131: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 131UG470 (v1.9) 2014 年 11 月 14 日

第 6 章

リードバックおよびコンフ ィギュレーシ ョンの検証

ザイ リ ンクス 7 シ リーズ デバイスでは、 SelectMAP、 ICAPE2、および JTAG インターフェイスを

介してコンフ ィギュレーシ ョ ン メモ リ を読み出すこ とができます。 リードバッ クには、 リードバッ

ク検証と リードバッ ク キャプチャの 2 種類があ り ます。 リードバッ ク検証では、 ユーザー メモ リ

エレ メン ト (LUT RAM、SRL、およびブロ ッ ク RAM) のその時点での値を含め、すべてのコンフ ィ

ギュレーシ ョ ン メモ リ セルを読み出すこ とが可能です。 リードバッ ク キャプチャはリードバッ ク

検証の機能をさ らに拡張したもので、 すべてのコンフ ィギュレーシ ョ ン メモ リ セルの読み出しに

加え、 すべての内部 CLB および IOB レジスタのその時点でのステート も読み出すこ とができ、 デ

ザインのデバッグに役立ちます。

コンフ ィギュレーシ ョ ン メモ リ を読み出すには、 リードバッ クを開始するコマンド シーケンスを

デバイスに送信する必要があ り ます。 リードバッ クの開始後、 デバイスはコンフ ィギュレーシ ョ ン

メモ リの内容を SelectMAP または JTAG インターフェイスに出力します。

リードバッ ク コマンド シーケンスは、 マイ ク ロプロセッサ、 CPLD、 または FPGA ベースのシス

テムから送信できます。 また、 ツールを使用して JTAG ベースのリードバッ ク検証を実行するこ と

も可能です。 iMPACT はザイ リ ンクスの ISE® ツールで提供されているデバイス プログラ ミ ング

ツールで、 7 シ リーズ デバイスのすべてのリードバッ クおよび比較機能をサポート しており、 コン

フ ィギュレーシ ョ ン エラーの有無をレポートする機能もあ り ます。 ChipScope™ Pro ツールで使用

が簡単な GUI でよ り優れたデザイン デバッグ機能が提供されるため、 リードバッ ク キャプチャがデ

ザインのデバッグに使用されるこ とはほとんどあり ませんが、iMPACT でキャプチャ処理はサポート

されていません。 同様の機能が Vivado ラボ ツールで提供されています。

デバイスからコンフ ィギュレーシ ョ ン メモ リの内容が読み出される と、 次に リードバッ ク ビッ ト

ス ト リームと コンフ ィギュレーシ ョ ン ビッ ト ス ト リームが比較され、 エラーの有無が判定されま

す。 この処理の詳細は、 「 リードバッ ク データの検証」 で説明します。

以降のセクシ ョ ンでは、SelectMAP インターフェイスまたは JTAG インターフェイスを介した、モ

ノ リ シッ ク デバイスの リードバッ ク手順について説明します。 ICAPE2 を介した リードバッ クは

SelectMAP インターフェイスを介した リードバッ ク と同様です。 SSI デバイスの場合、 リードバッ

クの検証のみが iMPACT ツールでサポート されています。

リードバックを実行するためのデザインの準備

リードバッ クを実行するには、 ビッ ト ス ト リームに 2 つの設定を行っておく必要があ り ます。 1 つはセキュ リ テ ィ設定で リードバッ クの禁止を解除しておく こ と (security:none)、 も う 1 つは

ビッ ト ス ト リーム暗号化を使用しないこ とです。 また、 SelectMAP インターフェイスを利用して

リードバッ クを行う場合は、 persist オプシ ョ ンを Persist:Yes に設定する必要があ り ます。 この

設定を行っておかないと SelectMAP データ ピンはコンフ ィギュレーシ ョ ン後にユーザー I/O とな

り、 その後のコンフ ィギュレーシ ョ ンが行えなくな り ます。 バウンダ リ スキャン ポート を使用し

Page 132: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

132 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 6 章 : リードバックおよびコンフ ィギュレーシ ョ ンの検証

て リードバッ クを行う場合は、 初に挙げたセキュ リティおよび暗号化のオプシ ョ ン以外に特別な

設定は必要あ り ません。

リードバッ ク キャプチャ機能も実行する場合は、ユーザー デザインに CAPTUREE2 プリ ミ ティブ

をインスタンシエート しておきます。 このほか、 GCAPTURE コマンドを CMD レジスタに書き込

む方法もあ り ます ( 「 リードバッ ク キャプチャ」 参照)。 ユーザー レジスタのステート を取り込む

には、 ユーザー デザインでこのプリ ミ ティブの CAP 入力を ト リガーし、 その時点でのレジスタ値

をコンフ ィギュレーシ ョ ン メモ リに格納します。レジスタの値は、後でコンフ ィギュレーシ ョ ン メモ リ と一緒にデバイスから読み出されます。

Persist オプシ ョ ン Persist ビッ ト ス ト リーム オプシ ョ ンは、コンフ ィギュレーシ ョ ン後、多目的コンフ ィギュレーシ ョ

ン ピンへのコンフ ィギュレーシ ョ ン ロジッ クのアクセスを維持します。 このオプシ ョ ンは、 主に

コンフ ィギュレーシ ョ ン後のリードバッ ク アクセス用に SelectMAP ポート を保持する目的で使用

されますが、 ほかのコンフ ィギュレーシ ョ ン モードでも利用できます。 JTAG コンフ ィギュレー

シ ョ ンでは、 専用の JTAG ポートが常に利用可能なため、 Persist は必要あ り ません。 Persist およ

び ICAP は同時に使用できません。

Persist オプシ ョ ンは、PROGRAM_B ピンをパルスした り JTAG ポート を使用するこ とな く、外部

コン ト ローラーからデバイスを リ コンフ ィ ギュレーシ ョ ンするために利用する こ と もできます。

Persist に使用する多目的ピンは、 コンフ ィギュレーシ ョ ン モード ピンの設定に依存し、 24 ページ

の表 2-2 および 25 ページの表 2-3 に記載の各コンフ ィギュレーシ ョ ン モード ピンと同様です。た

だし、 PUDC_B および DOUT_CSO_B は Persist に使用できません。 Persist に使用する I/O ピン

はユーザー デザインで I/O と して利用するこ とはできません。デザインのインプリ メンテーシ ョ ン

時に CONFIG_MODE 制約を用いて適切なピンを予約します。 Persist モードの I/O は、 デフォル

トの汎用 I/O 規格 (LVCMOS、 12mA 駆動能力、 Slow スルー レート ) を使用します。

リードバック コマンド シーケンス

SelectMAP インターフェイスからコンフ ィギュレーシ ョ ン レジスタへのアクセス

SelectMAP インターフェイスからコンフ ィギュレーシ ョ ン メモ リ を読み出すには、 インターフェ

イスを書き込み制御用に設定して FPGA へコマン ドを送信し、 次に読み出し制御用に設定して、

データをデバイスから読み出します。SelectMAP インターフェイスの書き込みおよび読み出し制御

は RDWR_B 入力で指定されます。インターフェイスを書き込み制御用に設定する と (RDWR_B =0)、 SelectMAP データ ピンは入力であ り、 読み出し制御用に設定する と (RDWR_B = 1)、 出力と

な り ます。 ABORT を回避するため、 RDWR_B 信号の ト グル前に CSI_B 信号をディ アサー ト

(CSI_B = 1) して ください (詳細は、 「SelectMAP の ABORT」 参照)。

SelectMAP インターフェイスにおける書き込み制御と読み出し制御間の変更手順は、次のとおり

です。

1. CSI_B をディアサート します。

2. RDWR_B を ト グルします。

RDWR_B = 0 : 書き込み制御

RDWR_B = 1 : 読み出し制御

3. CSI_B をアサート します。

Page 133: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 133UG470 (v1.9) 2014 年 11 月 14 日

リードバック コマンド シーケンス

4. CSI_B および RDWR_B は CCLK に同期します。

5. リードバッ クで CSI_B ピンがアサート されてから 3 ク ロ ッ ク サイ クル後にリードバッ ク デー

タは確定的に有効になり ます。

図 6-1 に、 この手順を図示します。

コンフ ィギュレーシ ョ ン レジスタの読み出し手順 (SelectMAP)読み出し操作の中で も簡単なのは、COR0 や STAT レジスタなどのコンフ ィギュレーシ ョ ン レジ

スタに対する読み出しです。 レジスタによっては読み出しアクセスが行えないものもあ り ますが、

読み出しアクセス可能なレジスタはすべて SelectMAP インターフェイスから読み出すこ とができ

ます。 SelectMAP インターフェイスから STAT レジスタを読み出すには、 次の手順に従います。

1. デバイスにバス幅検出シーケンスと同期ワードを書き込んだ後、 少なく と も NOOP を 1 つ書

き込む。

2. デバイスに 「STAT レジスタ読み出し」 パケッ ト ヘッダーを書き込む。

3. デバイスに NOOP コマンドを 2 つ書き込み、 パケッ ト バッファーをフラ ッシュする。

4. SelectMAP インターフェイスから 1 ワードを読み出す (ステータス レジスタの値)。

5. デバイスに DESYNC コマンドを書き込む。

6. デバイスにダ ミー ワードを 2 つ書き込み、 パケッ ト バッファーをフラ ッシュする。

X-Ref Target - Figure 6-1

図 6-1 : SelectMAP ポートの書き込みおよび読み出し制御間の変更

表 6-1 : ステータス レジスタのリードバック コマンド シーケンス (SelectMAP)

手順SelectMAP

ポートの方向

コンフ ィギュ

レーシ ョ ン データ

説明

1 書き込み FFFFFFFF ダ ミー ワード

2 書き込み 000000BB バス幅同期ワード

3 書き込み 11220044 バス幅検出

4 書き込み FFFFFFFF ダ ミー ワード

5 書き込み AA995566 同期ワード

6 書き込み 20000000 NOOP

7 書き込み 2800E001STAT レジスタを読み出すタイプ 1 パケッ ト ヘッ

ダーを書き込む

Page 134: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

134 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 6 章 : リードバックおよびコンフ ィギュレーシ ョ ンの検証

手順 8 と手順 9 の間でユーザーが SelectMAP インターフェイスの方向を書き込みから読み出し制

御に変更し、 手順 9 の後に再び書き込み制御に戻す必要があ り ます。

STAT 以外のレジスタを読み出す場合は、 タイプ 1 パケッ ト ヘッダーで指定するアドレス (表 6-1の手順 2) を変更し、 必要に応じてワード カウン ト を修正してください。 FDRO レジスタからの読

み出しは、 「コンフ ィギュレーシ ョ ン メモ リの読み出し手順 (SelectMAP)」 で説明するよ うに特別

な手順が必要とな り ます。

コンフ ィギュレーシ ョ ン メモリの読み出し手順 (SelectMAP)FDRO レジスタからコンフ ィギュレーシ ョ ン メモ リ を読み出す手順は、その他のレジスタから読み

出す場合と基本的には同じです。ただし、 コンフ ィギュレーシ ョ ン ロジッ クに対応するための追加

手順が必要にな り ます。 FDRO レジスタからのコンフ ィギュレーシ ョ ン データはフレーム バッ

ファーを通るため、 リードバッ ク データの 初のフレームは破棄する必要があ り ます。

1. デバイスにバス幅検出シーケンスと同期ワードを書き込む。

2. NOOP コマンドを少なく と も 1 つ書き込む。

3. SHUTDOWN コマンドを書き込み、 NOOP コマンドを 1 つ書き込む。

4. RCRC コマンドを CMD レジスタに書き込み、 NOOP コマンドを 1 つ書き込む。

5. NOOP コマンドを 5 つ書き込み、 シャ ッ ト ダウン シーケンスを確実に完了させる。 シャ ッ ト

ダウン シーケンス中、 DONE が Low になる。

6. RCFG コマンドを CMD レジスタに書き込み、 NOOP コマンドを 1 つ書き込む。

7. 開始フレームアドレスを FAR に書き込む (通常は 0x00000000)。

8. デバイスに 「FDRO レジスタ読み出し」 パケッ ト ヘッダーを書き込む。 FDRO 読み出し長は、

次の式で求めます。

FDRO 読み出し長 = (各フレームのワード数) x (読み出すフレーム数)

フレーム バッファー分の追加フレームが読み出されます。 フレーム バッファーでは、 読み出

しの始めのダ ミー データ となる 1 フレームが必要です。 また、 SelectMAP x8 モードでは 1ワードが余分に読み出されます。

9. デバイスにダ ミー ワードを 2 つ書き込み、 パケッ ト バッファーをフラ ッシュする。

8 書き込み 20000000 NOOP

9 書き込み 20000000 NOOP

10 読み出し SSSSSSSSデバイ スが STAT レジス タから 1 ワード をコン

フ ィギュレーシ ョ ン インターフェイスに書き込む

11 書き込み 30008001 タイプ 1、 CMD に 1 ワード書き込み

12 書き込み 0000000D DESYNC コマンド

13 書き込み 20000000 NOOP

14 書き込み 20000000 NOOP

表 6-1 : ステータス レジスタのリードバック コマンド シーケンス (SelectMAP) (続き)

手順SelectMAP

ポートの方向

コンフ ィギュ

レーシ ョ ン データ

説明

Page 135: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 135UG470 (v1.9) 2014 年 11 月 14 日

リードバック コマンド シーケンス

10. SelectMAP インターフェイスから FDRO レジスタを読み出す。 FDRO 読み出し長は上記の手

順 9 と同じ式で求めます。

11. NOOP コマンドを 1 つ書き込む。

12. START コマンドを書き込み、 NOOP コマンドを 1 つ書き込む。

13. RCRC コマンドを書き込み、 NOOP コマンドを 1 つ書き込む。

14. DESYNC コマンドを書き込む。

15. 低 64 ビッ トの NOOP コマンドを書き込み、パケッ ト バッファーをフラ ッシュする。DONEが High になるまで CCLK パルスの送出を続ける。

表 6-2 に、 リードバッ ク コマンド シーケンスを示します。

表 6-2 : SHUTDOWN 命令のリードバック コマンド シーケンス (SelectMAP)

手順 SelectMAP ポートの方向コンフ ィギュレーシ ョ ン

データ説明

1 書き込み

FFFFFFFF ダ ミー ワード

000000BB バス幅同期ワード

11220044 バス幅検出

FFFFFFFF ダ ミー ワード

AA995566 同期ワード

2 書き込み 02000000 タイプ 1、 NOOP ワード 0

3 書き込み

30008001 タイプ 1、 CMD に 1 ワード書き込み

0000000B SHUTDOWN コマンド

02000000 タイプ 1、 NOOP ワード 0

4 書き込み

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000007 RCRC コマンド

20000000 タイプ 1、 NOOP ワード 0

5 書き込み

20000000 タイプ 1、 NOOP ワード 0

20000000 タイプ 1、 NOOP ワード 0

20000000 タイプ 1、 NOOP ワード 0

20000000 タイプ 1、 NOOP ワード 0

20000000 タイプ 1、 NOOP ワード 0

6 書き込み

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000004 RCFG コマンド

20000000 タイプ 1、 NOOP ワード 0

7 書き込み30002001 タイプ 1、 FAR に 1 ワード書き込み

00000000 FAR アドレス = 00000000

8 書き込み28006000 タイプ 1、 FDRO から 0 ワード読み出し

48024090 タイプ 2、 FDRO から 147,662 ワード読み出し

Page 136: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

136 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 6 章 : リードバックおよびコンフ ィギュレーシ ョ ンの検証

JTAG インターフェイスからコンフ ィギュレーシ ョ ン レジスタへのアクセス

JTAG から 7 シ リ ーズ FPGA のコンフ ィ ギュレーシ ョ ン ロジッ クにアクセスするには、 JTAGCFG_IN および CFG_OUT レジスタを使用します。 CFG_IN および CFG_OUT レジスタはコン

フ ィギュレーシ ョ ン レジスタではなく、BYPASS や BOUDARY_SCAN と同様の JTAG レジスタ

です。 CFG_IN にシフ ト したデータは、 コンフ ィ ギュレーシ ョ ン パケッ ト プロセッサに入り、

SelectMAP インターフェイスからのコマンド と同様に処理されます。

リードバッ ク コマンドは、 CFG_IN レジスタを介してコンフ ィギュレーシ ョ ン ロジッ クに書き込

まれ、 コンフ ィ ギュレーシ ョ ン メ モ リ は CFG_OUT レジス タから読み出されます。 表 6-3 に、

CFG_IN および CFG_OUT レジスタにアクセスする際の JTAG ステートの遷移を示します。

9 書き込み20000000 タイプ 1、 NOOP ワード 0

... タイプ 1、 NOOP ワード 0 をさ らに 31 回

10 読み出し

00000000パケッ ト データ、 FDRO から 0 ワード読み出し

( 初の 101 ワードはダ ミー フレーム)

...

00000000パケッ ト データ、 FDRO から 147661 ワード読

み出し

11 書き込み 20000000 タイプ 1、 NOOP ワード 0

12 書き込み

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000005 START コマンド

20000000 タイプ 1、 NOOP ワード 0

13 書き込み

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000007 RCRC コマンド

20000000 タイプ 1、 NOOP ワード 0

14 書き込み30008001 タイプ 1、 CMD に 1 ワード書き込み

0000000D DESYNC コマンド

15 書き込み20000000 タイプ 1、 NOOP ワード 0

20000000 タイプ 1、 NOOP ワード 0

表 6-2 : SHUTDOWN 命令のリードバック コマンド シーケンス (SelectMAP) (続き)

手順 SelectMAP ポートの方向コンフ ィギュレーシ ョ ン

データ説明

表 6-3 : JTAG CFG_IN および CFG_OUT 命令のシフ ト イン

手順 説明セッ ト /ホールド クロック数

(TCK)TDI TMS

1 5 ク ロ ッ クの間、 TMS に 1 を入力してデバイスを TLR ステート

にするX 1 5

2 RTI ステートに移行する X 0 1

3 SELECT-IR ステートに移行する X 1 2

4 SHIFT-IR ステートに移行する X 0 2

Page 137: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 137UG470 (v1.9) 2014 年 11 月 14 日

リードバック コマンド シーケンス

コンフ ィギュレーシ ョ ン レジスタの読み出し手順 (JTAG)

読み出し操作の中で も簡単なのは、COR0 や STAT レジスタなどのコンフ ィギュレーシ ョ ン レジ

スタに対する読み出しです。 レジスタによっては読み出しアクセスが行えないものもあ り ますが、

読み出しアクセス可能なレジスタは、 すべて JTAG インターフェイスから読み出すこ とができま

す。 JTAG インターフェイスから STAT レジスタを読み出すには、 次の手順に従います。

1. TAP コン ト ローラーを リセッ トする。

2. SHIFT-IR ステート中に、 CFG_IN 命令を JTAG 命令レジスタにシフ トする。 CFG_IN 命令の

LSB から順にシフ ト し、TAP コン ト ローラーが SHIFT-IR ステートから出る間に MSB をシフ

ト します。

3. SHIFT-DR ステート中に、 パケッ ト書き込みコマンドを CFG_IN レジスタにシフ トする。

a. デバイスに同期ワードを書き込む。

b. デバイスに NOOP コマンドを少なく と も 1 つ書き込む。

c. デバイスに 「STAT レジスタ読み出し」 パケッ ト ヘッダーを書き込む。

d. デバイスにダ ミー ワードを 2 つ書き込み、 パケッ ト バッファーをフラ ッシュする。

CFG_IN レジスタ経由で送信されたコンフ ィギュレーシ ョ ン パケッ トは、常に MSB から順に

送信する必要があ り ます。 LSB は、 TAP コン ト ローラーが SHIFT-DR ステートから出る間に

シフ ト します。

4. SHIFT-IR ステート中に、 CFG_OUT 命令を JTAG 命令レジスタにシフ トする。 CFG_OUT 命令の LSB から順にシフ ト し、 TAP コン ト ローラーが SHIFT-IR ステートから出る間に MSBをシフ ト します。

5. SHIFT-DR ステート中に、 ステータス レジスタから 32 ビッ ト をシフ トする。

6. TAP コン ト ローラーを リセッ トする。

5 CFG_IN または CFG_OUT 命令の 初の 5 ビッ ト を LSB から順

にシフ トする

00101 (CFG_IN)

0 500100

(CFG_OUT)

6 SHIFT-IR ステートから出る間に、 CFG_IN または CFG_OUT 命令の MSB をシフ トする

0 1 1

7 SELECT-DR ステートに移行する X 1 2

8 SHIFT-DR ステートに移行する X 0 2

9 SHIFT_DR ステートの間に、データを MSB から順に CFG_IN レジスタにシフ トする、 または CFG_OUT からシフ トする

X 0 X

10 SHIFT-DR ステートから出る間に LSB を シフ トする X 1 1

11 5 ク ロ ッ クの間、 TMS に 1 を入力して TAP を リセッ トする X 1 5

表 6-3 : JTAG CFG_IN および CFG_OUT 命令のシフ ト イン (続き)

手順 説明セッ ト /ホールド クロック数

(TCK)TDI TMS

Page 138: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

138 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 6 章 : リードバックおよびコンフ ィギュレーシ ョ ンの検証

JTAG CFG_IN レジスタにシフ ト したパケッ トは、SelectMAP から STAT レジスタを読み出す場合

に SelectMAP インターフェイスを介してシフ ト したパケッ ト と同一です。

表 6-4 : ステータス レジスタのリードバック コマンド シーケンス (JTAG)

手順 説明セッ ト /ホールド クロック数

(TCK)TDI TMS

1

5 ク ロ ッ クの間、 TMS に 1 を入力してデバ

イスを TLR ステートにするX 1 5

RTI ステートに移行する X 0 1

SELECT-IR ステートに移行する X 1 2

SHIFT-IR ステートに移行する X 0 2

2

CFG_IN 命令の 初の 5 ビッ ト を LSB から

順にシフ トする

00101

(CFG_IN)0 5

SHIFT-IR ステート から出る間に、 CFG_IN命令の MSB をシフ トする

0 1 1

SELECT-DR ステートに移行する X 1 2

SHIFT-DR ステートに移行する X 0 2

3

コンフ ィ ギュレーシ ョ ン パケ ッ ト を MSBから順に CFG_IN データ レジスタにシフ ト

する

a : 0xAA995566

b : 0x20000000

c : 0x2800E001

d : 0x20000000

e : 0x20000000

0 159

SHIFT-DR ステートから出る間に、 後のコ

ンフ ィギュレーシ ョ ン パケッ トの LSB をシ

フ トする

0 1 1

SELECT-IR ステートに移行する X 1 3

SHIFT-IR ステートに移行する X 0 2

4

CFG_OUT 命令の 初の 5 ビッ ト を LSB から順にシフ トする

00100 (CFG_OUT)

0 5

SHIFT-IR ステー ト か ら出る間に、

CFG_OUT 命令の MSB をシフ トする0 1 1

SELECT-DR ステートに移行する X 1 2

SHIFT-DR ステートに移行する X 0 2

5

STAT レジスタの内容を CFG_OUT データ

レジスタからシフ トする0xSSSSSSSS 0 31

SHIFT-DR ステートから出る間に、STAT レジスタの 後のビッ ト を CFG_OUT データ

レジスタからシフ トする

S 1 1

SELECT-IR ステートに移行する X 1 3

SHIFT-IR ステートに移行する X 0 2

6 TAP コン ト ローラーを リセッ トする X 1 5

Page 139: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 139UG470 (v1.9) 2014 年 11 月 14 日

リードバック コマンド シーケンス

コンフ ィギュレーシ ョ ン メモリの読み出し手順 (1149.1 JTAG)

JTAG インターフェイスを利用して FDRO レジスタからコンフ ィギュレーシ ョ ン メモ リ を読み出

す手順は、 その他のレジスタから読み出す場合と基本的には同じです。 ただし、 フレーム ロジッ ク

に対応するための追加手順が必要になり ます。FDRO レジスタからのコンフ ィギュレーシ ョ ン デー

タはフレーム バッファーを通るため、 リードバッ ク データの 初のフレームは 「ダ ミー データ」

であ り、破棄する必要があ り ます (FDRI および FDRO レジスタの説明参照)。通常は、1149.1 JTAGリードバッ ク フローを推奨します。

1. TAP コン ト ローラーを リセッ トする。

2. CFG_IN 命令を JTAG 命令レジスタにシフ トする。 CFG_IN 命令の LSB から順にシフ ト し、

TAP コン ト ローラーが SHIFT-IR ステートから出る間に MSB をシフ ト します。

3. SHIFT-DR ステート中に、 パケッ ト書き込みコマンドを CFG_IN レジスタにシフ トする。

a. デバイスにダ ミー ワードを書き込む。

b. デバイスに同期ワードを書き込む。

c. デバイスに NOOP コマンドを少なく と も 1 つ書き込む。

d. デバイスに RCRC コマンドを書き込む。

e. ダ ミー ワードを 2 つ書き込み、 パケッ ト バッファーをフラ ッシュする。

4. JSHUTDOWN 命令を JTAG 命令レジスタにシフ トする。

5. RTI ステートに移行し、シャ ッ ト ダウン シーケンスを完了するまで TCK の 12 サイ クル間、こ

の状態を維持する。 シャ ッ ト ダウン シーケンス中、 DONE ピンは Low になり ます。

6. CFG_IN 命令を JTAG 命令レジスタにシフ トする。

7. SHIFT-DR ステートに移行し、 パケッ ト書き込みコマンドを CFG_IN レジスタにシフ トする。

a. デバイスにダ ミー ワードを書き込む。

b. デバイスに同期ワードを書き込む。

c. デバイスに NOOP コマンドを少なく と も 1 つ書き込む。

d. 「CMD レジスタへの書き込み」 ヘッダーを書き込む。

e. デバイスに RCFG コマンドを書き込む。

f. 「FAR レジスタへの書き込み」 ヘッダーを書き込む。

g. 開始フレーム アドレスを FAR レジスタに書き込む (通常は 0x0000000)。

h. デバイスにタイプ 1 の 「FDRO レジスタの読み出し」 パケッ ト ヘッダーを書き込む。

i. タイプ 2 のパケッ ト ヘッダーを書き込み、 デバイスから読み出すワード数を宣言する。

j. デバイスにダ ミー ワードを 2 つ書き込み、 パケッ ト バッファーをフラ ッシュする。

CFG_IN レジスタ経由で送信されたコンフ ィギュレーシ ョ ン パケッ トは、常に MSB から順に

送信する必要があ り ます。 LSB は、 TAP コン ト ローラーが SHIFT-DR ステートから出る間に

シフ ト します。

8. SHIFT-DR ステート中に、 CFG_OUT 命令を JTAG 命令レジスタに シフ トする。 CFG_OUT 命令の LSB から順にシフ ト し、 TAP コン ト ローラーが SHIFT-IR ステートから出る間に MSB をシフ ト します。

9. SHIFT-DR ステート中に、 FDRO レジスタからのフレーム データをシフ トする。

10. TAP コン ト ローラーを リセッ トする。

Page 140: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

140 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 6 章 : リードバックおよびコンフ ィギュレーシ ョ ンの検証

表 6-5 : SHUTDOWN 命令のリードバック コマンド シーケンス (JTAG)

手順 説明セッ ト /ホールド クロック数

(TCK)TDI TMS

1

5 ク ロ ッ クの間、 TMS に 1 を入力してデバ

イスを TLR ステートにするX 1 5

RTI ステートに移行する X 0 1

SELECT-IR ステートに移行する X 1 2

SHIFT-IR ステートに移行する X 0 2

2

CFG_IN 命令の 初の 5 ビッ ト を LSB から

順にシフ トする00101 0 5

SHIFT-IR ステートから出る間に、 CFG_IN命令の MSB をシフ トする

0 1 1

SELECT-DR ステートに移行する X 1 2

SHIFT-DR ステートに移行する X 0 2

3

コンフ ィギュレーシ ョ ン パケッ ト を MSBから順に CFG_IN データ レジスタにシフ ト

する

a : 0xFFFFFFFF

b : 0xAA995566

c : 0x20000000

d : 0x30008001

e : 0x00000007

f : 0x20000000

g : 0x20000000

0 223

SHIFT-DR ステー ト から出る間に、 後の

コンフ ィ ギュレーシ ョ ン パケッ ト の LSBをシフ トする

0 1 1

SELECT-IR ステートに移行する X 1 3

SHIFT-IR ステートに移行する X 0 2

4

JSHUTDOWN 命令の 初の 5 ビ ッ ト を

LSB から順にシフ トする01101 0 5

SHIFT-IR ステー ト か ら出る間に、

JSHUTDOWN 命令の MSB をシフ トする0 1 1

5

RTI ステートに移行し、 TCK の 12 サイ ク

ル間、 その状態を維持するX 0 12

SELECT-IR ステートに移行する X 1 2

SHIFT-IR ステートに移行する X 0 2

6

CFG_IN 命令の 初の 5 ビッ ト を LSB から

順にシフ トする00101 0 5

SHIFT-IR ステートから出る間に、 CFG_IN命令の MSB をシフ トする

0 1 1

SELECT-DR ステートに移行する X 1 2

SHIFT-DR ステートに移行する X 0 2

Page 141: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 141UG470 (v1.9) 2014 年 11 月 14 日

リードバック データの検証

リードバック データの検証

「コンフ ィギュレーシ ョ ン メモ リの読み出し手順 (SelectMAP)」 で説明したよ うに、 リードバッ ク

データ ス ト リームは、 先頭に 1 フレームのパッ ド データがあ り、 その後にコンフ ィギュレーシ ョ

ン フレーム データが続く形で構成されています。リードバッ ク ス ト リームには、コンフ ィギュレー

7

コンフ ィギュレーシ ョ ン パケッ ト を MSBから順に CFG_IN データ レジスタにシフ ト

する

a : 0xFFFFFFFF

b : 0xAA995566

c : 0x20000000

d : 0x30008001

e : 0x00000004

f : 0x30002001

g : 0x00000000

h : 0x28006000

i : 0x48024090

j : 0x20000000

k : 0x20000000

0 351

SHIFT-DR ステー ト から出る間に、 後の

コンフ ィ ギュレーシ ョ ン パケッ ト の LSBをシフ トする

0 1 1

SELECT-IR ステートに移行する X 1 3

SHIFT-IR ステートに移行する X 0 2

8

CFG_OUT 命令の 初の 5 ビ ッ ト を LSBから順にシフ トする

00100 (CFG_OUT)

0 5

SHIFT-IR ステー ト か ら出る間に、

CFG_OUT 命令の MSB をシフ トする0 1 1

SELECT-DR ステートに移行する X 1 2

SHIFT-DR ステートに移行する X 0 2

9

FDRO レジス タの内容を CFG_OUT デー

タ レジスタからシフ トする… 0

リード バッ

ク のビッ ト

数 - 1

SHIFT-DR ステートから出る間に、FDRO レジスタの 後のビッ ト を CFG_OUT データ

レジスタからシフ トする

X 1 1

SELECT-IR ステートに移行する X 1 3

SHIFT-IR ステートに移行する X 0 2

10 TAP コン ト ローラーを TLR ステー ト にし

て完了するX 1 3

表 6-5 : SHUTDOWN 命令のリードバック コマンド シーケンス (JTAG) (続き)

手順 説明セッ ト /ホールド クロック数

(TCK)TDI TMS

Page 142: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

142 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 6 章 : リードバックおよびコンフ ィギュレーシ ョ ンの検証

シ ョ ン ビ ッ ト ス ト リームにある コマン ドやパケッ ト 情報は含まれておらず、 リードバッ ク中に

CRC の計算は行われません。 図 6-2 に、 リードバッ ク データ ス ト リームを示します。

リードバッ ク データ ス ト リームは、 デバイスにプログラムされた元のコンフ ィギュレーシ ョ ン フレーム データ と比較するこ とで検証されます。 ただし、 リードバッ ク データ ス ト リーム内のビッ

トによっては、 ブロ ッ ク RAM や分散 RAM、 SRL または DRP メモ リ などのユーザー メモ リ また

は NULL メモ リ位置に対応しているため、 比較できないものがあ り ます。 リードバッ ク データ スト リーム内の 「Don't Care」 ビ ッ ト の位置は、 MSK および MSD マスク ファ イルに示されていま

す。 これらのファイルは形式が異なり ますが、基本的に同一の情報が含まれます。 マスク ファ イル

の 1 は、Don't care ビッ ト となるべきビッ ト ス ト リームの位置を示します。デバイスから リードバッ

ク データを取得したら、 次のいずれかの方法で比較を実行します。

1. リードバッ ク データを基準となる RBD リードバッ ク ファ イルと比較し、 MSD ファ イルを使

用してマスク します (図 6-3 参照)。

も簡単な リードバッ ク データ ス ト リームの検証方法は、 MSD ファ イルをマスクに使用し、

基準となる RBD リードバッ ク ファ イルと比較する方法です。 この方法は、 リードバッ ク デー

タ ス ト リームの開始と RBD および MSD ファ イルの開始が 1:1 で対応しており、 リードバッ

ク、 マスク、 および予測されるデータの位置が合わせやすいため簡単です。

RBD および MSD ファ イルには、 リードバッ ク データ、 マスク データ、 およびファイル名の

一覧などを含むファ イル ヘッダーが ASCII 形式で含まれます。 このヘッダー情報は、 無視ま

たは削除して ください。 RBD および MSD ファ イル内の ASCII の 1 および 0 は、 デバイスか

ら取得した リードバッ ク データのバイナリ値に対応します。 これらのファ イルは、 バイナ リ

ソース と してではなく、 テキス ト ファ イルと して処理してください。 スク リプ ト またはテキス

ト エディ ターを使用して RBD および MSD ファ イルをバイナリ形式に変換する と、 システム

によっては検証過程が簡略化され、 1/8 までファイル サイズを縮小できます。

X-Ref Target - Figure 6-2

図 6-2 : リードバック データ スト リーム

Pad Frame

Frame DataTotal

Number ofDeviceFrames

1 Frame

Readback Data

UG470_c6_02_110513

Page 143: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 143UG470 (v1.9) 2014 年 11 月 14 日

リードバック データの検証

この方法のデメ リ ッ トは、 初のコンフ ィギュレーシ ョ ン ビッ ト ス ト リームおよび MSD ファ

イル以外に、 RBD ファ イルの格納場所が必要となるため、 全体的なス ト レージ容量が増える

点です。

2. リードバッ ク データをコンフ ィギュレーシ ョ ン BIT ファ イルと比較し、MSK ファ イルを使用

してマスク します (図 6-4 参照)。

も う 1 つの検証方法は、MSK ファ イルをマスクに使用し、 リードバッ ク データ ス ト リームと

元のコンフ ィギュレーシ ョ ン ビッ ト ス ト リームにある FDRI 書き込み内のフレーム データを

比較する という ものです。

デバイスにリードバッ ク コマンドを送信後、 リードバッ ク フレーム データの先頭と BIT およ

び MSK ファ イル内の FDRI 書き込みの先頭が位置合わせられ、 比較が開始します。 FDRI 書き込みの 後まで比較を行う と、 処理が完了します。

この方法では、 BIT ファ イルと MSK ファ イル、およびリードバッ ク コマンドのみを格納すれ

ばよいため、 システムで必要なス ト レージ容量を抑えるこ とができます。

X-Ref Target - Figure 6-3

図 6-3 : MSD および RBD ファイルを使用したリードバック データの比較

Pad Frame

Frame Data

Pad Frame

File Header

Frame DataMask

TotalNumber of

DeviceFrames

1 Frame

ReadbackData Stream

UG470_c6_03_110513

MSDFile

Pad Frame

File Header

Frame Data

RBDFile

Page 144: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

144 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 6 章 : リードバックおよびコンフ ィギュレーシ ョ ンの検証

RBA および RBB ファ イルには、 予測される リードバッ ク データ と一連のリードバッ ク コマ

ンドが含まれます。 これらのファ イルは、 MSK ファ イルと組み合わせて使用するためのもの

です。

リードバック キャプチャ

コンフ ィギュレーシ ョ ン メモ リの リードバッ ク コマンド シーケンスは、 リードバッ ク検証と リー

ドバッ ク キャプチャで基本的に同じです。 ただし、 リードバッ ク キャプチャの場合は、 内部レジ

スタ値をサンプリ ングする追加手順が必要です。

ブロ ッ ク RAM 出力と CLB および IOB レジス タ をサンプ リ ングするには、 デザイ ンで

CAPTUREE2 プ リ ミ テ ィブをインスタンシエー ト し、 デザインの動作中にそのプ リ ミ テ ィブの

CAP 入力をアサート します。 CAPTUREE2 CLK 入力の次の立ち上がりエッジで内部 GRDBK 信号がアサート され、 すべての CLB および IOB レジスタ値がコンフ ィギュレーシ ョ ン メモ リ セル

に格納されます。 これらの値は、 リードバッ クでコンフ ィギュレーシ ョ ン メモ リ を読み出すこ とに

よ り、 IOB および CLB コンフ ィギュレーシ ョ ン カラムと共にデバイスから読み出すこ とができま

す。 レジスタ値は、 レジスタの初期ステート設定をプログラムする メモ リ セルと同じセルに格納さ

れるため、 キャプチャ シーケンス後に 7 シ リーズ FPGA のコンフ ィギュレーシ ョ ン ロジッ クに

GRESTORE コマンドを送信する と、 レジスタが意図しないステートに戻る可能性があ り ます。

も う 1 つの方法と して、 GCAPTURE コマンドを CMD レジスタに書き込むこ とによ り、 GRDBK信号をアサートする こ と もできます。 このコマンドを使用する と、 GRDBK 信号は CCLK または

TCK (スタート アップ ク ロ ッ ク設定による) の 2 サイクル間アサート されます。

X-Ref Target - Figure 6-4

図 6-4 : MSK および BIT ファイルを使用したリードバック データの比較

Pad Frame

Frame Data

File Header

Frame DataMask

TotalNumber of

DeviceFrames

1 Frame

ReadbackData Stream

UG470_c6_04_110513

MSKFile

Commands Commands

Commands Commands

Pad Frame Pad Frame

File Header

Frame Data

BITFile

Page 145: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 145UG470 (v1.9) 2014 年 11 月 14 日

第 7 章

リコンフ ィギュレーシ ョ ンおよびマルチブート

この章では、 7 シ リーズでのビッ ト ス ト リーム全体のリ コンフ ィギュレーシ ョ ン方法について説明

します。

フォールバック マルチブート

概要

7 シ リーズ FPGA のマルチブートおよびフォールバッ クは、フ ィールドでのシステム アップグレー

ド をサポー トする機能です。 ビッ ト ス ト リーム イ メージは、 フ ィールドで動的に更新できます。

FPGA マルチブートは、 デバイスの実行中にイ メージを切り替える機能です。 マルチブート コン

フ ィギュレーシ ョ ンの実行時にエラーが検出される と FPGA はフォールバッ ク機能を開始し、正常

動作が確認済みのデザイン (ゴールデン イ メージ) をデバイスに読み込むこ とができます。

フォールバッ クが実行される と、 内部生成されたパルスによって、 専用のマルチブート ロジッ ク、

ウォーム ブート開始アドレス レジスタ (WBSTAR)、ブート ステータス (BOOTSTS) レジスタを除

く、 コンフ ィギュレーシ ョ ン ロジッ ク全体が リセッ ト されます。 この リ セッ ト で INIT_B および

DONE が Low にな り、 コンフ ィギュレーシ ョ ン メモ リがク リ アされ、 00 に駆動される リ ビジ ョ

ン セレク ト (RS) ピンでアドレス 0 からコンフ ィギュレーシ ョ ン プロセスが再開します。 リセッ ト

後、 ビッ ト ス ト リームは WBSTAR 開始アドレスを上書きします。

コンフ ィギュレーシ ョ ン中、次のエラーによってフォールバッ クが ト リガーされるこ とがあ り ます。

• IDCODE エラー

• CRC エラー

• ウォ ッチド ッグ タイマーのタイムアウ ト エラー

• BPI アドレス ラ ップアラウンド エラー

フォールバッ クは、 ビ ッ ト ス ト リ ーム オプシ ョ ンの ConfigFallback でも有効にでき ます。

フォールバッ ク リ コンフ ィギュレーシ ョ ン中は、 エンベデッ ド IPROG を無視します。 フォール

バッ ク リ コンフ ィギュレーシ ョ ン中は、 ウォ ッチド ッグ タイマーは無効です。 フォールバッ ク リコンフ ィギュレーシ ョ ンでエラーが発生する と、 コンフ ィギュレーシ ョ ンが停止し、 INIT_B およ

び DONE の両方が Low に維持されます。

信頼性の高いインシステム アップデート ソ リ ューシ ョ ンをインプ リ メ ン トするには、 いくつかの

点を事前に考えておく必要があ り ます。 まず、 システム セッ ト アップの方法を決定します。 次に、

使用するコンフ ィギュレーシ ョ ン モードに応じた設計上の注意点を考慮しておく必要があ り ます。

後に、HDL デザインに関する注意点も考慮して、ファ イルを正し く生成する必要があ り ます。 こ

の章では、 これらの各手順について説明します。

Page 146: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

146 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 7 章 : リコンフ ィギュレーシ ョ ンおよび マルチブート

マルチブートおよびフォールバッ ク機能はすべてのマスター コンフ ィギュレーシ ョ ン モードで使

用できます。 Virtex-7 HT FPGA の GTZ ト ランシーバーでは、 フォールバッ ク マルチブートはサ

ポート されていません。GTZ ト ランシーバーは、DRP を使用してマルチブート後にリ コンフ ィギュ

レーシ ョ ン可能です。

ゴールデン イメージを 初に読み込むシステムのセッ トアップ

電源投入時にアドレス 0 からゴールデン イ メージを読み込みます。 次に、 このデザインがマルチ

ブート イ メージの読み込みを開始します。 このよ う な方式は、 システム チェッ クを実行してから

ランタイム イ メージを読み込む場合に適しています。つま り、システムのチェッ ク /診断機能をゴー

ルデン イ メージに含めておき、 実際のシステムと しての動作はマルチブート イ メージに含めてお

きます。 電源投入時は、 常にゴールデン イ メージが読み込まれます。 このデザインが、 上位アドレ

ス空間からのブート を ト リ ガーします。 マルチブート イ メージは複数用意しておく こ とが可能で、

任意のデザインからほかのイ メージの読み込みを開始できます。 上位アドレス空間のマルチブート

イ メージを読み込み中にエラーが発生した場合は、 フォールバッ ク回路がアドレス 0 からゴールデ

ン イ メージの読み込みを開始します。

図 7-1 に、 初にゴールデン イ メージを使用するシステムのセッ ト アップ フローを示します。

ゴールデン イメージとマルチブート イメージの設計要件

ゴールデン イ メージおよびマルチブート イ メージには、 次のよ うな設計要件があ り ます。

• BPI モードでアドレス制御に RS[1:0] ピンを使用する場合を除いて、 ハード ウェアに関する特

別な要件はなし (詳細は、 「BPI - ハードウェア RS ピンの設計上の注意点」 セクシ ョ ン参照)

• IPROG コマンドは、次のコンフ ィギュレーシ ョ ン アドレス用にゴールデン イ メージに埋め込

まれるか、 または ICAPE2 を介してゴールデン イ メージ デザイン内にコードで発行される

• ビッ ト ス ト リームまたは ICAPE2 で、 WBSTAR レジスタにジャンプ先アドレスを指定する

• マルチブート イ メージは、フラ ッシュ内の WBSTAR レジスタで指定したアドレスに格納する

• プログラムが完了していないビッ ト ス ト リームから受信するため、ウォ ッチド ッグ タイマーを

有効にする

X-Ref Target - Figure 7-1

図 7-1 : 初にゴールデン イメージを使用するシステムのフロー図

Memory Map of Flash

Upper Address

Base Address

UG470_c8_01_110110

MultiBoot Image

BIT File Stored inUpper Address

Golden Image

BIT File Stored atAddress 0

Boot Golden Image

Power Up

Trigger MultiBoot

ConfigurationPasses?

No

Yes

Run MultiBoot Image

Page 147: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 147UG470 (v1.9) 2014 年 11 月 14 日

フォールバック マルチブート

マルチブート イメージを 初に読み込むシステムのセッ トアップ

電源投入時に上位アドレス空間からマルチブート イ メージを読み込みます。 このイ メージのコン

フ ィギュレーシ ョ ンが正常終了しなかった場合、 デバイスは自動的にフォールバッ クを開始し、 ア

ド レス 0 に格納されているゴールデン イ メージを読み込みます。 これによ り、 システムは問題の

あった BIT ファ イルをアップグレード して、次回の電源投入時には 新のイ メージからブートでき

ます。 アップグレード プロセスを実行したら、デザインは 新バージ ョ ンのイ メージの再読み込み

を開始できます。マルチブート イ メージの読み込みが正常終了しなかった場合は、 フォールバッ ク

ロジッ クがシステムを完全にリ カバリ し、 ゴールデン イ メージを読み込むよ うにします。 そして、

ゴールデン イ メージがフラ ッシュ内のエラーを修正し、マルチブート イ メージからのコンフ ィギュ

レーシ ョ ンが再開できるよ うにな り ます。

図 7-2 に、 初にマルチブート イ メージを使用するシステムのセッ ト アップ フローを示します。

初にマルチブート イメージを使用する場合の設計上の注意点

ゴールデン イ メージには、 次のよ うな設計上の注意点があ り ます。

• ビッ ト ス ト リームで WBSTAR にマルチブート イ メージの位置を指定する

• IPROG コマンドを挿入し、 電源投入時にマルチブート イ メージの読み込みを開始するよ うに

する

• コンフ ィギュレーシ ョ ン タイマーを有効にする

• ゴールデン イ メージがフラ ッシュを修復してマルチブート イ メージの読み込みを再開できる

場合は、 IPROG コマンドを発行するコードでインスタンシエート した ICAPE2 も含めるこ と

ができる

• BPI コンフ ィギュレーシ ョ ン モードの場合、 ゴールデン イ メージのフォールバッ クの読み込

みには常に非同期読み出しモードを使用する。このため、同期読み出しモードのビッ ト ス ト リー

ム設定 (BPI_sync_mode) は、ゴールデン イ メージのフォールバッ ク読み込み中は無視される。

したがって、CCLK 周波数のゴールデン イ メージ設定 (ConfigRate または ExtMasterCclk_en)は、 非同期読み出しのシステム機能で設定する必要がある

マルチブート イ メージには、 次のよ うな設計上の注意点があ り ます。

X-Ref Target - Figure 7-2

図 7-2 : 初にマルチブート イメージを使用するシステムのフロー図

Memory Map of Flash

Upper Address

Base AddressUG470_c8_02_110110

MultiBoot Image

BIT File Stored inUpper Address

Golden Image

BIT File Stored atAddress 0

Load MultiBoot

Power Up

Load Golden Image

ConfigurationPasses?

No

Yes

Run MultiBoot Image

Page 148: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

148 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 7 章 : リコンフ ィギュレーシ ョ ンおよび マルチブート

• ビッ ト ス ト リームで WBSTAR にマルチブート イ メージの位置を指定する

• コンフ ィギュレーシ ョ ン タイマーを有効にする

• マルチブート イ メージがフラ ッシュをアップグレード して、アップグレード済みマルチブート

イ メージの読み込みを再開できる場合は、 IPROG コマンドを発行するコードでインスタンシ

エート した ICAPE2 も含めるこ とができる

BPI - ハードウェア RS ピンの設計上の注意点

BPI モードの RS ピンは、上位アドレス ラインに接続された RS ピンのいずれか 1 つのプルアップ

抵抗で上位アドレス ビッ トに接続する必要があ り ます。このよ うなハード ウェア インプリ メンテー

シ ョ ンと した場合、システムは WBSTAR のアドレスを使用せず、 ビッ ト ス ト リーム オプシ ョ ンは

どのイ メージでも同一とな り ます。 詳細は、 149 ページの 「RS ピン」 を参照してください。

マルチブートおよびフォールバックの手順の詳細

FPGA マルチブートおよびフォールバッ ク イベン ト では、 FPGA のいくつかのコンフ ィギュレー

シ ョ ン コンポーネン ト を使用します。 こ こでは、 FPGA のマルチブート またはフォールバッ ク イベン トで使用するコンフ ィギュレーシ ョ ン コマンド、 レジスタ、 ビッ ト ス ト リーム設定、およびピ

ンについて説明します。

IPROG

IPROG (内部 PROGRAM) コマンドの機能は、PROGRAM_B ピンをパルスした場合とほぼ同じで

す。 基本的な違いは、 IPROG コマンドではマルチブート とフォールバッ クを開始するために使用

する WBSTAR、 TIMER、 およびその他の内部レジスタが消去されないという点です。 IPROG コマン ド を実行する と初期化が開始し、 このコマン ドの後にコンフ ィギュレーシ ョ ンを開始する と

INIT と DONE の両方が Low になり ます。

IPROG コマンドの実行方法は 2 通りあ り ます。 1 つは、 ユーザー ロジッ クで ICAPE2 を制御して

実行する方法です。 これによ り、 ユーザー ロジッ クはデバイス リ コンフ ィギュレーシ ョ ンを開始

できます。 も う 1 つは、 IPROG コマンドをビッ ト ス ト リーム生成でビッ ト ス ト リームに埋め込む

という方法です。 この場合、 WBSTAR と IPROG コマンドはゴールデン イ メージの BIT ファ イル

の先頭で設定します。 電源投入時、 デバイスはフラ ッシュから BIT ファ イルの読み出しを開始し、

WBSTAR レジスタ と IPROG コマンドを読み込みます。 IPROG コマンドによ り、デバイスは指定

されたアドレスから新しいイ メージの読み込みを開始します。 上位アドレス空間のイ メージに問題

がある場合は、ベース アドレスのイ メージが再び読み込まれます。 このよ うに、デバイスでエラー

が検出される と コンフ ィ ギュレーシ ョ ン コン ト ローラーは IPROG コマン ド をスキップします。

フォールバッ ク時には IPROG コマンドは処理されず、デバイスはゴールデン イ メージの読み込み

を継続します。 コンフ ィギュレーシ ョ ンに成功する と、 IPROG コマンドをデバイスに送信でき、 こ

れによってゴールデン イ メージがマルチブート イ メージからのコンフ ィギュレーシ ョ ンを開始し

ます。

WBSTAR レジスタ

WBSTAR (ウォーム ブート開始アドレス) レジスタには、 IPROG コマンドが送信された後にコン

フ ィギュレーシ ョ ン コン ト ローラーが使用するアドレスが格納されます。 これは、アドレスまたは

RS ピンの値のいずれかの形で指定できます。 このレジスタは、 ビッ ト ス ト リームまたは ICAPE2から値を格納できます。 ビッ ト ス ト リームでレジスタに値を設定しない場合、 デフォルト値の 0 が入り ます。 したがって、ゴールデン イ メージによって WBSTAR の値が設定され、マルチブート コンフ ィギュレーシ ョ ンが開始された後、マルチブート パターンによって WBSTAR がデフォルトで

0 にリセッ ト されます。

Page 149: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 149UG470 (v1.9) 2014 年 11 月 14 日

IPROG リコンフ ィギュレーシ ョ ン

電源投入時、 デバイスはフラ ッシュに読み出しコマンドを送信し、 その直後に開始アドレス 0 を送

り ます。 WBSTAR コマン ドが読み込まれ、 IPROG コマンドが送信される と、 コンフ ィギュレー

シ ョ ン コン ト ローラーは WBSTAR レジスタで指定されたアド レスからの読み出しコマンドを送

信します。

ウォッチド ッグ タイマー

ウォ ッチド ッグ タイマーには 2 つのモード (コンフ ィギュレーシ ョ ン モニターとユーザー ロジッ

ク モニター ) があ り、 どちらか一方を排他的にしか使用できません。

コンフ ィギュレーシ ョ ン モニター モードでは、 タイマー レジスタは BIT ファ イルで設定します。

このタイマーの値は、 ビッ ト ス ト リーム (こ こでタイマーの値を設定) のコンフ ィギュレーシ ョ ン、

および IPROG コマンドで開始されるその後のすべての読み込みで使用されます。 タイマー レジス

タはすべての BIT ファ イルで設定する必要があ り ます。

タイマー レジスタはビッ ト ス ト リームの先頭からカウン ト ダウンを開始し、 スタート アップ シー

ケンスが完了する と無効になり ます。 カウン ト値が 0 になる と、 フォールバッ クが開始します。 ス

タート アップ シーケンスは PLL Wait や DCI Match の設定によって開始を遅らせるこ とができる

ため、これらの遅延を想定する必要があ り ます。タイマー レジスタの動作周波数は約 65MHz です。

コンフ ィギュレーシ ョ ン ソースが無効、 または一部破損しているなどの理由でコンフ ィギュレー

シ ョ ンが開始されない、 または正し く開始されても完了しない場合、 十分な遅延を経た後デバイス

はウォッチド ッグ タイマーによってコンフ ィギュレーシ ョ ンが自動的に再試行されます。

RS ピン

多目的 RS ピンはデフォルトで無効になっています。 RS ピンは、 BPI またはマスター SelectMAPモードではフォールバッ ク中に Low 駆動しますが、SPI モードでは Low 駆動しません。マルチブー

ト イ メージを 初に読み込むシステムでは、 RS ピンをフラ ッシュの上位アドレス ビッ ト に接続

し、 プルアップ抵抗またはプルダウン抵抗で High または Low に固定します。電源投入時、 システ

ムは RS のプルアップ抵抗およびアドレス ラ インの接続によって定義された上位アドレス空間か

らブート します。 フォールバッ ク時には、 RS ピンが Low 駆動してアドレス 0 からブート します。

RS ピンはシステムで定義した上位アドレスに接続し、完全な BIT ファ イルを各メモ リ セグメン ト

に格納できるよ うにして ください。

IPROG リコンフ ィギュレーシ ョ ン

内部 PROGRAM_B (IPROG) コマンドは、 専用リ コンフ ィギュレーシ ョ ン ロジッ クを リセッ ト し

ない点を除き、 PROGRAM_B ピンのパルスと同様の機能があ り ます。 リ コンフ ィギュレーシ ョ ン

中は、デフォルトのアドレスではなく、WBSTAR (124 ページの 「ウォーム ブート開始アドレス レジスタ (10000)」 参照) で設定した開始アドレスが使用されます。 BPI および SPI モードでは、 デ

フォルト値は 0 です。 IPROG コマンドは、 ICAPE2 またはビッ ト ス ト リームを使用して送信でき

ます。 これらの使用方法については、 「ICAPE2 を使用した IPROG」 と 「ビ ッ ト ス ト リームへの

IPROG の埋め込み」 でそれぞれ説明します。 ICAPE2 インターフェイスは SelectMAP インター

フェイス と類似しているため、入力コンフ ィギュレーシ ョ ン バスにビッ ト スワップが必要です。詳

細は、 85 ページの 「パラレル バスのビッ ト順」 を参照して ください。 ICAPE2 の詳細は、 『VivadoDesign Suite 7 シ リ ーズ FPGA および Zynq-7000 All Programmable SoC ラ イブラ リ ガイ ド』

(UG953) を参照して ください。

Page 150: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

150 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 7 章 : リコンフ ィギュレーシ ョ ンおよび マルチブート

ICAPE2 を使用した IPROGIPROG コマンドは、 ICAPE2 プ リ ミ テ ィブを使用して送信できます。 コンフ ィギュレーシ ョ ンが

正し く 完了したら、 ユーザー デザイ ンで次のビ ッ ト ス ト リ ームの開始ア ド レ スが判断され、

WBSTAR レジスタの設定後に ICAPE2 を使用して IPROG コマンドを送信します。

コマンドのシーケンスは次のとおりです。

1. 同期ワードを送信する

2. WBSTAR レジスタに、 次のビッ ト ス ト リーム開始アドレスをプログラムする (124 ページの

「ウォーム ブート開始アドレス レジスタ (10000)」 参照)

3. IPROG コマンドを送信する

表 7-1 に、 ICAPE2 を使用した IPROG コマンドのビッ ト ス ト リーム例を示します。

コンフ ィギュレーシ ョ ン ロジッ クが IPROG コマンドを受信する と、FPGA で専用リ コンフ ィギュ

レーシ ョ ン ロジッ クを除くすべてがリセッ ト され、INIT_B および DONE ピンが Low になり ます。

FPGA ですべてのコンフ ィギュレーシ ョ ン メモ リがク リ アされる と、 INIT_B は再び High になり

ます。次に、WBSTAR の値がビッ ト ス ト リームの開始アドレス と して使用されます。WBSTAR で制御されるピンは、 コンフ ィギュレーシ ョ ン モードによって決定します。

表 7-1 : ICAPE2 を使用した IPROG のビッ トス ト リーム例

コンフ ィギュレーシ ョ ン データ (16 進数)(1) 説明

FFFFFFFF ダ ミー ワード

AA995566 同期ワード

20000000 タイプ 1、 NOOP

30020001 タイプ 1、 WBSTAR に 1 ワード書き込み

00000000 ウォーム ブート開始アドレス (目的のアドレスを読み込む)

30008001 タイプ 1、 CMD に 1 ワード書き込み

0000000F IPROG コマンド

20000000 タイプ 1、 NOOP

注記 :

1. 85 ページの 「パラレル バスのビッ ト順」 を参照して ください。

表 7-2 : 各コンフ ィギュレーシ ョ ン モードで WBSTAR によって制御されるピン

コンフ ィギュレーシ ョ ン モード WBSTAR で制御されるピン

マスター シ リ アル RS[1:0]

マスター SPI RS[1:0]、START_ADDR が SPI デバイスにシ リ アルに送信

される (1)

マスター BPI RS[1:0]、 A[28:00]

マスター SelectMAP RS[1:0]

JTAG RS[1:0]

スレーブ SelectMAP RS[1:0]

スレーブ シ リ アル RS[1:0]

注記 :

1. SPI 32 ビッ トのアドレス モードを使用し、 ICAPE2 で WBSTAR アドレスを設定している場合、 FPGA はSTART_ADDR[23:0] のよ うに 32 ビッ ト アドレスの上位 24 ビッ ト しか出力しません。 アドレスの下位 8ビッ トは常に FF と して読み出されます。

Page 151: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 151UG470 (v1.9) 2014 年 11 月 14 日

IPROG リコンフ ィギュレーシ ョ ン

SPI モード以外のコンフ ィ ギュレーシ ョ ン モードでは、 RS[1:0] は WBSTAR で制御されます。

START_ADDR フ ィールドは、BPI および SPI モードでのみコンフ ィギュレーシ ョ ンに影響を与え

ます。

図 7-3 について説明します。

1. CCLK 以外の BPI ピンはすべて多目的 I/O です。 コンフ ィギュレーシ ョ ンが完了する と

(DONE ピンが High になる)、 これらのピンはユーザー I/O とな り、 ユーザー ロジッ クで制御

するこ とで BPI フラ ッシュにアクセスし、 ユーザー データの格納やプログラムが可能にな り

ます。

2. この例では、 RS[1:0] は 2'b11 に設定されています。 IPROG リ コンフ ィギュレーシ ョ ン中、

RS[1:0] ピンは外部プルアップおよびプルダウン抵抗よ り も優先されます。 RS[1:0] の値は、

WBSTAR レジスタで任意の値を指定できます。

ビッ トス ト リームへの IPROG の埋め込み

WBSTAR および IPROG コマンドは、 ビッ ト ス ト リーム内に埋め込むこ とができます。 ゴールデ

ン ビッ ト ス ト リームはアドレス 0 に格納されます (BPI または SPI モードの場合)。 その後、 この

初のビッ ト ス ト リーム内の WBSTAR および IPROG コマンドを修正するこ とによ り、 新しいア

プリ ケーシ ョ ンのビッ ト ス ト リームをフラ ッシュに追加できます。 FPGA は、 この新しいビッ ト ス

ト リームを直接読み込みます。 新しいビッ ト ス ト リームでのコンフ ィギュレーシ ョ ンが正常終了し

なかった場合は、 フォールバッ ク機能によ り 初のビッ ト ス ト リームでコンフ ィギュレーシ ョ ンが

行われます ( 「フォールバッ ク マルチブート 」 参照)。 7 シ リーズ FPGA のすべてのビッ ト ス ト リー

ムにおいて、ザイ リ ンクス ツールは WBSTAR に対した空の書き込みおよび IPROG コマンド用の

プレース ホルダーを挿入します。 たとえば、 WBSTAR をユーザー定義の開始アドレスに変更する

こ と もできます (124 ページの「ウォーム ブート開始アドレス レジスタ (10000)」参照)。WBSTAR後の NULL コマンドは、下位 4 ビッ ト を 1111 とするこ とによ り、IPROG に変更できます (113 ペー

ジの 「コマンド レジスタ (00100)」 参照)。

図 7-4 に、 このよ うな使用モデルを示します。

X-Ref Target - Figure 7-3

図 7-3 : BPI モードでの IPROG

7 SeriesFPGA

D[15:00]

A[26:00]

FCS_B

BPI Flash

CS_B

ADDR[26:0]

DATA[15:0]

ADDR[28:27]

FPGA ActivelyDrives 2’b11

1’ b1

1’ b1

VCCO

WE_B

OE_BFOE_BFWE_BRS[1:0]

RS[1:0] RS[1:0]RS[1]

RS[0]

UG470_c7_01_062812

Page 152: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

152 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 7 章 : リコンフ ィギュレーシ ョ ンおよび マルチブート

フォールバックおよび IPROG リコンフ ィギュレーシ ョ ンに関連するステータス レジスタ

7 シ リーズ デバイスには、 コンフ ィギュレーシ ョ ン履歴を保存する BOOTSTS レジスタがあ り ま

す。 このレジスタは、 2 段 FIFO のよ うに動作します。 新のコンフ ィギュレーシ ョ ン ステータス

を Status_0 に格納する と、 Status_0 の現在の値が Status_1 にシフ ト し ます。 Valid_0 ビ ッ ト は、

Status_0 のほかのビッ トが有効であるかど うかを示します。 詳細は、 125 ページの 「ブート履歴ス

テータス レジスタ (10110)」 を参照してください。

表 7-3 ~表 7-5 に、 一般的な状況での BOOTSTS レジスタの値を示します。

X-Ref Target - Figure 7-4

図 7-4 : ビッ トス ト リームへの IPROG の埋め込み

Dummy

First Bitstream

Final Bitstream

Address = A1

Sync Word

WBSTAR = A1

IPROG Command

...

...

UG470_c7_02_101510

Dummy

Sync Word

WBSTAR = 0

NULL Command

...

...

7 SeriesFPGA

表 7-3 : 初のビッ トス ト リームのコンフ ィギュレーシ ョ ン後のステータス (エラーなし )

予約 WRAP_ERROR CRC_ERROR ID_ERROR WTO_ERROR IPROG FALLBACK VALID

Status_1 0 0 0 0 0 0 0 0

Status_0 0 0 0 0 0 0 0 1

表 7-4 : 初のコンフ ィギュレーシ ョ ンの後に IPROG が発生

予約 WRAP_ERROR CRC_ERROR ID_ERROR WTO_ERROR IPROG FALLBACK VALID

Status_1 0 0 0 0 0 0 0 1

Status_0 0 0 0 0 0 1 0 1

Page 153: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 153UG470 (v1.9) 2014 年 11 月 14 日

ウォッチド ッグ

ウォ ッチド ッグ

7 シ リーズ FPGA のウォ ッチド ッグは、 コンフ ィギュレーシ ョ ンの進行、 あるいは FPGA ロジッ

クにおけるユーザー ロジッ クの動作を監視する目的で使用できます。 ウォ ッチド ッグがタイム アウ トになる と、 コンフ ィギュレーシ ョ ン ロジッ クはフォールバッ ク ビッ ト ス ト リームを読み込み

ます。 詳細は、 「フォールバッ ク マルチブート 」 を参照してください。

ウォ ッチド ッグは専用の内部クロ ッ ク CFG_MCLK を分周したものを使用します。このクロ ッ クの

公称周波数は 65MHz です。 ク ロ ッ クは、 256 分周して供給されるため、 ウォ ッチド ッグのク ロ ッ

ク周期は約 4,000ns とな り ます。 ウォッチド ッグ カウンターは 30 ビッ ト幅のため、 タイマーを

大で約 4,230 秒までカウン ト できます。 この時間値はビッ ト ス ト リーム オプシ ョ ンで設定できま

す。

ウォ ッチド ッグは、 ビッ ト ス ト リームで有効にする方法と、任意のコンフ ィギュレーシ ョ ン ポート

から TIMER レジスタに書き込みを実行して有効にする方法があ り ます。 フォールバッ ク リ コン

フ ィギュレーシ ョ ン中とその完了後は、 ウォ ッチド ッグは無効です。 フォールバッ ク リ コンフ ィ

ギュレーシ ョ ンが成功した後に開始される IPROG リ コンフ ィギュレーシ ョ ンが正し く完了する

と、 ウォ ッチド ッグは再び有効になり ます。

コンフ ィギュレーシ ョ ン モニター モード

ウォ ッチド ッグを使用してビッ ト ス ト リーム コンフ ィギュレーシ ョ ンを監視するには、ビッ ト ス ト

リ ームで TIMER レジス タに書き込みを行 う 際に、 TIMER_CFG_MON を 1 に設定し、

TIMER_VALUE に目的の値を設定して ください。 TIMER_VALUE には、 スタート アップが完了

するまでの FPGA コンフ ィギュレーシ ョ ン全体の時間を十分にカバーできる値を指定する必要が

あ り ます。 スタート アップでの待機時間 (DCI の一致、 MMCM のロ ッ ク、DONE) も含めるよ う注

意して ください。

ウォ ッチド ッグ タイマーが有効になる と、カウン ト ダウンが開始します。 タイマーが 0 になっても

FPGA がスタート アップの 終状態に達していない場合、 ウォ ッチド ッグ タイムアウ ト エラーが

発生してフォールバッ ク コンフ ィギュレーシ ョ ンが開始します。

ウォ ッチド ッグは次のよ うな誤ったコンフ ィギュレーシ ョ ン動作を回避します。

• 無効な開始位置に対するコンフ ィギュレーシ ョ ン動作またはマルチブート動作

• 有効な開始位置に対するコンフ ィギュレーシ ョ ン動作またはマルチブート動作、 ただし不完全

または部分的に有効なコンフ ィギュレーシ ョ ン ビッ ト ス ト リームが読み込まれる

表 7-5 : 初のビッ トス ト リームに IPROG を埋め込み、 2 番目のビッ トス ト リームで CRC エラーが発生、 フォールバック

に成功した場合

予約 WRAP_ERROR CRC_ERROR ID_ERROR WTO_ERROR IPROG FALLBACK VALID

Status_1 0 0 1 0 0 1 0 1

Status_0 0 0 0 0 0 1 1 1

注記 :

1. Status_1 は、 IPROG が実行され、 そのビッ ト ス ト リームで CRC_ERROR が検出されたこ とを示しています。

2. Status_0 は、フォールバッ ク ビッ ト ス ト リームが問題なく読み込まれたこ とを示しています。 この場合、 フォールバッ ク ビッ ト ス ト リー

ムに IPROG コマンドが含まれているため、 IPROG ビッ ト もセッ ト されています。 フォールバッ ク実行時は IPROG コマンドは無視され

ますが、 ビッ ト ス ト リームにコマンドが含まれていたこ とが履歴に記録されます。

Page 154: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

154 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 7 章 : リコンフ ィギュレーシ ョ ンおよび マルチブート

ユーザー モニター モード

ウォ ッチド ッグを使用してユーザー ロジッ クを監視するには、ビッ ト ス ト リームで TIMER レジス

タに書き込みを行う際に、TIMER_USR_MON を 1 に設定し、TIMER_VALUE に目的の値を設定

して ください。 タイムアウ トが発生しないよ うにするため、 LTIMER コマンドを実行するか、 また

は TIMER レジス タに直接アクセス して定期的にカウンターを リ セ ッ ト する必要があ り ます。

ウォ ッチド ッグは、デバイスのシャ ッ ト ダウン、 または電源の切断 (シャ ッ ト ダウンを含む) 時に自

動的に無効とな り ます。

表 7-6 に、LTIMER コマンドを使用してウォッチド ッグのカウンターを リセッ トする場合のビッ ト

ス ト リーム例を示します。

表 7-7 に、 TIMER レジスタに直接アクセスする場合のビッ ト ス ト リーム例を示します。

表 7-6 : LTIMER を使用してウォッチド ッグのカウンターをリセッ トする場合のビッ トスト リーム例

コンフ ィギュレーシ ョ ン データ

(16 進数)(1)説明

FFFFFFFF ダ ミー ワード

AA995566 同期ワード

20000000 タイプ 1、 NOOP

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000000 NULL

20000000 タイプ 1、 NOOP

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000011 LTIMER コマンド

20000000 タイプ 1、 NOOP

30008001 タイプ 1、 CMD に 1 ワード書き込み

0000000D DESYNC

20000000 タイプ 1、 NOOP

注記 :

1. 85 ページの 「パラレル バスのビッ ト順」 を参照して ください。

表 7-7 : TIMER レジスタに直接アクセスする場合のビッ トス ト リーム例

コンフ ィギュレーシ ョ ン データ

(16 進数)(1) 説明

FFFFFFFF ダ ミー ワード

AA995566 同期ワード

20000000 タイプ 1、 NOOP

30022001 タイプ 1、 TIMER に 1 ワード書き込み

00000000 TIMER 値

20000000 タイプ 1、 NOOP

30008001 タイプ 1、 CMD に 1 ワード書き込み

Page 155: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 155UG470 (v1.9) 2014 年 11 月 14 日

サンプル デザイン

サンプル デザイン

マルチブートおよびリ コンフ ィギュレーシ ョ ンを使用するその他の例が次の資料に記載されてい

ます。

1. 『ク イ ッ クブート方式による FPGA デザインのリモート ア ッ プデート 』 (XAPP1081)

2. 『マルチブートおよび LogiCORE IP Soft Error Mitigation Controller の活用』 (XAPP733)

0000000D DESYNC

20000000 タイプ 1、 NOOP

注記 :

1. 85 ページの 「パラレル バスのビッ ト順」 を参照して ください。

表 7-7 : TIMER レジスタに直接アクセスする場合のビッ トス ト リーム例 (続き)

コンフ ィギュレーシ ョ ン データ

(16 進数)(1) 説明

Page 157: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 157UG470 (v1.9) 2014 年 11 月 14 日

第 8 章

リードバック CRC

ザイ リ ンクス 7 シ リーズ デバイスには、 ユーザー デザインのバッ クグランドで継続的にコンフ ィ

ギュレーシ ョ ン データのリードバッ クを実行する機能があ り ます。 この機能は、 コンフ ィギュレー

シ ョ ン メモ リのビッ ト をフ リ ップさせる SEU (Single Event Upset) を簡単に検出できるよ うにす

るもので、 SEU の修正など高度な処理を実行するための FRAME ECC 機能と組み合わせて使用で

きます。 SEU 軽減機能はザイ リ ンクスの Soft Error Mitigation IP (SEM IP) コアを使用してインプ

リ メ ン トするのが 適です。 この IP コアはjapan.xilinx.com/products/intellectual-property/SEM.htmから入手可能です。

リードバッ ク CRC を有効にするには、 CONFIG ユーザー制約の POST_CRC 属性を Enable に設

定します。 これを有効にする と、 コンフ ィギュレーシ ョ ン専用ロジッ クはバッ クグランドで継続的

にリードバッ クを実行し、コンフ ィギュレーシ ョ ン メモ リの内容の CRC チェッ クが実行されます。

周波数は CONFIG 制約の POST_CRC_FREQ で設定されます。

1 巡目のリードバッ クでは、 ECC SYNDROME ビッ ト を調整します。 2 巡目のリードバッ クでは、

CRC 値が後の比較に使用される基準値 と し て ラ ッ チされるか、 CONFIG 制約の

POST_CRC_SOURCE を PRE_COMPUTED に設定する値が供給されます。3 巡目以降の CRC はこの基準値と比較されます。 シングル ビ ッ ト またはダブル ビ ッ ト のエラーが検出される と、

ECCERROR がパルスされ、 SYNDROME、 SYNWORD、 SYNBIT、 ECCERRORSINGLE、およ

び FAR の情報が出力されます。 CRC の不一致が検出された場合は、 FRAME_ECCE2 プリ ミ ティ

ブの CRCERROR ピンが High 駆動されます (FRAME_ECCE2 プ リ ミ テ ィブの詳細は、 『VivadoDesign Suite 7 シ リ ーズ FPGA および Zynq-7000 All Programmable SoC ラ イブラ リ ガイ ド』

(UG953) 参照)。 その後、 INIT_B ピンは Low 駆動され、 DONE ピンは High を保持します。 オプ

シ ョ ン と して、 CONFIG ユーザー制約の POST_CRC_INIT_FLAG 属性を DISABLE に指定し、

INIT_B を リードバッ ク CRC のフラグと して使用しないよ う設定できます。 エラーが訂正されて

いない場合は、 次の比較までエラー フラグがアサート されたままになり ます。

ICAPE2 コマンド、 JTAG、 または SelectMAP を介してユーザー ロジッ クからコンフ ィギュレー

シ ョ ン ロジッ クへアクセスする と、 リードバッ ク CRC が停止してエラー フラグがク リ アされま

す。 ユーザーによるコンフ ィギュレーシ ョ ン ロジッ クへのアクセスが完了する と、 リードバッ ク

CRC は自動的に再開します。

CONFIG ユーザー制約の POST_CRC_ACTION を使用し、 エラーが検出された場合の対応を指定

でき ます。 オプシ ョ ンは、 Halt、 Continue、 Correct_And_Halt、 Correct_And_Continue です。

POST_CRC 制約の詳細は、 ISE ツールの場合は 『制約ガイ ド』 (UG625) を、 Vivado ツールの場合

は 『Vivado Design Suite プロパティ リ ファレンス ガイ ド』 (UG912) を参照してください。

Page 158: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

158 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 8 章 : リードバック CRC

SEU の検出

リードバッ ク CRC ロジッ クは、 次のよ うな条件で実行されます。

• DESYNC コマンドを使用してコンフ ィギュレーシ ョ ン処理を終了し、 コンフ ィギュレーシ ョ

ン ロジッ クをアクセス可能な状態にしておく こ と。 DESYNC コマンドが発行されない場合、

リードバッ ク CRC ロジッ クはコンフ ィギュレーシ ョ ン ロジッ クにアクセスできず、 実行され

ません。 DESYNC コマンドは CRC_ERROR フラグをク リ アします。

• JTAG 命令レジスタ (IR) にコンフ ィギュレーシ ョ ン命令 (CFG_IN、 CFG_OUT、 または

ISC_ENABLE) が含まれないこ と。 これらの命令が格納されている と、 リードバッ ク CRC ロジッ クはコンフ ィギュレーシ ョ ン ロジッ クにアクセスできず、 実行されません。 JTAG イン

ターフェイスを使用してコンフ ィギュレーシ ョ ンを実行する場合は、 コンフ ィギュレーシ ョ ン

の 後にこれら 3 つのコンフ ィギュレーシ ョ ン命令以外の値を IR に読み込む必要があ り ま

す。

バッ クグランドで実行される リードバッ クでは、 動作中に変更される次のメモリ位置はマスク され

ます。

• SLICEM LUT (RAM または SRL)

• ブロ ッ ク RAM の内容は、ユーザー ファンクシ ョ ンとの競合を回避するため、 リードバッ ク中

はスキップされます。ブロ ッ ク RAM は、その動作中に自身の ECC 回路でチェッ クがオプシ ョ

ンで行われます。

• DRP (ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート ) メモ リはマスク されます。

リードバッ ク CRC ロジッ クを有効にした場合、 コンフ ィ ギュレーシ ョ ンの完了後に次の条件が

揃っている とバッ クグランドで自動的にリードバッ ク CRC が実行されます。

• FPGA のスタート アップが正し く完了し、 DONE ピンが High になっている

• コンフ ィギュレーシ ョ ン インターフェイスの動作が適切な状態で停止している。通常のビッ ト

ス ト リームは 後に DESYNC コマンドがあ り、コンフ ィギュレーシ ョ ン インターフェイスに

対してインターフェイスがそれ以上使用されないこ とを通知する。

• JTAG インターフェイスを使用している場合、 JTAG 命令レジスタに CFG_IN、 CFG_OUT、または ISC_ENABLE が格納されていない。

表 8-1 に示すよ うに、 リードバッ ク CRC のクロ ッ ク ソースはモードによって異なり ます。

表 8-1 : リードバック CRC のクロック ソース

ICAPE2

プリ ミテ ィブ

STARTUPE2

プリ ミテ ィブ

POST_CRC_FREQ

コンフ ィギュ

レーシ ョ ン モード

CCLK POST_CRC クロック ソース

インスタンシエート

しているDon't Care Don't Care Don't Care Don't Care ICAPE2 の CLK 入力

インスタンシエート

していない

インスタンシエート し

ている、 USRCCLKO が接続されている

Don't Care Don't Care Don't CareSTARTUPE2

プリ ミ ティブの USRCCLKO 入力

インスタンシエート

していない

インスタンシエート し

ていない、 またはイン

スタンシエート してい

るが USRCCLKO を使

用していない

有効 Don't Care Don't Care内部オシレーター

POST_CRC_FREQ

で定義

Page 159: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 159UG470 (v1.9) 2014 年 11 月 14 日

SEU の訂正

JTAG は、 も優先度の高いコンフ ィギュレーシ ョ ン モードであるため、 必要な場合はコンフ ィ

ギュレーシ ョ ン バスを優先的に使用します。 JTAG コンフ ィギュレーシ ョ ンのみを実行する場合

は、 M[2:0] をマスター シ リ アル モードに設定するこ とを推奨します。 これによ り、 内部オシレー

ターから連続したク ロ ッ クが供給されます。 JTAG 命令レジスタが、 CFG_IN、 CFG_OUT、 また

は ISC_ENABLE 命令で停止しないよ うにしてください。

パーシャル リ コンフ ィギュレーシ ョ ン アプリ ケーシ ョ ンでは、 コンフ ィギュレーシ ョ ン メモ リの

内容が変更するため、 基準となる CRC を再計算する必要があ り ます。 FDRI へ書き込みを実行す

る と、 ハード ウェアの基準 CRC が自動的に再生成されます。

SEU の訂正

ユーザー制約の POST_CRC_ACTION で訂正を有効にしている場合、リードバッ ク CRC ロジッ ク

はシングル ビッ ト エラーを訂正します。 リードバッ ク中、各フレームに対して SYNDROME ビッ

トが計算されます。 シングル ビッ ト エラーが検出された場合は、 ただちに リードバッ クが停止し

ます。 エラーのあるフレームは再びリードバッ ク され、 SYNDROME 情報に基づいてエラー ビッ

ト を訂正した後でフレームに書き戻されます。POST_CRC_ACTION が Correct_And_Continue に設定されている場合は、 リ ー ド バ ッ ク ロ ジ ッ ク が 初のア ド レ スか ら開始し ます。

Correct_And_Halt オプシ ョ ンが設定されている場合は、 訂正後にリードバッ ク ロジッ クが停止し

ます。

インスタンシエート

していない

インスタンシエート し

ていない、 またはイン

スタンシエート してい

るが USRCCLKO を使

用していない

使用されない マスターEMCCLK が有効

(ExtMasterCclk_en)EMCCLK ピンの

入力

インスタンシエート

していない

インスタンシエート し

ていない、 またはイン

スタンシエート してい

るが USRCCLKO を使

用していない

使用されない マスターデフォルト (内部

オシレーター )

内部オシレーター

ConfigRate オプション

で定義される

マスター CCLK

インスタンシエート

していない

インスタンシエート し

ていない、 またはイン

スタンシエート してい

るが USRCCLKO を使

用していない

使用されない スレーブ 外部入力 CCLK ピン入力

インスタンシエート

していない

インスタンシエート し

ていない、 またはイン

スタンシエート してい

るが USRCCLKO を使

用していない

使用されない JTAG 使用されないクロ ッ クなし

(表下の説明参照)

表 8-1 : リードバック CRC のクロック ソース (続き)

ICAPE2

プリ ミテ ィブ

STARTUPE2

プリ ミテ ィブ

POST_CRC_FREQ

コンフ ィギュ

レーシ ョ ン モード

CCLK POST_CRC クロック ソース

Page 160: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

160 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 8 章 : リードバック CRC

次に、POST_CRC_ACTION が Correct_And_Continue に設定されている場合のハードウェア訂正

ロジッ クの動作をいくつかのシナリオ別に説明します。 まず、 リードバッ ク CRC が開始アドレス

からスキャンを開始します。

1. シングル ビッ ト エラーの場合

a. シングル ビッ ト エラーのあるフレームが読み出される と ECCERROR がアサート されて

訂正が開始します。エラー ビッ トが訂正される と、ECCERROR がディアサート されます。

b. CRCERROR をアサートせずに開始アドレスから RBCRC サイ クルを再開します。

2. シングル ビッ ト エラーのフレームが複数ある場合

a. シングル ビッ ト エラーのあるフレームが読み出される と ECCERROR がアサート されて

訂正が開始します。エラー ビッ トが訂正される と、ECCERROR がディアサート されます。

b. 開始アドレスから RBCRC サイクルが再開し、 別のシングル ビッ ト エラーがあるフレー

ムを読み出すまで継続します。

c. ECCERROR がアサート されて訂正が開始します。 エラー ビッ トが訂正された後に

ECCERROR がディアサート されます。

d. これ以上エラーがない場合は、 CRCERROR をアサートせずに開始アドレスから RBCRCサイクルを再開し、 通常どおりに継続します。

e. シングル ビッ ト エラーのあるフレームがさらに存在する場合は、 手順 b および手順 c を繰り返します。

3. 同じフレームに 2 つ以上のエラーがある場合

a. エラー ビッ トのあるフレームが読み出される と、 ECCERROR がアサート されます。

b. 内蔵のロジッ クは 1 フレーム内に 1 ビッ ト までのエラーしか訂正できないため、 RBCRCは引き続き次のフレームの リ ードバッ ク を実行し、 その時点のフレームに基づいて

ECCERROR の論理値を更新します。

c. RBCRC が 終アドレスに到達する と、 CRCERROR がセッ ト されます。

d. RBCRC サイクルは開始アドレスから再開し、 CRCERROR フラグはアサート されたまま

とな り ます。

e. この時点での RBCRC の動作は、 POST_CRC_ACTION 属性によって決ま り ます。

POST_CRC_ACTION についての注意事項

• Halt に設定した場合は、 初のエラーで RBCRC が停止して CRCERROR フラグをアサート

します。

• Continue に設定した場合は、 エラーが検出される と RBCRC が CRCERROR をアサート し、

個の状態を保持したまま開始アドレスから RBCRC を再開します。

• Correct_And_Halt に設定した場合は、 RBCRC がシングル エラー ビッ ト を訂正して RBCRCを停止し、 CRCERROR をアサート します。

• Correct_And_Continue に設定した場合は、 RBCRC がシングル エラー ビッ ト を訂正し、

CRCERROR をアサートせずに開始アドレスから RBCRC を再開します。

Page 161: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 161UG470 (v1.9) 2014 年 11 月 14 日

第 9 章

複数 FPGA のコンフ ィギュレーシ ョ ン

複数の FPGA が必要なアプリ ケーシ ョ ンでは、1 つのコンフ ィギュレーシ ョ ン ソースからすべての

デバイスをコンフ ィギュレーシ ョ ンできます。 同じコンフ ィギュレーシ ョ ン ファ イルを使用する

FPGA は、 ま とめて同時に読み込むこ とができます。個別のコンフ ィギュレーシ ョ ン ファ イルを使

用する FPGA は、 デイジー チェーンの FPGA 内蔵ロジッ クまたは外部ロジッ クを使用して順次読

み込むこ とができます。 この章では、 次について説明します。

• シ リ アル コンフ ィギュレーシ ョ ン モード

• 「シ リ アル デイジー チェーン コンフ ィギュレーシ ョ ン」

• 「ギャング シ リアル コンフ ィギュレーシ ョ ン」

• パラレル コンフ ィギュレーシ ョ ン モード

• 「複数デバイスの SelectMAP コンフ ィギュレーシ ョ ン」

• 「パラレル デイジー チェーン コンフ ィギュレーシ ョ ン」

• 「ギャング SelectMAP コンフ ィギュレーシ ョ ン」

シリアル デイジー チェーン コンフ ィギュレーシ ョ ン

複数の 7 シ リーズ デバイスをシ リ アル デイジー チェーン接続する と、1 つのコンフ ィギュレーシ ョ

ン ソースからコンフ ィギュレーシ ョ ンするこ とが可能になり ます。 シ リ アル デイジー チェーンで

は、 デバイスは DIN ピンでコンフ ィギュレーシ ョ ン データを取得し、 DOUT ピンから取得したコ

ンフ ィギュレーシ ョ ン データを下位デバイスへ伝搬します。 コンフ ィギュレーシ ョ ン データ ソー

スに も近いデバイスを 上位デバイス、 ソースから も遠いデバイスを 下位デバイス と呼びま

す。

シ リ アル デイジー チェーンでは、 デバイスはすべてスレーブ シ リ アル モード と して設定され、 コ

ンフ ィギュレーシ ョ ン ク ロ ッ クが外部から供給されます。図 9-1 に、 このコンフ ィギュレーシ ョ ン

を示します。

初のデバイスに SPI モードを使用する方法もあ り ます。 SPI モードの場合も、デイジー チェーン

のデータは DOUT から出力されます。 SPI デイジー チェーンはフォールバッ ク リ コンフ ィギュ

レーシ ョ ンをサポート していません。

Page 162: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

162 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 9 章 : 複数 FPGA のコンフ ィギュレーシ ョ ン

図 9-1 について説明します。

1. DONE ピンは、 外部プルアップ抵抗が必要なオープン ド レイン出力です。 このと き、 スレー

ブ シ リ アル デイジー チェーンのすべての DONE ピンが接続されている必要があ り ます。詳細

は、「シ リ アル デイジー チェーンのガイ ド ラインおよびデザインの考察」 を参照してください。

2. INIT_B ピンは双方向オープン ド レイン ピンで、 外部プルアップ抵抗が必要です。

3. ビッ ト ス ト リームのスタート アップ ク ロ ッ ク設定で、 CCLK をシ リ アル コンフ ィギュレー

シ ョ ンに設定する必要があ り ます。

シ リ アル デイジー チェーンの先頭のデバイスが 後にコンフ ィギュレーシ ョ ンされます。 CRCチェッ クでは、 現在作業中のデバイスのデータのみがチェッ ク され、 チェーンのほかのデバイスは

チェッ ク されません (第 5 章の 「CRC (Cyclic Redundancy Check) (手順 7)」 参照)。

チェーンの 後のデバイスがコンフ ィギュレーシ ョ ンを完了し、CRC チェッ クをク リ アする と、ス

タート アップ シーケンスが開始されます。 スタート アップ シーケンスの DONE ピンのリ リース段

階で、 チェーンの 後から 1 つ前のデバイスのコンフ ィギュレーシ ョ ン中に、 デバイスが DONEピンをハイインピーダンスにします。 すべてのデバイスが DONE ピンを リ リースした後、 共有し

ている DONE 信号は外部で High にプルアップ、 またはチェーンの 初のデバイスで High 駆動さ

れます。 すべてのデバイスは CCLK の次の立ち上がりエッジで DONE ピンの リ リースを停止し、

スタート アップ シーケンスを完了します。

混在シリアル デイジー チェーン

7 シ リーズ デバイスは、以前の Virtex および Spartan® ファ ミ リ とデイジー チェーンで接続できま

す。 デバイスが混在したシ リ アル デイジー チェーン接続では、 次の重要な項目を考慮する必要が

あ り ます。

X-Ref Target - Figure 9-1

図 9-1 : スレーブ シリアル モードのデイジー チェーン コンフ ィギュレーシ ョ ン

Page 163: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 163UG470 (v1.9) 2014 年 11 月 14 日

ギャング シリアル コンフ ィギュレーシ ョ ン

• 旧型デバイスの多くは、 7 シ リーズ デバイスが生成する高速な CCLK 周波数に対応できませ

ん。チェーン接続しているすべてのデバイスがサポート可能な CCLK 周波数を選択してくださ

い。

• 7 シ リーズ デバイスは常に、 シ リ アル デイジー チェーンの 初に配置し、 旧ファ ミ リのデバ

イスはチェーンの 後に配置して ください。

• すべての 7 シ リーズ デバイス ファ ミ リには、 類似したビッ ト ス ト リーム オプシ ョ ンがあ り ま

す。 7 シ リーズ FPGA のビッ ト ス ト リーム オプシ ョ ンのガイ ド ラインは、可能であれば、シ リ

アル デイジー チェーン接続されたすべてのデバイスに適用する必要があ り ます。

• デバイスが、DOUT ピンを通過させる こ とができるコンフ ィギュレーシ ョ ン ビッ ト数には制

限があ り、 7 シ リ ーズ デバイ スおよび Virtex-II 以降の Virtex デバイ スの制限は

4,294,967,264 ビ ッ ト です。 Spartan-6 および Spartan-3 世代デバイ スの制限は、

2,147,483,632 ビ ッ ト です。 下位デバイスすべてのビッ ト ス ト リーム長の合計は、 この制限

値を超えないよ うにして ください。

シリアル デイジー チェーンのガイド ラインおよびデザインの考察

こ こでは、 シ リ アル デイジー チェーンに関する考慮事項を説明します。

スタートアップ シーケンス (GTS)

GTS のリ リースは、 DONE のサイ クルよ り前または同じサイ クルで行い、すべての DONE ピンが

リ リースされたと きにデバイスが確実に動作を開始できるよ うにします。

すべての DONE ピンを接続

すべてのデバイスの DONE ピンは、 コンフ ィギュレーシ ョ ン エラーを回避するためにシ リ アル デイジー チェーンで接続する必要があ り ます。 デバッグを目的と して、 共有している DONE 信号か

ら DONE ピンを個別に未接続にする と非常に便利です。 デバッグ後には、 切り離されたデバイス

は、 シ リ アルまたは JTAG インターフェイスを使用して個別にコンフ ィギュレーシ ョ ン可能です。

DONE ピンの立ち上がり時間

すべての DONE ピンのリ リース後、 DONE ピンはロジッ ク 0 からロジッ ク 1 に立ち上がる必要が

あ り ます。 これには、外部プルアップ抵抗が必要です。 DONE 信号が立ち上がるために追加時間を

要する場合は、 シ リ アル デイジー チェーンのすべてのデバイスに donepipe オプシ ョ ンを設定し

て ください。 設定の詳細は、 『コマンド ラ イン ツール ユーザー ガイ ド』 (UG628) を参照して くだ

さい。

ギャング シリアル コンフ ィギュレーシ ョ ン

ギャング シ リ アル コンフ ィギュレーシ ョ ンを使用する と、 同じビッ ト ス ト リームから複数のデバ

イスを同時にコンフ ィギュレーシ ョ ンできます (図 9-2)。 この構成では、 シ リ アル コンフ ィギュ

レーシ ョ ン ピンを図のよ うに結束するため、各デバイスにおける信号遷移が同一になり ます。ギャ

ング シ リ アル コンフ ィギュレーシ ョ ンの場合、 すべてのデバイスが同一でなければなり ません。

コンフ ィギュレーシ ョ ンは外部のコンフ ィギュレーシ ョ ン コン ト ローラーで実行でき、フラ ッシュ

やほかのメモ リからビッ ト ス ト リームを読み出すこ とが可能です。

Page 164: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

164 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 9 章 : 複数 FPGA のコンフ ィギュレーシ ョ ン

図 9-2 について説明します。

1. DONE ピンは、 外部プルアップ抵抗が必要なオープン ド レイン出力です。

2. INIT_B ピンは双方向オープン ド レイン ピンで、 外部プルアップ抵抗が必要です。

3. スタート アップ ク ロ ッ ク設定で、 CCLK をシ リ アル コンフ ィギュレーシ ョ ンに設定する必要

があ り ます。

4. ギャング シ リ アル コンフ ィギュレーシ ョ ンでは、 すべてのデバイスが同一 (IDCODE が同じ )であ り、 1 つのビッ ト ス ト リームを使用してコンフ ィギュレーシ ョ ンする必要があ り ます。

ギャング シ リ アル コンフ ィギュレーシ ョ ンの場合、 考慮事項が多数あ り ます。

• スタート アップ シーケンス (GTS)

GTS のリ リースは、DONE ピンのサイクルよ り前または同一サイクルで行い、すべての DONEピンがリ リースされたと きにすべてのデバイスが確実に動作開始できるよ うにします。

• DONE ピンは未接続にできる

X-Ref Target - Figure 9-2

図 9-2 : ギャング シリアル コンフ ィギュレーシ ョ ン

Page 165: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 165UG470 (v1.9) 2014 年 11 月 14 日

複数デバイスの SelectMAP コンフ ィギュレーシ ョ ン

デバッグ目的の場合、共通の DONE 信号から DONE ピンを個別に未接続にする と非常に便利

です。すべての DONE ピンが High になるまで外部の CCLK ソースが ト グルを継続する場合、

すべてのデバイスをスレーブ シ リアル モードに設定する と、DONE ピンを未接続にできます。

• ボード レイアウ トでのクロ ッ ク信号と しての CCLK

CCLK 信号は比較的低速ですが、 7 シ リーズ FPGA の入力バッファーのエッジ レートは非常

に高速です。 CCLK 信号でわずかなシグナル インテグ リ テ ィの問題が発生しただけで、 コン

フ ィ ギュ レーシ ョ ンが正常に完了しない可能性があ り ます一般的なエラーの兆候と して、

DONE が Low であるにもかかわらず INIT_B が High になり ます。 したがって、 シグナル インテグ リ ティが重要となるデザインでは、 IBIS を使用したシグナル インテグ リ テ ィのシ ミ ュ

レーシ ョ ンなどの実行を推奨します。

• ギャング シ リ アル コンフ ィギュレーシ ョ ンの PROM ファ イル

ギャング シ リ アル コンフ ィギュレーシ ョ ンの PROM ファ イルは、 単一デバイスのコンフ ィ

ギュレーシ ョ ンに使用する PROM ファ イルと類似しています。 PROM ファ イルに関するガイ

ド ラインは特にあ り ません。

複数デバイスの SelectMAP コンフ ィギュレーシ ョ ン

スレーブ SelectMAP モードの複数の 7 シ リーズ デバイスは、 共通の SelectMAP バスに接続可能

です (図 9-3)。 SelectMAP バスでは、 DATA、 CCLK、 RDWR_B、 PROGRAM_B、 DONE、 およ

び INIT_B ピンがすべてのデバイスで共有されます。 各デバイスに個別にアクセスできるよ うにす

るには、 CSI_B (チップ セレク ト ) 入力を共有接続にしないでください。 CSI_B 信号の外部制御が

必要とな り、 通常、 これはマイクロプロセッサまたは CPLD によって提供されます。

コンフ ィギュレーシ ョ ン後にリードバッ クを実行する場合、 RDWR_B 信号を適切に使用してくだ

さい (詳細は、 第 6 章 「リードバッ クおよびコンフ ィギュレーシ ョ ンの検証」 参照)。 実行しない場

合は、 RDWR_B を Low に接続できます。 詳細は、 第 5 章の 「ビッ ト ス ト リームの読み込み (手順

4 - 7)」 および第 6 章 「リードバッ クおよびコンフ ィギュレーシ ョ ンの検証」 を参照してください。

Page 166: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

166 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 9 章 : 複数 FPGA のコンフ ィギュレーシ ョ ン

図 9-3 について説明します。

1. DONE ピンは、 外部プルアップ抵抗が必要なオープン ド レイン出力です。

2. INIT_B ピンは双方向オープン ド レイン ピンで、 外部プルアップ抵抗が必要です。

3. フォールバッ ク リ コンフ ィギュレーシ ョ ンはサポート されません。

4. スタート アップ ク ロ ッ ク設定で、 CCLK を SelectMAP コンフ ィギュレーシ ョ ンに設定する必

要があ り ます。

5. コンフ ィギュレーシ ョ ンを制御するため、マイ クロプロセッサまたは CPLD のよ うな外部コン

ト ローラーが必要です。

6. スレーブ SelectMAP の場合、 データ バスは x8、 x16、 または x32 が可能です。

パラレル デイジー チェーン コンフ ィギュレーシ ョ ン

7 シ リーズ FPGA のコンフ ィギュレーシ ョ ンでは、 パラレル デイジー チェーンがサポート されま

す。 図 9-4 は、 初のデバイスが BPI コンフ ィギュレーシ ョ ン モードである場合の例を示してい

ます。 初のデバイスは、 マスターあるいはスレーブ SelectMAP モードにできます。 すべてのデ

X-Ref Target - Figure 9-3

図 9-3 : 8 ビッ トの SelectMAP バスを使用した複数のスレーブ デバイス コンフ ィギュレーシ ョ ン

Page 167: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 167UG470 (v1.9) 2014 年 11 月 14 日

ギャング SelectMAP コンフ ィギュレーシ ョ ン

バイス間では、 D[15:00]、 CCLK、 RDWR_B、 PROGRAM_B、 DONE、 INIT_B ピンが共有接続

で、 CSI_B ピンはデイジー チェーン接続されています。

図 9-5 について説明します。

1. DONE ピンは、 外部プルアップ抵抗が必要なオープン ド レイン出力です。

2. INIT_B ピンは双方向オープン ド レイン ピンで、 外部プルアップが必要です。

3. スタート アップ ク ロ ッ ク設定で、 CCLK を SelectMAP コンフ ィギュレーシ ョ ンに設定する必

要があ り ます。

4. FCS_B、 FWE_B、 FOE_B、 CSO_B の弱いプルアップ抵抗は有効にします。 無効の場合は、

各ピンに対して外部にプルアップ抵抗が必要とな り ます。 デフォルトでは、 コンフ ィギュレー

シ ョ ン後、 多目的 I/O に弱いプルダウン抵抗が付きます。

5. チェーンの 初のデバイスは、 マスター SelectMAP、 スレーブ SelectMAP、 または BPI にで

きます。 それ以外のデバイスは、 スレーブ SelectMAP モードにします。

6. リードバッ クは、 パラレル デイジー チェーンではサポート されていません。

7. フォールバッ ク リ コンフ ィギュレーシ ョ ンはサポート されません。

ギャング SelectMAP コンフ ィギュレーシ ョ ン

ギャング SelectMAP コンフ ィギュレーシ ョ ンを使用して、 同じコンフ ィギュレーシ ョ ン ビッ ト

ス ト リームで複数のデバイスを同時にコンフ ィ ギュレーシ ョ ンする こ と もできます。 ギャング

SelectMAP コンフ ィギュレーシ ョ ンの接続では、 すべてのデバイスが D ピンに出力されるデー

タを認識できるよ うにするため、 複数デバイスの CSI_B ピンが共有接続 (または GND 接続) されます。

X-Ref Target - Figure 9-4

図 9-4 : パラレル デイジー チェーン

Page 168: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

168 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 9 章 : 複数 FPGA のコンフ ィギュレーシ ョ ン

図 9-5 に示すよ うに、 外部オシレーターがある場合は、 すべてのデバイスをスレーブ SelectMAPモードに設定できます。

図 9-5 について説明します。

1. 同期 SelectMAP モードはサポート されません。

2. フォールバッ ク リ コンフ ィギュレーシ ョ ンはサポート されません。

3. DONE ピンは、 外部プルアップ抵抗が必要なオープン ド レイン出力です。

4. INIT_B ピンは双方向オープン ド レイン ピンで、 外部プルアップ抵抗が必要です。

5. スタート アップ ク ロ ッ ク設定で、 CCLK を SelectMAP コンフ ィギュレーシ ョ ンに設定する必

要があ り ます。

X-Ref Target - Figure 9-5

図 9-5 : ギャング x8 SelectMAP コンフ ィギュレーシ ョ ン

Page 169: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 169UG470 (v1.9) 2014 年 11 月 14 日

ギャング SelectMAP コンフ ィギュレーシ ョ ン

共有している DONE 信号には外部のプルアップ抵抗が 1 つ必要です。 ファンアウ トが大き くなる

ため、 シグナル インテグ リ テ ィに十分注意した設計が必要です。 このため、 シグナル インテグ リ

ティのシ ミ ュレーシ ョ ンの実行を推奨します。

CSI_B 信号が共有接続されている と き、すべてのデバイスが同時にデータ信号を駆動するためリー

ドバッ クは実行できません。

Page 171: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 171UG470 (v1.9) 2014 年 11 月 14 日

第 10 章

アドバンス JTAG の使用法

はじめに

7 シ リーズ デバイスは IEEE Standard Test Access Port and Boundary-Scan Architecture (IEEE Std1149.1) および IEEE Boundary-Scan Standard for Advanced Digital Networks (IEEE 1149.6) をサ

ポート します。 Joint Test Action Group (JTAG) は、 この規格を制定した委員会のグループ名です。

この規格は、 個々のコンポーネン ト とそれらの接続のテス ト をボード レベルで行う ためのもので

す。 PC ボード層数の増加やボード表面へのマウン ト技術が一層高密度で高度になるにつれ、 バウ

ンダ リ スキャン テス トは重要なデバッグ用の規格と して広く使用されるよ うになっています。

バウンダ リ スキャン回路が組み込まれているデバイスでは、 I/O ピンにデータを送信し、ボード レベルでデバイス間の接続がテス トできます。 この回路は、 デバイス内部に信号を送ってその動作を

テス トするこ と も可能です。これらのテス トは、通常、ボードおよびデバイス レベルで断線やシ ョー

ト を検知するために実施されます。

バウンダ リ スキャンはテス ト用に使用するだけではなく、ユーザー定義の命令をデバイスに組み込

んで柔軟性を持たせるこ と もできます。 コンフ ィギレーシ ョ ンや検証などの特定ベンダー向けの命

令の追加によ り、 バウンダ リ スキャンのテス トおよびその機能の使用率は高まっています。

Boundary-Scan Description Language (BSDL) 準拠の場合、 PUDC_B を 0 に設定する必要があ り

ます。 PUDC_B を 1 に設定する と、 コンフ ィギュレーシ ョ ン前の弱いプルアップ抵抗が無効にな

り ます。

JTAG コンフ ィギュレーシ ョ ン/リードバック

TAP コン ト ローラーおよびアーキテクチャ

FPGA の TAP には、 IEEE で必須と指定されている 4 本の専用ピンがあ り ます (表 3-1 参照)。図 10-1 に、 標準的な JTAG アーキテクチャを示します。

Page 172: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

172 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 10 章 : アドバンス JTAG の使用法

図 10-2 に示すバウンダ リ スキャン タ ップ コン ト ローラーは、 16 ステートの有限ステート マシン

です。 4 本の TAP ピンが、 データがどのよ うに各レジスタにスキャンされるかを制御します。 ま

た、 TCK の立ち上がりエッジにおける TMS ピンの状態によって、 ステート移行のシーケンスが決

定します。主要なシーケンスは 2 つあり、1 つはデータをデータ レジスタにシフ トするシーケンス、

も う 1 つは命令を命令レジスタにシフ トするシーケンスです。

ステート間の遷移は、TCK の立ち上がりエッジでのみ発生し、ステートはすべて別のステート名に

なり ます。7 つのステートで成り立つ 2 つの列は、それぞれ命令パスとデータパスを示しています。

データ レジスタのステートには DR、命令レジスタのステートには IR が名前の後に付きますが、こ

れ以外の点ではどちらのステート も同じにな り ます。

各ステートの動作は、 次のよ うにな り ます。

• Test-Logic-Reset

このステートではすべてのテス ト ロジッ クが無効になり、 これによ り通常の IC の動作が有効

にな り ます。 TAP コン ト ローラーのステート マシンは、 コン ト ローラーの初期ステートに関

X-Ref Target - Figure 10-1

図 10-1 : 標準的な JTAG アーキテクチャ

Page 173: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 173UG470 (v1.9) 2014 年 11 月 14 日

JTAG コンフ ィギュレーシ ョ ン/リードバック

係なく、 TMS が High に保持される間に TCK が 5 回パルスする と、 Test-Logic-Reset ステー

トになるよ うに設計されています。 このため、 Test Reset (TRST) ピンはオプシ ョ ンです。

• Run-Test-Idle

このステートでは、 IC のテス ト ロジッ クが一部の命令のある場合にのみアクティブにな り ま

す。 たとえば、命令によ りセルフ テス トがアクティブになった場合、 コン ト ローラーがこのス

テートになる と IC のテス ト ロジッ クが実行されます。 それ以外の場合、 IC のテス ト ロジッ

クはアイ ドル状態になり ます。

• Select-DR-Scan

このステートでは、 データパスになるか、 Select-IR-Scan ステートになるかが制御されます。

• Select-IR-Scan

このステートでは、 命令パスにステート を移動するかど うかが制御されます。 命令パスになら

ない場合は、 コン ト ローラーは Test-Logic-Reset ステートに戻り ます。

• Capture-IR

このステートでは、命令レジスタのシフ ト レジスタ バンクが TCK の立ち上がりエッジで決定

したパターンの値をパラレルに読み込みます。 後 2 つの有効ビッ トは常に 01 になり ます。

• Shift-IR

このステートでは、命令レジスタが TDI および TDO 間で接続され、読み込まれたパターンが

TCK の立ち上がりエッジごとにシフ ト されます。 TDI ピンの命令も命令レジスタにシフ ト さ

れます。

• Exit1-IR

このステートでは、Pause-IR ステートになるか、Update-IR ステートになるかが制御されます。

• Pause-IR

このステートでは、 命令レジスタのシフ トが一時停止できるよ うになり ます。

• Exit2-DR

このステートでは、 Shift-DR ステートになるか、 Update-DR ステートになるかが制御されます。

• Update-IR

このステー ト では、 命令レジスタの命令が TCK の立ち下がりエッジご とに 命令レジスタの

ラ ッチ バンクに保存されます。 保存後、 この命令が現在の命令になり ます。

• Capture-DR

このステートでは、 データが TCK の立ち上がりエッジで現在の命令によって選択されたデー

タ レジスタにパラレルで読み込まれます。

• Shift-DR、 Exit1-DR、 Pause-DR、 Exit2-DR、 および Update-DR

これらのステートは、命令パスの Shift-IR、 Exit1-IR、 Pause-IR、 Exit2-IR、および Update-IRステート と類似しています。

Page 174: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

174 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 10 章 : アドバンス JTAG の使用法

7 シ リーズ デバイスは、 ザイ リ ンクス ベンダー固有のコマンドおよび必須となる IEEE Std 1149.1コマンドをサポート しています。これには、EXTEST、SAMPLE/PRELOAD、BYPASS、IDCODE、USERCODE、 HIGHZ 命令すべてが含まれます。 TAP は内部のユーザー定義のレジスタ (USER1、USER2、 USER3、 USER4) 、 そしてデバイスのコンフ ィギュレーシ ョ ン/ リードバッ クをサポート

します。 INTEST はサポート されません。

FPGA のバウンダ リ スキャンは、選択したモード とは関係なく動作します。ほかのモードを選択し

ても、 バウンダ リ スキャン モードが優先されます。 したがって、 バウンダ リ レジスタを使用する

バウンダ リ スキャン命令 (SAMPLE/PRELOAD および EXTEST) は、 コンフ ィギュレーシ ョ ン中

に実行しないでください。 デバイスのコンフ ィギュレーシ ョ ン前は、 ユーザー定義の命令以外の命

令が使用できます。 コンフ ィギュレーシ ョ ン後は、 すべての命令が使用可能です。

JSTART および JSHUTDOWN は、FPGA デバイスのアーキテクチャおよびコンフ ィギュレーシ ョ

ン フ ローでのみ使用される命令です。 7 シ リ ーズ デバイ スの場合、 TAP コ ン ト ローラーは

PROGRAM_B ピンではリセッ ト されず、 コン ト ローラーを TLR ステートにするこ とによっての

みリセッ トできます。5 ク ロ ッ クの間 TMS に 1 を入力して、確実にステート マシンが TLR ステー

トになるよ うにします。 また、 TAP コン ト ローラーは、 電源投入時にリセッ ト されます。

標準バウンダ リ スキャン命令の EXTEST および BYPASS の詳細は、 IEEE Std 1149.1 を参照して

ください。

X-Ref Target - Figure 10-2

図 10-2 : バウンダリ スキャンの TAP コン ト ローラー

Page 175: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 175UG470 (v1.9) 2014 年 11 月 14 日

JTAG コンフ ィギュレーシ ョ ン/リードバック

バウンダリ スキャン アーキテクチャ

7 シ リーズ デバイスのレジスタには、 IEEE Std 1149.1 で定められた必要なレジスタすべてが含ま

れています。 さ らに、 標準的なレジスタだけでなく、 簡易テス トや検証用のレジスタも備えていま

す (表 10-1 参照)。

バウンダリ レジスタ

テス ト で使用される主なレジスタは、 バウンダ リ レジスタです。 バウンダ リ スキャンの動作は、

個々の IOB コンフ ィギュレーシ ョ ンから独立しています。 各 IOB は、 ボンディングの接続にかか

わらず、 ト ラ イステート制御の双方向性 IOB です。 その後、 IOB はコンフ ィギュレーシ ョ ンされ

て、入力、出力、 ト ラ イステートのいずれかとなるため、各 IOB に次の 3 つのデータ レジスタ ビッ

トがあ り ます (図 10-1 参照)。

データ レジスタ (DR) の操作時、DR は CAPTURE-DR ステート中にパラレルでデータを取得しま

す。 SHIFT-DR ステート中にデータがシフ ト アウ ト され、 新しいデータが取得されます。 DR の各

ビッ トに対してアップデート ラ ッチを使用し、 次の SHIFT-DR ステート中に入力データをホール

ド します。その後、UPDATE-DR ステート中に TCK が Low 駆動する と、データがラ ッチされます。

TAP コン ト ローラーが UPDATE-DR ステートに移行する と、アップデート ラ ッチはオープンにな

り ます。EXTEST については、 このコマンドの実行前に適切なデータがラ ッチに記憶されているこ

とを確認して ください。 通常は、 SAMPLE/PRELOAD 命令を使用して確認できます。

表 10-1 : 7 シリーズ FPGA JTAG レジスタ

レジスタ名 レジスタ長 説明

バウンダ リ レジスタ 1 つの I/O につき 3 ビッ ト

入力、 出力、 出力イネーブル

の制御およびモニタ リ ングを

実行します。

命令レジスタ 6 ビッ ト (1)

現在の OPCODE 命令をホー

ルド し、 内部デバイスのス

テータスをキャプチャします。

詳細は、 表 10-3 を参照して く

ださい。

BYPASS レジスタ 1 ビッ ト デバイスをバイパスします。

デバイス ID レジスタ 32 ビッ ト デバイス ID を取得します。

JTAG コンフ ィギュレーシ ョ

ン レジスタ32 ビッ ト

CFG_IN または CFG_OUT 命令を使用中、 コンフ ィギュ

レーシ ョ ン バスへのアクセス

を可能にします。

USERCODE レジスタ 32 ビッ トユーザーがプログラム可能な

コードを取得します。

ユーザー定義のレジスタ (USER1、 USER2、 USER3、USER4)

デザインによって異なる デザインによって異なり ます。

注記 :

1. SSI テク ノ ロジ デバイス (7V2000T、 7VX1140T、 7VH580T、 7VH870T) では、 命令レジスタのサイズが

22 ビッ トから 38 ビッ トに拡大しています。 詳細は、 各デバイスの BSDL ファイルを参照してください。

Page 176: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

176 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 10 章 : アドバンス JTAG の使用法

断線およびシ ョート を検知するテス ト ベクターの作成時には、内部プルアップおよびプルダウン抵

抗を考慮して ください。 PUDC_B ピンによって、 IOB のプルアップ抵抗の有無が決定されます

図 10-3 に、 7 シ リーズ FPGA のバウンダ リ スキャン アーキテクチャを示します。

ビッ ト シーケンス バウンダリ スキャン レジスタ

このセクシ ョ ンでは、 TAP を除いた IOB の順序について説明します。 順序は 初に入力、 次に出

力、 後に ト ライステート IOB 制御です。 ト ラ イステート IOB 制御は、 も TDO に近い位置に

配置されています。 入力専用ピンは、 入力ビッ トのみをバウンダ リ スキャンの I/O データ レジス

タに送り ます。 デバイスのビッ ト シーケンスは、 7 シ リーズ ファ ミ リ用の BSDL ファ イルから取

得できます。 BSDL ファ イルは、 ザイ リ ンクスのダウンロード ページから入手可能であ り、 コン

フ ィギュレーシ ョ ンされていない FPGA を表しています。 ビッ ト シーケンスはデザインに影響さ

れるこ とはな く、 常に同一ビッ ト数で同一順序となっています。

FPGA コ ンフ ィ ギ ュ レーシ ョ ン後のバウ ンダ リ スキ ャ ン テス ト 用にザイ リ ン ク スの ISEBSDLAnno 機能を使用する と、 BSDL ファ イルが自動的に変更されて、 コンフ ィギュレーシ ョ ン

後のインターコネク ト テス ト を実行できます。 BSDLAnno ユーティ リ ティでは、 インプ リ メ ン ト

後のデザインから必要な FPGA デザインの情報が読み込まれ、コンフ ィギュレーシ ョ ン後のデバイ

スのバウンダ リ スキャン アーキテクチャに合わせた BSDL ファ イルが作成されます。詳細は、『コ

X-Ref Target - Figure 10-3

図 10-3 : 7 シリーズ FPGA バウンダリ スキャン ロジック

Page 177: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 177UG470 (v1.9) 2014 年 11 月 14 日

JTAG コンフ ィギュレーシ ョ ン/リードバック

マンド ライン ツール ユーザー ガイ ド』 (UG628) の 「BSDLAnno」 を参照してください。同様の機

能は、 Vivado ラボ ツールにもあ り ます。

命令レジスタ

7 シ リーズ デバイスの命令レジスタ (IR) は、 命令スキャン シーケンス中は TDI と TDO 間に接続

されます。 命令スキャン シーケンスの準備のため、 命令レジスタに固定の命令キャプチャ パター

ンがパラレルで読み込まれます。 このパターンは、命令が TDI から命令レジスタへシフ トする と き

に、 LSB から TDO にシフ ト します。

7 シ リーズ FPGA のバウンダ リ スキャン命令セッ トに不可欠な OPCODE を命令レジスタに読み

込ませるこ とで、実行する処理を決定します。モノ リ シッ ク 7 シ リーズ デバイスでは、IR は 6 ビッ

ト幅です。表 10-2 に、 7 シ リーズ デバイスで利用可能な命令を示します。 eFUSE 関連の JTAG 命令については、 第 5 章の 「JTAG 命令」 を参照して ください。

表 10-2 : 7 シリーズ FPGA バウンダリ スキャン命令

バウンダリ スキャン コマンド

バイナリ コード [5:0](1) 説明

EXTEST 100110 バウンダ リ スキャンの EXTEST を有効にします。

EXTEST_PULSE 111100ト ランシーバーのバウンダ リ スキャン EXTEST_PULSE を有効にします。

EXTEST_TRAIN 111101ト ランシーバーのバウンダ リ スキャン EXTEST_TRAIN を有効にします。

SAMPLE 000001 バウンダリ スキャンの SAMPLE を有効にします。

USER1 000010 ユーザー定義のレジスタ 1 にアクセスします。

USER2 000011 ユーザー定義のレジスタ 2 にアクセスします。

USER3 100010 ユーザー定義のレジスタ 3 にアクセスします。

USER4 100011 ユーザー定義のレジスタ 4 にアクセスします。

CFG_OUT 000100リードバッ クを行うため、 コンフ ィギュレーシ ョ

ン バスにアクセスします。

CFG_IN 000101コンフ ィギュレーシ ョ ンを行うため、 コンフ ィ

ギュレーシ ョ ン バスにアクセスします。

USERCODE 001000 ユーザー コードのシフ ト アウ ト を有効にします。

IDCODE 001001 ID コードのシフ ト アウ ト を有効にします。

HIGHZ 001010BYPASS レジスタを有効にし、 出力ピンを ト ライ

ステートにします。

JPROGRAM 001011 PROGRAM_B と同じで、 同様の効果があり ます。

JSTART 001100StartClk が TCK のと き、 スタート アップ シーケ

ンスにクロ ッ ク信号を供給します。

JSHUTDOWN 001101シャ ッ ト ダウン シーケンスにク ロ ッ クを供給し

ます。

Page 178: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

178 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 10 章 : アドバンス JTAG の使用法

表 10-3 に、 命令スキャン シーケンスの一部として IR に読み込まれる命令キャプチャ値を示します。

BYPASS レジスタ

も う 1 つの標準データ レジスタは、単一フ リ ップ フロ ップの BYPASS レジスタです。 このレジス

タは BYPASS 命令中に、 TDI ピンから TDO ピンにデータをシ リ アル転送します。 また、 TAP コン ト ローラーが CAPTURE-DR ステートになったと き、 0 に初期化されます。

デバイス ID (IDCODE) レジスタ

7 シ リーズ デバイスは、 IDCODE レジスタ と呼ばれる 32 ビッ トの識別レジスタを備えています。

IDCODE は、 IEEE Std 1149.1 に基づいたベンダー特有の固定値であ り、 デバイスの製造者および

XADC_DRP 110111

XADC DRP が JTAG を介してアクセスします。7 シ リーズについては、 『7 シ リーズ FPGA および Zynq-7000 All Programmable SoC XADC 12 ビッ

ト 1MSPS デュアル アナログ-デジタル コンバー

ター ユーザー ガイ ド』 (UG480) の 「DRP イン

ターフェイス」 を参照して ください。

ISC_ENABLE 010000ISC コンフ ィギュレーシ ョ ンの開始を示します。

完全なシャッ ト ダウンが実行されます。

ISC_PROGRAM 010001 インシステム プログラ ミ ングを有効にします。

XSC_PROGRAM_KEY 010010セキュ リティ ステータスを保護モードから非保護

モード (またはその逆) へ変更します。

XSC_DNA 010111 57 ビッ トの Device DNA の値を読み出します。

FUSE_DNA 110010 64 ビッ トの Device DNA の値を読み出します。

ISC_NOOP 010100 動作なし

ISC_DISABLE 010110ISC コンフ ィギュレーシ ョ ンが完了します。

スタート アップ シーケンスが開始されます。

BYPASS 111111 BYPASS を有効にします。

RESERVED その他すべての

コードザイ リ ンクスの予約命令です。

注記 :

1. SSI テク ノ ロジ デバイス (7V2000T、 7VX1140T、 7VH580T、 7VH870T) では、 命令レジスタのサイズが

大き くな り ます。 詳細は、 各デバイスの BSDL ファイルを参照してください。

表 10-2 : 7 シリーズ FPGA バウンダリ スキャン命令 (続き)

バウンダリ スキャン コマンド

バイナリ コード [5:0](1) 説明

表 10-3 : 7 シリーズ FPGA の命令スキャン シーケンスの一部として IR に読み込まれる命令キャプチャの値

TDI IR[5] IR[4] IR[3] IR[2] IR[1:0]→ TDO

DONE INIT(1) ISC_ENABLED ISC_DONE 0 1

注記 :

1. INIT は、 INIT_COMPLETE 信号のステータス ビッ トです。

2. SSI テク ノ ロジ デバイス (7V2000T、 7VX1140T、 7VH580T、 7VH870T) では、 命令レジスタのサイズが大き くな り ます。 詳細は、 各デ

バイスの BSDL ファイルを参照して ください。

Page 179: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 179UG470 (v1.9) 2014 年 11 月 14 日

JTAG コンフ ィギュレーシ ョ ン/リードバック

タイプを電子的に識別するものです。 このレジスタによ り、バウンダ リ スキャンを使用してテス ト

またはプログラムされたデバイスの識別が容易になり ます。 IDCODE 命令を使用する と、 この識別

コードの出力が可能です。

IDCODE レジスタの LSB ビッ トは、常に 1 です (JTAG IEEE 1149.1 に基づく )。 16 進数の 後の

3 文字は 0x093 とな り ます。

JTAG コンフ ィギュレーシ ョ ン レジスタ

JTAG コンフ ィギュレーシ ョ ン レジスタ は 32 ビッ ト レジスタです。 このレジスタによ り、 コン

フ ィギュレーシ ョ ン バスおよびリードバッ ク操作にアクセスできます。

USERCODE レジスタ

7 シ リーズ ファ ミ リは、 USERCODE 命令をサポート しています。 このレジスタによ り、 特定のデ

ザインに固有な識別コードのユーザー指定が可能とな り ます。 USERCODE はデバイスの中にプロ

グラムでき、後で検証のためにリードバッ クできます。 この USERCODE はビッ ト ス ト リームの生

成時にビッ ト ス ト リーム内に組み込まれ (UserID オプシ ョ ン)、 コンフ ィギュレーシ ョ ン後に有効

にな り ます。 デバイスが空、 または USERCODE がプログラムされていない場合の USERCODEレジスタ値は、 0xFFFFFFFF です。

USER1、 USER2、 USER3、 USER4 レジスタ

USER1、 USER2、 USER3、 および USER4 レジスタは、 コンフ ィギュレーシ ョ ン後にのみ有効に

なり ます。 これら 4 つのレジスタは、 ユーザーがデザインで定義する必要があ り ます。 これらのレ

ジスタへのアクセスは、 TAP ピンでの定義後に可能とな り ます。 これらのレジスタの作成には、

BSCANE2 ライブラ リ マクロが必要です。

BSCANE2 プリ ミテ ィブ

BSCANE2 プ リ ミ テ ィブは、 内部 FPGA ロジッ ク と JTAG バウンダ リ スキャン ロジッ ク コン ト

ローラー間のアクセスを可能にします。 これによ り、 FPGA 内部で動作するデザインは FPGA のJTAG 専用ピンであるテス ト アクセス ポート (TAP) と通信できるよ うにな り ます。 JTAG ピンに

内部からアクセスするには、 BSCANE2 プリ ミ テ ィブをインスタンシエートする必要があ り ます。

JTAG ピンから TAP コン ト ローラーへ直接アクセスする通常の JTAG 動作には、 BSCANE2 プリ

ミ テ ィブは必要あ り ません。 Vivado Logic Analyzer を使用する場合、 BSCANE2 は自動的にデザ

インに追加されます。 図 10-4 に BSCANE2 プリ ミ ティブを示します。

Page 180: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

180 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 10 章 : アドバンス JTAG の使用法

通常、 BSCANE2 のインスタンシエーシ ョ ンが必要となるのは、 FPGA ロジッ ク内部にプライベー

ト なスキャン レジスタを作成するアプリ ケーシ ョ ンの場合です。これらのスキャン レジスタは、通

常の JTAG バウンダ リ スキャンのよ うにバウンダ リ I/O ではな く、 FPGA ロジッ クを介して伝搬

します。 このプ リ ミ ティブの各インスタンスは、 JTAG USER 命令を 1 つサポート します。 複数の

インス タンシエーシ ョ ンは、 JTAG_CHAIN 属性で区別し ます。 4 つの USER 命令 (USER1 ~USER4) をすべて処理するには、 BSCANE2 プリ ミ ティブを 4 つインスタンシエート して、それぞ

れに異なる JTAG_CHAIN 属性を設定します。

SSI テク ノ ロジ デバイスの場合、 BSCANE2 をインスタンシエートできるのはマスター SLR のみ

です。 このエレ メン トは、 ツールによって自動的に正しい SLR に配置されます。 BSCANE2 プリ

ミ ティブによってアクセスできるのは、 マスター SLR の JTAG ポートのみです。

BSCANE2 プリ ミ ティブを使用して、JTAG TAP ポートのアクティビティを制御またはモニターす

るこ と もできます。 このプリ ミ ティブの TDO 入力信号は出力タイ ミ ング レジスタを通過し、 TCKの立ち下がりエッジでプ リ ミ テ ィブの TDO 入力信号をレジスタに読み込み、 USER 命令がアク

ティブになる と外部 TDO 出力ピンにこれを出力します。USER1 ~ USER4 のどの命令がアクティ

ブかは、対応するプリ ミ ティブの SEL 出力が High になるこ とで示されます。TAP コン ト ローラー

によって生成されたデータ レジスタ ク ロ ッ クには、 DRCK 出力からアクセスできます。 RESET、UPDATE、 SHIFT、 CAPTURE ピンはそれぞれ、 バウンダ リ スキャン内部ステート マシンの対応

する状態をデコード して表します。 TDI ポートには、 JTAG TAP の外部 TDI ピンからアクセスし

てデータ を内部スキャ ン チェーンにシフ ト 入力でき ます。 TCK および TMS ピン も、 同様に

BSCANE2 プリ ミ ティブを使用してモニターできます。

BSCANE2 シ ミ ュレーシ ョ ン モデルの詳細は、『ザイ リ ンクス合成およびシ ミ ュレーシ ョ ン デザイ

ン ガイ ド』 (UG626) のデザインのシ ミ ュレーシ ョ ンについて説明している第 6 章を参照して くだ

さい。

7 シリーズ デバイスでのバウンダリ スキャンの使用

図 10-5 に示す一般的なタイ ミ ング パラ メーターの特性評価データは、 7 シ リーズ データシート一

覧の該当データシートの表 「コンフ ィギュレーシ ョ ンのスイ ッチ特性」 に記載されています。

X-Ref Target - Figure 10-4

図 10-4 : BSCANE2 プリ ミテ ィブ

Page 181: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 181UG470 (v1.9) 2014 年 11 月 14 日

JTAG コンフ ィギュレーシ ョ ン/リードバック

スタート アップ シーケンス、 ビッ ト ス ト リーム、 内部コンフ ィギュレーシ ョ ン レジスタの詳細は、

第 9 章に記載されている適切なコンフ ィギュレーシ ョ ン シーケンスを参照してください。

バウンダリ スキャンによるコンフ ィギュレーシ ョ ン

バウンダ リ スキャンを利用したベンダー固有の命令と して もよ く使用されるものの 1 つに、コン

フ ィギュレーシ ョ ン命令があ り ます。 電源投入時に、 JTAG からデバイスをコンフ ィギュレーシ ョ

ンする場合は、 モード ピンをバウンダ リ スキャン コンフ ィギュレーシ ョ ン モード 「101 (M2 = 1、M1 = 0、 M0 = 1)」 に設定するこ とを推奨します。

図 10-6 に、JTAG を使用した FPGA コンフ ィギュレーシ ョ ンのフローを示します。後続のセクシ ョ

ンでは、バウンダ リ スキャンを用いてデバイスを 1 つのデバイス と してコンフ ィギュレーシ ョ ンす

る方法、 あるいは複数のデバイス スキャン チェーンの一部と してコンフ ィギュレーシ ョ ンする方

法について説明します。

X-Ref Target - Figure 10-5

図 10-5 : バウンダリ スキャン ポートのタイ ミング波形

Page 182: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

182 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 10 章 : アドバンス JTAG の使用法

コンフ ィギュレーシ ョ ンされたデバイスを リ コンフ ィギュレーシ ョ ンするには、 TAP を切り替え、

PROGRAM_B に信号供給後に CFG_IN 命令を入力するか、 シャ ッ ト ダウン シーケンスを開始し

て ください (図 10-6 参照)。

X-Ref Target - Figure 10-6

図 10-6 : デバイス コンフ ィギュレーシ ョ ンのフロー図

Page 183: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 183UG470 (v1.9) 2014 年 11 月 14 日

JTAG コンフ ィギュレーシ ョ ン/リードバック

単一デバイスのコンフ ィギュレーシ ョ ン

表 10-4 で、 7 シ リーズ デバイスのコンフ ィギュレーシ ョ ンに必要な TAP コン ト ローラ -のコマン

ドについて説明します。 TAP コン ト ローラーのステー ト は、 図 10-2 を参照して ください。 ISEiMPACT ツールまたは Vivado デバイス プログラマを使用してコンフ ィギュレーシ ョ ンする場合、

TAP コン ト ローラーのコマンドは自動的に実行されます。

表 10-4 : 単一デバイスのコンフ ィギュレーシ ョ ン シーケンス

TAP コン ト ローラーの状態セッ ト /ホールド クロック数

TDI TMS TCK

1.電源投入時に TMS をロジッ ク 1 にし、TCK ク ロ ッ クを 5 回入力する。 これによ り、 TLR (Test-Logic-Reset) ステートか

ら開始される

X 1 5

2. RTI ステートに移行する X 0 1

3. SELECT-IR ステートに移行する X 1 2

4. SHIFT-IR ステートに移行する X 0 2

5. LSB から順に JPROGRAM 命令を読み込む 01011(4) 0 5

6. IEEE 規格に従って、 SHIFT-IR の終了時に JPROGRAM の後のビッ ト MSB を読み込む

0 1 1

7. TMS をロジッ ク 1 にして TCK ク ロ ッ クを 5 回入力する。こ

れによ り、 TLR (Test-Logic-Reset) ステートから開始されるX 1 5

8. RTI ステートに移行する X 0 10,000(1)

9. LSB から順に CFG_IN 命令を読み込む 00101 0 5

10. IEEE 規格に従って、 SHIFT-IR の終了時に CFG_IN 命令の MSB を読み込む

0 1 1

11. SELECT-DR ステートに移行する X 1 2

12. SHIFT-DR ステートに移行する X 0 2

13. FPGA のビッ ト ス ト リームをシフ ト インする。 Bitn (MSB) はビッ ト ス ト リーム(2)の 初のビッ ト

bit1 ... bitn 0(ビッ ト ス ト リーム中

のビッ ト ) -1

14. ビッ ト ス ト リームの 後のビッ ト をシフ ト インする。 Bit0 (LSB) は、 EXIT1-DR ステートへの移行時にシフ トする

bit0 1 1

15. UPDATE-DR ステートに移行する X 1 1

16. RTI ステートに移行する X 0 1

17. SELECT-IR ステートに移行する X 1 2

18. SHIFT-IR ステートに移行する X 0 2

19. JSTART 命令の読み込みを開始する (オプシ ョ ン)。 JSTART 命令によってスタート アップ シーケンスが初期化される

01100 0 5

20. JSTART 命令の 後のビッ ト を読み込む 0 1 1

21. UPDATE-IR ステートに移行する X 1 1

22. RTI ステートに移行し、TCK ク ロ ッ クを 低 2000 回入力し

てスタート アップ シーケンスを開始させるX 0 2000

Page 184: 7 シリーズ FPGA コンフィギュレーション - Xilinx · 7 シリーズ FPGA コンフィギュレーション ユーザー ガイドjapan.xilinx.com UG470 (v1.9) 2014 年

184 japan.xilinx.com 7 シリーズ FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG470 (v1.9) 2014 年 11 月 14 日

第 10 章 : アドバンス JTAG の使用法

複数デバイスのコンフ ィギュレーシ ョ ン

複数の 7 シ リーズ デバイスを 1 つのチェーンで接続してコンフ ィギュレーシ ョ ンするこ と もできま

すJTAG チェーン内の複数のデバイスは 1 つずつコンフ ィギュレーシ ョ ンされます (図 10-7 参照)。複数デバイスのコンフ ィギュレーシ ョ ン手順は、 すべてのチェーン サイズで同様です。

TAP コン ト ローラーの手順は、 図 10-2 のステート図を参照してください。

1. 電源投入時に TMS をロジッ ク 1 にし、 TCK ク ロ ッ クを 5 回入力します。 これによ り、 TLR(Test-Logic-Reset) ステートから開始されます。

2. CFG_IN 命令をターゲッ ト デバイスに読み込みます (その他すべてのデバイスは BYPASS 命令)。 RTI ステートに移行します (RUN-TEST/IDLE)。

3. 表 10-4 の 13 ~ 17 の手順を実行し、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リームを読み込みま

す。

4. 各デバイスに対して手順 2 および手順 3 を繰り返します。

5. JSTART コマンドをすべてのデバイスに読み込みます。

6. RTI ステートに移行し、 TCK を 2000 回クロ ッ ク入力します。

この段階ですべてのデバイスはアクティブです。

23. TLR ステートに移行する。 デバイスが動作を開始する X 1 3

注記 :

1. この RTI ステートでは、 10ms 以上の待機時間が必要です。 この例では、 TCK サイクルの値は TCK の周波数 1MHz に基づいています。

2. コンフ ィギュレーシ ョ ン レジスタの場合、 右 (TDI) から左 (TDO) に MSB からデータがシフ ト します。 コンフ ィギュレーシ ョ ン レジス

タへのシフ トは、 その他のレジスタへのシフ ト とは異な り、 MSB 順とな り ます。

3. コンフ ィギュレーシ ョ ンされていない状態で開始する FPGA は、 リ コンフ ィギュレーシ ョ ンが必要であ り、 先行する JPROGRAM シー

ケンスを実行して以前のコンフ ィギュレーシ ョ ンをク リ ア、または JSHUTDOWN シーケンスを実行して FPGA をシャ ッ ト ダウンする必

要があ り ます。 JPROGRAM を使用して リ コンフ ィギュレーシ ョ ンする場合は、 JPROGRAM を読み込み、 次に BYPASS 命令を読み込

む必要があ り ます。 そして、 INIT ビッ トが 1 になるまで BYPASS 命令の読み込みをループ実行してから CFG_IN 命令を送信します。

4. SSI テク ノ ロジ デバイス (7V2000T、 7VX1140T、 7VH580T、 7VH870T) では、 命令レジスタのサイズが大き くな り ます。 詳細は、 各デ

バイスの BSDL ファイルを参照して ください。

表 10-4 : 単一デバイスのコンフ ィギュレーシ ョ ン シーケンス (続き)

TAP コン ト ローラーの状態セッ ト /ホールド クロック数

TDI TMS TCK

X-Ref Target - Figure 10-7

図 10-7 : 複数デバイスのバウンダリ スキャン チェーン