174
R 本資料は英語版 (v3.5) を翻訳したものです。英語の更新バージ ョ ンがリ リースされている場合には、最新の英語版を 必ずご参照 く だ さ い。 Virtex-5 FPGA コンフィギュレーション ガイド UG191 (v3.5) 2008 10 29

Virtex-5 FPGA コンフィギュレーション ユーザー ガ …...Virtex-5 FPGA コンフィギュレーション 年ガイド japan.xilinx.com UG191 (v3.5) 2008 10 月 29 日Xilinx

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

R

本資料は英語版 (v3.5) を翻訳したものです。英語の更新バージョ ンがリ リースされている場合には、 新の英語版を

必ずご参照ください。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイド

UG191 (v3.5) 2008 年 10 月 29 日

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド japan.xilinx.com UG191 (v3.5) 2008 年 10 月 29 日

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.

© 2006–2008 Xilinx, Inc. XILINX, the Xilinx logo, Virtex, Spartan, ISE, and other designated brands included herein aretrademarks of Xilinx in the United States and other countries. All other trademarks are the property of their respective owners.

この日本語訳 (参考のみ) は、 http://japan.xilinx.com/support/documentation/disclaimer.htm を参照して ください。

R

UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド

改訂履歴

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

日付 バージョ ン 改訂内容

2006 年 4 月 14 日 1.0 初版リ リース

2006 年 5 月 12 日 1.1 誤字を訂正し、 文書全体の記載をよ り明瞭化。

第 1 章 : 表 1-1、 表 1-2、 表 1-9、 表 1-11 を修正。

第 2 章 : ビッ ト スワ ップ (バイ ト スワップ規則) 全体を更新。 78 ページの 「ページ モー

ドのサポート 」 を更新。

第 8 章 : 161 ページの 「マルチブート ビッ ト ス ト リーム間のパディング」 セクシ ョ ンを

追加。

第 9 章 : 「POST_CRC 制約」 セクシ ョ ンを追加。

2006 年 7 月 31 日 1.2 第 1 章 :

• コンフ ィギュレーシ ョ ン ファ イルの情報をまとめるため、 第 2 章から 「コンフ ィギュ

レーシ ョ ン データ ファ イル」 および 「PROM ファ イルの生成」、 第 6 章から 「ビッ ト

ス ト リームの概要」 をこの章に移動。

• 27 ページの 「デバイスの電源投入 (手順 1)」 セクシ ョ ンを更新し、 「すべての専用入

力ピンは VCC_CONFIG LVCMOS レベルで動作します」 と記載。

• 「パケッ ト タイプ」 セクシ ョ ンを第 1 章から第 6 章へ移動。

• 「ビッ トのスワ ップ」 および 「パラレル バスのビッ ト順」 セクシ ョ ンを 「PROM ファ

イルの生成」 の下に移動。

• 「コンフ ィギュレーシ ョ ン シーケンス」 セクシ ョ ンを作成し、 「設定 (手順 1 ~ 3)」、「ビッ ト ス ト リームの読み込み (手順 4 ~ 7)」、および 「スタート アップ (手順 8)」 セク

シ ョ ンを移動。

第 2 章 :

• 表 2-1 にメモ 2 を追加。 表 2-8 の RCMD を更新。

• 「コンフ ィギュレーシ ョ ン ク ロ ッ ク (CCLK) のボード レイアウ ト 」 を 「BPI (Byte Peripheral Interface) パラレル フラ ッシュ モード」 の次に移動。

• ク ロ ッ ク マネージメン ト テク ノ ロジ (CMT) をデジタル ク ロ ッ ク マネージャ (DCM) に置換 (ユーザー ガイ ド全体)。

第 7 章 :

• 表 7-9 の上の段落を修正。

2006 年 9 月 6 日 2.0 表 1-2、 表 1-4 および表 1-13 を更新。

2006 年 10 月 12 日 2.1 第 1 章 : 表 1-4 および表 1-13 に XC5VLX85T の情報を追加。表 1-10 のプログラム レイ

テンシ値を更新。

第 3 章 : 図 3-6 の VCCINT 値を更新。

第 6 章 : 図 6-1 および表 6-6 に System Monitor のピン情報が含まれるよ うに更新。

第 9 章 : 第 9 章 「リードバッ ク CRC」 にパーシャル リ コンフ ィギュレーシ ョ ン アプリ

ケーシ ョ ンの情報を追加。

2007 年 2 月 1 日 2.2 21 ページの表 1-4 (LX220T および SXT デバイスを追加)、32 ページの表 1-13 (LX220T および SXT デバイスを追加)、 65 ページの 「ABORT ステータス ワード」、 119 ページの

表 6-5 (CBC 値)、 144 ページの 「コンフ ィギュレーシ ョ ン メモ リの読み出し手順 (SelectMAP)」 (手順 13 および 14)、 125 ページの表 6-8 (ブロ ッ ク タイプ) を更新。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド japan.xilinx.com UG191 (v3.5) 2008 年 10 月 29 日

2007 年 7 月 5 日 2.3 図 2-3、 図 2-4 のメモ、 「シ リ アル デイジー チェーンのガイ ド ラインおよび考慮事項」、

図 2-21 および図 2-22 のメモ、「コンフ ィギュレーシ ョ ン メモ リのフレーム」 (表 6-1 を含

む)、 表 6-10、 図 6-9、 「コンフ ィギュレーシ ョ ン メモ リの読み出し手順 (SelectMAP)」、表 7-2、 および表 7-6 を更新。

2007 年 7 月 31 日 2.4 全般 : PROG_B を PROGRAM_B に変更。

第 1 章 : 「デバイス ID の確認 (手順 5)」 セクシ ョ ン (表 1-13 を含む) を更新。

第 2 章 : 図 2-13 を更新。

第 3 章 : 表 3-3 に TAP コン ト ローラのステートの説明を追加。

第 4 章 : 「STARTUP_VIRTEX5」 セクシ ョ ンを更新。

2007 年 10 月 10 日 2.5 第 1 章 : 「コンフ ィギュレーシ ョ ン モードおよびピン」 を更新。

第 2 章 : 図 2-17、 「シ リ アル デイジー チェーン」 セクシ ョ ン、 「SelectMAP リ コンフ ィ

ギュレーシ ョ ン」 セクシ ョ ンを更新。

第 4 章 : 表 4-3 を更新。

第 5 章 : 「逓倍値と分周値の変更」 を更新。

第 6 章 : 表 6-7 を更新。

第 7 章 : 表 7-1 と関連のテキス ト を更新。 表 7-2 を更新。

2007 年 12 月 11 日 2.6 免責事項および商標情報を更新。

第 1 章 : 表 1-3、 表 1-4、 表 1-10、 および表 1-13 を更新。

第 2 章 : 図 2-22 および表 2-9 のメモを更新。

第 4 章 : 「ICAP_VIRTEX5」 セクシ ョ ンを更新。

第 6 章 : 表 6-1 を更新。

第 8 章 : セクシ ョ ン名 「フォールバッ ク リ コンフ ィギュレーシ ョ ン」 を 「フォールバッ

ク マルチブート 」 に変更。

2008 年 2 月 1 日 2.7 ユーザー ガイ ド全体でマイナーなテキス ト編集。

第 1 章 : 「コンフ ィギュレーシ ョ ン モードおよびピン」 で M2、 M1、 および M0 モード ピンの設定情報を更新。 「デバイスの電源投入 (手順 1)」 セクシ ョ ンを更新。

第 2 章 : 図 2-23 を更新。

第 3 章 : 「IEEE 1149.1 を使用した Virtex-5 デバイスのバウンダ リ スキャン」 セクシ ョ

ンを更新。

2008 年 3 月 31 日 3.0 「このユーザー ガイ ドについて」 を更新。

FXT デバイスを追加。

第 1 章 : 表 1-3 および表 1-13 を更新。

第 3 章 : 「IEEE 1149.1 を使用した Virtex-5 デバイスのバウンダ リ スキャン」 および 「命

令レジスタ」 セクシ ョ ンを更新。 表 3-2 および表 3-3 を更新。

第 6 章 : 表 6-1 を更新。

日付 バージョ ン 改訂内容

UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド

2008 年 4 月 25 日 3.1 第 1 章 : 表 1-4 および表 1-13 を更新。

第 2 章 : 「SelectMAP リ コンフ ィギュレーシ ョ ン」 および 73 ページの図 2-22 のメモを

更新。

第 6 章 : 表 6-1 および 「ブロ ッ ク RAM の内容」 を更新。

第 7 章 : 表 7-3 を更新。

2008 年 7 月 11 日 3.2 第 1 章 : 表 1-4 のメモ、 「SelectMAP コンフ ィギュレーシ ョ ン用の PROM ファ イル」、お

よび 「パワーオン シーケンスに関する注意事項」 を更新。

第 2 章 : 「高パフォーマンス Platform Flash XL SelectMAP コンフ ィギュレーシ ョ ン」 セ

クシ ョ ン (図 2-7 および図 2-8 を含む)、 「パワーオン シーケンスに関する注意事項」 を追

加。 図 2-5 および図 2-9 を更新。 図 2-3、 図 2-4、 図 2-9、 図 2-13、 および図 2-20 のメモ

を更新。 「BPI (Byte Peripheral Interface) パラレル フラ ッシュ モード」 (図 2-22 およびメ

モを含む) を更新。

第 3 章 : 表 3-4 を更新。

第 4 章 : 表 4-4 を更新。

第 6 章 : 表 6-1、 表 6-11 を更新。

第 8 章 : 「フォールバッ クの概要」 を更新。

2008 年 9 月 3 日 3.3 第 1 章 : 「暗号化キーの読み込み」 を更新。

第 3 章 : 表 3-3 を更新。

第 4 章 : 「FRAME_ECC_VIRTEX5」 を更新。

第 5 章 : 表 5-2 を更新。

第 6 章 : 「コマンド レジスタ (CMD)」 を更新。

第 9 章 : 「 リードバッ ク CRC」 および 「POST_CRC 制約」 の冒頭の段落を更新。

2008 年 9 月 23 日 3.4 第 1 章 : 表 1-4、 表 1-13 に TXT プラ ッ ト フォームを追加。

第 2 章 : 図 2-9、 図 2-12、 および図 2-15 を更新。

第 6 章 : 表 6-1 に TXT プラ ッ ト フォームを追加。

2008 年 10 月 29 日 3.5 第 2 章 : 図 2-9 のメモを更新。

第 4 章 : 「STARTUP_VIRTEX5」 を更新。

第 8 章 : 「ビッ ト ス ト リームに組み込まれた IPROG」 への相互参照を更新。

日付 バージョ ン 改訂内容

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド japan.xilinx.com UG191 (v3.5) 2008 年 10 月 29 日

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド japan.xilinx.com 7UG191 (v3.5) 2008 年 10 月 29 日

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

ユーザー ガイ ドの内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

その他の資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

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

表記規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

オンライン資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

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

コンフ ィギュレーシ ョ ン モードおよびピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

コンフ ィギュレーシ ョ ン データ ファ イル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

ビッ ト ス ト リームの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

バス幅の自動検出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

同期ワード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

PROM ファ イルの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

シ リアル デイジー チェーン用の PROM ファ イル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

SelectMAP コンフ ィギュレーシ ョ ン用の PROM ファ イル . . . . . . . . . . . . . . . . . . . . . . . . . . 24

SPI/BPI コンフ ィギュレーシ ョ ン用の PROM ファ イル . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

ビッ トのスワ ップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

パラレル バスのビッ ト順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

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

設定 (手順 1 ~ 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

デバイスの電源投入 (手順 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

コンフ ィギュレーシ ョ ン メモ リのク リ ア (手順 2、 初期化) . . . . . . . . . . . . . . . . . . . . . 28

モード ピンの読み込み (手順 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

コンフ ィギュレーシ ョ ンの遅延 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

ビッ ト ス ト リームの読み込み (手順 4 ~ 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

同期化 (手順 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

デバイス ID の確認 (手順 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

コンフ ィギュレーシ ョ ン データ フレームの読み込み (手順 6) . . . . . . . . . . . . . . . . . . . 34

CRC (Cyclic Redundancy Check) (手順 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

スタート アップ (手順 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

ビッ ト ス ト リーム暗号化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

AES について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

暗号化されたビッ ト ス ト リームの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

暗号化キーの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

暗号化されたビッ ト ス ト リームの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

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

目次

8 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

目次R

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

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

シ リ アル コンフ ィギュレーシ ョ ン データのクロ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

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

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

シ リ アル デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

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

シ リアル デイジー チェーンのガイ ド ラ インおよび考慮事項 . . . . . . . . . . . . . . . . . . . . 46

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

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

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

高パフォーマンス Platform Flash XL SelectMAP コンフ ィギュレーシ ョ ン . . . . . . . . 52

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

マイクロプロセッサを使用した SelectMAP コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . 54

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

パラレル デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

ギャング SelectMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

SelectMAP データ読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59CS_B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

RDWR_B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

CCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

BUSY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

継続的な SelectMAP データの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

断続的な SelectMAP データの読み出し . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

SelectMAP の ABORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

コンフ ィギュレーシ ョ ンの ABORT シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

リードバッ クの ABORT シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

ABORT ステータス ワード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

ABORT 後にコンフ ィギュレーシ ョ ンまたはリードバッ クを再開 . . . . . . . . . . . . . . . . 66

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

SelectMAP データの順序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

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

パワーオン シーケンスに関する注意事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

SPI シ リ アル デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

BPI (Byte Peripheral Interface) パラレル フラ ッシュ モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

パワーオン シーケンスに関する注意事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

ページ モードのサポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

コンフ ィギュレーシ ョ ン クロ ッ ク (CCLK) のボード レイアウ ト . . . . . . . . . . . . . . . . . . . . . . . . . 79

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

概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

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

完全な初期コンフ ィギュレーシ ョ ンまたはリ コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . 83

パーシャル リ コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

リードバッ ク - タイプ 1 : ブロ ッ ク RAM フレームなし . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

リードバッ ク - タイプ 2 : ブロ ッ ク RAM フレームあ り . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド japan.xilinx.com 9UG191 (v3.5) 2008 年 10 月 29 日

目次R

IEEE 1149.1 を使用した Virtex-5 デバイスのバウンダ リ スキャン . . . . . . . . . . . . . . . . . . . . . . . 86

テス ト アクセス ポート (TAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

TAP コン ト ローラ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

バウンダ リ スキャン アーキテクチャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

バウンダ リ スキャン レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

命令レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

BYPASS レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

識別 (IDCODE) レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

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

USERCODE レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

USER1、 USER2、 USER3、 USER4 レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Virtex-5 デバイスでのバウンダ リ スキャンの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

バウンダ リ スキャンを使用したコンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . 95

バウンダ リ スキャンを使用した リ コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . 99

IEEE 1532 を使用した Virtex-5 デバイスのバウンダ リ スキャン . . . . . . . . . . . . . . . . . . . . . . . . 100

ISC モーダル ステート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

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

JTAG を使用した場合のコンフ ィギュレーシ ョ ン フロー . . . . . . . . . . . . . . . . . . . . . . . . . . 102

第 4 章 : ユーザー プリ ミテ ィブ

BSCAN_VIRTEX5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

CAPTURE_VIRTEX5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

ICAP_VIRTEX5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

FRAME_ECC_VIRTEX5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

USR_ACCESS_VIRTEX5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

STARTUP_VIRTEX5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

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

背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

FPGA ファブ リ ッ ク ポートについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

逓倍値と分周値の変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

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

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

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

パケッ ト タイプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

タイプ 1 パケッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

タイプ 2 パケッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

タイプ 1 パケッ ト レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

CRC レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

FDRI レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

FDRO レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

MASK レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

10 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

目次R

LOUT レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

MFWR レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

CBC レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

IDCODE レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

AXSS レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

CSOB レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

コマンド レジスタ (CMD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

制御レジスタ 0 (CTL0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

制御レジスタ 1 (CTL1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

フレーム アドレス レジスタ (FAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

ステータス レジスタ (STAT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0 (COR0) . . . . . . . . . . . . . . . . . . . . . . 127

コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 1 (COR1) . . . . . . . . . . . . . . . . . . . . . . 130

ウォーム ブートの開始アドレス レジスタ (WBSTAR) . . . . . . . . . . . . . . . . . . . . . . . 131

ウォ ッチド ッグ タイマ レジスタ (TIMER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

ブート履歴ステータス レジスタ (BOOTSTS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

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

デフォルト設定での初期コンフ ィギュレーシ ョ ン プロセス . . . . . . . . . . . . . . . . . . . . . . . . 133

フレームのアドレス指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

フレーム ビッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

フレーム アドレス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

行アドレス (上部/下部インジケータを含む) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

メジャー アドレス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

マイナー アドレス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

ブロ ッ ク タイプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

インターコネク トおよびブロ ッ ク コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . 139

ブロ ッ ク RAM の内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

インターコネク トおよびブロ ッ クの特別なフレーム . . . . . . . . . . . . . . . . . . . . . . . . . . 140

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

リードバッ クのためのデザイン設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

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

SelectMAP インターフェイスからコンフ ィギュレーシ ョ ン レジスタへの

アクセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

コンフ ィギュレーシ ョ ン レジスタの読み出し手順 (SelectMAP) . . . . . . . . . . . . . . . . . . . . 143

コンフ ィギュレーシ ョ ン メモ リの読み出し手順 (SelectMAP) . . . . . . . . . . . . . . . . . . . . . . 144

JTAG インターフェイスからコンフ ィギュレーシ ョ ン レジスタへのアクセス . . . . . . . . . . 146

コンフ ィギュレーシ ョ ン レジスタの読み出し手順 (JTAG) . . . . . . . . . . . . . . . . . . . . 147

コンフ ィギュレーシ ョ ン メモ リの読み出し手順 (1149.1 JTAG) . . . . . . . . . . . . . . . . 149

コンフ ィギュレーシ ョ ン メモ リの読み出し手順 (1532 JTAG) . . . . . . . . . . . . . . . . . 152

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

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

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド japan.xilinx.com 11UG191 (v3.5) 2008 年 10 月 29 日

目次R

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

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

フォールバッ クの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

フォールバッ クの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

マルチブート ビッ ト ス ト リーム間のパディング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

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

ICAP_VIRTEX5 を使用する IPROG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

ビッ ト ス ト リームに組み込まれた IPROG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

フォールバッ クおよび IPROG リ コンフ ィギュレーシ ョ ン用のステータス レジスタ . . . . . . . . . 165

ウォ ッチド ッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

FPGA の EOS (End of Startup) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

ユーザー操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

第 9 章 : リードバック CRCPOST_CRC 制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

POST_CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

POST_CRC_SIGNAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

構文例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172POST_CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

POST_CRC_SIGNAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

12 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

目次R

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド japan.xilinx.com 13UG191 (v3.5) 2008 年 10 月 29 日

R

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

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

Virtex-5 FPGA ファ ミ リの 新の資料は、 http://japan.xilinx.com/virtex5 から参照できます。

ユーザー ガイドの内容

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

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

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

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

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

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

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

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

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

その他の資料

次の資料もhttp://japan.xilinx.com/virtex5 からダウンロードできます。

• 『Virtex-5 ファ ミ リ概要』

Virtex-5 ファ ミ リの機能および製品の概略について説明しています。

• 『Virtex-5 FPGA Data Sheet: DC and Switching Characteristics』

Virtex-5 ファ ミ リの DC 特性およびスイ ッチ特性を示します。

• 『Virtex-5 FPGA User Guide』

このユーザー ガイ ドには、 次の内容が含まれます。

♦ ク ロ ッ ク リ ソース

♦ ク ロ ッ ク マネージメン ト テク ノ ロジ (CMT)

♦ 位相ロッ ク ループ (PLL)

♦ ブロ ッ ク RAM

♦ コンフ ィギャブル ロジッ ク ブロ ッ ク (CLB)

♦ SelectIO™ リ ソース

♦ SelectIO ロジッ ク リ ソース

♦ アドバンス SelectIO ロジッ ク リ ソース

14 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

• 『Virtex-5 FPGA RocketIO GTP Transceiver User Guide』

Virtex-5 LXT および SXT プラ ッ ト フォームで使用可能な RocketIO™ GTP ト ランシーバにつ

いて説明しています。

• 『Virtex-5 FPGA RocketIO GTX Transceiver User Guide』

Virtex-5 FXT および TXT プラ ッ ト フォームで使用可能な RocketIO GTX ト ランシーバについ

て説明しています。

• 『Virtex-5 FPGA Embedded Tri-Mode Ethernet MAC User Guide』

Virtex-5 LXT、SXT、FXT、および SXT プラ ッ ト フォームで使用可能な専用ト ラ イモード イー

サネッ ト MAC (メディア アクセス コン ト ローラ ) について説明しています。

• 『Virtex-5 FPGA Integrated Endpoint Block for PCI Express Designs User Guide』

Virtex-5 LXT、 SXT、 FXT、 および TXT プラ ッ ト フォームで使用可能な PCI Express® デザ

イン用の Endpoint ブロ ッ クについて説明しています。

• 『Virtex-5 FPGA XtremeDSP Design Considerations User Guide』

XtremeDSP™ スラ イスについて説明しています。 DSP48E スラ イスを使用する リ ファレンス

デザインも含まれています。

• 『Virtex-5 FPGA System Monitor』

Virtex-5 デバイスで利用可能な System Monitor の機能について説明しています。

• 『Virtex-5 FPGA Packaging and Pinout Specification』

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

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

• 『Virtex-5 FPGA PCB Designer's Guide』

PCB およびインターフェイス レベルでデザインを決定する際の方法に焦点を当てた Virtex-5デバイスの PCB デザイン情報を記載しています。

• 『Embedded Processor Block in Virtex-5 FPGAs Reference Guide』

Virtex-5 FXT プラ ッ ト フォームで使用可能なエンベデッ ド プロセッサ ブロ ッ クについて説明

しています。

• 『Platform Flash XL High-Density Storage and Configuration Device』

Platform Flash XL は、 業界 高のパフォーマンスを持つコンフ ィギュレーシ ョ ンおよび保存

デバイスです。高パフォーマンスの Virtex-5 FPGA コンフ ィギュレーシ ョ ン用に 適化されて

おり、 使い方も簡単です。

• 『Platform Flash XL Configuration and Storage Device User Guide』

Platform Flash XL の機能を説明し、 サポート される一般的なコンフ ィギュレーシ ョ ン モード

の設定、 およびプログラム ファ イルを生成して間接的にデバイスをインシステム プログラム

するのに必要なソフ ト ウェア フローを示します。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド japan.xilinx.com 15UG191 (v3.5) 2008 年 10 月 29 日

その他のリソースR

その他のリソース

追加の資料は、 次の Web サイ トから参照できます。

http://japan.xilinx.com/literature

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

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

http://japan.xilinx.com/support

表記規則

この文書では、 次の表記規則を使用しています。 各規則について、 例を挙げて説明します。

表記規則 使用箇所 例

Courier フォン トシステムが表示する メ ッセージ、プロンプ ト、 プログラム ファ イルを表示します。

speed grade: - 100

Courier フォン ト ( 太字 )

構文内で入力するコマンドを示します。

ngdbuild design_name

イタ リ ッ ク フォン トユーザーが値を入力する必要のある構文内の変数に使用します。

ngdbuild design_name

二重 / 一重かぎかっこ『 』、 「」

『 』 はマニュアル名を、 「 」 はセクシ ョ ン名を示します。

詳細は、 『開発システム リ ファレンス ガイ ド』 の 「PAR」 を参照して ください。

角かっこ [ ]

オプシ ョ ンの入力またはパラ メータを示しますが、 bus[7:0] のよう なバス仕様では必ず使用します。 また、 GUI 表記にも使用します。

ngdbuild [option_name] design_name

[File] → [Open] をク リ ッ ク します。

中かっこ { }1 つ以上の項目を選択するためのリ ス ト を示します。

lowpwr ={on|off}

縦棒 |選択する リ ス ト の項目を分離します。

lowpwr ={on|off}

縦の省略記号...

繰り返し項目が省略されていることを示します。

IOB #1: Name = QOUT’ IOB #2: Name = CLKIN’...

横の省略記号 . . . 繰り返し項目が省略されていることを示します。

allow block block_name loc1 loc2 ... locn;

16 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

オンライン資料

この文書では、 次の規則が使用されています。

表記規則 使用箇所 例

青色の文字 文書内の相互参照を示します。

詳細は、 「その他の資料」 を参照

して ください。

詳細は、 第 2 章 の 「シ リ アル コンフ ィギュレーシ ョ ン データの

クロ ッ ク」 を参照して ください。

赤色の文字ほかの文書への相互参照を示します。

『Virtex-5 データシート 』 の

図 2-5を参照してください。

青色の下線付き文字ウェブ サイ ト (URL) へのハイパーリ ンクです。

新は、 http://japan.xilinx.com から入手できます。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 17UG191 (v3.5) 2008 年 10 月 29 日

R

第 1 章

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

コンフ ィギュレーシ ョ ン モードおよびピン

Virtex®-5 デバイスは、 アプ リケーシ ョ ン固有のコンフ ィギュレーシ ョ ン データであるビッ ト ス ト

リームを内部メモ リ に読み込むこ とによって、 コンフ ィ ギュレーシ ョ ンされます。 ザイ リ ンク ス

FPGA のコンフ ィギュレーシ ョ ン メモ リは揮発性であるため、デバイスへの電源投入ごとに、 コン

フ ィギュレーシ ョ ンを行う必要があ り ます。 ビッ ト ス ト リームは、 専用のコンフ ィギュレーシ ョ ン

ピンからデバイスに読み込まれます。 これらのコンフ ィギュレーシ ョ ン ピンは、 次のよ う なコン

フ ィギュレーシ ョ ン モードでインターフェイス と して機能します。

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

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

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

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

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

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

モード

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

ショ ン モード (x8 と x16 のみ)

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

レーシ ョ ン モード (x8 と x16 のみ)

コンフ ィギュレーシ ョ ン モードについては、 第 2 章 「コンフ ィギュレーシ ョ ン インターフェイス」

で詳し く説明します。 これらのモードは、 コンフ ィギュレーシ ョ ン専用のモード入力ピン M[2:0]のレベルを設定するこ とによって選択します。 M2、 M1、および M0 モード ピンは、 プルアップ抵

抗またはプルダウン抵抗を使用するか、 直接グランド または VCC_CONFIG に接続して、 一定の

DC 電圧レベルにする必要があ り ます。 コンフ ィギュレーシ ョ ン中およびコンフ ィギュレーシ ョ ン

後にモード ピンを ト グルしないでください。 モード ピンの設定オプシ ョ ンは、 41 ページの表 2-1を参照してください。

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

示します。

• マスタ コンフ ィギュレーシ ョ ン モードでは、 CCLK は内部オシレータから駆動され、 BitGen-g ConfigRate オプシ ョ ンを使用して必要な周波数で動作させます。 詳細は、『開発システム

リ ファレンス ガイ ド』 の 「BitGen」 セクシ ョ ンに記載されています。 コンフ ィギュレーシ ョ ン

後は、 persist オプシ ョ ンがオンになっている場合または SEU 検出が使用されている場合以外

は CCLK はオフになり、 CCLK ピンは弱いプルアップによ り ト ラ イステートにな り ます。

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

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

UG191 (v3.5) 2008 年 10 月 29 日

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

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

わらず、 常に使用可能です。 このコンフ ィギュレーシ ョ ン モードでは、 その他のすべてのモードが

無効となり、 コンフ ィギュレーシ ョ ン インターフェイス間の競合が回避されます。

コンフ ィギュレーシ ョ ン ピンには、 コンフ ィギュレーシ ョ ン専用ピン (表 1-1) と多目的ピン (表 1-2) があ り ます。 多目的ピンは、コンフ ィギュレーシ ョ ン ピンと してだけでなく、コンフ ィギュ

レーシ ョ ン後にユーザー I/O と して機能します。 コンフ ィ ギュレーシ ョ ン専用ピンは、 コンフ ィ

ギュレーシ ョ ン後もその機能を保持します。

Virtex-5 のビッ ト ス ト リームの生成時にコンフ ィギュレーシ ョ ン制約を設定できます。 一部の制約

は、 コンフ ィギュレーシ ョ ンの動作に影響を与えます。 設定可能な制約の詳細は、 『制約ガイ ド』 を

参照してください。

表 1-1 : Virtex-5 コンフ ィギュレーシ ョ ン専用ピン

ピン名 タイプ(1) 説明

M[2:0] 入力 コンフ ィギュレーシ ョ ン モードを指定するモード ピン。 INIT_B の立ち上がり

エッジで読み込まれます。

CCLK 入力または出力 JTAG を除くすべてのコンフ ィギュレーシ ョ ン モードのコンフ ィギュレーシ ョ ン

クロ ッ ク。 詳細は、 「コンフ ィギュレーシ ョ ン ク ロ ッ ク (CCLK) のボード レイア

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

D_IN 入力 シ リアル コンフ ィギュレーシ ョ ン モードのシ リアル データ入力。

DOUT_BUSY 出力 シ リアル コンフ ィギュレーシ ョ ン モードでは、 デイジー チェーン コンフ ィギュ

レーシ ョ ンのデータ出力と して動作し、SelectMAP モードでは、BUSY 出力と し

て動作します。

DONE 双方向、

オープン ドレイン、

またはアクティブ

コンフ ィギュレーシ ョ ンの完了を示すアクティブ High の信号。

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

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

ソフ ト ウェア設定は、 『開発システム リ ファレンス ガイ ド』 の 「BitGen」 を参照

してください。

INIT_B 双方向、

入力/出力、

オープン ドレイン

モード ピンが読み込まれる前は入力と して使用され、 Low に保持するこ とによ

り コンフ ィギュレーシ ョ ンを遅延させるこ とができます。 コンフ ィギュレーシ ョ

ン中は双方向ピンとな り ます。

モード ピンが読み込まれた後は、 オープン ド レインのアクティブ Low 出力で、

コンフ ィ ギュレーシ ョ ン中の CRC エラーまたはコンフ ィ ギュレーシ ョ ン後の

リードバッ ク CRC エラーの有無を示します (CRC が有効の場合)。

0 = CRC/IDCODE エラー (DONE が Low)、またはリードバッ ク CRC エラー (DONE が High、 リードバッ ク CRC が有効の場合)1 = CRC エラーなし、 コンフ ィギュレーシ ョ ンの初期化完了

PROGRAM_B(2) 入力 アクティブ Low の非同期フルチップ リセッ ト 。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 19UG191 (v3.5) 2008 年 10 月 29 日

コンフ ィギュレーシ ョ ン モードおよびピンR

HSWAPEN 入力 コンフ ィギュレーシ ョ ン前の弱い I/O プルアップ抵抗を無効にする場合に使用さ

れるアクティブ High 入力。

0 = コンフ ィギュレーシ ョ ン前の弱い I/O プルアップ抵抗が有効

1 = コンフ ィギュレーシ ョ ン前の弱い I/O プルアップ抵抗が無効

コンフ ィギュレーシ ョ ン前およびコンフ ィギュレーシ ョ ン中、 弱いプルアップ抵

抗が付きます。 このピンは必ず接続し、 プルアップ抵抗を有効または無効にする

必要があ り ます。 弱いプルアップを使用した場合は、 確実に 1 になる とは限り ま

せん。

TDI 入力 テス ト データ入力 (Test Data In)。 すべての JTAG 命令およびデータ レジスタの

シ リアル入力。 TAP コン ト ローラのステートおよび現在の命令によって、特定の

操作において TDI ピンがデータを供給するレジスタが決定されます。 ピンが駆動

されていないと きにロジッ ク High にするため、 TDI には内部プルアップ抵抗が

あ り ます。 TDI のデータは、TCK の立ち上がりエッジで JTAG レジスタに供給さ

れます。

TDO 出力 テスト データ出力 (Test Data Out)。 すべての JTAG 命令およびデータ レジスタの

シリ アル出力。TAP コント ローラのステート および現在の命令によって、特定の操

作において TDO ピンにデータを供給するレジスタ (命令またはデータ ) が決定され

ます。 TDO のステート は TCK の立ち下がり エッ ジで変化し、命令またはデータを

デバイスで送信している場合にのみアクティ ブになり ます。 TDO はアクティ ブ ドライバ出力です。

TMS 入力 テス ト モード セレク ト (Test Mode Select)。 TCK の立ち上がりエッジで、 TAPコン ト ローラのステートのシーケンスを決定します。 ピンが駆動されていないと

きにロジッ ク High にするため、 TMS には内部プルアップ抵抗があ り ます。

TCK 入力 テス ト ク ロ ッ ク (Test Clock)。 JTAG のテス ト ク ロ ッ ク ピンです。 Virtex-5 デバ

イスの TAP コン ト ローラ と JTAG レジスタは、 このク ロ ッ クに同期して動作し

ます。

CS_B 入力 アクティブ Low のチップ セレク ト で、 SelectMAP データ バスを有効にします

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

0 = SelectMAP データ バスは有効

1 = SelectMAP データ バスは無効

RDWR_B 入力 SelectMAP データ バスの方向を指定します (59 ページの 「SelectMAP データ読

み込み」 を参照)。

0 = 入力 (コンフ ィギュレーシ ョ ン データの書き込み)1 = 出力 (コンフ ィギュレーシ ョ ン データの読み出し)

RDWR_B 入力は、 CS_B がディ アサート されていると きのみ変更でき、 それ以外

の場合に変更すると ABORT が発生します (63 ページの「 SelectMAP の ABORT」を参照)。

メモ :

1. タイプに 「双方向」 と記載されている場合、 ピンは任意の条件下で双方向に機能します。 コンフ ィギュレーシ ョ ン モードによって入力または出力のどちら と して機能するかが異なるピンは、 タイプに 「入力または出力」 と記載されています。

2. PROGRAM_B のパルスによって JTAG TAP ステート マシンが リセッ ト される こ とはあ り ません。 この動作は、 Virtex-4 デバイス とは異な り ます。

3. すべての JTAG およびシ リ アル コンフ ィギュレーシ ョ ン ピンは、 それぞれ専用の VCC_CONFIG 電源がある専用バンクにあ り ます。

表 1-1 : Virtex-5 コンフ ィギュレーシ ョ ン専用ピン (続き)

ピン名 タイプ(1) 説明

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

UG191 (v3.5) 2008 年 10 月 29 日

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

表 1-2 : Virtex-5 の多目的コンフ ィギュレーシ ョ ン ピン

ピン名BPI-Up/

BPI-Down SelectMAP

モードSPI

I/O

バンク説明

ADDR[25:16] ADDR[25:16] 1 BPI アドレス バス出力。

ADDR[15:0] ADDR[15:0] D[31:16] RCMD[7:0]

1 BPI アドレス バス出力。スレーブ SelectMAP モードでは、

SelectMAP データの I/O です。 FS[2:0] = 001 の場合、SPI読み出しコマンド ス ト ラ ッピングによ り RCMD[7:0] が入力されます (ADDR[7:0] とマルチプレクス)。 SPI での

読み出しコマンド ス ト ラ ッピングでは、 INT_B の立ち上

がりエッジで読み込まれます。

RS[1:0](1) RS[1:0] 2 リ ビジ ョ ン セレク ト出力。

FCS_B FCS_B FCS_B 2 BPI および SPI フラ ッシュのチップ セレク ト出力。

FOE_B FOE_B MOSI 2 BPI フラッシュの出力イネーブル、FPGA からの SPI データ

出力。

FWE_B FWE_B 2 BPI フラ ッシュの書き込みイネーブル。

CSO_B CSO_B CSO_B 2 パラレル デイジーチェーンのチップ セレク ト出力。

D[7:0] D[7:0] D[7:0] FS[2:0] 2 BPI データ入力、SelectMAP データ入力/出力。SPI フラッ

シュのタイプを選択する信号です。 D[2:0] が FS[2:0] にな

り ます。

D[15:8] D[15:8] D[15:8] 4 BPI データ入力、 SelectMAP データ入力/出力。

メモ :

1. RS[1:0] は、 SelectMAP モード以外のモードでコンフ ィギュレーシ ョ ン エラーが検出された場合、 またはウォ ッチド ッグ タイマ イベンン トが発生した場合に、 アクテ ィ ィブに 0 に駆動されます。 ユーザー I/O と して使用する場合、 これがユーザー ロジッ クに影響する場合があ り ます。 RS[1:0] ピンを使用する場合は、 ユーザー モードでは出力のみに制限する必要があ り ます。

2. すべての多目的ピンは、 そのバンクに関連付けられた電源を持つ I/O バンクにあ り ます。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 21UG191 (v3.5) 2008 年 10 月 29 日

コンフ ィギュレーシ ョ ン データ ファイルR

コンフ ィギュレーシ ョ ン データ ファイル

ザイ リ ンクスのデザイン ツールでは、 コンフ ィギュレーシ ョ ン データ ファ イルをさまざまな形式

で生成できます (表 1-3 を参照)。 BitGen ツールは、 PAR 後の NCD ファ イルをコンフ ィギュレー

シ ョ ン フ ァ イルまたはビ ッ ト ス ト リ ームに変換し ます。 PROM フ ァ イル生成ツールであ る

PROMGen は、複数のビッ ト ス ト リーム ファ イルを 1 つの PROM ファ イルに変換します。 さまざ

まな形式の PROM ファ イルが生成可能であ り、 PROM で使用する必要はあ り ません。 これらは任

意の場所に保存でき、 読み込む方法も選びません。

ビッ トス ト リームの概要

Virtex-5 のビッ ト ス ト リームには、FPGA コンフ ィギュレーシ ョ ン ロジッ クへのコマンドおよびコ

ンフ ィギュレーシ ョ ン データが含まれます。 表 1-4 に、各 Virtex-5 デバイスの標準的なビッ ト ス ト

リームの長さを示します。

表 1-3 : ザイリンクスのコンフ ィギュレーシ ョ ン ファイルの形式

ファイル

拡張子ビッ トスワップ (1) ザイリンクス ソフ ト

ウェア ツール(2) 説明

BIT ビッ ト スワッ プなし BitGen

(デフォルトで生成)

バイナリ コンフ ィギュレーシ ョ ン データ ファ イルには、

FPGA へのダウンロードが不要なヘッダ情報が含まれて

います。 プログラム ケーブルを使用して iMPACT からデバ

イスをプログラムする場合に使用されます。

RBT ビッ ト スワ ップなし

BitGen

(-b オプシ ョ ンの

設定時に生成)

BIT ファ イルと等価の ASCII ファ イルで、 テキス ト ヘッダ

および 0 と 1 で構成されています (コンフ ィギュレーシ ョ ン ビッ ト ご とに 8 ビッ ト )。

BIN ビッ ト スワップなし

BitGen (-g binary:yes

オプシ ョ ンの設定時

に生成) または PROMGen

ヘッダ情報がないバイナリ コンフ ィギュレーシ ョ ン データ ファ イル。 BIT ファ イルと類似しています。 カスタム コン

フ ィギュレーシ ョ ン ソ リ ューシ ョ ン (マイ クロプロセッサな

ど) またはサード パーティの PROM をプログラムする場合

に使用されます。

MCS

EXO

TEKビッ ト スワ ップ

PROMGen または iMPACT

コンフ ィギュレーシ ョ ン データのほかにアドレスおよび

チェッ クサム情報が含まれる ASCII PROM ファ イル形式。 主にデバイス プログラマおよび iMPACT で使用されます。

HEX ユーザーが指定 PROMGen または

iMPACT

コンフ ィギュレーシ ョ ン データのみを含む ASCII PROM ファ イル形式。 主にカスタム コンフ ィギュレーシ ョ ン ソリ ューシ ョ ンに使用されます。

メモ :

1. ビッ ト スワ ップの詳細は、 「ビ ッ ト のスワ ップ」 を参照して ください。

2. BitGen および PROMGen の完全な構文は、 『開発システム リ ファレンス ガイ ド』 を参照して ください。

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

デバイス コンフ ィギュレーシ ョ ン ビッ トの総数(1)

XC5VLX30 8,374,016

XC5VLX50 12,556,672

XC5VLX85 21,845,632

XC5VLX110 29,124,608

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

UG191 (v3.5) 2008 年 10 月 29 日

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

Virtex-5 ビッ ト ス ト リームは、 次の 3 つのセクシ ョ ンで構成されます。

• 「バス幅の自動検出」

• 「同期ワード」

• 「FPGA コンフ ィギュレーシ ョ ン」 (第 6 章 「コンフ ィギュレーシ ョ ンの詳細」 を参照)

XC5VLX155 41,048,064

XC5VLX220 53,139,456

XC5VLX330 79,704,832

XC5VLX20T 6,251,200

XC5VLX30T 9,371,136

XC5VLX50T 14,052,352

XC5VLX85T 23,341,312

XC5VLX110T 31,118,848

XC5VLX155T 43,042,304

XC5VLX220T 55,133,696

XC5VLX330T 82,696,192

XC5VSX35T 13,349,120

XC5VSX50T 20,019,328

XC5VSX95T 35,716,096

XC5VSX240T 79,610,368

XC5VFX30T 13,517,056

XC5VFX70T 27,025,408

XC5VFX100T 39,389,696

XC5VFX130T 49,234,944

XC5VFX200T 70,856,704

XC5VTX150T 43,278,464

XC5VTX240T 65,755,648

メモ :

1. Virtex-5 デバイスはすべて 128Mb Platform Flash XL でコンフ ィギュレーシ ョ ンできます。

2. 標準的なビッ ト ス ト リーム長を示します。 Compress などの BitGen オプシ ョ ンによっては、 ビッ ト ス トリーム長が変わる場合があ り ます。

表 1-4 : Virtex-5 ビッ トスト リームの長さ (続き)

デバイス コンフ ィギュレーシ ョ ン ビッ トの総数(1)

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 23UG191 (v3.5) 2008 年 10 月 29 日

ビッ トス ト リームの概要R

バス幅の自動検出

すべてのビッ ト ス ト リームの開始部分には、 バス幅の自動検出パターンが挿入されます。 これは、

パラレル コンフ ィギュレーシ ョ ン モードで、 自動的にコンフ ィギュレーシ ョ ン バス幅を検出する

ために使用されます。 このパターンは、 同期ワードの前にあるため、 シ リ アル コンフ ィギュレー

シ ョ ン モードでは無視されます。

パラレル コンフ ィギュレーシ ョ ン モードの場合、 バス幅はコンフ ィ ギュレーシ ョ ン ロジッ クに

よって自動的に検出されます。 バス幅検出パターンは、ビッ ト ス ト リームの前にあ り ます。 コンフ ィ

ギュレーシ ョ ン ロジッ クでは、 パラレル バスの下位 8 ビッ トのみがチェッ ク され、 受信したバイ

ト シーケンスによって、 自動的に適切な外部バス幅に切り替えるこ とができます。 表 1-5 に、 バス

幅検出パターンが挿入されたビッ ト ス ト リームの例を示します。 「パラレル バスのビッ ト順」 で説

明しているよ うに、 FPGA データ ピンではビッ トがスワ ップされています。

ザイ リ ンク ス ISE® Bitstream Generator (BitGen) ツールで生成されるすべてのコンフ ィギュレー

シ ョ ン ビッ ト ス ト リーム (BIT または RBT ファ イル) には、バス幅の自動検出パターンが含まれて

おり、 検出が実行されているこ とはユーザーからは見えないよ うになっています。 モード ピンをマ

スタ シ リ アル、 スレーブ シ リ アル、 JTAG、 SPI モードのいずれかに設定している場合、 検出パ

ターンはコンフ ィギュレーシ ョ ン ロジッ クで無視されます。

x8 バスの場合、 コンフ ィギュレーシ ョ ン バス幅の検出ロジッ クでは、 初に D[0:7] 上の 0xBB、

次に 0x11 が検出されます。 x16 バスの場合は、 初に D[0:7] 上の 0xBB、次に 0x22 が検出されま

す。 x32 バスの場合は、 初に D[0:7] 上の 0xBB、 次に 0x44 が検出されます。

0xBB 直後のバイ トが 0x11、 0x22、 または 0x44 以外の場合、バス幅のステート マシンがリセッ ト

され、 有効なシーケンスが検出されるまで 0xBB を検索します。 その後、 適切な外部バス幅に切り

替わり、 同期ワードの検索を開始します。

同期ワード

特別な同期ワードを使用し、 コンフ ィギュレーシ ョ ン ロジッ クを 32 ビッ ト ワードに揃えるこ とが

できます。 同期ワードが検出されるまで、 FPGA ではパケッ ト処理は実行されません。 パラレル コンフ ィギュレーシ ョ ン モードでは、 同期ワードの前にバス幅が検出される必要があ り ます。

表 1-5 : バス幅検出パターン

D[24:31] D[16:23:00] D[8:15] D[0:7] [コ メン ト ]

0xFF 0xFF 0xFF 0xFF

0x00 0x00 0x00 0xBB バス幅パターン

0x11 0x22 0x00 0x44 バス幅パターン

0xFF 0xFF 0xFF 0xFF

0xFF 0xFF 0xFF 0xFF

0xAA 0x99 0x55 0x66 同期ワード

... ... ... ... ...

表 1-6 : 同期ワード

31:24 23:16 15:8 7:0

0xAA 0x99 0x55 0x66

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

UG191 (v3.5) 2008 年 10 月 29 日

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

PROM ファイルの生成

PROM ファ イルは、 PROMGen のユーティ リ ティ を使用し、 ビッ ト ス ト リーム ファ イルから生成

されます。 PROMGen へは、 コマンド ラ インから直接アクセス、 または iMPACT のファイル生成

モードを使用して間接的にアクセスできます。 PROMGen の完全な構文は、 『開発システム リ ファ

レンス ガイ ド』 を参照して ください。 また、 iMPACT の詳細は、 ISE ソフ ト ウェアの資料を参照し

て ください。 PROM ファ イルは、 PROM プログラム用にビッ ト ス ト リームを再フォーマッ トする

ために使用するか、 シ リ アル デイジー チェーン用にビッ ト ス ト リーム ファ イルを結合するために

使用します ( 「シ リ アル デイジー チェーン用の PROM ファ イル」 を参照)。

シリアル デイジー チェーン用の PROM ファイル デイジー チェーンは、 個別の BIT ファ イルを単に結合するだけではプログラムできないため、 シ

リ アル デイジー チェーンのコンフ ィギュレーシ ョ ン データには、 特別なファイル形式が必要とな

り ます。 複数のビ ッ ト ス ト リ ームから PROM フ ァ イルを生成する場合は、 PROMGen (または

iMPACT) を使用し て特別な形式のフ ァ イルを生成し ます。 PROM フ ァ イルの生成には、

PROMGen の -n、 -u、 -d オプシ ョ ンまたは iMPACT の File Generation Wizard を使用し、 複数

のビッ ト ス ト リームを指定します。 詳細は、 ソフ ト ウェアの資料を参照してください。

PROMGen は、下位デバイスのコンフ ィギュレーシ ョ ン データを上位デバイスのコンフ ィギュレー

シ ョ ン パケッ ト の中にネス ト し、 ビ ッ ト ス ト リームを再フォーマッ ト します。 複数のビッ ト ス ト

リームを 上位デバイスに送信してチェーンをプログラムする と、 初のデバイスはコンフ ィギュ

レーシ ョ ンされますが、 その後のデータは無視されてしまいます。

SelectMAP コンフ ィギュレーシ ョ ン用の PROM ファイル

MCS ファ イルは、ザイ リ ンクス コンフ ィギュレーシ ョ ン PROM (SelectMAP モードの単一 FPGAをプログラム) のプログラムに も頻繁に使用されます。 カス タム コンフ ィ ギュレーシ ョ ン ソリ ューシ ョ ンの場合、 未加工のデータ形式 BIN および HEX フ ァ イルが も簡単に使用でき る

PROM ファ イル形式です。 これら以外のファ イル形式が必要な場合は、 アプ リ ケーシ ョ ン ノート

XAPP502 『Using a Microprocessor to Configure Xilinx FPGAs via Slave Serial or SelectMAPMode』 を参照してください。

SelectMAP コンフ ィギュレーシ ョ ン用の複数のコンフ ィギュレーシ ョ ン ビッ ト ス ト リームが 1 つのメモ リ デバイスにある場合、 それらのビッ ト ス ト リームを 1 つのシ リ アル デイジー チェーン

PROM ファ イルに結合しないでください。 ターゲッ トのメモ リ デバイスは、BIN または HEX ファ

イルでプログラムする必要があ り ます。 複数の個別データス ト リームを持つ PROM ファ イルが 1つ必要な場合は、 iMPACT を使用し、 ターゲッ ト をパラレル PROM にして適切なデータス ト リー

ム数を選択して生成します。 または、 PROMGen のコマンド ラ インからアクセスしてファ イルを

生成するこ と も可能です。 詳細は、 PROMGen ソフ ト ウェアの資料を参照して ください。

Platform Flash XL ベースの SelectMAP コンフ ィギュレーシ ョ ンでは、iMPACT ソフ ト ウェアを使

用して MCS PROM ファ イルを生成します。 このファイルを生成する際、 ターゲッ ト PROM デバ

イ ス と し てザイ リ ン ク ス XCF128X デバイ ス を選択し ます。 PROM フ ァ イルの生成方法は、

『Platform Flash XL Configuration and Storage Device User Guide』 (UG438) を参照してください。

SPI/BPI コンフ ィギュレーシ ョ ン用の PROM ファイル

PROMGen の -d および -u オプシ ョ ン、あるいは iMPACT の File Generation Wizard を使用して

サード パーティのフラ ッシュ デバイス対応の PROM ファ イルを作成できます。 出力には、 使用し

ているサード パーティ プログラマでサポート されている形式を選択して ください。 BPI デバイス

によっては、 PROM ファ イルをプログラムする際にエンディアンをスワ ップさせる必要があ り ま

す。 詳細は、 フラ ッシュ デバイス ベンダーの資料を参照してください。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 25UG191 (v3.5) 2008 年 10 月 29 日

PROM ファイルの生成R

ビッ トのスワップ

ビ ッ ト スワ ップとは、 バイ ト 内でビ ッ ト をスワ ップする こ とです。 MCS、 EXO、 TEK 形式の

PROM ファ イルは常にビッ ト スワ ップされますが、HEX 形式の場合はユーザー オプシ ョ ンで指定

できます。 ビッ ト ス ト リーム ファ イル (BIT、 RBT、 BIN) でビッ トがスワ ップされるこ とはあ り ま

せん。

HEX ファ イルにはコンフ ィギュレーシ ョ ン データのみが含まれますが、 その他の形式の PROMファ イルには、 FPGA にはダウンロード されないアドレスおよびチェッ クサム情報が含まれます。

このアドレスおよびチェッ クサム情報は、 サード パーティのデバイス プログラマが使用するもの

で、 PROM にはプログラムされません。

図 1-1 に、 2 バイ トのデータ (0xABCD) のビッ ト スワ ップを示します。

各バイ トの MSB は、 データの方向に関係なく D0 ピンに配置されます。

• ビッ ト スワップしたデータでは、 右端のビッ トが D0

• ビッ ト スワップしていないデータでは、 左端のビッ トが D0

ビッ ト スワップが必要かど うかは、アプ リ ケーシ ョ ンによって異なり ます。 ビッ ト スワ ップは、マ

スタ シ リ アル、 マスタ SelectMAP、 または BPI PROM ファ イルで可能です。

パラレル バスのビッ ト順

従来の SelectMAP x8 モードの場合、 コンフ ィギュレーシ ョ ン データは CCLK の 1 サイクルで 1バイ ト を読み込み、各バイ トの MSB ( 上位ビッ ト ) が D0 ピンに出力されます。 この D0 = MSB、

D7 = LSB という規則はほかのデバイスには該当しませんが、すべてのザイ リ ンクス FPGA には共

通して適用されます。 ビッ ト スワ ップの規則は、Virtex-5 BPI-Up および BPI-Down x8 モードにも

該当します (25 ページの 「ビッ トのスワ ップ」 を参照)。

Virtex-5 デバイスでは、 このビッ ト スワ ップの規則は x16 および x32 バス幅にも適用され、 デー

タは各バイ ト内でスワ ップされます。 Virtex-4 SelectMAP x32 モードでは、 ビッ トはスワ ップされ

ません。

図 1-1 : ビッ ト スワップの例

UG191_c2_22_050106

:

:

:

:

SelectMAP :

��� ��������� ���������� ��� ��������� ���������

��� ��������� ������������ � ����������� ����������

A B C D

��� ��������� ������������ ��� ��������� ����������

�� �������� ������������ �� �������� �����������

D 5 B 3

SelectMAP :

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

UG191 (v3.5) 2008 年 10 月 29 日

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

表 1-7 および表 1-8 に、 ビ ッ ト ス ト リーム内の同期ワード例を示します。 この例では、 スレーブ

SelectMAP、マスタ SelectMAP、 BPI-Up、および BPI-Down モードなどのパラレル コンフ ィギュ

レーシ ョ ン モードを使用する場合に、 FPGA データ ピンに現れるこ とが予想されるデータを示し

ています。

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

コンフ ィギュレーシ ョ ン モードによって、 そのインターフェイスは異なり ますが、 Virtex-5 デバイ

スをコンフ ィ ギュレーシ ョ ンする際の基本的な手順は、 すべてのモードで同一です。 図 1-2 に、

Virtex-5 デバイスのコンフ ィギュレーシ ョ ン プロセスを示し、 この後のセクシ ョ ンで各手順を詳細

に説明します。 説明する手順は、 図中で灰色で示します。

初の 3 つの手順で、Virtex-5 デバイスが初期化され、モード ピンを読み込むこ とによ り コンフ ィ

ギュレーシ ョ ン モードが判断されます。

設定 (手順 1 ~ 3)設定プロセスは、 すべてのコンフ ィギュレーシ ョ ン モードで同じです (図 1-3 を参照)。

設定手順は、 デバイスを適切にコンフ ィギュレーシ ョ ンするために非常に重要です。 デバイスの電

源投入、 コンフ ィギュレーシ ョ ン メモ リのク リ ア、 モード ピンの読み込みが実行されます。

表 1-7 : 同期ワードのビッ ト スワップ例

同期ワード [31:24](1) [23:16] [15:8] [7:0]

ビッ ト ス ト リーム形式 0xAA 0x99 0x55 0x66

スワップしたビッ ト 0x55 0x99 0xAA 0x66

メモ :

1. [31:24] は、 ビッ ト スワ ップ後に 0xAA から 0x55 に変化します。

表 1-8 : x8、 x16、 x32 モードでの同期ワードのデータ シーケンス例

CCLK サイクル 1 2 3 4

x8 モードの D[7:0] ピン 0x55 0x99 0xAA 0x66

x16 モードの D[15:0] ピン 0x5599 0xAA66

x32 モードの D[31:0] ピン 0x5599AA66

図 1-2 : Virtex-5コンフ ィギュレーシ ョ ン プロセス

ID CRC

UG191_c1_01_050406

1 2 3 4 5 6 7 8

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 27UG191 (v3.5) 2008 年 10 月 29 日

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

デバイスの電源投入 (手順 1)

Virtex-5 デバイスのコンフ ィギュレーシ ョ ンには、 VCC_CONFIG (VCCO_0)、 VCCAUX、 VCCINT ピンに電源が必要です。 電源投入シーケンスの要件はあ り ません。

すべての JTAG およびシ リ アル コンフ ィギュレーシ ョ ン ピンは別々の専用バンクにあ り、 各バン

クに専用の VCC_CONFIG 電源 (VCC_CONFIG = VCCO_0) があ り ます。 多目的ピンは、 バンク 1、 2、および 4 にあ り ます。 すべての専用入力ピンは、 VCC_CONFIG LVCMOS レベルで動作します。 アクティブな専用出力ピンはすべて LVCMOS_12F 規格に設定され、VCC_CONFIG 電圧レベルで動作

します。

多目的 I/O を使用するすべてのモードで、 VCCO_X を適切な電圧に接続してコンフ ィギュレーシ ョ

ン デバイ スの I/O 規格を一致させる必要があ り ます。 コ ンフ ィ ギ ュ レーシ ョ ン中、 ピンは

LVCMOS_12F とな り ます。

電源投入の際には、 1.0V のソースを VCCINT ピンに供給してください。 RS[1:0] を使用しない場合

は、 JTAG またはシ リ アル モードを使用して Virtex-5 デバイスをコンフ ィギュレーシ ョ ンする際

に、 I/O 電圧電源 (VCCO) に電源を供給する必要はあ り ません。 それ以外の場合は、 VCCO_2 に電源

を供給してください。 表 1-9 にコンフ ィギュレーシ ョ ンに必要な電源を示し、表 1-10 に電源投入の

タイ ミ ングを示します。

図 1-3 : デバイスの電源投入 (手順 1)

表 1-9 : コンフ ィギュレーシ ョ ンに必要な電源

ピン名 値 単位 説明

VCCINT 1.0 V 内部コア電源

VBATT(1) 1.0 ~ 3.6 V 暗号化キーのバッテ リ電源

VCC_CONFIG 1.5、1.8、 2.5、 3.3

V コンフ ィギュレーシ ョ ン バンクの電源 (VCCO_0)

VCCAUX 2.5 V コンフ ィギュレーシ ョ ン ロジッ ク と FPGA のその他

の機能用の補助電源

VCCO_1 VCCO_2VCCO_4

V 多目的コンフ ィギュレーシ ョ ン ピンの出力電源

メモ :

1. VBATT は、 ビッ ト ス ト リームの暗号化を使用する場合にのみ必要です。

UG191_c1_02_050406

1 2 3 4 5 6 7 8

ID CRC

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

UG191 (v3.5) 2008 年 10 月 29 日

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

図 1-4 に、 電源投入時の波形を示します。

VCCINT は、指定された立ち上がり時間内で、単調に増加させる必要があ り ます。 このよ うに電源投

入できない場合は、 システムの電源が VPOR に到達するまで、 INIT_B ピンまたは PROGRAM_Bピンを Low に保持し ( 「コンフ ィギュレーシ ョ ンの遅延」 を参照) 、 コンフ ィギュレーシ ョ ンの開

始を遅延させてください。

コンフ ィギュレーシ ョ ン ロジッ ク電源入力 (VCC_CONFIG) と補助電圧入力 (VCCAUX) は、POR (パワー オン リセッ ト ) 回路へのロジッ ク入力と して使用されます。 これらの電源のいずれかが指定さ

れたレベル以下になった場合、 POR を再びト リ ガできます。

コンフ ィギュレーシ ョ ン メモリのクリア (手順 2、 初期化)

表 1-10 : 電源投入のタイ ミング

説明 シンボル

プログラム レイテンシ TPL

POR (パワー オン リセッ ト ) TPOR

CCLK 出力の遅延 TICCK

プログラム パルス幅 TPROGRAM

メモ :

1. 電源投入時のタイ ミ ング特性は、データシート DS202 『Virtex-5 FPGA Data Sheet: DC and Switching Characteristics』 を参照して ください。

図 1-4 : デバイスの電源投入タイ ミング

UG191_c1_03_072407

VCCINT TPOR

TPL

TICCK

PROGRAM_B

INIT_B

CCLK

VALIDM0 M1 M2*

( )

*

図 1-5 : 初期化 (手順 2)

UG191_c1_04_050406

1 2 3 4 5 6 7 8

ID CRC

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 29UG191 (v3.5) 2008 年 10 月 29 日

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

コンフ ィギュレーシ ョ ン メモ リは、 デバイスへの電源投入後、 PROGRAM_B ピンの Low パルス

後、 JTAG JPROGRAM 命令または IPROG コマンド後、 あるいはフォールバッ ク リ コンフ ィギュ

レーシ ョ ン シーケンス中に初期化されます。 この間、 コンフ ィ ギュレーシ ョ ン専用ピンおよび

JTAG ピン以外の I/O は、 ハイインピーダンス状態です。 初期化中、 INIT_B は内部で Low に保持

され、電源投入時には TPOR 後に (図 1-4)、その他の場合は TPL 後に解放されます。 INIT_B が外部

から Low に保持される と、ピンが解放されるまで初期化プロセスのその時点の状態で待機します。

PROGRAM_B の 短 Low パルス時間は、TPROGRAM タイ ミ ング パラ メータによって決定します。

PROGRAM_B ピンは必要なだけアクティブ (Low) に保持でき、PROGRAM_B が解放された後コ

ンフ ィギュレーシ ョ ン メモ リが 2 回ク リアされます。

モード ピンの読み込み (手順 3)

INIT_B ピンが High になる と、 M[2:0]、 FS[2:0]、 RCMD[7:0] ピンが読み込まれ、 マスタ モード

の場合は CCLK の駆動が開始します。 FS[2:0] および RCMD[7:0] は、 SPI モードでのみ使用され

ます (表 1-2 を参照)。 デバイスはこの時点で、 コンフ ィギュレーシ ョ ン ク ロ ッ クの立ち上がりエッ

ジでコンフ ィギュレーシ ョ ン データ入力ピンの読み込みが開始します。

コンフ ィギュレーシ ョ ンの遅延

Virtex-5 デバイスでは、 次の 2つの方法でコンフ ィギュレーシ ョ ンを遅延させるこ とができます。

• 初期化中に INIT_B ピンを Low に保持する方法 (図 1-4 を参照)。一度 INIT_B が High になる

と、 その後に INIT_B を Low にしても、 コンフ ィギュレーシ ョ ンを遅延させるこ とはできま

せん。

• PROGRAM_B ピンを Low に保持する方法。

表 1-11 に、 初期化およびコンフ ィギュレーシ ョ ンの遅延に関連する信号を示します。

図 1-6 : モード ピンのサンプル (手順 3)

UG191_c1_05_050406

1 2 3 4 5 6 7 8

ID CRC

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

UG191 (v3.5) 2008 年 10 月 29 日

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

ビッ トス ト リームの読み込み (手順 4 ~ 7)ビッ ト ス ト リームの読み込みプロセスは、すべてのコンフ ィギュレーシ ョ ン モードで類似していま

す。主な違いは、 コンフ ィギュレーシ ョ ン ロジッ クへのインターフェイスです。 これらの違いに関

する詳細は、 第 2 章 「コンフ ィギュレーシ ョ ン インターフェイス」 で説明します。

ビッ ト ス ト リームの読み込みで も重要な手順は、バス幅の自動検出 (SelectMAP および BPI モー

ドの場合、 「バス幅の自動検出」 を参照)、 同期化、 デバイス ID の確認、 コンフ ィギュレーシ ョ ン

データの読み込み、 CRC チェ ッ クです。 各手順で、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの

異なる部分を使用します。

表 1-11 : 初期化およびコンフ ィギュレーシ ョ ンの遅延に関連する信号

信号名 タイプ アクセス (1) 説明

PROGRAM_B 入力 PROGRAM_B ピンを介して

外部からアクセス可能

グローバルな非同期チッ プ リ セッ ト 。 Low に保持

するこ と によ り コンフィ ギュレーショ ンを遅延で

きます。

INIT_B 入力、 出力、

または

オープン ド レイン

INIT_B ピンを介して外部か

らアクセス可能

モード ピンが読み込まれる前は入力であ り、 Lowに保持する こ とによ り コンフ ィギュレーシ ョ ンを

遅延できます。

モード ピンが読み込まれた後は、オープン ド レイ

ンのアクテ ィ ブ Low 出力で、 コンフ ィ ギュ レー

シ ョ ン中の CRC エラーまたはコンフ ィ ギュレー

シ ョ ン後の リードバッ ク CRC エラーの有無を示

します。

0 = CRC エラー

1 = CRC エラーなし (外部プルアップが必要)

INIT_COMPLETE ステータス (2) Virtex-5 ステータス レジスタ

を介してアクセス可能な内部

信号

INIT_B 信号が内部で解放されているかどう かを示

します。

MODE_STATUS[2:0] ステータス Virtex-5 ステータス レジスタ

を介してアクセス可能な内部

信号

ステータスが読み込まれたと きのモード ピンの値

を示します。

FS_STATUS[2:0] ステータス Virtex-5 ステータス レジスタ

を介してアクセス可能な内部

信号

INIT_B が High にアサート されたと きの FS[2:0]ピンの値を示します。

メモ :

1. Virtex-5 ステータス レジスタについては、 125 ページの表 6-9 を参照して ください。 JTAG を使用してデバイスのステータス レジスタにアクセスする場合の詳細は 148 ページの表 7-5 を、 SelectMAP を使用したアクセスの詳細は表 7-1 を参照して ください。

2. タイプがステータスの場合は、 それに対応するピンを持たない、 内部にあるステータス信号です。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 31UG191 (v3.5) 2008 年 10 月 29 日

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

同期化 (手順 4)

BPI-Up、 BPI-Down、 スレーブ SelectMAP、 およびマスタ SelectMAP モードでは、 バス幅が 初

に検出される必要があ り ます ( 「バス幅の自動検出」 を参照)。 スレーブ シ リ アル、マスタ シ リ アル、

SPI、 および JTAG モードでは、 バス幅検出パターンは無視されます。 バス幅検出シーケンスの次

に、 32 ビッ トの特別な同期ワード (0xAA995566) がコンフ ィギュレーシ ョ ン ロジッ クに送信され

る必要があ り ます。 同期ワードは、 デバイスにコンフ ィギュレーシ ョ ン データが送信されてく るこ

とを知らせ、 内部のコンフ ィギュレーシ ョ ン ロジッ クがコンフ ィギュレーシ ョ ン データに揃う よ

うにします。 「バス幅自動検出」 シーケンスを除き、 コンフ ィギュレーシ ョ ン入力ピンに供給され

る同期ワード よ り前のデータはすべて無視されます。

BitGen ソフ ト ウェアで生成されたすべてのコンフ ィギュレーシ ョ ン ビッ ト ス ト リーム (BIT ファ

イル) には、 バス幅検出パターンと同期ワードが共に含まれており、 同期が行われているこ とは通

常ユーザーからは見えないよ うになっています。 表 1-12 に同期化に関連した信号を示します。

図 1-7 : 同期化 (手順 4)

UG191_c1_06_050406

1 2 3 4 5 6 7 8

ID CRC

表 1-12 : 同期に関連する信号

信号名 タイプ 編集モード 説明

DALIGN ステータス SelectMAP インターフェ イ スで ABORT シーケン

ス中にのみ使用可能 (64 ページの 「コンフ ィ ギュ

レーシ ョ ンの ABORT シーケンス」 を参照)

デバイスが同期されているかど うかを

示します。

IWIDTH ステータス Virtex-5 ステータス レジスタを介してのみアクセス

される内部信号(1)検出されたバス幅を示します。

00 = x101 = x810 = x1611 = x32

ICAP が有効な場合、 この信号はコン

フ ィギュレーシ ョ ン完了後に ICAP 幅を示します。

メモ :

1. Virtex-5 ステータス レジスタについては、表 6-9 を参照して ください。 JTAG を使用してデバイスのステータス レジスタにアクセスする場合の詳細は表 7-5 を、 SelectMAP を使用したアクセスの詳細は表 7-1 を参照して ください。

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

UG191 (v3.5) 2008 年 10 月 29 日

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

デバイス ID の確認 (手順 5)

デバイスの同期後、 コンフ ィギュレーシ ョ ン データ フレームを読み込む前に、デバイス ID を確認

する必要があ り ます。 デバイ ス ID の確認によ って、 XC5VLX50 用のビ ッ ト ス ト リ ームで

XC5VLX30 がコンフ ィギュレーシ ョ ンされるなど、 別のデバイス用にフォーマッ ト されたビッ ト

ス ト リームでコンフ ィギュレーシ ョ ンされるこ とがなくなり ます。

コンフィ ギュレーショ ン中に ID エラーが発生すると 、デバイスではフォールバッ ク リ コンフィ ギュ

レーショ ンが実行されます (159 ページの「 フォールバッ ク マルチブート 」 を参照)。

デバイス ID チェッ クは、 ビッ ト ス ト リームに組み込まれており、 ID 確認が行われているこ とは通

常ユーザーからは見えないよ うになっています。 表 1-13 に Virtex-5 デバイスの ID コード、表 1-14に ID 確認に関連する信号を示します。 この場合のデバイス ID チェッ クは、JTAG IDCODE レジス

タを介してではなく、コンフ ィギュレーシ ョ ン ロジッ クへのビッ ト ス ト リーム内にあるコマンドに

よって実行されます。

Virtex-5 JTAG ID コード レジスタのフォーマッ トは、 次のとおりです。

vvvv:fffffff:aaaaaaaaa:cccccccccc11

v = リ ビジ ョ ン

f = 7 ビ ッ ト のプラ ッ ト フ ォーム コード (0010101 = XC5VLXT、 0010100 = XC5VLX、

0010111 = XC5VSXT、 および 0011001 =XC5VFXT)a = アレイの行数と列数の合計

c = 会社コード

図 1-8 : デバイス ID の確認 (手順 5)

表 1-13 : Virtex-5 デバイス ID コード

デバイス

ID コード (16 進数)

リビジ ョ ン コードプラッ ト フォーム、 アレイ、

および会社 コード

XC5VLX30 メモ 1 を参照 286E093

XC5VLX50 メモ 1 を参照 2896093

XC5VLX85 メモ 1 を参照 28AE093

XC5VLX110 メモ 1 を参照 28D6093

XC5VLX155 メモ 1 を参照 28EC093

XC5VLX220 メモ 1 を参照 290C093

XC5VLX330 メモ 1 を参照 295C093

XC5VLX20T メモ 1 を参照 2A56093

XC5VLX30T メモ 1 を参照 2A6E093

XC5VLX50T メモ 1 を参照 2A96093

UG191_c1_07_050406

1 2 3 4 5 6 7 8

ID CRC

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 33UG191 (v3.5) 2008 年 10 月 29 日

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

XC5VLX85T メモ 1 を参照 2AAE093

XC5VLX110T メモ 1 を参照 2AD6093

XC5VLX155T メモ 1 を参照 2AEC093

XC5VLX220T メモ 1 を参照 2B0C093

XC5VLX330T メモ 1 を参照 2B5C093

XC5VSX35T メモ 1 を参照 2E72093

XC5VSX50T メモ 1 を参照 2E9A093

XC5VSX95T メモ 1 を参照 2ECE093

XC5VSX240T メモ 1 を参照 2F3E093

XC5VFX30T メモ 1 を参照 3276093

XC5VFX70T メモ 1 を参照 32C6093

XC5VFX100T メモ 1 を参照 32D8093

XC5VFX130T メモ 1 を参照 3300093

XC5VFX200T メモ 1 を参照 3334093

XC5VTX150T メモ 1 を参照 4502093

XC5VTX240T メモ 1 を参照 453E093

メモ :

1. バージ ョ ン コードの値は 0x0 ~ 0xF です。

表 1-14 : デバイス ID 確認に関連する信号

信号名 タイプ アクセス (1) 説明

ID_Err ステータス Virtex-5 ステータ ス レジ

ス タ を介してのみア ク セ

スされる内部信号

ビ ッ ト ス ト リームで指定されたデバ

イス ID と実際のデバイス ID の不一

致を示します。

メモ :

1. Virtex-5 ステータス レジスタについては、 表 6-9 を参照して ください。 JTAG を使用してデバイスのステータス レジスタにアクセスする場合の詳細は表 7-5 を、 SelectMAP を使用したアクセスの詳細は表 7-1 を参照して ください。

表 1-13 : Virtex-5 デバイス ID コード (続き)

デバイス

ID コード (16 進数)

リビジ ョ ン コードプラッ ト フォーム、 アレイ、

および会社 コード

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

UG191 (v3.5) 2008 年 10 月 29 日

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

コンフ ィギュレーシ ョ ン データ フレームの読み込み (手順 6)

同期ワードが読み込まれてデバイス ID が確認される と、コンフ ィギュレーシ ョ ン データ フレーム

が読み込まれます。 通常、 このプロセスはユーザーからは見えないよ うになっています。 詳細は、

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

CRC (Cyclic Redundancy Check) (手順 7)

コンフ ィギュレーシ ョ ン データ フレームの読み込み時に、 コンフ ィギュレーシ ョ ン データ パケッ

トから CRC 値が算出されます。データ フレームの読み込み後、 コンフ ィギュレーシ ョ ン ビッ ト ス

ト リームによ りデバイスに対して CRC を確認する命令が発行され、その後正しい CRC 値が送信さ

れます。デバイスによって算出された CRC 値がビッ ト ス ト リーム内の正しい CRC 値と一致しない

場合は、 INIT_B が Low にな り、 コンフ ィギュレーシ ョ ンが中断されます。 CRC チェッ クは、 デ

フォルトでコンフ ィギュレーシ ョ ン ビッ ト ス ト リームに含まれていますが、これは無効にできます

( 『開発システム リ ファレンス ガイ ド』 の 「BitGen」 を参照)。 CRC チェッ クを無効にする と、誤っ

たコンフ ィギュレーシ ョ ン データ フレームが読み込まれ、 デザインで不適切な動作が実行された

り、 デバイスの破損を引き起こす可能性があ り ます。

FPGA がマスタ となっているモードでのコンフ ィギュレーシ ョ ン中に CRC エラーが発生する と、

フォールバッ ク リ コンフ ィギュレーシ ョ ンが実行されます (159 ページの 「フォールバッ ク マルチ

ブート 」 を参照)。 BPI-Up、 BPI-Down、 および SPI モードのコンフ ィギュレーシ ョ ンで、 フォール

バッ ク リ コンフ ィギュレーシ ョ ンに失敗した場合、 BPI/SPI インターフェイスを再同期化するに

は、 PROGRAM_B ピンにパルスを送信し、 コンフ ィギュレーシ ョ ン プロセスを 初から再実行す

る必要があ り ます。 JTAG インターフェイスは応答しており、 デバイスも有効ですが、 BPI/SPI インターフェイスは動作できない状態にあ り ます。 SelectMAP モードの場合は、 PROGRAM_B ピン

に Low パルスを送信するか、 ABORT シーケンスを開始するこ とによって再同期化できます (第 2章 の 「SelectMAP コンフ ィギュレーシ ョ ン インターフェイス」 を参照)。

Virtex-5 デバイスでは、 32 ビッ ト の CRC チェ ッ クが使用されます。 CRC チェ ッ クは、 コンフ ィ

ギュレーシ ョ ン ビッ ト ス ト リーム送信の際に発生するエラーを検知するよ う設計されていますが、

すべてのエラーを検知できない可能性もあ り ます。 ダブル ク ロ ッキングのよ う なク ロ ッ ク エラー

によ り、 32 ビッ トのビッ ト ス ト リーム パケッ ト と コンフ ィギュレーシ ョ ン ロジッ ク間の同期が失

われる場合があ り ます。 同期が失われる と、 それに続くすべてのコマンド (CRC チェッ クのコマン

図 1-9 : コンフ ィギュレーシ ョ ン データ フレームの読み込み (手順 6)

UG191_c1_08_050406

1 2 3 4 5 6 7 8

ID CRC

図 1-10 : CRC (Cyclic Redundancy Check) (手順 7)

UG191_c1_09_050406

1 2 3 4 5 6 7 8

ID CRC

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 35UG191 (v3.5) 2008 年 10 月 29 日

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

ドを含む) が認識されません。 このよ う な状況では、CRC が無視されて DONE が Low、INIT_B がHigh になるため、 コンフ ィギュレーシ ョ ンが完了しな くな り ます。 BPI モードでは、 アドレス カウンタで 終的にオーバーフローまたはアンダーフローが発生してラ ップアラウンドが起こ り、 こ

れによってフォールバッ ク リ コンフ ィギュレーシ ョ ンが ト リ ガされます (159 ページの 「フォール

バッ ク マルチブート 」 を参照)。

スタートアップ (手順 8)

コンフ ィギュレーシ ョ ン フレームの読み込み後、 スタート アップ シーケンスの開始命令がビッ ト

ス ト リームからデバイスに発行されます。 スター ト アップ シーケンスは、 8 フェーズ (フェーズ

0 ~ 7) のシーケンシャル ステート マシンで制御されます。 このスタート アップ シーケンスでは、

表 1-15 に示すタスクが実行されます。

スタート アップ イベン トの順序 (EOS のアサート を除く ) は、 BitGen オプシ ョ ンの設定によって、

プログラム可能です ( 『開発システム リ ファレンス ガイ ド』 を参照)。表 1-15 はスタート アップ イベン トの一般的な順序を示しますが、これらの順序はユーザーがプログラムできます (ただし、EOSのアサートは常に 後)。 スタート アップ オプシ ョ ンのガイ ド ラインは、第 2 章 「コンフ ィギュレー

シ ョ ン インターフェイス」 を参照して ください。 表 1-16 に、 デフォルト設定でのスタート アップ

イベン ト を示します。

図 1-11 : スタートアップ シーケンス (手順 8)

表 1-15 : スタートアップ イベン トにおいてユーザーが選択可能なサイクル

フェーズ イベン ト

1 ~ 6 DCM がロ ッ ク状態になるまで待機する (オプシ ョ ン)

1 ~ 6 DCI が一致するまで待機する (オプシ ョ ン)

1 ~ 6 GWE (グローバル ライ ト イネーブル) をアサート し、RAM およびフ リ ップフロ ップ

を変更可能にする

1 ~ 6 GTS (グローバル ト ラ イステート ) を無効にし、 I/O を有効にする

1 ~ 6 DONE ピンを解放する

7 EOS (End Of Startup) をアサートする

表 1-16 : スタートアップ イベン トのデフォルト BitGen シーケンス

フェーズ イベン ト

5 GTS を無効にし、 I/O を有効にする

4 DONE ピンを解放する

6 GWE をアサート し、 RAM とフ リ ップ フロ ップの状態を変更可能にする

7 EOS をアサートする

UG191_c1_10_050406

1 2 3 4 5 6 7 8

ID CRC

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

UG191 (v3.5) 2008 年 10 月 29 日

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

適切な BitGen オプシ ョ ンを使用する と、 スタート アップ シーケンスで DCM がロ ッ クするまで、

または DCI が一致するまで待機させるこ とができます。 これらのオプシ ョ ンによ り、 DCM のロ ッ

クあるいは DCI の一致のいずれか、 またはその両方が完了する前に、 DONE、 GTS、 および GWEがアサート されないよ うに設定されます。

DONE 信号は、 スタート アップ シーケンスによ りユーザーが指定したサイクルで解放されますが、

実際に DONE ピンが High になるまで、スタート アップ シーケンスは続行されません。 デフォルト

では、 DONE ピンはオープン ドレインの双方向信号です。 DONE ピンが解放される と、 Low に駆

動されなくなり、 ピンがハイインピーダンスになり ます。 この場合に DONE ピンをロジッ ク Highに駆動するには、 外部プルアップ抵抗が必要です。 表 1-17 にスタート アップ シーケンスに関連し

た信号を示し、 図 1-12 に波形を示します。

表 1-17 : スタートアップ シーケンスに関連する信号

信号名 タイプ アクセス (1) 説明

DONE

双方向(2)DONE ピンまたは

Virtex-5 ステータス レジスタ

コンフ ィ ギュレーシ ョ ンが完了したこ と を示します。 外部から

Low に保持し、 スタート アップをほかの FPGA と同期させるこ

とができます。

Release_DONE

ステータスVirtex-5 ステータス

レジスタ

デバイスで DONE ピンの Low 駆動を停止したかど うかを示しま

す。 ピンを外部から Low に保持した場合、 Release_DONE と実

際の DONE ピン上の値が異なる可能性があ り ます。

GWE グローバル ラ イ ト イネーブル (GWE)。 ディアサート される と、

FPGA の CLB、 IOB フ リ ップフロ ップ、 およびその他の同期エ

レ メン トが無効になり ます。

GTS グローバル ト ラ イステート (GTS)。 アサート される と、 コンフ ィ

ギュレーシ ョ ン ピンを除く、すべての I/O ド ラ イバが無効になり

ます。

EOS EOS (End of Startup)。 コンフ ィギュレーシ ョ ンおよびスター ト

アップ プロセスの完全な終了を示します。

DCI_MATCH すべての DCI (デジタル制御インピーダンス) コン ト ローラの内

部抵抗が、 外部の参照抵抗と一致しているこ とを示します。

DCM_LOCK すべての DCM (デジタル ク ロ ッ ク マネージャ ) がロ ッ ク状態に

なったこ とを示します。 デフォルトでは、アサート されています。

ビッ ト ス ト リームの生成時に DCM で LOCK_WAIT オプシ ョ ン

が使用され、LockCycle オプシ ョ ンも使用される とアクティブに

なり ます。

メモ :

1. Virtex-5 ステータス レジスタについては、表 6-9 を参照して ください。 JTAG を使用してデバイスのステータス レジスタにアクセスする場合の詳細は表 7-5 を、 SelectMAP を使用したアクセスの詳細は表 7-1 を参照して ください。

2. デフォル トではオープンドレイン出力であ り、 BitGen の drivedone オプシ ョ ンの設定によ り ド ラ イバと して機能します。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 37UG191 (v3.5) 2008 年 10 月 29 日

ビッ トス ト リーム暗号化R

ビッ トス ト リーム暗号化

Virtex-5 デバイスには、 オンチップ AES (Advanced Encryption Standard) 復号化ロジッ クがあ り、

デザインの高い安全性を実現しています。 外部の者がビッ ト ス ト リームを不正に入手したと して

も、 暗号化キーを知らなければ、 ビッ ト ス ト リームが解読されるこ と もデザインが複製されるこ と

もあ り ません。暗号化された Virtex-5 デザインのコピーまたはリバース エンジニア リ ングは不可能

です。

Virtex-5 の AES システムは、 ソフ ト ウェア ベースのビッ ト ス ト リーム暗号化および暗号化キーを

格納する専用メモ リ を使用するオンチップのビッ ト ス ト リーム復号化から構成されます。 ザイ リ ン

ク ス ISE ソフ ト ウェアを使用して、 暗号化キーおよび暗号化されたビッ ト ス ト リームを作成しま

す。 Virtex-5 デバイスでは、 専用の RAM 内に暗号化キーを格納しますが、 この RAMは外部接続

された小さなバッテ リによってバッ クアップされています。 暗号化キーは、 JTAG インターフェイ

スを介してのみデバイスにプログラムできます。 一度プログラムされる と、 JTAG またはその他の

方法によって、 暗号化キーをデバイスから読み出すこ とはできません。

コンフ ィギュレーシ ョ ン実行中、 Virtex-5 デバイスで入力されるビッ ト ス ト リームの復号化が実行

されます。 Virtex-5 AES 暗号化ロジッ クでは、 256 ビッ トの暗号化キーを使用します。

オンチップの AES 復号化ロジッ クは、 ビッ ト ス ト リームの復号化以外の目的には使用できません。

AES 復号化ロジッ クはユーザー デザインでは使用できず、 コンフ ィギュレーシ ョ ン ビ ッ ト ス ト

リーム以外のデータを復号化するために使用するこ とは不可能です。

AES について

Virtex-5 の暗号化システムは、 AES (Advanced Encryption Standard) 暗号化アルゴ リズムを使用し

ます。 AES は、 NIST (National Institute of Standards and Technology) および米国商務省が認証す

る公式規格です (http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf)。

Virtex-5 の AES 暗号化システムは 256 ビッ トの暗号化キー (NIST で指定される代替の 128 ビッ ト

および 192 ビッ トのキーはインプリ メン ト されない) を使用し、一度に 128 ビッ トのデータ ブロ ッ

クを暗号化または復号化します。 NIST による と、 256 ビ ッ ト キーの場合、 キーの組み合わせは

1.1 x 1077 とおりあ り ます。

AES のよ う な対称暗号化アルゴ リ ズムでは、 暗号化と復号化に同一のキーが使用されます。 した

がって、 データの安全性はキーの安全性に依存しています。

図 1-12 : コンフ ィギュレーシ ョ ン信号のシーケンス (デフォルト設定でのスタートアップの場合)

POR

INIT_B

DONE

GWE

GTS

EOS

CCLK

UG191_c1_11_080305

38 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

暗号化されたビッ トス ト リームの作成

ザイ リ ンクス ISE ソフ ト ウェアで提供されている BitGen を使用する と、 暗号化されたビッ ト ス ト

リームおよび暗号化されていないビッ ト ス ト リームを作成できます。 AES 暗号化ビッ ト ス ト リー

ムには、 BitGen の入力と して 256 ビッ ト キーを指定します。 これによ り、 BitGen で暗号化された

ビッ ト ス ト リーム ファ イル (BIT) および暗号化キー ファ イル (NKY) が生成されます。

BitGen のコマンドおよび構文は、 『開発システム リ ファレンス ガイ ド』 を参照して ください。

暗号化キーの読み込み

暗号化キーは、 JTAG インターフェイスを介してのみ Virtex-5 デバイスに読み込みが可能です。 ザイ リ ンクス ISE ソフ ト ウェアで提供されている iMPACT ツールでは、NKY ファ イルを入力と して

指定でき、 サポート されているザイ リ ンクスのプログラム ケーブルを使用して、 JTAG を介してデ

バイスにキーをプログラムします。

キーをプログラムする際、IEEE 1532 仕様に記載されているよ うに、ISC_PROGRAM_SECURITY命令によ りデバイスが特別なキー アクセス モードにな り ます。 このモードでは、暗号化キーおよび

コンフ ィギュレーシ ョ ン メモ リ を含むすべての FPGA メモ リがク リ アされます。 キーがプログラ

ムされる と、 キー アクセス モードは解除され、 いかなる方法でもデバイスからキーを読み出すこ

とはできず、 キーを再プログラムするにはデバイス全体を初期化する必要があ り ます。 このキー アクセス モードは通常ユーザーからは見えないよ うになっています。

暗号化されたビッ トス ト リームの読み込み

デバイスに適切なキーをプログラムする と、暗号化されたビッ ト ス ト リームを使用したデバイス コンフ ィギュレーシ ョ ンが可能になり ます。 このよ う なコンフ ィギュレーシ ョ ン後は、BitGen の設定

に関わらず、 JTAG または SelectMAP リードバッ クによって、 コンフ ィギュレーシ ョ ン メモ リ を

読み出すこ とはできません。

デバイスに暗号化キーが取り込まれた状態のと き、 暗号化されていないビッ ト ス ト リームでデバイ

スをコンフ ィギュレーシ ョ ンできます。 この場合、 キーは無視されます。 また、 暗号化されていな

いビッ ト ス ト リームを使用したコンフ ィギュレーシ ョ ン後は、 リードバッ クが可能です (BitGen のSecurity 設定で設定可能な場合)。 この場合でも、デバイスから暗号化キーを読み出すこ とはできず、

Virtex-5 の暗号化システムを無効にしよ う とする 「 ト ロ イの木馬」 ビッ ト ス ト リームの使用を防止

できます。

暗号化が、コンフ ィギュレーシ ョ ンの方法に影響を与えるこ とはあ り ません。 すべてのモード (シ リ

アル、 JTAG、 または任意の x8 パラレル モード ) で、 すべてのコンフ ィギュレーシ ョ ン ソ リ ュー

シ ョ ン (PROM、 System ACETM コン ト ローラなど) からコンフ ィギュレーシ ョ ン ビッ ト ス ト リー

ムを供給できます。 x16 および x32 バス幅では、 暗号化されたビッ ト ス ト リームはサポート されて

いません。 コンフ ィギュレーシ ョ ンのタイ ミ ングおよび信号送信は、 暗号化の影響を受けません。

暗号化されたビッ ト ス ト リームを使用した場合、外部コンフ ィギュレーシ ョ ン インターフェイスを

使用したパーシャル リ コンフ ィギュレーシ ョ ンはできないため、必ずデバイス全体をコンフ ィギュ

レーシ ョ ン して く ださい。 コンフ ィ ギュ レーシ ョ ン後に リ コンフ ィ ギュ レーシ ョ ンするには、

PROGRAM_B ピンを ト グルするか、電源を再投入するか、または JPROGRAM 命令を発行する必

要があ り ます。 暗号化をオンにする と、 フォールバッ ク リ コンフ ィギュレーシ ョ ンおよび IPROGリ コンフ ィギュレーシ ョ ン (159 ページの 「フォールバッ ク マルチブート 」 を参照) が無効とな り

ます。 リードバッ クは、 ICAP プリ ミ ティブを使用して実行できます ( 「ビ ッ ト ス ト リームの暗号化

および内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAP)」 を参照)。 VBATT または VCCAUX が保持されていれば、 これらのイベン トによってキーがリセッ ト されるこ とはあ り ません。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 39UG191 (v3.5) 2008 年 10 月 29 日

ビッ トス ト リーム暗号化R

暗号化されたビッ ト ス ト リーム内のキーとデバイスに格納されたキーが一致しない場合、 コンフ ィ

ギュレーシ ョ ンは完了せず、 INIT ピンが Lowになり、 DONE ピンが Low のままになり ます。

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

内部コンフ ィギュレーシ ョ ン アクセス ポート (ICAP) プリ ミ ティブを使用する と、ユーザー ロジッ

クで Virtex-5 コンフ ィギュレーシ ョ ン インターフェイスにアクセスできます。 ICAP インターフェ

イ スは SelectMAP インターフェ イス と類似していますが、 コンフ ィ ギュレーシ ョ ン後の リード

バッ クの制限は ICAP インターフェイスには該当しません。 ビッ ト ス ト リームの暗号化を使用した

場合でも、ICAP インターフェイスを介して リードバッ クを実行できます。 ICAP インターフェイス

をユーザー I/O に配線しない限り、ICAP を使用するこ とで Virtex-5 AES 暗号化システムが外部か

ら侵害されるこ とはあ り ません。

デザインの安全性を懸念される場合には、 次のこ とを避けてください。

• ICAP インターフェイスからユーザー I/O への配線

または

• ICAP プリ ミ ティブのインスタンシエーシ ョ ン

その他のコンフ ィギュレーシ ョ ン インターフェイス と同様、ICAP インターフェイスからキー レジ

スタにアクセスするこ とはできません。

VBATT

暗号化キー メモ リ セルは揮発性であ り、 その内容を保持するには、 電源が継続して投入されてい

る必要があ り ます。 通常の動作中、 これらのメモ リ セルの電源は補助電圧入力 (VCCAUX) ですが、

VCCAUX を切断する と、 キーを保持するために VBATT 電源入力が使用されます。 VBATT にはほと

んど電流が流れないため (nA 程度)、 この電源には小さなボタン電池が適しています。 バッテ リの

使用可能期間については、 データシー ト DS202 『Virtex-5 FPGA Data Sheet: DC and SwitchingCharacteristics』 の VBATT DC 特性およびバッテ リの仕様書を参照して ください。 100nA 未満の負

荷では、 バッテ リの使用可能期間はそれ自体の寿命にのみ依存します。

VBATT に電流は流れないため、VCCAUX から電源を供給中に切断できます。 VCCAUX を切断した場

合、 VBATT は暗号化キーの保持以外には使用できません。

40 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 41UG191 (v3.5) 2008 年 10 月 29 日

R

第 2 章

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

Virtex®-5 デバイスには、6 つのコンフ ィギュレーシ ョ ン インターフェイスがあ り ます。 表 2-1 に示

すよ うに、各インターフェイスは 1 つ以上のコンフ ィギュレーシ ョ ン モードおよびバス幅に対応し

ます。

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

シ リアル コンフ ィギュレーシ ョ ン モードの場合、 CCLK の 1 サイクルごとに 1 コンフ ィギュレー

シ ョ ン ビッ ト を読み込むこ とによ り、 FPGA がコンフ ィギュレーシ ョ ンされます。

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

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

図 2-1 に、 Virtex-5 の基本的なシ リ アル コンフ ィギュレーシ ョ ン インターフェイスを示します。

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

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

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

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

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

表 2-1 : Virtex-5 コンフ ィギュレーシ ョ ン モード

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

マスタ シ リアル(2) 000 1 出力

マスタ SPI(2) 001 1 出力

マスタ BPI-Up(2) 010 8、 16 出力

マスタ BPI-Down(2) 011 8、 16 出力

マスタ SelectMAP(2) 100 8、 16 出力

JTAG 101 1 入力 (TCK)

スレーブ SelectMAP 110 8、 16、 32 入力

スレーブ シ リアル 111 1 入力

メモ :

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

2. マスタ コンフ ィギュレーシ ョ ン モードでは、 CCLK ピンが Virtex-5 の内部コンフ ィギュレーシ ョ ン ロジッ ク用のク ロ ッ ク ソースです。 内部コンフ ィギュレーシ ョ ン ロジッ クのダブル ク ロ ッキングを回避するため、 Virtex-5 CCLK 出力ピンで反射が起きないよ うにする必要があ り ます。 詳細は、 「コンフ ィギュレーシ ョ ン ク ロ ッ ク (CCLK) のボード レイアウ ト 」 セクシ ョ ンを参照して ください。

42 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

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

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

表 2-2 : Virtex-5 FPGA のシリアル コンフ ィギュレーシ ョ ン インターフェイス ピン

ピン名 タイプ専用または

多目的説明

M[2:0] 入力 専用コンフ ィギュレーシ ョ ン モードを決定する

モード ピン。

CCLK 入力または

出力専用

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

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

D_IN 入力 専用シ リ アル コンフ ィギュレーシ ョ ン データ入力

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

DOUT_BUSY 出力 専用デイジー チェーンの下位デバイスのシ リアル データ出力。

DONE

双方向、

オープン ド レイン、

または

アクティ ブ

専用

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

ブ High の信号。

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

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

ソフ ト ウェア設定については、 『開発システム リ ファレンス ガイ ド』 の 「BitGen」 を参照して

ください。

INIT_B

入力または

出力、

オープン ド レイン

専用

モード ピンを読み込む前は入力で、 Low に保持

するこ とによってコンフ ィギュレーシ ョ ンを遅

延させるこ とができます。

モード ピンを読み込んだ後は、 オープン ド レイ

ンのアクティ ブ Low 出力になり 、 コンフィ ギュ

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

0 = CRC エラー

1 = CRC エラーなし

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

DOUT

DONE

CCLK

PROGRAM_B

INIT_B

D_IN

M[2:0]

UG191_c2_01_072407

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 43UG191 (v3.5) 2008 年 10 月 29 日

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

シリアル コンフ ィギュレーシ ョ ン データのクロック

図 2-2 に、 スレーブ/マスタ シ リアル モードの Virtex-5 への、 コンフ ィギュレーシ ョ ン データのク

ロ ッ ク シーケンスを示します。

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

1. ビッ ト 0 は、 初のバイ トの MSB です。 たとえば 初のバイ トが 0xAA (1010_1010) の場

合、 ビッ ト 0 = 1、 ビッ ト 1 = 0、 ビッ ト 2 = 1 とな り ます。

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

み込みが完了するまで遷移しません。

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

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

図 2-3 に示すよ うに、マスタ シ リアル モードでは、ザイ リ ンクスのコンフ ィギュレーシ ョ ン PROMから FPGA をコンフ ィギュレーシ ョ ンできます。

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

PROGRAM_B

INIT_B

CCLK

DONE

D_IN

CLK (2)

CCLK

UG191_c2_02_072407

BIT 0(1) BIT 1 BIT n BIT n+1

BIT n-63BIT n-64 DOUT /

D_IN

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

Xilinx Platform Flash PROM

Virtex-5MasterSerial

DATA DOUT

INIT_B

D_IN

CCLK

PROGRAM_B

DONE

M2

M0 M1

CLK

CF

CE

RESET/OE

PROGRAM_B UG191_c2_03_041808

(2)(1)

(7)

(7)

4.7 kΩ330Ω4.7 kΩ

44 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

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

1. DONE ピンは、デフォルトでは外部プルアップ抵抗が必要なオープン ドレイン出力です。 この

ピンにはプログラム可能なアクテ ィブ ド ラ イバがあ り ます。 これを使用するには、 BitGen でDriveDONE オプシ ョ ンを有効にしてください。

2. INIT_B ピンは、 双方向オープン ドレイン ピンで、 外部プルアップ抵抗が必要です。

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

る必要があ り ます。

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

PROM をカスケード接続する と、 コンフ ィギュレーシ ョ ン データの格納容量を拡大できます。

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

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

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

RESET をアクティブ Low に設定して ください。

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

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

8. マスタ シ リアル モードのコンフ ィギュレーシ ョ ンは、 Platform Flash XCFS および XCFPPROM でのみ使用可能です。

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

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

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

スをコンフ ィギュレーシ ョ ンする と きに使用します。 スレーブ シ リ アル コンフ ィギュレーシ ョ ン

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

CCLK は外部のクロ ッ ク ソースから駆動する必要があ り ます。

シリアル デイジー チェーン

デバイスをシ リアル デイジー チェーン接続する と、単一 コンフ ィギュレーシ ョ ン ソースから複数

の Virtex-5 デバイスのコンフ ィギュレーシ ョ ンが可能にな り ます。 シ リ アル デイジー チェーンで

は、 デバイスは D_IN ピンでコンフ ィギュレーシ ョ ン データを受信し、 DOUT ピンから受信した

コンフ ィ ギュレーシ ョ ン データを下位デバイスへ伝搬します。 コンフ ィ ギュレーシ ョ ン データ

ソースに も近いデバイスを 上位デバイス、 ソースから も遠いデバイスを 下位デバイス と呼

びます。

シ リ アル デイジー チェーンの場合、 コンフ ィギュレーシ ョ ン ク ロ ッ クは、 通常マスタ シ リ アル

モードの 上位デバイスから供給されます。 その他すべてのデバイスは、スレーブ シ リアル モード

に設定されます。 図 2-4 に、 このコンフ ィギュレーシ ョ ンを示します。

初のデバイスに SPI モードを使用する方法もあ り ます。 SPI モードの場合も、 デイジー チェーン

のデータは DOUT から出力されます。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 45UG191 (v3.5) 2008 年 10 月 29 日

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

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

1. DONE ピンは、 デフォルト では、 外部プルアッ プ抵抗が必要なオープン ド レイン出力です。

初のデバイスを除く すべてのデバイスで、 DONE ピンのアクティ ブ ド ライバを無効にしてく だ

さい。 チェーンの 初のデバイスでは、 DONE ピンのアク ティ ブ ド ラ イバを有効にできます。

詳細は、 「シ リ アル デイジー チェーンのガイ ド ラ インおよび考慮事項」 を参照して ください。

2. INIT_B ピンは、 双方向オープン ドレイン ピンで、 外部プルアップ抵抗が必要です。

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

る必要があ り ます。

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

クス PROM をカスケード接続する と、 コンフ ィギュレーシ ョ ン データの格納容量を拡大でき

ます。

5. BIT ファ イルは、PROM に格納する前に PROM ファ イルに変換する必要があ り ます。「PROMファ イルの生成」 を参照してください。

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

RESET をアクティブ Low に設定して ください。

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

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

8. シリ アル デイジー チェーンは、 Platform Flash XCFS および XCFP PROM でのみ使用可能

です。

シ リ アル デイジー チェーンの 初のデバイスが 後にコンフ ィギュレーシ ョ ンされます。 CRCチェッ クでは、 コンフ ィギュレーシ ョ ン中のデバイスのデータのみがチェッ ク され、 ほかのデバイ

スはチェッ ク されません (第 1 章 の 「CRC (Cyclic Redundancy Check) (手順 7)」 を参照)。

チェーンの 後のデバイスがコンフ ィギュレーシ ョ ンされ、CRC チェッ クでエラーが検出されない

場合、 スタート アップ シーケンスが開始します。 スタート アップ シーケンスの DONE ピンの解放

フェーズでは、 チェーンの 後から 2 番目のデバイスがコンフ ィ ギュレーシ ョ ン されている間

DONE ピンがハイインピーダンスにな り ます。 すべてのデバイスの DONE ピンが解放される と、

共通の DONE 信号が外部から High にプルアップされるか、 またはチェーンの 初のデバイスで

High 駆動されます。 次の CCLK の立ち上がりエッジで、 すべてのデバイスが DONE ピンの解放

フェーズから移行し、 スタート アップ シーケンスが完了します。

図 2-4 : マスタ /スレーブ シリアル モードのデイジー チェーン コンフ ィギュレーシ ョ ン

Virtex-5 FPGAMasterSerial

DATA DOUT

INIT_B

D_IN

CCLK

PROGRAM_B

DONE

M2

M0 M1

CLK

CF

CE

RESET/OE

PROGRAM

Virtex-5 FPGASlaveSerial

DOUT

INIT_B

D_IN

CCLK

PROGRAM_B

DONE

(2)

M2

M0 M1

UG191_c2_04_041808

(1)

(7)

(7)

4.7 kΩ330Ω

Xilinx Platform Flash PROM

46 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

スレーブ シ リアル デイジー チェーンのすべての DONE ピンが接続されている必要があ り ます。 また、 シ リ アル デイジー チェーンの 初のデバイスでのみ、 DONE のアクティブなプルアップ ド ラ

イバを有効にします。 ダウンス ト リーム デバイスで DONE のド ライバを有効にする と、 DONE 信号の競合が発生します。

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

Virtex-5 デバイスは、Virtex、SpartanTM-II、Virtex-E、Spartan-IIE、Virtex-II、Virtex-II Pro、Spartan-3、および Virtex-4 デバイス ファ ミ リ とデイジー チェーン接続できます。 デバイスが混在したシ リ ア

ル デイジー チェーン接続では、 次の 3 つの重要な項目を考慮する必要があ り ます。

• 旧型デバイスの多くは、 Virtex-5 デバイスが生成する高速な CCLK 周波数に対応できません。

チェーン接続しているすべてのデバイスがサポート可能な CCLK 周波数を選択してください。

• Virtex-5 デバイスは常に、シ リ アル デイジー チェーンの 初に配置し、旧ファ ミ リのデバイス

はチェーンの 後に配置してください。

• すべての Virtex デバイス ファ ミ リには、 類似した BitGen オプシ ョ ンがあ り ます。 Virtex-5 のBitGen オプシ ョ ンのガイ ド ラ インは、シ リ アル デイジー チェーン接続された Virtex ベースの

すべてのデバイスに適用されます。

• デバイスが、 DOUT ピンを通過させるこ とができるコンフ ィギュレーシ ョ ン ビッ ト数には制

限があ り、 これはデバイス ファ ミ リ ご とに異なり ます (表 2-3)。 下位デバイスすべてのビッ ト

ス ト リーム長の合計が、表 2-3 に示す各デバイス ファ ミ リの制限値を超えないよ うにしてくだ

さい。

シリアル デイジー チェーンのガイ ド ラインおよび考慮事項

シ リアル デイジー チェーンの場合、 考慮すべき項目が多数あ り ます。

スタートアップ シーケンス (GTS)

GTS のリ リースは、 DONE のサイクルよ り前または同じサイクルで行い、 すべての DONE ピンが

リ リースされたと きに Virtex-5 デバイスが確実に動作を開始できるよ うにします。

アクテ ィブ DONE ド ライバ

初のデバイスを除くデバイスすべての DONE ピンのド ラ イバを有効にして ください (ソ フ ト

ウェア設定については、 『開発システム リ ファレンス ガイ ド』 の 「BitGen」 を参照)。 チェーンの

初のデバイスが 後にプログラムされます。

• DriveDone ディ スエーブル ( 初のデバイス以外すべて)

• DriveDone イネーブル ( 初のデバイス)

また、 すべての DONE ピンのド ラ イバを無効にし、 外部プルアップ抵抗を追加して、 すべてのデ

バイスが DONE ピンを リ リースした後に信号を High にプルアップする方法もあ り ます。

表 2-3 : デバイス ファ ミ リ別のコンフ ィギュレーシ ョ ン ビッ ト数の 大値

アーキテクチャ 大 DOUT ビッ ト数

Virtex-5、 Virtex-4、 Virtex-II Pro、 Virtex-II デバイス 32 x (227 – 1) = 4,294,967,264

Spartan-3 デバイス 32 x (227 – 1) = 4,294,967,264

Virtex、 Virtex-E、 Spartan-II、 および Spartan-IIE デバイス 32 x (220 – 1) = 33,554,216

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 47UG191 (v3.5) 2008 年 10 月 29 日

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

すべての DONE ピンを接続

シ リ アル デイジー チェーンに接続されたすべてのデバイスの DONE ピンを接続して ください。

DONE ピンを接続していないと コンフ ィギュレーシ ョ ンできません。 デバッグ用に、共通の DONE信号から個々の DONE ピンを未接続にできるよ うにし、 シ リ アルまたは JTAG インターフェイス

を使用してデバイスを個別にコンフ ィギュレーシ ョ ンできるよ うにしておく と便利です。

DONE ピンの立ち上がり時間

すべての DONE ピンが解放された後、 DONE ピンは CCLK の 1 サイ クル以内にロジッ ク 0 から

ロジッ ク 1 に立ち上がる必要があ り ます。 これには、外部プルアップ抵抗が必要です。 DONE 信号

が立ち上がるのに追加の時間を要する場合は、 シ リ アル デイジー チェーンのすべてのデバイスに

BitGen の donepipe オプシ ョ ンを設定して ください。 ソフ ト ウェア設定については、『開発システ

ム リ ファレンス ガイ ド』 の 「BitGen」 を参照してください。

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

ギャング シ リ アル コンフ ィギュレーシ ョ ンを使用する と、 同じビッ ト ス ト リームから複数のデバ

イスを同時にコンフ ィギュレーシ ョ ンできます (図 2-5 を参照)。 この構成では、シ リ アル コンフ ィ

ギュレーシ ョ ン ピンが図に示すよ うに結合されるので、各デバイスにおける信号遷移が同一になり

ます。 通常は CCLK を駆動するために 1 つのデバイスをマスタ シ リアル モードに設定し、 その他

のデバイスをスレーブ シ リ アル モードに設定しますが、 ギャング シ リアル コンフ ィギュレーシ ョ

ンでは、すべてのデバイスを同一に設定する必要があ り ます。 コンフ ィギュレーシ ョ ンは PROM または外部コンフ ィギュレーシ ョ ン コン ト ローラで実行されます。

48 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

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

1. 1 つのデバイスがマスタ モードに設定されている場合、 すべてのデバイスを CCLK の同じサ

イクルでスタート アップできない可能性があるため、ギャング シ リアル コンフ ィギュレーシ ョ

ンでは、 すべてのデバイスの DONE ド ラ イバ (オプシ ョ ン) を無効にする必要があ り ます。 これには、 外部プルアップ抵抗が必要となり ます。

2. INIT_B ピンは、 双方向オープン ドレイン ピンで、 外部プルアップ抵抗が必要です。

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

る必要があ り ます。

4. この図の PROM は、 1 つまたは複数のザイ リ ンクス PROM を示します。 複数の PROM をカ

スケード接続する と、 コンフ ィギュレーシ ョ ン データの格納容量を拡大できます。

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

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

6. ザイ リ ンクス PROM では、リセッ ト ピンの極性がプログラム可能です。 この設定では、RESETをアクティブ Low に設定してください。

7. ギャング シ リ アル コンフ ィギュレーシ ョ ンでは、 すべてのデバイスが同一 (IDCODE が同じ)で、 1 つのビッ ト ス ト リームを使用してコンフ ィギュレーシ ョ ンする必要があ り ます。

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

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

図 2-5 : ギャング シリアル コンフ ィギュレーシ ョ ン

(2)

DATA[0:7]

CCLK

D[0:7]

CCLK

PROGRAM_B

D[0:7]

CCLK

PROGRAM_B

DONE

DONE

BUSY

BUSY

INIT_B

RDWR_B

CS_B

RDWR_B

CS_B

INIT_B

CE

RESET/OE

CF

ug191_c2_09_090408

XilinxPlatform PROM Virtex-5 FPGA

SelectMAPMaster

Virtex-5 FPGASelectMAP

Slave

(1)

M2

M1 M0

M2

M1 M0

(10)

(10)

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 49UG191 (v3.5) 2008 年 10 月 29 日

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

9. ギャング シ リ アル コンフ ィギュレーシ ョ ンは、 Platform Flash XCFS および XCFP 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 の donepipe オプシ ョ ン

を設定してください。

• ボード レイアウ ト用ク ロッ ク信号と してのコンフ ィギュレーシ ョ ン クロ ッ ク (CCLK)

CCLK 信号は比較的低速ですが、 Virtex-5 入力バッファのエッジ レー ト は非常に高速です。

CCLK 信号でわずかなシグナル インテグ リ テ ィの問題が発生しただけで、 コンフ ィギュレー

シ ョ ンが正常に完了しない可能性があ り ます (エラーが発生しやすいモード : DONE Low、

INIT_B High)。 そのため、 シグナル インテグ リティが重要となるデザインでは、 IBIS を使用

したシグナル インテグ リティのシ ミ ュレーシ ョ ンなどの実行を推奨します。

• 信号のファンアウ ト

ギャング シ リ アル コンフ ィギュレーシ ョ ンを使用する際は、 優れたシグナル インテグ リティ

を実現する必要があ り ます。 このため、 シグナル インテグ リティのシ ミ ュレーシ ョ ンの実行を

推奨します。

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

ギャング シ リ アル コンフ ィギュレーシ ョ ンの PROM ファ イルは、 単一デバイスのコンフ ィ

ギュレーシ ョ ンに使用する PROM ファ イルと類似しています。 PROM ファ イルに関するガイ

ド ラインは特にあ り ません。

50 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

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

SelectMAP コンフ ィギュレーシ ョ ン インターフェイス (図 2-6) は、 コンフ ィギュレーシ ョ ンおよ

びリードバッ ク用に Virtex-5 のコンフ ィギュレーシ ョ ン ロジッ クに接続する 8 ビッ ト、16 ビッ ト、

32 ビッ ト の双方向バス インターフェイスです。 (詳細は、 第 7 章 「 リードバッ クおよび コンフ ィ

ギュレーシ ョ ンの検証」 を参照)。 SelectMAP のバス幅は自動的に検出されます ( 「バス幅の自動検

出」 を参照)。

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

SelectMAP バスを使用し、 複数の Virtex-5 デバイスをコンフ ィギュレーシ ョ ンできます。

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

• 単一デバイス マスタ SelectMAP

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

• 複数デバイスの SelectMAP バス

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

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

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

表 2-4 : Virtex-5 SelectMAP コンフ ィギュレーシ ョ ン インターフェイス ピン

ピン名 タイプ専用または

多目的説明

M[2:0] 入力 専用コンフ ィギュレーシ ョ ン モードを決定するモー

ド ピン。

CCLK 入力および

出力専用

JTAG を除く、すべてのコンフ ィギュレーシ ョ ン モードのコンフ ィギュレーシ ョ ン ク ロ ッ ク ソース。

D[31:0]ト ラ イ

ステート

双方向

多目的

コンフ ィギュレーシ ョ ンおよびリードバッ ク バス。 CCLK の立ち上がりエッジでデータが供給

されます。 「パラレル バスのビッ ト順」 および表 1-2 を参照して ください。

BUSY

DONE

CCLK

PROGRAM_B

INIT_B

D[31:0]

M[2:0]

CS_B

RDWR_B

CSO_B

UG191_c2_10_072407

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 51UG191 (v3.5) 2008 年 10 月 29 日

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

BUSYト ラ イ

ステート

出力

専用

デバイスで リードバッ ク データを送信する準備

ができていないこ とを示します。 Virtex-5 デバイ

スでは、 リードバッ クでのみ必要で、 コンフ ィ

ギュレーシ ョ ンでは必要あ り ません ( 「SelectMAP データ読み込み」 を参照)。

DONE

双方向

オープン ドレインまたは

アクティ ブ

専用

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

ブ High の信号。

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

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

INIT_B入力または出

力、オープン ドレイン

専用

モード ピンが読み込まれる前は入力で、 Low に保持するこ とでコンフ ィギュレーシ ョ ンを遅延

できます。

モード ピンが読み込まれた後は、 オープン ド レ

イ ンのアク ティ ブ Low 出力と なり 、 コンフィ

ギュレーショ ン中の CRC エラーの有無を示し

ます。

0 = CRC エラー

1 = CRC エラーなし

SEU 検出ファンクシ ョ ンが有効の場合、 リード

バッ ク CRC エラーが検出される と Low に駆動

されます (オプシ ョ ン)。

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

CS_B 入力 専用

アクティブ Low チップ セレク トで、SelectMAP データ バスを有効にします ( 「SelectMAP デー

タ読み込み」 を参照)。

0 = SelectMAP データ バスは有効

1 = SelectMAP データ バスは無効

RDWR_B 入力 専用

D[x:0] データ バスの方向を指定します ( 「SelectMAP データ読み込み」 を参照) 。

0 = 入力

1 = 出力

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

でき、 それ以外の場合に変更する と ABORT が発生します ( 「SelectMAP の ABORT」 参照)。

CSO_B 出力 多目的

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

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

表 2-4 : Virtex-5 SelectMAP コンフ ィギュレーシ ョ ン インターフェイス ピン (続き)

ピン名 タイプ専用または

多目的説明

52 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

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

高パフォーマンス Platform Flash XL SelectMAP コンフ ィギュレーシ ョ ン

Platform Flash XL は、 高パフォーマンス Virtex-5 FPGA コンフ ィギュレーシ ョ ン用に 適化され

ており、 簡単に使用できます。 Platform Flash XL には 128Mb のインシステム プログラマブル フラ ッシュ ス ト レージが組み込まれており、フッ トプ リ ン トの小さい FT64 パッケージ内にコンフ ィ

ギュレーシ ョ ンできます。パワーオン バース ト読み出しモードおよび専用 I/O 電源によ り、Virtex-5FPGA SelectMAP コンフ ィギュレーシ ョ ン インターフェイス とシームレスに統合できます。 幅の

広い 16 ビッ トのデータ バスでは、FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームを待ち状態な

しで 高 800Mb/s の速度で転送できます。 図 2-7 に、 Virtex-5 FPGA の Platform Flash XL コン

フ ィギュレーシ ョ ン ソ リ ューシ ョ ンの略図を示します。

Virtex-5 FPGA のコンフ ィギュレーシ ョ ンでは、高速でコンフ ィギュレーシ ョ ンするため、PlatformFlash XL で 16 ビッ ト SelectMAP 機能が活用されます。 スレーブ SelectMAP モードで、 コンフ ィ

ギュレーシ ョ ン ク ロ ッ クを外部フ リー ランニング オシレータで駆動する と、 コンフ ィギュレー

シ ョ ン時間が 短になり ます。Platform Flash XL の詳細は、データシート DS617 『Platform FlashXL High-Density Configuration and Storage Device』 を参照して ください。

コンフ ィ ギュレーシ ョ ン後、 Platform Flash XL のビ ッ ト ス ト リーム以外の残り の メモ リ空間を

Virtex-5 FPGA で使用できます。Platform Flash XL では、BPI NOR フラ ッシュ インターフェイス

規格が使用されています。 Platform Flash XL には、 SelectMAP コンフ ィギュレーシ ョ ンにも使用

される 16 ビッ ト データ バスに加え、 ランダム アクセス読み出しおよび CFI 準拠のコマンドの送

信用に、 標準アドレス バス と読み出し /書き込み制御ピンがあ り ます。

プロ ト タ イプ デザインでは、 ISE® iMPACT ソフ ト ウェアによ り、 Virtex-5 FPGA の IEEE 規格

1149.1 (JTAG) ポート を使用して、 間接的に Platform Flash XL をプログラムできます。 あらかじ

め生成したデザイン ビッ ト ス ト リームを iMPACT ソフ ト ウェアを使用して Virtex-5 FPGA にダウ

ンロード し、 この Virtex-5 FPGA によ り FPGA JTAG ポー ト と FPGA BPI フラ ッシュ コンフ ィ

ギュレーシ ョ ン インターフェイスを接続します。 FPGA BPI フラ ッシュ コンフ ィギュレーシ ョ ン

インターフェイスは、 FPGA SelectMAP インターフェイスのスーパーセッ トです。 Platform FlashXL の標準アドレス ピンおよび制御ピンを対応する FPGA BPI フラ ッシュ インターフェイス ピン

に接続する と、図 2-8 に示すよ うに、 iMPACT を使用して Platform Flash XL をプロ ト タイプ デザ

インのビッ ト ス ト リームで間接的にプログラムできます。

図 2-7 : Platform Flash XL による高パフォーマンス FPGA のコンフ ィギュレーシ ョ ン

50MHz

(16 )

Virtex-5 FPGA

Sele

ctM

AP

Platform Flash XL

READY_WAIT

FPGA (����)

UG191_c2_28_051208

800Mb/s

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 53UG191 (v3.5) 2008 年 10 月 29 日

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

Virtex-5 FPGA の SelectMAP コンフ ィ ギュ レーシ ョ ン設定の詳細および iMPACT を使用した

Platform Flash XL の間接的なプロ グ ラ ムについては、 『Platform Flash XL Configuration andStorage Device User Guide』 (UG438) を参照して ください。

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

SelectMAP モードの単一デバイスのコンフ ィギュレーシ ョ ンでは、図 2-9 に示すよ うに、 コンフ ィ

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

SelectMAP モードに設定され、継続的にデータの読み込みを実行するため RDWR_B および CS_Bピンがグランドに接続されています ( 「SelectMAP データ読み込み」 を参照)。

図 2-8 : Platform Flash XL の間接的なプログラム

JTAG

Platform Flash XL

NO

R

FPGA (����)

Virtex-5 FPGA

Platform Flash XL

IEEE

114

9.1

(JTA

G)

BPI Platform Flash XL

FPGAPlatform Flash XL

UG191_c2_29_051208

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

UG191_c2_11_041808

Virtex-5 FPGAMaster

SelectMAP

D[0:X]

PROGRAM_B

CCLK

DONE

INIT_B

DATA[0:X]

CCLK

CF

CE

RDWR_B

CS_B

RESET/OE

(2)(1)

M0

M1

M2

(10)

(10)

4.7 kΩ330Ω

Xilinx Platform Flash PROM

54 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

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

1. DONE ピンは、デフォルトでは外部プルアップ抵抗が必要なオープン ドレイン出力です。 この

接続では、アクティブ DONE ド ライバを有効にできるため、外部プルアップ抵抗は不要です。

INIT_B ピンは双方向オープン ド レイン ピンで、 外部プルアップ抵抗が必要です。 Platform FlashXL デバイ スに推奨される値は、 データ シー ト DS617 『Platform Flash XL High-DensityConfiguration and Storage Device』 を参照して ください。

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

定する必要があ り ます。

3. この図の PROM は、 1 つまたは複数のザイ リ ンクス PROM を示します。 複数の PROM をカ

スケード接続する と、 コンフ ィギュレーシ ョ ン データの格納容量を拡大できます。

4. BIT ファ イルは、 PROM に格納する前に PROM ファ イルに変換する必要があ り ます。 詳細は、 「PROM ファ イルの生成」 を参照して ください。

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

RESET をアクティブ Low に設定して ください。

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

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

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

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

8. この場合、 BUSY 信号をモニタする必要はなく、 未接続でも問題あ り ません ( 「SelectMAPデータ読み込み」 を参照)。

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

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

10. マスタ SelectMAP コンフ ィギュレーシ ョ ンでは、 D バスを x8 または x16 にできます。

11. プラ ッ ト フォーム フラ ッシュ PROM の SelectMAP コンフ ィギュレーシ ョ ンは、 PlatformFlash XCFS および XCFP PROM でのみ使用可能です。

マイクロプロセッサを使用した SelectMAP コンフ ィギュレーシ ョ ン

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

るカスタム アプリ ケーシ ョ ンでは、 マスタ SelectMAP モード (FPGA からの CCLK を使用) また

はスレーブ SelectMAP モードを使用できますが (図 2-10 を参照)、 スレーブ SelectMAP モードが

推奨されます。 マイ ク ロプロセッサを使用した Virtex デバイスのコンフ ィギュレーシ ョ ンの詳細

は、 アプ リケーシ ョ ン ノート XAPP502 『Using a Microprocessor to Configure Xilinx FPGAs viaSlave Serial or SelectMAP Mode』 を参照して ください。 CS_B、 RDWR_B および BUSY 信号の

使用方法は、 このアプリケーシ ョ ン ノート を参照して ください。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 55UG191 (v3.5) 2008 年 10 月 29 日

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

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

1. この図は、 XAPP502 からの抜粋ですが、 ほかにも多くのインプ リ メンテーシ ョ ン方法があ り

ます。

2. DONE ピンは、デフォルトでは外部プルアップ抵抗が必要なオープン ドレイン出力です。 この

接続では、 アクティブ DONE ド ラ イバを有効にできるため、 外部プルアップ抵抗は不要です。

3. INIT_B ピンは、 双方向オープン ドレイン ピンで、 外部プルアップ抵抗が必要です。

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

定する必要があ り ます。

5. リードバッ クが不要な場合は、 BUSY 信号を未接続にできます。

6. 1 つの FPGA のみをコンフ ィギュレーシ ョ ンする場合にリードバッ クが不要であれば、 CS_Bおよび RDWR_B 信号をグランドに接続できます。

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

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

8. スレーブ SelectMAP コンフ ィギュレーシ ョ ンでは、D バスを x8、x16、または x32 にできます。

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

スレーブ SelectMAP モードの複数の Virtex-5 デバイスは、共通の SelectMAP バスに接続可能です

(図 2-11 を参照)。 SelectMAP バスでは、DATA、CCLK、RDWR_B、BUSY、PROGRAM_B、DONE、および INIT_B ピンがすべてのデバイスで共有されます。 各デバイスに個別にアクセスできるよ う

にするには、 CS_B (チップ セレク ト ) 入力を共有接続にしないでください。 CS_B 信号の外部制御

が必要ですが、 これは通常マイク ロプロセッサまたは CPLD によって提供されます。

コンフ ィギュレーシ ョ ン後にリードバッ クを実行する場合、RDWR_B 信号および BUSY 信号を適

切に使用して ください (詳細は、 第 7 章 「リードバッ クおよび コンフ ィギュレーシ ョ ンの検証」 を参照)。

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

CPLDVirtex-5

SelectMAP

UG191_c2_12_072407

ADDRESS

DATA

CSO

CS1

WE

OE

PROGRAM_B

CS_B

RDWR_B

CCLKD[0:x]

INIT_BDONE

BUSY

(3)(2)(7)

(7)

4.7

330Ω

56 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

リードバッ クを実行しない場合は、RDWR_B を Low に接続し、BUSY を未接続にできます。 初期

の Virtex デバイス と異な り、Virtex-5 デバイスのコンフ ィギュレーシ ョ ン時に、BUSY 信号をモニ

タする必要はあ り ません。 詳細は、 第 1 章 の 「ビッ ト ス ト リームの読み込み (手順 4 ~ 7)」 および

第 7 章 「リードバッ クおよび コンフ ィギュレーシ ョ ンの検証」 を参照してください。

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

1. DONE ピンは、デフォルトでは外部プルアップ抵抗が必要なオープン ドレイン出力です。 この

接続では、 アクティブ DONE ド ライバを無効にしてください。

2. INIT_B ピンは、 双方向オープン ドレイン ピンで、 外部プルアップ抵抗が必要です。

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

定する必要があ り ます。

4. リードバッ クが不要な場合は、 BUSY 信号を未接続にできます。

5. コンフ ィギュレーシ ョ ンを制御するため、マイ クロプロセッサまたは CPLD のよ う な外部コン

ト ローラが必要です。

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

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

7. データ バスは x8、 x16、 x32 にできます。

図 2-11 : 8 ビッ ト の SelectMAP バスを使用した複数のスレーブ デバイスの

コンフィ ギュレーショ ン

PROGRAMINIT

DONE

Virtex-5Slave

SelectMAP

INIT_B

D[7:0]

CCLK

RDWR_B

BUSY

CS_B

PROGRAM_B

DONE

M0

M1 M2

CS(1)

UG191_c2_13_072407

Virtex-5Slave

SelectMAP

INIT_B

D[7:0]

CCLK

RDWR_B

BUSY

CS_B

DATA[7:0]CCLK

WRITEBUSY

PROGRAM_B

DONE

M0

M1 M2

CS(0)

(1) (2)

(6)

(6)

4.7 kΩ 330Ω

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 57UG191 (v3.5) 2008 年 10 月 29 日

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

パラレル デイジー チェーン

Virtex-5 FPGA のコンフ ィギュレーシ ョ ンでは、パラレル デイジー チェーンがサポート されます。 図 2-12 に、 初のデバイスが BPI モードの例を示します。 初のデバイスは、 マスタあるいはス

レーブ SelectMAP モードにできます。 すべてのデバイス間では、 D[15:0]、 CCLK、 RDWR_B、

PROGRAM_B、 DONE、 INIT_B ピンが共有接続で、 CS_B ピンはデイジー チェーン接続されて

います。

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

1. DONE ピンは、デフォルトでは外部プルアップ抵抗が必要なオープン ドレイン出力です。 この

接続では、 アクティブ DONE ド ライバを必ず無効にしてください。

2. INIT_B ピンは、 双方向オープン ドレイン ピンで、 外部プルアップ抵抗が必要です。

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

定する必要があ り ます。

4. リードバッ クが不要な場合は、 BUSY 信号を未接続にできます。

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

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

6. FCS_B、 FWE_B、 FOE_B、 CSO_B の弱いプルアップ抵抗は有効にしてください。 無効の場

合は、 各ピンに対して外部プルアップ抵抗が必要とな り ます。 デフォルト では、 コンフ ィギュ

レーシ ョ ン後、 すべての多目的 I/O に弱いプルアップ抵抗が付きます。

7. チェーンの 初のデバイスは、 マスタ SelectMAP、 スレーブ SelectMAP、 BPI-Up、 または

BPI-Down にできます。

8. リードバッ クは、 現時点ではパラレル デイジー チェーンではサポート されていません。

9. AES 復号化は x16 または x32 モードでは使用できず、x8 モードでのみサポート されています。

図 2-12 : パラレル デイジー チェーン

UG191_c2_14_090808

Flash

A[25:0]D[15:0]FCS_BFOE_BFWE_B

Virtex-5FPGA

A[25:0]D[15:0]FCS_BFOE_BFWE_B

BUSYINIT_BDONE

CSO_B

CCLK

M2 M1 M0

0

Virtex-5FPGA

D[15:0]CS_BRDWR_BCCLK

BUSYINIT_BDONE

CSO_B

M2 M2M1 M0

Virtex-5FPGA

D[15:0]CS_BRDWR_BCCLK

BUSYINIT_BDONE

CSO_B NoConnect

M[2:0]=Slave SelectMAP

M1 M0

M[2:0]=Slave SelectMAPBPI UP

1 0 1 1 0 1 1 0

330Ω

330Ω

330Ω

4.7

58 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

ギャング SelectMAPギャング SelectMAP コンフィ ギュレーショ ンを使用するこ と によっても 、 1 つのコンフィ ギュレー

ショ ン ビッ ト スト リ ームから複数のデバイスを同時にコンフィ ギュレーショ ンできます。 ギャング

SelectMAP コンフィ ギュレーショ ンの接続では、すべてのデバイスが D ピンに出力されるデータを

認識できるよう にするため、複数デバイスの CS_B ピンが共有接続 (またはグランド 接続) されます。

外部オシレータがある場合は、 すべてのデバイスをスレーブ SelectMAP モードに設定するか、 ま

たは図 2-13 に示すよ うに、 1 つのデバイスをマスタ と して設定できます。

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

1. DONE ピンは、デフォルトでは外部プルアップ抵抗が必要なオープン ドレイン出力です。 この

接続では、 両デバイスに対してアクティブ DONE ド ライバを必ず無効にしてください。

2. INIT_B ピンは、 双方向オープン ドレイン ピンで、 外部プルアップ抵抗が必要です。

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

定する必要があ り ます。

4. ギャング SelectMAP コンフ ィギュレーシ ョ ンでは、 BUSY 信号は使用しません。

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

PROM をカスケード接続する と、 コンフ ィギュレーシ ョ ン データの格納容量を拡大できます。

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

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

図 2-13 : ギャング x8 SelectMAP コンフ ィギュレーシ ョ ン

(2)

DATA[0:7]

CCLK

D[0:7]

CCLK

PROGRAM_B

D[0:7]

CCLK

PROGRAM_B

DONE

DONE

BUSY

BUSY

INIT_B

RDWR_B

CS_B

RDWR_B

CS_B

INIT_B

CE

RESET/OE

CF

UG191_c2_15_041808

XilinxPlatform Flash

PROM

Virtex-5 FPGASelectMAP

Master

Virtex-5 FPGASelectMAP

Slave

(1)

M2

M1 M0

M2

M1 M0

(10)

(10)

4.7 kΩ

330Ω

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 59UG191 (v3.5) 2008 年 10 月 29 日

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

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

RESET をアクティブ Low に設定して ください。

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

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

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

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

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

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

11. ギャング SelectMAP コンフ ィギュレーシ ョ ンは、 Platform Flash XCFS および XCFP PROMでのみ使用可能です。

1 つのデバイスをマスタにした場合、すべてのデバイスの DONE ピンを接続し、アクティブ DONEド ライバを無効にする必要があ り ます。 これには、共通の DONE 信号にプルアップ抵抗が必要とな

り ます。 PROM 出力のファンアウ トが大き くなるため、シグナル インテグ リティに十分注意した設

計が必要となり ます。 シグナル インテグ リティのシ ミ ュレーシ ョ ンの実行を推奨します。

CS_B 信号が共有接続されている と き、 すべてのデバイスが同時に D 信号を駆動するため リード

バッ クは実行できません。

SelectMAP データ読み込み

SelectMAP インターフェイスでは、継続的または断続的なデータ読み込みが可能です。 データ読み

込みは、 CS_B、 RDWR_B、 CCLK、 および BUSY 信号で制御されます。

CS_B

チップ セレク ト入力 (CS_B) は、SelectMAP バスを有効にします。 CS_B が High の場合、Virtex-5デバイスでは SelectMAP インターフェイスが無視され、 入力データの保持および出力の駆動は実

行されません。 D および BUSY はハイインピーダンスとな り、 RDWR_B は無視されます。

• CS_B = 0 のと き、 デバイスの SelectMAP インターフェイスはイネーブル

• CS_B = 1 のと き、 デバイスの SelectMAP インターフェイスはディ スエーブル

複数デバイスの SelectMAP コンフ ィギュレーシ ョ ンについては、 図 2-12 を参照して ください。

SelectMAP モードでコンフ ィギュレーシ ョ ンされるデバイスが 1 つのみで、リードバッ クが不要な

場合、またはギャング SelectMAP コンフ ィギュレーシ ョ ンを使用する場合は、図 2-9 および図 2-13に示すよ うに、 CS_B 信号をグランドに接続できます。

RDWR_B

RDWR_B は Virtex-5 デバイスの入力であ り、 データピンが入力か出力かを選択します。

• RDWR_B = 0 の場合、 データ ピンは入力 (FPGA に書き込む)

• RDWR_B = 1 の場合、 データ ピンは出力 (FPGA から読み出す)

コンフィ ギュレーショ ンを実行する場合は RDWR_B を書き込み制御 (RDWR_B = 0) に、 リ ード

バッ ク を実行する場合は RDWR_B を読み出し制御 (RDWR_B = 1) に設定して、 CS_B をディ ア

サート にします (詳細は、 第 7 章「 リ ード バッ クおよび コンフィ ギュレーショ ンの検証」 を参照)。

デバイ スで CCLK の立ち上が り エッ ジを使用する場合、 CS_B がアサー ト されている と きに

RDWR_B 値を変更する と ABORT が発生します ( 「SelectMAP の ABORT」 を参照)。 リードバッ

クが不要な場合、 RDWR_B はグランドに接続するか、 SelectMAP ABORT 時のデバッグに使用で

きます。

60 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

CS_B がディ アサート されている場合、 RDWR_B 信号は無視されます。 データ ピンの 3 つのス

テートの読み出し /書き込み制御は非同期です。 CS_B がアサート されている と きに、 RDWR_B を読み出し制御 (RDWR_B = 1、 リ ー ド バ ッ ク ) に設定する と、 FPGA は CCLK と無関係に

SelectMAP データをアクティブに駆動します。

CCLK

SelectMAP データ バスのすべての動作は、CCLK に同期しています。 RDWR_B が書き込み制御に

設定されている場合 (RDWR_B = 0、 コンフ ィ ギュレーシ ョ ン)、 CCLK の立ち上が り エッジで

SelectMAP データ ピンが読み込まれます。 RDWR_B が読み出しに設定されている場合

(RDWR_B = 1、 リードバッ ク )、 CCLK の立ち上がりエッジで SelectMAP データ ピンが更新され

ます。

スレーブ SelectMAP モードでは、 CCLK を停止するこ とによってコンフ ィギュレーシ ョ ンを中断

できます (「断続的な SelectMAP データの読み出し」 を参照)。

BUSY

BUSY 信号は FPGA の出力で、デバイスがリ ード バッ ク データを駆動可能な状態であるかどう かを

示します。 初期の Virtex デバイスと 異なり 、 Virtex-5 FPGA では、 暗号化さ れたビッ ト スト リ ーム

を使用して 大コンフィ ギュレーショ ン周波数で実行する場合でも 、 コンフィ ギュレーショ ン中に

BUSY 信号が駆動されるこ と はあり ません。 Virtex-5 デバイスでは、 リ ード バッ ク 中にのみ BUSY信号が駆動されます (第 7 章「 リ ード バッ ク および コンフィ ギュレーショ ンの検証」 を参照)。

• BUSY = 0 : リードバッ ク中、 SelectMAP データ ピンで有効な リードバッ ク データを駆動

• BUSY = 1 : リ ード バッ ク 中、 SelectMAP データ ピンで有効なリ ード バッ ク データを駆動し

ない

CS_B がディアサート される と (CS_B = 1)、 BUSY ピンはハイ インピーダンス状態になり ます。

BUSY 信号は、CS_B がアサート されるまでハイ インピーダンス状態に保持されます。 電源投入前

に CS_B がアサート される と (ピンがグランドに接続されている)、ハイ インピーダンス状態だった

BUSY 信号が POR の完了後に Low を駆動します。 これは、 通常 VCCINT が VPOR に到達した後

INIT_B が High になる前の数ミ リ秒間 (TBUSY) です。

リードバッ クを使用しない場合は、 BUSY ピンを未接続にできます。

継続的な SelectMAP データの読み込み

継続的なデータ読み出しは、 コンフ ィギュレーシ ョ ン コン ト ローラから コンフ ィギュレーシ ョ ン

データ ス ト リームが途切れのなく供給されるアプリ ケーシ ョ ンで実行されます。 電源投入後、 コン

フ ィギュレーシ ョ ン コン ト ローラで RDWR_B 信号が書き込み制御 (RDWR_B = 0) に設定され、

CS_B 信号がアサート されて (CS_B = 0)、 デバイスで BUSY が Low に駆動されます (この遷移は

非同期)。 RDWR_B は、CS_B のアサート前に Low 駆動する必要があ り ます。このよ うに駆動しな

い場合、 ABORT が発生します ( 「SelectMAP の ABORT」 を参照)。

CCLK の次の立ち上がりエッジで、データ ピンの読み込みが開始します。 コンフ ィギュレーシ ョ ン

では、 バス幅が判断されるまで D[0:7] のみが読み込まれます。 詳細は、 「バス幅の自動検出」 を参

照してください。 バス幅が判断される と、 同期ワードを検出するため適切な幅のデータ バスが読み

込まれます。 同期ワードがデバイスに伝搬された後、 コンフ ィギュレーシ ョ ンが開始します。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 61UG191 (v3.5) 2008 年 10 月 29 日

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

コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの読み込み後、 スタート アップ シーケンスが開始しま

す。 ビッ ト ス ト リームで指定されたスタート アップ シーケンスで、 DONE 信号が High にアサート

されます (第 1 章 の「スタート アップ (手順 8)」 を参照)。 コンフ ィギュレーシ ョ ン コン ト ローラは、

スター ト ア ップ シーケンスの完了まで CCLK パルスを送信し続ける必要があ り ます。 これは、

DONE が High になった後、 CCLK パルスが数サイクル必要な場合があるからです。 詳細は、 第 1章 の 「スタート アップ (手順 8)」 を参照してください。

コンフ ィギュレーシ ョ ン後、 CS_B および RDWR_B 信号はディアサートするか、 アサートのまま

にできます。 SelectMAP ポートが非アクティブであるため、このと きに RDWR_B を ト グルしても

ABORT は発生しません。 図 2-14 に、 継続的なデータ読み出しの SelectMAP コンフ ィギュレー

シ ョ ンのタイ ミ ングを示します。

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

1. SelectMAP バスに 1 つのデバイスしかない場合、 CS_B 信号を Low に接続できます。 CS_Bが Low に接続されていないと きは、 随時アサート可能です。

2. リードバッ クが不要な場合は RDWR_B を Low に接続できます。 CS_B がアサート された後、

RDWR_B を ト グルしないよ うにしてください。 ト グルする と ABORT が発生します。

( 「SelectMAP の ABORT」 を参照)。

3. CS_B を Low に接続している場合、 INIT_B が High に駆動されるまで BUSY 信号は Low に駆動されます。

4. モード ピンは、 INIT_B が High になったと きに読み込まれます。

5. ABORT を回避するため、 CS_B よ り前に RDWR_B をアサートする必要があ り ます。

6. CS_B をアサート して SelectMAP インターフェイスを有効にします。

7. BUSY 信号は、 CS_B がアサート されるまでハイ インピーダンス状態に保持されます。

8. CS_B のアサート後の 初の CCLK の立ち上がりエッジで、 初のバイ トが読み込まれます。

9. 各 CCLK の立ち上がりエッジで 1 バイ トのコンフ ィギュレーシ ョ ン ビッ ト ス ト リームが読み

込まれます。

10. 後のバイ トが読み込まれる と、 デバイスでスタート アップ シーケンスが開始します。

図 2-14 : 継続的な x8 SelectMAP データの読み出し

PROGRAM_B

INIT_B

CCLK

CS_B

RDWR_B

DATA[0:7]

UG191_c2_16_072407

Byte 0 Byte 1 Byte n

BUSY

DONE

(1)

(2)

(3)

(4)

(5)

(7)

(6)

(8) (9) (10) (11)

(12)

(13)

(14)

High-Z

62 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

11. スタート アップ シーケンスは、 CCLK の 8 サイクル以上実行されます。 第 1 章 の 「スタート

アップ (手順 8)」 を参照して ください。

12. スタート アップ シーケンス中、DONE ピンは High になり ます。 スタート アップ シーケンスを

完了するために追加の CCLK が必要な場合があ り ます (第 1 章 の 「スタート アップ (手順 8)」を参照)。

13. コンフ ィギュレーシ ョ ン完了後、 CS_B 信号をディアサートできます。

14. CS_B 信号のディアサート後、 RDWR_B をディアサートできます。

15. データ バスは x8、 x16、 x32 にできます。

断続的な SelectMAP データの読み出し

追加データをフェッ チする間コンフィ ギュレーショ ンを一時停止する必要があるアプリ ケーショ ン

など、 コンフィ ギュレーショ ン コント ローラで継続したコンフィ ギュレーショ ン データを供給でき

ないアプリ ケーショ ンでは、 断続的なデータの読み込みを実行します。

コンフ ィギュレーシ ョ ンを一時停止させる方法は 2 つあ り ます。 1 つは CS_B 信号をディアサート

する方法 (フ リーランニング CCLK 手法、 図 2-15) で、 も う 1 つは CCLK を停止する方法 (制御

CCLK 手法、 図 2-16) です。

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

1. RDWR_B を Low に駆動し、 D[0:7] ピンをコンフ ィギュレーシ ョ ンの入力と して設定します。

リードバッ クが不要な場合は RDWR_B を Low に接続できます。 CS_B がアサート された後、

RDWR_B を ト グルしないよ うにしてください。 ト グルする と ABORT が発生します。 ( 「SelectMAP の ABORT」 を参照)。

2. INIT_B が High になる と、 デバイスはコンフ ィギュレーシ ョ ン可能な状態です。

3. CS_B 信号を Low にアサート して SelectMAP バスを有効にします。 SelectMAP バスに 1 つの

デバイスしかない場合、 CS_B 信号を Low に接続できます。 CS_B が Low に接続されていな

いと きは、 随時アサート可能です。

4. CS_B がアサート される と、すぐに BUSY 信号が Low になり ます。 CS_B が Low に接続され

ている場合、 INIT_B が High に駆動されるまで BUSY 信号が Low に駆動されます。

5. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。 データ バス幅は x8、 x16、 x32 にで

きます。

図 2-15 : フリーランニング CCLK 手法を使用した断続的な SelectMAP データ読み込みh

PROGRAM_B

INIT_B

CCLK

CS_B

RDWR_B

DATA[0:7]

UG191_c2_17_072407

BUSY

(2)

(5) (6) (7) (8) (9) (10) (11) (12) (13) (14)

(1)

(3)

(4)

High-ZHigh-Z High-Z

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 63UG191 (v3.5) 2008 年 10 月 29 日

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

6. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

7. ユーザーが CS_B をディアサート します。 バイ トは無視されます。

8. ユーザーが CS_B をディアサート します。 バイ トは無視されます。

9. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

10. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

11. ユーザーが CS_B をディアサート します。 バイ トは無視されます。

12. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

13. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

14. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

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

1. CS_B がディアサート されている間は、 データ ピンはハイ インピーダンス状態になり ます。

データ バスは x8、 x16、 x32 にできます。

2. CS_B がディアサート されている間、 RDWR_B はデバイスに影響を与えません。

3. ユーザーが CS_B をアサート します。 CCLK の立ち上がりエッジでコンフ ィギュレーシ ョ ン

データの読み込みが開始します。

4. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

5. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

6. CCLK の立ち上がりエッジで 1 バイ トが読み込まれます。

SelectMAP の ABORTABORT とは、 SelectMAP コンフ ィギュレーシ ョ ンまたはリードバッ ク シーケンスが中断される

こ とです。 これは、 CS_B がアサート されている と きに RDWR_B のステートが変更される と発生

します。 コンフ ィギュレーシ ョ ンの ABORT が発生する と、 CCLK の次の 4 サイ クル間、 内部ス

テータスが D[7:4] ピンに送信されます。 その他の D ピンは、 常に High です。 ABORT シーケンス

の終了後、 コンフ ィギュレーシ ョ ン ロジッ クを再同期化し、 コンフ ィギュレーシ ョ ンを再開できま

す。 バイ ト間で RDWR_B をディアサートする必要があるアプリ ケーシ ョ ンでは、制御 CCLK 手法

を使用してください (図 2-16 を参照)。

図 2-16 : 制御 CCLK 手法を使用した断続的な SelectMAP データの読み込み

CCLK

CS_B

RDWR_B

DATA[0:7]

UG191_c2_18_041006

Byte 0 Byte 1 Byte n

(1)

(2)

(3)

(4) (5) (6)

64 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

コンフ ィギュレーシ ョ ンの ABORT シーケンス

コンフ ィギュレーシ ョ ン中は、 ABORT は次のよ うに発生します。

1. コンフ ィギュレーシ ョ ン シーケンスが正常に開始します。

2. デバイスの選択中 (CS_B が Low にアサート されている) に、 ユーザーが RDWR_B ピンを

High に駆動します。

3. CS_B がアサート されたまま (Low) の場合は BUSY が High になり ます。 RDWR_B が読み出

し制御 (ロジッ ク High) に設定された状態の場合、データ ピンにステータス ワードが送信され

ます。

4. ABORT が 4 クロ ッ ク サイクル間継続し、 ステータスが更新されます。

リードバッ クの ABORT シーケンス

リードバッ ク中は、 ABORT は次のよ うに発生します。

1. リードバッ ク シーケンスが正常に開始します。

2. デバイスの選択中 (CS_B が Low にアサート されている) に、 ユーザーが RDWR_B ピンを

High に駆動します。

3. CS_B がアサート されたまま (Low) の場合は BUSY が High になり ます。

4. CS_B がディアサート される と ABORT が終了します。

図 2-17 : SelectMAP モードのコンフ ィギュレーシ ョ ンの ABORT シーケンス

DATA[0:7]

BUSY

CCLK

STATUS

ABORT ug191_c2_19_092507

CS_B

RDWR_B

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 65UG191 (v3.5) 2008 年 10 月 29 日

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

リードバッ ク中の ABORT では、 RDWR_B 信号が書き込み制御 (FPGA D[x:0] ピンが入力) と し

て設定されているため、 ステータス ワードは更新されません。

ABORT ステータス ワード

コンフ ィギュレーシ ョ ン中の ABORT シーケンスでは、 D[7:0] ピンにステータス ワードが送信さ

れます。 ステータス ビッ トはビッ ト スワ ップされません。 また、 その他のデータ ピンは常に Highです。 表 2-5 で、 ステータス ワードについて説明します。

図 2-18 : リードバックの ABORT シーケンス

DATA[0:7]

BUSY

CCLK

FPGA

ABORT UG191_c2_20_041006

CS_B

RDWR_B

表 2-5 : 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 に固定

66 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

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 に駆動してデバイスを リセッ トする

デバイスを再同期化するには、 CS_B をディアサート し、 再度アサート して ください。 ABORT が発生したと きに進行していた 後のコンフ ィギュレーシ ョ ン パケッ ト またはリードバッ ク パケッ

ト を送信する と、 コンフ ィギュレーシ ョ ン/ リードバッ クが再開します。 コンフ ィギュレーシ ョ ンま

たはリードバッ クを 初から再実行するこ と も可能です。

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

リ コンフ ィギュレーシ ョ ンとは、DONE ピンが High になった後に FPGA を再プログラムするこ と

です。通常のコンフ ィギュレーシ ョ ンと同様に PROGRAM_B ピンにパルスを供給するか、 または

デバイスを再同期化してコンフ ィギュレーシ ョ ン データを送信する こ とによ り、 リ コンフ ィギュ

レーシ ョ ンを開始できます。

PROGRAM_B にパルスを供給せずに SelectMAP モードのデバイスを リ コンフ ィギュレーシ ョ ン

するには、 BitGen で persist オプシ ョ ンを設定して ください。 このオプシ ョ ンを設定しないと、

コンフ ィギュレーシ ョ ン後にデータ ピンがユーザー I/O にな り ます。 persist オプシ ョ ンがオン

の場合は、 RS[1:0]、 CSO_B、 および A[19:16] ピンはユーザー モードでは使用できません。 また、

BitGen で リ コ ンフ ィ ギュ レーシ ョ ンを イネーブルにする必要があ り ます。 デフ ォル ト では、

CONFIG_MODE 制約で別の SelectMAP 幅が選択されていなければ、 SelectMAP の 8 個のイン

ターフェイス (D0 ~ D7) は保持されます。

同期ワードが SelectMAP ポートに送信される と、リ コンフ ィギュレーシ ョ ンが開始します。 リ コン

フ ィギュレーシ ョ ンが開始した後は、 通常のコンフ ィギュレーシ ョ ンと同じ動作となり ます。

SelectMAP データの順序

通常、 SelectMAP コンフ ィギュレーシ ョ ンは、 マイ ク ロプロセッサまたは CPLD にあるユーザー

アプリケーシ ョ ンを使用して駆動するか、場合によっては、その他の FPGA デバイスを使用して駆

動します。 これらのアプリケーシ ョ ンでは、コンフ ィギュレーシ ョ ン データ ファ イル内のデータ順

と FPGA で予測されるデータ順がどのよ うな関係であるかを認識する必要があ り ます。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 67UG191 (v3.5) 2008 年 10 月 29 日

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

SelectMAP x8 モードの場合、CCLK の 1 サイクルで 1 バイ トのコンフ ィギュレーシ ョ ン データが

読み込まれ、 各バイ トの MSB は D0 ピンに出力されます。 D0 = MSB、 D7 = LSB という規則は、

その他のデバイスには適用されません。 x16 および x32 モードの場合は、 「パラレル バスのビッ ト

順」 を参照してください。 この規則は、カスタム コンフ ィギュレーシ ョ ン ソ リ ューシ ョ ンを実行す

る際に混乱を招く原因となり ます。 表 2-6 に、16 進数 0xABCD を SelectMAP データ バスに読み込

む方法を示します。

上記の規則とは異なるデータ順を問題なく使用できるアプ リ ケーシ ョ ンもあ り ますが、 その他のア

プリケーシ ョ ンでは、 ソース コンフ ィギュレーシ ョ ン データ ファ イルをビッ ト スワップさせる (データ ス ト リームの各バイ ト内のビッ ト順を逆にする) と便利です。 このよ うなアプ リ ケーシ ョ

ン用に、ザイ リ ンクスの PROM ファ イル生成ソフ ト ウェアでは、ビッ ト スワップした PROM ファ

イルを生成できます ( 「コンフ ィギュレーシ ョ ン データ ファ イル」 を参照)。

図 2-19 に、 x8、 x16、 x32 モードでのビッ ト順および Virtex-4 の x32 モードでのビッ ト順を示し

ます。

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

SPI シ リ アル フラ ッシュ モードでは M[2:0]=001 です。Virtex-5 FPGA は、デバイスに接続された

業界標準の SPI シ リ アル フラ ッシュ PROM からコンフ ィギュレーシ ョ ンされます。 SPI は標準で

4 つのワイヤを持つインターフェイスですが、 リード コマンドおよびプロ ト コルは SPI フラ ッシュ

メモ リによってさまざまです。INIT_B の立ち上がりエッジで M[2:0] と同時に FS[2:0] ピン読み込

まれ、 SPI フ ラ ッ シュ で使用される リ ード コマン ドが判断されます (表 2-8 を参照)。 Virtex-5FPGA のコンフ ィギュレーシ ョ ンでは、 デフォルトではアドレスは 0 から開始します。 図 2-20 に、

SPI 関連のコンフ ィギュレーシ ョ ン ピンおよび Virtex-5 デバイス と SPI フラ ッシュ間の標準的な

接続を示します。

表 2-6 : 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 モードのデータ ピンです。

Virtex-5

モード

ピン

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

x32 24 25 26 27 28 29 30 31 16 17 18 19 20 21 22 23 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7

x16 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7

x8 0 1 2 3 4 5 6 7

Virtex-4

x32

モード

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

図 2-19 : ビッ ト順

68 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

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

• FCS_B および MOSI は、 CCLK の立ち下がりエッジで出力されます。

• D_IN は、 CCLK の立ち上がりエッジで読み込まれます。

• CCLK および D_IN は、 コンフ ィギュレーシ ョ ン専用の I/O です。

• FCS_B は多目的 I/O です。 MOSI は多目的 I/O で、 FOE_B と マルチプレク スさ れます。

FS[2:0] は INIT_B の立ち上がり エッ ジで読み込まれる多目的 I/O で D[2:0] と マルチプレク

スされます。

• FCS_B、 MOSI、 D_IN の内部プルアップ抵抗を有効にしてください。

• SPI フラ ッシュには、 Write Protect や Hold などの追加ピンがあ り、 これらは FPGA コンフ ィ

ギュレーシ ョ ンでは使用されません (読み出しのみ)。 SPI ベンダーの仕様に従って適切に接続

する必要があ り ます。

• HSWAPEN は未接続のままか High に接続され、 FCS_B および MOSI にはプルアップ抵抗が

必要です。

• HSWAPEN が Low の場合、 FCS_B および MOSI にはコンフ ィギュレーシ ョ ン中、 弱い内部

プルアップ抵抗が付きます。 コンフ ィギュレーシ ョ ン後、 これらのピンはユーザー モードで

I/O によ り制御するか、 制約を使用して弱いプルアップ抵抗を有効にします。

• HSWAPEN は、 プルアップ抵抗が有効または無効になるよ う接続して ください。

• CCLK には、常に弱い内部プルアップ抵抗が付いています。CCLK 周波数は BitGen の ConfigRateオプシ ョ ンを使用して調整可能です。

• DONE のアクティブ ド ラ イバを有効にするには、 BitGen の DriveDONE オプシ ョ ンを有効に

してください。

• スタート アップ時に、DCI の一致または DCM のロ ッ クまで DONE の解放を待機させる場合、

スタート アップの Wait 条件が満たされて DONE が解放されるまで、FPGA はデータ送信を継

続します。 マルチブート コンフ ィギュレーシ ョ ンに関する考慮事項は、第 8 章 の 「マルチブー

ト ビッ ト ス ト リーム間のパディング」 を参照して ください。

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

図 2-20 : Virtex-5 SPI コンフ ィギュレーシ ョ ン インターフェイス

Virtex-5 FPGA

INIT_BPROGRAM_B DONE

DOUT

MOSIFCS_B

CCLK

HSWAPEN

SPI

CLKCS_B

DODID_IN

M[2:0]FS[2:0]

UG191_c2_23_0724

SPI

4.7 kΩ

330Ω

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 69UG191 (v3.5) 2008 年 10 月 29 日

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

表 2-7 : Virtex-5 SPI コンフ ィギュレーシ ョ ン インターフェイスのピン

ピン名 タイプ専用または

多目的説明

M[2:0] 入力 専用 モード ピン。 SPI モードでは 001 です。

HSWAPEN 入力 専用 コンフ ィギュレーシ ョ ン中、I/O (バンク 0 の専用 I/O を除く ) のプルアップを制御します。 弱いプ

ルアップ抵抗が付いています。

0 = コンフ ィギュレーシ ョ ン中、 プルアップ

1 = コンフ ィギュレーシ ョ ン中、 ト ラ イステート

DOUT ト ライ

ステート 出力

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

シ ョ ンで使用します。

DONE 双方向、

オープン ド レイン、

または

アクティ ブ

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

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

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

INIT_B 入力または

出力、

オープン ドレイン

専用 モード ピンが読み込まれる前は入力で、 Low に保持するこ とでコンフ ィギュレーシ ョ ンを遅延で

きます。 モード ピンが読み込まれた後は、 オー

プン ドレインのアクティブ Low 出力とな り、 コ

ンフ ィギュレーシ ョ ン中の CRC エラーの有無を

示します。

0 = CRC エラー

1 = CRC エラーなし

SEU 検出ファンクシ ョ ンが有効の場合、 リード

バッ ク CRC エラーが検出される と Low に駆動さ

れます (オプシ ョ ン)。

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

FS[2:0] 入力 多目的 SPI バリアン ト セレク ト ピンで、 INIT_B の立ち

上がりエッジで読み込まれます。 DATA[2:0] ピンとマルチプレクスされます。

CCLK 出力 専用 SPI へのコンフ ィギュレーシ ョ ン ク ロ ッ ク出力。

FCS_B 出力 多目的 アクティブ Low のチップ セレク ト出力で、

CCLK の立ち下がりエッジで出力されます。

70 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

表 2-8 に、 FS[2:0] の設定に応じた SPI 読み出しコマンドを示します。

MOSI 出力 多目的 FPGA シ リ アル データ出力で、 CCLK の立ち下

がりエッジで出力されます。 FOE_B とマルチプ

レクスされます。

D_IN 入力 専用 SPI から FPGA へのシ リアル データ入力で、

CCLK の立ち上がりエッジで読み込まれます。

RCMD[7:0] 入力 多目的 FS[2:0] = 001 の場合の SPI 読み出しコマンドの

ス ト ラ ッピング入力 (ADDR[7:0] とマルチプレク

ス)。 SPI 読み出しコマンドのス ト ラ ッピングに

使用される と きは、 INIT_B の立ち上がりエッジ

で読み込まれます。

表 2-8 : Virtex-5 SPI 読み出しコマンドのバリアン ト セレク ト

FS[2:0] SPI 読み出しコマンド コ メン ト

000 0xFF

001 RCMD[7:0] ADDR[7:0] に入力される RCMD[7:0] は、 M[2:0] および FS[2:0] と共に INIT_B の立ち上がりエッジで読み込まれま

す。 RCMD[7:0] は、 こ こでサポート されていない SPI 読み出

しコマンドをサポートするためにも使用できます。 FS[2:0] および RCMD[7:0] のタイ ミ ング要件は M[2:0] と同じです。

010 0x52

011 予約済み

100 0x55

101 0x03

110 0xE8

111 0x0B

表 2-7 : Virtex-5 SPI コンフ ィギュレーシ ョ ン インターフェイスのピン (続き)

ピン名 タイプ専用または

多目的説明

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 71UG191 (v3.5) 2008 年 10 月 29 日

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

図 2-21 に、 Virtex-5 SPI フラ ッシュのタイ ミ ングを示します。

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

• DONE ピンが High になる と、 Virtex-5 FPGA でビッ ト ス ト リームの取り込みが停止します。

FCS_B および MOSI は、 ユーザー I/O と して使用できます。

• FCS_B は、 コンフ ィギュレーシ ョ ン後はユーザー ロジッ クで制御するか、 制約を使用してプ

ルアップ抵抗を有効にします。

サポー ト される SPI フ ラ ッ シュ デバイ スは、 『Spartan-3 Generation Configuration User Guide』(UG332) の 「Choosing a Compatible SPI Serial Flash」 (互換性のある SPI シ リ アル Flash の選択)セクシ ョ ンを参照してください。

SPI のプログラムの詳細は、 アプ リ ケーシ ョ ン ノート XAPP951 『Configuring Xilinx FPGAs withSPI Serial Flash』 を参照してください。

パワーオン シーケンスに関する注意事項

電源を投入する と、 FPGA でコンフ ィギュレーシ ョ ンが自動的に開始します。 FPGA がマスタ SPIコンフ ィギュレーシ ョ ン モードの場合、FCS_B が Low にアサート されて SPI フラ ッシュが選択さ

れ、 読み出しコマンドが SPI フラ ッシュに駆動されます。 FCS_B が Low にアサート され、 読み出

しコマンドが送信される前に、 SPI フラ ッシュがコマンドを受信できる状態になっているよ うにす

る必要があ り ます。

FPGA と SPI フラ ッシュには異なる電源レールから電源を供給でき、また同じ電源が使用されてい

る場合でも異なる立ち上がり地点で応答するこ とがあるので、FPGA と SPI フラ ッシュのパワーオ

ン シーケンスおよび電源の立ち上がりに注意する必要があ り ます。 パワーオン シーケンスまたは

電源の立ち上がりによって、 FPGA が SPI フラ ッシュの前に、 または SPI フラ ッシュが FPGA の前に操作可能な状態になり ます。 また、 一部の SPI フラ ッシュ デバイスでは 小時間 (電源投入か

ら数ミ リ秒) が設定されており、 この間デバイスを選択しないよ うにする必要があ り ます。 電源の

図 2-21 : Virtex-5 SPI フラ ッシュのタイ ミング

PROGRAM_B

INIT_B

M[2:0]

FS[2:0]

CCLK

FCS_B

MOSI

D_IN (Normal Read)

D_IN (Fast Read)

DONE

Configuration Mode User Mode

UG191_c2_24_072407

001

8-BitRead CMD

24-BitAddress

Bitstream Data

8 CCLKs

Bitstream Data

… … … …

72 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

立ち上がりがほぼ同時であるほとんどのシステムでは、FPGA のパワーオン リセッ ト時間 (TPOR)を使用して FPGA のコンフ ィギュレーシ ョ ンの開始を遅らせ、FPGA のコンフ ィギュレーシ ョ ンが

開始する前に SPI フラ ッシュの準備が完了するよ うにできます。システム デザインでは、パワーオ

ン シーケンス、 電源の立ち上がり、 FPGA パワーオン リセッ トのタイ ミ ング、 および SPI フラ ッ

シュの電源投入のタイ ミ ングが、FPGA コンフ ィギュレーシ ョ ンの開始と SPI フラ ッシュの準備が

完了するタイ ミ ングの関係にどのよ うに影響するかを考慮する必要があ り ます。 Virtex-5 FPGA の電源要件およびタイ ミ ングは、データシート DS202 『Virtex-5 FPGA Data Sheet: DC and SwitchingCharacteristics』 を参照して ください。 SPI フラ ッシュの電源投入のタイ ミ ング要件は、 SPI フラ ッ

シュのデータシート を参照してください。

次のシステム設計手法を使用する と、 FPGA コンフ ィギュレーシ ョ ンが開始する前に SPI フラ ッ

シュでコマンドを受信する準備が完了しているこ とを確実にできます。

• FPGA コンフ ィギュレーシ ョ ンが開始する前に SPI フラ ッシュに電源が投入されているよ う

に、 電源投入シーケンスを制御する。

• 電源投入時から FPGA の PROGRAM_B ピンを Low に保持して FPGA コンフ ィギュレー

シ ョ ンの開始を遅らせ、 SPI フラ ッシュに電源が投入されてコマンドを受信できる準備ができ

てから PROGRAM_B ピンを High にする。

• 電源投入時から FPGA の INIT_B ピンを Low に保持して FPGA コンフ ィギュレーシ ョ ンの

開始を遅らせ、SPI フラ ッシュでコマンドを受信できる準備ができてから INIT_B ピンを Highにする。

SPI フラ ッシュを使用した FPGA のコンフ ィギュレーシ ョ ン方法および iMPACT ソフ ト ウェアを

使用してインシステム SPI プログラムを実行する方法は、 アプ リ ケーシ ョ ン ノー ト XAPP951『Configuring Xilinx FPGAs with SPI Serial Flash』 を参照して ください。

SPI シリアル デイジー チェーン

シ リアル デイジー チェーン アプリ ケーシ ョ ンでは、 初のデバイスを SPI モードに設定し、 すべ

ての下位デバイスをスレーブ シ リ アル モードに設定できます。 この場合、 すべてのコンフ ィギュ

レーシ ョ ン ビッ ト ス ト リームは、 1 つの SPI デバイス内部に格納可能です。 マスタおよびスレーブ

デイジー チェーンのビッ ト ス ト リーム形式は、完全に同一です。 詳細は、「シ リ アル デイジー チェー

ン」 を参照してください。

BPI (Byte Peripheral Interface) パラレル フラ ッシュ モード

図 2-22 に示すよ うに、 BPI-Up (M[2:0]=010) または BPI-Down (M[2:0] = 011) モードでは、 業界

標準のパラレル NOR フラ ッシュ PROM を使用して Virtex-5 FPGA をコンフ ィギュレーシ ョ ンで

きます。 FPGA は 大 26 個のアドレス ラ インを駆動して、 接続されたパラレル フラ ッシュにアク

セスします。 コンフ ィギュレーシ ョ ンでは、 FPGA でアドレス バスを駆動し、 フラ ッシュ PROMでビッ ト ス ト リーム データを駆動して FPGA へ入力する非同期読み出しモードのみが使用されま

す。 サポート されているバス幅は x8 および x16 です。 「バス幅の自動検出」 で説明したよ うに、 バ

ス幅は自動的に検出されます。

ザイ リ ンクスが提供する BPI 準拠のフラ ッシュ デバイスは、データシート DS617 『Platform FlashXL High-Density Configuration and Storage Device』 を参照して ください。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 73UG191 (v3.5) 2008 年 10 月 29 日

BPI (Byte Peripheral Interface) パラレル フラ ッシュ モードR

BPI モードのと き、 CCLK 出力は BPI フラ ッシュ デバイスに接続されていませんが、 フラ ッシュ

データは CCLK の立ち上がりエッジで読み込まれます。 BPI モードでは CCLK 出力が駆動されて

いるので、その他のマスタ モード と同様パラレル終端が必要です。 詳細は、 79 ページの 「コンフ ィ

ギュレーシ ョ ン ク ロ ッ ク (CCLK) のボード レイアウ ト 」 を参照して ください。 BPI に関連するタ

イ ミ ング パラ メータは、 CCLK を基準と しています。 Virtex-5 BPI モードでは、 非同期のページ

モード読み出しがサポート され、CCLK 周波数を増加させるこ とが可能です。 詳細は、78 ページの

「ページ モードのサポート 」 を参照してください。

BPI-Up モードの場合、 アドレスは 0 から開始し、 DONE ピンがアサート されるまで 1 ずつ増加し

ます。 アド レスが 大値 (26’h3FFFFFF) に達したと きにコンフ ィギュレーシ ョ ンが完了していな

い (DONE がアサート されていない) 場合、 ステータス レジスタでエラー フラグがアサート され、

フォールバッ ク リ コンフ ィギュレーシ ョ ンが開始します。 詳細は、 159 ページの 「フォールバッ ク

マルチブート 」 を参照してください。

BPI-Down モードの場合、 アドレスは 26’h3FFFFFF から開始し、 DONE ピンがアサート されるま

で 1 ずつ減少します。 アドレスが 小値 (26’h0) に達し、 かつコンフ ィギュレーシ ョ ンが完了して

いない (DONE がアサート されていない) と き、ステータス レジスタでエラーがフラグされ、フォー

ルバッ ク リ コンフ ィギュレーシ ョ ンが開始します。 詳細は、 159 ページの 「フォールバッ ク マルチ

ブート 」 を参照してください。

次は、 図 2-22 に関する追加のメモです。

• BPI-Up モードでは M[2:0] = 010、 BPI-Down モードでは M[2:0]=011 です。

• 図 2-22 は、 x16 BPI インターフェイスを示します。 x8 BPI インターフェイスでは、 D[7:0] のみが使用されます。 詳細は、 「バス幅の自動検出」 を参照して ください。

• データ ピンへのビッ ト ス ト リームの送信では、 SelectMAP モード と同じビッ ト スワ ップ規則

が使用されます。 詳細は、 「パラレル バスのビッ ト順」 を参照してください。

• フラ ッシュ プログラムが不要な場合は、DONE を FCS_B に、FOE_B を Low に、FWE_B をHigh に接続可能です。

図 2-22 : Virtex-5 BPI コンフ ィギュレーシ ョ ン インターフェイス

Virtex-5 FPGA

INIT_BPROGRAM_B

DONE

RS[1:0]

ADDR[25:0]FWE_BFOE_B

HSWAPEN

BPI Flash

OE_BWE_B

D[15:0]ADDR[25:0]D[15:0]

M[2:0]FCS_B CS_B

CCLK

UG191_c2_25_061108

4.7 kΩ 330Ω

BPI LSB A0

LSB

74 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

• CCLK はフラ ッシュには接続されませんが、 コンフ ィギュレーシ ョ ン中にフラ ッシュの読み出

しデータの読み込みに使用されます。 すべてのタ イ ミ ングは CCLK を基準と しています。

CCLK ピンを駆動したり、 High または Low に接続しないでください。

• 図 2-22 に示すよ うに、 RS[1:0] ピンは未接続です。 これらの出力ピンは、 マルチブート コン

フ ィギュレーシ ョ ンにのみ必要です。 詳細は、 第 8 章 「リ コンフ ィギュレーシ ョ ンおよび マル

チブート 」 を参照してください。

• HSWAPEN は、 プルアップ抵抗が有効または無効になるよ う接続して ください。

• HSWAPEN を未接続または High に固定した場合、 FCS_B にプルアップ抵抗が必要です。

• HSWAPEN を Low に固定した場合、 コンフィ ギュレーショ ン中 FCB_B、 FOE_B、 FWE_B、

およびアド レス ピンに弱い内部抵抗が付きます。 コンフィ ギュレーショ ン後、 FCS_B はユー

ザー モード で I/O により 制御するか、または制約を使用して弱いプルアッ プ抵抗を有効します。

• DONE を有効にするには、 BitGen の DriveDONE オプシ ョ ンを有効にして ください。

• 161 ページの「マルチブート ビッ ト ス ト リーム間のパディング」では、DCI の一致または DCMのロ ッ クまで待機する場合について説明しています。

• BPI モードで FPGA をデイジー チェーン接続する方法は、 57 ページの図 2-12 を参照してく

ださい。

• 特定のフラ ッシュ デバイスの信号接続は、 BPI フラ ッシュ ベンダーのデータシート を参照し

てください。アドレスが正し く揃う よ うにするため、使用するバイ ト /ワード モードでのフラ ッ

シュ ファ ミ リの LSB アド レスに注意する必要があ り ます。 すべてのフラ ッシュ ファ ミ リ で

A0 を LSB アドレス と して使用するわけではあ り ません。

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

FPGA が再プログラムされる場合、 または BPI フ ラ ッシュからのコンフ ィ ギュレーシ ョ ン中に

フォールバッ ク される場合は、 INIT ピンを BPI のリセッ トに接続して BPI を既知のステートに設

定できます。

表 2-9 : Virtex-5 BPI コンフ ィギュレーシ ョ ン インターフェイスで使用されるピン

ピン名 タイプ専用または

多目的説明

M[2:0] 入力 専用 BPI モードを指定するモード ピン。

010 = BPI-Up モード

011 = BPI-Down モード

HSWAPEN 入力 専用 コンフ ィギュレーシ ョ ン中、 I/O (バンク 0 の専用 I/O を除く ) のプルアップ抵抗を制御します。 弱いプルアップ抵抗が付いています。

0 = コンフ ィギュレーシ ョ ン中、 プルアップ

1 = コンフ ィギュレーシ ョ ン中、 ト ライステート

DONE 双方向、

オープン ドレイン、

または

アクティブ

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

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

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

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 75UG191 (v3.5) 2008 年 10 月 29 日

BPI (Byte Peripheral Interface) パラレル フラ ッシュ モードR

INIT_B 入力または出力、

オープン ドレイン 専用 モード ピンが読み込まれる前は入力で、 Low に保持するこ とでコン

フ ィギュレーシ ョ ンを遅延できます。 モード ピンが読み込まれた後

は、 オープン ドレインのアクティブ Low 出力とな り、 コンフ ィギュ

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

0 = CRC エラー

1 = CRC エラーなし

SEU 検出ファンクシ ョ ンが有効の場合、 リードバッ ク CRC エラーが

検出される と Low に駆動されます (オプシ ョ ン)。

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

CCLK 出力 専用 コンフィ ギュレーショ ン ク ロッ ク出力。 BPI フラ ッ シュには直接接続

されませんが、 内部でアド レスを生成およびデータを読み込むために

使用されます。

FCS_B 出力 多目的 アクティブ Low のフラ ッシュ チップ セレク ト出力。 コンフ ィギュ

レーシ ョ ン中は Low、 コンフ ィギュレーシ ョ ン後はト ライステートに

駆動されます。 コンフ ィギュレーシ ョ ン中は弱いプルアップ抵抗が付

き、 コンフ ィギュレーシ ョ ン後はデフォルトで弱いプルダウン抵抗が

付きます。

FOE_B 出力 多目的 アクティブ Low のフラ ッシュ出力イネーブル。 コンフ ィギュレーシ ョ

ン中は Low、 コンフ ィギュレーシ ョ ン後はト ライステートに駆動され

ます。 コンフ ィギュレーシ ョ ン中は弱いプルアップ抵抗が付き、 コン

フ ィギュレーシ ョ ン後はデフォルトで弱いプルダウン抵抗が付きます。

FWE_B 出力 多目的 アクティブ Low のフラ ッシュ ラ イ ト イネーブル。 コンフ ィギュレー

シ ョ ン中は High、 コンフ ィギュレーシ ョ ン後はト ライステートに駆動

されます。 コンフ ィギュレーシ ョ ン中は弱いプルアップ抵抗が付き、

コンフ ィギュレーシ ョ ン後はデフォルトで弱いプルダウン抵抗が付き

ます。

ADDR[25:0] 出力 多目的 アドレス出力。 I/O バンクの位置は、20 ページの表 1-2 を参照して くだ

さい。

D[15:0] 入力 多目的 データ入力で、 FPGA の CCLK の立ち上がりエッジで読み込まれま

す。 I/O バンクの位置は、 20 ページの表 1-2 を参照してください。

表 2-9 : Virtex-5 BPI コンフ ィギュレーシ ョ ン インターフェイスで使用されるピン (続き)

ピン名 タイプ専用または

多目的説明

76 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

図 2-23 に、 BPI-Up コンフ ィギュレーシ ョ ンの波形を示します。

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

• CCLK は BPI モードでは出力です。 BPI フラ ッシュには CCLK は必要あ り ませんが、Virtex-5FPGA では CCLK の立ち上がりエッジで D[max:0] ピンが読み込まれます。

• DONE ピンが High になる と、 Virtex-5 FPGA でビッ ト ス ト リームの取り込みが停止します。

• 多目的コンフ ィギュレーシ ョ ン I/O は、GTS_cycle 後にユーザー モードに切り替わり ます。 これは、 デフォルトでは DONE が High になってから 1 サイクル後です。

• M は 7 または 15 です。

RS[1:0] 出力 多目的 リ ビジ ョ ン セレク ト ピン。 一般的なビッ ト ス ト リームが 1 つのアプリ

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

HSWAP ピンによ りプルアップがイネーブルになっている場合は、 ト

ラ イステートで、 初期コンフ ィギュレーシ ョ ン中弱いプルアップ抵抗

でプルアップされます。 プルアップがディ スエーブルの場合は、 弱い

外部プルアップ抵抗が必要です (電源投入後、 または PROGRAM_B のアサート後) 。 コンフ ィギュレーシ ョ ン エラーが検出される と Low に駆動され、 フォールバッ ク ビッ ト ス ト リームが読み込まれます。 ビッ ト ス ト リームまたは ICAP を使用したユーザー制御も可能です。 詳細は、 159 ページの 「フォールバッ ク マルチブート 」 を参照してくだ

さい。

CSO_B 出力 多目的 パラレル デイジー チェーンのアクティブ Low チップ セレク ト出力。 FPGA が 1 つのアプリケーシ ョ ンでは使用されません。

表 2-9 : Virtex-5 BPI コンフ ィギュレーシ ョ ン インターフェイスで使用されるピン (続き)

ピン名 タイプ専用または

多目的説明

図 2-23 : Virtex-5 BPI-Up コンフ ィギュレーシ ョ ンの波形

10

CCLK

INIT_B

FCS_B

FOE_B

FWE_B

ADDR[25:0]

D[M:0]

DONE

2 3 n

DnD3D2D1D0

UG191_c2_26_011708

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 77UG191 (v3.5) 2008 年 10 月 29 日

BPI (Byte Peripheral Interface) パラレル フラ ッシュ モードR

• FCS_B、 FOE_B、および FWE_B には、 コンフ ィギュレーシ ョ ン後、 I/O 制約または外部プル

アップ抵抗を使用して弱いプルアップ抵抗を付ける必要があ り ます。

• BPI-Up の 初のアドレス 0 は、 内部レイテンシによ り複数サイクル間継続します。

パワーオン シーケンスに関する注意事項

電源を投入する と、 FPGA でコンフ ィギュレーシ ョ ンが自動的に開始します。 FPGA がマスタ BPIコンフ ィギュレーシ ョ ン モードの場合、FCS_B が Low にアサート され、アドレスのシーケンスが

駆動されて BPI フラ ッシュのビッ ト ス ト リームが読み出されます。BPI フラ ッシュで保存されてい

るビッ ト ス ト リームが正し く出力されるよ うにするため、 FCS_B が Low にアサート され、 初の

アドレスが送信される前に、 BPI フラ ッシュで非同期読み出しの準備が完了するよ うにする必要が

あ り ます。

FPGA と BPI フラ ッシュには異なる電源レールから電源を供給でき、また同じ電源が使用されてい

る場合でも異なる立ち上がり地点で応答するこ とがあるので、FPGA と BPI フラ ッシュのパワーオ

ン シーケンスまたは電源の立ち上がりに注意する必要があ り ます。 パワーオン シーケンスまたは

電源の立ち上がりによって、 FPGA が BPI フラ ッシュの前に、 または BPI フラ ッシュが FPGA の前に操作可能な状態にな り ます。 電源の立ち上がりがほぼ同時であるほとんどのシステムでは、

FPGA のパワーオン リセッ ト時間 (TPOR) を使用して FPGA のコンフ ィギュレーシ ョ ンの開始を

遅らせ、FPGA のコンフ ィギュレーシ ョ ンが開始する前に BPI フラ ッシュの準備が完了するよ うに

できます。 システム デザインでは、 パワーオン シーケンス、 電源の立ち上がり、 FPGA パワーオ

ン リセッ ト時間、 および BPI フラ ッシュのパワーオン リセッ ト時間が、 FPGA コンフ ィギュレー

シ ョ ンの開始と BPI フラ ッシュで非同期読み出しの準備が完了するタイ ミ ングの関係にどのよ う

に影響するかを考慮する必要があ り ます。 Virtex-5 FPGA の電源要件およびタイ ミ ングは、 データ

シート DS202 『Virtex-5 FPGA Data Sheet: DC and Switching Characteristics』 を参照してくださ

い。 BPI フラ ッシュの電源要件と タイ ミ ングは、 データシート DS617 『Platform Flash XL High-Density Configuration and Storage Device』 を参照して ください。

次のシステム設計手法を使用する と、 FPGA コンフ ィギュレーシ ョ ンが開始する前に BPI フラ ッ

シュで非同期読み出しの準備が完了しているこ とを確実にできます。

• FPGA コンフ ィギュレーシ ョ ンが開始する前に BPI フラ ッシュに電源が投入されているよ う

に、 電源投入シーケンスを制御する。

• 電源投入時から FPGA の PROGRAM_B ピンを Low に保持して FPGA コンフ ィギュレー

シ ョ ンの開始を遅らせ、 BPI フラ ッシュに電源が投入されて非同期読み出しの準備ができてか

ら PROGRAM_B ピンを High にする。

• 電源投入時から FPGA の INIT_B ピンを Low に保持して FPGA コンフ ィギュレーシ ョ ンの

開始を遅らせ、 BPI フラ ッシュで非同期読み出しの準備ができてから INIT_B ピンを High にする。

詳細は、『Spartan-3 Generation Configuration User Guide』 (UG332) に含まれる「Master BPI Mode」の章の「Power-On Precautions if 3.3V Supply is Last in Sequence」セクシ ョ ンを参照して ください。

78 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

ページ モードのサポート

多数の NOR フラ ッシュ デバイスで、非同期のページ読み出しがサポート されています。 通常、ペー

ジへの初回のアクセスに も長時間かかり (~100ns)、2 回目以降は同じページにアクセスするのに

要する時間が初回よ り短く な り ます (~25ns)。 Virtex-5 デバイ スでページ読み出し機能および

CCLK の 大周波数を活用するには、 次のパラ メータをビッ ト ス ト リームでプログラムします。

• ページ サイズ : 1 (デフォルト )、 4、 または 8 に設定可能

フラ ッシュの実際のページ サイズが 8 よ り大きい場合は、効率を 大にするため、値を 8 に設

定してください。

• 初回アクセスの CCLK サイクル : 1 (デフォルト )、 2、 3、 または 4 に設定可能

ページ サイズが 1 のと きは 1 に設定する必要があ り ます。

• CCLK 周波数

ページ モード動作のシーケンスは、 Virtex-5 ビッ ト ス ト リームで制御されます (表 6-15 を参照)。FPGA がリセッ ト される と、 デフォルトでページ サイズが 1、 初回アクセスの CCLK サイ クルが

1 とな り、 マスタ CCLK は も低いデフォル ト周波数で動作します。 COR0 レジスタにはマスタ

CCLK の周波数制御用ビッ トが含まれ (127 ページの「コンフ ィギュレーシ ョ ン オプシ ョ ン レジス

タ 0 (COR0)」 を参照)、 COR1 レジスタには BPI フラ ッシュ ページ モード制御用ビッ トが含まれ

ます (130 ページの 「コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 1 (COR1)」 を参照)。 COR1 レジスタがプログラムされる と、 図 2-24 に示すよ うに、 BPI アドレス タイ ミ ングがページの境界で

切り替わり ます。 SWITCH コマンドが受信される と、 マスタ CCLK はユーザーが指定した周波数

に切り替わり、 その周波数で残りのコンフ ィギュレーシ ョ ンが読み込まれます。

BitGen オプシ ョ ンの詳細は、 『開発システム リ ファレンス ガイ ド』 の 「BitGen」 を参照して くだ

さい。

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

• 図 2-24 は、 ページ サイズが 4、 初回アクセスの CCLK サイクルが 2 の BPI-Up モード の波形

を示します。

• M は 7 または 15 です。

• BPI-Down モードの場合、 ページ サイズ 4 で ADDR[1:0]= 2’b11 のと き、 ADDR[25:0] バス

は必要な CCLK サイクルに対応するよ う拡張されます。

図 2-24 : BPI-Up モードの波形 (ページ サイズ = 4、 初回アクセスの CCLK サイクル = 2)

CCLK

FCS_B

FOE_B

FWE_B

ADDR[2:0]

D[M:0]

UG191_c2_27_050406

107 2 3 54 76

D1D0

CCLK=2

D2 D3 D5D4 D7D6

PAGE_SIZE=4 PAGE_SIZE=4

CCLK=2

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 79UG191 (v3.5) 2008 年 10 月 29 日

コンフ ィギュレーシ ョ ン クロック (CCLK) のボード レイアウトR

サポー ト される BPI フ ラ ッ シュ デバイ スは、 『Spartan-3 Generation Configuration User Guide』(UG332) の 「Compatible Parallel NOR Flash Families」 セクシ ョ ンを参照して ください。 これらに

加え、 16 ビッ ト Intel P30/P33 もサポート されています。 その他の 16 ビッ ト フラ ッシュ デバイス

も、 Virtex-5 BPI インターフェイス と互換性があ り ます。 BPI フラ ッシュ デバイスの間接的なプロ

グラムについては、 アプ リ ケーシ ョ ン ノー ト XAPP973 『Indirect Programming of BPI PROMswith Virtex-5 FPGAs』 を参照して ください。

コンフ ィギュレーシ ョ ン クロック (CCLK) のボード レイアウト

Virtex-5 FPGA のコンフ ィギュレーシ ョ ン I/O は、LVCMOS Fast スルー レートの 12mA 規格を採

用しています。 この I/O 規格のエッジ レー ト は高速で、 高いコンフ ィギュレーシ ョ ン周波数をサ

ポート します。 これには、 シグナル インテグ リティ を向上させるために PCB ト レース配線および

終端接続を適切に行う必要があ り ます。

メモ : マスタ モードでは、 CCLK ピンが Virtex-5 コンフ ィギュレーシ ョ ン ロジッ クのク ロ ッ ク

ソースです。 ダブルクロ ッキングを回避するため、 CCLK 出力で反射が発生しないよ うにする必要

があ り ます。

次の基本的なガイ ド ラインに従ってください。

• CCLK ネッ ト を 50Ω の制御インピーダンス伝送ラインと して配線する。

• CCLK ネッ トは分岐させずに配線する。 図 2-28 に示すよ うなスター ト ポロジは使用しないで

ください。

• スタブが必要な場合は、 8mm (0.3 インチ) 未満のものを使用する。

• CCLK 伝送ラインの両端は、VCCO に 100Ω、 GND に 100Ω を使用して並列終端する (VCCO/2と同等のテブナン終端、 ト レーニングの特性インピーダンスは 50Ω である と想定)。

マスタ FPGA デバイスの CCLK を含む各 CLK 入力および出力でのグ リ ッチをチェッ クするため、

IBIS シ ミ ュレータ (HyperLynx など) を使用して CCLK の分配をシ ミ ュレーシ ョ ンする こ とを推

奨します。

図 2-25 から図 2-27 に、 CCLK 分配の推奨ト ポロジを示します。

図 2-25 は、 CCLK ド ラ イバ (FPGA マスタ) および CCLK レシーバ (PROM または FPGA スレー

ブ) が 1 つずつの基本的なポイン ト ツー ポイン ト ト ポロジです。

図 2-25 : Point-to-Point : CCLK 出力および CCLK 入力

CCLK = FPGACCLK = PROM FPGA

CCLK

UG191_c2_05_072407

Z0 (50Ω)

CCLK

Z0 (50Ω

)

2 x Z0 (100W)

2 x Z0 (100W)

VCCO_0

80 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

図 2-26 は、 1 つの CCLK ド ラ イバおよび 2 つの CCLK レシーバの基本的なマルチド ロ ップ フラ

イバイ ト ポロジです。 CCLK 入力 1 のスタブの長さには制約があ り ます。

図 2-27 は、 1 つの CCLK ド ライバおよび 3 つ以上の CCLK レシーバ (この例では 4 つ) のマルチ

ド ロ ップ フライバイ ト ポロジです。 入力 4 を除くすべての CCLK 入力のスタブの長さに制約があ

り ます。

図 2-26 : マルチドロップ : 1 つの CCLK 出力および 2 つの CCLK 入力

CCLKOutput

Z0 (50Ω)

CCLKInput 2

Z0 (50Ω

)

CCLKInput 1

Z0 (50Ω

)

2 x Z0 (100Ω)

2 x Z0 (100Ω)

VCCO_0

Z0 (50Ω)

length < 8 mm

UG191_c2_06_072407

図 2-27 : マルチドロップ : 1 つの CCLK 出力および 3 つ以上の CCLK 入力

CCLK Output

Z0 (50Ω)

CCLK Input 4

Z0 (50Ω

)

2 x Z0 (100Ω)

2 x Z0 (100Ω)

VCCO_0

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

UG191_c2_07_041106

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 81UG191 (v3.5) 2008 年 10 月 29 日

コンフ ィギュレーシ ョ ン クロック (CCLK) のボード レイアウトR

図 2-28 は、 伝送ラインが複数の CCLK 入力に分岐しているスター ト ポロジです。 分岐点でイン

ピーダンスの不連続が生じるため、 この ト ポロジは推奨されません。

図 2-28 : 推奨されていないスター トポロジ : 1 つの CCLK 出力および 2 つの CCLK 入力

CCLK

UG191_c2_08_070507

Z0

Z0

CCLK 1

Z0

CCLK 2

82 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 83UG191 (v3.5) 2008 年 10 月 29 日

R

第 3 章

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

概要

Virtex®-5 デバイスは、IEEE 1149.1 および IEEE 1532 規格をサポート します。 IEEE 1532 は、IEEE1149.1 に基づいて作成されたインシステム コンフ ィギュレーシ ョ ン (ISC) 用の規格です。 JTAGは Joint Test Action Group の略で、 この規格を制定した委員会のグループ名です。 この規格は、 各

コンポーネン ト とそれらの接続のテス ト をボード レベルで行な う ためのものです。 IEEE 1149.1Test Access Port and Boundary-Scan Architecture は、通常 JTAG 呼ばれています。 多層 PC ボード

が高密度にな り、 よ り高度なボード表面実装技術が使用されるよ うになるにつれ、 バウンダ リ スキャン テス トは重要なデバッグ用の規格と して広く使用されるよ うになってきています。

バウンダ リ スキャン回路が組み込まれているデバイスでは、 I/O ピンにデータを送信して、 ボード

レベルでデバイス間の接続をテス トできます。 この回路では、 デバイス内に信号を送信するこ とに

よ り、 デバイス特定の動作をテス トするこ と も可能です。 これらのテス トは、 通常、 ボードおよび

デバイス レベルで断線やシ ョート を検知するために実施されます。

バウンダ リ スキャンは、 テス ト用に使用するだけではなく、ユーザー定義の命令をデバイスに組み

込んで柔軟性を持たせるために使用するこ と もできます。 コンフ ィギレーシ ョ ンや検証などの特定

ベンダー向けの命令の追加によ り、バウンダ リ スキャンのテス トおよびその機能の使用率は高まっ

ています。

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

完全な初期コンフ ィギュレーシ ョ ンまたはリコンフ ィギュレーシ ョ ン

1. JPROGRAM 命令を JTAG 命令レジスタ (IR) に読み込みます。

2. CFG_IN 命令を使用して命令レジスタの読み込み/キャプチャをループさせ、INIT_COMPLETE(IR キャプチャのビッ ト 4) のキャプチャ値が 1 になるのを待ちます。

3. Shift-DR に移行し、 新しいビッ ト ス ト リームを読み込みます。

4. Test-Logic-Reset (TLR) ステートに移行します。

5. JSTART 命令を JTAG IR に読み込みます。

6. Run-Test-Idle (RTI) に移行します。

7. TCK にクロ ッ クを 12 サイクル分供給します。

8. CFG_IN 命令を JTAG IR に読み込みます。

84 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

9. Shift-DR に移行し、ビッ ト スト リ ームの次の部分を読み込んでコンフィ ギュレーショ ン STATUSレジスタを読み出します。

1111 1111 1111 1111 1111 1111 1111 1111 // Dummy word 1010 1010 1001 1001 0101 0101 0110 0110 // SYNCHWORD 0010 0000 0000 0000 0000 0000 0000 0000 // NO-OP0010 1000 0000 0000 1110 0000 0000 0001 // Type 1 header: Read 1 word

// from STAT0000 0000 0000 0000 0000 0000 0000 0000 // flush pipeline

10. CFG_OUT 命令を JTAG IR に読み込みます。

11. Shift-DR に移行し、 STAT レジスタ データをシフ ト出力します。 crc_error (ビッ ト 0) が 0、release_done (ビッ ト 13) が 1 であるこ とを確認します。

12. TLR に移行します。

パーシャル リ コンフ ィギュレーシ ョ ン

1. CFG_IN 命令を JTAG IR に読み込みます。

2. Shift-DR に移行し、ビッ ト ス ト リームの次の部分を読み込んで CRC_ERROR 信号をク リ アし

ます。

1111 1111 1111 1111 1111 1111 1111 1111 // Dummy word 1010 1010 1001 1001 0101 0101 0110 0110 // SYNCHWORD 0010 0000 0000 0000 0000 0000 0000 0000 // NO-OP0011 0000 0000 0000 1000 0000 0000 0001 // Write 1 word to CMD reg 0000 0000 0000 0000 0000 0000 0000 0111 // RCRC command0010 0000 0000 0000 0000 0000 0000 0000 // NO-OP0000 0000 0000 0000 0000 0000 0000 0000 // flush pipeline

3. JSHUTDWN 命令を JTAG IR に読み込みます。

4. Run-Test-Idle (RTI) に移行します。

5. TCK にクロ ッ クを 12 サイ クル分供給し、シャ ッ ト ダウン シーケンスを送信します (GTS_CFGをアサート し、 GWE および DONE をディアサート )。

6. CFG_IN 命令を読み込みます。

7. Shift-DR に移行し、 ビッ ト ス ト リームの次の部分を読み込んで GHIGH_B 信号をアサート し

ます。

1111 1111 1111 1111 1111 1111 1111 1111 // Dummy word 1010 1010 1001 1001 0101 0101 0110 0110 // SYNCHWORD 0010 0000 0000 0000 0000 0000 0000 0000 // NO-OP0011 0000 0000 0000 1000 0000 0000 0001 // Write 1 word to CMD reg 0000 0000 0000 0000 0000 0000 0000 1000 // AGHIGH command 0010 0000 0000 0000 0000 0000 0000 0000 // NO-OP

8. リ コンフ ィギュレーシ ョ ン ビッ ト ス ト リームを読み込みます。

9. TLR に移行します。

10. JSTART 命令を JTAG IR に読み込みます。

11. Run-Test-Idle (RTI) に移行します。

12. TCK にクロ ッ クを 12 サイクル分供給します。

13. Test-Logic-Reset (TLR) に移行します。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 85UG191 (v3.5) 2008 年 10 月 29 日

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

リードバック - タイプ 1 : ブロック RAM フレームなし

1. CFG_IN 命令を JTAG IR に読み込みます。

2. Shift-DR に移行し、 ビッ ト ス ト リームの次の部分を読み込んで RCFG コマンドを CMD レジ

スタに書き込みます。

1111 1111 1111 1111 1111 1111 1111 1111 // Dummy word 1010 1010 1001 1001 0101 0101 0110 0110 // SYNCHWORD 0010 0000 0000 0000 0000 0000 0000 0000 // NO-OP0011 0000 0000 0000 1000 0000 0000 0001 // Write 1 word to CMD reg 0000 0000 0000 0000 0000 0000 0000 0100 // RCFG command 0011 0000 0000 0000 0010 0000 0000 0001 // Write 1 word to FAR 0000 0000 0000 0000 0000 0000 0000 0000 // Frame address: Top row 0/CLB

// Block Type/Column 0/Frame 0 0010 1000 0000 0000 0110 0000 0000 0000 // Type 1 header: Read FDRO0100 1bbb bbbb bbbb bbbb bbbb bbbb bbbb // Type 2 header: Readback

// wordcount (27 bits) - CLB// frames only

0000 0000 0000 0000 0000 0000 0000 0000 // Flush pipeline

3. CFG_OUT 命令を JTAG IR に読み込みます。

4. Shift-DR に移行し、 リードバッ ク データをシフ ト出力します。

5. Test-Logic-Reset (TLR) に移行します。

リードバック - タイプ 2 : ブロック RAM フレームあり

1. CFG_IN 命令を JTAG IR に読み込みます。

2. Shift-DR に移行し、ビッ ト ス ト リームの次の部分を読み込んで CRC_ERROR 信号をク リ アし

ます。

1111 1111 1111 1111 1111 1111 1111 1111 // Dummy word 1010 1010 1001 1001 0101 0101 0110 0110 // SYNCHWORD 0010 0000 0000 0000 0000 0000 0000 0000 // NO-OP0011 0000 0000 0000 1000 0000 0000 0001 // Write 1 word to CMD reg 0000 0000 0000 0000 0000 0000 0000 0111 // RCRC command0010 0000 0000 0000 0000 0000 0000 0000 // NO-OP0000 0000 0000 0000 0000 0000 0000 0000 // flush pipeline

3. JSHUTDWN 命令を JTAG IR に読み込みます。

4. Run-Test-Idle (RTI) に移行します。

5. シャ ッ ト ダウン シーケンスを送信します (GTS_CFG をアサート し、 GWE および DONE をディアサート )。

6. CFG_IN 命令を JTAG IR に読み込みます。

7. Shift-DR に移行し、 ビッ ト ス ト リームの次の部分を読み込んで RCFG コマンドを CMD レジ

スタに書き込みます。

1111 1111 1111 1111 1111 1111 1111 1111 // Dummy word 1010 1010 1001 1001 0101 0101 0110 0110 // SYNCHWORD 0010 0000 0000 0000 0000 0000 0000 0000 // NO-OP0011 0000 0000 0000 1000 0000 0000 0001 // Write 1 word to CMD reg 0000 0000 0000 0000 0000 0000 0000 0100 // RCFG command 0011 0000 0000 0000 0010 0000 0000 0001 // Write 1 word to FAR 0000 0000 0000 0000 0000 0000 0000 0000 // Frame address: Top row 0/CLB

// Block Type/Column 0/Frame 0 0010 1000 0000 0000 0110 0000 0000 0000 // Type 1 header: Read FDRO0100 1bbb bbbb bbbb bbbb bbbb bbbb bbbb // Type 2 header: Readback

86 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

// wordcount (27 bits) - CLB// and Block RAM frames

0000 0000 0000 0000 0000 0000 0000 0000 // Flush pipeline

8. CFG_OUT 命令を JTAG IR に読み込みます。

9. Shift-DR に移行し、 リードバッ ク データをシフ ト出力します。

10. Test-Logic-Reset (TLR) に移行します。

11. CFG_IN 命令を JTAG IR に読み込みます。

12. Shift-DR に移行し、ビッ ト ス ト リームの次の部分を読み込んで CRC_ERROR 信号をク リ アし

ます。

1111 1111 1111 1111 1111 1111 1111 1111 // Dummy word 1010 1010 1001 1001 0101 0101 0110 0110 // SYNCHWORD 0010 0000 0000 0000 0000 0000 0000 0000 // NO-OP0011 0000 0000 0000 1000 0000 0000 0001 // Write 1 word to CMD reg 0000 0000 0000 0000 0000 0000 0000 0111 // RCRC command0010 0000 0000 0000 0000 0000 0000 0000 // NO-OP0000 0000 0000 0000 0000 0000 0000 0000 // flush pipeline

13. JSTART 命令を JTAG IR に読み込みます。

14. Run-Test-Idle (RTI) に移行します。

15. TCK にクロ ッ クを 12 サイ クル分供給し、スタート アップ シーケンスを送信します (GTS_CFGをディアサート し、 GWE および DONE をアサート )。

16. Test-Logic-Reset (TLR) に移行します。

IEEE 1149.1 を使用した Virtex-5 デバイスのバウンダリ スキャン

Virtex-5 ファ ミ リは、 IEEE 1149.1 規格 (Test Access Port and Boundary-Scan Architecture) に完全

に準拠しており、 IEEE 1149.1 規格で定められている必須のエレ メン ト をすべて備えています。 これらのエレ メン トには、 TAP (テス ト アクセス ポート )、 TAP コン ト ローラ、 命令レジスタ、 命令

デコーダ、バウンダ リ スキャン レジスタ、バイパス レジスタなどがあ り ます。 また、Virtex-5 ファ

ミ リは、 この規格に準拠する 32 ビッ トの識別レジスタおよびコンフ ィギュレーシ ョ ン レジスタも

サポート します。 次のセクシ ョ ンから、 Virtex-5 デバイスの JTAG アーキテクチャの詳細を説明し

ます。

LXT または SXT の製品検証の一部と してバウ ンダ リ スキ ャンを使用する場合は、 すべての

GTP_DUAL タイルの電源ピン MGTAVCC にアナログ電源電圧を供給する必要があ り ます。 未使

用の GTP_DUAL タイルのアナログ電源電圧ピン MGTAVCC も、内部コア ロジッ クの電源である

VCCINT に電力を供給する電源に接続する必要があ り ます。

テス ト アクセス ポート (TAP)Virtex-5 の TAP には、 IEEE で指定されている 4 つの必須専用ピン (表 3-1 を参照) があ り ます。

図 3-1 には、標準的な JTAG アーキテクチャを示します。 これら 3 つの入力ピンと 1 つの出力ピン

を使用して、1149.1 バウンダ リ スキャンの TAP コン ト ローラを制御します。 TRST (テス ト リセッ

ト ) やイネーブル ピンなどのオプシ ョ ン制御ピンは、 他社製デバイス上で使用されるこ とがあ り ま

す。 これらのオプシ ョ ン ピンが他社製デバイスで駆動されている場合があるため、 ザイ リ ンクス製

デバイスを他社製デバイス と組み合わせて使用する際は、 オプシ ョ ン制御ピンの信号に注意してく

ださい。

TAP コン ト ローラは、 16 ステートのステート マシンです (図 3-2 を参照)。 表 3-1 では、 IEEE 規格

で必要と される 4 つのピンについて説明します。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 87UG191 (v3.5) 2008 年 10 月 29 日

IEEE 1149.1 を使用した Virtex-5 デバイスのバウンダリ スキャンR

表 3-1 : Virtex-5 TAP コン ト ローラ ピン

ピン 説明

TDI Test Data In (テス ト データ入力)。すべての JTAG 命令およびデータ レジスタのシ リアル入力。 TAP コン ト ローラのステートおよび現在の命令によって、 特定の操作において TDI ピンがデータを供給するレジスタが決定されます。 ピンが駆動されていないと きにロジック High にするため、TDI には内部プルアップ抵抗があ り ます。 TDI のデータは、TCK の立ち上がりエッジで JTAG レジスタに供給されます。

TDO Test Data Out (テス ト データ出力)。 すべての JTAG 命令およびデータ レジスタのシリアル出力。

TAP コン ト ローラのステートおよび現在の命令によって、特定の操作において TDO ピンにデータを供給するレジスタ (命令またはデータ) が決定されます。 TDO のステートは TCK の立ち下がりエッジで変化し、 命令またはデータをデバイスで送信している場合にのみアクティブになり ます。 TDO はアクティブ ド ラ イバ出力です。

TMS Test Mode Select (テス ト モード セレク ト )。 TCK の立ち上がりエッジで、 TAP コン トローラのステートのシーケンスを決定します。

ピンが駆動されていないと きにロジッ ク High にするため、 内部プルアップ抵抗があ ります。

TCK Test Clock (テス ト ク ロ ッ ク )。 JTAG のテス ト クロ ッ ク ピン。

Virtex-5 デバイスの TAP コン ト ローラと JTAG レジスタは、 このクロックに同期して動作します。

メモ :

1. IEEE 規格で定められているよ うに、 TMS および TDI ピンには内部プルアップ抵抗があ り ます。 これらの 50 ~ 150kΩ 内部プルアップ抵抗は、 選択されているモードに関係な くアクティブです。

88 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

JTAG コンフ ィギュレーシ ョ ン モードでは、 JTAG 入力に VCCO_CFG を使用します。

図 3-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

UG191_c3_01_041106

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 89UG191 (v3.5) 2008 年 10 月 29 日

IEEE 1149.1 を使用した Virtex-5 デバイスのバウンダリ スキャンR

TAP コン ト ローラ

図 3-2 に示すバウンダ リ スキャン タ ップ コン ト ローラは、 16 ステート の有限ステート マシンで

す。 4 つの TAP ピンで、 データがどのよ うに各レジスタにスキャンされるかを制御します。 また、

TCK の立ち上がりエッジにおける TMS ピンの状態によって、ステートの遷移シーケンスが決定し

ます。主要なシーケンスは、データをデータ レジスタにシフ トするシーケンスと、命令を命令レジ

スタにシフ トするシーケンスです。

ステート間の遷移は TCK の立ち上がりエッジでのみ発生し、 各ステートには固有の名前が付いて

います。 右側の 2 列には 7 個ずつのステートがあ り、 それぞれ命令パス とデータ パスを示します。

データ レジスタは名前の 後に DR が付いているステートで動作し、命令レジスタは名前の 後に

IR が付いているステートで動作します。 それ以外は、 ステートは同一です。

次に、 各ステートの動作を示します。

Test-Logic-Reset :

すべてのテス ト ロジッ クがディ スエーブルになり、 通常の IC 動作が可能になり ます。 TAP コン ト

ローラのステート マシンは、コン ト ローラの初期ステートにかかわらず、TMS を High にして TCKのパルスを 5 回発生させるこ とで Test-Logic-Reset ステートになるよ うに設計されています。その

ため、 テス ト リセッ ト ピン (TRST) はオプシ ョ ンです。

Run-Test-Idle :

特定の命令が存在する場合にのみ 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 の立ち上がりエッジで、 データが現在の命令で選択されたデータ レジスタにパラレルに読み

込まれます。

90 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

Shift-Dr、 Exit1-DR、 Pause-DR、 Exit2-DR、 Update-DR : これらのステートは、 命令パスの Shift-IR、 Exit1-IR、 Pause-IR、 Exit2-IR、 および Update-IR ステートに対応しています。

Virtex-5 デバイスは、ザイ リ ンクス特有のコマンド と必須となる IEEE 1149.1 コマンドをサポート

しています。EXTEST、INTEST、SAMPLE/PRELOAD、BYPASS、IDCODE、USERCODE、HIGHZ命令がすべて含まれます。TAP は、内部ユーザー定義レジスタ (USER1、USER2、USER3、USER4)およびデバイスのコンフ ィギュレーシ ョ ン/ リードバッ ク もサポート します。

Virtex-5 のバウンダ リ スキャン モードは、選択したモード とは独立して動作し、選択されているそ

の他のモード よ り優先されます。 したがって、バウンダ リ スキャン レジスタを使用するバウンダ リ

スキャン命令 (SAMPLE/PRELOAD、 INTEST、 および EXTEST) は、 コンフ ィギュレーシ ョ ン中

は実行しないでください。 Virtex-5 デバイスのコンフ ィギュレーシ ョ ン前は、 ユーザー定義の命令

以外の命令を使用できます。 コンフ ィギュレーシ ョ ン後は、 すべての命令を使用可能です。

JSTART および JSHUTDOWN は、 Virtex-5 のアーキテクチャおよびコンフ ィギュレーシ ョ ン フローでのみ使用される命令です。 Virtex-5 デバイスの場合、TAP コン ト ローラは PROGRAM_B ピンではリセッ ト されず、 コン ト ローラを TLR ステートにするこ とによってのみリセッ トできます。

TAP コン ト ローラは、 電源投入時にリセッ ト されます。

EXTEST、 INTEST、および BYPASS のよ うな標準バウンダ リ スキャン命令の詳細は、 IEEE 規格

を参照してください。

図 3-2 : バウンダリ スキャンの TAP コン ト ローラ

1

UG191_c3_02_050406

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

TCKTMS

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 91UG191 (v3.5) 2008 年 10 月 29 日

IEEE 1149.1 を使用した Virtex-5 デバイスのバウンダリ スキャンR

バウンダリ スキャン アーキテクチャ

Virtex-5 デバイスのレジスタには、 IEEE 1149.1 規格で定められた必須のレジスタがすべて含まれ

ています。 標準的なレジスタに加え、 簡易テス トや検証用のレジスタも備えています (表 3-2)。

バウンダリ スキャン レジスタ

テス ト で使用される主なレジスタは、 バウンダ リ スキャン レジスタです。 バウンダ リ スキャンの

動作は、 個々の IOB コンフ ィギュレーシ ョ ンから独立しています。 各 IOB は、 ボンディングされ

ているかされていないかに関わらず、 ト ラ イステート制御を持つ双方向 IOB です。 その後、 IOB はコンフ ィギュレーシ ョ ンされて、 入力、 出力、 ト ライステートのいずれかとなるため、 各 IOB に 3つのデータ レジスタ ビッ トがあ り ます (図 3-3 参照)。

データ レジスタ (DR) の操作時、 DR は CAPTURE-DR ステート 中にパラレルでデータを取得しま

す。 取得さ れたデータは SHIFT-DR ステート 中にシフト 出力され、 新しいデータが取得さ れます。

DR の各ビッ ト に対してアッ プデート ラッ チが使用され、 次の SHIFT-DR ステート 中に入力データ

が保持されます。 その後、UPDATE-DR ステート 中 TCK が Low のと きにデータがラッ チされます。

TAP コン ト ローラが UPDATE-DR ステートに移行する と、アップデート ラ ッチはオープンになり

ます。 INTEST または EXTEST を実行する際には、 これらのコマンドの実行前に適切なデータが

ラ ッチされているこ とを確認して ください。 通常は、 SAMPLE/PRELOAD 命令を使用して確認し

ます。

断線およびシ ョート を検地するテス ト ベクタの作成には、内部プルアップおよびプルダウン抵抗を

考慮してください。 HSWAPEN ピンを使用して、IOB のプルアップ抵抗を有効または無効にできま

す。 図 3-3 に、 Virtex-5 のバウンダ リ スキャン アーキテクチャを示します。

表 3-2 : Virtex-5 JTAG レジスタ

レジスタ名 レジスタ長 説明

バウンダ リ スキャン レジスタ 各 I/O に 3 ビッ ト入力、 出力、 出力イネーブルの制御

および監視

命令レジスタ10 または 14 ビッ ト

現在の OPCODE 命令を保持し、 内部デ

バイスのステータスをキャプチャ

BYPASS レジスタ 1 ビッ ト デバイスをバイパス

識別レジスタ 32 ビッ ト デバイス ID を取得

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

32 ビッ ト

CFG_IN または CFG_OUT 命令を使用

中、 コンフ ィギュレーシ ョ ン バスへの

アクセスを可能にする

USERCODE レジスタ 32 ビッ ト ユーザーがプログラム可能なコードを取得

ユーザー定義のレジスタ (USER1、 USER2、 USER3、USER4)

デザインによ り

異なるデザインによ り異なる

92 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

ビッ ト シーケンス バウンダリ スキャン レジスタ

このセクシ ョ ンに、TAP 以外の IOB の順序が記述されています。 初に入力、次に出力、 後にト

ライステート IOB 制御です。 ト ラ イステート IOB 制御は、 も TDO に近い位置に配置されていま

す。 入力専用ピンは、入力ビッ トのみをバウンダ リ スキャンの I/O データ レジスタに送り ます。 デバイ スのビ ッ ト シーケン スは、 Virtex-5 フ ァ ミ リ 用の BSDL (Boundary-Scan DescriptionLanguage) ファ イルから取得できます。 これらのファイルは、 ザイ リ ンクスのソフ ト ウェア ダウン

ロード ページから入手可能です。 ビッ ト シーケンスはデザインに影響されるこ とはな く、ビッ ト数

および順序は常に同一です。

命令レジスタ

Virtex-5 デバイスの命令レジスタ (IR) は、 命令スキャン シーケンス中は TDI と TDO の間に接続

されます。 命令スキャン シーケンスの準備のため、 命令レジスタに固定の命令キャプチャ パター

ンがパラレルで読み込まれます。 このパターンは、命令が TDI から命令レジスタへシフ トする と き

に、 LSB から TDO にシフ ト します。

実行する処理を決定するため、 Virtex-5 のバウンダリ スキャン命令セッ ト に含まれる OPCODE が命令レジスタ に読み込まれます。 IR 幅はデバイ ス サイ ズによ って異なり ます。 Virtex-5 の LX、

LXT、 SXT、 FXT、 および TXT プラ ッ ト フォーム デバイスの IR 幅は 10 ビッ ト です。 FX100T、FX130T、 および FX200T では、 PowerPC プロセッ サが 2 つ含まれるので、 OPCODE は 14 ビッ ト

です。 上位 4 ビッ ト または 8 ビッ ト により PowerPC 440 エンベデッ ド プロセッ サがサポート され

ます。 ISC デバイス用の新しい IEEE 1532 規格をサポート するため、 命令コード の下位 4 ビッ ト は

すべての Virtex-5 デバイスで同じ機能を実行します。 PPC JTAG 命令では、 下位ビッ トは 100000(20h) に設定する必要があ り ます。PPC440 JTAG のガイ ド ラ インは、『Embedded Processor Blockin Virtex-5 FPGAs Reference Guide』 (UG200) を参照して ください。 表 3-3 に、 Virtex-5 デバイス

で使用可能な命令を示します。

図 3-3 : Virtex-5 ファ ミ リのバウンダリ スキャン ロジック

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

UG191_c3_03_050406

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 93UG191 (v3.5) 2008 年 10 月 29 日

IEEE 1149.1 を使用した Virtex-5 デバイスのバウンダリ スキャンR

表 3-3 : Virtex-5 バウンダリ スキャン命令

バウンダリ スキャン コマンドバイナリ コード

[9:0] 説明

EXTEST 1111000000 バウンダ リ スキャンの EXTEST をイネーブルにします。

SAMPLE 1111000001 バウンダ リ スキャンの SAMPLE をイネーブルにします。

USER1 1111000010 ユーザー定義レジスタ 1 にアクセスします。

USER2 1111000011 ユーザー定義レジスタ 2 にアクセスします。

USER3 1111100010 ユーザー定義レジスタ 3 にアクセスします。

USER4 1111100011 ユーザー定義レジスタ 4 にアクセスします。

CFG_OUT 1111000100 リ ード バッ ク用にコンフィ ギュレーショ ン バスにアクセスします。

CFG_IN 1111000101コンフ ィギュレーシ ョ ン用にコンフ ィギュレーシ ョ ン バスにアクセスし

ます。

INTEST 1111000111 バウンダ リ スキャンの INTEST をイネーブルにします。

USERCODE 1111001000 ユーザー コードのシフ ト出力をイネーブルにします。

IDCODE 1111001001 ID コードのシフ ト出力をイネーブルにします。

HIGHZ 1111001010出力ピンをト ラ イステート にし 、 BYPASS レジスタをイネーブルにし

ます。

JPROGRAM 1111001011 PROGRAM_B と同じで、 同様の機能があ り ます。

JSTART 1111001100 StartClk が TCK のと き、 スタート アップ シーケンスを送信します。

JSHUTDOWN 1111001101 シャ ッ ト ダウン シーケンスを送信します。

SYSMON 1111110111

JTAG を介してシステム モニタ DRP にアクセスします。 詳細は、

『Virtex-5 System Monitor User Guide』 (UG192) の DRP インターフェイ

スに関するセクシ ョ ンを参照してください。

ISC_ENABLE 1111010000ISC コンフ ィギュレーシ ョ ンを開始します。 完全なシャッ ト ダウンが実

行されます。

ISC_PROGRAM 1111010001 インシステム プログラムをイネーブルにします。

ISC_PROGRAM_SECURITY 1111010010セキュ リティ ステータスのセキュア モード と非セキュア モードを切り

替えます。

ISC_NOOP 1111010100 操作は実行されません。

ISC_READ 1111010101IEEE 規格 1532 に準拠してデバイスのコンフ ィギュレーシ ョ ン データ

およびバッテ リ バッ クアップ型 RAM (BBR) を リードバッ ク します。

BBR には、 AES ビッ ト ス ト リーム暗号化用の暗号キーが保存されます。

ISC_DISABLE 1111010111ISC コンフ ィギュレーシ ョ ンを終了します。 スタート アップ シーケンス

が実行されます。

BYPASS 1111111111 BYPASS をイネーブルにします。

RESERVED その他すべて

のコードザイ リ ンクスの予約命令。

94 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

図 3-4 に、命令スキャン シーケンスの一部と して IR に読み込まれる命令キャプチャ値を示します。

BYPASS レジスタ

も う 1 つの標準データ レジスタは、 単一フ リ ップ フロ ップの BYPASS レジスタです。 このレジス

タはバイパス命令中に、 TDI ピンから TDO ピンにデータをシ リ アル転送します。 また、 TAP コン

ト ローラが CAPTURE-DR ステートになったと き、 0 に初期化されます。

識別 (IDCODE) レジスタ

Virtex デバイ スには、 IDCODE レジス タ と呼ばれる 32 ビ ッ ト の識別レジス タがあ り ます。

IDCODE は、 IEEE 1149.1 規格に基づいたベンダー特有の固定値であ り、デバイスの製造者および

タイプを電子的に識別するものです。 このレジスタによ り、 バウンダ リ スキャンを使用してテス ト

またはプログラムされたデバイスの識別が容易になり ます。 IDCODE 命令を使用する と、 この識別

コードの出力が可能です。

IDCODE の 後のビッ トは、 常に 1 です (JTAG IEEE 1149.1 に基づく )。 16 進数の 後の 3 文字

は 0x093 とな り ます。 Virtex-5 FPGA に割り当てられている IDCODE は、 32 ページの表 1-13 に示されています。

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

JTAG コンフ ィギュレーシ ョ ン レジスタ は 32 ビッ ト レジスタです。 このレジスタによ り、 コン

フ ィギュレーシ ョ ン バスおよびリードバッ ク操作にアクセスできます。

USERCODE レジスタ

Virtex-5 ファ ミ リは、 USERCODE 命令をサポート しています。 このレジスタによ り、 デザイン特

定の識別コードを指定できます。 USERCODE はデバイス内にプログラムでき、 後で検証のために

リードバッ クできます。この USERCODE はビッ ト ス ト リームの生成時にビッ ト ス ト リーム内に組

み込まれ (BitGen -g UserID オプシ ョ ン)、 コンフ ィギュレーシ ョ ン後に有効になり ます。 デバイス

が空の場合、 または USERCODE がプログラムされていない場合の USERCODE レジスタ値は、

0xFFFFFFFF です。

USER1、 USER2、 USER3、 USER4 レジスタ

USER1、 USER2、 USER3、 および USER4 レジスタは、 コンフ ィギュレーシ ョ ン後にのみ有効に

なり ます。 これら 4 つのレジスタは、 ユーザーがデザインで定義する必要があ り ます。 これらのレ

ジスタには、 TAP ピンで定義する とアクセスできるよ うにな り ます。

これらのレジスタの作成には、BSCAN_VIRTEX5 ライブラ リ マクロが必要です。 このシンボルは、

内部スキャン チェーン (USER1、USER2、USER3、USER4) を駆動する際にのみ必要となり ます。

共通の入力ピン (TDI) と共有出力ピンによ り、TAP コン ト ローラのステート (RESET、 SHIFT、お

よび UPDATE) が示されます。 Virtex-5 の TAP ピンは専用ピンであるため、 通常のバウンダ リ スキ ャ ン命令や操作に BSCAN_VIRTEX5 マ ク ロは必要あ り ません。 HDL の場合は、

BSCAN_VIRTEX5 マクロをデザインにインスタンシエート して ください。

TDI →IR[9:6] IR[5] IR[4] IR[3] IR[2] IR[1:0]

→ TDOReserved DONE INIT(1) ISC_ENABLED ISC_DONE 0 1

メモ :

1. INIT は、 INIT_COMPLETE 信号のステータス ビッ トです。

図 3-4 : Virtex-5 の命令スキャン シーケンスの一部として IR に読み込まれる命令キャプチャの値

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 95UG191 (v3.5) 2008 年 10 月 29 日

IEEE 1149.1 を使用した Virtex-5 デバイスのバウンダリ スキャンR

Virtex-5 デバイスでのバウンダリ スキャンの使用

図 3-5 に示す一般的なタイ ミ ング パラ メータの特性評価データは、 データシート DS202 『Virtex-5 FPGA Data Sheet: DC and Switching Characteristics』 のコンフ ィギュレーシ ョ ン スイ ッチ特性の

表を参照してください。

スタート アップ シーケンス、 ビッ ト ス ト リーム、 内部コンフ ィギュレーシ ョ ン レジスタの詳細は、

第 1 章 の 「コンフ ィギュレーシ ョ ン シーケンス」 を参照して ください。

バウンダリ スキャンを使用したコンフ ィギュレーシ ョ ン

頻繁に使用されるベンダー固有のバウンダ リ スキャン命令の 1 つに、コンフ ィギュレーシ ョ ン命令

があ り ます。 電源投入時に、 JTAG から Virtex-5 デバイスをコンフ ィギュレーシ ョ ンする場合は、

モード ピンをバウンダ リ スキャン コンフ ィギュレーシ ョ ン モード 101 (M2 = 1、M1 = 0、M0 = 1)に設定するこ とを推奨します。

図 3-6 に、JTAG を使用する場合の Virtex-5 デバイスのコンフィ ギュレーショ ン フローを示します。

後続のセクショ ンでは、 バウンダリ スキャンを用いて Virtex-5 デバイスを 1 つのデバイスと してコ

ンフィ ギュレーショ ンする方法、複数のデバイス スキャン チェーンの一部と してコンフィ ギュレー

ショ ンする方法を説明します。

コンフ ィギュレーシ ョ ンされたデバイスを リ コンフ ィギュレーシ ョ ンするには、 TAP を ト グルし、

PROGRAM_B にパルスを供給した後に CFG_IN 命令を入力するか、 シャ ッ ト ダウン シーケンス

を開始します ( 図 3-6 を参照)。

Virtex-5 JTAG コンフ ィギュレーシ ョ ン アルゴ リ ズムをインプ リ メ ン トする場合は、 アプ リ ケー

シ ョ ン ノート XAPP058 『Xilinx In-System Programming Using an Embedded Microcontroller』 で説明している SVF ベース フローの実行を推奨します。

図 3-5 : Virtex-5 バウンダリ スキャン ポートのタイ ミング

UG191_c3_05_050406

Data to be captured

Data to be driven out

TDO

TCK

TDI

TMS

Data Valid

Data Valid

TTCKTDO

TTAPTCKTTCKTAP

96 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

図 3-6 : デザイン コンフ ィギュレーシ ョ ンのフロー図

JTAG

VCCINT > .75V

CRC ?

CFG_IN

?

JSTART

TAP

INIT_B = High?

PROGRAM_B = Low?

UG191_c3_06_072407

JSHUTDOWN

(TMS )

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 97UG191 (v3.5) 2008 年 10 月 29 日

IEEE 1149.1 を使用した Virtex-5 デバイスのバウンダリ スキャンR

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

表 3-4 で、Virtex-5 デバイスのコンフ ィギュレーシ ョ ンに必要な TAP コン ト ローラのコマンドにつ

いて説明します。TAP コン ト ローラのステートは、図 3-2 を参照してください。 iMPACT を使用し

てコンフ ィギュレーシ ョ ンする場合、 TAP コン ト ローラのコマンドは自動的に実行されます。

表 3-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. CFG_IN 命令を LSB から順に読み込みます。 111000101 0 9

6. IEEE 規格で定義されているよ うに、 SHIFT-IR から移行する と

きに CFG_IN 命令の MSB を読み込みます。1 1 1

7. SELECT-DR ステートに移行します。 X 1 2

8. SHIFT-DR ステートに移行します。 X 0 2

9. Virtex-5 のビッ ト ス ト リームをシフ ト入力します。 Bitn (MSB) がビッ ト ス ト リームの 初のビッ トです。(1)

bit1 ... bitn 0 (ビッ ト ス ト リーム

中のビッ ト ) -1

10. ビッ ト ス ト リームの 後のビッ ト をシフ ト入力します。 Bit0 (LSB) は、 EXIT1-DR ステートへの遷移時にシフ ト します。

bit0 1 1

11. UPDATE-DR ステートに移行します。 X 1 1

12. TMS にロジッ ク 1 を 5 回供給するこ とによ り、 TAP を リセッ ト

します。X 1 5

13. RTI ステートに移行します。 X 1 1

14. SELECT-IR ステートに移行します。 X 1 2

15. SHIFT-IR ステートに移行します。 X 0 2

16. JSTART 命令の読み込みを開始します。 JSTART 命令によって

スタート アップ シーケンスが初期化されます。111001100 0 9

17. JSTART 命令の 後のビッ ト を読み込みます。 1 1 1

18. UPDATE-IR ステートに移行します。 X 1 1

19. RTI ステートに移行し、 TCK に 12 サイクル以上クロッ クを供

給して STARTUP シーケンスを開始します。X 0 12

20. TLR ステートに移行します。 デバイスが動作を開始します。 X 1 3

メモ :

1. コンフ ィギュレーシ ョ ン レジスタの場合、 右 (TDI) から左 (TDO) に MSB から順にデータがシフ ト入力されます。 コンフ ィギュレーシ ョ ン レジスタへのシフ ト入力は、 その他のレジスタへのシフ ト入力とは異なり、 MSB が先になり ます。

98 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

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

チェーン接続している複数の Virtex-5 デバイスのコンフ ィギュレーシ ョ ンが可能です (図 3-7 を参

照)。 JTAG チェーンにある複数のデバイスは 1 つずつコンフ ィギュレーシ ョ ンされます。 複数デバ

イスのコンフ ィギュレーシ ョ ン手順は、 すべてのチェーン サイズで同様です。

次の TAP コン ト ローラの手順は、 図 3-2 のステート図を参照して ください。

1. 電源投入時に、 TMS をロジッ ク 1 にして TCK にクロ ッ クを 5 回入力します。 これによ り、

TLR (Test-Logic-Reset) ステートから確実に開始します。

2. CFG_IN 命令をターゲッ ト デバイスに読み込みます (その他すべてのデバイスは BYPASS 命令)。 RTI ステートに移行します (RUN-TEST/IDLE)。

3. 表 3-4 の手順 7 ~手順 11 に従って、コンフィ ギュレーショ ン ビッ ト スト リ ームを読み込みます。

4. 各デバイスに対して、 手順 2 および手順 3 を繰り返します。

5. TMS にロジッ ク 1 を 5 回入力して、 すべての TAP を リセッ ト します。

6. JSTART コマンドをすべてのデバイスに読み込みます。

7. RTI ステートに移行し、 TCK にクロ ッ クを 12 回入力します。

この段階ですべてのデバイスはアクティブになり ます。

図 3-7 : デバイスのバウンダリ スキャン チェーン

JTAG Header

UG191_c3_01_072407

Virtex-5FPGA

TDOTDI

TMS

TCK

Virtex-5FPGA

PROGRAM_B

TDI

TMS

TCK

PROGRAM_B

TDO

Virtex-5FPGA

TDI

TMS

TCK

PROGRAM_B

TDO

Device 0 Device 1 Device 2

TDO

TMS

TDI

TCK

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 99UG191 (v3.5) 2008 年 10 月 29 日

IEEE 1149.1 を使用した Virtex-5 デバイスのバウンダリ スキャンR

バウンダリ スキャンを使用したリ コンフ ィギュレーシ ョ ン

Virtex-5 デバイスは、 部分的な リ コンフ ィギュレーシ ョ ンが可能であるため、 リ コンフ ィギュレー

シ ョ ン時にコンフ ィ ギュレーシ ョ ン メモ リ は消去されません。 デバイス チェーンを リ コンフ ィ

ギュレーシ ョ ンする場合は、表 3-4 の手順 3 を参照してください。 内部競合を発生させずに Virtex-5デバイスを リ コンフ ィギュレーシ ョ ンする方法は 2 つあ り ます。 1 つは PROGRAM_B に信号を供

給し、 内部のコンフ ィギュレーシ ョ ン メモ リ を リ セッ トする方法で、 も う 1 つはシャ ッ ト ダウン

シーケンスを実行してデバイスを安全な状態にする方法です。 次に示すシャッ ト ダウン シーケンス

では、 内部レジスタを使用しています。 (内部レジスタの詳細は、 第 7 章 「 リードバッ クおよび コンフ ィギュレーシ ョ ンの検証」 を参照)。

1. CFG_IN 命令を読み込みます。

2. SHIFT-DR ステートで、 同期ワードを読み込み、 次に RCRC (Reset CRC Register) コマンド

を読み込みます。

1111 1111 1111 1111 1111 1111 1111 1111→ Dummy word1010 1010 1001 1001 0101 0101 0110 0110→ Synchronization word0011 0000 0000 0000 1000 0000 0000 0001→ Header: Write to CMD register 0000 0000 0000 0000 0000 0000 0000 0111→ RCRC command 0010 0000 0000 0000 0000 0000 0000 0000→ NO-OP0000 0000 0000 0000 0000 0000 0000 0000→ flush pipe

3. JSHUTDOWN を読み込みます。

4. RTI ステートに移行し、TCK にクロ ッ クを 12 回以上入力してシャ ッ ト ダウン シーケンスを開

始します。

5. SHIFT-IR ステートに移行し、 CFG_IN 命令を読み込みます。

6. SHIFT-DR ステートに移行し、コンフ ィギュレーシ ョ ン ビッ ト を読み込みます。 コンフ ィギュ

レーシ ョ ン ビッ ト に、 グローバル信号 GHIGH_B をアサートする AGHIGH コマンドが含ま

れているこ とを確認します。 これによ り、 コンフ ィギュレーシ ョ ン データの書き込み中の競合

が回避される。

0011 0000 0000 0000 1000 0000 0000 0001→ Header: Write to CMD 0000 0000 0000 0000 0000 0000 0000 1000→ AGHIGH command asserts GHIGH_B0000 0000 0000 0000 0000 0000 0000 0000→ flush pip

7. すべてのコンフ ィギュレーシ ョ ン ビッ トが読み込まれたら、TMS に 1 を 5 回入力して TAP をリセッ ト します。

8. SHIFT-IR ステートに移行し、 JSTART 命令を読み込みます。

9. RTI ステートに移行し、TCK にクロ ッ クを 12 回以上入力してシャ ッ ト ダウン シーケンスを開

始します。

10. TLR ステートに移行し、 リ コンフ ィギュレーシ ョ ン プロセスを完了します。

100 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

IEEE 1532 を使用した Virtex-5 デバイスのバウンダリ スキャン

ISC モーダル ステート

デバイスに電源が投入される と、デバイスは Unprogrammed ステートにな り ます。 すべての I/O はト ラ イステー ト状態か、 またはプルアップされています。 ISC_ENABLE が正常に実行される と、

ISC_Enabled 信号がアサー ト されてデバイスが ISC_Accessed ステー ト にな り ます。 デバイスが

Operational ステートから ISC_Accessed ステートになる と、 シャ ッ ト ダウン シーケンスが実行さ

れます。 I/O はすべて ト ラ イステート状態か、 またはプルアップされています。

ISC_Accessed ステートのと き、 スタート アップ シーケンスが実行されます。 スタート アップ シー

ケンスが完了する と、ISC_Enabled がク リ アされて ISC_Complete に移行します。 小クロ ッ ク サイ クルとは、 スタート アップ シーケンスの完了に 低限必要なクロ ッ ク サイ クル数です。 小ク

ロ ッ ク サイクルの終了後、 ISC_Enabled がディアサート されます。

スタート アップ シーケンスが正常に完了しているかど うかを判断するには、 CRC またはコンフ ィ

ギュレーシ ョ ン プロセッサからのコンフ ィギュレーシ ョ ン エラー ステータスを確認します。 スター ト アップが正常に完了した場合は、 ISC_Done がアサート されます。 完了していない場合は、

ISC_Done は Low のままです。 I/O はト ラ イステート状態か、 またはプルアップされています。

ISC_Complete ステートのと きに ISC_Done がセッ ト されている と、デバイスは Operational ステー

トに移行します。 ISC_Done がク リ アの場合は、 Unprogrammed ステートに移行します。 デバイス

が ISC_Accessed ステー ト のと きに TAP コン ト ローラが TLR ステー ト に移行し、 ISC_Done がセッ ト されている場合は Operational ステートにな り ます。

図 3-8 : ISC モーダル ステート

Unprogrammed(0,0)

ISC_ENABLE

TLR & ISC_Done ISC_Accessed

(1,X)

Operational(0,1)

ISC Complete(0,X)

ISC_ENABLE

ISC_ENABLE

ISC_DISABLEISC_DONE

ISC_DISABLE ISC_DONE

TLR ISC_Done

ISC_ENABLE

(ISC_Enabled ISC_Done)

ISC_Done

ISC_Done

ISC_DISABLE

ISC_DISABLE

ISC_DISABLE

UG191_c3_08_050406

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 101UG191 (v3.5) 2008 年 10 月 29 日

IEEE 1532 を使用した Virtex-5 デバイスのバウンダリ スキャンR

この場合、 Operational ステートにな り ますが、 スタート アップ シーケンスが実行されていないた

め、 I/O はまだアクティブではあ り ません。 I/O をアクティブにするには、 Operational ステートで

スタート アップ シーケンスを実行する必要があ り ます。

スタートアップおよびシャッ トダウン シーケンス (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 で必要となるク ロ ッ ク サイクル数を把

握しておく必要があ り ます。

シャ ッ ト ダウン シーケンスは、 デバイスが Operational ステートから ISC_Accessed ステートに移

行した と きに実行されます。 シャ ッ ト ダウ ンは、 ISC_ENABLE 命令の実行時に行われます。

JTAGCLK をシャ ッ ト ダウン シーケンスのクロ ッ ク ソース とする場合、ク ロ ッ クは ISC_ENABLE命令の Run/Test Idle ステー ト で供給されます。 Run/Test Idle で必要なク ロ ッ ク サイ クル数は、

シャ ッ ト ダウン シーケンスの完了に要するク ロッ ク サイ クル数によって決ま り ます。

CCLK または UserCLK をシャッ ト ダウン シーケンスのク ロッ ク ソースと する場合、 シャッ ト ダウ

ン シーケンスを完了するために、Run/Test Idle で必要と なる JTAGCLK サイク ル数を把握しておく

必要があり ます。 シャッ ト ダウン シーケンスは、 スタート アッ プ シーケンスを逆にしたものです。

メモ :

デバイスを JTAG でコンフ ィギュレーシ ョ ンする と きは、 BitGen の設定にかかわらず、 常に

TCK をスタート アップ クロ ッ クおよびシャ ッ ト ダウン ク ロ ッ ク と してください。 IEEE 1532コンフ ィギュレーシ ョ ン モードでは、 スタート アップおよびシャ ッ ト ダウンのク ロ ッ ク ソー

スは常に TCK です。

102 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

JTAG を使用した場合のコンフ ィギュレーシ ョ ン フロー

図 3-9 : IEEE 1532 コンフ ィギュレーシ ョ ン フロー

A

A

ISC_PROGRAM

00000

ISC_ENABLE

INIT_B= High?

RTI TCK1

64

?

CRC ? INIT_B Low

?

ISC_DISABLE

RTI TCK12

Vcc > ?

RTI TCK12

UG191_c3_09_072507

PROGRAM_B?

PROGRAM_B

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 103UG191 (v3.5) 2008 年 10 月 29 日

IEEE 1532 を使用した Virtex-5 デバイスのバウンダリ スキャンR

図 3-10 : ISC の初回コンフ ィギュレーシ ョ ンのタイ ミング

図 3-11 : ISC の部分的または完全なリコンフ ィギュレーシ ョ ンのタイ ミング

IDCODE

Unprogrammed ISC_Accessed

( )

ISC_Complete

ISC_ENABLE ISC_DISABLE ISC_DISABLE BYPASSTAP

ISC_Enabled

ISC_Done

UG191_c3_10_050406

IDCODE

ISC_Accessed ISC_Complete

ISC_ENABLE ISC_DISABLE ISC_DISABLE BYPASSTAP

ISC_Enabled

ISC_Done

UG191_c3_11_050406

104 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 105UG191 (v3.5) 2008 年 10 月 29 日

R

第 4 章

ユーザー プリ ミテ ィブ

本章で説明するプリ ミ ティブを使用する と、 コンフ ィギュレーシ ョ ン中またはコンギュレーシ ョ ン

後に FPGA コンフ ィギュレーシ ョ ン リ ソースにアクセスできます。

BSCAN_VIRTEX5JTAG は、 4 つのピン (TCK、 TMS、 TDI、 TDO) を持つ標準的なインターフェイスです。 多く のア

プリ ケーショ ンは、このインターフェイスに対応するよう に設計されます。 JTAG TAP コント ローラ

は、 コンフィ ギュレーショ ン ロジッ ク 内部にある専用のステート マシンです。 BSCAN_VIRTEX5により 、 JTAG TAP コント ローラと ファブリ ッ クにあるユーザー ロジッ ク間のアクセスが可能と な

り ま す。 各デバイ ス には 大 4 個の BSCAN_VIRTEX5 イ ンス タ ンス があり 、 それぞれが

JTAG_CHAIN パラ メ ータで制御されます。 表 4-1 は、 BSCAN_VIRTEX5 のファブリ ッ ク ピンの

説明です。

表 4-1 : BSCAN_VIRTEX5 のピン

ピン名 タイプ 説明

SEL 出力 アクティブ High のインターフェイス選択出力です。 JTAG 命令レジ

スタが USER1 ~ 4 の命令を保持する場合は SEL = 1 です。 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 出力 Capture_DR のステート を示すアクティブ High の信号で、 TCK の立

ち下がりエッジでアサート されます。

UPDATE 出力 Update_DR のステート を示すアクティブ High の信号で、 TCK の立

ち下がりエッジでアサート されます。

SHIFT 出力 Shift_DR のステート を示すアクティブ High の信号で、 TCK の立ち

下がりエッジでアサート されます。

TDO 入力 ユーザー ファブ リ ッ ク ロジッ クから駆動されます。 FPGA の TDO に供給される前に、 内部で立ち下がりエッジで読み込まれます。

106 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

第 4 章 : ユーザー プリ ミテ ィブR

CAPTURE_VIRTEX5CAPTURE_VIRTEX5 プリ ミ ティブは、 I/O、 CLB、 およびブロ ッ ク RAM 出力のフ リ ップフロ ッ

プのステータスをキャプチャし、 コンフ ィギュレーシ ョ ン インターフェイスを介して リード バッ

ク されます。 CAP 入力は CLK で読み込まれ、内部 gcap 信号を生成します。 この信号が High のと

き、I/O および CLB フ リ ップフロ ップのステータスが FPGA のコンフ ィギュレーシ ョ ン メモ リ セルにキャプチャされます。 動作モードには、 ワンシ ョ ッ ト モード と継続モードの 2 つがあ り ます。

ワンショ ッ ト モード の場合、 CAP の 初の立ち下がり エッ ジ後に gcap が 0 に保持さ れ、 それ以

降はキャプチャは実行さ れません。 キャプチャ回路を再び有効にするには、RCAP コマンド が必要

です。

継続モードの場合、CAP 入力は CLK で読み込まれて gcap 信号となるため、ユーザーがキャプチャ

のタイ ミ ングを制御できます。

CAPTURE_VIRTEX5 は、 FRAME_ECC_VIRTEX5 プリ ミ ティブまたはリードバッ ク CRC ファ

ンクシ ョ ン (第 9 章 「リードバッ ク CRC」 ) と同時に動作させないでください。 コンフ ィギュレー

シ ョ ン メモ リに値をキャプチャするこ とによって、 誤ったエラーが発生する可能性があ り ます。

ICAP_VIRTEX5ICAP_VIRTEX5 プ リ ミ テ ィブは、 ファブ リ ッ クにある点を除き、 SelectMAP コンフ ィギュレー

シ ョ ン インターフェイス と同様に機能します。 また、 SelectMAP には双方向バスがあるのに対し

て ICAP には読み出し /書き込みに別々のバスがあ り ます。「SelectMAP コンフ ィギュレーシ ョ ン インターフェイス」 で説明されている通常の SelectMAP のタイ ミ ングおよび SelectMAP ビッ ト ス ト

リームの順序に関する情報は、 ICAP にも適用されます。 ICAP_VIRTEX5 プリ ミ ティブを使用す

る と、 コンフ ィギュレーシ ョ ン レジスタへのアクセス、 コンフ ィギュレーシ ョ ン データのリード

バッ ク、 および FPGA のコンフ ィギュレーシ ョ ン後のパーシャル リ コンフ ィギュレーシ ョ ンが可

能となり ます。

ICAP のデータ幅は、ICAP WIDTH パラ メータを使用して x8、x16、x32 の 3 つから選択できます。

2 つの ICAP ポー ト を同時に動作させる こ とはできません。 上部の ICAP から動作させ、 2 つの

ICAP を交互に使用する必要があ り ます。

表 4-2 : CAPTURE_VIRTEX5 のピン

ピン名 タイプ 説明

CLK 入力 CAP 入力の読み込みに使用するクロッ クです。

CAP 入力 アクティブ High のキャプチャ イネーブル信号で、 CLK の立ち上がりエッジで読み込まれます。

表 4-3 : ICAP_VIRTEX5 のピン

ピン名 タイプ 説明

CLK 入力 ICAP インターフェイス ク ロ ッ クです。

CE 入力 アクティブ Low の ICAP インターフェイス選択入力です。

SelectMAP インターフェイスの CS_B と同様に機能します。

WRITE 入力 0=WRITE、 1=READ です。 SelectMAP インターフェイスの RDWR_B と同様に機能します。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 107UG191 (v3.5) 2008 年 10 月 29 日

FRAME_ECC_VIRTEX5R

FRAME_ECC_VIRTEX5Virtex-5 のフレームのエラー訂正コード (ECC) ロジッ クは、 コンフ ィ ギュレーシ ョ ン フレーム

データのシングル ビッ ト またはダブル ビッ ト エラーを検出します。 これには、 BitGen で生成され

たフレーム データを基づく SECDED (ハミ ング コード ) パリティ値が使用されます。フレーム ECCロジッ クは、 リードバッ ク中に ECC ビッ ト を含むフレーム内のすべてのビッ ト を使用して、 シン

ド ローム値を算出します。 ビッ ト がプログラムされた元の値と 同じ場合、シンド ローム ビッ ト はすべ

て 0 とな り ます。 ECC ビッ ト を含むいずれか 1 つのビッ トが変更されている場合、 そのビッ ト位

置がシンド ローム ビッ ト 10:0 で示され、 シンド ローム ビッ ト 11 が 1 になり ます。 2 つのビッ ト

が変更されている場合は、 シンド ローム ビッ ト 11 が 0 とな り、 その他のビッ トは 0 以外の意味の

ない値となり ます。3 ビッ ト以上が変更されている場合は、シンド ローム ビッ トは不定です。 1 ビッ

ト または 2 ビッ トが変更されている場合は、 ブロ ッ クのエラー出力がアサート され、 エラーを解決

する必要があるこ とを示します。

フレーム ECC ロジッ クを使用する際は、 デザインに FRAME_ECC_VIRTEX5 をインスタンシ

エート し、SelectMAP、 JTAG、 または ICAP を使用して リードバッ クを実行してください。 リード

バッ クの各フレームの 後で、 リードバッ ク ク ロ ッ ク (CCLK、 TCK、 または ICAP_CLK) の 1 サイ クル間、 syndrome_valid 信号がアサート されます。 1 フレームのリードバッ クに要するサイ ク

ル数は、使用するインターフェイスによって異なり ます。詳細は、 第 7 章 「リードバッ クおよび コンフ ィギュレーシ ョ ンの検証」 を参照してください。

FRAME_ECC_VIRTEX5 ロジッ クでは、変更されたビッ トは修正されません。 修正するには、ユー

ザー デザインが必要です。 このデザインでは、 1 フレーム以上のデータを格納できるか、 または再

書き込み用にオ リ ジナル フレーム データをフェ ッチできる こ とが必要です。 1 フレームは 1,312ビッ トです。 次に、 単純な修正操作の例を示します。

1. ICAP を介して 1 フレーム データが読み出され、 ブロ ッ ク RAM に格納されます。 各フレーム

が読み出されるごとに、 フレーム アドレスを生成する必要があ り ます。

2. FRAME_ECC ブロ ッ クのエラー出力によ りエラーが存在するこ とが示される と、 リードバッ

クが停止し、シンド ローム値が保存されます。 ビッ ト 11 が 0 の場合、フレーム全体を復元する

必要があ り ます。 ビッ ト 11 が 1 の場合は、 ビッ ト 10:0 によって、 保存されたフレーム内のエ

ラー ビッ トの位置が特定され、 そのビッ トが反転されます。

3. 修正されたフレームは、 手順 1 で生成されたフレーム アドレスに再度書き込まれます。

4. 次のフレーム アドレスから リードバッ クを再開します。

I[31:0] 入力 ICAP 書き込みデータ バスで、 バス幅は ICAP_WIDTH パラ

メータで指定します。 ビッ ト順は、 SelectMAP インターフェ

イス と同じです。 SelectMAP のデータ順は、 図 2-19 を参照し

て ください。

O[31:0] 出力 ICAP 読み出しデータ バスで、 バス幅は ICAP_WIDTH パラ

メータで指定します。 ビッ ト順は、 SelectMAP インターフェ

イス と同じです。 SelectMAP のデータ順は、 図 2-19 を参照し

て ください。

BUSY 出力 アクティブ High の BUSY ステータス信号です。 読み出しでの

み使用され、 書き込み中は Low に保持されます。

表 4-3 : ICAP_VIRTEX5 のピン (続き)

ピン名 タイプ 説明

108 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

第 4 章 : ユーザー プリ ミテ ィブR

シンド ローム ビッ ト S[10:0] はハミ ング パリティ ビッ トから導出され、S[11] は全般パリティ ビッ

トから導出されます。 シンド ローム ビッ トは、 次のよ うに解釈されます。

S[11] = 0、 S[10:0] = 0 : エラーなし

S[11] = 1、S[10:0] ≠ 0 : 1 ビッ ト (SED) エラー。S[10:0] によ り修正が必要なビッ トの位置

が示されます (間接的)。

S[11] = 1、 S[10:0] = 0 : 1 ビッ ト エラー。 全般パリティ ビッ ト p[11] でエラーが発生して

います。

S[11] = 0、 S[10:0] ≠ 0 : 2 ビッ ト エラー。 修正不可能です。

フレーム データに 1 ビッ ト エラーがある場合、 シンド ローム ビッ ト S[10:0] によ りアドレス空間

704 (フレームの 初のビッ ト ) ~ 2047 (フレームの 後のビッ ト ) のビッ トが反転されている位置

が示されます。シンド ローム値 S[10:0] で 0 ~ 1311 の反転されたビッ ト を示すよ うにするには、シ

ン ド ロームが 10 進数 1,024 よ り 小さい場合は 10 進数 704 (16 進数では 2C0、 2 進数では

01011000000) を減算し、 10 進数 1,024 以上の場合は 10 進数 736 (16 進数では 2E0、 2 進数では

01011100000) を減算します。 これは S[10:5] から 10 進数 22 または 23 を減算するこ と と等価で

あ り、 bit_index = {S[10:5] -6'd22-S[10],S[5:0]} とい う式で計算されます。

S[10:0] が 0 または 2 のべき乗である場合は、 パリ テ ィ ビッ ト のエラーです。 ハ ミ ング パリ ティ

ビッ トは、 ロケーシ ョ ン 640 ~ 651 に保存されています。 S[11] ビッ トで 1 ビッ トエラーが示され

ており、 ハミ ング コード パリティ エラーが発生している場合は、 適切な 2 のべき乗ビッ ト位置が

1 とな り、 その他のシンド ローム ビッ トは 0 になり ます。

100000000001 -> 640

100000000010 -> 641

100000000100 -> 642

100000001000 -> 643

100000010000 -> 644

100000100000 -> 645

100001000000 -> 646

100010000000 -> 647

100100000000 -> 648

101000000000 -> 649

110000000000 -> 650

100000000000 -> 651

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 109UG191 (v3.5) 2008 年 10 月 29 日

USR_ACCESS_VIRTEX5R

表 4-4 に、 FRAME_ECC_VIRTEX5 のピンの説明を示します。 詳細は、 第 9 章 「リ ードバッ ク

CRC」 を参照してください。

USR_ACCESS_VIRTEX5ユーザー アク セス レジスタ (USR_ACCESS_VIRTEX5) は 32 ビッ ト のレジスタで、 FPGA ファブ

リ ッ ク から ビッ ト ス ト リ ームのデータ に直接アク セスでき る よ う にし ます。 こ のレジスタ には、

CFG_CLK、 32 ビッ ト D バス、 および DATAVALID 信号の 3 つの出力があり 、 DATAVALID 信号

は、 新しい値が有効と なると 、 コンフィ ギュレーショ ン データ ソース ク ロッ ク の 1 サイク ル間ア

サート されます。 コンフィ ギュレーショ ン データ ソース ク ロッ クは、 CCLK または TCK です。

このブロッ クを使用すると 、コンフィ ギュレーショ ン後に FPGA ファブリ ッ クからビッ ト スト リ ーム

データの格納ソース (PROM など ) のデータにアクセスできます。 これには、STARTUP_VIRTEX5 ブロ ッ ク のイ ンス タ ンシエート が必要です。 STARTUP_VIRTEX5 ブロ ッ クには、 EOS (End-Of-Startup) 信号のアサート後に CCLK および DONE ピンを制御するための入力があ り ます。 これら

のピンは、 USRCCLKO、 USRCCLKTS、 USRDONEO、 および USRDONETS です。 BitGen の -g DONE_cycle:Keep オプシ ョ ンを使用して、 DONE ピンが High になって PROM がリセッ ト

されるのを回避します。 USR_CCLK_O ピンは、 FPGA ファブ リ ッ クで制御されているク ロ ッ クに

接続する必要があ り ます。 ビッ ト ス ト リームでは、 通常のコンフ ィギュレーシ ョ ン ビッ ト ス ト リー

ムに続く USR_ACCESS レジスタへの書き込みによ り、データが供給されます。 EOS がアサート さ

れた後、USR_CCLK_TS を Low に保持した状態で (この場合は Low に接続可能)、USR_CCLK_Oピンにクロ ッ クを供給するこ とによ りデータ パケッ トが読み込まれます。

ブロ ッ ク RAM や LUTRAM を使用して定数を保持する代わりに、 ユーザー アクセス レジスタか

ら 32 ビッ トの定数値をファブリ ッ クに供給できます (121 ページの 「AXSS レジスタ」 を参照)。

表 4-4 : FRAME_ECC_VIRTEX5 のピン

ピン名 タイプ 説明

SYNDROMEVALID 出力 フレーム ECC シンド ロームが有効であるこ とを示し、 各フ

レームに対して 1 サイクル間アクティブになり ます。 ERROR および SYNDROME[11:0] を読み込むために使用

されます。

ECCERROR 出力 フレーム ECC エラー

• SYNDROME[11:0] が 0 以外の場合、 ERROR = 1

• SYNDROME[11:0] がすべて 0 の場合、 ERROR = 0

SYNDROME[11:0] 出力 Frame ECC シンド ローム

• ビッ ト エラーなし : [11]==0、 [10:0] ==0

• 1 ビッ ト エラー : [11]==1、 [10:0] !=0

• 2 ビッ ト エラー : [11]==0、 [10:0 ] !=0

• 3 ビッ ト以上のエラー : SYNDROME は不定

• パリティ ビッ ト エラー : [11]==1、 [10:0]==0

CRCERROR 出力 RBCRC エラー信号 ( 第 9 章 の 「リードバッ ク CRC」 を参照)

110 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

第 4 章 : ユーザー プリ ミテ ィブR

STARTUP_VIRTEX5STARTUP_VIRTEX5 プリ ミ ティブはファブリ ッ ク インターフェイス と して機能し、 EOS (End ofStartup) 後にユーザーがグローバル信号の一部を制御できるよ うにします。

TCKSPI および DINSPI は、 ファブリ ッ クから TCK および D_IN 専用ピンへのアクセスを可能に

するため追加されました。これらのピンは、間接的な SPI フラ ッシュ プログラムおよび SPI フラ ッ

シュ コンフ ィギュレーシ ョ ン後のファブリ ッ クからのアクセスに使用できます。

CFGMCLK はコンフ ィギュレーシ ョ ンの内部オシレータで駆動されます。 レートは約 50MHz で、

ファブ リ ッ クの リ ング オシレータの代わりに汎用クロッ ク ソース と して使用できます。

CFGCLK は、 コンフ ィギュレーシ ョ ンの主要クロ ッ クです。

未使用の入力ピンは、 未接続のままにするかグランドに接続します。

表 4-5 : USR_ACCESS_VIRTEX5 のピン

ピン名 タイプ 説明

CFG_CLK 出力 コンフ ィギュレーシ ョ ン クロ ッ ク用のピンです。

DATA[31:0] 出力 ビッ ト ス ト リームからのユーザー アクセス データです。

DATAVALID 出力 DATA[31:0] が読み出し可能な状態であるこ とを示します。

表 4-6 : STARTUP_VIRTEX5 のピン

ピン名 タイプ 説明

EOS 出力 アクティ ブ High の信号で、 スタート アッ プの完全な終了を示します。

CLK 入力 ユーザー スタート アップ ク ロ ッ クです。

GSR 入力 アクティブ High の信号です。 この入力がアサート される と、 すべて

のフ リ ップフロ ップがビッ ト ス ト リーム内の初期値に戻り ます。

GTS 入力 アクティブ High の信号です。 この入力がアサート される と、 すべて

のユーザー I/O はト ラ イステートにな り ます。

USRCCLKO 入力 CCLK ピンの出力です。

USRCCLKTS 入力 ユーザー CCLK の ト ラ イステート を有効にする、 CCLK ピンへの入

力です。 この入力が High のと き、 CCLK はト ライステートです。

USRDONEO 入力 DONE ピンの出力値です。

USRDONETS 入力 ユーザー DONE の ト ラ イ ステート を有効にする、 DONE ピンへの

入力です。 この入力が High のと き、 DONE はト ライステートです。

TCKSPI 出力 TCK ピンから直接接続されます。

DINSPI 出力 D_IN ピンから直接接続されます。

CFGMCLK 出力 コンフ ィギュレーシ ョ ンの内部オシレータのクロ ッ ク出力です。

CFGCLK 出力 コンフ ィギュレーシ ョ ン ロジッ クの主要クロ ッ クの出力です。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 111UG191 (v3.5) 2008 年 10 月 29 日

R

第 5 章

ダイナミ ック リコンフ ィギュレーシ ョ ン ポート (DRP)

ファンクシ ョ ン ブロックのダイナミ ック リコンフ ィギュレーシ ョ ン

背景

Virtex-5 ファ ミ リ FPGA のコンフ ィギュレーシ ョ ン メモ リの主な用途は、 ユーザー ロジッ ク、 接

続、および I/O のインプ リ メン トですが、それ以外の用途に使用される場合もあ り ます。 たとえば、

CMT (ク ロ ッ ク マネージメン ト タイル) などのファンクシ ョ ン ブロ ッ クに対するさまざまな固定

条件を指定するために使用できます。

アプリケーシ ョ ンによっては、 ファンクシ ョ ン ブロ ッ クの動作中に、 これらの条件の変更が必要と

なり ます。 このよ う な変更は、 JTAG、 ICAP、SelectMAP ポート を使用するパーシャル ダイナミ ッ

ク リ コンフ ィギュレーシ ョ ンによって可能です。 各ファンクシ ョ ン ブロ ッ クの重要な部分である

ダイナ ミ ッ ク リ コンフ ィギュレーシ ョ ン ポート によ り、 この変更プロセスが非常に簡潔にな り ま

す。 CMT には、 このよ う なコンフ ィギュレーシ ョ ン ポートが備わっています。

概要

本章では、 アドレス指定可能で、 パラレル書き込みおよびパラレル読み出しが実行可能なコンフ ィ

ギュレーシ ョ ン メモ リについて説明します。 このメモリは、 リ コンフ ィギュレーシ ョ ンが必要とな

り得る各ファンクシ ョ ン ブロッ クに実装されています。 コンフ ィギュレーシ ョ ン メモ リには、次の

よ う な特長があ り ます。

• FPGA ファブリ ッ ク から直接アクセス可能です。 ファンクショ ン ブロッ ク の機能によって、 コ

ンフィ ギュレーショ ン ビッ ト の書き込み/読み出しの両方、 あるいは一方が実行されます。

• メ モリ の各ビッ ト は、 ビッ ト スト リ ームの対応するコンフィ ギュレーショ ン メ モリ ビッ ト 値で

初期化されます。 メ モリ ビッ ト は、 後で ICAP を介して変更できます。

• 各メモ リ ビッ トの出力はファンクシ ョ ン ブロ ッ ク ロジッ クを駆動するので、 このメモ リの内

容によ り ファンクシ ョ ン ブロッ クの構成が決定されます。

アドレス空間には、 ステータス (読み出しのみ) およびファンクシ ョ ン イネーブル (書き込みのみ)を含むこ とができます。 読み出しのみおよび書き込みのみの処理では、 アドレス空間を共有できま

す。図 5-1 に、以前の FPGA ファ ミ リでコンフ ィギュレーシ ョ ン ビッ トがどのよ うにファンクシ ョ

ン ブロ ッ クのロジッ クを直接駆動するかを示します。 図 5-2 には、 リ コンフ ィギュレーシ ョ ン ロジッ クによってこのコンフ ィギュレーシ ョ ン ビッ ト の読み出し /書き込みフローがどのよ うに変更

されるかを示します。

112 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

第 5 章 : ダイナミ ッ ク リコンフ ィギュレーシ ョ ン ポート (DRP)R

図 5-3 は図 5-2 と同じですが、 図 5-3 ではロジッ ク プレーンとファンクシ ョ ン ブロ ッ ク間のポー

トに実際の信号名と方向を示しています。

図 5-1 : ダイナミ ック インターフェイスを使用しない場合の

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

図 5-2 : ダイナミ ッ ク インターフェイスを使用する場合の

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

図 5-3 : 信号名を示したブロック コンフ ィギュレーシ ョ ン ロジック

(DCM MGT)

UG191_c5_01_050406

( )

( )

( )

(DCM MGT)UG191_c5_02_050406

( )

( )

( )

(DCM MGT)UG191_c5_03_050406

DCLK

DRDY

DEN

DWEDADDR[m:0]

DI[n:0]

DO[n:0]

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 113UG191 (v3.5) 2008 年 10 月 29 日

ファンクシ ョ ン ブロックのダイナミ ック リコンフ ィギュレーシ ョ ンR

FPGA ファブリ ッ ク ポートについて

114 ページの表 5-1 に、 FPGA ファブ リ ッ ク ポート上の各信号を示します。 各ファンクシ ョ ン ブロ ッ クには、 すべての信号または信号のサブセッ ト をインプ リ メ ン ト できます。 『Virtex-5 FPGAUser Guide』 の DCM に関する章に、 特定のブロ ッ ク用にインプ リ メン ト された信号およびファン

クシ ョ ンが記載されています。 通常ポートは同期パラレル メモ リ ポート で、 ブロ ッ ク RAM イン

ターフェイス と同様、 書き込みと読み出しに個別のバスがあ り ます。 バス ビッ トには、 LSB から

MSB の順に 0 から番号が付けられています。 すべての信号はアクティブ High です。

ポートのタイ ミ ングは DCLK 入力に同期し、その他すべての入力信号は、DCLK の立ち上がりエッ

ジでファンクシ ョ ン ブロ ッ ク内にラ ッチされます。 入力 (書き込み) データは、 DCLK の次の立ち

上がりエッジの前に、 書き込みアドレス と DWE および DEN 信号と同時に現れます。 次のデータ

を受信できる状態になる と、 DRDY ポートが 1 ク ロ ッ ク サイ クル間アサート されます。 ほかのす

べて信号の DCLK に対するタイ ミ ング要件は同一です。 出力データは、 ファンクシ ョ ン ブロ ッ ク

内にはラ ッチされません。 出力 (読み出し ) データは、 DEN および DADDR がアサート されてから

数サイクル後に有効となり ます。 出力データが有効になる と、 DRDY がアサート されます。

図 5-4 および図 5-5 に、 書き込みおよび読み出し時のポート信号間のタイ ミ ング関係を示します。

DCLK の 大周波数、 セッ ト アップ タ イムなどの絶対タ イ ミ ング パラ メータは、 データシート

DS202 『Virtex-5 FPGA Data Sheet: DC and Switching Characteristics』 に記載されています。

図 5-4 : 待機状態のある書き込みタイ ミング

bb

BB

DCLK

DEN

DRDY

DWE

DADDR[m:0]

DI[n:0]

DO[n:0]

UG191_c5_04_050406

114 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

第 5 章 : ダイナミ ッ ク リコンフ ィギュレーシ ョ ン ポート (DRP)R

図 5-5 : 待機状態のある読み出しタイ ミング

表 5-1 : ポート信号の定義

信号名 方向(1) 説明

DCLK 入力

すべてのポート 信号のタイ ミ ングは、 この信号の立ち上がり

エッ ジを基準と しています。 その他の入力信号の DCLK の立ち

上がり エッ ジに対するホールド タイム要件は 0 ( 大) です。 DCLK は通常、グローバル ク ロッ ク バッ ファで駆動されます。

DEN 入力

すべてのポートの処理を有効にします。 DWE が FALSE の場

合は読み出しを実行し、 それ以外の場合は、 書き込みを実行

します。 DCLK サイクルで DEN が非アクティブの場合、 ほか

のすべての入力信号はドン ト ケアとな り ます。

DWE 入力アクティブの場合、 ポートへの書き込み処理が有効になり ま

す (上記の 「DEN」 を参照)。

DADDR[m:0] 入力

DCLK の次のサイクルで書き込みまたは読み出しを実行する

セルを指定します。 アドレスは、 DEN がアクティブであるサ

イクルで示されます。

DI[n:0] 入力

アドレス指定されたセルに書き込まれるデータです。 データ

は、 DEN および DWE がアクティブであるサイクルで示され

ます。 このデータは、 サイ クルの 後でレジスタに取り込まれ

ますが、 実際の書き込みは DRDY がアサート されるまでの不

特定の時間に実行されます。

DO[n:0] 出力

DEN が有効で DWE が非アクティブの場合、 DRDY がアク

ティブになったと きに、 アドレス指定されたセルから読み出

されたデータがこのバス上に現れます。 それ以外の場合、

DO[n:0] 上の値は特定されません。

AA

AA

DCLK

DEN

DRDY

DWE

DADDR[m:0]

DI[n:0]

DO[n:0]

UG191_c5_05_050406

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 115UG191 (v3.5) 2008 年 10 月 29 日

ファンクシ ョ ン ブロックのダイナミ ック リコンフ ィギュレーシ ョ ンR

逓倍値と分周値の変更

逓倍値と分周値 (M/D) は、 DRP を介して 16 進アドレス 50h に対して読み込みおよび書き込みを

実行するこ とによ り、 DCM に直接プログラムできます。 ユーザー アプリ ケーシ ョ ンでは、 まずア

ド レス 50h から読み出して M 値または D 値が変更されているかど うかを確認する必要があ り ま

す。 M 値を 16 ビッ ト DRP データ ワードの上位バイ ト 、 D 値を下位バイ トに配置し、 ワード全体

を再び書き込みます。両方の値が同時に変更されている場合は、書き込みサイクルのみが必要です。

M/D 値を変更している間は、 入力 RST をアクティブにして DCM を リセッ ト状態にしておく必要

があ り ます。 RST が解放された後、 DCM のクロッ ク出力が有効になる と、 LOCKED 信号が Highになり ます。

DRDY 出力

DEN に対応する信号であ り、 DRP サイクルが完了し、 次の DRP サイクルを開始できるこ とを示します。 ポート読み出し

の場合、 DRDY がアクティブなサイクルにおいて、 DCLK の立ち上がりエッジで DO バスのデータをキャプチャする必要

があ り ます。 DEN がアクティブになり、 次のポート サイクル

を開始できる 初のサイクルは、 DRDY がアクティブになる

ク ロ ッ ク サイクルと同一です。

メモ :

1. 入力は DRP への入力 (書き込み) を意味します。

表 5-1 : ポート信号の定義 (続き)

信号名 方向(1) 説明

表 5-2 : 逓倍値の設定

DADDR[15:0] DEC DI[15:8] 機能

50h 00 00h (00000000) なし

50h 01 01h (00000001) 2 で逓倍

50h 02 02h (00000010) 3 で逓倍

50h 03 03h (00000011) 4 で逓倍

50h 04 04h (00000100) 5 で逓倍

•••

•••

•••

•••

50h 30 1Eh (00011110) 31 で逓倍

50h 31 1Fh (00011111) 32 で逓倍

50h 32 20h (00100000) 33 で逓倍

116 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

第 5 章 : ダイナミ ッ ク リコンフ ィギュレーシ ョ ン ポート (DRP)R

M 値または D 値が大き く変更された場合、 データシートの仕様に準拠するため、 周波数モードを

変更する必要がある場合があ り ます。DFS_FREQUENCY_MODE の場合は DRP アドレス 41h を読み出し、 ビッ ト 3 (DI[2]) を次のよ うに設定します。

• 0 : 低周波数モード

• 1 : 高周波数モード

その他のビッ トは変更しません。

DLL_FREQUENCY_MODE の場合は DRP アドレス 51h を読み出し、ビッ ト 3 および 4 (DI[3:2])を次のよ うに設定します。

• 00 : 低周波数モード

• 11 : 高周波数モード

その他のビッ トは変更しません。

DRP を読み出した後、 アドレス 00h からの読み出しを実行する必要があ り ます。 この読み出しに

よ り、 デフォルトの DCM ステータス出力が復元されます。

表 5-3 : 分周値の設定

DADDR[15:0] DEC DI[7:0] 機能

50h 0000 0000h (0000000000000000) なし

50h 0001 0001h (0000000000000001) 2 で分周

50h 0002 0002h (0000000000000010) 3 で分周

50h 0003 0003h (0000000000000011) 4 で分周

50h 0004 0004h (0000000000000100) 5 で分周

•••

•••

•••

•••

50h 0030 001Eh (0000000000011110) 31 で分周

50h 0031 001Fh (0000000000011111) 32 で分周

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 117UG191 (v3.5) 2008 年 10 月 29 日

R

第 6 章

コンフ ィギュレーシ ョ ンの詳細

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

Virtex®-5 FPGA のコンフ ィギュレーシ ョ ン メモ リは、 フレームに分割され、 デバイスに並べられ

ています。これらのフレームは Virtex-5 のコンフ ィギュレーシ ョ ン メモ リ空間でアドレス指定可能

な 小単位であ り、すべての操作はコンフ ィギュレーシ ョ ン フレーム全体に対して実行する必要が

あ り ます。表 6-1 に、 Virtex-5 のフレーム数と コンフ ィギュレーシ ョ ン サイズを示します。BitGenオプシ ョ ンによって、コンフ ィギュレーシ ョ ン ビッ ト ス ト リームに追加のオーバーヘッ ドが存在す

る場合もあ り ます。 正確なビッ ト ス ト リームのサイズは、 BitGen の -b オプシ ョ ンを使用するか、

ISE で [Generate Programming File] プロセスの [Process Properties] ダ イ ア ロ グ ボ ッ ク スの

[General Options] ページで [Create ASCII Configuration File] をオンにして作成したロービ ッ ト

ファ イル (RBT) で確認できます。ビッ ト ス ト リームのサイズ (ワード数) は、コンフ ィギュレーシ ョ

ン アレイ サイズ (ワード数) と コンフ ィギュレーシ ョ ン オーバーヘッ ド (ワード数) を加算した値

とほぼ同じです。 ビッ ト ス ト リームのビッ ト数は、 ワード数に 32 をかけた値とほぼ同じです。

表 6-1 : Virtex-5 のフレーム数、 フレームのサイズ、 オーバーヘッ ド、 およびビッ トスト リームのサイズ

デバイス

コンフ ィギュレー

シ ョ ン フレーム以外

のフレーム数 (1)

コンフ ィギュレー

シ ョ ン フレーム数合計フレーム数

フレーム のサイズ (ワード数)(2)

コンフ ィギュレー

シ ョ ン アレイの

サイズ (ワード数)(3)

ビッ トス ト リームの

オーバーヘッ ド (ワード数)(4)

LX30 172 6,376 6,548 41 261,416 272

LX50 258 9,564 9,822 41 392,124 272

LX85 426 16,644 17,070 41 682,404 272

LX110 568 22,192 22,760 41 909,872 272

LX155 800 32,544 33,344 41 1,334,304 272

LX220 1,040 40,496 41,536 41 1,660,336 272

LX330 1,560 60,744 62,304 41 2,490,504 272

LX20T 126 3,762 3,888 41 154,242 272

LX30T 184 7,136 7,320 41 292,576 272

LX50T 276 10,704 10,980 41 438,864 272

LX85T 444 17,784 18,228 41 729,144 272

LX110T 592 23,712 24,304 41 972,192 272

LX155T 808 32,800 33,608 41 1,344,800 272

LX220T 1,064 42,016 43,080 41 1,722,656 272

LX330T 1,596 63,024 64,620 41 2,583,984 272

118 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

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

Virtex-5 FPGA のすべてのビッ ト ス ト リーム コマンドは、 コンフ ィギュレーシ ョ ン レジスタに対

する読み出しまたは書き込みによって実行されます。

パケッ ト タイプ

FPGA のビッ ト ス ト リームは、 タイプ 1 と タ イプ 2 の 2 つのパケッ ト タイプで構成されます。 次に、 各パケッ ト タイプとその使用について説明します。

タイプ 1 パケッ ト

タイプ 1 のパケッ トは、 レジスタの読み出しおよび書き込みに使用されます。 Virtex-5 FPGA で使

用されるレジスタ アドレス ビッ トは、14 ビッ トの うちの 5 ビッ トのみです。 ヘッダ セクシ ョ ンは、

常に 32 ビッ ト ワードです。

タイプ 1 パケッ トのヘッダ セクシ ョ ンの後には、 タイプ 1 のデータ セクシ ョ ンが続きます。 この

セクシ ョ ンには、 ヘッダのワード カウン ト部で指定される 32 ビッ ト ワードの数が含まれます。

SX35T 244 10,168 10,412 41 416,888 272

SX50T 366 15,252 15,618 41 625,332 272

SX95T 648 27,216 27,864 41 1,115,856 272

SX240T 1,440 60,672 62,112 41 2,487,552 272

FX30T 244 10,296 10,540 41 422,136 272

FX70T 488 20,592 21,080 41 844,272 272

FX100T 696 30,016 30,712 41 1,230,656 272

FX130T 870 37,520 38,390 41 1,538,320 272

FX200T 1,236 54,000 55,236 41 2,214,000 272

TX150T 810 32,980 33,790 41 1,352,180 272

TX240T 1,236 50,112 51,348 41 2,054,592 272

1. コンフ ィギュレーシ ョ ン フレーム以外のフレームは、 ビッ ト ス ト リーム サイズには影響しません。

2. すべての Virtex-5 コンフ ィギュレーシ ョ ン フレームには、 41 個の 32 ビッ ト ワードが含まれています。

3. コンフ ィギュレーシ ョ ン アレイのサイズは、 コンフ ィギュレーシ ョ ン フレーム数にフレームごとのワード数を掛けた値です。

4. コンフ ィギュレーシ ョ ンのオーバーヘッ ドは、 コンフ ィギュレーシ ョ ンの実行に必要なコマンドで、 メモ リ セルをプログラムしないものです。 このオーバーヘッ ドは、 ビッ ト ス ト リームのサイズに影響します。

表 6-1 : Virtex-5 のフレーム数、 フレームのサイズ、 オーバーヘッ ド、 およびビッ トスト リームのサイズ (続き)

デバイス

コンフ ィギュレー

シ ョ ン フレーム以外

のフレーム数 (1)

コンフ ィギュレー

シ ョ ン フレーム数合計フレーム数

フレーム のサイズ (ワード数)(2)

コンフ ィギュレー

シ ョ ン アレイの

サイズ (ワード数)(3)

ビッ トス ト リームの

オーバーヘッ ド (ワード数)(4)

表 6-2 : タイプ 1 パケッ ト ヘッダ形式

ヘッダ タイプ Opcode レジスタ アドレス 予約済み ワード数

[31:29] [28:27] [26:13] [12:11] [10:0]

001 xx RRRRRRRRRxxxxx RR xxxxxxxxxxx

メモ :

1. 「R」 は、 そのビッ トは未使用で、 今後の使用のために予約されているこ とを示します。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 119UG191 (v3.5) 2008 年 10 月 29 日

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

タイプ 2 パケッ ト

タイプ 1 に後続するタイプ 2 のパケッ トは、 長いブロ ッ クの書き込みに使用されます。 このパケッ

トにはタイプ 1 パケッ トのアドレスが使用されるため、アドレスはあ り ません。 ヘッダ セクシ ョ ン

は、 常に 32 ビッ ト ワードです。

タイプ 2 パケッ トのヘッダ セクシ ョ ンの後には、 タイプ 2 のデータ セクシ ョ ンが続きます。 この

セクシ ョ ンには、 ヘッダのワード カウン ト部で指定される 32 ビッ ト ワードの数が含まれます。

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

タイプ 1 パケッ ト レジスタ

表 6-5 に、 タイプ 1 パケッ トのレジスタを示し、 それらについて説明します。

表 6-3 : Opcode の形式

Opcode 機能

00 NOP

01 読み出し

10 書き込み

11 予約済み

表 6-4 : タイプ 2 パケッ ト ヘッダ

ヘッダ タイプ Opcode ワード数

[31:29] [28:27] [26:0]

010 RR xxxxxxxxxxxxxxxxxxxxxxxxxx

表 6-5 : タイプ 1 パケッ ト レジスタ

レジスタ 名 読み出し /書き込み アドレス 説明

CRC 読み出し /書き込み 00000 CRC レジスタ

FAR 読み出し /書き込み 00001 フレーム アドレス レジスタ

FDRI 書き込み 00010 フレーム データ レジスタ、 入力レジスタ (コンフ ィギュレーシ ョ ン データの書き込み)

FDRO 読み出し 00011 フレーム データ レジスタ、 出力レジスタ (コンフ ィギュレーシ ョ ン データの読み出し )

CMD 読み出し /書き込み 00100 コマンド レジスタ

CTL0 読み出し /書き込み 00101 制御レジスタ 0

MASK 読み出し /書き込み 00110 CTL0 および CTL1 のマスク レジスタ

STAT 読み出し 00111 ステータス レジスタ

LOUT 書き込み 01000 レガシ出力レジスタ (デイジー チェーンの DOUT)

COR0 読み出し /書き込み 01001 コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0

MFWR 書き込み 01010 複数フレームの書き込みレジスタ

120 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

CRC レジスタ

このレジスタへの書き込みによって、 ビッ ト ス ト リーム データに対する CRC チェッ クが実行され

ます。 書き込まれた値が、現時点で算出された CRC 値と一致する と、 CRC_ERROR フラグがク リ

アされてスタート アップが可能となり ます。

FDRI レジスタ

このレジスタへの書き込みによって、 FAR レジスタで指定されたフレーム アドレスで、 フレーム

データがコンフ ィギュレーシ ョ ンされます。 詳細は、 133 ページの 「ビッ ト ス ト リームの構成」 を

参照してください。

FDRO レジスタ

この読み出し専用レジスタは、 コンフ ィギュレーシ ョ ン データのフレームを FAR レジスタで指定

されたアドレスから リードバッ クするために使用されます。 詳細は、 142 ページの 「リードバッ ク

コマンド シーケンス」 を参照して ください。

MASK レジスタ

CTL0 および CTL1 レジスタへの書き込みは、 MASK レジスタでビッ ト マスク されます。

LOUT レジスタ

シ リ アル デイジー チェーン コンフ ィギュレーシ ョ ン中、 このレジスタを使用して DOUT ピンへ

データが駆動されます。

MFWR レジスタ

ビッ ト ス ト リームの圧縮オプシ ョ ンで使用されます。

CBC レジスタ

ビッ ト ス ト リーム圧縮オプシ ョ ンで、 AES 復号化初期ベクタ (IV) の保持に使用されます。

CBC 書き込み 01011 初期 CBC 値レジスタ

IDCODE 読み出し /書き込み 01100 デバイス ID レジスタ

AXSS 読み出し /書き込み 01101 ユーザー ビッ ト ス ト リーム アクセス レジスタ

COR1 読み出し /書き込み 01110 コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 1

CSOB 書き込み01111 デイジー チェーンのパラレル インターフェイス

に使用、 LOUT と類似

WBSTAR 読み出し /書き込み 10000 ウォーム ブートの開始アドレス レジスタ

TIMER 読み出し /書き込み 10001 ウォ ッチド ッグ タイマ レジスタ

BOOTSTS 読み出し 10110 ブート履歴ステータス レジスタ

CTL1 読み出し /書き込み 11000 制御レジスタ 1

表 6-5 : タイプ 1 パケッ ト レジスタ (続き)

レジスタ 名 読み出し /書き込み アドレス 説明

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 121UG191 (v3.5) 2008 年 10 月 29 日

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

IDCODE レジスタ

FDRI への書き込みはすべて、 このレジス タへの書き込み後に実行されます。 書き込まれた

IDCODE は、 デバイスの IDCODE と一致する必要があ り ます。 詳細は、 26 ページの 「コンフ ィ

ギュレーシ ョ ン シーケンス」 を参照して ください。

このレジスタを読み出すと、 デバイスの IDCODE が返されます。

AXSS レジスタ

このレジスタを使用して USR_ACCESS_VIRTEX5 プリ ミ ティブがサポート されます (109 ページ

の 「USR_ACCESS_VIRTEX5」 を参照)。

CSOB レジスタ

パラレル デイジー チェーンの場合、 このレジスタを使用して CSO_B ピンがアサート されます。

コマンド レジスタ (CMD)

コマンド レジスタは、 コンフ ィギュレーシ ョ ン制御ロジッ クに対し、 グローバル信号をス ト ローブ

してその他のコンフ ィギュレーシ ョ ン ファンクシ ョ ンを実行するよ う指示するために使用されま

す。 CMD レジスタにあるコマンドは、CMD または FAR が読み込まれるたびに実行されます。コー

ド ビッ トは、 32 ビッ トの CMD レジスタの下位ビッ トに含まれ、 残りの上位ビッ トは 0 になり ま

す。 表 6-6 に、 コマンド レジスタのコマンドおよびコードを示します。

表 6-6 : コマンド レジスタ コード

コマンド コード 説明

NULL 00000 Null コマンド。

WCFG 00001コンフ ィギュレーシ ョ ン データの書き込み : FDRI にコンフ ィギュ

レーシ ョ ン データを書き込む際に使用します。

MFW 00010複数のフレームの書き込み : 1 つのフレーム データを複数のフレーム アドレスに書き込む場合に使用します。

DGHIGH/LFRM

00011終フレーム : GHIGH_B 信号をディアサート し、 すべてのインター

コネク ト を有効にします。 GHIGH_B 信号は、 AGHIGH コマンドで

アサート します。

RCFG 00100コンフ ィギュレーシ ョ ン データの読み出し : FDRO からコンフ ィ

ギュレーシ ョ ン データを読み出す際に使用します。

START 00101

スタート アップ シーケンスの開始 : スタート アップ シーケンスを開

始します。 CRC チェッ クでエラーが検出されず、 DESYNC コマンド

が実行された後、 スタート アップ シーケンスが開始します。

RCAP 00110シングル シ ョ ッ ト モードで リードバッ ク キャプチャを実行後、

CAPTURE 信号を リセッ ト します (156 ページの 「リードバッ ク キャ

プチャ」 を参照)。

RCRC 00111 CRC のリセッ ト : CRC レジスタを リセッ ト します。

122 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

AGHIGH 01000

GHIGH_B 信号のアサート : すべてのインターコネク ト をハイイン

ピーダンス状態にし、 新しいコンフ ィギュレーシ ョ ン データを書き

込む際に競合が発生しないよ うにします。 シャ ッ ト ダウン リ コン

フ ィギュレーシ ョ ンでのみ使用されます。 インターコネク トは、

LFRM コマンドによって再びアクティブになり ます。

SWITCH 01001CCLK 周波数の切り替え : マスタ CCLK の周波数を COR0 レジスタ

の OFSEL ビッ トで指定された値に変更します。

GRESTORE 01010GRESTORE 信号のパルス : IOB および CLB フ リ ップフロ ップを

ユーザー設定に応じてセッ ト またはリセッ ト します。

SHUTDOWN 01011

シャ ッ ト ダウン シーケンスの開始 : シャ ッ ト ダウン シーケンスを開

始し、 完了時にデバイスをディ スエーブルにします。 CRC チェッ ク

でエラーが検出されない場合、 または RCRC 命令でシャッ ト ダウン

がアクティブになり ます (通常は RCRC 命令を使用)。

GCAPTURE 01100GCAPTURE のパルス : レジスタのその時点の状態をキャプチャ セル

に取り込みます (156 ページの 「 リードバッ ク キャプチャ」 を参照)。

DESYNCH 01101

DALIGN 信号のパルス : コンフ ィギュレーシ ョ ンの 後に使用され、

デバイスを非同期にします。 非同期になる と、 コンフ ィギュレーシ ョ

ン データ ピン上のすべての値は無視されます。

Reserved 01110 予約済み

IPROG 01111 ウォーム ブート開始用の内部 PROG

CRCC 10000

RBCRC_SEL=0 の場合、 リ コンフ ィギュレーシ ョ ン後に CFG によ

り 初のリードバッ ク値が再算出されます。 GHIGH を ト グルした場

合も同じ処理が実行されます。 CRCC コマンドは、 リ コンフ ィギュ

レーシ ョ ン中に GHIGH が ト グルされない場合に使用できます。

LTIMER 10001 ウォ ッチド ッグ タイマを再読み込みします。

表 6-6 : コマンド レジスタ コード (続き)

コマンド コード 説明

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 123UG191 (v3.5) 2008 年 10 月 29 日

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

制御レジスタ 0 (CTL0)

CTL0 および CTL1 レジス タは、 Virtex-5 デバイスのコンフ ィ ギュレーシ ョ ンに使用されます。

CTL0 レジスタへの書き込みは、 MASK レジスタの値でマスク されます。 これによ り、 SBITS および PERSIST ビッ ト を再指定するこ とな く、GTS_USR_B 信号を ト グルできます。 図 6-1 に CTL0レジスタの各ビッ ト位置の名前を示し、 表 6-7 で各ビッ トについて説明します。

説明

予約済み

ICA

P_S

EL

EC

T

予約済み

OverTem

pPow

erDow

n予約済み

ConfigF

allbackSelectM

APA

bortG

LU

TM

ASK

_B予約済み

DE

C

SB

ITS

[1:0]

PE

RS

IST

予約済み

GT

S_U

SR

_B

ビッ ト インデッ クス

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9 8 7 6 5 4 3 2 1 0

値 X 0 X X X X X X X X X X X X X X X X X X X 0 0 1 X 0 0 0 0 X X 1

図 6-1 : 制御レジスタ 0 (CTL0)

表 6-7 : 制御レジスタ 0

ビッ ト位置名ビッ ト

インデックス説明

ICAP_SELECT 30 ICAP ポート セレク ト

0 : 上部 ICAP ポート をイネーブル ( デフォルト )1 : 下位 ICAP ポート をイネーブル

OverTempPowerDown 12 System Monitor の過温度パワーダウン機能をイネー

ブルにします。

ConfigFallback 10 CFG でエラーが発生した場合に停止し、 デフォルト ビッ ト ス ト リームへのファールバッ クをディ スエー

ブルにします。

BitGen オプシ ョ ン : ConfigFallback : Enable*/Disable

SelectMAPAbort 9 RDWR_B が ト グルし、 CS_B がアサート された場合

に、 SelectMAP でのABORT をディ スエーブルにし

ます。

BitGen オプシ ョ ン : SelectMAPAbort : Enable*/Disable

GLUTMASK_B 8 グローバル LUT マスク信号。 メモ リ セルの変更可能

な リードバッ ク値をすべてマスク します。

DEC 6 AES Decryptor のイネーブル ビッ ト

SBITS[1:0] [5:4] セキュ リティ レベルの設定

00 : 読み出し /書き込み可 (デフォルト ) 01 : リードバッ クは不可

1x : 書き込み/読み出し共に不可

124 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

制御レジスタ 1 (CTL1)

CTL0 および CTL1 レジスタは、 Virtex-5 デバイスのコンフ ィギュレーシ ョ ンに使用され、 CTL1レジスタは予約されています。

フレーム アドレス レジスタ (FAR)

Virtex-5 デバイスは、 上部と下部に二分割されます。 Virtex-5 デバイスにあるフレームの長さは

1312 ビッ ト (41 個の 32 ビッ ト ワード ) に固定され、 すべて同一です。

FAR は、 ブロ ッ ク タイプ、 上部/下部ビッ ト 、 行アドレス、 列アドレス、 マイナー アドレスの 5 つのフ ィールドに分けられます。 表 6-8 を参照して ください。 アド レスは、 直接書き込むか、 各フ

レームの 後で自動的にインク リ メン トできます。 通常、 ビッ ト ス ト リームはアドレス 0 から開始

し、 終値まで自動的にインク リ メン ト します。

PERSIST 3 M2:M0 で指定されたコンフ ィギュレーシ ョ ン イン

ターフェイスをコンフ ィギュレーシ ョ ン後も保持し

ます。 通常、 SelectMAP インターフェイスでのみ使

用し、 リ コンフ ィギュレーシ ョ ンおよびリードバッ

クを可能にします。 「SelectMAP リ コンフ ィギュレー

シ ョ ン」 も参照して ください。

0 : 保持しない (デフォルト )1 : 保持する

GTS_USR_B 0 アクティブ Low で、 I/O をグローバルに ト ラ イス

テートにします。 GTS_CFG_B もアサート されている

場合は、 プルアップをオフにします。

0 : I/O はト ライステート

1 : I/O はアクティブ

表 6-7 : 制御レジスタ 0 (続き)

ビッ ト位置名ビッ ト

インデックス説明

説明

予約済み

ビ ッ ト インデッ クス

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9 8 7 6 5 4 3 2 1 0

値 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X

図 6-2 : 制御レジスタ 1 (CTL1)

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 125UG191 (v3.5) 2008 年 10 月 29 日

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

ステータス レジスタ (STAT)

ステータス レジスタは、複数のグローバル信号の値を示します。 このレジスタは、SelectMAP また

は JTAG インターフェイスを介して読み出すこ とができます。図 6-3 に STAT レジスタ内の各ビッ

ト位置の名前を示し、 表 6-9 で各ビッ トについて説明します。

表 6-8 : フレーム アドレス レジスタ

アドレス タイプビッ ト

インデックス説明

ブロッ ク タイプ [23:21] 有効なブロ ッ ク タイプは CLB、 I/O、 CLK (000)、 ブロ ッ

クRAM の内容 (001)、 CFG_CLB (010) です。 通常のビッ

ト ス ト リームには、 タイプ 010 は含まれません。

Top_B ビッ ト 20 上部の行 (0) または下部の行 (1) を選択します。

行アドレス [19:15] 現在の行を選択します。 行アドレスは、 下から上に向かっ

て増加します。

列アドレス [14:7] CLB 列など、 大まかな列を選択します。 列アドレスは 0 から開始し、 右に向かって増加します。

マイナー アドレス [6:0] 選択した列内のフレームを選択します。

説明

予約済み

BU

S_W

IDT

H

FS

Reserved

STA

RT

UP

_STA

TE

Reserved

DE

C_E

RR

OR

ID_E

RR

OR

DO

NE

RE

LE

AS

E_D

ON

EIN

IT_B

INIT

_CO

MPL

ET

E

MO

DE

GH

IGH

_BG

WE

GT

S_C

FG

_BE

OS

DC

I_MA

TC

HD

CM

_LO

CK

PAR

T_S

EC

UR

ED

CR

C_E

RR

OR

ビッ ト インデッ クス

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9 8 7 6 5 4 3 2 1 0

値 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x

図 6-3 : ステータス レジスタ

表 6-9 : ステータス レジスタ

ビッ ト位置名ビッ ト

インデックス説明

BUS_WIDTH [26:25] CFG バス幅の自動検出結果を示します。 ICAP が有効な

場合、 コンフ ィギュレーシ ョ ン完了後は ICAP バス幅

を示します。

00 = x101 = x810 = x1611 = x32

FS [24:22] SPI フラ ッシュのタイプを選択します。

126 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

STARTUP_STATE [20:18] CFG スタート アップのステート マシン (0 ~ 7)

フェーズ 0 = 000

フェーズ 1 = 001

フェーズ 2 = 011

フェーズ 3 = 010

フェーズ 4 = 110

フェーズ 5 = 111

フェーズ 6 = 101

フェーズ 7 = 100

DEC_ERROR 16

復号化処理の前または後に FDRI への書き込みが実行さ

れたこと を示します。

0 : DEC_ERROR なし 1 : DEC_ERROR あ り

ID_ERROR 15

DEVICE_ID チェッ クでエラーが検出されたのにもか

かわらず FDRI への書き込みが実行されたこ とを示し

ます。

0 : ID_ERROR なし 1 : ID_ERROR あ り

DONE 14 DONE ピンの値

RELEASE_DONE 13

内部 DONE 信号の値

0 : DONE 信号は解放されていない (ピンがアクティブに Low に保持されている)

1 : DONE 信号は解放されている (外部から Low に保持するこ とが可能)

INIT_B 12 INIT_B ピンの値

INIT_COMPLETE 11初期化の完了を示す内部信号

0 : 初期化は未完了

1 : 初期化は完了

MODE [10:8] モード ピン (M[2:0]) の状態

GHIGH_B 7GHIGH_B の状態

0 : GHIGH_B はアサート されている

1 : GHIGH_B はディアサート されている

GWE 6GWE の状態

0 : FF およびブロ ッ ク RAM へ書き込み不可

1 : FF およびブロッ ク RAM へ書き込み可能

GTS_CFG_B 5GTS_CFG_B の状態

0 : すべての I/O はハイインピーダンス状態

1 : すべての I/O が設定どおりに動作

表 6-9 : ステータス レジスタ (続き)

ビッ ト位置名ビッ ト

インデックス説明

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 127UG191 (v3.5) 2008 年 10 月 29 日

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

コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0 (COR0)

コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0 は、デバイスに対する特定のコンフ ィギュレーシ ョ

ン オプシ ョ ンの設定に使用されます。 図 6-4 に COR の各ビッ ト位置の名前を示し、 表 6-10 で各

ビッ トについて説明します。

EOS 4

スタート アップの終了を示す、 スタート アップ ブロ ッ

クからの信号

0 : スタート アップ シーケンスは未完了

1 : スタート アップ シーケンスは完了

DCI_MATCH 3

0 : DCI は不一致

1 : DCI は一致

すべての MATCH 信号 (各バンクに 1 つ) のロジッ ク AND ファンクシ ョ ン。 DCI I/O がバンクにない場合、

そのバンクの MATCH 信号は 1 になり ます。

DCM_LOCK 2

0 : DCM はロッ ク状態になっていない

1 : DCM はロッ ク状態

すべての DCM LOCKED 信号のロジッ ク AND ファン

クシ ョ ン。 未使用の DCM では、 LOCKED 信号 は 1 とな り ます。

PART_SECURED 1 0 : 復号化処理のセキュ リティは設定されていない

1 : 復号化処理のセキュ リティは設定されている

CRC_ERROR 0 0 : CRC エラーなし

1 : CRC エラー

表 6-9 : ステータス レジスタ (続き)

ビッ ト位置名ビッ ト

インデックス説明

説明

予約済み

予約済み

予約済み

CR

C_B

YPA

SS

PWR

DW

N_STA

T予約済み

DO

NE

_PIPE

DR

IVE

_DO

NE

SING

LE

OS

CF

SE

L

SSC

LK

SR

C

DO

NE

_CY

CL

E

MA

TC

H_C

YC

LE

LO

CK

_CY

CL

E

GT

S_C

YC

LE

GW

E_C

YC

LE

ビッ ト インデッ クス

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9 8 7 6 5 4 3 2 1 0

値 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 x 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0

図 6-4 : コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0

128 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

表 6-10 : コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0

ビッ ト位置名ビッ ト

インデックス説明

CRC_BYPASS 28

特別な CRC 値 (0xDEFC) が読み込まれた場合、 CRC をバイパスします。

0 : CRC はイネーブル

1 : CRC はディ スエーブル

PWRDWN_STAT 27DONE ピンを Powerdown ステータス ピンに変更します。

0 : DONE ピン

1 : Powerdown ピン

DONE_PIPE 25

0 : DONEIN にパイプライン段なし

1 : DONEIN にパイプライン段を追加

FPGA は、 スタート アップ クロ ッ クの 1 サイクル分遅延

されている DONE を待ちます。 スタート アップ クロ ッ ク

が高速で動作している場合は、 このオプシ ョ ンを使用し

て ください。

DRIVE_DONE 24 0 : DONE ピンはオープン ドレイン

1 : DONE ピンはアクティブに High に駆動

SINGLE 23

0 : リードバッ クはシングル シ ョ ッ トではない

新たにキャプチャされた値は、 CAPTURE_VIRTEX5 プリ ミ ティブ上の CAP が適切にアサート されるたびに読み

込まれます。 CMD レジスタで GCAPTURE 命令を実行し

ても、 キャプチャを実行できます。

1 : リードバッ クはシングル シ ョ ッ ト

連続する リードバッ クの間で CMD レジスタに RCAP 命令を読み込む必要があ り ます。

OSCFSEL [22:17] マスタ モードでの CCLK 周波数を選択します (2MHz ~ 60MHz)。

SSCLKSRC [16:15]

スタート アップ シーケンスのクロ ッ ク ソース

00 : CCLK 01 : UserClk

(CAPTURE_VIRTEX5 ブロ ッ ク上の接続を使用 )1x: JTAGClk

DONE_CYCLE [14:12]

DONE ピンを解放するするスタート アップ フェーズ

000 : スタート アップ フェーズ 1001 : スタート アップ フェーズ 2010 : スタート アップ フェーズ 3011 : スタート アップ フェーズ 4100 : スタート アップ フェーズ 5101 : スタート アップ フェーズ 6110 : スタート アップ フェーズ 7111 : 保持

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 129UG191 (v3.5) 2008 年 10 月 29 日

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

MATCH_CYCLE [11:9]

DCI が一致するまで待機するスタート アップ フェーズ

000 : スタート アップ フェーズ 0001 : スタート アップ フェーズ 1010 : スタート アップ フェーズ 2011 : スタート アップ フェーズ 3100 : スタート アップ フェーズ 4101 : スタート アップ フェーズ 5110 : スタート アップ フェーズ 6111 : 待機しない

LOCK_CYCLE [8:6]

DCM がロッ ク するまで待機するスタート アッ プ フェーズ

000 : スタート アップ フェーズ 0001 : スタート アップ フェーズ 1010 : スタート アップ フェーズ 2011 : スタート アップ フェーズ 3100 : スタート アップ フェーズ 4101 : スタート アップ フェーズ 5110 : スタート アップ フェーズ 6111 : 待機しない

GTS_CYCLE [5:3]

グローバル ト ラ イステート (GTS) 信号をディアサートす

るスタート アップ フェーズ

000 : スタート アップ フェーズ 1001 : スタート アップ フェーズ 2010 : スタート アップ フェーズ 3011 : スタート アップ フェーズ 4100 : スタート アップ フェーズ 5101 : スタート アップ フェーズ 6110 : DONE ピンの設定と同一

BitGen オプシ ョ ン : -g GTS_cycle : Done001 : 保持

GWE_CYCLE [2:0]

グローバル書き込みイネーブル (GWE) 信号をディアサー

トするスタート アップ フェーズ

000 : スタート アップ フェーズ 1001 : スタート アップ フェーズ 2010 : スタート アップ フェーズ 3011 : スタート アップ フェーズ 4100 : スタート アップ フェーズ 5101 : スタート アップ フェーズ 6110 : DONE ピンの設定と同一

BitGen オプシ ョ ン : -g GWE_cycle : Done111 : 保持

表 6-10 : コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 0 (続き)

ビッ ト位置名ビッ ト

インデックス説明

130 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 1 (COR1)

コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 1 は、デバイスに対する特定のコンフ ィギュレーシ ョ

ン オプシ ョ ンの設定に使用されます。 図 6-5 に COR1 の各ビッ ト位置の名前を示し、 表 6-11 で各

ビッ トについて説明します。

説明

予約済み

PE

RS

IST

_DE

AS

SE

RT

_AT

_DE

SY

NC

H予約済み

予約済み

RB

CR

C_N

O_P

INR

BC

RC

_EN

予約済み

BPI_1ST

_RE

AD

_CY

CL

ES

BP

I_PAG

E_S

IZE

ビッ ト インデッ クス

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9 8 7 6 5 4 3 2 1 0

値 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

図 6-5 : コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 1

表 6-11 : コンフ ィギュレーシ ョ ン オプシ ョ ン レジスタ 1

ビッ ト位置名ビッ ト

インデッ クス説明

PERSIST_DEASSERT_AT_DESYNCH 17 DESYNCH コマンドで PERSIST のディ

アサート をイネーブルにします。

RBCRC_NO_PIN 9 INIT_B をリ ードバック CRC エラーのス

テータス出力ピンと して使用できないよう

にします。

RBCRC_EN 8 連続したリ ード バッ ク CRC を可能にし

ます。

BPI_1ST_READ_CYCLES [3:2] 初のバイ トの読み出しタイ ミ ング

00 : 1 CCLK01 : 2 CCLK10 : 3 CCLK11 : 4 CCLK

BPI_PAGE_SIZE [1:0] フラ ッシュ メモ リのページ サイズ

00 : 1 バイ ト / ワード

01 : 4 バイ ト / ワード

10 : 8 バイ ト / ワード

11 : 予約済み

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 131UG191 (v3.5) 2008 年 10 月 29 日

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

ウォーム ブートの開始アドレス レジスタ (WBSTAR)

図 6-6 に WBSTAR の各ビッ ト位置の名前を示し、 表 6-12 で各ビッ トについて説明します。

ウォ ッチド ッグ タイマ レジスタ (TIMER)

ウォッ チド ッ グ タイマは、 フォールバッ ク ビッ ト スト リ ームに対しては自動的に無効になり ます。

図 6-7 に TIMER レジスタの各ビッ ト 位置の名前を示し、 表 6-13 で各ビッ ト について説明します。

説明

予約済み

RS

[1:0]

RS

_TS_B

STA

RT

_AD

DR

ビッ ト インデッ クス

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9 8 7 6 5 4 3 2 1 0

値 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

図 6-6 : WBSTAR レジスタ

表 6-12 : WBSTAR レジスタ

ビッ ト位置名ビッ ト

インデッ クス説明

RS[1:0] [28:27] 次のウォーム ブート時の RS[1:0] ピンの値

RS_TS_B 26RS[1:0] ピンの ト ラ イステート イネーブル

0 : ディ スエーブル

1 : イネーブル

START_ADDR [25:0] フォールバッ ク ビッ ト ス ト リームの開始アドレス

説明

予約済み

TIM

ER

_US

R_M

ON

TIM

ER

_CFG

_MO

N

TIM

ER

_VA

LU

E

ビッ ト インデッ クス

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9 8 7 6 5 4 3 2 1 0

値 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

図 6-7 : TIMER レジスタ

132 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

ブート履歴ステータス レジスタ (BOOTSTS)

レジスタは、 POR、 PROGRAM_B のアサート、 または JPROGRAM 命令を与える こ とによって

のみリセッ ト可能です。 EOS またはエラー状況で、 ステータス (_0) がステータス (_1) にシフ ト さ

れ、 ステータス (_0) は現在のステータスに更新されます。 図 6-8 に BOOTSTS レジスタの各ビッ

ト位置の名前を示し、 表 6-14 で各ビッ トについて説明します。

表 6-13 : TIMER レジスタ

ビッ ト位置名ビッ ト

インデッ クス説明

TIMER_USR_MON 25

ユーザー モード でウォッチド ッグ タイマをイネーブルに

します。

0 : ディ スエーブル

1 : イネーブル

TIMER_CFG_MON 24

コンフィ ギュレーショ ン中にウォッ チド ッ グ タイマを

イネーブルにします。

0 : ディ スエーブル

1 : イネーブル

TIMER_VALUE [23:0]ウォ ッチド ッグのタイムアウ ト値。 CFG_MCLK が使

用されます。 CFG_MCLK は、 デフォルトでは約 50MHz で、 256 分の 1 ずつ分周可能です。

説明

予約済み

RB

CR

C_E

RR

OR

_1W

RA

P_E

RR

OR

_1C

RC

_ER

RO

R_1

ID_E

RR

OR

_1W

TO

_ER

RO

R_1

IPR

OG

_1FA

LL

BA

CK

_1V

AL

ID_1

RB

CR

C_E

RR

OR

_0W

RA

P_E

RR

OR

_0C

RC

_ER

RO

R_0

ID_E

RR

OR

_0W

TO

_ER

RO

R_0

IPR

OG

_0FA

LL

BA

CK

_0V

AL

ID_0

ビッ ト インデッ クス

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9 8 7 6 5 4 3 2 1 0

値 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

図 6-8 : BOOTSTS レジスタ

表 6-14 : BOOTSTS レジスタ

ビッ ト位置名ビッ ト

インデックス説明

RBCRC_ERROR_1 15 RBCRC エラーによる リ コンフ ィギュレーシ ョ ン

WRAP_ERROR_1 14 BPI アドレス カウンタのラ ップアラウンド エラー

CRC_ERROR_1 13 CRC エラー

ID_ERROR_1 12 ID エラー

WTO_ERROR_1 11 ウォ ッチド ッグのタイムアウ ト エラー

IPROG_1 10 内部 PROG により ト リ ガされたコンフィ ギュレーショ ン

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 133UG191 (v3.5) 2008 年 10 月 29 日

ビッ トス ト リームの構成R

ビッ トス ト リームの構成

デバイスへの電源投入および初期化が完了すると 、 INIT_B ピンが解放され、コンフィ ギュレーショ

ンが開始可能と なり ます。 初期化後、 パケッ ト プロセッ サは、 同期ワード を受信するまでコンフィ

ギュレーショ ン インターフェイスに送信されるすべてのデータを無視します。 同期後、 パケッ ト プロセッ サが有効なパケッ ト ヘッ ダを受信すると 、コンフィ ギュレーショ ン プロセスが開始されます。

デフォルト設定での初期コンフ ィギュレーシ ョ ン プロセス

デフォルトのビッ ト ス ト リーム (デフォルトの BitGen オプシ ョ ンで生成されたビッ ト ス ト リーム)を使用した初期コンフ ィギュレーシ ョ ンは、 SelectMAP およびシ リ アル コンフ ィギュレーシ ョ ン

モードでは PROGRAM_B ピンにパルスを供給するこ とによって開始し、 JTAG コンフ ィギュレー

シ ョ ン モードでは JPROGRAM 命令を与える こ とによって開始します。 コンフ ィギュレーシ ョ ン

は、 表 6-15 に示すシーケンスで実行されます。

FALLBACK_1 91 : デフォルト リ コンフ ィギュレーシ ョ ンにフォール

バッ ク、 RS[1:0] はアクティブに 2'b00 を駆動 0 : 通常のコンフ ィギュレーシ ョ ン

VALID_1 8 ステータスは有効

RBCRC_ERROR_0 7 RBCRC エラーによる リ コンフ ィギュレーシ ョ ン

WRAP_ERROR_0 6 BPI アドレス カウンタのラ ップアラウンド エラー

CRC_ERROR_0 5 CRC エラー

ID_ERROR_0 4 ID エラー

WTO_ERROR_0 3 ウォ ッチド ッグのタイムアウ ト エラー

IPROG_0 2 内部 PROG により ト リ ガされたコンフィ ギュレーショ ン

FALLBACK_0 11 : デフォルト リ コンフ ィギュレーシ ョ ンにフォール

バッ ク、 RS[1:0] はアクティブに 2'b00 を駆動 0 : 通常のコンフ ィギュレーシ ョ ン

VALID_0 0 ステータスは有効

表 6-14 : BOOTSTS レジスタ (続き)

ビッ ト位置名ビッ ト

インデックス説明

表 6-15 : コンフ ィギュレーシ ョ ン シーケンス

コンフ ィギュレーシ ョ ン データ (16 進数)

説明

FFFFFFFF ダ ミー ワード

000000BB バス幅ワード

11220044 8/16/32 バス幅

FFFFFFFF ダ ミー ワード

FFFFFFFF ダ ミー ワード

AA995566 同期ワード

134 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

20000000 タイプ 1、 NO OP

30020001 タイプ 1、 WBSTAR に 1 ワード書き込み

00000000 ウォーム ブートの開始アドレス

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000000 NULL コマンド

20000000 タイプ 1、 NO OP

20000000 タイプ 1、 NO OP

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000007 RCRC コマンド

20000000 タイプ 1、 NO OP

30022001 タイプ 1、 TIMER に 1 ワード書き込み

00000000 TIMER 値

30012001 タイプ 1、 COR0 に 1 ワード書き込み

0000401D done@4 m@0 l@0 gts@3 gwe@5

3001C001 タイプ 1、 COR1 に 1 ワード書き込み

00000000 COR1 値

30018001 タイプ 1、 ID に 1 ワード書き込み

02896093 ID コード

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000009 SWITCH コマンド

20000000 タイプ 1、 NO OP

3000C001 タイプ 1、 MASK に 1 ワード書き込み

00000100 MASK 値

3000A001 タイプ 1、 CTL0 に 1 ワード書き込み

00000100 CTL0 値

3000C001 タイプ 1、 MASK に 1 ワード書き込み

00000000 MASK 値

30030001 タイプ 1、 CTL1 に 1 ワード書き込み

00000000 CTL1 値

20000000 タイプ 1、 NO OP

20000000 タイプ 1、 NO OP

表 6-15 : コンフ ィギュレーシ ョ ン シーケンス (続き)

コンフ ィギュレーシ ョ ン データ (16 進数)

説明

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 135UG191 (v3.5) 2008 年 10 月 29 日

ビッ トス ト リームの構成R

20000000 タイプ 1、 NO OP

20000000 タイプ 1、 NO OP

20000000 タイプ 1、 NO OP

20000000 タイプ 1、 NO OP

20000000 タイプ 1、 NO OP

20000000 タイプ 1、 NO OP

30002001 タイプ 1、 FAR に 1 ワード書き込み

00000000 FAR 値

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000001 WCFG コマンド

20000000 タイプ 1、 NO OP

30004000 タイプ 1、 FDRI に 0 ワード書き込み

50000400 タイプ 2、 FDRI に 1024 ワード書き込み

00000000 データ ワード 1

データ ワード n

データ ワード n + 1

00000000 後のデータ ワード (1024)

30000001 タイプ 1、 CRC に 1 ワード書き込み

F1927570 CRC 値

30008001 タイプ 1、 CMD に 1 ワード書き込み

0000000A GRESTORE コマンド

20000000 タイプ 1、 NO OP

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000003 LFRM コマンド

3000C001 タイプ 1、 MASK に 1 ワード書き込み

00000000 データ ワード 1

3000A001 タイプ 1、 CTL0 に 1 ワード書き込み

00000000 CTL0 レジスタ値

20000000 タイプ 1、 NO OP

20000000 タイプ 1、 NO OP

表 6-15 : コンフ ィギュレーシ ョ ン シーケンス (続き)

コンフ ィギュレーシ ョ ン データ (16 進数)

説明

136 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

フレームのアドレス指定

フレーム ビッ ト

フレームとは、 アクセス可能なコンフ ィギュレーシ ョ ン情報の 小単位です。 これは、 1312 ビッ ト

を 1 行の高さに垂直に積み重ねたものと考えるこ とができます。

1 行は基本ブロッ ク (CLB 20 個、 IOB 40 個、 ブロ ッ ク RAM 4 個など) の積み重ねで構成され、中

央に HCLK 行があ り ます。 1 フレームにある 1312 ビッ ト の う ち、 HCLK タ イルの上下の基本ブ

ロッ クに 640 ビッ トずつあ り、 残りの 32 ビッ トが HCLK タイル内で使用されます。 HCLK タイ

ル内の 32 ビッ トのう ち、 上位から 16 ビッ トは未使用で、 下位から 12 ビッ トは ECC に使用

されます。残りの 4 ビッ トは、 タイル内にある回路のその他のコンフ ィギュレーシ ョ ン ビッ ト と し

て使用されます。

コンフ ィギュレーシ ョ ン ビッ トのフレームは、 FDR (フレーム データ レジスタ) 内を 32 ビッ トの

ワード単位でシフ ト します。 つま り、1312 ビッ トのフレームに 41 ワード が必要とな り ます。 図 6-9に、 1 ~ 41 の番号が付いたビッ ト ス ト リーム内の 41 ワード と、 これらが 1312 ビッ ト フレーム内

のビッ トにどのよ うに対応するかを示します。 このビッ ト対応は、 FPGA 内のすべての行に該当し

ます。

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000005 START コマンド

20000000 タイプ 1、 NO OP

30002001 タイプ 1、 FAR に 1 ワード書き込み

00FFFF80 FAR 値

30000001 タイプ 1、 CRC に 1 ワード書き込み

845EAE07 CRC 値

30008001 タイプ 1、 CMD に 1 ワード書き込み

0000000D DESYNCH コマンド

20000000 タイプ 1、 NO OP

20000000 タイプ 1、 NO OP

表 6-15 : コンフ ィギュレーシ ョ ン シーケンス (続き)

コンフ ィギュレーシ ョ ン データ (16 進数)

説明

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 137UG191 (v3.5) 2008 年 10 月 29 日

フレームのアドレス指定R

フレーム アドレス

FPGA の各コンフ ィギュレーシ ョ ン フレームは 32 ビッ トのアドレスを持ち、 5 つの部分に分割さ

れています (図 6-10 を参照)。

• ブロ ッ ク タイプ

• 上部/下部インジケータ

• 行アドレス

• メジャー アドレス (列アドレス)

• マイナー アドレス (列内のフレーム アドレス)

図 6-9 : ビッ トスト リーム内のコンフ ィギュレーシ ョ ン ワード と

フレーム内のコンフ ィギュレーシ ョ ン ビッ ト

1 2

1 4

10

310

310

31

4131 0

4031 0

39

HCLK 10 CLB640

HCLK4

HCLK16

HCLK

HCLK 10 CLB640

12 ECC

31 0

331 0

231 0

131 0

2231 0

2131 0

2031 0

1311

1280

672

671

640

651652

655656

639

31

0

UG191_c6_09_060407

図 6-10 : 5 つに分割される 32 ビッ トのフレーム アドレス

31 24 14 7 6 023 21 19 1520

/

UG191_c6_10_062607

138 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

各部の意味をわかりやすくするため、行アドレスから説明し、 後にブロ ッ ク タイプについて説明

します。

行アドレス (上部/下部インジケータを含む)

コンフ ィギュレーシ ョ ンの観点から考える と、 FPGA ファブ リ ッ クをまず行に分割し、 次に列に分

割する方法が 良です。 行には、 FPGA の中央から順に、 上部および下部でそれぞれ 0 ~ 9 の番号

が付けられています (図 6-11 を参照)。 コンフ ィギュレーシ ョ ン中、行アドレスは上部の 0 から上に

向かってスキャンされた後、 下部の 0 から下に向かってスキャンされます。

Virtex-5 の 大のデバイスには、 上下に各 6 行、 合計で 12 行あ り ます。 ただしハードウェア デザ

インでは、 上下に各 10 行、 合計で 20 行までサポート可能です。

メジャー アドレス

各行は同数の列に分割でき、 1 つの列はアレイ内の 1 ブロ ッ ク (CLB、 DSP、 ブロ ッ ク RAM、 IOBなど) に対応します。 このメジャー アドレスは 0 から開始し、左から右に向って番号が増加します。

図 6-12 に示すよ うに、 各行にはメジャー アドレスのシーケンスが 2 つあ り ます。 初のシーケン

ス (図中では薄い灰色) では、メジャー アドレスが各列に割り当てられ、一般的なコンフ ィギュレー

シ ョ ン用の列の選択に使用されます。 2 番目のシーケンス (図中では濃い灰色) では、 アドレスが各

ブロ ッ ク RAM 列に割り当てられ、ブロ ッ ク RAM の内容に特定のコンフ ィギュレーシ ョ ン フレー

ムにアクセスするために使用されます。 つま り、ブロ ッ ク RAM には、通常のコンフ ィギュレーシ ョ

ン用と メモ リの内容へのアクセス用の 2 つのメジャー アドレスがあるこ とになり ます。

図 6-11 : FPGA の行アドレス

9

FPGA

FPGA

9

1

1

0

0

UG191_c6_11_050406

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 139UG191 (v3.5) 2008 年 10 月 29 日

フレームのアドレス指定R

マイナー アドレス

各列にはいくつかのフレームが含まれており、これらのフレームはマイナー アドレスを使用してア

クセスします。 「ブロ ッ ク タイプ」 で説明するよ うに、 1 列に含まれるフレーム数は、 ブロ ッ ク タイプおよびその列によって異なり ます。

ブロック タイプ

ブロ ッ ク タイプによって、アドレス空間は 8 つのセクシ ョ ンに分割されますが、Virtex-5 デバイス

では 4 つのセクシ ョ ンのみが使用されます。 アドレス空間を分割するこ とによ り、 ファンクシ ョ ン

またはアクセス方法よってコンフ ィギュレーシ ョ ン フレームが分類されます。

Virtex-5 デバイスでは、 次の 4 つのブロ ッ ク タイプが使用されます。

• インターコネク トおよびブロ ッ ク コンフ ィギュレーシ ョ ン

• ブロ ッ ク RAM の内容

• インターコネク トおよびブロ ッ クの特別なフレーム

• ブロ ッ ク RAM のコンフ ィギュレーシ ョ ン フレーム以外のフレーム

インターコネク トおよびブロック コンフ ィギュレーシ ョ ン

CLB、 DSP、 IOB など通常のインターコネク トおよびブロ ッ ク コンフ ィギュレーシ ョ ン フレーム

は、 すべてコンフ ィギュレーシ ョ ン アドレス空間のこのセクシ ョ ンに含まれます。 ブロ ッ ク RAMのポート幅や FIFO 動作などのパラ メータを設定するフレームも含まれますが、 ブロ ッ ク RAM の内容は含まれません。

表 6-16 に、 このブロ ッ ク タイプを使用する場合の各列のフレーム数 (マイナー アドレス) を示し

ます。

図 6-12 : 行のメジャー アドレスの割り当て

IOBBRAMCLBDSPBRAM

:

: BRAM

CLBBRAMIOB

76543210

210

UG191_c6_12_050406

メモ :

1. 通常のメジャー アドレスのシーケンスを薄い灰色で、 ブロ ッ ク RAM のメジャー アドレスのシーケンスを濃い灰色で示しています。

140 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

フレーム番号は 0 から開始し、 左から右に向って番号が増加します。 ク ロ ッ ク列を除く各ブロ ッ ク

では、 0 ~ 25 のフレームがその列用のインターコネク トにアクセスします。 CLB およびクロ ッ ク

列を除くすべてのブロ ッ クでは、 26 ~ 27 のフレームがその列用のインターコネク トにアクセスし

ます。 その他すべてのフレームは、 そのブロ ッ クに特有です。

ブロック RAM の内容

ブロ ッ ク RAM の実際のメモリ内容は、2 つの理由から、アドレス空間の別のセクシ ョ ンにコンフ ィ

ギュレーシ ョ ンされます。 1 つの理由は、 ブロ ッ ク RAM のコンフ ィギュレーシ ョ ン フレームのア

クセス方法は、通常のコンフ ィギュレーシ ョ ン フレームとは異なる という こ と、 も う 1 つの理由は、

ブロ ッ ク RAM のコンフ ィギュレーシ ョ ンが不要な場合に簡単にスキップでき、 ビッ ト ス ト リーム

サイズを大幅に減少できる という こ とです。

ブロ ッ ク RAM の内容にアクセスするには、ブロ ッ ク RAM のメジャー アドレス (メジャー アドレ

スの 2 つ目のシーケンス) を使用する必要があ り ます。 このメジャー アドレスは、 ブロ ッ ク RAMとそのインターコネク トへのアクセス時に使用される メジャー アドレス とは異なる と考えられま

す。 ブロ ッ ク RAM には、 列および HCLK 行ごとに 128 個のフレームが含まれます。

インターコネク トおよびブロックの特別なフレーム

各列には特別なフレームが 1 つあ り、パーシャル リ コンフ ィギュレーシ ョ ンに使用されるコンフ ィ

ギュレーシ ョ ン ビッ トが含まれます。 パーシャル リ コンフ ィギュレーシ ョ ンを使用するデザイン

はわずかであるため、 通常の使用ではこのセクシ ョ ンをスキップできます。

このフレームは、 マイナー アドレス 0 でアクセスします。 HCLK の 16 ビッ トのみが使用され、 そ

の他すべてのビッ トは 0 である と見なされます。 HCLK の 12 ビッ トは ECC ビッ トであるため、こ

のフレームに含まれるデータは 4 ビッ トのみです (表 6-17 を参照)。

詳細は、 「パーシャル リ コンフ ィギュレーシ ョ ン」 を参照してください。

表 6-16 : 各列のフレーム数 (マイナー アドレス)

ブロック フレーム数

CLB 36

DSP 28

ブロ ッ ク RAM 30

IOB 54

ク ロ ッ ク列 4

ク ロ ッ ク列 4

表 6-17 : 特別なフレームのビッ ト

ビッ ト番号 用途

<15> 未使用

<14> IOB 列のみで GTS_CFG_B をゲート

<13> すべての列で GCAP および GRESTORE をゲート

<12> すべての列で GHIGH_B および GWE をゲート

<11:0> ECC 用の 12 ビッ ト (ほかのビッ トはすべて 0 である と見なす)

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 141UG191 (v3.5) 2008 年 10 月 29 日

R

第 7 章

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

Virtex®-5 デバイスでは、 SelectMAP、 ICAP、 または JTAG インターフェイスを使用してコンフ ィ

ギュレーシ ョ ン メモ リ を読み出すこ とができます。 リードバッ クには、 リードバッ ク検証と リード

バッ ク キャプチャの 2 種類があ り ます。リードバッ ク検証では、ユーザー メモ リ エレ メン ト (LUTRAM、 SRL16、 およびブロ ッ ク RAM) のその時点での値を含む、 すべてのコンフ ィギュレーシ ョ

ン メモ リ セルを読み出すこ とが可能です。 リードバッ ク キャプチャは、 リードバッ ク検証に機能

を追加したもので、 すべてのコンフ ィギュレーシ ョ ン メモ リ セルを読み出すだけでな く、 すべて

の内部 CLB および IOB レジスタのその時点でのステート を読み出します。 これは、 デザインのデ

バッグに非常に有益です。

コンフ ィギュレーシ ョ ン メモ リ を読み出すには、デバイスにリードバッ クを開始する一連のコマン

ドを送信する必要があ り ます。 リードバッ クが開始する と、 デバイスはコンフ ィギュレーシ ョ ン メモ リ の内容を SelectMAP または JTAG インターフェ イスに出力します。 「SelectMAP インター

フェイスからコンフ ィギュレーシ ョ ン レジスタへの アクセス」に、IEEE 1149.1 JTAG および IEEE1532 JTAG のコンフ ィギュレーシ ョ ン メモ リ読み出し手順が記載されています。

一連のリードバッ ク コマンドは、マイ ク ロプロセッサ、 CPLD、 または FPGA ベースのシステムか

ら送信できます。 また、 iMPACT で JTAG ベースのリードバッ ク検証を実行するこ と も可能です。

ザイ リ ンクスの ISE で提供されている iMPACT デバイス プログラム ソフ ト ウェアでは、 Virtex-5デバイスすべてのリードバッ クおよび比較機能を実行でき、コンフ ィギュレーシ ョ ン エラーの有無

がレポート されます。 iMPACT でキャプチャ処理を行う こ とはできません。 ただし、デザインのデ

バッグには、使いやすいユーザー インターフェイスで優れたデバッ ク機能を提供する ChipScopeTM

ILA (ザイ リ ンク ス ウェブ サイ ト で別途販売) があるので、 通常デバッグに リードバッ ク キャプ

チャは使用されません。

デバイスからコンフ ィギュレーシ ョ ン メモ リが読み出される と、 リードバッ ク ビッ ト ス ト リーム

と コンフ ィギュレーシ ョ ン ビッ ト ス ト リームが比較され、 エラーの有無が確認されます。 このプロ

セスについては、 「 リードバッ ク データの検証」 で説明します。

リードバックのためのデザイン設定

リ ードバッ クを実行する場合、 ビ ッ ト ス ト リームで次の 2 つを設定する必要があ り ます。 まず、

BitGen セキュ リティ設定でリードバッ クの禁止を解除し (-g security:none)、 ビッ ト ス ト リー

ムの暗号化を使用しないよ うにします。 また、 SelectMAP インターフェイスを使用した リードバッ

クでは、 BitGen の Persist オプシ ョ ンを設定し (-g Persist:Yes)、 SelectMAP データ ピンがコ

ンフ ィギュレーシ ョ ン後もコンフ ィギュレーシ ョ ン機能を保持するよ うにします。Persist オプシ ョ

ンを設定しないと、SelectMAP データ ピンがコンフ ィギュレーシ ョ ン後にユーザー I/O とな り、そ

の後コンフ ィ ギュレーシ ョ ンは実行できません。 バウンダ リ スキャン ポー ト を使用した リード

バッ クでは、 セキュ リ ティ設定および暗号化の要件以外に特別な考慮事項はあ り ません。

142 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

キャプチャ機能が必要な場合、CAPTURE_VIRTEX5 プリ ミ ティブをインスタンシエートできます

(157 ページの図 7-7 を参照)。 また、 GCAPTURE コマンドを CMD レジスタに書き込む方法もあ

り ます ( 「 リードバッ ク キャプチャ」 を参照)。 レジスタのステート を取り込むには、 このプ リ ミ

ティブの CAP 入力を ト リガし、 その時点でのレジスタ値をコンフ ィギュレーシ ョ ン メモ リに格納

します。 その後、 レジスタ値は、 その他のコンフ ィギュレーシ ョ ン メモ リ と共にデバイスから読み

出されます。

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

Virtex-5 コンフィ ギュレーショ ン メ モリ は、 JTAG、 SelectMAP、 ICAP インターフェイスからアク

セス可能な FDRO (フレーム データ レジスタ、 出力) コンフィ ギュレーショ ン レジスタから読み出

さ れます。 JTAG および SelectMAP イ ンターフェイ スでは、 FPGA デザインがアク ティ ブまたは

シャッ ト ダウン状態のと きにリ ード バッ ク を実行できますが、 コンフィ ギュレーショ ン ロジッ ク で

ブロッ ク RAM にアクセスしている間は、 ユーザー デザインではブロッ ク RAM にアク セスできま

せん。

SelectMAP インターフェイスからコンフ ィギュレーシ ョ ン レジスタへのアクセス

SelectMAP インターフェイスからコンフ ィギュレーシ ョ ン メモ リ を読み出すには、 インターフェ

イスを書き込み制御用に設定して FPGA へコマンドを送信し、 その後読み出し制御用に設定して

データをデバイスから読み出す必要があ り ます。SelectMAP インターフェイスの書き込み制御およ

び読み出し制御は RDWR_B 入力で指定されます。 インターフェイスを書き込み制御用に設定する

と (RDWR_B = 0)、SelectMAP データ ピンは入力とな り、読み出し制御用に設定する と (RDWR_B= 1) 出力とな り ます。

RDWR_B 信号を ト グルする前に CS_B 信号をディアサート (CS_B =1) して ください。ディアサー

ト しないと、 ABORT の原因とな り ます (詳細は、 第 2 章 の 「SelectMAP の ABORT」 を参照)。

SelectMAP インターフェイスにおける書き込み制御と読み出し制御の切り替え手順は、次のとおり

です。

1. CS_B をディアサート します。

2. RDWR_B を ト グルします。

RDWR_B = 0 : 書き込み制御

RDWR_B = 1 : 読み出し制御

3. CS_B をアサート します。

CS_B および RDWR_B は CCLK に同期しています。 図 7-1 に、 この手順を図示します。

図 7-1 : SelectMAP ポートの書き込み制御と読み出し制御の切り替え

CS_B

RDWR_B

DATA[0:7]

UG191_c7_01_050406

WRITE

Byte n Byte nByte 0

CCLK

Byte 0

READ

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 143UG191 (v3.5) 2008 年 10 月 29 日

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

コンフ ィギュレーシ ョ ン レジスタの読み出し手順 (SelectMAP)も簡潔な読み出し処理は、COR0 または STAT レジスタなどのコンフ ィギュレーシ ョ ン レジスタ

に対する読み出しです。読み出しアクセスのあるレジスタは、SelectMAP インターフェイスを介し

て読み出すこ とができますが、読み出しアクセスがないレジスタもあ り ます。 SelectMAP インター

フェイスを使用した STAT レジスタの読み出し手順は、 次のとおりです。

1. デバイスにバス幅検出シーケンスと同期ワードを書き込みます。

2. デバイスに 「STAT レジスタ読み出し」 パケッ ト ヘッダを書き込みます。

3. デバイスにダ ミー ワードを 2 つ書き込み、 パケッ ト バッファを消去します。

4. SelectMAP インターフェイスから 1 ワード (ステータス レジスタの値) 読み出します。

5. デバイスに DESYNCH コマンドを書き込みます。

6. デバイスにダ ミー ワードを 2 つ書き込み、 パケッ ト バッファを消去します。

図 7-2 に示すよ うに、 SelectMAP インターフェイスは、 手順 8 と手順 9 の間で書き込み制御から

読み出し制御に変更し、 手順 9 の後に再び書き込み制御に戻す必要があ り ます。

表 7-1 : ステータス レジスタのリードバック コマンド シーケンス (SelectMAP)

手順SelectMAPポートの方向

コンフ ィギュレー

シ ョ ン データ説明

1 書き込み FFFFFFFF ダ ミー ワード

2 書き込み 000000BB バス幅同期ワード

3 書き込み 11220044 バス幅検出

4 書き込み FFFFFFFF ダ ミー ワード

5 書き込み AA995566 同期ワード

6 書き込み 20000000 NOOP

7 書き込み 2800E001タイプ 1 パケッ ト ヘッダを書き込み、 STAT レジス

タを読み出し

8 書き込み 20000000 NOOP

9 書き込み 20000000 NOOP

10 読み出し SSSSSSSSSTAT レジスタから 1 ワードをコンフ ィギュレー

シ ョ ン インターフェイスに書き込み

11 書き込み 30008001 タイプ 1、 CMD に 1 ワード書き込み

12 書き込み 0000000D DESYNC コマンド

13 書き込み 20000000 NOOP

14 書き込み 20000000 NOOP

図 7-2 : SelectMAP ステータス レジスタの読み出し

CS_B

RDWR_B

DATA[0:7]

WRITE

CCLK

AA 99 55 66 28 00 E0 0 0

READ WRITE

X S S 3X 0 X

UG191_c7_02_050306

144 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

STAT 以外のレジスタを読み出す場合は、 タイプ 1 のパケッ ト ヘッダで指定するアドレス (表 7-1の手順 2) を変更し、必要に応じてワード数を修正して ください。 FDRO レジスタからの読み出しに

ついては、 「コンフ ィギュレーシ ョ ン メモ リの読み出し手順 (SelectMAP)」 で説明します。

コンフ ィギュレーシ ョ ン メモリの読み出し手順 (SelectMAP)FDRO レジスタからコンフ ィギュレーシ ョ ン メモ リ を読み出す際の手順は、その他のレジスタの場

合と同様ですが、 コンフ ィギュレーシ ョ ン ロジッ クに対応するための追加手順が必要です。 FDROレジスタからのコンフ ィギュレーシ ョ ン データは、フレーム バッファを通過するため、 リードバッ

ク データの 初のフレームは無視する必要があ り ます。

1. デバイスにバス幅検出シーケンスと同期ワードを書き込みます。

2. NOOP コマンドを 1 つ書き込みます。

3. シャ ッ ト ダウン コマンドを書き込み、 NOOP コマンドを 1 つ書き込みます。

4. RCRC コマンドを CMD レジスタに書き込み、 NOOP コマンドを 1 つ書き込みます。

5. NOOP コマンドを 5 つ書き込み、シャ ッ ト ダウン シーケンスを完了させます。 シャ ッ ト ダウン

シーケンス中、 DONE は Low になり ます。

6. RCFG コマンドを CMD レジスタに書き込み、 NOOP コマンドを 1 つ書き込みます。

7. フレーム開始アドレスを FAR に書き込みます (通常 0x00000000)。

8. デバイスに 「FDRO レジスタ読み出し」 パケッ ト ヘッダを書き込みます。 FDRO 読み出し長

は、 次の式で求められます。

FDRO 読み出し長 = (各フレームのワード数) x (読み出すフレーム数 + 1) + 1

フレーム バッファを考慮してフレームが 1 つ追加で読み出されます。 DOUT_BUSY が Lowの間にリードバッ クをス ト ローブする必要があ り ます。 フレーム バッファで、読み出しの開始

時にダ ミー フレームが生成されます。 SelectMap8 モードでは、 1 ワードが追加で読み出され

ます。

9. デバイスにダ ミー ワードを 2 つ書き込み、 パケッ ト バッファを消去します。

10. SelectMAP インターフェイスから FDRO レジスタを読み出します。 FDRO 読み出し長は、 上

述の手順 9 と同じです。

11. NOOP コマンドを 1 つ書き込みます。

12. START コマンドを書き込み、 NOOP コマンドを 1 つ書き込みます。

13. RCRC コマンドを書き込み、 NOOP コマンドを 1 つ書き込みます。

14. DESYNCH コマンドを書き込みます。

15. 64 ビッ ト 以上の NOOP コマンド を書き込み、 パケッ ト バッファを消去します。 DONE が Highになるまで、 CCLK のパルスを送信し続けます。

表 7-2 に、 リードバッ ク コマンドのシーケンスを示します。

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 145UG191 (v3.5) 2008 年 10 月 29 日

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

表 7-2 : シャッ トダウン リードバック コマンドのシーケンス (SelectMAP)

手順 SelectMAP ポートの方向コンフ ィギュレーシ ョ ン

データ説明

1 書き込み

FFFFFFFF ダ ミー ワード

000000BB バス幅同期ワード

11220044 バス幅検出

FFFFFFFF ダ ミー ワード

AA995566 同期ワード

2 書き込み 02000000 タイプ 1、 NOOP ワード 0

3 書き込み

30008001 タイプ 1、 CMD に 1 ワード書き込み

0000000B SHUTDOWN コマンド

02000000 タイプ 1、 NOOP ワード 0

4 書き込み

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000007 RCRC コマンド

20000000 タイプ 1、 NOOP ワード 0

5 書き込み

20000000 タイプ 1、 NOOP ワード 0

20000000 タイプ 1、 NOOP ワード 0

20000000 タイプ 1、 NOOP ワード 0

20000000 タイプ 1、 NOOP ワード 0

20000000 タイプ 1、 NOOP ワード 0

6 書き込み

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000004 RCFG コマンド

20000000 タイプ 1、 NOOP ワード 0

7 書き込み30002001 タイプ 1、 FAR に 1 ワード書き込み

00000000 FAR アドレス = 00000000

8 書き込み28006000 タイプ 1、 FDRO から 0 ワード読み出し

48024090 タイプ 2、 FDRO から 147,600 ワード読み出し

9 書き込み20000000 タイプ 1、 NOOP ワード 0

... タイプ 1、 31 個の NOOP ワード 0

10 読み出し

00000000 パケッ ト データ読み出し FDRO ワード 0

...

00000000 パケッ ト データ読み出し FDRO ワード 147599

11 書き込み 20000000 タイプ 1、 NOOP ワード 0

12 書き込み

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000005 START コマンド

20000000 タイプ 1、 NOOP ワード 0

13 書き込み

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000007 RCRC コマンド

20000000 タイプ 1、 NOOP ワード 0

146 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

書き込みから読み出しへの切り替え後 (CS_B および RDWR_B の両方が Low)、 DOUT_BUSY がLow の間に、 ユーザー ロジッ クで リードバッ ク データをス ト ローブする必要があ り ます。 リード

バッ ク データが有効であるかど うかを判断するため、 DOUT_BUSY を監視します。

リードバッ クが開始し、BUSY がディアサート された後、有効なデータが到達する前に、SelectMAPバス幅に応じた数のダ ミー ワードが読み出されます。 表 7-3 に、 3 つのSelectMAP 幅でのダ ミー

リードバッ ク サイクル数を示します。

JTAG インターフェイスからコンフ ィギュレーシ ョ ン レジスタへのアクセス

JTAG から Virtex-5 コンフ ィギュレーシ ョ ン ロジッ クへのアクセスには、 JTAG CFG_IN および

CFG_OUT レジスタを使用します。 CFG_IN および CFG_OUT レジスタはコンフ ィギュレーシ ョ

ン レジスタではなく、BYPASS および BOUNDARY_SCAN と同様 JTAG レジスタです。 CFG_INにシフ ト されたデータは、 コンフ ィギュレーシ ョ ン パケッ ト プロセッサに入り、 SelectMAP イン

ターフェイスからのコマンド と同様に処理されます。

リードバッ ク コマンドは、 CFG_IN レジスタを通過してコンフ ィギュレーシ ョ ン ロジッ クに書き

込まれ、 コンフ ィギュレーシ ョ ン メモ リは CFG_OUT レジスタから読み出されます。 表 7-4 に、

CFG_IN および CFG_OUT レジスタにアクセスする際の JTAG ステートの遷移を示します。

14 書き込み30008001 タイプ 1、 CMD に 1 ワード書き込み

0000000D DESYNCH コマンド

15 書き込み20000000 タイプ 1、 NOOP ワード 0

20000000 タイプ 1、 NOOP ワード 0

表 7-2 : シャッ トダウン リードバック コマンドのシーケンス (SelectMAP) (続き)

手順 SelectMAP ポートの方向コンフ ィギュレーシ ョ ン

データ説明

表 7-3 : リードバック時の DOUT_BUSY のレイテンシ (SelectMAP)

x8 x16 x32

DOUT_BUSY のレイテンシ 1 ク ロ ッ ク 2 クロ ッ ク 3 ク ロ ッ ク

メモ :

1. レイテンシは、 書き込みと読み込みの間で CS_B と RDWR_B が 1 サイ クル間ディアサート されるこ とを前提と しています。 2 サイ クル以上ディアサート される場合は、 レイテンシが短くな り ます。 リードバッ ク データが有効であるこ とを確認するには、 BUSY 信号を監視するのが 適な方法です。

表 7-4 : JTAG CFG_IN および CFG_OUT 命令のシフ ト

手順 説明セッ ト アップおよびホールド クロッ ク数

(TCK)TDI TMS

1 TMS に 1 を 5 回入力し、 デバイスを TLR ステートにします。

X 1 5

2 RTI ステートに移行します。 X 0 1

3 SELECT-IR ステートに移行します。 X 1 2

4 SHIFT-IR ステートに移行します。 X 0 2

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 147UG191 (v3.5) 2008 年 10 月 29 日

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

コンフ ィギュレーシ ョ ン レジスタの読み出し手順 (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. デバイスに NOOP コマンドを書き込みます。

c. デバイスに 「STAT レジスタ読み出し」 パケッ ト ヘッダを書き込みます。

d. デバイスにダ ミー ワードを 2 つ書き込み、 パケッ ト バッファを消去します。

CFG_IN レジスタを介して送信されたすべてのコンフ ィギュレーシ ョ ン パケッ ト の MSB を初に送信する必要があ り ます。 LSB は、 TAP コン ト ローラが SHIFT-DR ステートから移行

する と きにシフ ト します。

4. SHIFT-IR ステート中、 CFG_OUT 命令を JTAG 命令レジスタにシフ ト します。 CFG_OUT 命令の LSB から順にシフ ト します。MSB は、TAP コン ト ローラが SHIFT-IR ステートから移行

する と きにシフ ト します。

5 CFG_IN または CFG_OUT 命令の 初の 9 ビッ ト を LSB から順にシフ ト します。

111000101 (CFG_IN)

0 9111000100 (CFG_OUT)

6SHIFT-IR ステートから移行する と きに、

CFG_IN または CFG_OUT 命令の MSB をシ

フ ト します。

1 1 1

7 SELECT-DR ステートに移行します。 X 1 2

8 SHIFT-DR ステートに移行します。 X 0 2

9SHIFT_DR ステートの間に、 データを CFG_IN レジスタに、または CFG_OUT から、 MSB から順にシフ ト します。

X 0 X

10 SHIFT-DR ステートから移行する と きに LSB をシフ ト します。

X 1 1

11 TMS に 1 を 5 回入力し 、 TAP をリ セッ ト し

ます。X 1 5

表 7-4 : JTAG CFG_IN および CFG_OUT 命令のシフ ト (続き)

手順 説明セッ ト アップおよびホールド クロッ ク数

(TCK)TDI TMS

148 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

5. SHIFT-DR ステート中、 ステータス レジスタから 32 ビッ ト をシフ ト します。

6. TAP コン ト ローラを リセッ ト します。

表 7-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 命令の 初の 9 ビッ ト を LSB から順

にシフ ト します。

111000101

(CFG_IN)0 9

SHIFT-IR ステートから移行する と きに CFG_IN 命令の MSB をシフ ト します。

1 1 1

SELECT-DR ステートに移行します。 X 1 2

SHIFT-DR ステートに移行します。 X 0 2

3

コンフィ ギュレーショ ン パケッ ト を MSB から

順に CFG_IN データ レジスタにシフト します。

a :0xAA995566

b :0x20000000

c :0x2800E001

d :0x20000000e :0x20000000

0 159

SHIFT-DR ステートから移行する と きに 後

のコンフ ィギュレーシ ョ ン パケッ トの LSB をシフ ト します。

0 1 1

SELECT-IR ステートに移行します。 X 1 3

SHIFT-IR ステートに移行します。 X 0 2

4

CFG_OUT 命令の 初の 9 ビッ ト を LSB から

順にシフ ト します。

111000100 (CFG_OUT)

0 9

SHIFT-IR ステートから移行する と きに CFG_OUT 命令の MSB をシフ ト します。

1 1 1

SELECT-DR ステートに移行します。 X 1 2

SHIFT-DR ステートに移行します。 X 0 2

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 149UG191 (v3.5) 2008 年 10 月 29 日

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

JTAG CFG_IN レジスタにシフ ト したパケッ トは、SelectMAP から STAT レジスタを読み出す場合

に SelectMAP インターフェイスを介してシフ ト したパケッ ト と同一です。

コンフ ィギュレーシ ョ ン メモリの読み出し手順 (1149.1 JTAG)

JTAG インターフェイスを介して FDRO レジスタからコンフ ィギュレーシ ョ ン メモ リ を読み出す

手順は、その他のレジスタから読み出す場合と同様ですが、 フレーム ロジッ クに対応するための追

加手順が必要です。 FDRO レジスタからのコンフ ィギュレーシ ョ ン データはフレーム バッファを

通過するため、 リードバッ ク データの 初のフレームはダ ミー データであ り、 無視する必要があ

り ます (FDRI および FDRO レジスタの説明を参照)。 ほとんどの場合、 1149.1 JTAG リードバッ

ク フローが推奨されます。

1. TAP コン ト ローラを リセッ ト します。

2. CFG_IN 命令を JTAG 命令レジスタに LSB から順にシフ ト します。 MSB は TAP コン ト ロー

ラが SHIFT-IR ステートから移行する と きにシフ ト します。

3. SHIFT-DR ステート中、 パケッ ト書き込みコマンドを CFG_IN レジスタにシフ ト します。

a. デバイスにダ ミー ワードを書き込みます。

b. デバイスに同期ワードを書き込みます。

c. デバイスに NOOP コマンドを書き込みます。

d. デバイスに RCRC コマンドを書き込みます。

e. ダ ミー ワードを 2 つ書き込み、 パケッ ト バッファを消去します。

4. JSHUTDOWN 命令を JTAG 命令レジスタにシフ ト します。

5. RTI ステートに移行し、 TCK の 12 サイクル間このステートにとどまって、 シャ ッ ト ダウン

シーケンスを完了させます。 シャ ッ ト ダウン シーケンス中、 DONE ピンは Low になり ます。

6. CFG_IN 命令を JTAG 命令レジスタにシフ ト します。

7. SHIFT-DR ステート に移行し、パケッ ト 書き込みコマンド を CFG_IN レジスタにシフト します。

a. デバイスにダ ミー ワードを書き込みます。

b. デバイスに同期ワードを書き込みます。

c. デバイスに NOOP コマンドを書き込みます。

d. 「CMD レジスタへの書き込み」 ヘッダを書き込みます。

e. デバイスに RCFG コマンドを書き込みます。

5

STAT レジスタの内容を CFG_OUT データ レジスタからシフ ト します。

0xSSSSSSSS 0 31

SHIFT-DR ステートから移行する と きに STAT レジスタの 後のビッ ト を CFG_OUT データ レジスタからシフ ト します。

S 1 1

SELECT-IR ステートに移行します。 X 1 3

SHIFT-IR ステートに移行します。 X 0 2

6 TAP コン ト ローラを リセッ ト します。 X 1 5

表 7-5 : ステータス レジスタのリードバック コマンドのシーケンス (JTAG) (続き)

手順 説明セッ トアップおよびホールド

クロッ ク数 (TCK)TDI TMS

150 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

f. 「FAR レジスタへの書き込み」 ヘッダを書き込みます。

g. 開始フレーム アドレスを FAR レジスタに書き込みます (通常 0x0000000)。

h. デバイスにタイプ 1 の 「FDRO レジスタの読み出し」 パケッ ト ヘッダを書き込みます。

i. タイプ 2 のパケッ ト ヘッダを書き込み、 デバイスから読み出すワード数を示します。

j. デバイスにダ ミー ワードを 2 つ書き込み、 パケッ ト バッファを消去します。

CFG_IN レジスタを介して送信されたすべてのコンフ ィギュレーシ ョ ン パケッ ト の MSB を初に送信する必要があ り ます。 LSB は、 TAP コン ト ローラが SHIFT-DR ステートから移行

する と きにシフ ト します。

8. SHIFT-DR ステート中、 CFG_OUT 命令を JTAG 命令レジスタにシフ ト します。 CFG_OUT命令の LSB から順にシフ ト します。MSB は、TAP コン ト ローラが SHIFT-IR ステートから移

行する と きにシフ ト します。

9. SHIFT-DR ステート中、 FDRO レジスタからのフレーム データをシフ ト します。

10. TAP コン ト ローラを リセッ ト します。

表 7-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

2

CFG_IN 命令の 初の 9 ビッ ト を LSB から順

にシフ ト します。111000101 0 9

SHIFT-IR ステートから移行する と きに、

CFG_IN 命令の MSB をシフ ト します。1 1 1

SELECT-DR ステートに移行します。 X 1 2

SHIFT-DR ステートに移行します。 X 0 2

3

コンフィ ギュレーショ ン パケッ ト を MSB から

順に CFG_IN データ レジスタにシフト します。

a :0xFFFFFFFF

b :0xAA995566

c :0x20000000

d :0x30008001

e :0x00000007

f :0x20000000

g :0x20000000

0 223

SHIFT-DR ステートから移行する と きに、

後のコンフ ィギュレーシ ョ ン パケッ トの LSB をシフ ト します。

0 1 1

SELECT-IR ステートに移行します。 X 1 3

SHIFT-IR ステートに移行します。 X 0 2

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 151UG191 (v3.5) 2008 年 10 月 29 日

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

4

JSHUTDOWN 命令の 初の 9 ビッ ト を LSB から順にシフ ト します。

111001101 0 9

SHIFT-IR ステートから移行する と きに、

JSHUTDOWN 命令の MSB をシフ ト します。1 1 1

5

RTI ステートに移行し、TCK の 12 サイクル間

このステートにとどま り ます。X 0 12

SELECT-IR ステートに移行します。 X 1 2

SHIFT-IR ステートに移行します。 X 0 2

6

CFG_IN 命令の 初の 9 ビッ ト を LSB から順

にシフ ト します。111000101 0 9

SHIFT-IR ステートから移行する と きに、

CFG_IN 命令の MSB をシフ ト します。1 1 1

SELECT-DR ステートに移行します。 X 1 2

SHIFT-DR ステートに移行します。 X 0 2

7

コンフィ ギュレーショ ン パケッ ト を MSB から

順に CFG_IN データ レジスタにシフト します。

a :0xFFFFFFFF

b :0xAA995566

c :0x20000000

d :0x30008001e :0x00000004

f :0x30002001

g :0x00000000

h :0x28006000

i :0x48024090

j :0x20000000 k :0x20000000

0 351

SHIFT-DR ステートから移行する と きに、

後のコンフ ィギュレーシ ョ ン パケッ トの LSB をシフ ト します。

0 1 1

SELECT-IR ステートに移行します。 X 1 3

SHIFT-IR ステートに移行します。 X 0 2

8

CFG_OUT 命令の 初の 9 ビッ ト を LSB から

順にシフ ト します。

111000100 (CFG_OUT)

0 9

SHIFT-IR ステートから移行する と きに、

CFG_OUT 命令の MSB をシフ ト します。1 1 1

SELECT-DR ステートに移行します。 X 1 2

SHIFT-DR ステートに移行します。 X 0 2

表 7-6 : シャッ トダウン リードバック コマンドのシーケンス (JTAG) (続き)

手順 説明セッ トアップおよびホールド クロック数

(TCK)TDI TMS

152 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

コンフ ィギュレーシ ョ ン メモリの読み出し手順 (1532 JTAG)

IEEE 1532 JTAG リードバッ クの手順は、IEEE 1149.1 JTAG の場合と多少異なり ます。 IEEE 1532JTAG リードバッ クでは、 CFG_IN JTAG レジスタを使用し、 コマンドをコンフ ィギュレーシ ョ ン

ロジッ クに送信するのではなく、 ISC_READ JTAG レジスタを使用し、 コンフ ィギュレーシ ョ ン

メモ リ を直接読み出します。

1532 JTAG リードバッ クの 後に、 CRC の リセッ ト コマンドを実行するか、 CRC レジスタに適

切な CRC の値を書き込むこ とによって、 CRC エラー ステータスを解除する必要があ り ます。 図7-3 に、 1532 JTAG リードバッ ク手順を示します。

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

表 7-6 : シャッ トダウン リードバック コマンドのシーケンス (JTAG) (続き)

手順 説明セッ トアップおよびホールド クロック数

(TCK)TDI TMS

図 7-3 : IEEE 1532 JTAG リードバック フロー

ISC_ENABLE

ISC_DISABLE

Test-Logic-Reset

ISC_READ

ISC_PROGRAM

ISC_PROGRAM

RTI TCK12

RTI TCK12

RTI TCK1

RTI TCK1

32

CRC

5'b00000

N

Y

N

Y

A

A

37 +

EO

EO

UG191_c7_03_050406

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 153UG191 (v3.5) 2008 年 10 月 29 日

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

表 7-7 で、 リードバッ ク ファ イルについて説明します。

design.rba および design.rbb ファ イルは、 リードバッ ク コマンド と予測される リードバッ ク

データを結合しますが、RBD ファ イルには予測される リードバッ ク データのみが含まれます。 リー

ドバッ クに RBD ファ イルを使用するシステムでは、 リードバッ ク コマンドを別の場所に格納する

必要があ り ます。 RBA、RBB、および RBD ファ イルにある予測される リードバッ ク ス ト リームに

は無視する必要があるビッ トが含まれるため、 実際の リードバッ ク データは、 MSK または MSDファ イルを使用してマスクする必要があ り ます。

リードバッ ク コマンドの設定ファイルには、 SelectMAP または JTAG インターフェイスをいつ書

き込み制御から読み出し制御へ変更すべきかが示されていません。 このため、 前述した リードバッ

ク コマンド シーケンスに基づいて、 ユーザーが変更する必要があ り ます。

表 7-7 : リードバック ファイル

ファイル

拡張子

ファイル タイプ

BitGen

設定説明

.rba ASCII -b および -g リードバッ ク

コンフ ィギュレーシ ョ ン コマンドではなく リードバッ ク コマンドを含む ASCII 形式のファイルで、 コンフ ィギュ

レーシ ョ ン データが通常保存されている場所に、 予測さ

れる リードバッ ク データが含まれています。 このファ イ

ルは、 MSK ファ イルと共に使用する必要があ り ます。

.rbb バイナリ-g

リードバッ ク

RBA ファ イルのバイナリ バージ ョ ンで、 MSK ファ イル

と共に使用する必要があ り ます。

.rbd ASCII-g

リードバッ ク

予測される リードバッ ク データ (初期パッ ド フレームを

含む) のみが含まれる ASCII ファ イルです。 コマンドは

含まれません。 このファ イルは、 MSD ファ イルと共に使

用する必要があ り ます。

.msk バイナリ -m

BIT ファ イルと同様のコンフ ィギュレーシ ョ ン コマンド

を含むバイナリ ファ イルです。 ただし、 FDRI 書き込み

パケッ トの内容が、 BIT ファ イル内の対応するビッ ト を

比較する必要があるかを示すマスク データで置換されて

います。 マスク ビッ トが 0 の場合、 リードバッ ク データ

ス ト リームの対応するビッ ト を比較する必要があ り ます

が、 1 の場合は無視されます。

.msd ASCII-g

リードバッ ク

マスク ビッ トのみを含む ASCII ファ イルです。 MSD ファ イルの 初のビッ トが、 RBD ファイルの 初の

ビッ トに対応します。 実際のリードバッ ク ス ト リームに

あるパッ ド データは、 MSD ファ イルおよび RBD ファ

イルにもあ り ます。 マスク ビッ トが 0 の場合、 ビッ トが

ビッ ト ス ト リームのデータ と比較され、 1 の場合は検証

されません。

.ll ASCII -l

リードバッ クでキャプチャされるデザインにある各ノー

ドの情報を含む ASCII ファ イルです。 このファ イルに

は、 リードバッ ク ス ト リームの絶対ビッ ト位置、 フレー

ム アドレス、 フレーム オフセッ ト、 使用されるロジッ

ク リ ソース、 およびデザインにおけるコンポーネン ト名

が含まれます。

154 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

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

「コンフ ィギュレーシ ョ ン メモ リの読み出し手順 (SelectMAP)」 で説明したよ うに、 リードバッ ク

データ ス ト リームには、 コンフ ィギュレーシ ョ ン フレーム データおよびその前にある 1 フレーム

のパッ ド データが含まれています。 リードバッ ク ス ト リームには、 コンフ ィギュレーシ ョ ン ビッ

ト ス ト リーム内のコマンドまたはパケッ ト情報は含まれておらず、 リードバッ ク中に CRC の算出

は実行されません。 図 7-4 に、 リードバッ ク データ ス ト リームを示します。

リードバッ ク データ ス ト リームは、 デバイスにプログラムされたオ リジナルのコンフ ィギュレー

シ ョ ン フレーム データ と比較するこ とで検証されます。 ただし、 リードバッ ク データ ス ト リーム

内のビッ トには、 ユーザー メモ リ または Null メモ リ位置に対応しているため、 比較を実行すべき

ではないものもあ り ます。 リードバッ ク データ ス ト リーム内のドン ト ケア ビッ トの位置は、 MSKおよび MSD マスク ファ イルに示されています。 これら 2 つのファ イルのフォーマッ トは異なり

ますが、基本的には同一の情報が含まれます。 リードバッ ク データがデバイスから取り込まれる と、

次のいずれかの比較方法を使用できます。

1. MSD ファ イルを使用してマスクし、 リードバッ ク データを RBD ファ イルと比較する方法 (図 7-5 を参照)

MSD ファ イルを使用してマスクし、RBD リードバッ ク ファ イルと比較するのが、 も簡潔な

リードバッ ク データ ス ト リームの検証方法です。 この方法は、リードバッ ク データ ス ト リー

ムの開始と RBD および MSD ファ イルの開始が 1:1 で対応し、 リードバッ ク、 マスク、 およ

び予測されたデータを簡単に揃えるこ とができるため簡潔です。

RBD および MSD ファ イルには、 リードバッ ク データ、 マスク データ、 およびファイル名の

一覧を含むファ イル ヘッダが ASCII 形式で含まれます。 このヘッダ情報は、 無視するかまた

は削除してください。 RBD および MSD ファ イル内の ASCII の 1 および 0 は、 デバイスから

のリードバッ ク データのバイナリ値に対応します。 これらのファイルは、バイナリ ソース と し

てではなく、テキス ト ファ イルと して処理して ください。 スク リプ ト またはテキス ト エディ タ

を使用し、 RBD および MSD ファ イルからバイナリ フォーマッ トへ変換する と、 システムに

よっては検証プロセスが簡略化され、 1/8 までファイル サイズを縮小できます。

図 7-4 : リードバック データ スト リーム

1

UG191_c7_04_050406

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 155UG191 (v3.5) 2008 年 10 月 29 日

リードバック データの検証R

この方法のデメ リ ッ トは、 初のコンフ ィギュレーシ ョ ン ビッ ト ス ト リームおよび MSD ファ

イルを格納するだけでなく、 RBD ファ イルを格納しなければならず、必要な格納容量が増加す

る点です。

2. MSK ファ イルを使用してマスク し、リードバッ ク データ と コンフ ィギュレーシ ョ ン BIT ファ

イルを比較する方法 (図 7-6 を参照)

も う 1 つの検証方法では、 MSK ファ イルを使用して リードバッ ク ビッ ト をマスク し、 リード

バッ ク データ ス ト リーム とオ リ ジナルのコンフ ィギュレーシ ョ ン ビ ッ ト ス ト リームにある

FRDI 書き込み内のフレーム データを比較します。

デバイスへの リードバッ ク コマン ドの送信後、 リードバッ ク フレーム データの開始と BITファ イルにある FDRI 書き込みの開始および MSK ファ イルの開始を揃え、 比較を開始しま

す。 この比較は、 FDRI 書き込みが 後に達する と終了します。

この方法の場合、 格納する必要があるのは BIT および MSK ファ イルと リードバッ ク コマン

ドのみであるため、 必要とするインシステム格納スペースが 小限となり ます。

図 7-5 : MSD および RBD ファイルを使用したリードバック データの比較

1

UG191_c7_05_050406

MSD RBD

156 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

RBA および RBB ファ イルは、 予測される リードバッ ク データ と一連のリードバッ ク コマン

ドを含みます。 これらのファ イルは、 MSK ファ イルと使用する こ と を目的と していますが、

Virtex-5 デバイスよ り も Virtex デバイスのリードバッ ク (アプリ ケーシ ョ ン ノート XAPP138『Virtex FPGA Series Configuration and Readback』 を参照) に適しています。

リードバック キャプチャ

コンフ ィギュレーシ ョ ン メモ リ リードバッ ク コマンドのシーケンスは、 リードバッ ク検証と リー

ドバッ ク キャプチャで同一ですが、 リードバッ ク キャプチャの場合は、 内部レジスタ値を読み込

むための追加手順が必要です。

ブロ ッ ク RAM 出力と CLB および IOB レジスタは、デザインに CAPTURE_VIRTEX5 プリ ミ ティ

ブをインスタンシエート して (図 7-7)、デザインの動作中にそのプリ ミ ティブの CAP 入力をアサー

トする と取り込むこ とができます。 CAPTURE_VIRTEX5 の CLK 入力の次の立ち上がりエッジで

内部 GRDBK 信号がアサート され、 すべての CLB および IOB レジスタの値がコンフ ィギュレー

シ ョ ン メモ リ セルに格納されます。 これらの値は、リードバッ ク プロセスでコンフ ィギュレーシ ョ

ン メモ リ を読み出すこ とによ り、 IOB および CLB コンフ ィギュレーシ ョ ン列と共に、 デバイスか

ら読み出すこ とができます。 レジスタ値は、 レジスタの初期ステート設定をプログラムするのと同

じ メモ リ セルに格納されるため、 キャプチャ シーケンス後に Virtex-5 コンフ ィギュレーシ ョ ン ロジッ クに GRESTORE コマンドを送信する と、レジスタが意図しないステートに戻ってしま う可能

性があ り ます。

代替方法と して、 GCAPTURE コマンドを CMD レジスタに書き込むこ とによ り、 GRDBK 信号を

アサートできます。 このコマンドを使用する と、GRDBK 信号は CCLK または TCK (スタート アッ

プ ク ロ ッ ク設定による ) の 2 サイクル間アサート されます。

図 7-6 : MSK および BIT ファイルを使用したリードバック データの比較

1

UG191_c7_06_050406

MSK BIT

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 157UG191 (v3.5) 2008 年 10 月 29 日

リードバック キャプチャR

CAP 信号が複数クロッ ク サイクル間アサート されると 、ク ロッ クの各立ち上がり エッ ジで、キャプ

チャ セルが新しいレジスタ値で更新さ れます。 CAPTURE_VIRTEX5 プリ ミ ティ ブに ONESHOT属性を設定すると 、 ク ロッ ク の 初の立ち上がり エッ ジでのみキャプチャが実行されるよ う に制限

できます。 ONESHOT 属性の詳細は、 『制約ガイ ド』 を参照して ください。

コンフ ィギュレーシ ョ ン メモ リ フレームがデバイスから読み出される と、 リードバッ ク データ スト リームからキャプチャされたレジスタ値を確認できます。 表 7-9 に示すよ うに、 キャプチャ ビッ

ト位置はロジッ ク アロケーシ ョ ン ファ イル (design.ll) に記述されます。

表 7-9 は、 ISE サンプル デザイン jc2_top のロジッ ク アロケーシ ョ ンファ イルの一部です。 こ こ

では、わかりやすくするため、行フォーマッ ト を説明するヘッダ コ メン ト をビッ ト オフセッ ト デー

タの 初に移動しています。 [オフセッ ト ] 列は、リードバッ ク フレーム データの開始からの絶対的

なビッ ト オフセッ ト を示します。 [フレーム アドレス] 列は、 キャプチャ ビッ トが配置されている

フレーム アドレスを示し、 [フレーム オフセッ ト ] 列はフレームの開始からのビッ ト オフセッ ト を

示します。 [情報] 列は、ビッ ト とユーザー デザインの対応を示します。 たとえば、 スライス X8Y15にある DIR レジスタ (表 7-9) は、 ビッ ト オフセッ ト 100790 にあ り ます。 キャプチャされた DFF値は、 反転して保存されます。

図 7-7 : Virtex-5 ライブラリ プリ ミテ ィブ

表 7-8 : キャプチャ信号

信号 説明 アクセス

GCAPTUREすべてのスライスおよび IOB レジス

タのステート をキャプチャする、 GRESTORE のコンポーネン ト

CMD レジスタへの GCAPTURE コマ

ンドの書き込み、 またはキャプチャ ブロ ッ クの CAP 入力のアサート、 ユー

ザー制御

GRESTORE すべてのレジスタを初期化CMD レジスタおよび STARTUP_VIRTEX5 ブロ ッ ク

表 7-9 : ロジック アロケーシ ョ ン ファイル フォーマッ ト

オフセッ トフレーム アドレス

フレーム オフセッ ト

情報

100714 0x000e0400 42 Block=B7、 Latch=I、 Net=RIGHT_IBUF

100734 0x000e0400 62 Block=A8、 Latch=I、 Net=RIGHT_IBUF

100754 0x000e0400 82 Block=B8、 Latch=I、 Net=RIGHT_IBUF

UG191_c7_07_050406

CAP

CLK

CAPTURE_VIRTEX5

158 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

100790 0x000e0400 118 Block=SLICE_X8Y15、 Latch=YQ、 Net=DIR

119038 0x00100400 62 Block=C8、 Latch=I、 Net=STOP_IBUF

119132 0x00100400 156 Block=SLICE_X11Y14、 Latch=YQ、 Net=RUN

136566 0x00120200 118 Block=SLICE_X12Y15、 Latch=XQ、 Net=Q_3

136606 0x00120200 158 Block=SLICE_X12Y14、 Latch=XQ、 Net=Q_1

137300 0x00120400 20 Block=C9、 Latch=O2、 Net=Q_3

137320 0x00120400 40 Block=D9、 Latch=O2、 Net=Q_1

137398 0x00120400 118 Block=SLICE_X12Y15、 Latch=YQ、 Net=Q_2

137438 0x00120400 158 Block=SLICE_X12Y14、 Latch=YQ、 Net=Q_0

155662 0x00140400 78 Block=D10、 Latch=O2、 Net=Q_1

174046 0x00160400 158 Block=D13、 Latch=O2、 Net=Q_2

表 7-9 : ロジック アロケーシ ョ ン ファイル フォーマッ ト

オフセッ トフレーム アドレス

フレーム オフセッ ト

情報

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 159UG191 (v3.5) 2008 年 10 月 29 日

R

第 8 章

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

この章では、 Virtex®-5 ファ ミ リで導入されたビッ ト ス ト リーム全体のリ コンフ ィギュレーシ ョ ン

方法について説明します。 Virtex-5 ファ ミ リは、 業界で唯一、 パーシャル リ コンフ ィギュレーシ ョ

ンをサポート しています。 パーシャル リ コンフ ィギュレーシ ョ ンの詳細は、 次のリ ンクから 『開発

システム リ ファレンス ガイ ド』 の第 5 章を参照して ください。

http://www.xilinx.com/itp/xilinx10j/books/docs/dev/dev.pdf

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

フォールバックの概要

Virtex-5 FPGA にはマルチブート専用のロジッ クがあ り、 フォールバッ クおよびウォーム ブート

(IPROG) リ コンフ ィギュレーシ ョ ンの両方に使用されます。 フォールバッ クまたは IPROG が実行

される と、 内部生成されたパルスによって、 専用のマルチブー ト ロジッ ク と WBSTAR および

BOOTSTS レジスタを除く、 コンフ ィギュレーシ ョ ン ロジッ ク全体が リ セッ ト されます。 この リ

セッ トで INIT_B および DONE が Low になり、コンフ ィギュレーシ ョ ン メモ リがク リ アされるこ

とによって、コンフ ィギュレーシ ョ ン プロセスが再開します。 詳細は、28 ページの 「コンフ ィギュ

レーシ ョ ン メモ リのク リ ア (手順 2、 初期化)」 を参照してください。

フォールバッ ク リ コンフ ィギュレーシ ョ ン中、 FPGA は 2 つの多目的ピン RS[1:0] ( リ ビジ ョ ン セレク ト ピン) に新しい値を送信します。 デフォルトでは、 RS[1:0] は 初のコンフ ィギュレーシ ョ

ン中はト ライステートで弱いプルアップが付いていますが、 コンフ ィギュレーシ ョ ン後には弱いプ

ルダウンが付きます。 初のコンフ ィギュレーシ ョ ン中、 外部プルアップ/プルダウン抵抗を使用し

て FPGA の弱いプルアップ抵抗を無効にする と、目的のビッ ト ス ト リームを読み込ませるこ とがで

きます (161 ページの図 8-2 を参照)。 コンフ ィ ギュレーシ ョ ン エラーが検出される と、 コンフ ィ

ギュレーシ ョ ン ロジッ クで内部リセッ ト パルスが生成され、 RS[1:0] がアクティブに 00 に駆動さ

れて、フォールバッ ク ビッ ト ス ト リームが読み込まれます。RS ピンを使用する場合、間接的な BPIプロ グ ラ ムは不可能です (アプ リ ケーシ ョ ン ノー ト XAPP973 『Indirect Programming of BPIPROMs with Virtex-5 FPGAs』 を参照)。 「フォールバッ クの例」 に、 フォールバッ ク リ コンフ ィ

ギュレーシ ョ ンの一例を示します。

コンフ ィギュレーシ ョ ン中は、 IDCODE エラー、 CRC エラー、 ウォッチド ッグ タイマのタイムア

ウ ト エラー、 または BPI アドレスのラ ップアラウンド エラーによって、 フォールバッ クが ト リ ガ

されます。 コンフ ィギュレーシ ョ ン後は、ユーザー モニタ モードで有効になったウォッチド ッグ タイマでも、 フォールバッ クが ト リガされます。

160 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

フォ ールバッ ク リ コ ンフ ィ ギュ レーショ ンの完了後、 ユーザー デザイ ンで STATUS ま たは

BOOTSTS レジスタ ( 「 フォールバッ クおよび IPROG リ コンフィ ギュレーショ ン用のステータス レジスタ」 を参照) をリ ード バッ ク し、 フォールバッ クが正常に完了したかを検証する必要があり ます。

二度目にフォールバッ ク リ コンフ ィギュレーシ ョ ンが失敗する と、 INIT_B および DONE の両方

が Low に保持されます。

AES が有効な場合、 およびスレーブ SelectMAP モードの場合は、 フォールバッ クは無効です。

フォールバッ クは、 BitGen の -g ConfigFallback:Disable オプシ ョ ンによってもディ スエー

ブルにできます。

フォールバッ ク リ コンフ ィギュレーシ ョ ン中は、エンベデッ ド IPROG ( 「ビッ ト ス ト リームに組み

込まれた IPROG」 を参照) は無視されます。 ウォ ッチド ッ ク (「ウォ ッチド ッグ」 を参照) は、フォー

ルバッ ク リ コンフ ィギュレーシ ョ ン中およびその後はディ スエーブルになり ます。 フォールバッ ク

リ コンフ ィギュレーシ ョ ン後に IPROG リ コンフ ィギュレーシ ョ ンが正常に完了する と、 ウォ ッチ

ド ッグを再びイネーブルにできます。

フォールバックの例

BPI フラ ッシュで RS ピンを使用するには、 これらのピンをフラ ッシュの上位アドレス ラインに接

続するのが も単純な方法です。 この例では、 フラ ッシュ アドレス空間は 4 分割され、 それぞれに

1 つのアプリケーシ ョ ン ビッ ト ス ト リームを格納できます (図 8-1 を参照)。 フォールバッ ク ビッ ト

ス ト リーム (セーフ ビッ ト ス ト リーム) は、RS[1:0]=00 の位置に格納する必要があ り ます。 詳細は、

「マルチブート ビッ ト ス ト リーム間のパディング」 を参照してください。

図 8-1 : マルチブートの BPI フラ ッシュのアドレス空間

- 2

- 1

- 3

- 0RS=00

RS=01

RS=10

RS=11

UG191_c8_01_050406

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 161UG191 (v3.5) 2008 年 10 月 29 日

フォールバック マルチブートR

図 8-2 に示すよ うに、 外部抵抗を使用して内部の弱いプルアップ抵抗を無効にする と、 初期ビッ ト

ス ト リームを選択できます。

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

• 初期コンフ ィギュレーシ ョ ンは、 PROGRAM_B、 JPROGRAM 命令または POR によって開

始されます。

• RS[1:0] は、 初期コンフ ィギュレーシ ョ ン中はト ラ イステート状態です。

• この例では、プルアップおよびプルダウン抵抗を使用して RS[1:0] = 01 に設定し、初期ビッ ト

ス ト リームを選択します。

• 初期コンフ ィギュレーシ ョ ンに失敗する と、 RS[1:0] はアクティブに Low に駆動されます。

♦ BPI-Up モードでは、 ADDR[25:0] は 0 から開始します。

♦ BPI-Down モードでは、ADDR[25:0] は 0x3FFFFFF になり ます。 ADDR[21:20] は RS ピンによって Low に駆動されるので、 フォールバッ ク ビ ッ ト ス ト リ ームのア ド レスは

0x000FFFFF とな り ます。

♦ SPI モードの場合、 MOSI に送信されたアドレスは、 常に 0 から開始します。

• 二度目にフォールバック ビッ ト スト リ ームに失敗すると 、コンフィ ギュレーショ ンは停止します。

マルチブート ビッ トス ト リーム間のパディング

Virtex-5 FPGA では、DONE ピンが High になるまで、ビッ ト ス ト リームの読み込みが継続します。

DONE が High になるのを DCI が一致または DCM がロ ッ クするまで待機するよ う設定した場合、

ロ ッ クするまでの時間を考慮して、ビッ ト ス ト リーム間にすべて 0 またはすべて 1 のパディングを

追加する必要があ り ます。 このよ うにしないと、 後続のビッ ト ス ト リームによって、 前のビッ ト ス

ト リームが上書きされる可能性があ り ます。 DCI の一致にかかる時間は、通常 1ms 未満です。 DCMのロ ッ ク時間については、 データシー ト DS202 『Virtex-5 FPGA Data Sheet: DC and SwitchingCharacteristics』 の DCM のセクシ ョ ンを参照して ください。 ビッ ト挿入サイズは、

cfg_bus_width * total_lock_time / CCLK_period の式で求めるこ とができます。

図 8-2 : BPI でのフォールバック リコンフ ィギュレーシ ョ ンの使用

Virtex-5FPGA

DATA [7:0]

ADDR [19:0]

FCS_B

BPI Flash

CS_B

ADDR [19:0]

DATA [7:0]

ADDR [21:20]

RS[1:0] Low

VCC

0

0WE_B

OE_BFOE_BFWE_BRS [1:0]

RS[1:0] RS[1:0]RS [1]

RS [0]

UG191_c8_02_050406

162 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

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

IPROG (内部 PROGRAM_B) コマンドは、 専用リ コンフ ィギュレーシ ョ ン ロジッ クを リセッ ト し

ない点を除き、 PROGRAM_B ピンのパルス と同様の機能があ り ます。 リ コンフ ィギュレーシ ョ ン

中は、デフォルトのアドレスではなく、 WBSTAR (131 ページの 「ウォーム ブートの開始アドレス

レジスタ (WBSTAR)」 ) に設定された開始アドレスが使用されます。 BPI-Up および SPI モードの

デフ ォル ト は 0、 BPI-Down モー ド のデフ ォル ト は 0x3FFFFFF です。 IPROG コマン ド は、

ICAP_VIRTEX5 またはビッ ト ス ト リームを使用して送信できます。「ICAP_VIRTEX5 を使用する

IPROG」 および 「ビッ ト ス ト リームに組み込まれた IPROG」 で、 これらの使用方法について説明

しています。

ICAP_VIRTEX5 を使用する IPROGIPROG コマン ドは、 ICAP_VIRTEX5 プ リ ミ テ ィブを使用して送信できます。 コンフ ィギュレー

シ ョ ンの完了後、ユーザー デザインで次のビッ ト ス ト リームの開始アドレスが判断され、WBSTARレジスタの設定後に ICAP を使用して IPROG コマンドが送信されます。

コマンドのシーケンスは次のとおりです。

1. 同期ワードを送信します。

2. 次のビッ ト ス ト リーム開始アドレス用に WBSTAR レジスタをプログラムします (131 ページ

の 「ウォーム ブートの開始アドレス レジスタ (WBSTAR)」 を参照)。

3. IPROG コマンドを送信します。

表 8-1 に、 ICAP を使用する IPROG コマンドのビッ ト ス ト リーム例を示します。

コンフ ィギュレーシ ョ ン ロジッ クで IPROG コマンドが受信される と、 FPGA で専用リ コンフ ィ

ギュレーシ ョ ン ロジッ クを除くすべてがリセッ ト され、 INIT_B および DONE ピンが Low になり

ます。 FPGA ですべてのコンフ ィギュレーシ ョ ン メモ リがク リ アされる と、INIT_B は再び High にな り ます。 その後、 WBSTAR の値がビ ッ ト ス ト リ ームの開始ア ド レ ス と して使用されます。

WBSTAR で制御されるピンは、 コンフ ィギュレーシ ョ ン モードによって決定します。

表 8-1 : ICAP を使用する IPROG のビッ トスト リーム例

コンフ ィギュレーシ ョ ン データ (16 進数)

説明

FFFFFFFF ダ ミー ワード

AA995566 同期ワード

20000000 タイプ 1、 NO OP

30020001 タイプ 1、 WBSTAR に 1 ワード書き込み

00000000 ウォーム ブート開始アドレス (必要なアドレスの読み込み)

30008001 タイプ 1、 CMD に 1 ワード書き込み

0000000F IPROG コマンド

20000000 タイプ 1、 NO OP

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 163UG191 (v3.5) 2008 年 10 月 29 日

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

RS[1:0] は、 すべてのコンフ ィギュレーシ ョ ン モードで WBSTAR によ り制御されます。

START_ADDR フ ィールドは、 BPI-Up、 BPI-Down、 および SPI モードでのみコンフ ィギュレー

シ ョ ンに影響を与えます。

次に、 図 8-3 について説明します。

1. すべての BPI ピンは多目的 I/O です。 これらのピンは、 コンフ ィギュレーシ ョ ン後はユーザー

I/O と して使用でき、ユーザー ロジッ クで制御するこ とで BPI フラ ッシュにアクセスし、ユー

ザー データの格納およびプログラムが可能とな り ます。

2. この例では、 RS[1:0] は 2'b11 に設定されています。 IPROG リ コンフ ィギュレーシ ョ ン中は、

RS[1:0] ピンが外部プルアップおよびプルダウン抵抗よ り優先されます。 WBSTAR レジスタ

には任意の RS[1:0] 値を指定できます。

表 8-2 : WBSTAR で制御されるピン (コンフ ィギュレーシ ョ ン モード別)

コンフ ィギュレーシ ョ ン モード WBSTAR で制御されるピン

マスタ シ リアル RS[1:0]

マスタ SPI START_ADDR[23:0] が SPI デバイスにシ リ アルに送信さ

れます。 RS ピンは設定されますが、 使用されません。

マスタ BPI-Up RS[1:0]、 ADDR[25:0]

マスタ BPI-Down RS[1:0]、 ADDR[25:0]

マスタ SelectMAP RS[1:0]

JTAG RS[1:0]

スレーブ SelectMAP RS[1:0]

スレーブ シ リアル モード RS[1:0]

図 8-3 : BPI モードでの IPROG

Virtex-5FPGA

DATA[15:0]

ADDR[23:0]

FCS_B

BPI Flash

CS_B

ADDR[23:0]

DATA[15:0]

ADDR[25:24]

FPGA

2’b11

1’ b1

1’ b1

VCC

WE_B

OE_BFOE_BFWE_BRS[1:0]

RS[1:0] RS[1:0]RS[1]

RS[0]

UG191_c8_03_050406

164 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

ビッ トス ト リームに組み込まれた IPROGWBSTAR および IPROG コマンドは、ビッ ト ス ト リーム内に組み込むこ とができます。 セーフ ビッ

ト ス ト リームはアドレス 0 に保存されます (BPI-Up または SPI モードの場合)。 その後、 このビッ

ト ス ト リームにある WBSTAR および IPROG コマンドを修正するこ とによ り、 新しいアプリケー

シ ョ ンのビッ ト ス ト リームをフラ ッシュに簡単に追加できます。 FPGA は、 新規ビッ ト ス ト リーム

を直接取り込みます。 新規ビッ ト ス ト リームでエラーが発生した場合は、 コンフ ィギュレーシ ョ ン

は 初のビッ ト ス ト リームにフォールバッ ク します ( 「フォールバッ ク マルチブート 」を参照)。 ISEソフ ト ウェアは、すべての Virtex-5 ビッ ト ス ト リームで WBSTAR に空の書き込みを行い、IPROGコマンドにプレース ホルダを挿入します (132 ページの表 6-13 を参照)。 たとえば、 WBSTAR をユーザー指定の開始アドレスに変更可能です (131 ページの 「ウォーム ブートの開始アドレス レジ

スタ (WBSTAR)」 を参照)。 WBSTAR の後の NULL コマンドは、 4 つの LSB ビッ ト をすべて 1 に設定するこ とによ り、IPROG に変更できます (121 ページの「コマンド レジスタ (CMD)」 を参照)。

図 8-4 に、 この使用モデルを示します。 詳細は、 「マルチブート ビッ ト ス ト リーム間のパディング」

を参照してください。

図 8-4 : ビッ トスト リームに組み込まれた IPROG

= A1

WBSTAR = A1

IPROG

...

...

UG191_c8_04_050406

WBSTAR = 0

NULL

...

...

Virtex-5FPGA

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 165UG191 (v3.5) 2008 年 10 月 29 日

フォールバックおよび IPROG リコンフ ィギュレーシ ョ ン用のステータス レジスタR

フォールバックおよび IPROG リコンフ ィギュレーシ ョ ン用のステータス レジスタ

Virtex-5 デバイスは、 コンフ ィギュレーシ ョ ン履歴を保存する BOOTSTS を備えています。 この

BOOTSTS の動作は 2 入力の FIFO と類似しています。 新のコンフ ィギュレーシ ョ ン ステータス

は Status_0 に保存され、 Status_0 の現在の値は Status_1 にシフ ト されます。 Valid_0 ビ ッ ト は、

Status_0 の残りの部分が有効か無効かを示します。 詳細は、 132 ページの 「ブート履歴ステータス

レジスタ (BOOTSTS)」 を参照して ください。

表 8-3 ~表 8-5 に、 一般的な状況での BOOTSTS 値を示します。

表 8-5 のメモ :

1. Status_1 は、 IPROG が実行され、 そのビッ ト ス ト リームで CRC_ERROR が検出されたこ と

を示します。

2. Status_0 は、 フォールバッ ク ビッ ト ス ト リームが問題なく読み込まれたこ とを示します。 この

場合、 フォールバッ ク ビッ ト ス ト リームには IPROG コマンドが含まれるため、 IPROG ビッ

ト もセッ ト されています。 フォールバッ ク中 IPROG コマンドは無視されますが、 ステータス

には反映されます。

表 8-3 : 初のビッ トス ト リーム コンフ ィギュレーシ ョ ン (エラーなし ) 後のステータス

RBCRC_ERROR WRAP_ERROR CRC_ERROR ID_ERROR WTO_ERROR IPROG FALLBACK VALID

Status_1 0 0 0 0 0 0 0 0

Status_0 0 0 0 0 0 0 0 1

表 8-4 : 初のコンフ ィギュレーシ ョ ンの後に IPROG が続く場合

RBCRC_ERROR WRAP_ERROR CRC_ERROR ID_ERROR WTO_ERROR IPROG FALLBACK VALID

Status_1 0 0 0 0 0 0 0 1

Status_0 0 0 0 0 0 1 0 1

表 8-5 : 初のビッ トス ト リームに I PROG を組み込み、 2 番目のビッ トス ト リームで CRC エラーが発生して、

フォールバックが適切に実行されたコンフ ィギュレーシ ョ ンの場合

RBCRC_ERROR WRAP_ERROR CRC_ERROR ID_ERROR WTO_ERROR IPROG FALLBACK VALID

Status_1 0 0 1 0 0 1 0 1

Status_0 0 0 0 0 0 1 1 1

166 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

ウォッチド ッグ

Virtex-5 のウォッチド ッグは、コンフ ィギュレーシ ョ ンの進行状況または FPGA ファブ リ ッ クにあ

るユーザー ロジッ クの動作の監視に使用できます。 ウォ ッチド ッグがタイム アウ トになる と、コン

フ ィ ギュ レーシ ョ ン ロジ ッ クはフ ォールバッ ク ビ ッ ト ス ト リ ームを読み込みます。 詳細は、

「フォールバッ ク マルチブート 」 を参照してください。

ウォ ッチド ッグには専用の内部ク ロ ッ ク CFG_MCLK が使用され、 このク ロ ッ クの周波数は通常

50MHz (±50%) です。 このク ロ ッ クはあらかじめ 256 分周されているので、 ウォ ッチド ッグのク

ロ ッ ク周期は約 5120ns です。 ウォ ッチド ッグ カウンタが 24 ビッ ト幅の場合、 高で約 86 秒まで

カウン ト可能です。

ウォ ッチド ッグを有効にするには、ビッ ト ス ト リームで指定するか、または任意のコンフ ィギュレー

シ ョ ン ポート を使用して TIMER レジスタに書き込みを実行します。 フォールバッ ク リ コンフ ィ

ギュレーシ ョ ン中およびその後は、 ウォ ッチド ッグは無効です。 ウォ ッチド ッグを再び有効にする

には、 フォールバッ ク リ コンフ ィギュレーシ ョ ンが正常に完了した後に開始された PROG リ コン

フ ィギュレーシ ョ ンが正常に完了する必要があ り ます。

FPGA の EOS (End of Startup)ウォ ッチド ッグを使用してビッ ト ス ト リーム コンフ ィギュレーシ ョ ンを監視するには、ビッ ト ス ト

リームで TIMER_CFG_MON を 1 に設定し、 TIMER レジスタへの書き込みに TIMER_VALUE値を設定します。 TIMER_VALUE は、スタート アップが完了するまでの FPGA コンフ ィギュレー

シ ョ ン時間をカバーするのに十分な値にする必要があ り ます。 スター ト アップでの DCI の一致、

DCM のロ ッ ク、 または DONE の待機時間なども含めます。

ウォ ッチド ッグ タイマが有効になる と、 カウン ト ダウンが開始します。 タイマが 0 になった時点で

FPGA がスタート アップの 終段階に達していない場合、 ウォ ッチド ッグ タイムアウ ト エラーが

発生して、 フォールバッ ク コンフ ィギュレーシ ョ ンが ト リガされます。

ユーザー操作

ウォッチドッグを使用してユーザー ロジックを監視するには、ビット スト リ ームで TIMER_USR_MON を1 に設定し、TIMER レジスタへの書き込みに TIMER_VALUE 値を設定します。 タイムアウ トが発

生しないよ うにするため、 LTIMER コマンドまたは TIMER レジスタへの直接アクセスによ り、定

期的にカウンタを リセッ トする必要があ り ます。 ウォ ッチド ッグは、 デバイスをシャ ッ ト ダウンま

たは電源を切断 (シャ ッ ト ダウンを含む) する と、 自動的に無効となり ます。

表 8-6 に、LTIMER コマンドを使用してウォッチド ッグを再読み込みする場合のビッ ト ス ト リーム

例を示します。

表 8-6 : LTIMER を使用したウォッチド ッグの再読み込みのビッ トス ト リーム例

コンフ ィギュレーシ ョ ン データ (hex)

説明

FFFFFFFF ダ ミー ワード

AA995566 同期ワード

20000000 タイプ 1、 NO OP

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000000 NULL

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 167UG191 (v3.5) 2008 年 10 月 29 日

ウォッチド ッグR

表 8-7 に、 TIMER に直接アクセスする場合のビッ ト ス ト リーム例を示します。

20000000 タイプ 1、 NO OP

30008001 タイプ 1、 CMD に 1 ワード書き込み

00000011 LTIMER コマンド

20000000 タイプ 1、 NO OP

30008001 タイプ 1、 CMD に 1 ワード書き込み

0000000D DESYNCH コマンド

20000000 タイプ 1、 NO OP

表 8-7 : TIMER レジスタにアクセスする場合のビッ トスト リーム例

コンフ ィギュレーシ ョ ン データ (hex)

説明

FFFFFFFF ダ ミー ワード

AA995566 同期ワード

20000000 タイプ 1、 NO OP

30022001 タイプ 1、 TIMER に 1 ワード書き込み

00000000 TIMER 値

20000000 タイプ 1、 NO OP

30008001 タイプ 1、 CMD に 1 ワード書き込み

0000000D DESYNCH コマンド

20000000 タイプ 1、 NO OP

表 8-6 : LTIMER を使用したウォッチド ッグの再読み込みのビッ トス ト リーム例

コンフ ィギュレーシ ョ ン データ (hex)

説明

168 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

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

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 169UG191 (v3.5) 2008 年 10 月 29 日

R

第 9 章

リードバック CRC

Virtex®-5 デバイスは、 ユーザー デザインのバッ クグランドで、 継続的にコンフ ィギュレーシ ョ ン

データのリードバッ クを実行する新機能を備えています。 この機能は、 コンフ ィギュレーシ ョ ン メモ リ ビッ ト をフ リ ップさせる SEU (Single Event Upsets) の検出を簡潔にするこ とを目的と してお

り、 SEU の修正など高度な処理を実行するための FRAME ECC 機能と併用可能です。 リードバッ

ク CRC を有効にするには、CONFIG ユーザー制約 POST_CRC を Enable に設定してください。 この制約が有効になる と、 コンフ ィギュレーシ ョ ン専用ロジッ クによ りバッ クグラン ドで継続的に

リードバッ クが実行され、コンフ ィギュレーシ ョ ン メモ リの内容の CRC チェッ クが実行されます。

リードバッ ク CRC の初回の値が、 比較の基準値と してラ ッチされます。 後続のリードバッ ク CRC値は、 この値と比較されます。 CRC の不一致が検出される と、 FRAME_ECC_VIRTEX5 プ リ ミ

ティブの crc_error ピンが High、 INIT_B ピンが Low に駆動され、DONE ピンは High のままにな

り ます。オプシ ョ ンと して、CONFIG ユーザー制約 POST_CRC_SIGNAL を FRAME_ECC_ONLYに指定し、 INIT_B を CRC のフラグと して使用しないよ う設定できます。エラー フラグは、エラー

が修正されなければ、 次の比較までアサート されたままにな り ます。 新たに基準となる CRC 値が

計算されなければ、 エラー フラグはアサート されたままにな り ます。 ICAP コマンド、 JTAG、 ま

たは SelectMAP の persist オプシ ョ ンを使用してユーザー ロジッ クからコンフ ィギュレーシ ョ

ン ロジッ クにアクセスする場合、 リードバッ ク CRC エラーは、 このアクセスに影響を与えるこ と

なく自動的に停止し、エラー フラグはク リ アされます。 コンフ ィギュレーシ ョ ン ロジッ クへのアク

セスが完了する と、 リードバッ ク CRC は自動的に再開します。

リードバッ ク CRC ロジッ クは、 次のよ う な条件で実行されます。

• コンフィ ギュレーショ ン処理を DESYNC コマンド で終了し、コンフィ ギュレーショ ン ロジッ ク

をアクセス可能な状態にする必要があり ます。 DESYNC コマンド が発行されない場合、 リ ード

バッ ク CRC ロジッ クはコンフィ ギュレーショ ン ロジッ クにアクセスできず、 実行されません。

• JTAG 命令レジスタ (IR) に、 コンフ ィギュレーシ ョ ン命令 (CFG_IN、 CFG_OUT、 および

ISC_ENABLE) が含まれないよ うにします。 これらの命令が含まれている と、CRC ロジッ クは

コンフ ィギュレーシ ョ ン ロジッ クにアクセスできず、 実行されません。 JTAG インターフェイ

スを使用して実行されるすべてのコンフ ィギュレーシ ョ ン処理は、 これら 3 つのコンフ ィギュ

レーシ ョ ン命令以外の値を IR に読み込むこ とによ り、 完了する必要があ り ます。

バッ クグランドで実行される リードバッ クでは、 動作中に変更される次のメモ リ位置はマスク され

ます。

• MLUT (RAM または SRL)

• ブロッ ク RAM の内容は、ユーザー ファンクショ ンへの影響を回避するため、リ ード バッ ク中は

スキッ プされます。 ブロッ ク RAM の動作中は、 その RAM 自体の ECC 回路がこの機能を果た

します。

• DRP (ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート ) メモ リはマスク されます。

170 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

第 9 章 : リードバック CRCR

リードバッ ク CRC ロジッ クが有効な場合、 コンフ ィギュレーシ ョ ンが完了し、 次の条件が満たさ

れる と、 バッ クグランドで自動的に実行されます。

• FPGA のスタート アップが適切に完了し、 DONE ピンが High なっている。

• コンフ ィギュレーシ ョ ン インターフェイスが適切に維持されている。 通常のビッ ト ス ト リーム

には 後に DESYNC コマンドがあ り、コンフ ィギュレーシ ョ ン インターフェイスはそれ以降

使用されなくなり ます。

• JTAG インターフェイスを使用している場合、 JTAG 命令レジスタが CFG_IN、 CFG_OUT、または ISC_ENABLE に設定されていない。

表 9-1 に示すよ うに、 リードバッ ク CRC のクロ ッ ク ソースはモードによって異なり ます。

JTAG は 優先のコンフ ィギュレーシ ョ ン モードであるため、必要な場合はコンフ ィギュレーシ ョ

ン バスが優先的に JTAG で使用されます。 JTAG コンフ ィギュレーシ ョ ンのみを実行する場合は、

M[2:0] をマスタ シ リ アル モードに設定するこ とを推奨します。 これによ り、 内部オシレータは連

続したク ロ ッ クを供給します。 JTAG 命令レジスタは、CFG_IN、CFG_OUT、または ISC_ENABLE命令に設定しないでください。

パーシャル リ コンフ ィギュレーシ ョ ン アプリ ケーシ ョ ンでは、 コンフ ィギュレーシ ョ ン メモ リの

内容が変化するため、 基準値を再算出する必要があ り ます。 この再算出は、 AGHIGH および

DGHIGH コマンドを使用するシャ ッ ト ダウン シーケンスでパーシャル リ コンフ ィギュレーシ ョ ン

が実行される と、自動的に実行されます。 シャ ッ ト ダウン シーケンスを使用しないパーシャル リ コ

ンフ ィギュレーシ ョ ンでは、ビッ ト ス ト リームの 後に CRCC コマンドを送信し、再算出を ト リガ

する必要があ り ます。

表 9-1 : リードバック CRC クロック ソース

ICAP プリ ミテ ィブ

STARTUP プリ ミテ ィブ

マスタ モード スレーブ モード JTAG モード クロック ソース

インスタンシ

エート

x x x x ICAP プリ ミ ティブの CLK 入力

インスタンシ

エート されない

インスタンシ

エート

x x x STARTUP プリ ミ ティブの USRCCLKO 入力

インスタンシ

エート されない

インスタンシ

エート されない

Yes No No BitGen オプシ ョ ン

-g ConfigRate で制御される

マスタ CCLK

インスタンシ

エート されない

インスタンシ

エート されない

No Yes No CCLK ピン入力

インスタンシ

エート されない

インスタンシ

エート されない

No No Yes ク ロ ッ クなし (表下の説明を参照)

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド japan.xilinx.com 171UG191 (v3.5) 2008 年 10 月 29 日

POST_CRC 制約R

POST_CRC 制約

Virtex-5 デバイスでは、 SEU (Single Event Upset) イベン ト を送信するために 2 つの制約が使用さ

れます。 これらの制約の伝搬規則は同じです。 これらは、 CONFIG 制約と して指定され、 物理的な

デザイン オブジェク トに伝搬されます。

POST_CRCPOST_CRC では、SEU イベント の送信に FRAME_ECC_VIRTEX5 プリ ミ ティ ブの CRC_ERRORピンを使用します。 また、 POST_CRC_SIGNAL 制約を使用して INIT を CRC エラーのインジケー

タと して使用するよう に予約できます。 コンフィ ギュレーショ ン中、 INIT ピンは通常どおり 動作し

ます。 コンフィ ギュレーショ ン後は、 SEU 解析が有効で INIT が予約されていると 、 INIT ピン (デフォルト ) が SEU ステータス ピンと して機能します。 リ アルタイムで計測された CRC 値があらか

じめ計測された値と 異なる場合、 CRC_ERROR ピンが High、 INIT ピンが Low に駆動され、 SEUが検出されたこ と が示されます。

この情報の伝搬には、 POST_CRC 制約の適用が 適な方法です。 POST_CRC 制約は CONFIG 制約です。 この制約は、 PACE、 PAR、 または BitGen で使用し、 IOB で INIT ピンが駆動されないよ

うにプログラムするこ とで、 INIT ピンを予約できます。

POST_CRC に設定できる値は次の 2 つです。

• ENABLE

SEU の検出が有効

• DISABLE

SEU の検出が無効

POST_CRC_SIGNALPOST_CRC_SIGNAL は、 Virtex-5 の INIT_B ピンが SEU エラー信号の原因であるかど うかを示

します。 Virtex-5 では、 POST_CRC SEU 検出モードがサポート されています。

リードバッ ク CRC では、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム上のあらかじめ算出された

CRC 値またはコンフ ィギュレーシ ョ ン後に算出された CRC 値と、コンフ ィギュレーシ ョ ン メモ リ

セルの定期的な リードバッ クに基づいて内部ロジッ クで算出された CRC が比較されます。 コン

フ ィギュレーシ ョ ン メモ リ セルでビッ ト がフ リ ップされる と、 SEU が検出されます。 シングル

ビッ トのフ リ ップは、 通常バッ クグランド放射によって発生します。

INIT_B ピンをリ ード バッ ク CRC のエラー ステータス出力ピンと して使用しないよう にするには、

POST_CRC を使用してく ださい。 この場合でも、 エラー ステータスは FRAME_ECC_VIRTEX5 サイト から取得できます。この情報を伝搬には、CONFIG 制約である POST_CRC_SIGNAL 制約を適用

するのが 適な方法です。 また、 POST_CRC_SIGNAL は、 BitGen で COR1 レジスタの 1 ビッ ト

を設定する場合にも使用できます。

POST_CRC_SIGNAL に設定できる値は次の 2 つです。

• FRAME_ECC_ONLY

INIT_B ピンは SEU エラー信号と して使用不可 (FRAME_ECC サイト が SEU エラー信号の単

独ソース )

• INIT_AND_FRAME_ECC

INIT_B ピンは SEU エラー信号と して使用可能

172 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

第 9 章 : リードバック CRCR

構文例

こ こでは、 各制約でサポート される構文例を示します。

POST_CRC

NCF 構文例

CONFIG POST_CRC = [ENABLE|DISABLE]

UCF 構文例

CONFIG POST_CRC = [ENABLE|DISABLE]

PCF 構文例

CONFIG POST_CRC = [ENABLE|DISABLE]

POST_CRC_SIGNAL

NCF 構文例

CONFIG POST_CRC_SIGNAL = [FRAME_ECC_ONLY|INIT_AND_FRAME_ECC]

UCF 構文例

CONFIG POST_CRC_SIGNAL = [FRAME_ECC_ONLY|INIT_AND_FRAME_ECC]

PCF 構文例

CONFIG POST_CRC_SIGNAL = [FRAME_ECC_ONLY|INIT_AND_FRAME_ECC]

Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド japan.xilinx.com 173UG191 (v3.5) 2008 年 10 月 29 日

AAES

定義 37

BBitGen 21, 38, 66

設定 44, 45, 47, 48, 54, 55, 56, 57, 58, 66, 123, 129, 141, 160, 170

リードバッ ク 141BitGen の設定 68BSCAN_VIRTEX5 94, 105

BYPASS レジスタ 94

CCAPTURE_VIRTEX5 106, 142, 156,

157CCLK 79CRC

定義 34リードバッ ク 169

DDCM

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン 111

DRP

定義 111

FFRAME_ECC_VIRTEX5 107

IICAP 39

定義 39ICAP_VIRTEX5 106, 162

ID コード 94IDCODE

定義 32レジスタ 94

IEEE 1149.1 83, 86, 94, 152IEEE 1532 38, 92, 100, 101, 152

iMPACT 24, 141IPROG 38

定義 162ISC 83

定義 83モーダル ステート 100

JJPROGRAM 命令 29, 38, 132, 133JTAG

アーキテクチャ 86定義 83

PPlatform Flash XL

SelectMAP コンフ ィギュレーシ ョン 52

ユーザー ガイ ド情報 14PROM

コンフ ィギュレーシ ョ ンに使用 43

PROM ファ イル

SelectMAP 24SPI/BPI 24

シ リアル デイジー チェーン 24生成 24

SSelectMAP 50

PROM ファ イル 24インターフェイス 50ギャング 58データの順序 66データの読み込み 59

継続的 60断続的 62

SelectMAP モード

ABORT 63STARTUP_VIRTEX5 110

TTAP

コン ト ローラ 89

定義 86

UUSER レジスタ 94USERCODE レジスタ 94USR_ACCESS_VIRTEX5 109

VVBATT 39

暗号化 37iMPACT の使用 38読み込み 38

ウォーム ブート 131ウォ ッチド ッグ タイマ 131, 166

ギャング SelectMAP 58

コンフ ィギュレーシ ョ ン 17AES 37BitGen 38, 44, 45, 48, 54, 55, 56,

57, 58CRC 34Cyclic Redundancy Check 34ICAP 39IDCODE 32

PROM ファ イル 24PROM を使用 43SelectMAP 58VBATT 39

インシステム 83インターフェイス 41基本的な手順 26初期化 29シ リアル デイジー チェーン 44

索引

174 japan.xilinx.com Virtex-5 FPGA コンフ ィギュレーシ ョ ン ガイ ド

UG191 (v3.5) 2008 年 10 月 29 日

索引R

信号 29スタート アップ シーケンス 35遅延 29データ フレームの読み込み 34電源投入 27同期 31バウンダ リ スキャン 95ビッ ト ス ト リームの暗号化 37ビッ ト ス ト リームの読み込み 30,

38

ピン 17ファ イル形式 21メモ リのク リ ア 29モード 17, 41

BPI パラレル Flash 72BPI-Down 72BPI-Up 72JTAG 83SelectMAP 50SPI Flash 67

シ リ アル 41, 43, 44スレーブ SelectMAP 54, 55,

58

スレーブ シ リ アル 44マスタ SelectMAP 53マスタ シ リ アル 43

モード ピン 42リードバッ ク 90リ コンフ ィギュレーシ ョ ン 111

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

シ リ アル デイジー チェーン 44PROM ファ イル 24SPI モード 72ガイ ド ライン 46デバイスの混在 46

信号

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

バウンダ リ スキャン 83アーキテクチャ 91コマンド 90コンフ ィギュレーシ ョ ン 95リ コンフ ィギュレーシ ョ ン 99レジスタ 91

パラレル デイジー チェーン 57

ビッ ト ス ト リーム

暗号化 37コンフ ィギュレーシ ョ ン 133読み込み 30, 38

ピン

コンフ ィギュレーシ ョ ン 17, 42

フォールバッ ク 32, 34, 35, 38, 73, 159BPI 160

フレーム アドレス

コンフ ィギュレーシ ョ ン 137レジスタ 124

ページ モード 78

マルチブート 74, 159ビッ ト ス ト リーム間のパディング

161

命令レジスタ 92

モード

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

ユーザー プリ ミ ティブ

BSCAN_VIRTEX5 94, 105CAPTURE_VIRTEX5 106, 142,

156, 157FRAME_ECC_VIRTEX5 107ICAP_VIRTEX5 106, 162STARTUP_VIRTEX5 110USR_ACCESS_VIRTEX5 109

リードバッ ク 141

キャプチャ 141, 156検証 141コマンド シーケンス 142

リードバッ ク CRC 169リ コンフ ィギュレーシ ョ ン 111

IPROG 38, 162

バウンダ リ スキャン 99フォールバッ ク 32, 34, 35, 38, 73,

159BPI 160

レジスタ

BYPASS 94IDCODE 94JTAG 91

JTAG コンフ ィギュレーシ ョ ン 94

USER1、 USER2、 USER3、USER4 94

USERCODE 94

ウォーム ブート開始アドレス 131コマンド 121コンフ ィギュレーシ ョ ン 118コンフ ィギュレーシ ョ ン オプシ ョン 127, 130

ステータス 125バウンダ リ スキャン 91ブート履歴ステータス 132フレーム アドレス 124マスク 120命令 (IR) 92