ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide,...

172
Spartan-6 FPGA コンフィギュレーション ユーザー ガイド UG380 (v2.2) 2010 7 30

Transcript of ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide,...

Page 1: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン

ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

Page 2: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com UG380 (v2.2) 2010 年 7 月 30 日

Xilinx is disclosing this user guide, manual, release note, and/or specification (the “Documentation”) to you solely for use in thedevelopment of designs to operate with Xilinx hardware devices. You may not reproduce, distribute, republish, download,display, post, or transmit the Documentation in any form or by any means including, but not limited to, electronic, mechanical,photocopying, recording, or otherwise, without the prior written consent of Xilinx. Xilinx expressly disclaims any liabilityarising out of your use of the Documentation. Xilinx reserves the right, at its sole discretion, to change the Documentationwithout notice at any time. Xilinx assumes no obligation to correct any errors contained in the Documentation, or to advise youof any corrections or updates. Xilinx expressly disclaims any liability in connection with technical support or assistance that maybe provided to you in connection with the Information.

THE DOCUMENTATION IS DISCLOSED TO YOU “AS-IS” WITH NO WARRANTY OF ANY KIND. XILINX MAKESNO OTHER WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THEDOCUMENTATION, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULARPURPOSE, OR NONINFRINGEMENT OF THIRD-PARTY RIGHTS. IN NO EVENT WILL XILINX BE LIABLE FOR ANYCONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOSS OFDATA OR LOST PROFITS, ARISING FROM YOUR USE OF THE DOCUMENTATION.

© Copyright 2009–2010 Xilinx, Inc. XILINX, the Xilinx logo, Virtex, Spartan, ISE, and other designated brands included hereinare trademarks of Xilinx in the United States and other countries. PCI, PCI Express, PCIe, and PCI-X are trademarks of PCI-SIG. All other trademarks are the property of their respective owners.

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

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

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

日付 バージ ョ ン 説明

2009 年 6 月 24 日 1.0 初版リ リース

Page 3: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

UG380 (v2.2) 2010 年 7 月 30 日 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

2010 年 2 月 17 日 2.0 この文書全体を通じて REBOOT コマンドを IPROG コマンドに変更。

第 1 章 : 「高速度を重視したオプシ ョ ン」 で、 コンフ ィギュレーシ ョ ン データのサイ

ズを 3.6Mb (XC6SLX16) に変更。 20 ページ の 「集積度の異なる FPGA への移行」

で、 必要なコンフ ィギュレーシ ョ ン メモ リのサイズを 2.6Mb (XC6SLX9) および 3.6Mb (XC6SLX16) に変更。 「不正な複製から FPGA ビッ ト ス ト リームの保護するに

は」 で、 Spartan-6 デバイスが AES 復号化ロジッ クを使用しているこ とを明示。

第 2 章 : 表 2-1 の後の 「注意」 を削除。 図 2-2、 図 2-3、 図 2-6、 図 2-7、 図 2-12、図 2-20 で、 VCCO_2 の抵抗を 2.4kΩ に変更。 VFS および VBATT ポート を追加。

SUSPEND ピンを追加。 それぞれの図の注記で、 末尾に 4 つの説明を追加。 図 2-2 および図 2-6 で、Spartan-6 FPGA VCCO_2 およびプラ ッ ト フォーム フラ ッシュ PROM VCCO 電源入力に関する注記から 「2.5V または 3.3V」 とい う記述を削除。 図 2-12 の注記 12 および 図 2-20 の注記 10 に PLL ロ ッ ク待機の記述を追加。 図 2-2 で、

PROGRAM_B のプルアップ電源を VCCO_2 に変更。 図 2-4 からスレーブ DIN を削

除。 「SelectMAP コンフ ィギュレーシ ョ ン インターフェイス」 の 初の段落に SelectMAP が使用できないデバイスに関する記述を追加。 表 2-3 の BUSY の説明にト

グルに関する記述を追加。 図 2-6 で、 PROGRAM_B に 4.7kΩ のプルアップ抵抗を追

加。 図 2-6 の注記 14 に BUSY の記述を追加。 図 2-7 の注記 2 に 「コンフ ィギュレー

シ ョ ン中」 の記述を追加。 表 2-6 および 表 2-7 の配置を変更。 表 2-6 で、 Winbond の SPI フラ ッシュの記述を削除。 「CSI_B」 の 初の段落を変更。 「RDWR_B」 を改訂。

図 2-9 の注記 1 で、 CSI_B が同期ワード中にディアサートできないこ とを明示。

図 2-12 で、 3.3V を VCCO_2 に変更。 「マスタ BPI コンフ ィギュレーシ ョ ン インター

フェイス」 で、 BPI インターフェイスがサポート されないデバイスおよびパッケージ

を更新、 CSG225 パッケージに A22 および A23 がないこ とを明示、 ト ップブート パラレル NOR フラ ッシュの記述を追加。 表 2-7 で、 HDC および LDC の説明から BYTE# ポートの記述を削除。 図 2-20 で、 VCCO_1 および BYTE# を VCCO_1 に接

続。 プルアップ抵抗を FCS_B、 FOE_B、 FWE_B に追加。 図 2-20 に注記 5 および 6 を追加。 「コンフ ィギュレーシ ョ ン ク ロ ッ ク (CCLK) のボード レイアウ ト 」 で、

CCLK に関してダブル ク ロ ッキングを回避するため反射が起きないよ うにする という

内容のメモを削除。

第 4 章 : 「ICAP_SPARTAN6」 の第 1 段落の末尾の文を変更。

「STARTUP_SPARTAN6」 の第 1 段落で、 EOS をコンフ ィギュレーシ ョ ンに変更。

第 5 章 : この章全体を通して、 ロ ッ ク状態の待機に DCM だけでなく PLL の記述も追

加。 表 5-1 で、 VFS、 VBATT、 RFUSE の行を追加、 メモ 4 を追加、 ピン名の CMP_CS_B を CMPCS_B に変更し、 関連する説明を更新。 「コンフ ィギュレーシ ョ ン

中の FPGA I/O ピンの設定」 を第 1 章から、 「多目的コンフ ィギュレーシ ョ ン ピン (Persist) の予約」 を第 2 章から移動。 「コンフ ィギュレーシ ョ ン中の FPGA I/O ピンの

設定」 で、 すべてのユーザー I/O ピンにオプシ ョ ンのプルアップ抵抗があるこ とを明

示。 表 5-2 でメモ 3 を追加。 表 5-3 で、 メモ 1 を追加し、 メモ 2 を改訂。 表 5-5 で、

「コンフ ィギュレーシ ョ ン ビッ トの総数」 列の値を変更。 「デバイスの電源投入 (手順 1)」 で、 第 2 段落および第 3 段落を変更、 第 4 段落に -4 の記述を追加。 表 5-11 で、

VFS および VCCO_5 を追加、 VFS および VBATT の説明を変更、 「値」 列および 「単

位」 列を削除、 メモ 1、 4、 5 を追加、 メモ 2 を更新して VFS の記述を追加。 図 5-4 の下の 2 番目の段落を変更。 「デバイス ID の確認 (手順 5)」 の 後の段落を変更。 「ス

タート アップ (手順 8)」 の 初の段落で、 シーケンシャル ステート マシンのクロ ッ ク

の記述を追加。 表 5-17 で、 DCM_LOCK の説明を改訂、 メモ 3 の記述を 「スタート

アップ (手順 8)」 の本文に移動。 表 5-17 の後に新しい段落を追加。 「暗号化キーの読み

込み」 で、 プログラ ミ ング ケーブルの種類を明示、 後の段落の末尾の文を変更。 「暗

号化されたビッ ト ス ト リームの読み込み」 の第 4 段落および第 5 段落の変更。

日付 バージ ョ ン 説明

Page 4: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com UG380 (v2.2) 2010 年 7 月 30 日

2010 年 2 月 17 日

(続き)

2.0 「eFUSE」 を追加。 表 5-22 で、 「ビッ ト総数」 列の値を変更。 表 5-30 で、

GENERAL2 および GENERAL4 の説明を改訂。 「ブート履歴ステータス レジスタ (BOOTSTS)」 で、 レジスタのリセッ ト方法の説明を変更。 表 5-48 で、 ビッ ト 2 およ

び 8 を 「予約済み」 に変更。 図 5-16 で、 DOUT と DIN の間にバッファを追加。

図 5-16 の前に、 新しいバッファに関する説明を追加。 「ビッ ト ス ト リーム圧縮」 を追

加。

第 6 章 : 第 1 段落を変更。 表 6-1 で、 手順 6 および 12 の 「コンフ ィギュレーシ ョ ン データ [15:0]」 の値を変更。 表 6-1 の下の 初の文で、 手順の番号を変更。 図 6-2 の前

の段落で、 SelectMAP のデータ順序に関する文を追加。 図 6-2 で、 タイ ミ ング図を変

更。

第 7 章 : 「マルチブートの概要」 で、 後の段落を変更、 「注意」 を削除。 「フォール

バッ ク動作」 で、 多くの記述を変更。 「ICAP_SPARTAN6 を使用した再起動」 で、

初の段落の 「次のビッ ト ス ト リーム」 を 「MultiBoot ビッ ト ス ト リーム」 に変更。 コマ

ンド シーケンスの手順 2 を変更。 表 7-1 で、 同期ワードの値を入れ替え、 「説明」 列の

記述を変更、 メモ 1 および 2 を追加。 「ウォ ッチド ッグ タイマ」 で、 始めの 3 つの段落

の 初の文を変更。

第 8 章 : 142 ページで、 1 番目の箇条書きのスライスをフレームに変更、 4 番目の箇条

書きを改訂、 ト ランシーバ DRP がマスク されないこ とを記述した箇条書きを削除。

第 9 章 : 表 9-1 を変更。

2010 年 2 月 22 日 2.1 「ビッ ト ス ト リーム暗号化」 で、 サポート されているデータ幅を x1 および x8 に変更。

「暗号化されたビッ ト ス ト リームの読み込み」 の第 3 段落で、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リームがデータ幅 x1 または x8 のコンフ ィギュレーシ ョ ン モードで提供で

きるこ とを明示。 SPI x2 および x4、 BPI x16、 SelectMAP x16 のバス幅は暗号化され

たビッ ト ス ト リームでサポート されていないこ とを明示。

日付 バージ ョ ン 説明

Page 5: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

UG380 (v2.2) 2010 年 7 月 30 日 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

2010 年 7 月 30 日 2.2 図 2-2、 図 2-3、 図 2-6、 図 2-7、 図 2-12、 図 2-20 で、 DONE および VCCO_2 間で接

続されるプルアップ抵抗の値を 2.4kW から 330W に変更。 図 2-3 および 図 2-6 で、

INIT_B および VCCO_2 間で接続されるプルアップ抵抗の値を 2.4kW から 4.7kW に変更。図 2-6 で、 RDWR_B および CSI_B ポート を FPGA (GND に接続) に追加。 「マスター モード」 に、 コンフ ィギュレーシ ョ ン ク ロ ッ ク周波数について記載した第二段

落および第三段落を追加。「SelectMAP コンフ ィギュレーシ ョ ン インターフェイス」に、

SelectMAP についての注意点を追加。表 2-3 の RDWR_B の項目で、VREF についての

記述を追加。 「CSI_B」 の 初の段落で、 CSI_B を同期ワードの途中にディアサート し

ないよ うにするこ とを記載。 「マスター BPI コンフ ィギュレーシ ョ ン インターフェイ

ス」 の第一段落で、 箇条書 き を追加 し て段落の構成を変更。 こ の箇条書 き で、

XC6SLX25/T デバイスから BPI コンフ ィギュレーシ ョ ン インターフェイスのサポート

が削除されたこ とを記載。 図 2-22、 図 2-23、 図 2-24 で、 「VCCO_0」 を 「VCCO_2」に変更。 「電源供給」 の第二段落を変更。 表 5-2 で、 「Suspend 機能が未使用の場合」 と

いう記述および注記 4 を追加。 「コンフ ィギュレーシ ョ ン ピン」 の第一段落で、 表の参

照先を表 5-4 から表 5-3 に変更。 表 5-3 のタイ トルに 「多目的」 を追加。 「デバイスの

電源投入 (手順 1)」 の第二段落で、 「LVCMOS25 8 mA SLOW」 を 「LVCMOS 8 mASLOW」 に変更。 表 5-12 で、 CCLK 出力遅延のシンボルを 「TICCK」 から 「TBPIICCKまたは TSPIICCK」 に変更し、 注記 2 を追加。図 5-4 に続く段落で、 「VPOR」 を 「推奨動

作電圧値」 に変更。「スタート アップ (手順 8)」 で、第四段落を追加して、LCK_CYCLEオプシ ョ ンを指定するこ とで DCM および PLL のスタート アップまで待機するこ とに

ついて記載。図 5-13 のタイ トルから 「DSP」 を削除。 117 ページの 「ビッ ト ス ト リーム

の圧縮」 に、 大きな利点について 3 つの箇条書きを追加。 「フォールバッ ク動作」 の第

一段落で、 「ウォーム ブート 」 を 「マルチブート 」 に変更。 「フォールバッ ク動作」 の第

四段落で、ビッ ト ス ト リームを自動的に生成する方法について記載。表 7-1 の注記 2 に文章を追加。 「LCK_Cycle に必要な追加のメモ リ空間」 のセクシ ョ ン タイ トルおよび

本文で、 「DCM_WAIT」 を 「LCK_Cycle」 に変更。 「POST_CRC_FREQ」 制約の記述

で、 リ ス ト されている可能な値から 「66」 を削除。 「構文例」 から NCF の構文例を削

除。図 9-4 で、「BPI UP」 を 「BPI」 に変更。図 9-4 についての説明の 7 項目目で、「BPIUP、 または BPI Down」 を 「または BPI」 に変更。

日付 バージ ョ ン 説明

Page 6: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com UG380 (v2.2) 2010 年 7 月 30 日

Page 7: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 7UG380 (v2.2) 2010 年 7 月 30 日

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

このユーザー ガイドについて内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13その他の資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13その他のリ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

第 1 章 : コンフ ィギュレーシ ョ ンの概要概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15設計に関する考慮事項. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

FPGA コンフ ィギュレーシ ョ ン データ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16マスター モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16スレーブ モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17JTAG 接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18基本的なコンフ ィギュレーシ ョ ン ソ リ ューシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18低コス ト を重視したソ リ ューシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19高速動作を重視したオプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19PCI リ ンクの有効化要件への準拠 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20単独および複数のコンフ ィギュレーシ ョ ン イ メージ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20マルチブート /セーフ アップデート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20I/O 電圧要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20不揮発性データの格納 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20集積度の異なる FPGA への移行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21製品寿命 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21不正な複製から FPGA ビッ ト ス ト リームを保護する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22同じコンフ ィギュレーシ ョ ン ビッ ト ス ト リームを複数の FPGA に読み込む . . . . . . . . . . . . .22

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

第 2 章 : コンフ ィギュレーシ ョ ン インターフェイスの基本JTAG インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23シ リアル コンフ ィギュレーシ ョ ン インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

マスター シ リ アル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26スレーブ シ リ アル コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27シ リ アル コンフ ィギュレーシ ョ ン データ タイ ミ ング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

SelectMAP コンフ ィギュレーシ ョ ン インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30単一デバイスの SelectMAP コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

プラ ッ ト フォーム フラ ッシュ PROM の SelectMAP コンフ ィギュレーシ ョ ン . . . . . . .32マイ クロプロセッサによる SelectMAP コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . .35

SelectMAP データ読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36CSI_B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36RDWR_B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37CCLK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37SelectMAP データの連続読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37SelectMAP データの不連続読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

SelectMAP のデータ順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40SPI コンフ ィギュレーシ ョ ン インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

マスター SPI ベンダー自動検出およびエラー処理機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46マスター SPI のタイ ミ ング波形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47マスター SPI デュアル (x2) およびクアッ ド (x4) 読み出しコマンド . . . . . . . . . . . . . . . . . . . .48パワーオン シーケンスに関する注意事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49SPI シ リアル デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50

目次

Page 8: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

8 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド UG380 (v2.2) 2010 年 7 月 30 日

マスター BPI コンフ ィギュレーシ ョ ン インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50パワーオン シーケンスに関する注意事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55

マスター モードの外部コンフ ィギュレーシ ョ ン ク ロ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56コンフ ィギュレーシ ョ ン ク ロ ッ ク (CCLK) のボード レイアウ ト . . . . . . . . . . . . . . . . . . . . . . . . . 57

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

概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61IEEE 1149.1 を使用した Spartan-6 デバイスのバウンダ リ スキャン . . . . . . . . . . . . . . . . . . . . . . . 61

テス ト アクセス ポート (TAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61バウンダ リ スキャン タイ ミ ング パラ メーター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62

Spartan-6 デバイスでのバウンダ リ スキャンの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . .63設計に関する考察事項. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

JTAG 信号の配線 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64電源供給 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65バウンダ リ スキャンによるコンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65

第 4 章 : ユーザー プリ ミテ ィブBSCAN_SPARTAN6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67ICAP_SPARTAN6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68STARTUP_SPARTAN6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69DNA_PORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69SUSPEND_SYNC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70POST_CRC_INTERNAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

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

コンフ ィギュレーシ ョ ン中の FPGA I/O ピンの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74多目的のコンフ ィギュレーシ ョ ン ピン (Persist) の予約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76

コンフ ィギュレーシ ョ ン データ ファ イルの形式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77ビッ ト ス ト リームの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

同期ワード /バス幅の自動検出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78PROM ファ イルの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

シ リ アル デイジー チェーン用の PROM ファ イル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79SelectMAP コンフ ィギュレーシ ョ ン用の PROM ファ イル . . . . . . . . . . . . . . . . . . . . . . . . . . .80SPI/BPI コンフ ィギュレーシ ョ ン用の PROM ファ イル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80ビッ トのスワップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80パラレル バスのビッ ト順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81

コンフ ィギュレーシ ョ ンの遅延 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82コンフ ィギュレーシ ョ ン シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

セッ ト アップ (手順 1 - 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83デバイスの電源投入 (手順 1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83コンフ ィギュレーシ ョ ン メモ リのク リ ア (手順 2、 初期化) . . . . . . . . . . . . . . . . . . . . . .85モード ピンのサンプル (手順 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86

ビッ ト ス ト リームの読み込み (手順 4 ~ 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86同期化 (手順 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86デバイス ID の確認 (手順 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87コンフ ィギュレーシ ョ ン データ フレームの読み込み (手順 6) . . . . . . . . . . . . . . . . . . . .88CRC (Cyclic Redundancy Check) (手順 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88スタート アップ (手順 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89

ビッ ト ス ト リーム暗号化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91AES の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92暗号化したビッ ト ス ト リームの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92暗号化キーの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92暗号化ビッ ト ス ト リームの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92

Page 9: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 9UG380 (v2.2) 2010 年 7 月 30 日

ビッ ト ス ト リームの暗号化および内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93

VBATT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93eFUSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

eFUSE レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94eFUSE 制御レジスタ (FUSE_CNTL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94

JTAG 命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96VFS ピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96RFUSE ピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97VCCAUX ピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97

コンフ ィギュレーシ ョ ン メモ リ フレーム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97コンフ ィギュレーシ ョ ン パケッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

パケッ トのタイプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98タイプ 1 パケッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99タイプ 2 パケッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99

コンフ ィギュレーシ ョ ン レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100CRC レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101FAR_MAJ レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102FAR_MIN レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102FDRI レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102FDRO レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102MASK レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102EYE_MASK レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102LOUT レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103CBC_REG レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103IDCODE レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103CSBO レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103コマンド レジスタ (CMD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103制御レジスタ 0 (CTL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104ステータス レジスタ (STAT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ (COR1 および COR2) . . . . . . . . . . . . .106サスペンド レジスタ (PWRDN_REG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107フレーム長レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108マルチフレーム書き込みレジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108コンフ ィギュレーシ ョ ン ウォ ッチド ッグ タイマー レジスタ . . . . . . . . . . . . . . . . . . . .108HC_OPT_REG レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108GENERAL レジスタ 1、 2、 3、 4、 および 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109MODE レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110CCLK_FREQ レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111PU_GWE レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111PU_GTS レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111ブート履歴のステータス レジスタ (BOOTSTS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111SEU_OPT レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112

ビッ ト ス ト リームの構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112デフォルトの初期コンフ ィギュレーシ ョ ン プロセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113Spartan-6 FPGA のデバイス固有 ID (Device DNA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

ID 値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114ID メモ リの仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115ID の拡張 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115JTAG によるデバイス ID へのアクセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116iMPACT によるデバイス ID へのアクセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .116

ビッ ト ス ト リームの圧縮 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

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

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

Page 10: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

10 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド UG380 (v2.2) 2010 年 7 月 30 日

リードバッ ク コマンド シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119SelectMAP インターフェイスからのコンフ ィギュレーシ ョ ン レジスタへのアクセス . . . . .120コンフ ィギュレーシ ョ ン レジスタの読み出し手順 (SelectMAP) . . . . . . . . . . . . . . . . . . . . . .120コンフ ィギュレーシ ョ ン メモ リの読み出し手順 (SelectMAP) . . . . . . . . . . . . . . . . . . . . . . .122JTAG インターフェイスからのコンフ ィギュレーシ ョ ン レジスタへのアクセス . . . . . . . . .124

コンフ ィギュレーシ ョ ン レジスタの読み出し手順 (JTAG). . . . . . . . . . . . . . . . . . . . . .126コンフ ィギュレーシ ョ ン メモ リの読み出し手順 (IEEE Std 1149.1 JTAG) . . . . . . . . .127

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

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

マルチブートの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135フォールバッ ク マルチブート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

フォールバッ ク動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136IPROG リ コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

ICAP_SPARTAN6 を使用した リブート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138フォールバッ クおよび IPROG リ コンフ ィギュレーシ ョ ンに関連する

ステータス レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139ウォッチド ッグ タイマー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140マルチブート イ メージ間に必要なデータ空間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

フラ ッシュ セクター、 ブロ ッ ク、 ページの境界 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140LCK_Cycle に必要な追加のメモ リ空間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141

第 8 章 : リードバック CRCPOST_CRC 制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

POST_CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144POST_CRC_INIT_FLAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145POST_CRC_ACTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145POST_CRC_FREQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145構文例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146

POST_CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146POST_CRC_INIT_FLAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146POST_CRC_ACTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146POST_CRC_FREQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146

第 9 章 : アドバンス コンフ ィギュレーシ ョ ンインターフェイス

シ リアル デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147混在シ リアル デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

シ リ アル デイジー チェーンのガイ ド ラインおよびデザインの考察 . . . . . . . . . . . . . . . . . . .149スタート アップ シーケンス (GTS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149アクティブ DONE ド ラ イバー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149すべての DONE ピンを接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149DONE ピンの立ち上がり時間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149ビッ ト ス ト リームのフォーマッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149

ギャング シ リ アル コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150複数デバイスの SelectMAP コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152パラレル デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153ギャング SelectMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154SelectMAP の ABORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

コンフ ィギュレーシ ョ ンの ABORT シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155リードバッ クの ABORT シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 ABORT ステータス ワード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156ABORT 後にコンフ ィギュレーシ ョ ンまたはリードバッ クを再開 . . . . . . . . . . . . . . . . . . . .157

SelectMAP リ コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Page 11: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 11UG380 (v2.2) 2010 年 7 月 30 日

第 10 章 : アドバンス JTAG コンフ ィギュレーシ ョ ン概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159JTAG コンフ ィギュレーシ ョ ン/ リードバッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

TAP コン ト ローラーおよびアーキテクチャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160バウンダ リ スキャン アーキテクチャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163

バウンダ リ スキャン レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163命令レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164BYPASS レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166ID (IDCODE) レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166JTAG コンフ ィギュレーシ ョ ン レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166USERCODE レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166USER1、 USER2、 USER3、 USER4 レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166

Spartan-6 デバイスでのバウンダ リ スキャンの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167バウンダ リ スキャンによるコンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . .167

スタート アップおよびシャッ ト ダウン シーケンス (JTAG) . . . . . . . . . . . . . . . . . . . . . . . . . .170

Page 12: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

12 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド UG380 (v2.2) 2010 年 7 月 30 日

Page 13: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 13UG380 (v2.2) 2010 年 7 月 30 日

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

このユーザー ガイ ドでは、 Spartan®-6 FPGA のコンフ ィ ギュレーシ ョ ンについて説明します。

Spartan-6 FPGA フ ァ ミ リ の 新の資料は、 ザイ リ ン ク スのウ ェブサイ ト

http://japan.xilinx.com/support/documentation/spartan-6.htm から参照できます。

内容

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

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

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

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

• 第 4 章 「ユーザー プリ ミ ティブ」

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

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

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

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

• 第 9 章 「アドバンス コンフ ィギュレーシ ョ ン インターフェイス」

• 第 10 章 「アドバンス JTAG コンフ ィギュレーシ ョ ン」

その他の資料

次の資料も、 http://japan.xilinx.com/support/documentation/spartan-6.htm からダウンロードできま

す。

• 『Spartan-6 ファ ミ リ概要』

Spartan-6 ファ ミ リのファ ミ リの特長と製品群の概要を説明しています。

• 『Spartan-6 FPGA データシート : DC 特性およびスイ ッチ特性』

Spartan-6 ファ ミ リの DC 特性およびスイ ッチ特性の仕様が記載されています。

• 『Spartan-6 FPGA パッケージおよびピン配置仕様』

デバイス /パッケージの組み合わせおよび 大 I/O 数の表、ピン定義、ピン配置表、ピン配置図、

機械的図面、 温度仕様が記載されています。

• 『Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド』

Spartan-6 の各デバイスで使用可能な SelectIO™ リ ソースについて説明しています。

Page 14: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

14 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

• 『Spartan-6 FPGA ク ロ ッ ク リ ソース ユーザー ガイ ド』

Spartan-6 の各デバイスで使用可能な DCM や PLL などのクロ ッキング リ ソースについて説

明しています。

• 『Spartan-6 FPGA ブロ ッ ク RAM リ ソース ユーザー ガイ ド』

Spartan-6 デバイスのブロ ッ ク RAM の機能について説明しています。

• 『Spartan-6 FPGA コンフ ィギャブル ロジッ ク ブロ ッ ク ユーザー ガイ ド』

Spartan-6 の各デバイスで使用可能なコンフ ィギャブル ロジッ ク ブロ ッ ク (CLB) の機能につ

いて説明しています。

• 『Spartan-6 FPGA メモ リ コン ト ローラー ユーザー ガイ ド』

Spartan-6 FPGA のメモリ コン ト ローラー ブロッ クについて説明しています。 メモ リ コン ト

ローラー ブロ ッ クは、 Spartan-6 FPGA と よ く使用する メモリ規格を接続する際のインター

フェイスを簡略化するエンベデッ ド マルチポート メモ リ コン ト ローラーです。

• 『Spartan-6 FPGA GTP ト ランシーバー ユーザー ガイ ド』

Spartan-6 LXT FPGA で使用可能な GTP ト ランシーバーについて説明しています。

• 『Spartan-6 FPGA DSP48A1 スライス ユーザー ガイ ド』

Spartan-6 FPGA の DSP48A1 スライスのアーキテクチャについて説明し、 コンフ ィギュレー

シ ョ ン例も記載しています。

• 『Spartan-6 FPGA PCB デザインおよびピン配置ガイ ド』

PCB およびインターフェイス レベルのデザインを決定する方法に焦点を当てた Spartan-6 デバイスの PCB デザイン情報を提供します。

• 『Spartan-6 FPGA パワー マネージメン ト ユーザー ガイ ド』

Spartan-6 デバイスでのハード ウェアによるさまざまなパワー マネージメン トについて、

Suspend モードに焦点をあてて説明しています。

その他のリソース

その他の資料は、 ザイ リ ンクスのウェブサイ ト を参照して ください。

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

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

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

http://japan.xilinx.com/support

Page 15: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 15UG380 (v2.2) 2010 年 7 月 30 日

第 1 章

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

概要

Spartan®-6 FPGA デバイスは、アプリ ケーシ ョ ン固有のコンフ ィギュレーシ ョ ン データ (ビッ ト ス

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

ンの方法は、 Spartan-6 FPGA 自身が外部不揮発性メモ リ デバイスからビッ ト ス ト リームを読み込

む方法と、マイ クロプロセッサ、DSP プロセッサ、マイ クロコン ト ローラー、PC、ボード テスター

などから読み込む方法があ り ます。 いずれの方法でも、 コンフ ィギュレーシ ョ ンに使用するデータ

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

に抑えたい場合に使用します。も う 1 つは 8 ビッ ト または 16 ビッ トのデータパスで、高速パフォー

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

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

マンドで、 何度でも再プログラムできます。

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

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

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

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

と して機能します。

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

• マスター シ リ アル/SPI コンフ ィギュレーシ ョ ン モード (x1、 x2、 x4)

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

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

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

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

基本」 を参照して ください。

コンフ ィギュレーシ ョ ン モードは、 モード入力ピン M[1:0] でレベルを設定して選択します。 M1および M0 モード ピンは、一定した DC 電圧レベルで設定する必要があ り ます。 これは、プルアッ

プまたはプルダウン抵抗 (2.4kΩ) を使用するか、 GND または VCCO_2 に直接接続して設定しま

す。モード ピンは、 コンフ ィギュレーシ ョ ン中またはコンフ ィギュレーシ ョ ン前に ト グルできませ

んが、 コンフ ィギュレーシ ョ ン後はト グル可能です。モード ピンの設定オプシ ョ ンは、第 2 章 「コンフ ィギュレーシ ョ ン インターフェイスの基本」 を参照してください。

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

を示します。

Page 16: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

16 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

• マスター コンフ ィギュレーシ ョ ンモードでは、 Spartan-6 デバイスは内部オシレーターからの

CCLK を駆動するか (デフ ォル ト )、 または外部マス ター ク ロ ッ ク ソースの

GCLK0/USERCCLK を駆動します (オプシ ョ ン)。周波数を選択するには、BitGen オプシ ョ ン

の -g ConfigRate を内部オシレーターに対して使用します。詳細は、『コマンド ラ イン ツー

ル ユーザー ガイ ド』 (UG628) の 「BitGen」 を参照して ください。 コンフ ィギュレーシ ョ ン完

了後は、 次の条件のいずれかが満たされている場合を除き、 オシレーターはオフになり ます。

• SEU 検出が使用されています。

• STARTUP プリ ミ ティブで CFGMCLK が接続されています。

• 内部クロ ッ ク ソースが Suspend モードで選択されています (オシレーターは WAKWUPシーケンス中にのみオン)。

• 暗号化が有効になっています。

CCLK は多目的ピンです。コンフ ィギュレーシ ョ ン前はオンチップのプルアップ抵抗があ り ま

せん。 コンフ ィギュレーシ ョ ン後は PERSIST が使用されている場合を除き、 ユーザー ピンと

な り ます。

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

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

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

設計に関する考慮事項

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

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

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

ンに使用可能です。 コンフ ィギュレーシ ョ ンが完了する と、 専用ピンでないピンは汎用ピンとな り

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

同様に、 使用するコンフ ィギュレーシ ョ ン モードによ り、 FPGA I/O バンクの電圧が制限されるこ

と もあ り ます。 コンフ ィギュレーシ ョ ン オプシ ョ ンはいくつかあ り、柔軟性があ り ますが、各シス

テムに 適なソ リ ューシ ョ ンがあるのが一般的です。 適なコンフ ィギュレーシ ョ ン オプシ ョ ンを

選択するには、 全体的な設定、 速度、 コス ト、 複雑さ といった要因を考慮する必要があ り ます。

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

Spartan-6 FPGA は柔軟性を 大限に考慮して設計されています。 コンフ ィギュレーシ ョ ン データ

は、 FPGA 自身が PROM から自動的に読み込むこ と も、 プロセッサやマイ ク ロコン ト ローラーな

どの外部インテ リジェン ト デバイスを使用して FPGA にダウンロードするこ と もできます。

マスター モード

FPGA の自動コンフ ィギュレーシ ョ ン モードは 「マスター」 モード と呼ばれています (図 1-1 参照

)。 このモードでは、 FPGA コンフ ィギュレーシ ョ ン データをさまざまなタイプの不揮発性メモ リ

に格納します。 マスター モードでは、 通常、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リームは FPGAと同じボード上の外部不揮発性メモ リにあ り ます。 FPGA によ り、CCLK と呼ばれるコンフ ィギュ

レーシ ョ ン ク ロ ッ ク信号 (内部オシレーターからのク ロ ッ ク信号、 または外部マスター ク ロ ッ ク

ソースの GCLK0/USERCCLK) が提供され、 またコンフ ィギュレーシ ョ ン プロセスが制御されま

す。

Page 17: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 17UG380 (v2.2) 2010 年 7 月 30 日

設計に関する考慮事項

コンフ ィギュレーシ ョ ン ク ロ ッ ク周波数は、 bitgen -g configrate オプシ ョ ンを使用してマ

スター モードで制御可能です。 デフォルト値は、 2MHz です。

選択したオプシ ョ ンに関係な く、 マスター モードでのコンフ ィギュレーシ ョ ン ク ロ ッ クは 1MHzから開始します。 FPGA はビッ ト ス ト リーム内でクロ ッ ク動作を実行するため、 コンフ ィギュレー

シ ョ ン レート設定を読み出し、 適宜変更します。

スレーブ モード

FPGA のコンフ ィギュレーシ ョ ンを外部から制御するコンフ ィギュレーシ ョ ン モードを 「スレー

ブ」 モード と総称します。 この場合も、 データパスはシ リ アルまたはバイ ト幅のどちらも使用でき

ます。 スレーブ モードでは、 プロセッサ、 マイ ク ロコン ト ローラー、 DSP プロセッサ、 テスター

などの外部インテ リ ジェン ト デバイスを使用し、 FPGA にコンフ ィギュレーシ ョ ン データをダウ

ンロード します (図 1-2 参照)。 このスレーブ コンフ ィギュレーシ ョ ンの利点は、FPGA ビッ ト ス ト

リームをシステムのほぼどこにでも格納できるこ とです。たとえば、オンボードのフラ ッシュ メモ

X-Ref Target - Figure 1-1

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

DATA[7:0]D[7:0]

FCS_B

Parallel NOR Flash

D0

CLK

DIN

CCLK

Spartan-6 FPGA

DATA_IN

DATA_OUT

MOSI

CSO_B

SPI SerialFlash

XilinxPlatform Flash

PROM

SELECT

CLOCK

DIN

CCLK

ADDR[n:0]

CE#

A[n:0]

OE#

WE#

FOE_B

D[7:0]

CLK

D[7:0]

CCLK

Spartan-6 FPGA(1)

Xilinx XCFxxP Platform Flash

PROM

8

8/16

(a) Master Serial/SPI Mode

(b) Master Serial/SPI Mode with SPI Flash

(c) Master SelectMAP/BPI Mode with Parallel NOR Flash

(d) Master SelectMAP/BPI Mode

n+1

UG380_c1_01_060109

XCFxxSXCFxxP

XCFxxP

DATA[15:8]D[15:8]

Serial Byte-Wide

BYTE#LDC

Spartan-6 FPGA

Spartan-6 FPGA

FWE_B

Note: The remaining Spartan-6 FPGAs support XCFxxP Platform Flash PROMs via Master SelectMAP mode.The master serial and the master SPI configuration modes are combined and use the same mode selection.The master SelectMAP and the master BPI configuration modes are combined and use the same mode selection.

Page 18: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

18 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

リにプロセッサのコード と一緒に格納するこ と もできます。 また、 ハード ディ スクに保存した り、

ネッ ト ワークやブリ ッジ接続を使用してネッ ト ワーク上に保存しておく こ と も可能です。

スレーブ SelectMAP モードは、 単純な x8 または x16 ビッ ト幅のプロセッサ ペリ フェ ラル イン

ターフェイスで、 チップ セレク ト入力と読み出し /書き込み制御入力を含みます。 スレーブ シ リ ア

ル モードは、 ク ロ ッ ク とシ リ アル データ入力のみで構成される単純なモードです。

JTAG 接続

4 本の信号線で構成される JTAG インターフェイスは、 オンボード テスターとデバッグ用ハード

ウェアによ く使用されます。Spartan-6 FPGA に対応した下記のザイ リ ンクス プログラ ミ ング ケー

ブルも、プロ ト タイプ ダウンロードおよびデバッグ用に JTAG インターフェイスを使用します。

終的にアプリ ケーシ ョ ンで使用するコンフ ィギュレーシ ョ ン モードにかかわらず、 JTAG コンフ ィ

ギュレーシ ョ ン パスを含めておく とデザイン開発が容易になり ます。 第 3 章 「バウンダ リ スキャ

ンおよび JTAG コンフ ィギュレーシ ョ ン」 も参照してください。

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

• パラレル ケーブル IVhttp://japan.xilinx.com/products/devkits/HW-PC4.htm

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

基本オプシ ョ ンには、 ザイ リ ンクス プラ ッ ト フォーム フラ ッシュ PROM またはサードパーティ

SPI PROM を使用したマスター シ リ アル モードがあ り ます。 これらのソ リ ューシ ョ ンでは、 少

X-Ref Target - Figure 1-2

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

DIN

CCLK

SERIAL_DATA

CLOCK

Spartan-6 FPGA Processor,

Microcontroller

TDI

TMS

DATA_OUT

CLOCK

Spartan-6 FPGA

JTAG Tester, Processor,

Microcontroller

TCK

TDO

MODE_SELECT

DATA_IN

D[7:0]

RDWR_B

CCLK

CSI_B

DATA[7:0]

SELECT

READ/WRITE

CLOCK

Spartan-6 FPGA

Processor,Microcontroller

(c) Slave SelectMAP Mode

(a) Slave Serial Mode

(b) JTAG

UG380_c1_02_051109

Serial SelectMAP

8,16 D[15:8]DATA[15:8]

Page 19: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 19UG380 (v2.2) 2010 年 7 月 30 日

設計に関する考慮事項

数の FPGA ピンを使用し、 柔軟性のある I/O 電圧がサポート されています。 また SPI PROM はザ

イ リ ンク ス JTAG ベースのプログラ ミ ング ソフ ト ウェアである iMPACT でサポート されていま

す。 詳細は、 ISE ヘルプの 「iMPACT ヘルプ」 を参照してください。

http://japan.xilinx.com/support/documentation/sw_manuals/xilinx11/isehelp_start.htm

低コスト を重視したソリューシ ョ ン

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

す。

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

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

ンロードできます。 その際には、 ダウンロード モードをスレーブ SelectMAP モード、 スレー

ブ シ リ アル モード、 または JTAG のいずれかにする必要があ り ます。

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

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

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

スに格納できます。

• Spartan-6 FPGA には SPI シ リ アル フラ ッシュ メモ リおよびパラレル NOR フラ ッシュ メモ

リから直接コンフ ィギュレーシ ョ ンするオプシ ョ ンもあ り ます。 詳細は、 第 2 章 「コンフ ィ

ギュレーシ ョ ン インターフェイスの基本」 を参照してください。 その他にもアプリ ケーシ ョ ン

ノー ト XAPP973 『 Virtex-5 FPGA での BPI PROM の間接プログラム』 およびアプ リ ケー

シ ョ ン ノート XAPP974 『Spartan-3A FPGA で SPI シ リ アル Flash PROM の間接プログラム』

を参照して ください。

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

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

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

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

のサイズおよびコンフ ィギュレーシ ョ ン ロジッ クの速度に依存します。たとえば、4 ビッ ト データ

バスを使用して 33MHz でコンフ ィ ギュ レーシ ョ ンする場合、 Spartan-6 XC6SLX16 FPGA が3.6Mb のコンフ ィギュレーシ ョ ン データを読み込むのに約 28ms 要します。

• 同一クロ ッ ク周波数で比較する と、パラレル コンフ ィギュレーシ ョ ン モードは複数ビッ トが 1度にプログラムされるためシ リ アル モード よ り も高速です。

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

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

シ ョ ンする必要があ り ます。

• マスター モードでは、 CCLK コンフ ィギュレーシ ョ ン ク ロ ッ ク信号が FPGA 内部で生成され

ます。デフォルトでは、CCLK 周波数は低く設定されていますが、ConfigRate ビッ ト ス ト リー

ム オプシ ョ ンを使用して高くできます。 サポート される 大 CCLK 周波数は、 接続されてい

る不揮発性メモ リの読み出し速度の仕様に依存します。 高速メモリ を使用する と、 よ り高速な

コンフ ィギュレーシ ョ ンが可能です。 FPGA の CCLK 出力周波数はプロセス、 電圧、 および

温度によって変動します。コンフ ィギュレーシ ョ ン レートの 速値は、『Spartan-6 FPGA デー

タシート 』 に記載されているよ うに、 CCLK 周波数の 小値によって異なり ます。 ボード上に

外部ク ロ ッ クがある場合、 ザイ リ ンク ス プラ ッ ト フォーム フラ ッシュを使用したスレーブ

モードで FPGA をコンフ ィギュレーシ ョ ン可能です。

Page 20: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

20 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

• ボード上に外部クロ ッ クがある場合、 マスター モードのコンフ ィギュレーシ ョ ン中に外部ク

ロ ッ ク ソースを接続して使用する機能があ り ます。 ザイ リ ンク ス プラ ッ ト フォーム フラ ッ

シュを使用しながら、 外部クロ ッ ク ソースを用いて FPGA をスレーブ モードでコンフ ィギュ

レーシ ョ ンするこ と も可能です。コンフ ィギュレーシ ョ ン中に外部クロ ッ ク ソースを使用する

こ とで、 マスターおよびスレーブの両モードでコンフ ィギュレーシ ョ ン時間を予測可能にでき

ます。

PCI リンクの有効化要件への準拠

PCI™ ローカル バス仕様のリ ビジ ョ ン 3.0 ( 「PCI 仕様」 ) では、 さまざまな電源およびリセッ トの

要件が定義されています。 これらの要件によって、 FPGA のインプ リ メンテーシ ョ ンで、 長期にわ

たり信頼性およびボードの相互運用性を保つために解決しなければならない新たなデザインの課題

が生じます。 PCI アプリ ケーシ ョ ンで リ ンクがアクティブになるまでの時間を考慮し、 指定時間内

に FPGA のコンフ ィギュレーシ ョ ンを完了するこ とが重要です。 サードパーティのフラ ッシュ デバイスには、 こ う した時間的制約を満たしていないものが多くあ り ます。

単独および複数のコンフ ィギュレーシ ョ ン イメージ

FPGA アプリ ケーシ ョ ンでは、システムに電源投入される と きにのみ FPGA が読み込まれるのが一

般的です。

しかし、 アプ リ ケーシ ョ ンによっては、 システム動作中に、 ファンクシ ョ ンご とに異なる FPGAビッ ト ス ト リームを使用して FPGA を複数回読み込む必要のあるものがあ り ます。たとえば、POST(Power On Self Test) をインプリ メン トするためのビッ ト ス ト リームを FPGA に読み込んだ後、

終アプリ ケーシ ョ ンで 2 つ目のビッ ト ス ト リームが読み込み可能です。多多くのテス ト装置アプリ

ケーシ ョ ンでは、 ハード ウェア補助によるテス ト を実行するため異なるビッ ト ス ト リームが FPGAに読み込まれます。 この方法を使用する と 1 つの小型 FPGA で大型の ASIC やゲート アレイ デバ

イス と同等の機能をインプリ メン トできます。

詳細は、 第 7 章 「 リ コンフ ィギュレーシ ョ ンおよび マルチブート 」 を参照してください。

マルチブート /セーフ アップデート

高度なアプリ ケーシ ョ ンでは複数のビッ ト ス ト リーム イ メージを格納できます。イ メージの 1 つを

ユーザー アプリ ケーシ ョ ンでアップグレード し、リ アルタイム システムのアップグレードを実行で

きます。ブート エラーが発生した場合は、初期イ メージからシステムを回復させるこ と も可能です。

I/O 電圧要件

選択した FPGA コンフ ィギュレーシ ョ ン モードによ り、 FPGA アプ リ ケーシ ョ ンに対する制約が

生じます。 特にコンフ ィギュレーシ ョ ン バンクに使用可能な I/O 電圧が制限されています。

たとえば、 SPI や BPI モードでは、 通常 3.3V デバイス (それよ り も低い電圧は許容) であるサード

パーティのフラ ッシュ メモ リ コンポーネン トが使用されます。 つま り、 メモ リに接続されている

バンクの I/O 電圧は入力電圧に準ずる必要があ り ます。

不揮発性データの格納

一部の FPGA アプ リ ケーシ ョ ンでは、 データが外部不揮発性メモ リ に格納されます。 Spartan-6FPGA はこのよ うなアプリ ケーシ ョ ン用に有効な機能を提供します。

Page 21: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 21UG380 (v2.2) 2010 年 7 月 30 日

設計に関する考慮事項

• Spartan-6 FPGA は外部シ リ アル (SPI) またはパラレル フラ ッシュ PROM (BPI) から直接コン

フ ィギュレーシ ョ ンできます。

• フラ ッシュ PROM のアドレス、 データ、 制御ピンは、 コンフ ィギュレーシ ョ ン中 FPGA から

借用できます。 コンフ ィギュレーシ ョ ン後、 これらのピンは元に戻されて FPGA の読み出し /書き込み用に使用されます。

• FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームおよびアプリ ケーシ ョ ンの不揮発性データ

で同じ PROM を共有でき、 全体的なシステム コス ト を削減します。

集積度の異なる FPGA への移行

Spartan-6 FPGA のパッケージのフッ トプ リ ン トおよびピン配置は、 同一ファ ミ リ内で集積度の異

なるデバイス間の移行ができるよ う設計されています。

FPGA アプリ ケーシ ョ ンではほかの不揮発性データをフラ ッシュ メモ リに格納できるため、大型の

ス ト レージ デバイスが必要です。

異なる集積度のデバイス間のデザイン移行をサポートするには、ターゲッ ト パッケージの 大デバ

イスに対応できるだけの十分なコンフ ィギュレーシ ョ ン メモ リが必要です。 たとえば、 Spartan-6XC6SLX9 デバイスを使用している場合、 2.6Mb のコンフ ィギュレーシ ョ ン メモ リ が必要です。

Spartan-6 XC6SLX16 デバイスの場合は、 3.6Mb 必要です。

ダウンロードでコンフ ィギュレーシ ョ ンするアプリ ケーシ ョ ンでは、圧縮されていない FPGA ビッ

ト ス ト リームの 大予測量に十分なメモ リ容量が必要です。

FPGA が自動的にコンフ ィギュレーシ ョ ンするアプリ ケーシ ョ ンでは、PROM のフッ トプ リ ン トお

よびそれに対応した FPGA コンフ ィギュレーシ ョ ン モードを使用して移行を簡単にするこ とがで

きます。 たとえば、 ザイ リ ンクス プラ ッ ト フォーム フラ ッシュでは、 XCFxxS シ リ アル ファ ミ リ

を使用して 1Mb から 4Mb へ、XCFxxP パラレル ファ ミ リ を使用して 8Mb から 32Mb へ移行でき

ます。 1 つのアプ リ ケーシ ョ ンでフラ ッシュが 2 つ使用されている場合は、 プラ ッ ト フォーム フラ ッシュのサブファ ミ リ ごとに 2 つの異なるフッ トプ リ ン ト を使用する必要があ り ます。 XCFxxPフラ ッシュ ファ ミ リには 1.8V のコア電源電圧入力が必要で、 XCFxxS には 3.3V が必要です。 ど

ちらのファ ミ リでも 3.3V I/O が提供されます。

SPI シ リ アル フラ ッシュ ベンダーは幅広い移行範囲に対応できますが、 マルチ パッケージ フッ ト

プ リ ン トが必要です。たとえば、Atmel DataFlash SPI シ リアル フラ ッシュ ファ ミ リでは、 JEDECおよび EIAJ 版の 8 ピン SOIC パッケージと 8 コネク タの CASON パッケージに対応する 1 つの

フッ トプ リ ン ト を使用し、 1 ~ 64Mb の範囲で移行がサポート されています。 Numonyx SPI シ リ

アル フラ ッシュは、8 ピンおよび 16 ピンを組み合わせた SOIC フッ トプ リ ン ト を使用するほかに、

複数の SPI フラ ッシュ ベンダーのデバイス との互換性もあ り ます。

同様に、 パラレル フラ ッシュでも、 一般的な、 複数のベンダーが提供するパッケージ フッ トプ リ

ン トで広範囲にわたる集積度に対応できます。 こ こでは例を挙げて概説するにとどま り ますが、 詳

細は使用しているフラ ッシュの仕様を参照して ください。

製品寿命

アプリ ケーシ ョ ンの製品寿命を考慮する必要があ り ます。 一般的に、 ベンダーから提供されている

メモ リはザイ リ ンクスのプラ ッ ト フォーム フラ ッシュ PROM と比較する と製品寿命が短くなって

います。 たとえば、 5 年以上製造される産業向けアプリ ケーシ ョ ンを設計する場合、 ザイ リ ンクス

のプラ ッ ト フォーム フラ ッシュ PROM の製品寿命の方が長くな り ます。

製品寿命の短いものであれば、 コス ト面や種類の多さから見て、 ベンダーが提供する メモリ を使用

した方が利点が多い場合もあ り ます。

Page 22: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

22 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

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

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

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

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

法はいくつかあ り ます。 中でも、 独自の Device DNA を用いる 「認証」 と呼ばれる手法が も効果

的です。 詳細は、 第 5 章 「コンフ ィギュレーシ ョ ンの詳細」 で説明します。 また、 XC6SLX75/T、XC6SLX100/T、 および XC6SLX150/T デバイスには、 オンチップの AES (Advanced EncryptionStandard) 復号化ロジッ クがあ り、 デザインを高度なセキュ リティで保護します。

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

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

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

PROM に複数の異なる FPGA ビッ ト ス ト リーム イ メージを格納できます。 しかし、 アプ リ ケー

シ ョ ンにあるすべての FPGA のパーツ番号とビッ ト ス ト リームが同じ場合、 ビッ ト ス ト リーム イメージは 1 つだけでかまいません。 また、同じビッ ト ス ト リームを、複数の同一 FPGA に読み込む

こ とができるギャング コンフ ィギュレーシ ョ ンもあ り ます。

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

システムに 適なコンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンを決定する要素は数多く存在し、さまざ

まな詳細を考慮する必要があ り ます。 適切なコンフ ィギュレーシ ョ ンを選択しておく と、 後で対処

しな くてはならない問題が少なくな り ます。

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

理解しておく こ とが必要です。 詳細は、 コンフ ィギュレーシ ョ ンに関するセクシ ョ ンを参照してく

ださい。

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

ト リームのサイズはデバイス サイズによって異なり、ビッ ト ス ト リームの生成にも複数の形式があ

り ます。

FPGA はコンフ ィギュレーシ ョ ン中、 内部メモ リの初期化から I/O の有効化まで、 ある一定のシー

ケンスを実行します。 このプロセスはコンフ ィギュレーシ ョ ン シーケンス と呼ばれます。電源投入

から FPGA コンフ ィギュレーシ ョ ンの完了とスタート アップまでのタイ ミ ングを理解するには、こ

のシーケンス とサブシーケンスの理解が必要です。

Spartan-6 LX75、 LX75T、 LX100、 LX100T、 LX150、 および LX150T の FPGA には、 AES 暗号

化などの高度なセキュ リティ保護機能があ り ます。 この機能は、 ビッ ト ス ト リームの保護に非常に

有益です。

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

Page 23: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 23UG380 (v2.2) 2010 年 7 月 30 日

第 2 章

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

この章では、 Spartan®-6 FPGA デバイ スで も頻繁に使用される コンフ ィ ギュ レーシ ョ ン ソリ ューシ ョ ンについて説明します。 いくつかの手法を挙げ、 適切な接続、 終端、 信号定義、 基本的

なタイ ミ ングについて説明します。 第 9 章 「アドバンス コンフ ィギュレーシ ョ ン インターフェイ

ス」 では、 エラー回復の詳細や、 こ こで簡単にまとめたものをさ らに詳細に説明しています。

Spartan-6 デバイスは、Extended Spartan-3A ファ ミ リでサポート されているコンフ ィギュレーシ ョ

ン モードにすべて対応しています。 ただし、 Extended Spartan-3A ファ ミ リ には、 コンフ ィ ギュ

レーシ ョ ン モードを定義するモード ピンが M[2:0] と 3 つあるのに対して、 Spartan-6 デバイスで

は M[1:0] の 2 つのみです。モードピンの説明は、表 2-1を参照してください。 インターフェイスの

タイ ミ ング情報の詳細は、 データシート DS162 『Spartan-6 FPGA データシート : DC 特性および

スイ ッチ特性』 を参照して ください。

JTAG インターフェイス

JTAG 向けの特定モードはあ り ませんが、 デバイスへの電源投入後に使用可能なコンフ ィギュレー

シ ョ ン インターフェイス と して JTAG インターフェイスがあ り ます。 詳細は、 第 3 章 「バウンダ

リ スキャンおよび JTAG コンフ ィギュレーシ ョ ン」 を参照してください。

表 2-1 : Spartan-6 FPGA のコンフ ィギュレーシ ョ ン モード

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

マスター シ リ アル/SPI 01 1、 2、 4(1) 出力

マスター SelectMAP/BPI(2) 00 8、 16 出力

JTAG(3) xx 1 入力 (TCK)

スレーブ SelectMAP(2) 10 8、 16 入力

スレーブ シ リ アル(4) 11 1 入力

注記 :

1. デュアルおよびクアッ ド SPI モードを使用します。

2. パラレル コンフ ィギュレーシ ョ ン モードのバスは、 コンフ ィギュレーシ ョ ン ロジッ クによって自動的に検出されます。

3. Spartan-6 デバイスには、 モード ピンの設定にかかわらず FPGA で常に使用可能な、 4 線式の JTAG (IEEE 1149.1 規格) ポート もあ り ます。

4. デフォルト設定は、 モード ピンの内部プルアップ終端によ り ます。

Page 24: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

24 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

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

シ リ アル コンフ ィギュレーシ ョ ン モードでは、 CCLK の 1 サイクルで 1 コンフ ィギュレーシ ョ ン

ビッ ト を読み込み、 FPGA をコンフ ィギュレーシ ョ ンします。

• マスター シ リ アル モードでは、 CCLK は出力です。

• スレーブ シ リ アル モードでは、 CCLK は入力です。

シ リ アル コンフ ィギュレーシ ョ ンのシ ミ ュレーシ ョ ン モデルが利用できます。 詳細は、 『合成/シミ ュレーシ ョ ン デザイン ガイ ド』 (UG626) を参照してください。

図 2-1 に、Spartan-6 FPGA の基本的なシ リ アル コンフ ィギュレーシ ョ ン インターフェイスを示し

ます。

シ リ アル モードで FPGA をコンフ ィギュレーシ ョ ンするには次の 4 つのモードがあ り ます。

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

• 一般的な構成では、プラ ッ ト フォーム フラ ッシュ (XCFxxP) などの PROM を使用します。

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

• 一般的な構成では、 データおよびクロ ッ クを提供するプロセッサを使用します。

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

• PROM またはプロセッサから、 複数の FPGA を順に異なるイ メージでコンフ ィギュレー

シ ョ ンします (第 9 章 「アドバンス コンフ ィギュレーシ ョ ン インターフェイス」 参照)。

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

• PROM またはプロセッサから、 複数の FPGA を並行して同じイ メージでコンフ ィギュ

レーシ ョ ンします (第 9 章 「アドバンス コンフ ィギュレーシ ョ ン インターフェイス」 参

照)。

この章では、 マスターおよびスレーブ シ リ アル コンフ ィギュレーシ ョ ンについて説明しています。

デイジー チェーンおよびギャング コンフ ィギュレーシ ョ ンについては第 9 章 「ア ドバンス コン

フ ィギュレーシ ョ ン インターフェイス」 を参照してください。

X-Ref Target - Figure 2-1

図 2-1 : Spartan-6 FPGA のシリアル コンフ ィギュレーシ ョ ン インターフェイス

DOUT

DONE

CCLK

PROGRAM_B

INIT_B

DIN

M[1:0]

UG380_c2_01_042909

Page 25: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 25UG380 (v2.2) 2010 年 7 月 30 日

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

表 2-2 で、 シ リ アル コンフ ィギュレーシ ョ ン インターフェイスの各ピンについて説明します。

表 2-2 : Spartan-6 FPGA のシリアル コンフ ィギュレーシ ョ ン インターフェイスで使用するピン

ピン名 タイプ 専用/多目的 説明

M[1:0] 入力 多目的 コンフ ィギュレーシ ョ ン モードを決定するモー

ド ピンです (表 2-1 参照)。

CCLK 入力または

出力

多目的 JTAG を除く、 すべてのコンフ ィギュレーシ ョ ン

モードでのコンフ ィギュレーシ ョ ン ク ロ ッ ク

ソースです (64 ページの 「設計に関する考察事

項」 参照)

DIN 入力 多目的 シ リ アル コンフ ィギュレーシ ョ ン データ入力で、

CCLK の立ち上がりエッジに同期します。

DOUT 出力 多目的 デイジー チェーンの下位デバイスに対するシ リ

アル データ出力です。CCLK の立ち下がりエッジ

でデータを供給します。

DONE 双方向、

オープン ドレイン、

または

アクティブ

専用 コンフ ィギュレーシ ョ ンの完了を示すアクティブ

High の信号です。

0 = FPGA コンフ ィギュレーシ ョ ン未完了

1 = FPGA のコンフ ィギュレーシ ョ ン完了

ソフ ト ウェア設定の詳細は、 『コマンド ライン

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

INIT_B 入力

または

出力、

オープン ド レイン

多目的 モード ピンのサンプル前は入力とな り、Low に保

持するこ とでコンフ ィギュレーシ ョ ンを遅延させ

るこ とができます。

モード ピンのサンプル後はオープン ド レインの

アクティブ Low 入力とな り、 コンフ ィギュレー

シ ョ ン中の CRC エラーの有無を示します。

0 = CRC エラー

1 = CRC エラーなし

SEU 検出が有効になっている場合、リードバッ ク

CRC エ ラ ーが検出 さ れ る と、 オプ シ ョ ン で

INIT_B が Low に駆動されます。

PROGRAM_B 入力 専用 アクティブ Low の非同期フルチップ リセッ トで

す。

Page 26: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

26 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

マスター シリアル

図 2-2 に示すよ うに、マスター シ リ アル モードでは、ザイ リ ンクスのプラ ッ ト フォーム フラ ッシュ

PROM から FPGA をコンフ ィギュレーシ ョ ンできます。

図 2-2 について説明します。

1. 内部ピン終端および HSWAPEN の影響を受けるピンについては、 74 ページの表 5-2 を参照し

て ください。

2. デイジー チェーン コンフ ィギュレーシ ョ ン モードでは、 DOUT を下位 FPGA の DIN に接続

して ください。

3. CCLK ネッ トにはテブナン並列終端が必要です。詳細は、57 ページの 「コンフ ィギュレーシ ョ

ン ク ロ ッ ク (CCLK) のボード レイアウ ト 」 を参照してください。

X-Ref Target - Figure 2-2

図 2-2 : マスター シリアル モードのコンフ ィギュレーシ ョ ン

Platform FlashXCFxxS

UG380_c2_02_070210

VCCINT

DIN D0

VCCINT

GND

MOSICSO_B

DOUT

CCLK

HSWAPEN VCCO_0

VCCO_1

INIT_B

CLK

TMS

TCK

TDI

CE

OE/RESET

VCCO

VCCO_2M1

M0

TMS

TDO

TCK

TDI

PROGRAM_B DONE

GND

VCCJ

CF

CEO

TDO

PROGRAM_B

VREF

TMS

TCK

TDO

TDI

N.C.

N.C.

1

14

(JT

AG

Inte

rfac

e)X

ilin

x C

able

Hea

der

Spartan-6 FPGA

VCCO_2

VCCO_24.7 kΩ

VCCO_2

VCCO_2

VCCAUX

VCCO_2

VCCAUX

VCCO_24.7 kΩ

VCCO_0

VCCO_1

VCCO_2330Ω

Refer to the Notes following this figure for related information.

VCCAUX

VCCAUX

VFS

VBATTVFS

VBATT

SUSPEND

Page 27: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 27UG380 (v2.2) 2010 年 7 月 30 日

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

4. マスター シ リアルおよびマスター SPI はどちら も同じモード ピンから有効になり ます。このた

め SPI 制御ピンである CSO_B および MOSI はコンフ ィギュレーシ ョ ン中に ト グルします。

5. Spartan-6 FPGA の VCCO_2 およびプラ ッ ト フォーム フラ ッシュ PROM の VCCO は同じ電圧

である必要があ り ます。

6. DONE ピンは、デフォルトでは内部プルアップ抵抗を持つオープン ド レイン出力です。外部プ

ルアップ抵抗を追加するこ とを推奨します。DONE ピンには、BitGen の -g DriveDone オプ

シ ョ ンを使用して有効にできる、 プログラム可能でアクティブなド ライバーがあ り ます。

7. INIT_B ピンは双方向オープン ド レイン ピンです。 外部プルアップ抵抗の使用を推奨します。

8. BitGen スタート アップ ク ロ ッ ク設定では、CCLK をシ リ アル コンフ ィギュレーシ ョ ンに設定

する必要があ り ます。 これはソフ ト ウェアによ りデフォルトで設定されます。詳細は、『コマン

ド ライン ツール ユーザー ガイ ド』 (UG628) を参照してください。

9. この図の PROM は、 1 つまたは複数のザイ リ ンクス PROM の場合を示しています。 複数のザ

イ リ ンクス PROM をカスケード接続するこ とで、 データ格納範囲全体が拡大できます。 詳細

は、 『Platform Flash PROM ユーザー ガイ ド』 (UG161) を参照してください。

10. BIT ファ イルは、PROM へ格納する前に PROM ファ イルに変換する必要があ り ます。iMPACTを使用して必要なファイルを生成する場合は、 79 ページの 「PROM ファ イルの生成」 を参照

して ください。

11. 一部のザイ リ ンクス PROM では、 リセッ ト ピンの極性がプログラム可能です。 この設定で

PROM を使用する場合、 RESET をアクティブ Low に設定してください。

12. マスター シ リ アル モード コンフ ィギュレーシ ョ ンは、プラ ッ ト フォーム フラ ッシュ XCFS および XCFP PROM にのみ使用できます。

13. CSI_B や RDWR_B などの未使用の専用コンフ ィギュレーシ ョ ン ピンは、このモードではどの

コンフ ィギュレーシ ョ ン ロジッ クにも接続されないため、フロートにしておくか GND に接続

できます。 CSI_B および RDWR_B は多目的ピンです。

14. VFS は XC6SLX75/T、 XC6SLX100/T、 および XC6SLX150/T デバイスで提供され、 eFUSEプログラ ミ ングに使用されます。 詳細は、 94 ページの 「eFUSE」 を参照してください。

15. VBATT は XC6SLX75/T、XC6SLX100/T、および XC6SLX150/T デバイスで提供される、AESキーの格納用の電源です。 AES 暗号が未使用の場合、 VBATT は VCCAUX または GND に接続

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

16. VCCO_2 が 1.8V の場合、VCCAUX は 2.5V にする必要があ り ます。VCCO_2 が 2.5V の場合、

VCCAUX は 2.5V または 3.3V にできます。

17. 電源投入中およびコンフ ィギュレーシ ョ ン中は、 SUSPEND ピンを Low にする必要があ り ま

す。 Suspend 機能を使用しない場合、 SUSPEND ピンは GND に接続して ください。

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

スレーブ シ リ アル コンフ ィギュレーシ ョ ンは、 通常、 シ リ アル デイジー チェーン接続した複数デ

バイスをコンフ ィギュレーシ ョ ンする と き、または外部マイクロプロセッサ/CPLD から単独デバイ

スをコンフ ィギュレーシ ョ ンする と きに使用します (図 2-3 参照)。スレーブ シ リ アル コンフ ィギュ

レーシ ョ ンで考慮すべき点は、 CCLK の方向を除いて、 マスター シ リ アル コンフ ィギュレーシ ョ

ン と同様です。 CCLK はデータを提供する外部ク ロ ッ ク ソースから駆動する必要があ り ます

(29 ページの 「シ リ アル コンフ ィギュレーシ ョ ン データ タイ ミ ング」 参照)。

Page 28: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

28 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

図 2-3 について説明します。

1. 内部ピン終端および HSWAPEN の影響を受けるピンについては、 74 ページの表 5-2 を参照し

て ください。

X-Ref Target - Figure 2-3

図 2-3 : スレーブ シリアル モードのコンフ ィギュレーシ ョ ン

TDI

TDO

TMS

TCK

PROGRAM_B

VCCINT

VCCAUX

VCCO_2

VCCO_1

INIT_B

DONE

GND

HSWAPEN VCCO_0

VCCO_0

4.7

k

M1

M0

DOUT

330

DIN

CCLK

4.7

CLOCK

SERIAL_OUT

PROGRAM_B

PROGRAM_B

INIT_B

DONE

VCC

GND

ConfigurationMemorySource

UG380_c2_03_071910

Spartan-6FPGA

VCCO_2

VCCO_2

VCCO_1

VCCO_2

VCCAUX

VFS

VBATT

VCCO_2

VCCO_2

Microprocessoror CPLD

1

14

Xili

nx C

able

Hea

der

(JT

AG

Inte

rfac

e)

VREF

TMS

TCK

TDO

TDI

N.C.

N.C.

VCCAUX

Refer to the Notes following this figure for related information.

MOSICSO_B

VFS

VBATT

SUSPEND

Page 29: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 29UG380 (v2.2) 2010 年 7 月 30 日

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

2. デイジー チェーン コンフ ィギュレーシ ョ ン モードの場合、 DOUT を下位 FPGA の DIN に接

続して ください。

3. CCLK ネッ トにはテブナン並列終端が必要です。詳細は、57 ページの 「コンフ ィギュレーシ ョ

ン ク ロ ッ ク (CCLK) のボード レイアウ ト 」 を参照してください。

4. DONE ピンは、デフォルトでは、内部プルアップ抵抗のあるオープン ド レイン出力です。外部

プルアップを追加するこ とを推奨します。 DONE ピンには、 BitGen の -g DriveDone オプ

シ ョ ンを使用して有効にできる、 プログラム可能でアクティブなド ライバーがあ り ます。

5. INIT_B ピンは双方向オープン ド レイン ピンです。 外部プルアップ抵抗の使用を推奨します。

6. SPI 制御ピンである CSO_B および MOSI はシ リ アル コンフ ィギュレーシ ョ ン中に ト グルし

ます。

7. VFS は XC6SLX75/T、 XC6SLX100/T、 および XC6SLX150/T デバイスで提供され、 eFUSEプログラ ミ ングに使用されます。 詳細は、 94 ページの 「eFUSE」 を参照してください。

8. VBATT は XC6SLX75/T、XC6SLX100/T、および XC6SLX150/T デバイスで提供される、AESキーの格納用の電源です。AES 暗号が未使用の場合、VBATT は GND に接続するか、未接続の

ままでもかまいません。

9. VCCO_2 が 1.8V の場合、VCCAUX は 2.5V にする必要があ り ます。VCCO_2 が 2.5V の場合、

VCCAUX は 2.5V または 3.3V にできます。

10. 電源投入中およびコンフ ィギュレーシ ョ ン中は、 SUSPEND ピンを Low にする必要があ り ま

す。 Suspend 機能を使用しない場合、 SUSPEND ピンは GND に接続して ください。

シリアル コンフ ィギュレーシ ョ ン データ タイ ミ ング

図 2-4 に、 Spartan-6 デバイスのスレーブ シ リ アルおよびマスター シ リ アル モードにおけるコン

フ ィギュレーシ ョ ン データのクロ ッ ク シーケンスを示します。

次は、 図 2-4 について説明します。。

1. ビッ ト 0 は、 初のバイ トの MSB を示します。たとえば、 初のバイ トが 0xAA (1010_1010)の場合、 ビッ ト 0 = 1、 ビッ ト 1 = 0、 ビッ ト 2 = 1 とな り ます。

2. マスター コンフ ィギュレーシ ョ ン モードの場合、 CCLK は矢印が示すよ うに、 モード ピンの

サンプリ ングが完了するまで遷移しません。

3. スレーブ シ リ アル モードの場合、 CCLK はフ リーランニングになり ます。

X-Ref Target - Figure 2-4

図 2-4 : シリアル コンフ ィギュレーシ ョ ンのクロック シーケンス

PROGRAM_B

INIT_B

CCLK

DONE

Master DIN

Master CLK begins here

Data bits clocked out on falling edge of CCLK

UG380_c2_04_012810

BIT 0 BIT 1 BIT n BIT n+1

BIT n-63BIT n-64Master DOUT

Page 30: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

30 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

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

SelectMAP コンフ ィギュレーシ ョ ン インターフェイス (図 2-5 参照) には、Spartan-6 デバイスのコ

ンフ ィギュレーシ ョ ン ロジッ ク と接続するための 8 ビッ ト または 16 ビッ トの双方向バスがあ り、

コンフ ィギュレーシ ョ ンおよびリードバッ クの両方に使用できます。詳細は、第 6 章 「 リードバッ

クおよび コンフ ィギュレーシ ョ ンの検証」 を参照して ください 。 SelectMAP のバス幅は自動的に

検出されます (78 ページの 「同期ワード /バス幅の自動検出」 参照)。 SelectMAP コンフ ィギュレー

シ ョ ンのシ ミ ュレーシ ョ ン モデルが利用できます。 詳細は、 『合成/シ ミ ュレーシ ョ ン デザイン ガイ ド』 (UG626) を参照してください。

マス ター SelectMAP モード では CCLK は出力と な り ます。 ス レーブ SelectMAP モード では

CCLK は入力と な り、 ボード上で外部ソースから または専用 GCLK ピンから供給されます。

SelectMAP バスを使用し、 1 つまたは複数の Spartan-6 デバイスをシ リ アルまたはパラレルにコン

フ ィギュレーシ ョ ンできます。

SelectMAP モードでの FPGA コンフ ィギュレーシ ョ ンには、 次の方法があ り ます。

• 単一デバイス マスター SelectMAP

• 単一デバイス スレーブ SelectMAP

• 一般的な構成では、 データおよびクロ ッ クを提供するプロセッサを使用します。

• 複数デバイス デイジー チェーン SelectMAP バス

• PROM またはプロセッサから、 複数の FPGA を順に異なるイ メージでコンフ ィギュレー

シ ョ ンします (第 9 章 「アドバンス コンフ ィギュレーシ ョ ン インターフェイス」 参照)。

• 複数デバイスのギャング SelectMAP

• PROM またはプロセッサから、 複数の FPGA を並行して同じイ メージでコンフ ィギュ

レーシ ョ ンします (第 9 章 「アドバンス コンフ ィギュレーシ ョ ン インターフェイス」 参

照)。

SelectMAP には次のよ うな注意点があ り ます。

• SelectMAP は、 XC6SLX4 デバイス、 あるいは TQG144 または CPG196 パッケージを使用す

るデバイスで使用できません。

• RDWR_B は両用ピンです。 これは、 バンク 2 で VREF にできますが、 SelectMAP コンフ ィ

ギュレーシ ョ ン モードでは VREF と して使用できません。

この章では、 マスター SelectMAP およびスレーブ SelectMAP について説明しています。デイジー

チェーンおよびギャング コンフ ィギュレーシ ョ ンの詳細は、第 9 章 「アドバンス コンフ ィギュレー

シ ョ ン インターフェイス」 を参照してください。

Page 31: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 31UG380 (v2.2) 2010 年 7 月 30 日

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

表 2-3 で、 SelectMAP コンフ ィギュレーシ ョ ン インターフェイスの各ピンについて説明します。

X-Ref Target - Figure 2-5

図 2-5 : Spartan-6 FPGA の SelectMAP コンフ ィギュレーシ ョ ン インターフェイス

表 2-3 : Spartan-6 FPGA の SelectMAP コンフ ィギュレーション インターフェイスで使用するピン

ピン名 タイプ 専用/多目的 説明

M[1:0] 入力 多目的 コンフ ィギュレーシ ョ ン モードを決定するモード

ピンです (23 ページの表 2-1 参照)。

CCLK 入力および

出力

多目的 JTAG を除く、 すべてのコンフ ィギュレーシ ョ ン

モードでのコンフ ィギュレーシ ョ ン ク ロ ッ ク ソー

スです (57 ページの 「コンフ ィギュレーシ ョ ン クロ ッ ク (CCLK) のボード レイアウ ト 」 参照)。

D[15:0] ト ラ イ

ステート 双方向

多目的 コンフ ィギュレーシ ョ ンおよびリードバッ ク バス

で、 ク ロ ッ クは CCLK の立ち上がりエッジです

(81 ページの 「パラレル バスのビッ ト順」 参照)。

DONE 双方向、

オープン ドレイン

または

アクティブ

専用 コンフ ィギュレーシ ョ ンの完了を示すアクテ ィブ

High の信号です。

0 = FPGA コンフ ィギュレーシ ョ ン未完了

1 = FPGA コンフ ィギュレーシ ョ ン完了

INIT_B 入力または

出力、

オープン ドレイン

多目的 モード ピンのサンプル前は入力となり、 Low に保

持するこ とでコンフ ィギュレーシ ョ ンを遅延させ

るこ とができます。

モード ピンのサンプル後はオープン ドレインのア

クティブ Low 入力とな り、 コンフ ィギュレーシ ョ

ン中の CRC エラーの有無を示します。

0 = CRC エラー

1 = CRC エラーなし

SEU 検出機能が有効になっている場合、 リ ード

バッ ク CRC エラーが検出される と、オプシ ョ ンで

INIT_B が Low に駆動されます。

PROGRAM_B 入力 専用 アクティブ Low の非同期フルチップ リセッ トで

す。

DONE

CCLK

PROGRAM_B

INIT_B

D[15:0]

M[1:0]

CSI_B

RDWR_B

CSO_B

UG380_c2_05_042909

Page 32: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

32 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

単一デバイスの SelectMAP コンフ ィギュレーシ ョ ン

このセクシ ョ ンでは、SelectMAP モードで 1 つのデバイスをコンフ ィギュレーシ ョ ンする方法につ

いて説明し ます。 このコンフ ィ ギュ レーシ ョ ンでは、 FPGA をプラ ッ ト フ ォーム フ ラ ッ シュ

PROM、 あるいはマイクロプロセッサまたは CPLD に接続します。

プラッ ト フォーム フラッシュ PROM の SelectMAP コンフ ィギュレーシ ョ ン

SelectMAP モードで 1 つのデバイスをコンフ ィギュレーシ ョ ンするには、図 2-6 に示すよ うに、コ

ンフ ィギュレーシ ョ ン PROM に直接接続するのが も単純な方法です。 この方法では、 デバイス

はマス ター SelectMAP モード に設定され、 連続的なデータの読み込みに対応でき る よ う に

RDWR_B および CS_B ピンが GND に接続されています (36 ページの 「SelectMAP データ読み

込み」 参照)。

CSI_B 入力 多目的 アクティブ Low のチップ セレク トであ り、

SelectMAP データ バスを有効にします

(36 ページの 「SelectMAP データ読み込み」参照)。

0 = SelectMAP データ バスは有効

1 = SelectMAP データ バスは無効

RDWR_B 入力 多目的 D[x:0] データ バスの方向を決定します (36 ページ

の 「SelectMAP データ読み込み」 参照)。

0 = 入力

1 = 出力

CSI_B がディアサート されている と きにのみ変更

でき、 それ以外の場合に変更する と ABORT が生

じます (155 ページの 「SelectMAP の ABORT」 参照)。VREF ピンと して使用できますが、SelectMAPコンフ ィギュレーシ ョ ン モードが使用できなくな

り ます。

CSO_B 出力 多目的 パラレル デイジー チェーンのアクティブ Low のチップ セレク ト出力です。 FPGA が 1 つのアプリ

ケーシ ョ ンでは使用されません。

BUSY 出力 多目的 リードバッ ク中に使用します。 コンフ ィギュレー

シ ョ ン中はト グル可能です。

表 2-3 : Spartan-6 FPGA の SelectMAP コンフ ィギュレーション インターフェイスで使用するピン

ピン名 タイプ 専用/多目的 説明

Page 33: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 33UG380 (v2.2) 2010 年 7 月 30 日

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

図 2-6 について説明します。

1. 内部ピン終端および HSWAPEN の影響を受けるピンについては、 74 ページの表 5-2 を参照し

て ください。

2. TCCLK ネッ トにはテブナン並列終端が必要です。詳細は、57 ページの 「コンフ ィギュレーシ ョ

ン ク ロ ッ ク (CCLK) のボード レイアウ ト 」 を参照してください。

3. DONE ピンは、デフォルトでは、内部プルアップを持つオープン ド レイン出力です。外部プル

アップを追加するこ とを推奨します。DONE ピンには、BitGen の -g DriveDone オプシ ョ ン

を使用して有効にできる、 プログラム可能でアクティブなド ライバーがあ り ます。

X-Ref Target - Figure 2-6

図 2-6 : 単一デバイスのマスター SelectMAP コンフ ィギュレーシ ョ ン

Platform FlashXCFxxP

UG380_c2_06_071910

VCCINT

D[7:0] D[7:0]

VCCAUX

VCCINT

GND

DOUT/BUSY

CSO_B

CCLK

HSWAPEN VCCO_0

VCCO_1

INIT_B

FCS_B

FWE_B

FOE_B

LDC

A24

A25

REV_SEL0

REV_SEL1A[23:0]

CLK

TMS

TCK

TDI

CE

OE/RESET

VCCO

VCCO_2M1M0

TMS

TDO

TCK

TDI

VCCAUX

PROGRAM_B

DONE

GND

VCCJ

CF

CLKOUT

TDO

PROGRAM_B

VREF

TMS

TCK

TDO

TDI

N.C.

N.C.

1

14

(JT

AG

Inte

rfac

e)X

ilin

x C

able

Hea

der

Spartan-6FPGA

CEO

EN_EXT_SEL

VCCO_0

VCCO_1

VCCO_2

VCCO_2

330Ω

VCCO_2

4.7 kΩ

VCCO_2

4.7 kΩ

VCCAUX

VFS

VBATT

VCCO_2

VCCAUX

BUSY

Refer to the Notes following this figure for related information.

VFS

VBATT

SUSPEND

RDWR_BCSI_B

Page 34: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

34 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

4. フラ ッシュから FPGA へのデータパスには、オーバーシュート を 小限に抑えるために直列抵

抗の使用を検討して ください。 適切な抵抗値はシ ミ ュレーシ ョ ンで求めるこ とができます。

5. INIT_B ピンは、双方向オープン ド レイン ピンです。外部プルアップ抵抗の使用を推奨します。

6. BitGen のスタート アップ ク ロ ッ ク設定では、CCLK を SelectMAP コンフ ィギュレーシ ョ ンに

設定する必要があ り ます。

7. この図の PROM は、 1 つまたは複数のザイ リ ンクス PROM の場合を示しています。 複数のザ

イ リ ンクス PROM をカスケード接続するこ とで、 データの格納範囲全体を拡大できます。

8. BIT ファ イルは、PROM へ格納する前に PROM ファイルに変換する必要があ り ます。詳細は、

79 ページの 「PROM ファ イルの生成」 を参照してください。

9. 一部のザイ リ ンクス PROM では、 リセッ ト ピンの極性がプログラム可能です。 この設定で

PROM を使用する場合、 RESET をアクティブ Low に設定してください。

10. ザイ リ ンクスの PROM は、 パラレル モードに設定する必要があ り ます。 このオプシ ョ ンは一

部のデバイスでのみ使用可能です。

11. SelectMAP モードで、 ザイ リ ンクスのコンフ ィギュレーシ ョ ン PROM から Spartan-6 デバイ

スをコンフ ィギュレーシ ョ ンする場合、RDWR_B および CS_B 信号は Low に接続可能です (36 ページの 「SelectMAP データ読み込み」 参照)。

12. マスター SelectMAP コンフ ィギュレーシ ョ ンの場合、データ バス幅は x8 または x16 が可能で

す。 XCFxxP のデータ幅の 大値は x8 です。

13. プラ ッ ト フォーム フラ ッシュ PROM SelectMAP コンフ ィギュレーシ ョ ンは、プラ ッ ト フォー

ム フラ ッシュ XCFP PROM 専用です。 プラ ッ ト フォーム フラ ッシュ XCFS PROM ではシ リ

アル コンフ ィギュレーシ ョ ン モードのみがサポート されています。

14. BUSY、 FOE_B、 FCS_B、 および FWE_B ピンを含むアドレス バス A[25:0] はコンフ ィギュ

レーシ ョ ン中に ト グルします。 これらの多目的ピンの動作は、 コンフ ィギュレーシ ョ ン中にシ

ステムで処理可能にしておく必要があ り ます。

15. Spartan-6 FPGA の VCCO_2 およびプラ ッ ト フォーム フラ ッシュ PROM の VCCO は、同じ電

圧である必要があ り ます。

16. VFS は XC6SLX75/T、XC6SLX100/T、および XC6SLX150/T デバイスで提供され、eFUSE プログラ ミ ングに使用されます。 詳細は、 94 ページの 「eFUSE」 を参照してください。

17. VBATT は XC6SLX75/T、 XC6SLX100/T、 および XC6SLX150/T デバイスで提供され、 これ

らの多目的ピンの動作は、 コンフ ィギュレーシ ョ ン中にシステムで処理可能にしておく必要が

あ り ます。AES 暗号が未使用の場合、VBATT は GND に接続するか、未接続のままでもかまい

ません。

18. VCCO_2 が 1.8V の場合、VCCAUX は 2.5V にする必要があ り ます。VCCO_2 が 2.5V の場合、

VCCAUX は 2.5V または 3.3V にできます。

19. 電源投入中およびコンフ ィギュレーシ ョ ン中は、 SUSPEND ピンを Low にする必要があ り ま

す。 Suspend 機能を使用しない場合、 SUSPEND ピンは GND に接続して ください。

Page 35: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 35UG380 (v2.2) 2010 年 7 月 30 日

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

マイクロプロセッサによる SelectMAP コンフ ィギュレーシ ョ ン

マクロプロセッサまたは CPLD を使用し、 1 つの Spartan-6 デバイスをコンフ ィギュレーシ ョ ンす

るカスタム アプリ ケーシ ョ ンでは、 マスター SelectMAP モード (FPGA からの CCLK を使用) またはスレーブ SelectMAP モードを利用できますが ( 図 2-7 参照)、 スレーブ SelectMAP モードの

使用が推奨されます。 スレーブ SelectMAP モードが推奨されます。 マイ ク ロプロセッサからのコ

ンフ ィギュレーシ ョ ンの詳細は、アプリ ケーシ ョ ン ノート XAPP502 『マイ ク ロプロセッサを使用

した、 スレーブ シ リ アルまたは SelectMAP モードでの FPGA コンフ ィギュレーシ ョ ン』 () を参照

して ください。

図 2-7 について説明します。

1. 内部ピン終端および HSWAPEN の影響を受けるピンについては、 74 ページの表 5-2 を参照し

て ください。

X-Ref Target - Figure 2-7

図 2-7 : 単一デバイスのスレーブ SelectMAP コンフ ィギュレーシ ョ ン (マイクロプロセッサおよび CPLD を使用)

PROGRAM_B

SELECT

CLOCK

PROGRAM_B

INIT_B

DONE

VCCINT

VCCAUX

CSO_B

INIT _BCSI_B

PROGRAM_B DONE

GND

VCCO _2

M1

M0

HSWAPEN VCCO _0

CCLK

D[15:0]

VCCO _0

RDWR _B

VCCO_2

.

VCC VCCO_2

VCCO_2

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

UG380_c2_07_062910

Spartan-6 FPGA

Microprocessoror CPLD

D[15:0]

READ/WRITE

VCCO_2

VCCO_2

BUSY

4.7

330Ω

VCCAUX

VCCAUX

Refer to the Notes following this figure for related information.

VFS

VBATTVFS

VBATT

SUSPEND

Page 36: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

36 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

2. DOUT/BUSY はコンフ ィギュレーシ ョ ンまたはリードバッ ク中に駆動できる出力です。

3. CCLK の終端については、 57 ページの 「コンフ ィギュレーシ ョ ン ク ロ ッ ク (CCLK) のボード

レイアウ ト 」 を参照して ください。

4. この回路図は、 アプリ ケーシ ョ ン ノート XAPP502 『マイ ク ロプロセッサを使用した、 スレー

ブ シ リ アルまたは SelectMAP モードでの FPGA コンフ ィギュレーシ ョ ン』 からの抜粋です。

多数ある可能なインプリ メンテーシ ョ ンの 1 つです。

5. DONE ピンは、デフォルトでは内部プルアップ抵抗を持つオープン ド レイン出力です。外部プ

ルアップを追加するこ とを推奨します。DONE ピンには、BitGen の -g DriveDone オプシ ョ

ンを使用して有効にできる、 プログラム可能でアクティブなド ライバーがあ り ます。

6. INIT_B ピンは双方向オープン ド レイン ピンです。 外部プルアップ抵抗の使用を推奨します。

7. BitGen のスタート アップ ク ロ ッ ク設定では、CCLK を SelectMAP コンフ ィギュレーシ ョ ンに

設定する必要があ り ます。

8. 1 つの FPGA のみをコンフ ィギュレーシ ョ ンする場合、 かつリードバッ クが不要な場合は、

CSI_B および RDWR_B 信号を GND に接続できます。

9. スレーブ SelectMAP コンフ ィギュレーシ ョ ンの場合、データ バス幅は x8 または x16 が可能で

す。

10. VFS は XC6SLX75/T、XC6SLX100/T、および XC6SLX150/T デバイスで提供され、eFUSE プログラ ミ ングに使用されます。 詳細は、 94 ページの 「eFUSE」 を参照してください。

11. VBATT は XC6SLX75/T、XC6SLX100/T、および XC6SLX150/T デバイスで提供される、AESキーの格納用の電源です。AES 暗号が未使用の場合、VBATT は GND に接続するか、未接続の

ままでもかまいません。

12. VCCO_2 が 1.8V の場合、VCCAUX は 2.5V にする必要があ り ます。VCCO_2 が 2.5V の場合、

VCCAUX は 2.5V または 3.3V にできます。

13. 電源投入中およびコンフ ィギュレーシ ョ ン中は、 SUSPEND ピンを Low にする必要があ り ま

す。 Suspend 機能を使用しない場合、 SUSPEND ピンは GND に接続して ください。

SelectMAP データ読み込み

SelectMAP インターフェイスでは、 連続的または非連続的にデータを読み込むこ とが可能です。

データ読み込みは、 CSI_B、 RDWR_B、 および CCLK 信号で制御します。

CSI_B

チップ セレク ト入力 (CSI_B) は、 同期ワードが検出された後に SelectMAP バスを有効にします。

同期ワード検出前は、 D[0:n] ピンが CSI_B のステートに関係なく各クロ ッ ク エッジでサンプルさ

れます。 CSI_B は、 同期ワードの途中にディアサート しないよ うにしてください。 CSI_B が Highのと き、 Spartan-6 デバイスは SelectMAP インターフェイスを無視し、 入力データを保持した り、

出力を駆動するこ とはあ り ません。D[0:n] はハイ インピーダンスになり、RDWR_B は無視されま

す。

• CSI_B = 0 の場合、 デバイスの SelectMAP は有効

• CSI_B = 1 の場合、 デバイスの SelectMAP インターフェイスは無効

複数デバイスの SelectMAP コンフ ィギュレーシ ョ ンについては、 第 9 章 「ア ドバンス コンフ ィ

ギュレーシ ョ ン インターフェイス」 を参照してください。

SelectMAP インターフェイスでコンフ ィギュレーシ ョ ンされるデバイスが 1 つのみ、 かつリード

バッ クが不要な場合、またはギャング SelectMAP コンフ ィギュレーシ ョ ンが使用される場合は、第

Page 37: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 37UG380 (v2.2) 2010 年 7 月 30 日

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

9 章 「アドバンス コンフ ィギュレーシ ョ ン インターフェイス」 に示すよ うに、CSI_B 信号を GNDに接続できます。

RDWR_B

RDWR_B は Spartan-6 デバイスの入力であ り、 データ ピンが入力または出力かを選択します。

• RDWR_B = 0 の場合、 データ ピンは入力 (FPGA に書き込む)

• RDWR_B = 1 の場合、 データ ピンは出力 (FPGA から読み出す)

コンフ ィギュレーシ ョ ンの際は、RDWR_B を書き込み制御に設定 (RDWR_B = 0) しておく必要が

あ り ます。 リードバッ クを実行するには、CSI_B がディアサート されている間に RDWR_B を読み

出し制御に設定 (RDWR_B = 1) しておく必要があ り ます。 詳細は、 第 6 章 「 リードバッ クおよび

コンフ ィギュレーシ ョ ンの検証」 を参照してください。 リードバッ クが不要な場合、 RDWR_B はGND に接続するか、 SelectMAP ABORT 時のデバッグに使用できます。

CSI_B がディアサート されている場合、 RDWR_B 信号は無視されます。 データ ピンの 3 つのス

テートの読み出し /書き込み制御は非同期です。CSI_B がアサート されている間、RDWR_B を読み

出し (RDWR_B=1、 リードバッ ク ) に設定する と、 FPGA は CCLK と無関係に SelectMAP データ

をアクティブに駆動します。 CSI_B がアサート されている状態で RDWR_B を変更する と、 FPGAが非同期的に違反を検出して BUSY 信号を駆動するため、 ABORT とな り ます。 ステータス レジ

ス タは次の CCLK の立ち上が り エ ッ ジまで更新されません (155 ページの 「SelectMAP のABORT」 参照)。

CCLK

SelectMAP データ バスのすべての動作は、 CCLK に同期しています。 RDWR_B が書き込み制御

に設定されている場合 (RDWR_B = 0、 コンフ ィギュレーシ ョ ン)、FPGA は SelectMAP データ ピンを CCLK の立ち上がりエッジでサンプルします。RDWR_B が読み出し制御に設定されている場

合 (RDWR_B = 1、 リードバッ ク )、 FPGA は SelectMAP データ ピンを CCLK の立ち上がりエッ

ジで更新します。

スレーブ SelectMAP モードでは、 CCLK を停止するこ とによってコンフ ィギュレーシ ョ ンを中断

できます (39 ページの 「SelectMAP データの不連続読み込み」 参照)。

SelectMAP データの連続読み込み

データの連続読み出しは、 コンフ ィギュレーシ ョ ン コン ト ローラーからコンフ ィギュレーシ ョ ン

データ ス ト リームを中断なく供給可能なアプリ ケーシ ョ ンで実行されます。電源投入後、 コンフ ィ

ギュ レーシ ョ ン コン ト ローラーは、 RDWR_B 信号を書き込み制御 (RDWR_B = 0) に設定し、

CSI_B 信号をアサート (CSI_B = 0) して、 デバイスの BUSY を Low 駆動させます (この遷移は非

同期)。 CSI_B がアサー ト される前に RDWR_B を Low 駆動する必要があ り、 そ う しなければ

ABORT が発生します。 (155 ページの 「SelectMAP の ABORT」 参照)。

デバイスは、CCLK の次の立ち上がりエッジでデータ ピンのサンプリ ングを開始します。コンフ ィ

ギュレーシ ョ ンでは、バス幅が決定するまで D[0:15] ピンのみがサンプルされます。詳細は、78 ペー

ジの 「同期ワード /バス幅の自動検出」 を参照して ください。 バス幅が決定する と、 同期幅を検出

するために適切な幅のデータ バスがサンプルされます。同期ワードがデバイスに伝搬された後、 コ

ンフ ィギュレーシ ョ ンが開始します。

コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの読み込み後に、 デバイスはスタート アップ シーケン

スを開始します。デバイスは、ビッ ト ス ト リームで指定されたスタート アップ シーケンスで、DONE信号を High にアサート します (第 5 章の 「スタート アップ (手順 8)」 参照)。コンフ ィギュレーシ ョ

ン コン ト ローラーは、 スタート アップ シーケンスが完了するまで、 CCLK 信号を継続して送信す

Page 38: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

38 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

る必要があ り ます。 (DONE が High になった後でも、 CCLK 信号が数サイクル必要な場合があ り

ます (第 5 章の 「スタート アップ (手順 8)」 参照)。

CSI_B および RDWR_B 信号は、 コンフ ィギュレーシ ョ ン後にディアサートできますが、アサート

したま までもかまいません。 SelectMAP ポー ト がア ク テ ィ ブでな く なっているため、 こ こで

RDWR_B を ト グルしても ABORT は生じません。図 2-8 に、SelectMAP コンフ ィギュレーシ ョ ン

における連続的なデータ読み出しのタイ ミ ングを示します。

図 2-8 について説明します。

1. SelectMAP バスにデバイスが 1 つしかない場合、 CSI_B 信号を Low に接続できます。 CSI_Bが Low に接続されていないと きは、 随時アサート可能です。

2. リードバッ クが不要な場合は RDWR_B を Low に接続できます。CSI_B がアサート された後、

RDWR_B を ト グルしないよ うにして ください。 ト グルする と ABORT が生じます。 詳細は、

155 ページの 「SelectMAP の ABORT」 を参照してください。

3. モード ピンは、 INIT_B が High になったと きにサンプルされます。

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 信号はディアサートできます。

X-Ref Target - Figure 2-8

図 2-8 : x8 または x16 SelectMAP データの連続的な読み込み

PROGRAM_B

INIT_B

CCLK

CSI_B

RDWR_B

D[0:n]

UG380_c2_08_042909

Byte 0 Byte 1 Byte n

DONE

(1)

(2)

(3)

(4)

(5)

(6) (7) (8) (9)

(10)

(11)

(12)

Page 39: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 39UG380 (v2.2) 2010 年 7 月 30 日

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

12. CSI_B 信号がディアサート されたら、 RDWR_B をディアサートできます。

13. データ バスは x8 または x16 が可能です。

SelectMAP データの不連続読み込み

データの不連続読み込みは、コンフ ィギュレーシ ョ ン コン ト ローラーからコンフ ィギュレーシ ョ ン

データを連続的に供給できないアプリ ケーシ ョ ンで使用します。 たとえば、 新しいデータをフェッ

チする間コンフ ィギュレーシ ョ ンが停止するよ うなコン ト ローラーがこれに該当します。

コンフ ィギュレーシ ョ ンを一時停止させる方法は 2 つあり ます。1 つは CSI_B 信号をディアサート

する方法 (フ リーランニング CCLK 手法、 図 2-9) で、 も う 1 つは、 CCLK を停止する方法 (制御

CCLK 手法、 図 2-10) です。

図 2-9 について説明します。

1. RDWR_B を Low に駆動し、 D[0:n] ピンをコンフ ィギュレーシ ョ ンの入力と して設定します。

リードバッ クが不要な場合は RDWR_B を Low に接続できます。CSI_B がアサート された後、

RDWR_B を ト グルしないよ うにして ください。 ト グルする と ABORT が生じます。 詳細は、

155 ページの 「SelectMAP の ABORT」 を参照してください。CSI_B は、同期ワードの途中で

ディアサートできません。

2. INIT_B が High にト グルする と、 デバイスはコンフ ィギュレーシ ョ ン可能な状態とな り ます。

3. ユーザーが CSI_B 信号を Low にアサート して SelectMAP バスを有効にします。 SelectMAPバスにデバイスが 1 つしかない場合、CSI_B 信号を Low に接続できます。CSI_B が Low に接

続されていないと きは、 随時アサート可能です。

4. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。データ バス幅は x8 または x16 が可

能です。

5. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

6. ユーザーが CSI_B をディアサート し、 このバイ トは無視されます。

7. ユーザーが CSI_B をディアサート し、 このバイ トは無視されます。

8. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

9. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

10. ユーザーが CSI_B をディアサート し、 このバイ トは無視されます。

11. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

X-Ref Target - Figure 2-9

図 2-9 : フリーランニング CCLK 手法を使用した SelectMAP データの不連続読み込み

PROGRAM_B

INIT_B

CCLK

CSI_B

RDWR_B

DATA[0:n]

UG380_c2_09_042909

(2)

(4) (5) (6) (7) (8) (9) (10) (11) (12) (13)

(1)

(3)

Page 40: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

40 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

12. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

13. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

図 2-10 について説明します。

1. CSI_B がディアサート されている間、 データ ピンはハイ インピーダンス状態です。 データ バスは x8 または x16 が可能です。

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 モードの場合は、 81 ページの 「パラレル

バスのビッ ト順」 を参照して ください。 この規則の違いが、 カスタム コンフ ィギュレーシ ョ ン ソリ ューシ ョ ンを設計する際に混乱の元となる こ とがあ り ます。 表 2-4 に、 16 進数値 0xABCD をSelectMAP データ バスに読み込む方法を示します。

このよ うな一般的な規則と異なるデータ順でも問題なく扱えるアプリ ケーシ ョ ンもあ り ますが、 そ

うでない場合は、 ソース コンフ ィギュレーシ ョ ン データ ファ イルをビッ ト スワ ップして、 データ

X-Ref Target - Figure 2-10

図 2-10 : CCLK 制御手法を使用した SelectMAP データの不連続読み込み

CCLK

CSI_B

RDWR_B

DATA[0:n]

UG380_c2_10_042909

Byte 0 Byte 1 Byte n

(1)

(2)

(3)

(4) (5) (6)

表 2-4 : 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[0:7] は SelectMAP モードのデータ ピンです。

Page 41: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 41UG380 (v2.2) 2010 年 7 月 30 日

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

ス ト リームの各バイ ト内のビッ ト順を逆にした方が扱いやすくなるこ とがあ り ます。 このよ うなア

プリ ケーシ ョ ン用に、 ザイ リ ンクスの PROM ファ イル生成ソフ ト ウェアでは、 ビッ ト スワップし

た PROM ファ イルが生成可能です (77 ページの 「コンフ ィギュレーシ ョ ン ファ イルの形式」参照)。

表 2-5 に、 FPGA の x8 および x16 モードでのビッ ト順序を示します。

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

マスター シ リ アル ペリ フェラル インターフェイス (SPI) (図 2-11 参照) では、SPI シ リ アル フラ ッ

シュを使用してコンフ ィギュレーシ ョ ン データを格納できます。 Spartan-6 FPGA は、 接続されて

いる業界標準の SPI シ リ アル フラ ッシュ PROM から直接コンフ ィギュレーシ ョ ンされます。 SPIは標準の 4 線式インターフェイスですが、 さまざまな利用可能の SPI フラ ッシュ メモ リで多様な

読み出しコマンドおよびプロ ト コルが使用されています。 図 2-12 は、 データ幅が x1 または x2 のSPI コンフ ィギュレーシ ョ ンの接続を示したものです。 x2 デバイスでは、 D ピンが多目的ピンの

データ入出力ピンと して使用されるので、 x1 モードの場合と接続は同様です。 46 ページの図 2-13に SPI x4 の接続を示します。データ ピンを 2 つ追加して 4 ビッ トのデータ インターフェイス と し

ています。デイジー チェーン コンフ ィギュレーシ ョ ンは、SPI x1 モードでのみ利用できます。表 2-5に、 マスター SPI モードでの SPI フラ ッシュ PROM との接続に使用する FPGA ピンを示します。

iMPACT プログラ ミ ング ソフ ト ウェアには、 間接プログラムを使用して SPI シ リ アル フラ ッシュ

をプログ ラ ムする機能があ り ます。 これによ り、 iMPACT ソ フ ト ウ ェア と SPI フ ラ ッ シュ を

Spartan-6 デバイス経由で接続する新しい FPGA デザインがダウンロード されます。 以前の FPGAメ モ リ の内容は失われます。 サポー ト されている SPI フ ラ ッ シ ュ デバイ スの リ ス ト は、

http://japan.xilinx.com/support/documentation/sw_manuals/xilinx11/isehelp_start.htm でISE® ソフ ト ウェアのヘルプを開き、 「デバイスのコンフ ィギュレーシ ョ ンおよびプログラム」 の下

にある iMPACT ヘルプから 「SPI または BPI フラ ッシュ メモ リの間接プログラムの概要」 を参照

して ください。

詳細は、 アプリ ケーシ ョ ン ノート XAPP974 『Spartan-3A FPGA を使用した SPI シ リ アル フラ ッ

シュ PROM の間接プログラム』 を参照してください。

表 2-5 : Spartan-6 FPGA のビッ ト順

モードピン

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

x16 8 910

11

12

13

14

15

0 1 2 3 4 5 6 7

x8 0 1 2 3 4 5 6 7

Page 42: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

42 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

表 2-6 で、 SPI コンフ ィギュレーシ ョ ン インターフェイス の各ピンについて説明します。

X-Ref Target - Figure 2-11

図 2-11 : Spartan-6 FPGA の SPI コンフ ィギュレーシ ョ ン インターフェイス

DONE

CCLK

PROGRAM_B

INIT_B

DIN

M[1:0]

UG380_c2_11_051909

MOSI

CSO_B

表 2-6 : Spartan-6 FPGA SPI コンフ ィギュレーシ ョ ン インターフェイスで使用するピン

ピン名 FPGA の方向 説明 コンフ ィギュレーシ ョ ン中 コンフ ィギュレーシ ョ ン後

HSWAPEN 入力 ユーザー I/O プルアップ制御

コンフ ィギュレーシ ョ ン中に Low の場合、

すべての I/O ピンでプルアップ抵抗が、 対

応する I/O バンクの VCCO 入力に対して有

効になり ます。

0 : コンフ ィギュレーシ ョ ン中プルアップ

1 : プルアップなし

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

有効なレベルで駆動する

ユーザー I/O

M[1:0] 入力 モード セレク ト

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

択します。

M[1:0] = 2'b01

INIT_B が High のと きサン

プルされる

ユーザー I/O

MOSI/MISO[0]/CSI_B

出力/入力 マスター FPGA シ リ アル データ出力およ

びマスター FPGA シ リ アル データ入力

SPI フラ ッシュ PROM のスレーブ データ

入力ピンに接続します。

FPGA は SPI フラ ッシュ メモ リ に読み出 し コ マン ド

と、PROM のシ リアル デー

タ入力の開始アド レスを送

信する

ユーザー I/O

DIN/D0/MISO/MISO[1]

入力 マスター FPGA シ リ アル データ入力およ

びスレーブ SPI フラ ッシュ出力

SPI フラ ッシュ PROM のスレーブ データ

出力ピンに接続します。

FPGA は PROM のシ リ ア

ル データ出力からシ リ アル

データを受信する

ユーザー I/O

CSO_B 出力 マスター SPI チップ セレク ト出力

アクティブ Low です。 SPI フラ ッシュ

PROM のスレーブ セレク ト入力に接続し

ます。

HSWAPEN_B = 1 の場合、

この信号は外部プルアップ

抵抗を介して VCCO に接続

される

SPI フラ ッシュを無効にし、

MOSI、 DIN、 および CCLKピンを再度使用するため、 コ

ン フ ィ ギ ュ レーシ ョ ン後、

CSO_B を High に駆動する。

オプ シ ョ ン で、 こ の ピ ン、

MOSI、 DIN、 および CCLKを再度使用して、 SPI フラ ッ

シュ との通信を継続できる

Page 43: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 43UG380 (v2.2) 2010 年 7 月 30 日

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

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

FPGA 内部オシレーターで生成されます。

SPI フラ ッシュ PROM のスレーブ ク ロ ッ

ク入力に接続します。

PROM のクロ ッ ク入力を駆

動する

ユーザー I/O未使用の場合 High または

Low に駆動する

DOUT 出力 シ リ アル データ出力

複数の FPGA デイジー チェーン コンフ ィ

ギュレーシ ョ ンで使用されます。

1 つの FPGA を用いるデザ

イ ン で は使用 さ れ な い。

DOUT にはプルアップ抵抗

が付けられ、 アクテ ィブに

は駆動 し ない。 デ イ ジー

チェーン コンフ ィギュレー

シ ョ ンでは、 こ のピ ンは、

チェーン接続されている次

の FPGA の DIN 入力に接

続される

ユーザー I/O

INIT_B オープン ド レイン

双方向 I/O

初期化インジケーター

アクティブ Low です。 メモ リの初期化プロ

セス (ク リ ア) 中、 コンフ ィギュレーシ ョ ン

の開始時点で Low になり ます。 メモ リの初

期化の終了時点で リ リースされ、 このと き

モード ピンがサンプルされます。

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

はアクティブ。電源投入後、

SPI フラ ッシュ PROM が操

作可能な状態にな る ま で

2ms 以上必要な場合は、

PROM が準備完了になるま

で INIT_B を Low に保持す

POST_CRC が有効ではな

い、 または

POST_CRC_FLAG が無効

の場合はユーザー I/O。

INIT_B にプルアップ抵抗を

使用

DONE オープン ド レイン

双方向 I/O

FPGA コンフ ィギュレーシ ョ ン完了

コ ンフ ィ ギュ レーシ ョ ン中はア ク テ ィ ブ

Low です。 FPGA でコンフ ィギュレーシ ョ

ンが完了する と High になり ます。

Low の場合、 FPGA がコン

フ ィ ギュレーシ ョ ンされて

いないこ とを示す

専用。外部プルアップを介し

て High になる。 High の場

合、 FPGA のコンフ ィギュ

レーシ ョ ンが完了している

こ とを示す

PROGRAM_B 入力 FPGA のプログラム

アクティブ Low です。 500ns 以上 Low にアサート される と、 FPGA はコンフ ィギュ

レーシ ョ ン メモ リ をク リ アして DONE および INIT_B ピンを リセッ ト し、

PROGRAM_B が High になった後にコン

フ ィギュレーシ ョ ン プロセスを再開しま

す。

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

開始するには High にする

必要がある

PROGRAM_B を Low に駆

動して リ リースし、FPGA を再 度 プ ロ グ ラ ム す る。

PROGRAM_B を保持して

FPGA の I/O ピンをハイイ

ンピーダンス状態にする と、

SPI フラ ッシュ PROM ピン

の直接プログ ラ ムが可能に

なる

MISO[3:2] 入力 マスター FPGA シ リ アル データ入力およ

びスレーブ SPI データ出力

Fast-Read Quad Output (高速読み出し クアッ ド出力 )コマン ド を用いる場合にの

み使用

ユーザー I/O

表 2-6 : Spartan-6 FPGA SPI コンフ ィギュレーシ ョ ン インターフェイスで使用するピン (続き)

ピン名 FPGA の方向 説明 コンフ ィギュレーシ ョ ン中 コンフ ィギュレーシ ョ ン後

Page 44: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

44 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

図 2-12 について説明します。

1. 内部ピン終端および HSWAPEN の影響を受けるピンについては、 74 ページの表 5-2 を参照し

て ください。

2. デイジー チェーン コンフ ィギュレーシ ョ ン モードでは、 DOUT を下位 FPGA の DIN に接続

して ください。

3. CCLK の終端については、 57 ページの 「コンフ ィギュレーシ ョ ン ク ロ ッ ク (CCLK) のボード

レイアウ ト 」 を参照して ください。

4. フラ ッシュから FPGA へのデータパスには、オーバーシュート を 小限に抑えるために直列抵

抗の使用を検討して ください。 適切な抵抗値はシ ミ ュレーシ ョ ンで求めるこ とができます。

5. Spartan-6 FPGA の VCCO_2 電源電圧は SPI デバイスの VCC と同じ電圧である必要があ り ま

す。

X-Ref Target - Figure 2-12

図 2-12 : Spartan-6 FPGA の SPI コンフ ィギュレーシ ョ ン インターフェイス

UG380_c2_12_062510

VCCINT

CSO_B

VCCO_2

INIT_B

DIN

MOSI D

S

VCC

Q

C

GND

HSWAPEN

VCCO_0

CCLK

VCCO_1

NumonyxM25PxxSPI Flash

HOLD

M1

M0

DOUT

W

TMS

TDO

TCK

TDI

VCCAUX

Spartan-6 FPGA

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_2

2.4

4.7

330Ω

4.7

VCCO_0

VCCO_1

VCCO_2

VCCO_2

VCCO_2

VCCO_2

VCCO_2

Refer to the Notes following this figure for related information.

VCCAUX

VCCAUX

VFS

VBATTVFS

VBATT

SUSPEND

Page 45: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 45UG380 (v2.2) 2010 年 7 月 30 日

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

6. CSO_B および MOSI は、 CCLK の立ち下がりエッジで使用されます。

7. DIN は、 CCLK の立ち上がりエッジで使用されます。

8. SPI フラ ッシュ側には、Write Protect や Hold などの追加ピンがあ り、これらは FPGA コンフ ィ

ギュレーシ ョ ンでは使用されません (読み出し専用)。 SPI ベンダーの仕様に従って適切に切断

する必要があ り ます。

9. HSWAPEN が未接続のままか High に接続されている場合は、 CSO_B にプルアップ抵抗が必

要です。

10. ク ロ ッ ク ソースが内部オシレーターの場合、 CCLK の周波数は BitGen の ConfigRate オプ

シ ョ ンを使用して調節できます。外部ソースが使用されている場合は、56 ページの 「マスター

モードの外部コンフ ィギュレーシ ョ ン ク ロ ッ ク」 を参照してください。

11. DONE ピンは、 デフォルトでは内部プルアップを持つオープン ド レイン出力です。 外部プル

アップを追加するこ とを推奨します。DONE ピンには、BitGen の -g DriveDone オプシ ョ ン

を使用して有効にできる、 プログラム可能なアクティブなド ライバーがあ り ます。

12. DONE ピンを リ リースするスタート アップ サイクル前にデジタル ク ロ ッ ク マネージャー

(DCM) または PLL ロ ッ ク待機が有効になっている場合、 スタート アップ待機条件が満たされ

て DONE がリ リースされるまで、 FPGA はデータを出力し続けます。 マルチブート コンフ ィ

ギュレーシ ョ ン固有の注意点は、140 ページの 「マルチブート イ メージ間に必要なデータ空間」

を参照して ください。

13. 図 2-12 に Numonyx 社の SPI フラ ッシュ を示します。

詳細は、 http://japan.xilinx.com/support/documentation/sw_manuals/xilinx11/isehelp_start.htmで ISE® ソフ ト ウェアのヘルプを開き、 「デバイスのコンフ ィギュレーシ ョ ンおよびプログラ

ム」 の下にある iMPACT ヘルプから 「SPI または BPI フラ ッシュ メモ リの間接プログラムの

概要」 を参照して、 サポート されているデバイスを確認して ください。

14. VFS は XC6SLX75/T、XC6SLX100/T、および XC6SLX150/T デバイスで提供され、eFUSE プログラ ミ ングに使用されます。 詳細は、 94 ページの 「eFUSE」 を参照してください。

15. VBATT は XC6SLX75/T、XC6SLX100/T、および XC6SLX150/T デバイスで提供される、AESキーの格納用の電源です。AES 暗号が未使用の場合、VBATT は GND に接続するか、未接続の

ままでもかまいません。

16. VCCO_2 が 1.8V の場合、VCCAUX は 2.5V にする必要があ り ます。VCCO_2 が 2.5V の場合、

VCCAUX は 2.5V または 3.3V にできます。

17. 電源投入中およびコンフ ィギュレーシ ョ ン中は、 SUSPEND ピンを Low にする必要があ り ま

す。 Suspend 機能を使用しない場合、 SUSPEND ピンは GND に接続して ください。

Spartan-6 FPGA では、マスター シ リ アル モードでの SPI PROM の x4 コンフ ィギュレーシ ョ ンも

サポート されています。 詳細は、 図 2-13 を参照して ください。

Page 46: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

46 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

図 2-13 について説明します。

1. 図 2-13 に示す接続では、 Winbond W25Q SPI シ リーズ フラ ッシュ PROM が使用されていま

す。 クアッ ド出力を有効にするには、 デバイスがクアッ ド出力モードで伝送が可能となる前に

PROM の status_reg[9] のQE ビッ ト を 1 に設定する必要があ り ます。 この設定は iMPACT ソフ ト ウェアでのプログラム実行時に可能です。

2. CCLK は FPGA または外部クロ ッ ク ソースから供給されます。

3. PROGRAM_B、 INIT_B、 および M0 ピンにはデフォルトでプルアップが付いています。

4. x4 のソフ ト ウェア サポートには、 BitGen で x4 機能を有効にする必要があ り ます。

5. x4 出力を有効にするため SPI デバイスは特定のレジスタ設定でプログラムする必要があ り ま

す。 これは iMPACT で設定できます。

マスター SPI ベンダー自動検出およびエラー処理機能

SPI 読み出しコマンドは、初期デバイス コンフ ィギュレーシ ョ ン向けの読み出しコマンド ループを

用いて自動的に選択されます。図 2-14 に、 このアルゴ リズムを示します。 SPI x2 および x4 アプリ

ケーシ ョ ンでは、初期データの読み込みにこのシーケンスを使用します。 初のコマンド セッ トが

FPGA に発行された後、 この読み出しコマンドは Mode_Reg に変わり、 コンフ ィギュレーシ ョ ン

は IPROG コマンドを使用して x2 または x4 モードに変わり ます。 これらのモードを有効にするに

は、BitGen の spi_buswidth オプシ ョ ンで SPI x2 または x4 コマンドを設定する必要があ り ます。

マルチブート アプリ ケーシ ョ ンの場合、この読み出しコマンドは、Mode_Reg、General 2、General4 レジスタに含まれるマルチブート設定と共に使用されるよ うに手動で設定する必要があ り ます。

X-Ref Target - Figure 2-13

図 2-13 : マスター シリアルのクアッ ド ビッ ト SPI コンフ ィギュレーシ ョ ン

UG380_c2_13_052009

CLKCCLK

CS

DO (bit1)

WP (bit2)

HOLD (bit3)

MOSI/MISO[0]

CSO_B

DIN/D0/MISO/MISO[1]

MISO[2]

MISO[3]

WinbondW25Q SPI

Spartan-6Device

DI (bit0)

Page 47: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 47UG380 (v2.2) 2010 年 7 月 30 日

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

マスター SPI のタイ ミング波形

図 2-15 に、 デバイスが 初に発行する読み出しコマンドである、 SPI 読み出し (Opcode = 03H) を示します。 この読み出しコマンドで同期ワードが返されない場合は、 E8h の次の読み出しコマンド

がデバイスへ発行されます (図 2-16 参照)。

X-Ref Target - Figure 2-14

図 2-14 : 初期コンフ ィギュレーシ ョ ン中の読み出しコマンド ループ

Master Serial ModeSet Error Count = 0

Initiate SPI withOPCODE 0x03,

Address = 0

Sync Word in 512 Cycles?

CRC Error?

Config Passes,Startup Sequence

Configure Device

Initiate SPI withOPCODE 0xE8

Address = 0

No

Yes

Yes

Yes

YesNo

NoNo

Sync Word in 512 Cycles?

Increment ErrorCount

Error Count< 3?

Fail Configuration,Init = 0

UG380_c2_14_011310

X-Ref Target - Figure 2-15

図 2-15 : マスター SPI のタイ ミング図 (Opcode = 03h)

MOSI

DIN

CCLK

OPCODE 03H

10 2 7 12 29 39 4730

31

Address Bits A23-A0

Data Byte 2Data Byte 1 Data Byte 3

UG380_c2_15_052009

CSO_B

Page 48: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

48 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

マスター SPI デュアル (x2) およびクアッ ド (x4) 読み出しコマンド

Spartan-6 FPGA のマスター SPI コンフ ィギュレーシ ョ ン モードは、 クアッ ド I/O SPI をサポート

する Winbond W25Q フラ ッシュ メモ リのデュアル (x2) およびクアッ ド (x4) ビッ ト メモ リの読み

出しコマンドに対応しています。 ソフ ト ウェアでこのコンフ ィギュレーシ ョ ンを有効にするには、

BitGen の spi_buswidth オプシ ョ ンを使用して SPI x2 または x4 の BIT ファ イルを生成します。

FPGA は始め x1 モードでブートするため、 その後 x2 または x4 モードに切り替えます。

x2 モードでは、Fast-Read Dual Output (高速読み出しデュアル出力) (3Bh) 命令が発行されますが、

これは、 DO ピンだけでな く DO および DIO (MOSI) の 2 つのピンでデータが出力される点を除

き、 標準の Fast Read (高速読み出し) (0Bh) 命令と同じです。 これによ り、 デュアル出力から標準

SPI デバイスの 2 倍のレー ト でデータを伝送できます。 図 2-17 に、 デュアル読み出しコマン ド

(3Bh) で Winbond SPI フラ ッシュを使用する際のマスター シ リ アル SPI コンフ ィギュレーシ ョ ン

モードのタイ ミ ング図を示します。

x4 モードでは、Fast-Read Quad Output (高速読み出しクアッ ド出力) (6Bh) 命令が発行されますが、

これは、 DO ピンだけでなく、 4 つのピンでデータが出力される点を除き、 標準の Fast Read (高速

読み出し) (0Bh) 命令と同じです。 これによ り、 クアッ ド出力から標準 SPI デバイスの 4 倍のレー

トでデータを伝送できます。 図 2-18 に、 クアッ ド読み出しコマンド (6Bh) で Winbond SPI フラ ッ

シュを使用する際のマスター シ リ アル SPI コンフ ィギュレーシ ョ ン モードのタイ ミ ング図を示し

ます。

X-Ref Target - Figure 2-16

図 2-16 : マスター シリアル SPI のタイ ミング図 (Opcode = E8h)

CSO_B

MOSI

DIN

CCLK

OPCODE E8H

1 2 7 12 29 63 7130

31

Address Bits A23-A0 32 Dummy Cycles

Data Byte 1 Data Byte 2

UG380_c2_16_052009

X-Ref Target - Figure 2-17

図 2-17 : Winbond SPI デュアル読み出しコマンド (3Bh) のタイ ミング図

CSO_B

CCLK

Read Command 24-Bit Address DummyByte (8 Bits)

MOSI/MISO[0]

DIN/MISO[1]

UG380_c2_17_052009

D6 D4 D2 D0

D7 D5 D3 D1

Data Byte 1

Page 49: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 49UG380 (v2.2) 2010 年 7 月 30 日

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

パワーオン シーケンスに関する注意事項

電源を投入する と、FPGA でコンフ ィギュレーシ ョ ンが自動的に開始します。FPGA がマスター シリ アル SPI コンフ ィギュレーシ ョ ン モードの場合、CSO_B を Low にアサート して SPI フラ ッシュ

を選択し、 この SPI フラ ッシュへの読み出しコマンドを駆動します。 SPI フラ ッシュは、 CSO_Bが Low にアサート されて読み出しコマンドが送信される前に、 コマンドを受信可能な状態になっ

ている必要があ り ます。

FPGA と SPI フラ ッシュには異なる電源レールから電源が供給でき、同じ電源を使用した場合でも

異なる立ち上がり地点で応答するこ とがあるため、FPGA と SPI フラ ッシュのパワーオン シーケン

ス と電源の立ち上がりには注意が必要です。 パワーオン シーケンスや電源の立ち上がりによって

は、 FPGA が SPI フラ ッシュの前に、 あるいは SPI フラ ッシュが FPGA の前に立ち上がるこ とが

あ り ます。また、一部の SPI フラ ッシュ デバイスでは電源投入からデバイスが選択可能になるまで

の 小時間 (通常は数ミ リ秒) が指定されているこ とがあ り、この間はデバイスを選択しないよ うに

する必要があ り ます。電源の立ち上がりがほぼ同時の多くのシステムでは、FPGA のパワーオン リセッ ト時間 (TPOR) を使用して FPGA の コンフ ィギュレーシ ョ ンの開始を遅らせ、 SPI フラ ッシュ

の準備が完了するよ うにできます。一般にシステムを設計する際は、 パワーオン シーケンス、電源

の立ち上がり、FPGA パワーオン リセッ トのタイ ミ ング、および SPI フラ ッシュの電源投入のタイ

ミ ングが、FPGA コンフ ィギュレーシ ョ ンの開始と SPI フラ ッシュの準備完了のタイ ミ ングの関係

にどのよ うに影響するかを考慮する必要があ り ます。 Spartan-6 FPGA の電源要件およびタイ ミ ン

グの詳細は、データシート DS162 『Spartan-6 FPGA データシート : DC 特性およびスイ ッチ特性』

を参照して ください。 SPI フラ ッシュの電源投入のタイ ミ ング要件は、SPI フラ ッシュのデータシー

ト を参照して ください。

FPGA がコンフ ィギュレーシ ョ ンを開始する前に SPI フラ ッシュを確実にコマンド受信可能な状

態にするには、 次のいずれかの手法でシステムを設計するよ うにします。

• FPGA のコンフ ィギュレーシ ョ ンが開始する前に SPI フラ ッシュに電源が投入されて非同期

読み出しが可能な状態になるよ う、 パワーオン シーケンスを制御する

• 電源投入時から FPGA の PROGRAM_B ピンを Low のまま保持して FPGA のコンフ ィギュ

レーシ ョ ンの開始を遅らせ、 SPI フラ ッシュに電源が完全に投入されてコマンドを受信できる

よ うになった後 PROGRAM_B ピンを High にする

X-Ref Target - Figure 2-18

図 2-18 : Winbond SPI クアッ ド読み出しビッ ト コマンド (6Bh) のタイ ミング図

CSO_B

Read Command 24-Bit Address D4 D0 D4 D0

D5 D1 D5 D1

D6 D2 D6 D2

D7 D3 D7 D3

DummyByte (8 Bits)

CCLK

MOSI/MISO[0]

DIN/MISO[1]

MISO[2]

MISO[3]

UG380_c2_18_052009

D0–D7 Data Byte 1 This corresponds with the first two columns of data.Next D0–D7 Data Byte 2 This corresponds with the last two columns of data.

Page 50: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

50 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

• 電源投入時から FPGA の INIT_B ピンを Low のまま保持して FPGA のコンフ ィギュレー

シ ョ ンの開始を遅らせ、 SPI フラ ッシュがコマンドを受信できるよ うになった後 INIT_B ピン

を High にする

SPI フラ ッシュを使用した FPGA のコンフ ィギュレーシ ョ ン方法および iMPACT ソフ ト ウェアを

使用したシステム内の SPI プログラム方法については、 アプ リ ケーシ ョ ン ノート XAPP951 『SPIシ リ アル フラ ッシュを使用したザイ リ ンクス FPGA のコンフ ィギュレーシ ョ ン』 を参照して くだ

さい。

SPI シリアル デイジー チェーン

シ リ アル デイジー チェーン アプリ ケーシ ョ ンでは、 初のデバイスを SPI モードに設定し、 すべ

ての下位デバイスをスレーブ シ リ アル モードに設定できます。 この場合、 すべてのコンフ ィギュ

レーシ ョ ン ビッ ト ス ト リームは、 1 つの SPI デバイス内部に格納可能です。マスターおよびスレー

ブ デイジー チェーンのビッ ト ス ト リーム形式は、 完全に同一です。 詳細は、 147 ページの 「シ リ

アル デイジー チェーン」 を参照してください。

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

図 2-19 に示すマスター バイ ト幅ペリ フェラル インターフェイス (BPI) では、Spartan-6 FPGA ファ

ミ リ を業界標準のパラレル NOR フラ ッシュからコンフ ィギュレーシ ョ ンできます (図 2-20 参照)。Spartan-6 FPGA では、 大 512Mb のパラレル NOR フラ ッシュがサポート され、 大 26 のアド

レス信号を使用してアクセスできます。 コンフ ィギュレーシ ョ ンで使用するフラ ッシュの 大サイ

ズを制限するアドレス信号の数は、 Spartan-6 デバイスおよびパッケージによって異なり ます。

BPI には次のよ うな注意点があ り ます。

• マスター BPI コンフ ィギュレーシ ョ ン インターフェイスがターゲッ トの場合、 バンク 1 にあ

る メモ リ コン ト ローラー ブロ ッ ク (MCB-M1) は使用できません。 このデザインでは、 MCBの多目的ピンまたは BPI コンフ ィギュレーシ ョ ン インターフェイスの多目的ピンのいずれか

を使用できますが、 両方は使用できません。

• XC6SLX25/T デバイスは BPI インターフェイスをサポート していません。

• XC6SLX4 デバイスおよび TQG144 および CPG196 パッケージの Spartan-6 FPGA は BPI インターフェイスをサポート しません。

• CSG225 パッケージでは、アドレス コンフ ィギュレーシ ョ ン ピン A22 および A23 を使用でき

ません。

iMPACT プログラ ミ ング ソフ ト ウェアには、 間接プログラムを使用して ト ップブー ト パラレル

NOR フラ ッシュをプログラムする機能があ り ます。 Spartan-6 デバイスを介して iMPACT ソフ ト

ウェアからフラ ッシュ デバイスへの接続が可能になるよ う、 FPGA デザインに IP を追加する必要

があ り ます。 サポート されている BPI デバイスのリ ス トは、

http://japan.xilinx.com/support/documentation/sw_manuals/xilinx11/isehelp_start.htm を参照し、

ISE ソフ ト ウェアのヘルプを開き、「デバイスのコンフ ィギュレーシ ョ ンおよびプログラム」 の下に

ある iMPACT ヘルプから 「SPI または BPI フラ ッシュ メモ リの間接プログラムの概要」 を参照し

て ください。

詳細は、 アプリ ケーシ ョ ン ノート XAPP973 『Virtex-5 FPGA を使用した BPI PROM の間接プロ

グラム』 を参照して ください。

FPGA は 大 26 のアド レス ラ インを駆動して、 接続されたパラレル フラ ッシュにアクセスしま

す。 このコンフ ィギュレーシ ョ ンでは、 非同期読み出しモードのみが使用でき、 FPGA がアドレス

バスを駆動してこれに対してフラ ッシュ PROM がビッ ト ス ト リーム データを駆動します 。サポー

Page 51: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 51UG380 (v2.2) 2010 年 7 月 30 日

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

ト されているバス幅は x8 および x16 です。 パラレル NOR フラ ッシュで x8 と x16 の両方のデー

タ幅がサポート されている場合、 BYTE# 信号を必要な幅に応じて適切なレベルに接続するこ とが

必要です。 78 ページの 「同期ワード /バス幅の自動検出」 で説明されているよ うに、 バス幅は自動

で検出されます。

マスター BPI モードでパラレル NOR フラ ッシュ デバイスが使用されている と き、 CCLK 出力は

このフラ ッシュ デバイスに接続されません。 しかし、 フラ ッシュ データは CCLK の立ち上がり

エッジでサンプルされます。 詳細は、 57 ページの 「コンフ ィギュレーシ ョ ン ク ロ ッ ク (CCLK) のボード レイアウ ト 」 を参照して ください。 BPI に関連するタイ ミ ング パラ メーターは、 CCLK を基準クロ ッ ク と します。

マスター BPI モードでは、 アドレスは 0 から開始し、 DONE ピンがアサート されるまで 1 ずつ増

加します。 アドレスが 大値 26’h3FFFFFF に達しても、 コンフ ィギュレーシ ョ ンが完了していな

い場合 (DONE がアサート されていない)、 カウンターはラ ップアラウンド し、 0 からも う一度カウ

ン ト を開始します。

表 2-7 で、 BPI コンフ ィギュレーシ ョ ン インターフェイスのピンについて説明します。

FPGA がパラレル NOR フラ ッシュからのコンフ ィギュレーシ ョ ン中に再プログラムされる場合、

INIT ピンを BPI リセッ トに接続して BPI を既知の状態に設定できます。

X-Ref Target - Figure 2-19

図 2-19 : Spartan-6 FPGA BPI コンフ ィギュレーシ ョ ン インターフェイス

UG380_c2_25_121109

HSWAPEN

INIT_B

D[15:0]

M[1:0]

PROGRAM_B

CCLK

A[25:0]

CSO_B

DONE

FWE_B

FCS_B

FOE_B

表 2-7 : Spartan-6 FPGA BPI コンフ ィギュレーシ ョ ン インターフェイス ピン

ピン名 タイプ 専用/多目的 説明

M[1:0] 入力 多目的 モード ピンは、パラレル NOR フラ ッシュでコンフ ィギュレーシ ョ ンされ

る場合、 マスター BPI モードの 00 に設定されます。

00 = マスター BPI モード

HSWAPEN 入力 多目的 コンフ ィギュレーシ ョ ン中 I/O プルアップ抵抗を制御します。 弱いプル

アップ抵抗が付いています。

0 = コンフ ィギュレーシ ョ ン中にプルアップ

1 = コンフ ィギュレーシ ョ ン中に ト ラ イステート

DONE 双方向、

オープン ド レイン、

または

アクティブ

専用 コンフ ィギュレーシ ョ ンの完了を示すアクティブ High の信号です。

0 = FPGA コンフ ィギュレーシ ョ ン未完了

1 = FPGA コンフ ィギュレーシ ョ ン完了

Page 52: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

52 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

INIT_B 入力または

出力、

オープン ド レイン

多目的 モード ピンのサンプル前は入力となり、 Low に保持するこ とでコンフ ィ

ギュレーシ ョ ンを遅延させるこ とができます。 モード ピンのサンプル後

はオープン ド レインのアクティブ Low 入力となり、 コンフ ィギュレー

シ ョ ン中の CRC エラーの有無を示します。

0 = CRC エラー

1 = CRC エラーなし

SEU 検出機能が有効になっている場合、リードバッ ク CRC エラーが検出

される と、 オプシ ョ ンで INIT_B が Low に駆動されます。

PROGRAM_B 入力 専用 アクティブ Low の非同期フルチップ リセッ トです。

CCLK 出力 多目的 コンフ ィギュレーシ ョ ン ク ロ ッ ク出力です。パラレル NOR フラ ッシュに

は直接接続せず、アドレスおよびサンプル読み出しデータを生成するため

に内部で使用します。

FCS_B 出力 多目的 アクティブ Low のフラ ッシュ チップ セレク ト出力です。 コンフ ィギュ

レーシ ョ ン中はアクティブに Low に駆動され、 コンフ ィギュレーシ ョ ン

後はト ライステートになり ます。 このピンには、 コンフ ィギュレーシ ョ ン

中は弱いプルアップ抵抗があ り ます。デフォルトでは、 コンフ ィギュレー

シ ョ ン後に弱いプルダウン抵抗が有効になり ます。

FOE_B 出力 多目的 アクティブ Low のフラ ッシュ出力イネーブルです。 コンフ ィギュレー

シ ョ ン中はアクティブに Low に駆動され、 コンフ ィギュレーシ ョ ン後は

ト ライステートになり ます。 このピンには、 コンフ ィギュレーシ ョ ン中は

弱いプルアップ抵抗があ り ます。デフォルトでは、 コンフ ィギュレーシ ョ

ン後に弱いプルダウン抵抗が有効になり ます。

FWE_B 出力 多目的 アクティブ Low のフラ ッシュ ライ ト イネーブルです。コンフ ィギュレー

シ ョ ン中はアクティブに High に駆動され、 コンフ ィギュレーシ ョ ン後は

ト ライステートになり ます。 このピンには、 コンフ ィギュレーシ ョ ン中は

弱いプルアップ抵抗があ り ます。デフォルトでは、 コンフ ィギュレーシ ョ

ン後に弱いプルダウン抵抗が有効になり ます。

A[25:0] 出力 多目的 アドレス出力

D[15:0] 入力 多目的 データ入力で、FPGA の CCLK の立ち上がりエッジでサンプルされます。

CSO_B 出力 多目的 パラレル デイジー チェーンのアクティブ Low チップ セレク ト出力です。

FPGA が 1 つのアプリ ケーシ ョ ンでは使用されません。

HDC 出力 多目的 HDC (High During Configuration) は、コンフ ィギュレーシ ョ ン中は Highとな り、バイ ト幅出力と 16 ビッ ト出力を制御するためにフラ ッシュ デバ

イスに接続できます。

LDC 出力 多目的 LDC (Low During Configuration) は、 コンフ ィギュレーシ ョ ン中は Lowとな り、バイ ト幅出力と 16 ビッ ト出力を制御するためにフラ ッシュ デバ

イスに接続できます。

表 2-7 : Spartan-6 FPGA BPI コンフ ィギュレーシ ョ ン インターフェイス ピン (続き)

ピン名 タイプ 専用/多目的 説明

Page 53: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 53UG380 (v2.2) 2010 年 7 月 30 日

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

図 2-20 について説明します。

1. 内部ピン終端および HSWAPEN の影響を受けるピンについては、 74 ページの表 5-2 を参照し

て ください。

2. CCLK ネッ トにはテブナン並列終端が必要です。詳細は、57 ページの 「コンフ ィギュレーシ ョ

ン ク ロ ッ ク (CCLK) のボード レイアウ ト 」 を参照してください。

3. M[1:0] = 00 の場合、 マスター BPI モードです。

4. 図 2-20 に、 x16 BPI インターフェイスを示します。 x8 BPI インターフェイスでは D[7:0] のみ

が使用されます。 詳細は、 78 ページの 「同期ワード /バス幅の自動検出」 を参照してください。

X-Ref Target - Figure 2-20

図 2-20 : Spartan-6 FPGA のマスター BPI コンフ ィギュレーシ ョ ン インターフェイス

UG380_c2_19_062510

TMS

TDO

TCK

TDI

VCCINT

VCCAUX

FWE_B

CCLK

CSO_B

INIT_B

FOE_B

FCS_B

PROGRAM_B

DONE

VCCO_2

CE#

WE#

VCCO

OE#

M1

M0

VCCO_0

VCCO_1VCCO_0

VCCO_1

x8/x16Parallel NOR

Flash

DOUT/BUSYHDCLDC

3.3V

GND

GND

A[25:0]

D[15:8]

BYTE#

D [15:8]

PROGRAM_B

1

14

Xili

nx C

able

Hea

der

(JT

AG

Inte

rfac

e)

VREF

TMS

TCK

TDO

TDI

N.C.

N.C.

A[n:0]

D[7:0]D[7:0]

Spartan-6 FPGA

HSWAPEN

VCCAUX

VCCO_1

VCCO_2

VCCO_2

VCCAUX

VCCO_1

4.7

4.7

4.7

4.7

330Ω

4.7

kΩRefer to the Notes following this figure for related information.

VFS

VBATTVFS

VBATT

SUSPEND

Page 54: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

54 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

5. VCCO_1 および VCCO_2 は、フラ ッシュ デバイスと通信するため、同じ電圧である必要があ

り ます。

6. A24 および A25 は、デバイスによって I/O バンク 5 に配置できます。選択したデバイスのピン

配置を参照して ください。

7. データ ピンへのビッ ト ス ト リームの送信は、 SelectMAP モードのビッ ト スワップと同じ規則

に従います。 詳細は、 81 ページの 「パラレル バスのビッ ト順」 を参照してください。

8. フラ ッシュ プログラ ミ ングが不要な場合は、 FCS_B、 FOE_B、 および FWE_B を別々に接続

できます。 つま り、 DONE を FCS_B、 FOE_B を Low に、 そして FWE_B を High に接続可

能です。

9. CCLK 出力はフラ ッシュの接続には使用されませんが、 コンフ ィギュレーシ ョ ン中にフラ ッ

シュの読み出しデータのサンプルに使用されます。すべてのタイ ミ ングは CCLK を基準と して

います。 CCLK ピンを駆動したり、 High または Low に接続しないでください。

10. HSWAPEN が未接続のままか High に接続されている場合は、 FCS_B にはプルアップ抵抗が

必要です。

11. DONE ピンは、 デフォルトでは内部プルアップを持つオープン ド レイン出力です。 外部プル

アップを追加するこ とを推奨します。 DONE ピンには、 BitGen のオプシ ョ ン -g DriveDone を使用して有効にできる、プログラム可能でアクティブなド ライバーがあ り ま

す。

12. 140 ページの 「マルチブート イ メージ間に必要なデータ空間」 では、DCM または PLL のロ ッ

ク待機が有効になる場合について説明しています。

13. FPGA を BPI モードでデイジー チェーン接続する方法は、第 9 章 「アドバンス コンフ ィギュ

レーシ ョ ン インターフェイス」 を参照してください。

14. 実際のフラ ッシュ信号の接続については、 パラレル NOR フラ ッシュ ベンダー提供のデータ

シート を参照して ください。 アドレスが正し く揃う よ うにするため、 使用するバイ ト / ワード

モードに関してフラ ッシュ ファ ミ リのアドレス LSB に十分注意してください。 すべてのフ

ラ ッシュ ファ ミ リでアドレス LSB に A0 が使用されているわけではあ り ません。

15. ク ロ ッ ク ソースが内部オシレーターの場合、 CCLK の周波数は BitGen の ConfigRate オプ

シ ョ ンを使用して調節できます。 外部クロ ッ ク ソースが使用されている場合は、 56 ページの

「マスター モードの外部コンフ ィギュレーシ ョ ン ク ロ ッ ク」 を参照してください。

16. VFS は XC6SLX75/T、XC6SLX100/T、および XC6SLX150/T デバイスで提供され、eFUSE プログラ ミ ングに使用されます。 詳細は、 94 ページの 「eFUSE」 を参照してください。

17. VBATT は XC6SLX75/T、XC6SLX100/T、および XC6SLX150/T デバイスで提供される、AESキーの格納用の電源です。AES 暗号が未使用の場合、VBATT は GND に接続されるか、未接続

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

18. VCCO_2 が 1.8V の場合、VCCAUX は 2.5V にする必要があ り ます。VCCO_2 が 2.5V の場合、

VCCAUX は 2.5V または 3.3V にできます。

19. 電源投入中およびコンフ ィギュレーシ ョ ン中は、 SUSPEND ピンを Low にする必要があ り ま

す。 Suspend 機能を使用しない場合、 SUSPEND ピンは GND に接続して ください。

Page 55: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 55UG380 (v2.2) 2010 年 7 月 30 日

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

図 2-21 に、 BPI コンフ ィギュレーシ ョ ンの波形を示します。

図 2-21 について説明します。

1. BPI モードでは CCLK は出力です。 パラレル NOR フラ ッシュには CCLK は必要あ り ません

が、 Spartan-6 FPGA は CCLK の立ち上がりエッジを使用して D[n:0] ピンをサンプルします。

2. DONE ピンが High になる と、Spartan-6 FPGA はビッ ト ス ト リームの読み込みを停止します。

3. DONE ピンが High になる と、Spartan-6 FPGA はビッ ト ス ト リームの読み込みを停止します。

これは、 デフォルトでは DONE が High になった 1 サイクル後です。

4. D[n:0] の n は 7 または 15 です。 A[n:0] の n は 大 25 までの値です。

5. FCS_B、 FOE_B、および FWE_B には、 コンフ ィギュレーシ ョ ン後、 I/O 制約または外部プル

アップ抵抗によって弱いプルアップ抵抗を付ける必要があ り ます。

6. マスター BPI の 初のアドレス 0 は、 初期レイテンシのため複数サイクル間継続します。

パワーオン シーケンスに関する注意事項

電源を投入する と、 FPGA でコンフ ィギュレーシ ョ ンが自動的に開始します。 FPGA がマスター

BPI コンフ ィギュレーシ ョ ンモードの場合、 FCS_B が Low にアサート され、 アドレスのシーケン

スが駆動されてパラレル NOR フラ ッシュのビッ ト ス ト リームが読み出されます。 パラレル NORフラ ッシュで保存されているビ ッ ト ス ト リームが正し く出力される よ う にするため、 FCS_B がLow にアサート され、 初のアドレスが送信される前に、 パラレル NOR フラ ッシュが非同期読み

出し可能な状態になっている必要があ り ます。

FPGA とパラレル NOR フラ ッシュには異なる電源レールから電源を供給でき、 また同じ電源が使

用されている場合でも異なる立ち上がり地点で応答するこ とがあるため、 FPGA とパラレル NORフラ ッシュのパワーオン シーケンス と電源の立ち上がりには注意が必要です。パワーオンシーケン

スまたは電源の立ち上がりによっては、 FPGA がパラレル NOR フラ ッシュの前に、 またはパラレ

ル NOR フラ ッシュが FPGA の前に立ち上がるこ とがあ り ます。電源の立ち上がりがほぼ同時の多

くのシステムでは、 FPGA のパワーオン リセッ ト時間 (TPOR) を使用して FPGA の コンフ ィギュ

レーシ ョ ンの開始を遅らせ、 パラレル NOR フラ ッシュの準備が完了するよ うにできます。 一般に

X-Ref Target - Figure 2-21

図 2-21 : Spartan-6 FPGA の BPI コンフ ィギュレーシ ョ ンの波形

10

CCLK

INIT_B

FCS_B

FOE_B

FWE_B

A[n:0]

D[n:0]

DONE

2 3 n

DnD3D2D1D0

UG380_c2_20_052109

Page 56: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

56 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

システムを設計する際は、 パワーオン シーケンス、 電源の立ち上がり、 FPGA パワーオン リ セッ

トのタイ ミ ング、およびパラレル NOR フラ ッシュの電源投入のタイ ミ ングが、FPGA コンフ ィギュ

レーシ ョ ンの開始とパラレル NOR フラ ッシュで非同期読み出しの準備が完了するタイ ミ ングの関

係にどのよ うに影響するかを考慮する必要があ り ます。 Spartan-6 FPGA の電源要件およびタイ ミ

ングの詳細は、 『Spartan-6 FPGA データシート : DC 特性およびスイ ッチ特性』 ( DS162) を参照し

て ください。

FPGA がコンフ ィギュレーシ ョ ンを開始する前にパラレル NOR フラ ッシュを確実に非同期読み出

し可能な状態にするには、 次のいずれかの手法でシステムを設計するよ うにします。

• FPGA のコンフ ィギュレーシ ョ ンが開始する前にパラレル NOR フラ ッシュに電源が投入され

て非同期読み出しが可能な状態になるよ う、 パワーオン シーケンスを制御する

• 電源投入時から FPGA の PROGRAM_B ピンを Low のまま保持して FPGA のコンフ ィギュ

レーシ ョ ンの開始を遅らせ、 パラレル NOR フラ ッシュに電源が完全に投入されて非同期読み

出し可能になった後 PROGRAM_B ピンを High にする

• 電源投入時から FPGA の INIT_B ピンを Low のまま保持して FPGA コンフ ィギュレーシ ョ

ンの開始を遅らせ、パラレル NOR フラ ッシュが非同期読み出し可能になった後に、INIT_B ピンを High にする

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

デフォルトで、Spartan-6 FPGA は内部生成されたクロ ッ ク ソースを使用してマスター モードのコ

ンフ ィギュレーシ ョ ンを実行します。 しかし、 Spartan-6 FPGA では、 マスター モードのコンフ ィ

ギュレーシ ョ ン中に外部クロ ッ ク ソースに動的に切り替える機能がサポート されています。外部ク

ロ ッ ク ソースは、高速で安定したコンフ ィギュレーシ ョ ンが必要なアプリ ケーシ ョ ンに適していま

す。

USERCCLK は多目的ピンで、 コンフ ィギュレーシ ョ ン後にアプリ ケーシ ョ ンで使用可能です。 マ

スター モード コンフ ィギュレーシ ョ ン中にこの外部クロ ッ ク ソースを有効にするには、BitGen のExtMasterCclk_en オプシ ョ ンを使用し ます。 USERCCLK 周波数は BitGen の

ExtMasterCclk_divide オプシ ョ ンを使用して分周できます。使用可能な値は 1 (デフォルト ) および 2 ~ 1022 までのすべての偶数値です。 USERCCLK の I/O 規格は 8mA の LVCMOS25 Slowスルー レートです。 コンフ ィギュレーシ ョ ンは FPGA 内部オシレーターで生成された CCLK で開

始します。 コンフ ィギュレーシ ョ ン ク ロ ッ ク レジスタ設定がビッ ト ス ト リームで達成される と、

FPGA は内部オシレーターから USERCCLK のク ロ ッ クに切り替えます (BitGen のオプシ ョ ン

ExtMasterCclk_divide での設定どおり )。 ク ロ ッ ク マルチプレクサーは、 遷移中にグ リ ッチな

しの出力クロ ッ クを生成するよ うに設計されています。

表 2-8 : Spartan-6 の外部コンフ ィギュレーシ ョ ン クロック インターフェイスで使用するピン

ピン名 タイプ 専用/ 多目的 説明

USERCCLK 入力 多目的 すべてのマスター コンフ ィギュ

レーシ ョ ン モードの外部コンフ ィ

ギュレーシ ョ ン ク ロ ッ ク ソース

Page 57: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 57UG380 (v2.2) 2010 年 7 月 30 日

コンフ ィギュレーシ ョ ン クロック (CCLK) のボード レイアウト

コンフ ィギュレーシ ョ ン クロック (CCLK) のボード レイアウト

Spartan-6 FPGA のコンフ ィギュレーシ ョ ン I/O は、 LVCMOS25 Slow スルー レートの 8mA I/O規格を採用しています。 この場合、 シグナル インテグ リティを向上させるために PCB ト レース配

線および終端処理を適切に行う必要があ り ます。

基本的なガイ ド ラインは次のとおりです。

• 50Ω 制御のインピーダンス伝送ラインと して CCLK ネッ ト を配線します。

• CCLK ネッ トは、 常に分岐させずに配線します。 図 2-25 に示すようなスター トポロジは使用しな

いでください。

• 必要に応じて、 8mm (0.3 インチ) 未満のタブを使用してください。

• CCLK 伝送ラインの終端は、 VCCO に 100Ω、 および GND に 100Ω の並列終端処理をします

(VCCO/2 のテブナン終端と同等、 ト レース特性インピーダンスは 50Ω とする)。

• マスター コンフ ィギュレーシ ョ ン モードでは、 CCLK ピンがデザイン内で未使用の場合は駆

動されません。 このピンがフロート しないよ うに、 ロジッ ク レベルに駆動してください。

マスター FPGA の CCLK を含む各 CLK 入力および出力のグ リ ッチをチェッ クするため、 IBIS シミ ュレーター (HyperLynx など) を使用して CCLK の分配をシ ミ ュレーシ ョ ンして ください。

図 2-22 ~ 図 2-25 に、 CCLK 分配に使用する推奨トポロジを示します。

図 2-22 は、CCLK ド ラ イバー (FPGA マスタ-) および CCLK レシーバー (PROM または FPGA スレーブ) が 1 つずつの基本的なポイン ト ツー ポイン ト ト ポロジです。

X-Ref Target - Figure 2-22

図 2-22 : ポイン ト ツー ポイン ト : 1 つの CCLK 出力、 1 つの CCLK 入力

CCLK Output = Master FPGACCLK Input = PROM or Slave FPGA

CCLKOutput

UG380_c2_21_062510

Z0 (50Ω)

CCLKInput

Z0 (50Ω

)

2 x Z0 (100Ω)

2 x Z0 (100Ω)

VCCO_2

Page 58: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

58 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

図 2-23 は、1 つの CCLK ド ラ イバー、2 つの CCLK レシーバーの基本的なマルチド ロ ップ フライ

バイ ト ポロジです。 CCLK 入力 1 のスタブの長さに制約があ り ます。

図 2-24 は、 1 つの CCLK ド ラ イバーおよび CCLK レシーバーが 3 つ以上 (この例では 4 つ) のマ

ルチド ロ ップ フライバイ ト ポロジです。 入力 4 を除く、 すべての CCLK 入力のスタブの長さに制

約があ り ます。

X-Ref Target - Figure 2-23

図 2-23 : マルチドロップ : 1 つの CCLK 出力、 2 つの CCLK 入力

CCLKOutput

Z0 (50Ω)

CCLKInput 2

Z0 (50Ω

)

CCLKInput 1

Z0 (50Ω

)

2 x Z0 (100Ω)

2 x Z0 (100Ω)

VCCO_2

Z0 (50Ω)

Length < 8 mm

UG380_c2_22_062510

X-Ref Target - Figure 2-24

図 2-24 : マルチドロップ : 1 つの CCLK 出力、 3 つ以上の CCLK 入力

CCLK Output

Z0 (50Ω)

CCLK Input 4

Z0 (50Ω

)

2 x Z0 (100Ω)

2 x Z0 (100Ω)

VCCO_2

Z0 (50Ω)

Z0 (50Ω

)

CCLK Input 2

length < 8 m

m

Z0 (50Ω)

Z0 (50Ω

)

CCLK Input 3

length < 8 m

m

Z0 (50Ω)

Z0 (50Ω

)

CCLK Input 1

Length < 8 m

m

UG380_c2_23_062510

Page 59: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 59UG380 (v2.2) 2010 年 7 月 30 日

コンフ ィギュレーシ ョ ン クロック (CCLK) のボード レイアウト

図 2-25 は、 伝送ラ インが複数の CCLK 入力に分岐しているスター ト ポロジです。 分岐点でイン

ピーダンスの不連続が生じるため、 この トポロジは推奨されていません。

X-Ref Target - Figure 2-25

図 2-25 : 推奨されていないスター トポロジ : 1 つの CCLK 出力、 2 つの CCLK 入力

CCLKOutput

UG380_c2_24_042909

Z0

ImpedanceDiscontinuity

Z0

CCLKInput 1

Z0

CCLKInput 2

Page 60: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

60 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

Page 61: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 61UG380 (v2.2) 2010 年 7 月 30 日

第 3 章

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

概要

Spartan®-6 デバイスでは、 テス ト アクセス ポート (TAP) およびバウンダ リ スキャン アーキテク

チャを定義する IEEE 1149.1 規格がサポート されています。この規格は、ボード レベルでの個々の

コンポーネン トの統合とそれらの接続を確実にするためのものです。 バウンダ リ スキャン アーキ

テクチャは接続テス トだけでなく コンフ ィギュレーシ ョ ンや検証などベンダー固有の命令も柔軟に

サポートするため、コンフ ィギュレーシ ョ ン データを直接 FPGA や互換性のある PROM に読み込

む機能を追加できます。 一般に、 TAP とバウンダ リ スキャン アーキテクチャを総称して JTAG と呼んでいます。

IEEE 1149.1 を使用した Spartan-6 デバイスのバウンダリ スキャン

Spartan-6ファ ミ リは IEEE1149.1 規格 (TAP およびバウンダ リ スキャン アーキテクチャ ) に完全

に準拠しており、 IEEE 1149.1 規格で定められている必須エレ メン ト をすべて備えています。 これ

らのエレ メン ト とは、 TAP (テス ト アクセス ポート )、 TAP コン ト ローラー、 命令レジスタ、 命令

デコーダー、 バウンダ リ レジスタ、 バイパス レジスタです。 Spartan-6 ファ ミ リは、 この規格に完

全準拠する 32 ビッ トの ID レジスタもサポート しています。 次のセクシ ョ ンから、 Spartan-6 デバ

イスの JTAG アーキテクチャについて詳細に説明します。 また、 第 10 章 「アドバンス JTAG コン

フ ィギュレーシ ョ ン」 も参照してください。

テスト アクセス ポート (TAP)Spartan-6 FPGA の TAP には、 Spartan-6 デバイスおよび標準 JATG アーキテクチャのプロ ト コル

で指定されているよ うに、 4 つの必須の専用ピンがあ り ます (160 ページの図 10-1 参照)。 これら 3つの入力ピンと 1 つの出力ピンを使用して、 IEEE Std 1149.1 バウンダ リ スキャンの TAP コン ト

ローラーを制御します。 これらのオプシ ョ ンが他社製デバイスで駆動されている場合があるため、

ザイ リ ンクス製デバイスを他社製デバイス と組み合わせて使用する際は、 オプシ ョ ン制御ピンの信

号に注意して ください。

IEEE 1149.1 規格のバウンダ リ スキャン TAP コン ト ローラーは、16 ステートのステート マシンで

す (第 10 章 「アドバンス JTAG コンフ ィギュレーシ ョ ン」 参照)。

表 3-1 では、 IEEE 規格で必須と指定されている 4 つのピンについて説明します。

Page 62: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

62 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

バウンダリ スキャン タイ ミング パラメーター

図 3-1 に示す一般的な タ イ ミ ング パラ メ ーターの特性評価データは、 データ シー ト DS162『Spartan-6 FPGA データシート : DC 特性およびスイ ッチ特性』 () の 「コンフ ィギュレーシ ョ ン スイ ッチ特性」 の表を参照して ください。 コンフ ィギュレーシ ョ ン フローの詳細については、 第 10章 「アドバンス JTAG コンフ ィギュレーシ ョ ン」 を参照してください。

表 3-1 : Spartan-6 FPGA の TAP コン ト ローラー ピン

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

前の内部プル抵抗説明

TDI 入力 プルアップ(1) Test Data In (テス ト データ入力)すべての JTAG 命令およびデータ レジスタのシ リ アル入力です。

ある動作時に TDI ピンがどのレジスタにデータを送るかは、 TAP コン

ト ローラーのステートおよび現在の命令によって決ま り ます。ピンが駆

動されていないと きにロジッ ク High にするため、 TDI には内部プル

アップ抵抗があ り ます。 TDI は、 TCK の立ち上がりエッジで JTAG レジスタに適用されます。

TDO 出力 プルアップ(1) Test Data Out (テス ト データ出力)すべての JTAG 命令およびデータ レジスタのシ リ アル出力です。

ある動作時にどのレジスタ (命令またはデータ) から TDO ピンにデー

タを送るかは、 TAP コン ト ローラー ステートおよび現在の命令によっ

て決ま り ます。 TDO のステートは TCK の立ち下がりエッジで変化し、

命令またはデータをデバイスで送信している場合のみアクテ ィブにな

り ます。 TDO はアクティブ ド ラ イバー出力です。

TMS 入力 プルアップ(1) Test Mode Select (テス ト モード選択)TCK の立ち上がりエッジで、 TAP コン ト ローラーのステートのシーケ

ンスを決定します。

ピンが駆動されていないと きにロジッ ク High にするため、TDI には内

部プルアップ抵抗があ り ます。

TCK 入力 プルアップ(1) Test Clock (テス ト ク ロ ッ ク )JTAG のテス ト ク ロ ッ ク ピンです。

Spartan-6 デバイスの TAP コン ト ローラーおよび JTAG レジスタは、

TCK を基準に動作します。

メモ :

1. すべての JTAG ピンには、 コンフ ィギュレーシ ョ ン前に VCCAUX へプルアップされる内部抵抗があ り ます。 これらの内部プルアップ抵抗は、 選択されているモードに関係なくアクティブです。 BitGen を使用してコンフ ィギュレーシ ョ ン後に 4 つの必須ピンすべてに対してプルアップ抵抗を有効にできます。 詳細は、 『コマンド ライン ツール ユーザー ガイ ド』 (UG628) を参照してください。

Page 63: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 63UG380 (v2.2) 2010 年 7 月 30 日

IEEE 1149.1 を使用した Spartan-6 デバイスのバウンダリ スキャン

Spartan-6 デバイスでのバウンダリ スキャンの使用

ザイ リ ンクスの iMPACT ソフ ト ウェアで 1 つのデバイスをコンフ ィギュレーシ ョ ンする場合、TAPコン ト ローラーのコマン ドは自動的に発行されます。 コンピ ューターのポー ト から Spartan-6FPGA にビッ ト ス ト リームを自動的に転送するには、 ダウンロード ケーブルを 4 つの JTAG ピン

(TMS、 TCK、 TDI、 および TDO) に正し く接続する必要があ り ます。 iMPACT は接続が正しいか

ど うかを自動的に確認し、送信コマンドやコンフ ィギュレーシ ョ ン ビッ トが適切に管理されている

こ とを確認するコマンドを実行します。

図 3-2 は、 1 つのデバイス と JTAG 信号ヘッダーをシンプルな形で接続した、 一般的な JTAG 構成

を示したものです。 このヘッダーは、 プロセッサで駆動するか、 またはザイ リ ンクスのプログラ ミ

ング ケーブルを使用して iMPACT ソフ ト ウェアで駆動できます。 TCK はバウンダ リ スキャンの

動作で使用するク ロ ッ クです。 TDO - TDI 間の接続によ り、 JTAG チェーンを介したデータ シフ

ト用のシ リ アル データパスが作成されます。 TMS は、 TAP コン ト ローラーのステート間の遷移を

制御します。 第 10 章 「アドバンス JTAG コンフ ィギュレーシ ョ ン」 を参照してください。 JTAG が正し く機能するには、 これらの信号をすべて物理的に正し く接続する必要があ り ます。

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

複数の Spartan-6 デバイ スをチェーン接続してコンフ ィ ギュ レーシ ョ ンする こ と もでき ます (図 3-3 参照)。

X-Ref Target - Figure 3-1

図 3-1 : Spartan-6 FPGA バウンダリ スキャン ポートのタイ ミング波形

UG380_c3_01_042909

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

Spartan-6 FPGA

Device

JTAG Header

UG380_c3_02_042909

Page 64: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

64 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

コンフ ィギュレーシ ョ ン モードが JTAG のみの場合は、 PROGRAM_B、 INIT_B、 および DONEを 330Ω 抵抗へ High に接続します。

JTAG チェーン内の複数のデバイスは 1 つずつコンフ ィギュレーシ ョ ンされます。 複数デバイスの

コンフ ィギュレーシ ョ ンは、シグナル インテグ リティが良好に保たれている限り、チェーンの長さ

にかかわらず実行できます。 iMPACT は、 JTAG ヘッダーおよび iMPACT からの TDI 信号に も

近いデバイスから順にチェーン内のデバイスを自動的に検出します。

JTAG 入力には JTAG 動作用の VCCAUX が使用されます。

第 10 章 「アドバンス JTAG コンフ ィギュレーシ ョ ン」 は、さまざまな TAP コン ト ローラー ステー

ト、 JTAG 命令、 およびバウンダ リ スキャン チェーン アーキテクチャの詳細を説明しています。

EXTEST、 INTEST、 および BYPASS などのバウンダ リ スキャン命令の詳細は、 IEEE 1149.1 規格および第 10 章 「アドバンス JTAG コンフ ィギュレーシ ョ ン」 を参照してください。

スタート アップ シーケンス、 ビッ ト ス ト リーム、 内部コンフ ィギュレーシ ョ ン レジスタの詳細は、

第 5 章 「コンフ ィギュレーシ ョ ンの詳細」 および第 10 章 「ア ドバンス JTAG コンフ ィギュレー

シ ョ ン」 を参照してください。

設計に関する考察事項

JTAG 信号の配線

TCK および TMS 信号はチェーン内のすべてのデバイスに伝送されるため、 信号の質が重要です。

たとえば、 JTAG 機能が正し く動作するには、TCK がすべてのレシーバーで均一に遷移する必要が

あ り ます。 また、 TCK を正し く終端処理する必要もあ り ます。 TCK の質によっては、 信頼性の高

い JTAG コンフ ィギュレーシ ョ ンを確実にするために 大周波数が制限されるこ とがあ り ます。

さ らに、 チェーンが長い場合 (3 つ以上のデバイス)、 すべてのレシーバーで駆動強度が十分である

よ うにするため、 TMS および TCK にバッファーを付ける必要があ り ます。 また、 ロジッ ク Highでの電圧はチェーン内のすべてのデバイス と互換性がある必要があ り ます。

他社製品のデバイスにインターフェ イスする際、 TRST やイネーブルなどのオプシ ョ ン ピンに

JTAG 信号が存在するこ とがあ り、 これらを駆動する必要がある場合があ り ます。

X-Ref Target - Figure 3-3

図 3-3 : 複数デバイスのバウンダリ スキャン チェーン

JTAG Header

UG380_c3_03_042909

Spartan-6FPGA

TDOTDI

TMS

TCK

Spartan-6FPGA

PROGRAM_B

TDI

TMS

TCK

PROGRAM_B

TDO

Spartan-6FPGA

TDI

TMS

TCK

PROGRAM_B

TDO

Device 0 Device 1 Device 2

TDO

TMS

TDI

TCK

Page 65: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 65UG380 (v2.2) 2010 年 7 月 30 日

設計に関する考察事項

電源供給

電源投入時に適切に動作させるには、 『Spartan-6 FPGA データシート : DC 特性およびスイ ッチ特

性』 に記載のガイ ド ラ インに従ってください。 電源は、 指定されている電源立ち上がり時間内に単

調増加で立ち上がる必要があ り ます。さ らに、電圧は推奨動作範囲内とする必要があ り ます。VDRINTが VCCINT を下回ったり、 VDRAUX が VCCAUX を下回る と、 コンフ ィギュレーシ ョ ン データが失

われる可能性があ り ます。

VCCO_2 および場合によっては VCCO_1 で、 コンフ ィギュレーシ ョ ン インターフェイス (SPI、Serial、 BPI、 および SelectMAP) の I/O 電圧が決定します。 JTAG コンフ ィギュレーシ ョ ン ピン

の I/O 電圧は VCCAUX で決定します。 提供された電圧は、 使用されるすべてのコンフ ィギュレー

シ ョ ン インターフェイス と互換性を持つ必要があ り ます。

バウンダ リ スキャンの機能を確実に動作させるには、 未使用のシ リ アル ト ランシーバー タイルの

電源投入に関するガイ ド ラインに従ってください。

ガイ ド ラ イン、 範囲などすべての仕様は、 データシート DS162 『Spartan-6 FPGA データシート :DC 特性およびスイ ッチ特性』 および 『Spartan-6 FPGA GTP ト ランシーバー ユーザー ガイ ド』

(UG386) を参照して ください。

バウンダリ スキャンによるコンフ ィギュレーシ ョ ン

電源投入時に Spartan-6 デバイスが JTAG を介してコンフ ィギュレーシ ョ ンされる場合、 JTAG 信号の動作によって現在のコンフ ィギュレーシ ョ ン モード設定がすべて上書きされます。

JTAG を使用する場合の Spartan-6 デバイス コンフ ィギュレーシ ョ ンのフローは、 第 10 章 「アド

バンス JTAG コンフ ィギュレーシ ョ ン」 で説明します。 この章では、 Spartan-6 デバイスを単一デ

バイス と して、 または複数デバイスのバウンダ リ スキャン チェーンの一部と して、 バウンダ リ スキャンを使用してコンフ ィギュレーシ ョ ンする場合のコマンド シーケンスについて説明します。コ

ンフ ィ ギュレーシ ョ ンされたデバイスを リ コンフ ィギュレーシ ョ ンするには、 TAP を切り替え、

PROGRAM_B をパルスした後に CFG_IN 命令を入力するか、 シャ ッ ト ダウン シーケンスを開始

して ください。詳細は、第 10 章 「アドバンス JTAG コンフ ィギュレーシ ョ ン」 を参照してください。

ザイ リ ンクスは、 プロ ト タイピング用に独自のプログラ ミ ング ケーブル (パラレルおよび USB) とバウンダ リ スキャン プログラ ミ ング ソフ ト ウェア (iMPACT) を提供しています。 これらは、 量産

環境での利用を想定したものではあ り ませんが、 FPGA インプ リ メ ンテーシ ョ ンおよび JTAGチェーンの完全性の検証に非常に役立ちます。

JTAG チェーン内のほかのデバイスにアクセスしよ う とする場合、 正しい数の先行する 1 または 0でシフ ト し、 各デバイスで正しい命令が受信できるよ う、 命令レジスタの長さを知っておく こ とが

重要です。 この情報は、 ISE® ソフ ト ウェアで提供される各デバイスの BSDL ファ イルに記述され

ています。

バウンダ リ スキャンを利用したベンダー固有の命令と して もよ く使用されるものの 1 つに、コン

フ ィギュレーシ ョ ン命令があ り ます。 Spartan-6 デバイスが JTAG を介してコンフ ィギュレーシ ョ

ンされている場合、 この命令はモード ピンに関係な く実行されます。 JTAG を介したデバイス コンフ ィギュレーシ ョ ンの詳細は、 第 10 章 「アドバンス JTAG コンフ ィギュレーシ ョ ン」 を参照し

て ください。 Spartan-6 FPGA JTAG コンフ ィギュレーシ ョ ン アルゴ リ ズムでは SVF ベースのフ

ローが使用されています。詳細は、 アプリ ケーシ ョ ン ノート XAPP058 『組み込み型マイクロコン

ト ローラーを使用するザイ リ ンクスのインシステム プログラ ミ ング機能』 を参照してください。

Page 66: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

66 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

Page 67: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 67UG380 (v2.2) 2010 年 7 月 30 日

第 4 章

ユーザー プリ ミテ ィブ

この章で説明するコンフ ィギュレーシ ョ ン プ リ ミ テ ィブによ り、 ユーザーは、 コンフ ィギュレー

シ ョ ン中またはコンギュレーシ ョ ン後に FPGA コンフ ィギュレーシ ョ ン リ ソースにアクセスでき

ます。 インスタンシエーシ ョ ン テンプレートの詳細は、 『Spartan-6 ラ イブラ リ ガイ ド (HDL 用)』(UG615) を参照して ください。

BSCAN_SPARTAN6JTAG は 4 つのピン(TCK、 TMS、 TDI、 TDO) を持つ、 標準的なインターフェイスです。 多くの

アプリ ケーシ ョ ンがこのインターフェイスに対応するよ うに設計されています。 JTAG TAP コン ト

ローラーは、 コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク内部にあ る専用のステー ト マシンです。

BSCAN_SPARTAN6 によ り、 JTAG TAP コン ト ローラーとファブ リ ッ クにあるユーザー ロジッ ク

間のアクセスが可能とな り ます。 BSCAN_SPARTAN6 にはデバイスごとに 大 4 つのインスタン

スがあ り ます。各インスタンスで、JTAG_CHAIN 属性で設定されている JTAG USER 命令 (USER1から USER4) を 1 つ処理できます。 4 つの USER 命令をすべて処理するには、 これら 4 つのエレ

メン ト をインスタンシエート し、JTAG_CHAIN 属性を正し く設定する必要があ り ます。表 4-1 に、

BSCAN_SPARTAN6 ポートの説明をま とめています。

表 4-1 : BSCAN_SPARTAN6 ポートの説明

信号名 タイプ 機能

SEL 出力 JTAG 命令レジスタが対応する命令 (USER1、 USER2、 USER3、または USER4) を保持する場合は SEL = 1 です。 Update_IR ステートで変更します。 TAP コン ト ローラーが Update_IR ステー

トのと き、 TCK の立ち下がりエッジで変更します。

RESET 出力 アクティブ High のリセッ ト出力です。 TEST-LOGIC-RESET ステート中、 PROGRAM_B、 または電源投入中は、 RESET = 1 です。 TCK の立ち下がりエッジでディアサート されます。

TDI 出力 FPGA の TDI ピンから直接入力されます。

DRCK 出力 Capture_DR および Shift_DR ステートの TCK と同様に機能し

ます。 インターフェイスが命令レジスタで選択されていない場合

は High を維持します。

CAPTURE 出力 アクティブ High のパルスで Capture_DR ステートであるこ とを

示します。 TCK の立ち下がりエッジでアサート されます。

UPDATE 出力 アクティブ High のパルスで Update_DR ステートであるこ とを

示します。 TCK の立ち下がりエッジでアサート されます。

Page 68: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

68 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 4 章 : ユーザー プリ ミテ ィブ

ICAP_SPARTAN6ICAP_SPARTAN6 プリ ミ ティブは、ファブ リ ッ ク側にある という点を除いて SelectMAP コンフ ィ

ギュレーシ ョ ン インターフェイス と同様に機能します。 また、 SelectMAP には双方向バスがある

のに対して ICAP には読み出し /書き込みに別々のバスがあ り ます。ICAP は x16 のデータ幅のみを

サポート しています。 30 ページの 「SelectMAP コンフ ィギュレーシ ョ ン インターフェイス」 に示

すよ うに、一般的な SelectMAP のタイ ミ ング図および SelectMAP のビッ ト ス ト リーム順は、ICAPにも適用されます。 これによ り、 コンフ ィギュレーシ ョ ン レジスタへのアクセスおよびコンフ ィ

ギュレーシ ョ ン後のコンフ ィギュレーシ ョ ン データのリードバッ クが可能となり ます。

ICAP のデータ幅は、 入力と出力のどちら も 16 ビッ トです。

SHIFT 出力 アクティブ High のパルスで Shift_DR ステートであるこ とを示

します。 TCK の立ち下がりエッジでアサート されます。

RUNTEST 出力 Run Test/Idle ステートでは JTAG を示します。

TCK 出力 FPGA への TCK 入力ピンの値です。

TMS 出力 FPGA への TMS 入力ピンの値です。

TDO 入力 ユーザー ファブリ ッ ク ロジッ クから駆動されます。FPGA の TDOへの入力前に、 立ち下がりエッジで内部でサンプルされます。

表 4-1 : BSCAN_SPARTAN6 ポートの説明 (続き)

信号名 タイプ 機能

表 4-2 : ICAP_SPARTAN6 ポートの説明

信号名 タイプ 機能

CLK 入力 ICAP インターフェイス ク ロ ッ クです。

CE 入力 アクティブ Low の ICAP インターフェイス選択入力です。

SelectMAP インターフェイスの CSI_B と同じです。

WRITE 入力 読み出し /書き込み制御入力です。 0 = WRITE、 1 = READ です。

SelectMAP インターフェイスの RDWR_B と同じです。

I[15:0] 入力 16 ビッ ト幅の ICAP 書き込みデータ幅バスです。 ビッ ト順は

SelectMAP インターフェイス と同じです。 詳細は、 40 ページの

「SelectMAP のデータ順」 を参照してください。

O[15:0] 出力 16ビッ ト幅の ICAP 読み出しデータ幅バスです。 ビッ ト順は

SelectMAP インターフェイス と同じです。 40 ページの 「SelectMAPのデータ順」 を参照して ください。

BUSY 出力 アクティブ High の BUSY 信号です。読み出し操作でのみ使用され、

書き込み中は Low のままになり ます。

Page 69: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 69UG380 (v2.2) 2010 年 7 月 30 日

STARTUP_SPARTAN6

STARTUP_SPARTAN6STARTUP_SPARTAN6 プ リ ミ テ ィブはデバイスへのインターフェ イス と して機能し、 コンフ ィ

ギュレーシ ョ ン後、 グローバル信号の一部をユーザー制御可能にします。

DNA_PORTDNA_PORT を使用して専用シフ ト レジス タにアクセスでき ます。 このシフ ト レジス タには、

Spartan®-6 デバイスの Device DNA データ ビッ ト (重複しない ID) が読み込まれます。DNA デー

タ ビッ ト をシフ ト アウ トできるだけでなく、追加ユーザー データの補足データ ビッ ト を含めたり、

初期データのシフ ト アウ ト後に DNA データを繰り返すこ とができます。 このコンポーネン トは主

に FPGA ビッ ト ス ト リームの不正なコピー防止用に、 ほかの回路と合わせて使用されます。

DNA_PORT は、 インスタンシエートする必要があ り ます。 インスタンシエーシ ョ ン テンプレート

は ISE® の Project Navigator にある HDL テンプレート集に含まれています。 インスタンスはコー

ド内で宣言する必要があ り ます。 正し く動作するよ うに、 入力および出力をすべてデザインに接続

して ください。

表 4-3 : STARTUP_SPARTAN6 ポートの説明

信号名 タイプ 機能

EOS 出力 アクティブ High であ り、 スタート アップの完全な終了

を示します。

CLK 入力 ユーザー スタート アップ ク ロ ッ クです。

GSR 入力 アクティブ High のグローバル セッ ト / リセッ ト信号で

す。 この入力がアサート される と、すべてのフ リ ップフ

ロ ップがビッ ト ス ト リームの初期値に戻り ます。

KEYCLEARB 入力 設定されている場合、バッ クアップ バッテ リ を使用する

RAM のキーをク リ アします。有効にするには 200ns (4ク ロ ッ ク サイクル) 間 Low に保持する必要があ り ます。

GTS 入力 アクティブ High のグローバル ト ラ イステート信号で

す。この入力がアサート される と、すべてのユーザー I/Oはト ライステート状態となり ます。

CFGMCLK 出力 コンフ ィギュレーシ ョ ンの内部オシレーターのク ロ ッ

ク出力です。 レートは約 50MHz で、 FPGA ロジッ クの

リ ング オシレーターの代わりに、 汎用クロ ッ ク ソース

と して使用できます。 デザインで接続されていない場

合、 オシレーターは無効です。

CFGCLK 出力 コンフ ィギュレーシ ョ ン ロジッ クの主要クロ ッ クの出

力です。現在のコンフ ィギュレーシ ョ ン モードに関連し

たク ロ ッ クを出力します。 FPGA がスレーブ コンフ ィ

ギュレーシ ョ ン モードの場合、 クロ ッ ク ソースは

CCLK です。 FPGA がマスター コンフ ィギュレーシ ョ

ン モードの場合、 クロ ッ ク ソースは内部オシレーター

周波数です (BitGen の -g ConfigRate オプシ ョ ンで

定義されている とおり )。

Page 70: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

70 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 4 章 : ユーザー プリ ミテ ィブ

Device DNA データにアクセスするにはまず、 アクティブ High の READ 信号を 1 ク ロ ッ ク サイ

クル間 High にしてシフ ト レジスタを読み込む必要があ り ます。 シフ ト レジスタが読み込まれる

と、 アクティブ High の SHIFT 入力がイネーブルにな り、 DOUT 出力ポートからデータが取り込

まれ、 データが同期シフ ト アウ ト します。 追加データがある場合は、 適切なロジッ クを DIN ポー

トに接続する と、 57 ビッ トのシフ ト レジスタの終わりに追加できます。DNA データをロールオー

バーする (繰り返す) 場合は、DOUT ポート を直接 DIN ポートに接続しておく と、57 ビッ トのシフ

ト操作の後で同じデータをシフ ト アウ トできます。 追加データが必要ない場合は、 DIN ポート を

論理値 0 に固定できます。 属性 SIM_DNA_VALUE はオプシ ョ ンで DNA データ シーケンスをシ

ミ ュレーシ ョ ンする よ う に設定できます。 デフォル ト では、 シ ミ ュレーシ ョ ン モデルの DeviceDNA データ ビッ トはすべて 0 です。

SUSPEND_SYNCSUSPEND プリ ミ ティブによって、Suspend モードを使用するアプリ ケーシ ョ ンのデザインを同期

化する機能が強化されます。 このプ リ ミ ティブは、 3 ピンのインターフェイスを使用し、 同期化が

必要なクロ ッ ク ド メ インが複数ある場合でも、 Suspend モードを開始する ト リガーを同期します。

こ こでは、 SREQ、 SACK、 および CLK の 3 つの信号が使用されます。

SREQ はデバイスに Suspend モードを開始する リ クエス ト を出力します。 SACK は、 デバイスが

Suspend モードを開始できる状態であるこ とを確認します。SACK ピンは CLK ピンに同期します。

表 4-4 : DNA_PORT ポートの説明

信号名 方向 機能

DOUT 出力 シ リ アル シフ ト出力データです。

DIN 入力 シフ ト レジスタへのユーザー データ入力です。

READ 入力 Device DNA データ とシフ ト レジスタの同期読み込

みです。READ 操作が SHIFT 操作よ り優先されます。

SHIFT 入力 アクティブ High のシフ ト イネーブル入力です。

CLK 入力 シフ ト レジスタへの入力クロ ッ クです。

表 4-5 : DNA_PORT 属性

属性 タイプ 値 デフォルト 説明

SIM_DNA_VALUE 57 ビッ ト ベクター

57'b0、

任意の 57 ビッ ト値

すべてゼロ シ ミ ュレーシ ョ ンに使用する DNA 値を指

定 します(実際の値はデバイスに特定の値)。

表 4-6 : SUSPEND ポートの説明

信号名 方向 機能

CLK 入力 ユーザー ク ロ ッ クです。

SACK 入力 SUSPEND のアク ノレッジ信号で、CLK に同期します。

SREQ 出力SUSPEND ピンからの Suspend (一時停止リ クエス ト )です。

Page 71: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 71UG380 (v2.2) 2010 年 7 月 30 日

POST_CRC_INTERNAL

POST_CRC_INTERNALPOST_CRC_INTERNAL を使用して、 デバイスから CRC 後のエラーにアクセスできます。

表 4-7 : POST_CRC_INTERNAL ポートの説明

信号名 方向 機能

CRCERROR 出力コンフ ィギュレーシ ョ ン後のエラーです。 エラーが検出

される と High になり ます。

Page 72: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

72 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 4 章 : ユーザー プリ ミテ ィブ

Page 73: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 73UG380 (v2.2) 2010 年 7 月 30 日

第 5 章

コンフ ィギュレーシ ョ ンの詳細

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

コンフ ィ ギュレーシ ョ ン ピンには、 コンフ ィ ギュレーシ ョ ン専用ピン (表 5-1) と多目的ピン (表 5-3) があ り ます。多目的ピンは、コンフ ィギュレーシ ョ ン ピンと してだけでなく、コンフ ィギュ

レーシ ョ ン後にユーザー I/O と して機能します。 コンフ ィギュレーシ ョ ン専用ピンは、 コンフ ィ

ギュレーシ ョ ン後もその機能を維持します。

コンフ ィギュレーシ ョ ンの制約は、Spartan®-6 FPGA のビッ ト ス ト リーム生成時に選択でき、制約

によっては、 コンフ ィギュレーシ ョ ンの動作に影響を与えるこ とがあ り ます。 適用可能な制約の詳

細は、 ソフ ト ウェアの 『制約ガイ ド』 を参照して ください。

表 5-1 : Spartan-6 FPGA のコンフ ィギュレーシ ョ ン専用ピン

ピン名 タイプ (1) 説明

DONE 双方向、

オープン ド レイン、

または

アクティブ

プログラム可能なプルアップを使用するアクティブ High の信号で、 コンフ ィギュ

レーシ ョ ン完了を示します。

0 = FPGA のコンフ ィギュレーシ ョ ン未完了

1 = FPGA のコンフ ィギュレーシ ョ ン完了

ソフ ト ウェア設定の詳細は、 『コマンド ライン ツール ユーザー ガイ ド』 (UG628) の「BitGen」 を参照してください。

PROGRAM_B(2, 3) 入力 プログラム可能なプルアップを使用するアクティブ Low の信号で、 非同期フルチッ

プ リセッ トです。

TDI 入力 Test Data In (テス ト データ入力)すべての JTAG 命令およびデータ レジスタのシ リアル入力です。 ある動作時に TDIピンがどのレジスタにデータを送るかは、TAP コン ト ローラーのステートおよび現在

の命令によって決ま り ます。 ピンが駆動されていないと きにロジッ ク High にするた

め、 TDI には内部プルアップ抵抗があ り ます。 TDI は、 TCK の立ち上がりエッジで

JTAG レジスタに適用されます。

TDO 出力 Test Data Out (テス ト データ出力)すべての JTAG 命令およびデータ レジスタのシ リアル出力です。ある動作時にどのレ

ジスタ (命令またはデータ) から TDO ピンにデータを送るかは、TAP コン ト ローラー

ステートおよび現在の命令によって決ま り ます。TDO のステートは TCK の立ち下が

りエッジで変化し、命令またはデータをデバイスで送信している場合のみアクティブ

になり ます。 TDO はアクティブ ド ラ イバー出力です。

Page 74: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

74 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

コンフ ィギュレーシ ョ ン中の FPGA I/O ピンの設定

コンフ ィギュレーシ ョ ン中に使用される一部の FPGA には、専用のプルアップ抵抗が付いています

が、 すべてのユーザー I/O ピンには、 オプシ ョ ンでコンフ ィギュレーシ ョ ン中に有効にできるプル

アップ抵抗があ り ます。 コンフ ィギュレーシ ョ ン中、 1 つの制御ラインでプルアップ抵抗を有効に

するかど うかが決定されます。 このピン名は HSWAPEN です (表 5-2 参照)。

TMS 入力 Test Mode Select (テス ト モード選択)TCK の立ち上がりエッジで、 JTAG TAP コン ト ローラーのステートのシーケンスを

決定します。 ピンが駆動されていないと きにロジッ ク High にするため、 TDI には内

部プルアップ抵抗があ り ます。

TCK 入力 Test Clock (テス ト ク ロ ッ ク )JTAG のテス ト ク ロ ッ ク ピンです。 TAP コン ト ローラーおよび JTAG レジスタは、

TCK を基準に動作します。

SUSPEND(3) 入力 Suspend モード (一時停止モード )FPGA を Suspend モードにします。

電源投入中およびコンフ ィギュレーシ ョ ン中は、 Low にする必要があ り ます。

Suspend 機能を使用しない場合、 GND に接続して ください。

VFS 入力 eFUSE プログラ ミ ングの電源電圧です。 (4)

VBATT 入力 AES 暗号化キーを格納する SRAM のバッ クアップ バッテ リ電圧です。 (4)

RFUSE 入力 eFUSE プログラ ミ ングのプルダウンです。 (4)

CMPCS_B 予約済み 未接続またはプルアップ状態にします。

注記 :

1. タイプに 「双方向」 と記載されている場合、 任意の条件下で双方向に機能するピンです。 あるコンフ ィギュレーシ ョ ン モードで入力として機能し、 別のコンフ ィギュレーシ ョ ン モードでは出力と して機能するピンは、 タイプに 「入力または出力」 と記載されています。

2. PROGRAM_B に信号を送信しても JTAG TAP ステート マシンはリセッ ト されません。

3. すべての JTAG ピンおよび SUSPEND ピンの電源電圧は VCCAUX で、 DONE および PROGRAM_B の電源電圧は VCCO_2 です。

4. XC6SLX75、 XC6SLX75T、 XC6SLX100、 XC6SLX100T、 XC6SLX150、 および XC6SLX150T デバイスでのみ使用可能です。eFUSE プログラ ミ ングの詳細については、 94 ページの 「eFUSE」 を参照してください。

表 5-1 : Spartan-6 FPGA のコンフ ィギュレーシ ョ ン専用ピン (続き)

ピン名 タイプ (1) 説明

表 5-2 : Spartan-6 FPGA のコンフ ィギュレーシ ョ ン ピンの終端

ピン

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

コンフ ィギュレーシ ョ ン後HSWAPEN = 0

(有効)

HSWAPEN = 1

(無効)

CCLK VCCO_2 にプルアップ 終端なし ユーザー I/O

D15-D0 VCCO_2 にプルアップ 終端なし ユーザー I/O

CSO_B VCCO_2 にプルアップ 終端なし ユーザー I/O

A25-A0(1) VCCO_1 にプルアップ 終端なし ユーザー I/O

SCP7-SCP0 VCCO_0 にプルアップ 終端なし ユーザー I/O

DOUT/BUSY VCCO_1 にプルアップ 終端なし ユーザー I/O

Page 75: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 75UG380 (v2.2) 2010 年 7 月 30 日

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

信号レベルをフロート させておく と CMOS ロジッ ク システムで問題になり ます。 システムのほか

のロジッ ク コンポーネン トには FPGA からの有効な入力レベルが必要な場合があ り ます。 内部プ

ルアップ抵抗は各ピンをロジッ ク High のレベルにします。 一般的に、 FPGA に信号を駆動するデ

バイスはこのプルアップ抵抗を超えます。 同様に、 適切に調整された外部プルダウン抵抗を使用し

て個々のピンをプルダウンできます。

ホッ ト スワ ップやホッ ト挿入アプリ ケーシ ョ ンでは、 プルアップ抵抗で I/O の電源レールへの電流

パスを提供します。 プルアップ抵抗をオフにする と このパスは無効になり ます。 しかし、 外部プル

アップまたはプルダウン抵抗が各 I/O ピンに必要な場合があ り ます。

HSWAPEN VCCO_0 にプルアップ VCCO_0 にプルアップ ユーザー I/O

PROGRAM_B VCCO_2 にプルアップ VCCO_2 にプルアップ BitGen の -g ProgPin(2)

DONE VCCO_2 にプルアップ VCCO_2 にプルアップ BitGen の -g DonePin(2) -g DriveDone

INIT_B VCCO_2 にプルアップ VCCO_2 にプルアップ ユーザー I/O

TDI VCCAUX にプルアップ VCCAUX にプルアップ BitGen の -g TdiPin(2)

TMS VCCAUX にプルアップ VCCAUX にプルアップ BitGen の -g TmsPin(2)

TCK VCCAUX にプルアップ VCCAUX にプルアップ BitGen の -g TckPin(2)

TDO VCCAUX にプルアップ VCCAUX にプルアップ BitGen の -g TdoPin(2)

M1、 M0 VCCO_2 にプルアップ VCCO_2 にプルアップ ユーザー I/O

FCS_B VCCO_1 にプルアップ 終端なし ユーザー I/O

FOE_B VCCO_1 にプルアップ 終端なし ユーザー I/O

FWE_B VCCO_1 にプルアップ 終端なし ユーザー I/O

MOSI/CSI_B VCCO_2 にプルアップ 終端なし ユーザー I/O

RDWR_B VCCO_2 にプルアップ 終端なし ユーザー I/O

AWAKE VCCO_1 にプルアップ 終端なし Suspend 機能が未使用の場合、

ユーザー I/O (4)

SUSPEND VCCAUX にプルアップ 終端なし SUSPEND ピン(3)(4)

HDC VCCO_1 にプルアップ 終端なし ユーザー I/O

LDC VCCO_1 にプルアップ 終端なし ユーザー I/O

注記 :

1. A24/A25 は、 FG676 以上のパッケージ サイズで、 XC6SLX75/T およびそれ以上の高集積デバイスのバンク 5 にあ り ます。 プルアップは VCCO_5 までです。

2. BitGen のオプシ ョ ンによ り、 対応するピンの終端を設定します。 オプシ ョ ンの未設定でデフォルトのプルアップにな り ます。 ソフ トウェア設定の詳細は、 『コマンド ライン ツール ユーザー ガイ ド』 (UG628) の 「BitGen」 を参照して ください。

3. 電源投入中は、 SUSPEND ピンは Low に設定しておく必要があ り ます。 これは、 外部プルダウン抵抗の接続で確実に設定されます。

4. Suspend 機能の詳細は、 『Spartan-6 FPGA パワー マネージメン ト ユーザー ガイ ド』 (UG394) を参照してください。

表 5-2 : Spartan-6 FPGA のコンフ ィギュレーシ ョ ン ピンの終端 (続き)

ピン

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

コンフ ィギュレーシ ョ ン後HSWAPEN = 0

(有効)

HSWAPEN = 1

(無効)

Page 76: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

76 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

多目的のコンフ ィギュレーシ ョ ン ピン (Persist) の予約 多目的ピンは、コンフ ィギュレーシ ョ ン ピンやコンフ ィギュレーシ ョ ン後のユーザー I/O と して機

能します。 BitGen の -g Persist オプシ ョ ンを使用してこれらのピンをコンフ ィギュレーシ ョ ン

ピンと して予約します (設定については、 表 5-3 を参照)。

表 5-3 : 多目的のコンフ ィギュレーシ ョ ン ピンの設定

ピン名 バンク SelectMAP BPI SPI/Serial

DIN/D0/MISO/MISO[1] 2 Persist No Persist

D1/MISO2 2 Persist No No

D2/MISO3 2 Persist No No

D[15:3] 2 Persist(1) No No

DOUT 1 Persist No Persist

INIT_B(2) 2 Persist(2) No(2) Persist(2)

RDWR_B 2 Persist No No

M0 2 No No No

M1 2 No No No

HSWAPEN 0 No No No

CCLK 2 Persist No Persist

GCLK0 2 No No No

CSO_B 2 No No No

MOSI/MISO0/CSI_B 2 Persist No No

AWAKE(3) 1 No No No

A[25:0](4) 1 No No No

SCP[7:0](3) 0 No No No

FCS_B 1 No No No

FOE_B 1 No No No

FWE_B 1 No No No

HDC 1 No No No

LDC 1 No No No

注記 :

1. 16 のデータ ピンすべてが、 SelectMAP データ幅 (x8 または x16) に関係なく Persist ピンとな り ます。

2. INIT_B は、 SEU インジケーター (POST_CRC_INIT_FLAG) が有効の場合に Persist ピンとな り ます。

3. AWAKE および SCP[7:0] は、 Suspend の設定に基づきアクティブにな り ます。

4. A24 および A25 は、 I/O バンクが 6 つ以上の大型デバイスの場合、 バンク 5 にあ り ます。

Page 77: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 77UG380 (v2.2) 2010 年 7 月 30 日

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

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

ザイ リ ンクスのデザイン ツールでは、 コンフ ィギュレーシ ョ ン データ ファ イルをさまざまな形式

で生成できます (表 5-4 参照)。 BitGen ツールは、 PAR 後の NCD ファ イルをコンフ ィギュレーシ ョ

ン ファ イルまたはビッ ト ス ト リームに変換します。また、PROM ファ イル生成ツールの PROMGenは、 1 つ以上のビッ ト ス ト リーム ファ イルを 1 つの PROM ファ イルに変換します。 さまざまな形

式の PROM ファ イルが生成可能であ り、 PROM で使用する必要はあ り ません。 これらは任意の場

所に保存し、 任意の手段で取り込むこ とができます。

ビッ トス ト リームの概要

Spartan-6 データ幅 x2 および x4 やバージ ョ ン コン ト ロールなどの PROM オプシ ョ ンを設定する

ために iMPACT で使用されるデータ ファ イルです。 表 5-5 に、 各 Spartan-6 デバイスの標準的な

ビッ ト ス ト リームの長さを示します。

表 5-4 : コンフ ィギュレーシ ョ ン ファイルの形式

ファイル

拡張子

ビッ ト スワップ (1)

ザイリンクス ソフ トウェア ツール(2) 説明

BIT ビッ ト スワップ

なし

BitGen

(デフォルトで生成)

FPGA へのダウンロードが不要なヘッダー情報を含むバイナリ

コンフ ィギュレーシ ョ ン データ ファ イルです。 iMPACT とプロ

グラ ミ ング ケーブルを使用してデバイスをプログラムする際に

使用します。

RBT ビッ ト スワップ

なし

BitGen (-b オプシ ョ

ンの設定時に生成)

BIT ファ イルを ASCII 形式と したもので、 テキス ト ヘッダーと

ASCII 形式の 1 と 0 が含まれています (コンフ ィギュレーシ ョ ン

ビッ ト ごとに 8 ビッ ト )。

BIN ビッ ト スワップ

なし

BitGen (-g

Binary:yes オプ

シ ョ ンの設定時に生

成) または PROMGen

ヘッダー情報がないバイナリ コンフ ィギュレーシ ョ ン データ

ファイルで、BIT ファ イルと類似しています。カスタム コンフ ィ

ギュレーシ ョ ン ソ リ ューシ ョ ン (マイクロプロセッサなど) また

はサード パーティの PROM をプログラムする場合に使用しま

す。

MCSEXO

ビッ ト スワップ

あ り

PROMGen または iMPACT

コンフ ィギュレーシ ョ ン データ以外にアドレスおよびチェッ ク

サム情報を含む ASCII 形式の PROM ファ イルです。 主に、 デバ

イス プログラマや iMPACT で使用します。

HEX ユーザー指定PROMGen または

iMPACT

コンフ ィギュレーシ ョ ン データのみを含む ASCII 形式の PROMファ イルです。主に、カスタム コンフ ィギュレーシ ョ ン ソ リ ュー

シ ョ ンで使用します。

CFI なしPROMGen または

iMPACT

データ幅 x2 および x4 やバージ ョ ン コン ト ロールなどの PROMオプシ ョ ンを設定するために iMPACT で使用されるデータ ファ

イルです。

注記 :

1. ビッ ト スワ ップの詳細は、 「ビッ トのスワ ップ」 を参照して ください。

2. BitGen および PROMGen 構文の詳細は、 『コマンド ラ イン ツール ユーザー ガイ ド』 (UG628) を参照して ください。

Page 78: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

78 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

Spartan-6 FPGA のビッ ト ス ト リームは、 次の 2 つの部分で構成されています。

• 「同期ワード /バス幅の自動検出」

• FPGA コンフ ィギュレーシ ョ ン

同期ワード /バス幅の自動検出

パラレル コンフ ィギュレーシ ョ ン モードでは、 バス幅はコンフ ィギュレーシ ョ ン ロジッ クによっ

て自動的に検出されます。 バス幅検出パターンには同期ワードが使用されます。 コンフ ィギュレー

シ ョ ン ロジッ クではパラレル バスで受信したデータがチェッ ク され、 受信したバイ ト シーケンス

に基づいて自動的に適切な外部バス幅に切り替えるこ とができます。 表 5-6 に、 x16 モードのビッ

ト ス ト リーム例を示します。 詳し くは 81 ページの 「パラレル バスのビッ ト順」 で説明しますが、

FFPGA データ ピンに現れるビッ ト パターンはスワップしています。

表 5-5 : Spartan-6 FFPGA のビッ トス ト リームの長さ

デバイス コンフ ィギュレーシ ョ ン ビッ トの総数(1)

XC6SLX4 2,724,832

XC6SLX9 2,724,832

XC6SLX16 3,713,568

XC6SLX25 6,411,696

XC6SLX25T 6,411,696

XC6SLX45 11,875,232

XC6SLX45T 11,875,232

XC6SLX75 19,624,736

XC6SLX75T 19,624,736

XC6SLX100 26,543,264

XC6SLX100T 26,543,264

XC6SLX150 33,761,696

XC6SLX150T 33,761,696

注記 :

1. 標準的なビッ ト ス ト リーム長を示します。 Compress などの BitGen オプシ ョ ンによっては、 ビッ ト ス トリーム長が変わる場合があ り ます。 x2 および x4 SPI コンフ ィギュレーシ ョ ン モードには追加コマンドが必要で、 ビッ ト ス ト リームが長くな り ます。

表 5-6 : x16 データのバス幅検出パターン

D[8:15] D[0:7] コ メン ト

0xFF 0xFF パッ ド ワード

0xFF 0xFF パッ ド ワード

0xAA 0x99 同期ワード

Page 79: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 79UG380 (v2.2) 2010 年 7 月 30 日

PROM ファイルの生成

通常、 バス幅自動検出はユーザーが意識するこ とはあ り ません。

x8 バスの場合、 コンフ ィギュレーシ ョ ン バス幅検出ロジッ クが D[0:7] ピンで 初に 0xAA、 次に

0x99 を検出します。 続いて 0x55 を検出し、 次のサイクルで 0x66 を検出した場合、 x8 モードで

処理を続行します。 x16 バスの場合、 コンフ ィギュレーシ ョ ン バス幅検出ロジッ クは 初のバイ ト

をチェッ ク して D[0:7] ピンで 0x99 を検出します。その後、残りの同期ワードが上位ビッ トにある

ため、 次のサイ クルで 0x66 を検出します。 デバイスはそのまま x16 モードで処理を続行します。

これで、 FPGA はどのバス幅で残りのデータを受信するかを識別するこ とができます。 同期ワード

が検出されるまで、 FPGA はパケッ ト処理を開始しません。 詳細は、 表 5-7 を参照してください。

PROM ファイルの生成

PROM ファ イルは、 PROMGen のユーティ リ ティ を使用してビッ ト ス ト リーム ファ イルから生成

します。 PROMGen はコマンド ラ インから直接実行するこ と も、 iMPACT のファ イル生成モード

で間接的に実行するこ と もできます。PROMGen 構文の詳細は、『コマンド ライン ツール ユーザー

ガイ ド』 (UG628) を参照してください。 また、 iMPACT の詳細は、 ISE® ソフ ト ウェアのマニュア

ルを参照して ください。 PROM ファ イルは、 ビッ ト ス ト リームを PROM プログラ ミ ング用の形式

に変換し、 シ リ アル デイジー チェーン用にビッ ト ス ト リーム ファ イルを結合する場合に使用しま

す ( 「シ リ アル デイジー チェーン用の PROM ファ イル」 参照)。

シリアル デイジー チェーン用の PROM ファイル シ リ アル デイジー チェーンは、個別の BIT ファ イルを結合しただけではプログラムできないため、

シ リ アル デイジー チェーン専用の形式でコンフ ィギュレーシ ョ ン データを用意する必要があ り ま

す。 PROMGen (または iMPACT) を使用する と、 複数のビッ ト ス ト リームからシ リ アル デイジー

チェーン専用形式の PROM フ ァ イルを生成でき ます。 PPROM フ ァ イルを生成するには、

PROMGen で複数のビッ ト ス ト リームを選択して -n、 -u、 -d オプシ ョ ンを指定するか、 または

iMPACT の File Generation Wizard を使用します。 詳細は、 ISE ソフ ト ウェアのマニュアルを参照

して ください。

PROMGen は、下位デバイスのコンフ ィギュレーシ ョ ン データを上位デバイスのコンフ ィギュレー

シ ョ ン パケッ トの中にネス ト し、 ビッ ト ス ト リームを再フォーマッ ト します。 デイジー チェーン

のコンフ ィギュレーシ ョ ンを実行する際、 上位デバイスに複数のビッ ト ス ト リームを送信する と

初のデバイスのみがコンフ ィギュレーシ ョ ンされ、 以降のデータは無視されます。

0x55 0x66 同期ワード

… … …

表 5-7 : 同期ワード

31:24 23:16 15:8 7:0

0xAA 0x99 0x55 0x66

表 5-6 : x16 データのバス幅検出パターン (続き)

D[8:15] D[0:7] コ メン ト

Page 80: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

80 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

SelectMAP コンフ ィギュレーシ ョ ン用の PROM ファイル

MCS ファ イルは、 主に SelectMAP モードで 1 つの FPGA をプログラムする場合に用いるザイ リ

ンクス コンフ ィギュレーシ ョ ン PROM のプログラムに使用します。 カスタム コンフ ィギュレー

シ ョ ン ソ リ ューシ ョ ンで も手軽に利用できる PROM ファ イル形式は、何も加工していない BINおよび HEX 形式のファ イルです。 ただし場合によっては、 ファ イル形式の変更が必要になるこ と

があ り ます。 詳細は、 アプ リ ケーシ ョ ン ノー ト XAPP502 『マイ ク ロプロセッサを使用した、 ス

レーブ シ リ アルまたは SelectMAP モードでの FPGA コンフ ィギュレーシ ョ ン 』 を参照して くだ

さい。

SelectMAP コンフ ィギュレーシ ョ ン用の複数のコンフ ィギュレーシ ョ ン ビッ ト ス ト リームが 1 つのメモ リ デバイスにある場合、 それらのビッ ト ス ト リームを 1 つのシ リ アル デイジー チェーン

PROM ファ イルに結合するのではなく、 複数の BIN または HEX ファ イルでターゲッ トのメモ リ

デバイスをプログラムする必要があ り ます。 複数の個別データ ス ト リームを持つ PROM ファ イル

が 1 つ必要な場合は、 iMPACT でパラレル PROM をターゲッ トにし、 目的のデータス ト リーム数

を選択して生成します。あるいは、PROMGen のコマンド ラインから生成するこ と もできます。詳

細は、 PROMGen ソフ ト ウェアのマニュアルを参照してください。

SPI/BPI コンフ ィギュレーシ ョ ン用の PROM ファイル

PROMGen の -d、 -u、 -spi、 -s、 および -data_width オプシ ョ ン、 または iMPACT の FileGeneration Wizard を使用してサード パーティのフラ ッシュ デバイスに対応した PROM ファ イル

を作成できます。 出力には、 サード パーティ プログラマでサポート されている形式を選択するこ

とが重要です。BPI デバイスによっては、PROM ファ イルをプログラムする際にエンディアンのス

ワ ップを有効にする必要があ り ます。 詳細は、 フラ ッシュ デバイス ベンダーの資料を参照して く

ださい。

ビッ トのスワップ

ビッ ト スワップとは、 バイ ト内でビッ ト位置を入れ替えるこ とです。 ファ イル形式が MCS、EXO、 および TEK の RPOM ファ イルでは常にビッ ト スワ ップが行われます。 ファ イル形式が

HEX の場合、 ビッ ト スワップを使用するかど うかはユーザー オプシ ョ ンで指定できます。 ビッ ト

ス ト リーム ファ イル (BIT、 RBT、 BIN) がビッ ト スワップするこ とはあ り ません。

HEX フ ァ イル形式には、 コンフ ィ ギュ レーシ ョ ン データのみ含まれますが、 その他の形式の

PROM ファ イルには、FPGA にはダウンロード されないアドレスおよびチェッ クサム情報が含まれ

ます。 このアドレスおよびチェ ッ クサム情報は、 サード パーティのデバイス プログラマが使用す

るもので、 PROM へはプログラムされません。

Page 81: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 81UG380 (v2.2) 2010 年 7 月 30 日

PROM ファイルの生成

図 5-1 に、 2 バイ トのデータ (0xABCD) のビッ ト スワ ップを示します。

各バイ トの MSB は、 データの方向に関係なく D0 ピンに割り当てられます。

• ビッ ト スワップしたデータでは、 右端のビッ トが D0 に送信されます。

• ビッ ト スワップしていないデータでは、 左端のビッ トが D0 に送信されます。

ビッ ト スワ ップが必要かど うかは、 完全にアプリ ケーシ ョ ンによって決定します。 ビッ ト スワ ッ

プは、 マスター シ リ アル、 マスター SelectMAP、 または BPI PROM ファ イルで可能です。

パラレル バスのビッ ト順

従来の SelectMAP x8 モードの場合、 CCLK の 1 サイ クルで 1 バイ トのコンフ ィギュレーシ ョ ン

データが読み込まれ、 各バイ トの MSB ( 上位ビッ ト ) は D0 ピンに現れます。 この D0 = MSB、

D7 = LSB という規則はほかのデバイスには該当しませんが、ザイ リ ンクスの FPGA はすべてこの

規則に従っています。 このビッ ト スワ ップの規則は、 Spartan-6 FPGA の BPI x8 モードにも該当

します (80 ページの 「ビッ トのスワップ」 参照)。

Spartan-6 デバイスでは、 ビッ ト スワ ップ規則は x16 バス幅にも適用され、 データは各バイ ト内で

ビッ ト スワップされます。

表 5-8 および表 5-9 に、 ビッ ト ス ト リーム内の同期ワード例を示します。 この例では、 スレーブ

SelectMAP、 マスター SelectMAP (BPI) モードなどのパラレル コンフ ィギュレーシ ョ ン モードを

使用した場合、 FPGA データ ピンに出力されるデータを示しています。

X-Ref Target - Figure 5-1

図 5-1 : ビッ ト スワップの例

UG380_c5_01_042909

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:

表 5-8 : 同期ワードのビッ ト スワップ例

同期ワード [31:24](1) [23:16] [15:8] [7:0]

ビッ ト ス ト リーム形式 0xAA 0x99 0x55 0x66

スワップしたビッ ト 0x55 0x99 0xAA 0x66

注記 :

1. [31:24] は、 ビッ ト スワ ップ後に 0xAA から 0x55 に変化します。

Page 82: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

82 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

コンフ ィギュレーシ ョ ンの遅延

Spartan-6 デバイスでは、次の 2つの方法でコンフ ィギュレーシ ョ ンの開始を遅らせるこ とができま

す。

• 初期化中に INIT_B ピンを Low に保持します。いったん INIT_B が High になる と、その後に

INIT_B を Low にしてもコンフ ィギュレーシ ョ ンを遅延させるこ とはできません。

• PROGRAM_B ピンを Low に保持します。 表 5-10 に、 初期化およびコンフ ィギュレーシ ョ ン

の遅延に関連する信号を示します。

表 5-9 : x8、 x16 モードでの同期ワードのデータ シーケンス例

CCLK サイクル 1 2 3 4

x8 モードの D[7:0] ピン 0x55 0x99 0xAA 0x66

x16 モードのD[15:0] ピン 0x5599 0xAA66

表 5-10 : 初期化およびコンフ ィギュレーシ ョ ンの遅延に関連する信号

信号名 タイプ アクセス (1) 説明

PROGRAM_B 入力 PROGRAM_B ピンを介し

て外部からアクセス可能

グローバル非同期チップ リセッ トです。Low に保持し

てコンフ ィ ギュレーシ ョ ンを遅延させる こ とができ

ます。

INIT_B 入力、

出力、

または

オープン ド レイン

INIT_B ピンを介して外部

からアクセス可能

モード ピンのサンプル前は入力となり、Low に保持す

る こ とでコンフ ィ ギュレーシ ョ ンを遅延させる こ と

ができます。

モード ピンのサンプル後はオープン ドレインのアク

ティブ Low 出力とな り、コンフ ィギュレーシ ョ ン中の

CRC エラーまたはコンフ ィギュレーシ ョ ン後のリー

ドバッ ク CRC エラー ( リードバッ ク CRC が有効の場

合) の有無を示します。

0 = CRC エラー

1 = CRC エラーなし (外部プルアップが必要)

MODE_STATUS[1:0] ステータス Spartan-6 FPGA のステー

タス レジスタを介してア

クセス可能な内部信号

モード ピンの直接的な値を反映します。

注記 :

1. Spartan-6 FPGA ステータス レジスタの詳細は、 108 ページの表 5-38 を参照して ください。 JTAG を介したデバイスのステータス レジスタへのアクセスについては、 126 ページの表 6-5 を参照して ください。 SelectMAP を介したデバイスのステータス レジスタへのアクセスについては、 表 6-1 を参照してください。

2. タイプがステータスの場合は、 対応するピンのない内部ステータス信号です。

Page 83: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 83UG380 (v2.2) 2010 年 7 月 30 日

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

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

コンフ ィギュレーシ ョ ン インターフェイスにはいくつかの種類があ り ますが、 Spartan-6 デバイス

をコンフ ィギュレーシ ョ ンする基本的な手順はすべてのモードで共通です。 図 5-2 に、 Spartan-6FPGAのコンフ ィギュレーシ ョ ン プロセスを示します。 こ こからは、 各手順 (図中では灰色で表示)について詳し く説明します。

初の 3 つのセッ ト アップ段階では、 Spartan-6 デバイスを初期化し、 モード ピンをサンプリ ング

してコンフ ィギュレーシ ョ ン モードを判断します。

セッ トアップ (手順 1 - 3)セッ ト アップのプロセスは、 すべてのコンフ ィギュレーシ ョ ン モードで同じです (図 5-3 参照)。

セッ ト アップの各手順は、 デバイスを正し く コンフ ィギュレーシ ョ ンするために非常に重要です。

この手順では、 1. デバイスの電源投入、 2. コンフ ィギュレーシ ョ ン メモ リのク リ ア、 3. モード ピンのサンプリ ングを実行します。

デバイスの電源投入 (手順 1)

Spartan-6 デバイスをコンフ ィギュレーシ ョ ンするには、 VCCO_2、 VCCAUX、 および VCCINT ピンへの電源投入が必要です。 電源投入シーケンスの要件はあ り ません。

JTAG およびシ リ アル コンフ ィギュレーシ ョ ン ピンは、VCCAUX および VCCO_2 に配置されてい

ます。 多目的ピンはバンク 0、 1、 2 にあ り ます (I/O バンクが 6 つ以上の大型デバイスの場合は例

外で、A24 および A25 がバンク 5 にある)。DONE および PROG_B 専用入力は VCCO_2 LVCMOSレベルで動作し ますが、 JTAG 入力ピン (TCK、 TMS、 TDI) と SUSPEND ピンは、 VCCAUXLVCMOS レベルで動作します。 DONE ピンは、 出力規格が LVCMOS 8mA SLOW に設定されて

いる VCCO_2 の電圧レベルで動作します。 TDO は VCCAUX で提供される電圧レベルで駆動しま

す。

多目的 I/O を使用するモードでは、 VCCO_X をコンフ ィギュレーシ ョ ン デバイスの I/O 規格に一

致した電圧に正し く接続する必要があ り ます。VCCO_X レベルによっては、コンフ ィギュレーシ ョ

ン中ピンは LVCMOS18、 LVCMOS25、 または LVCMOS33 8mA SLOW で動作します。

X-Ref Target - Figure 5-2

図 5-2 : Spartan-6 のコンフ ィギュレーシ ョ ン プロセス

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG380_c5_02_042909

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 FinishUG380_c5_03_042909

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

Setup

Page 84: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

84 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

電源投入の際には、 -2/-3/-4 スピード グレードの場合は 1.2V の電源電圧を、- 1L の場合は 1.0V の電源電圧を VCCINT ピンに供給する必要があ り ます。 VCCO_2 にも電源を供給して く ださい。

表 5-11 にコンフ ィギュレーシ ョ ンに必要な電源を示し、表 5-12 に電源投入に関するタイ ミ ング パラ メーターを示します。

表 5-11 : コンフ ィギュレーシ ョ ンに必要な電源

ピン名(1) 説明

VCCINT 内部コア電源

VBATT(2) 暗号化キーのバッテ リ電源です。不揮発性メモ リに暗号化キーが

ない場合、 VBATT は VCC または GND に接続する必要があ り ま

す。

VFS 暗号化キー eFUSE プログラ ミ ング電圧です。eFUSE プログラム

が必要ない場合、 VFS は VCCAUX に接続する (推奨) か、 または

未接続にします。

VCCAUX(3) コンフ ィギュレーシ ョ ン ロジッ ク と FPGA のその他の機能向け

補助電源です。

VCCO_0 VCCO_1VCCO_2(4)

VCCO_5(5)

多目的コンフ ィギュレーシ ョ ン ピンの出力電源電圧です。 コン

フ ィギュレーシ ョ ン中は VCCO_2 を 1.2V または 1.5V にでき

ません。

注記 :

1. 推奨動作値については、 データシート DS162 『Spartan-6 FPGA データシート : DC 特性およびスイ ッチ特性』 を参照して ください。

2. ビッ ト ス ト リーム暗号化を使用する場合のみ VBATT または VFS が必要で、 Spartan-6 LX75、 LX75T、LX100、 LX100T、 LX150、 および LX150T デバイスでのみサポート されています。

3. eFUSE プログラ ミ ング中は、 VCCAUX は VFS と同等またはそれ以上にする必要があ り ます。 コンフ ィギュレーシ ョ ンではこの要件を満たす必要はあ り ません。

4. VCCO_2 が 1.8V の場合、 VCCAUX は 2.5V にする必要があ り ます。 VCCO_2 が 2.5V または 3.3V の場合、 VCCAUX は 2.5V または 3.3V にできます。

5. BPI コンフ ィギュレーシ ョ ン モードが使用されていて、 I/O バンク 5 に A24 および A25 がある場合、VCCO_5 が必要な場合があ り ます。

表 5-12 : 電源投入に関連するタイ ミング パラメーター

説明 シンボル

プログラム レイテンシ TPL

POR (パワー オン リセッ ト ) TPOR

CCLK 出力遅延 TBPIICCK または TSPIICCK(2)

プログラム パルス幅 TPROGRAM

注記 :

1. 電源投入時のタイ ミ ング特性の詳細は、 『Spartan-6 FPGA データシート : DC 特性およびスイ ッチ特性』 (DS162) を参照して ください。

2. マスター セレク ト MAP および BPI コンフ ィギュレーシ ョ ン インターフェイスの場合は TBPIICCK を使用し、 マスター シ リ アルおよび SPI コンフ ィギュレーシ ョ ン インターフェイスの場合は TSPIICCK を使用してください。

Page 85: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 85UG380 (v2.2) 2010 年 7 月 30 日

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

図 5-4 に、 電源投入時の波形を示します。

VCCINT、 VCCO_2、 および VCCAUX は、 指指定された立ち上がり時間内で単調に増加させる必要

があ り ます。 これが不可能な場合は、 システム電源が推奨動作電圧値に到達するまで、 INIT_B ピンまたは PROGRAM_B ピンを Low に保持してコンフ ィギュレーシ ョ ンの開始を遅らせてくださ

い (82 ページの 「コンフ ィギュレーシ ョ ンの遅延」 参照)。

VCCO_2、 VCCAUX、 および VCCINT はパワーオン リセッ ト (POR) へ入力されます。 VCCAUX または VCCINT が 小動作電圧に達しないと きは、POR を再度ト リガーする必要がある場合があ り ま

す。

コンフ ィギュレーシ ョ ン メモリのクリア (手順 2、 初期化)

コンフ ィギュレーシ ョ ン メモ リは、 デバイスへの電源投入後、 PROGRAM_B ピンの Low パルス

後、 JTAG JPROGRAM 命令または IPROG コマン ドの使用後、 あるいはフォールバッ ク リ コン

フ ィギュレーシ ョ ン シーケンス中に逐次初期化されます。初期化の間、 コンフ ィギュレーシ ョ ン専

用ピンおよび JTAG ピン以外の I/O は、 ハイインピーダンス状態とな り ます。 初期化中、 INIT_Bは内部で Low に駆動され、電源投入時には TPOR 後に (図 5-4)、それ以外の場合は TPL 後にリ リー

スされます。 INIT_B を外部から Low に保持する と、デバイスはピンがリ リースされるまで初期化

プロセスのその時点の状態で待機します。

PROGRAM_B の 小 Low パルス時間は、 TPROGRAM タイ ミ ング パラ メーターによって定義され

ます。 PROGRAM_B ピンは、必要な限りアクティブ (Low) に維持でき、 PROGRAM_B のリ リー

ス後にデバイスはコンフ ィギュレーシ ョ ン メモ リ を二度ク リ アします。

X-Ref Target - Figure 5-4

図 5-4 : デバイスの電源投入タイ ミング

UG380_c5_04_051909

VCCINT, VCCO_2, VCCAUX TPOR

TPL

TICCK

PROGRAM_B

INIT_B

CCLK Output or Input

VALIDM0, M1*(Required)

*Can be either 0 or 1, but must not toggle during and after the INIT rising edge.

X-Ref Target - Figure 5-5

図 5-5 : 初期化 (手順 2)

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG380_c5_05_042909

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

Setup

Page 86: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

86 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

モード ピンのサンプル (手順 3)

INIT_B ピンが High に遷移する と、 デバイスはモード ピン M[1:0] をサンプルし、 マスター モー

ドの場合はコンフ ィギュレーシ ョ ン ク ロ ッ ク (CCLK) の駆動を開始します。 デバイスは CCLK の立ち上がりエッジでコンフ ィギュレーシ ョ ン データ入力ピンのサンプリ ングを開始します。

ビッ トス ト リームの読み込み (手順 4 ~ 7)ビッ ト ス ト リームの読み込みプロセスは、 すべてのコンフ ィギュレーシ ョ ン モードでほぼ共通で

す。主な違いは、 コンフ ィギュレーシ ョ ン ロジッ クへのインターフェイスです。 これらの違いに関

する詳細は、 第 2 章 「コンフ ィギュレーシ ョ ン インターフェイスの基本」 で説明します。

同期化 (手順 4)

同期ワードは、これからコンフ ィギュレーシ ョ ン データの送信が開始されるこ とをデバイスに通知

する と共に、 内部のコンフ ィギュレーシ ョ ン ロジッ クがコンフ ィギュレーシ ョ ン データに揃う よ

うにします。 同期ワード よ り も前のコンフ ィギュレーシ ョ ン入力ピン上のデータはすべて無視され

ます。

BitGen ソフ ト ウェアで生成したコンフ ィギュレーシ ョ ン ビッ ト ス ト リーム (BIT ファ イル) には必

ずバス幅検出パターンと同期ワードの両方が含まれるため、 同期をユーザーが意識するこ とはほと

んどあ り ません。

X-Ref Target - Figure 5-6

図 5-6 : モード ピンのサンプル (手順 3)

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG380_c5_06_042909

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

Setup

X-Ref Target - Figure 5-7

図 5-7 : 同期化 (手順 4)

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG380_c5_07_042909

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

Page 87: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 87UG380 (v2.2) 2010 年 7 月 30 日

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

デバイス ID の確認 (手順 5)

デバイスの同期後、コンフ ィギュレーシ ョ ン データ フレームを読み込む前にデバイス ID を確認す

る必要があ り ます。これは、別のデバイス用にフォーマッ ト されたビッ ト ス ト リームでコンフ ィギュ

レーシ ョ ンされる こ とを防ぐためです。 たとえば、 デバイス ID チェッ クは、 XC6SLX9 ビッ ト ス

ト リームで XC6SLX4 がコンフ ィギュレーシ ョ ンされるこ とを防ぎます。

コンフ ィギュレーシ ョ ン中に ID エラーが発生する と、 デバイスはフォールバッ ク リ コンフ ィギュ

レーシ ョ ンの実行を試みます (136 ページの 「フォールバッ ク マルチブート 」 参照)。

デバイス ID チェッ クはビッ ト ス ト リームに組み込まれているため、 この処理を設計者が意識する

こ とはほとんどあ り ません。表 5-14 に、デバイスの ID チェッ クに関連する信号を示します。 こ こ

の場合のデバイス ID チェッ クは、 JTAG IDCODE レジスタを介してではなく、 コンフ ィギュレー

シ ョ ン ロジッ クに対するビッ ト ス ト リーム内のコマンドによって実行されます。

Spartan-6 FPGA JTAG IDCODE のレジスタのフォーマッ トは次のとおりです。

vvvv:fffffff:aaaaaaaaa:ccccccccccc1

説明 :

v = リ ビジ ョ ン

f = 7 ビッ トのファ ミ リ コード

a = 9 ビッ トのアレイ コード (4 ビッ トのサブファ ミ リおよび 5 ビッ トのデバイス ID)

c = 11 ビッ トの企業コード

X-Ref Target - Figure 5-8

図 5-8 : デバイス ID の確認 (手順 5)

表 5-13 : ID コード

デバイス ID コード (16 進数)

XC6SLX4 0xX4000093

XC6SLX9 0xX4001093

XC6SLX16 0xX4002093

XC6SLX25 0xX4004093

XC6SLX25T 0xX4024093

XC6SLX45 0xX4008093

XC6SLX45T 0xX4028093

XC6SLX75 0xX400E093

XC6SLX75T 0xX402E093

XC6SLX100 0xX4011093

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG380_c5_08_042909

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

Page 88: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

88 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

コンフ ィギュレーシ ョ ン データ フレームの読み込み (手順 6)

同期ワードの読み込みとデバイス ID の確認が完了する と、コンフ ィギュレーシ ョ ン データ フレー

ムが読み込まれます。 このプロセスをユーザーが意識するこ とはほとんどあ り ません。

CRC (Cyclic Redundancy Check) (手順 7)

コンフ ィ ギュレーシ ョ ン データ フレームの読み込み時に、 デバイスはコンフ ィ ギュレーシ ョ ン

データ パケッ トから CRC 値を算出します。データ フレームの読み込み後、 コンフ ィギュレーシ ョ

ン ビッ ト ス ト リームはデバイスに対して CRC を確認する命令を与え、 続いて、 正しい CRC 値を

送信します。 デバイスが算出した CRC 値がビッ ト ス ト リーム内の正しい CRC 値と一致しない場

XC6SLX100T 0xX4031093

XC6SLX150 0xX401D093

XC6SLX150T 0xX403D093

注記 :

1. 4 つのバイナリ リ ビジ ョ ン ビッ トに対応する ID コードの X 桁は、 IDCODE 検証中にプログラ ミ ング ツールで使用されません。

表 5-14 : デバイス ID チェ ックに関連する信号

信号名 タイプ アクセス (1) 説明

ID_Error ステータス 内部信号。 Spartan-6 FPGAステータス レジスタを介し

てのみアクセス可能

ビ ッ ト ス ト リ ームで指定されたデ

バイス ID と実際のデバイス ID の不一致を示します。

注記 :

1. Spartan-6 FPGA ステータス レジスタの詳細は、 表 5-35 を参照してください。 JTAG を介したデバイスのステータス レジスタへのアクセスについては、 表 6-5 を参照して ください。 SelectMAP を介したデバイスのステータス レジスタへのアクセスについては、 表 6-1 を参照して ください。

表 5-13 : ID コード (続き)

デバイス ID コード (16 進数)

X-Ref Target - Figure 5-9

図 5-9 : コンフ ィギュレーシ ョ ン データ フレームの読み込み (手順 6)

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG380_c5_09_042909

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

X-Ref Target - Figure 5-10

図 5-10 : CRC (Cyclic Redundancy Check) (手順 7)

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG380_c5_10_042909

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

Page 89: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 89UG380 (v2.2) 2010 年 7 月 30 日

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

合、 デバイスは INIT_B を Low 駆動し、 コンフ ィギュレーシ ョ ンを中断します。 CRC チェッ クは

デフォルトでコンフ ィギュレーシ ョ ン ビッ ト ス ト リームに含まれますが、不要であれば無効にでき

ます。 詳細は、 『コマンド ライン ツール ユーザー ガイ ド』 (UG628) の 「BitGen」 を参照してくだ

さい。CRC チェッ クを無効にする と、誤ったコンフ ィギュレーシ ョ ン データ フレームを読み込み、

デザインでの不適切な動作あるいはデバイスの損傷を引き起こす可能性があ り ます。

FPGA がマスターとなっているモードでのコンフ ィギュレーシ ョ ンで CRC エラーが発生する と、

フォールバッ ク リ コンフ ィギュレーシ ョ ンが実行されます (136 ページの 「フォールバッ ク マルチ

ブート 」 参照)。

スタートアップ (手順 8)

コンフ ィギュレーシ ョ ン フレームの読み込みが完了する と、 スタート アップ シーケンスの開始命

令がビッ ト ス ト リームからデバイスに与えられます。 スタート アップ シーケンスは、 8 フェーズ (0~ 7) のシーケンシャル ステート マシンで制御されます。つま り、JTAG ク ロ ッ クまたは BitGen の-g StartupCLK オプシ ョ ンで定義された任意のユーザー ク ロ ッ クが供給されます。スタート アッ

プ シーケンサーは、 表 5-15 に示すタスクを実行します。

EOS のアサート を除く スタート アップ イベン トの順序は、 BitGen のオプシ ョ ンでユーザーがプロ

グラムできます ( 『コマンド ライン ツール ユーザー ガイ ド』 (UG628) 参照)。 表 5-15 に、 一般的

なイベン トの順序を示します。実際のスタート アップ イベン トの各フェーズはユーザーでプログラ

ム可能ですが、 EOS は常に 後のフェーズでアサート されます。 スタート アップ オプシ ョ ンのガ

イ ド ラインは、 第 2 章 「コンフ ィギュレーシ ョ ン インターフェイスの基本」 を参照してください。

表 5-16 に、 デフォルト設定でのスタート アップ イベン ト を示します。

X-Ref Target - Figure 5-11

図 5-11 : スタートアップ シーケンス (手順 8)

表 5-15 : スタートアップ イベン トのユーザー選択可能なサイクル

フェーズ イベン ト

1 ~ 6 DCM および PLL がロ ッ クするまで待機します (オプシ ョ ン)。

1 ~ 6 GWE (グローバル ラ イ ト イネーブル) をアサート し、RAM およびフ リ ップフロ ップ

の状態を変更可能にします。

1 ~ 6 GTS (グローバル ト ラ イステート ) をディアサート し、 I/O を有効にします。

1 ~ 6 DONE ピンを リ リースします。

7 EOS (End Of Startup) をアサート します。

表 5-16 : スタートアップ イベン トのデフォルト BitGen シーケンス

フェーズ イベン ト

4 DONE ピンを リ リースします。

5 GTS をディアサート し、 I/O を有効にします。

DevicePower-Up

Sample ModePins

SynchronizationDevice ID

CheckCRC Check

ClearConfiguration

Memory

StartupSequence

LoadConfiguration

Data

Start FinishUG380_c5_11_042909

BitstreamLoading

Steps

1 2 3 4 5 6 7 8

Page 90: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

90 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

適切な BitGen オプシ ョ ンを使用する と、 スタート アップ シーケンスで DCM および PLL がロ ッ

クするまで待機させるこ とができます。通常、 これらのオプシ ョ ンは、 DCM および PLL のロ ッ ク

の前に、 DONE、 GTS、 および GWE がアサート されないよ うに設定します。

スタート アップは、 LCK_CYCLE オプシ ョ ンをスタート アップ フェーズに指定するこ とで DCMおよび PLL を待機でき ます。 これが実行されない場合、 DCM または PLL を待機し ません。

LCK_CYCLE がスタート アップ フェーズに設定される と、FPGA は次のスタート アップ フェーズ

へ移行する前にすべての DCM および PLL がロ ッ クするまで待機します。 特定 DCM のみのロ ッ

クを待機するには、 STARTUP_WAIT 属性をそれらのインスタンスに割り当てます。 PLL には対

応する属性があ り ません。マスター コンフ ィギュレーシ ョ ン モードでの LCK_CYCLE 機能の使用

については、 140 ページの 「マルチブート イ メージ間に必要なデータ空間」 を参照して ください。

DONE 信号は、 ユーザーが指定したサイ クルでスタート アップ シーケンサーによって リ リースさ

れますが、 実際に DONE ピンがロジッ ク High になるまで、 スター ト アップは続行されません。

DONE ピンは、 デフォル ト では内部プルアップ抵抗のあるオープン ド レインの双方向信号です。

DONE ピンがリ リースされる と、 デバイスはロジッ ク Low 駆動が停止して、 ピンは弱いプルアッ

プで High に駆動されます。 表 5-17 にスタート アップ シーケンスに関連した信号を示し、 図 5-12にその波形を示します。

6 GWE をアサート し、 RAM とフ リ ップフロ ップの状態を変

更可能にします。

7 EOS をアサート します。

表 5-16 : スタートアップ イベン トのデフォルト BitGen シーケンス (続き)

フェーズ イベン ト

表 5-17 : スタートアップ シーケンサーに関連する信号

信号名 タイプ アクセス(1) 説明

DONE 双方向(2) DONE ピン

または Spartan-6 FPGA

ステータス レジスタ

コンフ ィギュレーシ ョ ンが完了したこ とを示します。外部で Low を維持

し、 スタート アップをほかの FPGA と同期させるこ とができます。

GWE

ステータス

Spartan-6 FPGA

ステータス レジスタ

グローバル ラ イ ト イネーブル (GWE) です。 ディアサート される と、

FPGA の CLB、IOB フ リ ップフロ ップ、およびその他の同期エレ メン ト

が無効になり ます。

GTS グローバル ト ラ イステート (GTS) です。 アサート される と、 コンフ ィ

ギュレーシ ョ ン ピン用を除く、すべての I/O ド ラ イバーが無効になり ま

す。

DCM_LOCK すべての DCM および PLL がロ ッ ク したこ とを示します。 この信号は、

デフォルトでアサート されています。 DCM で STARTUP_WAIT オプ

シ ョ ンを使用し、 ビッ ト ス ト リームの生成時に LCK_CYCLE オプシ ョ

ンを使用した場合にアクティブになり ます。

注記 :

1. Spartan-6 FPGA ステータス レジスタの詳細は、 105 ページの表 5-35 を参照して ください。 JTAG を介したデバイスのステータス レジスタへのアクセスについては、 「126 ページの表 6-5」 を参照してください。 SelectMAP を介したデバイスのステータス レジスタへのアクセスについては、 「121 ページの表 6-1」 を参照してください。

2. デフォルトでは内部プルアップ抵抗のあるオープン ド レイン出力ですが、 BitGen の DriveDone オプシ ョ ンを有効にするこ と もできます。

Page 91: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 91UG380 (v2.2) 2010 年 7 月 30 日

ビッ トス ト リーム暗号化

スレーブ コンフ ィ ギュレーシ ョ ン モードの場合、 スター ト アップ イベン ト を完了させるには、

DONE が High になった後に追加クロ ッ クが必要です。 マスター コンフ ィギュレーシ ョ ン モード

では、 FPGA がこれらのクロ ッ クを供給します。必要なクロ ッ ク数は、 スタート アップ イベン トに

選択された設定によって異な り ます。 一般的な規則では、 DONE が High になった後に 8 つのク

ロ ッ ク (DIN がすべて 1) が適用されます。DCM および PLL のロ ッ ク (LCK_CYCLE) まで待機す

るよ うにスタート アップが設定されている場合、 さ らにクロ ッ クが必要です。

ビッ トス ト リーム暗号化

Spartan-6 の XC6SLX75/T、 XC6SLX100/T、 および XC6SLX150/T デバイ スには、 オンチップ

AES (Advanced Encryption Standard) 複合化ロジッ クがあ り、デザインの高い安全性を実現してい

ます。 外部の者がビッ ト ス ト リームを不正入手したと しても、 暗号化キーを知らなければ、 ビッ ト

ス ト リームが解読されるこ と もデザインが複製されるこ と もあ り ません。 したがって、 暗号化され

た Spartan-6 FPGA デザインのコピーやリバース エンジニア リ ングは不可能です。暗号化は、デー

タ幅が x1 および x8 のコンフ ィギュレーシ ョ ン モードで使用できます (JTAG を含む)。

Spartan-6 FPGA の AES システムは、 ソフ ト ウェア ベースのビッ ト ス ト リーム暗号化機能、 およ

びオンチップのビッ ト ス ト リーム複合化機能と暗号化キーを格納する専用メモリのための専用メモ

リで構成されています。 ユーザーは、 ISE ソフ ト ウェアを使用して、 暗号化キーと暗号化したビッ

ト ス ト リームを生成できます。 Spartan-6 デバイスでは、 この暗号化キーをデバイス内部の専用

RAM (外部の小型バッ クアップ バッテ リに接続) または eFUSE のいずれかに格納できます。 暗号

化キーは、 JTAG インターフェイスを介してのみデバイスにプログラムできます。 一度プログラム

する と、 JTAG だけでなく どんな方法でも、暗号化キーをデバイスから読み出すこ とはできません。

コンフ ィギュレーシ ョ ン実行中、 Spartan-6 デバイスでは、 反対の処理、 つま り取り込まれている

ビッ ト ス ト リームの復号化が行われます。 Spartan-6 FPGA の AES 暗号化ロジッ クは、 256 ビッ ト

の暗号化キーを使用します。

オンチップの AES 復号化ロジッ クは、 ビッ ト ス ト リームの復号化以外の目的には使用できません。

たとえば、 ユーザー デザインでは AES 復号化ロジッ クは使用できず、 コンフ ィギュレーシ ョ ン

ビッ ト ス ト リーム以外のデータは復号化できません。

X-Ref Target - Figure 5-12

図 5-12 : コンフ ィギュレーシ ョ ン信号のシーケンス (デフォルト設定でのスタートアップの場合)

POR

INIT_B

DONE

GWE

GTS

EOS

CCLK

Initialization Configuration Startup End of Bitstream UG380_c5_12_042909

Page 92: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

92 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

AES の概要

Spartan-6 FPGA の暗号化システムは、 AES 暗号化アルゴ リ ズムを使用します。 AES は、 NIST(National Institute of Standards and Technology) および米国商務省が認証する公式規格です

(http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf)。

Spartan-6 FPGA の AES 暗号化システムは 256 ビッ トの暗号化キーを使用し (NIST が定める 128ビッ トおよび 192 ビッ ト の暗号化キーはインプ リ メ ン ト しない)、 一度に 128 ビッ ト のデータ ブロ ッ クを暗号化または復号化します。 NIST による と、 256 ビッ ト キーの場合、 その組み合わせは

1.1 x 1077 とおり考えられます。

AES のよ うな対称暗号化アルゴ リズムでは、暗号化と復号化に同じキーが使用されます。 したがっ

て、 データの安全性はキーの安全性に依存しています。

暗号化したビッ トス ト リームの作成

ISE ソフ ト ウェアで提供されている BitGen では、 暗号化したビッ ト ス ト リームと暗号化していな

いビッ ト ス ト リームのどちら も作成できます。 ビッ ト ス ト リームを AES 暗号化するには、 BitGenの入力と して 256 ビッ トのキーを指定します。これによ り、BitGen で暗号化ビッ ト ス ト リーム ファ

イル (BIT) および暗号化キーファイル (NKY) が生成されます。

BitGen のコマンドおよび構文の詳細は、 『コマンド ライン ツール ユーザー ガイ ド』 (UG628) を参

照して ください。

暗号化キーの読み込み

暗号化キーは、 JTAG インターフェイスを介してのみ Spartan-6 デバイスに読み込むこ とができま

す。 ISE ソフ ト ウェアで提供されている iMPACT ツールで NKY ファ イルを入力ファイルと し、ザ

イ リ ンクスの USB-II プログラ ミ ング ケーブルを使用して JTAG 経由でデバイスに暗号化キーをプ

ログラムできます。

暗号化キーをプログラムする際、 ISC_PROGRAM_KEY 命令を使用する とデバイスが特別なキー

アクセス モードにな り ます。 この命令では、 暗号化キー専用 RAM と コンフ ィギュレーシ ョ ン メモ リ を含むすべての FPGA メモ リがク リ アされます。 暗号化キーがプログラムされ、 キー アクセ

ス モードが終了する と、いかなる方法でもデバイスから暗号化キーを読み出すこ とはできず、 キー

を再プログラムするにはデバイス全体を初期化する必要があ り ます。 このキーは、eFUSE にプログ

ラムした後、 再プログラムできません。

暗号化ビッ トス ト リームの読み込み

デバイスに適切なキーをいったんプログラムする と、 暗号化ビッ ト ス ト リームを使用したデバイス

コンフ ィギュレーシ ョ ンが可能になり ます。 暗号化ビッ ト ス ト リームでコンフ ィギュレーシ ョ ンを

行った後は、 BitGen のセキュ リティ設定にかかわらず、 JTAG または SelectMAP リードバッ クに

よってコンフ ィギュレーシ ョ ン メモ リ を読み出すこ とはできません。

デバイスに暗号化キーが取り込まれた状態のと きに、 暗号化していないビッ ト ス ト リームでデバイ

スをコンフ ィギュレーシ ョ ンするこ とができます。 この場合、 キーは無視されます。 また、 暗号化

していないビッ ト ス ト リームでコンフ ィギュレーシ ョ ンを行った後は、 リードバッ クが可能です

(BitGen のセキュ リ ティ設定で許可されている場合のみ)。 この場合でも、デバイスから暗号化キー

を読み出すこ とはできないため、「 ト ロイの木馬」 ビッ ト ス ト リームを使用して Spartan-6 FPGA の暗号化システムを無効にするこ とはできません。

Page 93: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 93UG380 (v2.2) 2010 年 7 月 30 日

ビッ トス ト リーム暗号化

暗号化を使用しても、 コンフ ィギュレーシ ョ ンの方法には影響を与えるこ とはあ り ません。 データ

幅が x1 または x8 のコンフ ィギュレーシ ョ ン モード (シ リ アル、 JTAG、 BPI、 SelectMAP) で、 コ

ンフ ィギュレーシ ョ ン ビッ ト ス ト リームを受け取る こ とができます。 SPI x2、 SPI x4、 BPI x16、および SelectMAP x16 のバス幅は暗号化ビッ ト ス ト リームではサポート されていません。また、コ

ンフ ィギュレーシ ョ ンのタイ ミ ングおよびシグナリ ングは、 暗号化の影響を受けません。

コンフ ィギュレーシ ョ ン後にリ コンフ ィギュレーシ ョ ンするには、 PROGRAM_B ピンを ト グルす

る、電源を再投入する、 あるいは JPROGRAM 命令を与える必要があ り ます。暗号化をオンにする

と、フォールバッ ク リ コンフ ィギュレーシ ョ ンおよび IPROG リ コンフ ィギュレーシ ョ ン (136 ペー

ジの 「フォールバッ ク マルチブート 」 参照) が無効とな り ます。 また、 ICAP プリ ミ ティブを使用

した リードバッ クが可能です ( 「ビッ ト ス ト リームの暗号化および内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAP)」 参照)。 VBATT または VCCAUX が維持されている場合、 これらのイベン ト

によってキーがリセッ ト されるこ とはあ り ません。

暗号化ビッ ト ス ト リーム内のキーとデバイスに格納されたキーが一致しないと、 コンフ ィギュレー

シ ョ ンがエラーとな り、 INIT_B ピンが Low になって、 DONE ピンが Low のままになり ます。

ビッ トス ト リームの暗号化および内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAP)

内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAP) プリ ミ ティブを使用する と、ユーザー ロジッ

クから Spartan-6 FPGA コンフ ィギュレーシ ョ ン インターフェイスにアクセスできます。 ICAP インターフェイスは SelectMAP インターフェイス とほとんど同じですが、 コンフ ィギュレーシ ョ ン

後のリードバッ クの制限が ICAP インターフェイスにはあ り ません。 ICAP であれば、 ビッ ト ス ト

リームの暗号化を使用した場合でも リードバッ クを実行できます。 ICAP インターフェイスをユー

ザー I/O に配線しない限り、ICAP を使用するこ とで外部から Spartan-6 FPGA の AES 暗号化シス

テムが侵害されるこ とはあ り ません。

デザインのセキュ リティに万全を期すには、 次の点に注意して ください。

• ICAP インターフェイスをユーザー I/O に配線しない

または

• ICAP プリ ミ ティブをインスタンシエート しない

ほかのコンフ ィギュレーシ ョ ン インターフェイス と同様、ICAP インターフェイスからキー レジス

タにアクセスするこ とはできません。

VBATT

暗号化キー メモ リ セルは揮発性であ り、 その内容を維持するには、 電源が継続して投入されてい

る必要があ り ます。通常の動作中、 これらのメモ リ セルには補助電圧入力 (VCCAUX) から電源が供

給されますが、 VCCAUX が切断される と、 キーを保持するために VBATT 電源入力から電源が供給

されます。 VBATT にはほとんど電流が流れないため (nA 程度)、 この電源には小さなボタン電池が

適しています。 バッテ リの寿命を推定するには、 『Spartan-6 FPGA データシート : DC 特性および

スイ ッチ特性』 記載の VBATT の DC 特性およびバッテ リの仕様を参照して ください。 150nA 未満

の負荷では、 バッテ リの使用可能期間はバッテ リの寿命期間になるはずです。

VBATT には電流が流れないため、VCCAUX から電源を供給中に切断できます。VBATT は、VCCAUX切断時に暗号化キーを保持する以外の目的には使用できません。

Page 94: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

94 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

eFUSEヒ ューズ リ ンクは、一定期間に大量の電流を流すこ とでプログラムします。 FUSE プログラム用の

電流は、固定された外部電源供給 (VFS ピン) から供給されます。 大レベルは、内部で生成された

電源で制御されます。 また、 eFUSE は OTP (ワンタイム プログラマブル) です。

通常、プログラムしたヒ ューズ リ ンクはプログラムしていない状態の抵抗値よ り もその値が数桁大

き くな り ます。 プログラムしたヒ ューズの論理値は 1 で、 プログラムしていないヒ ューズの論理値

は 0 です。

FUSE_KEY および FUSE_CNTL レジスタの各論理ビッ トは、2 つの eFUSE セル (プライマ リ、 リ

ダンダン ト )、 1 つのフ リ ップフロ ップ、 およびデータ マルチプレクス用の共通ロジッ ク エレ メン

トで構成されています。

eFUSE レジスタ

Spartan-6 FPGA には、 全部で 3 つの eFUSE レジスタがあ り ます。 表 5-18 に、 Spartan-6 デバイ

スの eFUSE レジスタ とそれぞれのサイズおよび用途を説明します。 eFUSE ビッ トのアドレスが指

定される と、 LSB 順にシフ ト イン/シフ ト アウ ト されて 後に MSB がきます。

eFUSE 制御レジスタ (FUSE_CNTL)

このレジスタには、6 つのユーザー プログラマブル ビッ トが含まれています。 これらのビッ ト を使

用して、表 5-19 に示すよ うに AES キーの使用法や eFUSE レジスタの読み出し /書き込み保護を設

定します。 ビッ ト 0 が 初にシフ ト イン/シフ ト アウ ト されます。

表 5-18 : eFUSE レジスタ

レジスタ名サイズ

(ビッ ト )内容 説明

FUSE_KEY(1) 256 ビ ッ ト ス ト リ ーム暗号化

キー

[0:255]

(ビッ ト 255 が 初にシフ ト

される)

AES ビッ ト ス ト リームの復号化で使用するキーを格納します。

バッ クアップ バッテ リが必要な SRAM にキーを格納する代わ

りに、 eFUSE にキーを格納して使用できます。

Spartan-6 FPGA の復号化エンジンは、 この AES キーを使用し

て暗号化ビッ ト ス ト リームを読み込みます。 AES キーは、

FUSE_CNTL レジスタの読み出し /書き込みアクセス ビッ トの

設定に基づき、JTAG ポート を介して読み出しまたはプログラム

が可能です。

FUSE_ID 57 Device DNA

[0:56]

(ビッ ト 56 が 初にシフ ト

される)

Device DNA を格納します。 JTAG ポートや DNA_PORT プリ

ミ ティブを介してアクセスする読み出し専用レジスタです。

FUSE_CNTL(1) 32 制御ビッ ト

CNTL [31:0]

(ビッ ト 0 が 初にシフ ト

される)

キーの使用や eFUSE レジスタへの読み出し /書き込みアクセス

を制御します。このレジスタは、JTAG ポート を介して読み出し

またはプログラムが可能です。

注記 :

1. FUSE_KEY および FUSE_CNTL は、 XC6SLX75/T、 XC6SLX100/T、 および XC6SLX150/T デバイスでのみ使用できます。

Page 95: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 95UG380 (v2.2) 2010 年 7 月 30 日

eFUSE

eFUSE ビッ トは OTP (ワンタイム プログラマブル) です。つま り、一度プログラムする と再プログ

ラムはできません。 たとえばレジスタへのアクセスを無効にした場合、 後から有効にするこ とはで

きません。

CNTL[17] をプログラムしない場合は次のこ とが可能です。

表 5-19 : eFUSE CNTL レジスタ ビッ ト

ビッ ト

番号名前 説明 注釈

0:7 - - 予約

8 CNTL

セキュ リティ

CNTL レジスタの読み出

し と書き込みを無効にし

ます。CNTL[12] でリダン

ダン ト

AES および CNTL レジスタの操作や

リ ードバッ ク を防止するため、 ユー

ザーはこれらのレジス タをプログラ

ムおよび検証した後にこのビ ッ ト を

プログラムする必要があ り ます。

9 - - 予約

10 キー セキュ リティ

KEY レジスタの読み出し

と書き込みを無効にし ま

す。CNTL[14] でリダンダ

ン ト。

AES レジスタの操作やリードバッ ク

を防止するため、ユーザーはこれらの

レジス タをプログラムおよび検証し

た後にこのビ ッ ト をプログラムする

必要があ り ます。

11 - - 予約

12 CNTL

セキュ リティ

CNTL レジスタの読み出

し と書き込みを無効にし

ます。 CNTL[8] でリダン

ダン ト。

AES および CNTL レジスタの操作や

リ ードバッ ク を防止するため、 ユー

ザーはこれらのレジス タをプログラ

ムおよび検証した後にこのビ ッ ト を

プログラムする必要があ り ます。

13 - - 予約

14 キー セキュ リティ

KEY レジスタの読み出し

と書き込みを無効にし ま

す。CNTL[10] でリダンダ

ン ト。

AES レジスタの操作やリードバッ ク

を防止するため、ユーザーはこれらの

レジス タをプログラムおよび検証し

た後にこのビ ッ ト をプログラムする

必要があ り ます。

15 - - 予約

16 aes_exclusive パーシャル リ コンフ ィ

ギュ レーシ ョ ンを無効に

します。

次のいずれかの方法でコンフ ィ ギュ

レーシ ョ ン前に FPGA の内容をク リ

アするこ とを要求します : JPROGJTAG 命令の発行、 PROGRAM_B ピンのパルス、または FPGA への電源再

投入。

17 cfg_aes_only このビ ッ ト がプログ ラ ム

された後、 FPGA は、

eFUSE レジスタに格納さ

れた AES キーを使用して

のみ コ ン フ ィ ギ ュ レ ー

シ ョ ン可能です。

eFUSE AES レジスタに格納された

AES キーで暗号化されたビッ ト ス ト

リームでのみ FPGA のコンフ ィギュ

レーシ ョ ンが可能です。

18:31 - - 予約

Page 96: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

96 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

• 暗号化は、 BitGen オプシ ョ ンで無効/有効にできる

• eFUSE に格納されている AES キーを使用するか、 バッ クアップ バッテ リ を必要とする

SRAM に格納されている AES キーを使用するかを BitGen のオプシ ョ ンで選択できる

CNTL[17] をプログラムした場合、eFUSE に格納されたキーで暗号化したビッ ト ス ト リームのみを

FPGA のコンフ ィギュレーシ ョ ンに使用できます。

CNTL[16] をプログラムした場合、 初のコンフ ィギュレーシ ョ ン後にコンフ ィギュレーシ ョ ン メモ リ がブロ ッ ク されます。 デバイ ス を リ コ ン フ ィ ギ ュ レーシ ョ ンするには、 電源の再投入、

JPROGRAM または IPROG コマンドの発行、 PROGRAM_B ピンのパルスのいずれかが必要にな

り ます。

JTAG 命令

eFUSE レジスタは JTAG ポートから読み出すこ とができます。 eFUSE のプログラムは、 JTAG を介してのみ可能です。表 5-20 に、 eFUSE に関連する JTAG 命令を示します。標準的な JTAG 通信

プロ ト コルの詳細は、 第 10 章 「アドバンス JTAG コンフ ィギュレーシ ョ ン」 を参照してください。

これらの命令は、eFUSE をプログラムするのに十分ではあ り ません。適切なアルゴ リ ズムが使用さ

れますが、 提供されていません。 唯一サポー ト されている eFUSE のプロ グ ラ ミ ング方法は、

iMPACT ソフ ト ウェアの使用によるものです。

VFS ピン

Spartan-6 デバイスの VFS ピンは、 2 つの eFUSE 動作専用ピンのうちの 1 つです。 VFS ピンは、

電源投入の上昇率や ESD ス ト レスなどを検証するための電源供給と して使用されます。

プログラム中の VFS ピンの電圧仕様は、公称値で 3.3V です。 プログラム中の電流に対しては、

大 40mA を供給でき る よ う にする必要があ り ます。 読み出しモードの場合、 VFS ピンは唯一

VCCAUX の 大動作条件よ り低くなる必要があ り ます。 VFS バイアスの条件については、 表 5-21を参照して ください。 完全な仕様は、 データシート DS162 『Spartan-6 FPGA データシート : DC特性およびスイ ッチ特性』 () を参照してください。

表 5-20 : eFUSE 関連の JTAG 命令

JTAG 命令 コード アクシ ョ ン

FUSE_KEY 6'h3B 256 ビッ トの FUSE_KEY レジスタを選択します。

FUSE_OPTION6'h3C eFUSE とのインターフェイスで使用されるデータお

よびコマンドに対応する 16 ビッ トの FUSE_OPTIONレジスタを選択します。

ISC_FUSE_READ6'h30 DNA eFUSE レジスタを選択します。 ISC_ENABLE

の後に実行し、それから ISC_DISABLE を実行する必

要があ り ます。

FUSE_UPDATE6'h3A AES および CNTL の eFUSE からの値で FPGA を更

新します。

FUSE_CNTL 6'h34 32 ビッ トの FUSE_CNTL レジスタを選択します。

Page 97: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 97UG380 (v2.2) 2010 年 7 月 30 日

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

RFUSE ピン

RFUSE ピンは、 eFUSE 動作に使用される 2 つ目の専用ピンです。 eFUSE のプログラムが必要な

場合は、 1,140Ω 抵抗を GND に接続してください。 1,140Ω 抵抗を得るこ とが難しい場合は、 10W抵抗と直列の 1,130W 抵抗に置き換える こ とが可能です。 許容抵抗については、 データシー ト

DS162 『Spartan-6 FPGA データシート : DC 特性およびスイ ッチ特性』 を参照して ください。 プ

ログラムしていないと きに eFUSE を使用するか、 または eFUSE を使用しない場合、 RFUSE をVCCAUX に接続またはグランド接続するこ とを推奨します。 あるいは、 RFUSE はフロート させて

おく こ とが可能です。

VCCAUX ピン

VCCAUX は、eFUSE のプログラム時に VFS と同等またはそれ以上にする必要があ り ます。VCCAUXは、eFUSE からの読み出しまたはコンフ ィギュレーシ ョ ン時にほかの推奨動作値をと るこ とが可能

です。 詳細は、 データシート DS162 『Spartan-6 FPGA データシート : DC 特性およびスイ ッチ特

性』 を参照して ください。

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

Spartan-6 FPGA のコンフ ィギュレーシ ョ ン メモ リは、 フレームに分割され、 デバイスに並べられ

ています。 Spartan-6 FPGA のコンフ ィギュレーシ ョ ン メモ リ空間では、 フレームがアドレス指定

可能な 小単位であ り、すべての操作はコンフ ィギュレーシ ョ ン フレーム全体に対して実行するこ

とにな り ます。Spartan-6 FPGA のフレーム数およびコンフ ィギュレーシ ョ ン サイズは、表 5-22 に記載されています。 BitGen のオプシ ョ ンによっては、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム

にオーバーヘッ ドが追加されるこ とがあ り ます。ビッ ト ス ト リームの正確な長さは、RBT (rawbits)ファ イルにに記述されています。 このファイルは、 BitGen の -b オプシ ョ ンを指定するか、 または

ISE ソ フ ト ウ ェ アのポ ッ プア ッ プ メ ニ ューで [Generate Programming File] → [Create ASCIIConfiguration File] をク リ ッ クする と生成されます。 ビ ッ ト ス ト リーム長 (ワード ) は、 コンフ ィ

ギュレーシ ョ ン アレイ サイズ (ワード ) にコンフ ィギュレーシ ョ ン オーバーヘッ ド (ワード ) を足

したものにほぼ等し くな り ます。ビッ ト ス ト リーム長 (ビッ ト ) は、ビッ ト ス ト リーム長 (ワード ) に32 を掛けたものにほぼ等し くな り ます。

表 5-21 : VFS ピンのバイアス条件

eFUSE モード VFS ピンのバイアス

読み出しまたは未使用 VCC/GND (推奨) または未接続

プログラム 3.3V

表 5-22 : デバイス リソース

デバイス ブロック RAM 列コアの

フレーム数

ブロック RAM のフレーム数

I/O 数I/O の

フレーム長ビッ ト総数

XC6SLX4 1 794 9360 120 577 2,724,832

XC6SLX9 2 2028 37440 200 897 2,724,832

XC6SLX16 2 2976 37440 244 1,073 3,713,568

Page 98: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

98 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

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

Spartan-6 FPGA ビッ ト ス ト リーム コマンドはすべて、 コンフ ィギュレーシ ョ ン レジスタに対する

読み出しまたは書き込みとい う形で実行されます。 コンフ ィギュレーシ ョ ン データは 16 ビ ッ ト

ワードで構成されています。 複数のワードで構成されるデータもあ り ます。 コンフ ィギュレーシ ョ

ン データには、 NOP、 READ、 WRITE の 3 つの主なコマンドがあ り ます (表 5-23 参照)。

コンフ ィギュレーシ ョ ン コマンドは、 該当するコマンド レジスタから読み出されるか、 または書

き込まれる と きに実行されます。

パケッ トのタイプ

すべてのデータ (レジスタの書き込みおよびフレーム データ) は、 2 種類のパケッ トにまとめられま

す。

• タイプ 1 パケッ ト : ヘッダーおよびデータの 2 つのセクシ ョ ンに分かれています。

• タイプ 2 パケッ ト : ヘッダー、 ワード カウン ト、およびデータの 3 つのセクシ ョ ンに分かれて

います。

XC6SLX25 3 5065 70200 264 1,153 6,411,696

XC6SLX25T 3 5065 70200 264 1,153 6,411,696

XC6SLX45 4 9088 149760 370 1,577 11,875,232

XC6SLX45T 4 9088 149760 370 1,577 11,875,232

XC6SLX75 4 15384 224640 426 1,801 19,624,736

XC6SLX75T 4 15384 224640 426 1,801 19,624,736

XC6SLX100 6 20304 336960 498 2,089 26,543,264

XC6SLX100T

6 20304 336960 498 2,089 26,543,264

XC6SLX150 6 27240 336960 576 2,401 33,761,696

XC6SLX150T

6 27240 336960 576 2,401 33,761,696

表 5-22 : デバイス リソース (続き)

デバイス ブロック RAM 列コアの

フレーム数

ブロック RAM のフレーム数

I/O 数I/O の

フレーム長ビッ ト総数

表 5-23 : オペコードのフォーマッ ト

OP CODE

NOP 00

READ 01

WRITE 10

Page 99: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 99UG380 (v2.2) 2010 年 7 月 30 日

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

タイプ 1 パケッ ト

タイプ 1 パケッ トは、短いブロッ クの 6 アドレス ビッ トのレジスタ書き込みに使用されます。ヘッ

ダー セクシ ョ ンは常に 16 ビッ ト ワードです。 詳細は、 表 5-24 を参照してください。

タイプ 1 パケッ トのヘッダー セクシ ョ ンの後には、 タイプ 1 データ セクシ ョ ンが続きます。 この

セクシ ョ ンに含まれる 16 ビッ ト ワードの数をヘッダーのワード カウン ト部で宣言します。詳細は、

表 5-25 を参照して ください。

タイプ 2 パケッ ト

タイプ 1 に後続するタイプ 2 のパケッ トは、長いブロ ッ クの書き込みに使用されます。 このパケッ

トにはタイプ 1 パケッ トのアドレスが使用されるため、 アド レス部はあ り ません。 ヘッダー セク

シ ョ ンは、 常に 16 ビッ ト ワードです。

タイプ 2 パケッ トのヘッダー セクシ ョ ンの後には、 タイプ 2 データ セクシ ョ ンが続きます。 この

セクシ ョ ンに含まれる 16 ビッ ト ワードの数をヘッダーのワード カウン ト部で宣言します。

タイプ 2 パケッ トのヘッダーの後には タイプ 2 ワード カウン ト セクシ ョ ンが続きます。 このセク

シ ョ ンには 2 つの 16 ビッ ト ワードが含まれていて、 初のワードに MSB が含まれています。

タイプ 2 ワード カウン ト セクシ ョ ンの後には、 タイプ 2 データ セクシ ョ ンが続きます。 このセク

シ ョ ンに含まれる 16 ビッ ト ワードの数をヘッダーのワード カウン ト部で宣言します。

表 5-24 : タイプ 1 ヘッダー パケッ ト

ヘッダー タイプ 動作 レジスタ アドレス ワード カウン ト

ビッ ト [15:13] [12:11] [10:5] [4:0]

タイプ 1 001 xx xxxxxx xxxxx

表 5-25 : タイプ 1 データ セクシ ョ ン

データ [15:0]

ワード xxxxxxxxxxxxxxxx

表 5-26 : タイプ 2 パケッ ト ヘッダー

ヘッダー タイプ 動作 レジスタ アドレス (未使用)

ビッ ト [15:13] [12:11] [10:5] [4:0]

タイプ 2 010 xx xxxxxx 00000

表 5-27 : タイプ 2 パケッ ト ワード カウン ト データ 2

WC1 [31:16]

データ 0000xxxxxxxxxxxx

表 5-28 : タイプ 2 パケッ ト ワード カウン ト データ 1

WC2 [15:0]

データ xxxxxxxxxxxxxxxx

Page 100: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

100 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

ワード カウン ト = (フレーム総数 + 1 ダ ミー フレーム) x 実際のフレーム長

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

表 5-30 に、 コンフ ィギュレーシ ョ ン レジスタを示します。 それに続いて、 各レジスタの詳細につ

いて説明します。

表 5-29 : タイプ 2 パケッ ト データ セクシ ョ ン

データ [15:0]

ワード [1] xxxxxxxxxxxxxxxx

… xxxxxxxxxxxxxxxx

ワード [wc] xxxxxxxxxxxxxxxx

表 5-30 : コンフ ィギュレーシ ョ ン レジスタ

レジスタ名 R/W アドレス 説明

CRC W 6'h00 CRC (Cyclic Redundancy Check)

FAR_MAJW 6'h01

フレーム アドレス レジスタ ブロ ッ クおよび

メジャー

FAR_MIN W 6'h02 フレーム アドレス レジスタ マイナー

FDRI W 6'h03 フレーム データ入力

FDRO R 6'h04 フレーム データ出力

CMD R/W 6'h05 コマンド

CTL R/W 6'h06 制御

MASK R/W 6'h07 制御マスク

STAT R 6'h08 ステータス

LOUT W 6'h09 シ リ アル デイジー チェーンのレガシ出力

COR1 R/W 6'h0a コンフ ィギュレーシ ョ ン オプシ ョ ン 1

COR2 R/W 6'h0b コンフ ィギュレーシ ョ ン オプシ ョ ン 2

PWRDN_REG R/W 6'h0c パワーダウン オプシ ョ ン レジスタ

FLR W 6'h0d フレーム長レジスタ

IDCODE R/W 6'h0e 製品 IDCODE

CWDTR/W 6'h0f

コンフ ィギュレーシ ョ ン ウォ ッチド ッグ タイマー

HC_OPT_REG R/W 6'h10 ハウス ク リーン オプシ ョ ン レジスタ

CSBO W 6'h12 パラレル デイジー チェーンの CSB 出力

GENERAL1R/W 6'h13

パワーアップ セルフ テス ト または読み込み

可能なプログラム アドレス

Page 101: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 101UG380 (v2.2) 2010 年 7 月 30 日

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

CRC レジスタ

CRC (Cyclic Redundancy Check) レジスタは、 標準の 32 ビッ ト CRC チェッ クサム アルゴ リ ズム

を使用し、 コンフ ィギュレーシ ョ ン中のビッ ト ス ト リームを検証します。 書き込まれた値が現時点

で計算された CRC 値と一致する と、CRC_ERROR フラグがク リ アされてスタート アップが可能と

な り ます。

GENERAL2 R/W 6'h14 パワーアップ セルフ テス ト または読み込み

可能なプログラム アドレスおよび新しい SPIオペコード

GENERAL3 R/W 6'h15 ゴールデン (エラーのない) ビッ ト ス ト リー

ム アドレス

GENERAL4 R/W 6'h16 ゴールデン (エラーのない) ビッ ト ス ト リー

ム アドレス

および新しい SPI オペコード

GENERAL5 R/W 6'h17 フェールセーフ用ユーザー定義レジスタ

MODE_REG R/W 6'h18 リブート モード

PU_GWE W 6'h19 一時停止からのウェークアップ中の GWE サイクル

PU_GTS W 6'h1a 一時停止からのウェークアップ中の GTS サイクル

MFWR W 6'h1b マルチフレーム書き込みレジスタ

CCLK_FREQ W 6'h1c マスター モードの CCLK 周波数セレク ト

SEU_OPT R/W 6'h1d SEU 周波数、 イネーブル、およびステータス

EXP_SIGNR/W 6'h1e

SEU 検出に予想される リードバッ ク シグネチャ

RDBK_SIGNR/W 6'h1f

リードバッ ク コマンドおよび SEU のリード

バッ ク シグネチャ

BOOTSTS R 6'h20 ブート履歴レジスタ

EYE_MASK R/W 6'h21 マルチピン ウェークアップのマスク ピン

CBC_REG W 6'h22 初期 CBC 値レジスタ

表 5-30 : コンフ ィギュレーシ ョ ン レジスタ (続き)

レジスタ名 R/W アドレス 説明

Page 102: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

102 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

FAR_MAJ レジスタ

フレーム アドレス レジスタは、 次のコンフ ィギュレーシ ョ ン データ入力を開始するブロ ッ クおよ

び列アドレスを設定します。 Spartan-6 FPGA のパーシャル リ コンフ ィギュレーシ ョ ンでは、 開始

列の 初のフレーム アドレスがそれになり ます。 詳細は、 表 5-31 を参照してください。

FAR_MIN レジスタ.

FAR への書き込みには次の 3 つの種類があ り ます。

• FAR_MAJ へ 1 ワード書き込み : FAR_MAJ のみをアップデート します。

• FAR_MIN へ 1 ワード書き込み : FAR_MIN のみをアップデート します。

• FAR_MAJ へ 2 ワード書き込み : FAR_MAJ および FAR_MIN の両方をアップデート します。

FAR_MAJ のデータが先にきます。

FDRI レジスタ

WCFG コマンドによるコマンド レジスタの読み込み後にフレーム データ入力レジスタを読み込む

こ とで、 コンフ ィギュレーシ ョ ン データがデバイスに書き込まれます。

FDRO レジスタ

デバイスからのコンフ ィギュレーシ ョ ン データまたは取り込まれたデータの読み出しに使用しま

す。 RCFG コマンドによるコマンド レジスタの読み込み後に読み出しコマンドで FDRO をアドレ

ス指定するこ とで、 リードバッ クを実行します。

MASK レジスタ

CTL レジスタへの書き込みを実行します。 マスクのビッ ト N の 1 によ り、 CTL レジスタでのビッ

ト位置の書き込みが可能とな り ます。 マスクのデフォルト値は 0 です。

EYE_MASK レジスタ

マルチピン ウェークアップ機能の SCP ピンのマスクを格納します。 16 ビッ トで、下位 8 ビッ トは

マスクを示します。上位 8 ビッ トは予約ビッ トです。下位 8 ビッ トは BitGen の -g wakeup_maskオプシ ョ ンで設定します。

表 5-31 : フレーム アドレス レジスタ (メジャー )

ブロック 行 メジャー

ビッ ト [15:12] [11:8] [7:0]

0xxx xxxx xxxxxxxx

表 5-32 : フレーム アドレス レジスタ (マイナー )

ブロック RAM (予約) マイナー

ビッ ト [15:14] [13:10] [9:0]

xx 0000 xxxxxxxxxx

Page 103: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 103UG380 (v2.2) 2010 年 7 月 30 日

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

LOUT レジスタ

レガシ出力レジスタ (LOUT) はコンフ ィギュレーシ ョ ン ビッ ト ス ト リームをほかのザイ リ ンクス

デバイスにデイジー チェーン接続するために使用します。LOUT に書き込まれるデータはシ リアル

化され、 DOUT ピンに出力されます。

CBC_REG レジスタ

AES 復号化の初期ベクター (IV) を格納するレジスタで、 ビッ ト ス ト リーム圧縮オプシ ョ ンで使用

されます。

IDCODE レジスタ

FDRI への書き込みを行う前に、 必ずこのレジスタへの書き込みが必要です。 このレジスタに書き

込まれた IDCODE は、デバイスの IDCODE と一致する必要があ り ます。詳細は、83 ページの 「コ

ンフ ィギュレーシ ョ ン シーケンス」 を参照してください。

このレジスタを読み出すと、 デバイスの IDCODE が返されます。

CSBO レジスタ

このレジスタは CSB_O 信号をアサート し、指定されているワード カウン トの入力データを無視す

るよ うに設計されています。 CSB_O が Low のと きにのみ出力し、データは渡されないという点を

除いて、 LOUT レジスタ とほぼ同様に機能します。 LOUT レジスタのよ うに、 デイジー チェーン

接続をサポート して異なるデバイスに対して複数のコールをネス トできます。

コマンド レジスタ (CMD)

コマンド レジスタは、 コンフ ィギュレーシ ョ ン制御ロジッ クに対し、 グローバル信号をス ト ローブ

してその他のコンフ ィギュレーシ ョ ン ファンクシ ョ ンを実行するよ う命令するために使用されま

す。CMD レジスタに格納されたコマンドは、FAR に新しい値が読み込まれるたびに実行されます。

表 5-33 に、 コマンド レジスタのコマンド とそのコードを示します。

表 5-33 : コマンド レジスタ コード

コマンド コード 説明

NULL 00000 NULL コマンド

WCFG 00001 コンフ ィギュレーシ ョ ン データを書き込みます。 FDRI にコンフ ィ

ギュレーシ ョ ン データを書き込む前に使用します。

MFW 00010 複数のフレームの書き込みです。 1 つのフレーム データを複数のフ

レーム アドレスに書き込む場合に使用します。

LFRM 00011 終フレームです。 GHIGH_B 信号をディアサート し、すべてのイン

ターコネク ト を有効にします。 この信号は、 AGHIGH コマンドでア

サート されます。

RCFG 00100 コンフ ィギュレーシ ョ ン データを読み出します。FDRO からコンフ ィ

ギュレーシ ョ ン データを読み出す前に使用します。

START 00101 スタートアップ シーケンスを開始します。 CRC チェックでエラーが検出され

ず、 DESYNC コマンドが実行された後、 スタートアップ シーケンスを開始

します。

RCRC 00111 CRC を リセッ ト します。 CRC レジスタを リセッ ト します。

Page 104: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

104 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

制御レジスタ 0 (CTL)

CTL レジスタは Spartan-6 デバイスのプログラムに使用されます。 CTL レジスタへの書き込みは、

MASK レジスタの値でマスク されます。表 5-34 に、CTL0 レジスタの各ビッ ト位置名を示します。

AGHIGH 01000 GHIGH_B 信号をアサート します。すすべてのインターコネク ト をハイ

インピーダンス状態にし、 新しいコンフ ィギュレーシ ョ ン データを書

き込む際の競合を回避します。 シャッ トダウン リ コンフ ィギュレー

シ ョ ンでのみ使用します。 インターコネク トは LFRM コマンドで再ア

クティブになり ます。

GRESTORE 01010 GRESTORE 信号をパルスします。 IOB および CLB フ リ ップフロ ッ

プをユーザー設定に従ってセッ ト またはリセッ ト します。

SHUTDOWN 01011 シャ ッ ト ダウン シーケンスを開始します。シャ ッ ト ダウン シーケンス

を開始し、 完了時にはデバイスが使用不可となり ます。 シャ ッ ト ダウ

ンは、次に CRC チェッ クに成功したと き、 または RCRC 命令によっ

て開始されます (通常は RCRC 命令を使用)。

DESYNC 01101 DALIGN 信号を リセッ ト します。 コンフ ィギュレーシ ョ ンの 後で

デバイスの同期を解除するために使用します。 同期が解除される と、

コンフ ィギュレーシ ョ ン データ ピンのすべての値は無視されます。

IPROG 01110 汎用レジス タで指定されているア ド レスから リ コンフ ィ ギュ レー

シ ョ ンするため reboot_rst を生成します。

表 5-33 : コマンド レジスタ コード (続き)

コマンド コード 説明

表 5-34 : 制御レジスタ 0 (CTL0) の説明

名前ビッ ト

インデックス説明

BitGen のデフォルト値

DEC 6 複合化

0 : 複合化なし

1 : 復号化あり (SBITS を Level1 以上および mc_enc=1 に自

動設定)いったん 1 に設定すると、 DEC はハード リブート

(PROGRAM_B または JPROGRAM) しない限り変更できま

せん。

0

SBITS 5:4 セキュ リティ レベル :Level0 : SBITS=00 :R/W OK (デフォルト )Level1 : SBITS=01 : ICAP リードバッ クのみを許可

Level2 : SBITS=10 : すべてのリードバッ クが無効 (en_vrb_b =1 => Vrd=0)

Level3 : SBITS=11 : リードバッ クは無効、書き込みは CRC、

CMD を除き無効 (mc_vrd=1 => Vrd=0)

いったん 1 に設定すると、 SBITS はソフ ト リブート

(PROGRAM_B、 JPROGRAM、 IPROG コマンド、 エラー リブート、フォールバック リブート ) しない限り変更できません。

00

Page 105: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 105UG380 (v2.2) 2010 年 7 月 30 日

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

注記 : PERSIST および ICAP は同時に設定できません。 PERSIST が優先されます。

ステータス レジスタ (STAT)

ステータス レジスタには、 さまざまなグローバル信号の値が格納されます。 ステータス レジスタ

には、 さまざまなグローバル信号の値が格納されます。 表 5-35 に STAT レジスタの各ビッ ト位置

の名称を示し、 表 5-35 で各ビッ トについて説明します。

PERSIST 3 コンフ ィギュレーシ ョ ン後もコンフ ィギュレーシ ョ ン イン

ターフェイスを維持します。

0 : 維持しない (デフォルト )1 : 維持する

0

USE_EFUSE_KEY 2 eFUSE キーを復号化キーに使用します。

0 : バッ クアップ バッテ リが必要な RAM のキーを使用 (デフォルト )1 : eFUSE キーを使用

0

CRC_EXTSTAT_DISABLE 1 外部 CRC ステータス ピン (INIT_B) がパーシャル リ コン

フ ィギュレーシ ョ ンおよび POST CRC で Low になり ます。

初のコンフ ィギュレーシ ョ ンには、 常に INIT_B に CRCインジケーターがあ り ます。

0 : CRC インジケーターが有効

1 : CRC インジケーターが無効

0

RESERVED 0 予約済み 1

表 5-34 : 制御レジスタ 0 (CTL0) の説明 (続き)

名前ビッ ト

インデックス説明

BitGen のデフォルト値

表 5-35 : ステータス レジスタの詳細

名前 ビッ ト 説明

SWWD_strikeout

(SyncWordWatchDog)

15 コンフ ィギュレーシ ョ ン ウォッチド ッグ タイマー

(CWDT) のカウン ト、無効な IDCODE、または CRC エラー

内において同期ワード を検出できず、 コンフ ィ ギュレー

シ ョ ン エラーが発生したこ とを示します。 エラーの具体的

な原因については BOOTSTS レジスタを参照してくださ

い。 INIT は Low、 SWWD_strikeout は High になり ます。

IN_PWRDN 14 SUSPEND ステータス

DONE 13 DONE ピンからの DONEIN 入力です。

INIT_B 12 INIT_B の値

MODE 11:9 MODE ピン (0、 M1、 M0) の値

HSWAPEN 8 HSWAPEN ステータス

PART_SECURED 7 0 : 復号化機能のセキュ リティの設定なし

1 : 復号化機能 のセキュ リティの設定あ り

Page 106: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

106 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ (COR1 および COR2)

コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタは、 デデバイスのコンフ ィギュレーシ ョ ン オプシ ョ

ンの設定に使用されます。 表 5-36 に COR1 および COR2 の各ビッ ト位置名を示します。

DEC_ERROR 6 復号化処理の前後いずれかに FDRI への書き込みがあった

こ とを示します。

0 : DEC_ERROR なし

1 : DEC_ERROR あ り

GHIGH_B 5 GHIGH の状態を示します。

GWE 4 グローバル ラ イ ト イネーブルの状態を示します。

GTS_CFG_B 3 グローバル ト ラ イステートの状態を示します。

DCM_LOCK 2 DCM および PLL はロッ ク されています。

ID_ERROR 1 FDRI に書き込み中は、 IDCODE は検証されません。

CRC_ERROR 0 CRC エラー

表 5-35 : ステータス レジスタの詳細 (続き)

名前 ビッ ト 説明

表 5-36 : コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ (COR1 および COR2) の説明

レジスタ フ ィールドビッ ト

インデックス説明

BitGen のデフォルト値

COR1 DRIVE_AWAKE15 0 : アウェーク ピンを駆動しない (オープン ドレイン)

1 : アウェーク ピンをアクティブに駆動0

RESERVED 14:5 予約済み 0110111000

CRC_BYPASS 4 更新された CRC の値をチェッ ク しません。 0

DONE_PIPE 3 0 : DONEIN にパイプライン ステージを追加しない

1 : DONEIN にパイプライン ステージを追加する0

DRIVE_DONE 2 0 : DONE ピンはオープン ド レイン

1 : DONE ピンをアクティブに High に駆動0

SSCLKSRC 1:0 スタート アップ シーケンス ク ロ ッ ク

00 : CCLK01 : UserClk1x : TCK

00

Page 107: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 107UG380 (v2.2) 2010 年 7 月 30 日

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

サスペンド レジスタ (PWRDN_REG)

COR2 RESET_ON_ERROR 15 crc_error 発生時のフォールバッ ク オプシ ョ ン

0 : Reset On Error (エラー時リセッ ト ) が無効

1 : Reset On Error (エラー時リセッ ト ) が有効

0

RESERVED 14:12 予約済み 000

DONE_CYCLE 11:9 DONE ピンがリ リースされるスタート アップ フェーズ

です。

(001、 010、 011、 100、 101、 110)

100

LCK_CYCLE 8:6 DLL または PLL ロ ッ クがアサートするまで現在のス

タート アップ フェーズで待機します。

(001、 010、 011、 100、 101、 110、 111<No wait>)

111 (ウェイ ト

なし )

GTS_CYCLE 5:3 I/O がト ライステートからユーザー デザインへ切り替

わるスタート アップ フェーズです。

(000<Keep>、 001、 010、 011、 100、 101、 110、111<Done>)

101

GWE_CYCLE 2:0 グローバル ラ イ ト イネーブルがアサートするスタート

アップ フェーズです。

(000<Keep>、 001、 010、 011、 100、 101、 110、111<Done>)

110

表 5-36 : コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ (COR1 および COR2) の説明 (続き)

レジスタ フ ィールドビッ ト

インデックス説明

BitGen のデフォルト値

表 5-37 : パワーダウン レジスタの説明

フ ィールドビッ ト

インデックス説明

BitGen のデフォルト値

RESERVED 15 予約済み

EN_EYES 14 マルチピン ウェークアップの無効/有効を指定

します。

0 : マルチピン ウェークアップを無効

1 : マルチピン ウェークアップを有効

0

RESERVED 13:6 予約済み 0010_0010

FILTER_B 5 0 : Suspend フ ィルターはオン (300ns)1 : Suspend フ ィルターはオフ

0

EN_PGSR 4 0 : Suspend から戻る間 GSR パルスなし

1 : Suspend から戻る間 GSR パルスを生成

0

RESERVED 3 予約済み

Page 108: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

108 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

フレーム長レジスタ

フレーム長レジスタ (FLR) には、16 ビッ ト ワードを単位とするフレームが、コンフ ィギュレーシ ョ

ン ビッ ト ス ト リームの開始部分に書き込まれます。FDR 動作の前に FLR の書き込みを行う必要が

あ り ます。 FLR を 複数回設定する必要はあ り ません。

FLR に書き込まれる実値 = 実際のフレームの長さ

Spartan-6 デバイスのセグメンテーシ ョ ンに基づき、type0 (CLB、IOI、および特別ブロ ッ ク )、type1(ブロ ッ ク RAM)、および type3 (PCFG) のフレーム長が固定されます。指定されたフレーム長が必

要なブロ ッ クは IOB のみです。

マルチフレーム書き込みレジスタ

Spartan-6 FPGA では、 初のコンフ ィギュレーシ ョ ンに対してマルチフレーム書き込み (MFWR)がサポート されていますが、 コンフ ィギュレーシ ョ ン中はサポート されません。 MFWR を使用す

る前に、 FPGA は 1 パワー サイ クル間待機させておくか、 PROGRAM_B を使用して リ セッ トす

る必要があ り ます。

コンフ ィギュレーシ ョ ン ウォッチド ッグ タイマー レジスタ

コンフ ィギュレーシ ョ ン ウォッチド ッグ タイマー (CWDT) レジスタには、 ウォ ッチド ッグのタイ

ムアウ ト前に (SYNCWORD が受信されない状態) FPGA が待機するクロ ッ ク サイクル数の値が格

納されます。 デフォルトは 64k ク ロ ッ ク サイクルです。 小値は 16h'0201 です。

HC_OPT_REG レジスタ

HC_OPT_REG をデフォルト値にリセッ トできるのは、 por_b のみです。

EN_PWRDN 2 0 : Suspend は無効

1 : Suspend は有効

0

KEEP_SCLK 0 0 : パワーアップで開始されるスタート アップ

シーケンスに MCCLK を使用

1 : パワーアップで開始されるスタート アップ

シーケンスに SSCLKSRC を使用

1

表 5-37 : パワーダウン レジスタの説明 (続き)

フ ィールドビッ ト

インデックス説明

BitGen のデフォルト値

表 5-38 : フレーム長レジスタ

ビッ ト FLR

[15:0] xxxxxxxxxxxxxxxx

表 5-39 : CWDT レジスタ

ビッ ト 値

[15:0] 16h'ffff

Page 109: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 109UG380 (v2.2) 2010 年 7 月 30 日

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

GENERAL レジスタ 1、 2、 3、 4、 および 5

GENERAL1 および GENERAL2 レジスタは、 SPI および BPI の読み込み可能な複数のコンフ ィ

ギュレーシ ョ ン アドレスの格納に使用します。

GENERAL3 および GENERAL4 レジスタには GENERAL1 および GENERAL2 と同様の機能が

あ り ますが、 マルチブート アドレスではなく ゴールデン (エラーのない) ビッ ト ス ト リーム アドレ

スを格納する点が異なり ます。

GENERAL5 は、 フェールセーフに必要な追加情報を格納する 16 ビッ ト レジスタです。 これらの

レジスタの内容は、 ソフ ト リブート中は変更されません。

2 番目のコンフ ィギュレーシ ョ ンに、 以前使用されなかった SPI ベンダー コマンドが必要な場合、

新しいベンダー コマンドがこの時点までにビッ ト ス ト リームから GENERAL2 に既に読み込まれ

ています。既知のベンダー コマンドの場合、SPI の読み出しコマンドを GENERAL2 に読み込む必

要があ り ます。

SPI の場合、 汎用レジスタには 8 ビッ トのコマンド と 24 ビッ トのアドレスが含まれます。 詳細は、

表 5-42 を参照して ください。

BPI には 6 ビッ トの Don't Care と 26 ビッ トのアドレスがあ り ます。 詳細は、 表 5-43 を参照して

ください。

表 5-40 : HC_OPT_REG の説明

名前 ビッ ト 説明 デフォルト

INIT_SKIP 6 0 : 初期化をスキップしない

1 : 初期化をスキップする

0

RESERVED 5:0 予約済み 011111

表 5-41 : 汎用レジスタ

名前 ビッ ト 説明

GENERAL1 [15:0] マルチブート アドレスの下位半分

GENERAL2 [15:0]15:8 – SPI オペコード

7:0 – ブート アドレスの上位半分

GENERAL3 [15:0] ゴールデン ビッ ト ス ト リームの下位半分

GENERAL4 [15:0]15:8 – SPI OPCODE

7:0 – ゴールデン ブート アドレスの上位半分

GENERAL5 [15:0] ユーザー定義のスク ラ ッチパッ ド レジスタ

表 5-42 : SPI 汎用レジスタの例

gen2[15:0] gen1[15:0]

rd_cmd[7:0]、 addr[23:16] addr[15:0]

Page 110: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

110 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

MODE レジスタ

MODE レジスタには、 リブートに使用されるモード設定が含まれます (バス幅に 2 ビッ ト 、モード

に 3 ビッ ト 、 vsel に 8 ビッ ト )。 デフォルトは元のピン設定です。

このレジスタは汎用レジスタ と同様にク リ アされます。 つま り、 reboot_rst ではな く、 bus_reset0でのみク リ アされます (bus_reset = bus_reset || reboot_rst)。 詳細は、 表 5-44 を参照

して ください。

表 5-43 : BPI 汎用レジスタの例

gen2[15:0] gen1[15:0]

xxxxxx、 address[25:16] addr[15:0]

表 5-44 : MODE レジスタの説明

名前 ビッ ト 説明 デフォルト

RESERVED 15 予約済み 0

RESERVED 14 予約済み 0

NEW_MODE 13 0 : 物理的モード。 bit[10:0] を無視 (デフォルト )1 : ビッ ト ス ト リームモード。 bit[10:0] を使用。マ

ルチブートおよびフォールバッ クに必須

0

BUSWIDTH 12:11 リブート用のバス幅設定

SPI:00 : 101 : 210 : 4

00 (SPI by1)

BOOTMODE 10:8 マルチブー ト およびフ ォールバ ッ ク に必要な

モード設定です。 NEW_MODE で有効になり ま

す。

bit [10] : 予約

bit [9] : BOOTMODE <1>

bit [8] : BOOTMODE <0>

001

BOOTVSEL 7:0 リブート用の vsel 設定 読み出し専用

Page 111: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 111UG380 (v2.2) 2010 年 7 月 30 日

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

CCLK_FREQ レジスタ

PU_GWE レジスタ

10 ビッ ト レジスタで、Suspend (一時停止) からのウェークアップ GWE シーケンスを格納します。

詳細は、 表 5-46 を参照して ください。

PU_GTS レジスタ

10 ビッ ト レジスタで、 Suspend (一時停止) からのウェークアップ GTS シーケンスを格納します。

詳細は、 表 5-47 を参照して ください。

ブート履歴のステータス レジスタ (BOOTSTS)

このレジスタは、 POR または ROGRAM_B をアサートするこ とで リセッ ト可能です。 このレジス

タは、 MultiBootIt 動作結果を格納するこ とが目的で使用されるため、 IPROG コマンドではリセッ

ト されません。 EOS またはエラーが発生する と、 ステータス (_0) がステータス (_1) にシフ ト し、

ステータス (_0) は現在のステータスで更新されます。 表 5-48 に、 BOOTSTS レジスタの各ビッ ト

位置名を示します。

表 5-45 : マスター モード CCLK 周波数セレク トの説明

名前 ビッ ト 説明 デフォルト

EXT_MCLK 14 内部/外部マスター ク ロ ッ クを選択します。

0 : 内部マスター ク ロ ッ クを選択

1 : 外部マスター ク ロ ッ クを選択

0

MCLK_FREQ 9:0 CCLK 周波数を選択します。 このレジスタは外部ク

ロ ッ クを駆動する ExtMCCLK_Divide 信号を使用し

た共有レジスタです。

10x1BE

表 5-46 : 10 ビッ ト ウェークアップ レジスタのデフォルト

ビッ ト [9:0]

デフォルト値 10h'006

表 5-47 : 10 ビッ ト ウェークアップ レジスタのデフォルト

ビッ ト [9:0]

デフォルト値 10h'005

表 5-48 : BOOTSTS レジスタの詳細

名前 ビッ ト 説明

STRIKE_CNT 15:12 ス ト ラ イ ク カウン ト

CRC_ERROR_1 11 CRC エラー

ID_ERROR_1 10 FDRI に書き込み中は、 IDCODE は検証されません。

WTO_ERROR_1 9 ウォ ッチド ッグのタイムアウ ト エラー

Page 112: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

112 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

SEU_OPT レジスタ

このレジスタは SEU 検出を有効にし、SEU の検出において FPGA に必要なステータスおよび周波

数を含みます。 表 5-49 に、 SEU_OPT レジスタの各ビッ ト位置を示します。

ビッ トス ト リームの構成

デバイスへの電源投入および初期化が完了する と、INIT_B ピンがリ リースされ、コンフ ィギュレー

シ ョ ンが開始可能とな り ます。初期化後、 パケッ ト プロセッサは、同期ワードを受信するまでコン

フ ィギュレーシ ョ ン インターフェイスに送信されるすべてのデータを無視します。同期後、パケッ

RESERVED 8 予約

FALLBACK_1 7 1 : 00 アドレスにフォールバッ ク

0 : 通常のコンフ ィギュレーシ ョ ン

VALID_1 6 ステータスは有効

CRC_ERROR_0 5 CRC エラー

ID_ERROR_0 4 FDRI に書き込み中は IDCODE は検証されません。

WTO_ERROR_0 3 ウォ ッチド ッグのタイムアウ ト エラー

RESERVED 2 予約

FALLBACK_0 1 1 : ゴールデン (エラーのない) ビッ ト ス ト リーム アドレ

スにフォールバッ ク

0 : 通常のコンフ ィギュレーシ ョ ン

VALID_0 0 ステータスは有効

表 5-48 : BOOTSTS レジスタの詳細 (続き)

名前 ビッ ト 説明

表 5-49 : SEU_OPT (Soft Error Upset Option) レジスタ

名前 ビッ ト 説明 デフォルト

RESERVED 15 予約 1

RESERVED 14 予約 0

SEU_FREQ 13:4 SEU 検出中の Bus_clk 周波数 10x1be

SEU_RUN_ON_ERR 3 SEU_ERR が検出された場合、実行を続

行するかど うかを決定します。

0 : 停止

1 : 実行続行

0

GLUT_MASK 1 LUTRAM/SRL リードバッ クのマスク

0 : マスク しない

1 : LUTRAM/SRL をマスク

1

SEU_ENABLE 0 SEU 検出を有効/無効にします。

0 : 無効

1 : 有効

0

Page 113: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 113UG380 (v2.2) 2010 年 7 月 30 日

デフォルトの初期コンフ ィギュレーシ ョ ン プロセス

ト プロセッサが有効なパケッ ト ヘッダーを受信する と、 コンフ ィギュレーシ ョ ン プロセスが開始

されます。 表 5-50 に、 標準コンフ ィギュレーシ ョ ンのビッ ト ス ト リーム構成を示します。

デフォルトの初期コンフ ィギュレーシ ョ ン プロセス

デフォルト ビッ ト ス ト リーム (デフォルト の BitGen 設定で生成されたもの) を使用した初期コン

フ ィ ギュ レーシ ョ ンは、 SelectMAP およびシ リ アル コ ンフ ィ ギュ レーシ ョ ン モードの場合、

PROGRAM_B ピンをパルス して開始するか、 または JTAG コンフ ィ ギュ レーシ ョ ンの場合は

JPROGRAM 命令を出力して開始します。

Spartan-6 FPGA のデバイス固有 ID (Device DNA)Spartan-6 FPGA には、 固有のデバイス ID (Device DNA) が組み込まれています。 この ID は不揮

発性で FPGA に恒久的にプログラムされており、変更できないため、改ざんされるこ とはあ り ませ

ん。

FPGA アプリ ケーシ ョ ンは、 デザイン プリ ミ ティブの DNA_PORT (Device DNA Access Port) を使用してこの ID にアクセスします (図 5-13 参照)。

表 5-50 : Spartan-6 FPGA ビッ トス ト リームの構造

セクシ ョ ン 説明 例

DUMMYWORD BPI アドレス シフ ト サイクルの 16 個のダ ミー ワード 0xFFFF

SYNC WORD 同期化用の 2 ワード (32 ビッ ト ) パターン 0xAA99

0x5566

HEADER コンフ ィギュレーシ ョ ン レジスタのセッ ト アップ

CFG BODY 開始アドレス

R/W コマンド

FDRI/FDRO

コンフ ィギュレーシ ョ ン メモ リの内容

AUTO CRC ワード

HEADER2 コンフ ィギュレーシ ョ ン レジスタのセッ ト アップ (デイジー チェーン用およびコンフ ィギュレーシ ョ ン後に

使用可能な機能)

CTL

DESYNC WORD ビッ ト ス ト リームの終わり を示す 1 ワード (16 ビッ ト

) パターン

0x000D

X-Ref Target - Figure 5-13

図 5-13 : Spartan-6 FPGA の DSP DNA_PORT デザイン プリ ミテ ィブ

UG380_c5_13_052009

DIN DOUT

READ

CLK

DNA_PORT

SHIFT

Page 114: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

114 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

ID 値図 5-14 に示すよ うに、 Device DNA は 57ビッ トの値です。 2 つの 上位ビッ トは常に 1 および 0です。 残りの 55 ビッ トは Spartan-6 FPGA 固有のものです。

動作

図 5-14 に、DNA_PORT デザイン プリ ミ ティブの一般的な機能を示します。FPGA アプリ ケーシ ョ

ンは、 初に DNA_PORT プリ ミ ティブをデザイン内でインスタンシエート しておく必要があ り ま

す (図 5-13 参照)。

Device DNA を読み出すには、 まず FPGA アプリ ケーシ ョ ンが DNA_PORT 出力シフ ト レジスタ

に ID の値を送信します。READ 入力は、CLK の立ち上がりエッジでアサート される必要があ り ま

す (表 5-51 参照)。 これによ り、出力シフ ト レジスタに ID の 57 ビッ トすべてが並行して読み込ま

れます。 ID のビッ ト 56 は常に 1 であるため、DOUT 出力も 1 です。READ 操作は SHIFT 操作よ

り優先されます。

ID 値の読み出しを継続するには、 表 5-51 に示すよ うに、 CLK の立ち上がりエッジの後で SHIFTをアサートする必要があ り ます。 これで、 出力シフ ト レジスタの値が DOUT 出力にシフ ト されま

す。 DIN 入力の値は、 シフ ト レジスタにシフ ト されます。

CLK が High のと きに SHIFT が Low から High に遷移する と、初期クロ ッ ク エッジが誤ったもの

になるため、 これは避けて ください。 SHIFT は CLK が Low のと き、 または CLK の立ち下がり

エッジでのみアサートするのが理想的です。

READ と SHIFT の両方が Low の場合、 出力シフ ト レジスタの値が保持され、 DOUT の値も変わ

り ません。

X-Ref Target - Figure 5-14

図 5-14 : DNA_PORT の動作

5655540

0 155-Bit Unique Device Identifier (Device DNA)

Factory Programmed, Unchangeable

560DIN DOUT57-Bit Bit Loadable Shift Register

READ = 1

SHIFT=1

UG380_c5_14_052009

CLK

Read = 0

表 5-51 : DNA_PORT の動作

動作 DIN READ SHIFT CLK シフ ト レジスタ DOUT

HOLD X 0 0 X 前の値を保持 前の値を保持

READ X 1 X ↑ 57 ビッ トの ID をすべて読み込み ID のビッ ト 56 (常に 1)

SHIFT DIN 0 1 ↑ DIN をビッ ト 0 にシフ ト し、

シフ ト レジスタの値を DOUT にシフ ト

シフ ト レジスタの

ビッ ト 56

注記 : X = Don’t Care

- ¦ = 立ち上がり ク ロ ッ ク エッジ

Page 115: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 115UG380 (v2.2) 2010 年 7 月 30 日

Spartan-6 FPGA のデバイス固有 ID (Device DNA)

ID メモリの仕様

図 5-14 に、 DNA メモ リの一般的な特性を示します。 FPGA の ID 値は、 ワース ト ケースの推奨動

作状態で継続して使用した場合、 低 10 年間保持されます。 ID は表 5-51 に定義されているよ う

に READ 動作を使用して 低 3000 万サイクル読み出すこ とができます。これは、Spartan-6 FPGAの動作寿命で考える と 11 秒ごとに 1 回の読み出しに相当します。

ID の拡張

図 5-15 に示すとおり、DNA_PORT プリ ミ ティブを使用するほとんどのアプリ ケーシ ョ ンで、DINデータ入力がスタティ ッ クな値に接続されています。

図 5-16 のよ うに、 DOUT シ リ アル出力ポート を DIN シ リ アル入力ポートに接続する と ID の長さ

を延長できます。 このよ うにする と、 ID を任意の長さに拡張できます。 しかし、 この場合でも、 57ビッ トの繰り返しパターンで、各パターンに 55 ビッ トのみです。図 5-16 にはバッファーが 1 つ含

まれており、 ユーザーによる DNA ロジッ ク拡張に対応するロジッ ク挿入、 またはホールド タイム

要件を満たすループバッ ク遅延を示しています。

また、 FPGA のロジッ ク リ ソースを使用して ID にビッ ト を追加するこ と も可能です。 図 5-17 に示すよ うに、 FPGA アプリ ケーシ ョ ンは DNA_PORT の DIN シ リ アル入力を介して追加のビッ ト

を挿入できます。 ロジッ ク リ ソースを利用する場合は、固定値のビッ ト を追加するこ と も、 DeviceDNA から計算した変数のビッ ト を追加するこ と もできます。

X-Ref Target - Figure 5-15

図 5-15 : 定数でシフ ト

X-Ref Target - Figure 5-16

図 5-16 : 巡回シフ ト

DIN DOUT

DNA_PORT

READSHIFTCLK

UG380_c5_15_052009

DIN DOUT

DNA_PORT

READSHIFTCLK

UG380_c5_16_021010

Page 116: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

116 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

JTAG によるデバイス ID へのアクセス

FPGA の内部デバイス ID と、 DIN 入力にシフ ト される値は、 ISC_DNA コマンドを使用し JTAGポー ト を介し て読み出すこ と ができ ます。 こ の場合、 ISC_DNA コマン ド を発行する前に

ISC_ENABLE を読み込む必要があ り ます。

図 5-14 に示すよ うに、 デバイスがシフ ト DR ステートに入る と、 ISC_DNA コマンドに続いて IDのビッ ト 56 が TDO JTAG 出力に出力されます。Device DNA の残りのビッ トおよびレジスタへの

入力のデータは、 JTAG コン ト ローラーがシフ ト DR ステートのと きに順次シフ ト出力されます。

この動作が完了する と き、 ISC_DISABLE コマンドを発行する必要があ り ます。

iMPACT によるデバイス ID へのアクセス

ISE 10.1 (およびそれ以降のバージ ョ ン) の iMPACT ソフ ト ウェアでも Device DNA 値を読み出す

こ と ができ ます。 FPGA から Device DNA を読み出すには、 バッ チ コマン ド readDna -p<position> を実行します。

ビッ トス ト リームの圧縮

FPGA ビッ ト ス ト リームはデフォルトで圧縮されていませんが、 Spartan-6 FPGA は基本的なビッ

ト ス ト リーム圧縮をサポート します。この圧縮はとても単純なものですが、アプリ ケーシ ョ ンによっ

ては効果的です。 ISE ビッ ト ス ト リーム ジェネレーターは、 FPGA ビッ ト ス ト リームに重複するコ

ンフ ィギュレーシ ョ ン データ フレームがないかを調べます。 これらの重複は次のよ う なデザイン

で発生するこ とがほとんどです。

• 未使用のブロ ッ ク RAM またはハード ウェア 乗算器を使用する FPGA デザイン

• ロジッ ク使用率の低い FPGA デザイン (多くの場合、 FPGA アレイが空)

重複するデータの確認後、ISE ソフ ト ウェアによる圧縮された FPGA ビッ ト ス ト リームの生成が可

能になり ます。FPGA のコンフ ィギュレーシ ョ ン時に、内部のコンフ ィギュレーシ ョ ン コン ト ロー

ラーが重複したデータ フレームを複数の位置にコピーします。

圧縮量は確定的なものではあ り ません。 ソース FPGA デザインを変更する と、圧縮されたビッ ト ス

ト リームのサイズが増大します。 ほぼ空の FPGA デザインには全体的に大きな圧縮要素があ り ま

す。 同様に、 ブロ ッ ク RAM カラムが空の FPGA デザインにも大きな圧縮要素があ り ます。

X-Ref Target - Figure 5-17

図 5-17 : ビッ トス ト リーム固有のコード

UG380_c5_17_052009

DIN DOUT

DNA_PORT

READSHIFTCLK

Application Code

DIN DOUTREADSHIFTCLK

READSHIFT

CLK

Page 117: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 117UG380 (v2.2) 2010 年 7 月 30 日

ビッ トス ト リームの圧縮

圧縮されたビッ ト ス ト リームの大きな利点は次のとおりです。

• メモ リ フッ トプ リ ン トの縮小

• 不揮発性メモ リのプログラム時間の高速化

• コンフ ィギュレーシ ョ ン時間の高速化

BitGen の -g compress オプシ ョ ンを使用する と圧縮が有効になり ます。

パラレル プラ ッ ト フォーム フラ ッシュ PROM には、 独自の圧縮メカニズムがあ り ます。 詳細は、

『Platform Flash PROM ユーザー ガイ ド』 (UG161) の 「XCFxxP 圧縮の復元およびクロ ッ ク オプ

シ ョ ン」 の章を参照してください。

Page 118: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

118 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

Page 119: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 119UG380 (v2.2) 2010 年 7 月 30 日

第 6 章

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

Spartan®-6 デバイスでは、 SelectMAP、 ICAP、 および JTAG インターフェイスを介してコンフ ィ

ギュレーシ ョ ン メモ リ を読み出すこ とができます。 リードバッ ク検では、 ユーザー メモ リ エレ メ

ン ト (LUT RAM、 SRL16、 およびブロ ッ ク RAM) のその時点での値を含め、 すべてのコンフ ィ

ギュレーシ ョ ン メモ リ セルを読み出すこ とが可能です。

コンフ ィギュレーシ ョ ン メモ リ を読み出すには、 リードバッ クを開始するコマンド シーケンスを

デバイスに送信する必要があ り ます。リードバッ クが開始する と、デバイスはコンフ ィギュレーシ ョ

ン メモ リ の内容を SelectMAP または JTAG インターフェ イスに出力します。 「SelectMAP イン

ターフェイスからのコンフ ィギュレーシ ョ ン レジスタへのアクセス」 に、IEEE Std 1149.1 JTAG のコンフ ィギュレーシ ョ ン メモ リの読み出し手順が記載されています。

リードバッ ク コマンド シーケンスは、 マイ ク ロプロセッサ、 CPLD、 または FPGA ベースのシス

テムから送信できます。また、 iMPACT で JTAG ベースのリードバッ ク検証を実行するこ と も可能

です。 iMPACT はザイ リ ンクスの ISE® で提供されているデバイス プログラ ミ ング ソフ ト ウェア

で、Spartan-6 デバイスのすべてのリードバッ クおよび比較機能をサポート しており、コンフ ィギュ

レーシ ョ ン エラーの有無をレポートする機能もあ り ます。

デバイスからコンフ ィギュレーシ ョ ン メモ リの内容が読み出される と、 次に リードバッ ク ビッ ト

ス ト リームと コンフ ィギュレーシ ョ ン ビッ ト ス ト リームが比較され、 エラーの有無が判定されま

す。 この処理の詳細は、 「 リードバッ ク データの検証」 で説明します。

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

JTAG または SelectMAP を使用して リードバッ クを行う場合、 次の 2 点を必ず ビッ ト ス ト リーム

に設定して ください。BitGen セキュ リティ設定では、リードバッ クの禁止を解除し (-g Security:none)、 ビッ ト ス ト リームの暗号化は使用しないでください。 また、 SelectMAP インターフェイ

スを利用して リードバッ クを行う場合は、 BitGen の persist オプシ ョ ンを -g Persist:Yes に設

定する必要があ り ます。 この設定を行っておかないと SelectMAP データ ピンはコンフ ィギュレー

シ ョ ン後にユーザー I/O とな り、 その後のコンフ ィギュレーシ ョ ンが行えなくな り ます。 バウンダ

リ スキャン ポート を使用して リードバッ クを行う場合は、 初に挙げたセキュ リ テ ィおよび暗号

化のオプシ ョ ン以外に特別な設定は必要あ り ません。 また、 これらの要件は ICAP でリードバッ ク

する と きに適用する必要はあ り ません。

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

Spartan-6 FPGA コンフ ィギュレーシ ョ ン メモ リは、 JTAG、 SelectMAP、 ICAP インターフェイス

からアクセス可能な FDRO (フレーム データ レジスタ、出力) コンフ ィギュレーシ ョ ン レジスタか

ら読み出されます。 JTAG および SelectMAP インターフェイスでは、 コンフ ィギュレーシ ョ ン ロ

Page 120: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

120 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

ジッ クからブロ ッ ク RAM へのアクセス中、ユーザー デザインから このブロ ッ ク RAM はアクセス

できませんが、 FPGA デザインがアクティブまたはシャッ ト ダウン状態でも リードバッ クは実行可

能です。

SelectMAP インターフェイスからのコンフ ィギュレーシ ョ ン レジスタへのアクセス

SelectMAP インターフェイスからコンフ ィギュレーシ ョ ン メモ リ を読み出すには、 インターフェ

イスを書き込み制御用に設定して FPGA へコマン ドを送信し、 次に読み出し制御用に設定して、

データをデバイスから読み出す必要があ り ます。SelectMAP インターフェイスの書き込みおよび読

み出しは、RDWR_B 入力によって決定します。 SelectMAP データ ピンは、 インターフェイスが書

き込み制御に設定されている と き (RDWR_B = 0) は入力で、 読み出し制御に設定されている と き

(RDWR_B = 1) は出力です。

CSI_B 信号は、 RDWR_B 信号を ト グルする前にディアサートする必要があ り (CSI_B = 1)、 そ う

しなければ ABORT が発生します (155 ページの 「SelectMAP の ABORT」 参照)。

SelectMAP インターフェイスにおける書き込み制御と読み出し制御間の変更手順は、次のとおりで

す。

1. CSI_B をディアサートする。

2. RDWR_B を ト グルする。

RDWR_B = 0 : 書き込み制御

RDWR_B = 1 : 読み出し制御

3. CSI_B をアサートする。

4. CSI_B および RDWR_B は CCLK に同期する。

5. 図 6-1 に、 この手順を図示します。

コンフ ィギュレーシ ョ ン レジスタの読み出し手順 (SelectMAP)も簡潔な読み出し処理は、 COR0 または STAT レジスタなどのコンフ ィギュレーシ ョ ン レジスタ

に対して実行されます。 レジスタによっては読み出しアクセスがないものがあ り ますが、 アクセス

のあるすべてのレジスタは、SelectMAP インターフェイスを介した読み出しが可能です。SelectMAPインターフェイスから STAT レジスタを読み出す手順は、 次のとおりです。

1. デバイスにバス幅検出シーケンスと同期ワードを書き込む。

2. デバイスに 「STAT レジスタ読み出し」 パケッ ト ヘッダーを書き込む。

X-Ref Target - Figure 6-1

図 6-1 : SelectMAP ポートの書き込みおよび読み出し制御間の変更

CSI_B

RDWR_B

DATA[0:7]

UG380_c6_01_042909

WRITE

Byte n Byte nByte 0

CCLK

Byte 0

READ

Page 121: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 121UG380 (v2.2) 2010 年 7 月 30 日

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

3. デバイスにダ ミー ワードを 2 つ書き込み、 パケッ ト バッファーをフラ ッシュする。

4. SelectMAP インターフェイスから 1 ワードを読み出す (ステータス レジスタの値)。

5. デバイスに DESYNC コマンドを書き込む。

6. デバイスにダ ミー ワードを 2 つ書き込み、 パケッ ト バッファーをフラ ッシュする。

図 6-2 に示すよ うに、 SelectMAP インターフェイスは、 手順 10 と手順 11 の間で書き込みから読

み出し制御用に変更し、 手順 11 の後に再び書き込み制御用に戻す必要があ り ます。 40 ページの

表 2-4 および 41 ページの表 2-5 に示すよ うに、SelectMAP 16 ビッ ト データ順は、ICAP インター

フェイスに適用されます。

表 6-1 : ステータス レジスタのリードバック コマンド シーケンス (16 ビッ トの SelectMAP)

手順SelectMAP

ポートの方向

コンフ ィギュレー

シ ョ ン データ [15:0]

説明

1 書き込み FFFF ダ ミー ワード

2 書き込み FFFF ダ ミー ワード

3 書き込み AA99 同期ワード

4 書き込み 5566 同期ワード

5 書き込み 2000 NOOP

6 書き込み 2901STAT レジスタを読み出すタイプ 1 パケッ ト ヘッ

ダーを書き込む

7 書き込み 2000 NOOP

8 書き込み 2000 NOOP

9 書き込み 2000 NOOP

10 書き込み 2000 NOOP

11 読み出し SSSSデバイスが STAT レジスタから 1 ワードをコンフ ィ

ギュレーシ ョ ン インターフェイスに書き込む

12 書き込み 30A1 Cタイプ 1、 CMD に 1 ワード書き込み

13 書き込み 000D DESYNC コマンド

14 書き込み 2000 NOOP

15 書き込み 2000 NOOP

Page 122: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

122 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

STAT 以外のレジスタを読み出す場合は、タイプ 1 のパケッ ト ヘッダーで指定するアドレス (表 6-1の手順 2) を変更し、 必要に応じてワード数を修正して ください。 FDRO レジスタからの読み出し

は、 「コンフ ィギュレーシ ョ ン メモ リの読み出し手順 (SelectMAP)」 で説明するよ うに特別な手順

が必要とな り ます。

コンフ ィギュレーシ ョ ン メモリの読み出し手順 (SelectMAP)FDRO レジスタからコンフ ィギュレーシ ョ ン メモ リ を読み出す手順は、その他のレジスタから読み

出す場合と同様です。ただし、 コンフ ィギュレーシ ョ ン ロジッ クに対応するための追加手順が必要

になり ます。 FDRO レジスタからのコンフ ィギュレーシ ョ ン データは、 フレーム バッファーを通

るため、 リードバッ ク データの 初のフレームは無視する必要があ り ます。

1. デバイスにダ ミー ワードおよび同期ワードを書き込む。

2. NOOP コマンドを 1 つ書き込む。

3. SHUTDOWN コマンドを書き込み、 NOOP コマンドを 1 つ書き込む。

4. インターコネク ト を無効にするコマンドを書き込み、 NOOP コマンドを 1 度書き込む。

5. フレーム長レジスタを設定する。

6. 開始フレーム アドレスを FAR に書き込みむ (通常は 0x00000000)。

7. RCFG コマンドを CMD レジスタに書き込む。

8. デバイスに 「FDRO レジスタ読み出し」 パケッ ト ヘッダーを書き込む。 FDRO 読み出し長は、

次の式で求められます。

FDRO 読み出し長 = (フレームごとのワード数) x (読み出すフレーム数 + 1) + 1

フレーム バッファー分の追加フレームが読み出されます。DOUT_BUSY が Low の間にリード

バッ クをス ト ローブする必要があ り、フレーム バッファーでは、読み出しの始めのダ ミー デー

タ となる 1 フレームが必要です。また、SelectMap8 モードでは 1 ワードが余分に読み出されま

す。

9. デバイスにダ ミー ワードを 2 つ書き込み、 パケッ ト バッファーをフラ ッシュする。

10. SelectMAP インターフェイスから FDRO レジスタを読み出す。 FDRO 読み出し長は上述の手

順 9 と同じ。

11. NOOP コマンドを 1 つ書き込む。

12. START コマンドを書き込み、 NOOP コマンドを 1 つ書き込む。

13. DESYNC コマンドを書き込む。

X-Ref Target - Figure 6-2

図 6-2 : 8 ビッ トの SelectMAP ステータス レジスタ読み出し

CSI_B

RDWR_B

DATA[0:7]

WRITE

CCLK

AA 99 55 66 28 00 E0 0 0

READ WRITE

XX 30

UG380_c6_02_011110

XX

Page 123: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 123UG380 (v2.2) 2010 年 7 月 30 日

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

14. パケッ ト バッファーをフラ ッシュするため、 低 64 ビッ トの NOOP コマンドを書き込み、

DONE が High になるまで CCLK のパルスを送信する。

表 6-2 に、 リードバッ ク コマンド シーケンスを示します。

表 6-2 : リードバック コマンドのシャッ トダウン シーケンス (SelectMAP)

手順 SelectMAP ポートの方向コンフ ィギュレーシ ョ ン

データ説明

1 書き込み

FFFF ダ ミー ワード

FFFF ダ ミー ワード

FFFF ダ ミー ワード

FFFF ダ ミー ワード

AA99 同期ワード

5566 同期ワード

2 書き込み 2000 タイプ 1、 NOOP ワード 0

3 書き込み

30A1 タイプ 1、 CMD に 1 ワード書き込み

000B SHUTDOWN コマンド

2000タイプ 1、 NOOP ワード 016 サイクル間 REPEAT

4 書き込み

30A1 タイプ 1、 CMD に 1 ワード書き込み

0008 AGHIGH コマンド

2000 タイプ 1、 NOOP ワード 0

5 書き込み31a1 タイプ 1、 FLR に 1 ワード書き込み

XXXX フレーム長

6 書き込み

3022 Fタイプ 1、 FAR に 2 ワード書き込み

0000 FAR_MAJ = 0000

0000 FAR_MIN = 0000

7 書き込み30A1 タイプ 1、 CMD に 2 ワード書き込み

0004 RCFG コマンド

8 書き込み4840 タイプ 2、 FDRO から 0 ワード読み出し

XXXX タイプ 2、 FDRO から XXXX 読み出し

9 書き込み2000 タイプ 1、 NOOP ワード 0

... タイプ 1、 65 以上の NOOP ワード 0

10 読み出し

0000 パケッ ト データ、 FDRO から 0 ワード読み出し

...

0000 パケッ ト データ、 FDRO から 終ワード読み出し

11 書き込み 2000 タイプ 1、 NOOP ワード 0

Page 124: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

124 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

書き込みから読み出しへの切り替え後 (CSI_B および RDWR_B の両方が Low)、DOUT_BUSY がLow の間に、 ユーザー ロジッ クではリードバッ ク データをス ト ローブする必要があ り ます。 リー

ドバッ ク データがいつ有効になるかを見極めるため DOUT_BUSY をモニターする必要があ り ま

す。

リードバッ クが開始し、 BUSY がディアサート された後、 SelectMAP バス幅によっては多数のダ

ミー ワードが有効データの前に読み出されます。 表 6-3 に、 2 つの SelectMAP 幅のダ ミーのリー

ドバッ ク サイクルを示します。

JTAG インターフェイスからのコンフ ィギュレーシ ョ ン レジスタへのアクセス

JTAG から Spartan-6 FPGA コンフ ィギュレーシ ョ ン ロジッ クへのアクセスには、 JTAG CFG_INおよび CFG_OUT レジスタを使用します。 CFG_IN および CFG_OUT レジスタはコンフ ィギュ

レーシ ョ ン レジスタではな く、 BYPASS や BOUNDARY_SCAN と同様の JTAG レジスタです。

CFG_IN にシフ ト したデータは、コンフ ィギュレーシ ョ ン パケッ ト プロセッサに入り、SelectMAPインターフェイスからのコマンド と同様に処理されます。

12 書き込み

30A1 タイプ 1、 CMD に 1 ワード書き込み

0005 START コマンド

2000 タイプ 1、 NOOP ワード 0

2000 タイプ 1、 NOOP ワード 0

2000 タイプ 1 、 NOOP ワード 0

2000 タイプ 1 、 NOOP ワード 0

13 書き込み

30A1 タイプ 1、 CMD に 1 ワード書き込み

0007 RCRC コマンド

2000 タイプ 1、 NOOP ワード 0

14 書き込み30A1 タイプ 1、 CMD に 1 ワード書き込み

000D DESYNC コマンド

15 書き込み 2000タイプ 1、 NOOP ワード 016 サイクル間 REPEAT

表 6-2 : リードバック コマンドのシャッ トダウン シーケンス (SelectMAP) (続き)

手順 SelectMAP ポートの方向コンフ ィギュレーシ ョ ン

データ説明

表 6-3 : リードバック レイテンシ (SelectMAP)

x8 x16

CSI_B から リードバッ クまでのレイテンシ 3 ク ロ ッ ク 2 ク ロ ッ ク

注記 :

1. これらのレイテンシは、CSI_B および RDWR_B が書き込みと読み出し間で 1 サイクル間ディアサート されるこ とを想定しています。 このディアサートが 2 サイ クル以上続く場合、 レイテンシは少なくな り ます。 有効な リードバッ ク データを得るには BUSY 信号を監視するのが 善です。

Page 125: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 125UG380 (v2.2) 2010 年 7 月 30 日

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

リードバッ ク コマンドは、 CFG_IN レジスタを介してコンフ ィギュレーシ ョ ン ロジッ クに書き込

まれ、 コンフ ィ ギュレーシ ョ ン メ モ リ は CFG_OUT レジス タから読み出されます。 表 6-4 に、

CFG_IN および CFG_OUT レジスタにアクセスする際の JTAG ステートの遷移を示します。

表 6-4 : 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

5 CFG_IN または CFG_OUT 命令の 初の 5 ビッ ト を LSB から順

にシフ トする

000101 (CFG_IN)

0 5000100

(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 TMS が「1」の状態でクロ ッ クを 5 回入力し、TAP を リセッ トする X 1 5

Page 126: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

126 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

コンフ ィギュレーシ ョ ン レジスタの読み出し手順 (JTAG)

も簡潔な読み出し処理は、COR0 または STAT レジスタなどのコンフ ィギュレーシ ョ ン レジスタ

に対して実行されます。 レジスタによっては、 読み出しアクセスがないものがあ り ますが、 アクセ

スがあるすべてのレジスタは JTAG インターフェイスから読み出すこ とができます。 JTAG イン

ターフェイスから STAT レジスタを読み出す手順は、 次のとおりです。

1. TAP コン ト ローラーを リセッ トする。

2. SHIFT-IR ステート中に、 CFG_IN 命令を JTAG 命令レジスタにシフ トする。 CFG_IN 命令の

LSB を 初にシフ ト し、MSB は TAP コン ト ローラーが SHIFT-IR ステートから出る間にシフ

ト します。

3. SHIFT-DR ステート中に、 パケッ ト書き込みコマンドを CFG_IN レジスタにシフ トする。

a. デバイスに同期ワードを書き込む。

b. デバイスに 「STAT レジスタ読み出し」 パケッ ト ヘッダーを書き込む。

c. デバイスにダ ミー ワードを 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 コン ト ローラーを リセッ トする。

表 6-5 : ステータス レジスタ リードバック コマンド シーケンス (JTAG)

手順 説明

セッ トアップおよび

ホールドクロッ

ク数 (TCK)TDI TMS

1

TMS が 「1」 の状態でクロ ッ クを 5 回入力し、デバイス

を TLR ステートにするX 1 5

RTI ステートに移行する X 0 1

SELECT-IR ステートに移行する X 1 2

SHIFT-IR ステートに移行する X 0 2

2

CFG_IN 命令の 初の 5 ビッ ト を LSB からシフ トする000101

(CFG_IN)0 5

SHIFT-IR ステートから出る間に、 CFG_IN 命令の

MSB をシフ トする0 1 1

SELECT-DR ステートに移行する X 1 2

SHIFT-DR ステートに移行する X 0 2

Page 127: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 127UG380 (v2.2) 2010 年 7 月 30 日

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

JTAG CFG_IN レジスタにシフ ト したパケッ トは、SelectMAP から STAT レジスタを読み出す場合

に SelectMAP インターフェイスを介してシフ ト したパケッ ト と同一です。

コンフ ィギュレーシ ョ ン メモリの読み出し手順 (IEEE Std 1149.1 JTAG)

JTAG インターフェイスを利用して FDRO レジスタからコンフ ィギュレーシ ョ ン メモ リ を読み出

す手順は、 その他のレジスタから読み出す場合と基本的には同じです。 ただし、 フレーム ロジッ ク

に対応するための追加手順が必要になり ます。FDRO レジスタからのコンフ ィギュレーシ ョ ン デー

タはフレーム バッファーを通るため、 リードバッ ク データの 初のフレームは、 「ダ ミー データ」

であ り、 無視する必要があ り ます (FDRI および FDRO レジス タの説明を参照)。 通常は、

IEEE Std 1149.1 JTAG リードバッ ク フローを推奨します。

1. TAP コン ト ローラーを リセッ トする。

2. CFG_IN 命令を JTAG 命令レジスタにシフ トする。 CFG_IN 命令の LSB を 初にシフ ト し、

MSB は TAP コン ト ローラーが SHIFT-IR ステートから出る間にシフ ト します。

3

コンフ ィギュレーシ ョ ン パケッ ト を MSB から

CFG_IN データ レジスタにシフ トする

a: 0xAA99a: 0x5566c: 0x2901d: 0x2000d: 0x2000e: 0x2000e: 0x2000

0 159

SHIFT-DR ステートから出る間に、 後のコンフ ィギュ

レーシ ョ ン パケッ トの LSB をシフ トする0 1 1

SELECT-IR ステートに移行する X 1 3

SHIFT-IR ステートに移行する X 0 2

4

CFG_OUT 命令の 初の 5 ビッ ト を LSB からシフ トする000100

(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 データ レジスタか

らシフ トする0xSSSS 0 15

SHIFT-DR ステートから出る間に、STAT レジスタの 後

のビッ ト を CFG_OUT データ レジスタからシフ トするS 1 1

SELECT-IR ステートに移行する X 1 3

SHIFT-IR ステートに移行する X 0 2

6 TAP コン ト ローラーを リセッ トする X 1 5

表 6-5 : ステータス レジスタ リードバック コマンド シーケンス (JTAG) (続き)

手順 説明

セッ トアップおよび

ホールドクロッ

ク数 (TCK)TDI TMS

Page 128: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

128 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

3. SHIFT-DR ステート中に、 パケッ ト書き込みコマンドを CFG_IN レジスタにシフ トする。

a. デバイスにダ ミー ワードを書き込む。

b. デバイスに同期ワードを書き込む。

c. CMD レジスタ ヘッダーに 1 ワードを書き込む。

d. リードバッ クするデータ フレームの長さを指定する。

e. 開始フレーム アドレスを FAR レジスタに書き込む。

4. JSHUTDOWN 命令を JTAG 命令レジスタにシフ トする。

5. RTI ステートに移行し、シャ ッ ト ダウン シーケンスを完了するまで TCK の 24 サイ クル間、こ

の状態を維持する。 シャ ッ ト ダウン シーケンス中、 DONE ピンは Low になり ます。

6. CFG_IN 命令を JTAG 命令レジスタにシフ トする。

7. SHIFT-DR ステートに移行し、 パケッ ト書き込みコマンドを CFG_IN レジスタにシフ トする。

a. デバイスにダ ミー ワードを書き込む。

b. デバイスに同期ワードを書き込む。

c. CMD レジスタ ヘッダーに 1 ワードを書き込む。

d. リードバッ クするデータ フレームの長さを指定する。

e. 開始フレーム アドレスを FAR レジスタに書き込む。

f. デバイスに RCFG コマンドを書き込む。

g. デバイスにタイプ 1 の 「FDRO レジスタの読み出し」 パケッ ト ヘッダーを書き込む。

h. デバイスにダ ミー ワードを 2 つ書き込み、 パケッ ト バッファーをフラ ッシュする。

CFG_IN レジスタを通って送信されたすべてのコンフ ィギュレーシ ョ ン パケッ トの MSB を初に送信する必要があ り ます。 LSB は、 TAP コン ト ローラーが SHIFT-DR ステートから出

る間にシフ ト します。

8. SHIFT-DR ステート中に、 CFG_OUT 命令を JTAG 命令レジスタにシフ トする。

CFG_OUT 命令の LSB が 初にシフ ト し、 MSB は TAP コン ト ローラーが SHIFT-IR ステー

トから出る間にシフ ト します。

9. SHIFT-DR ステート中に、 FDRO レジスタからのフレーム データをシフ トする。

10. TAP コン ト ローラーを リセッ トする。

表 6-6 : リードバック コマンドのシャッ トダウン シーケンス (JTAG)

手順 説明

セッ トアップおよび

ホールド クロック数 (TCK)

TDI TMS

1

TMS が 「1」 の状態でクロ ッ クを 5 回入力し、デバ

イスを TLR ステートにする X 1 5

RTI ステートに移行する X 0 1

SELECT-IR ステートに移行する X 1 2

SHIFT-IR ステートに移行する X 0 2

Page 129: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 129UG380 (v2.2) 2010 年 7 月 30 日

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

2

CFG_IN 命令の 初の 5 ビッ ト を LSB からシフ ト

する000101 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: 0xFFFFb: 0xAA99b: 0x5566c: 0x30A1d: 0x0007e: 0x2000f: 0x2000

0 111

SHIFT-DR ステートから出る間に、 後のコンフ ィ

ギュレーシ ョ ン パケッ トの LSB をシフ トする0 1 1

SELECT-IR ステートに移行する X 1 3

SHIFT-IR ステートに移行する X 0 2

4

JSHUTDOWN 命令の 初の 5 ビッ ト を LSB から

シフ トする001101 0 5

SHIFT-IR ステートから出る間に、 JSHUTDOWN命令の MSB をシフ トする

0 1 1

5

RTI ステートに移行し、TCK の 24 サイ クル間、そ

の状態を維持するX 0 24

SELECT-IR ステートに移行する X 1 2

SHIFT-IR ステートに移行する X 0 2

6

CFG_IN 命令の 初の 5 ビッ ト を LSB からシフ ト

する000101 0 5

SHIFT-IR ステートから出る間に、CFG_IN 命令の

MSB をシフ トする0 1 1

SELECT-DR ステートに移行する X 1 2

SHIFT-DR ステートに移行する X 0 2

表 6-6 : リードバック コマンドのシャッ トダウン シーケンス (JTAG) (続き)

手順 説明

セッ トアップおよび

ホールド クロック数 (TCK)

TDI TMS

Page 130: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

130 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

7

コンフ ィギュレーシ ョ ン パケッ ト を MSB から

CFG_IN データ レジスタにシフ トする

a: 0xFFFFb: 0xAA99b: 0x5566c: 0x30A1c: 0x0008d: 0x31A1d: 0xXXXXe: 0x3022e: 0x0000e: 0x0000f: 0x30A1f: 0x0004g: 0x4880g: 0x0000g: 0x0000h: 0x2000h: 0x2000

0 191

SHIFT-DR ステートから出る間に、 後のコンフ ィ

ギュレーシ ョ ン パケッ トの LSB をシフ トする0 1 1

SELECT-IR ステートに移行する X 1 3

SHIFT-IR ステートに移行する X 0 2

8

CFG_OUT 命令の 初の 5 ビッ ト を LSB からシ

フ トする

000100 (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-6 : リードバック コマンドのシャッ トダウン シーケンス (JTAG) (続き)

手順 説明

セッ トアップおよび

ホールド クロック数 (TCK)

TDI TMS

Page 131: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 131UG380 (v2.2) 2010 年 7 月 30 日

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

表 6-7 に、 リードバッ ク ファ イルを示します。

design.rba および design.rbb ファ イルには、 リードバッ ク コマンド と予期される リードバッ

ク データがま とめられ、 RBD ファ イルには予測される リードバッ ク データのみ含まれます。 RBD

ファ イルを リードバッ ク用に使用するシステムは、別の場所にリードバッ ク コマンドを格納する必

要があ り ます。 実際のリードバッ ク データは、 MSK または MSD マスク ファ イルに対してマスクす

る必要があ り ます。 これは、 RBA、 RBB、 および RBD ファ イルにある予測される リードバッ ク ス ト

リームのビッ トの一部を無視する必要があるためです。

リードバッ ク コマンド セッ ト ファ イルは、 ユーザーが SelectMAP または JTAG インターフェイ

スを書き込みから読み出しに変更しなければならないタイ ミ ングを示すものではあ り ません。 ユー

ザーは、 上述のリードバッ ク コマンド シーケンスに基づいてその変更を行う必要があ り ます。

表 6-7 : フ ィードバック ファイル

ファイル

拡張子

ファイル

の種類BitGen 設定 説明

RBA ASCII -b および -g Readback

コンフ ィギュレーシ ョ ン コマンドではなく リードバッ ク

コマンドを含む ASCII 形式のファイルで、 コンフ ィギュ

レーシ ョ ン データが通常保存されている場所にある リー

ドバッ ク データが含まれます。 このファイルは、 MSKファ イルと併用する必要があ り ます。

RBB バイナリ -g Readback RBA ファ イルのバイナリ版です。 このファイルは、 MSK

ファ イルと併用する必要があ り ます。

RBD ASCII -g Readback

パッ ド フレームを含む、 予測される リードバッ ク データ

のみを含む ASCII 形式のファイルです。 コマンドは含ま

れていません。 このファイルは、 MSD ファ イルと併用す

る必要があ り ます。

MSK バイナリ -m

BIT ファ イルと同じコンフ ィギュレーシ ョ ン コマンドを

含むバイナリ ファ イルですが、FDRI 書き込みパケッ トの

内容は、 BIT ファ イルの対応ビッ ト を比較すべきかど う

かを示すマスク データに置き換えられます。 マスク ビッ

トが 0 の場合、 リードバッ ク データス ト リームの対応

ビッ ト を比較します。 マスク ビッ トが 1 の場合、 リード

バッ ク データス ト リームの対応ビッ トは無視されます。

MSD ASCII -g Readback

マスク ビッ トのみを含む ASCII ファ イルです。MSD ファ

イルの 初のビッ トは、 RBD ファ イルの 初のビッ ト と

対応しています。 実際のリードバッ ク ス ト リームのパッ

ド データは、 MSD および RBD ファ イルにあ り ます。 マス

ク ビッ トが 0 の場合はビッ ト ス ト リームのデータ と比較

し、マスク ビッ トが 1 の場合はビッ トは検証されません。

LL ASCII -l

リードバッ ク用にキャプチャ されるデザイン内の各ノー

ドの情報を含む ASCII 形式のファイルです。 このファイ

ルには、 リードバッ ク ス ト リームの絶対ビッ ト位置、 フ

レーム アドレス、フレーム オフセッ ト、使用されるロジッ

ク リ ソース、 およびデザイン内のコンポーネン ト名が含

まれます。

Page 132: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

132 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

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

「コンフ ィギュレーシ ョ ン メモ リの読み出し手順 (SelectMAP)」 で説明したよ うに、 リードバッ ク

データ ス ト リームには、 コンフ ィギュレーシ ョ ン フレーム データおよびその前にある 1 フレーム

のパッ ド データが含まれています。

リードバッ ク ス ト リームには、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム内のコマンド またはパ

ケッ ト情報は含まれておらず、 リードバッ ク中に CRC の算出は実行されません。 図 6-3 に、 リー

ドバッ ク データ ス ト リームを示します。

リードバッ ク データ ス ト リームは、 デバイスにプログラムされたオ リ ジナルのコンフ ィギュレー

シ ョ ン フレーム データ と比較するこ とで検証されます。 ただし、 リードバッ ク データ ス ト リーム

内のビッ トによっては、 ユーザー メモ リ または Null メモ リ位置に対応しているため、 比較を実行

してはいけない場合があ り ます。リードバッ ク データ ス ト リーム内の Don't Care ビッ トの位置は、

MSK および MSD マスク ファ イルに示されています。 これらのファイルは形式が異なり ますが、基

本的に同一の情報が含まれます。 リードバッ ク データがデバイスから読み込まれる と、次のいずれ

かの方法で比較処理を実行できます。

1. リードバッ ク データを基準となるゴールデン RBD リードバッ ク ファ イルと比較し、MSD ファ

イルを使用してマスク します (図 6-4 参照)。

も簡単な リードバッ ク データ ス ト リームの検証方法は、 MSD ファ イルをマスクに使用して

基準となるゴールデン RBD リードバッ ク ファ イルとRBD リードバッ ク ファ イル比較する方法

です。 この方法では、 リードバッ ク データ ス ト リームの開始と RBD および MSD ファ イルの開

始が 1:1 で対応しているため、 リードバッ ク、 マスク、 および予想されたデータを容易に揃え

るこ とが可能です。

RBD および MSD ファ イルには、 リードバッ ク データ、マスク データ、およびファイル名の一

覧などを含むファイル ヘッダーが ASCII 形式で含まれます。 このヘッダー情報は、 無視ま

たは削除して ください。 スク リプ ト またはテキス ト エディ ターを使用して RBD および MSDファ イル内の ASCII の 1 および 0 は、デバイスからのリードバッ ク データのバイナリ値

に対応します。 これらのファイルは、 バイナリ ソース と してではなく、 テキス ト ファ イルと

して処理して ください。 スク リプ ト またはテキス ト エディ ターを使用して RBD および MSD

X-Ref Target - Figure 6-3

図 6-3 : リードバック データ スト リーム

Pad Frame

Type 2 - IOB Frame Data

Pad Frame

(1 16-Bit Word)

(65 16-Bit Words)

(65 16-Bit Words)

Type 0 - CLB Frame Data

TotalNumber of

DeviceFrames

1 Frame

Readback Data

UG380_c6_03_042909

Type 1 - Block RAM Frame Date

Pad Frame

Page 133: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 133UG380 (v2.2) 2010 年 7 月 30 日

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

ファ イルをバイナリ形式に変換する と、 システムによっては検証過程が簡略化され、 1/8 まで

ファイル サイズを縮小できます。

この方法のデメ リ ッ トは、 初のコンフ ィギュレーシ ョ ン ビッ ト ス ト リームおよび MSD フファ

イルを格納するだけでなく、基準となるゴールデン RBD ファ イルを格納しなければならず、必

要な格納容量が増加する点です。

2. MSK ファ イルをマスクに使用し、リードバッ ク データ と コンフ ィギュレーシ ョ ン BIT ファ イル

を比較します (図 6-5 参照)。

も う 1 つの検証方法では、 MSK ファ イルを使用して リードバッ ク ビッ ト をマスク し、 リード

バッ ク データ ス ト リームとオ リジナルのコンフ ィギュレーシ ョ ン ビッ ト ス ト リームにある

FDRI 書き込み内のフレーム データを比較します。

デバイスにリードバッ ク コマンドを送信後、 リードバッ ク フレーム データの先頭と BIT およ

び MSK ファ イル内の FDRI 書き込みの先頭が位置合わせられ、比較が開始します。 FDRI 書き

込みの 後まで比較を行う と、 処理が完了します。

この方法の場合、 BIT、 MSK ファ イルと リードバッ ク コマンドのみ格納する必要があるため、

必要とするインシステム格納スペースが 小限とな り ます。

X-Ref Target - Figure 6-4

図 6-4 : MSD および RBD ファイルを使用したリードバック データの比較

Pad Frame

Frame Data

Pad Frame

File Header

Frame DataMask

TotalNumber of

DeviceFrames

1 Frame

ReadbackData Stream

UG380_c6_04_042909

MSDFile

Pad Frame

File Header

Frame Data

RBDFile

Page 134: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

134 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

RBA および RBB ファ イルは、 予想された リードバッ ク データ と一連のリードバッ ク コマンド

を含みます。これらのファイルは、Spartan-6 デバイスよ り も Virtex® デバイスのリードバッ ク

に適していますが、 MSK ファ イルと組み合わせて使用するためのものです (アプリ ケーシ ョ ン

ノート XAPP138 『Virtex FPGA シ リーズのコンフ ィギュレーシ ョ ンおよびリードバッ ク』 参

照)。

X-Ref Target - Figure 6-5

図 6-5 : MSK および BIT ファイルを使用したリードバック データの比較

Pad Frame

Frame Data

File Header

Frame DataMask

TotalNumber of

DeviceFrames

1 Frame

ReadbackData Stream

UG380_c6_05_042909

MSKFile

Commands Commands

Commands Commands

Pad Frame Pad Frame

File Header

Frame Data

BITFile

Page 135: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 135UG380 (v2.2) 2010 年 7 月 30 日

第 7 章

リコンフ ィギュレーシ ョ ンおよびマルチブート

マルチブートの概要

Spartan®-6 FPGA は再プログラム可能なデバイスで、アプリ ケーシ ョ ンによっては平常動作中に 1つまたは複数のビッ ト ス ト リームを FPGA に再度読み込むこ とができます。 1 つの小型 FPGA を複数回再プログラムできるため、 これを一度しかプログラムされない大型でコス トがかかる ASICまたは FPGA と置き換えるこ とが可能とな り ます。

Spartan-6 FPGA は、通常動作中にさまざまな方法で再プログラムできます。ダウンロード コンフ ィ

ギュレーシ ョ ン モードでは、 プロセッサ、 マイ クロコン ト ローラー、 コンピューター、 テスターな

どの外部インテ リジェン ト エージェン ト を介して、FPGA を何度でもプログラムし直すこ とができ

ます。 ダウンロード モードは、 すべての Spartan-6 FPGA ファ ミ リで使用できます。

Spartan-6 は、 接続されている外部メモ リからビッ ト ス ト リームを選択して読み込み、 再プログラ

ムできるマルチブート という機能を備えています。 マルチブート機能では、 FPGA アプリ ケーシ ョ

ンの制御の下、複数の FPGA ビッ ト ス ト リームを読み込むこ とができます。FPGA アプリ ケーシ ョ

ンによってマルチブート操作が開始され、FPGA が異なるコンフ ィギュレーシ ョ ン ビッ ト ス ト リー

ムで リ コンフ ィギュレーシ ョ ンされます。マルチブート操作開始後は通常どおり FPGA でコンフ ィ

ギュレーシ ョ ン プロセスが再開されます。 FPGA でコンフ ィギュレーシ ョ ン メモ リが消去される

間は INIT_B ピンが Low になり、マルチブート操作が正し く完了するまで DONE 出力ピンは Lowのままになり ます。

マルチブートは、 SPI x 1、 x 2、 x 4、 BPI コンフ ィギュレーシ ョ ン モード、 および AES 暗号でサ

ポート されています。

Page 136: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

136 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

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

フォールバック動作

Spartan-6 FPGA にはマルチブー ト専用のロジッ クがあ り、 フォールバッ クおよびマルチブー ト

(IPROG) リ コンフ ィギュレーシ ョ ンの両方に使用されます。 フォールバッ クまたは IPROG が実行

される と、 内部生成されたパルスによって、 専用のマルチブー ト ロジ ッ クおよび BOOTSTS、MODE、 GENERAL1.5 レジスタを除く、 コンフ ィギュレーシ ョ ン ロジッ ク全体がリセッ ト されま

す。 詳細は、 図 7-1 を参照して ください。 この リセッ トで INIT_B および DONE が Low になり、

コンフ ィギュレーシ ョ ン メモ リがク リ アされるこ とによって、 コンフ ィギュレーシ ョ ン プロセス

が再開します。

コンフ ィギュレーシ ョ ン実行中、 IDCODE エラー、 CRC エラー、 またはウォッチド ッグ タイマー

のタイムアウ ト エラーによって、 フォールバッ クが ト リ ガーされます。 ウォ ッチド ッグ タイマー

はマスター コンフ ィギュレーシ ョ ン モードでのみアクティブです。タイムアウ ト値は、BitGen の -g TIMER_CFG スイ ッチを使用して設定できます。このスイ ッチの後には、同期ワードのタイムア

ウ ト の検出前に許容されるコンフ ィギュレーシ ョ ン ク ロ ッ ク数を示す、 16h'0201 よ り も大きい

16 ビッ ト値が続きます。

フォールバッ ク リ コンフ ィギュレーシ ョ ン中は、 そのイ メージの許容値まで BOOTSTS レジスタ

に格納されているス ト ラ イ ク数が増加し、 リ コンフ ィギュレーシ ョ ンが継続します。 その制限に達

しない場合、 FPGA は MODE レジスタの NEW_MODE ビッ ト をチェッ ク します。 この値が 0 の場合、 デバイスはモード ピンによ り定義されているコンフ ィギュレーシ ョ ン モードを使用します。

1 の場合は、MODE レジスタに含まれている BOOTMODE ビッ トで定義されているコンフ ィギュ

X-Ref Target - Figure 7-1

図 7-1 : マルチブート ロジック

UG380_c7_01_051009

Strike 0..2

0xFFFFFF

0x000000

MultiBootBitstream

Golden

Header 1st Image

2nd Image

3rd ImageStrike 3..5

Strike 6..8

Page 137: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 137UG380 (v2.2) 2010 年 7 月 30 日

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

レーシ ョ ン モードを使用します。 NEW_MODE レジスタは、 BitGen の -g Next_Config_New_Mode:Yes オプシ ョ ンで設定し、 BOOTMODE ビッ トは、

-g Next_Config_Boot_Mode オプシ ョ ンで設定します。

マルチブート コンフ ィギュレーシ ョ ンには 3 つのイ メージがあ り ます。 初のイ メージはヘッダー

です。 この小さなビッ ト ス ト リームには同期ワードが含まれており、 次のビッ ト ス ト リームおよび

フォールバッ クまたはエラーのないゴールデン ビッ ト ス ト リームのアドレスを設定して IPROG コマンドで終了します。 このビッ ト ス ト リームを自動的に生成するには、 ゴールデン ビッ ト ス ト リー

ムのプログラム ファ イル作成時に BitGen の -g next_config_addr オプシ ョ ンを追加します。

2 番目のイ メージはマルチブート ビッ ト ス ト リームで、 初にコンフ ィギュレーシ ョ ンするビッ ト

ス ト リームです。 このビ ッ ト ス ト リームの位置は、 GENERAL1、 2 の値によって定義されます。

GENERAL 2 レジスタの上位 8 ビッ トは、 不揮発性デバイスのオペコード用に予約されています。

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

3 番目のイ メージはフォールバッ クまたはゴールデン ビッ ト ス ト リームです。 これはコンフ ィギュ

レーシ ョ ン中に一貫してエラーが発生しても安全とみなされます。このビッ ト ス ト リームの位置は、

GENERAL3、 4 の値によって定義されます。 GENERAL1、 2 と同様、 GENERAL4 レジスタの上

位 8 ビッ トは不揮発デバイスのオペコード用に予約されています。

コンフ ィギュレーシ ョ ン フォールバッ クが発生してゴールデン ビッ ト ス ト リームに到達した場合、

マルチブート ビッ ト ス ト リーム (GENERAL1、 2 に位置) に戻るには、 PROGRAM_B ピンを ト グ

ルするか、 またはデバイスの電源を投入し直す必要があ り ます。

3 つ以上のビッ ト ス ト リームを使用するデザインでは、GENERAL1、 2 の値を次のビッ ト ス ト リー

ムの位置に設定し、 IPROG コマンドを出力する必要があ り ます。 GENERAL3、 4 の値は、 フォー

ルバッ ク ビッ ト ス ト リーム用に予約しておく必要があ り ます。

ヘッダー イ メージはアドレス 0 で開始する必要があ り、3 つのス ト ライ クが割り当てられています。

CRC エラーが検出される と、レジスタ設定 RESET_ON_ERROR が 1 (COR2 レジスタに格納され

ており BitGen の -g Reset_on_err オプシ ョ ンで設定可能) で、ス ト ラ イ ク数が 3 未満の場合は、

ス ト ラ イ ク数が増加します。 ウォ ッチド ッグ タイマーがタイム アウ トする と同様の動作が生じま

すが、 それは RESET_ON_ERROR によ る ものではあ り ません。 ス ト ラ イ ク カ ウ ン ターは

BOOTSTS レジスタに含まれています。 ス ト ラ イ ク数が 3 になる と、 INIT および DONE ピンが

Low になり コンフ ィギュレーシ ョ ンが停止します。

マルチブート イ メージは GENERAL1、 2 で指定された任意のアドレスに格納でき、 3 つのス ト ラ

イ ク が割 り 当て られています。 エ ラーが検出される と、 ス ト ラ イ ク数が 3 未満で

RESET_ON_ERROR が 1 の場合はス ト ラ イ ク数が増加し、 コ ン フ ィ ギ ュ レーシ ョ ンが

GENERAL1、 2 で指定されたアド レスで再開します。 ス ト ラ イ ク数が 3 になる と、 コンフ ィギュ

レーシ ョ ンが GENERAL3、 4 にあるフォールバッ ク ビッ ト ス ト リームに移動します。 ス ト ラ イ ク

数を消去するには、 FPGA 電源を再投入するか、 または PROGRAM_B ピンをパルスします。

フォールバッ ク (またはゴールデン) イ メージは GENERAL3、 4 で指定された任意のアドレスに格

納でき、 3 つのス ト ライ クが割り当てられています。 エラーが検出される と、 ス ト ラ イ ク数が 6 未満の場合はス ト ライ ク数が増加してコンフ ィギュレーシ ョ ンが GENERAL3/4 で指定された任意の

アドレスで再開します。 ス ト ラ イ ク数が 6 となるなのは、 マルチブート イ メージと ス ト ラ イ ク カウンターが共有されるためです。 ス ト ラ イ ク数が 6 になる と、 コンフ ィギュレーシ ョ ンがヘッダー

イ メージが格納されている 0 に戻ってブート します。 これが発生する と、マルチブート イ メージと

フォールバッ ク イ メージの両方を 3 回試行してからコンフ ィギュレーシ ョ ンが停止します。この結

果ス ト ライ ク数は 9 になり ます。

フォールバッ ク リ コンフ ィ ギュレーシ ョ ンの完了後、 ユーザー デザインでは、 STATUS または

BOOTSTS レジスタを リードバッ ク し、 フォールバッ クが適切に完了したかを検証する必要があ り

ます。 フォールバッ ク コンフ ィギュレーシ ョ ンが正し く実行されている場合は、 ス ト ラ イ ク カウ

Page 138: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

138 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

ン ト レジスタが保持され、 後続のソフ ト リブートで GENERAL3、 4 に格納されているアドレス (ゴールデン イ メ ージ) が使用されます。 ス ト ラ イ ク数を消去するには、 ハード リ ブー ト

(PROGRAM_B ピンのパルス) を実行するか、 または電源を再投入します。

フォールバッ ク リ コンフ ィ ギュレーシ ョ ンが 3 回失敗する と、 INIT_B および DONE の両方が

Low に維持されます。

AES が有効で、 スレーブ コンフ ィギュレーシ ョ ン モードの場合は、 フォールバッ クは無効です。

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

IPROG (内部 PROGRAM_B) コマンドは、 専用リ コンフ ィギュレーシ ョ ン ロジッ クを リセッ ト し

ない点を除き、 PROGRAM_B ピンのパルスと同様の機能があ り ます。 リ コンフ ィギュレーシ ョ ン

中は、 デフォルトのアドレス (ゼロ) ではなく、 GENERAL1、 2 で設定した開始アドレスが使用さ

れます。 フォールバッ ク (ゴールデン) ビッ ト ス ト リームは GENERAL3、 4 で設定します。 IPROGコマンドは、 ICAP_SPARTAN6 またはビッ ト ス ト リームを使用して送信できます。

ICAP_SPARTAN6 を使用したリブート

IPROG コマンドは、 ICAP_SPARTAN6 プリ ミ ティブを使用して送信できます。 コンフ ィギュレー

シ ョ ンが正し く完了したら、 ユーザー デザインでマルチブート ビッ ト ス ト リームの開始アドレス

が判断され、GENERAL1、2 レジスタの設定後に ICAP を使用して IPROG コマンドを送信します。

コマンドのシーケンスは次のとおりです。

1. 同期ワードを送信する。

2. 次のビッ ト ス ト リームの開始アドレス用に GENERAL1、2 レジスタを、そして読み出し動作用

に不揮発性デバイスのオペコードをプログラムする。 さ らに、 フォールバッ ク (ゴールデン)ビッ ト ス ト リームの開始アドレス用に GENERAL3、4 レジスタを、そして読み出し動作用に不

揮発性デバイスのオペコードをプログラムする。

3. IPROG コマンドを送信する。

表 7-1 に、 ICAP を使用する IPROG コマンドのビッ ト ス ト リーム例を示します。

表 7-1 : ICAP を使用する IPROG コマンドのビッ トス ト リーム例

コンフ ィギュレー

シ ョ ン データ

(16 進数)(1)説明

FFFF ダ ミー ワード

AA99 同期ワード

5566 同期ワード

3261 タイプ 1、 GENERAL_1 に 1 ワード書き込み

XXXX マルチブート開始アドレス [15:0]

3281 タイプ 1、 GENERAL2 に 1 ワード書き込み(2)

XXXX オペコードおよびマルチブート開始アドレス [23:16]

32A1 タイプ 1、 GENERAL3 に 1 ワード書き込み

XXXX フォールバッ ク開始アドレス [15:0]

32C1 タイプ 1、 GENERAL4 に 1 ワード書き込み(2)

Page 139: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 139UG380 (v2.2) 2010 年 7 月 30 日

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

コンフ ィギュレーシ ョ ン ロジッ クが IPROG コマンドを受信する と、FPGA で専用リ コンフ ィギュ

レーシ ョ ン ロジッ クを除くすべてがリセッ ト され、INIT_B および DONE ピンが Low になり ます。

FPGA ですべてのコンフ ィギュレーシ ョ ン メモ リがク リ アされる と、 INIT_B は再び High になり

ます。 次に、 GENERAL1、 2 の値がビッ ト ス ト リームの開始アドレス と して使用されます。

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

Spartan-6 デバイスには、コンフ ィギュレーシ ョ ン履歴を保存する BOOTSTS レジスタがあ り ます。

このレジスタは、 2 段 FIFO のよ うに動作します。 新のコンフ ィギュレーシ ョ ン ステータスを

Status_0 に格納する と、 Status_0 の現在の値が Status_1 にシフ ト し ます。 Valid_0 ビ ッ ト は、

Status_0 のほかのビッ トが有効であるかど うかを示します。 詳細は、 111 ページの 「ブート履歴の

ステータス レジスタ (BOOTSTS)」 を参照して ください。

表 7-2 ~ 表 7-4 に、 に、 一般的な状況での BOOTSTS レジスタの値を示します。

XXXX オペコードおよびフォールバッ ク開始アドレス [23:16]

30A1 タイプ 1、 CMD に 1 ワード書き込み

000E IPROG コマンド

2000 タイプ 1、 NOOP

注記 :

1. SelectMAP 16 ビッ ト データ順が ICAP データ バスに適用されます。 ビッ ト順の詳細は、 41 ページの表 2-5 を参照してください。

2. GENERAL2 および GENERAL4 レジスタの上位 8 ビッ トは、 不揮発性デバイスの読み出し命令用のオペコードを示しています。 正確なオペコードについては、 ス ト レージ デバイスのデータシート を参照してください。共通するコードは、 Fast Read コマンドの 0x0B、 Dual Fast Read コマンドの 0x3B、および Quad Fast Read コマンドの 0x6B です。

表 7-1 : ICAP を使用する IPROG コマンドのビッ トス ト リーム例 (続き)

コンフ ィギュレー

シ ョ ン データ

(16 進数)(1)説明

表 7-2 : 最初のビッ トス ト リームのコンフ ィギュレーシ ョ ン後のステータス (エラーなし )

CRC_ERROR ID_ERROR WTO_ERROR IPROG FALLBACK VALID

Status_1 0 0 0 0 0 0

Status_0 0 0 0 0 0 1

表 7-3 : 最初のコンフ ィギュレーシ ョ ンの後に IPROG が発生

CRC_ERROR ID_ERROR WTO_ERROR IPROG FALLBACK VALID

Status_1 0 0 0 0 0 1

Status_0 0 0 0 1 0 1

Page 140: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

140 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

ウォ ッチド ッグ タイマー

Spartan-6 FPGA のウォ ッチド ッグ タ イマーは同期ワードの検出を監視するために使用します。

ウォ ッチド ッグ タイマーがタイム アウ トになる と、 BitGen の -g Reset_On_Err オプシ ョ ンが

Yes に設定されていて 大ス ト ライ ク数に達していない場合は、 コンフ ィギュレーシ ョ ン ロジッ ク

でス ト ラ イ ク数が増加します。 詳細は、 「フォールバッ ク マルチブート 」 を参照してください。

ウォ ッチド ッグ タ イマーはコンフ ィギュレーシ ョ ン ク ロ ッ ク と同じ ク ロ ッ ク ソースを使用しま

す。 ウォッチド ッグ カウンターの制限は、 CWDT (Configuration WatchDog Timer) レジスタまた

は BitGen の TIMER_CFG オプシ ョ ンで設定できます。 デフォルトは 64k ク ロ ッ ク サイクルで、

小値は 16h'0201 です。

ウォ ッチド ッグ タイマーはユーザー設定によって無効にできません。 フォールバッ ク リ コンフ ィ

ギュレーシ ョ ン中とその完了後は、 ウォッチド ッグは無効です。

マルチブート イメージ間に必要なデータ空間

Spartan-6 FPGA のマルチブート アドレス指定は柔軟性が高く、 どのバイ ト境界からでもビッ ト ス

ト リームを開始できますが、 アプリ ケーシ ョ ン要件に基づいて一部制限はあ り ます。

フラ ッシュ セクター、 ブロック、 ページの境界

Spartan-6 FPGA は、 マルチブート コンフ ィギュレーシ ョ ン イ メージを外部フラ ッシュ PROM から読み込みます。 すべてのフラ ッシュ PROM には内部メモ リ アーキテクチャがあ り、 このアーキ

テクチャによってメモ リがセクター、ブロ ッ ク、 またはページに配置されます。ほとんどの PROMに複数のセクターがあ り ます。一部のアーキテクチャでは 1 つのセクターを小ブロ ッ クまたはペー

ジに分割する機能も提供されています。

Spartan-6 FPGA マルチブート コンフ ィギュレーシ ョ ン イ メージは、 セクター、 ブロ ッ ク、 または

ページの境界に揃えられているのが理想的です。 フラ ッシュ PROM のアーキテクチャによって異

なる、 特別な要件があ り ます。 フラ ッシュ PROM で消去できる 小エレ メン トがセク ターの場合

は、FPGA ビッ ト ス ト リームをセクターの境界に揃える必要があ り ます。これによ り、1 つの FPGAビッ ト ス ト リームを PROM 内のその他のビッ ト ス ト リームに影響を与えずにアップデートできま

す。

表 7-4 : 最初のビッ トス ト リームに IPROG を埋め込み、 2 番目のビッ トス ト リームで CRC エラーが発生、 フォールバックに成功した場合

CRC_ERROR ID_ERROR WTO_ERROR IPROG FALLBACK VALID

Status_1 1 0 0 1 0 1

Status_0 0 0 0 1 1 1

注記 :

1. Status_1 は、 IPROG が実行され、 そのビッ ト ス ト リームで CRC_ERROR が検出されたこ とを示しています。

2. Status_0 は、 フォールバッ ク ビッ ト ス ト リームが問題なく読み込まれたこ とを示しています。 この場合、フォールバッ ク ビッ ト ス ト リームに IPROG コマンドが含まれているため、 IPROG ビッ ト もセッ ト されています。 フォールバッ ク実行時は IPROG コマンドは無視されますが、 ビッ ト ス ト リームにコマンドが含まれていたこ とが履歴に記録されます。

Page 141: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 141UG380 (v2.2) 2010 年 7 月 30 日

マルチブート イメージ間に必要なデータ空間

LCK_Cycle に必要な追加のメモリ空間

Spartan-6 FPGA アプリ ケーシ ョ ンには、1 つまたは複数のデジタル ク ロ ッ ク マネージャー (DCM)または位相ロ ッ ク ループ (PLL) を含めるこ とができます。 LCK_Cycle BitGen の設定によ り、 コ

ンフ ィギュレーシ ョ ン中に、すべてのクロ ッ ク エレ メン トがそれぞれの入力クロ ッ ク周波数を取得

し、 ロ ッ クするまで FPGA を待機させてコンフ ィギュレーシ ョ ン プロセスを終了させないよ うに

するこ とができます。 このロ ッ ク時間は、 DCM モードまたは PLL モード、入力クロ ッ ク周波数に

よって異なり ます。 詳細は、 データシート DS162 『Spartan-6 FPGA データシート : DC 特性およ

びスイ ッチ特性』 を参照して ください。

コンフ ィギュレーシ ョ ンを完了する前に FPGA で 1 つまたは複数のクロ ッ ク エレ メン トがロ ッ ク

するのを待機する場合でも、FPGA のコンフ ィギュレーシ ョ ン コン ト ローラーでは次の同期ワード

が継続して検索されます。 2 つのマルチブート イ メージが連続して配置されていて、 初の FPGAビッ ト ス ト リームに LCK_Cycle オプシ ョ ンが設定されている DCM または PLL が含まれる場合、

コンフ ィギュレーシ ョ ンで問題が発生する可能性があ り ます。 現在のコンフ ィギュレーシ ョ ンが完

了する前にコン ト ローラーで 2 番目の FPGA ビッ ト ス ト リームに同期ワードが検出される と、2 番目のビッ ト ス ト リームのデータ処理が開始されます。 しかし、FPGA のコンフ ィギュレーシ ョ ン ロジッ クは FPGA が 2 番目のビッ ト ス ト リームからデータを読み出しても現在のコンフ ィギュレー

シ ョ ンを完了できます。 このよ うな状況が発生する場合は、 ビッ ト ス ト リーム間に十分な余裕を用

意する必要があ り ます。

Page 142: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

142 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

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

Page 143: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 143UG380 (v2.2) 2010 年 7 月 30 日

第 8 章

リードバック CRC

Spartan®-6 デバイスには、 ユーザー デザインのバッ クグランドで継続的にコンフ ィギュレーシ ョ

ン データの リードバッ クを実行する機能があ り ます。 この機能は、 コンフ ィギュレーシ ョ ン メモ

リのビッ ト をフ リ ップさせる SEU (Single Event Upset) を簡単に検出できるよ うにするものです。

検出されたエ ラーは、 デバイ ス ピン (INIT_B) または内部ア ク セス可能な コ ンポーネン ト

POST_CRC_INTERNAL に現れます。 リードバッ クのクロ ッ ク ソースは外部のものでも、 内部生

成したものでもかまいません。

リードバッ ク CRC の 初のスキャン値を基準値と してラ ッチし、後続する リードバッ ク CRC 値は

この基準値と比較されます。 CRC の不一致が検出された場合は、 POST_CRC_INTERNAL プリ ミ

ティブの CRCERROR ピンが High 駆動され、 INIT_B ピンは Low 駆動され、 DONE ピンは Highのま ま と な り ます。 オプシ ョ ン と し て、 CONFIG ユーザー プ リ ミ テ ィ ブの

POST_CRC_INIT_FLAG 属性を DISABLE に指定し、 INIT_B を リードバッ ク CRC のフラグと

して使用しないよ う設定できます。このエラー フラグはク リ アされるまで High のままになり ます。

次の場合に、 リードバッ ク CRC が停止し、 エラー フラグがク リ アされます。

• SYNC または DESYNC ワードが検出される

• JTAG TAP コン ト ローラーがリセッ ト される

• スレーブ SelectMAP または ICAP アクセスから ABORT がト リガーされる

• IPROG (内部プログラム) コマンドが受信される

• Suspend モードが有効である

• デバイスが、 リードバッ ク シャ ッ ト ダウン、 JSHUTDOWN、 または ISC_ENABLE などの

シャ ッ ト ダウン モードのと き

リードバッ ク CRC は、 ユーザーのコンフ ィギュレーシ ョ ン アクセスに影響を与えるこ とな く、 自

動的に停止し、 エラー フラグはク リ アされます。 リードバッ クを停止させる状況から抜け出たと

き、 CRC 基準値は再計算され、 POST_CRC が ENABLE に設定されている場合は自動的に再開し

ます。

リードバッ ク CRC ロジッ クは、 次のよ うな条件で実行されます。

• FPGA のスタート アップが正し く完了し、 DONE ピンが High なっている。

• DESYNC コマンドを使用してコンフ ィギュレーシ ョ ン処理を終了し、 コンフ ィギュレーシ ョ

ン ロジッ クをアクセス可能な状態にしておく こ と。 DESYNC コマンドが発行されない場合、

リードバッ ク CRC ロジッ クはコンフ ィギュレーシ ョ ン ロジッ クにアクセスできず、 実行され

ません。

• JTAG 命令レジスタ (IR) にコンフ ィギュレーシ ョ ン命令 (CFG_IN、 CFG_OUT、 または

ISC_ENABLE) が含まれないこ と。 これらの命令が格納されている と、 リードバッ ク CRC ロジッ クはコンフ ィギュレーシ ョ ン ロジッ クにアクセスできず、 実行されません。 JTAG イン

ターフェイスを使用してコンフ ィギュレーシ ョ ンを実行する場合は、 コンフ ィギュレーシ ョ ン

Page 144: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

144 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 8 章 : リードバック CRC

の 後にこれら 3 つのコンフ ィギュレーシ ョ ン命令以外の値を IR に読み込む必要があ り ま

す。

バッ クグランドで実行される リードバッ クでは、 動作中に変更される次のメモリ位置はマスク され

ます。

• 分散 RAM またはシフ ト レジスタ と してコンフ ィギュレーシ ョ ンされているルッ クアップ

テーブル (LUT) はチェッ ク されません。Spartan-6 FPGA では、SLICEM のみがこれらのメモ

リ エレ メン ト と してコンフ ィギュレーシ ョ ン可能です。 また、 LUT マスクの都合上、 1 つの

フレームに LUTRAM または SRL16 と して同じ垂直線上に並んでいる LUT はチェッ ク され

ません。 リードバッ ク CRC の適用範囲が 大限になるよ うにするには、 メモ リ と して使用さ

れている LUT と ロジッ ク と して使用されている LUT を別のフレームに置く必要があ り ます。

• ブロ ッ ク RAM の内容は動作中に変更できるため、 初期コンフ ィギュレーシ ョ ンと同じもので

はあ り ません。 つま り、 これらのエレ メン トはチェッ ク されません。

• PLL DRP の使用はマスク されません。 PLL を変更する と CRC エラーとなり ます。

• 上辺および下辺にある I/O インターフェイス DRP がマスクできるだけでなく、 同じフレーム

にある CLB の LUT もマスクできます。同様に、上辺および下辺にある LUT をマスクする と、

I/O インターフェイスもマスクできます。

表 8-1 に示すよ うに、 リードバッ ク CRC のクロ ッ ク ソースはモードによって異なり ます。

JTAG は、 も優先度の高いコンフ ィギュレーシ ョ ン モードであるため、 必要な場合はコンフ ィ

ギュレーシ ョ ン バスを優先的に使用します。 JTAG 命令レジスタが、 CFG_IN、 CFG_OUT、 また

は ISC_ENABLE 命令で停止しないよ うにしてください。

POST_CRC 制約

Spartan-6 FPGA デバイスでは、 SEU イベン ト用の制約がいくつかあ り、 これらの制約の伝搬には

同じ規則があ り ます。 これらは、 CONFIG ブロ ッ クに属性と して指定された後、物理的なデザイン

オブジェク トに伝搬されます。

POST_CRC

POST_CRC は FPGA の リ ードバッ ク CRC 機能を有効にし ます。 SEU イベン ト の信号送信に

POST_CRC_INTERNAL プリ ミ ティブの CRCERROR ピンを使用します。デフォルトでは、 INITが SEU CRC エラー インジケーターと して予約されていますが、POST_CRC_INIT_FLAG 制約を

設定して無効にできます。

表 8-1 : リードバック CRC のクロック ソース

ICAP プリ ミテ ィブ マスター モード スレーブ モード JTAG モード クロック ソース

インスタンシエート

している

X X X ICAP プリ ミ ティブの CLK 入力

インスタンシエート

していない

Yes No No コンフ ィギュレーシ ョ ン制約 POST_CRC_FREQで制約されている周波数の内部オシレーター

インスタンシエート

していない

No Yes No CCLK ピン入力

インスタンシエート

していない

No No Yes コンフ ィギュレーシ ョ ン制約 POST_CRC_FREQで制約されている周波数の内部オシレーター

Page 145: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 145UG380 (v2.2) 2010 年 7 月 30 日

POST_CRC 制約

この情報の伝搬には、 POST_CRC 制約の適用が 良の方法です。 POST_CRC 制約は CONFIG 制約です。 この制約は PAR および BitGen で使用可能で、 IOB が INIT ピンを駆動しないよ うにプロ

グラムするこ とで、 INIT ピンを予約できます。

POST_CRC に設定できる値は次の 2 つです。

• ENABLE

SEU の検出が有効になり ます。

• DISABLE

SEU の検出が無効になり ます。

POST_CRC_INIT_FLAG

POST_CRC_INIT_FLAG は、Spartan-6 FPGA の INIT_B ピンが SEU エラー信号のソースである

かを決定します。

コンフ ィギュレーシ ョ ン中、 INIT ピンは通常どおり動作します。 SEU 解析が有効、 かつ INIT が予約されている と、 デフォル トの INIT ピンは、 コンフ ィギュレーシ ョ ン後に SEU ステータス ピンと して機能します。 SEU は、 リ アルタイムで計測された CRC 値があらかじめ計測された値と異

なり、 CRCERROR ピンが High に駆動、 INIT ピンが Low に駆動する場合に検出されます。

INIT_B ピンを リードバッ ク CRC のエラー ステータス出力ピンと して使用できないよ うにするに

は、 POST_CRC_INIT_FLAG を使用して く ださい。 このよ う な場合も、 エラー ステータ スは

POST_CRC_INTERNAL サイ トからわかり ます。

POST_CRC_INIT_FLAG に設定できる値は次の 2 つです。

• ENABLE

INIT_B ピンを SEU エラー信号のインジケーターと して使用します (デフォルト )。

• DISABLE

INIT_B ピンは SEU エラー信号のインジケーターと して使用されません。 エラー ステータス

は POST_CRC_INTERNAL プリ ミ ティブからのみわかり ます。

POST_CRC_ACTION

POST_CRC_ACTION は CRC エラー検出後のリードバッ ク CRC の動作を決定します。

POST_CRC_ACTION に設定できる値は次の 2 つです。

• HALT

CRC エラーが検出される と、 それ以降リードバッ ク CRC テス トは行われません。 エラーがク

リ アされる と、 CRC テス トが再開します (デフォルト )。

• CONTINUE

CRC エラーが検出される と、 エラー フラグが出力されますが、 テス トは続行します。

POST_CRC_FREQ

POST_CRC_FREQ はリードバッ ク CRC ロジッ クに対して内部生成されたクロ ッ クの周波数を決

定します。

POST_CRC_FREQ に設定できる値は 2、 4、 6、 10、 12、 16、 22、 26、 33、 40、 および 50 です。

これらの値は、 具体的な周波数を直接示すものではあ り ません。 各値に関連した周波数の値は、

『Spartan-6 FPGA データシート : DC 特性およびスイ ッチ特性』 を参照して ください。

Page 146: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

146 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 8 章 : リードバック CRC

構文例

こ こでは、 各制約でサポート されている構文の例を示します。

POST_CRC

UCF の構文例

CONFIG POST_CRC = [ENABLE|DISABLE]

POST_CRC_INIT_FLAG

UCF の構文例

CONFIG POST_CRC_INIT_FLAG = [ENABLE|DISABLE]

POST_CRC_ACTION

UCF の構文例

CONFIG POST_CRC_ACTION = [HALT | CONTINUE]

POST_CRC_FREQ

UCF の構文例

CONFIG POST_CRC_FREQ = [2|4|6|10|12|16|22|26|33|40|50]

Page 147: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 147UG380 (v2.2) 2010 年 7 月 30 日

第 9 章

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

シリアル デイジー チェーン

Spartan®-6 デバイスをシ リ アル デイジー チェーン接続する と、 1 つのコンフ ィギュレーシ ョ ン

ソースから複数の Spartan-6 デバイスのコンフ ィギュレーシ ョ ンが可能になり ます。 シ リ アル デイ

ジー チェーンでは、デバイスは DIN ピンでコンフ ィギュレーシ ョ ン データを取得し、DOUT ピン

から取得したコンフ ィギュレーシ ョ ン データを下位デバイスへ伝搬します。 ココンフ ィギュレー

シ ョ ン データ ソースに も近いデバイスを 上位デバイス、 ソースから も遠いデバイスを 下

位デバイス と呼びます。

シ リ アル デイジー チェーンの場合、 コンフ ィギュレーシ ョ ン ク ロ ッ クは、 通常マスター シ リアル

モードの 上位デバイスから供給されます。 その他すべてのデバイスは、 スレーブ シ リ アル モー

ドに設定されます。 図 9-1 に、 このコンフ ィギュレーシ ョ ンを示します。

初のデバイスに SPI モードを使用する方法もあ り ます。 SPI モードの場合も、デイジー チェーン

のデータは DOUT から出力されます。

図 9-1 について説明します。

1. DONE ピンは、デフォルトでは、外部プルアップ抵抗が必要なオープン ド レイン出力です。先

頭を除くすべてのデバイスで、DONE ピンのアクティブ ド ラ イバーを無効にしてください。先

X-Ref Target - Figure 9-1

図 9-1 : マスター シリアル モード /スレーブ シリアル モードの

デイジー チェーン コンフ ィギュレーシ ョ ン

Spartan-6 FPGAMasterSerial

D0 DOUT

INIT_B

DIN

CCLK

PROGRAM_B

DONE

M0 M1

CLK

CF

CE

RESET/OE

PROGRAM

Spartan-6 FPGASlaveSerial

DOUT

INIT_B

DIN

CCLK

PROGRAM_B

DONE

M0 M1

UG380_c9_01_052009

4.7 kΩ 330Ω

Xilinx Platform Flash PROM

Page 148: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

148 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 9 章 : アドバンス コンフ ィギュレーシ ョ ン インターフェイス

頭のデバイスにある DONE ピンのアクティブ ド ラ イバーは、有効にできます。詳細は、 「シ リ

アル デイジー チェーンのガイ ド ラインおよびデザインの考察」 を参照してください。

2. INIT_B ピンは、 双方向オープン ド レイン ピンで、 外部プルアップ抵抗が必要です。

3. BitGen のスタート アップ ク ロ ッ ク設定で、CCLK をシ リ アル コンフ ィギュレーシ ョ ンに設定

する必要があ り ます。

4. この図の PROM は、 1 つまたは複数のザイ リ ンクス PROM を示しています。 複数のザイ リ ン

クス PROM をカスケード接続するこ とで、 データの格納範囲全体を拡大できます。

5. BIT ファ イルは、 PROM へ格納する前に PROM ファ イルに変換する必要があ り ます。

6. CCLK ネッ トにはテブナン並列終端が必要です。詳細は、57 ページの 「コンフ ィギュレーシ ョ

ン ク ロ ッ ク (CCLK) のボード レイアウ ト 」 を参照してください。

7. シ リ アル デイジー チェーンは、 プラ ッ ト フォーム フラ ッシュ (XCFxxS および XCFxxP)PROM と SPI シ リ アル フラ ッシュ専用です。

シ リ アル デイジー チェーンの先頭のデバイスが 後にコンフ ィギュレーシ ョ ンされます。 CRCチェッ クでは、 現在作業中のデバイスのデータのみがチェッ ク され、 チェーンのほかのデバイスは

チェッ ク されません。

チェーンの 後のデバイスがコンフ ィギュレーシ ョ ンを完了し、CRC チェッ クをク リ アする と、ス

タート アップ シーケンスが開始されます。 スタート アップ シーケンスの DONE ピンのリ リース段

階で、 チェーンの 後から 1 つ前のデバイスのコンフ ィギュレーシ ョ ン中に、 デバイスが DONEピンをハイインピーダンスにします。 すべてのデバイスが DONE ピンを リ リースした後、 共有し

ている DONE 信号は外部で High にプルアップ、 またはチェーンの 初のデバイスで High 駆動さ

れます。 すべてのデバイスは CCLK の次の立ち上がりエッジで DONE ピンの リ リースを停止し、

スタート アップ シーケンスを完了します。

このと き、スレーブ シ リ アル デイジー チェーンのすべての DONE ピンが接続されている必要があ

り ます。また、シ リ アル デイジー チェーンの 初のデバイスのみ、DONE のアクティブなプルアッ

プ ド ラ イバーを有効にする必要があ り ます。下位デバイスの DONE のド ライバーを有効にする と、

DONE 信号の競合が生じます。

混在シリアル デイジー チェーン

Spartan-6 デバイスは、 Spartan-3、 Virtex®-4、 Virtex-5 ファ ミ リ とデイジーチェーンで接続できま

す。 デバイスが混在したシ リ アル デイジー チェーン接続では、 次の 3 つの重要な項目を考慮する

必要があ り ます。

• 旧型デバイスの多くは、Spartan-6 デバイスが生成する高速な CCLK 周波数に対応できません。

チェーン接続しているすべてのデバイスがサポート可能な CCLK 周波数を選択して ください。

• Spartan-6 デバイスは常に、 シ リ アル デイジー チェーンの 初に配置し、 旧ファ ミ リのデバイ

スはチェーンの 後に配置して ください。

• すべての Spartan-6 デバイス ファ ミ リには、類似した BitGen オプシ ョ ンがあ り ます。Spartan-6FPGA の BitGen オプシ ョ ンのガイ ド ラインは、シ リ アル デイジー チェーン接続された Virtexベースのすべてのデバイスに適用されます。

• デバイスが、 DOUT ピンを通過させるこ とができるコンフ ィギュレーシ ョ ン ビッ ト数には制

限があ り、 これはデバイス ファ ミ リ ご とに異な り ます (表 9-1 参照)。 下位デバイスすべての

ビッ ト ス ト リーム長の合計が、表 9-1 に示す各デバイス ファ ミ リの制限値を超えないよ うにし

て ください。

Page 149: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 149UG380 (v2.2) 2010 年 7 月 30 日

混在シリアル デイジー チェーン

シリアル デイジー チェーンのガイド ラインおよびデザインの考察

シ リ アル デイジー チェーンの場合、 考慮すべき項目が多数あ り ます。

スタートアップ シーケンス (GTS)

GTS のリ リースは、 DONE のサイクルよ り後または同じサイクルで行い、 すべての DONE ピンが

リ リースされたと きに Spartan-6 デバイスが確実に動作を開始できるよ うにします。

アクテ ィブ DONE ド ライバー

初のデバイスを除くデバイスすべての DONE ピンのド ラ イバを有効にして ください (ソ フ ト

ウェア設定については、 『コマンド ライン ツール ユーザー ガイ ド』 (UG628) の 「BitGen」 を参照

して ください。 チェーンの 初のデバイスが 後にプログラムされます。

• DriveDone が無効になり ます ( 初のデバイス以外すべて)。

• DriveDone が有効になり ます ( 初のデバイス)。

また、 すべての DONE ピンのド ライバーを無効にし、 外部プルアップ抵抗を追加して、 すべてのデ

バイスが DONE ピンを リ リースした後に信号を High にプルアップする方法もあり ます。

すべての DONE ピンを接続

シ リ アル デイジー チェーンに接続されたデバイ スすべての DONE ピンを接続して く ださい。

DONE ピンを接続していないと コンフ ィギュレーシ ョ ンできません。デバッグを目的と して、共有

している DONE 信号から DONE ピンを個別に未接続にする と非常に便利です。 デバッグ後には、

切り離されたデバイスは、シ リ アルまたは JTAG インターフェイスを使用して個別にコンフ ィギュ

レーシ ョ ン可能です。

DONE ピンの立ち上がり時間

すべての DONE ピンのリ リース後、 DONE ピンは CCLK の 1 サイ クル以内にロジッ ク 0 からロ

ジッ ク 1 に立ち上がる必要があ り ます。 これには、 外部プルアップ抵抗が必要です。 DDONE 信号

が立ち上がるために追加時間を要する場合は、 シ リ アル デイジー チェーンのすべてのデバイスに

BitGen の DonePipe オプシ ョ ンを設定して ください。 ソフ ト ウェア設定の詳細は、 『コマンド ライン ツール ユーザー ガイ ド』 (UG628) の 「BitGen」 を参照して ください。

ビッ トス ト リームのフォーマッ ト

複数のビッ ト ス ト リームが送信されているこ とを FPGA に知らせ、データが下位デバイスに転送さ

れるよ うにビッ ト ス ト リームをカスタマイズする必要があ り ます。 これには、 iMPACT プログラ ミ

ング ツールに含まれる PROM ファ イルをフォーマッ トするためのツール、PROMGen を使用して

ください。

表 9-1 : デバイス ファ ミ リ別のコンフ ィギュレーシ ョ ン ビッ ト数の最大値

アーキテクチャ 最大 DOUT ビッ ト数

Spartan-6、 Spartan-3、 Virtex-6、 Virtex-5、 Virtex-4、Virtex-II Pro、 および Virtex-II デバイス

32 x (227 – 1) = 4,294,967,264

Virtex、 Virtex-E、 Spartan-II、 および Spartan-IIE デバイス

32 x (220 – 1) = 33,554,216

Page 150: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

150 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 9 章 : アドバンス コンフ ィギュレーシ ョ ン インターフェイス

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

ギャング シ リ アル コンフ ィギュレーシ ョ ンを使用する と、 同じビッ ト ス ト リームから複数のデバ

イスを同時にコンフ ィギュレーシ ョ ンできます (図 9-2 参照)。 この構成では、 シ リ アル コンフ ィ

ギュレーシ ョ ン ピンを図のよ うに結束するため、 各デバイスにおける信号遷移が同一にな り ます。

通常、 CCLK を駆動するために 1 つのデバイスをマスター シ リアル モードに設定し、 その他のデ

バイスはスレーブ シ リアル モードに設定します。 ギャング シ リ アル コンフ ィギュレーシ ョ ンの場

合、 すべてのデバイスが同一でなければな り ません。 コンフ ィギュレーシ ョ ンは PROM または外

部のコンフ ィギュレーシ ョ ン コン ト ローラーで実行されます。

図 9-2 について説明します。

1. 1 つのデバイスがマスター モードに設定されている場合、すべてのデバイスを CCLK の正確に

同じサイクルでスタート アップできない可能性があるため、 ギャング シ リ アル コンフ ィギュ

レーシ ョ ンでは、 すべてのデバイスの DONE ド ラ イバー (オプシ ョ ン) を無効にする必要があ

り ます。 これには、 外部プルアップ抵抗が必要とな り ます。

2. INIT_B ピンは、 双方向オープン ド レイン ピンで、 外部プルアップ抵抗が必要です。

3. BitGen のスタート アップ ク ロ ッ ク設定で、CCLK をシ リ アル コンフ ィギュレーシ ョ ンに設定

する必要があ り ます。

4. この図の PROM は、 1 つまたは複数のザイ リ ンクス PROM の場合を示しています。 複数のザ

イ リ ンクス PROM をカスケード接続するこ とで、 データ格納範囲全体が拡大できます。

5. BIT ファ イルは、 PROM に格納前に PROM ファ イルに変換する必要があ り ます。 詳細は、

79 ページの 「PROM ファ イルの生成」 を参照してください。

X-Ref Target - Figure 9-2

図 9-2 : ギャング シリアル コンフ ィギュレーシ ョ ン

D0

PROGRAM

CLK

DOUTDIN

M1M0

M1M0

CCLK

PROGRAM_B

DONE

DIN

CCLK

PROGRAM_B

DONE

INIT_B

DOUT

INIT_B

CE

RESET/OE

UG380_c9_02_052009

XilinxPlatform PROM

Spartan-6FPGAMasterSerial

Spartan-6 FPGASlaveSerial

Page 151: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 151UG380 (v2.2) 2010 年 7 月 30 日

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

6. 一部のザイ リ ンクス PROM では、 リセッ ト ピンの極性をプログラムできます。 この設定で

PROM を使用する場合、 RESET をアクティブ Low に設定してください。

7. ギャング シ リ アル コンフ ィギュレーシ ョ ンでは、 すべてのデバイスが同一 (IDCODE が同じ )であ り、 1 つのビッ ト ス ト リームを使用してコンフ ィギュレーシ ョ ンする必要があ り ます。

8. CCLK ネッ トにはテブナン並列終端が必要です。詳細は、57 ページの 「コンフ ィギュレーシ ョ

ン ク ロ ッ ク (CCLK) のボード レイアウ ト 」 を参照してください。

9. ギャング シ リ アル コンフ ィギュレーシ ョ ンは、プラ ッ ト フォーム フラ ッシュ (XCFxxS および

XCFxxP) PROM と SPI シ リ アル フラ ッシュ PROM 専用です。

ギャング シ リ アル コンフ ィギュレーシ ョ ンの場合、 考慮すべき項目が多数あ り ます。

• スタート アップ シーケンス (GTS)

GTS のリ リースは、 DONE ピンのサイクルよ り前または同一サイクルで行い、 すべての DONEピンがリ リースされたときに、 すべてのデバイスが確実に動作開始できるよ うにします。

• すべてのデバイスの DONE ピンのアクティブ ド ラ イバーを無効にする

ギャング シ リ アル コンフ ィギュレーシ ョ ンでは、DONE ピンが結合接続されている と、各デバ

イスのスタート アップ シーケンスが異なる可能性があ り ます。すべてのデバイスのアクティブ

な DONE ド ラ イバーを必ず無効にして ください。 そのため、共通の DONE 信号にプルアップ

抵抗が必要とな り ます。

-g DriveDone:no (この BitGen オプシ ョ ンをすべてのデバイスに設定)

• マスター デバイスを使用する場合は、 すべての DONE ピンを接続する

1 つの FPGA をマスター デバイス と して使用する場合、 ギャング シ リ アル コンフ ィギュレー

シ ョ ンのデバイスすべての DONE ピンを接続する必要があ り ます。 DONE ピンを接続しない

と、各デバイスのコンフ ィギュレーシ ョ ンが完了できません。すべてのデバイスをスレーブ シリ アル モードに設定する と、DONE ピンを未接続にできます (外部の CCLK ソースがすべての

DONE ピンが High になるまで ト グルを継続する場合)。

デバッグ目的の場合、共通の DONE 信号から DONE ピンを個別に未接続にする と非常に便利

です。

• DONE ピンの立ち上がり時間

すべての DONE ピンのリ リース後、DONE ピンは CCLK の 1 サイ クル以内にロジッ ク 0 から

ロジッ ク 1 に立ち上がる必要があ り ます。DONE 信号が立ち上がるために追加時間を要する場

合は、 シ リ アル デイジー チェーンのすべてのデバイスに BitGen の -g DonePipe オプシ ョ ン

を設定して ください。

• ボード レイアウ ト用クロ ッ ク信号と してのコンフ ィギュレーシ ョ ン ク ロ ッ ク (CCLK)

CCLK 信号は比較的低速ですが、 Spartan-6 FPGA の入力バッファのエッジ レートは非常に高

速です。 CCLK 信号でわずかなシグナル インテグ リティの問題が発生しただけで、 コンフ ィ

ギュレーシ ョ ンが正常に完了しない可能性があ り ます (エラーが発生しやすいモード : DONELow、 INIT_B High)。 したがって、シグナル インテグ リティが重要となるデザインでは、 IBISを使用したシグナル インテグ リティのシ ミ ュレーシ ョ ンなどの実行を推奨します。

• 信号のファンアウ ト

ギャング シ リ アル コンフ ィギュレーシ ョ ンを使用する際は、 優れたシグナル インテグ リ ティ

を実現する必要があ り ます。 このため、シグナル インテグ リティのシ ミ ュレーシ ョ ンの実行を

推奨します。

• ギャング シ リ アル コンフ ィギュレーシ ョ ンの PROM ファ イル

Page 152: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

152 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 9 章 : アドバンス コンフ ィギュレーシ ョ ン インターフェイス

ギャング シ リ アル コンフ ィギュレーシ ョ ンの PROM ファ イルは、 単一デバイスのコンフ ィ

ギュレーシ ョ ンに使用する PROM ファ イルと類似しています。 PROM ファ イルに関するガイ

ド ラインは特にあ り ません。

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

スレーブ SelectMAP モードの複数の Spartan-6 デバイスは、 共通の SelectMAP バスに接続可能で

す (図 9-3 参照)。 SelectMAP バスでは、 D、 CCLK、 RDWR_B、 BUSY、 PROGRAM_B、 DONE、および INIT_B ピンがすべてのデバイスで共有されます。 各デバイスに個別にアクセスできるよ う

にするには、 CSI_B (チップ セレク ト ) 入力を共有接続にしないでください。 CSI_B 信号の外部制

御が必要とな り、 通常、 これはマイクロプロセッサまたは CPLD によって提供されます。

コンフ ィギュレーシ ョ ン後にリードバッ クを実行する場合、RDWR_B 信号および BUSY 信号を適

切に使用して ください (第 6 章 「リードバッ クおよび コンフ ィギュレーシ ョ ンの検証」 参照)。

リ ードバッ ク を実行しない場合は、 RDWR_B を Low に接続し、 BUSY を未接続にでき ます。

Spartan-6 デバイスのコンフ ィギュレーシ ョ ン時に、BUSY 信号をモニターする必要はあ り ません。

詳細は、 86 ページの 「ビッ ト ス ト リームの読み込み (手順 4 ~ 7)」 および 第 6 章 「リードバッ クお

よび コンフ ィギュレーシ ョ ンの検証」 を参照してください。

図 9-3 について説明します。

1. DONE ピンは、デフォルトでは外部プルアップ抵抗が必要なオープン ド レイン出力です。この

接続では、 アクティブ DONE ド ラ イバーを必ず無効にしてください。

2. INIT_B ピンは双方向オープン ド レイン ピンで、 外部プルアップ抵抗が必要です。

3. BitGen のスタート アップ ク ロ ッ ク設定では、CCLK を SelectMAP コンフ ィギュレーシ ョ ンに

設定する必要があ り ます。

X-Ref Target - Figure 9-3

図 9-3 : 8 ビッ トの SelectMAP バスを使用した

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

PROGRAMINIT

DONE

Spartan-6FPGASlave

SelectMAP

INIT_B

D[7:0]

CCLK

RDWR_B

BUSY

CSI_B

PROGRAM_B

DONE

M1 M0

CS(1)

UG380_c9_03_052009

Spartan-6FPGASlave

SelectMAP

INIT_B

D[7:0]

CCLK

RDWR_B

BUSY

CSI_B

DATA[7:0]CCLK

WRITEBUSY

PROGRAM_B

DONE

M1 M0

CS(0)

4.7 kΩ 330Ω 330Ω

Page 153: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 153UG380 (v2.2) 2010 年 7 月 30 日

パラレル デイジー チェーン

4. リードバッ クが不要な場合は、 BUSY 信号を未接続にできます。

5. コンフ ィギュレーシ ョ ンを制御するため、マイ クロプロセッサまたは CPLD のよ うな外部コン

ト ローラーが必要です。

6. CCLK ネッ トにはテブナン並列終端が必要です。詳細は、57 ページの 「コンフ ィギュレーシ ョ

ン ク ロ ッ ク (CCLK) のボード レイアウ ト 」 を参照してください。

7. データ バスは x8 または x16 が可能です。

パラレル デイジー チェーン

Spartan-6 FPGA のコンフ ィギュレーシ ョ ンでは、パラレル デイジー チェーンがサポート されます。

図 9-4 は、 初のデバイスがマスター BPI コンフ ィギュレーシ ョ ン モードの例を示しています。

初のデバイスは、 マスターまたはスレーブ SelectMAP モードにできます。 すべてのデバイス間で

D[15:0]、 CCLK、 RDWR_B、 PROGRAM_B、 DONE、 INIT_B ピンが共有接続で、 CSI_B ピン

はデイジー チェーン接続されています。

図 9-4 について説明します。

1. DONE ピンは、デフォルトでは外部プルアップ抵抗が必要なオープン ド レイン出力です。この

接続では、 アクティブ DONE ド ラ イバーを必ず無効にしてください。

2. INIT_B ピンは、 双方向オープン ド レイン ピンで、 外部プルアップ抵抗が必要です。

3. BitGen のスタート アップ ク ロ ッ ク設定では、CCLK を SelectMAP コンフ ィギュレーシ ョ ンに

設定する必要があ り ます。

4. リードバッ クが不要な場合は、 BUSY 信号を未接続にできます。

5. CCLK ネッ トにはテブナン並列終端が必要です。 詳細は、 「コンフ ィギュレーシ ョ ン ク ロ ッ ク

(CCLK) のボード レイアウ ト 」 を参照してください。

6. FCS_B、FWE_B、FOE_B、CSO_B の弱いプルアップ抵抗は有効にして ください。 無効の場合

は、 各ピンに対して外部にプルアップ抵抗が必要とな り ます。 デフォルトでは、 コンフ ィギュ

レーシ ョ ン後、 すべてのデュアル モード I/O に弱いプルダウン抵抗が付きます。

X-Ref Target - Figure 9-4

図 9-4 : パラレル デイジー チェーン

UG380_c9_04_071910

Flash

A[25:0]D[15:0]FCS_BFOE_BFWE_B

Spartan-6FPGAA[25:0]

D[15:0]FCS_BFOE_BFWE_B

BUSYINIT_BDONE

CSO_B

CCLK

M1 M0

Spartan-6FPGA

D[15:0]CSI_BRDWR_BCCLK

BUSYINIT_BDONE

CSO_B

M1 M0

Spartan-6FPGA

D[15:0]CSI_BRDWR_BCCLK

BUSYINIT_BDONE

CSO_B NoConnect

M[1:0]=Slave SelectMAP

M1 M0

M[1:0]=Slave SelectMAPBPI

0 0 1 0 1 0

330Ω

330Ω

330Ω

4.7

Page 154: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

154 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 9 章 : アドバンス コンフ ィギュレーシ ョ ン インターフェイス

7. チェーンの 初のデバイスは、 マスター SelectMAP、 スレーブ SelectMAP、 または BPI にで

きます。

8. リードバッ クは、 現時点ではパラレル デイジー チェーンではサポート されていません。

9. AES 復号化機能は x16 では使用できず、 x8 モードでのみサポート されています。

ギャング SelectMAPギャング SelectMAP コンフ ィギュレーシ ョ ンを使用するこ とによっても、1 つのコンフ ィギュレー

シ ョ ン ビッ ト ス ト リームから複数のデバイスを同時にコンフ ィギュレーシ ョ ンできます。ギャング

SelectMAP コンフ ィギュレーシ ョ ンの接続では、 すべてのデバイスが D ピンに出力されるデータ

を認識できるよ うにするため、 複数デバイスの CSI_B ピンが共有接続 (またはグランド接続) され

ます。

外部オシレーターがある場合は、 すべてのデバイスをスレーブ SelectMAP モードに設定、 あるい

は 図 9-5 に示すよ うに、 1 つのデバイスをマスターと して設定可能です。

図 9-5 について説明します。

1. DONE ピンは、デフォルトでは外部プルアップ抵抗が必要なオープン ド レイン出力です。こ こ

の接続では、 両デバイスに対してアクティブ DONE ド ラ イバーを必ず無効にしてください。

2. INIT_B ピンは、 双方向オープン ド レイン ピンで、 外部プルアップ抵抗が必要です。

X-Ref Target - Figure 9-5

図 9-5 : ギャング x8 SelectMAP コンフ ィギュレーシ ョ ン

D[0:7]

CCLK

D[0:7]

CCLK

PROGRAM_B

D[0:7]

CCLK

PROGRAM_B

DONE

DONE

BUSY

BUSY

INIT_B

INIT_B

CE

RESET/OE

CF

UG380_c9_05_051209

XilinxPlatform Flash

PROM

Spartan-6 FPGASelectMAP

Master

Spartan-6 FPGASelectMAP

Slave

M1 M0

4.7 kΩ

330Ω

M1 M0

Page 155: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 155UG380 (v2.2) 2010 年 7 月 30 日

SelectMAP の ABORT

3. BitGen のスタート アップ ク ロ ッ ク設定では、CCLK を SelectMAP コンフ ィギュレーシ ョ ンに

設定する必要があ り ます。

4. ギャング SelectMAP コンフ ィギュレーシ ョ ンでは、 BUSY 信号は使用しません。

5. この図の PROM は、 1 つまたは複数のザイ リ ンクス PROM の場合を示しています。 複数のザ

イ リ ンクス PROM をカスケード接続するこ とで、 データ格納範囲全体が拡大できます。

6. BIT ファ イルは、 PROM に格納前に PROM ファ イルに変換する必要があ り ます。 詳細は、

79 ページの 「PROM ファ イルの生成」 を参照してください。

7. ザイ リ ンクスの PROM は、パラレル モードに設定する必要があ り ます。このモードは XCFxxPデバイスでのみ使用可能です。

8. SelectMAP モードで、 ザイ リ ンクスのコンフ ィギュレーシ ョ ン PROM から Spartan-6 デバイ

スをコンフ ィギュレーシ ョ ンする場合、 RDWR_B および CSI_B 信号は Low に接続可能です

(36 ページの 「SelectMAP データ読み込み」 参照)。

9. ギャング SelectMAP コンフ ィギュレーシ ョ ンは、 フラ ッ ト フォーム フラ ッシュ XCFxxPPROM 専用です。

10. CCLK ネッ トにはテブナン並列終端が必要です。詳細は、57 ページの 「コンフ ィギュレーシ ョ

ン ク ロ ッ ク (CCLK) のボード レイアウ ト 」 を参照してください。

1 つのデバイスをマスターにした場合、 すべてのデバイスの DONE ピンを接続し、 アクテ ィブ

DONE ド ラ イバーを無効にする必要があ り ます。 これには、 共有している DONE 信号にプルアッ

プ抵抗が必要とな り ます。PROM 出力のファンアウ トが大き くなるため、シグナル インテグ リティ

に十分注意した設計が必要であ り、シグナル インテグ リティのシ ミ ュレーシ ョ ンの実行を推奨しま

す。

CSI_B 信号が共有接続されている と き、 すべてのデバイスが同時に D 信号を駆動するためリード

バッ クは実行できません。

SelectMAP の ABORTABORT とは、 SelectMAP コンフ ィギュレーシ ョ ンまたはリードバッ ク シーケンスが中断される

こ とです。 これは、CSI_B がアサート されている と きに RDWR_B のステートが変更される と生じ

ます。 コンフ ィギュレーシ ョ ンの ABORT が発生する と、CCLK の次の 4 サイ クル間、内部ステー

タスが D[7:4] ピンに送信されます。その他の D ピンは、常に High です。ABORT シーケンスの終

了後、ユーザーはコンフ ィギュレーシ ョ ン ロジッ クを再同期化し、 コンフ ィギュレーシ ョ ンを再開

できます。 バイ ト間で RDWR_B をディ アサー トする必要があるアプ リ ケーシ ョ ンについては、

120 ページの 「SelectMAP インターフェイスからのコンフ ィギュレーシ ョ ン レジスタへのアクセ

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

コンフ ィギュレーシ ョ ンの ABORT シーケンス

ABORT は、 コンフ ィギュレーシ ョ ン中に次のよ うにして出されます。

1. コンフ ィギュレーシ ョ ン シーケンスが正常に開始される。

2. デバイスの CSI_B が Low にアサート されている と き、 RDWR_B ピンを High に駆動する。

3. CSI_B がアサート されたまま (Low) のと きに BUSY が High になる。RDWR_B が読み出し制

御 (ロジッ ク High) に設定された状態の場合、FPGA がステータス ワードをデータ ピンに送出

する。

4. ABORT が 4 ク ロ ッ ク サイクル間継続し、 ステータスが更新される。

Page 156: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

156 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 9 章 : アドバンス コンフ ィギュレーシ ョ ン インターフェイス

リードバックの ABORT シーケンス

ABORT はリードバッ ク中には次のよ うにして出されます。

1. リードバッ ク シーケンスが正常に開始される。

2. デバイスの CSI_B が Low にアサート されている と き、 RDWR_B ピンを Low に駆動する。

3. CSI_B がアサート されたまま (Low) のと きに BUSY が High になる。

4. CSI_B がディアサート される と ABORT が終了する。

リードバッ ク中の ABORT では、 RDWR_B 信号が書き込み制御 (FPGA D[x:0] ピンが入力) と し

て設定されているため、 ステータス ワードの更新はあ り ません。

ABORT ステータス ワード

コンフ ィギュレーシ ョ ン中の ABORT シーケンスでは、 デバイスが D[7:0] ピンにステータス ワー

ドを送り ます。 ステータス ビッ トはビッ ト スワ ップしません。 また、 その他のデータ ピンは常に

High です。 表 9-2 で、 ステータス ワードについて説明します。

X-Ref Target - Figure 9-6

図 9-6 : SelectMAP モードのコンフ ィギュレーシ ョ ン ABORT シーケンス

D[0:7]

BUSY

CCLK

STATUS

ABORTUG380_c9_06_021710

CSI_B

RDWR_B

X-Ref Target - Figure 9-7

図 9-7 : リードバックの ABORT シーケンス

D[0:7]

BUSY

CCLK

FPGA

ABORTUG380_c9_07_052009

CSI_B

RDWR_B

Page 157: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 157UG380 (v2.2) 2010 年 7 月 30 日

SelectMAP の ABORT

ABORT シーケンスは、 CCLK の 4 サイ クル間継続します。 このサイ クル間で、 データ アラ イ メ

ン トおよび ABORT ステータスに反映するよ う、ステータス ワードが更新されます。一般的なシー

ケンスは次のとおりです。

11011111 => DALIGN = 1, IN_ABORT_B = 1 11001111 => DALIGN = 1, IN_ABORT_B = 0 10001111 => DALIGN = 0, IN_ABORT_B = 0 10011111 => DALIGN = 0, IN_ABORT_B = 1

後のサイクルが終了する と、同期ワードの再読み込みが可能となり、データ アライ メン トが確立

します。

ABORT 後にコンフ ィギュレーシ ョ ンまたはリードバックを再開

ABORT 完了後にコンフ ィギュレーシ ョ ンまたはリードバッ クを再開させるには、 次の 2 つの方法

があ り ます。

• ABORT 完了後に再びデバイスを同期化する

• PROGRAM_B を Low に駆動してデバイスを リセッ トする

デバイスを再同期化するには、 CSI_B をディアサート し、 再度アサート して ください。 ABORT が発生したと きに進行していた 後のコンフ ィギュレーシ ョ ン パケッ ト またはリードバッ ク パケッ

ト を送信する と、 コンフ ィギュレーシ ョ ン/ リードバッ クが再開します。 コンフ ィギュレーシ ョ ンま

たはリードバッ クを 初から再実行するこ と も可能です。

表 9-2 : ABORT ステータス ワード

ビッ ト番号 ステータス ビッ ト名 説明

D7 CFGERR_B

コンフ ィギュレーシ ョ ン エラー (アクティブ Low)

0 = コンフ ィギュレーシ ョ ン エラー発生

1 = コンフ ィギュレーシ ョ ン エラーなし

D6 DALIGN

同期ワードの受信 (アクティブ High)

0 = 同期ワードを受信しない

1 = インターフェイス ロジッ クで 同期ワードを

受信

D5 RIP

リードバッ クを実行中 (アクティブ High)

0 = リードバッ クを実行しない

1 = リードバッ クを実行する

D4 IN_ABORT_B

ABORT を実行中 (アクティブ Low)

0 = ABORT を実行する

1 = ABORT を実行しない

D3-D0 1111 1 に固定

Page 158: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

158 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 9 章 : アドバンス コンフ ィギュレーシ ョ ン インターフェイス

SelectMAP リコンフ ィギュレーシ ョ ン

リ コンフ ィギュレーシ ョ ンとは、DONE ピンが High になった後に FPGA を再プログラ ミ ングする

こ とです。通常のコンフ ィギュレーシ ョ ンと同じ方法で PROGRAM_B ピンをパルスする、 または

デバイスを再同期化してコンフ ィギュレーシ ョ ン データを送る と、 リ コンフ ィギュレーシ ョ ンが開

始します。

PROGRAM_B にパルスを送らずに SelectMAP モードでデバイスを リ コンフ ィギュレーシ ョ ンす

る場合は、 BitGen の -g Persist オプシ ョ ンを設定して ください。 このよ うに設定しなければ、

コンフ ィギュレーシ ョ ンの完了後、DATA ピンがユーザー I/O になり ます。-g Persist オプシ ョ

ンがオンのと き、RS[1:0]、CSO_B、および A[19:16] ピンはユーザー モードで使用できません。 リ

コンフ ィギュレーシ ョ ンを実行する際は、 この BitGen オプシ ョ ンを必ずオンにして ください。 デ

フォルトでは、 SelectMAP の 8 つのインターフェイス (D0 ~ D7) は、 CONFIG_MODE 制約を使

用して別の SelectMAP 幅が選択されていない限り、 保持されます。

Page 159: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 159UG380 (v2.2) 2010 年 7 月 30 日

第 10 章

アドバンス JTAG コンフ ィギュレーシ ョ ン

概要

Spartan®-6 デバイスでサポート される IEEE Std 1149.1 JTAG とは 「Joint Test Action Group」 の

略で、 この規格を制定した委員会のグループ名です。 この規格は、 ボード レベルでの個々のコン

ポーネン トの統合性と相互接続を確実にするためのものです。 IEEE 1149.1 TAP およびバウンダ リ

スキャン アーキテクチャは通常 JTAG と呼ばれます。 PC ボード層数の増加やボード表面へのマウ

ン ト技術が一層高密度で高度になるにつれ、 バウンダ リ スキャン テス トは重要なデバッグ用の規

格と して広く使用されるよ うになっています。

バウンダ リ スキャン回路が組み込まれているデバイスでは、 I/O ピンにデータを送信し、ボード レベルでデバイス間の接続がテス トできます。 この回路は、 デバイス内部に信号を送ってその動作を

テス トするこ と も可能です。これらのテス トは、通常、ボードおよびデバイス レベルで断線やシ ョー

ト を検知するために実施されます。

バウンダ リ スキャンはテス ト用に使用するだけではなく、ユーザー定義の命令をデバイスに組み込

んで柔軟性を持たせるこ と もできます。 コンフ ィギレーシ ョ ンや検証などの特定ベンダー向けの命

令の追加によ り、 バウンダ リ スキャンのテス トおよびその機能の使用率は高まっています。

Page 160: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

160 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 10 章 : アドバンス JTAG コンフ ィギュレーシ ョ ン

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

TAP コン ト ローラーおよびアーキテクチャ

Spartan-6 FPGA の TAP には、IEEE で指定されている 4 つの必須専用ピン (表 3-1 参照) があ り ま

す。 図 10-1 に、 標準的な JTAG アーキテクチャを示します。

図 10-1 に示すバウンダ リ スキャン タ ップ コン ト ローラーは、 16 ステートの有限ステート マシン

です。 4 つの TAP ピンが、 データがどのよ うに各レジスタにスキャンされるかを制御します。 ま

た、 TCK の立ち上がりエッジにおける TMS ピンの状態によって、 ステート移行のシーケンスが決

定します。主要なシーケンスは 2 つあり、1 つはデータをデータ レジスタにシフ トするシーケンス、

も う 1 つは命令を命令レジスタにシフ トするシーケンスです。

ステート間の遷移は、TCK の立ち上がりエッジでのみ発生し、ステートはすべて別のステート名に

なり ます。7 つのステートで成り立つ 2 つの列は、それぞれ命令パスとデータパスを示しています。

データ レジスタのステートには DR、命令レジスタのステートには IR が名前の後に付きますが、こ

れ以外の点ではどちらのステート も同じにな り ます。

X-Ref Target - Figure 10-1

図 10-1 : 標準的な JTAG アーキテクチャ

IEEE Standard 1149.1 Compliant Device

TMS

Instruction Register

Instruction Decoder

Bypass[1] Register

IDCODE[32] Register

Boundary-Scan[N] Register

Select DataRegister

Shift-IR/Shift-DR

Select Next State

TAP State Machine

TCK

TDI

TDO

I/O I/O I/O I/O

Test-Logic-Reset

Run-Test/Idle Select-DR

Capture-DR

Shift-DR

Exit1-DR

Pause-DR

Exit2-DR

Update-DR

0

0

0

0

0

0

0

0

1

1

1

11

1

1

Select-IR

Capture-IR

Shift-IR

Exit1-IR

Pause-IR

Exit2-IR

Update-IR

0

0

0

0

0

0

1

11

1

1

1

001 1

UG380_c10_01_042909

Page 161: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 161UG380 (v2.2) 2010 年 7 月 30 日

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

各ステートの動作は、 次のよ うにな り ます。

Test-Logic-Reset :

このステートではすべてのテス ト ロジッ クが無効になり、 これによ り通常の IC の動作が有効にな

り ます。 TAP コン ト ローラーのステート マシンは、 コン ト ローラーの初期ステー ト に関係な く、

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-IR ステートになるか、 Update-IR ステートになるかが制御されます。

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 162: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

162 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 10 章 : アドバンス JTAG コンフ ィギュレーシ ョ ン

Spartan-6 デバイスは、 ザイ リ ンクス ベンダー固有のコマンドおよび必須となる IEEE Std 1149.1コマンドをサポート しています。 これには、EXTEST、 INTEST、SAMPLE、BYPASS、 IDCODE、USERCODE、 および HIGHZ 命令すべてが含まれています。 TAP は内部のユーザー定義のレジス

タ (USER1、 USER2、 USER3、 USER4)、 そしてデバイスのコンフ ィギュレーシ ョ ン/ リードバッ

ク もサポート します。

Spartan-6 FPGA のバウンダ リ スキャンは、選択したモード とは関係なく動作します。Spartan-6 デバイスのバウンダ リ スキャン モードは、 ほかのモードの選択を上書きします。 したがって、 バウ

ンダ リ スキャン レジスタを使用するバウンダ リ スキャン命令 (SAMPLE/PRELOAD、 INTEST、および EXTEST) は、 コンフ ィギュレーシ ョ ン中に実行しないでください。 Spartan-6 デバイスの

コンフ ィギュレーシ ョ ン前は、 ユーザー定義の命令以外の命令が使用できます。 コンフ ィギュレー

シ ョ ン後は、 すべての命令が使用可能です。

JSTART および JSHUTDOWN は、 Spartan-6 FPGA のアーキテクチャおよびコンフ ィ ギュレー

シ ョ ン フローでのみ使用される命令です。 Spartan-6 デバイ スの場合、 TAP コン ト ローラーは

PROGRAM_B ピンではリセッ ト されず、 コン ト ローラーを TLR ステートにするこ とによっての

みリセッ トできます。 TAP コン ト ローラーは、 電源投入時にリセッ ト されます。

EXTEST、INTEST、および BYPASS のよ うな標準バウンダ リ スキャン命令に関する詳細は、IEEE1149.1 規格を参照してください。

X-Ref Target - Figure 10-2

図 10-2 : バウンダリ スキャンの TAP コン ト ローラー

1

UG380_c11_02_051109

TEST-LOGIC-RESET

0 RUN-TEST/IDLE1

SELECT-DR-SCAN

0

1

0

CAPTURE-DR CAPTURE-IR

0

1

0

0SHIFT-DR SHIFT-IR

1

0

1

0

EXIT1-DR EXIT1-IR

0

1

0

PAUSE-DR PAUSE-IR

1

0

1

EXIT2-DR

1

EXIT2-IR

1

UPDATE-DR

1

UPDATE-IR

1 SELECT-IR-SCAN

0 1 0

0 0

1

1

0

Note: The value shown adjacent to each state transition represents the signalpresent at TMS at the time of a rising edge at TCK.

Page 163: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 163UG380 (v2.2) 2010 年 7 月 30 日

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

バウンダリ スキャン アーキテクチャ

Spartan-6 デバイスのレジスタには、IEEE 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 ステートに移行する と、アップデート ラ ッチはオープンにな

り ます。 INTEST または EXTEST を実行する際には、 これらのコマンドの実行前に適切なデータ

がラ ッチに記憶されているこ とを確認して ください。 通常は、 SAMPLE 命令を使用して確認でき

ます。

断線およびシ ョート を検知するテス ト ベクターの作成時には、内部プルアップおよびプルダウン抵

抗を考慮して ください。 HSWAPEN ピンによって、 IOB のプルアップ抵抗の有無が決定されます。

図 10-3 に、 Spartan-6 FPGA のバウンダ リ スキャン アーキテクチャを示します。

表 10-1 : Spartan-6 FPGA の JTAG レジスタ

レジスタ名 レジスタ長 説明

バウンダ リ スキャン レジスタ 各 I/O に 3 ビッ ト入力、出力、出力イネーブルの制御およ

びモニタ リ ングを実行します。

命令レジスタ 6 ビッ ト

現在のオペコード命令をホールド し、

内部デバイ スのステータ ス をキ ャプ

チャします。

BYPASS レジスタ 1 ビッ ト デバイスをバイパスします。

ID レジスタ 32 ビッ ト デバイス ID を取得します。

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

レジスタ16 ビッ ト

CFG_IN または CFG_OUT 命令を使用

中、 コンフ ィギュレーシ ョ ン バスへの

アクセスを可能にします。

USERCODE レジスタ 32 ビッ トユーザーがプログラム可能なコード を

取得します。

ユーザー定義のレジスタ

(USER1、 USER2、 USER3、USER4)

デザインによ り

異なるデザインによって異なり ます。

Page 164: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

164 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 10 章 : アドバンス JTAG コンフ ィギュレーシ ョ ン

ビッ ト シーケンス バウンダリ スキャン レジスタ

次に、 TAP を除いた IOB の順序について説明します。 順序は 初に入力、 次に出力、 後に ト ラ

イステート IOB 制御です。 ト ラ イステート IOB 制御は、 も TDO に近い位置に配置されていま

す。入力専用ピンは、入力ビッ トのみをバウンダ リ スキャンの I/O データ レジスタに送り ます。デ

バイ スのビ ッ ト シーケン スは、 Spartan-6 フ ァ ミ リ 用の BSDL (Boundary-Scan DescriptionLanguage) ファ イルから取得できます。 これらのファイルは、ザイ リ ンクスのソフ ト ウェア ダウン

ロード ページから入手可能です。 ビッ ト シーケンスはデザインに影響されるこ とはな く、 常に同

一ビッ ト数で同一順となっています。

命令レジスタ

Spartan-6 デバイスの命令レジスタ (IR) は、命令スキャン シーケンス中は TDI と TDO 間に接続さ

れます。 命令スキャン シーケンスの準備のため、 命令レジスタに固定の命令キャプチャ パターン

が並行して読み込まれます。 このパターンは、 命令が TDI から命令レジスタへシフ トする と きに、

LSB から TDO にシフ ト します。

操作を実行するには、命令レジスタ (IR) に必要なオペコードを読み込んでおく必要があ り ます。 こ

の IR の長さは、デバイス タイプによって異なり ますが、 Spartan-6 FPGA の IR はすべて 6 ビッ ト

幅です。

X-Ref Target - Figure 10-3

図 10-3 : Spartan-6 FPGA のバウンダリ スキャン ロジック

D Q

1

0

1x0100

1x0100

1x0100

D Q

D Q

1

0

1

0

D Q

LE

sd

sd

LE

D Q

sd

LE

D Q

TDI

IOB.I

INTEST

IOB.O

IOB.T

EXTEST

SHIFT CLOCK DATAREGISTER

TDO UPDATE INTEST is OR'd with EXTEST

UG380_c10_03_042909

表 10-2 : Spartan-6 FPGA のバウンダリ スキャン命令

バウンダリ スキャン コマンド

命令 説明

EXTEST 001111 バウンダ リ スキャンの EXTEST を有効にします。

SAMPLE 000001 バウンダ リ スキャンの SAMPLE を有効にします。

Page 165: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 165UG380 (v2.2) 2010 年 7 月 30 日

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

USER1 000010 ユーザー定義のレジスタ 1 にアクセスします。

USER2 000011 ユーザー定義のレジスタ 2 にアクセスします。

USER3 011010 ファブリ ッ クが JTAG プリ ミ ティブのインスタンス 3 からの TAP コン ト ローラーへアクセスできるよ うにする

ユーザー コードです。

USER4 011011 ファブリ ッ クが JTAG プリ ミ ティブのインスタンス 3 からの TAP コン ト ローラーへアクセスできるよ うにする

ユーザー コードです。

CFG_OUT 000100 リードバッ クを行な うため、 コンフ ィギュレーシ ョ ン バスにアクセスします。

CFG_IN 000101 コンフ ィ ギュ レーシ ョ ンを行な う ため、 コンフ ィ ギュ

レーシ ョ ン バスにアクセスします。

INTEST 000111 バウンダ リ スキャンの INTEST を有効にします。

USERCODE 001000 ユーザー コードのシフ ト アウ ト を有効にします。

IDCODE 001001 ID コードのシフ ト アウ ト を有効にします。

HIGHZ 001010 BYPASS レジスタを有効にし、 出力ピンを ト ライステー

トにします。

JPROGRAM 001011 PROGRAM_B と同じで、 同様の効果があ り ます。

JSTART 001100 スタート アップ ク ロ ッ ク ソース (StartupClk:JtagClk) がTCK のと き、 スタート アップ シーケンスにクロ ッ クを

供給します。

JSHUTDOWN 001101 シャ ッ ト ダウン シーケンスにクロ ッ クを供給します。

ISC_ENABLE 010000 ISC コンフ ィギュレーシ ョ ンの開始を示します。 完全な

シャッ ト ダウンが実行されます。

ISC_PROGRAM 010001 インシステム プログラ ミ ングを有効にします。

ISC_NOOP 010100 動作なし

ISC_READ 010101 バッ クアップ バッテ リ を使用する RAM のリードバッ ク

に使用します。

ISC_DISABLE 010110 ISC コンフ ィギュレーシ ョ ンが完了します。 スタート

アップ シーケンスが開始されます。

ISC_DNA(ISC_FUSE_READ)

110000 DNA を読み出します。

BYPASS 111111 BYPASS を有効にします。

RESERVED その他すべて

のコード

ザイ リ ンクスの予約命令 です。

表 10-2 : Spartan-6 FPGA のバウンダリ スキャン命令 (続き)

バウンダリ スキャン コマンド

命令 説明

Page 166: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

166 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 10 章 : アドバンス JTAG コンフ ィギュレーシ ョ ン

表 10-3 に、命令スキャン シーケンスの一部と して IR に読み込まれる命令キャプチャ値を示します。

BYPASS レジスタ

も う 1 つの標準データ レジスタは、 1 つのフ リ ップ フロ ップの BYPASS レジスタです。 このレジ

スタは BYPASS 命令中に、 TDI ピンから TDO ピンにデータをシ リ アル送信します。 また、 TAPコン ト ローラーが CAPTURE-DR ステートになったと き、 0 に初期化されます。

ID (IDCODE) レジスタ

Spartan-6 デバイスは、 IDCODE レジスタ と呼ばれる 32 ビッ ト の識別レジスタを備えています。

IDCODE は、 IEEE 1149.1 規格に基づいたベンダー特有の固定値であ り、デバイスの製造者および

タイプを電子的に識別するものです。 このレジスタによ り、バウンダ リ スキャンを使用してテス ト

またはプログラムされたデバイスの識別が容易になり ます。 IDCODE 命令を使用する と、 この識別

コードの出力が可能です。

IDCODE の 後のビッ トは、 常に 1 です (JTAG IEEE 1149.1 に基づく )。 16 進数の 後の 3 文字

は 0x093 とな り ます。Spartan-6 FPGA に割り当てられている IDCODE は、表 5-13 を参照してく

ださい。

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

JTAG コンフ ィギュレーシ ョ ン レジスタ は 16 ビッ ト レジスタです。 このレジスタによ り、 コン

フ ィギュレーシ ョ ン バスおよびリードバッ ク操作にアクセスできます。

USERCODE レジスタ

Spartan-6 ファ ミ リは、 USERCODE 命令をサポート しています。 このレジスタによ り、 特定のデ

ザインに固有な識別コードのユーザー指定が可能とな り ます。 USERCODE はデバイスの中にプロ

グラムでき、後で検証のためにリードバッ クできます。 この USERCODE はビッ ト ス ト リームの生

成時にビッ ト ス ト リーム内に組み込まれ (BitGen の -g UserID オプシ ョ ン)、 コンフ ィギュレー

シ ョ ン後に有効になり ます。デバイスが空、 または USERCODE がプログラムされていない場合の

USERCODE レジスタ値は、 0xFFFFFFFF です。

USER1、 USER2、 USER3、 USER4 レジスタ

USER1、 USER2、 USER3、 および USER4 レジスタは、 コンフ ィギュレーシ ョ ン後にのみ有効に

なり ます。 これら 4 つのレジスタは、 ユーザーがデザインで定義する必要があ り ます。 これらのレ

ジスタへのアクセスは、 TAP ピンでの定義後に可能となり ます。

これらのレジスタの作成には、 BSCAN_Spartan6 ライブラ リ マクロが必要です。 このシンボルは、

内部スキャン チェーン (USER1、USER2、USER3、USER4) を駆動する際にのみ必要とな り ます。

1 つの一般的な入力 (TDI) ピンおよび複数の共有出力ピンが、 TAP コン ト ローラーのステー ト

(RESET、 SHIFT、 および UPDATE) を示します。 Spartan-6 FPGA の TAP ピンは専用ピンである

ため、通常のバウンダ リ スキャン命令や操作に BSCAN_Spartan6 マクロは必要あ り ません。 HDLの場合は、 BSCAN_Spartan6 マクロをデザインにインスタンシエート して ください。

表 10-3 : 命令キャプチャ値

TDI → IR[5] IR[4] IR[3] IR[2] IR[1:0] → TDO

DONE INIT(1) ISC_ENABLED ISC_DONE 0 1

Page 167: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 167UG380 (v2.2) 2010 年 7 月 30 日

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

Spartan-6 デバイスでのバウンダリ スキャンの使用

一般的に必要と されるタイ ミ ング パラ メーター (図 10-4) の特性評価データについては、 『Spartan-6FPGA データシート : DC 特性およびスイッチ特性』 の 「コンフィギュレーショ ン スイッチ特性」 の

表を参照してください。

スタート アップ シーケンス、 ビッ ト ス ト リーム、 内部コンフ ィギュレーシ ョ ン レジスタの詳細は、

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

バウンダリ スキャンによるコンフ ィギュレーシ ョ ン

頻繁に使用されるベンダー固有のバウンダ リ スキャン命令の 1 つに、コンフ ィギュレーシ ョ ン命令

があ り ます。

図 10-5 に、 JTAG を使用する場合の Spartan-6 デバイスのコンフ ィギュレーシ ョ ン フローを示し

ます。後続のセクシ ョ ンでは、 バウンダ リ スキャンを用いて Spartan-6 デバイスを 1 つのデバイス

と してコンフ ィギュレーシ ョ ンする方法、 あるいは複数のデバイス スキャン チェーンの一部と し

てコンフ ィギュレーシ ョ ンする方法について説明します。

コンフ ィギュレーシ ョ ンされたデバイスを リ コンフ ィギュレーシ ョ ンするには、 TAP を切り替え、

PROGRAM_B に信号供給後に CFG_IN 命令を入力するか、 シャ ッ ト ダウン シーケンスを開始し

て ください (図 10-5 参照)。

Spartan-6 FPGA の JTAG コンフ ィギュレーシ ョ ン アルゴ リズムをインプリ メン トする場合は、 ア

プリ ケーシ ョ ン ノート XAPP058 『組み込み型マイクロコン ト ローラーを使用するザイ リ ンクスの

インシステム プログラ ミ ング機能』 およびアプ リ ケーシ ョ ン ノー ト XAPP424 『エンベデッ ド

JTAG ACE Player』 で説明している SVF ベースのフローの実行を推奨します。

X-Ref Target - Figure 10-4

図 10-4 : Spartan-6 FPGA バウンダリ スキャン ポートのタイ ミング波形

UG380_c10_04_042909

Data to be captured

Data to be driven out

TDO

TCK

TDI

TMS

Data Valid

Data Valid

TTCKTDO

TTAPTCKTTCKTAP

Page 168: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

168 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 10 章 : アドバンス JTAG コンフ ィギュレーシ ョ ン

X-Ref Target - Figure 10-5

図 10-5 : デバイス コンフ ィギュレーシ ョ ンのフロー図

SampleMode Pins

JTAG Available

Keep ClearingConfiguration

Memory

No

No

Yes

Yes

Yes

Yes

No

Yes

Clear Configuration Memory Once More

Power-Up

VCCINT > .75V

CRCCorrect?

Load CFG_INInstruction

LoadBitstream

Abort Startup

ShutdownSequence

Reconfigure?

Load JSTARTInstruction

StartupSequence

Operational

INIT_B = High?

PROGRAM_BLow?

UG380_c10_05_042909

Load JSHUTDOWN

Instruction

No

Page 169: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 169UG380 (v2.2) 2010 年 7 月 30 日

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

単一デバイスのコンフ ィギュレーシ ョ ン

表 10-4 で、 Spartan-6 デバイスのコンフ ィギュレーシ ョ ンに必要な TAP コン ト ローラーのコマン

ドについて説明します。TAP コン ト ローラーのステートは、図 10-2 を参照して ください。iMPACTを使用してコンフ ィギュレーシ ョ ンする場合、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 から CFG_IN 命令を読み込みます。 000101 0 5

6. IEEE 規格で規定されているよ うに、 SHIFT-IR の終了時に

CFG_IN の 後のビッ ト MSB を読み込みます。0 1 1

7. SELECT-DR ステートに移行します。 X 1 2

8. SHIFT-DR ステートに移行します。 X 0 2

9. Spartan-6 FPGA のビッ ト ス ト リームをシフ ト インします。

ビッ ト n (MSB) はビッ ト ス ト リームの 初のビッ トです。(1)bit1 ...bitn 0

(ビッ ト ス ト リーム中

のビッ ト ) - 1

10. ビッ ト ス ト リームの 後のビッ ト をシフ ト インします。

ビッ ト 0 (LSB) は、 EXIT1-DR ステートへの移行時にシフ ト し

ます。

bit0 1 1

11. UPDATE-DR ステートに移行します。 X 1 1

12. RTI ステートに移行します。 X 1 1

13. SELECT-IR ステートに移行します。 X 1 2

14. SHIFT-IR ステートに移行します。 X 0 2

15. JSTART 命令の読み込みを開始します。 JSTART 命令によって

スタート アップ シーケンスが初期化されます。001100 0 5

16. JSTART 命令の 後のビッ ト を読み込みます。 0 1 1

17. UPDATE-IR ステートに移行します。 X 1 1

18. RTI ステートに移行し、 TCK ク ロ ッ クを 低 16 回入力してス

タート アップ シーケンスを開始させます。X 0 16

19. TLR ステートに移行します。 デバイスが動作を開始します。 X 1 3

注記 :

1. コンフ ィギュレーシ ョ ン レジスタの場合、 右 (TDI) から左 (TDO) に MSB からデータがシフ ト します (コンフ ィギュレーシ ョ ン レジスタへのシフ トは、 その他のレジスタへのシフ ト とは異な り、 MSB 順となり ます。 )

Page 170: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

170 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 10 章 : アドバンス JTAG コンフ ィギュレーシ ョ ン

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

複数の Spartan-6 デバイ スをチェーン接続してコンフ ィ ギュ レーシ ョ ンする こ と もでき ます (図 10-6 参照)。 JTAG チェーン内の複数のデバイスは 1 つずつコンフ ィギュレーシ ョ ンされます。

複数デバイスのコンフ ィギュレーシ ョ ン手順は、 すべてのチェーン サイズで同様です。

TAP コン ト ローラーの手順は、 図 10-1 のステート図を参照してください。

1. 電源投入時に、TMS をロジッ ク 1 にして TCK を 5 回クロ ッ ク入力します。 これによ り、TLR(Test-Logic-Reset) ステートから確実に開始されます。

2. CFG_IN 命令をターゲッ ト デバイスに読み込みます (その他すべてのデバイスは BYPASS 命令)。 RTI ステートに移行します (RUN-TEST/IDLE)。

3. 表 10-4 の 手順 7 から 手順 11 のよ うに、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リームを読み込

みます。

4. 各デバイスに対して、 手順 2 および 手順 3 を繰り返します。

5. JSTART コマンドをすべてのデバイスに読み込みます。

6. RTI ステートに移行し、 TCK を 16 回クロ ッ ク入力します。

この段階ですべてのデバイスはアクティブです。

スタートアップおよびシャッ トダウン シーケンス (JTAG)スタート アップおよびシャ ッ ト ダウン シーケンスのクロ ッ ク ソースは、 CCLK、 UserCLK、 およ

び JTAGCLK です。クロ ッ クは BitGen で選択します。スタート アップ シーケンスは、ISC_Accessedステートのと きに実行されます。 JTAGCLK をク ロ ッ ク ソース とする場合、 ISC_DISABLE が現

在の JTAG 命令であ る間は、 ス ター ト ア ッ プ シーケン スは TAP Run/Test Idle ステー ト で

JTAGCLK を受信します。 ISC_DISABLE を正常に完了するために Run/Test Idle ステートで必要

となるクロ ッ ク サイ クル数は、 スタート アップ シーケンスの完了に要するクロ ッ ク サイ クル数に

よって決定します。

UserCLK または CCLK をスタート アップ シーケンスのク ロ ッ ク ソース とする場合は、 スタート

アップ シーケンスを正常に完了するために、 Run/Test Idle で必要となるク ロ ッ ク サイ クル数を把

握しておく必要があ り ます。

シャ ッ ト ダウン シーケンスは、デバイスが動作ステートから ISC_Accessed ステートに移行したと

きに実行されます。 ISC_ENABLE 命令の実行時に、 シャ ッ ト ダウンが実行されます。 JTAGCLKをシャ ッ ト ダウン シーケンスのク ロ ッ ク ソース とする場合、 ク ロ ッ クは ISC_ENABLE 命令の

X-Ref Target - Figure 10-6

図 10-6 : デバイスのバウンダリ スキャン チェーン

JTAG Header

UG380_c10_06_042909

TDOTDI

TMS

TCK

PROGRAM_B

TDI

TMS

TCK

PROGRAM_B

TDO

Spartan-6FPGA

Spartan-6FPGA

Spartan-6FPGA

TDI

TMS

TCK

PROGRAM_B

TDO

Device 0 Device 1 Device 2

TDO

TMS

TDI

TCK

Page 171: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com 171UG380 (v2.2) 2010 年 7 月 30 日

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

Run/Test Idle ステートで供給されます。 Run/Test Idle で必要なクロ ッ ク サイクル数は、シャ ッ ト ダ

ウン シーケンスの完了に要するクロ ッ ク サイ クル数によって決定します。

CCLK または UserCLK をシャ ッ ト ダウン シーケンスのク ロ ッ ク ソース とする場合、 このシーケ

ンスを完了するために、 Run/Test Idle で必要となる JTAGCLK サイ クル数を把握しておく必要が

あ り ます。シャ ッ ト ダウン シーケンス とスタート アップ シーケンスでは、順序が逆になっています。

注記 : デバイスを JTAG でコンフ ィギュレーシ ョ ンする場合、 BitGen の設定にかかわらず、 常に

TCK をスタート アップ ク ロ ッ クおよびシャッ ト ダウン ク ロ ッ ク と して ください。

Page 172: ザイリンクス UG380 Spartan-6 FPGA コンフィギュ …Xilinx is disclosing this user guide, ma nual, release note, and/or specification (the “Documentation”) to you solely

172 japan.xilinx.com Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイド

UG380 (v2.2) 2010 年 7 月 30 日

第 10 章 : アドバンス JTAG コンフ ィギュレーシ ョ ン