Comments
Description
Transcript
(日本語版) ( v3.11, 3249 KB )
Virtex-5 FPGA コ ン フ ィ ギ ュ レーシ ョ ン ガイ ド UG191 (v3.5) 2008 年 10 月 29 日 本資料は英語版 (v3.5) を翻訳 し た も のです。 英語の更新バージ ョ ンが リ リ ース さ れている場合には、 最新の英語版を 必ずご参照 く だ さ い。 R R Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely for use in the development 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 liability arising out of your use of the Documentation. Xilinx reserves the right, at its sole discretion, to change the Documentation without notice at any time. Xilinx assumes no obligation to correct any errors contained in the Documentation, or to advise you of any corrections or updates. Xilinx expressly disclaims any liability in connection with technical support or assistance that may be provided to you in connection with the Information. THE DOCUMENTATION IS DISCLOSED TO YOU “AS-IS” WITH NO WARRANTY OF ANY KIND. XILINX MAKES NO OTHER WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE DOCUMENTATION, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT OF THIRD-PARTY RIGHTS. IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOSS OF DATA 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 are trademarks 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 を参照 し て く だ さ い。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド japan.xilinx.com UG191 (v3.5) 2008 年 10 月 29 日 改訂履歴 次の表に、 こ の文書の改訂履歴を示 し ます。 日付 バージ ョ ン 改訂内容 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 UG191 (v3.5) 2008 年 10 月 29 日 21 ページの表 1-4 (LX220T お よび SXT デバ イ ス を追加)、32 ページの表 1-13 (LX220T お よ び SXT デバ イ ス を追加)、 65 ページの 「ABORT ス テー タ ス ワ ー ド 」、 119 ページの 表 6-5 (CBC 値)、 144 ページの 「コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の読み出 し 手順 (SelectMAP)」 (手順 13 お よ び 14)、 125 ページの表 6-8 ( ブ ロ ッ ク タ イ プ) を更新。 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド 日付 バージ ョ ン 改訂内容 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 を更新。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド japan.xilinx.com UG191 (v3.5) 2008 年 10 月 29 日 日付 バージ ョ ン 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」 への相互参照を更新。 UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド japan.xilinx.com UG191 (v3.5) 2008 年 10 月 29 日 目次 こ のユーザー ガ イ ド について ユーザー ガ イ ド の内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 その他の資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 その他の リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 表記規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 オン ラ イ ン資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 第 1 章 : コ ン フ ィ ギ ュ レーシ ョ ンの概要 コ ン フ ィ ギ ュ レーシ ョ ン モー ド お よ びピ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ ァ イ ル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 ビ ッ ト ス ト リ ームの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 バ ス幅の自動検出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 同期ワ ー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 PROM フ ァ イ ルの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . シ リ アル デ イ ジー チ ェーン用の PROM フ ァ イ ル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン用の PROM フ ァ イ ル . . . . . . . . . . . . . . . . . . . . . . . . . . SPI/BPI コ ン フ ィ ギ ュ レーシ ョ ン用の PROM フ ァ イ ル . . . . . . . . . . . . . . . . . . . . . . . . . . . . ビ ッ ト のス ワ ッ プ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . パラ レル バスのビ ッ ト 順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン シーケ ン ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 設定 (手順 1 ~ 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . デバ イ ス の電源投入 (手順 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の ク リ ア (手順 2、 初期化) . . . . . . . . . . . . . . . . . . . . . モー ド ピ ンの読み込み (手順 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ンの遅延 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ビ ッ ト ス ト リ ームの読み込み (手順 4 ~ 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 同期化 (手順 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . デバ イ ス ID の確認 (手順 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ レームの読み込み (手順 6) . . . . . . . . . . . . . . . . . . . CRC (Cyclic Redundancy Check) (手順 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ス タ ー ト ア ッ プ (手順 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ビ ッ ト ス ト リ ーム暗号化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AES について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 暗号化 さ れた ビ ッ ト ス ト リ ームの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 暗号化キーの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 暗号化 さ れた ビ ッ ト ス ト リ ームの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ビ ッ ト ス ト リ ームの暗号化お よ び内部 コ ン フ ィ ギ ュ レーシ ョ ン ア ク セ ス ポー ト (ICAP) . . VBATT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 24 24 24 24 25 25 26 26 27 28 29 29 30 31 32 34 34 35 37 37 38 38 38 39 39 7 R 目次 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン デー タ の ク ロ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 マ ス タ シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ス レーブ シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 シ リ アル デ イ ジー チ ェ ーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 混在シ リ アル デ イ ジー チ ェ ーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 シ リ アル デ イ ジー チ ェーンのガ イ ド ラ イ ンお よび考慮事項 . . . . . . . . . . . . . . . . . . . . 46 ギ ャ ン グ シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 単一デバ イ ス の SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 高パフ ォーマン ス Platform Flash XL SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . プ ラ ッ ト フ ォーム フ ラ ッ シ ュ PROM の SelectMap コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . マ イ ク ロ プ ロ セ ッ サ を使用 し た SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . 複数デバ イ ス の SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . パ ラ レ ル デ イ ジー チ ェ ーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ギ ャ ン グ SelectMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectMAP デー タ 読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CS_B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RDWR_B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BUSY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 50 52 52 53 54 55 57 58 59 59 59 60 60 継続的な SelectMAP デー タ の読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 断続的な SelectMAP デー タ の読み出 し . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 SelectMAP の ABORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ンの ABORT シーケ ン ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . リ ー ド バ ッ ク の ABORT シーケ ン ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABORT ス テー タ ス ワ ー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABORT 後に コ ン フ ィ ギ ュ レーシ ョ ン ま たは リ ー ド バ ッ ク を再開 . . . . . . . . . . . . . . . . SelectMAP リ コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectMAP デー タ の順序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SPI コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . パ ワ ーオン シーケ ン ス に関す る 注意事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SPI シ リ アル デ イ ジー チ ェ ーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BPI (Byte Peripheral Interface) パ ラ レ ル フ ラ ッ シ ュ モー ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . パ ワ ーオン シーケ ン ス に関す る 注意事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ページ モー ド のサポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン ク ロ ッ ク (CCLK) のボー ド レ イ ア ウ ト . . . . . . . . . . . . . . . . . . . . . . . . . 63 64 64 65 66 66 66 67 71 72 72 77 78 79 第 3 章 : バウン ダ リ スキ ャ ンおよび JTAG コ ン フ ィ ギ ュ レーシ ョ ン 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 JTAG コ ン フ ィ ギ ュ レーシ ョ ン / リ ー ド バ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 完全な初期 コ ン フ ィ ギ ュ レーシ ョ ン ま たは リ コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . リ ー ド バ ッ ク - タ イ プ 1 : ブ ロ ッ ク RAM フ レーム な し . . . . . . . . . . . . . . . . . . . . . . . . . . . . リ ー ド バ ッ ク - タ イ プ 2 : ブ ロ ッ ク RAM フ レーム あ り . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 japan.xilinx.com 83 83 84 85 85 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド UG191 (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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CAPTURE_VIRTEX5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ICAP_VIRTEX5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FRAME_ECC_VIRTEX5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . USR_ACCESS_VIRTEX5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . STARTUP_VIRTEX5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 106 106 107 109 110 第 5 章 : ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン ポー ト (DRP) フ ァ ン ク シ ョ ン ブ ロ ッ ク のダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . 111 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 FPGA フ ァ ブ リ ッ ク ポー ト について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 逓倍値 と 分周値の変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 第 6 章 : コ ン フ ィ ギ ュ レーシ ョ ンの詳細 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の フ レーム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 パケ ッ ト タ イ プ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 タ イ プ 1 パケ ッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 タ イ プ 2 パケ ッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 タ イ プ 1 パケ ッ ト レ ジ ス タ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 CRC レ ジ ス タ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FDRI レ ジ ス タ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FDRO レ ジ ス タ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MASK レ ジ ス タ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 120 120 120 120 9 R 目次 LOUT レ ジ ス タ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MFWR レ ジ ス タ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CBC レ ジ ス タ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IDCODE レ ジ ス タ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AXSS レ ジ ス タ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CSOB レ ジ ス タ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ マン ド レ ジ ス タ (CMD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 制御レ ジ ス タ 0 (CTL0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 制御レ ジ ス タ 1 (CTL1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . フ レーム ア ド レ ス レ ジ ス タ (FAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ス テー タ ス レ ジ ス タ (STAT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ン レ ジ ス タ 0 (COR0) . . . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ン レ ジ ス タ 1 (COR1) . . . . . . . . . . . . . . . . . . . . . . ウ ォーム ブー ト の開始ア ド レ ス レ ジ ス タ (WBSTAR) . . . . . . . . . . . . . . . . . . . . . . . ウ ォ ッ チ ド ッ グ タ イ マ レ ジ ス タ (TIMER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ブー ト 履歴ス テー タ ス レ ジ ス タ (BOOTSTS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ビ ッ ト ス ト リ ームの構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . デフ ォ ル ト 設定での初期 コ ン フ ィ ギ ュ レーシ ョ ン プ ロ セ ス . . . . . . . . . . . . . . . . . . . . . . . . フ レームのア ド レ ス指定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . フ レーム ビ ッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . フ レーム ア ド レ ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 行ア ド レ ス (上部/下部 イ ン ジ ケー タ を含む) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . メ ジ ャー ア ド レ ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . マ イ ナー ア ド レ ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ブロ ッ ク タ イプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . イ ン タ ー コ ネ ク ト お よ びブ ロ ッ ク コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . ブ ロ ッ ク RAM の内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . イ ン タ ー コ ネ ク ト お よ びブ ロ ッ ク の特別な フ レーム . . . . . . . . . . . . . . . . . . . . . . . . . . 120 120 120 121 121 121 121 123 124 124 125 127 130 131 131 132 133 133 136 136 137 138 138 139 139 139 140 140 第 7 章 : リ ー ド バ ッ ク および コ ン フ ィ ギ ュ レーシ ョ ンの検証 リ ー ド バ ッ ク のためのデザ イ ン設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 リ ー ド バ ッ ク コ マン ド シーケ ン ス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 SelectMAP イ ン タ ーフ ェ イ ス か ら コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ への ア クセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ の読み出 し 手順 (SelectMAP) . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の読み出 し 手順 (SelectMAP) . . . . . . . . . . . . . . . . . . . . . . JTAG イ ン タ ーフ ェ イ ス か ら コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タへのア ク セ ス . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ の読み出 し 手順 (JTAG) . . . . . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の読み出 し 手順 (1149.1 JTAG) . . . . . . . . . . . . . . . . コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の読み出 し 手順 (1532 JTAG) . . . . . . . . . . . . . . . . . リ ー ド バ ッ ク デー タ の検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . リ ー ド バ ッ ク キ ャ プチ ャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 japan.xilinx.com 142 143 144 146 147 149 152 154 156 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R 目次 第 8 章 : リ コ ン フ ィ ギ ュ レーシ ョ ンおよびマルチ ブー ト フ ォールバ ッ ク マルチブー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 フ ォールバ ッ ク の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 フ ォールバ ッ ク の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 マルチブー ト ビ ッ ト ス ト リ ーム間のパデ ィ ン グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IPROG リ コ ン フ ィ ギ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ICAP_VIRTEX5 を使用する IPROG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ビ ッ ト ス ト リ ームに組み込まれた IPROG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . フ ォールバ ッ ク お よび IPROG リ コ ン フ ィ ギ ュ レーシ ョ ン用の ス テー タ ス レ ジ ス タ . . . . . . . . . ウォ ッチド ッ グ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FPGA の EOS (End of Startup) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ユーザー操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 162 162 164 165 166 166 166 第 9 章 : リ ー ド バ ッ ク CRC POST_CRC 制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 POST_CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 POST_CRC_SIGNAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 構文例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 POST_CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 POST_CRC_SIGNAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 11 R 12 目次 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド UG191 (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 ロ ジ ッ ク リ ソ ース Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 13 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 の機能を説明 し 、 サポー ト さ れ る 一般的な コ ン フ ィ ギ ュ レーシ ョ ン モー ド の設定、 お よ びプ ロ グ ラ ム フ ァ イ ルを生成 し て間接的にデバ イ ス を イ ン シ ス テ ム プ ロ グ ラ ム す る のに必要な ソ フ ト ウ ェ ア フ ローを示 し ます。 14 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド UG191 (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 表記に も 使用 し ます。 中かっ こ { } 縦棒 | 1 つ以上の項目を選択す る ための リ ス ト を示 し ます。 選択する リ ス ト の項目を 分離し ま す。 縦の省略記号 . . . 横の省略記号 . . . Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 繰 り 返 し 項目が省略 さ れてい る こ と を示 し ます。 繰 り 返 し 項目が省略 さ れてい る こ と を示 し ます。 japan.xilinx.com ngdbuild [option_name] design_name [File] → [Open] を ク リ ッ ク し ます。 lowpwr ={on|off} lowpwr ={on|off} IOB #1: Name = QOUT’ IOB #2: Name = CLKIN’ . . . allow block block_name loc1 loc2 ... locn; 15 R このユーザー ガ イ ド について オ ン ラ イ ン資料 こ の文書では、 次の規則が使用 さ れてい ます。 表記規則 使用箇所 例 詳細は、 「その他の資料」 を参照 し て く だ さ い。 16 青色の文字 文書内の相互参照を示 し ます。 詳細は、 第 2 章 の 「シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン デー タ の ク ロ ッ ク 」 を参照 し て く だ さ い。 赤色の文字 ほかの文書への相互参照を示 し ます。 『Virtex-5 デー タ シー ト 』 の 図 2-5 を参照 し て く だ さ い。 青色の下線付 き 文字 ウ ェ ブ サ イ ト (URL) へのハ イ パー リ ン ク です。 最新は、 http://japan.xilinx.com か ら 入手で き ます。 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド UG191 (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 は入力です。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 17 R 第 1 章 : コ ン フ ィ ギ ュ レーシ ョ ンの概要 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) 18 入力 ア ク テ ィ ブ Low の非同期フルチ ッ プ リ セ ッ ト 。 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン モー ド およびピ ン 表 1-1 : Virtex-5 コ ン フ ィ ギ ュ レーシ ョ ン専用ピ ン (続き ) タ イ プ (1) ピ ン名 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 電源があ る 専用バン ク にあ り ま す。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 19 R 第 1 章 : コ ン フ ィ ギ ュ レーシ ョ ンの概要 表 1-2 : Virtex-5 の多目的コ ン フ ィ ギ ュ レーシ ョ ン ピ ン ピ ン名 BPI-Up/ BPI-Down ADDR[25:16] ADDR[25:16] ADDR[15:0] ADDR[15:0] SelectMAP モー ド D[31:16] I/O SPI 説明 バン ク RCMD [7:0] 1 BPI ア ド レ ス バ ス出力。 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] FCS_B FCS_B FOE_B FOE_B 2 リ ビ ジ ョ ン セ レ ク ト 出力。 FCS_B 2 BPI お よ び SPI フ ラ ッ シ ュ のチ ッ プ セ レ ク ト 出力。 MOSI 2 BPI フ ラ ッ シュ の出力イ ネーブル、FPGA から の SPI データ 出力。 FWE_B FWE_B CSO_B CSO_B CSO_B D[7:0] D[7:0] D[7:0] FS[2:0] 2 BPI フ ラ ッ シ ュ の書 き 込み イ ネーブル。 2 パ ラ レ ル デ イ ジーチ ェ ーンのチ ッ プ セ レ ク ト 出力。 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 バン ク にあ り ます。 20 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ ァ イル コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ ァ イル ザ イ リ ン ク ス のデザ イ ン ツールでは、 コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ ァ イ ルを さ ま ざ ま な形式 で生成で き ます (表 1-3 を参照)。 BitGen ツールは、 PAR 後の NCD フ ァ イ ルを コ ン フ ィ ギ ュ レ ー シ ョ ン フ ァ イ ル ま た は ビ ッ ト ス ト リ ー ム に 変換 し ま す。 PROM フ ァ イ ル 生成 ツ ー ル で あ る PROMGen は、 複数のビ ッ ト ス ト リ ーム フ ァ イ ルを 1 つの PROM フ ァ イ ルに変換 し ます。 さ ま ざ ま な形式の PROM フ ァ イ ルが生成可能であ り 、 PROM で使用す る 必要はあ り ません。 こ れ ら は任 意の場所に保存で き 、 読み込む方法 も 選びません。 表 1-3 : ザイ リ ン ク スの コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イルの形式 フ ァ イル 拡張子 ビ ッ ト スワ ッ プ (1) ザイ リ ン ク ス ソ フ ト ウ ェ ア ツール (2) 説明 バ イ ナ リ コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ ァ イ ルには、 BIT BitGen ビ ッ ト ス ワ ッ プなし (デフ ォ ル ト で生成) FPGA へのダ ウ ン ロ ー ド が不要なヘ ッ ダ情報が含まれて い ます。 プ ロ グ ラ ム ケーブルを使用 し て iMPACT か ら デバ イ ス をプ ロ グ ラ ムす る 場合に使用 さ れます。 BitGen RBT ビ ッ ト ス ワ ッ プな し (-b オプシ ョ ンの 設定時に生成) BitGen (-g binary:yes BIN ビ ッ ト ス ワ ッ プな し オプシ ョ ンの設定時 に生成) ま たは PROMGen MCS EXO TEK HEX BIT フ ァ イ ル と 等価の ASCII フ ァ イ ルで、 テキ ス ト ヘ ッ ダ お よ び 0 と 1 で構成 さ れてい ます ( コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ご と に 8 ビ ッ ト )。 ヘ ッ ダ情報がないバ イ ナ リ コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ ァ イ ル。 BIT フ ァ イ ル と 類似 し てい ます。 カ ス タ ム コ ン フ ィ ギ ュ レーシ ョ ン ソ リ ュ ーシ ョ ン ( マ イ ク ロ プ ロ セ ッ サな ど ) ま たはサー ド パーテ ィ の PROM を プ ロ グ ラ ムす る 場合 に使用 さ れます。 ビ ッ ト スワ ップ PROMGen ま たは iMPACT コ ン フ ィ ギ ュ レーシ ョ ン デー タ のほかにア ド レ スお よ び チ ェ ッ ク サ ム情報が含まれ る ASCII PROM フ ァ イ ル形式。 主にデバ イ ス プ ロ グ ラ マお よ び iMPACT で使用 さ れます。 ユーザーが指定 PROMGen ま たは iMPACT コ ン フ ィ ギ ュ レーシ ョ ン デー タ のみを含む ASCII PROM フ ァ イ ル形式。 主にカ ス タ ム コ ン フ ィ ギ ュ レーシ ョ ン ソ リ ュ ーシ ョ ンに使用 さ れます。 メモ : 1. ビ ッ ト ス ワ ッ プの詳細は、 「ビ ッ ト の ス ワ ッ プ」 を参照 し て く だ さ い。 2. BitGen お よ び PROMGen の完全な構文は、 『開発シ ス テ ム リ フ ァ レ ン ス ガ イ ド 』 を参照 し て く だ さ い。 ビ ッ ト ス ト リ ームの概要 Virtex-5 のビ ッ ト ス ト リ ームには、 FPGA コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク への コ マン ド お よ び コ ン フ ィ ギ ュ レーシ ョ ン デー タ が含まれます。 表 1-4 に、各 Virtex-5 デバ イ ス の標準的な ビ ッ ト ス ト リ ームの長 さ を示 し ます。 表 1-4 : Virtex-5 ビ ッ ト ス ト リ ームの長 さ デバイ ス コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト の総数(1) XC5VLX30 8,374,016 XC5VLX50 12,556,672 XC5VLX85 21,845,632 XC5VLX110 29,124,608 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 21 R 第 1 章 : コ ン フ ィ ギ ュ レーシ ョ ンの概要 表 1-4 : Virtex-5 ビ ッ ト ス ト リ ームの長 さ (続き ) コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト の総数(1) デバイ ス 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 オプシ ョ ン に よ っ ては、 ビ ッ ト ス ト リ ーム長が変わ る 場合があ り ま す。 Virtex-5 ビ ッ ト ス ト リ ームは、 次の 3 つのセ ク シ ョ ンで構成 さ れます。 22 • 「バ ス幅の自動検出」 • 「同期 ワー ド 」 • 「FPGA コ ン フ ィ ギ ュ レーシ ョ ン」 (第 6 章 「コ ン フ ィ ギ ュ レーシ ョ ンの詳細」 を参照) japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R ビ ッ ト ス ト リ ームの概要 バス幅の自動検出 すべての ビ ッ ト ス ト リ ーム の開始部分には、 バ ス 幅の自動検出パ タ ーン が挿入 さ れ ます。 こ れは、 パ ラ レル コ ン フ ィ ギ ュ レーシ ョ ン モー ド で、 自動的に コ ン フ ィ ギ ュ レーシ ョ ン バ ス幅を検出す る ために使用 さ れ ま す。 こ のパ タ ーンは、 同期 ワ ー ド の前に あ る ため、 シ リ アル コ ン フ ィ ギ ュ レ ー シ ョ ン モー ド では無視 さ れます。 パ ラ レ ル コ ン フ ィ ギ ュ レ ーシ ョ ン モー ド の場合、 バ ス 幅は コ ン フ ィ ギ ュ レ ーシ ョ ン ロ ジ ッ ク に よ っ て自動的に検出 さ れます。 バ ス幅検出パ タ ーンは、ビ ッ ト ス ト リ ームの前にあ り ます。 コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク では、 パ ラ レ ル バ ス の下位 8 ビ ッ ト のみがチ ェ ッ ク さ れ、 受信 し たバ イ ト シーケ ン ス に よ っ て、 自動的に適切な外部バ ス幅に切 り 替え る こ と がで き ます。 表 1-5 に、 バ ス 幅検出パ タ ーンが挿入 さ れた ビ ッ ト ス ト リ ームの例を示 し ます。 「パ ラ レル バ ス のビ ッ ト 順」 で説 明 し てい る よ う に、 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 ... ... ... ... [コ メ ン ト ] 同期 ワー ド ... ザ イ リ ン ク ス 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-6 : 同期ワー ド 31:24 23:16 15:8 7:0 0xAA 0x99 0x55 0x66 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 23 R 第 1 章 : コ ン フ ィ ギ ュ レーシ ョ ンの概要 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 SelectMAP Mode』 を参照 し て く だ さ い。 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 フ ァ イ ルを プ ロ グ ラ ムす る 際にエ ンデ ィ ア ン を ス ワ ッ プ さ せ る 必要が あ り ま す。 詳細は、 フ ラ ッ シ ュ デバ イ ス ベン ダーの資料を参照 し て く だ さ い。 24 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R PROM フ ァ イルの生成 ビ ッ ト のスワ ッ プ ビ ッ ト ス ワ ッ プ と は、 バ イ ト 内で ビ ッ ト を ス ワ ッ プす る こ と です。 MCS、 EXO、 TEK 形式の PROM フ ァ イ ルは常に ビ ッ ト ス ワ ッ プ さ れますが、HEX 形式の場合はユーザー オプシ ョ ンで指定 で き ます。 ビ ッ ト ス ト リ ーム フ ァ イ ル (BIT、 RBT、 BIN) でビ ッ ト が ス ワ ッ プ さ れ る こ と はあ り ま せん。 HEX フ ァ イ ルには コ ン フ ィ ギ ュ レ ーシ ョ ン デー タ のみが含 ま れ ま すが、 その他の形式の PROM フ ァ イ ルには、 FPGA にはダ ウ ン ロ ー ド さ れないア ド レ スお よ びチ ェ ッ ク サ ム情報が含 ま れます。 こ のア ド レ スお よ びチ ェ ッ ク サ ム情報は、 サー ド パーテ ィ のデバ イ ス プ ロ グ ラ マが使用す る も の で、 PROM にはプ ロ グ ラ ム さ れません。 図 1-1 に、 2 バ イ ト のデー タ (0xABCD) の ビ ッ ト ス ワ ッ プを示 し ます。 A 㪈㪍㩷ㅴᢙ : SelectMAP 䊂䊷䉺㩷䊏䊮 : B C D D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 㪉㩷ㅴᢙ : 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 䊎䉾䊃䉕 䉴䊪䉾䊒䈚䈢㩷 㪉㩷ㅴᢙ : 1 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 SelectMAP 䊂䊷䉺㩷䊏䊮 : D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 䊎䉾䊃䉕 䉴䊪䉾䊒䈚䈢㩷 㪈㪍㩷ㅴᢙ : D 5 B 3 UG191_c2_22_050106 図 1-1 : ビ ッ ト スワ ッ プの例 各バ イ ト の 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 モー ド では、 ビ ッ ト は ス ワ ッ プ さ れ ません。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 25 R 第 1 章 : コ ン フ ィ ギ ュ レーシ ョ ンの概要 表 1-7 お よ び表 1-8 に、 ビ ッ ト ス ト リ ーム内の同期 ワ ー ド 例 を 示 し ま す。 こ の例では、 ス レ ーブ SelectMAP、 マ ス タ SelectMAP、 BPI-Up、 お よ び BPI-Down モー ド な ど のパ ラ レル コ ン フ ィ ギ ュ レーシ ョ ン モー ド を使用す る 場合に、 FPGA デー タ ピ ンに現れ る こ と が予想 さ れ る デー タ を示 し てい ます。 表 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 モー ド での同期ワー ド のデー タ シーケン ス例 1 2 3 4 0x55 0x99 0xAA 0x66 x16 モー ド の D[15:0] ピ ン 0x5599 0xAA66 x32 モー ド の D[31:0] ピ ン 0x5599AA66 CCLK サイ ク ル x8 モー ド の D[7:0] ピ ン コ ン フ ィ ギ ュ レーシ ョ ン シーケ ン ス コ ン フ ィ ギ ュ レーシ ョ ン モー ド に よ っ て、 その イ ン タ ーフ ェ イ スは異な り ますが、 Virtex-5 デバ イ ス を コ ン フ ィ ギ ュ レ ーシ ョ ン す る 際の基本的な手順は、 すべて のモー ド で同一です。 図 1-2 に、 Virtex-5 デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン プ ロ セ ス を示 し 、 こ の後のセ ク シ ョ ンで各手順を詳細 に説明 し ます。 説明す る 手順は、 図中で灰色で示 し ます。 ᚻ㗅 1 䊂䊋䉟䉴䈱 㔚Ḯᛩ 2 3 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊜䊝䊥 䈱䉪䊥䉝 䊝䊷䊄㩷䊏䊮䈱 ⺒䉂ㄟ䉂 4 5 6 หᦼൻ 䊂䊋䉟䉴 ID 䈱䉼䉢䉾䉪 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊂䊷䉺䈱 ⺒䉂ㄟ䉂 7 8 CRC 䉼䉢䉾䉪 䉴䉺䊷䊃䉝䉾䊒㩷 䉲䊷䉬䊮䉴 䊎䉾䊃䉴䊃䊥䊷䊛 䈱⺒䉂ㄟ䉂 ⸳ቯ 㐿ᆎ ⚳ੌ UG191_c1_01_050406 図 1-2 : Virtex-5 コ ン フ ィ ギ ュ レーシ ョ ン プ ロ セス 最初の 3 つの手順で、 Virtex-5 デバ イ ス が初期化 さ れ、 モー ド ピ ン を読み込む こ と に よ り コ ン フ ィ ギ ュ レーシ ョ ン モー ド が判断 さ れます。 設定 (手順 1 ~ 3) 設定プ ロ セ スは、 すべての コ ン フ ィ ギ ュ レーシ ョ ン モー ド で同 じ です (図 1-3 を参照)。 設定手順は、 デバ イ ス を適切に コ ン フ ィ ギ ュ レーシ ョ ンす る ために非常に重要です。 デバ イ ス の電 源投入、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の ク リ ア、 モー ド ピ ンの読み込みが実行 さ れます。 26 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン シーケ ン ス デバイ スの電源投入 (手順 1) ᚻ㗅 1 䊂䊋䉟䉴䈱 㔚Ḯᛩ 2 3 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊜䊝䊥 䈱䉪䊥䉝 䊝䊷䊄㩷䊏䊮䈱 ⺒䉂ㄟ䉂 4 5 6 หᦼൻ 䊂䊋䉟䉴 ID 䈱䉼䉢䉾䉪 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊂䊷䉺䈱 ⺒䉂ㄟ䉂 7 8 CRC 䉼䉢䉾䉪 䉴䉺䊷䊃䉝䉾䊒㩷 䉲䊷䉬䊮䉴 䊎䉾䊃䉴䊃䊥䊷䊛 䈱⺒䉂ㄟ䉂 ⸳ቯ 㐿ᆎ ⚳ੌ UG191_c1_02_050406 図 1-3 : デバイ スの電源投入 (手順 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-9 : コ ン フ ィ ギ ュ レーシ ョ ンに必要な電源 ピ ン名 値 単位 1.0 V 内部 コ ア電源 VBATT (1) 1.0 ~ 3.6 V 暗号化キーのバ ッ テ リ 電源 VCC_CONFIG 1.5、 1.8、 2.5、 3.3 V コ ン フ ィ ギ ュ レーシ ョ ン バン ク の電源 (VCCO_0) 2.5 V コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク と FPGA のその他 の機能用の補助電源 V 多目的 コ ン フ ィ ギ ュ レーシ ョ ン ピ ンの出力電源 VCCINT VCCAUX VCCO_1 VCCO_2 VCCO_4 説明 メモ : 1. VBATT は、 ビ ッ ト ス ト リ ーム の暗号化を使用す る 場合にのみ必要です。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 27 R 第 1 章 : コ ン フ ィ ギ ュ レーシ ョ ンの概要 表 1-10 : 電源投入の タ イ ミ ング 説明 シ ンボル TPL プロ グ ラ ム レ イ テンシ POR (パ ワ ー オン リ セ ッ ト ) TPOR CCLK 出力の遅延 TICCK TPROGRAM プ ロ グ ラ ム パルス幅 メモ : 1. 電源投入時の タ イ ミ ン グ特性は、 デー タ シー ト DS202 『Virtex-5 FPGA Data Sheet: DC and Switching Characteristics』 を参照 し て く だ さ い。 図 1-4 に、 電源投入時の波形を示 し ます。 TPOR VCCINT PROGRAM_B TPL INIT_B TICCK CCLK ജ䉁䈢䈲ജ M0䇮M1䇮M2* (ᔅ㗇) VALID * 㪇㩷䉁䈢䈲㩷㪈㩷䈱䈬䈤䉌䈪䉅䈎䉁䈇䉁䈞䉖䈏䇮䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮ਛ䈲䊃䉫䊦䈘䈞䈭䈇䉋䈉䈮䈜䉎ᔅⷐ䈏䈅䉍䉁䈜䇯 UG191_c1_03_072407 図 1-4 : デバイ スの電源投入 タ イ ミ ン グ VCCINT は、指定 さ れた立ち上が り 時間内で、単調に増加 さ せ る 必要があ り ます。 こ の よ う に電源投 入で き ない場合は、 シ ス テ ムの電源が VPOR に到達す る ま で、 INIT_B ピ ン ま たは PROGRAM_B ピ ン を Low に保持 し ( 「コ ン フ ィ ギ ュ レーシ ョ ンの遅延」 を参照) 、 コ ン フ ィ ギ ュ レーシ ョ ンの開 始を遅延 さ せて く だ さ い。 コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク 電源入力 (VCC_CONFIG) と 補助電圧入力 (VCCAUX) は、 POR (パ ワ ー オン リ セ ッ ト ) 回路への ロ ジ ッ ク 入力 と し て使用 さ れます。 こ れ ら の電源のいずれかが指定 さ れた レベル以下にな っ た場合、 POR を再び ト リ ガで き ます。 コ ン フ ィ ギ ュ レ ーシ ョ ン メ モ リ の ク リ ア (手順 2、 初期化) ᚻ㗅 1 2 3 䊂䊋䉟䉴䈱 㔚Ḯᛩ 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊜䊝䊥 䈱䉪䊥䉝 䊝䊷䊄㩷䊏䊮䈱 ⺒䉂ㄟ䉂 4 5 6 หᦼൻ 䊂䊋䉟䉴 ID 䈱䉼䉢䉾䉪 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊂䊷䉺䈱 ⺒䉂ㄟ䉂 7 8 CRC 䉼䉢䉾䉪 䉴䉺䊷䊃䉝䉾䊒㩷 䉲䊷䉬䊮䉴 䊎䉾䊃䉴䊃䊥䊷䊛 䈱⺒䉂ㄟ䉂 ⸳ቯ 㐿ᆎ ⚳ੌ UG191_c1_04_050406 図 1-5 : 初期化 (手順 2) 28 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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) ᚻ㗅 1 2 3 4 5 6 7 䊂䊋䉟䉴䈱 㔚Ḯᛩ 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊜䊝䊥 䈱䉪䊥䉝 䊝䊷䊄㩷䊏䊮䈱 ⺒䉂ㄟ䉂 หᦼൻ 䊂䊋䉟䉴 ID 䈱䉼䉢䉾䉪 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊂䊷䉺䈱 ⺒䉂ㄟ䉂 CRC 䉼䉢䉾䉪 8 䉴䉺䊷䊃䉝䉾䊒㩷 䉲䊷䉬䊮䉴 䊎䉾䊃䉴䊃䊥䊷䊛 䈱⺒䉂ㄟ䉂 ⸳ቯ 㐿ᆎ ⚳ੌ UG191_c1_05_050406 図 1-6 : モー ド ピ ンのサン プル (手順 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 に、 初期化お よ び コ ン フ ィ ギ ュ レーシ ョ ンの遅延に関連す る 信号を示 し ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 29 R 第 1 章 : コ ン フ ィ ギ ュ レーシ ョ ンの概要 表 1-11 : 初期化および コ ン フ ィ ギ ュ レーシ ョ ンの遅延に関連する信号 信号名 PROGRAM_B INIT_B タ イプ ア ク セス (1) 説明 入力 PROGRAM_B ピ ン を介 し て 外部か ら ア ク セ ス可能 グ ロ ーバルな 非同期チッ プ リ セッ ト 。 Low に保持 する こ と によ り コ ン フ ィ ギ ュ レ ーシ ョ ン を 遅延で き ま す。 入力、 出力、 ま たは オープン ド レイン INIT_B ピ ン を 介 し て外部か モー ド ピ ン が読み込ま れ る 前は入力であ り 、 Low に保持す る こ と に よ り コ ン フ ィ ギ ュ レ ーシ ョ ン を 遅延で き ます。 ら ア ク セ ス可能 モー ド ピ ンが読み込まれた後は、オープン ド レ イ ン の ア ク テ ィ ブ Low 出力で、 コ ン フ ィ ギ ュ レ ー シ ョ ン 中の CRC エ ラ ー ま たは コ ン フ ィ ギ ュ レ ー シ ョ ン 後の リ ー ド バ ッ ク CRC エ ラ ーの有無 を 示 し ます。 0 = CRC エ ラ ー 1 = CRC エ ラ ーな し (外部プルア ッ プが必要) INIT_COMPLETE MODE_STATUS[2:0] ス テータ ス (2) ス テー タ ス Virtex-5 ス テー タ ス レ ジ ス タ INIT_B 信号が内部で解放さ れている かど う かを 示 を介 し て ア ク セ ス 可能な内部 信号 し ま す。 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. タ イ プが ス テー タ ス の場合は、 それに対応す る ピ ン を持た ない、 内部にあ る ス テー タ ス 信号です。 ビ ッ ト ス ト リ ームの読み込み (手順 4 ~ 7) ビ ッ ト ス ト リ ームの読み込みプ ロ セ スは、すべての コ ン フ ィ ギ ュ レーシ ョ ン モー ド で類似 し てい ま す。 主な違いは、 コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク への イ ン タ ーフ ェ イ ス です。 こ れ ら の違いに関 す る 詳細は、 第 2 章 「コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス」 で説明 し ます。 ビ ッ ト ス ト リ ームの読み込みで最 も 重要な手順は、 バ ス幅の自動検出 (SelectMAP お よ び BPI モー ド の場合、 「バ ス幅の自動検出」 を参照)、 同期化、 デバ イ ス ID の確認、 コ ン フ ィ ギ ュ レ ーシ ョ ン デー タ の読み込み、 CRC チ ェ ッ ク です。 各手順で、 コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム の 異な る 部分を使用 し ます。 30 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン シーケ ン ス 同期化 (手順 4) ᚻ㗅 1 2 3 䊂䊋䉟䉴䈱 㔚Ḯᛩ 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊜䊝䊥 䈱䉪䊥䉝 䊝䊷䊄㩷䊏䊮䈱 ⺒䉂ㄟ䉂 4 5 6 หᦼൻ 䊂䊋䉟䉴 ID 䈱䉼䉢䉾䉪 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊂䊷䉺䈱 ⺒䉂ㄟ䉂 7 8 CRC 䉼䉢䉾䉪 䉴䉺䊷䊃䉝䉾䊒㩷 䉲䊷䉬䊮䉴 䊎䉾䊃䉴䊃䊥䊷䊛 䈱⺒䉂ㄟ䉂 㐿ᆎ ⚳ੌ UG191_c1_06_050406 図 1-7 : 同期化 (手順 4) BPI-Up、 BPI-Down、 ス レーブ SelectMAP、 お よ びマ ス タ SelectMAP モー ド では、 バ ス幅が最初 に検出 さ れ る 必要があ り ます ( 「バ ス幅の自動検出」 を参照)。 ス レーブ シ リ アル、マ ス タ シ リ アル、 SPI、 お よ び JTAG モー ド では、 バ ス幅検出パ タ ーンは無視 さ れ ます。 バ ス幅検出シーケ ン ス の次 に、 32 ビ ッ ト の特別な同期 ワー ド (0xAA995566) が コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク に送信 さ れ る必要があ り ます。 同期ワ ー ド は、 デバ イ ス に コ ン フ ィ ギ ュ レーシ ョ ン デー タ が送信 さ れて く る こ と を知 ら せ、 内部の コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク が コ ン フ ィ ギ ュ レ ーシ ョ ン デー タ に揃 う よ う に し ます。 「バ ス幅自動検出」 シーケ ン ス を除 き 、 コ ン フ ィ ギ ュ レーシ ョ ン入力ピ ンに供給 さ れ る 同期ワ ー ド よ り 前のデー タ はすべて無視 さ れます。 BitGen ソ フ ト ウ ェ アで生成 さ れたすべての コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム (BIT フ ァ イ ル) には、 バ ス幅検出パ タ ーン と 同期 ワ ー ド が共に含ま れてお り 、 同期が行われてい る こ と は通 常ユーザーか ら は見え ない よ う にな っ てい ます。 表 1-12 に同期化に関連 し た信号を示 し ます。 表 1-12 : 同期に関連する信号 信号名 タ イプ 編集モー ド 説明 DALIGN ス テー タ ス SelectMAP イ ン タ ー フ ェ イ ス で ABORT シー ケ ン ス 中に のみ使用可能 (64 ペー ジ の 「コ ン フ ィ ギ ュ レーシ ョ ンの ABORT シーケ ン ス」 を参照) デバ イ ス が同期 さ れて い る か ど う か を 示 し ます。 IWIDTH ス テー タ ス Virtex-5 ス テー タ ス レ ジ ス タ を介 し てのみア ク セ ス 検出 さ れたバ ス幅を示 し ます。 さ れ る 内部信号(1) 00 = x1 01 = x8 10 = x16 11 = x32 ICAP が有効 な場合、 こ の信号は コ ン フ ィ ギ ュ レ ーシ ョ ン完了後に ICAP 幅 を示 し ます。 メモ : 1. Virtex-5 ス テー タ ス レ ジ ス タ については、 表 6-9 を参照 し て く だ さ い。 JTAG を使用 し てデバ イ ス の ス テー タ ス レ ジ ス タ にア ク セ ス す る 場合の詳細は表 7-5 を、 SelectMAP を使用 し た ア ク セ ス の詳細は表 7-1 を参照 し て く だ さ い。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 31 R 第 1 章 : コ ン フ ィ ギ ュ レーシ ョ ンの概要 デバイ ス ID の確認 (手順 5) ᚻ㗅 1 2 䊂䊋䉟䉴䈱 㔚Ḯᛩ 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊜䊝䊥 䈱䉪䊥䉝 3 䊝䊷䊄㩷䊏䊮䈱 ⺒䉂ㄟ䉂 4 5 6 หᦼൻ 䊂䊋䉟䉴 ID 䈱䉼䉢䉾䉪 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊂䊷䉺䈱 ⺒䉂ㄟ䉂 7 8 CRC 䉼䉢䉾䉪 䉴䉺䊷䊃䉝䉾䊒㩷 䉲䊷䉬䊮䉴 䊎䉾䊃䉴䊃䊥䊷䊛 䈱⺒䉂ㄟ䉂 㐿ᆎ ⚳ੌ UG191_c1_07_050406 図 1-8 : デバイ ス 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-13 : Virtex-5 デバイ ス ID コ ー ド ID コ ー ド (16 進数) デバイ ス 32 リ ビジ ョ ン コー ド プ ラ ッ ト フ ォ ーム、 ア レ イ、 および会社 コ ー ド 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 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン シーケ ン ス 表 1-13 : Virtex-5 デバイ ス ID コ ー ド (続き ) ID コ ー ド (16 進数) デバイ ス リ ビジ ョ ン コー ド プ ラ ッ ト フ ォ ーム、 ア レ イ、 および会社 コ ー ド 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 確認に関連する信号 信号名 ID_Err タ イプ ア ク セス (1) 説明 ス テー タ ス Virtex-5 ス テ ー タ ス レ ジ ビ ッ ト ス ト リ ー ム で指定 さ れ たデバ イ ス ID と 実際のデバ イ ス ID の不一 致を示 し ます。 ス タ を 介 し てのみア ク セ ス さ れ る 内部信号 メモ : 1. Virtex-5 ス テー タ ス レ ジ ス タ については、 表 6-9 を参照 し て く だ さ い。 JTAG を使用 し てデバ イ ス の ス テー タ ス レ ジ ス タ にア ク セ スす る 場合の詳細は表 7-5 を、 SelectMAP を使用 し た ア ク セ ス の詳細は表 7-1 を参照 し て く だ さ い。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 33 R 第 1 章 : コ ン フ ィ ギ ュ レーシ ョ ンの概要 コ ン フ ィ ギ ュ レ ーシ ョ ン デー タ フ レ ームの読み込み (手順 6) ᚻ㗅 1 2 3 䊂䊋䉟䉴䈱 㔚Ḯᛩ 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊜䊝䊥 䈱䉪䊥䉝 䊝䊷䊄㩷䊏䊮䈱 ⺒䉂ㄟ䉂 4 5 6 หᦼൻ 䊂䊋䉟䉴 ID 䈱䉼䉢䉾䉪 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊂䊷䉺䈱 ⺒䉂ㄟ䉂 7 8 CRC 䉼䉢䉾䉪 䉴䉺䊷䊃䉝䉾䊒㩷 䉲䊷䉬䊮䉴 䊎䉾䊃䉴䊃䊥䊷䊛 䈱⺒䉂ㄟ䉂 㐿ᆎ ⚳ੌ UG191_c1_08_050406 図 1-9 : コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ レームの読み込み (手順 6) 同期ワ ー ド が読み込まれてデバ イ ス ID が確認 さ れ る と 、 コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ レーム が読み込 ま れ ます。 通常、 こ のプ ロ セ ス はユーザーか ら は見え ない よ う にな っ てい ます。 詳細は、 第 6 章 「 コ ン フ ィ ギ ュ レーシ ョ ンの詳細」 を参照 し て く だ さ い。 CRC (Cyclic Redundancy Check) (手順 7) ᚻ㗅 1 2 3 䊂䊋䉟䉴䈱 㔚Ḯᛩ 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊜䊝䊥 䈱䉪䊥䉝 䊝䊷䊄㩷䊏䊮䈱 ⺒䉂ㄟ䉂 4 5 6 หᦼൻ 䊂䊋䉟䉴 ID 䈱䉼䉢䉾䉪 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊂䊷䉺䈱 ⺒䉂ㄟ䉂 7 8 CRC 䉼䉢䉾䉪 䉴䉺䊷䊃䉝䉾䊒㩷 䉲䊷䉬䊮䉴 䊎䉾䊃䉴䊃䊥䊷䊛 䈱⺒䉂ㄟ䉂 㐿ᆎ ⚳ੌ UG191_c1_09_050406 図 1-10 : 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 チ ェ ッ ク の コ マン 34 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン シーケ ン ス ド を含む) が認識 さ れません。 こ の よ う な状況では、 CRC が無視 さ れて DONE が Low、 INIT_B が High にな る ため、 コ ン フ ィ ギ ュ レーシ ョ ン が完了 し な く な り ま す。 BPI モー ド では、 ア ド レ ス カ ウ ン タ で最終的にオーバーフ ロ ーま たはア ン ダーフ ロ ーが発生 し て ラ ッ プア ラ ウ ン ド が起 こ り 、 こ れに よ っ て フ ォールバ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ンが ト リ ガ さ れます (159 ページの 「フ ォール バ ッ ク マルチブー ト 」 を参照)。 ス タ ー ト ア ッ プ (手順 8) ᚻ㗅 1 2 3 䊂䊋䉟䉴䈱 㔚Ḯᛩ 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊜䊝䊥 䈱䉪䊥䉝 䊝䊷䊄㩷䊏䊮䈱 ⺒䉂ㄟ䉂 4 5 6 หᦼൻ 䊂䊋䉟䉴 ID 䈱䉼䉢䉾䉪 䉮䊮䊐䉞䉩䊠䊧䊷 䉲䊢䊮㩷䊂䊷䉺䈱 ⺒䉂ㄟ䉂 7 8 CRC 䉼䉢䉾䉪 䉴䉺䊷䊃䉝䉾䊒㩷 䉲䊷䉬䊮䉴 䊎䉾䊃䉴䊃䊥䊷䊛 䈱⺒䉂ㄟ䉂 㐿ᆎ ⚳ੌ UG191_c1_10_050406 図 1-11 : ス タ ー ト ア ッ プ シーケ ン ス (手順 8) コ ン フ ィ ギ ュ レーシ ョ ン フ レーム の読み込み後、 ス タ ー ト ア ッ プ シーケ ン ス の開始命令が ビ ッ ト ス ト リ ー ム か ら デバ イ ス に発行 さ れ ま す。 ス タ ー ト ア ッ プ シーケ ン ス は、 8 フ ェ ーズ ( フ ェ ーズ 0 ~ 7) のシーケ ン シ ャ ル ス テー ト マシ ン で制御 さ れ ます。 こ の ス タ ー ト ア ッ プ シーケ ン ス では、 表 1-15 に示す タ ス ク が実行 さ れます。 表 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) を アサー ト する ス タ ー ト ア ッ プ イ ベン ト の順序 (EOS のアサー ト を除 く ) は、 BitGen オプシ ョ ンの設定に よ っ て、 プ ロ グ ラ ム可能です ( 『開発シ ス テ ム リ フ ァ レ ン ス ガ イ ド 』 を参照)。 表 1-15 はス タ ー ト ア ッ プ イ ベン ト の一般的な順序を示 し ますが、こ れ ら の順序はユーザーがプ ロ グ ラ ムで き ます ( ただ し 、EOS のアサー ト は常に最後)。 ス タ ー ト ア ッ プ オプシ ョ ンのガ イ ド ラ イ ンは、第 2 章 「 コ ン フ ィ ギ ュ レー シ ョ ン イ ン タ ーフ ェ イ ス」 を参照 し て く だ さ い。 表 1-16 に、 デフ ォ ル ト 設定での ス タ ー ト ア ッ プ イ ベン ト を示 し ます。 表 1-16 : ス タ ー ト ア ッ プ イ ベン ト のデ フ ォル ト BitGen シーケン ス フ ェ ーズ イ ベン ト 5 GTS を無効に し 、 I/O を有効にする 4 DONE ピ ン を解放す る 6 GWE を アサー ト し 、 RAM と フ リ ッ プ フ ロ ッ プの状態を変更可能にす る 7 EOS を アサー ト す る Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 35 R 第 1 章 : コ ン フ ィ ギ ュ レーシ ョ ンの概要 適切な BitGen オプシ ョ ン を使用す る と 、 ス タ ー ト ア ッ プ シーケ ン ス で DCM が ロ ッ ク す る ま で、 ま たは DCI が一致す る ま で待機 さ せ る こ と がで き ます。 こ れ ら のオプシ ョ ンに よ り 、 DCM の ロ ッ ク あ る いは DCI の一致のいずれか、 ま たはその両方が完了す る 前に、 DONE、 GTS、 お よ び GWE がアサー ト さ れない よ う に設定 さ れます。 DONE 信号は、 ス タ ー ト ア ッ プ シーケ ン ス に よ り ユーザーが指定 し たサ イ ク ルで解放 さ れますが、 実際に DONE ピ ンが High にな る ま で、ス タ ー ト ア ッ プ シーケ ン スは続行 さ れません。 デフ ォ ル ト では、 DONE ピ ンはオープン ド レ イ ンの双方向信号です。 DONE ピ ンが解放 さ れ る と 、 Low に駆 動 さ れな く な り 、 ピ ンがハ イ イ ン ピーダ ン ス にな り ます。 こ の場合に DONE ピ ン を ロ ジ ッ ク High に駆動す る には、 外部プルア ッ プ抵抗が必要です。 表 1-17 に ス タ ー ト ア ッ プ シーケ ン ス に関連 し た信号を示 し 、 図 1-12 に波形を示 し ます。 表 1-17 : ス タ ー ト ア ッ プ シーケン スに関連する信号 信号名 タ イプ ア ク セス (1) 説明 双方向 (2) DONE ピ ン ま たは Virtex-5 ス テー タ ス Low に保持 し 、 ス タ ー ト ア ッ プを ほかの FPGA と 同期 さ せ る こ DONE コ ン フ ィ ギ ュ レ ーシ ョ ン が完了 し た こ と を 示 し ま す。 外部か ら と がで き ます。 レジス タ Release_DONE デバ イ ス で DONE ピ ンの Low 駆動を停止 し たか ど う か を示 し ま す。 ピ ン を外部か ら Low に保持 し た場合、 Release_DONE と 実 際の DONE ピ ン上の値が異な る 可能性があ り ます。 GWE グ ロ ーバル ラ イ ト イ ネーブル (GWE)。 デ ィ アサー ト さ れ る と 、 FPGA の CLB、 IOB フ リ ッ プ フ ロ ッ プ、 お よ びその他の同期エ レ メ ン ト が無効にな り ます。 GTS ス テー タ ス EOS Virtex-5 ス テー タ ス グ ロ ーバル ト ラ イ ス テー ト (GTS)。 アサー ト さ れ る と 、 コ ン フ ィ ギ ュ レーシ ョ ン ピ ン を除 く 、すべての I/O ド ラ イ バが無効にな り ます。 レジス タ 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 オプシ ョ ン の設定に よ り ド ラ イ バ と し て機能 し ます。 36 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R ビ ッ ト ス ト リ ーム暗号化 POR INIT_B DONE GWE GTS EOS CCLK ೋᦼൻ 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮 䊎䉾䊃䉴䊃䊥䊷䊛䈱ᦨᓟ 䉴䉺䊷䊃䉝䉾䊒 UG191_c1_11_080305 図 1-12 : コ ン フ ィ ギ ュ レーシ ョ ン信号のシーケ ン ス (デ フ ォル ト 設定でのス タ ー ト ア ッ プの場合) ビ ッ ト ス ト リ ーム暗号化 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 の よ う な対称暗号化アルゴ リ ズ ム では、 暗号化 と 復号化に同一の キーが使用 さ れ ます。 し た がっ て、 デー タ の安全性はキーの安全性に依存 し てい ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 37 R 第 1 章 : コ ン フ ィ ギ ュ レーシ ョ ンの概要 暗号化 さ れた ビ ッ ト ス ト リ ームの作成 ザ イ リ ン ク ス 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 が 保持 さ れていれば、 こ れ ら の イ ベン ト に よ っ てキーが リ セ ッ ト さ れ る こ と はあ り ません。 38 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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 Switching Characteristics』 の VBATT DC 特性お よ びバ ッ テ リ の仕様書を参照 し て く だ さ い。 100nA 未満の負 荷では、 バ ッ テ リ の使用可能期間はそれ自体の寿命にのみ依存 し ます。 VBATT に電流は流れないため、VCCAUX か ら 電源を供給中に切断で き ます。 VCCAUX を切断 し た場 合、 VBATT は暗号化キーの保持以外には使用で き ません。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 39 R 40 第 1 章 : コ ン フ ィ ギ ュ レーシ ョ ンの概要 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R 第2章 コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス Virtex®-5 デバ イ ス には、6 つの コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス があ り ます。 表 2-1 に示 す よ う に、各 イ ン タ ーフ ェ イ スは 1 つ以上の コ ン フ ィ ギ ュ レーシ ョ ン モー ド お よ びバ ス幅に対応 し ます。 表 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) のボー ド レ イ ア ウ ト 」 セ ク シ ョ ン を参照 し て く だ さ い。 シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン モー ド の場合、 CCLK の 1 サ イ ク ルご と に 1 コ ン フ ィ ギ ュ レー シ ョ ン ビ ッ ト を読み込む こ と に よ り 、 FPGA が コ ン フ ィ ギ ュ レーシ ョ ン さ れます。 • マ ス タ シ リ アル モー ド では、 CCLK は出力です。 • ス レーブ シ リ アル モー ド では、 CCLK は入力です。 図 2-1 に、 Virtex-5 の基本的なシ リ アル コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス を示 し ます。 シ リ アル モー ド で FPGA を コ ン フ ィ ギ ュ レーシ ョ ンす る 場合、 次の 4 つのモー ド があ り ます。 • マ ス タ シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン • ス レーブ シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン • シ リ アル デ イ ジー チ ェ ーン コ ン フ ィ ギ ュ レーシ ョ ン • ギ ャ ン グ シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 41 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス M[2:0] DOUT D_IN INIT_B PROGRAM_B DONE CCLK UG191_c2_01_072407 図 2-1 : Virtex-5 FPGA のシ リ アル コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 表 2-2 で、 シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス の ピ ンについて説明 し ます。 表 2-2 : Virtex-5 FPGA のシ リ アル コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス ピ ン タ イプ 専用または 多目的 M[2:0] 入力 専用 CCLK 入力ま たは 出力 専用 D_IN 入力 専用 シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン デー タ 入力 で、 CCLK の立ち上が り エ ッ ジに同期 し ます。 DOUT_BUSY 出力 専用 デ イ ジー チ ェーンの下位デバ イ ス のシ リ アル デー タ 出力。 ピ ン名 DONE INIT_B 双方向、 オープン ド レ イ ン、 ま たは アク ティ ブ 入力ま たは 出力、 オープン ド レイ ン 説明 コ ン フ ィ ギ ュ レーシ ョ ン モー ド を決定す る モー ド ピ ン。 JTAG を除 く 、 すべての コ ン フ ィ ギ ュ レーシ ョ ン モー ド の コ ン フ ィ ギ ュ レーシ ョ ン ク ロ ッ ク ソ ース。 コ ン フ ィ ギ ュ レーシ ョ ンの完了を示すア ク テ ィ ブ High の信号。 専用 0 = FPGA コ ン フ ィ ギ ュ レーシ ョ ン未完了 1 = FPGA コ ン フ ィ ギ ュ レーシ ョ ン完了 ソ フ ト ウ ェ ア設定については、 『開発シ ス テ ム リ フ ァ レ ン ス ガ イ ド 』 の 「BitGen」 を参照 し て く だ さ い。 モー ド ピ ン を読み込む前は入力で、 Low に保持 する こ と に よ っ て コ ン フ ィ ギ ュ レーシ ョ ン を遅 延 さ せ る こ と がで き ます。 専用 モード ピ ン を 読み込んだ後は、 オープン ド レ イ ン のアク ティ ブ Low 出力になり 、 コ ン フ ィ ギュ レ ーショ ン 中の CRC エラ ーの有無を 示し ま す。 0 = CRC エ ラ ー 1 = CRC エ ラ ーな し PROGRAM_B 42 入力 専用 japan.xilinx.com ア ク テ ィ ブ Low の非同期フルチ ッ プ リ セ ッ ト 。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス シ リ アル コ ン フ ィ ギ ュ レ ーシ ョ ン デー タ の ク ロ ッ ク 図 2-2 に、 ス レーブ/ マ ス タ シ リ アル モー ド の Virtex-5 への、 コ ン フ ィ ギ ュ レーシ ョ ン デー タ の ク ロ ッ ク シーケ ン ス を示 し ます。 PROGRAM_B INIT_B 䈖䈖䈎䉌䊙䉴䉺 CLK 㐿ᆎ(2) CCLK BIT 0(1) 䊙䉴䉺 D_IN BIT 1 BIT n BIT n+1 䊙䉴䉺 DOUT / 䉴䊧䊷䊑 D_IN BIT n-64 BIT n-63 CCLK 䈱┙䈤䈏䉍䉣䉾䉳䈪䊂䊷䉺㩷䊎䉾䊃䉕ଏ⛎ DONE UG191_c2_02_072407 図 2-2 : シ リ アル コ ン フ ィ ギ ュ レーシ ョ ンの ク ロ ッ ク シーケン ス 次に、 図 2-2 について説明 し ます。 1. ビ ッ ト 0 は、 最初のバ イ ト の MSB です。 た と えば最初のバ イ ト が 0xAA (1010_1010) の場 合、 ビ ッ ト 0 = 1、 ビ ッ ト 1 = 0、 ビ ッ ト 2 = 1 と な り ます。 2. マ ス タ コ ン フ ィ ギ ュ レーシ ョ ン モー ド の場合、 矢印で示す よ う に、 CCLK はモー ド ピ ンの読 み込みが完了す る ま で遷移 し ません。 3. ス レーブ シ リ アル モー ド の場合、 CCLK はフ リ ー ラ ン ニ ン グにな り ます。 マス タ シ リ アル コ ン フ ィ ギ ュ レ ーシ ョ ン 図 2-3 に示す よ う に、マ ス タ シ リ アル モー ド では、ザ イ リ ン ク ス の コ ン フ ィ ギ ュ レーシ ョ ン PROM か ら FPGA を コ ン フ ィ ギ ュ レーシ ョ ンで き ます。 Xilinx Platform Flash PROM M0 (7) M1 M2 DATA D_IN CLK CCLK CE RESET/OE (7) CF (1) 4.7 kΩ DOUT Virtex-5 Master Serial (2) 4.7 kΩ 330Ω PROGRAM_B DONE PROGRAM_B INIT_B UG191_c2_03_041808 図 2-3 : マス タ シ リ アル モー ド のコ ン フ ィ ギ ュ レーシ ョ ン Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 43 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 次に、 図 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 お よ び XCFP PROM でのみ使用可能です。 ス レ ーブ シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン ス レーブ シ リ アル コ ン フ ィ ギ ュ レーシ ョ ンは、 通常、 シ リ アル デ イ ジー チ ェ ーン接続 し た複数デ バ イ ス を コ ン フ ィ ギ ュ レーシ ョ ンす る と き 、ま たは外部マ イ ク ロ プ ロ セ ッ サ /CPLD か ら 単一デバ イ ス を コ ン フ ィ ギ ュ レ ーシ ョ ンす る と き に使用 し ま す。 ス レ ーブ シ リ アル コ ン フ ィ ギ ュ レ ーシ ョ ン で考慮すべ き 点は、 CCLK の方向を除いて、 マ ス タ シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン と 同様です。 CCLK は外部の ク ロ ッ ク ソ ース か ら 駆動す る 必要があ り ます。 シ リ アル デ イ ジー チ ェ ーン デバ イ ス を シ リ アル デ イ ジー チ ェ ーン接続す る と 、 単一 コ ン フ ィ ギ ュ レーシ ョ ン ソ ース か ら 複数 の Virtex-5 デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン が可能にな り ます。 シ リ アル デ イ ジー チ ェ ーン で は、 デバ イ ス は D_IN ピ ン で コ ン フ ィ ギ ュ レーシ ョ ン デー タ を受信 し 、 DOUT ピ ンか ら 受信 し た コ ン フ ィ ギ ュ レ ーシ ョ ン デー タ を 下位デバ イ ス へ伝搬 し ま す。 コ ン フ ィ ギ ュ レ ーシ ョ ン デー タ ソ ース に最 も 近いデバ イ ス を最上位デバ イ ス、 ソ ース か ら 最 も 遠いデバ イ ス を最下位デバ イ ス と 呼 びます。 シ リ アル デ イ ジー チ ェ ーン の場合、 コ ン フ ィ ギ ュ レ ーシ ョ ン ク ロ ッ ク は、 通常マ ス タ シ リ アル モー ド の最上位デバ イ ス か ら 供給 さ れます。 その他すべてのデバ イ スは、ス レーブ シ リ アル モー ド に設定 さ れます。 図 2-4 に、 こ の コ ン フ ィ ギ ュ レーシ ョ ン を示 し ます。 最初のデバ イ ス に SPI モー ド を使用す る 方法 も あ り ます。 SPI モー ド の場合 も 、 デ イ ジー チ ェ ーン のデー タ は DOUT か ら 出力 さ れます。 44 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス Xilinx Platform Flash PROM M0 M0 M1 M1 (7) M2 M2 DATA D_IN CLK CCLK CE DOUT D_IN CCLK Virtex-5 FPGA Master Serial RESET/OE CF PROGRAM_B DONE PROGRAM DOUT INIT_B (7) 4.7 kΩ (2) Virtex-5 FPGA Slave Serial (1) 330Ω PROGRAM_B DONE INIT_B UG191_c2_04_041808 図 2-4 : マス タ / ス レーブ シ リ アル モー ド のデ イ ジー チ ェ ーン コ ン フ ィ ギ ュ レーシ ョ ン 次に、 図 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 ピ ン の解放 フ ェ ーズか ら 移行 し 、 ス タ ー ト ア ッ プ シーケ ン ス が完了 し ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 45 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス ス レーブ シ リ アル デ イ ジー チ ェーンのすべての 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 に示す各デバ イ ス フ ァ ミ リ の制限値を超え ない よ う に し て く だ さ い。 表 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 シ リ アル デ イ ジー チ ェ ー ンのガ イ ド ラ イ ン お よび考慮事項 シ リ アル デ イ ジー チ ェ ーンの場合、 考慮すべ き 項目が多数あ り ます。 ス タ ー ト ア ッ プ シーケ ン ス (GTS) GTS の リ リ ース は、 DONE のサ イ ク ル よ り 前ま たは同 じ サ イ ク ルで行い、 すべての DONE ピ ンが リ リ ース さ れた と き に Virtex-5 デバ イ ス が確実に動作を開始で き る よ う に し ます。 ア ク テ ィ ブ DONE ド ラ イバ 最初のデバ イ ス を 除 く デバ イ ス すべて の DONE ピ ン の ド ラ イ バ を 有効に し て く だ さ い ( ソ フ ト ウ ェ ア設定については、 『開発シ ス テ ム リ フ ァ レ ン ス ガ イ ド 』 の 「BitGen」 を参照)。 チ ェ ーン の 最初のデバ イ ス が最後にプ ロ グ ラ ム さ れます。 • DriveDone デ ィ ス エーブル (最初のデバ イ ス以外すべて ) • DriveDone イ ネーブル (最初のデバ イ ス ) ま た、 すべての DONE ピ ンの ド ラ イ バを無効に し 、 外部プルア ッ プ抵抗を追加 し て、 すべてのデ バ イ ス が DONE ピ ン を リ リ ース し た後に信号を High にプルア ッ プす る 方法 も あ り ます。 46 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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 ま たは外部 コ ン フ ィ ギ ュ レーシ ョ ン コ ン ト ロー ラ で実行 さ れます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 47 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス M1 Xilinx Platform PROM M0 M2 Virtex-5 FPGA SelectMAP D[0:7] Master DATA[0:7] CCLK CCLK PROGRAM_B CF BUSY CE RESET/OE INIT_B RDWR_B (1) CS_B DONE M1 M0 M2 (10) Virtex-5 FPGA SelectMAP D[0:7] Slave CCLK PROGRAM_B (2) BUSY INIT_B (10) RDWR_B CS_B DONE ug191_c2_09_090408 図 2-5 : ギ ャ ン グ シ リ アル コ ン フ ィ ギ ュ レーシ ョ ン 次に、 図 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) のボー ド レ イ ア ウ ト 」 を参照 し て く だ さ い。 48 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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 フ ァ イ ルに関す る ガ イ ド ラ イ ンは特にあ り ません。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 49 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス SelectMAP コ ン フ ィ ギ ュ レ ーシ ョ ン イ ン タ ーフ ェ イ ス (図 2-6) は、 コ ン フ ィ ギ ュ レーシ ョ ンお よ び リ ー ド バ ッ ク 用に Virtex-5 の コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク に接続す る 8 ビ ッ ト 、16 ビ ッ ト 、 32 ビ ッ ト の双方向バ ス イ ン タ ー フ ェ イ ス です。 (詳細は、 第 7 章 「 リ ー ド バ ッ ク お よ び コ ン フ ィ ギ ュ レーシ ョ ンの検証」 を参照)。 SelectMAP のバ ス幅は自動的に検出 さ れます ( 「バ ス幅の自動検 出」 を参照)。 CCLK は、 マ ス タ SelectMAP モー ド では出力、 ス レーブ SelectMAP モー ド では入力にな り ます。 SelectMAP バ ス を使用 し 、 複数の Virtex-5 デバ イ ス を コ ン フ ィ ギ ュ レーシ ョ ンで き ます。 SelectMAP モー ド での FPGA コ ン フ ィ ギ ュ レーシ ョ ンには、 次の 4 つの方法があ り ます。 • 単一デバ イ ス マ ス タ SelectMAP • 単一デバ イ ス ス レーブ SelectMAP • 複数デバ イ ス の SelectMAP バ ス • 複数デバ イ ス のギ ャ ン グ SelectMAP M[2:0] BUSY D[31:0] INIT_B PROGRAM_B CSO_B RDWR_B CS_B DONE CCLK UG191_c2_10_072407 図 2-6 : Virtex-5 SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 表 2-4 で、 SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス の ピ ンについて説明 し ます。 表 2-4 : Virtex-5 SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス ピ ン タ イプ 専用または 多目的 説明 M[2:0] 入力 専用 コ ン フ ィ ギ ュ レーシ ョ ン モー ド を決定す る モー ド ピ ン。 CCLK 入力およ び 出力 専用 D[31:0] ト ライ ス テー ト 双方向 ピ ン名 50 JTAG を除 く 、すべての コ ン フ ィ ギ ュ レーシ ョ ン 多目的 japan.xilinx.com モー ド の コ ン フ ィ ギ ュ レーシ ョ ン ク ロ ッ ク ソ ース。 コ ン フ ィ ギ ュ レーシ ョ ンお よ び リ ー ド バ ッ ク バ ス。 CCLK の立ち上が り エ ッ ジでデー タ が供給 さ れます。 「パ ラ レ ル バ ス のビ ッ ト 順」 お よ び表 1-2 を参照 し て く だ さ い。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 表 2-4 : Virtex-5 SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス ピ ン (続き ) ピ ン名 タ イプ BUSY ト ライ ス テー ト 出力 DONE 双方向 オープン ド レイ ンまたは アク ティ ブ 専用または 多目的 説明 専用 デバ イ ス で リ ー ド バ ッ ク デー タ を送信す る 準備 がで き ていない こ と を示 し ます。 Virtex-5 デバ イ ス では、 リ ー ド バ ッ ク でのみ必要で、 コ ン フ ィ ギ ュ レーシ ョ ンでは必要あ り ません ( 「SelectMAP デー タ 読み込み」 を参照)。 専用 コ ン フ ィ ギ ュ レーシ ョ ンの完了を示すア ク テ ィ ブ High の信号。 0 = FPGA コ ン フ ィ ギ ュ レーシ ョ ン未完了 1 = FPGA コ ン フ ィ ギ ュ レーシ ョ ン完了 モー ド ピ ンが読み込まれ る 前は入力で、 Low に 保持す る こ と で コ ン フ ィ ギ ュ レーシ ョ ン を遅延 で き ます。 INIT_B 入力または出 力、 オープン ド レイ ン 専用 モード ピ ン が読み込ま れた 後は、 オープン ド レ イ ン のア ク テ ィ ブ Low 出力と な り 、 コ ン フ ィ ギ ュ レ ーシ ョ ン 中の CRC エラ ーの有無を 示し ま す。 0 = CRC エ ラ ー 1 = CRC エ ラ ーな し SEU 検出フ ァ ン ク シ ョ ンが有効の場合、 リ ー ド バ ッ ク CRC エ ラ ーが検出 さ れ る と Low に駆動 さ れます ( オプシ ョ ン )。 PROGRAM_B CS_B 入力 入力 専用 ア ク テ ィ ブ Low の非同期フルチ ッ プ リ セ ッ ト 。 専用 ア ク テ ィ ブ Low チ ッ プ セ レ ク ト で、 SelectMAP デー タ バ ス を有効に し ます ( 「SelectMAP デー タ 読み込み」 を参照)。 0 = SelectMAP デー タ バ ス は有効 1 = SelectMAP デー タ バ ス は無効 D[x:0] デー タ バ ス の方向を指定 し ます ( 「SelectMAP デー タ 読み込み」 を参照) 。 RDWR_B 入力 専用 0 = 入力 1 = 出力 CS_B がデ ィ アサー ト さ れてい る と き にのみ変更 で き 、 それ以外の場合に変更す る と ABORT が 発生 し ます ( 「SelectMAP の ABORT」 参照)。 CSO_B 出力 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 多目的 japan.xilinx.com パ ラ レル デ イ ジー チ ェーンのア ク テ ィ ブ Low チ ッ プ セ レ ク ト 出力。 FPGA が 1 つのアプ リ ケー シ ョ ンでは使用 さ れません。 51 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 単一デバイ スの SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン 高パ フ ォ ーマ ン ス Platform Flash XL SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン Platform Flash XL は、 高パフ ォーマン ス Virtex-5 FPGA コ ン フ ィ ギ ュ レーシ ョ ン用に最適化 さ れ てお り 、 簡単に使用で き ます。 Platform Flash XL には 128Mb の イ ン シ ス テ ム プ ロ グ ラ マブル フ ラ ッ シ ュ ス ト レージが組み込まれてお り 、 フ ッ ト プ リ ン ト の小 さ い FT64 パ ッ ケージ内に コ ン フ ィ ギ ュ レーシ ョ ンで き ます。パ ワーオン バース ト 読み出 し モー ド お よ び専用 I/O 電源に よ り 、Virtex-5 FPGA SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス と シーム レ ス に統合で き ます。 幅の 広い 16 ビ ッ ト のデー タ バ ス では、 FPGA コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム を待ち状態な し で最高 800Mb/s の速度で転送で き ま す。 図 2-7 に、 Virtex-5 FPGA の Platform Flash XL コ ン フ ィ ギ ュ レーシ ョ ン ソ リ ュ ーシ ョ ンの略図を示 し ます。 Virtex-5 FPGA Platform Flash XL FPGA 䊂䉱䉟䊮 (.bit) 䊐䉜䉟䊦 䊘䊷䊃 ᦨᄢ50MHz 䈱䉪䊨䉾䉪 SelectMAP READY_WAIT 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮 หᦼൻ䊊䊮䊄䉲䉢䊷䉪 䈱ᐢ䈇 (16 䊎䉾䊃) 䊂䊷䉺䊌䉴 ᦨ㜞 800Mb/s UG191_c2_28_051208 図 2-7 : Platform Flash XL によ る高パ フ ォ ーマ ン ス FPGA のコ ン フ ィ ギ ュ レーシ ョ ン Virtex-5 FPGA の コ ン フ ィ ギ ュ レーシ ョ ンでは、高速で コ ン フ ィ ギ ュ レーシ ョ ンす る ため、Platform Flash XL で 16 ビ ッ ト SelectMAP 機能が活用 さ れます。 ス レーブ SelectMAP モー ド で、 コ ン フ ィ ギ ュ レ ーシ ョ ン ク ロ ッ ク を 外部 フ リ ー ラ ン ニ ン グ オ シ レ ー タ で駆動す る と 、 コ ン フ ィ ギ ュ レ ー シ ョ ン時間が最短にな り ます。 Platform Flash XL の詳細は、 デー タ シー ト DS617 『Platform Flash XL 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 Flash XL の標準ア ド レ ス ピ ンお よ び制御ピ ン を対応す る FPGA BPI フ ラ ッ シ ュ イ ン タ ーフ ェ イ ス ピ ン に接続す る と 、 図 2-8 に示す よ う に、 iMPACT を使用 し て Platform Flash XL をプ ロ ト タ イ プ デザ イ ンのビ ッ ト ス ト リ ームで間接的にプ ロ グ ラ ムで き ます。 52 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス FPGA㩷䈱⋥ធ䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㪆䊂䊋䉾䉫 䈍䉋䈶㩷Platform Flash XL㩷䈱㑆ធ䊒䊨䉫䊤䊛↪ 䉲䊮䉫䊦㩷䉬䊷䊑䊦㩷䉮䊈䉪䉺 Virtex-5 FPGA IEEE 1149.1 (JTAG) 䊘䊷䊃 䉱䉟䊥䊮䉪䉴 JTAG 䉬䊷䊑䊦㩷䉮䊈䉪䉺 Platform Flash XL 䊒䊨䉫䊤䊛↪ 㑆ធ⊛䈭 䉟䊮䉲䉴䊁䊛㩷 䊒䊨䉫䊤䊛㩷 䉣䊮䉳䊮 BPI 䊐䊤䉾䉲䊠㩷 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷 䊘䊷䊃 FPGA 䊂䉱䉟䊮 (.bit) 䊐䉜䉟䊦 ᮡḰ NOR 䊐䊤䉾䉲䊠㩷 䉟䊮䉺䊷䊐䉢䉟䉴 Platform Flash XL ᓮ 䉝䊄䊧䉴 䊂䊷䉺㪆䉮䊙䊮䊄 Platform Flash XL 䊒䊨䉫䊤䊛↪ UG191_c2_29_051208 図 2-8 : Platform Flash XL の間接的なプ ログ ラ ム Virtex-5 FPGA の SelectMAP コ ン フ ィ ギ ュ レ ー シ ョ ン 設定の詳細お よ び iMPACT を 使用 し た Platform Flash XL の 間接 的 な プ ロ グ ラ ム に つ い て は、 『Platform Flash XL Configuration and Storage Device User Guide』 (UG438) を参照 し て く だ さ い。 プ ラ ッ ト フ ォ ーム フ ラ ッ シ ュ PROM の SelectMap コ ン フ ィ ギ ュ レーシ ョ ン SelectMAP モー ド の単一デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ンでは、 図 2-9 に示す よ う に、 コ ン フ ィ ギ ュ レ ーシ ョ ン PROM に直接接続す る 方法が最 も 単純です。 こ の方法では、 デバ イ ス はマ ス タ SelectMAP モー ド に設定 さ れ、継続的にデー タ の読み込みを実行す る ため RDWR_B お よ び CS_B ピ ンがグ ラ ン ド に接続 さ れてい ます ( 「SelectMAP デー タ読み込み」 を参照)。 Virtex-5 FPGA Master SelectMAP Xilinx Platform Flash PROM M2 M1 M0 (10) DATA[0:X] D[0:X] CCLK CCLK CF PROGRAM_B (10) (1) 330Ω (2) 4.7 kΩ CE DONE RESET/OE INIT_B RDWR_B CS_B UG191_c2_11_041808 図 2-9 : 単一デバイ スのマス タ SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 53 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 次に、 図 2-9 について説明 し ます。 1. DONE ピ ンは、デフ ォ ル ト では外部プルア ッ プ抵抗が必要なオープン ド レ イ ン出力です。 こ の 接続では、 ア ク テ ィ ブ DONE ド ラ イ バを有効にで き る ため、 外部プルア ッ プ抵抗は不要です。 INIT_B ピ ンは双方向オープ ン ド レ イ ン ピ ン で、 外部プルア ッ プ抵抗が必要です。 Platform Flash XL デ バ イ ス に 推奨 さ れ る 値 は、 デー タ シ ー ト DS617 『Platform Flash XL High-Density Configuration 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 コ ン フ ィ ギ ュ レーシ ョ ンは、 Platform Flash XCFS お よ び XCFP PROM でのみ使用可能です。 マ イ ク ロ プ ロ セ ッ サを使用 し た SelectMAP コ ン フ ィ ギ ュ レ ーシ ョ ン マ ク ロ プ ロ セ ッ サ ま たは CPLD を使用 し て 1 つの Virtex-5 デバ イ ス を コ ン フ ィ ギ ュ レーシ ョ ンす る カ ス タ ム アプ リ ケーシ ョ ンでは、 マ ス タ SelectMAP モー ド (FPGA か ら の CCLK を使用) ま た は ス レーブ SelectMAP モー ド を使用で き ますが (図 2-10 を参照)、 ス レーブ SelectMAP モー ド が 推奨 さ れ ま す。 マ イ ク ロ プ ロ セ ッ サ を使用 し た Virtex デバ イ ス の コ ン フ ィ ギ ュ レ ーシ ョ ン の詳細 は、 アプ リ ケーシ ョ ン ノ ー ト XAPP502 『Using a Microprocessor to Configure Xilinx FPGAs via Slave Serial or SelectMAP Mode』 を参照 し て く だ さ い。 CS_B、 RDWR_B お よ び BUSY 信号の 使用方法は、 こ のアプ リ ケーシ ョ ン ノ ー ト を参照 し て く だ さ い。 54 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス (7) ADDRESS PROGRAM_B 䊒䊨䉫䊤䊛㩷 䊧䉳䉴䉺 CS_B RDWR_B DATA CPLD CSO CCLK D[0:x] 䉮䊮䊐䉞䉩䊠 䊧䊷䉲䊢䊮㩷 䊧䉳䉴䉺 330Ω WE ജ 䊧䉳䉴䉺 OE (2) 4.7 kΩ (7) CS1 Virtex-5 䉴䊧䊷䊑 (3) SelectMAP INIT_B DONE BUSY 䊙䉟䉪䊨䊒䊨䉶䉾䉰 䊜䊝䊥 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷 䊎䉾䊃䉴䊃䊥䊷䊛䈱 ሽ䈮↪ UG191_c2_12_072407 図 2-10 : 単一デバイ スのス レーブ SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン ( マ イ ク ロ プ ロ セ ッ サおよび CPLD を使用) 次に、 図 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 章 「 リ ー ド バ ッ ク お よ び コ ン フ ィ ギ ュ レーシ ョ ンの検証」 を 参照)。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 55 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス リ ー ド バ ッ ク を実行 し ない場合は、 RDWR_B を Low に接続 し 、 BUSY を未接続にで き ます。 初期 の Virtex デバ イ ス と 異な り 、 Virtex-5 デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン時に、 BUSY 信号を モニ タ す る 必要はあ り ません。 詳細は、 第 1 章 の 「ビ ッ ト ス ト リ ームの読み込み (手順 4 ~ 7)」 お よ び 第 7 章 「 リ ー ド バ ッ ク お よ び コ ン フ ィ ギ ュ レーシ ョ ンの検証」 を参照 し て く だ さ い。 (6) DATA[7:0] CCLK WRITE BUSY (6) M1 M2 M1 M0 Virtex-5 Slave SelectMAP Virtex-5 Slave SelectMAP D[7:0] D[7:0] CCLK CCLK RDWR_B RDWR_B BUSY CS(0) 330Ω BUSY CS(1) CS_B (1) (2) 4.7 kΩ M2 M0 PROGRAM_B DONE CS_B PROGRAM_B INIT_B DONE INIT_B DONE INIT PROGRAM UG191_c2_13_072407 図 2-11 : 8 ビ ッ ト の SelectMAP バスを 使用し た複数のスレ ーブ デバイ スの コ ン フ ィ ギュ レ ーショ ン 次に、 図 2-11 について説明 し ます。 1. DONE ピ ンは、デフ ォ ル ト では外部プルア ッ プ抵抗が必要なオープン ド レ イ ン出力です。 こ の 接続では、 ア ク テ ィ ブ DONE ド ラ イ バを無効に し て く だ さ い。 2. INIT_B ピ ンは、 双方向オープ ン ド レ イ ン ピ ンで、 外部プルア ッ プ抵抗が必要です。 3. SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン では、 BitGen の ス タ ー ト ア ッ プ ク ロ ッ ク を CCLK に設 定す る 必要があ り ます。 4. リ ー ド バ ッ ク が不要な場合は、 BUSY 信号を未接続にで き ます。 5. コ ン フ ィ ギ ュ レーシ ョ ン を制御す る ため、マ イ ク ロ プ ロ セ ッ サ ま たは CPLD の よ う な外部 コ ン ト ロ ー ラ が必要です。 6. CCLK ネ ッ ト にはテブナン並列終端が必要です。 詳細は、 79 ページの 「 コ ン フ ィ ギ ュ レーシ ョ ン ク ロ ッ ク (CCLK) のボー ド レ イ ア ウ ト 」 を参照 し て く だ さ い。 7. デー タ バ ス は x8、 x16、 x32 にで き ます。 56 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス パ ラ レル デ イ ジー チ ェ ーン Virtex-5 FPGA の コ ン フ ィ ギ ュ レーシ ョ ンでは、パ ラ レル デ イ ジー チ ェ ーンがサポー ト さ れます。 図 2-12 に、 最初のデバ イ ス が BPI モー ド の例を示 し ます。 最初のデバ イ ス は、 マ ス タ あ る いは ス レ ーブ SelectMAP モー ド にで き ま す。 すべて のデバ イ ス 間では、 D[15:0]、 CCLK、 RDWR_B、 PROGRAM_B、 DONE、 INIT_B ピ ン が共有接続で、 CS_B ピ ンはデ イ ジー チ ェ ーン接続 さ れて A[25:0] D[15:0] Flash FCS_B FOE_B FWE_B BUSY CSO_B INIT_B DONE Virtex-5 FPGA A[25:0] D[15:0] FCS_B FOE_B FWE_B CCLK M2 M1 M0 1 0 0 BPI UP 330Ω 330Ω 330Ω 4.7 kΩ います。 BUSY CSO_B INIT_B DONE Virtex-5 FPGA D[15:0] CS_B RDWR_B CCLK M2 M1 M0 1 1 0 M[2:0]=Slave SelectMAP BUSY No CSO_B INIT_B Connect DONE Virtex-5 FPGA D[15:0] CS_B RDWR_B CCLK M2 M1 M0 1 1 0 M[2:0]=Slave SelectMAP UG191_c2_14_090808 図 2-12 : パ ラ レル デ イ ジー チ ェ ーン 次に、 図 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 モー ド でのみサポー ト さ れてい ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 57 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス ギ ャ ング SelectMAP ギャ ン グ SelectMAP コ ン フ ィ ギュ レ ーショ ン を 使用する こ と によ っ ても 、 1 つのコ ン フ ィ ギュ レ ー ショ ン ビ ッ ト ス ト リ ーム から 複数のデバイ ス を 同時にコ ン フ ィ ギュ レ ーショ ン でき ま す。 ギャ ン グ SelectMAP コ ン フ ィ ギュ レ ーショ ン の接続では、 すべてのデバイ ス が D ピ ン に出力さ れる データ を 認識でき る よ う にする ため、複数デバイ ス の CS_B ピ ン が共有接続 (ま たはグ ラ ン ド 接続) さ れま す。 外部オシ レ ー タ があ る 場合は、 すべてのデバ イ ス を ス レーブ SelectMAP モー ド に設定す る か、 ま たは図 2-13 に示す よ う に、 1 つのデバ イ ス を マ ス タ と し て設定で き ます。 M1 M0 M2 Virtex-5 FPGA SelectMAP Master D[0:7] DATA[0:7] CCLK CCLK PROGRAM_B CF BUSY CE RESET/OE INIT_B RDWR_B Xilinx Platform Flash PROM (1) 330Ω CS_B DONE M1 M0 M2 (10) Virtex-5 FPGA SelectMAP Slave D[0:7] CCLK PROGRAM_B (2) 4.7 kΩ BUSY INIT_B (10) RDWR_B CS_B DONE UG191_c2_15_041808 図 2-13 : ギ ャ ング x8 SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン 次に、 図 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 フ ァ イ ルの生成」 を参照 し て く だ さ い。 58 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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 時のデバ ッ グに使用で き ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 59 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 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] のみが読み込ま れます。 詳細は、 「バ ス幅の自動検出」 を参 照 し て く だ さ い。 バ ス幅が判断 さ れ る と 、 同期 ワー ド を検出す る ため適切な幅のデー タ バ ス が読み 込まれます。 同期ワ ー ド がデバ イ ス に伝搬 さ れた後、 コ ン フ ィ ギ ュ レーシ ョ ンが開始 し ます。 60 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム の読み込み後、 ス タ ー ト ア ッ プ シーケ ン ス が開始 し ま す。 ビ ッ ト ス ト リ ームで指定 さ れた ス タ ー ト ア ッ プ シーケ ン ス で、 DONE 信号が High にアサー ト さ れます (第 1 章 の「ス タ ー ト ア ッ プ (手順 8)」 を参照)。 コ ン フ ィ ギ ュ レーシ ョ ン コ ン ト ロー ラ は、 ス タ ー ト ア ッ プ シー ケ ン ス の完了 ま で CCLK パル ス を 送信 し 続け る 必要が あ り ま す。 こ れは、 DONE が High にな っ た後、 CCLK パルス が数サ イ ク ル必要な場合があ る か ら です。 詳細は、 第 1 章 の 「ス ター ト ア ッ プ (手順 8)」 を参照 し て く だ さ い。 コ ン フ ィ ギ ュ レーシ ョ ン後、 CS_B お よ び RDWR_B 信号はデ ィ アサー ト す る か、 アサー ト の ま ま にで き ます。 SelectMAP ポー ト が非ア ク テ ィ ブであ る ため、 こ の と き に RDWR_B を ト グル し て も ABORT は発生 し ま せん。 図 2-14 に、 継続的なデー タ 読み出 し の SelectMAP コ ン フ ィ ギ ュ レ ー シ ョ ンの タ イ ミ ン グ を示 し ます。 PROGRAM_B (4) INIT_B CCLK (1) (13) (6) CS_B (2) (14) (5) RDWR_B (8) DATA[0:7] BUSY Byte 0 (3) (9) Byte 1 (10) (11) Byte n (7) High-Z (12) DONE UG191_c2_16_072407 図 2-14 : 継続的な x8 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. 最後のバ イ ト が読み込まれ る と 、 デバ イ ス で ス タ ー ト ア ッ プ シーケ ン ス が開始 し ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 61 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 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) です。 PROGRAM_B (2) INIT_B (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) CCLK (3) CS_B DATA[0:7] (1) RDWR_B (4) BUSY High-Z High-Z High-Z UG191_c2_17_072407 図 2-15 : フ リ ー ラ ン ニ ング CCLK 手法を使用 し た断続的な SelectMAP デー タ 読み込み h 次に、 図 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 にで き ます。 62 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 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 バ イ ト が読み込まれます。 (4) (5) (6) CCLK (3) CS_B (2) RDWR_B (1) DATA[0:7] Byte 0 Byte 1 Byte n UG191_c2_18_041006 図 2-16 : 制御 CCLK 手法を使用 し た断続的な SelectMAP デー タ の読み込み 次に、 図 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 の ABORT ABORT と は、 SelectMAP コ ン フ ィ ギ ュ レ ーシ ョ ン ま たは リ ー ド バ ッ ク シーケ ン ス が中断 さ れ る こ と です。 こ れは、 CS_B がアサー ト さ れてい る と き に RDWR_B の ス テー ト が変更 さ れ る と 発生 し ま す。 コ ン フ ィ ギ ュ レ ーシ ョ ン の ABORT が発生す る と 、 CCLK の次の 4 サ イ ク ル間、 内部 ス テー タ ス が D[7:4] ピ ンに送信 さ れます。 その他の D ピ ンは、 常に High です。 ABORT シーケ ン ス の終了後、 コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク を再同期化 し 、 コ ン フ ィ ギ ュ レーシ ョ ン を再開で き ま す。 バ イ ト 間で RDWR_B をデ ィ アサー ト する 必要があ る アプ リ ケーシ ョ ンでは、制御 CCLK 手法 を使用 し て く だ さ い (図 2-16 を参照)。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 63 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス コ ン フ ィ ギ ュ レ ーシ ョ ンの ABORT シーケ ン ス コ ン フ ィ ギ ュ レーシ ョ ン中は、 ABORT は次の よ う に発生 し ます。 1. コ ン フ ィ ギ ュ レーシ ョ ン シーケ ン ス が正常に開始 し ます。 2. デバ イ ス の選択中 (CS_B が Low にアサー ト さ れてい る ) に、 ユーザーが RDWR_B ピ ン を High に駆動 し ます。 3. CS_B がアサー ト さ れた ま ま (Low) の場合は BUSY が High にな り ます。 RDWR_B が読み出 し 制御 ( ロ ジ ッ ク High) に設定 さ れた状態の場合、デー タ ピ ンに ス テー タ ス ワ ー ド が送信 さ れ ます。 4. ABORT が 4 ク ロ ッ ク サ イ ク ル間継続 し 、 ス テー タ ス が更新 さ れます。 CCLK CS_B RDWR_B STATUS DATA[0:7] BUSY ABORT ug191_c2_19_092507 図 2-17 : SelectMAP モー ド の コ ン フ ィ ギ ュ レーシ ョ ンの ABORT シーケ ン ス リ ー ド バ ッ ク の ABORT シーケ ン ス リ ー ド バ ッ ク 中は、 ABORT は次の よ う に発生 し ます。 1. リ ー ド バ ッ ク シーケ ン ス が正常に開始 し ます。 2. デバ イ ス の選択中 (CS_B が Low にアサー ト さ れてい る ) に、 ユーザーが RDWR_B ピ ン を High に駆動 し ます。 3. CS_B がアサー ト さ れた ま ま (Low) の場合は BUSY が High にな り ます。 4. CS_B がデ ィ アサー ト さ れ る と ABORT が終了 し ます。 64 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス CCLK CS_B RDWR_B FPGA DATA[0:7] BUSY ABORT UG191_c2_20_041006 図 2-18 : リ ー ド バ ッ ク の ABORT シーケ ン ス リ ー ド バ ッ ク 中の ABORT では、 RDWR_B 信号が書 き 込み制御 (FPGA D[x:0] ピ ン が入力) と し て設定 さ れてい る ため、 ス テー タ ス ワー ド は更新 さ れません。 ABORT ス テー タ ス ワー ド コ ン フ ィ ギ ュ レーシ ョ ン中の ABORT シーケ ン ス では、 D[7:0] ピ ンに ス テー タ ス ワ ー ド が送信 さ れ ます。 ス テー タ ス ビ ッ ト はビ ッ ト ス ワ ッ プ さ れ ません。 ま た、 その他のデー タ ピ ンは常に High です。 表 2-5 で、 ス テー タ ス ワー ド について説明 し ます。 表 2-5 : ABORT ス テー タ ス ワー ド ビ ッ ト 番号 ス テー タ ス ビ ッ ト 名 D7 CFGERR_B D6 DALIGN 説明 コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ー ( ア ク テ ィ ブ Low) 0 = コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ー発生 1 = コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ーな し 同期ワ ー ド の受信 ( ア ク テ ィ ブ High) 0 = 同期 ワー ド は受信 さ れていない 1 = イ ン タ ーフ ェ イ ス ロ ジ ッ ク で同期ワ ー ド を受信 リ ー ド バ ッ ク を実行中 (ア ク テ ィ ブ High) D5 RIP 0 = リ ー ド バ ッ ク は実行 さ れていない 1 = リ ー ド バ ッ ク を実行中 ABORT を実行中 (ア ク テ ィ ブ Low) D4 IN_ABORT_B D3 ~ D0 1111 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 0 = ABORT を実行す る 1 = ABORT を実行 し ない 1 に固定 japan.xilinx.com 65 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス ABORT シーケ ン ス は、 CCLK の 4 サ イ ク ル間継続 し ます。 こ の間、 デー タ ア ラ イ メ ン ト お よ び ABORT ス テー タ ス を反映 し て、 ス テー タ ス ワー ド が更新 さ れます。 一般的なシーケ ン スは次の と お り です。 11011111 11001111 10001111 10011111 => => => => DALIGN DALIGN DALIGN DALIGN = = = = 1, 1, 0, 0, IN_ABORT_B IN_ABORT_B IN_ABORT_B IN_ABORT_B = = = = 1 0 0 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 で予測 さ れ る デー タ 順が ど の よ う な関係であ る かを認識す る 必要があ り ます。 66 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R SPI コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス SelectMAP x8 モー ド の場合、CCLK の 1 サ イ ク ルで 1 バ イ ト の コ ン フ ィ ギ ュ レーシ ョ ン デー タ が 読み込まれ、 各バ イ ト の MSB は D0 ピ ンに出力 さ れます。 D0 = MSB、 D7 = LSB と い う 規則は、 その他のデバ イ ス には適用 さ れません。 x16 お よ び x32 モー ド の場合は、 「パ ラ レル バ ス の ビ ッ ト 順」 を参照 し て く だ さ い。 こ の規則は、カ ス タ ム コ ン フ ィ ギ ュ レーシ ョ ン ソ リ ュ ーシ ョ ン を実行す る 際に混乱を招 く 原因 と な り ます。 表 2-6 に、16 進数 0xABCD を SelectMAP デー タ バ ス に読み込 む方法を示 し ます。 表 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 モー ド のデー タ ピ ン です。 上記の規則 と は異な る デー タ 順を問題な く 使用で き る アプ リ ケーシ ョ ン も あ り ますが、 その他のア プ リ ケーシ ョ ンでは、 ソ ース コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ ァ イ ルを ビ ッ ト ス ワ ッ プ さ せ る (デー タ ス ト リ ームの各バ イ ト 内の ビ ッ ト 順を逆にす る ) と 便利です。 こ の よ う な アプ リ ケーシ ョ ン用に、ザ イ リ ン ク ス の PROM フ ァ イ ル生成 ソ フ ト ウ ェ アでは、 ビ ッ ト ス ワ ッ プ し た PROM フ ァ イ ルを生成で き ます ( 「 コ ン フ ィ ギ ュ レーシ ョ ン デー タ フ ァ イ ル」 を参照)。 図 2-19 に、 x8、 x16、 x32 モー ド での ビ ッ ト 順お よ び Virtex-4 の x32 モー ド での ビ ッ ト 順を示 し ます。 ピン 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 : ビ ッ ト 順 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-5 FPGA の コ ン フ ィ ギ ュ レーシ ョ ンでは、 デフ ォル ト ではア ド レ ス は 0 か ら 開始 し ます。 図 2-20 に、 SPI 関連の コ ン フ ィ ギ ュ レーシ ョ ン ピ ンお よ び Virtex-5 デバ イ ス と SPI フ ラ ッ シ ュ 間の標準的な 接続を示 し ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 67 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 4.7 kΩ Virtex-5 FPGA 330Ω INIT_B PROGRAM_B HSWAPEN 䊒䊦䉝䉾䊒ᛶ᛫䉁䈢䈲 䊒䊦䉻䉡䊮ᛶ᛫䉕↪䈚䈩 㩷SPI㩷䈱䉺䉟䊒䉕ㆬᛯ M[2:0] FS[2:0] D_IN DONE SPI 䊐䊤䉾䉲䊠 DOUT CLK CS_B DI CCLK FCS_B MOSI DO UG191_c2_23_0724 図 2-20 : Virtex-5 SPI コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 次に、 図 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 コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス の ピ ンについて説明 し ます。 68 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R SPI コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 表 2-7 : Virtex-5 SPI コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ スのピ ン タ イプ 専用または 多目的 M[2:0] 入力 専用 モー ド ピ ン。 SPI モー ド では 001 です。 HSWAPEN 入力 専用 コ ン フ ィ ギ ュ レーシ ョ ン中、I/O (バン ク 0 の専用 I/O を除 く ) のプルア ッ プを制御 し ます。 弱いプ ルア ッ プ抵抗が付いてい ます。 ピ ン名 説明 0 = コ ン フ ィ ギ ュ レーシ ョ ン中、 プルア ッ プ 1 = コ ン フ ィ ギ ュ レーシ ョ ン中、 ト ラ イ ス テー ト DOUT ト ライ ス テート 出力 専用 DONE 双方向、 オープン ド レ イ ン、 ま たは アク ティ ブ 専用 入力または 出力、 オープン ド レイン 専用 INIT_B シ リ アル デ イ ジー チ ェ ーン コ ン フ ィ ギ ュ レー シ ョ ンで使用 し ます。 コ ン フ ィ ギ ュ レーシ ョ ンの完了を示すア ク テ ィ ブ High の信号。 0 = FPGA コ ン フ ィ ギ ュ レーシ ョ ン未完了 1 = FPGA コ ン フ ィ ギ ュ レーシ ョ ン完了 モー ド ピ ンが読み込まれ る 前は入力で、 Low に 保持す る こ と で コ ン フ ィ ギ ュ レーシ ョ ン を遅延で き ます。 モー ド ピ ンが読み込まれた後は、 オー プン ド レ イ ンのア ク テ ィ ブ Low 出力 と な り 、 コ ン フ ィ ギ ュ レーシ ョ ン中の CRC エ ラ ーの有無を 示 し ます。 0 = CRC エ ラ ー 1 = CRC エ ラ ーな し SEU 検出フ ァ ン ク シ ョ ンが有効の場合、 リ ー ド バ ッ ク CRC エ ラ ーが検出 さ れ る と Low に駆動 さ れます (オプシ ョ ン )。 PROGRAM_B 入力 専用 ア ク テ ィ ブ Low の非同期フルチ ッ プ リ セ ッ ト 。 FS[2:0] 入力 多目的 SPI バ リ ア ン ト セ レ ク ト ピ ンで、 INIT_B の立ち 上が り エ ッ ジで読み込まれます。 DATA[2:0] ピ ン と マルチプ レ ク ス さ れます。 CCLK 出力 専用 FCS_B 出力 多目的 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com SPI への コ ン フ ィ ギ ュ レーシ ョ ン ク ロ ッ ク 出力。 ア ク テ ィ ブ Low のチ ッ プ セ レ ク ト 出力で、 CCLK の立ち下が り エ ッ ジで出力 さ れます。 69 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 表 2-7 : Virtex-5 SPI コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ スのピ ン (続き ) ピ ン名 タ イプ 専用または 多目的 出力 多目的 MOSI 説明 FPGA シ リ アル デー タ 出力で、 CCLK の立ち下 が り エ ッ ジで出力 さ れます。 FOE_B と マルチプ レ ク ス さ れます。 D_IN 入力 専用 RCMD[7:0] 入力 多目的 SPI か ら FPGA へのシ リ アル デー タ 入力で、 CCLK の立ち上が り エ ッ ジで読み込ま れます。 FS[2:0] = 001 の場合の SPI 読み出 し コ マ ン ド の ス ト ラ ッ ピ ン グ入力 (ADDR[7:0] と マルチプ レ ク ス )。 SPI 読み出 し コ マ ン ド の ス ト ラ ッ ピ ン グに 使用 さ れ る と き は、 INIT_B の立ち上が り エ ッ ジ で読み込まれます。 表 2-8 に、 FS[2:0] の設定に応 じ た SPI 読み出 し コ マ ン ド を示 し ます。 表 2-8 : Virtex-5 SPI 読み出 し コ マ ン ド のバ リ ア ン ト セ レ ク ト FS[2:0] SPI 読み出 し コ マ ン ド 70 000 0xFF 001 RCMD[7:0] 010 0x52 011 予約済み 100 0x55 101 0x03 110 0xE8 111 0x0B コメント 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] と 同 じ です。 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R SPI コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 図 2-21 に、 Virtex-5 SPI フ ラ ッ シ ュ の タ イ ミ ン グ を示 し ます。 PROGRAM_B INIT_B M[2:0] 001 FS[2:0] … CCLK … … … FCS_B 8-Bit Read CMD MOSI 24-Bit Address D_IN (Normal Read) 8 CCLKs Bitstream Data D_IN (Fast Read) Bitstream Data DONE Configuration Mode User Mode UG191_c2_24_072407 図 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 with SPI Serial Flash』 を参照 し て く だ さ い。 パワーオ ン シーケ ン スに関する注意事項 電源を投入す る と 、 FPGA で コ ン フ ィ ギ ュ レーシ ョ ンが自動的に開始 し ます。 FPGA がマ ス タ SPI コ ン フ ィ ギ ュ レーシ ョ ン モー ド の場合、FCS_B が Low にアサー ト さ れて SPI フ ラ ッ シ ュ が選択 さ れ、 読み出 し コ マ ン ド が SPI フ ラ ッ シ ュ に駆動 さ れます。 FCS_B が Low にアサー ト さ れ、 読み出 し コ マ ン ド が送信 さ れ る 前に、 SPI フ ラ ッ シ ュ が コ マ ン ド を受信で き る 状態にな っ てい る よ う にす る必要があ り ます。 FPGA と SPI フ ラ ッ シ ュ には異な る 電源レールか ら 電源を供給で き 、 ま た同 じ 電源が使用 さ れてい る 場合で も 異な る 立ち上が り 地点で応答す る こ と があ る ので、 FPGA と SPI フ ラ ッ シ ュ のパ ワ ーオ ン シーケ ン スお よ び電源の立ち上が り に注意す る 必要が あ り ます。 パ ワ ーオン シーケ ン ス ま たは 電源の立ち上が り に よ っ て、 FPGA が SPI フ ラ ッ シ ュ の前に、 ま たは SPI フ ラ ッ シ ュ が FPGA の 前に操作可能な状態にな り ます。 ま た、 一部の SPI フ ラ ッ シ ュ デバ イ ス では最小時間 (電源投入か ら 数 ミ リ 秒) が設定 さ れてお り 、 こ の間デバ イ ス を選択 し ない よ う にす る 必要があ り ます。 電源の Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 71 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 立ち上が り がほぼ同時であ る ほ と ん ど のシ ス テ ムでは、 FPGA のパ ワーオン リ セ ッ ト 時間 (TPOR) を使用 し て FPGA の コ ン フ ィ ギ ュ レーシ ョ ンの開始を遅 ら せ、FPGA の コ ン フ ィ ギ ュ レーシ ョ ンが 開始す る 前に SPI フ ラ ッ シ ュ の準備が完了す る よ う にで き ます。 シ ス テ ム デザ イ ンでは、 パ ワ ーオ ン シーケ ン ス、 電源の立ち上が り 、 FPGA パ ワ ーオン リ セ ッ ト の タ イ ミ ン グ、 お よ び SPI フ ラ ッ シ ュ の電源投入の タ イ ミ ン グが、 FPGA コ ン フ ィ ギ ュ レーシ ョ ンの開始 と SPI フ ラ ッ シ ュ の準備が 完了す る タ イ ミ ン グの関係に ど の よ う に影響す る かを考慮す る 必要があ り ます。 Virtex-5 FPGA の 電源要件お よ び タ イ ミ ン グは、デー タ シー ト DS202 『Virtex-5 FPGA Data Sheet: DC and Switching Characteristics』 を参照 し て く だ さ い。 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 Flash XL High-Density Configuration and Storage Device』 を参照 し て く だ さ い。 72 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R BPI (Byte Peripheral Interface) パラ レル フ ラ ッ シ ュ モー ド 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 ページの 「フ ォールバ ッ ク マルチ ブー ト 」 を参照 し て く だ さ い。 4.7 kΩ 330Ω Virtex-5 FPGA INIT_B PROGRAM_B HSWAPEN DONE CCLK BPI Flash RS[1:0] M[2:0] CS_B OE_B WE_B ADDR[25:0] FCS_B FOE_B FWE_B ADDR[25:0] D[15:0] D[15:0] 䊜䊝㩷㪑㩷․ቯ䈱䊐䊤䉾䉲䊠䈱ାภធ⛯䈲䇮BPI 䊐䊤䉾䉲䊠㩷䊔䊮䉻䊷䈱䊂䊷䉺䉲䊷䊃䉕ෳᾖ䈚䈩䈒䈣䈘䈇䇯䉝䊄䊧䉴䈏ᱜ䈚䈒ឥ䈉䉋䈉䈮䈜䉎䈢䉄䇮 ↪䈜䉎䊋䉟䊃㪆䊪䊷䊄㩷䊝䊷䊄䈪䈱䊐䊤䉾䉲䊠㩷䊐䉜䊚䊥䈱㩷LSB㩷䉝䊄䊧䉴䈮ᵈᗧ䈜䉎ᔅⷐ䈏䈅䉍䉁䈜䇯䈜䈼䈩䈱䊐䊤䉾䉲䊠㩷䊐䉜䊚䊥䈪㩷A0㩷䉕 LSB㩷䉝䊄䊧䉴䈫䈚䈩↪䈜䉎䉒䈔䈪䈲䈅䉍䉁䈞䉖䇯 UG191_c2_25_061108 図 2-22 : Virtex-5 BPI コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 次は、 図 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 に接続可能です。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 73 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス • 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 74 双方向、 オープン ド レ イ ン、 または アクティブ 専用 コ ン フ ィ ギ ュ レーシ ョ ンの完了を示すア ク テ ィ ブ High の信号。 0 = FPGA コ ン フ ィ ギ ュ レーシ ョ ン未完了 1 = FPGA コ ン フ ィ ギ ュ レーシ ョ ン完了 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R BPI (Byte Peripheral Interface) パラ レル フ ラ ッ シ ュ モー ド 表 2-9 : Virtex-5 BPI コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ スで使用 さ れる ピ ン (続き ) ピ ン名 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 を参照 し て く だ さ い。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 75 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 表 2-9 : Virtex-5 BPI コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ スで使用 さ れる ピ ン (続き ) ピ ン名 RS[1:0] タ イプ 専用または 多目的 出力 多目的 説明 リ ビ ジ ョ ン セ レ ク ト ピ ン。 一般的な ビ ッ ト ス ト リ ームが 1 つのアプ リ ケーシ ョ ン では使用 さ れません。 HSWAP ピ ンに よ り プルア ッ プが イ ネーブルにな っ てい る 場合は、 ト ラ イ ス テー ト で、 初期 コ ン フ ィ ギ ュ レーシ ョ ン中弱いプルア ッ プ抵抗 でプルア ッ プ さ れます。 プルア ッ プがデ ィ ス エーブルの場合は、 弱い 外部プルア ッ プ抵抗が必要です (電源投入後、 ま たは PROGRAM_B のアサー ト 後) 。 コ ン フ ィ ギ ュ レーシ ョ ン エ ラ ーが検出 さ れ る と Low に駆動 さ れ、 フ ォールバ ッ ク ビ ッ ト ス ト リ ームが読み込まれます。 ビ ッ ト ス ト リ ーム ま たは ICAP を使用 し たユーザー制御 も 可能です。 詳 細は、 159 ページの 「フ ォールバ ッ ク マルチブー ト 」 を参照 し て く だ さ い。 CSO_B 出力 多目的 パ ラ レル デ イ ジー チ ェーンのア ク テ ィ ブ Low チ ッ プ セ レ ク ト 出力。 FPGA が 1 つのアプ リ ケーシ ョ ンでは使用 さ れません。 図 2-23 に、 BPI-Up コ ン フ ィ ギ ュ レーシ ョ ンの波形を示 し ます。 CCLK INIT_B FCS_B FOE_B FWE_B ADDR[25:0] 0 D[M:0] 1 D0 D1 2 D2 3 D3 n Dn DONE UG191_c2_26_011708 図 2-23 : Virtex-5 BPI-Up コ ン フ ィ ギ ュ レーシ ョ ンの波形 次に、 図 2-23 について説明 し ます。 76 • CCLK は BPI モー ド では出力です。 BPI フ ラ ッ シ ュ には CCLK は必要あ り ませんが、Virtex-5 FPGA では CCLK の立ち上が り エ ッ ジで D[max:0] ピ ンが読み込まれます。 • DONE ピ ンが High にな る と 、 Virtex-5 FPGA でビ ッ ト ス ト リ ームの取 り 込みが停止 し ます。 • 多目的 コ ン フ ィ ギ ュ レーシ ョ ン I/O は、 GTS_cycle 後にユーザー モー ド に切 り 替わ り ます。 こ れは、 デフ ォ ル ト では DONE が High にな っ てか ら 1 サ イ ク ル後です。 • M は 7 ま たは 15 です。 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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 HighDensity 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」セ ク シ ョ ン を参照 し て く だ さ い。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 77 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス ページ モー ド のサポー ト 多数の 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」 を参照 し て く だ さ い。 CCLK FCS_B FOE_B FWE_B ADDR[2:0] 7 0 D[M:0] 1 D0 2 D1 3 D2 CCLK=2 4 D3 5 D4 6 D5 7 D6 D7 CCLK=2 PAGE_SIZE=4 PAGE_SIZE=4 UG191_c2_27_050406 図 2-24 : BPI-Up モー ド の波形 ( ページ サイ ズ = 4、 初回ア ク セスの CCLK サイ ク ル = 2) 次に、 図 2-24 について説明 し ます。 78 • 図 2-24 は、 ページ サイ ズが 4、 初回アク セス の CCLK サイ ク ルが 2 の BPI-Up モード の波形 を 示し ま す。 • M は 7 ま たは 15 です。 • BPI-Down モー ド の場合、 ページ サ イ ズ 4 で ADDR[1:0]= 2’b11 の と き 、 ADDR[25:0] バ ス は必要な CCLK サ イ ク ルに対応す る よ う 拡張 さ れます。 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン ク ロ ッ ク (CCLK) のボー ド レ イ アウ ト サ ポ ー ト さ れ る 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 PROMs with 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 つずつの基本的なポ イ ン ト ツー ポ イ ン ト ト ポ ロ ジです。 CCLK CCLK ജ ജ Z0 (50Ω) Z0 (50Ω) VCCO_0 2 x Z0 (100W) CCLK ജ = 䊙䉴䉺 FPGA CCLK ജ = PROM 䉁䈢䈲䉴䊧䊷䊑 FPGA 2 x Z0 (100W) UG191_c2_05_072407 図 2-25 : Point-to-Point : CCLK 出力および CCLK 入力 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 79 R 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス 図 2-26 は、 1 つの CCLK ド ラ イ バお よ び 2 つの CCLK レ シーバの基本的なマルチ ド ロ ッ プ フ ラ イ バ イ ト ポ ロ ジです。 CCLK 入力 1 の ス タ ブの長 さ には制約があ り ます。 CCLK Input 2 CCLK Output Z0 (50Ω) Z0 (50Ω) Z0 (50Ω) length < 8 mm Z0 (50Ω) VCCO_0 2 x Z0 (100Ω) CCLK Input 1 2 x Z0 (100Ω) UG191_c2_06_072407 図 2-26 : マルチ ド ロ ッ プ : 1 つの CCLK 出力および 2 つの CCLK 入力 図 2-27 は、 1 つの CCLK ド ラ イ バお よ び 3 つ以上の CCLK レ シーバ ( こ の例では 4 つ) のマルチ ド ロ ッ プ フ ラ イ バ イ ト ポ ロ ジです。 入力 4 を除 く すべての CCLK 入力の ス タ ブの長 さ に制約があ り ます。 CCLK Input 4 CCLK Output Z0 (50Ω) Z0 (50Ω) Z0 (50Ω) Z0 (50Ω) Z0 (50Ω) Z0 (50Ω) length < 8 mm Z0 (50Ω) length < 8 mm Z0 (50Ω) length < 8 mm VCCO_0 2 x Z0 (100Ω) CCLK Input 1 CCLK Input 2 CCLK Input 3 2 x Z0 (100Ω) UG191_c2_07_041106 図 2-27 : マルチ ド ロ ッ プ : 1 つの CCLK 出力および 3 つ以上の CCLK 入力 80 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン ク ロ ッ ク (CCLK) のボー ド レ イ アウ ト 図 2-28 は、 伝送 ラ イ ンが複数の CCLK 入力に分岐 し てい る ス タ ー ト ポ ロ ジです。 分岐点で イ ン ピーダ ン ス の不連続が生 じ る ため、 こ の ト ポ ロ ジは推奨 さ れません。 CCLK ജ 1 䉟䊮䊏䊷䉻䊮䉴 䈱ਇㅪ⛯ᕈ Z0 CCLK ജ Z0 CCLK ജ 2 Z0 UG191_c2_08_070507 図 2-28 : 推奨 さ れていないス タ ー ト ポロ ジ : 1 つの CCLK 出力および 2 つの CCLK 入力 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 81 R 82 第 2 章 : コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ー フ ェ イ ス japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R 第3章 バウ ン ダ リ スキ ャ ンお よび JTAG コ ン フ ィ ギ ュ レーシ ョ ン 概要 Virtex®-5 デバ イ スは、IEEE 1149.1 お よ び IEEE 1532 規格をサポー ト し ます。 IEEE 1532 は、IEEE 1149.1 に基づいて作成 さ れた イ ン シ ス テ ム コ ン フ ィ ギ ュ レ ーシ ョ ン (ISC) 用の規格です。 JTAG は Joint Test Action Group の略で、 こ の規格を制定 し た委員会のグループ名です。 こ の規格は、 各 コ ン ポーネ ン ト と それ ら の接続の テ ス ト を ボー ド レ ベルで行な う た めの も のです。 IEEE 1149.1 Test 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 に読み込みます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 83 R 第 3 章 : バウン ダ リ スキ ャ ンおよび JTAG コ ン フ ィ ギ ュ レーシ ョ ン 9. Shift-DR に移行し 、ビ ッ ト ス ト リ ーム の次の部分を 読み込んでコ ン フ ィ ギュ レ ーショ ン STATUS レ ジス タ を 読み出し ま す。 1111 1010 0010 0010 1111 1010 0000 1000 1111 1001 0000 0000 1111 1001 0000 0000 1111 0101 0000 1110 1111 0101 0000 0000 1111 0110 0000 0000 1111 0110 0000 0001 // // // // // 0000 0000 0000 0000 0000 0000 0000 0000 // Dummy word SYNCHWORD NO-OP Type 1 header: Read 1 word from STAT 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 1010 0010 0011 0000 0010 0000 1111 1010 0000 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 0000 1111 0101 0000 1000 0000 0000 0000 1111 0101 0000 0000 0000 0000 0000 1111 0110 0000 0000 0000 0000 0000 1111 0110 0000 0001 0111 0000 0000 // // // // // // // Dummy word SYNCHWORD NO-OP Write 1 word to CMD reg RCRC command NO-OP 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 1010 0010 0011 0000 0010 1111 1010 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 1111 0101 0000 1000 0000 0000 1111 0101 0000 0000 0000 0000 1111 0110 0000 0000 0000 0000 1111 0110 0000 0001 1000 0000 // // // // // // Dummy word SYNCHWORD NO-OP Write 1 word to CMD reg AGHIGH command NO-OP 8. リ コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム を読み込みます。 9. TLR に移行 し ます。 10. JSTART 命令を JTAG IR に読み込みます。 11. Run-Test-Idle (RTI) に移行 し ます。 12. TCK に ク ロ ッ ク を 12 サ イ ク ル分供給 し ます。 13. Test-Logic-Reset (TLR) に移行 し ます。 84 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R JTAG コ ン フ ィ ギ ュ レーシ ョ ン / リ ー ド バ ッ ク リ ー ド バ ッ ク - タ イ プ 1 : ブ ロ ッ ク RAM フ レ ームな し 1. CFG_IN 命令を JTAG IR に読み込みます。 2. Shift-DR に移行 し 、 ビ ッ ト ス ト リ ームの次の部分を読み込んで RCFG コ マン ド を CMD レ ジ ス タ に書 き 込みます。 1111 1010 0010 0011 0000 0011 0000 1111 1010 0000 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 0000 1111 0101 0000 1000 0000 0010 0000 1111 0101 0000 0000 0000 0000 0000 1111 0110 0000 0000 0000 0000 0000 1111 0110 0000 0001 0100 0001 0000 // // // // // // // // 0010 1000 0000 0000 0110 0000 0000 0000 // 0100 1bbb bbbb bbbb bbbb bbbb bbbb bbbb // // // 0000 0000 0000 0000 0000 0000 0000 0000 // Dummy word SYNCHWORD NO-OP Write 1 word to CMD reg RCFG command Write 1 word to FAR Frame address: Top row 0/CLB Block Type/Column 0/Frame 0 Type 1 header: Read FDRO Type 2 header: Readback wordcount (27 bits) - CLB frames only 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 1010 0010 0011 0000 0010 0000 1111 1010 0000 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 0000 1111 0101 0000 1000 0000 0000 0000 1111 0101 0000 0000 0000 0000 0000 1111 0110 0000 0000 0000 0000 0000 1111 0110 0000 0001 0111 0000 0000 // // // // // // // Dummy word SYNCHWORD NO-OP Write 1 word to CMD reg RCRC command NO-OP 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 1010 0010 0011 0000 0011 0000 1111 1010 0000 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 0000 1111 // Dummy word 0110 // SYNCHWORD 0000 // NO-OP 0001 // Write 1 word to CMD reg 0100 // RCFG command 0001 // Write 1 word to FAR 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 FDRO 0100 1bbb bbbb bbbb bbbb bbbb bbbb bbbb // Type 2 header: Readback Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 1111 0101 0000 1000 0000 0010 0000 1111 0101 0000 0000 0000 0000 0000 japan.xilinx.com 1111 0110 0000 0000 0000 0000 0000 85 R 第 3 章 : バウン ダ リ スキ ャ ンおよび JTAG コ ン フ ィ ギ ュ レーシ ョ ン // 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 1010 0010 0011 0000 0010 0000 1111 1010 0000 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 0000 1111 0101 0000 1000 0000 0000 0000 1111 0101 0000 0000 0000 0000 0000 1111 0110 0000 0000 0000 0000 0000 1111 0110 0000 0001 0111 0000 0000 // // // // // // // Dummy word SYNCHWORD NO-OP Write 1 word to CMD reg RCRC command NO-OP 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 つの ピ ンについて説明 し ます。 86 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R IEEE 1149.1 を使用 し た Virtex-5 デバイ スのバウンダ リ スキ ャ ン 表 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Ω 内部プルア ッ プ抵抗は、 選択 さ れてい る モー ド に関係な く ア ク テ ィ ブです。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 87 R 第 3 章 : バウン ダ リ スキ ャ ンおよび JTAG コ ン フ ィ ギ ュ レーシ ョ ン IEEE Standard 1149.1 Compliant Device TAP State Machine 1 Test-Logic-Reset 0 TMS Select Next State 0 Run-Test/Idle 1 Select-DR 1 Select-IR 0 1 0 1 Capture-DR Capture-IR 0 0 0 Shift-DR 1 1 Exit1-DR 1 Exit1-IR 0 0 Pause-IR 0 1 1 Exit2-IR 0 1 TCK 1 TDI Update-DR 0 1 0 Pause-DR Exit2-DR Shift-IR/Shift-DR Shift-IR 0 0 1 1 Update-IR 0 Instruction Register Select Data Register Instruction Decoder TDO Bypass[1] Register IDCODE[32] Register Boundary-Scan[N] Register I/O I/O I/O I/O UG191_c3_01_041106 図 3-1 : 標準的な JTAG アーキテ ク チ ャ JTAG コ ン フ ィ ギ ュ レーシ ョ ン モー ド では、 JTAG 入力に VCCO_CFG を使用 し ます。 88 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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-LogicReset ス テー ト に戻る こ と がで き ます。 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 の立ち上が り エ ッ ジで、 デー タ が現在の命令で選択 さ れたデー タ レ ジ ス タ にパ ラ レ ルに読み 込まれます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 89 R 第 3 章 : バウン ダ リ スキ ャ ンおよび JTAG コ ン フ ィ ギ ュ レーシ ョ ン Shift-Dr、 Exit1-DR、 Pause-DR、 Exit2-DR、 Update-DR : こ れ ら の ス テー ト は、 命令パ ス の Shift-IR、 Exit1-IR、 Pause-IR、 Exit2-IR、 お よ び Update-IR ス テー ト に対応 し てい ます。 1 TEST-LOGIC-RESET 0 0 RUN-TEST/IDLE 1 1 SELECT-DR-SCAN 1 0 SELECT-IR-SCAN 1 CAPTURE-DR 0 CAPTURE-IR 0 0 0 SHIFT-DR 1 1 1 EXIT1-IR 0 0 PAUSE-DR 0 PAUSE-IR 0 1 1 0 EXIT2-DR EXIT2-IR 1 1 UPDATE-DR 1 0 SHIFT-IR 1 EXIT1-DR 0 1 0 UPDATE-IR 1 0 䊜䊝㩷㪑㩷ฦ䉴䊁䊷䊃ㆫ⒖䈱ᮮ䈮␜䈘䉏䈩䈇䉎୯䈲䇮TCK㩷䈱┙䈤䈏䉍ᤨ䈮䈍䈔䉎㩷 TMS㩷䈱ାภ୯䈪䈜䇯 UG191_c3_02_050406 図 3-2 : バウン ダ リ スキ ャ ンの TAP コ ン ト ロー ラ 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 規格 を参照 し て く だ さ い。 90 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R IEEE 1149.1 を使用 し た Virtex-5 デバイ スのバウンダ リ スキ ャ ン バウ ン ダ リ スキ ャ ン アーキテ ク チ ャ Virtex-5 デバ イ ス の レ ジ ス タ には、 IEEE 1149.1 規格で定め ら れた必須の レ ジ ス タ がすべて含ま れ てい ます。 標準的な レ ジ ス タ に加え、 簡易テ ス ト や検証用の レ ジ ス タ も 備え てい ます (表 3-2)。 表 3-2 : Virtex-5 JTAG レ ジ ス タ レ ジス タ名 レ ジス タ 長 バウ ンダ リ スキ ャ ン レジ ス タ 各 I/O に 3 ビ ッ ト 説明 入力、 出力、 出力 イ ネーブルの制御 お よ び監視 命令レ ジ ス タ 10 ま たは 14 ビ ッ ト 現在の OPCODE 命令を保持 し 、 内部デ バ イ ス の ス テー タ ス を キ ャ プチ ャ BYPASS レ ジ ス タ 1 ビッ ト デバ イ ス をバ イ パ ス 識別レ ジ ス タ 32 ビ ッ ト デバ イ ス ID を取得 JTAG コ ン フ ィ ギュ レ ーショ ン レ ジス タ USERCODE レ ジ ス タ ユーザー定義の レ ジ ス タ (USER1、 USER2、 USER3、 USER4) CFG_IN ま たは CFG_OUT 命令を使用 32 ビ ッ ト 中、 コ ン フ ィ ギ ュ レーシ ョ ン バ スへの ア ク セ ス を可能にす る 32 ビ ッ ト ユーザーがプロ グ ラ ム可能なコード を取得 デザ イ ンに よ り 異な る デザ イ ンに よ り 異な る バウ ン ダ リ スキ ャ ン レ ジ ス タ テ ス ト で使用 さ れ る 主な レ ジ ス タ は、 バ ウ ン ダ リ ス キ ャ ン レ ジ ス タ です。 バ ウ ン ダ リ ス キ ャ ンの 動作は、 個々の 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 のバ ウ ン ダ リ ス キ ャ ン アーキテ ク チ ャ を示 し ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 91 R 第 3 章 : バウン ダ リ スキ ャ ンおよび JTAG コ ン フ ィ ギ ュ レーシ ョ ン TDI 1x 01 00 D Q D sd Q LE INTEST 1 IOB.I 0 1x 01 00 sd D Q D Q LE 1 0 IOB.O IOB.T 0 1x 01 00 sd D D Q Q 1 LE EXTEST SHIFT CLOCK DATA REGISTER TDO UPDATE INTEST is OR'd with EXTEST UG191_c3_03_050406 図 3-3 : Virtex-5 フ ァ ミ リ のバウンダ リ スキ ャ ン ロ ジ ッ ク ビ ッ ト シーケ ン ス バウ ン ダ リ スキ ャ ン レ ジ ス タ こ のセ ク シ ョ ンに、 TAP 以外の IOB の順序が記述 さ れてい ます。 最初に入力、 次に出力、 最後に ト ラ イ ス テー ト IOB 制御です。 ト ラ イ ス テー ト IOB 制御は、最 も TDO に近い位置に配置 さ れてい ま す。 入力専用ピ ンは、 入力ビ ッ ト のみをバ ウ ン ダ リ ス キ ャ ンの I/O デー タ レ ジ ス タ に送 り ます。 デ バ イ ス の ビ ッ ト シ ー ケ ン ス は、 Virtex-5 フ ァ ミ リ 用 の BSDL (Boundary-Scan Description Language) フ ァ イ ルか ら 取得で き ます。 こ れ ら の フ ァ イ ルは、 ザ イ リ ン ク ス の ソ フ ト ウ ェ ア ダ ウ ン ロ ー ド ページか ら 入手可能です。 ビ ッ ト シーケ ン スはデザ イ ンに影響 さ れ る こ と はな く 、ビ ッ ト 数 お よ び順序は常に同一です。 命令レ ジ ス タ 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 Block in Virtex-5 FPGAs Reference Guide』 (UG200) を参照 し て く だ さ い。 表 3-3 に、 Virtex-5 デバ イ ス で使用可能な命令を示 し ます。 92 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R IEEE 1149.1 を使用 し た Virtex-5 デバイ スのバウンダ リ スキ ャ ン 表 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 コ ン フ ィ ギ ュ レーシ ョ ン を開始 し ます。 完全なシ ャ ッ ト ダ ウ ンが実 ISC_ENABLE 1111010000 ISC_PROGRAM 1111010001 イ ン シ ス テ ム プ ロ グ ラ ム を イ ネーブルに し ます。 ISC_PROGRAM_SECURITY 1111010010 セキ ュ リ テ ィ ス テー タ ス のセキ ュ ア モー ド と 非セキ ュ ア モー ド を切 り 替え ます。 ISC_NOOP 1111010100 操作は実行 さ れません。 ISC_READ 1111010101 IEEE 規格 1532 に準拠 し てデバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ン デー タ お よ びバ ッ テ リ バ ッ ク ア ッ プ型 RAM (BBR) を リ ー ド バ ッ ク し ます。 BBR には、 AES ビ ッ ト ス ト リ ーム暗号化用の暗号キーが保存 さ れます。 ISC_DISABLE 1111010111 BYPASS 1111111111 BYPASS を イ ネーブルに し ます。 RESERVED その他すべて の コー ド ザ イ リ ン ク ス の予約命令。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 行 さ れます。 ISC コ ン フ ィ ギ ュ レーシ ョ ン を終了 し ます。 ス タ ー ト ア ッ プ シーケ ン ス が実行 さ れます。 japan.xilinx.com 93 R 第 3 章 : バウン ダ リ スキ ャ ンおよび JTAG コ ン フ ィ ギ ュ レーシ ョ ン 図 3-4 に、命令ス キ ャ ン シーケ ン ス の一部 と し て IR に読み込まれ る 命令キ ャ プチ ャ 値を示 し ます。 TDI → IR[9:6] Reserved IR[5] IR[4] IR[3] IR[2] IR[1:0] DONE INIT(1) ISC_ENABLED ISC_DONE 01 → TDO メモ : 1. INIT は、 INIT_COMPLETE 信号の ス テー タ ス ビ ッ ト です。 図 3-4 : Virtex-5 の命令スキ ャ ン シーケ ン スの一部 と し て 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 マ ク ロ をデザ イ ンに イ ン ス タ ン シエー ト し て く だ さ い。 94 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R IEEE 1149.1 を使用 し た Virtex-5 デバイ スのバウンダ リ スキ ャ ン Virtex-5 デバイ スでのバウン ダ リ スキ ャ ンの使用 図 3-5 に示す一般的な タ イ ミ ン グ パ ラ メ ー タ の特性評価デー タ は、 デー タ シー ト DS202 『Virtex5 FPGA Data Sheet: DC and Switching Characteristics』 の コ ン フ ィ ギ ュ レーシ ョ ン ス イ ッ チ特性の 表を参照 し て く だ さ い。 TMS TDI TTAPTCK TTCKTAP TCK TTCKTDO TDO Data Valid Data to be captured Data Valid Data to be driven out UG191_c3_05_050406 図 3-5 : Virtex-5 バウンダ リ スキ ャ ン ポー ト の タ イ ミ ン グ ス タ ー ト ア ッ プ シーケ ン ス、 ビ ッ ト ス ト リ ーム、 内部 コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ の詳細は、 第 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 ベース フ ロ ーの実行を推奨 し ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 95 R 第 3 章 : バウン ダ リ スキ ャ ンおよび JTAG コ ン フ ィ ギ ュ レーシ ョ ン 㔚Ḯᛩ 䈇䈇䈋 VCCINT > .75V 䈲䈇 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷 䊜䊝䊥䉕⛮⛯⊛䈮䉪䊥䉝 䈲䈇 PROGRAM_B = 㩷Low? 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷 䊜䊝䊥䉕䉅䈉㩷㪈㩷ᐲ䉪䊥䉝 INIT_B = High? 䈇䈇䈋 䈲䈇 䊝䊷䊄㩷䊏䊮䉕 ⺒䉂ㄟ䉂 JTAG ↪น⢻ CFG_IN 䉲䊞䉾䊃䉻䉡䊮㩷 䉲䊷䉬䊮䉴 䉕⺒䉂ㄟ䉂 JSHUTDOWN 䉕⺒䉂ㄟ䉂 䊎䉾䊃䉴䊃䊥䊷䊛䉕 ⺒䉂ㄟ䉂 CRC 䈇䈇䈋 䈪䉣䊤䊷䈭䈚 ? 䉴䉺䊷䊃䉝䉾䊒 䉕ਛᱛ 䈲䈇 หᦼ㩷TAP 䊥䉶䉾䊃 (TMS 䈮㩷㪈㩷䉕 㩷㪌㩷࿁ଏ⛎) JSTART 䉕 ⺒䉂ㄟ䉂 䉴䉺䊷䊃䉝䉾䊒㩷 䉲䊷䉬䊮䉴 䈲䈇 േน⢻ 䊥䉮䊮䊐䉞䉩䊠 䊧䊷䉲䊢䊮 ? 䈇䈇䈋 UG191_c3_06_072407 図 3-6 : デザイ ン コ ン フ ィ ギ ュ レーシ ョ ンの フ ロー図 96 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R IEEE 1149.1 を使用 し た Virtex-5 デバイ スのバウンダ リ スキ ャ ン 単一デバイ スの コ ン フ ィ ギ ュ レ ーシ ョ ン 表 3-4 で、Virtex-5 デバ イ ス の コ ン フ ィ ギ ュ レーシ ョ ンに必要な TAP コ ン ト ロ ー ラ の コ マン ド につ いて説明 し ます。 TAP コ ン ト ロ ー ラ の ス テー ト は、 図 3-2 を参照 し て く だ さ い。 iMPACT を使用 し て コ ン フ ィ ギ ュ レーシ ョ ンす る 場合、 TAP コ ン ト ロ ー ラ の コ マ ン ド は自動的に実行 さ れます。 表 3-4 : 単一デバイ スの コ ン フ ィ ギ ュ レーシ ョ ン シーケ ン ス セ ッ ト ア ッ プお よびホール ド TAP コ ン ト ロー ラの状態 ク ロ ッ ク数 TDI TMS TCK 電源投入時に 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) bit1 ... bitn 0 ( ビ ッ ト ス ト リ ーム 中のビ ッ ト ) -1 bit0 1 1 X 1 1 X 1 5 13. RTI ス テー ト に移行 し ます。 X 1 1 14. SELECT-IR ス テー ト に移行 し ます。 X 1 2 15. SHIFT-IR ス テー ト に移行 し ます。 X 0 2 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. が ビ ッ ト ス ト リ ームの最初の ビ ッ ト です。(1) 10. ビ ッ ト ス ト リ ームの最後の ビ ッ ト を シ フ ト 入力 し ます。 Bit 0 (LSB) は、 EXIT1-DR ス テー ト への遷移時にシ フ ト し ます。 11. UPDATE-DR ス テー ト に移行 し ます。 12. TMS に ロ ジ ッ ク 1 を 5 回供給す る こ と に よ り 、 TAP を リ セ ッ ト し ます。 16. JSTART 命令の読み込みを開始 し ます。 JSTART 命令に よ っ て ス タ ー ト ア ッ プ シーケ ン ス が初期化 さ れます。 メモ : 1. コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ の場合、 右 (TDI) か ら 左 (TDO) に MSB か ら 順にデー タ がシ フ ト 入力 さ れ ま す。 コ ン フ ィ ギ ュ レー シ ョ ン レ ジ ス タ へのシ フ ト 入力は、 その他の レ ジ ス タ へのシ フ ト 入力 と は異な り 、 MSB が先にな り ま す。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 97 R 第 3 章 : バウン ダ リ スキ ャ ンおよび JTAG コ ン フ ィ ギ ュ レーシ ョ ン 複数デバイ スの コ ン フ ィ ギ ュ レ ーシ ョ ン チ ェ ーン接続 し てい る 複数の 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 回入力 し ます。 こ の段階ですべてのデバ イ スはア ク テ ィ ブにな り ます。 JTAG Header TDO Virtex-5 FPGA TDI TDI TMS TMS TCK TDO Virtex-5 FPGA TDI TDO TMS Virtex-5 FPGA TDI TDO TMS TCK TCK TCK PROGRAM_B PROGRAM_B PROGRAM_B Device 0 Device 1 Device 2 UG191_c3_01_072407 図 3-7 : デバイ スのバウン ダ リ スキ ャ ン チ ェ ーン 98 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R IEEE 1149.1 を使用 し た Virtex-5 デバイ スのバウンダ リ スキ ャ ン バウ ン ダ リ スキ ャ ン を使用 し た リ コ ン フ ィ ギ ュ レ ーシ ョ ン Virtex-5 デバ イ スは、 部分的な リ コ ン フ ィ ギ ュ レーシ ョ ンが可能であ る ため、 リ コ ン フ ィ ギ ュ レー シ ョ ン 時に コ ン フ ィ ギ ュ レ ーシ ョ ン メ モ リ は消去 さ れ ま せん。 デバ イ ス チ ェ ー ン を リ コ ン フ ィ ギ ュ レーシ ョ ンす る 場合は、表 3-4 の手順 3 を参照 し て く だ さ い。 内部競合を発生 さ せずに Virtex-5 デバ イ ス を リ コ ン フ ィ ギ ュ レーシ ョ ンす る 方法は 2 つあ り ます。 1 つは PROGRAM_B に信号を供 給 し 、 内部の コ ン フ ィ ギ ュ レ ーシ ョ ン メ モ リ を リ セ ッ ト す る 方法で、 も う 1 つはシ ャ ッ ト ダ ウ ン シーケ ン ス を実行 し てデバ イ ス を安全な状態にす る 方法です。 次に示すシ ャ ッ ト ダ ウ ン シーケ ン ス では、 内部 レ ジ ス タ を使用 し てい ます。 (内部レ ジ ス タ の詳細は、 第 7 章 「 リ ー ド バ ッ ク お よ び コ ン フ ィ ギ ュ レーシ ョ ンの検証」 を参照)。 1. CFG_IN 命令を読み込みます。 2. SHIFT-DR ス テー ト で、 同期ワ ー ド を読み込み、 次に RCRC (Reset CRC Register) コ マン ド を読み込みます。 1111 1010 0011 0000 0010 0000 1111 1010 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 1111 1001 0000 0000 0000 0000 1111 0101 1000 0000 0000 0000 1111 0101 0000 0000 0000 0000 1111 0110 0000 0000 0000 0000 1111→ 0110→ 0001→ 0111→ 0000→ 0000→ Dummy word Synchronization word Header: Write to CMD register RCRC command NO-OP 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_B 0000 0000 0000 0000 0000 0000 0000 0000→ flush pip 7. すべての コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト が読み込まれた ら 、TMS に 1 を 5 回入力 し て TAP を リ セ ッ ト し ます。 8. SHIFT-IR ス テー ト に移行 し 、 JSTART 命令を読み込みます。 9. RTI ス テー ト に移行 し 、TCK に ク ロ ッ ク を 12 回以上入力 し てシ ャ ッ ト ダ ウ ン シーケ ン ス を開 始 し ます。 10. TLR ス テー ト に移行 し 、 リ コ ン フ ィ ギ ュ レーシ ョ ン プ ロ セ ス を完了 し ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 99 R 第 3 章 : バウン ダ リ スキ ャ ンおよび JTAG コ ン フ ィ ギ ュ レーシ ョ ン IEEE 1532 を使用 し た Virtex-5 デバイ スのバウン ダ リ スキ ャ ン ISC モーダル ス テー ト 䊁䉴䊃એᄖ䈱 છᗧ䈱䇮 ISC_ENABLE 䈱ታⴕ ISC_ENABLE 䈱ታⴕ Unprogrammed (0,0) ISC_Accessed (1,X) TLR & ISC_Done 䈲䉪䊥䉝 䊁䉴䊃એᄖ䈱 છᗧ䈱䇮 ISC_DISABLE㩷䈱ታⴕ 䊁䉴䊃એᄖ䈱છᗧ䈱䇮 ISC_DISABLE㩷䈱⺒䉂ㄟ䉂䇮 ISC_DONE㩷䈲䉪䊥䉝 ISC_Done 䈲䉪䊥䉝 TLR 䈍䉋䈶 ISC_Done 㔚Ḯᛩ ISC_DISABLE 䈲䉶䉾䊃 䈱ታⴕ ISC_ENABLE 䈱ታⴕ ISC_Done 䈲䉶䉾䊃 ISC_DISABLE 䊁䉴䊃એᄖ䈱 છᗧ䈱䇮 ISC_ENABLE 䈱ታⴕ 䈱⺒䉂ㄟ䉂 Operational (0,1) ISC Complete (0,X) 䊁䉴䊃એᄖ䈱છᗧ䈱䇮 ISC_DISABLE㩷䈱⺒䉂ㄟ䉂䇮 ISC_DONE㩷䈲䉶䉾䊃 (ISC_Enabled䇮ISC_Done) UG191_c3_08_050406 図 3-8 : 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 ス テー ト にな り ます。 100 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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 です。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 101 R 第 3 章 : バウン ダ リ スキ ャ ンおよび JTAG コ ン フ ィ ギ ュ レーシ ョ ン JTAG を使用 し た場合の コ ン フ ィ ギ ュ レ ーシ ョ ン フ ロー 㔚Ḯᛩ PROGRAM_B Vcc > ? A 䈇䈇䈋 䊎䉾䊃䉴䊃䊥䊷䊛㩷䊂䊷䉺 䉕㩷64㩷䊎䉾䊃⺒䉂ㄟ䉂 䈲䈇 PROGRAM_B? 䈲䈇 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷䊜䊝䊥䉕 ⛮⛯ᢜ䈮䉪䊥䉝 RTI 䈪㩷TCK㩷䉕 1㩷䉰䉟䉪䊦 䈇䈇䈋 䈇䈇䈋 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷 䊜䊝䊥䉕䉅䈉㩷㪈㩷ᐲ䉪䊥䉝 䊂䊷䉺䈱 ᦨᓟ ? 䈲䈇 INIT_B = High? CRC 䈪 䉣䊤䊷䈭䈚㩷? 䈇䈇䈋 䈇䈇䈋 INIT_B 䉕㩷Low ᱛ 䈲䈇 䈲䈇 䊝䊷䊄㩷䊏䊮䉕 ⺒䉂ㄟ䉂 ISC_DISABLE 䉕⺒䉂ㄟ䉂 RTI 䈪㩷TCK㩷䉕 12㩷䉰䉟䉪䊦એ ISC_ENABLE 䉕 ⺒䉂ㄟ䉂 േน⢻ 00000 䉕⺒䉂ㄟ䉂 RTI 䈪㩷TCK㩷䉕 12㩷䉰䉟䉪䊦એ 䈲䈇 䊥䉮䊮䊐䉞䉩䊠 䊧䊷䉲䊢䊮 ? 䈇䈇䈋 ISC_PROGRAM 䉕⺒䉂ㄟ䉂 A UG191_c3_09_072507 図 3-9 : IEEE 1532 コ ン フ ィ ギ ュ レーシ ョ ン フ ロー 102 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R IEEE 1532 を使用 し た Virtex-5 デバイ スのバウン ダ リ スキ ャ ン TAP IDCODE ISC_ENABLE ISC_DISABLE એᄖ䈱 ISC_DISABLE BYPASS ISC_Complete േน⢻ ISC_Enabled ISC_Done 䉴䉺䊷䊃䉝䉾䊒䈱⚳ੌ 䊝䊷䉻䊦㩷䉴䊁䊷䊃 ISC_Accessed Unprogrammed 䉲䉴䊁䊛ജ 䉝䉪䊁䉞䊑 䊂䉞䉴䉣䊷䊑䊦 (䊃䊤䉟䉴䊁䊷䊃) 䉴䉺䊷䊃䉝䉾䊒 UG191_c3_10_050406 図 3-10 : ISC の初回コ ン フ ィ ギ ュ レーシ ョ ンの タ イ ミ ング TAP IDCODE ISC_ENABLE ISC_DISABLE એᄖ䈱 ISC_DISABLE BYPASS ISC_Complete േน⢻ ISC_Enabled ISC_Done 䉴䉺䊷䊃䉝䉾䊒䈱⚳ੌ 䊝䊷䉻䊦㩷䉴䊁䊷䊃 േน⢻ 䉲䉴䊁䊛ജ ISC_Accessed 䉝䉪䊁䉞䊑 䊂䉞䉴䉣䊷䊑䊦 䉴䉺䊷䊃䉝䉾䊒 UG191_c3_11_050406 図 3-11 : ISC の部分的または完全な リ コ ン フ ィ ギ ュ レーシ ョ ンの タ イ ミ ング Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 103 R 104 第 3 章 : バウン ダ リ スキ ャ ンおよび JTAG コ ン フ ィ ギ ュ レーシ ョ ン japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R 第4章 ユーザー プ リ ミ テ ィ ブ 本章で説明す る プ リ ミ テ ィ ブを使用す る と 、 コ ン フ ィ ギ ュ レーシ ョ ン中ま たは コ ン ギ ュ レーシ ョ ン 後に FPGA コ ン フ ィ ギ ュ レーシ ョ ン リ ソ ース にア ク セ ス で き ます。 BSCAN_VIRTEX5 JTAG は、 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 入力 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 ユーザー フ ァ ブ リ ッ ク ロ ジ ッ ク か ら 駆動 さ れます。 FPGA の TDO に 供給 さ れ る 前に、 内部で立ち下が り エ ッ ジで読み込まれます。 japan.xilinx.com 105 R 第 4 章 : ユーザー プ リ ミ テ ィ ブ CAPTURE_VIRTEX5 CAPTURE_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」 ) と 同時に動作 さ せないで く だ さ い。 コ ン フ ィ ギ ュ レー シ ョ ン メ モ リ に値を キ ャ プチ ャ す る こ と に よ っ て、 誤っ たエ ラ ーが発生する 可能性があ り ます。 表 4-2 : CAPTURE_VIRTEX5 のピ ン ピ ン名 タ イプ 説明 CLK 入力 CAP 入力の読み込みに使用す る ク ロ ッ ク です。 CAP 入力 ア ク テ ィ ブ High のキ ャ プチ ャ イ ネーブル信号で、 CLK の 立ち上が り エ ッ ジで読み込まれます。 ICAP_VIRTEX5 ICAP_VIRTEX5 プ リ ミ テ ィ ブは、 フ ァ ブ リ ッ ク に あ る 点を 除 き 、 SelectMAP コ ン フ ィ ギ ュ レ ー シ ョ ン イ ン タ ーフ ェ イ ス と 同様に機能 し ます。 ま た、 SelectMAP には双方向バ ス があ る のに対 し て ICAP には読み出 し /書き 込みに別々のバス があ り ます。「SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス」 で説明 さ れてい る 通常の SelectMAP の タ イ ミ ン グお よ び SelectMAP ビ ッ ト ス ト リ ームの順序に関す る 情報は、 ICAP に も 適用 さ れ ます。 ICAP_VIRTEX5 プ リ ミ テ ィ ブ を使用す る と 、 コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ へのア ク セ ス、 コ ン フ ィ ギ ュ レーシ ョ ン デー タ の リ ー ド バ ッ ク 、 お よ び FPGA の コ ン フ ィ ギ ュ レーシ ョ ン後のパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンが可 能 と な り ます。 ICAP のデー タ 幅は、ICAP WIDTH パ ラ メ ー タ を使用 し て x8、x16、x32 の 3 つか ら 選択で き ます。 2 つの ICAP ポー ト を 同時に動作 さ せ る こ と はで き ま せん。 上部の ICAP か ら 動作 さ せ、 2 つの ICAP を交互に使用す る 必要があ り ます。 表 4-3 : ICAP_VIRTEX5 のピ ン ピ ン名 106 タ イプ 説明 CLK 入力 ICAP イ ン タ ーフ ェ イ ス ク ロ ッ ク です。 CE 入力 ア ク テ ィ ブ Low の ICAP イ ン タ ーフ ェ イ ス選択入力です。 SelectMAP イ ン タ ーフ ェ イ ス の CS_B と 同様に機能 し ます。 WRITE 入力 0=WRITE、 1=READ です。 SelectMAP イ ン タ ーフ ェ イ ス の RDWR_B と 同様に機能 し ます。 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R FRAME_ECC_VIRTEX5 表 4-3 : ICAP_VIRTEX5 のピ ン (続き ) ピ ン名 I[31:0] タ イプ 説明 入力 ICAP 書 き 込みデー タ バ ス で、 バ ス幅は ICAP_WIDTH パ ラ メ ー タ で指定 し ます。 ビ ッ ト 順は、 SelectMAP イ ン タ ーフ ェ イ ス と 同 じ です。 SelectMAP のデー タ 順は、 図 2-19 を参照 し て く だ さ い。 O[31:0] 出力 ICAP 読み出 し デー タ バ ス で、 バ ス幅は ICAP_WIDTH パ ラ メ ー タ で指定 し ます。 ビ ッ ト 順は、 SelectMAP イ ン タ ーフ ェ イ ス と 同 じ です。 SelectMAP のデー タ 順は、 図 2-19 を参照 し て く だ さ い。 BUSY 出力 ア ク テ ィ ブ High の BUSY ス テー タ ス信号です。 読み出 し での み使用 さ れ、 書き 込み中は Low に保持 さ れます。 FRAME_ECC_VIRTEX5 Virtex-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. 次の フ レーム ア ド レ ス か ら リ ー ド バ ッ ク を再開 し ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 107 R 第 4 章 : ユーザー プ リ ミ テ ィ ブ シ ン ド ロ ーム ビ ッ ト S[10:0] はハ ミ ン グ パ リ テ ィ ビ ッ ト か ら 導出 さ れ、S[11] は全般パ リ テ ィ ビ ッ ト か ら 導出 さ れます。 シ ン ド ロ ーム ビ ッ ト は、 次の よ う に解釈 さ れます。 = 0 : エ ラ ーな し S[11] = 1、 S[10:0] が示 さ れます (間接的)。 ≠ 0 : 1 ビ ッ ト (SED) エ ラ ー。 S[10:0] に よ り 修正が必要な ビ ッ ト の位置 S[11] = 1、 S[10:0] います。 = 0 : 1 ビ ッ ト エ ラ ー。 全般パ リ テ ィ ビ ッ ト p[11] でエ ラ ーが発生 し て ≠ 0 : 2 ビ ッ ト エ ラ ー。 修正不可能です。 S[11] S[11] = = 0、 S[10:0] 0、 S[10:0] フ レーム デー タ に 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 にな り ます。 108 100000000001 -> 640 100000000010 -> 641 100000000100 -> 642 100000001000 -> 643 100000010000 -> 644 100000100000 -> 645 100001000000 -> 646 100010000000 -> 647 100100000000 -> 648 101000000000 -> 649 110000000000 -> 650 100000000000 -> 651 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R USR_ACCESS_VIRTEX5 表 4-4 に、 FRAME_ECC_VIRTEX5 の ピ ン の説明 を 示 し ま す。 詳細は、 第 9 章 「 リ ー ド バ ッ ク CRC」 を参照 し て く だ さ い。 表 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」 を 参照) 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-OfStartup) 信号のアサー ト 後に 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 レ ジ ス タ 」 を参照)。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 109 R 第 4 章 : ユーザー プ リ ミ テ ィ ブ 表 4-5 : USR_ACCESS_VIRTEX5 のピ ン ピ ン名 タ イプ 説明 CFG_CLK 出力 コ ン フ ィ ギ ュ レーシ ョ ン ク ロ ッ ク 用の ピ ンです。 DATA[31:0] 出力 ビ ッ ト ス ト リ ームか ら のユーザー ア ク セ ス デー タ です。 DATAVALID 出力 DATA[31:0] が読み出 し 可能な状態であ る こ と を示 し ます。 STARTUP_VIRTEX5 STARTUP_VIRTEX5 プ リ ミ テ ィ ブはフ ァ ブ リ ッ ク イ ン タ ーフ ェ イ ス と し て機能 し 、 EOS (End of Startup) 後にユーザーがグ ローバル信号の一部を制御で き る よ う に し ます。 表 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 出力 コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク の主要 ク ロ ッ ク の出力です。 TCKSPI お よ び DINSPI は、 フ ァ ブ リ ッ ク か ら TCK お よ び D_IN 専用ピ ンへのア ク セ ス を可能に す る ため追加 さ れま し た。 こ れ ら の ピ ンは、間接的な SPI フ ラ ッ シ ュ プ ロ グ ラ ムお よ び SPI フ ラ ッ シ ュ コ ン フ ィ ギ ュ レーシ ョ ン後の フ ァ ブ リ ッ ク か ら のア ク セ ス に使用で き ます。 CFGMCLK は コ ン フ ィ ギ ュ レーシ ョ ンの内部オシ レー タ で駆動 さ れます。 レー ト は約 50MHz で、 フ ァ ブ リ ッ ク の リ ン グ オシ レー タ の代わ り に汎用 ク ロ ッ ク ソ ース と し て使用で き ます。 CFGCLK は、 コ ン フ ィ ギ ュ レーシ ョ ンの主要 ク ロ ッ ク です。 未使用の入力ピ ンは、 未接続の ま ま にす る かグ ラ ン ド に接続 し ます。 110 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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 には、 リ コ ン フ ィ ギ ュ レ ーシ ョ ン ロ ジ ッ ク に よ っ て こ の コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト の読み出 し /書 き 込みフ ロ ーが ど の よ う に変更 さ れ る かを示 し ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 111 R 第 5 章 : ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン ポー ト (DRP) 䈖䈱䊑䊨䉾䉪䈱䈜䈼䈩䈱 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷䊎䉾䊃 䊑䊨䉾䉪㩷䊨䉳䉾䉪䈻 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷䊨䉳䉾䉪 䊐䉜䊮䉪䉲䊢䊮㩷䊑䊨䉾䉪 (DCM 䉁䈢䈲 MGT) UG191_c5_01_050406 図 5-1 : ダ イ ナ ミ ッ ク イ ン タ ー フ ェ イ ス を使用 し ない場合の ブ ロ ッ ク コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク 䊑䊨䉾䉪㩷䉴䊁䊷䉺䉴 (⺒䉂ㄟ䉂ኾ↪䊘䊷䊃) ᮡḰ䊥䉮䊮䊐䉞䉩䊠 䊧䊷䉲䊢䊮㩷䊘䊷䊃 (䊐䉜䊑䊥䉾䉪䈻) 䉮䊮䊃䊨䊷䊤 䊐䉜䊮䉪䉲䊢䊮㩷䉟䊈䊷䊑䊦 (ᦠ䈐ㄟ䉂ኾ↪䊘䊷䊃) 䊨䉳䉾䉪㩷䊒䊧䊷䊮 䊥䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷䊎䉾䊃 䊑䊨䉾䉪㩷䊨䉳䉾䉪䈻 䈖䈱䊑䊨䉾䉪䈱䈜䈼䈩䈱 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷䊎䉾䊃 䊥䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷䊎䉾䊃એᄖ䈱䊎䉾䊃 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮 䊨䉳䉾䉪 䊑䊨䉾䉪㩷䊨䉳䉾䉪䈻 䊐䉜䊮䉪䉲䊢䊮㩷䊑䊨䉾䉪 (DCM 䉁䈢䈲 MGT) UG191_c5_02_050406 図 5-2 : ダ イ ナ ミ ッ ク イ ン タ ー フ ェ イ ス を使用する場合の ブ ロ ッ ク コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク 図 5-3 は図 5-2 と 同 じ ですが、 図 5-3 では ロ ジ ッ ク プ レーン と フ ァ ン ク シ ョ ン ブ ロ ッ ク 間のポー ト に実際の信号名 と 方向を示 し てい ます。 DCLK DEN ᮡḰ䊥䉮䊮䊐䉞䉩䊠 䊧䊷䉲䊢䊮㩷䊘䊷䊃 (䊐䉜䊑䊥䉾䉪䈻) 䊑䊨䉾䉪㩷䉴䊁䊷䉺䉴 DWE DADDR[m:0] DI[n:0] (⺒䉂ㄟ䉂ኾ↪䊘䊷䊃) 䉮䊮䊃䊨䊷䊤 DO[n:0] 䊐䉜䊮䉪䉲䊢䊮㩷䉟䊈䊷䊑䊦 DRDY (ᦠ䈐ㄟ䉂ኾ↪䊘䊷䊃) 䊨䉳䉾䉪㩷䊒䊧䊷䊮 䊥䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷䊎䉾䊃 䊑䊨䉾䉪㩷䊨䉳䉾䉪䈻 䈖䈱䊑䊨䉾䉪䈱䈜䈼䈩䈱 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷䊎䉾䊃 䊥䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷䊎䉾䊃એᄖ䈱䊎䉾䊃 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮 䊨䉳䉾䉪 䊑䊨䉾䉪㩷䊨䉳䉾䉪䈻 䊐䉜䊮䉪䉲䊢䊮㩷䊑䊨䉾䉪 (DCM 䉁䈢䈲 MGT) UG191_c5_03_050406 図 5-3 : 信号名を示 し たブ ロ ッ ク コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク 112 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R フ ァ ン ク シ ョ ン ブ ロ ッ ク のダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン FPGA フ ァ ブ リ ッ ク ポー ト について 114 ページの表 5-1 に、 FPGA フ ァ ブ リ ッ ク ポー ト 上の各信号を示 し ます。 各フ ァ ン ク シ ョ ン ブ ロ ッ ク には、 すべての信号 ま たは信号のサブセ ッ ト を イ ン プ リ メ ン ト で き ま す。 『Virtex-5 FPGA User 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』 に記載 さ れてい ます。 DCLK DEN DRDY DWE DADDR[m:0] bb DI[n:0] BB DO[n:0] UG191_c5_04_050406 図 5-4 : 待機状態のある書き込み タ イ ミ ング Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 113 R 第 5 章 : ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン ポー ト (DRP) DCLK DEN DRDY DWE DADDR[m:0] AA DI[n:0] DO[n:0] AA UG191_c5_05_050406 図 5-5 : 待機状態のある読み出 し タ イ ミ ング 表 5-1 : ポー ト 信号の定義 方向(1) 説明 入力 すべてのポート 信号のタ イ ミ ン グ は、 こ の信号の立ち上がり エッ ジを 基準と し ていま す。 その他の入力信号の DCLK の立ち 上がり エッ ジに対する ホ ールド タ イ ム 要件は 0 (最大) です。 DCLK は通常、グ ロ ーバル ク ロ ッ ク バッ フ ァ で駆動さ れま す。 DEN 入力 すべてのポー ト の処理を有効に し ます。 DWE が FALSE の場 合は読み出 し を実行 し 、 それ以外の場合は、 書き 込みを実行 し ます。 DCLK サ イ ク ルで DEN が非ア ク テ ィ ブの場合、 ほか のすべての入力信号は ド ン ト ケ ア と な り ます。 DWE 入力 ア ク テ ィ ブの場合、 ポー ト への書き 込み処理が有効にな り ま す (上記の 「DEN」 を参照)。 DADDR[m:0] 入力 信号名 DCLK DCLK の次のサ イ ク ルで書 き 込みま たは読み出 し を実行す る セルを指定 し ます。 ア ド レ ス は、 DEN がア ク テ ィ ブであ る サ イ ク ルで示 さ れます。 DI[n:0] 入力 ア ド レ ス指定 さ れたセルに書き 込まれ る デー タ です。 デー タ は、 DEN お よび DWE がア ク テ ィ ブであ る サ イ ク ルで示 さ れ ます。 こ のデー タ は、 サ イ ク ルの最後で レ ジ ス タ に取 り 込まれ ますが、 実際の書き 込みは DRDY がアサー ト さ れ る ま での不 特定の時間に実行 さ れます。 DEN が有効で DWE が非ア ク テ ィ ブの場合、 DRDY がア ク DO[n:0] 114 出力 テ ィ ブにな っ た と き に、 ア ド レ ス指定 さ れたセルか ら 読み出 さ れたデー タ が こ のバ ス上に現れます。 それ以外の場合、 DO[n:0] 上の値は特定 さ れません。 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R フ ァ ン ク シ ョ ン ブ ロ ッ ク のダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン 表 5-1 : ポー ト 信号の定義 (続き ) 信号名 方向(1) DRDY 出力 説明 DEN に対応す る 信号であ り 、 DRP サ イ ク ルが完了 し 、 次の DRP サ イ ク ルを開始で き る こ と を示 し ます。 ポー ト 読み出 し の場合、 DRDY がア ク テ ィ ブなサ イ ク ルにおいて、 DCLK の 立ち上が り エ ッ ジで DO バ ス のデー タ を キ ャ プチ ャ す る 必要 があ り ます。 DEN がア ク テ ィ ブにな り 、 次のポー ト サ イ ク ル を開始で き る 最初のサ イ ク ルは、 DRDY がア ク テ ィ ブにな る ク ロ ッ ク サ イ ク ル と 同一です。 メモ : 1. 入力は DRP への入力 (書 き 込み) を意味 し ま す。 逓倍値 と 分周値の変更 逓倍値 と 分周値 (M/D) は、 DRP を介 し て 16 進ア ド レ ス 50h に対 し て読み込みお よ び書 き 込みを 実行す る こ と に よ り 、 DCM に直接プ ロ グ ラ ムで き ます。 ユーザー アプ リ ケーシ ョ ンでは、 まずア ド レ ス 50h か ら 読み出 し て M 値 ま たは D 値が変更 さ れてい る か ど う か を確認す る 必要が あ り ま す。 M 値を 16 ビ ッ ト DRP デー タ ワ ー ド の上位バ イ ト 、 D 値を下位バ イ ト に配置 し 、 ワ ー ド 全体 を再び書 き 込みます。両方の値が同時に変更 さ れてい る 場合は、書 き 込みサ イ ク ルのみが必要です。 M/D 値を変更 し てい る 間は、 入力 RST を ア ク テ ィ ブに し て DCM を リ セ ッ ト 状態に し てお く 必要 があ り ます。 RST が解放 さ れた後、 DCM の ク ロ ッ ク 出力が有効にな る と 、 LOCKED 信号が High にな り ます。 表 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 で逓倍 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 115 R 第 5 章 : ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン ポー ト (DRP) 表 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 で分周 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 ス テー タ ス出力が復元 さ れます。 116 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 117 R 第 6 章 : コ ン フ ィ ギ ュ レーシ ョ ンの詳細 表 6-1 : Virtex-5 のフ レーム数、 フ レームのサイ ズ、 オーバーヘ ッ ド 、 およびビ ッ ト ス ト リ ームのサイズ (続き ) デバイ ス コ ン フ ィ ギュ レー コ ン フ ィ ギュ レー シ ョ ン フ レ ーム以外 シ ョ ン フ レ ーム数 (1) の フ レ ーム数 合計 フ レ ーム数 フ レ ーム のサイ ズ (ワー ド 数)(2) コ ン フ ィ ギュ レー シ ョ ン ア レ イの サイ ズ (ワー ド 数)(3) ビ ッ ト ス ト リ ームの オーバーヘ ッ ド ( ワー ド 数)(4) 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. 3. 4. コ ン フ ィ ギ ュ レーシ ョ ン フ レーム以外の フ レームは、 ビ ッ ト ス ト リ ーム サ イ ズには影響 し ません。 すべての Virtex-5 コ ン フ ィ ギ ュ レーシ ョ ン フ レームには、 41 個の 32 ビ ッ ト ワ ー ド が含 ま れてい ます。 コ ン フ ィ ギ ュ レーシ ョ ン ア レ イ のサ イ ズは、 コ ン フ ィ ギ ュ レーシ ョ ン フ レーム数に フ レーム ご と の ワ ー ド 数を掛け た値です。 コ ン フ ィ ギ ュ レーシ ョ ンのオーバーヘ ッ ド は、 コ ン フ ィ ギ ュ レーシ ョ ンの実行に必要な コ マ ン ド で、 メ モ リ セルを プ ロ グ ラ ム し ない も のです。 こ のオーバーヘ ッ ド は、 ビ ッ ト ス ト リ ームのサ イ ズに影響 し ます。 コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ Virtex-5 FPGA のすべての ビ ッ ト ス ト リ ーム コ マ ン ド は、 コ ン フ ィ ギ ュ レ ーシ ョ ン レ ジ ス タ に対 す る 読み出 し ま たは書 き 込みに よ っ て実行 さ れます。 パケ ッ ト タ イ プ FPGA の ビ ッ ト ス ト リ ームは、 タ イ プ 1 と タ イ プ 2 の 2 つのパケ ッ ト タ イ プで構成 さ れます。 次 に、 各パケ ッ ト タ イ プ と その使用について説明 し ます。 タ イ プ 1 パケ ッ ト タ イ プ 1 のパケ ッ ト は、 レ ジ ス タ の読み出 し お よ び書 き 込みに使用 さ れます。 Virtex-5 FPGA で使 用 さ れ る レ ジ ス タ ア ド レ ス ビ ッ ト は、14 ビ ッ ト の う ちの 5 ビ ッ ト のみです。 ヘ ッ ダ セ ク シ ョ ンは、 常に 32 ビ ッ ト ワ ー ド です。 タ イ プ 1 パケ ッ ト のヘ ッ ダ セ ク シ ョ ンの後には、 タ イ プ 1 のデー タ セ ク シ ョ ンが続 き ます。 こ の セ ク シ ョ ンには、 ヘ ッ ダの ワ ー ド カ ウ ン ト 部で指定 さ れ る 32 ビ ッ ト ワ ー ド の数が含まれます。 表 6-2 : タ イ プ 1 パケ ッ ト ヘ ッ ダ形式 ヘッダ タ イプ Opcode レジス タ ア ド レス 予約済み ワー ド 数 [31:29] [28:27] [26:13] [12:11] [10:0] 001 xx RRRRRRRRRxxxxx RR xxxxxxxxxxx メモ : 1. 「R」 は、 その ビ ッ ト は未使用で、 今後の使用のために予約 さ れてい る こ と を示 し ま す。 118 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン レ ジス タ 表 6-3 : Opcode の形式 Opcode 機能 00 NOP 01 読み出 し 10 書 き 込み 11 予約済み タ イ プ 2 パケ ッ ト タ イ プ 1 に後続す る タ イ プ 2 のパケ ッ ト は、 長いブ ロ ッ ク の書 き 込みに使用 さ れます。 こ のパケ ッ ト には タ イ プ 1 パケ ッ ト のア ド レ ス が使用 さ れ る ため、 ア ド レ スはあ り ません。 ヘ ッ ダ セ ク シ ョ ン は、 常に 32 ビ ッ ト ワ ー ド です。 タ イ プ 2 パケ ッ ト のヘ ッ ダ セ ク シ ョ ンの後には、 タ イ プ 2 のデー タ セ ク シ ョ ンが続 き ます。 こ の セ ク シ ョ ンには、 ヘ ッ ダの ワ ー ド カ ウ ン ト 部で指定 さ れ る 32 ビ ッ ト ワ ー ド の数が含まれます。 表 6-4 : タ イ プ 2 パケ ッ ト ヘ ッ ダ ヘッダ タ イプ Opcode ワー ド 数 [31:29] [28:27] [26:0] 010 RR xxxxxxxxxxxxxxxxxxxxxxxxxx ビ ッ ト ス ト リ ーム形式の詳細は、 第 6 章 「コ ン フ ィ ギ ュ レーシ ョ ンの詳細」 を参照 し て く だ さ い。 タ イ プ 1 パケ ッ ト レ ジ ス タ 表 6-5 に、 タ イ プ 1 パケ ッ ト の レ ジ ス タ を示 し 、 それ ら について説明 し ます。 表 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 複数フ レームの書 き 込みレ ジ ス タ Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 説明 フ レーム デー タ レ ジ ス タ 、 入力レ ジ ス タ ( コ ン フ ィ ギ ュ レーシ ョ ン デー タ の書 き 込み) フ レーム デー タ レ ジ ス タ 、 出力レ ジ ス タ ( コ ン フ ィ ギ ュ レーシ ョ ン デー タ の読み出 し ) 119 R 第 6 章 : コ ン フ ィ ギ ュ レーシ ョ ンの詳細 表 6-5 : タ イ プ 1 パケ ッ ト レ ジ ス タ (続き ) レ ジス タ 名 読み出 し /書き込み ア ド レス 書 き 込み 01011 初期 CBC 値レ ジ ス タ IDCODE 読み出 し /書 き 込み 01100 デバ イ ス ID レ ジ ス タ AXSS 読み出 し /書 き 込み 01101 ユーザー ビ ッ ト ス ト リ ーム ア ク セ ス レ ジ ス タ COR1 読み出 し /書 き 込み 01110 コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ン レ ジ ス タ 1 CSOB 書 き 込み 01111 デ イ ジー チ ェ ーンのパ ラ レル イ ン タ ーフ ェ イ ス に使用、 LOUT と 類似 CBC 説明 WBSTAR 読み出 し /書 き 込み 10000 ウ ォーム ブー ト の開始ア ド レ ス レ ジ ス タ TIMER 読み出 し /書 き 込み 10001 ウ ォ ッチ ド ッ グ タ イマ レジス タ 読み出 し 10110 ブー ト 履歴ス テー タ ス レ ジ ス タ 読み出 し /書 き 込み 11000 制御レ ジ ス タ 1 BOOTSTS CTL1 CRC レ ジ ス タ こ の レ ジ ス タ への書 き 込みに よ っ て、 ビ ッ ト ス ト リ ーム デー タ に対す る CRC チ ェ ッ ク が実行 さ れ ます。 書 き 込まれた値が、 現時点で算出 さ れた CRC 値 と 一致す る と 、 CRC_ERROR フ ラ グが ク リ ア さ れて ス タ ー ト ア ッ プが可能 と な り ます。 FDRI レ ジ ス タ こ の レ ジ ス タ への書 き 込みに よ っ て、 FAR レ ジ ス タ で指定 さ れた フ レーム ア ド レ ス で、 フ レーム デー タ が コ ン フ ィ ギ ュ レ ーシ ョ ン さ れ ます。 詳細は、 133 ページの 「ビ ッ ト ス ト リ ームの構成」 を 参照 し て く だ さ い。 FDRO レ ジ ス タ こ の読み出 し 専用レ ジ ス タ は、 コ ン フ ィ ギ ュ レーシ ョ ン デー タ の フ レーム を FAR レ ジ ス タ で指定 さ れた ア ド レ ス か ら リ ー ド バ ッ ク す る ために使用 さ れ ます。 詳細は、 142 ページの 「 リ ー ド バ ッ ク コ マ ン ド シーケ ン ス」 を参照 し て く だ さ い。 MASK レ ジ ス タ CTL0 お よ び CTL1 レ ジ ス タ への書 き 込みは、 MASK レ ジ ス タ で ビ ッ ト マ ス ク さ れます。 LOUT レ ジ ス タ シ リ アル デ イ ジー チ ェ ーン コ ン フ ィ ギ ュ レーシ ョ ン中、 こ の レ ジ ス タ を使用 し て DOUT ピ ンへ デー タ が駆動 さ れます。 MFWR レ ジ ス タ ビ ッ ト ス ト リ ームの圧縮オプシ ョ ンで使用 さ れます。 CBC レ ジ ス タ ビ ッ ト ス ト リ ーム圧縮オプシ ョ ンで、 AES 復号化初期ベ ク タ (IV) の保持に使用 さ れます。 120 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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 レ ジ ス タ を リ セ ッ ト し ます。 シ ン グル シ ョ ッ ト モー ド で リ ー ド バ ッ ク キ ャ プチ ャ を実行後、 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 121 R 第 6 章 : コ ン フ ィ ギ ュ レーシ ョ ンの詳細 表 6-6 : コ マ ン ド レ ジ ス タ コ ー ド (続き ) コマン ド コー ド 説明 GHIGH_B 信号のアサー ト : すべての イ ン タ ー コ ネ ク ト をハ イ イ ン AGHIGH 01000 SWITCH 01001 GRESTORE 01010 ピーダ ン ス状態に し 、 新 し い コ ン フ ィ ギ ュ レーシ ョ ン デー タ を書 き 込む際に競合が発生 し ない よ う に し ます。 シ ャ ッ ト ダ ウ ン リ コ ン フ ィ ギ ュ レーシ ョ ンでのみ使用 さ れます。 イ ン タ ー コ ネ ク ト は、 LFRM コ マ ン ド に よ っ て再びア ク テ ィ ブにな り ます。 CCLK 周波数の切 り 替え : マ ス タ CCLK の周波数を COR0 レ ジ ス タ の OFSEL ビ ッ ト で指定 さ れた値に変更 し ます。 GRESTORE 信号のパルス : IOB お よ び CLB フ リ ッ プフ ロ ッ プを ユーザー設定に応 じ てセ ッ ト ま たは リ セ ッ ト し ます。 SHUTDOWN 01011 シ ャ ッ ト ダ ウ ン シーケ ン ス の開始 : シ ャ ッ ト ダ ウ ン シーケ ン ス を開 始 し 、 完了時にデバ イ ス をデ ィ ス エーブルに し ます。 CRC チ ェ ッ ク でエ ラ ーが検出 さ れない場合、 ま たは RCRC 命令でシ ャ ッ ト ダ ウ ン がア ク テ ィ ブにな り ます (通常は RCRC 命令を使用)。 GCAPTURE 01100 GCAPTURE のパルス : レ ジ ス タ のその時点の状態を キ ャ プチ ャ セル に取 り 込みます (156 ページの 「 リ ー ド バ ッ ク キ ャ プチ ャ 」 を参照)。 DESYNCH 01101 デバ イ ス を非同期に し ます。 非同期にな る と 、 コ ン フ ィ ギ ュ レーシ ョ ン デー タ ピ ン上のすべての値は無視 さ れます。 Reserved 01110 予約済み IPROG 01111 ウ ォーム ブー ト 開始用の内部 PROG CRCC 10000 RBCRC_SEL=0 の場合、 リ コ ン フ ィ ギ ュ レーシ ョ ン後に CFG に よ り 最初の リ ー ド バ ッ ク 値が再算出 さ れます。 GHIGH を ト グル し た場 合 も 同 じ 処理が実行 さ れます。 CRCC コ マン ド は、 リ コ ン フ ィ ギ ュ レーシ ョ ン中に GHIGH が ト グル さ れない場合に使用で き ます。 LTIMER 10001 ウ ォ ッ チ ド ッ グ タ イ マ を再読み込み し ます。 DALIGN 信号のパルス : コ ン フ ィ ギ ュ レーシ ョ ンの最後に使用 さ れ、 122 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン レ ジス タ 制御レ ジ ス タ 0 (CTL0) CTL0 お よ び CTL1 レ ジ ス タ は、 Virtex-5 デバ イ ス の コ ン フ ィ ギ ュ レ ーシ ョ ン に使用 さ れ ま す。 CTL0 レ ジ ス タ への書 き 込みは、 MASK レ ジ ス タ の値でマ ス ク さ れ ます。 こ れに よ り 、 SBITS お よ び PERSIST ビ ッ ト を再指定する こ と な く 、GTS_USR_B 信号を ト グルで き ます。 図 6-1 に CTL0 レ ジ ス タ の各ビ ッ ト 位置の名前を示 し 、 表 6-7 で各ビ ッ ト について説明 し ます。 GTS_USR_B 予約済み PERSIST SBITS[1:0] DEC 予約済み GLUTMASK_B SelectMAPAbort ConfigFallback 予約済み OverTempPowerDown ICAP_SELECT 予約済み 予約済み ビッ ト イ ンデ ッ ク ス 3 1 3 0 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 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: 1: OverTempPowerDown 12 上部 ICAP ポー ト を イ ネーブル ( デフ ォ ル ト ) 下位 ICAP ポー ト を イ ネーブル 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 : 書き 込み/読み出 し 共に不可 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 123 R 第 6 章 : コ ン フ ィ ギ ュ レーシ ョ ンの詳細 表 6-7 : 制御レ ジ ス タ 0 (続き ) ビ ッ ト 位置名 ビッ ト イ ンデ ッ ク ス PERSIST 説明 3 M2:M0 で指定 さ れた コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス を コ ン フ ィ ギ ュ レーシ ョ ン後 も 保持 し ます。 通常、 SelectMAP イ ン タ ーフ ェ イ ス でのみ使 用 し 、 リ コ ン フ ィ ギ ュ レーシ ョ ンお よ び リ ー ド バ ッ ク を可能に し ます。 「SelectMAP リ コ ン フ ィ ギ ュ レー シ ョ ン」 も 参照 し て く だ さ い。 保持 し ない (デフ ォル ト ) 保持する 0: 1: GTS_USR_B 0 ア ク テ ィ ブ Low で、 I/O を グ ロ ーバルに ト ラ イ ス テー ト に し ます。 GTS_CFG_B も アサー ト さ れてい る 場合は、 プルア ッ プを オフ に し ます。 I/O は ト ラ イ ス テー ト I/O はア ク テ ィ ブ 0: 1: 制御レ ジ ス タ 1 (CTL1) CTL0 お よ び CTL1 レ ジ ス タ は、 Virtex-5 デバ イ ス の コ ン フ ィ ギ ュ レ ーシ ョ ンに使用 さ れ、 CTL1 レ ジ ス タ は予約 さ れてい ます。 予約済み 説明 ビッ ト イ ンデ ッ ク ス 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 1 0 9 8 7 6 5 4 3 2 1 0 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) フ レ ーム ア ド レ ス レ ジ ス タ (FAR) Virtex-5 デバ イ ス は、 上部 と 下部に二分割 さ れ ま す。 Virtex-5 デバ イ ス に あ る フ レ ー ム の長 さ は 1312 ビ ッ ト (41 個の 32 ビ ッ ト ワー ド ) に固定 さ れ、 すべて同一です。 FAR は、 ブ ロ ッ ク タ イ プ、 上部/下部ビ ッ ト 、 行ア ド レ ス、 列ア ド レ ス、 マ イ ナー ア ド レ ス の 5 つ の フ ィ ール ド に分け ら れ ま す。 表 6-8 を 参照 し て く だ さ い。 ア ド レ ス は、 直接書 き 込むか、 各 フ レームの最後で自動的に イ ン ク リ メ ン ト で き ます。 通常、 ビ ッ ト ス ト リ ームはア ド レ ス 0 か ら 開始 し 、 最終値ま で自動的に イ ン ク リ メ ン ト し ます。 124 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン レ ジス タ 表 6-8 : フ レーム ア ド レ ス レ ジ ス タ ア ド レス タ イプ ビッ ト イ ンデ ッ ク ス 説明 [23:21] ブロ ッ ク タ イプ 有効なブ ロ ッ ク タ イ プは CLB、 I/O、 CLK (000)、 ブ ロ ッ ク RAM の内容 (001)、 CFG_CLB (010) です。 通常の ビ ッ ト ス ト リ ームには、 タ イ プ 010 は含まれません。 20 Top_B ビ ッ ト 上部の行 (0) ま たは下部の行 (1) を選択 し ます。 行ア ド レ ス [19:15] 現在の行を選択 し ます。 行ア ド レ ス は、 下か ら 上に向かっ て増加 し ます。 列ア ド レ ス [14:7] CLB 列な ど、 大ま かな列を選択 し ます。 列ア ド レ ス は 0 か ら 開始 し 、 右に向かっ て増加 し ます。 [6:0] マ イ ナー ア ド レ ス 選択 し た列内のフ レーム を選択 し ます。 ス テー タ ス レ ジ ス タ (STAT) ス テー タ ス レ ジ ス タ は、 複数のグ ロ ーバル信号の値を示 し ます。 こ の レ ジ ス タ は、 SelectMAP ま た は JTAG イ ン タ ーフ ェ イ ス を介 し て読み出す こ と がで き ます。 図 6-3 に STAT レ ジ ス タ 内の各ビ ッ ト 位置の名前を示 し 、 表 6-9 で各ビ ッ ト について説明 し ます。 CRC_ERROR PART_SECURED DCM_LOCK DCI_MATCH EOS GTS_CFG_B GWE GHIGH_B MODE INIT_COMPLETE INIT_B RELEASE_DONE DONE ID_ERROR DEC_ERROR Reserved STARTUP_STATE Reserved FS BUS_WIDTH 予約済み 説明 ビッ ト イ ンデ ッ ク ス 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 1 0 9 8 7 6 5 4 3 2 1 0 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 = x1 01 = x8 10 = x16 11 = x32 FS Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 [24:22] SPI フ ラ ッ シ ュ の タ イ プ を選択 し ます。 japan.xilinx.com 125 R 第 6 章 : コ ン フ ィ ギ ュ レーシ ョ ンの詳細 表 6-9 : ス テー タ ス レ ジ ス タ (続き ) ビ ッ ト 位置名 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 への書き 込みが実行さ れたこ と を 示し ま す。 DEC_ERROR な し DEC_ERROR あ り 0: 1: DEVICE_ID チ ェ ッ ク でエ ラ ーが検出 さ れたのに も か かわ ら ず FDRI への書 き 込みが実行 さ れた こ と を示 し ID_ERROR 15 ます。 0: 1: DONE 14 ID_ERROR な し ID_ERROR あ り DONE ピ ンの値 内部 DONE 信号の値 RELEASE_DONE 13 0: 1: INIT_B 12 INIT_COMPLETE 11 DONE 信号は解放 さ れていない ( ピ ンがア ク テ ィ ブに Low に保持 さ れてい る ) DONE 信号は解放 さ れてい る (外部か ら Low に 保持する こ と が可能) INIT_B ピ ンの値 初期化の完了を示す内部信号 MODE [10:8] 0: 1: 初期化は未完了 初期化は完了 モー ド ピ ン (M[2:0]) の状態 GHIGH_B の状態 GHIGH_B 7 GWE 6 GTS_CFG_B 5 0: 1: GHIGH_B はアサー ト さ れてい る GHIGH_B はデ ィ アサー ト さ れてい る GWE の状態 0: 1: FF お よ びブ ロ ッ ク RAM へ書 き 込み不可 FF およ びブロ ッ ク RAM へ書き 込み可能 GTS_CFG_B の状態 126 0: 1: japan.xilinx.com すべての I/O はハ イ イ ン ピーダ ン ス状態 すべての I/O が設定どお り に動作 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン レ ジス タ 表 6-9 : ス テー タ ス レ ジ ス タ (続き ) ビ ッ ト 位置名 EOS ビッ ト イ ンデ ッ ク ス 4 説明 ス タ ー ト ア ッ プの終了を示す、 ス タ ー ト ア ッ プ ブ ロ ッ ク か ら の信号 0: 1: ス タ ー ト ア ッ プ シーケ ン スは未完了 ス タ ー ト ア ッ プ シーケ ン スは完了 DCI は不一致 DCI は一致 すべての MATCH 信号 (各バン ク に 1 つ) の ロ ジ ッ ク AND フ ァ ン ク シ ョ ン。 DCI I/O がバン ク にない場合、 そのバン ク の MATCH 信号は 1 にな り ます。 0: 1: DCI_MATCH 3 DCM は ロ ッ ク 状態にな っ ていない DCM は ロ ッ ク 状態 すべての DCM LOCKED 信号の ロ ジ ッ ク AND フ ァ ン ク シ ョ ン。 未使用の DCM では、 LOCKED 信号 は 1 と 0: 1: DCM_LOCK 2 な り ます。 PART_SECURED 1 0: 1: 復号化処理のセキ ュ リ テ ィ は設定 さ れていない 復号化処理のセキ ュ リ テ ィ は設定 さ れてい る CRC_ERROR 0 0: 1: CRC エ ラ ーな し CRC エ ラ ー コ ン フ ィ ギ ュ レ ーシ ョ ン オプ シ ョ ン レ ジ ス タ 0 (COR0) コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ン レ ジ ス タ 0 は、デバ イ ス に対す る 特定の コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ンの設定に使用 さ れま す。 図 6-4 に COR の各ビ ッ ト 位置の名前を示 し 、 表 6-10 で各 ビ ッ ト について説明 し ます。 GWE_CYCLE GTS_CYCLE LOCK_CYCLE MATCH_CYCLE DONE_CYCLE SSCLKSRC OSCFSEL SINGLE DRIVE_DONE DONE_PIPE 予約済み PWRDWN_STAT CRC_BYPASS 予約済み 予約済み 予約済み 説明 ビッ ト イ ンデ ッ ク ス 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 1 0 9 8 7 6 5 4 3 2 1 0 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 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 127 R 第 6 章 : コ ン フ ィ ギ ュ レーシ ョ ンの詳細 表 6-10 : コ ン フ ィ ギ ュ レーシ ョ ン オプ シ ョ ン レ ジ ス タ 0 ビ ッ ト 位置名 CRC_BYPASS ビッ ト イ ンデ ッ ク ス 28 説明 特別な CRC 値 (0xDEFC) が読み込まれた場合、 CRC を バ イ パ ス し ます。 0: 1: PWRDWN_STAT DONE_PIPE 27 25 CRC は イ ネーブル CRC はデ ィ ス エーブル DONE ピ ン を Powerdown ス テー タ ス ピ ンに変更 し ます。 0 : DONE ピ ン 1 : Powerdown ピ ン 0 : DONEIN にパ イ プ ラ イ ン段な し 1 : DONEIN にパ イ プ ラ イ ン段を追加 FPGA は、 ス タ ー ト ア ッ プ ク ロ ッ ク の 1 サ イ ク ル分遅延 さ れてい る DONE を待ち ます。 ス タ ー ト ア ッ プ ク ロ ッ ク が高速で動作 し てい る 場合は、 こ のオプシ ョ ン を使用 し て く だ さ い。 DRIVE_DONE SINGLE 24 23 0: 1: DONE ピ ンはオープン ド レ イ ン DONE ピ ンはア ク テ ィ ブに High に駆動 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 ピ ン を解放す る す る ス タ ー ト ア ッ プ フ ェ ーズ DONE_CYCLE 128 [14:12] 000 : 001 : 010 : 011 : 100 : 101 : 110 : 111 : japan.xilinx.com ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ 保持 フ ェーズ フ ェーズ フ ェーズ フ ェーズ フ ェーズ フ ェーズ フ ェーズ 1 2 3 4 5 6 7 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン レ ジス タ 表 6-10 : コ ン フ ィ ギ ュ レーシ ョ ン オプ シ ョ ン レ ジ ス タ 0 (続き ) ビ ッ ト 位置名 ビッ ト イ ンデ ッ ク ス 説明 DCI が一致す る ま で待機す る ス タ ー ト ア ッ プ フ ェ ーズ MATCH_CYCLE [11:9] 000 : 001 : 010 : 011 : 100 : 101 : 110 : 111 : ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ 待機 し ない フ ェーズ フ ェーズ フ ェーズ フ ェーズ フ ェーズ フ ェーズ フ ェーズ 0 1 2 3 4 5 6 DCM がロ ッ ク する ま で待機する ス タ ート アッ プ フ ェ ーズ LOCK_CYCLE [8:6] 000 : 001 : 010 : 011 : 100 : 101 : 110 : 111 : ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ ス ター ト ア ッ プ 待機 し ない フ ェーズ フ ェーズ フ ェーズ フ ェーズ フ ェーズ フ ェーズ フ ェーズ 0 1 2 3 4 5 6 グ ロ ーバル ト ラ イ ス テー ト (GTS) 信号をデ ィ アサー ト す る ス タ ー ト ア ッ プ フ ェーズ GTS_CYCLE [5:3] 000 : ス タ ー ト ア ッ プ フ ェーズ 1 001 : ス タ ー ト ア ッ プ フ ェーズ 2 010 : ス タ ー ト ア ッ プ フ ェーズ 3 011 : ス タ ー ト ア ッ プ フ ェーズ 4 100 : ス タ ー ト ア ッ プ フ ェーズ 5 101 : ス タ ー ト ア ッ プ フ ェーズ 6 110 : DONE ピ ンの設定 と 同一 BitGen オプシ ョ ン : -g GTS_cycle : Done 001 : 保持 グ ロ ーバル書き 込み イ ネーブル (GWE) 信号をデ ィ アサー ト する ス タ ー ト ア ッ プ フ ェーズ GWE_CYCLE Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 [2:0] 000 : ス タ ー ト ア ッ プ フ ェーズ 1 001 : ス タ ー ト ア ッ プ フ ェーズ 2 010 : ス タ ー ト ア ッ プ フ ェーズ 3 011 : ス タ ー ト ア ッ プ フ ェーズ 4 100 : ス タ ー ト ア ッ プ フ ェーズ 5 101 : ス タ ー ト ア ッ プ フ ェーズ 6 110 : DONE ピ ンの設定 と 同一 BitGen オプシ ョ ン : -g GWE_cycle : Done 111 : 保持 japan.xilinx.com 129 R 第 6 章 : コ ン フ ィ ギ ュ レーシ ョ ンの詳細 コ ン フ ィ ギ ュ レ ーシ ョ ン オプ シ ョ ン レ ジ ス タ 1 (COR1) コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ン レ ジ ス タ 1 は、デバ イ ス に対す る 特定の コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ンの設定に使用 さ れます。 図 6-5 に COR1 の各ビ ッ ト 位置の名前を示 し 、 表 6-11 で各 ビ ッ ト について説明 し ます。 BPI_PAGE_SIZE BPI_1ST_READ_CYCLES 予約済み RBCRC_EN RBCRC_NO_PIN 予約済み 予約済み PERSIST_DEASSERT_AT_DESYNCH 予約済み 説明 ビッ ト イ ンデ ッ ク ス 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 1 0 9 8 7 6 5 4 3 2 1 0 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 : 01 : 10 : 11 : BPI_PAGE_SIZE [1:0] フ ラ ッ シ ュ メ モ リ のページ サ イ ズ 00 : 01 : 10 : 11 : 130 japan.xilinx.com 1 CCLK 2 CCLK 3 CCLK 4 CCLK 1 バ イ ト / ワー ド 4 バ イ ト / ワー ド 8 バ イ ト / ワー ド 予約済み Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R コ ン フ ィ ギ ュ レーシ ョ ン レ ジス タ ウ ォ ーム ブー ト の開始ア ド レ ス レ ジ ス タ (WBSTAR) 図 6-6 に WBSTAR の各ビ ッ ト 位置の名前を示 し 、 表 6-12 で各ビ ッ ト について説明 し ます。 START_ADDR RS_TS_B RS[1:0] 予約済み 説明 ビッ ト イ ンデ ッ ク ス 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 1 0 9 8 7 6 5 4 3 2 1 0 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[1:0] ピ ンの ト ラ イ ス テー ト イ ネーブル RS_TS_B 26 START_ADDR [25:0] 0: 1: デ ィ ス エーブル イ ネーブル フ ォールバ ッ ク ビ ッ ト ス ト リ ームの開始ア ド レ ス ウ ォ ッ チ ド ッ グ タ イ マ レ ジ ス タ (TIMER) ウ ォ ッ チド ッ グ タ イ マは、 フ ォ ールバッ ク ビ ッ ト ス ト リ ーム に対し ては自動的に無効になり ま す。 図 6-7 に TIMER レ ジス タ の各ビ ッ ト 位置の名前を 示し 、 表 6-13 で各ビ ッ ト について説明し ま す。 TIMER_VALUE TIMER_CFG_MON TIMER_USR_MON 予約済み 説明 ビッ ト イ ンデ ッ ク ス 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 1 0 9 8 7 6 5 4 3 2 1 0 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 レ ジ ス タ Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 131 R 第 6 章 : コ ン フ ィ ギ ュ レーシ ョ ンの詳細 表 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 ずつ分周可能です。 ブー ト 履歴ス テー タ ス レ ジ ス タ (BOOTSTS) レ ジ ス タ は、 POR、 PROGRAM_B のアサー ト 、 ま たは JPROGRAM 命令を与え る こ と に よ っ て のみ リ セ ッ ト 可能です。 EOS ま たはエ ラ ー状況で、 ス テー タ ス (_0) が ス テー タ ス (_1) にシ フ ト さ れ、 ス テー タ ス (_0) は現在の ス テー タ ス に更新 さ れ ます。 図 6-8 に BOOTSTS レ ジ ス タ の各ビ ッ ト 位置の名前を示 し 、 表 6-14 で各ビ ッ ト について説明 し ます。 VALID_0 FALLBACK_0 IPROG_0 WTO_ERROR_0 ID_ERROR_0 CRC_ERROR_0 WRAP_ERROR_0 RBCRC_ERROR_0 VALID_1 FALLBACK_1 IPROG_1 WTO_ERROR_1 ID_ERROR_1 CRC_ERROR_1 WRAP_ERROR_1 RBCRC_ERROR_1 予約済み 説明 ビッ ト イ ンデ ッ ク ス 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 1 0 9 8 7 6 5 4 3 2 1 0 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 レ ジ ス タ ビ ッ ト 位置名 132 ビッ ト イ ンデ ッ ク ス 説明 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 によ り ト リ ガさ れたコ ン フ ィ ギュ レ ーショ ン japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R ビ ッ ト ス ト リ ームの構成 表 6-14 : BOOTSTS レ ジ ス タ (続き ) ビ ッ ト 位置名 ビッ ト イ ンデ ッ ク ス 説明 デフ ォル ト リ コ ン フ ィ ギ ュ レーシ ョ ンに フ ォール バ ッ ク 、 RS[1:0] はア ク テ ィ ブに 2'b00 を駆動 通常の コ ン フ ィ ギ ュ レーシ ョ ン 1: FALLBACK_1 9 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 1 デフ ォル ト リ コ ン フ ィ ギ ュ レーシ ョ ンに フ ォール バ ッ ク 、 RS[1:0] はア ク テ ィ ブに 2'b00 を駆動 通常の コ ン フ ィ ギ ュ レーシ ョ ン 1: 0: VALID_0 0 ス テー タ ス は有効 ビ ッ ト ス ト リ ームの構成 デバイ ス への電源投入およ び初期化が完了する と 、 INIT_B ピ ン が解放さ れ、 コ ン フ ィ ギュ レ ーショ ン が開始可能と なり ま す。 初期化後、 パケ ッ ト プロ セッ サは、 同期ワ ード を 受信する ま でコ ン フ ィ ギュ レ ーショ ン イ ン タ ーフ ェ イ ス に送信さ れる すべてのデータ を 無視し ま す。 同期後、 パケ ッ ト プ ロ セッ サが有効なパケ ッ ト ヘッ ダを 受信する と 、コ ン フ ィ ギュ レ ーショ ン プロ セス が開始さ れま す。 デ フ ォル ト 設定での初期 コ ン フ ィ ギ ュ レーシ ョ ン プ ロ セス デフ ォ ル ト の ビ ッ ト ス ト リ ーム (デフ ォ ル ト の BitGen オプシ ョ ン で生成 さ れた ビ ッ ト ス ト リ ーム ) を使用 し た初期 コ ン フ ィ ギ ュ レーシ ョ ンは、 SelectMAP お よ びシ リ アル コ ン フ ィ ギ ュ レ ーシ ョ ン モー ド では PROGRAM_B ピ ンにパルス を供給する こ と に よ っ て開始 し 、 JTAG コ ン フ ィ ギ ュ レー シ ョ ン モー ド では JPROGRAM 命令を与え る こ と に よ っ て開始 し ま す。 コ ン フ ィ ギ ュ レーシ ョ ン は、 表 6-15 に示すシーケ ン ス で実行 さ れます。 表 6-15 : コ ン フ ィ ギ ュ レーシ ョ ン シーケン ス コ ン フ ィ ギ ュ レーシ ョ ン デー タ (16 進数) 説明 FFFFFFFF ダ ミ ー ワー ド 000000BB バ ス幅 ワー ド 11220044 8/16/32 バ ス幅 FFFFFFFF ダ ミ ー ワー ド FFFFFFFF ダ ミ ー ワー ド AA995566 同期ワ ー ド Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 133 R 第 6 章 : コ ン フ ィ ギ ュ レーシ ョ ンの詳細 表 6-15 : コ ン フ ィ ギ ュ レーシ ョ ン シーケン ス (続き ) 134 コ ン フ ィ ギ ュ レーシ ョ ン デー タ (16 進数) 説明 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 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R ビ ッ ト ス ト リ ームの構成 表 6-15 : コ ン フ ィ ギ ュ レーシ ョ ン シーケン ス (続き ) コ ン フ ィ ギ ュ レーシ ョ ン デー タ (16 進数) 説明 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 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 タ イ プ 1、 NO OP japan.xilinx.com 135 R 第 6 章 : コ ン フ ィ ギ ュ レーシ ョ ンの詳細 表 6-15 : コ ン フ ィ ギ ュ レーシ ョ ン シーケン ス (続き ) コ ン フ ィ ギ ュ レーシ ョ ン デー タ (16 進数) 説明 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 フ レームのア ド レ ス指定 フ レ ーム ビ ッ ト フ レーム と は、 ア ク セ ス可能な コ ン フ ィ ギ ュ レーシ ョ ン情報の最小単位です。 こ れは、 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 内のすべての行に該当 し ます。 136 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R フ レームのア ド レ ス指定 䊐䊧䊷䊛㩷䊎䉾䊃 0 31 䊪䊷䊄 2 0 31 䊪䊷䊄 3 0 1311 䊪䊷䊄 41 䊪䊷䊄 1 0 31 31 䊎䉾䊃䉴䊃䊥䊷䊛 HCLK ⴕ䈱䈮䈅䉎㩷 10㩷䈱㩷CLB㩷䈱㩷 640 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷䊎䉾䊃 1280 31 672 䊪䊷䊄 20 0 䉮䊮䊐䉞䉩䊠 䊧䊷䉲䊢䊮 䊪䊷䊄 31 䊪䊷䊄 21 0 䊪䊷䊄 22 31 HCLK㩷䈱ᧂ↪䈱㩷 16 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷䊎䉾䊃 0 䊪䊷䊄 21 31 656 655 0 HCLK 671 640 652 651 HCLK㩷䈱䈠䈱ઁ䈱㩷 4 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷䊎䉾䊃 12 ECC 䊎䉾䊃 䊪䊷䊄 39 0 31 䊪䊷䊄 40 0 31 䊪䊷䊄 41 0 0 31 31 HCLK ⴕ䈱ਅ䈮䈅䉎㩷 10㩷䈱㩷CLB㩷䈱㩷 640 䉮䊮䊐䉞䉩䊠䊧䊷䉲䊢䊮㩷䊎䉾䊃 䊪䊷䊄 1 31 639 0 UG191_c6_09_060407 図 6-9 : ビ ッ ト ス ト リ ーム内の コ ン フ ィ ギ ュ レーシ ョ ン ワー ド と フ レーム内の コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト フ レ ーム ア ド レ ス FPGA の各 コ ン フ ィ ギ ュ レーシ ョ ン フ レームは 32 ビ ッ ト のア ド レ ス を持ち、 5 つの部分に分割 さ れてい ます (図 6-10 を参照)。 • ブロ ッ ク タ イプ • 上部/下部 イ ン ジ ケー タ • 行ア ド レ ス • メ ジ ャ ー ア ド レ ス (列ア ド レ ス ) • マ イ ナー ア ド レ ス (列内の フ レーム ア ド レ ス ) 䊑䊨䉾䉪㩷 ㇱ/ਅㇱ 䉺䉟䊒 䈱ⴕ ᧂ↪ 31 24 23 21 20 ⴕ 䉝䊄䊧䉴 19 䊜䉳䊞䊷 䉝䊄䊧䉴 15 14 䊙䉟䊅䊷 䉝䊄䊧䉴 7 6 0 UG191_c6_10_062607 図 6-10 : 5 つに分割 さ れる 32 ビ ッ ト のフ レーム ア ド レ ス Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 137 R 第 6 章 : コ ン フ ィ ギ ュ レーシ ョ ンの詳細 各部の意味を わか り やす く す る ため、 行ア ド レ ス か ら 説明 し 、 最後にブ ロ ッ ク タ イ プについて説明 し ます。 行ア ド レ ス (上部/下部イ ン ジケー タ を含む) コ ン フ ィ ギ ュ レーシ ョ ンの観点か ら 考え る と 、 FPGA フ ァ ブ リ ッ ク を まず行に分割 し 、 次に列に分 割す る 方法が最良です。 行には、 FPGA の中央か ら 順に、 上部お よ び下部でそれぞれ 0 ~ 9 の番号 が付け ら れてい ます (図 6-11 を参照)。 コ ン フ ィ ギ ュ レーシ ョ ン中、行ア ド レ ス は上部の 0 か ら 上に 向かっ て ス キ ャ ン さ れた後、 下部の 0 か ら 下に向か っ て ス キ ャ ン さ れます。 ⴕ䉝䊄䊧䉴 9 ⴕ䉝䊄䊧䉴 1 FPGA㩷䈱ㇱ ⴕ䉝䊄䊧䉴 0 FPGA 䈱ਅㇱ ⴕ䉝䊄䊧䉴 0 ⴕ䉝䊄䊧䉴 1 ⴕ䉝䊄䊧䉴 9 UG191_c6_11_050406 図 6-11 : FPGA の行ア ド レ ス Virtex-5 の最大のデバ イ ス には、 上下に各 6 行、 合計で 12 行あ り ます。 ただ し ハー ド ウ ェ ア デザ イ ンでは、 上下に各 10 行、 合計で 20 行ま でサポー ト 可能です。 メ ジャー ア ド レス 各行は同数の列に分割で き 、 1 つの列はア レ イ 内の 1 ブ ロ ッ ク (CLB、 DSP、 ブ ロ ッ ク RAM、 IOB な ど ) に対応 し ます。 こ の メ ジ ャ ー ア ド レ ス は 0 か ら 開始 し 、左か ら 右に向っ て番号が増加 し ます。 図 6-12 に示す よ う に、 各行には メ ジ ャ ー ア ド レ ス のシーケ ン ス が 2 つあ り ます。 最初のシーケ ン ス (図中では薄い灰色) では、 メ ジ ャ ー ア ド レ ス が各列に割 り 当て ら れ、一般的な コ ン フ ィ ギ ュ レー シ ョ ン用の列の選択に使用 さ れます。 2 番目のシーケ ン ス (図中では濃い灰色) では、 ア ド レ ス が各 ブ ロ ッ ク RAM 列に割 り 当て ら れ、ブ ロ ッ ク RAM の内容に特定の コ ン フ ィ ギ ュ レーシ ョ ン フ レー ムにア ク セ スす る ために使用 さ れます。 つま り 、ブ ロ ッ ク RAM には、通常の コ ン フ ィ ギ ュ レーシ ョ ン用 と メ モ リ の内容へのア ク セ ス用の 2 つの メ ジ ャ ー ア ド レ ス があ る こ と にな り ます。 138 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R フ レームのア ド レ ス指定 IOB BRAM CLB BRAM DSP CLB BRAM IOB 0 1 2 3 4 5 6 7 0 1 2 㪈㩷⇟⋡䈱䉲䊷䉬䊮䉴 : ฦ䈱䊜䉳䊞䊷㩷䉝䊄䊧䉴 㪉㩷⇟⋡䈱䉲䊷䉬䊮䉴 : ฦ BRAM 䈱䊜䉳䊞䊷㩷䉝䊄䊧䉴 UG191_c6_12_050406 メモ : 1. 通常の メ ジ ャ ー ア ド レ ス のシーケ ン ス を薄い灰色で、 ブ ロ ッ ク RAM の メ ジ ャ ー ア ド レ ス の シーケ ン ス を濃い灰色で示 し てい ま す。 図 6-12 : 行の メ ジ ャ ー ア ド レ スの割 り 当て マ イ ナー ア ド レ ス 各列にはい く つかの フ レームが含ま れてお り 、 こ れ ら の フ レームはマ イ ナー ア ド レ ス を使用 し てア ク セ ス し ます。 「ブ ロ ッ ク タ イ プ」 で説明す る よ う に、 1 列に含まれ る フ レーム数は、 ブ ロ ッ ク タ イ プお よ びその列に よ っ て異な り ます。 ブロ ッ ク タ イプ ブ ロ ッ ク タ イ プに よ っ て、 ア ド レ ス空間は 8 つのセ ク シ ョ ンに分割 さ れますが、 Virtex-5 デバ イ ス では 4 つのセ ク シ ョ ンのみが使用 さ れます。 ア ド レ ス空間を分割す る こ と に よ り 、 フ ァ ン ク シ ョ ン ま たはア ク セ ス方法 よ っ て コ ン フ ィ ギ ュ レーシ ョ ン フ レームが分類 さ れます。 Virtex-5 デバ イ ス では、 次の 4 つのブ ロ ッ ク タ イ プが使用 さ れます。 • イ ン タ ー コ ネ ク ト お よ びブ ロ ッ ク コ ン フ ィ ギ ュ レーシ ョ ン • ブ ロ ッ ク RAM の内容 • イ ン タ ー コ ネ ク ト お よ びブ ロ ッ ク の特別な フ レーム • ブ ロ ッ ク RAM の コ ン フ ィ ギ ュ レーシ ョ ン フ レーム以外の フ レーム イ ン タ ー コ ネ ク ト およびブ ロ ッ ク コ ン フ ィ ギ ュ レ ーシ ョ ン CLB、 DSP、 IOB な ど通常の イ ン タ ー コ ネ ク ト お よ びブ ロ ッ ク コ ン フ ィ ギ ュ レーシ ョ ン フ レーム は、 すべて コ ン フ ィ ギ ュ レーシ ョ ン ア ド レ ス空間の こ のセ ク シ ョ ンに含まれます。 ブ ロ ッ ク RAM のポー ト 幅や FIFO 動作な ど のパ ラ メ ー タ を設定す る フ レーム も 含まれますが、 ブ ロ ッ ク RAM の 内容は含まれません。 表 6-16 に、 こ のブ ロ ッ ク タ イ プを使用す る 場合の各列の フ レーム数 ( マ イ ナー ア ド レ ス ) を示 し ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 139 R 第 6 章 : コ ン フ ィ ギ ュ レーシ ョ ンの詳細 表 6-16 : 各列の フ レーム数 ( マ イ ナー ア ド レ ス ) ブロ ッ ク フ レーム数 CLB 36 DSP 28 ブ ロ ッ ク RAM 30 IOB 54 ク ロ ッ ク列 4 ク ロ ッ ク列 4 フ レーム番号は 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-17 : 特別な フ レームのビ ッ ト ビ ッ ト 番号 用途 <15> 未使用 <14> IOB 列のみで GTS_CFG_B を ゲー ト <13> すべての列で GCAP お よび GRESTORE を ゲー ト <12> すべての列で GHIGH_B お よ び GWE を ゲー ト <11:0> ECC 用の 12 ビ ッ ト (ほかの ビ ッ ト はすべて 0 であ る と 見なす) 詳細は、 「パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン」 を参照 し て く だ さ い。 140 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R 第7章 リ ー ド バ ッ ク および コ ン フ ィ ギ ュ レーシ ョ ンの検証 Virtex®-5 デバ イ ス では、 SelectMAP、 ICAP、 ま たは JTAG イ ン タ ーフ ェ イ ス を使用 し て コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ を読み出す こ と がで き ます。 リ ー ド バ ッ ク には、 リ ー ド バ ッ ク 検証 と リ ー ド バ ッ ク キ ャ プチ ャ の 2 種類があ り ます。 リ ー ド バ ッ ク 検証では、ユーザー メ モ リ エ レ メ ン ト (LUT RAM、 SRL16、 お よ びブ ロ ッ ク RAM) のその時点での値を含む、 すべての コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ セルを読み出す こ と が可能です。 リ ー ド バ ッ ク キ ャ プチ ャ は、 リ ー ド バ ッ ク 検証に機能 を追加 し た も ので、 すべての コ ン フ ィ ギ ュ レ ーシ ョ ン メ モ リ セルを読み出すだけでな く 、 すべて の内部 CLB お よ び IOB レ ジ ス タ のその時点での ス テー ト を読み出 し ます。 こ れは、 デザ イ ンのデ バ ッ グに非常に有益です。 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ を読み出すには、デバ イ ス に リ ー ド バ ッ ク を開始す る 一連の コ マン ド を送信す る 必要があ り ます。 リ ー ド バ ッ ク が開始す る と 、 デバ イ ス は コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の内容 を SelectMAP ま た は JTAG イ ン タ ー フ ェ イ ス に出力 し ま す。 「SelectMAP イ ン タ ー フ ェ イ ス か ら コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タへの ア ク セ ス」に、IEEE 1149.1 JTAG お よ び IEEE 1532 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 と な り 、そ の後 コ ン フ ィ ギ ュ レ ーシ ョ ン は実行で き ま せん。 バ ウ ン ダ リ ス キ ャ ン ポー ト を 使用 し た リ ー ド バ ッ ク では、 セキ ュ リ テ ィ 設定お よ び暗号化の要件以外に特別な考慮事項はあ り ません。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 141 R 第 7 章 : リ ー ド バ ッ ク および コ ン フ ィ ギ ュ レーシ ョ ンの検証 キ ャ プチ ャ 機能が必要な場合、 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 に、 こ の手順を図示 し ます。 CS_B RDWR_B WRITE DATA[0:7] Byte 0 READ Byte n Byte 0 Byte n CCLK UG191_c7_01_050406 図 7-1 : SelectMAP ポー ト の書き込み制御 と 読み出 し 制御の切 り 替え 142 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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-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 読み出 し SSSSSSSS 11 書 き 込み 30008001 タ イ プ 1、 CMD に 1 ワ ー ド 書 き 込み 12 書 き 込み 0000000D 13 書 き 込み 20000000 DESYNC コ マ ン ド NOOP 14 書 き 込み 20000000 NOOP 手順 説明 STAT レ ジ ス タ か ら 1 ワ ー ド を コ ン フ ィ ギ ュ レー シ ョ ン イ ン タ ーフ ェ イ ス に書 き 込み 図 7-2 に示す よ う に、 SelectMAP イ ン タ ーフ ェ イ ス は、 手順 8 と 手順 9 の間で書 き 込み制御か ら 読み出 し 制御に変更 し 、 手順 9 の後に再び書 き 込み制御に戻す必要があ り ます。 CS_B RDWR_B WRITE DATA[0:7] AA 99 55 66 28 READ 00 E0 0 0 XS WRITE SX 3 0 X CCLK UG191_c7_02_050306 図 7-2 : SelectMAP ス テー タ ス レ ジ ス タ の読み出 し Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 143 R 第 7 章 : リ ー ド バ ッ ク および コ ン フ ィ ギ ュ レーシ ョ ンの検証 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 に、 リ ー ド バ ッ ク コ マ ン ド のシーケ ン ス を示 し ます。 144 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R リ ー ド バ ッ ク コ マ ン ド シーケ ン ス 表 7-2 : シ ャ ッ ト ダウン リ ー ド バ ッ ク コ マ ン ド のシーケ ン ス (SelectMAP) 手順 1 2 3 4 5 6 7 8 9 SelectMAP ポー ト の方向 書き 込み 書き 込み 書き 込み 書き 込み 書き 込み 書き 込み 書き 込み 書き 込み コ ン フ ィ ギ ュ レーシ ョ ン デー タ FFFFFFFF ダ ミ ー ワー ド 000000BB バ ス幅同期ワ ー ド 11220044 バ ス幅検出 FFFFFFFF ダ ミ ー ワー ド AA995566 同期ワ ー ド 02000000 タ イ プ 1、 NOOP ワー ド 0 30008001 タ イ プ 1、 CMD に 1 ワ ー ド 書 き 込み 0000000B SHUTDOWN コ マ ン ド 02000000 タ イ プ 1、 NOOP ワー ド 0 30008001 タ イ プ 1、 CMD に 1 ワ ー ド 書 き 込み 00000007 RCRC コ マン ド 20000000 タ イ プ 1、 NOOP ワー ド 0 20000000 タ イ プ 1、 NOOP ワー ド 0 20000000 タ イ プ 1、 NOOP ワー ド 0 20000000 タ イ プ 1、 NOOP ワー ド 0 20000000 タ イ プ 1、 NOOP ワー ド 0 20000000 タ イ プ 1、 NOOP ワー ド 0 30008001 タ イ プ 1、 CMD に 1 ワ ー ド 書 き 込み 00000004 RCFG コ マ ン ド 20000000 タ イ プ 1、 NOOP ワー ド 0 30002001 タ イ プ 1、 FAR に 1 ワ ー ド 書き 込み 00000000 FAR ア ド レ ス = 00000000 28006000 タ イ プ 1、 FDRO か ら 0 ワ ー ド 読み出 し 48024090 タ イ プ 2、 FDRO か ら 147,600 ワ ー ド 読み出 し 20000000 タ イ プ 1、 NOOP ワー ド 0 書き 込み ... 00000000 10 11 12 13 読み出 し 書き 込み 書き 込み 書き 込み 説明 タ イ プ 1、 31 個の NOOP ワ ー ド 0 パケ ッ ト デー タ 読み出 し FDRO ワ ー ド 0 ... 00000000 パケ ッ ト デー タ 読み出 し FDRO ワ ー ド 147599 20000000 タ イ プ 1、 NOOP ワー ド 0 30008001 タ イ プ 1、 CMD に 1 ワ ー ド 書 き 込み 00000005 START コ マ ン ド 20000000 タ イ プ 1、 NOOP ワー ド 0 30008001 タ イ プ 1、 CMD に 1 ワ ー ド 書 き 込み 00000007 RCRC コ マン ド 20000000 タ イ プ 1、 NOOP ワー ド 0 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 145 R 第 7 章 : リ ー ド バ ッ ク および コ ン フ ィ ギ ュ レーシ ョ ンの検証 表 7-2 : シ ャ ッ ト ダウン リ ー ド バ ッ ク コ マ ン ド のシーケ ン ス (SelectMAP) (続き ) 手順 SelectMAP ポー ト の方向 14 書き 込み 15 コ ン フ ィ ギ ュ レーシ ョ ン デー タ 説明 30008001 タ イ プ 1、 CMD に 1 ワ ー ド 書 き 込み 0000000D DESYNCH コ マン ド 20000000 タ イ プ 1、 NOOP ワー ド 0 20000000 タ イ プ 1、 NOOP ワー ド 0 書き 込み 書 き 込みか ら 読み出 し への切 り 替え後 (CS_B お よび RDWR_B の両方が Low)、 DOUT_BUSY が Low の間に、 ユーザー ロ ジ ッ ク で リ ー ド バ ッ ク デー タ を ス ト ロ ーブす る 必要があ り ます。 リ ー ド バ ッ ク デー タ が有効であ る かど う かを判断す る ため、 DOUT_BUSY を監視 し ます。 リ ー ド バ ッ ク が開始 し 、BUSY がデ ィ アサー ト さ れた後、有効なデー タ が到達す る 前に、SelectMAP バ ス幅に応 じ た数のダ ミ ー ワ ー ド が読み出 さ れ ます。 表 7-3 に、 3 つのSelectMAP 幅でのダ ミ ー リ ー ド バ ッ ク サ イ ク ル数を示 し ます。 表 7-3 : リ ー ド バ ッ ク 時の DOUT_BUSY のレ イ テ ン シ (SelectMAP) DOUT_BUSY の レ イ テ ン シ x8 x16 x32 1 クロック 2 クロック 3 クロック メモ : 1. レ イ テ ン シは、 書 き 込み と 読み込みの間で CS_B と RDWR_B が 1 サ イ ク ル間デ ィ アサー ト さ れ る こ と を前提 と し てい ま す。 2 サ イ ク ル以上デ ィ アサー ト さ れ る 場合は、 レ イ テ ン シが短 く な り ま す。 リ ー ド バ ッ ク デー タ が有効であ る こ と を確認す る には、 BUSY 信号を 監視す る のが最適な方法です。 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 ス テー ト の遷移を示 し ます。 表 7-4 : JTAG CFG_IN および CFG_OUT 命令のシ フ ト 手順 1 146 セッ ト アッ プおよ びホールド ク ロ ッ ク 数 (TCK) TDI TMS 説明 TMS に 1 を 5 回入力 し 、 デバ イ ス を TLR ス テー ト に し ます。 X 1 5 2 RTI ス テー ト に移行 し ます。 X 0 1 3 SELECT-IR ス テー ト に移行 し ます。 X 1 2 4 SHIFT-IR ス テー ト に移行 し ます。 X 0 2 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R リ ー ド バ ッ ク コ マ ン ド シーケ ン ス 表 7-4 : JTAG CFG_IN および CFG_OUT 命令のシ フ ト (続き ) 手順 説明 セッ ト アッ プおよ びホールド ク ロ ッ ク 数 (TCK) TDI TMS 111000101 CFG_IN ま たは CFG_OUT 命令の最初の 9 ビ ッ ト を LSB か ら 順にシ フ ト し ます。 5 (CFG_IN) 0 9 1 1 1 111000100 (CFG_OUT) SHIFT-IR ス テー ト か ら 移行す る と き に、 CFG_IN ま たは CFG_OUT 命令の MSB を シ 6 フ ト し ます。 7 SELECT-DR ス テー ト に移行 し ます。 X 1 2 8 SHIFT-DR ス テー ト に移行 し ます。 X 0 2 9 SHIFT_DR ス テー ト の間に、 デー タ を CFG_IN レ ジ ス タ に、ま たは CFG_OUT か ら 、 MSB か ら 順にシ フ ト し ます。 X 0 X X 1 1 X 1 5 10 11 SHIFT-DR ス テー ト か ら 移行す る と き に LSB を シ フ ト し ます。 TMS に 1 を 5 回入力し 、 TAP を リ セッ ト し ま す。 コ ン フ ィ ギ ュ レ ーシ ョ ン レ ジ ス タ の読み出 し 手順 (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 ス テー ト か ら 移行 す る と き にシ フ ト し ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 147 R 第 7 章 : リ ー ド バ ッ ク および コ ン フ ィ ギ ュ レーシ ョ ンの検証 5. SHIFT-DR ス テー ト 中、 ス テー タ ス レ ジ ス タ か ら 32 ビ ッ ト を シ フ ト し ます。 6. TAP コ ン ト ロー ラ を リ セ ッ ト し ます。 表 7-5 : ス テー タ ス レ ジ ス タ の リ ー ド バ ッ ク コ マ ン ド のシーケ ン ス (JTAG) セ ッ ト ア ッ プお よびホール ド 手順 説明 TMS (TCK) X 1 5 RTI ス テー ト に移行 し ます。 X 0 1 SELECT-IR ス テー ト に移行 し ます。 X 1 2 SHIFT-IR ス テー ト に移行 し ます。 X 0 2 111000101 (CFG_IN) 0 9 SHIFT-IR ス テー ト か ら 移行す る と き に CFG_IN 命令の MSB を シ フ ト し ます。 1 1 1 SELECT-DR ス テー ト に移行 し ます。 X 1 2 SHIFT-DR ス テー ト に移行 し ます。 X 0 2 0 159 0 1 1 SELECT-IR ス テー ト に移行 し ます。 X 1 3 SHIFT-IR ス テー ト に移行 し ます。 X 0 2 111000100 (CFG_OUT) 0 9 SHIFT-IR ス テー ト か ら 移行す る と き に CFG_OUT 命令の MSB を シ フ ト し ます。 1 1 1 SELECT-DR ス テー ト に移行 し ます。 X 1 2 SHIFT-DR ス テー ト に移行 し ます。 X 0 2 TMS に 1 を 5 回入力 し 、 デバ イ ス を TLR ス テー ト に し ます。 1 CFG_IN 命令の最初の 9 ビ ッ ト を LSB か ら 順 にシ フ ト し ます。 2 ク ロッ ク 数 TDI a :0xAA995566 b :0x20000000 コ ン フ ィ ギュ レ ーショ ン パケ ッ ト を MSB から c :0x2800E001 順に CFG_IN データ レ ジス タ にシフ ト し ま す。 d :0x20000000 e :0x20000000 3 SHIFT-DR ス テー ト か ら 移行す る と き に最後 の コ ン フ ィ ギ ュ レーシ ョ ン パケ ッ ト の LSB を シ フ ト し ます。 CFG_OUT 命令の最初の 9 ビ ッ ト を LSB か ら 順にシ フ ト し ます。 4 148 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R リ ー ド バ ッ ク コ マ ン ド シーケ ン ス 表 7-5 : ス テー タ ス レ ジ ス タ の リ ー ド バ ッ ク コ マ ン ド のシーケ ン ス (JTAG) (続き ) セ ッ ト ア ッ プお よびホール ド 手順 説明 TMS (TCK) 0xSSSSSSSS 0 31 S 1 1 SELECT-IR ス テー ト に移行 し ます。 X 1 3 SHIFT-IR ス テー ト に移行 し ます。 X 0 2 TAP コ ン ト ロ ー ラ を リ セ ッ ト し ます。 X 1 5 STAT レ ジ ス タ の内容を CFG_OUT デー タ レ ジ ス タ か ら シ フ ト し ます。 5 ク ロッ ク 数 TDI SHIFT-DR ス テー ト か ら 移行す る と き に STAT レ ジ ス タ の最後の ビ ッ ト を CFG_OUT デー タ レ ジ ス タ か ら シ フ ト し ます。 6 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 コ マン ド を書 き 込みます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 149 R 第 7 章 : リ ー ド バ ッ ク および コ ン フ ィ ギ ュ レーシ ョ ンの検証 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) 手順 セ ッ ト ア ッ プお よびホール ド 説明 TMS (TCK) X 1 5 RTI ス テー ト に移行 し ます。 X 0 1 SELECT-IR ス テー ト に移行 し ます。 X 1 2 SHIFT-IR ス テー ト に移行 し ます。 X 0 2 111000101 0 9 SHIFT-IR ス テー ト か ら 移行す る と き に、 CFG_IN 命令の MSB を シ フ ト し ます。 1 1 1 SELECT-DR ス テー ト に移行 し ます。 X 1 2 SHIFT-DR ス テー ト に移行 し ます。 X 0 2 0 223 0 1 1 SELECT-IR ス テー ト に移行 し ます。 X 1 3 SHIFT-IR ス テー ト に移行 し ます。 X 0 2 TMS に 1 を 5 回入力 し 、 デバ イ ス を TLR ス テー ト に し ます。 1 CFG_IN 命令の最初の 9 ビ ッ ト を LSB か ら 順 にシ フ ト し ます。 2 ク ロ ッ ク数 TDI a :0xFFFFFFFF コ ン フ ィ ギュ レ ーショ ン パケ ッ ト を MSB から 順に CFG_IN データ レ ジス タ にシフ ト し ま す。 3 SHIFT-DR ス テー ト か ら 移行す る と き に、 最 後の コ ン フ ィ ギ ュ レーシ ョ ン パケ ッ ト の LSB b :0xAA995566 c :0x20000000 d :0x30008001 e :0x00000007 f :0x20000000 g :0x20000000 を シ フ ト し ます。 150 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R リ ー ド バ ッ ク コ マ ン ド シーケ ン ス 表 7-6 : シ ャ ッ ト ダウン リ ー ド バ ッ ク コ マ ン ド のシーケ ン ス (JTAG) (続き ) 手順 説明 TMS (TCK) 111001101 0 9 1 1 1 X 0 12 SELECT-IR ス テー ト に移行 し ます。 X 1 2 SHIFT-IR ス テー ト に移行 し ます。 X 0 2 111000101 0 9 SHIFT-IR ス テー ト か ら 移行す る と き に、 CFG_IN 命令の MSB を シ フ ト し ます。 1 1 1 SELECT-DR ス テー ト に移行 し ます。 X 1 2 SHIFT-DR ス テー ト に移行 し ます。 X 0 2 f :0x30002001 g :0x00000000 h :0x28006000 i :0x48024090 j :0x20000000 k :0x20000000 0 351 0 1 1 SELECT-IR ス テー ト に移行 し ます。 X 1 3 SHIFT-IR ス テー ト に移行 し ます。 X 0 2 0 9 か ら 順にシ フ ト し ます。 SHIFT-IR ス テー ト か ら 移行す る と き に、 JSHUTDOWN 命令の MSB を シ フ ト し ます。 RTI ス テー ト に移行 し 、 TCK の 12 サ イ ク ル間 こ の ス テー ト に と ど ま り ます。 5 CFG_IN 命令の最初の 9 ビ ッ ト を LSB か ら 順 にシ フ ト し ます。 6 ク ロ ッ ク数 TDI JSHUTDOWN 命令の最初の 9 ビ ッ ト を LSB 4 セ ッ ト ア ッ プお よびホール ド a :0xFFFFFFFF コ ン フ ィ ギュ レ ーショ ン パケ ッ ト を MSB から 順に CFG_IN データ レ ジス タ にシフ ト し ま す。 7 SHIFT-DR ス テー ト か ら 移行す る と き に、 最 後の コ ン フ ィ ギ ュ レーシ ョ ン パケ ッ ト の LSB b :0xAA995566 c :0x20000000 d :0x30008001 e :0x00000004 を シ フ ト し ます。 8 CFG_OUT 命令の最初の 9 ビ ッ ト を LSB か ら 111000100 順にシ フ ト し ます。 (CFG_OUT) SHIFT-IR ス テー ト か ら 移行す る と き に、 CFG_OUT 命令の MSB を シ フ ト し ます。 1 1 1 SELECT-DR ス テー ト に移行 し ます。 X 1 2 SHIFT-DR ス テー ト に移行 し ます。 X 0 2 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 151 R 第 7 章 : リ ー ド バ ッ ク および コ ン フ ィ ギ ュ レーシ ョ ンの検証 表 7-6 : シ ャ ッ ト ダウン リ ー ド バ ッ ク コ マ ン ド のシーケ ン ス (JTAG) (続き ) 手順 セ ッ ト ア ッ プお よびホール ド 説明 TMS (TCK) … 0 リード バッ ク の ビ ッ ト 数 -1 X 1 1 SELECT-IR ス テー ト に移行 し ます。 X 1 3 SHIFT-IR ス テー ト に移行 し ます。 X 0 2 X 1 3 FDRO レ ジ ス タ の内容を CFG_OUT デー タ レ ジ ス タ か ら シ フ ト し ます。 9 ク ロ ッ ク数 TDI SHIFT-DR ス テー ト か ら 移行す る と き に、 FDRO レ ジ ス タ の最後のビ ッ ト を CFG_OUT デー タ レ ジ ス タ か ら シ フ ト し ます。 10 TAP コ ン ト ロ ー ラ を TLR ス テー ト に し て終了 し ます。 コ ン フ ィ ギ ュ レ ーシ ョ ン メ モ リ の読み出 し 手順 (1532 JTAG) IEEE 1532 JTAG リ ー ド バ ッ ク の手順は、IEEE 1149.1 JTAG の場合 と 多少異な り ます。 IEEE 1532 JTAG リ ー ド バ ッ ク では、 CFG_IN JTAG レ ジ ス タ を使用 し 、 コ マン ド を コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク に送信す る のではな く 、 ISC_READ JTAG レ ジ ス タ を使用 し 、 コ ン フ ィ ギ ュ レ ーシ ョ ン メ モ リ を直接読み出 し ます。 1532 JTAG リ ー ド バ ッ ク の最後に、 CRC の リ セ ッ ト コ マ ン ド を実行す る か、 CRC レ ジ ス タ に適 切な CRC の値を書 き 込む こ と に よ っ て、 CRC エ ラ ー ス テー タ ス を解除す る 必要が あ り ます。 図 7-3 に、 1532 JTAG リ ー ド バ ッ ク 手順を示 し ます。 㐿ᆎ A ISC_ENABLE 䉕⺒䉂ㄟ䉂 ISC_READ 䉕⺒䉂ㄟ䉂 5'b00000 䉕⺒䉂ㄟ䉂 RTI 䈪㩷TCK㩷䉕㩷 12㩷䉰䉟䉪䊦એ RTI 䈪㩷TCK㩷䉕㩷 1㩷䉰䉟䉪䊦 37 䊎䉾䊃䈱䊥䊷䊄 䊋䉾䉪㩷䊂䊷䉺 + 䉴䊁䊷䉺䉴䉕䉲䊐䊃 ISC_PROGRAM 䉕⺒䉂ㄟ䉂 N EO 䊂䊷䉺 䊎䉾䊃䉴䊃䊥䊷䊛㩷䊂䊷䉺 䉕㩷32㩷䊎䉾䊃⺒䉂ㄟ䉂 RTI 䈪㩷TCK㩷䉕㩷 1㩷䉰䉟䉪䊦 N Y ISC_PROGRAM 䉕⺒䉂ㄟ䉂 䊥䉶䉾䊃 CRC 䉮䊙䊮䊄 䉕⺒䉂ㄟ䉂 EO 䊎䉾䊃䉴䊃䊥䊷䊛 Y A ISC_DISABLE 䉕⺒䉂ㄟ䉂 RTI 䈪㩷TCK㩷䉕㩷 12㩷䉰䉟䉪䊦એ Test-Logic-Reset 䈮⒖ⴕ ᱛ UG191_c7_03_050406 図 7-3 : IEEE 1532 JTAG リ ー ド バ ッ ク フ ロー 152 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R リ ー ド バ ッ ク コ マ ン ド シーケ ン ス 表 7-7 で、 リ ー ド バ ッ ク フ ァ イ ルについて説明 し ます。 表 7-7 : リ ー ド バ ッ ク フ ァ イル フ ァ イル 拡張子 .rba ASCII .rbb バイ ナリ .rbd BitGen フ ァ イル タ イプ ASCII 説明 設定 -b お よ び -g リ ードバッ ク コ ン フ ィ ギ ュ レーシ ョ ン コ マ ン ド ではな く リ ー ド バ ッ ク コ マン ド を含む ASCII 形式の フ ァ イ ルで、 コ ン フ ィ ギ ュ レーシ ョ ン デー タ が通常保存 さ れてい る 場所に、 予測 さ れ る リ ー ド バ ッ ク デー タ が含まれてい ます。 こ の フ ァ イ ルは、 MSK フ ァ イ ル と 共に使用す る 必要があ り ます。 -g RBA フ ァ イ ルのバ イ ナ リ バージ ョ ンで、 MSK フ ァ イ ル リ ードバッ ク -g リ ードバッ ク と 共に使用す る 必要があ り ます。 予測 さ れ る リ ー ド バ ッ ク デー タ (初期パ ッ ド フ レーム を 含む) のみが含まれ る ASCII フ ァ イ ルです。 コ マ ン ド は 含まれません。 こ の フ ァ イ ルは、 MSD フ ァ イ ル と 共に使 用す る 必要があ り ます。 BIT フ ァ イ ル と 同様の コ ン フ ィ ギ ュ レーシ ョ ン コ マン ド を含むバ イ ナ リ フ ァ イ ルです。 ただ し 、 FDRI 書 き 込み パケ ッ ト の内容が、 BIT フ ァ イ ル内の対応す る ビ ッ ト を .msk .msd .ll バイ ナリ ASCII -m -g リ ードバッ ク ASCII -l 比較す る 必要があ る か を示すマ ス ク デー タ で置換 さ れて い ます。 マ ス ク ビ ッ ト が 0 の場合、 リ ー ド バ ッ ク デー タ ス ト リ ームの対応す る ビ ッ ト を比較す る 必要があ り ます が、 1 の場合は無視 さ れます。 マ ス ク ビ ッ ト のみを含む ASCII フ ァ イ ルです。 MSD フ ァ イ ルの最初の ビ ッ ト が、 RBD フ ァ イ ルの最初の ビ ッ ト に対応 し ます。 実際の リ ー ド バ ッ ク ス ト リ ームに あ る パ ッ ド デー タ は、 MSD フ ァ イ ルお よ び RBD フ ァ イ ルに も あ り ます。 マ ス ク ビ ッ ト が 0 の場合、 ビ ッ ト が ビ ッ ト ス ト リ ームのデー タ と 比較 さ れ、 1 の場合は検証 さ れません。 リ ー ド バ ッ ク でキ ャ プチ ャ さ れ る デザ イ ンにあ る 各 ノ ー ド の情報を含む ASCII フ ァ イ ルです。 こ の フ ァ イ ルに は、 リ ー ド バ ッ ク ス ト リ ームの絶対ビ ッ ト 位置、 フ レー ム ア ド レ ス、 フ レーム オフ セ ッ ト 、 使用 さ れ る ロ ジ ッ ク リ ソ ース、 お よ びデザ イ ンにおけ る コ ン ポーネ ン ト 名 が含まれます。 design.rba お よ び design.rbb フ ァ イ ルは、 リ ー ド バ ッ ク コ マン ド と 予測 さ れ る リ ー ド バ ッ ク デー タ を結合 し ますが、RBD フ ァ イ ルには予測 さ れ る リ ー ド バ ッ ク デー タ のみが含まれます。 リ ー ド バ ッ ク に RBD フ ァ イ ルを使用す る シ ス テ ムでは、 リ ー ド バ ッ ク コ マン ド を別の場所に格納す る 必要があ り ます。 RBA、 RBB、 お よ び RBD フ ァ イ ルにあ る 予測 さ れ る リ ー ド バ ッ ク ス ト リ ームに は無視す る 必要があ る ビ ッ ト が含ま れ る ため、 実際の リ ー ド バ ッ ク デー タ は、 MSK ま たは MSD フ ァ イ ルを使用 し てマ ス ク す る 必要があ り ます。 リ ー ド バ ッ ク コ マ ン ド の設定フ ァ イ ルには、 SelectMAP ま たは JTAG イ ン タ ーフ ェ イ ス をいつ書 き 込み制御か ら 読み出 し 制御へ変更すべ き かが示 さ れてい ません。 こ のため、 前述 し た リ ー ド バ ッ ク コ マ ン ド シーケ ン ス に基づいて、 ユーザーが変更す る 必要があ り ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 153 R 第 7 章 : リ ー ド バ ッ ク および コ ン フ ィ ギ ュ レーシ ョ ンの検証 リ ー ド バ ッ ク デー タ の検証 「 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の読み出 し 手順 (SelectMAP)」 で説明 し た よ う に、 リ ー ド バ ッ ク デー タ ス ト リ ームには、 コ ン フ ィ ギ ュ レーシ ョ ン フ レーム デー タ お よ びその前にあ る 1 フ レーム のパ ッ ド デー タ が含ま れてい ます。 リ ー ド バ ッ ク ス ト リ ームには、 コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム内の コ マ ン ド ま たはパケ ッ ト 情報は含ま れてお ら ず、 リ ー ド バ ッ ク 中に CRC の算出 は実行 さ れません。 図 7-4 に、 リ ー ド バ ッ ク デー タ ス ト リ ーム を示 し ます。 䊥䊷䊄䊋䉾䉪㩷䊂䊷䉺 1 䊐䊧䊷䊛 䊌䉾䊄㩷䊐䊧䊷䊛 䊂䊋䉟䉴㩷 䊐䊧䊷䊛 䈱ว⸘ᢙ 䊐䊧䊷䊛㩷䊂䊷䉺 UG191_c7_04_050406 図 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 ま で フ ァ イ ル サ イ ズ を縮小で き ます。 154 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R リ ー ド バ ッ ク デー タ の検証 MSD RBD 䊐䉜䉟䊦 䊐䉜䉟䊦 䊥䊷䊄䊋䉾䉪 䊂䊷䉺㩷䉴䊃䊥䊷䊛 䊐䉜䉟䊦㩷䊓䉾䉻 䊐䉜䉟䊦㩷䊓䉾䉻 1 䊐䊧䊷䊛 䊌䉾䊄㩷䊐䊧䊷䊛 䊌䉾䊄㩷䊐䊧䊷䊛 䊌䉾䊄㩷䊐䊧䊷䊛 䊂䊋䉟䉴 䊐䊧䊷䊛 䈱ว⸘ᢙ 䊐䊧䊷䊛㩷䊂䊷䉺 䊐䊧䊷䊛㩷䊂䊷䉺 䊙䉴䉪 䊐䊧䊷䊛㩷䊂䊷䉺 UG191_c7_05_050406 図 7-5 : MSD お よび RBD フ ァ イルを使用 し た リ ー ド バ ッ ク デー タ の比較 こ の方法のデ メ リ ッ ト は、最初の コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト ス ト リ ームお よ び MSD フ ァ イ ルを格納す る だけでな く 、 RBD フ ァ イ ルを格納 し なければな ら ず、必要な格納容量が増加す る 点です。 2. MSK フ ァ イ ルを使用 し てマ ス ク し 、リ ー ド バ ッ ク デー タ と コ ン フ ィ ギ ュ レーシ ョ ン BIT フ ァ イ ルを比較す る 方法 (図 7-6 を参照) も う 1 つの検証方法では、 MSK フ ァ イ ルを使用 し て リ ー ド バ ッ ク ビ ッ ト を マ ス ク し 、 リ ー ド バ ッ ク デー タ ス ト リ ーム と オ リ ジナルの コ ン フ ィ ギ ュ レ ーシ ョ ン ビ ッ ト ス ト リ ー ム に あ る FRDI 書 き 込み内の フ レーム デー タ を比較 し ます。 デバ イ ス への リ ー ド バ ッ ク コ マ ン ド の送信後、 リ ー ド バ ッ ク フ レ ー ム デー タ の開始 と BIT フ ァ イ ルに あ る FDRI 書 き 込みの開始お よ び MSK フ ァ イ ルの開始を揃え、 比較を開始 し ま す。 こ の比較は、 FDRI 書 き 込みが最後に達す る と 終了 し ます。 こ の方法の場合、 格納する 必要があ る のは BIT お よ び MSK フ ァ イ ル と リ ー ド バ ッ ク コ マ ン ド のみであ る ため、 必要 と す る イ ン シ ス テ ム格納スペース が最小限 と な り ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 155 R 第 7 章 : リ ー ド バ ッ ク および コ ン フ ィ ギ ュ レーシ ョ ンの検証 䊥䊷䊄䊋䉾䉪 䊂䊷䉺㩷䉴䊃䊥䊷䊛 1 䊐䊧䊷䊛 䊂䊋䉟䉴 䊐䊧䊷䊛 䈱ว⸘ᢙ MSK BIT 䊐䉜䉟䊦 䊐䉜䉟䊦 䊐䉜䉟䊦㩷䊓䉾䉻 䊐䉜䉟䊦㩷䊓䉾䉻 䉮䊙䊮䊄 䉮䊙䊮䊄 䊐䊧䊷䊛㩷䊂䊷䉺 䊙䉴䉪 䊐䊧䊷䊛㩷䊂䊷䉺 䊌䉾䊄㩷䊐䊧䊷䊛 䊌䉾䊄㩷䊐䊧䊷䊛 䉮䊙䊮䊄 䉮䊙䊮䊄 䊌䉾䊄㩷䊐䊧䊷䊛 䊐䊧䊷䊛㩷䊂䊷䉺 UG191_c7_06_050406 図 7-6 : MSK お よび BIT フ ァ イルを使用 し た リ ー ド バ ッ ク デー タ の比較 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 サ イ ク ル間アサー ト さ れます。 156 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R リ ー ド バッ ク キャ プチ ャ ᄖㇱ䉁䈢䈲 ౝㇱାภ䈪 䊃䊥䉧 CAPTURE_VIRTEX5 CAP CLK ᄖㇱ䉁䈢䈲 ౝㇱ䉪䊨䉾䉪 䈮หᦼ UG191_c7_07_050406 図 7-7 : Virtex-5 ラ イ ブ ラ リ プ リ ミ テ ィ ブ 表 7-8 : キ ャ プ チ ャ 信号 信号 説明 ア ク セス GCAPTURE すべての ス ラ イ スお よ び IOB レ ジ ス タ の ス テー ト を キ ャ プチ ャ する 、 GRESTORE の コ ンポーネ ン ト GRESTORE すべての レ ジ ス タ を初期化 CMD レ ジ ス タ への GCAPTURE コ マ ン ド の書 き 込み、 ま たはキ ャ プチ ャ ブ ロ ッ ク の CAP 入力のアサー ト 、 ユー ザー制御 CMD レ ジ ス タ お よ び STARTUP_VIRTEX5 ブ ロ ッ ク CAP 信号が複数ク ロ ッ ク サイ ク ル間アサート さ れる と 、 ク ロ ッ ク の各立ち上がり エッ ジで、 キャ プ チャ セルが新し いレ ジ ス タ 値で更新さ れま す。 CAPTURE_VIRTEX5 プリ ミ テ ィ ブに ONESHOT 属性を 設定する と 、 ク ロ ッ ク の最初の立ち上がり エッ ジでのみキ ャ プチャ が実行さ れる よ う に制限 でき ま す。 ONESHOT 属性の詳細は、 『制約ガ イ ド 』 を参照 し て く だ さ い。 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ フ レームがデバ イ ス か ら 読み出 さ れ る と 、 リ ー ド バ ッ ク デー タ ス ト リ ームか ら キ ャ プチ ャ さ れた レ ジ ス タ 値を確認で き ます。 表 7-9 に示す よ う に、 キ ャ プチ ャ ビ ッ ト 位置は ロ ジ ッ ク ア ロ ケーシ ョ ン フ ァ イ ル (design.ll) に記述 さ れます。 表 7-9 は、 ISE サンプル デザ イ ン jc2_top の ロ ジ ッ ク ア ロ ケーシ ョ ン フ ァ イ ルの一部です。 こ こ では、わか り やす く す る ため、行フ ォーマ ッ ト を説明す る ヘ ッ ダ コ メ ン ト を ビ ッ ト オフ セ ッ ト デー タ の最初に移動 し てい ます。 [ オフ セ ッ ト ] 列は、 リ ー ド バ ッ ク フ レーム デー タ の開始か ら の絶対的 な ビ ッ ト オ フ セ ッ ト を示 し ます。 [ フ レーム ア ド レ ス ] 列は、 キ ャ プチ ャ ビ ッ ト が配置 さ れてい る フ レーム ア ド レ ス を示 し 、 [ フ レーム オフ セ ッ ト ] 列はフ レームの開始か ら の ビ ッ ト オフ セ ッ ト を 示 し ます。 [情報] 列は、 ビ ッ ト と ユーザー デザ イ ンの対応を示 し ます。 た と えば、 ス ラ イ ス X8Y15 にあ る DIR レ ジ ス タ (表 7-9) は、 ビ ッ ト オフ セ ッ ト 100790 にあ り ます。 キ ャ プチ ャ さ れた DFF 値は、 反転 し て保存 さ れます。 表 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 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 157 R 第 7 章 : リ ー ド バ ッ ク および コ ン フ ィ ギ ュ レーシ ョ ンの検証 表 7-9 : ロ ジ ッ ク ア ロケーシ ョ ン フ ァ イル フ ォ ーマ ッ ト 158 オフセ ッ ト フ レーム ア ド レス フ レーム オフセ ッ ト 情報 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 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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 BPI PROMs with Virtex-5 FPGAs』 を 参照)。 「フ ォ ールバ ッ ク の例」 に、 フ ォ ールバ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ンの一例を示 し ます。 コ ン フ ィ ギ ュ レーシ ョ ン中は、 IDCODE エ ラ ー、 CRC エ ラ ー、 ウ ォ ッ チ ド ッ グ タ イ マの タ イ ム ア ウ ト エ ラ ー、 ま たは BPI ア ド レ ス の ラ ッ プア ラ ウ ン ド エ ラ ーに よ っ て、 フ ォールバ ッ ク が ト リ ガ さ れます。 コ ン フ ィ ギ ュ レーシ ョ ン後は、ユーザー モニ タ モー ド で有効にな っ た ウ ォ ッ チ ド ッ グ タ イ マで も 、 フ ォールバ ッ ク が ト リ ガ さ れます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 159 R 第 8 章 : リ コ ン フ ィ ギ ュ レーシ ョ ンおよび マルチ ブー ト フ ォ ールバ ッ ク リ コ ン フ ィ ギ ュ レ ーシ ョ ン の 完了後、 ユ ーザ ー デザ イ ン で 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 の位置に格納す る 必要があ り ます。 詳細は、 「マルチブー ト ビ ッ ト ス ト リ ーム間のパデ ィ ン グ」 を参照 し て く だ さ い。 RS=00 䊎䉾䊃䉴䊃䊥䊷䊛 - 0 RS=01 RS=10 RS=11 䊎䉾䊃䉴䊃䊥䊷䊛 - 1 䊎䉾䊃䉴䊃䊥䊷䊛 - 2 䊎䉾䊃䉴䊃䊥䊷䊛 - 3 䊡䊷䉱䊷 㕖ើ⊒ᕈ 䉴䊃䊧䊷䉳 UG191_c8_01_050406 図 8-1 : マルチ ブー ト の BPI フ ラ ッ シ ュのア ド レ ス空間 160 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R フ ォ ールバ ッ ク マルチ ブー ト 図 8-2 に示す よ う に、 外部抵抗を使用 し て内部の弱いプルア ッ プ抵抗を無効にす る と 、 初期ビ ッ ト ス ト リ ーム を選択で き ます。 VCC Virtex-5 FPGA BPI Flash RS [1:0] FWE_B FOE_B FCS_B ADDR [19:0] DATA [7:0] RS[1:0] ADDR [21:20] WE_B OE_B CS_B ADDR [19:0] DATA [7:0] RS[1:0] RS [1] 0 RS [0] 0 䊐䉤䊷䊦䊋䉾䉪ਛ㩷 RS[1:0] 䉕䉝䉪䊁䉞䊑䈮㩷 Low㩷䈮㚟േ UG191_c8_02_050406 図 8-2 : BPI でのフ ォ ールバ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ンの使用 次に、 図 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 Switching Characteristics』 の DCM のセ ク シ ョ ン を参照 し て く だ さ い。 ビ ッ ト 挿入サ イ ズは、 cfg_bus_width * total_lock_time / CCLK_period の式で求め る こ と がで き ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 161 R 第 8 章 : リ コ ン フ ィ ギ ュ レーシ ョ ンおよび マルチ ブー ト 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 を使用する IPROG IPROG コ マ ン ド は、 ICAP_VIRTEX5 プ リ ミ テ ィ ブ を使用 し て送信で き ま す。 コ ン フ ィ ギ ュ レ ー シ ョ ンの完了後、ユーザー デザ イ ンで次のビ ッ ト ス ト リ ームの開始ア ド レ ス が判断 さ れ、WBSTAR レ ジ ス タ の設定後に ICAP を使用 し て IPROG コ マン ド が送信 さ れます。 コ マ ン ド のシーケ ン スは次の と お り です。 1. 同期ワ ー ド を送信 し ます。 2. 次のビ ッ ト ス ト リ ーム開始ア ド レ ス用に WBSTAR レ ジ ス タ を プ ロ グ ラ ム し ます (131 ページ の 「 ウ ォーム ブー ト の開始ア ド レ ス レ ジ ス タ (WBSTAR)」 を参照)。 3. IPROG コ マ ン ド を送信 し ます。 表 8-1 に、 ICAP を使用す る IPROG コ マ ン ド のビ ッ ト ス ト リ ーム例を示 し ます。 表 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 コ ン フ ィ ギ ュ レ ーシ ョ ン ロ ジ ッ ク で IPROG コ マ ン ド が受信 さ れ る と 、 FPGA で専用 リ コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク を除 く すべてが リ セ ッ ト さ れ、 INIT_B お よ び DONE ピ ンが Low にな り ます。 FPGA ですべての コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ が ク リ ア さ れ る と 、INIT_B は再び High に な り ま す。 そ の 後、 WBSTAR の 値 が ビ ッ ト ス ト リ ー ム の 開始 ア ド レ ス と し て 使用 さ れ ま す。 WBSTAR で制御 さ れ る ピ ンは、 コ ン フ ィ ギ ュ レーシ ョ ン モー ド に よ っ て決定 し ます。 162 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R IPROG リ コ ン フ ィ ギ ュ レーシ ョ ン 表 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] RS[1:0] は、 すべての コ ン フ ィ ギ ュ レーシ ョ ン モー ド で WBSTAR に よ り 制御 さ れます。 START_ADDR フ ィ ール ド は、 BPI-Up、 BPI-Down、 お よ び SPI モー ド でのみ コ ン フ ィ ギ ュ レ ー シ ョ ンに影響を与え ます。 VCC Virtex-5 FPGA BPI Flash RS[1:0] FWE_B FOE_B FCS_B ADDR[23:0] DATA[15:0] RS[1:0] ADDR[25:24] WE_B OE_B CS_B ADDR[23:0] DATA[15:0] RS[1:0] RS[1] 1’ b1 RS[0] 1’ b1 FPGA 䈪 䉝䉪䊁䉞䊑䈮 2’b11㩷䉕㚟േ UG191_c8_03_050406 図 8-3 : BPI モー ド での IPROG 次に、 図 8-3 について説明 し ます。 1. すべての BPI ピ ンは多目的 I/O です。 こ れ ら の ピ ンは、 コ ン フ ィ ギ ュ レーシ ョ ン後はユーザー I/O と し て使用で き 、 ユーザー ロ ジ ッ ク で制御する こ と で BPI フ ラ ッ シ ュ にア ク セ ス し 、 ユー ザー デー タ の格納お よびプ ロ グ ラ ムが可能 と な り ます。 2. こ の例では、 RS[1:0] は 2'b11 に設定 さ れてい ます。 IPROG リ コ ン フ ィ ギ ュ レーシ ョ ン中は、 RS[1:0] ピ ン が外部プルア ッ プお よ びプルダ ウ ン抵抗 よ り 優先 さ れ ます。 WBSTAR レ ジ ス タ には任意の RS[1:0] 値を指定で き ます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 163 R 第 8 章 : リ コ ン フ ィ ギ ュ レーシ ョ ンおよび マルチ ブー ト ビ ッ ト ス ト リ ームに組み込まれた IPROG WBSTAR お よ び 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 に、 こ の使用モデルを示 し ます。 詳細は、 「マルチブー ト ビ ッ ト ス ト リ ーム間のパデ ィ ン グ」 を参照 し て く だ さ い。 䉻䊚䊷 หᦼ䊪䊷䊄 WBSTAR = A1 ᦨೋ䈱䊎䉾䊃䉴䊃䊥䊷䊛 IPROG 䉮䊙䊮䊄 ... ... Virtex-5 FPGA 䉝䊄䊧䉴 = A1 䉻䊚䊷 หᦼ䊪䊷䊄 WBSTAR = 0 ᦨᓟ䈱䊎䉾䊃䉴䊃䊥䊷䊛 NULL 䉮䊙䊮䊄 ... ... UG191_c8_04_050406 図 8-4 : ビ ッ ト ス ト リ ームに組み込まれた IPROG 164 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R フ ォ ールバ ッ ク および IPROG リ コ ン フ ィ ギ ュ レーシ ョ ン用のス テー タ ス レ ジ ス タ フ ォ ールバ ッ ク および 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-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 表 8-5 の メ モ : 1. Status_1 は、 IPROG が実行 さ れ、 そのビ ッ ト ス ト リ ームで CRC_ERROR が検出 さ れた こ と を示 し ます。 2. Status_0 は、 フ ォールバ ッ ク ビ ッ ト ス ト リ ームが問題な く 読み込まれた こ と を示 し ます。 こ の 場合、 フ ォールバ ッ ク ビ ッ ト ス ト リ ームには IPROG コ マ ン ド が含まれ る ため、 IPROG ビ ッ ト も セ ッ ト さ れてい ます。 フ ォ ールバ ッ ク 中 IPROG コ マ ン ド は無視 さ れ ますが、 ス テー タ ス には反映 さ れます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 165 R 第 8 章 : リ コ ン フ ィ ギ ュ レーシ ョ ンおよび マルチ ブー ト ウォ ッ チ ド ッ グ 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 を使用 し たウ ォ ッ チ ド ッ グの再読み込みのビ ッ ト ス ト リ ーム例 166 コ ン フ ィ ギ ュ レーシ ョ ン デー タ (hex) 説明 FFFFFFFF ダ ミ ー ワー ド AA995566 同期ワ ー ド 20000000 タ イ プ 1、 NO OP 30008001 タ イ プ 1、 CMD に 1 ワ ー ド 書き 込み 00000000 NULL japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R ウォ ッ チ ド ッグ 表 8-6 : LTIMER を使用 し たウ ォ ッ チ ド ッ グの再読み込みのビ ッ ト ス ト リ ーム例 コ ン フ ィ ギ ュ レーシ ョ ン デー タ (hex) 説明 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 に直接ア ク セ スす る 場合のビ ッ ト ス ト リ ーム例を示 し ます。 表 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 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 167 R 168 第 8 章 : リ コ ン フ ィ ギ ュ レーシ ョ ンおよび マルチ ブー ト japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (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 ( ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン ポー ト ) メ モ リ はマ ス ク さ れます。 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 169 R 第 9 章 : リ ー ド バ ッ ク CRC リ ー ド バ ッ ク CRC ロ ジ ッ ク が有効な場合、 コ ン フ ィ ギ ュ レーシ ョ ンが完了 し 、 次の条件が満た さ れ る と 、 バ ッ ク グ ラ ン ド で自動的に実行 さ れます。 • FPGA のス タ ート アッ プが適切に完了し 、 DONE ピ ン が High なっ ている 。 • コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス が適切に維持 さ れてい る 。 通常の ビ ッ ト ス ト リ ーム には最後に DESYNC コ マ ン ド があ り 、 コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ スはそれ以降 使用 さ れな く な り ます。 • JTAG イ ン タ ーフ ェ イ ス を使用 し てい る 場合、 JTAG 命令レ ジ ス タ が CFG_IN、 CFG_OUT、 ま たは ISC_ENABLE に設定 さ れていない。 表 9-1 に示す よ う に、 リ ー ド バ ッ ク CRC の ク ロ ッ ク ソ ース はモー ド に よ っ て異な り ます。 表 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 ク ロ ッ クなし (表下の説明を参照) JTAG は最優先の コ ン フ ィ ギ ュ レーシ ョ ン モー ド であ る ため、 必要な場合は コ ン フ ィ ギ ュ レーシ ョ ン バ ス が優先的に JTAG で使用 さ れます。 JTAG コ ン フ ィ ギ ュ レーシ ョ ン のみを実行す る 場合は、 M[2:0] を マ ス タ シ リ アル モー ド に設定す る こ と を推奨 し ます。 こ れに よ り 、 内部オシ レー タ は連 続 し た ク ロ ッ ク を供給 し ます。 JTAG 命令レ ジ ス タ は、CFG_IN、CFG_OUT、ま たは ISC_ENABLE 命令に設定 し ないで く だ さ い。 パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン アプ リ ケーシ ョ ンでは、 コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ の 内容が 変化す る た め、 基準値 を 再算出す る 必要 が あ り ま す。 こ の 再算出は、 AGHIGH お よ び DGHIGH コ マ ン ド を使用す る シ ャ ッ ト ダ ウ ン シーケ ン ス でパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン が実行 さ れ る と 、自動的に実行 さ れます。 シ ャ ッ ト ダ ウ ン シーケ ン ス を使用 し ないパーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ンでは、 ビ ッ ト ス ト リ ームの最後に CRCC コ マン ド を送信 し 、再算出を ト リ ガ す る 必要があ り ます。 170 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 R POST_CRC 制約 POST_CRC 制約 Virtex-5 デバ イ ス では、 SEU (Single Event Upset) イ ベン ト を送信す る ために 2 つの制約が使用 さ れます。 こ れ ら の制約の伝搬規則は同 じ です。 こ れ ら は、 CONFIG 制約 と し て指定 さ れ、 物理的な デザ イ ン オブジ ェ ク ト に伝搬 さ れます。 POST_CRC POST_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_SIGNAL POST_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 エ ラ ー信号 と し て使用可能 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 japan.xilinx.com 171 R 第 9 章 : リ ー ド バ ッ ク CRC 構文例 こ こ では、 各制約でサポー ト さ れ る 構文例を示 し ます。 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] 172 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ユーザー ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 索引 A AES 定義 37 iMPACT 24, 141 IPROG 38 定義 162 ISC 83 定義 83 B モーダル ス テー ト 100 BitGen 21, 38, 66 設定 44, 45, 47, 48, 54, 55, 56, 57, 58, 66, 123, 129, 141, 160, 170 リ ー ド バ ッ ク 141 BitGen の設定 68 BSCAN_VIRTEX5 94, 105 BYPASS レ ジ ス タ 94 J JPROGRAM 命令 29, 38, 132, 133 JTAG アーキ テ ク チ ャ 86 定義 83 CAPTURE_VIRTEX5 106, 142, 156, 157 CCLK 79 CRC 定義 34 リ ー ド バ ッ ク 169 D Platform Flash XL SelectMAP コ ン フ ィ ギ ュ レーシ ョ ン 52 ユーザー ガ イ ド 情報 14 PROM コ ン フ ィ ギ ュ レーシ ョ ンに使用 43 PROM フ ァ イ ル SelectMAP 24 SPI/BPI 24 DCM シ リ アル デ イ ジー チ ェ ーン 24 生成 24 ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レー シ ョ ン 111 DRP 定義 111 F FRAME_ECC_VIRTEX5 107 I ICAP 39 定義 39 ICAP_VIRTEX5 106, 162 ID コ ー ド 94 IDCODE 定義 32 レ ジ ス タ 94 IEEE 1149.1 83, 86, 94, 152 IEEE 1532 38, 92, 100, 101, 152 Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日 U USER レ ジ ス タ 94 USERCODE レ ジ ス タ 94 USR_ACCESS_VIRTEX5 109 V VBATT 39 あ 暗号化 37 P C 定義 86 S iMPACT の使用 38 読み込み 38 う ウ ォーム ブー ト 131 ウ ォ ッ チ ド ッ グ タ イ マ 131, 166 き ギ ャ ン グ SelectMAP 58 こ コ ン フ ィ ギ ュ レーシ ョ ン 17 SelectMAP 50 PROM フ ァ イ ル 24 イ ン タ ーフ ェ イ ス 50 ギ ャ ン グ 58 デー タ の順序 66 デー タ の読み込み 59 継続的 60 断続的 62 SelectMAP モー ド ABORT 63 STARTUP_VIRTEX5 110 T TAP AES 37 BitGen 38, 44, 45, 48, 54, 55, 56, 57, 58 CRC 34 Cyclic Redundancy Check 34 ICAP 39 IDCODE 32 PROM フ ァ イ ル 24 PROM を使用 43 SelectMAP 58 VBATT 39 イ ン シ ス テ ム 83 イ ン タ ーフ ェ イ ス 41 基本的な手順 26 初期化 29 シ リ アル デ イ ジー チ ェ ーン 44 コ ン ト ロ ー ラ 89 japan.xilinx.com 173 R 信号 29 ス タ ー ト ア ッ プ シーケ ン ス 35 遅延 29 デー タ フ レームの読み込み 34 電源投入 27 同期 31 バ ウ ン ダ リ ス キ ャ ン 95 ビ ッ ト ス ト リ ームの暗号化 37 ビ ッ ト ス ト リ ームの読み込み 30, 38 ピ ン 17 フ ァ イ ル形式 21 メ モ リ の ク リ ア 29 モー ド 17, 41 BPI パ ラ レル Flash 72 BPI-Down 72 BPI-Up 72 JTAG 83 SelectMAP 50 SPI Flash 67 シ リ アル 41, 43, 44 ス レーブ SelectMAP 54, 55, 58 ス レーブ シ リ アル 44 マ ス タ SelectMAP 53 マ ス タ シ リ アル 43 モー ド ピ ン 42 リ ー ド バ ッ ク 90 リ コ ン フ ィ ギ ュ レーシ ョ ン 111 コ ン フ ィ ギ ュ レーシ ョ ン レ ジ ス タ 118 索引 ひ ビ ッ ト ス ト リ ーム 暗号化 37 コ ン フ ィ ギ ュ レーシ ョ ン 133 読み込み 30, 38 ピン コ ン フ ィ ギ ュ レーシ ョ ン 17, 42 バ ウ ン ダ リ ス キ ャ ン 99 フ ォールバ ッ ク 32, 34, 35, 38, 73, ふ フ ォールバ ッ ク 32, 34, 35, 38, 73, 159 BPI 160 フ レーム ア ド レ ス コ ン フ ィ ギ ュ レーシ ョ ン 137 レ ジ ス タ 124 へ ページ モー ド 78 ま マルチブー ト 74, 159 ビ ッ ト ス ト リ ーム間のパデ ィ ン グ 161 め 命令レ ジ ス タ 92 も シ リ アル デ イ ジー チ ェ ーン 44 PROM フ ァ イ ル 24 SPI モー ド 72 ガ イ ド ラ イ ン 46 デバ イ ス の混在 46 信号 コ ン フ ィ ギ ュ レーシ ョ ン 29 モー ド コ ン フ ィ ギ ュ レーシ ョ ン 41 れ レジス タ BYPASS 94 IDCODE 94 JTAG 91 JTAG コ ン フ ィ ギ ュ レーシ ョ ン 94 USER1、 USER2、 USER3、 USER4 94 USERCODE 94 ウ ォーム ブー ト 開始ア ド レ ス 131 コ マン ド 121 コ ン フ ィ ギ ュ レーシ ョ ン 118 コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ン 127, 130 ス テー タ ス 125 バ ウ ン ダ リ ス キ ャ ン 91 ブー ト 履歴ス テー タ ス 132 フ レーム ア ド レ ス 124 マ ス ク 120 命令 (IR) 92 ゆ ユーザー プ リ ミ テ ィ ブ BSCAN_VIRTEX5 94, 105 CAPTURE_VIRTEX5 106, 142, 156, 157 FRAME_ECC_VIRTEX5 107 ICAP_VIRTEX5 106, 162 STARTUP_VIRTEX5 110 USR_ACCESS_VIRTEX5 109 は 174 IPROG 38, 162 159 BPI 160 し バ ウ ン ダ リ ス キ ャ ン 83 アーキ テ ク チ ャ 91 コ マ ン ド 90 コ ン フ ィ ギ ュ レーシ ョ ン 95 リ コ ン フ ィ ギ ュ レーシ ョ ン 99 レ ジ ス タ 91 パ ラ レ ル デ イ ジー チ ェ ーン 57 キ ャ プチ ャ 141, 156 検証 141 コ マン ド シーケ ン ス 142 リ ー ド バ ッ ク CRC 169 リ コ ン フ ィ ギ ュ レーシ ョ ン 111 り リ ー ド バ ッ ク 141 japan.xilinx.com Virtex-5 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン ガ イ ド UG191 (v3.5) 2008 年 10 月 29 日