328
Spartan-3 ジェネレーション コンフィギュレーション ガイド Spartan-3ASpartan-3Eおよび Spartan-3 FPGA ファミリ UG332 (v1.4) 2008 7 1

Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Embed Size (px)

Citation preview

Page 1: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーションコンフ ィギュレーションガイド

Spartan-3A、 Spartan-3E、および Spartan-3 FPGA ファ ミ リ

UG332 (v1.4) 2008 年 7 月 1 日

Page 2: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com UG332 (v1.4) 2008 年 7 月 1 日

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

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

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

本資料は英語版 (v.1.4) を翻訳したもので、 内容に相違が生じる場合には原文を優先します。

資料によっては英語版の更新に対応していないものがあ り ます。

日本語版は参考用と してご使用の上、 新情報につきましては、 必ず 新英語版をご参照ください。

Page 3: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

UG332 (v1.4) 2008 年 7 月 1 日 japan.xilinx.com Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン ユー

ザー ガイド

改定履歴

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

日付 バージョ ン 改定内容

2006/12/05 1.0 初版リ リース

2007/02/26 1.1 Spartan-3AN FPGA ファ ミ リのコンフ ィギュレーシ ョ ン情報の追加。 第 10 章 の 「内部マ

スタ SPI モード」 に Spartan-3AN FPGA のインシステム フラ ッシュ メモ リからのコンフ ィ

ギュレーシ ョ ン方法を記載。 データ セッ ト アップ タイム (表 4-11 および 表 5-8) の向上に 基づき ConfigRate 設定を追加。 Spartan-3E および Spartan-3A スタータ キッ ト ボードを使

用した新しいデザインへのリ ンクを追加。

2007/05/23 1.2 Spartan-3A DSP ファ ミ リのコンフ ィギュレーシ ョ ン情報の追加。 40 ページの 「ビッ ト ス

ト リームの圧縮」 および 138 ページの 「iMPACT を使用した間接的な SPI プログラ ミ ン

グ」 の追加。 179 ページの 「FPGA が BPI コンフ ィギュレーシ ョ ンに設定されている場合

に JTAG を介して再プログラ ミ ングする際の制限」 の更新。 258 ページの表 12-4 の JTAG ID 値の更新。 301 ページの 「CWDT (コンフ ィギュレーシ ョ ン ウォ ッチド ッグ タイマ) およびフォールバッグ」 への情報追加。

2007/11/21 1.3 「断続的な SelectMAP データの読み込み」 に 「CSI_B のディアサート 」 は、 Spartan-3A、Spartan-3AN、 Spartan-3A DSP FPGA ファ ミ リではサポート されていないこ とを記載。「iMPACT を使用した間接的なパラレル フラ ッシュ プログラ ミ ング」 を追加。 図 5-14 を更新し、 D[7:0] 入力が、 CCLK の立ち上がりエッジでクロ ッ ク されるこ とを示す。 「バイ ト スワップ」 を追加。表 9-2 に、 JTAG TAP コン ト ローラ ステートの説明を追加。表 10-2 の Spartan-3AN FPGA の変数セレク トオプシ ョ ンを更新。 図 14-20 を更新し、 マルチブート変数セレク トは、 NEWMODE=1 の場合 (MODE_REG の BOOTVSEL ビッ トではない )、GENERAL2 レジスタからの読み出しコマンドに基づいているこ とを記載。 本資料全体のソフ ト ウェア バーシ ョ ンの参照および資料へのリ ンクを更新。

2008/07/01 1.4 「図一覧」 および 「表一覧」 の追加。STMicroelectronics 社および Intel 社のフラ ッシュ メモリに Numonyx の記載を追加。 Spartan-3 ファ ミ リでは HSWAP_EN が専用ピンであるこ とを記載。 Spartan-3A/3AN/3A DSP FPGA の DOUT は Spartan-3/3E FPGA の BUSY と同様の機能を持つこ とを記載。 Spartan-3A/3AN/3A DSP FPGA では VCCO2T の要件が 2.0V であるため、 1.8V のコンフ ィギュレーシ ョ ンをサポート しないこ とを記載。 Spartan-3 ジェネレーシ ョ ン デバイスを使用した iMPACT の間接的なフラ ッシュ プログラ ミ ングのサポートに関する記載を更新。

Page 4: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン ユーザー ガイド japan.xilinx.com UG332 (v1.4) 2008 年 7 月 1 日

Page 5: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド japan.xilinx.com 5UG332 (v1.4) 2008 年 7 月 1 日

図一覧

表一覧

第 1 章 : 概要およびデザインの考察デザインの考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

FPGA は PCI® アプリ ケーシ ョ ンで使用されるか . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37デバッグのサポートについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームのサイズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38非圧縮のビッ ト ス ト リームのサイズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38ビッ ト ス ト リームの形式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

同期ワード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39アレイ ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39データ フレーム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

ビッ ト ス ト リームの圧縮 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40パケッ ト形式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

ビッ ト ス ト リーム オプシ ョ ンの設定、 FPGA ビッ ト ス ト リームの生成 . . . . . . . . . . . . . . . . . . . . 41ISE ソフ ト ウェア Project Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42BitGen コマンド ライン ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作一般的なコンフ ィギュレーシ ョ ン制御ピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

コンフ ィギュレーシ ョ ン モードの選択 : M[2:0] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Spartan-3 ジェネレーシ ョ ンファ ミ リ間における M[2:0] の機能的な相違点 . . . . . . . . 48Spartan-3A/3AN/3A DSP および Spartan-3E FPGA ファ ミ リ . . . . . . . . . . . . . . . . . . . 49Spartan-3 FPGA ファ ミ リ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49小消費電力でのコンフ ィギュレーシ ョ ン後の M[2:0] の定義 . . . . . . . . . . . . . . . . . . 49

DONE ピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51関連する BitGen (ビッ ト ス ト リーム ジェネレータ ) オプシ ョ ン . . . . . . . . . . . . . . . . . 51デイジー チェーンまたはブロードサイ ド (ギャング) コンフ ィギュレーシ ョ ンの

複数 FPGA を DONE ピンで同期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53FPGA のプログラムまたはリセッ ト : PROG_B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55コンフ ィギュレーシ ョ ン ク ロ ッ ク : CCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リ間における CCLK の相違 . . . . . . . . . . . 55CCLK デザインの考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57ConfigRate : CCLK の BitGen オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Persist : CCLK を SelectMAP インターフェイスの一部と して予約する . . . . . . . . . . . 59Spartan-3A/3AN/3A DSP および Spartan-3E FPGA ファ ミ リ . . . . . . . . . . . . . . . . . . . 59Spartan-3 FPGA ファ ミ リ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

コンフ ィギュレーシ ョ ン メモ リ、 コンフ ィギュレーシ ョ ン エラーの初期化 : INIT_B . . . . 60コンフ ィギュレーシ ョ ン後 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Spartan-3A/3AN/3A DSP FPGA のコンフ ィギュレーシ ョ ン後の CRC . . . . . . . . . . . 61Spartan-3A/3AN/3A DSP および Spartan-3E FPGA ファ ミ リ . . . . . . . . . . . . . . . . . . . 61Spartan-3 FPGA ファ ミ リ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

コンフ ィギュレーシ ョ ン中のプルアップ抵抗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61コンフ ィギュレーシ ョ ン中に専用プルアップ抵抗付きのピン . . . . . . . . . . . . . . . . . . . 61コンフ ィギュレーシ ョ ン中にオプシ ョ ンのプルアップ抵抗付きのピン . . . . . . . . . . . . 63FPGA プルアップ抵抗値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

ピンの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66コンフ ィギュレーシ ョ ン中のピンの動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

目次

Page 6: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

6 japan.xilinx.com Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド

UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3A/3AN/3A DSP FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72Spartan-3E FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73Spartan-3 FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

コンフ ィギュレーシ ョ ン中のデフォルト I/O 規格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74HSWAP、 M[2:0]、 および VS[2:0] ピンのデザインの考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

専用の HSWAP、 PUDC_B、 M[2:0]、 および VS[2:0] ピン . . . . . . . . . . . . . . . . . . . . . . . . . 76コンフ ィギュレーシ ョ ン後の HSWAP、 PUDC_B、 M[2:0]、

および VS[2:0] ピンの再利用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76Spartan-3E HSWAP の考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77ユーザー I/O になる多目的ピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

第 3 章 : マスタ シリアル モードマスタ シ リ アル モードの接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84電圧の互換性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Platform Flash PROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

VCCAUX が 2.5V の Spartan-3E および Spartan-3A/3A DSP FPGA . . . . . . . . . . . . . . 86Spartan-3 FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

JTAG インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86サポート されている Platform Flash PROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86CCLK 周波数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88デイジー チェーン接続のコンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88ギャングまたはブロードサイ ド コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88JTAG インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Platform Flash に追加ユーザー データを保存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90マスタ シ リ アル コンフ ィギュレーシ ョ ン向けのビッ ト ス ト リームの生成 . . . . . . . . . . . . . . . . . . 92

ConfigRate : CCLK 周波数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92StartupClk : CCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92DriveDone : DONE ピンをアクティブに駆動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92GTS_cycle : グローバル ト ラ イステートによるデイジー チェーンへの

タイ ミ ングのリ リース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92Platform Flash PROM ファ イルの準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

iMPACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93iMPACT を使用し JTAG を介した Platform Flash インシステム プログラム . . . . . . . . . . . . . . . . 97

プログラ ミ ング用ボードの準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97iMPACT を介したプログラ ミ ング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

デバイス プログラマ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101追加情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

第 4 章 : マスタ SPI モードSpartan-3 ジェネレーシ ョ ン FPGA ファ ミ リ間における マスタ SPI モードの相違 . . . . . . . . . . 106互換性のある SPI シ リ アル フラ ッシュの選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

SPI フラ ッシュ PROM 集積度の要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111SPI PROM への FPGA の接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112電圧の互換性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116システムの 3.3V 電源がシーケンスの 後である場合の電源投入時の注意事項 . . . . . . . . . . . . . 116

Spartan-3A/3AN/3A DSP およびコンフ ィギュレーシ ョ ン ウォ ッチド ッグ タイマ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

CCLK 周波数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118コンフ ィギュレーシ ョ ン後の SPI フラ ッシュ インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . 119

コンフ ィギュレーシ ョ ン後 SPI フラ ッシュを使用しない場合 . . . . . . . . . . . . . . . . . . . . . . 119コンフ ィギュレーシ ョ ン後 SPI フラ ッシュを使用する場合 . . . . . . . . . . . . . . . . . . . . . . . . 120

FPGA ロジッ クを使用した SPI マスタ インターフェイス . . . . . . . . . . . . . . . . . . . . . 121SPI フラ ッシュ PROM へのアクセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Page 7: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド japan.xilinx.com 7UG332 (v1.4) 2008 年 7 月 1 日

ほかの SPI に互換性のあるペリ フェラルへのアクセス . . . . . . . . . . . . . . . . . . . . . . . 122デイジー チェーン接続のコンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122ギャングまたはブロードサイ ド コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124プログラ ミ ング サポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

サードパーティのプログラマ (オフボード プログラ ミ ング) . . . . . . . . . . . . . . . . . . . . . . . . 125直接的な SPI インシステム プログラ ミ ング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

iMPACT の直接的なプログラ ミ ング サポートの要件 . . . . . . . . . . . . . . . . . . . . . . . . 126プログラマブル ケーブル 接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126プログラ ミ ング中の FPGA SPI バス ピンに対するハイ インピーダンスの強制 . . . . 127

FPGA を介した直接的なインシステム SPI プログラ ミ ング . . . . . . . . . . . . . . . . . . . . . . . . 128FPGA JTAG チェーンを使用した間接的なインシステム SPI プログラ ミ ング . . . . . . . . . . 129

マスタ SPI コンフ ィギュレーシ ョ ン向けのビッ ト ス ト リームの生成 . . . . . . . . . . . . . . . . . . . . . 129ConfigRate : CCLK 周波数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129StartupClk : CCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130DriveDone : DONE ピンをアクティブに駆動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130DONE_cycle : Spartan-3E マスタ とデイジー チェーン接続 . . . . . . . . . . . . . . . . . . . . . . . . 130GTS_cycle : グローバル ト ラ イステートによるデイジー チェーンへの

タイ ミ ングのリ リース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130SPI PROM ファ イルの準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

iMPACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130PROMGen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

iMPACT を使用した直接的な SPI プログラ ミ ング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135プログラ ミ ング用のボードの準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135iMPACT を介したプログラ ミ ング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

iMPACT を使用した間接的な SPI プログラ ミ ング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138プログラ ミ ングの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138iMPACT の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

シ リアル ペリ フェラル インターフェイス (SPI) のコンフ ィギュレーシ ョ ンのタイ ミ ング . . . . . 144マルチ パッケージのレイアウ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146省電力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

スタンバイ モードを開始するために CSO_B をディアサート . . . . . . . . . . . . . . . . . . . . . . 148

第 5 章 : マスタ BPI モード概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リ間におけるマスタ SPI モードの相違 . . . . . . . . . . . 152PROM アドレスの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153電圧の互換性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157互換性のあるパラレル NOR フラ ッシュ ファ ミ リ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157パラレル フラ ッシュ PROM 集積度要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158CCLK 周波数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159コンフ ィギュレーシ ョ ン後の BPI インターフェイスの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160x8/x16 フラ ッシュ PROM を使用する場合の注意事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

パラレル デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163シ リ アル デイジー チェーン接続 (Spartan-3A/3AN/3A DSP FPGA のみ) . . . . . . . . . . . . . 164

マスタ BPI モードのザイ リ ンクス Platform Flash PROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167Platform Flash を使用した ConfigRate 設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

マスタ BPI コンフ ィギュレーシ ョ ン向けのビッ ト ス ト リームの生成 . . . . . . . . . . . . . . . . . . . . . 169ConfigRate : CCLK 周波数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169StartupClk : CCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169DriveDone : DONE ピンを駆動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169GTS_cycle : グローバル ト ラ イステートによるデイジー チェーンへの

タイ ミ ングのリ リース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169パラレル NOR フラ ッシュ PROM ファ イルの準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

Page 8: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

8 japan.xilinx.com Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド

UG332 (v1.4) 2008 年 7 月 1 日

iMPACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169iMPACT を使用した間接的なパラレル フラ ッシュ プログラ ミ ング . . . . . . . . . . . . . . . . . . . . . . 174インシステム プログラムのサポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1743.3V 電源がシーケンスの 後である場合の電源投入時の注意事項 . . . . . . . . . . . . . . . . . . . . . . . 175

Spartan-3A/3AN/3A DSP およびコンフ ィギュレーシ ョ ン ウォ ッチド ッグ タイマ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

BPI (Byte Peripheral Interface) コンフ ィギュレーシ ョ ンのタイ ミ ング . . . . . . . . . . . . . . . . . . . . 177FPGA が BPI コンフ ィギュレーシ ョ ンに設定されている場合に JTAG を介して

再プログラ ミ ングする際の制限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179Spartan-3E BPI モード と右辺および下辺のグローバル ク ロ ッ ク入力との関係 . . . . . . . . . . . . . . 179

第 6 章 : マスタ パラレル モード

第 7 章 : スレーブ パラレル (SelectMAP) モード電圧の互換性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

Spartan-3E/Spartan-3A/3AN/3A DSP スレーブ パラレル デイジー チェーン . . . . . . . . . . 189新のザイ リ ンクス FPGA ファ ミ リ を使用したスレーブ パラレル デイジー チェーン . . 190

SelectMAP データ読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191CSI_B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191RDWR_B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191CCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192BUSY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

継続的な SelectMAP データの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192断続的な SelectMAP データの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

CSI_B のディアサート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194CCLK の一時停止 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

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

Persist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198SelectMAP リ コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199SelectMAP データの順序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

バイ ト スワップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

第 8 章 : スレーブ シリアル モード電圧の互換性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

第 9 章 : JTAG コンフ ィギュレーシ ョ ン モードおよびバウンダリ スキャンJTAG ケーブルの電圧の互換性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208JTAG デバイス ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208JTAG ユーザー ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208コンフ ィギュレーシ ョ ンされた FPGA デザインとの通信における

JTAG インターフェイスの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209IEEE 1149.1 規格を使用した Spartan-3 ジェネレーシ ョ ン FPGA のバウンダ リ スキャン . . . . . 209

テス ト アクセス ポート (TAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210TAP コン ト ローラ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212バウンダ リ スキャン アーキテクチャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

バウンダ リ スキャン レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213ビッ ト シーケンス バウンダ リ スキャン レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . 214命令レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Page 9: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド japan.xilinx.com 9UG332 (v1.4) 2008 年 7 月 1 日

BYPASS レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216識別 (IDCODE) レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216JTAG コンフ ィギュレーシ ョ ン モードおよびバウンダ リ スキャン . . . . . . . . . . . . . . 216USERCODE レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217USER1 および USER2 レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

Spartan-3 ジェネレーシ ョ ン FPGA でのバウンダ リ スキャンの使用 . . . . . . . . . . . . . . . . . 217ケーブルおよびヘッダのプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218JTAG を使用した FPGA のプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

Spartan-3AN FPGA を iMPACT を用いた JTAG でプログラムする場合のモード ピン . . 224エンベデッ ド コン ト ローラを用いた JTAG でのコンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . 224

第 10 章 : 内部マスタ SPI モード内部 フラ ッシュ メモ リ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226モード セレク ト ピン AM[2:0] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226モード セレク ト ピン VS[2:0] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226電源電圧要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

VCCAUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227VCCO_2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

コンフ ィギュレーシ ョ ン後の内部 SPI フラ ッシュ PROM へのアクセス . . . . . . . . . . . . . . . . . . 227内部マスタ SPI モードではコンフ ィギュレーシ ョ ン デイジー チェーンをサポート しない . . . . 228マスタ SPI コンフ ィギュレーシ ョ ン向けのビッ ト ス ト リームの作成 . . . . . . . . . . . . . . . . . . . . . 228

ConfigRate : CCLK 周波数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228StartupClk : CCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228DriveDone : DONE ピンを駆動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

JTAG を使用した Spartan-3AN FPGA のプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229インシステム フラ ッシュ プログラ ミ ング ファ イルの準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

iMPACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229PROMGen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

iMPACT を用いた Spartan-3AN FPGA のプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237サード パーティ プログラマ サポート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

BPM Microsystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237製品ハードウェア プログラ ミ ング ソ リ ューシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . 237プログラ ミ ング ソケッ ト モジュールおよびソフ ト ウェア . . . . . . . . . . . . . . . . . . . . . 239

第 11 章 : コンフ ィギュレーシ ョ ン BitGen (Bitstream Generator) 設定

第 12 章 : イベン トのシーケンス概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251コンフ ィギュレーシ ョ ンの設定 ( 手順 1 - 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

リセッ トからの起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251POR (パワー オン リセッ ト ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252PROG_B ピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253電源投入のタイ ミ ング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

コンフ ィギュレーシ ョ ン メモ リの初期化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255制御ピンのサンプル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255コンフ ィギュレーシ ョ ンの遅延 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

ビッ ト ス ト リームの読み込み ( 手順 4 - 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256同期化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256アレイ ID のチェッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257コンフ ィギュレーシ ョ ン データ フレームの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259CRC (巡回冗長検査) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

スタート アップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260スタート アップ ク ロ ッ ク ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262DCM がロ ッ ク状態になるまで、 DCI が一致するまで待機 . . . . . . . . . . . . . . . . . . . . . . . . . 262

Page 10: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

10 japan.xilinx.com Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 13 章 : コンフ ィギュレーシ ョ ンに関連するプリ ミテ ィブバウンダ リ スキャン (BSCAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

スタート アップ (STARTUP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

リードバッ ク キャプチャ (CAPTURE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

ICAP ( 内部コンフ ィギュレーシ ョ ン アクセス ポート ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

Device DNA アクセス ポート (DNA_PORT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272ポートの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

第 14 章 : リコンフ ィギュレーシ ョ ンおよびマルチブート概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リ間のマルチブートのオプシ ョ ン比較 . . . . . . . . . . . 275Spartan-3E の マルチブート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

iMPACT を使用した Spartan-3E マルチブート PROM ビッ ト ス ト リームの生成 . . . . . . . 278PROMGen レポート ファ イル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283ザイ リ ンクス Platform Flash PROM を使用した Spartan-3E マルチブート . . . . . . . . . . . . 284

Spartan-3A/3AN/3A DSP のマルチブート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285後続のマルチブート コンフ ィギュレーシ ョ ン アドレスの指定 . . . . . . . . . . . . . . . . . . . . . . 285マルチブート ビッ ト ス ト リーム間に必要なデータ スペーシング . . . . . . . . . . . . . . . . . . . . 286

フラ ッシュ セクタ、 ブロ ッ ク、 またはページ バウンダ リ . . . . . . . . . . . . . . . . . . . . . 286DCM_WAIT に必要な追加のメモ リ スペース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

マルチブート コマンド シーケンス (ICAP の例) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287デザインの仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288FPGA アプリ ケーシ ョ ンの動作時 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288コンフ ィギュレーシ ョ ン中にあらかじめ読み込まれたアドレスからの

マルチブート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288FPGA アプリ ケーシ ョ ンで指定されたアドレスへの マルチブート . . . . . . . . . . . . . . 289

SelectMAP を使用したマルチブート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290スレーブ シ リ アルを使用したマルチブート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290JTAG を用いたマルチブート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290マルチブート のレジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

後続のマルチブート開始アドレス (GENERAL1、 GENERAL2) . . . . . . . . . . . . . . . . 291コマンド レジスタ (CMD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292コンフ ィギュレーシ ョ ン モード レジスタ (MODE_REG) . . . . . . . . . . . . . . . . . . . . . 292

iMPACT を使用した Spartan-3A/3AN/3A DSP マルチブート PROM ビッ ト ス ト リームの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

コンフ ィギュレーシ ョ ンのフォールバッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300CWDT (コンフ ィギュレーシ ョ ン ウォッチド ッグ タイマ) およびフォールバッグ . . . . . . 301CRC エラーおよびフォールバッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301フォールバッ クは 3 回まで可能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301高度な機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

マルチブート コンフ ィギュレーシ ョ ン メモ リの種類の切り替え . . . . . . . . . . . . . . . 302

Page 11: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド japan.xilinx.com 11UG332 (v1.4) 2008 年 7 月 1 日

第 15 章 : FPGA デザインの保護基本的な FPGA ハードウェア レベルのセキュ リ ティ オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . 305

Spartan-3 および Spartan-3E のセキュ リティ レベル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306Spartan-3A/3AN/3A DSP のセキュ リティ レベル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306ビッ ト ス ト リーム内でのセキュ リティ レベルの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306

ISE ソフ ト ウェア Project Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307BitGen コマンド ライン ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

デザイン セキュ リティの手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308セキュ リティ ビッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309暗号化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309認証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

Spartan-3A/3AN/3A DSP 固有のデバイス識別子 (Device DNA) . . . . . . . . . . . . . . . . . . . . . . . . 310識別子の値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310インターフェイス タイ ミ ング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311識別子のメモ リ仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312拡張子の長さの延長 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312デバイス識別子への JTAG からのアクセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313デバイス識別子への iMPACT からのアクセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

認証デザイン例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313Spartan-3A/3AN/3A DSP FPGA : Device DNA によるコンフ ィギュレーシ ョ ン

PROM のインプリ ンティングまたはウォーターマーキング . . . . . . . . . . . . . . . . . . . . . . 314Spartan-3E FPGA : 汎用フラ ッシュ PROM のセキュ リティ機能を利用 . . . . . . . . . . . . . . 315Spartan-3A/3AN/3A DSP FPGA : ダウンロード されたデザインの認証 . . . . . . . . . . . . . . . 317外部の保護された PROM を用いる FPGA デザインの認証 . . . . . . . . . . . . . . . . . . . . . . . . . 318

認証エラーを扱う方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319機能停止 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319限られた機能のみ使用可能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320タイムアウ ト を設けて全機能が使用可能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320アクティブ ディフェンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

認証アルゴ リズム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320製造ロジスティ ッ クス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321認証およびデバイス ID のその他の使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

IP (知的財産) の保護 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321コードおよびデータのセキュ リティ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム プログラムの米国における法的保護 . . . . . . 322追加情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

第 16 章 : コンフ ィギュレーシ ョ ン CRCコンフ ィギュレーシ ョ ン中の CRC チェッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

Spartan-3 および Spartan-3E のコンフ ィギュレーシ ョ ン CRC エラー . . . . . . . . . . . . . . . . 325コンフ ィギュレーシ ョ ン CRC はデフォルトで有効 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325CRC の漏れ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325Spartan-3A/3AN/3A DSP のコンフ ィギュレーシ ョ ン CRC エラーおよび

コンフ ィギュレーシ ョ ン ウォッチド ッグ タイマ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326堅牢な CCL (CMOS コンフ ィギュレーシ ョ ン ラ ッチ ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326コンフ ィギュレーシ ョ ン後の CRC (Spartan-3A/3AN/3A DSP のみ ) . . . . . . . . . . . . . . . . . . . . . 326

概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327コンフ ィギュレーシ ョ ンまでの CRC チェッ クの継続

(JTAG またはサスペンド イベン ト ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328ク ロ ッ ク ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328

CRC チェッ クタイム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328CRC エラーが発生した場合の動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

CRC エラー動作の検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329コンフ ィギュレーシ ョ ン後の CRC 機能を使用するためのアプリ ケーシ ョ ンの準備 . . . . . 329UCF (ユーザー制約ファイル) の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

Page 12: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

12 japan.xilinx.com Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド

UG332 (v1.4) 2008 年 7 月 1 日

CONFIG 制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330BitGen オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331デザインの考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331分散およびブロ ッ ク RAM の内容のチェッ ク手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332

Page 13: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド japan.xilinx.com 15UG332 (v1.4) 2008 年 7 月 1 日

第 1 章 : 概要およびデザインの考察

図 1-1 : Spartan-3 ジェネレーシ ョ ン マスタ (自ら読み込む) コンフ ィギュレーシ ョ ン モード . . . 27図 1-2 : Spartan-3 ジェネレーシ ョ ン スレーブ (ダウンロードする )

コンフ ィギュレーシ ョ ン モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28図 1-3 : Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン デイジー チェーン オプショ ン . . . . 32図 1-4: Spartan-3A/3AN/3A DSP タイプ 1 パケッ トのヘッダ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41図 1-5 : ISE Project Navigator での BitGen オプシ ョ ンの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . 42図 1-6 : BitGen の [General Options]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42図 1-7 : BitGen の [Configuration Options] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43図 1-8 : BitGen の [Startup Options] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44図 1-9 : BitGen の [Readback Options] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

図 2-1 : DONE および INIT_B によるデイジー チェーンまたは

ブロードサイ ド コンフ ィギュレーシ ョ ンの同期化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54図 2-2 : Spartan-3/3E および Spartan-3A/3AN/3A DSP FPGA の

マスタ コンフ ィギュレーシ ョ ン モードの違い . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57図 2-3 : Point-to-Point : マスタ CCLK 出力で 1 つのクロ ッ クを駆動 . . . . . . . . . . . . . . . . . . . . . . 58図 2-4 : マルチド ロ ップ : マスタ CCLK 出力で 2 つのクロ ッ ク 入力を駆動 . . . . . . . . . . . . . . . . . 58図 2-5 : 推奨されていないスター ト ポロジ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59図 2-6 : 多目的ピンがアクティブになる と きを示す定型化したコンフ ィギュレーシ ョ ン波形 . . . 78

第 3 章 : マスタ シリアル モード

図 3-1 : Platform Flash PROM を使用したマスタ シ リ アル モード

(Spartan-3E または Spartan-3A/3A DSP FPGA、 VCCAUX = 2.5V) . . . . . . . . . . . . . . . . . . . . . . 80図 3-2 : Platform Flash PROM を使用した マスタ シ リ アル モード

(Spartan-3A/3AN/3A DSP FPGA、 VCCAUX = 3.3V) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82図 3-3 : Platform Flash PROM を使用したマスタ シ リ アル モード (Spartan-3 FPGA) . . . . . . . . . 83図 3-4 : ザイ リ ンクス Platform Flash PROM を使用した複数の FPGA のデイジー チェーン . . . 89図 3-5 : 同じビッ ト ス ト リームによ りプログラムされた複数かつ同一の FPGA . . . . . . . . . . . . . . 89図 3-6 : コンフ ィギュレーシ ョ ン後に Platform Flash PROM を使用する多様な方法 . . . . . . . . . . 91図 3-7 : [Generate PROM, ACE or JTAG File] をダブルク リ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . 93図 3-8 : [Prepare a PROM File] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93図 3-9 : ザイ リ ンクス Platform Flash PROM 向けのオプシ ョ ンの設定 . . . . . . . . . . . . . . . . . . . . . 94図 3-10 : Platform Flash PROM の選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95図 3-11 : PROM フォーマッ ト設定の確認. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96図 3-12 : FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム ファ イルの追加 . . . . . . . . . . . . . . . . 96図 3-13 : PROM ファ イルの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97図 3-14 : JTAG を使用した Platform Flash PROM のプログラム . . . . . . . . . . . . . . . . . . . . . . . . . 98図 3-15 : iMPACT が自動的に JTAG チェーンを検出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98図 3-16 : FPGA のプログラムをスキップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99図 3-17 : Platform Flash プログラ ミ ング ファ イルの選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

図一覧

Page 14: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

16 japan.xilinx.com Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド

UG332 (v1.4) 2008 年 7 月 1 日

図 3-18 : Platform Flash PROM のプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100図 3-19 : PROM のプログラ ミ ング オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

第 4 章 : マスタ SPI モード

図 4-1 : M25P を使用可能なデバイスでの

SPI フラ ッシュ コンフ ィギュレーシ ョ ン インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . 104図 4-2 : Atmel 社の DataFlash デバイスでの

SPI フラ ッシュ コンフ ィギュレーシ ョ ン インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . 105図 4-3 : 3.3V 電源が電源投入シーケンスの 後である場合の

SPI フラ ッシュ PROM/FPGA の電源投入タイ ミ ング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117図 4-4 : コンフ ィギュレーシ ョ ン後に SPI を使用しない場合は、 CSO_B ピンを High に駆動 . 120図 4-5 : コンフ ィギュレーシ ョ ン後の SPI フラ ッシュ インターフェイスの使用. . . . . . . . . . . . . 121図 4-6 : SPI フラ ッシュ モードからのデイジー チェーン接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . 123図 4-7 : 同じビッ ト ス ト リームによ りプログラムされた複数かつ同一の FPGA . . . . . . . . . . . . . 124図 4-8 : 付属 SPI フラ ッシュのプログラムに FPGA の JTAG テス ト チェーンを使用 . . . . . . . . 129図 4-9 : [Generate PROM, ACE or JTAG File] をダブルク リ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . 131図 4-10 : [Prepare a PROM File] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131図 4-11 : サードパーティの SPI PROM 向けにオプシ ョ ンを設定 . . . . . . . . . . . . . . . . . . . . . . . . 132図 4-12 : SPI PROM 集積度の選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132図 4-13 : PROM フォーマッ ト設定の確認. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133図 4-14 : FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム ファ イルの追加 . . . . . . . . . . . . . . . 133図 4-15 : PROM ファ イルの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134図 4-16 : iMPACT による直接的な SPI Serial フラッシュ メ モリ のプログラ ミ ングのサポート . . 136図 4-17 : フォーマッ ト済みの PROM ファ イルを選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136図 4-18 : サポート された SPI フラ ッシュ メモ リ デバイスの選択 . . . . . . . . . . . . . . . . . . . . . . . . 137図 4-19 : サポート された SPI フラ ッシュ PROM を直接的にプログラム . . . . . . . . . . . . . . . . . . 137図 4-20 : SPI PROM プログラ ミ ング オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138図 4-21 : JTAG を使用した間接的なプログラ ミ ング手法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139図 4-22 : FPGA ビッ ト ス ト リーム ファ イルの選択および SPI プログラ ミ ングを有効にする . . 140図 4-23 : JTAG を介したプログラ ミ ングで iMPACT がスタート アップ ク ロ ッ クに

JTAG ク ロ ッ ク入力 TCK を使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140図 4-24 : SPI PROM プログラ ミ ング ファ イルの選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141図 4-25 : SPI フラ ッシュ PROM の選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141図 4-26 : Platform Flash PROM をバイパス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142図 4-27 : iMPACT による JTAG チェーンおよび付属のフラ ッシュ PROM の表示 . . . . . . . . . . 142図 4-28 : SPI PROM プログラ ミ ング オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143図 4-29 : シ リ アル ペリ フェラル インターフェイス (SPI) のコンフ ィギュレーシ ョ ンの波形 . . 144図 4-30 : Spartan-3E スタータ キッ ト ボード上の M25Pxx ファ ミ リの

複数パッケージ レイアウ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

第 5 章 : マスタ BPI モード

図 5-1 : パラレル NOR フラ ッシュからコンフ ィギュレーシ ョ ンされた Spartan-3E FPGA . . . . 150図 5-2 : パラレル NOR フラ ッシュからコンフ ィギュレーシ ョ ンされた

Spartan-3A/3AN/3A DSP FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151図 5-3 : FPGA はコンフ ィギュレーシ ョ ン前に x8 インターフェイスをサポート し、

コンフ ィギュレーシ ョ ン後はオプシ ョ ンの x16 インターフェイスをサポート . . . . . . . . . . . . 161図 5-4 : BPI モードを使用したパラレル デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

Page 15: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド japan.xilinx.com 17UG332 (v1.4) 2008 年 7 月 1 日

図 5-5 : Spartan 3A/3AN/3A DSP BPI モードでのみ利用可能なシ リ アル デイジー チェーン . . 166図 5-6 : マスタ BPI モードのザイ リ ンクス パラレル Platform Flash PROM (XCFxxP) . . . . . . . 167図 5-7 : [Generate PROM, ACE or JTAG File] をダブルク リ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . 170図 5-8 : [Prepare a PROM File] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170図 5-9 : [Generic Parallel PROM] オプシ ョ ンの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171図 5-10 : パラレル PROM のサイズおよびコンフ ィギュレーシ ョ ン方式の選択 . . . . . . . . . . . . . 172図 5-11 : FPGA ビッ ト ス ト リーム ファ イルの選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173図 5-12 : パラレル PROM ファ イルの生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174図 5-13 : 3.3V 電源が電源投入シーケンスの 後である場合の

パラレル NOR フラ ッシュ PROM/FPGA の電源投入タイ ミ ング . . . . . . . . . . . . . . . . . . . . . . 176図 5-14 : BPI コンフ ィギュレーシ ョ ン タイ ミ ング 波形図 (Spartan-3E BPI Down モード ) . . . . 177

第 6 章 : マスタ パラレル モード

第 7 章 : スレーブ パラレル (SelectMAP) モード

図 7-1 : スレーブ パラレル モード (Spartan-3E および Spartan-3A/3AN/3A DSP FPGA) . . . . . 184図 7-2 : スレーブ パラレル モード (Spartan-3 FPGA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185図 7-3 : Spartan-3E および Spartan-3A/3AN/3A DSP FPGA の

スレーブ パラレル デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190図 7-4 : 新のザイ リ ンクス FPGA ファ ミ リ を使用した

スレーブ パラレル デイジー チェーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191図 7-5 : 継続的な SelectMAP データの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193図 7-6 : CSI_B を制御する手法を使用した断続的 SelectMAP データの読み出し . . . . . . . . . . . . 194図 7-7 : CCLK を制御する手法を使用した断続的 SelectMAP データの読み出し . . . . . . . . . . . . 195図 7-8 : コンフ ィギュレーシ ョ ンの ABORT シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196図 7-9 : リードバッ クの ABORT シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197図 7-10 : バイ ト スワップ例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

第 8 章 : スレーブ シリアル モード

図 8-1 : スレーブ シ リ アル コンフ ィギュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

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

図 9-1 : JTAG コンフ ィギュレーシ ョ ン インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207図 9-2 : 一般的な JTAG (IEEE 1149.1) アーキテクチャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210図 9-3 : テス ト アクセス ポート (TAP) ステート マシン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211図 9-4 : I/O ピンごとのバウンダ リ スキャン ロジッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214図 9-5 : Spartan-3 ジェネレーシ ョ ン バウンダ リ スキャンのタイ ミ ング波形 . . . . . . . . . . . . . . . 218図 9-6 : ターゲッ ト インターフェイスコネクタの寸法およびピンの割り当て . . . . . . . . . . . . . . . 218図 9-7 : [Configure Device (iMPACT)] をダブルク リ ッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219図 9-8 : [Configure Devices Using Boundary-Scan (JTAG)] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220図 9-9 : iMPACT が JTAG チェーン上のデバイスを自動的に検知 . . . . . . . . . . . . . . . . . . . . . . . 220図 9-10 : iMPACT が FPGA ビッ ト ス ト リームを表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221図 9-11 : JTAG コンフ ィギュレーシ ョ ン向けに iMPACT が

スタート アップ ク ロ ッ クを自動的に調整 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221図 9-12 : [Bypass] をク リ ッ ク して Platform Flash のプログラ ミ ングをスキップ . . . . . . . . . . . . 222図 9-13 : [Bypass] をク リ ッ ク して CPLD のプログラ ミ ングをスキップ . . . . . . . . . . . . . . . . . . . 222

Page 16: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

18 japan.xilinx.com Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド

UG332 (v1.4) 2008 年 7 月 1 日

図 9-14 : プログラムをダブルク リ ッ ク して JTAG を介して

FPGA をコンフ ィギュレーシ ョ ンする . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223図 9-15 : FPGA プログラ ミ ング オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

第 10 章 : 内部マスタ SPI モード

図 10-1 : 内部マスタ SPI フラ ッシュ モードを使用した Spartan-3AN FPGA . . . . . . . . . . . . . . . 225図 10-2 : Spartan-3AN SPI_ACCESS デザイン プリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . . . . . . . 227図 10-3 : [Generate PROM, ACE or JTAG File] をダブルク リ ッ ク . . . . . . . . . . . . . . . . . . . . . . . 229図 10-4 : [Prepare a PROM File] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230図 10-5 : Spartan-3AN インシステム フラ ッシュ PROM のオプシ ョ ン設定 . . . . . . . . . . . . . . . . 231図 10-6 : Spartan-3AN FPGA の選択. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232図 10-7 : FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの指定. . . . . . . . . . . . . . . . . . . . . . . 233図 10-8 : Spartan-3AN インシステム メモ リのフォーマッ ト設定の確認 . . . . . . . . . . . . . . . . . . . 234図 10-9 : FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム ファ イルの追加 . . . . . . . . . . . . . . . 234図 10-10 : iMPACT に表示された Spartan-3AN インシステム フラ ッシュ メモ リ . . . . . . . . . . . 235図 10-11 : Spartan-3AN インシステム フラ ッシュ ファ イルの生成 . . . . . . . . . . . . . . . . . . . . . . . 235

第 11 章 : コンフ ィギュレーシ ョ ン BitGen (Bitstream Generator) 設定

第 12 章 : イベン トのシーケンス

図 12-1 : Spartan-3 ジェネレーシ ョ ン FPGA コンフ ィギュレーシ ョ ン プロセス . . . . . . . . . . . . 251図 12-2 : FPGA のリセッ トからの起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251図 12-3 : Spartan-3A/3AN/3A DSP および Spartan-3E リセッ ト回路 (Spartan-3 でも類似) . . . . 252図 12-4 : FPGA の電源投入タイ ミ ングの波形 (マスタ モード ) . . . . . . . . . . . . . . . . . . . . . . . . . . 254図 12-5 : コンフ ィギュレーシ ョ ン メモ リの初期化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255図 12-6 : 制御ピンのサンプル (モード セレク ト、 変数セレク ト ). . . . . . . . . . . . . . . . . . . . . . . . . 255図 12-7 : 同期化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256図 12-8 : アレイ ID のチェッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257図 12-9 : コンフ ィギュレーシ ョ ン データ フレームの読み込み . . . . . . . . . . . . . . . . . . . . . . . . . . 259図 12-10 : CRC (巡回冗長検査) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259図 12-11 : スタート アップ シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260図 12-12 : デフォルト スタート アップ シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261図 12-13 : Spartan-3A/3AN/3A DSP、 Spartan-3E FPGA

コンフ ィギュレーシ ョ ン ロジッ クの汎用ブロ ッ ク図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

第 13 章 : コンフ ィギュレーシ ョ ンに関連するプリ ミテ ィブ

図 13-1 : Spartan-3A/3AN/3A DSP FPGA の BSCAN プリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . 265図 13-2 : Spartan-3A/3AN/3A DSP および Spartan-3E FPGA の STARTUP プリ ミ ティブ . . . . 267図 13-3 : Spartan-3A/3AN/3A DSP FPGA の CAPTURE プリ ミ ティブ

(ほかのファ ミ リ も類似) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269図 13-4 : ICAP プリ ミ ティブ (Spartan-3A/3AN/3A DSP FPGA のみで使用可能) . . . . . . . . . . . 271図 13-5 : DNA_PORT プリ ミ ティブ (Spartan-3A/3AN/3A DSP FPGA のみで使用可能) . . . . . 272

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

図 14-1 : 1メガバイ トのパラレル フラ ッシュ PROM を使用した Spartan-3Eマルチブート アプリ ケーシ ョ ンの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

図 14-2 : PROM ビッ ト ス ト リームの準備. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

Page 17: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド japan.xilinx.com 19UG332 (v1.4) 2008 年 7 月 1 日

図 14-3 : Spartan-3E FPGA のマルチブート をサポートする PROM を選択 . . . . . . . . . . . . . . . . 279図 14-4 : 初のマルチブート ビッ ト スト リ ームにおけるコンフィ ギュレーショ ンの方向選択 . . 280図 14-5 : PROM のサイズの選択およびデザインへの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280図 14-6 : PROM の設定を確定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281図 14-7 : 初に読み込まれるマルチブート コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム . . . . . . 281図 14-8 : 2 つ目に読み込まれるマルチブート コンフ ィギュレーシ ョ ン

ビッ ト ス ト リームの選択. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282図 14-9 : 設定されたパラ メータで PROM ファ イルを生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283図 14-10 : PROMGen レポート ファ イル (*.prm). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284図 14-11 : XC3S700A および SPI フラ ッシュを使用した Spartan-3A マルチブートの例 . . . . . 294図 14-12 : マルチブート PROM ビッ ト ス ト リームの準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294図 14-13 : Spartan-3A/3AN/3A DSP FPGA のマルチブート をサポートする PROM を選択 . . . 295図 14-14 : SPI またはパラレル フラ ッシュ PROM をサポート . . . . . . . . . . . . . . . . . . . . . . . . . . 296図 14-15 : PROM 集積度の入力およびマルチブート ビッ ト ス ト リームの開始位置を指定 . . . . . 296図 14-16 : PROM の設定を確定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297図 14-17 : 初 (デフォルト ) のコンフ ィギュレーシ ョ ン ビッ ト ス ト リームの選択 . . . . . . . . . . 298図 14-18 : 3 つ目に読み込まれるマルチブート コンフ ィギュレーシ ョ ン

ビッ ト ス ト リームの選択. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299図 14-19 : 設定されたパラ メータで PROM ファ イルを生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300図 14-20 : Spartan-3A/3AN/3A DSP マルチブート コンフ ィギュレーシ ョ ン モードの制御. . . . 303

第 15 章 : FPGA デザインの保護

図 15-1 : ISE Project Navigator からの BitGen オプシ ョ ンの設定 . . . . . . . . . . . . . . . . . . . . . . . . 307図 15-2 : BitGen のセキュ リティ オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307図 15-3 : Spartan-3A/3AN/3A DSP DNA_PORT デザイン プリ ミ ティブ . . . . . . . . . . . . . . . . . . 310図 15-4 : DNA_PORT の動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311図 15-5 : DIN 入力のオプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313図 15-6 : Spartan-3A/3AN/3A DSP FPGA が通常通り コンフ ィギュレーシ ョ ンを実行 . . . . . . . 314図 15-7 : Spartan-3A/3AN/3A DSP FPGA による PROM データの

Device DNA を用いた認証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314図 15-8 : 不正なコピーを使用した場合の認証のエラー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315図 15-9 : 識別子を保有する汎用フラ ッシュ PROM を用いた Spartan-3E FPGA 認証例 . . . . . . 316図 15-10 : Spartan-3E FPGA が PROM のデバイス ID を用いて PROM データを認証 . . . . . . . 317図 15-11 : インテ リジェン ト ホス トが Spartan-3A ビッ ト ス ト リームをダウンロード . . . . . . . . 317図 15-12 : ホス トが Device DNA を読み出し、 認証値を生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . 318図 15-13 : ホス トが認証値を書き込み、 FPGA アプリ ケーシ ョ ンを有効にする . . . . . . . . . . . . . 318図 15-14 : SHA-1 Secure EEPROM を使用した FPGA 認証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318図 15-15 : Spartan-3A/3AN/3A DSP Device DNA のエンベデッ ド処理アプリ ケーシ ョ ンに

おけるキーと しての使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

Page 18: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

20 japan.xilinx.com Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 16 章 : コンフ ィギュレーシ ョ ン CRC図 16-1 : コンフ ィギュレーシ ョ ン後の CRC の概念図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327図 16-2 : コンフ ィギュレーシ ョ ン後の CRC に対する UCF 制約 . . . . . . . . . . . . . . . . . . . . . . . . 330図 16-3 : 単純なパリティでブロ ッ ク RAM の内容をチェッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . 332

Page 19: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 21UG332 (v1.4) 2008 年 7 月 1 日

第 1 章 : 概要およびデザインの考察

表 1-1 : Spartan-3 ジェネレーシ ョ ン マスタ コンフ ィギュレーシ ョ ン モードおよび

メモ リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28表 1-2 : Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン オプシ ョ ン . . . . . . . . . . . . . . . . . . 30表 1-3 : PROM ファ ミ リおよびフッ ト プリ ン ト互換パッケージへの移行. . . . . . . . . . . . . . . . . . . 36表 1-4 : 非圧縮 FPGA ビッ ト ス ト リームのビッ ト数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38表 1-5 : Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン データ フレーム . . . . . . . . . . . . . . 39表 1-6 : 圧縮ビッ ト ス ト リームを使用する場合の 大 CCLK 周波数. . . . . . . . . . . . . . . . . . . . . . . 40表 1-7 : 各ファ ミ リの BitGen オプシ ョ ンを表示するためのコマンド ライン . . . . . . . . . . . . . . . . 46

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

表 2-1 : ファ ミ リ別のモード ピン設定およびそれに関連する

FPGA コンフ ィギュレーシ ョ ン モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48表 2-2 : Spartan-3 ジェネレーシ ョ ンファ ミ リ間における M[2:0] モード ピンの

機能的な相違点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48表 2-3 : M[2:0] ピンにおけるデフォルトでのコンフ ィギュレーシ ョ ン後の動作 . . . . . . . . . . . . . . 51表 2-4 : DriveDone BitGen オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52表 2-5 : DonePin BitGen オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52表 2-6 : DONE ピンの DriveDone および BitGen の DonePin オプシ ョ ンの関係 . . . . . . . . . . . . . 53表 2-7 : PROG_B の動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55表 2-8 : Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リ間における CCLK の相違. . . . . . . . . . . . . . 56表 2-9 : コンフ ィギュレーシ ョ ン中に専用プルアップ抵抗が付く ピン

(すべての Spartan-3 ジェネレーシ ョ ン FPGA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62表 2-10 : コンフ ィギュレーシ ョ ン中に専用プルアップ抵抗が付く ピン

(Spartan-3A/3AN/3A DSP FPGA ファ ミ リのみ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62表 2-11 : コンフ ィギュレーシ ョ ン中に専用プルアップ抵抗が付く ピン

(Spartan-3 FPGA ファ ミ リのみ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63表 2-12 : コンフ ィギュレーシ ョ ン制御入力中のプルアップ抵抗 . . . . . . . . . . . . . . . . . . . . . . . . . . 63表 2-13 : Spartan-3 ジェネレーシ ョ ン ファ ミ リのプルアップ抵抗の範囲 . . . . . . . . . . . . . . . . . . . 64表 2-14 : コンフ ィギュレーシ ョ ン中に入力値を決定する

外部プルアップ/プルダウン抵抗の推奨値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64表 2-15 : Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン ピンと

関連するモードおよび機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66表 2-16 : Spartan-3A/3AN/3A DSP FPGA : コンフ ィギュレーシ ョ ン中のピンの動作 . . . . . . . . . 72表 2-17 : Spartan-3E FPGA: コンフ ィギュレーシ ョ ン中のピンの動作 . . . . . . . . . . . . . . . . . . . . . 73表 2-18 : Spartan-3 FPGA ファ ミ リにおけるコンフ ィギュレーシ ョ ン中のピンの動作. . . . . . . . . 74表 2-19 : コンフ ィギュレーシ ョ ン中のデフォルト I/O 規格設定 . . . . . . . . . . . . . . . . . . . . . . . . . . 74表 2-20 : サポート されたコンフ ィギュレーシ ョ ン インターフェイスの電圧 . . . . . . . . . . . . . . . . 75表 2-21 : HSWAP、 M[2:0] および VS[2:0] のプルアップまたはプルダウン抵抗値 . . . . . . . . . . . 77

第 3 章 : マスタ シリアル モード

表 3-1 : Spartan-3E/Spartan-3A/3A DSP FPGA の接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81表 3-2 : Spartan-3 FPGA の Platform Flash PROM への接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

表一覧

Page 20: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 22UG332 (v1.4) 2008 年 7 月 1 日

表 3-3 : マスタ シ リ アル コンフ ィギュレーシ ョ ン モードの接続. . . . . . . . . . . . . . . . . . . . . . . . . . 84表 3-4 : Spartan-3 ジェネレーシ ョ ン FPGA および

小の Platform Flash PROM をプログラムするビッ ト数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87表 3-5 : Platform Flash を使用した 大 ConfigRate 設定

(シ リ アル モード、 コマーシャル範囲). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88表 3-6 : ザイ リ ンクス Platform Flash デバイス プログラマ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

第 4 章 : マスタ SPI モード

表 4-1 : Spartan-3 ジェネレーシ ョ ン FPGA でのマスタ SPI モードのサポート . . . . . . . . . . . . . 106表 4-2 : ザイ リ ンクスでサポート され、 iMPACT でプログラム可能な SPI フラ ッシュ メモ リ . 107表 4-3 : iMPACT でサポート されたSPI シ リ アル フラ ッシュ PROM . . . . . . . . . . . . . . . . . . . . . 107表 4-4 : Spartan-3 ジェネレーシ ョ ン FPGA でサポート される SPI 読み出しコマンド . . . . . . . . 108表 4-5 : データシートの互換性があるほかの SPI フラ ッシュ メモ リ デバイス

(ザイ リ ンクスでは未検証、 iMPACT のサポート なし ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110表 4-6 : Spartan-3A/3AN/3A DSP FPGA または Spartan-3E FPGA の

プログラムに必要なビッ ト数および 小の SPI フラ ッシュ PROM . . . . . . . . . . . . . . . . . . . . . 111表 4-7 : SPI フラ ッシュ PROM 接続およびピン名の例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112表 4-8 : SPI (シ リ アル ペリ フェラル インターフェイス) 接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . 113表 4-9 : さまざまな SPI フラ ッシュ PROM の 小電源投入時間の例 . . . . . . . . . . . . . . . . . . . . . 116表 4-10 : Spartan-3E および Spartan-3A/3A/3A DSP POR タイ ミ ングおよびしきい値 . . . . . . . 118表 4-11 : FPGA ConfigRate 設定および対応する SPI フラ ッシュ PROM の

Clock-to-Output 要件 (TV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119表 4-12 : SPI フラ ッシュ PROM プログラ ミ ング オプシ ョ ンのま とめ . . . . . . . . . . . . . . . . . . . . 125表 4-13 : インシステム SPI フラ ッシュ PROM プログラ ミ ング向けの

ザイ リ ンクス ダウンロード ヘッダ信号の説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127表 4-14 : PROM ジェネレータ コマンド オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134表 4-15 : SPI (シ リ アル ペリ フェラル インターフェイス) コンフ ィギュレーシ ョ ン モードの

FPGA タイ ミ ング シンボル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145表 4-16 : 付属 SPI シ リ アル フラ ッシュのコンフ ィギュレーシ ョ ンのタイ ミ ング要件 . . . . . . . . 146

第 5 章 : マスタ BPI モード

表 5-1 : Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リ間における BPI コンフ ィギュレーシ ョ ン モードの相違. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

表 5-2 : BPI アドレス指定制御. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153表 5-3 : BPI (バイ ト幅ペリ フェラル インターフェイス) の接続. . . . . . . . . . . . . . . . . . . . . . . . . . 154表 5-4 : 互換性のあるパラレル NOR フラ ッシュ ファ ミ リの例 . . . . . . . . . . . . . . . . . . . . . . . . . . 158表 5-5 : Spartan-3A/3AN/3A DSP または Spartan-3E FPGA の

プログラムに必要なビッ ト数および 小の使用可能なパラレル PROM . . . . . . . . . . . . . . . . . 158表 5-6 : パラレル フラ ッシュ PROM の 大 ConfigRate 設定 (コマーシャル温度範囲) . . . . . . . 159表 5-7 : IO15/A-1 ピンを使用したフラ ッシュ PROM への FPGA 接続. . . . . . . . . . . . . . . . . . . . 162表 5-8 : パラレル Platform Flash を使用した 大の ConfigRate 設定 . . . . . . . . . . . . . . . . . . . . . 168表 5-9 : パラレル NOR フラ ッシュ PROM のセッ ト アップ タイム用の

小パワーオン時間の例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175表 5-10 : 付属パラレル NOR フラ ッシュのコンフ ィギュレーシ ョ ンのタイ ミ ング要件 . . . . . . . 178表 5-11 : Spartan-3E : 共有の BPI コンフ ィギュレーシ ョ ン ピンおよび

グローバル バッファ入力ピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

Page 21: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 23UG332 (v1.4) 2008 年 7 月 1 日

第 6 章 : マスタ パラレル モード

第 7 章 : スレーブ パラレル (SelectMAP) モード

表 7-1 : スレーブ パラレル (SelectMAP) 機能の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186表 7-2 : スレーブ パラレル モード接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187表 7-3 : ABORT ステータス ワード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197表 7-4 : ABORT シーケンスの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198表 7-5 : Persist の影響を受けるピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199表 7-6 : SelectMAP 8 ビッ ト モードのビッ ト順序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

第 8 章 : スレーブ シリアル モード

表 8-1 : スレーブ シ リ アル モード 接続. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

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

表 9-1 : JTAG ケーブル インターフェイスおよび電流制限抵抗の要件 . . . . . . . . . . . . . . . . . . . . 208表 9-2 : TAP コン ト ローラ ステート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211表 9-3 : Spartan-3 ジェネレーシ ョ ン TAP コン ト ローラ ピン . . . . . . . . . . . . . . . . . . . . . . . . . . . 212表 9-4 : Spartan-3 ジェネレーシ ョ ン JTAG レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213表 9-5 : Spartan-3 ジェネレーシ ョ ン バウンダ リ スキャン命令 . . . . . . . . . . . . . . . . . . . . . . . . . . 215表 9-6 : 2mm ピッチ、 14 導体のリボン ケーブル対応コネクタ . . . . . . . . . . . . . . . . . . . . . . . . . . 219

第 10 章 : 内部マスタ SPI モード

表 10-1 : Spartan-3AN FPGA および内部 SPI フラ ッシュ メモ リ を

プログラムするためのビッ ト数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226表 10-2 : Spartan-3AN FPGA がサポートする変数セレク ト (VS[2:0]) オプシ ョ ン . . . . . . . . . . 227表 10-3 : デフォルト ビッ ト ス ト リームおよび 2 つ目の

マルチブート ビッ ト ス ト リームの位置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233表 10-4 : PROM ジェネレータ コマンド オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236表 10-5 : Spartan-3AN PROMGen サイズ設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236表 10-6 : Spartan-3AN FPGA をサポートする BPM Microsystems プログラマ . . . . . . . . . . . . . 238表 10-7 : Spartan-3AN FPGA 向けの BPM Microsystems ソケッ ト

モジュールおよびソフ ト ウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

第 11 章 : コンフ ィギュレーシ ョ ン BitGen (Bitstream Generator) 設定

表 11-1 : 各ファ ミ リの BitGen オプシ ョ ンを表示するためのコマンド ラ イン . . . . . . . . . . . . . . 241表 11-2 : Spartan-3 ジェネレーシ ョ ン BitGen (Bitstream Generator) オプシ ョ ン . . . . . . . . . . . . 242

第 12 章 : イベン トのシーケンス

表 12-1 : POR (パワー オン リセッ ト ) 電圧しきい値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253表 12-2 : FPGA の電源投入タイ ミ ングの仕様. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254表 12-3 : Spartan-3 ジェネレーシ ョ ン FPGA の同期ワード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256表 12-4 : Spartan-3 ジェネレーシ ョ ン FPGA アレイ ID コード . . . . . . . . . . . . . . . . . . . . . . . . . . 258表 12-5 : STAT レジスタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259表 12-6 : スタート アップ イベン トにおいてユーザーが選択可能なサイクル . . . . . . . . . . . . . . . 260表 12-7 : スタート アップ イベン トのデフォルト BitGen シーケンス . . . . . . . . . . . . . . . . . . . . . 260表 12-8 : スタート アップ シーケンスに関連する信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

Page 22: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 24UG332 (v1.4) 2008 年 7 月 1 日

第 13 章 : コンフ ィギュレーシ ョ ンに関連するプリ ミテ ィブ

表 13-1 : 各 FPGA ファ ミ リの BSCAN プリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266表 13-2 : BSCAN プリ ミ ティブの接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266表 13-3 : 各 FPGA ファ ミ リの STARTUP プリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267表 13-4 : STARTUP プリ ミ ティブの接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268表 13-5 : 各 FPGA ファ ミ リの CAPTURE プリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269表 13-6 : CAPTURE プリ ミ ティブの接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270表 13-7 : CAPTURE 属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270表 13-8 : ICAP_SPARTAN3A プリ ミ ティブの接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271表 13-9 : DNA_PORT プリ ミ ティブの接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272表 13-10 : DNA_PORT の属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

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

表 14-1 : Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リにおけるマルチブートのオプシ ョ ン . . . 276表 14-2 : あらかじめロード されたアドレスからマルチブート を

インスタンシエートするコマンド シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288表 14-3 : 指定されたアドレスからマルチブート を

インスタンシエートするコマンド シーケンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289表 14-4 : GENERAL1 レジスタの定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291表 14-5 : BPI モード動作用の GENERAL2 レジスタの定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291表 14-6 : SPI モード動作用の GENERAL2 レジスタの定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292表 14-7 : CMD レジスタの定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292表 14-8 : MODE_REG ビッ ト オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

第 15 章 : FPGA デザインの保護

表 15-1 : Spartan-3 および Spartan-3E のセキュ リティ レベル . . . . . . . . . . . . . . . . . . . . . . . . . . 306表 15-2 : Spartan-3A/3AN/3A DSP BitGen のセキュ リティ レベル . . . . . . . . . . . . . . . . . . . . . . 306表 15-3 : ISE Project Navigator および BitGen オプシ ョ ンの関連性 . . . . . . . . . . . . . . . . . . . . . . 308表 15-4 : プログラマブル ロジッ ク セキュ リティ オプシ ョ ンの比較 . . . . . . . . . . . . . . . . . . . . . . 308表 15-5 : DNA_PORT の動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311表 15-6 : DNA_PORT インターフェイス タイ ミ ング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311表 15-7 : 識別子のメモ リ特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312表 15-8 : 固有の識別子が内蔵されたフラ ッシュ PROM の例. . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

第 16 章 : コンフ ィギュレーシ ョ ン CRC表 16-1 : コンフ ィギュレーシ ョ ン後の CRC CONFIG 制約. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330表 16-2 : コンフ ィギュレーシ ョ ン後の CRC BitGen オプシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . 331

Page 23: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 25UG332 (v1.4) 2008 年 7 月 1 日

デザインの考察

第 1 章

概要およびデザインの考察

ザイ リ ンクス Spartan®-3 ジェネレーシ ョ ン FPGA (フ ィールド プログラマブル ゲート アレイ ) は、

柔軟性に富み、再プログラム可能なロジッ ク デバイスであ り、業界 先端のプロセッサおよびプロ

セッサ ペリ フェラルと同じ く、先進の CMOS 製造テク ノ ロジを活用しています。 プロセッサおよび

ペリ フェラルと同様に、Spartan-3 ジェネレーシ ョ ン FPGA は、完全にユーザーがプログラム可能で

す。 FPGA の場合、FPGA の機能を決定するプログラムはコンフ ィギュレーシ ョ ン ビッ ト ス ト リー

ムと呼ばれます。 ビッ ト ス ト リームは、システムの電源投入時、あるいはシステムの必要性に応じて

システムによって FPGA に読み込まれます。

設定データが FPGA に読み込まれる、またはプログラムされるプロセスをコンフ ィギュレーシ ョ ン

と言います。 異なるアプリ ケーシ ョ ン要件に対応し、 また、 可能であれば既存のシステム リ ソース

を活用してシステム コス ト を 小限に抑えるために、コンフ ィギュレーシ ョ ンは柔軟に設計されて

います。

マイクロプロセッサと同じ く、Spartan-3 ジェネレーシ ョ ン FPGA は、オプシ ョ ンで外部の不揮発性

メモ リ デバイスから、自動的にロードまたは起動します。 また、マイ クロプロセッサ ペリ フェラル

と同様に、 Spartan-3 ジェネレーシ ョ ン FPGA は、 マイ クロプロセッサ、 DSP プロセッサ、 マイ ク

ロコン ト ローラ、PC、またはボード テスタなどの外部インテ リジェン ト デバイスからダウンロード

またはプログラムできます。 いずれの場合でも、コンフ ィギュレーシ ョ ン データ パスをシ リ アルに

してピン要件を 小限にするか、 バイ ト幅にしてパフォーマンスの 大化、 またはプロセッサある

いはバイ ト幅のフラ ッシュ メモ リへの容易なインターフェイスを図り ます。

プロセッサおよびプロセッサ ペリ フェラルと同様に、ザイ リ ンクス FPGA はシステム内で必要に応

じて、回数の制限なく再プログラムできます。 コンフ ィギュレーシ ョ ン後、FPGA コンフ ィギュレー

シ ョ ン ビッ ト ス ト リームは非常に堅牢な CCL (CMOS コンフ ィギュレーシ ョ ン ラ ッチ) に保存さ

れます。 CCL は SRAM メモ リのよ うに再プログラム可能ですが、パフォーマンスではなく、データ

の統合性を第一の目的と して設計されています。 CCL に保存されたデータは、 コンフ ィギュレー

シ ョ ン中にのみ書き込まれ、 ほかのコンフ ィギュレーシ ョ ンで変更されない限り常在します。

デザインの考察

新しい FPGA の設計を始める前に、 どの FPGA コンフ ィギュレーシ ョ ン モードがシステム要件に

適かを考える必要があ り ます。 それぞれのコンフ ィギュレーシ ョ ン モードは特定の FPGA ピン

を専用で使用しますが、それ以外のピンを借用するこ とがあ り ます。 また、コンフ ィギュレーシ ョ ン

モードは、 FPGA の I/O バンクの一部に電圧制限を与えるこ とがあ り ます。

FPGA のコンフ ィギュレーシ ョ ン モードが選択済みの場合は、このユーザー ガイ ドの適切な章に進

んでください。 それ以外の場合は、使用可能なオプシ ョ ンを理解するため、次に述べるデザインの考

察を検証して ください。

Page 24: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

26 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 1 章 : 概要およびデザインの考察

FPGA が外部または内部メモリからコンフ ィギュレーシ ョ ン データを読み込むのか、 外部プロセッサ / マイクロコン ト ローラがコンフ ィギュレーシ ョ ン データをダウンロードするのか

Spartan-3 ジェネレーシ ョ ン FPGA は、 大限の柔軟性を発揮するよ うに設計されています。 FPGAは、プロセッサのよ うにコンフ ィギュレーシ ョ ン データを自動的に読み込むか、 またはプロセッサ

やマイクロコン ト ローラなどの外部インテ リジェン ト デバイスによってコンフ ィギュレーシ ョ ン

データをダウンロード します。 これはユーザーの判断に委ねられます。 表 1-2 に使用可能なオプ

シ ョ ンを表示します。

データを自ら読み込みこんでコンフィ ギュレーショ ンを行う FPGA コンフィ ギュレーショ ン モード

は、 通常、 マスタ モード と 呼ばれ、 図 1-1 に示すよう にシリ アルまたはバイト 幅のデータ パスの両方

で使用できます。 マスタ モード では、 表 1-1 に示すよう にさまざまな種類の不揮発性メ モリ を FPGAのコンフィ ギュレーショ ン情報の保存に利用します。 また、 このモード では、 FPGA のコンフィ ギュ

レーショ ン ビッ ト スト リ ームは、通常、一般的に FPGA の外部にある同じボード 上の不揮発性メ モリ

に保存されます。 FPGA は内部で CCLK と 呼ばれるコンフィ ギュレーショ ン クロッ ク信号を生成し、

FPGA がこのコンフィ ギュレーショ ン プロセスを制御します。

Spartan-3AN FPGA では、図 1-1c に示すよう に、オプショ ンで内部 ISF (インシステム フラッシュ ) メモリ からコンフィ ギュレーショ ンを実行します。 このモード では、コンフィ ギュレーショ ン メ モリ 、制

御信号およびデータ信号はパッケージ内にあり ます。 Spartan-3AN FPGA は、オプショ ンでその他すべ

ての Spartan-3A FPGA のコンフィ ギュレーショ ン モード もサポート しています。

Page 25: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 27UG332 (v1.4) 2008 年 7 月 1 日

デザインの考察

図 1-1 : Spartan-3 ジェネレーシ ョ ン マスタ (自ら読み込む) コンフ ィギュレーシ ョ ン モード

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

LDC0

Parallel NOR Flash

D0

CLK

DIN

CCLK

Spartan-3 Generation

FPGA

DATA_IN

DATA_OUT

MOSI

CSO_B

SPI SerialFlash

XilinxPlatform Flash

PROM

SELECT

CLOCK

DIN

CCLK

Spartan-3E/ Spartan-3A/3AN/3A DSP

FPGA

ADDR[n:0]

CE#

ADDR[n:0]

OE#

WE#

BYTE#

LDC1

HDC

LDC2

Spartan-3E/ Spartan-3A/3AN/3A DSP

FPGA

D[7:0]

CLK

D[7:0]

CCLK

Spartan-3 FPGA(1)

Xilinx XCFxxP Platform Flash

PROM

ediW-etyBlaireS

8

8(a) Master Serial mode

(b) Master SPI Flash mode

(d) Master BPI mode (parallel NOR Flash)

(e) Master Parallel mode

n+1

UG332_c1_01_052207

XCFxxSXCFxxP

XCFxxP

Spartan-3AN FPGA

In-System Flash(ISF) Memory

(c) Internal Master SPI Flash mode

Notes:1. Remaining Spartan-3 Generation FPGAs support XCFxxP Platform Flash PROMs via Master BPI mode.

Page 26: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

28 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 1 章 : 概要およびデザインの考察

ダウンロードでコンフ ィギュレーシ ョ ンを行う FPGA コンフ ィギュレーシ ョ ン モードは、通常、ス

レーブ モード と呼ばれ、 このモード もシ リ アルまたはバイ ト幅のデータ パスで使用できます。 スレーブ モードでは、図 1-2 に示すよ うに、プロセッサ、 マイ クロプロセッサ、 DSP プロセッサ、 テ

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

ンロード します。 スレーブ コンフ ィギュレーシ ョ ン モードの利点は、FPGA ビッ ト ス ト リームをシ

ステム全体のほぼどの位置に保存しても良い点です。 ビッ ト ス ト リームは、 ホス ト プロセッサの

コード と共に、 フラ ッシュやボード上に保存できます。 ハードディ スクへの保存も可能です。 また、

ネッ ト ワーク上にも保存でき、 その可能性はほぼ無限です。

表 1-1 : Spartan-3 ジェネレーシ ョ ン マスタ コンフ ィギュレーシ ョ ン モードおよびメモリ ソース

外部メモリFPGA コンフ ィギュレーシ ョ ン

モードの情報

サポートする Spartan-3 ジェネレーシ ョ ン ファ ミ リ

ザイ リ ンクス プラ ッ ト フォーム

フラ ッシュ PROM(XCFxxS または XCFxxP PROM)

第 3 章「 マスタ シリ アル モード 」 すべて

ザイ リ ンクス プラ ッ ト フォーム フラ ッシュ PROM

(XCFxxP PROM のみ)第 6 章「 マスタ パラレル モード 」

主に Spartan-3 FPGA。 ただし、 BPI モード

またはスレーブ パラレル モード を使用した Spartan-3E/3A/3AN/3A DSP FPGA でも可能

汎用パラレル

NOR フラ ッシュ PROM 第 5 章 「マスタ BPI モード」 Spartan-3E、 Spartan-3A/3AN/3A DSP FPGA

汎用 SPI シ リ アル フラ ッシュ PROM 第 4 章 「マスタ SPI モード」 Spartan-3E、 Spartan-3A/3AN/3A DSP FPGA

図 1-2 : Spartan-3 ジェネレーシ ョ ン スレーブ (ダウンロードする) コンフ ィギュレーシ ョ ン モード

DIN

CCLK

SERIAL_DATA

CLOCK

Spartan-3 Generation

FPGAProcessor,

Microcontroller

TDI

TMS

DATA_OUT

CLOCK

Spartan-3 Generation

FPGA

JTAG Tester, Processor,

Microcontroller

TCK

TDO

MODE_SELECT

DATA_IN

D[7:0]

RDWR_B

CCLK

BUSY

CSI_B

DATA[7:0]

SELECT

READ/WRITE

READY/BUSY

CLOCK

Spartan-3 Generation

FPGAProcessor,

Microcontroller

(c) Slave Parallel mode (SelectMAP)

8

(a) Slave Serial mode

(b) JTAG mode

ediW-etyBlaireS

UG332_c1_02_080706

Page 27: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 29UG332 (v1.4) 2008 年 7 月 1 日

デザインの考察

スレーブ パラレル モードは、ほかの FPGA アーキテクチャでは SelectMAP モード と も呼ばれ、基

本的には、 チップ セレク ト入力および読み出し /書き込み制御入力を含む、 単純なバイ ト幅のプロ

セッサ ペリ フェラル インターフェイスです。 スレーブ シ リ アル モードは非常に単純であ り、 ク

ロ ッ クおよびシ リ アル データ入力のみで構成されています。

4 つのワイヤを持つ JTAG インターフェイスの使用は、多くのボード テスタおよびデバッグ ハード

ウェアで一般的です。実際に、次に示す Spartan-3 ジェネレーシ ョ ン FPGA 向けのザイ リ ンクス プログラ ミ ング ケーブルは、プロ ト タイプ ダウンロードおよびデバッグに JTAG インターフェイスを

使用します。 アプリ ケーシ ョ ンで 終的に使用されるコンフ ィギュレーシ ョ ン モードに関わらず、

容易なデザイン開発のために JTAG コンフ ィギュレーシ ョ ン パスを含めるこ とを勧めます。 詳細

は、 218 ページの 「ケーブルおよびヘッダのプログラム」 を参照してください。

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

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

• MultiPRO デスク ト ップ ツール

http://japan.xilinx.com/products/devkits/HW-MULTIPRO.htm

Page 28: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

30 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 1 章 : 概要およびデザインの考察

表 1-2 : Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン オプシ ョ ン

マスタ シリアル SPI BPI

マスタ パラレル

内部マスタ SPI

スレーブ パラレル

スレーブ シリアル JTAG

Spartan-3 ジェネ

レーショ ン ファ

ミ リ

すべて Spartan-3ASpartan-3ANSpartan-3A

DSPSpartan-3E

Spartan-3ASpartan-3AN

Spartan-3A DSPSpartan-3E

Spartan-3 のみ

Spartan-3AN のみ

すべて すべて すべて

M[2:0] モード ピンの設定

<0:0:0> <0:0:1> <0:1:0>=UpSpartan-3E

のみ : <0:1:1>=Down

<0:1:1: <0:1:1> <1:1:0> <1:1:1> <1:0:1>

データ幅 シリ アル シリ アル バイト 幅 バイト 幅 シリ アル バイト 幅 シリ アル シリ アル

コンフィ ギュ

レーショ ン メ モリ ソース

ザイ リ ンクスPlatformFlash

汎用 SPI シリアル フラッシュ

汎用パ ラ レ ルNOR フラ ッシュまたはザイリ ンクス パラレルPlatform Flash

ザイ リ ンクス パラレルPlatformFlash など

内部ISF(インシステム フラッシュ ) メ モリ

マイ ク ロ コント ローラ、CPU、ザイリンクス パラレルP l a t f o r mFlash など を 介したソース

マイ ク ロ コント ローラ、CPU、 ザ イリ ンクスP l a t f o r mFlash などを介したソース

マイク ロコント ロ ー ラ、CPU、 SystemACE™ CF などを介したソース

クロッ ク ソース

内部オシレータ CCLK ピン に入力する外部クロッ ク信号

TCK ピンに入力する外部クロッ ク

コンフィ ギュ

レーショ ン中に

使用する専用で

はない (借り て

いる ) 全 I/O ピンの数

8 13 46 12 7 21 8 0

デイジー チェー

ンの下位 FPGA のコンフィ ギュ

レーショ ン モード

スレーブ シリ アル

スレーブ シリ アル

スレーブ パラレルSpartan-

3A/3AN/3A DSPのみ :

スレーブシリ アル

スレーブ シリ アル

サポートなし

スレーブ パラレルまたはメ モリ マップ

スレーブ シリ アル

JTAG

スタンド アロン FPGA アプリ

ケーショ ン

(外部ダウンロー

ド ホスト なし )

オプシ ョ ンで CCLK を生 成 す るXCFxxP P l a t f o r mFlash を使用する こ と で可能

オプショ ンで CCLK を生 成 す るXCFxxP P l a t f o r mFlash を使用する こ と で可能

Page 29: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 31UG332 (v1.4) 2008 年 7 月 1 日

デザインの考察

アプリケーショ ンで FPGA を 1 つ使用するか、 複数使用するか

ほとんどの Spartan-3 ジェネレーシ ョ ン FPGA アプリ ケーシ ョ ンでは、 FPGA を 1 つ使用します。

しかし、 ロジッ ク集積度または I/O の増加に対応するため、複数の FPGA を必要とするアプ リ ケー

シ ョ ンがあ り ます。 複数の FPGA を含むデザインの各 FPGA は、 個別のコンフ ィギュレーシ ョ ン

ソースを保有できます。 ただし、 コンフ ィギュレーシ ョ ン デイジー チェーンを使用する場合は、複

数の FPGA が 1 つのコンフ ィギュレーシ ョ ン ソースを共有します。 デイジー チェーンは、システム

コス ト を削減し、 プログラムおよびロジッ クを単純化します。

32 ページの図 1-3a に示すシ リアル デイジー チェーンが も一般的です。 通常、デイジー チェーン

の 初のデバイスでは、 JTAG モードを除く、 いかなるコンフ ィギュレーシ ョ ン モードでも使用で

きます。 初のデバイスがコンフ ィギュレーシ ョ ン ビッ ト ス ト リームを読み込んだ後、 データは

DOUT シ リ アル データ出力ピンを介して下位の FPGA に送られます。

JTAG インターフェイスは、 32 ページの図 1-3b に示す複数 FPGA のコンフ ィギュレーシ ョ ンもサ

ポート します。 TDO シ リ アル データ出力は、チェーンの後続デバイスの TDI シ リ アル データ入力

に接続されます。 モード セレク ト入力 (TMS)、 およびクロ ッ ク入力 (TCK) は JTAG チェーン内の

デバイスすべてに共通です。 チェーン内で 後のデバイスの TDO は、 JTAG コネクタにフ ィード

バッ ク します。

後に、 図 1-3c に、 パラレル デイジー チェーンを示します。 デバイスごとに固有のチップ セレク

ト入力を除く FPGA 接続はすべて共通です。

注意 : Spartan-3AN FPGA ファ ミ リ を、内部マスタ SPI モードでコンフ ィギュレーシ ョ ンする

場合は、 コンフ ィギュレーシ ョ ン デイジー チェーンをサポート しません。

Page 30: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

32 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 1 章 : 概要およびデザインの考察

も簡単なコンフ ィギュレーシ ョ ン ソリューシ ョ ンがより重要か

アプリ ケーショ ンによっては、 も簡単なソ リ ューショ ンが 適です。 これらのアプリ ケーショ ンで

は、 Spartan-3AN のみでサポート される内部マスタ SPI モード か、 すべての Spartan-3 ジェネレー

ショ ン FPGA で使用できるザイリ ンク ス Platform Flash PROM を用いたマスタ シリ アル モード が

適です。 これらのソ リ ューショ ンは 低限の数の FPGA ピンを使用し、また、 I/O 電圧を柔軟にサ

ポート しており 、 かつ、 iMPACT (ザイリ ンク ス JTAG ペースのプログラ ミ ング ソフト ウェア) に完

全にサポート されています。

図 1-3 : Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン デイジー チェーン オプシ ョ ン

DIN

CCLK

XilinxFPGA

DOUT DIN

CCLK

XilinxFPGA

DOUT

TDI

TMS

TCK

TDO

XilinxFPGA

TDI

TMS

TCK

TDO

XilinxFPGA

TDI

TMS

TCK

TDO

XilinxFPGA

DIN

CCLK

XilinxFPGA

DOUT

CCLK

First FPGA

DOUT

(a) Serial Daisy Chain (using Slave Serial mode)

D[7:0]

RDWR_B

CCLK

BUSY

CSI_B

Spartan-3 Generation

FPGA

D[7:0]

RDWR_B

CCLK

BUSY

CSI_B

Spartan-3Generation

FPGA

DATA[7:0]

Select_FPGA1

Select_FPGA2

(b) Multi-FPGA configuration JTAG mode

(c) Parallel Daisy Chain (using Slave Parallel mode)UG332_c1_03_080706

Page 31: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 33UG332 (v1.4) 2008 年 7 月 1 日

デザインの考察

も低コストなコンフ ィギュレーシ ョ ン ソリューシ ョ ンがより重要か

コス トが重要視されるアプリ ケーシ ョ ンでは、 も低コス ト なコンフ ィギュレーシ ョ ン ソ リ ュー

シ ョ ンが 適なのは明白です。 それでは、 どのオプシ ョ ンが も低コス ト なのでし ょ うか。 答えは、

アプリ ケーシ ョ ンによって異なり ます。

• FPGA コンフィ ギュレーショ ン ビッ ト スト リ ームを保存する予備の不揮発性メ モリ がすでにシス

テムにある場合、 ビッ ト スト リ ームはシステム メ モリ やハード ド ライブに保存でき、 ネッ ト ワー

クで離れた場所からもダウンロード できます。 この場合は、マスタ パラレル モード 、スレーブ シリ アル モード 、 または JTAG コンフィ ギュレーショ ン モード およびバウンダリ スキャンの 3 つのダウンロード モード から 1 つを考えてみてく ださい。

• アプリ ケーシ ョ ンで必要な不揮発性メモ リの統合方法を考えます。 たとえば、 FPGA コンフ ィ

ギュレーシ ョ ン ビッ ト ス ト リームは、ボードのプロセッサ コードのいずれかと共に保存できる

でし ょ うか。 プロセッサが FPGA にエンベデッ ド された MicroBlaze® ソフ ト プロセッサ コア

の場合、FPGA コンフ ィギュレーシ ョ ン データ と MicroBlaze コードを同じ不揮発性メモ リ デバイスに保存できます。

• Spartan-3A および Spartan-3E FPGA は、オプシ ョ ンで汎用 SPI シ リ アル フラ ッシュ メモ リお

よびパラレル NOR フラ ッシュ メモ リからコンフ ィギュレーシ ョ ンできます。 これらのメモ リ

はフッ トプ リ ン ト を共有し、 かつ複数のメーカーが製造しているため、 競争の激しい市場でよ

り低価格で提供されるこ とがあ り ます。

も早いコンフ ィギュレーシ ョ ンがより重要か

アプリ ケーシ ョ ンによっては、 短時間で動作するロジッ クが要求されます。 FPGA のコンフ ィギュ

レーシ ョ ン モードおよび手法には、ほかと比較して高速なものがあ り ます。 コンフ ィギュレーシ ョ

ンの時間には、初期化の時間およびコンフ ィギュレーシ ョ ンの時間が含まれます。コンフ ィギュレー

シ ョ ンに要する時間は、デバイスのサイズおよびコンフ ィギュレーシ ョ ン ロジッ クの速度によって

異なり ます。たとえば、10MHz でプログラ ミ ングする XC3S1400A では、4755296 ビッ ト /10MHzであるため、 約 500ms が必要とな り ます。

• パラレル コンフ ィギュレーシ ョ ン モードは、8 ビッ トずつプログラムするため、同じクロ ッ ク

周波数では、 シ リ アル コンフ ィギュレーシ ョ ン モード よ り高速です。

• 単体の FPGA のコンフィ ギュレーショ ンは、 デイジー チェーン接続された複数の FPGA のコン

フィ ギュレーショ ンより も高速です。 コンフィ ギュレーショ ンの速度が関心事と なる複数の

FPGA を用いたデザインでは、個々の FPGA を別々にパラレルでコンフィ ギュレーショ ンします。

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

デフォルトでは、 CCLK 周波数は低周波で開始しますが、 BitGen の ConfigRate オプシ ョ ンを

使用して周波数を増加できます。 サポート される 大 CCLK 周波数の設定は、付属する不揮発

性メモ リの読み出しの仕様によって異なり ます。 メモ リが高速であれば、 コンフ ィギュレー

シ ョ ンもよ り高速になり ます。

• マスタ モードでは、FPGA の CCLK 出力周波数は、プロセス、電圧、および気温によって異な

り ます。 保証された 高速のコンフ ィギュレーシ ョ ン レートは、 各データシートに示す保証さ

れた も遅い CCLK 周波数によって異なり ます。 外部クロ ッ クがボード上にある場合、付属の

不揮発性メモ リ を使用したままでも、FPGA をスレーブ モードでコンフ ィギュレーシ ョ ンでき

ます。

Page 32: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

34 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 1 章 : 概要およびデザインの考察

単体の FPGA または 複数の FPGA が、 1 つのコンフ ィギュレーシ ョ ン データあるいは複数のコンフ ィギュレーシ ョ ン データのどちらをロードするか

ほとんどの FPGA アプリ ケーシ ョ ンでは、システム起動時にのみコンフ ィギュレーシ ョ ン データを

FPGA にロード します。

しかし、システム動作中に、さまざまな機能向けの異なる FPGA ビッ ト ス ト リームで FPGA を複数

回、 再ロードするアプリ ケーシ ョ ンがあ り ます。 たとえば、 FPGA がパワーオン セルフテス トのイ

ンプリ メンテーシ ョ ン用に 1 つ目のビッ ト ス ト リームでロード され、 その後、 終アプリ ケーシ ョ

ン向けに 2 つ目のビッ ト ス ト リームでロード されるこ とがあ り ます。 多くのテス ト装置アプリ ケー

シ ョ ンでは、 ハード ウェアで補助されたテス ト を実行するため、 FPGA が異なるビッ ト ス ト リーム

でロード されます。 この方法では、1 つの小規模な FPGAで大型の ASIC またはゲート アレイ デバ

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

ダウンロード するスレーブ コンフィ ギュレーショ ン モード では、 複数のビッ ト スト リ ームによる

FPGA の再ロード を容易にサポート します。 これはまた、 Spartan-3E および Spartan-3A/3AN/3A DSPFPGA でマルチブート 機能を使用する場合でも可能です。

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

終アプリケーシ ョ ンで要求される I/O 電圧は何か

FPGA コンフ ィギュレーシ ョ ン モードは、 FPGA アプリ ケーシ ョ ンにいくつかの制約を設けます。

特に、 FPGA のコンフ ィギュレーシ ョ ン バンクで使用される I/O 電圧が制約されます。

たと えば、 SPI または BPI モード は、 サード パーティ の フラッ シュ メ モリ コンポーネント (通常

3.3V のみのデバイス ) を利用します。 このため、バンクあるいはメ モリ に付随するバンクの I/O 電圧

が 3.3V であるこ と が要求されます。 これは、 ほと んどのアプリ ケーショ ンでは問題になり ません。

ただし、3.3V 以外の電圧 (特に 2.5V) が必要な場合、Platform Flash PROM の別の電源を介して複数の

出力電圧をサポート する、 ザイリ ンクス Platform Flash PROM の使用を考慮してみてく ださい。

FPGA アプリケーシ ョ ンが不揮発性データを保存する必要があるか

FPGA アプリ ケーショ ンには、外部の不揮発性メ モリ にデータを保存するものがあり ます。 Spartan-3Eまたは Spartan-3A/3A DSP FPGA では、これらのアプリ ケーショ ンに便利な機能が強化されています。

• Spartan-3E および Spartan-3A/3A DSP FPGA は、 外部汎用シ リ アルまたはパラレル フラ ッ

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

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

ンを単に借用するだけですが、 コンフ ィギュレーシ ョ ン後は、 これらのピンに対して読み出し

および書き込みの完全制御が可能です。

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

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

詳細は、 第 4 章 「マスタ SPI モード」 または 第 5 章 「マスタ BPI モード」 を参照してください。

Page 33: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 35UG332 (v1.4) 2008 年 7 月 1 日

デザインの考察

FPGA の I/O ピンはコンフィ ギュレーショ ン中に抵抗を介して High にプルアップされるべきか

コンフ ィギュレーシ ョ ン中に使用される FPGA ピンの一部には、コンフ ィギュレーシ ョ ン中に専用

のプルアップ抵抗があ り ます。 しかし、ほとんどのユーザー I/O ピンが、コンフ ィギュレーシ ョ ン プロセス中に有効にできるオプシ ョ ンのプルアップ抵抗を持っています。 コンフ ィギュレーシ ョ ン

中、 プルアップ抵抗が有効または無効になったかど うかは 1 つの制御ラインが決定します。 この制

御ピンの名前は Spartan-3 ジェネレーシ ョ ン ファ ミ リ内で異なり ます。 Spartan-3A/3AN/3A DSPFPGA ではこのピンは PUDC_B (コンフ ィギュレーシ ョ ン中はプルアップ、 アクティブ Low) 、Spartan-3E FPGA ではホッ ト スワ ップの省略形で HSWAP、Spartan-3 FPGA では HSWAP_EN と呼ばれます。

コンフ ィギュレーシ ョ ン中にプルアップ抵抗を有効にするのはなぜでし ょ うか。 CMOS ロジッ ク

システムでは、 信号レベルのフロートが問題とな り ます。 システム内のほかのロジッ ク コンポーネ

ン トには、 FPGA からの有効な入力レベルが必要な場合があ り ます。 内部プルアップ抵抗は各ピン

にロジッ ク High レベルを生成します。 一般的に、FPGA に信号を駆動するデバイスは、プルアップ

抵抗を乗り越えられます。 同様に、 各ピンは適切な規模の外部プルダウン抵抗を使用してプルダウ

ン可能です。

コンフ ィギュレーシ ョ ン中にプルアップ抵抗を無効にするのはなぜでし ょ うか。 ホッ ト スワ ップま

たはホッ ト インサーシ ョ ン機能のあるアプリ ケーシ ョ ンでは、 プルアップ抵抗が I/O 電源レールに

電源パスとな り う るパスを提供します。 プルアップ抵抗をオフにする と、 このパスが無効になり ま

す。 しかし、 外部プルアップまたはプルダウン抵抗が各 I/O ピンで必要な場合があ り ます。

詳細は、 61 ページの 「コンフ ィギュレーシ ョ ン中のプルアップ抵抗」 を参照してください。

アプリケーシ ョ ンは特定の FPGA の集積度をターゲッ ト とするか、 同一パッケージ フ ッ トプリン ト内の異なる集積度の FPGA への移行をサポートすべきか

ザイ リ ンクス Spartan-3 ジェネレーシ ョ ン FPGA のパッケージ フッ トプ リ ン トおよびピン配置は、

集積度の異なるファ ミ リ間で移行できるよ うに設計されています。 たとえば、 3 種類の異なる

Spartan-3E FPGA は、FG320 (320 ボール ファ イン ピッチ ボール グ リ ッ ド アレイ パッケージ) を使用する場合、 同一のパッケージ フッ トプ リ ン ト をサポート しています。 表 1-4 に示すよ うに、

小のデバイス XC3S500E は、 コンフ ィギュレーシ ョ ンに約 2.2Mb を必要する一方、 大のデバイ

ス XC3S1600E では、 コンフ ィギュレーシ ョ ンに 5.7Mb 必要です。

同様に、1 つの FPGA アプリ ケーシ ョ ンがフラ ッシュ メモ リにほかの不揮発性データを保存するこ

とがあ り、 この場合はよ り大規模なス ト レージ デバイスが必要となり ます。

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

のデバイスに対応可能な、 十分なサイズを持つコンフ ィギュレーシ ョ ン メモ リが必要です。 上記の

例では、 コンフ ィギュレーシ ョ ンに 5.7Mb 必要とな り ます。 これによ り、 アプリ ケーシ ョ ンは

FG320 パッケージのすべての Spartan-3E FPGA が使用できるよ うになり ます。

ダウンロードでコンフ ィギュレーシ ョ ンするアプリ ケーシ ョ ンでは、 予測できる 大の圧縮されて

いない FPGA ビッ ト ス ト リームに対応する十分なスペースをメモ リに単純に用意しておきます。

自ら読み込んでコンフ ィギュレーシ ョ ンするアプリ ケーシ ョ ンでは、PROM のフッ トプ リ ン トおよ

び関連する FPGA コンフ ィギュレーシ ョ ン モードを用いて容易な移行を実現します。表 1-3 に異な

る FPGA コンフ ィギュレーシ ョ ン モード、PROM ファ ミ リ、およびパッケージ オプシ ョ ンを使用

した移行オプシ ョ ンを示します。 たとえば、 ザイ リ ンクス Platform Flash では、 XCFxxS シ リ アル

ファ ミ リ を使用して 1Mb から 4Mb へ、XCFxxP パラレル ファ ミ リ を使用して 8Mb から 32Mb へ優れた移行を実現します。 アプリ ケーシ ョ ンがこれら 2 つの間にまたがる場合は、2 つの別のフッ ト

Page 34: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

36 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 1 章 : 概要およびデザインの考察

プリ ン ト を使用し、 それぞれを各 Platform Flash サブ ファ ミ リに用います。 XCFxxP フラ ッシュ

ファ ミ リは 1.8V のコア電源入力を、XCFxxS ファ ミ リは 3.3V のコア電源入力を必要とするこ とに

留意して ください。 いずれのファ ミ リ も 3.3V の I/O を提供しています。

SPI シ リアル フラ ッシュのベンダーは広範囲にわたる移行をサポート しますが、マルチ パッケージ

フッ トプ リ ン トが要求されます。 たとえば、Atmel DataFlash SPI シ リ アル フラ ッシュ ファ ミ リは、

8 ピン SOIC パッケージおよび 8 コネクタ CASON パッケージの JEDEC および EIAJ バージ ョ ン

に適合する 1 つのフッ トプ リ ン ト を使用し、 1Mb から 64Mb の範囲に対応します。 STMicro(Numonyx) SPI シ リアル フラ ッシュは 8 ピンおよび 16 ピンの SOIC フッ トプ リ ン ト を組み合わせ

た異なるフッ トプ リ ン ト を使用しており、これも複数の SPI フラ ッシュ ベンダーのデバイス と互換

性があ り ます。 詳細は、 146 ページの 「マルチ パッケージのレイアウ ト 」 を参照してください。

同様に、パラレル フラ ッシュは共通かつ複数ベンダーが提供するパッケージのフッ トプ リ ン トの広

範囲に渡る集積度に対応しています。

表 1-3 : PROM ファ ミ リおよびフッ ト プリン ト互換パッケージへの移行

コンフ ィ

ギュレー

シ ョ ン モード

PROMファ ミ リ

パッケージ オプシ ョ ン

PROM の集積度 (ビッ ト )/関連するデバイス番号

1M 2M 4M 8M 16M 32M 64M

マスタ シ リ ア ル

モード

XCFxxS シ リ アル

Platform FlashVO20 XCF01S XCF02S XCF04S – – – –

XCFxxP パラレル

Platform FlashVO48 – – – XCF08P XCF16P XCF32P –

FS48 – – – XCF08P XCF16P XCF32P –

マ ス タ

SPI モード

ST 互換 SPI フラッ

シュ (マルチ パッ

ケージ フッ ト プリ

ント )

8SOIC JEDEC

8SOIC EIAJ16SOIC8MLP

デバイス番号はベンダーによって異なる

A t m e lAT 4 5 D B x x x DSPI フラ ッシュフ

ラ ッシュ (マルチ

パッケージ フッ トプ リ ン ト )

8SOIC JEDEC

8SOIC EIAJ8CASON

‘011D ‘021D ‘041D ‘081D ‘161D ‘321D ‘642D

マ ス タ

BPI モード

x8 パラレル NORフラ ッシュ

40 ピン TSOP デバイス番号はベンダーによって異なる – –

x8/x16 パラレル

NOR フラ ッシュ

48 ピン TSOP – デバイス番号はベンダーによって異なる

x8 または x8/x16のパラレル NORフラ ッシュ

48 ボールの FBGA – デバイス番号はベンダーによって異なる

メモ : 1. 167 ページの 「マスタ BPI モードのザイ リ ンクス Platform Flash PROM」 に示すよ うに、 Platform Flash PROM はマスタ BPI モードで

も動作します。

Page 35: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 37UG332 (v1.4) 2008 年 7 月 1 日

デザインの考察

終製品の予測製品寿命はどれく らいか

アプリ ケーシ ョ ンの製品寿命が比較的短いか、長いか考えてみてください。 通常、汎用メモリの製品

寿命は、 ザイ リ ンクス Platform Flash PROM よ り も比較的短くなっています。 たとえば、 5 年以上

製造される産業向けアプリ ケーシ ョ ンを設計する場合、ザイ リ ンクス Platform Flash PROM を使用

したほうが、長期間使用できる可能性が高くな り ます。 また、Spartan-3AN の ISF (インシステム フラ ッシュ ) メモ リは FPGA に統合されています。

製品寿命が比較的短い製品は、 ベンダー数および種類の多い汎用メモリの使用が有効な場合があ り

ます。

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

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

できてしまいます。

プロセッサのよ うに FPGA ビッ ト ス ト リームおよび FPGA にエンベデッ ド されたすべての IP (知的財産) コアを保護する方法が多数あ り ます。 も有効な手法はデザイン認証と呼ばれます。 詳細

は、 第 15 章 「FPGA デザインの保護」 を参照してください。

複数の FPGA を同じコンフ ィギュレーシ ョ ン ビッ トス ト リームでロードするには

通常、 システム内の FPGA には、 ビッ ト ス ト リームが 1 つあ り ます。 図 1-3 に示すよ うに、 複数の

異なる FPGA ビッ ト ス ト リームは、コンフ ィギュレーシ ョ ン デイジー チェーンを利用するこ とで、

1 つのコンフ ィギュレーシ ョ ン PROM を共有できます。 しかし、アプリ ケーシ ョ ン内の FPGA のデ

バイス番号がすべて同じで、 かつ、 同じビッ ト ス ト リームを使用する場合はど うでし ょ う。 この場

合、1 つのビッ ト ス ト リームのみが必要とな り ます。 また、同じビッ ト ス ト リームで複数の類似する

FPGA をロードする、 ギャングあるいはブロードサイ ド コンフ ィギュレーシ ョ ンと呼ばれるソ

リ ューシ ョ ンもあ り ます。 この例は、89 ページの図 3-5 または 124 ページの図 4-7 を参照してくだ

さい。

注意 : Spartan-3AN FPGA ファ ミ リ を内部マスタ SPI モード でコンフィ ギュレーショ ンする場合、

コンフィ ギュレーショ ン デイジー チェーンをサポート しません。

FPGA は PCI® アプリケーシ ョ ンで使用されるか

PCI® ローカル バス仕様のリ ビジ ョ ン 3.0 ( 「PCI 仕様」 ) では、 電源およびリセッ トの要件が複数

定義されています。FPGA のインプ リ メンテーシ ョ ンを考慮する場合、これらの要件に従うには、長

期間の信頼性およびボードの相互運用性を保つために解決すべき複数の課題があ り ます。 詳細は、

XAPP457 : 『対応する PCI アプリ ケーシ ョ ンで Spartan-3 Generation FPGA の電力供給と コンフ ィ

ギュレーシ ョ ン』 を参照して ください。

デバッグのサポートについて

このユーザー ガイ ドでは、容易かつわかりやすく FPGA コンフ ィギュレーシ ョ ンを実行します。 問題が発生した場合は、 コンフ ィギュレーシ ョ ン デバッグ プロセスを介してインタラ クティブな

『Configuration Debug Guide』 を使用してください。

• Configuration Debug Guide (ベータ版)http://survey.xilinx.com/ss/wsb.dll/Xilinx/Configuration_Debug_Guide.htm

Page 36: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

38 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 1 章 : 概要およびデザインの考察

FPGA コンフ ィギュレーシ ョ ン ビッ トス ト リームのサイズ

デフォルトでは、 FPGA コンフ ィギュレーシ ョ ン データは圧縮されていません。 非圧縮の FPGAビッ ト ス ト リームでは、FPGA アプリ ケーシ ョ ンの複雑性に関わらず、データのサイズは一定です。

言い換える と、 1 つのインバータには、 同じ FPGA アレイにインプリ メン ト された複雑な MPEG4エンコーダと同一サイズのビッ ト ス ト リームが必要とな り ます。

非圧縮のビッ トス ト リームのサイズ

表 1-4 に、 Spartan-3 ジェネレーシ ョ ンの各デバイスにおける非圧縮の FPGA ビッ ト ス ト リームを

ビッ ト数で示します。

ビッ トス ト リームの形式

一般的な FPGA ユーザーには、 コンフ ィギュレーシ ョ ン ス ト リームのビッ ト レベルの知識は不要

です。 しかし、 コンフ ィギュレーシ ョ ン オプシ ョ ンの理解およびデバッグには、 ビッ ト ス ト リーム

フォーマッ トの概要が役立ちます。 詳細は、 「イベン トのシーケンス」 の章および XAPP452 :『Spartan-3 アドバンス コンフ ィギュレーシ ョ ン アーキテクチャ』 を参照してください。

表 1-4 : 非圧縮 FPGA ビッ トス ト リームのビッ ト数

Spartan-3 ジェネレーシ ョ ン

FPGA ファ ミ リデバイス

コンフ ィギュレーシ ョ ン ビッ ト数

Spartan-3A/3AN FPGA

XC3S50A/AN 437,312

XC3S200A/AN 1,196,128

XC3S400A/AN 1,886,560

XC3S700A/AN 2,732,640

XC3S1400A/AN 4,755,296

Spartan-3A DSPXC3SD1800A 8,197,280

XC3SD3400A 11,718,304

Spartan-3E FPGA

XC3S100E 581,344

XC3S250E 1,353,728

XC3S500E 2,270,208

XC3S1200E 3,841,184

XC3S1600E 5,969,696

Spartan-3 FPGA

XC3S50 439,264

XC3S200 1,047,616

XC3S400 1,699,136

XC3S1000 3,223,488

XC3S1500 5,214,784

XC3S2000 7,673,024

XC3S4000 11,316,864

XC3S5000 13,271,936

Page 37: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 39UG332 (v1.4) 2008 年 7 月 1 日

FPGA コンフ ィギュレーシ ョ ン ビッ トス ト リームのサイズ

同期ワード

FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの 初に組み込まれているのは、特別な同期ワー

ドです。 同期ワードは、 FPGA に次のコンフ ィギュレーシ ョ ン データについて知らせ、 内部のコン

フ ィギュレーシ ョ ン ロジッ クにコンフ ィギュレーシ ョ ン データを同期します。 同期ワード よ り前

にコンフ ィギュレーシ ョ ン入力ピンに入力されるすべてのデータは無視されます。 同期ワードはザ

イ リ ンクス BitGen ソフ ト ウェアによって自動的に付加されるため、 ほとんどのアプリ ケーシ ョ ン

でこの手順は見えません。 同期ワードの長さ と内容は、 表 12-3 に示すよ うに、

Spartan-3A/3AN/3A DSP FPGA ファ ミ リ と Spartan-3 および Spartan-3E FPGA ファ ミ リでは異な

り ます。

アレイ ID次に、 FPGA が内部アレイ ID と の一致を確認するためのアレイ ID がビッ ト スト リ ームに組み込ま

れています。 これにより 、 FPGA が誤って異なる FPGA アレイ用のコンフィ ギュレーショ ン デー

タを読み込むこと を防ぎます。 たと えば、 アレイ ID チェッ クにより 、 XC3S200 用のビッ ト スト

リ ームで XC3S1000 がコンフィ ギュレーショ ンされるこ と を防ぎます。表 12-4 に Spartan-3 ジェネ

レーショ ンのアレイ ID コード を示します。

データ フレーム

次は 「データ フレーム」 というセグメン トに分けられている内部コンフ ィギュレーシ ョ ン メモ リ

です。 Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン メモ リは、 長方形のビッ トのアレイ と

して表現できます。 ビッ トは、 1 ビッ ト幅でアレイの上部から下部へ延長できる垂直のフレームに

分けられています。 フレームは、 コンフ ィギュレーシ ョ ンの 小構成単位であ り、 また、 コンフ ィ

ギュレーシ ョ ン メモ リの書き込みまたは読み出しが可能な 小単位です。 フレームの数および大き

さは、 デバイスのサイズによって異なり ます ( 表 1-5 参照 )。 デバイスのコンフ ィギュレーシ ョ ン ビッ トの総数は、 フレームの数と各フレームのビッ ト数を掛け合わせた数に、 コンフ ィギュレー

シ ョ ン レジスタに書き込みを行うために必要な総ビッ ト数を足すこ とによ り計算できます。

表 1-5 : Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン データ フレーム

Spartan-3 ジェネレーシ ョ ンFPGA ファ ミ リ デバイス フレーム数

ビッ ト内のフレームの長さ

Spartan-3A/3AN FPGA

XC3S50A/AN 367 1,184

XC3S200A/AN 540 2,208

XC3S400A/AN 692 2,720

XC3S700A/AN 844 3,232

XC3S1400A/AN 996 4,768

Spartan-3A DSPXC3SD1800A 1,414 5,792

XC3SD3400A 1,718 6,816

Spartan-3E FPGA

XC3S100E 368 1,568

XC3S250E 577 2,336

XC3S500E 729 3,104

XC3S1200E 958 4,000

XC3S1600E 1,186 5,024

Page 38: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

40 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 1 章 : 概要およびデザインの考察

CRC次は、 CRC ( 巡回冗長検査 ) の値です。 コンフ ィギュレーシ ョ ン データ フレームの読み込み時に、FPGA は CRC 値を算出します。 コンフ ィギュレーシ ョ ン データ フレームの読み込み後、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リームは FPGA に対して CRC チェッ クを命令します。 FPGA によって算出された CRC 値がビッ ト ス ト リーム内の予測された CRC 値と一致しないと きは、 FPGA が INIT_B を Low にし、 コンフ ィギュレーシ ョ ンを中断します。 詳細は、 311 ページの 「コンフ ィギュレーシ ョ ン中の CRC チェッ ク」 を参照してください。

ビッ トス ト リームの圧縮

デフォルトでは、 FPGA ビッ ト ス ト リームは圧縮されていません。 ただし、 Spartan-3 ジェネレー

シ ョ ン FPGA では、基本的なビッ ト ス ト リームの圧縮をサポート しています。 圧縮は大変容易で、ア

プリ ケーシ ョ ンによっては有効とな り ます。 ISE® BitGen (ビッ ト ス ト リーム ジェネレータ) ソフ ト

ウェアは、FPGA ビッ ト ス ト リームの重複したコンフ ィギュレーシ ョ ン データ フレームをすべて検

証します。 この重複は、 次のよ うなデザインでよ く発生します。

• 未使用のブロ ッ ク RAM またはハード ウェア乗算器がある FPGA デザイン

• ロジッ クの使用率が低い FPGA デザイン (FPGA アレイのほとんどが空である場合)

次に、 ISE は圧縮された FPGA ビッ ト ス ト リームを生成できます。 FPGA のコンフ ィギュレーシ ョ

ン時、内部コンフ ィギュレーシ ョ ン コン ト ローラは重複するデータ フレームを複数の場所にコピー

します。追加処理が FPGA コンフ ィギュレーシ ョ ン コン ト ローラで必要と されるため、Spartan-3 および Spartan-3E では、表 1-6 に示すよ うに 大コンフ ィギュレーシ ョ ン ク ロ ッ ク周波数が 20MHzまで低下します。 Spartan-3A/3AN/3A DSP FPGA は、 圧縮ビッ ト ス ト リームを使用する場合でも、

広域な CCLK 周波数をサポート します。

Spartan-3 FPGA

XC3S50 368 1,184

XC3S200 615 1,696

XC3S400 767 2,208

XC3S1000 995 3,232

XC3S1500 1,223 4,384

XC3S2000 1,451 5,280

XC3S4000 1,793 6,304

XC3S5000 1,945 6,816

表 1-5 : Spartan-3 ジェネレーショ ン コンフィ ギュレーショ ン データ フレーム ( 続き )Spartan-3 ジェネレーシ ョ ン

FPGA ファ ミ リ デバイス フレーム数ビッ ト内の

フレームの長さ

表 1-6 : 圧縮ビッ トス ト リームを使用する場合の 大 CCLK 周波数

Spartan-3 FPGA

Spartan-3E FPGA

Spartan-3ASpartan-3AN

Spartan-3A DSPFPGA

圧縮ビッ ト ス ト リームを使用する場合の

大 CCLK 周波数20MHz 20MHz 80MHz

Page 39: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 41UG332 (v1.4) 2008 年 7 月 1 日

ビッ トス ト リーム オプシ ョ ンの設定、 FPGA ビッ トス ト リームの生成

圧縮の量は確定していません。 ソースの FPGA デザインを変更する と、圧縮ビッ ト ス ト リームのサ

イズが大き くなるこ とがあ り ます。 まばらで、 ほとんど空の FPGA デザインは も圧縮率が高く、

同様に、 ブロ ッ ク RAM に空のコラムがある FPGA デザインも圧縮率が高くなり ます。

圧縮ビッ ト ス ト リームを使用する総合的な利点は次のとおりです。

• メモ リ フッ トプ リ ン トの小型化

• 不揮発性メモ リのプログラム時間の短縮

圧縮ビッ ト ス ト リームを生成するには、ISE Project Navigator またはコマンド ラインから生成する

2 つの手法があ り ます。

Project Navigator の場合は、図 1-6 の 4 で示すよ うに [Enable BitStream Compression] オプシ ョ

ンをオンにします。

コマンド ラインの場合は、 -g Compress オプシ ョ ンを BitGen コマンド ラ インに追加します。

bitgen -g Compress <other options> ...

さ らに、 パラレル Platform Flash PROM では、 独自の圧縮手段を提供しています。

パケッ ト形式

Spartan-3 ジェネレーシ ョ ンのビッ ト ス ト リームは、 コンフ ィギュレーシ ョ ン レジスタへの特定の

書き込み順序で構成されています。 同期の後、 すべてのデータ、 レジスタ書き込み、 およびフレー

ム データはパケッ トに入り ます。 パケッ トには、 タイプ 1 と タイプ 2 の 2 種類があ り ます。 タイ

プ 1 のパケッ トは、 ヘッダおよびデータの 2 つで構成されています。 ヘッダ ( 図 1-4 参照 ) は、 現

在アクセスされているレジスタ、 またそれが読み出されているのか、 書き込まれているのかと、 そ

れに続く レジスタのサイズを示します。 データの部分は常にヘッダの直後にあ り、 ヘッダで指定さ

れた 32 ビッ ト ワードの数を示します。

Spartan-3 FPGA のパケッ ト形式の詳細は、 XAPP452 : 『Spartan-3 アドバンス コンフ ィギュレー

シ ョ ン アーキテクチャ』 を参照してください。

ビッ トスト リーム オプションの設定、 FPGA ビッ トスト リームの生成FPGA デザインを指定してコンパイルした後で、 ISE Project Navigator または BitGen ( ビッ ト ス

ト リーム ジェネレータ コマンド ライン ツール ) を使用し、 FPGA ビッ ト ス ト リームを生成しま

す。 ビッ ト ス ト リーム オプシ ョ ンの詳細は、 このユーザー ガイ ドを通して説明されています。

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Type Op レジスタ アドレス ワード カウン ト

0 0 1 x x x x x x x x x x x x x

1. タイプ 1 は Type = "001"、 タイプ 2 は "010" とな り ます。

2. 書き込みは Op = "10"、 読み出しは "01" とな り ます。

図 1-4: Spartan-3A/3AN/3A DSP タイプ 1 パケッ ト のヘッダ

Page 40: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

42 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 1 章 : 概要およびデザインの考察

ISE ソフ トウェア Project Navigator図 1-5 に、 ISE Project Navigator のウ ィンド ウで BitGen のオプシ ョ ンを設定する方法を示します。

1. [Generate Programming File] を右ク リ ッ ク します。

2. [Properties] をク リ ッ ク します。

3. [General Options] をク リ ッ ク します (図 1-6)。

図 1-5 : ISE Project Navigator での BitGen オプシ ョ ンの設定

図 1-6 : BitGen の [General Options]

2

1

UG332_c1_04_120306

ug332_C1_05_091106

4

3

5

Page 41: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 43UG332 (v1.4) 2008 年 7 月 1 日

ビッ トス ト リーム オプシ ョ ンの設定、 FPGA ビッ トス ト リームの生成

4. FPGA ビッ ト ス ト リームを圧縮するには、 [Enable BitStream Compression] をク リ ッ クします。

5. まだ GUI にサポート されていない特定のビッ ト ス ト リーム ジェネレータ コマンド ラインを

入力するには、 空欄にオプシ ョ ンの文字列を入力します。

6. [Configuration Options] をク リ ッ ク します (図 1-7)。

7. マスタ コンフ ィギュレーシ ョ ン モードの 1 つを使用する場合は、 CCLK のコンフ ィギュレー

シ ョ ン周波数を [Configuration Rate] で設定します。 この設定は、スレーブ モードのコンフ ィ

ギュレーシ ョ ンでは使用されません。 設定は、FPGA ファ ミ リ、付属のコンフ ィギュレーシ ョ ン

メモ リ、 およびコンフ ィギュレーシ ョ ン モードによって異なり ます。 付属メモリの速度によっ

て特定の値が推奨されていますが、 後の章で説明します。

8. FPGA の DONE および PROG_B (プログラム) ピンには、コンフ ィギュレーシ ョ ン中それぞれ

専用のプルアップ抵抗があ り ます。 これらの抵抗はコンフ ィギュレーシ ョ ン後、 オプシ ョ ンと

な り ます。 こ こでは、 Spartan®-3E FPGA アプリ ケーシ ョ ンの例を示しています。 Spartan-3 および Spartan-3A FPGA には、 追加のオプシ ョ ンがあ り ます。

9. FPGA の各 JTAG ピンには、 コンフ ィギュレーシ ョ ン中に専用のプルアップ抵抗があ り ます。

これらの抵抗はコンフ ィギュレーシ ョ ン後、 オプシ ョ ンとな り ます。

10. デフォルトでは、 未使用の I/O ブロ ッ クがプルダウン抵抗付きの入力にコンフ ィギュレーシ ョ

ンされます。 ほかのオプシ ョ ンもあ り ます。 詳細は、BitGen の UnusedPin オプシ ョ ンを参照し

て ください。

図 1-7 : BitGen の [Configuration Options]

UG332_c1_06_091106

7

6

8

10

11

9

Page 42: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

44 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 1 章 : 概要およびデザインの考察

11. 各 FPGA ビッ ト ス ト リームには、FPGA の JTAG ポート を介して読み出される 8 桁の 16 進数

(32 ビッ ト ) 識別子を含めるこ とができます。

12. [Startup Options] をク リ ッ ク します (図 1-8)。

13. FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームが FPGA に読み込まれた後で、 FPGA はス

タート アップの段階に入り ます。 各スタート アップ サイクルのタイ ミ ングは、 選択可能なク

ロ ッ ク ソースによって制御されます。 詳細は、262 ページの「スタート アップ ク ロ ッ ク ソース」

を参照して ください。

14. FPGA コンフ ィギュレーシ ョ ンのスタート アップ段階には、次のスタート アップ イベン ト と同

期するために 6 つの異なるサイ クルがあ り ます。 イベン トは特定のサイクルに割り当てるか、

DONE 信号に同期化できます。 詳細は、 260 ページの 「スタート アップ」 を参照してください。

♦ 出力ド ライバが有効にされるタイ ミ ング

♦ 書き込み可能でクロ ッ クが供給されたエレ メン トから ライ ト プロテク ト ロ ッ クが解除さ

れるタイ ミ ング

♦ DONE ピンがアクティブになるタイ ミ ング

15. FPGA 内の DCM (デジタル ク ロ ッ ク マネージャ ) に対して DCM_WAIT=TRUE 属性が設定

されている場合、FPGA はコンフ ィギュレーシ ョ ン終了前にオプシ ョ ンで DCM 内の DLL (遅延ロッ ク ループ) が入力クロ ッ ク信号に対してロ ッ クするのを待機します。 262 ページの

「DCM がロ ッ ク状態になるまで、 DCI が一致するまで待機」 を参照して ください。

図 1-8 : BitGen の [Startup Options]

13

12

14

15

16

UG332_c1_07_120106

Page 43: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 45UG332 (v1.4) 2008 年 7 月 1 日

ビッ トス ト リーム オプシ ョ ンの設定、 FPGA ビッ トス ト リームの生成

16. FPGA の DONE ピンは、 コンフ ィギュレーシ ョ ン後、 アクティブに High に駆動できます。 このオプシ ョ ンは FPGA が 1 つのアプリ ケーシ ョ ンか、 複数 FPGA のコンフ ィギュレーシ ョ ン

デイジー チェーン内にある 後の FPGA に対してのみ指定します。 詳細は、 51 ページの

「DONE ピン」 を参照して ください。

17. [Readback Options] をク リ ッ ク します (図 1-9)。

18. デフォルトでは、 FPGA ビッ ト ス ト リームは JTAG を介して リードバッ クできます。 FPGA のリードバッ クを無効にするオプシ ョ ンもあ り ます。 詳細は、291 ページの「基本的な FPGA ハー

ドウェア レベルのセキュ リティ オプシ ョ ン」 を参照してください。

19. 終了したら [OK] をク リ ッ ク して ください。

図 1-9 : BitGen の [Readback Options]

18

17

19

UG332_c1_08_091106

Page 44: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

46 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 1 章 : 概要およびデザインの考察

BitGen コマンド ライン ツール

コマンド ライン処理を好む設計者およびスク リプ ト をサポートするため、ISE では、BitGen と呼ば

れるコマンド ライン ビッ ト ス ト リーム ジェネレータ ツールも提供しています。

特定の FPGA ファ ミ リで使用可能なオプシ ョ ンの簡単な概要を表示するには、表 1-7 に示すコマン

ドを DOS ボッ クスまたはコマンド ウ ィンド ウに入力してください。

BitGen ソフ ト ウェアの詳細は、 次のソフ ト ウェア マニュアルで BitGen の章を参照してください。

• 『ISE 10.1 開発システム リ ファレンス ガイ ド』

http://toolbox.xilinx.com/docsan/xilinx10/books/docs/dev/dev.pdf

表 1-7 : 各ファ ミ リの BitGen オプシ ョ ンを表示するためのコマンド ライン

FPGA ファ ミ リ コマンド ライン

Spartan-3 FPGA bitgen -help spartan3

Spartan-3E FPGA bitgen -help spartan3e

Spartan-3A FPGA bitgen -help spartan3a

Spartan-3AN FPGA bitgen -help spartan3an

Spartan-3A DSP FPGA bitgen -help spartan3adsp

Page 45: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 47UG332 (v1.4) 2008 年 7 月 1 日

一般的なコンフ ィギュレーシ ョ ン制御ピン

第 2 章

コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

FPGA コンフ ィギュレーシ ョ ンが柔軟である と、 多くのピンを多目的に使用できます。 一部のピンはコンフ ィギュレーシ ョ ン中、 単に借用されるのみで、 FPGA アプリ ケーシ ョ ンでユーザー定義の I/O ピンと して リ リースされます。 ほかのピンは、 コンフ ィギュレーシ ョ ン専用ピンです。 この章では、 コンフ ィギュレーシ ョ ン中にこれらのピンがどのよ うな動作をするか説明します。 コンフ ィギュレーシ ョ ン中とは、 FPGA の初期電源投入時、 PROG_B が Low にパルスされた後、 またはマルチブートによるコンフ ィギュレーシ ョ ン / 再コンフ ィギュレーシ ョ ン中を含みます。

一般的なコンフ ィギュレーシ ョ ン制御ピン

少数のピンが FPGA プロセス全体を制御します。 これらには次のピンが含まれ、 すべての Spartan®-3ジェネレーショ ン FPGA で類似しています。 4 本のワイヤを持つ JTAG インターフェイスは、別の独立

したコンフィ ギュレーショ ン インターフェイスで、主に 第 9 章「 JTAG コンフィ ギュレーショ ン モー

ド およびバウンダリ スキャン」 で説明します。

• モード セレク ト ピン M[2:0] は、FPGAがコンフ ィギュレーシ ョ ン データの読み込みに使用す

るコンフ ィギュレーシ ョ ン モードを決定します。

• DONE ピンは High の場合、FPGA がコンフ ィギュレーシ ョ ン データの読み込みを完了したこ

とを示します。

• プログラム ピン PROG_B は、 コンフ ィギュレーシ ョ ン プロセスを初期化します。 FPGA は電

源投入時にコンフ ィギュレーシ ョ ンを自動的に初期化します。 JTAG インターフェイスには、

コンフ ィギュレーシ ョ ンの初期化に別の JTAG コマンドがあ り ます。また、PROG_B ピン は、

FPGA にマスタ リセッ ト を強制的に実行します。

• コンフ ィギュレーシ ョ ン ク ロ ッ ク ピン CCLK は、FPGA のコンフ ィギュレーシ ョ ン プロセス

のタイ ミ ングを決定します。 M[2:0] モード セレク ト ピンをマスタ モードに設定した場合、

FPGA は CCLK を内部生成します。 M[2:0] モード セレク ト ピンをスレーブ モードに設定し

た場合、 CCLK は外部のリ ファレンス タイ ミ ングから FPGA への入力になり ます。

• INIT_B ピンは複数の機能を実行します。 コンフ ィギュレーシ ョ ン開始時には、INIT_B が Lowになり、FPGA が内部のコンフ ィギュレーシ ョ ン メモ リ を初期化しているこ とを示します。 こ

のプロセスは、 コンフ ィギュレーシ ョ ンの初期化と言います。 その後、 FPGA がコンフ ィギュ

レーシ ョ ン ビッ ト ス ト リームを読み込み中にビッ ト ス ト リームの CRC チェッ クにエラーがあ

る場合、 INIT_B ピンは Low になり ます。 Spartan-3A/3AN/3A DSP FPGA では、 FPGA で設

定された場合、INIT_B ピンはコンフ ィギュレーシ ョ ン後の CRC エラーを示すよ うに設定でき

ます。

• コンフ ィギュレーシ ョ ン中、 一部のピンはプルアップ抵抗があ り ます。 その他の各ピンには、

1 つの制御入力ピンによって制御される、 オプシ ョ ンのプルアップ抵抗が付いています。 表 2-12 に示すよ うに、 このピンの名前はアーキテクチャによって異なり ます。

Page 46: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

48 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

コンフ ィギュレーシ ョ ン モードの選択 : M[2:0]モード セレク ト ピン M[2:0] は、表 2-1 に示すよ うに、 FPGA がビッ ト ス ト リームの読み込みに使

用するコンフ ィギュレーシ ョ ン モードを決定します。 モード ピンのロジッ ク レベルは、FPGA の内

部コンフ ィギュレーシ ョ ン メモ リの初期化終了直後、 INIT_B の立ち上がりエッジでサンプルされ

ます。

Spartan-3 ジェネレーシ ョ ンファ ミ リ間における M[2:0] の機能的な相違点

表 2-2 に、 Spartan-3 ジェネレーシ ョ ンのファ ミ リ間でのわずかな機能の違いについて示します。

表 2-1 : ファ ミ リ別のモード ピン設定およびそれに関連する FPGA コンフィ ギュレーショ ン モード

M[2:0]

FPGA ファ ミ リ

Spartan-3 Spartan-3E Spartan-3ASpartan-3A

DSPSpartan-3AN

<0:0:0> マスタ シ リ アル (Platform Flash) モード

<0:0:1> 予約済み マスタ SPI モード

<0:1:0> 予約済み BPI Up

<0:1:1> マスタ パラレル BPI Down 予約済み 内部マスタ SPI

<1:0:0> 予約済み

<1:0:1> JTAG モード

<1:1:0> スレーブ パラレル モード

<1:1:1> スレーブ シ リ アル モード

表 2-2 : Spartan-3 ジェネレーシ ョ ンファ ミ リ間における M[2:0] モード ピンの機能的な相違点

Spartan-3 FPGA

Spartan-3E FPGA

Spartan-3A/3AN/3A DSP

FPGA

コンフ ィギュレーシ ョ ン後にユーザー I/Oピンと して使用可能か

いいえ はい はい

コンフ ィギュレーシ ョ ン中に専用内部プル

アップ抵抗があるかはい いいえ はい

コンフ ィギュレーシ ョ ン後の動作を定義す

る手段

M2Pin、 M1Pin、M0Pin

ビッ ト ス ト

リーム オプシ ョ ン

ユーザー I/O ユーザー I/O

入力電源電圧 VCCAUX VCCAUX VCCO

出力電源電圧 N/A VCCO_2 VCCO_2

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

スのほかのピンと同じ電圧か

インターフェ

イスが 2.5V の場合のみ

はい はい

Page 47: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 49UG332 (v1.4) 2008 年 7 月 1 日

一般的なコンフ ィギュレーシ ョ ン制御ピン

Spartan-3A/3AN/3A DSP および Spartan-3E FPGA ファ ミ リ

Spartan-3A/3AN/3A DSP および Spartan-3E FPGA ファ ミ リでは、M[2:0] モード セレク ト ピンは

コンフ ィギュレーシ ョ ン中に使用され、 コンフ ィギュレーシ ョ ン完了後、 完全なユーザー I/O とな

り ます。 M[2:0] ピンは、 VCCO_2 電源で電源供給されています。

Spartan-3E FPGA

Spartan-3E FPGA のモード ピンには、コンフ ィギュレーシ ョ ン中に専用のプルアップ抵抗があ り ま

せん。 ただし、 コンフ ィギュレーシ ョ ン中、 これらのピンには、 Spartan-3E の HSWAP ピンで制御

された、オプシ ョ ンのプルアップ抵抗が付いています。 モード ピンが未接続で、HSWAP が Low の場合、 Spartan-3E FPGA はデフォルトでスレーブ シ リ アル コンフ ィギュレーシ ョ ン モード

(M[2:0] = <1:1:1> になり ます。

Spartan-3A/3AN/3A DSP FPGA

Spartan-3A/3AN/3A DSP FPGA モード ピンには、 PUDC_B ピンに関わらず、 コンフ ィギュレー

シ ョ ン中に専用の内部プルアップ抵抗が付いています。 モード ピンが未接続の場合、 Spartan-3A/3AN/3A DSP FPGA はデフォルトでスレーブ シ リ アル コンフ ィギュレーシ ョ ン モード

(M[2:0] = <1:1:1> になり ます。

Spartan-3 FPGA ファ ミ リ

Spartan-3 FPGA ファ ミ リでは、M[2:0] モード セレク ト ピンは、VCCAUX 電源で電源供給される専

用入力ピンです。

コンフ ィギュレーシ ョ ン前と コンフ ィギュレーシ ョ ン中、モード ピンには、 HSWAP_EN ピンに関

わらず、 VCCAUX 電源に対する比較的強い内部プルアップ抵抗があ り ます。

モード ピンが未接続の場合、 FPGA はデフォルトでスレーブ シ リ アル コンフ ィギュレーシ ョ ン

モード (M[2:0] = <1:1:1> になり ます。 これらの抵抗は、 Spartan-3 FPGA のコンフ ィギュレーシ ョ

ン完了後、 BitGen のオプシ ョ ン M2Pin、 M1Pin、 および M0Pin を使用して制御できます。 これらの

オプシ ョ ンは、M0、 M1、M2 の各モードピンに、プルアップ抵抗、プルダウン抵抗があるか、 また

は抵抗がないかを定義します。 デフォルトでは、 これらのピンには VCCAUX への内部プルアップ抵

抗が付いています。

小消費電力でのコンフ ィギュレーシ ョ ン後の M[2:0] の定義

コンフ ィギュレーシ ョ ン中、 M[2:0] ピンは、電源またはグランドに直接接続、 または外部抵抗を使

用して High または Low に接続、 あるいは外部コンポーネン トによって駆動されます。 消費電力を

よ り少な くするため、 M[2:0] ピンのコンフ ィギュレーシ ョ ン後の動作を 48 ページの表 2-1 に示す

コンフ ィギュレーシ ョ ン設定の要件に適合するよ うに調整します。 このためには、 FPGA アプリ

ケーシ ョ ン内でのこれらの値を定義するか、 関連する BitGen オプシ ョ ンを調整します。 基本的に、

プルアップ抵抗またはプルダウン抵抗を介する不要な回路の使用を避けるよ うにします。

Page 48: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

50 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

表 2-3 に、 Spartan-3 および Spartan-3E/3A/3AN FPGA の両ファ ミ リにおける、デフォルトでのコ

ンフ ィギュレーシ ョ ン後の動作を示します。 両者の動作はわずかに異なり ます。

DONE ピン

FPGA はコンフ ィギュレーシ ョ ン中、DONE ピンをアクティブに Low に駆動します。 コンフ ィギュ

レーシ ョ ン プロセス完了後、FPGA は DONE ピンをアクティブに High ( 「DriveDone」 ) に駆動す

るか、 BitGen の DonePin オプシ ョ ンで制御される内部または外部プルアップ抵抗を使用して、

DONE ピンを High にフロート します。

複数 FPGA を含むデイジー チェーンまたはブロードサイ ド コンフ ィギュレーシ ョ ンでは、 すべて

の FPGA のコンフ ィギュレーシ ョ ン完了後のみ、 コモン ノードが High に遷移するよ う、オープン

ドレイン オプシ ョ ンで複数の FPGA の DONE ピンを結束します。 オープン ド レイン DONE ピン

を外部で Low にホールドする と、 「スタート アップ」 シーケンスが停止します。

DONE ピンは、 VCCAUX 電源で電源供給されています。 DONE ピンの機能は、 すべての Spartan-3ジェネレーシ ョ ン FPGA で共通です。

関連する BitGen (ビッ トス ト リーム ジェネレータ ) オプシ ョ ン

DONE ピンには、コンフ ィギュレーシ ョ ン中およびコンフ ィギュレーシ ョ ン後の動作を制御するさ

まざまなオプシ ョ ンのビッ トがあ り ます。 これらのオプシ ョ ンを次にまとめ、 詳細を次の数ページ

に述べます。

• DriveDone は、DONE ピンがアクティブ ド ラ イバであるか、オープン ド レイン出力であるかを

決定します。

• DonePin は、 DONE ピンが内部プルアップ抵抗付きであるかを決定します。

• DONE_cycle は、スタート アップにおいて DONE を High で駆動するか、High にフロートする

かのどちらを決定します。

• DonePipe は、FPGA が実際にコンフ ィギュレーシ ョ ンを完了する前に、パイプライン ステージ

を追加します。

表 2-3 : M[2:0] ピンにおけるデフォルトでのコンフ ィギュレーシ ョ ン後の動作

Spartan-3 FPGA Spartan-3E、 Spartan-3A/3AN/3A DSP FPGA

コンフ ィギュレーシ ョ ン後、M[2:0] ピンには M2Pin 、M1Pin、および BitGenの M0Pin オプシ ョ ンで制御されたオ

プシ ョ ンのプルアップおよびプルダ

ウン抵抗が付く。 ビッ ト ス ト リーム内

部で変更されない限り、3 つの M[2:0]ピンすべてにプルアップ抵抗が付く

コンフ ィギュレーシ ョ ン後、M[2:0] ピンはユーザー I/Oピンと して使用可能。 これらのピンは、 FPGA アプリ

ケーシ ョ ンで定義されていない場合には未使用の I/O ピンと して扱われる。 未使用の I/O ピンの動作は、 BitGenの UnusedPin オプシ ョ ンで定義される。 FPGA アプリ

ケーシ ョ ンで定義されるか、 UnusedPin オプシ ョ ンで変

更されない限り、 3 つの M[2:0] ピンのすべてには内部

プルダウン抵抗が付く

Page 49: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 51UG332 (v1.4) 2008 年 7 月 1 日

一般的なコンフ ィギュレーシ ョ ン制御ピン

DriveDone

表 2-4 に示す BitGen の DriveDone オプショ ンは、 DONE ピンが アクティ ブに High 駆動するト ーテム

ポール出力を持つか、 オープン ド レイン出力と して動作するかを決定します。 オープン ド レイン出力

と してコンフィ ギュレーショ ンされた場合 (デフォルト の動作)、プルアップ抵抗は High ロジッ ク レベ

ルの生成を要求されます。 BitGen オプショ ンは DonePin プルアップ抵抗を制御します。

単体の FPGA を用いたアプリ ケーシ ョ ン、 または複数 FPGA デザインの 初の FPGA には

DriveDone:Yes を設定します。

このオプショ ンは、 42 ページの「 ISE ソフト ウェア Project Navigator」 、 44 ページの図 1-8、 手順 16に示す GUI で [Drive Done Pin High] をオンにして設定できます。

DriveDone および DonePin の関係は表 2-6 を参照してください。

DonePin

表 2-5 に示す BitGen の DonePin オプショ ン は、ピンを VCCAUX にプルアップする内部プルアップ抵抗

が DONE ピンにあるかどう かを決定します。 プルアップ抵抗が削除された場合は、 外部の 300Ω ~3.3kΩ のプルアップ抵抗を使用し、 DONE ピンを High にプルアップする必要があり ます。

このオプショ ンは、 42 ページの「 ISE ソフト ウェア Project Navigator」、 43 ページの図 1-7、 手順 8に示す GUI で [Configuration Pin Don] を選択して設定できます。

DriveDone および DonePin の関係は表 2-6 を参照してください。

表 2-4 : DriveDone BitGen オプシ ョ ン

設定 説明

なし

デフォルト。 DONE ピンはオープンドレインの出力で、 VCCAUX へのプルアップ抵抗

が必要。 内部プルアップ抵抗は、BitGen の DonePin:Pullup オプシ ョ ンを用いて使用可

あ りDONE ピンは FPGA がコンフ ィギュレーシ ョ ン プロセスを完了する とアクティブに

High に駆動

表 2-5 : DonePin BitGen オプシ ョ ン

設定 説明

Pullup デフォルト。 コンフ ィギュレーシ ョ ン後、DONE ピンには VCCAUX への内部

プルアップ抵抗が付く

PullnoneDONE ピンに内部プルアップ抵抗なし。 VCCAUX への 300Ω ~ 3.3kΩ の外

部プルアップ抵抗が必要。 プルアップ抵抗は、 DONE ピンを CCLK の 1 サイクル以内で有効 (High) にプルアップできるだけの強さが必要

Page 50: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

52 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

DONE_cycle

DONE_cycle オプシ ョ ンは、 正常なコンフ ィギュレーシ ョ ン完了直前のスタート アップ シーケンス

中に、 どのサイ クルで DONE ピンをアサートするかを制御します。 詳細は、 260 ページの 「スター

ト アップ」 を参照してください。

このオプシ ョ ンは、 42 ページの 「ISE ソフ ト ウェア Project Navigator」、 44 ページの図 1-8、 手順 14に示す GUI で [Done (Output Events)] を選択して設定できます。

DonePipe

DonePipe オプシ ョ ンは、 複数 FPGA アプリ ケーシ ョ ンの一部で使用されます。

複数 FPGA コンフ ィギュレーシ ョ ンですべての DONE ピンを リ リース後、スタート アップ の 1 クロ ッ ク サイクル (StartupClk) 以内に DONE ピンは Low から High に遷移する必要があ り ます。

DONE 信号がスタート アップ の 1 サイクル以内に立ち上がるための追加の時間が必要となる場合、

デイジー チェーンまたはブロードサイ ド コンフ ィギュレーシ ョ ン内のすべてのデバイスに BitGenの DonePipe:Yes オプシ ョ ンを設定します。

このオプシ ョ ンは、 42 ページの 「ISE ソフ ト ウェア Project Navigator」、 44 ページの図 1-8 に示す

GUI の [Enable Internal Done Pipe] オプシ ョ ンをオンにして設定します。

デイジー チェーンまたはブロード サイド (ギャング) コンフィ ギュレーショ ンの複数 FPGA を DONE ピンで同期

単体の FPGA を使用するアプリ ケーシ ョ ンでは、 DONE ピンは単に FPGA のコンフ ィギュレー

シ ョ ンが完了したこ とを示します。

しかし、 複数の FPGA を含むデイジー チェーンまたはブロードサイ ド アプリ ケーシ ョ ンでは、

DONE ピンはすべての FPGAの 「スタート アップ」 シーケンスを同期化します。 これは、FPGA のコンフ ィギュレーシ ョ ン プロセスから FPGA アプリ ケーシ ョ ンへの順調な遷移を確実にします。

表 2-6 : DONE ピンの DriveDone および BitGen の DonePin オプシ ョ ンの関係

DONE ピンがアクティ ブに駆動内部プルアップ付き

オープンドレイン (デフォルト ) 外部プルアップ付きオープンドレイン

回路図

DriveDone : あ り なし なし

DonePin : Pullnone Pullup Pullnone

多様なコンフ ィギュレーシ ョ ン トポロジで推奨される使用方法

単体の FPGA 適 可能 可能だが、 外部プルアップ抵抗が必要

デイジー チェーン

チェーン内で 初の FPGA のみ

チェーン内のすべての下位 FPGA。 チェーン内で 初の

FPGA でも使用可能

可能だが、 外部プルアップ抵抗が必要

ブロード

サイ ド使用不可

ブロードサイ ド コンフ ィギュ

レーシ ョ ン内のすべての FPGA可能だが、 外部プルアップ抵抗が必要

FPGA

DONE

Active driver

VCCAUX

UG332_c2_01_120106a

LVCMOS

StartupSequencer

FPGA

DONE

VCCAUX

VCCAUX

UG332_c2_01_120106b

StartupSequencer

FPGA

DONE

VCCAUX

VCCAUX

330Ω to 3.3kΩ

UG332_c2_01_120106c

StartupSequencer

Page 51: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 53UG332 (v1.4) 2008 年 7 月 1 日

一般的なコンフ ィギュレーシ ョ ン制御ピン

図 2-1 に、FPGA が 3 つの例を示します。デイジー チェーン アプリ ケーシ ョ ンでは、異なる集積度

およびアーキテクチャの FPGA が異なるビッ ト ス ト リームを用いて連続でコンフ ィギュレーシ ョ

ンされます。 ブロードサイ ドでは、複数かつ同一の FPGA が同じビッ ト ス ト リームで同時にロード

されます。

すべての DONE ピンの接続

複数 FPGA のデイジー チェーンまたはブロードサイ ド コンフ ィギュレーシ ョ ンに含まれるすべて

のデバイスの DONE ピンを接続します。 デバッグでは、共有の DONE 信号から各 DONE ピンを個

別に未接続にする方法がある と便利な場合があ り ます。 これによ り、 シ リ アルまたは JTAG イン

ターフェイスを介してデバイスを個別にコンフ ィギュレーシ ョ ンできます。 図 2-1 では、 ボード上

の 0 オームの抵抗を一時的に取り除く こ とで、 FPGA を切り離せるこ とを示しています。 これは、コ

ネクタ ピンまたはワイヤ ジャンパでも可能です。

DONE ピンの BitGen オプシ ョ ン

デイジー チェーンまたはブロードサイ ド コンフ ィギュレーシ ョ ンの各 FPGA のビッ ト ス ト リーム

ファ イルを生成する際、 52 ページの表 2-6 に示す DONE ピンのオプシ ョ ンを設定します。

また、デイジー チェーンを正常にコンフ ィギュレーシ ョ ンするには、チェーンに含まれるすべての

FPGA に対する DONE_cycle 設定の後で、BitGen の GTS_cycle オプシ ョ ンをスタート アップ段階に

設定する必要があ り ます。 これは、 ソフ ト ウェアのデフォルト設定です。 オプシ ョ ンで、

GTS_cycle:Done に設定します。

VCCAUX = 3.3V の Spartan-3A FPGA と Spartan-3 ジェネレーシ ョ ン FPGA をデイジー チェー

ン コンフ ィギュレーシ ョ ンで使用する場合の注意

DONE ピンは、 FPGA の VCCAUX 電源で電源供給されています。 Spartan-3 および Spartan-3EFPGA の VCCAUX 電圧は 2.5V のみです。 しかし、Spartan-3A FPGA の VCCAUX 電圧は 2.5V また

は 3.3V にできます。 Spartan-3AN FPGA では、 3.3V の VCCAUX 電圧が必要です。

注意 : Spartan-3A/3AN/3A DSP の VCCAUX 電圧が 3.3V のと き、これらのデバイス とほかの

ザイ リ ンクス FPGA を一緒に使用する複数 FPGA コンフ ィギュレーシ ョ ンでは、共通 DONE ノードの電圧の互換性を確認して ください。

図 2-1 : DONE および INIT_B によるデイジー チェーンまたはブロードサイド コンフ ィギュレーシ ョ ンの同期化

INIT_B

DONE

FPGA

0ΩINIT_B

DONE

FPGA

0ΩINIT_B

DONE

FPGA

330Ω

VCCO_2

4.7k

Ω

VCCAUX

Common INIT_B nodesynchronizes initialization (clearing configuration memory)between different array sizes

Common DONE node synchronizes the Startup sequence between different FPGAs

0Ω resistors provide a means to isolate an individual FPGA to easily debug a configuration issue UG332_c2_02_111406

Page 52: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

54 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

FPGA のプログラムまたはリセッ ト : PROG_BPROG_B ピンは FPGA の非同期制御入力ピンです。 Low の場合、PROG_B ピンは FPGA を リセッ

ト し、 コンフ ィギュレーシ ョ ン メモ リ を初期化します。 リ リースされる と、 PROG_B はコンフ ィ

ギュレーシ ョ ン プロセスを開始します。 初期化プロセスは、PROG_B が High に戻るまで開始しま

せん。 PROG_B を一定時間以上 Low にアサートする と、 コンフ ィギュレーシ ョ ン プロセスを遅延

させます。 さまざまな PROG_B 機能の概要を表 2-7 に示します。

電源投入時、またはマスタ リセッ ト後に、「コンフ ィギュレーシ ョ ン中のプルアップ抵抗」 制御入力

に関わらず、 PROG_B には常に VCCAUX へのプルアップ抵抗が付いています。 コンフ ィギュレー

シ ョ ン後、 BitGen の ProgPin オプシ ョ ンは、 プルアップ抵抗をアクティブのままにするかを決定し

ます。 デフォルトでは、 ProgPin オプシ ョ ンはプルアップ抵抗を保持します。

コンフィ ギュレーショ ン後、PROG_B 入力を High に保持します。 PROG_B の Low パルスが 500ns以上 (Spartan-3 FPGA では 300ns) 続く と コンフィ ギュレーショ ン プロセスを再実行します。

PROG_B ピンの機能は、 すべての Spartan-3 ジェネレーシ ョ ン FPGA で共通です。

コンフ ィギュレーシ ョ ン クロック : CCLKコンフ ィギュレーシ ョ ン ク ロ ッ ク 信号 CCLK は、コンフ ィギュレーシ ョ ン データの読み出しまた

は書き込みを同期化します。 マスタ モードでは、CCLK は FPGA の内部オシレータから生成されま

す。 スレーブ モードでは、 CCLK はコンフ ィギュレーシ ョ ン データを供給する外部コンフ ィギュ

レーシ ョ ン デバイスに駆動される入力ピンです。

Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リ間における CCLK の相違

表 2-8 に、 Spartan-3 ジェネレーシ ョ ン FPGA 間における主要な相違点をまとめます。 Spartan-3FPGA では、 CCLK ピンは専用の機能を持ちますが、ほかのファ ミ リではコンフ ィギュレーシ ョ ン

完了後、 ユーザーがプログラム可能な I/O ピンと して使用できます。

スレーブ シ リ アルおよびスレーブ パラレル コンフ ィギュレーシ ョ ン モードでは、CCLK ピンは入

力のみのピンです。

表 2-7 : PROG_B の動作

PROG_B 入力 反応

電源投入内部 「POR (パワー オン リセッ ト )」 回路が自動的に FPGA コンフ ィ

ギュレーシ ョ ン プロセスを初期化

一時的なLow パルス (再) コンフ ィギュレーシ ョ ン プロセスを初期化して完了するまで続行

一定時間以上 Low (再) コンフ ィギュレーシ ョ ン プロセスを初期化し、 「コンフ ィギュレー

シ ョ ン メモ リの初期化」 ステップのプロセスを停止。 PROG_B が Highに戻るまで、 コンフ ィギュレーシ ョ ンは停止

1コンフ ィギュレーシ ョ ン プロセスが開始した場合、 完了するまで続行。

コンフ ィギュレーシ ョ ン プロセスが完了した場合、 FPGA はコンフ ィ

ギュレーシ ョ ンされた状態を保つ

Page 53: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 55UG332 (v1.4) 2008 年 7 月 1 日

一般的なコンフ ィギュレーシ ョ ン制御ピン

マスタ コンフ ィギュレーシ ョ ン モードでは、 FPGA は CCLK ク ロ ッ ク ソースを内部生成します。

図 2-2で示すよ うに、Spartan-3/Spartan-3E FPGA ファ ミ リ と、Spartan-3A/3AN/3A DSP ファ ミ リ

では、 CCLK 回路にわずかな違いがあ り ます。

図 2-2a で示すよ うに、Spartan-3/3E FPGA では、内部生成された CCLK 信号を出力に駆動します。

FPGA に接続されたコンフ ィギュレーシ ョ ン PROM と同様に、 FPGA の内部コンフ ィギュレー

シ ョ ン ロジッ クが FPGA ピンで CCLK 信号によってクロ ッ ク されるこ とによ り、 インターフェイ

ス タイ ミ ングが単純化されます。 しかし、CCLK ピンのスイ ッチ ノ イズは、FPGA に影響を与える

可能性があ り ます。 したがって、 シグナル インテグ リティの分析では、 CCLK を完全な双方向 I/Oピンと して扱います。 FPGA はこのピンの値で内部ロジッ クをクロ ッ ク します。 詳細は、 56 ページ

の 「CCLK デザインの考察」 を参照して ください。

図 2-2b で示すよ うに、 マスタ コンフ ィギュレーシ ョ ン モードの Spartan-3A/3AN/3A DSP FPGAでは、CCLK は必ず出力となり ます。 FPGA の内部コンフ ィギュレーシ ョ ン ロジッ クは内部生成さ

れた CCLK 信号でクロ ッ ク され、 外部スイ ッチ ノ イズの影響は受けにく くなっています。 CCLKボード ト レースのシグナル インテグ リティが良いと、 デザインは良くな り ます。

表 2-8 : Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リ間における CCLK の相違

Spartan-3 Spartan-3E Spartan-3A/3ANSpartan-3A DSP

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

CCLK ピンは完全なユーザー I/Oになる

いいえ

専用ピンはい はい

CCLK ピンの電源電圧 VCCAUX VCCO_2 VCCO_2

コ ン フ ィ ギ ュ レーシ ョ ン後の

CCLK ピンの動作

BitGen の CclkPin オプショ ンで制御

されたプルアップ

または

プルダウン抵抗

ユーザー I/O ユーザー I/O

マスタ モード コンフ ィギュレー

シ ョ ン中の CCLK ピンの方向性 I/O I/O

出力のみのピン (シグナル インテグ

リ ティ の向上に

対応)

マスタ モード コンフ ィギュレー

シ ョ ン中の CCLK 周波数 オプ

シ ョ ン (ConfigRate)3、 6、 12、 25、

501、 3、 6、 12、

25、 50

1、 3、 6、 7、 8、10、 12、 13、 17、22、 25、 27、 33、

44、 50、 100

CCLK 周波数の変動 ConfigRate 周波数の ±50%

特性評価済み。 データシート参照

特性評価済み。 データシート参照

Page 54: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

56 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

CCLK デザインの考察

FPGA コンフ ィギュレーシ ョ ン プロセスは CCLK コンフ ィギュレーシ ョ ン ク ロ ッ クによ り制御さ

れます。 したがって、CCLK のシグナル インテグ リティは正常なコンフ ィギュレーシ ョ ンを確実に

するために重要です。 リ ンギングまたは反射によって CCLK シグナル インテグ リ ティが低下する

と、 コンフ ィギュレーシ ョ ンの失敗を招く恐れがあるダブル ク ロ ッキングを導く要因となり ます。

CCLK 周波数が比較的低い一方で、 FPGA の出力エッジ レートは高速です。 したがって、 PCB (プリ ン ト基板) 上の CCLK シグナル インテグ リティには特に注意してください。 IBIS でのシグナル

インテグ リティのシ ミ ュレーシ ョ ンを推奨します。 JTAG モード以外のコンフ ィギュレーシ ョ ン

モードでは、シグナル インテグ リティは FPGA の CCLK ピンを含む各 CCLK ト レースの接続終端

で考慮する必要があ り ます。

この分析は、 FPGA が CCLK ピンをコンフ ィギュレーシ ョ ン後にユーザー I/O と して再利用する

Spartan-3E FPGA では特に重要です。 このよ うな場合、関連のないデバイスが CCLK に接続してい

る と、 ト レース長が長くな り、 信号の接続先が増加します。

マスタ シリ アル、 SPI、および BPI コンフィ ギュレーショ ン モード では、 FPGA が CCLK ピンを駆動

し、シグナル インテグリ ティ の分析では、CCLK を完全な双方向 I/O ピンと して扱う 必要があり ます。

BPI モード では、CCLK は複数 FPGA のデイジー チェーンに含まれるほかのデバイスに接続されるだ

けですが、 FPGA ピンでのスイッチング ノ イズは不正なクロッキングを招く 場合があり ます。

適なシグナル インテグリ ティ は、 次に示す基本的な PCB ガイド ラインに従う こと で実現できます。

• 50Ω の制御されたインピーダンスの伝送ラインと して CCLK 信号を配線する

• CCLK 信号を分岐させずに配線し、 スタートポロジは使用しない

• 必要な場合は 12.5mm (0.5 インチ) 未満のスタブを使用する

• CCLK 伝送ラインの 後を終端にする

次に示すクロ ッ ク終端の例では並列終端 (デブナン) を用いていますが、 ほかの手法でも可能です。

並列終端では、 抵抗の値はボード ト レースの特性インピーダンスの 2 倍です。 例では、 50Ω の ト

レース インピーダンスを想定しています。 並列終端の欠点は、 常に電流パスがあるこ とです。 ソー

ス と終端で直列終端を使用する と消費電力を 小限に抑制できますが、 特定のアプリ ケーシ ョ ンで

は、 IBIS シ ミ ュレーシ ョ ンを実施して抵抗値を 適化します。

図 2-2 : Spartan-3/3E および Spartan-3A/3AN/3A DSP FPGA のマスタ コンフィ ギュレーショ ン モード の違い

Internal Oscillator

Configuration Logic

CCLKConfigRate

Spartan-3/-3E FPGA

LVCMOSInternal

Oscillator

Configuration Logic

CCLK

ConfigRate

Spartan-3A/3AN/3A DSP FPGA

LVCMOS

a) Spartan-3 and Spartan-3E FPGAs b) Spartan-3A/3AN/3A DSPUG332_c2_03_040107 FPGAs

Page 55: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 57UG332 (v1.4) 2008 年 7 月 1 日

一般的なコンフ ィギュレーシ ョ ン制御ピン

図 2-3 は、 マスタ FPGA からの CCLK 出力 が、 コンフ ィギュレーシ ョ ン PROM またはスレーブ

FPGA で、 1 つのクロ ッ ク入力レシーバを駆動する基本的な Point-to-Point ト ポロジです。

注意 : Spartan-3E および Spartan-3A/3AN/3A DSP FPGA では、CCLK に有効なロジッ クレベ

ルを必ず設定して ください。 設定しない場合、 クロ ッ ク ト レースがフロート してシステム内の

ほかのデバイスが不正にクロ ッ ク されます。

図 2-4 は、 マスタ FPGA からの CCLK 出力が 2 つ以上のクロ ッ ク入力レシーバを駆動する、 基本

的なマルチド ロ ップ フライバイ ト ポロジです。 すべてのクロ ッ ク スタブの ト レース長には制約が

あ り ます。

図 2-3 : Point-to-Point : マスタ CCLK 出力で 1 つのクロックを駆動

図 2-4 : マルチドロップ : マスタ CCLK 出力で 2 つのクロック 入力を駆動

UG332_c2_05_112206

Z0 (50Ω)

Z0 (50Ω

)

2 x Z0 (100Ω)

2 x Z0 (100Ω)

VCCO_2

CCLK

Master FPGA PROM Clock InputSlave FPGA CCLK Input

Z0 (50Ω)

Clock Input 2

Z0 (50 Ω

)

Clock Input 1

Z0 (50 Ω

)

2 x Z0 (100Ω)

2 x Z0 (100Ω)

VCCO_2

Z0 (50Ω)

Length < 12.5 m

m

UG332_c2_06_112206

CCLK

Master FPGA

Stu

b:

Page 56: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

58 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

図 2-5 は、 マスタ FPGA CCKL 伝送ラインが複数のクロッ ク レシーバ入力に分岐しているスター トポロジです。 分岐点では、 インピーダンスの不連続が生じるため、 このトポロジは推奨していません。

ConfigRate : CCLK の BitGen オプシ ョ ン

マスタ コンフィ ギュレーショ ン モード では、 BitGen の ConfigRate オプショ ンで内部生成された

CCLK オシレータの周波数を設定します。 シリ コン オシレータの特性によって実際の周波数は概算

値であり 、 温度および電圧範囲を 大 50% 超過するまで変動します。 Spartan-3E および Spartan-3A/3AN/3A DSP FPGA では、各 ConfigRate 設定の周波数は特性評価され、データシート に

仕様が記載されています。 電源投入時には、 CCLK は常に も低い周波数から動作を開始します。

ConfigRate オプショ ンを使用し、 オシレータ周波数を表 2-8 に示す値のう ちの 1 つに設定します。

このオプショ ンは、 42 ページの「 ISE ソフト ウェア Project Navigator」、 43 ページの図 1-7 、 手順 7に示す GUI で設定できます。

コンフ ィギュレーシ ョ ン プロセス中に ConfigRate 制御ビッ トが読み込まれるまで、 FPGA は高い

CCLK 周波数では動作を開始しません。

Persist : CCLK を SelectMAP インターフェイスの一部として予約する

デフォルトでは、 コンフ ィギュレーシ ョ ン インターフェイスを保持する BitGen の Persist:Yes オプ

シ ョ ンが設定されていない限り、コンフ ィギュレーシ ョ ン後に CCLK に入力されたすべてのクロ ッ

クは無視されます。 Persist:Yes が設定されている場合は、 コンフ ィギュレーシ ョ ン制御信号によっ

ては、 すべてのクロ ッ クエッジがアクティブ イベン ト となる場合があ り ます。 Spartan-3E および

Spartan-3A/3AN/3A DSP FPGA では、 コンフ ィギュレーシ ョ ン後、 CCLK は全機能を備えたユー

ザー I/O ピンとな り ます。

Spartan-3A/3AN/3A DSP および Spartan-3E FPGA ファ ミ リ

Spartan-3A/3AN/3A DSP および Spartan-3E FPGA ファ ミ リでは、CCKL ピンはコンフ ィギュレー

シ ョ ン中に使用され、 コンフ ィギュレーシ ョ ン完了後、 完全なユーザー I/O とな り ます。

図 2-5 : 推奨されていないスター トポロジ

UG191_c2_07_112206

Z0

ImpedanceDiscontinuity

Z0

Clock Input 1

Z0

Clock Input 2

Clock In

ock Inp

CC

CCLK

Master FPGA

Page 57: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 59UG332 (v1.4) 2008 年 7 月 1 日

一般的なコンフ ィギュレーシ ョ ン制御ピン

CCLK ピンには、 コンフ ィギュレーシ ョ ン中に専用プルアップ抵抗が付いていません。 しかし、

CCLK には、コンフ ィギュレーシ ョ ン中に Spartan-3E の HSWAP ピンまたは Spartan-3A/3AN/3ADSP の PUDC_B ピンで制御された VCCO_2 へのオプシ ョ ンのプルアップ抵抗があ り ます。

CCLK ピンは FPGA アプリ ケーシ ョ ンに使用されていない限り、 High または Low に駆動します。

Spartan-3 FPGA ファ ミ リ

コンフ ィギュレーシ ョ ン中は、CCLK ピンは HSWAP_EN ピンに関わらず、VCCAUX への専用の内

部プルアップ抵抗があ り ます。 コンフ ィギュレーシ ョ ン後は、動作をプログラム可能ですが、CclkPinビッ ト ス ト リームで定義されたとおり、CCLK ピンはデフォルトで VCCAUX に High にプルアップ

されます。

コンフ ィギュレーシ ョ ン インターフェイスを保持する BitGen の Persist:Yes オプシ ョ ンが設定され

ていない限り、 コンフ ィギュレーシ ョ ン後に CCLK に入力されたすべてのクロ ッ クは無視されま

す。 デフォルトでは、 Persist:No です。 Persist:Yes が設定されている場合は、コンフ ィギュレーシ ョ ン

信号によっては、 すべてのクロ ッ クエッジがアクティブ イベン ト となる場合があ り り ます。

コンフ ィギュレーシ ョ ン メモリ、 コンフ ィギュレーシ ョ ン エラーの初期化 : INIT_B

コンフ ィギュレーシ ョ ン中、INIT_B ピンは多目的ピンと して機能します。 電源投入直後、FPGA はINIT_B ピンを Low に駆動し、コンフ ィギュレーシ ョ ン メモ リの初期化が実行中であるこ とを示し

ます。 INIT_B が High に戻る と、 FPGA は M[2:0] モード セレク ト ピンをサンプルし、 コンフ ィ

ギュレーシ ョ ン プロセスを開始します。

コンフィ ギュレーショ ン中に、 INIT_B ピンは、 High ロジッ ク レベルを生成する必要がある、 専用の

内部プルアップ抵抗付きのオープンド レインで双方向の I/O ピンと なり ます。 Spartan-3A/3AN/3ADSP および Spartan-3E FPGA では、INIT_B プルアップ抵抗は VCCO_2 に接続し、Spartan-3 FPGA では、 パッケージの形式によってプルアップ抵抗は VCCO_4 または VCCO_BOTTOM (接続された

VCCO_4 および VCCO_5) に接続します。

複数 FPGA のデイジー チェーンまたはブロードサイ ド コンフ ィギュレーシ ョ ンでは、53 ページの

図 2-1 に示すよ うに、 すべての FPGA の INIT_B ピンを一緒に接続 (wire-AND) します。 コモン

ノードによ り、FPGA がコンフ ィギュレーシ ョ ン開始可能となる前に、デザイン内の FPGA すべて

が確実にそれぞれの初期化を完了するよ うにします。 コモン ノードは、すべての FPGA が正常に初

期化された後でのみ High に遷移します。

初期化の段階終了後もこのピンを外部で Low に保持していると 、コンフィ ギュレーショ ンの開始が遅

れます。 この場合、M[2:0] モード セレク ト ピンがサンプルされる直前のコンフィ ギュレーショ ン手順

で FPGA が停止します。 詳細は 255 ページの「 コンフィ ギュレーショ ンの遅延」 を参照してく ださい。

コンフ ィギュレーシ ョ ン中に INIT_B が Low にアサート される と、 FPGA は CRC エラー (コン

フ ィギュレーシ ョ ン データ エラー ) の発生を示します。 詳細は 311 ページの 「コンフ ィギュレー

シ ョ ン中の CRC チェッ ク」 を参照してください。

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

コンフ ィギュレーシ ョ ンが正常に完了後 (DONE ピンが High の状態になったと き)、 INIT_B ピン

は完全なユーザー I/O ピンと して使用できます。 例外は、 「Spartan-3A/3AN/3A DSP FPGA のコン

フ ィギュレーシ ョ ン後の CRC」 機能がアプリ ケーシ ョ ンで有効になっている と きで、 この場合、

INIT_B はコンフ ィギュレーシ ョ ン後も専用ピンのままです。

コンフ ィギュレーシ ョ ン後に INIT_B ピンが FPGA アプリ ケーシ ョ ンで使用されない場合、このピ

ンをアクティブに High または Low に駆動します。 未設定の場合は、ほかの未使用ピンと同様に、デ

Page 58: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

60 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

フォルトで内部プルダウン抵抗付きの入力と して設定されます。 FPGA ボードが INIT_B ピンの外

部プルアップ抵抗を使用する場合、 プルアップおよびプルアップ抵抗が存在するため、 未使用ピン

は中間値にフロート します。 未使用ピンのデフォルト コンフ ィギュレーシ ョ ンを変更するには、

BitGen の UnusedPin オプシ ョ ン設定を変更します。

BitGen の Persist:Yes オプシ ョ ンが設定されている場合、コンフ ィギュレーシ ョ ン後に INIT_B は予

約されます。

Spartan-3A/3AN/3A DSP FPGA のコンフ ィギュレーシ ョ ン後の CRCSpartan-3A FPGA を使用する場合で、 コンフ ィギュレーシ ョ ン後の CRC 機能を用いる と き、

INIT_B ピンは専用ピンになり、通常の FPGA 動作中における CRC の結果の違いを通知します。 詳細は、 312 ページの 「コンフ ィギュレーシ ョ ン後の CRC (Spartan-3A/3AN/3A DSP のみ)」 を参照

して ください。

Spartan-3A/3AN/3A DSP および Spartan-3E FPGA ファ ミ リ

INIT_B は I/O バンク 2 に位置し、 出力電圧は VCCO_2 で決定されます。

Spartan-3 FPGA ファ ミ リ

INIT_B は I/O バンク 4 に位置し、 パッケージ形式によ り、 出力電圧は VCCO_4 または

VCCO_BOTTOM で決定されます。

コンフ ィギュレーシ ョ ン中のプルアップ抵抗

FPGA のコンフィ ギュレーショ ン制御ピンには、 コンフィ ギュレーショ ン プロセス中にアクティ ブに

なる専用の内部プルアップ抵抗があり ます。 コンフィ ギュレーショ ン中にほかの I/O または入力のみ

のピンにはすべて、 別の制御入力で制御されたオプショ ンのプルアップ抵抗が付きます。 表 2-12 で示

すと おり 、 制御入力の名前は Spartan-3 ジェネレーショ ン ファ ミ リ によって異なり ます。

コンフ ィギュレーシ ョ ン中に専用プルアップ抵抗付きのピン

表 2-9 に、すべての Spartan-3 ジェネレーシ ョ ン FPGA で、 コンフ ィギュレーシ ョ ン中に専用の内

部プルアップ抵抗が付く コンフ ィギュレーシ ョ ン制御ピンを示します。 また、 この表に抵抗が接続

する供給レールも示します。 専用のコンフ ィギュレーシ ョ ン ピンには、 別の BitGen 設定オプシ ョ

ンがあ り、 コンフ ィギュレーシ ョ ン後の動作を制御します。

Page 59: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 61UG332 (v1.4) 2008 年 7 月 1 日

一般的なコンフ ィギュレーシ ョ ン制御ピン

48 ページの表 2-2 でハイライ ト表示されているよ うに、Spartan-3A/3AN/3A DSP FPGA ファ ミ リ

には、表 2-10 に示す数本の専用内部プルアップレジスタが追加されています。 Spartan-3E FPGA では、これらのピンには専用内部プルアップ抵抗はあ り ませんが、HSWAP = 0 の場合に制御されるオ

プシ ョ ンのプルアップ抵抗があ り ます。

表 2-9 : コンフ ィギュレーシ ョ ン中に専用プルアップ抵抗が付く ピン (すべての Spartan-3 ジェネ

レーシ ョ ン FPGA)

ピン名 プルアップ抵抗供給レール コンフ ィギュレーシ ョ ン後の制御

PROG_B VCCAUX ProgPin BitGen 設定

DONE VCCAUX DonePin および DriveDone BitGen 設定

コンフ ィギュレー

シ ョ ン制御入力中

プルアップ

HSWAP、PUDC_B、 または

HSWAP_EN (表 2-12 参照)

VCCO_0

Spartan-3E および Spartan-3A/3AN/3A DSPFPGA : コンフィギュレーション後はユーザー

I/O。 FPGA アプリケーショ ンで制御

Spartan-3 FPGA : HswapenPin BitGen 設定で

制御

INIT_B

Spartan-3E/3A/3AN/ Spartan-3A DSP FPGA :

VCCO_2

Spartan-3 FPGA :VCCO_4 または

VCCO_BOTTOM

コンフ ィギュレーシ ョ ン後はユーザー I/O。

FPGA アプリ ケーシ ョ ンで制御

TDI VCCAUX TdiPin BitGen 設定

TMS VCCAUX TmsPin BitGen 設定

TCK VCCAUX TckPin BitGen 設定

TDO VCCAUX TdoPin BitGen 設定

表 2-10 : コンフ ィギュレーシ ョ ン中に専用プルアップ抵抗が付く ピン (Spartan-3A/3AN/3A DSP FPGA ファ ミ リのみ)

ピン名プルアップ抵抗

供給レールコンフ ィギュレーシ ョ ン後の制御

M[2:0] VCCO_2 コンフ ィギュレーシ ョ ン後はユーザー I/O。 FPGA アプリ ケー

シ ョ ンで制御

VS[2:0] VCCO_2

マスタ SPI モードで M[2:0]=<0:0:1> (Spartan-3AN FPGA では内部マスタ SPI モードで M[2:0]=<0:1:1>) の場合のみアク

ティブになるプルアップ抵抗。 コンフ ィギュレーシ ョ ン後は

ユーザー I/O。 FPGA アプリ ケーシ ョ ンで制御

Page 60: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

62 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

Spartan-3 FPGA ファ ミ リは、表 2-11 に示す専用のコンフ ィギュレーシ ョ ン ピンを使用します。 コンフ ィギュレーシ ョ ン後の動作は、 ビッ ト ス ト リームの設定で制御されます。

コンフ ィギュレーシ ョ ン中にオプシ ョ ンのプルアップ抵抗付きのピン

選択したコンフ ィギュレーシ ョ ン モードでアクティブに使用されないすべてのユーザー I/O ピン、

入力専用のピン、 多目的ピンは、 コンフ ィギュレーシ ョ ン プロセス中はハイ インピーダンス (フローティング、 ト ラ イステート、Hi-Z) です。 これらのピンは表 2-17 に灰色のセルで表示してあ り

ます。

制御入力は、 すべてのユーザー I/O ピン、 入力専用のピン、 および多目的ピンに電源供給レールへ

のプルアップ抵抗があるかど うかを決定します。 制御入力の名前は表 2-12 に示すとおり、 FPGAファ ミ リによって異なり ますが、機能は同じです。 入力制御ピンが Low の場合、電源投入時からコ

ンフ ィギュレーシ ョ ン中を通してアクティブな内部プルアップ抵抗が各ピンに付いています。 モー

ド ピンが読み込まれる と、残りのコンフ ィギュレーシ ョ ン プロセスの間、一部の多目的ピンがコン

フ ィギュレーシ ョ ン ピンと しての機能を果たします。 コンフ ィギュレーシ ョ ン後、プルアップおよ

びプルダウン抵抗は、PULLUP または PULLDOWN プリ ミ ティブをインスタンシエートするか、特

定のピンに同様の名前を付けた制約を適用するこ とで、 FPGA アプリ ケーシ ョ ンで使用可能となり

ます。

制御ピンにはコ ンフ ィ ギ ュ レーシ ョ ン中に有効になるプルア ッ プ抵抗があ り ます。 しかし、

VCCO_0 電源電圧はプルアップ抵抗がアクティブになる前に適用されなければなり ません。

VCCO_2 電源供給後に VCCO_0 電源が立ち上がった場合、 制御入力ピンをフロートにせず、 必要

なロジッ ク レベルに外部で接続します。 Spartan-3E のステップ 0 シ リ コンでは、HSWAP の内部プ

ルアップを使用している場合、 VCCINT を VCCAUX の前に適用する必要があ り ます。

表 2-11 : コンフ ィギュレーシ ョ ン中に専用プルアップ抵抗が付く ピン (Spartan-3 FPGA ファ ミ

リのみ)

ピン名プルアップ抵抗

供給レールコンフ ィギュレーシ ョ ン後の制御

M2 VCCAUX M2Pin BitGen 設定

M1 VCCAUX M1Pin BitGen 設定

M0 VCCAUX M0Pin BitGen 設定

CCLK VCCAUX CclkPin BitGen 設定

表 2-12 : コンフ ィギュレーシ ョ ン制御入力中のプルアップ抵抗

FPGA ファ ミ リ ピン名 機能

Spartan-3A/3AN/3A DSP FPGA PUDC_B 0 : コンフ ィギュレーシ ョ ン中に有効にされたプル

アップ抵抗

1 : コンフ ィギュレーシ ョ ン中にプルアップ抵抗な

し。 コンフ ィギュレーシ ョ ン プロセス中にアク

ティブではないピンはハイ インピーダンスにフ

ロート

Spartan-3E FPGA HSWAP

Spartan-3 FPGA HSWAP_EN

Page 61: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 63UG332 (v1.4) 2008 年 7 月 1 日

一般的なコンフ ィギュレーシ ョ ン制御ピン

FPGA プルアップ抵抗値

専用およびオプシ ョ ンのプルアップ抵抗値は、 それぞれの Spartan-3 ジェネレーシ ョ ン データシー

トに電流と して IPU のシンボルで示されています。 表 2-13 に示す等価抵抗値は参照用です。

Spartan-3 FPGA ファ ミ リのプルアップ抵抗は、 ほかのファ ミ リ よ り強力です。

注意 : Spartan-3 FPGA のプルアップ抵抗は、 特に VCCO 電圧が高い場合は強力です。

表 2-13 : Spartan-3 ジェネレーシ ョ ン ファ ミ リのプルアップ抵抗の範囲

電圧範囲Spartan-3

FPGASpartan-3E FPGA

Spartan-3A/3ANSpartan-3A DSP

FPGA単位

VCCAUX または VCCO = 3.0 ~ 3.6V5.1 ~ 23.9

kΩVCCO = 3.0 ~ 3.45V 1.27 ~ 4.11 2.4 ~ 10.8

VCCAUX またはVCCO = 2.3 ~ 2.7V 1.15 ~ 3.25 2.7 ~ 11.8 6.2 ~ 33.1

VCCO = 1.7 ~ 1.9V 2.45 ~ 9.10 4.3 ~ 20.2 8.4 ~ 52.6

表 2-14 : コンフ ィギュレーシ ョ ン中に入力値を決定する外部プルアップ/プルダウン抵抗の推奨値

PUDC_B、 HSWAP、

または HSWAP_EN プルアップ/プルダウン I/O 規格Spartan-3

FPGASpartan-3E

FPGA

Spartan-3A/3ANSpartan-3A DSP

FPGA

= 0(コンフィギュレー

ショ ン中に専用プル

アップ抵抗があるすべ

てのピンにも適用 60 ページの 「コン

フィギュレーショ ン中

に専用プルアップ抵抗

付きのピン」 参照)

プルアップ すべてプルアップ不要。 内部プルアップ抵抗は有効。

抵抗の範囲については表 2-13 参照

プルダウン

( 大 IRPU 電流を超越

し、 VIL を保証するた

めに必要)

LVCMOS33LVTTL

≤ 330Ω ≤ 620Ω ≤ 1.1kΩ

LVCMOS25 ≤ 470Ω ≤ 820Ω ≤ 1.8kΩ

LVCMOS18 ≤ 510Ω ≤ 820Ω ≤ 3.3kΩ

LVCMOS15 ≤ 820Ω ≤ 1.2kΩ ≤ 5.4kΩ

LVCMOS12 ≤ 1.5kΩ ≤ 1.5kΩ ≤ 9.6kΩ

Page 62: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

64 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

= 1(コンフ ィギュレー

シ ョ ン中にオプシ ョ

ンのプルアップ抵抗

は無効。 コンフ ィギュ

レーシ ョ ン中に専用

のプルアップ抵抗が

あるピンには適用さ

れない)

プルアップ

(1 つの負荷、 大 IL リーク電流を超越し、

VIH を保証するため

に必要)

LVCMOS33LVTTL ≤ 40kΩ ≤ 100kΩ

LVCMOS25 ≤ 60kΩ

LVCMOS18 ≤ 37kΩ

LVCMOS15 ≤ 28kΩ

LVCMOS12 ≤ 38kΩ

プルダウン

(1 つの負荷、 大 IL リーク電流を超越し、

VIL を保証するために

必要)

LVCMOS33LVTTL ≤ 32kΩ ≤ 80kΩ

LVCMOS25 ≤ 70kΩ

LVCMOS18≤ 38kΩ

LVCMOS15

LVCMOS12 ≤ 59kΩ

表 2-14 : コンフ ィギュレーシ ョ ン中に入力値を決定する外部プルアップ/プルダウン抵抗の推奨値 (続き)

PUDC_B、 HSWAP、

または HSWAP_EN プルアップ/プルダウン I/O 規格Spartan-3

FPGASpartan-3E

FPGA

Spartan-3A/3ANSpartan-3A DSP

FPGA

Page 63: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 65UG332 (v1.4) 2008 年 7 月 1 日

ピンの説明

ピンの説明

表 2-15 に、コンフ ィギュレーシ ョ ン プロセス中に使用されるさまざまなピンを示し、コンフ ィギュ

レーシ ョ ン モード、 入力かまたは出力か、 ピンの概要を述べます。 また、 コンフ ィギュレーシ ョ ン

後のピンの用途についても説明します。

表 2-15 : Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン ピンと関連するモードおよび機能

ピン名

コンフ ィギュ

レーシ ョ ン モード

入力/出力 説明コンフ ィギュレー

シ ョ ン中

コンフ ィギュレー

シ ョ ン後

HSWAPまたは

PUDC_Bまたは

HSWAP_EN(FPGA ファ ミ

リに依存)

すべて 入力 ユーザー I/O プルアップ制

御 。 コンフ ィギュレーシ ョ

ン中 Low の場合は、各 I/Oバンクの VCCO 入力への、

すべての I/O ピンのプル

アップ抵抗を有効にする

0 : コンフ ィギュレーシ ョ

ン中プルアップ

1 : プルアップなし

コンフ ィギュレーシ ョ

ン中に有効なロジッ ク

レベルで駆動

Spartan-3 :専用ピン ( コンフ ィギュレーシ ョ ン後は無視 )Spartan-3ESpartan-3ASpartan-3ANSpartan-3A DSP :ユーザー I/O

M[2:0] すべて 入力 モード セレク ト。 表 2-1 で定義されたよ うに FPGAコ ン フ ィ ギ ュ レーシ ョ ン

モードを選択

48 ページの表 2-1 に示すロジッ ク レベル

に あ る 必要 が あ る。

INIT_B が High にな

る とサンプルされる

ユーザー I/O(Spartan-3 FPGA 専用)

DIN シ リ アル モード、 SPI

入力 シリアル データ入力。 (全シ

リアル コンフィギュレー

ション モード向け)

PROM シ リ アル デー

タ出力か ら シ リ アル

データを受信

ユーザー I/O

CCLK マスタ

モード、

SPI、 BPI

出力

(シグナル インテグ リ

ティ解析で

は I/O と し

て扱う )

コンフ ィギュレーシ ョ ン クロ ッ ク。 FPGA の内部オシ

レータで生成。 BitGen の

ConfigRate オプシ ョ ンで周

波数を制御。 54 ページの

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

クロ ッ ク : CCLK」 参照

PROM のクロ ッ ク入

力を駆動

ユーザー I/O(Spartan-3 FPGA 専用)

スレーブ モード

入力 コンフ ィギュレーシ ョ ン

クロ ッ ク入力

入力コンフ ィギュレー

シ ョ ン ク ロ ッ ク

ソース

Page 64: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

66 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

DOUT 出力 シ リアル データ出力 単一の FPGA を用い

たデザ イ ンでは不使

用。DOUT はプルアッ

プで、 アクテ ィブに駆

動しない。 シ リ アル デイジー チェーン コン

フ ィギュレーシ ョ ンで

は、 チェーン内の後続

FPGA の DIN 入力に

接続

ユーザー I/O

INIT_B すべて オープン ド レインの

双方向 I/O

初期化インジケータ。 アク

ティブ Low。 59 ページの

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

メモ リ、 コンフ ィギュレー

シ ョ ン エラーの初期化 :INIT_B」 参照

POR (パワーオン リ

セッ ト ) 後、 または

FPGA がコンフ ィギュ

レーシ ョ ン メモ リ を

初期化中に PROG_Bが Low をパルスする

と、 Low に駆動。 コン

フ ィギュレーシ ョ ン中

に CRC エラーが検出

された場合、 FPGA は再度 INIT_B を Lowに駆動

ユーザー I/O。アプ リ

ケーシ ョ ンで未使用

の場合、 フ ローテ ィ

ン グ を 回避す る た

め、 High または Lowに駆動。 「コ ン フ ィ

ギ ュ レーシ ョ ン後」

の INIT_B 参照

DONE すべて オープン ド レインの

双方向 I/O

FPGA のコンフ ィギュレー

シ ョ ン完了。 コンフ ィギュ

レーシ ョ ン中は Low。

FPGA のコンフ ィギュレー

シ ョ ン が正常に完了後、

High 。 VCCAUX によ り電

源供給。

0 : FPGA コンフ ィギュ

レーシ ョ ン未完了

1 : FPGA コンフ ィギュ

レーシ ョ ン完了

50 ページの 「DONE ピン」

参照

コンフ ィギュレーシ ョ

ン中はア ク テ ィ ブに

Low に駆動

High の場合は FPGAのコンフ ィ ギュレー

シ ョ ンの完了を示す

表 2-15 : Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン ピンと関連するモードおよび機能 (続き)

ピン名

コンフ ィギュ

レーシ ョ ン モード

入力/出力 説明コンフ ィギュレー

シ ョ ン中

コンフ ィギュレー

シ ョ ン後

Page 65: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 67UG332 (v1.4) 2008 年 7 月 1 日

ピンの説明

PROG_B すべて 入力 FPGA のプログラム。 アク

ティブ Low。 500ns 以上

Low にアサート される と、

コンフ ィギュレーシ ョ ン メモ リ を初期化し、 DONE および INIT_B ピンを リセッ

ト し て コ ン フ ィ ギ ュ レー

シ ョ ン プロセスを再実行す

る。 3.3V 出力で外部から駆

動する場合は、 オープン ドレインまたはオープン コレ

ク タ駆動を使用するか、 電

源制限直列抵抗を制限す

る。 54 ページの 「FPGA のプログラムまたは リ セッ ト

: PROG_B」 を参照

コンフ ィギュレーシ ョ

ン中は、 コンフ ィギュ

レーシ ョ ンを開始する

ために High である必

要がある

Low に駆動し、

FPGA の再プログラ

ムのために リ リ ース

する

Spartan-3ESpartan-3A

Spartan-3ANSpartan-3A

DSPFPGA:VS[2:0]

マスタ SPI 入力 変数セレク ト。 FPGA に付

属する SPI フラッシュ

PROM との通信方法を指定

107 ページの表 4-2 に示すロジッ ク レベル

に あ る 必要 が あ る。

INIT_B が High にな

る とサンプルされる

ユーザー I/O

Spartan-3ESpartan-3A

Spartan-3ANSpartan-3A

DSPFPGA:MOSI

マスタ SPI 出力 シ リアル データ出力 FPGA が SPI フラッ

シュ メ モリ に読み出し

コ マ ン ド を 送信し、

PROM のシリ アル

データ入力へのアド レ

ス指定開始

ユーザー I/O

CSO_B マスタ SPI 出力 チップ セレク ト出力。 アク

ティブ LowSPI フラッシュ PROMの Slave Select 入力に

接続。 HSWAP = 1 の場

合、 3.3V への 4.7kΩ のプルアップ抵抗へ接続

する

SPI フラ ッシュを無

効にし、MOSI、DIN、

および CCLK ピンを

再び使用するために

High に駆動する。 オプシ ョ ンで、 このピ

ンと MOSI、DIN、お

よび CCLK ピンを再

利用して、SPI フラ ッ

シュ との通信を継続

する

表 2-15 : Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン ピンと関連するモードおよび機能 (続き)

ピン名

コンフ ィギュ

レーシ ョ ン モード

入力/出力 説明コンフ ィギュレー

シ ョ ン中

コンフ ィギュレー

シ ョ ン後

Page 66: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

68 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

Spartan-3ESpartan-3A

Spartan-3ANSpartan-3A

DSPFPGA:CSI_B

Spartan-3 FPGA :

CS_B

BPI、スレーブ パラレル

入力 チップ セレク ト入力。 アク

ティブ Lowアクティブ Low ユーザー I/O。BitGen

の オ プ シ ョ ン が

Persist:Yes の場合は

SelectMap パラレル

ペリ フェラル イン

ターフェ イ スの一部

になる

RDWR_B BPI、スレーブ パラレル

入力 読み出し /書き込み制御。 アクティブ Low のライ ト イネーブル。 通常読み出し機

能はコンフ ィギュレーシ ョ

ン後、BitGen のオプシ ョ ン

が Persist:Yes の場合にのみ

使用される

コンフ ィギュレーシ ョ

ン中は Low でなけれ

ばならない。 CSI_B がLow の場合、 ロジッ ク

レベルを変更しないこ

ユーザー I/O。BitGenの オ プ シ ョ ン が

Persist:Yes の場合は

SelectMap パラレル

ペリ フェラル イン

ターフェ イ スの一部

になる

Spartan-3ESpartan-3A

Spartan-3ANSpartan-3A

DSPFPGA:LDC0

BPI 出力 PROM チップ イネーブル パラレル PROM チッ

プ セレク ト入力 (CS#)に接続。 コンフ ィギュ

レーシ ョ ン中、 FPGAはこの信号を Low に駆動

ユーザー I/O。 コン

フ ィ ギュレーシ ョ ン

後、 FPGA が PROMにアクセス しない場

合は High に駆動し

て PROM を選択解

除する。 A[23:0]、D[7:0]、LDC[2:1]、および HDC の後で、

ユーザー I/O と して

使用可能

Spartan-3ESpartan-3A

Spartan-3ANSpartan-3A

DSPFPGA:LDC1

BPI 出力 PROM 出力イネーブル パラレル PROM チッ

プ セレク ト出力

(OE#) に接続。 コン

フ ィ ギ ュ レーシ ョ ン

中、 FPGA はこの信号

を Low に駆動

ユーザー I/O

Spartan-3ESpartan-3A

Spartan-3ANSpartan-3A

DSPFPGA:HDC

BPI 出力 PROM ライ ト イネーブル パラレル PROM ライ

ト イネーブル入力

(WE#) に接続。 コン

フ ィ ギ ュ レーシ ョ ン

中、 FPGA は High に駆動

ユーザー I/O

表 2-15 : Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン ピンと関連するモードおよび機能 (続き)

ピン名

コンフ ィギュ

レーシ ョ ン モード

入力/出力 説明コンフ ィギュレー

シ ョ ン中

コンフ ィギュレー

シ ョ ン後

Page 67: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 69UG332 (v1.4) 2008 年 7 月 1 日

ピンの説明

Spartan-3ESpartan-3A

Spartan-3ANSpartan-3A

DSPFPGA:LDC2

BPI 出力 PROM バイ ト モード x8 PROM では使用さ

れない。 x8/x16 データ

幅制御付きの PROMの場合は PROM バイ

ト モード入力

(BYTE#) に接続

ユーザー I/O。 x16モードで x8/x16PROM を使用するに

は、 コ ン フ ィ ギ ュ

レーシ ョ ン後、 Highに駆動

Spartan-3E FPGA

A[23:0]Spartan-3A

Spartan-3ANSpartan-3A

DSPFPGA:

A[25:0]

BPI 出力 パラレル PROM アドレス

出力

PROM アドレス入力

に接続

ユーザー I/O

D[7:0] マスタ パラレル、

BPI、スレーブ パラレル、

SelectMAP

入力 データ入力 FPGA でキャプチャさ

れたデータ ユーザー I/O。BitGenの オ プ シ ョ ン が

Persist:Yes の場合は

SelectMap パラレル

ペリ フェラル イン

ターフェ イ スの一部

になる

Spartan-3/Spartan-3E

FPGA:BUSY

BPI、スレーブ パラレル

(SelectMAP)

出力 FPGA ビジー インジケー

タ。 主に 50MHz 以上で動

作するスレーブ パラレル

イン ターフェ イ スで使用。

Spartan-3A/3AN/3A DSPファ ミ リの DOUT ピンと

同じ機能

BPI モード中には使用

しないが、 アクテ ィブ

に駆動

ユーザー I/O。BitGenの オ プ シ ョ ン が

Persist:Yes の場合は

SelectMap パラレル

ペリ フェラル イン

ターフェ イ スの一部

になる

表 2-15 : Spartan-3 ジェネレーシ ョ ン コンフ ィギュレーシ ョ ン ピンと関連するモードおよび機能 (続き)

ピン名

コンフ ィギュ

レーシ ョ ン モード

入力/出力 説明コンフ ィギュレー

シ ョ ン中

コンフ ィギュレー

シ ョ ン後

Page 68: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

70 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

コンフ ィギュレーシ ョ ン中のピンの動作

表 2-17、 表 2-17、 および表 2-18 に、 Spartan-3 ジェネレーシ ョ ン FPGA のさまざまなピンがコン

フ ィギュレーシ ョ ン中にどのよ うに動作するかを示します。 実際の動作は、 M2、 M1 および M0(M[2:0]) モード セレク ト ピン、 またはオプシ ョ ンのプルアップ抵抗を制御するピン HSWAP、PUDC_B、HSWAP_EN (ピンの名前は Spartan-3 ジェネレーシ ョ ン ファ ミ リによって異なる ) の設

定に依存します。 M[2:0] モード セレク ト ピンはコンフ ィギュレーシ ョ ン中にアクティブかつ借用

されている I/O ピンを指定し、 これらのピンの機能を決定します。 JTAG コンフ ィギュレーシ ョ ン

モードでは、 コンフ ィギュレーシ ョ ンに使用されるユーザー I/O ピンはあ り ません。

専用プルアップ抵抗コラムは、PUDC_B、HSWAP または HSWAP_EN 入力に関わらず、 コンフ ィ

ギュレーシ ョ ン中に常にプルアップ抵抗が有効になっているピンを示します。 コンフ ィギュレー

シ ョ ン後、 これらのピンの動作は、 特定の BitGen オプシ ョ ンまたは FPGA アプリ ケーシ ョ ン自体

によって決定されます。

表 2-17、 表 2-17、 および表 2-18 は、 コンフ ィギュレーシ ョ ン中に借用されるピン、 または専用の

FPGA ピンを示します。 これらのピンは一番上の列に示す FPGA コンフ ィギュレーシ ョ ン モード

別で一覧表示されています。 表の各ピンには、 コンフ ィギュレーシ ョ ン中に電源供給する電源レー

ルも示してあ り ます。 「2」 などの数値は、関連するピンが I/O バンク 2 に位置し、VCCO_2 電源か

ら電源供給されているこ とを示します。 Spartan-3E および Spartan-3A/3AN/3A DSP FPGA には 4つの I/O バンクがあ り、 Spartan-3 FPGA ファ ミ リには 8 つの I/O バンクがあ り ます。

ピンの名前は、 各 Spartan-3 ジェネレーシ ョ ン データシートにあるパッケージ ピン配置表および

フッ トプ リ ン ト図に示す色に対応して色分けされています。 黒色は専用 JTAG ピンを、 黄色は専用

コンフ ィギュレーシ ョ ン ピンを、水色はコンフ ィギュレーシ ョ ン後にユーザー I/O ピンとなる多目

的コンフ ィギュレーシ ョ ン ピンを示します。

Page 69: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 71UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ン中のピンの動作

Spartan-3A/3AN/3A DSP FPGA表 2-16 は、 Spartan-3A/3AN/3A DSP FPGA でコンフ ィギュレーシ ョ ン中に借用されているピン、

またはコンフ ィギュレーシ ョ ン専用ピンを示します。

表 2-16 : Spartan-3A/3AN/3A DSP FPGA : コンフ ィギュレーシ ョ ン中のピンの動作

ピン名

専用

プル

アップ

抵抗

マスタ シリアル

SPI (シリアル

フラッシュ )

内部

マスタ SPI

BPI (パラレル

フラッシュ )JTAG スレーブ

シリアル

スレーブ パラレル

電源/I/O

バンク

IO* (ユーザー I/O)IP* (入力のみ)

–ピン配置

表参照

TDI あ り TDI TDI TDI TDI TDI TDI TDI VCCAUXTMS あ り TMS TMS TMS TMS TMS TMS TMS VCCAUXTCK あ り TCK TCK TCK TCK TCK TCK TCK VCCAUXTDO あ り TDO TDO TDO TDO TDO TDO TDO VCCAUX

PROG_B あ り PROG_B PROG_B PROG_B PROG_B PROG_B PROG_B PROG_B VCCAUXDONE あ り DONE DONE DONE DONE DONE DONE DONE VCCAUX

PUDC_B あ り PUDC_B PUDC_B PUDC_B PUDC_B PUDC_B PUDC_B PUDC_B 0M2 あ り 0 0 0 0 1 1 1 2M1 あ り 0 0 1 1 0 1 1 2M0 あ り 0 1 1 0 1 1 0 2

CCLK – CCLK(出力)

CCLK(出力)

CCLK(出力)

CCLK(入力)

CCLK (入力)

2

INIT_B あ り INIT_B INIT_B INIT_B INIT_B INIT_B INIT_B 2CSO_B – CSO_B CSO_B CSO_B 2DOUT – DOUT DOUT DOUT DOUT DOUT 2

MOSI/CSI_B – MOSI CSI_B CSI_B 2D[7:1] – D[7:1] D[7:1] 2

D0/DIN – DIN DIN D0 DIN D0 2RDWR_B – RDWR_B RDWR_B 2VS[2:0] あ り VS[2:0] VS[2:0] 2A[25:0] – A[25:0] 1LDC2 – LDC2 1LDC1 – LDC1 1LDC0 – LDC0 1HDC – HDC 1

メモ : 1. 灰色のセルは、ピンがコンフ ィギュレーシ ョ ン中にハイ インピーダンス (Hi-Z フローティング) 状態であるこ とを示します。 これらのピン

には、 PUDC_B 入力が Low の場合、 コンフ ィギュレーシ ョ ン中にアクティブな各 VCCO 電源ピンに対するオプシ ョ ンの内部プルアップ抵抗があ り ます。 詳細は 60 ページの 「コンフ ィギュレーシ ョ ン中のプルアップ抵抗」 を参照してください。

2. Spartan-3E の HSWAP ピンおよび Spartan-3A/3AN/3A DSP の PUDC_B ピンの動作は同一で、名前のみが異なり ます。 詳細は 60 ページの 「コンフ ィギュレーシ ョ ン中のプルアップ抵抗」 を参照して ください。

3. 内部マスタ SPI モード、 M[2:0] = <0:1:1> は Spartan-3AN FPGA ファ ミ リでのみ使用できます。 このモードを使用中は、VCCAUX は 3.3V でなければなり ません。

4. スレーブ コンフ ィギュレーシ ョ ン モードでは、 CCLK は常に入力ピンです。 マスタ モードの CCLK は、 Spartan-3E では双方向の I/O ピンと して、 Spartan-3A/3AN/3A DSP FPGA では出力ピンと して扱う必要があ り ます。

5. DOUT 出力は BUSY と示されておらず、 BUSY 機能は Spartan-3A/3AN/3A DSP FPGA では不要です。 しかし、 このピンは、 スレーブ パラレル コンフ ィギュレーシ ョ ン中でも ト グルする可能性があるため、 コンフ ィギュレーシ ョ ン中はユーザー機能に固定しないでください。 Spartan-3A/3AN/3A DSP FPGA では、 BUSY 出力ピンは不要かつ使用されません。 Spartan-3E FPGA とは異な り、 Spartan-3A/3A/3A DSP FPGA では、 これらのデバイスのみでサポート される BPI シ リ アル デイジー チェーンで DOUT ピンを使用します。

Page 70: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

72 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

Spartan-3E FPGA表 2-17 は、Spartan-3E FPGA でコンフ ィギュレーシ ョ ン中に借用されているピン、またはコンフ ィ

ギュレーシ ョ ン専用ピンを示します。

表 2-17 : Spartan-3E FPGA: コンフ ィギュレーシ ョ ン中のピンの動作

ピン名

専用プル

アップ

抵抗

マスタ シリアル

SPI (シリ

アル フラッシュ )

BPI (パラ

レル フラッ

シュ )JTAG スレーブ

シリアル

スレーブ パラレル

電源/I/O

バンク

IO*(ユーザー I/O)IP* (入力のみ)

–ピン配置

表参照

TDI あ り TDI TDI TDI TDI TDI TDI VCCAUXTMS あ り TMS TMS TMS TMS TMS TMS VCCAUXTCK あ り TCK TCK TCK TCK TCK TCK VCCAUXTDO あ り TDO TDO TDO TDO TDO TDO VCCAUX

PROG_B あ り PROG_B PROG_B PROG_B PROG_B PROG_B PROG_B VCCAUXDONE あ り DONE DONE DONE DONE DONE DONE VCCAUX

HSWAP あ り HSWAP HSWAP HSWAP HSWAP HSWAP HSWAP 0M2 – 0 0 0 1 1 1 2M1 – 0 0 1 0 1 1 2M0 – 0 1 0 = Up

1 = Down1 1 0 2

CCLK–

CCLK(I/O)

CCLK(I/O)

CCLK(I/O)

CCLK(入力)

CCLK (入力)

2

INIT_B あ り INIT_B INIT_B INIT_B INIT_B INIT_B 2CSO_B – CSO_B CSO_B CSO_B 2

DOUT/BUSY – DOUT DOUT BUSY DOUT BUSY 2MOSI/CSI_B – MOSI CSI_B CSI_B 2

D[7:1] – D[7:1] D[7:1] 2D0/DIN – DIN DIN D0 DIN D0 2

RDWR_B – RDWR_B RDWR_B 2VS[2:0] – VS[2:0] (メモ 4) 2A[23:17] – (メモ 4) A[23:17] 2A[16:0] – A[16:0] 1LDC2 – LDC2 1LDC1 – LDC1 1LDC0 – LDC0 1HDC – HDC 1

メモ : 1. 灰色のセルは、 ピンがコンフ ィギュレーシ ョ ン中にハイ インピーダンス (Hi-Z フローティング) 状態であるこ とを示します。 これらのピ

ンには、 HSWAP 入力が Low の場合、 コンフ ィギュレーシ ョ ン中にアクティブな各 VCCO 電源ピンに対するオプシ ョ ンの内部プルアップ抵抗があ り ます。 詳細は、 60 ページの 「コンフ ィギュレーシ ョ ン中のプルアップ抵抗」 を参照して ください。

2. Spartan-3E の HSWAP ピンおよび Spartan-3A/3AN/3A DSP の PUDC_B ピンの動作は同一で、名前のみ異なり ます。 詳細は、60 ページの 「コンフ ィギュレーシ ョ ン中のプルアップ抵抗」 を参照してください。

3. スレーブ コンフ ィギュレーシ ョ ン モードでは、 CCLK は常に入力ピンです。 マスタ モードの CCLK は、 Spartan-3E FPGA では双方向 I/O ピンと して扱う必要があ り ます。

4. Spartan-3E FPGA で、 マスタ SPI モードで使用される VS[2:0] ピンは、 BPI モードの A[19:17] アドレス ピンと共有されます。

Page 71: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 73UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ン中のデフォルト I/O 規格

Spartan-3 FPGA表 2-18 は、 Spartan-3 FPGA でコンフ ィギュレーシ ョ ン中に借用されているピン、 またはコンフ ィ

ギュレーシ ョ ン専用ピンを示します。 のコンフ ィギュレーシ ョ ンピンを示します。

コンフ ィギュレーシ ョ ン中のデフォルト I/O 規格

コンフ ィギュレーシ ョ ン中 (FPGA の初期電源投入時、 PROG_B が Low にパルスされた後)、 また

はマルチブートによるコンフ ィギュレーシ ョ ン/再コンフ ィギュレーシ ョ ン中、FPGA の I/O ピンは

コンフ ィギュレーシ ョ ンされません。 しかし、 コンフ ィギュレーシ ョ ン プロセスで使用された

FPGA ピンは、 表 2-19 に示す設定にあらかじめ指定されています。

表 2-18 : Spartan-3 FPGA ファ ミ リにおけるコンフ ィギュレーシ ョ ン中のピンの動作

ピン名専用プル

アップ抵抗

マスタ シリアル

マスタ パラレル

JTAG スレーブ シリアル

スレーブ パラレル

電源/I/O

バンク

IO* (ユーザー I/O)IP* (入力のみ)

–ピン配置

表参照

TDI あ り TDI TDI TDI TDI TDI VCCAUXTMS あ り TMS TMS TMS TMS TMS VCCAUXTCK あ り TCK TCK TCK TCK TCK VCCAUXTDO あ り TDO TDO TDO TDO TDO VCCAUX

PROG_B あ り PROG_B PROG_B PROG_B PROG_B PROG_B VCCAUXDONE あ り DONE DONE DONE DONE DONE VCCAUX

HSWAP_EN あ り HSWAP_EN HSWAP_EN HSWAP_EN HSWAP_EN HSWAP_EN VCCAUXM2 あ り 0 0 1 1 1 VCCAUXM1 あ り 0 1 0 1 1 VCCAUXM0 あ り 0 1 1 1 0 VCCAUX

CCLKあ り

CCLK(I/O)

CCLK(I/O)

CCLK(入力)

CCLK (入力)

VCCAUX

INIT_B あ り INIT_B INIT_B INIT_B INIT_B 4CS_B – CS_B CS_B 5

DOUT/BUSY – DOUT BUSY DOUT BUSY 4D[7:4] – D[7:4] D[7:4] 5D[3:1] – D[3:1] D[3:1] 4

D0/DIN – DIN D0 DIN D0 4RDWR_B – RDWR_B RDWR_B 5

メモ : 1. 灰色のセルは、 ピンがコンフ ィギュレーシ ョ ン中にハイ インピーダンス (Hi-Z フローティング) 状態であるこ とを示します。 これらのピ

ンには、 HSWAP 入力が Low の場合、 コンフ ィギュレーシ ョ ン中にアクティブな各 VCCO 電源ピンに対するオプシ ョ ンの内部プルアップ抵抗があ り ます。

2. スレーブ コンフ ィギュレーシ ョ ン モードでは、 CCLK は常に入力ピンです。 マスタ モードの CCLK は、 双方向 I/O ピンと して扱う必要があ り ます。

表 2-19 : コンフ ィギュレーシ ョ ン中のデフォルト I/O 規格設定

ピン I/O 規格 出力駆動 スルー レート

すべて (CCLK を含む) LVCMOS25 8mA Slow

Page 72: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

74 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

デフォルトでは、I/O ピンは LVCMOS25、または 2.5V 低電圧 CMOS に設定されています。 設定は、

専用ピンと多目的ピンの両方に共通です。 ただし、多目的ピンは、関連する I/O バンクに適用された

電圧によって異なる電圧で駆動できます。

専用コンフ ィギュレーシ ョ ン ピン (72 ページの表 2-17 および 73 ページの表 2-18 参照) は常に

VCCAUX によ り電源供給されます。 Spartan-3 および Spartan-3E FPGA ファ ミ リでは、表 2-18 に示

すとおり、VCCAUX は常に 2.5V です。 しかし、Spartan-3A/3A DSP FPGA の VCCAUX 電圧は 2.5Vまたは 3.3V にできます。 Spartan-3AN FPGA では、 VCCAUX は常に 3.3V です。

多目的コンフィギュレーショ ン ピンの出力は、 関連する VCCO 電源レールの電圧を適切に設定するこ

とで、 ほかの電圧で動作します。 Spartan-3A/3A DSP (および内部マスタ SPI モード以外での Spartan-3AN FPGA) と Spartan-3E FPGA では、多目的コンフィギュレーション ピンは VCCO_2 レール、およ

び BPI モードでは VCCO_1 レールで電源供給されます。 Spartan-3 FPGA では、 多目的コンフィギュ

レーショ ン ピンは VCCO_4 レール、 およびパラレル コンフィギュレーショ ン モードでは VCCO_5レールで電源供給されます。 通常は、 コンフィギュレーショ ン電圧を 2.5V または 3.3V に設定します。

VCCO 電源に変更を加えると、 I/O の駆動特性も変わります。 たとえば、 VCCO = 3.3V では、 High に駆

動中の出力 ( IOH) は、およそ 12 ~ 16mA に増加し、Low に駆動中の出力 (IOL) は、8mA のままです。

Spartan-3 および Spartan-3E ファ ミ リでは、 必要な場合は VCCO を 1.8V に設定できます。

Spartan-3A/3AN/3A DSP ファ ミ リでは、 VCCO2T の 低しきい値要件が 2.0V であるため、 コン

フ ィギュレーシ ョ ン中に VCCO_2 を 1.8V にするこ とはできません。 しかし、 コンフ ィギュレー

シ ョ ン後は VCCO2T が適用されないため、DONE ピンが High になった後で VCCO_2 を 1.8V ある

いはそれ以下に減少できます。あるいは、減少できます。VCCO = 1.8V では、High で駆動中の出力

( IOH ) は、 およそ 6 ~ 8mA にわずかに減少し、 Low に駆動中の出力 (IOL) は、 8mA のままです。 出力電圧は VCCO レベルによって決定され、 LVCOMOS18 では 1.8V、 LVCMOS25 では 2.5V、

LVCMOS33 では 3.3V となり ます。

表 2-20 : サポート されたコンフ ィギュレーシ ョ ン インターフェイスの電圧

FPGA ファ ミ リ

専用ピン 多目的ピン

サポート された VCCAUX 電圧オプシ ョ ン

多目的コンフ ィギュレー

シ ョ ン ピンの

電源レール

サポート されたコンフ ィ

ギュレーシ ョ ン電源電圧

オプシ ョ ン

Spartan-3ASpartan-3A DSP

FPGA

2.5V

3.3VVCCO_2

(場合によ り VCCO_1)

2.5V

3.3VSpartan-3AN(1) 3.3V

Spartan-3E FPGA

2.5VVCCO_2

(場合によ り VCCO_1)

2.5V

3.3V

Spartan-3 FPGA 2.5VVCCO_4

(場合によ り VCCO_5)

2.5V

3.3V

メモ : 1. 内部マスタ SPI モードの Spartan-3AN FPGA では、 多目的ピンを使用しないため、 3.3V の VCCAUX 電源

のみが必要です。 ほかのコンフ ィギュレーシ ョ ン モードでは、 多目的ピンが用いられます。

Page 73: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 75UG332 (v1.4) 2008 年 7 月 1 日

HSWAP、 M[2:0]、 および VS[2:0] ピンのデザインの考察

HSWAP、 M[2:0]、 および VS[2:0] ピンのデザインの考察

Spartan-3E および Spartan-3A/3AN/3A DSP FPGA は、従来の Spartan FPGA ファ ミ リ とは異なり

ます。 ほぼすべての Spartan-3E/3A/3AN/3A DSP 多目的コンフ ィギュレーシ ョ ンピンが、コンフ ィ

ギュレーシ ョ ン完了後、 全機能を備えたユーザー I/O ピンと して使用できます。

HSWAP または PUDC_B ピン、モード セレク ト ピン (M[2:0])、および変数セレク ト ピン (VS[2:0])には、 コンフ ィギュレーシ ョ ン開始時に、有効かつ安定したロジッ ク値が必要です。 VS[2:0] は、マ

スタ SPI コンフ ィギュレーシ ョ ン モードでのみ使用されます。 M[2:0] ピンおよび VS[2:0] ピンの

レベルは、 INIT_B ピンが High に戻ったと きにサンプルされます。 タイ ミ ング例は、図 2-6 を参照

して ください。

HSWAP または PUDC_B ピンは、表 2-20 に示すよ うに、 FPGA のユーザー I/O ピンが、 コンフ ィ

ギュレーシ ョ ン中に関連する VCCO 電源ピンにプルアップ抵抗があるかど うかを決定します。

HSWAP または PUDC_B は、 コンフ ィギュレーシ ョ ン開始時に有効である必要があ り、 コンフ ィ

ギュレーシ ョ ン プロセス中にも安定していなければなり ません。

各コンフ ィギュレーシ ョ ン モードの詳細な回路は、 HSWAP または PUDC_B、 M[2:0]、 および

VS[2:0] に必要なロジッ ク値を示しますが、 アプリ ケーシ ョ ンがロジッ クを Low または High の値

を提供する方法は特定していません。 HSWAP または PUDC_B、M[2:0]、および VS[2:0] ピンは専

用ピンであるか、 FPGA アプリ ケーシ ョ ンによって再利用されます。

専用の HSWAP、 PUDC_B、 M[2:0]、 および VS[2:0] ピン

HSWAP または PUDC_B、 M[2:0]、 および VS[2:0] ピンがコンフ ィギュレーシ ョ ン後に FPGA アプ リ ケーシ ョ ンで不要な場合は、 これらのピンを適切なコンフ ィ ギュレーシ ョ ン回路図に示す

VCCO または GND 電源レールに直接接続します。

またはオプシ ョ ンで、 外部プルアップまたはプルダウン抵抗を使用し、 適切なロジッ クレベルに設

定します。 外部抵抗は、 デバッ ク用にロジッ ク レベルを一時的に変更できます。 これらのピンの一

部には、 コンフ ィギュレーシ ョ ン中に専用のプルアップ抵抗があ り ます。 推奨する抵抗の値につい

ては、 63 ページの表 2-14 を参照してください。

不要な電流パスを回避するため、 これらのピンのコンフ ィギュレーシ ョ ン後の動作を必ず定義して

ください。 この例は、 49 ページの 「 小消費電力でのコンフ ィギュレーシ ョ ン後の M[2:0] の定義」

を参照して ください。

コンフ ィギュレーシ ョ ン後の HSWAP、 PUDC_B、 M[2:0]、 および VS[2:0] ピンの再利用

コンフ ィギュレーシ ョ ン後に HSWAP または PUDC_B、 M[2:0]、 および VS[2:0] ピンを再利用す

るには、 プルアップまたはプルダウン抵抗を使用して、 適切なコンフ ィギュレーシ ョ ン回路図に示

すロジッ ク値に設定します。 これらのピンの一部には、 コンフ ィギュレーシ ョ ン中に専用のプル

アップ抵抗があ り ます。 推奨する抵抗の値については 63 ページの表 2-14 を参照して ください。

アプリ ケーシ ョ ンで使用できる も弱い外部プルアップまたはプルダウン抵抗値を使用します。 抵抗にはコンフ ィギュレーシ ョ ン中にロジッ クを Low または High にするかを決定できるだけの強

さが必要です。 しかし、 コンフ ィギュレーシ ョ ン後、 HSWAP または PUDC_B、 M[2:0]、 または

VS[2:0] ピンを駆動する と きに、外部出力ド ライバはプルアップまたはプルダウン抵抗値を克服し、

適切なロジッ ク レベルを生成できるだけの強さが必要です。 たとえば、 560Ω のプルダウン抵抗を

克服するには、 3.3V FPGA I/O ピンで 6mA 以上のド ライバを使用しなければなり ません。

Page 74: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

76 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

Spartan-3E HSWAP の考察

Spartan-3E FPGA では、76 ページの表 2-21 に示すとおり、HSWAP のロジッ クレベルが M[2:0] および VS[2:0] のロジッ ク レベルを決定します。 アプリ ケーシ ョ ンで HSWAP を High にする必要が

ある場合、VCCO_0 への専用の内部プルアップが利用可能ですが、 特に VCCO_0 (HSWAP) の前に

VCCO_2 (コンフ ィギュレーシ ョ ン) が適用される可能性がある際は、3.3 ~ 4.7kΩ の外部抵抗の利

用を推奨します。初期の Spartan-3E シ リ コン (ステップ 0) では、HSWAP に内部プルアップを使用

する場合、 VCCAUX の前に VCCINT を適用する必要があ り ました。

コンフ ィギュレーシ ョ ン中にアプリ ケーシ ョ ンで HSWAP を Low にする場合は、HSWAP ピンは、

GND に接続するか、 GND への適切なサイズの外部プルダウン抵抗を使用して Low にプルダウン

する必要があ り ます。 ピン自体に VCCO_0 への内部プルアップ抵抗があるため、 63 ページの表

2-14 に示すよ うに、 外部レジスタは、 コンフ ィギュレーシ ョ ン中に使用される I/O 規格に応じて、

HSWAP のロジッ クを Low にできるだけの強度が必要です。

HSWAP の定義後、 表 2-21 を使用して M[2:0] および VS[2:0] のロジッ ク値を定義します。

ユーザー I/O になる多目的ピン

コンフ ィギュレーシ ョ ン中に使用されたすべての多目的 I/O ピンは、 コンフ ィギュレーシ ョ ン完了

後、 すべての機能を装備した I/O ピンとな り ます。 図 2-6 に、 いくつかのコンフ ィギュレーシ ョ ン

制御信号の波形を示します。 Spartan-3E および Spartan-3A/3AN/3A DSP FPGA では、M[2:0] モー

ド ピン、 マスタ SPI モードでの VS[2:0] ピン、 CCLK ピン、 および HSWAP または PUDC_B ピンはコンフ ィギュレーシ ョ ン中に使用されます。 コンフ ィギュレーシ ョ ン完了後、 これらはユー

ザー I/O ピンと して使用できます。

CCLK を除くすべての多目的 I/O ピンは、 FPGA スタート アップ シーケンス中の GTS サイクルの

直後に FPGA アプリ ケーシ ョ ンで使用できるよ うにな り ます。 GTS サイクルのタイ ミ ングは

BitGen の GTS_cycle オプシ ョ ンで制御されます。

CCLK コンフ ィギュレーシ ョ ン ク ロ ッ クはすべてのコンフ ィギュレーシ ョ ン シーケンスが完了す

るまでユーザー定義の I/O になり ません。

詳細は、 第 12 章 「イベン トのシーケンス」 を参照してください。

表 2-21 : HSWAP、 M[2:0] および VS[2:0] のプルアップまたはプルダウン抵抗値

HSWAP の値コンフィ ギュレーショ ン

中の I/O プルアップ抵抗

HSWAP、 M[2:0]、 または VS[2:0] のロジック レベルを定義するために必要な抵抗値

High Low

0 有効 関連する VCCO 電源の内部プルアッ

プ抵抗を介して High にプルアップ。

外部プルアップ抵抗は不要

63 ページの表 2-14 に示すよ うに、

GND への適切なサイズのプルダウン

抵抗を使用して Low にプルダウンさ

れる

1 無効 関連する VCCO 電源に対する 3.3 ~4.7kΩ の抵抗を使用して High にプル

アップされる

GND への 3.3 ~4.7kΩ の抵抗を使用

して GND にプルダウンされる

Page 75: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 77UG332 (v1.4) 2008 年 7 月 1 日

HSWAP、 M[2:0]、 および VS[2:0] ピンのデザインの考察

図 2-6 : 多目的ピンがアクテ ィブになるときを示す定型化したコンフ ィギュレーシ ョ ン波形

INIT_B

M[2:0]

VS[2:0]

HSWAP

DONE

CCLK

0 1 2 3 4 5 6 7Startup Sequence

DONE_cycle

GTS_cycle

Setup Startup

Bitstream Loading

VALID

VALID

VALID

User I/O

User I/O

User I/O

User I/O

User I/O

UG332_c2_04_111506

PUDC_B

(Master SPI)

Page 76: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

78 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 2 章 : コンフ ィギュレーシ ョ ン中のコンフ ィギュレーシ ョ ン ピンおよびピンの動作

Page 77: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 79UG332 (v1.4) 2008 年 7 月 1 日

第 3 章

マスタ シリアル モード

マスタ シ リ アル コンフ ィギュレーシ ョ ン モードでは、 目的に合う よ うに設計されたザイ リ ンクス

Platform Flash PROM を利用して、Spartan®-3 ジェネレーシ ョ ン FPGA をコンフ ィギュレーシ ョ ン

します。 マスタ シ リ アルモードでは、 XCFxxS シ リ アル PROM で提供されるシ リ アル インター

フェイス および XCFxxP シ リ アル/パラレル PROM のシ リ アル インターフェイス オプシ ョ ンを使

用します。

ザイ リ ンクス Platform Flash PROM には、 次に述べるシステム上の利点があ り ます。

• 単純なインターフェイス。 コンフ ィギュレーシ ョ ンに使用される FPGA ピン数が 少。

• 各コンフ ィギュレーシ ョ ン ビッ トのコス トが 小。

• いかなるシ リ アル PROM においても、PROM および FPGA 間のビッ ト幅が 大なため、コン

フ ィギュレーシ ョ ン時間が 短。

• 小型のパッケージ フッ トプ リ ン ト 。

• 統合された JTAG インターフェイスを介したインシステムでのプログラムおよび再プログラム。

• ザイ リ ンクス iMPACT プログラ ミ ング ソフ ト ウェアによる完全サポート。

• 複数の I/O および JTAG 電圧範囲によって、 システムの柔軟性が 大。

• 共通パッケージ フッ トプリン ト内での周波数移行が可能 (詳細は、 36 ページの表 1-3 参照)。

• ザイ リ ンクス製品は、 ザイ リ ンクスによ り販売およびサポート され、 製品寿命が長く信頼性が

ある。

マスタ シ リ アル モード (M[2:0] = <0:0:0>) では、 図 3-1、 図 3-2 および図 3-3 に図示するよ うに、

Spartan-3 ジェネレーシ ョ ン FPGA は付属のザイ リ ンクス Platform Flash PROM からコンフ ィギュ

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

これらの図では、 オプシ ョ ンのコンポーネン ト を灰色で示し、 「NO LOAD」 に指定しています。 た

とえば、Bit Gen オプシ ョ ン ProgPin のプルアップは、PROG_B ピンおよび VCCAUX 間にプルアッ

プ抵抗を内部接続しますが、 こ こでは VCCAUX への 4.7kΩ の外部プルアップ抵抗の使用を推奨し

ます。 この外部プルアップ抵抗は既知のプルアップ値を提供し、 内部プルアップのみを使用するよ

り強度が高くな り ます (データシートの仕様では 大 12kΩ)。

FPGA は、内部オシレータから付属の Platform Flash PROM に CCLK 出力を送信します。PlatformFlash PROM はこれに対応して、ビッ ト シ リ アル データを FPGA の DIN 入力に送信し、FPGA はこのデータを CCLK の各立ち上がりエッジで受信します。

すべての FPGA モード セレク ト ピン M[2:0] は、FPGA の INIT_B 出力が 初に High になった時

点でサンプルされ、 そのと きに Low である必要があ り ます。

88 ページの 「デイジー チェーン接続のコンフ ィギュレーシ ョ ン」 に述べるデイジー チェーン接続

のアプリ ケーシ ョ ンでは、 FPGA の DOUT ピンが使用されます。 単体の FPGA を使用したアプリ

ケーシ ョ ンでは、FPGA の DOUT ピンは非アクティブですが、内部抵抗を介して High にプルアッ

プされます。

Page 78: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

80 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 3 章 : マスタ シリアル モード

マスタ シ リ アル インターフェイスは Spartan-3 ジェネレーシ ョ ン FPGA 間でわずかに異なり ます。

• 80 ページの図 3-1 は、FPGA の VCCAUX 電源が 2.5V の場合における、Spartan-3E および Spartan-3A/3A DSP FPGA のマスタ シリアル コンフィギュレーショ ン インターフェイスを示します。

Spartan-3E FPGA は常に VCCAUX = 2.5V です。 Spartan-3A および Spartan-3A DSP FPGA では、

VCCAUX = 2.5V および 3.3V の両方をサポート しています。81 ページの表 3-1 に FPGA/PROM 接続を一覧表示します。

• 82 ページの図 3-2 に、VCCAUX = 3.3V の場合における、Spartan-3A/3AN/3A DSP FPGA のマ

スタ シ リ アル コンフ ィギュレーシ ョ ン インターフェイスを示します。 Spartan-3AN FPGA は常に VCCAUX = 3.3V です。 81 ページの表 3-1 に FPGA/PROM 接続を一覧表示します。

• 83 ページの図 3-3 に、 Spartan-3 FPGA のマスタ シ リ アル コンフ ィギュレーシ ョ ン インター

フェイスを示します。

図 3-1 : Platform Flash PROM を使用したマスタ シリアル モード

(Spartan-3E または Spartan-3A/3A DSP FPGA、 VCCAUX = 2.5V)

TMS

TDO

TCK

TDI

VCCINT

VCCAUX +2.5V

INIT_B

VCCO_2

CCLKDIN

PROG_B DONE

GND

+1.2V

D0

CF

VCCINT

CLK

HSWAP VCCO_0P VCCO_0

Spartan-3E

XCFxxS = +3.3VXCFxxP = +1.8V

CE

M2M1

‘0’‘0’

M0

Serial Master Mode

‘0’OE/RESET

V

GND

TMSTCK

TDI

TDOVCCJ

VCCO V

CEO

Platform FlashXCFxx3

30

4.7k

DOUT

J

NO

LO

AD

NO

LO

AD

PUDC_B

VREF

TMS

TCK

TDO

TDI

N.C.N.C.

J

2.5V3.3V >68

0

JTAGVoltage Resistors

Spartan-3A (2.5V)

UG332_c3_03_040107

+2.5V

PROGRAM

1

14

Xil

inx

Ca

ble

He

ade

r(J

TA

G In

terf

ace)

= Dedicated internal pull-up resistor

V

4.7k

NO

LO

AD

Spartan-3A

Spartan-3A DSP (2.5V)

Spartan-3A

DS

P

Page 79: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 81UG332 (v1.4) 2008 年 7 月 1 日

表 3-1 : Spartan-3E/Spartan-3A/3A DSP FPGA の接続

FPGA ピンPlatform Flash

PROM ピン説明

DIN D0CCLK CLK この ト レースでのシグナル インテグ リティを確認。 詳細は、56

ページの 「CCLK デザインの考察」 を参照

INIT_B OE/RESET FPGA は初期化中に PROM を リセッ ト し、 その後、 コンフ ィ

ギュレーシ ョ ン中に PROM データの送信を有効にする

DONE CE FPGA はコンフィギュレーショ ン中に PROM を有効にする。

DONE 出力は、 FPGA の VCCAUX 電源で電源供給される

PROG_B CF VCCO_2 VCCO Spartan-3E FPGA : 1.8V、 2.5V、 または 3.3V

Spartan-3A/3A DSP FPGA : 2.5V または 3.3V ( VCCO2T のため、

1.8V にはできない。VCCO2T はコンフィギュレーション後には適

用されない)VCCJ PROM JTAG 出力電圧。 3.3V の場合、 FPGA の JTAG 入力を

電流制限抵抗 (>68Ω) で保護

Page 80: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

82 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 3 章 : マスタ シリアル モード

図 3-2 : Platform Flash PROM を使用した マスタ シリアル モード (Spartan-3A/3AN/3A DSP FPGA、 VCCAUX = 3.3V)

TMS

TDO

TCK

TDI

VCCINT

VCCAUX +3.3V

INIT_B

VCCO_2

CCLKDIN

PROG _B DONE

GND

+1.2V

D0

CF

VCCINT

CLK

VCCO_0P VCCO_0

Spartan-3A/3AN (3.3V)

PROGRAM

XCFxxS = +3.3VXCFxxP = +1.8V

CE

M2M1

‘0’‘0’

M0

Serial Master Mode

‘0’OE /RESET

GND

TMS

TCK

TDI

TDO

VCCJ

VCCO

CEO

Platform FlashXCFxx3

30Ω

VCCAUX

4.7k

Ω4.

7kΩ

DOUT

NO

LO

AD

NO

LO

AD

NO

LO

AD

PUDC_B

VREF

TMS

TCK

TDO

TDI

N .C.N .C.

1

14

+3.3V

+3.3V

Xil

inx

Ca

ble

He

ade

r(J

TA

G In

terf

ace)

UG332_c3_15_052107= Dedicated internal pull-up resistor

+3.3V+3.3V

+3.3V

Spartan-3A DSP (3.3V)

Page 81: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 83UG332 (v1.4) 2008 年 7 月 1 日

図 3-3 : Platform Flash PROM を使用したマスタ シリアル モード (Spartan-3 FPGA)UG332_c3_16_112206

+2.5VVCCAUX

PROG_B DONE

GND

VCCO_4 V

Master Serial Mode

V

4.7

TMS

TDO

TCK

TDI

NO

LO

AD

M2M1

‘0’‘0’

M0‘0’

CCLK

INIT_B

VCCINT

+1.2V

P HSWAP_EN

Spartan-3

D0

CF

VCCINT

CLK

XCFxxS = +3.3VXCFxxP = +1.8V

CE

OE/RESET

GND

TMSTCK

TDI

TDOVCCJ

VCCO V

CEO

J

DOUT

DIN

330

Ω

NO

LO

AD

V

Platform FlashXCFxx

4.7

NO

LO

ADVREF

TMS

TCK

TDO

TDI

N.C.N.C.

1

14

J

Xili

nx

Cab

le H

ead

er(J

TA

G I

nter

face

)

PROGRAM

2.5V3.3V 68Ω

JTAGVoltage Resistors

= Dedicated internal pull-up resistor

表 3-2 : Spartan-3 FPGA の Platform Flash PROM への接続

FPGA ピンPlatform Flash

PROM ピン説明

DIN D0

CCLK CLK この ト レースでシグナル インテグ リティを確認。 56 ページ

の「CCLK デザインの考察」 を参照。CCLK 出力は FPGA のVCCAUX 電源で電源供給

INIT_B OE/RESET FPGA は初期化中に PROM を リセッ ト し、その後、コンフ ィ

ギュレーシ ョ ン中に PROM データの送信を有効にする

DONE CE FPGA はコンフィギュレーショ ン中に PROM を有効にする。

DONE 出力は、 FPGA の VCCAUX 電源で電源供給される

PROG_B CF

Page 82: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

84 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 3 章 : マスタ シリアル モード

マスタ シリアル モードの接続

表 3-3 に、 マスタ シ リアル モードのコンフ ィギュレーシ ョ ンで使用されるさまざまな FPGA ピン

を示します。

VCCO_4 VCCO 1.8V、 2.5V、 または 3.3V

VCCJ PROM JTAG 出力電圧。 3.3V の場合、 FPGA の JTAG 入力

を電流制限抵抗 (>68Ω) で保護

表 3-2 : Spartan-3 FPGA の Platform Flash PROM への接続 (続き)

FPGA ピンPlatform Flash

PROM ピン説明

表 3-3 : マスタ シリアル コンフ ィギュレーシ ョ ン モードの接続

ピン名 入力/出力 説明 コンフ ィギュレーシ ョ ン中コンフ ィギュレー

シ ョ ン後

Spartan-3E FPGA :HSWAP

Spartan-3ASpartan-3AN

Spartan-3A DSPFPGA :

PUDC_BSpartan-3 FPGA :

HSWAP_EN

入力

ユーザー I/O プルアップ制御。 コン

フ ィギュレーシ ョ ン中に Low の場

合は、各 I/O バンク VCCO 入力の全

I/O ピンのプルアップ抵抗を有効に

する

0 : コンフ ィギュレーシ ョ ン中は

プルアップ

1 : プルアップなし

コンフ ィ ギュ レーシ ョ ン中に

有効なロジッ ク レベルで駆動

Spartan-3:専用ピン ( コンフ ィ ギ ュ レ ーシ ョ ン後は無視 )Spartan-3ESpartan-3ASpartan-3ANSpartan-3A DSP:ユーザー I/O

M[2:0] 入力

モード セレク ト。 FPGA のコンフ ィ

ギュレーシ ョ ン モードを選択

M2 = 0、 M1 = 0、 M0 = 0。INIT_B が Highになる とサン

プルされる

ユーザー I/O

DIN 入力シ リアル データ入力 PROM の D0 出力からシ リ ア

ル データを受信

ユーザー I/O

CCLK 出力

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

FPGA の内部オシレータで生成。

BitGen の ConfigRate オプシ ョ ンで

周波数を制御。 CCLK PCB ト レー

スが長い、 または複数の接続がある

場合は、シグナル インテグ リティ保

持のため、 この出力を終了

PROM の CLK ク ロ ッ ク入力

を駆動

Spartan-3 :専用ピン

Spartan-3ESpartan-3ASpartan-3ANSpartan-3A DSP :ユーザー I/O。

未 使 用 時 に は

High または Lowに駆動

P

Page 83: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 85UG332 (v1.4) 2008 年 7 月 1 日

電圧の互換性

電圧の互換性

Platform Flash PROMPlatform Flash PROM の VCCINT 電源は、 シ リ アル XCFxxS Platform Flash PROM では 3.3V、 シ

リ アル/パラレル XCFxxP PROM では 1.8V である必要があ り ます。

DOUT 出力

シ リアル データ出力 単一の FPGA を用いたデザイ

ンでは不使用。 DOUT はプル

アップでア クテ ィ ブに駆動し

ない。 シ リ アル デイジー

チェーン コンフ ィギュレー

シ ョ ンでは、チェーン内の後続

FPGA の DIN 入力に接続 (89ページの図 3-4 参照)

ユーザー I/O

INIT_B

オープン ド レイン

の双方向 I/O

初期化インジケータ。 アクティブ

Low。 コンフ ィギュレーシ ョ ン開始

時の メ モ リ 初期化プ ロ セ ス では

Low。 メモ リ初期化の 後で、 モー

ド セレク ト ピンのサンプル時にリ

リース

PROM の OE/RESET 入力に

接続。 FPGA はコンフ ィギュ

レーシ ョ ン開始時に PROM のアドレス カウンタを初期化し、

コンフ ィ ギュ レーシ ョ ン中に

出力可能にする。 PROM は、

PROM が POR (パワー オン リセッ ト ) の状態になるまで、

FPGA を初期化の状態に保持。

コンフ ィ ギュ レーシ ョ ン中に

CRC エラーが検出された場合

には、FPGA は再度 INIT_B をLow に駆動

ユーザー I/O。 ア

プ リ ケーシ ョ ン

で未使用の場合、

フ ロ ーテ ィ ン グ

を回避するため、

High に駆動。 「コ

ン フ ィ ギ ュ レー

シ ョ ン後」 のINIT_B 参照。

DONE

オープン ド レイン

の双方向 I/O

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

了。 コンフィギュレーション中は

Low。 FPGA のコンフィギュレー

ションが正常に完了後、 High になる

PROM のチップ イネーブル

CE 入力に接続。 コンフ ィギュ

レーシ ョ ン中に PROM を有効

にする。 コンフ ィギュレーシ ョ

ン後、 PROM を無効にする

High の場合は

FPGA のコン

フ ィ ギ ュ レ ー

シ ョ ンの正常な

完了を示す

PROG_B 入力

FPGA のプログラム。 アクティブ

Low。 500ns 以上 Low にアサート さ

れる と、PROG_B が High に戻った

後でコンフ ィギュレーシ ョ ン メモ

リ を初期化し、 DONE および

INIT_B ピンを リセッ ト してコン

フ ィギュレーシ ョ ン プロセスを再

実行する

コンフ ィギュレーシ ョ ン中は、

コンフ ィ ギュ レーシ ョ ンを開

始するために High である必要

がある。PROM の CF ピンに接

続する と、JTAG PROM プログ

ラ ミ ング アルゴ リズムが

FPGA を再プログラムできる

Low に駆動し、

FPGA の再プロ

グ ラ ムのために

リ リースする

表 3-3 : マスタ シリアル コンフ ィギュレーシ ョ ン モードの接続 (続き)

ピン名 入力/出力 説明 コンフ ィギュレーシ ョ ン中コンフ ィギュレー

シ ョ ン後

Page 84: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

86 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 3 章 : マスタ シリアル モード

FPGA

VCCAUX が 2.5V の Spartan-3E および Spartan-3A/3A DSP FPGASpartan-3E または Spartan-3A/3A DSP FPGA の VCCO_2 電源入力および Platform Flash PROMの VCCO 電源入力は同電圧である必要があ り ます。 2.5V のみのインターフェイスはすべての信号

が同じ電圧なので、 も容易です。 3.3V のインターフェイスもサポート されていますが、 FPGA のPROG_B および DONE ピンは、 通常は 2.5V の FPGA VCCAUX 電源で電源供給されているため、

特に注意が必要です。 Spartan-3E FPGA の詳細は、アプリ ケーシ ョ ン ノート XAPP453 : 『Spartan-3 FPGA の 3.3V コンフ ィギュレーシ ョ ン』 を、 Spartan-3A/3A DSP FPGAの詳細は、 アプリ ケー

シ ョ ン ノート XAPP459 : 『Spartan-3 Generation FPGA のユーザー I/O ピンへ大きな変動のシング

ルエンド信号をインターフェイスする際にカップリ ング影響を除去』 を参照してください。

Spartan-3 FPGASpartan-3 FPGA の VCCO_4 電源入力および Platform Flash PROM の VCCO 電源入力は同じ電圧

である必要があ り ます。 2.5V のみのインターフェイスはすべての信号が同電圧なので、 も容易で

す。 3.3V のインターフェイスもサポート されていますが、 FPGA の PROG_B、 DONE、 および

CCLK ピンは、 通常は 2.5V の FPGA VCCAUX 電源で電源供給されているため特に注意が必要で

す。 詳細は、アプリ ケーシ ョ ン ノート XAPP453 : 『Spartan-3 FPGA の 3.3V コンフ ィギュレーシ ョ

ン』 を参照してください。

JTAG インターフェイス

Platform Flash PROM がチェーン内の 後のデバイスである場合、 JTAG インターフェイスの電圧

は PROM の VCCJ 電源で容易に制御できます。 FPGA の VCCAUX 電圧が 2.5V で、 JTAG チェー

ンも 2.5V の場合、インターフェイスは単純です。 3.3V の JTAG インターフェイスを作成するには、

FPGA の VCCAUX 電源が 2.5V の場合でも、 VCCJ を 3.3V に接続し、 FPGA の TDI、 TMS、およ

び TCK JTAG 入力に電源制限抵抗を付けます。

Spartan-3A/3A DSP FPGA の VCCAUX 電源は 2.5V またには 3.3V にできます。 VCCAUX が 3.3Vの場合は、 3.3V JTAG インターフェイスも容易です。 電流制限抵抗は不要です。

詳細は、 208 ページの 「JTAG ケーブルの電圧の互換性」 を参照してください。

サポート されている Platform Flash PROM表 3-4 には、 1 つの Spartan-3 ジェネレーシ ョ ン FPGA をプログラムできる 小の Platform FlashPROM を示します。 複数 FPGA がデイジー チェーン接続したアプリ ケーシ ョ ンでは、 さまざまな

FPGA ビッ ト ス ト リームの合計を含むこ とができる大きさの Platform Flash PROM が必要です。

Page 85: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 87UG332 (v1.4) 2008 年 7 月 1 日

サポート されている Platform Flash PROM

8Mb の PROM を必要とする FPGA デザインには、2 つの使用可能なデザイン ソ リ ューシ ョ ンがあ

り ます。 表 3-4 に示すよ うに、 1 つの 8 Mb XCF08P パラレル/シ リ アル PROM または 2 つのカス

ケード接続されたシ リ アル PROM のどちらかを使用します。 2 つの XCFxxS PROM には 3.3V のVCCINT 電源があ り、XCF08P には 1.8V VCCINT 電源が必要です。 ボードに既存の 1.8V の電源がな

い場合、 2 つの XCFxxS PROM をカスケード接続するソ リ ューシ ョ ンを推奨します。

表 3-4 : Spartan-3 ジェネレーシ ョ ン FPGA および 小の Platform Flash PROM をプログラム

するビッ ト数

ファ ミ リ FPGA コンフ ィギュレーシ ョ ン ビッ ト数

小のプラッ ト フォーム フラッシュ PROM

Spartan-3A

(Spartan-3AN)

XC3S50A 437,312 XCF01S

XC3S200A 1,196,128 XCF02S

XC3S400A 1,886,560 XCF02S

XC3S700A 2,732,640 XCF04S

XC3S1400A 4,755,296XCF08Pまたは

XCF04S + XCF02S

Spartan-3A DSPXC3SD1800A 8,197,280

XCF08Pまたは

2つのXCF04S PROM

XC3SD3400A 11,718,304 XCF16P

Spartan-3E

XC3S100E 581,344 XCF01S

XC3S250E 1,353,728 XCF02S

XC3S500E 2,270,208 XCF04S

XC3S1200E 3,841,184 XCF04S

XC3S1600E 5,969,696XCF08Pまたは

XCF04S + XCF02S

Spartan-3

XC3S50 439,264 XCF01S

XC3S200 1,047,616 XCF01S

XC3S400 1,699,136 XCF02S

XC3S1000 3,223,488 XCF04S

XC3S1500 5,214,784XCF08Pまたは

XCF04S + XCF02S

XC3S2000 7,673,024XCF08P

または 2 x XCF04S

XC3S400A 11,316,864 XCF16P

XC3S5000 13,271,936 XCF16P

Page 86: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

88 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 3 章 : マスタ シリアル モード

CCLK 周波数

マスタ シ リ アル モードでは、 FPGA の内部オシレータがコンフ ィギュレーシ ョ ン ク ロ ッ ク周波数

を生成します。 FPGA は、 CCLK 出力ピンにこのクロ ッ クを供給し、 PROM の CLK 入力ピンを駆

動します。 FPGA は、一番低い周波数でコンフ ィギュレーシ ョ ンを開始し、コンフ ィギュレーシ ョ ン

ビッ ト ス ト リームで指定されている場合は、残りのコンフ ィギュレーシ ョ ン プロセス中に周波数を

増加します。 大周波数は、 BitGen の ConfigRate オプシ ョ ンで指定します。 表 3-5 は、 さまざま

な Platform Flash PROM および I/O 電圧に対する 大の ConfigRate 設定を、MHz で測定された周

波数にほぼ等しい値で示します。 これらの値は、 適切な Spartan-3E または Spartan-3A/3AN/3ADSP データシートの 小 CCLK 周期を使用して決定されています。 XCFxxS PROM の 大

ConfigRate は、1.8V に低下しています。 Spartan-3A/3AN/3A DSP FPGA には、よ り高い VCCO_2POR (パワー オン リセッ ト ) 電圧しきい値があるため、 1.8V のコンフ ィギュレーシ ョ ン インター

フェイスはサポート しません。 詳細は、 252 ページの 「POR (パワー オン リセッ ト )」 を参照してく

ださい。

デイジー チェーン接続のコンフ ィギュレーシ ョ ン

アプリ ケーショ ンで複数 FPGA が必要で、 それぞれのコンフィ ギュレーショ ンが異なる場合、 89ページの図 3-4 に示すよう に、デイジー チェーンを使用して FPGA をコンフィ ギュレーショ ンしま

す。 Platform Flash PROM に接続された FPGA には、マスタ シリ アル モード (M[2:0] = <0:0:0>) を使用し、デイジー チェーン内のその他の FPGA には、スレーブ シリ アル モード (M[2:0] = <1:1:1>)を使用します。 マスタ FPGA (図中左側の FPGA) が Platform Flash からのコンフィ ギュレーショ ン

データのロード を完了後、マスタ デバイスは DOUT 出力ピンを介して、CCLK の立ち下り エッ ジで

デイジー チェーンの後続デバイスにデータを送信します。

また、デイジー チェーンを正常にコンフ ィギュレーシ ョ ンするには、チェーンに含まれる全 FPGAの DONE_cycle 設定の後で、 BitGen の GTS_cycle オプシ ョ ンをスタート アップ段階に設定します。

これは、 デフォルト設定です。 オプシ ョ ンで、 GTS_cycle:Done に設定します。

ギャングまたはブロードサイド コンフ ィギュレーシ ョ ン

「デイジー チェーン接続のコンフ ィギュレーシ ョ ン」 は、デザインが異なり、通常、アレイ サイズが

異なる複数の FPGA をロードするために設計されています。 しかし、アプリ ケーシ ョ ンの一部には、

同じビッ ト ス ト リームでプログラムされる複数かつ同一の FPGA を含むものがあ り ます。 FPGA をデイジー チェーン接続し、 複数の同じビッ ト ス ト リームのコピーを保存する代わりに、

89 ページの図 3-5 に示すよ うに、 「ギャングまたはブロードサイ ド コンフ ィギュレーシ ョ ン」 は複

数かつ同一の FPGA を同じビッ ト ス ト リームでプログラムします。

表 3-5 : Platform Flash を使用した 大 ConfigRate 設定 (シリアル モード、 コマーシャル範囲)

Platform Flash のデバイス番号

I/O 電圧 (VCCO_2、 VCCO)

Spartan-3E ConfigRate 設定

Spartan-3A/3AN/3A DSP ConfigRate 設定

XCF01SXCF02SXCF04S

3.3V または 2.5V 25 33

1.8V 12 なし

XCF08PXCF16PXCF32P

3.3V または 2.5V25

44

1.8V なし

Page 87: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 89UG332 (v1.4) 2008 年 7 月 1 日

ギャングまたはブロードサイド コンフ ィギュレーシ ョ ン

図 3-4 : ザイリンクス Platform Flash PROM を使用した複数の FPGA のデイジー チェーン

CLK

DO

CE

OE/RESET

CF

CCLK

DIN

M2 M1 M0

DOUT

PROG_B DONE

INIT_B

‘0’ ‘0’ ‘0’

CCLK

DIN

M2 M1 M0

DOUT

PROG_B DONE

INIT_B

‘1’ ‘1’ ‘1’VCCO_2 VCCO_2VCCAUXPlatform Flash

XCFxxx

Master FPGA Slave FPGA

PROGRAM

0Ω 0Ω 0Ω 0Ω

200Ω

200Ω

4.7k

Ω

330Ω

4.7k

Ω

UG332_c3_02_111906

図 3-5 : 同じビッ トス ト リームによりプログラムされた複数かつ同一の FPGA

CLK

DO

CE

OE/RESET

CF

CCLK

DIN

M2 M1 M0

DOUT

PROG_B DONE

INIT_B

‘0’ ‘0’ ‘0’ VCCO_2

Platform FlashXCFxxx

Master FPGA

PROGRAM

CCLK

DIN

M2 M1 M0

DOUT

PROG_B DONE

INIT_B

‘1’ ‘1’ ‘1’

Slave FPGA

VCCO_2

VCCAUX

0Ω200Ω

200Ω

330Ω

4.7k

Ω

4.7k

Ω

UG332_c3_03_111906

Page 88: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

90 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 3 章 : マスタ シリアル モード

JTAG インターフェイス

Spartan-3 ジェネレーシ ョ ン FPGA および Platform Flash PROM の両方には 4 本のワイヤを持つ

IEEE 1149.1/1532 JTAG ポートがあ り ます。 FPGA および PROM の両方は、 JTAG TCK ク ロ ッ ク

入力および TMS モード セレク ト入力を共有します。 デバイスは JTAG チェーンにどちらの順番で

も接続でき、 1 つのデバイスの TDO 出力をチェーン内の後続デバイスの TDI 入力に接続します。

JTAG チェーンの 終デバイスの TDO 出力 が JTAG コネクタを駆動します。

FPGA の JTAG インターフェイスは、 VCCAUX 電源によって電源供給されています。 したがって、

PROM の VCCJ 電源入力も 2.5V である必要があ り ます。 3.3V の JTAG インターフェイス作成の

詳細は、 XAPP453 : 『Spartan-3 FPGA の 3.3V コンフ ィギュレーシ ョ ン』 を参照してください。

Platform Flash に追加ユーザー データを保存

通常、FPGA ビッ ト ス ト リーム保存後、Platform Flash にはいく らかのスペースが残っています。 必要であれば、 アプリ ケーシ ョ ンは Platform Flash PROM に追加のデータを保存し、 FPGA がコン

フ ィギュレーシ ョ ン後に FPGA がこのデータを使用できます。

FPGA アプリ ケーシ ョ ンから、 PROM への書き込みは容易ではあ り ませんが、 次の参照用アプリ

ケーシ ョ ン ノートで述べるよ うに、 読み出し操作は比較的単純です。 容易な書込み操作が必要なア

プリ ケーシ ョ ンでは、第 4 章 「マスタ SPI モード」 に述べるマスタ SPI コンフ ィギュレーシ ョ ン インターフェイスの使用を考慮して ください。

Platform Flash PROM の使用可能なスペースか、1 つ大きなサイズの PROM を用いて、MicroBlazeプロセッサ コードなどの追加の不揮発性アプリ ケーシ ョ ン データ、またはシ リ アル番号およびイー

サネッ ト MAC ID などのほかのユーザー データを保持します。 MicroBlaze® アプリ ケーシ ョ ンを

例と して、 FPGA を Platform Flash PROM からコンフ ィギュレーシ ョ ンします。 その後、 コンフ ィ

ギュレーシ ョ ン後の FPGA ロジッ クを用い、FPGA は MicroBlaze コードを Platform Flash から外

部 DDR SDRAM にコピーし、単純かつコス ト パフォーマンスの高いコードのシャ ドーイングを行

います。

Page 89: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 91UG332 (v1.4) 2008 年 7 月 1 日

Platform Flash に追加ユーザー データを保存

標準インターフェイスを少し変更する必要があ り ます。 図 3-6a に示すよ うに、 FPGA は PlatformFlash PROM の CE 入力を有効にするため、DONE 出力を使用します。 しかし、一旦コンフ ィギュ

レーシ ョ ンされる と、 DONE は専用ピンになり、 FPGA アプリ ケーシ ョ ンでは制御できないため、

FPGA は PROM を再び有効にできません。

も単純なソ リ ューシ ョ ンは、 図 3-6b に示すよ うに、 PROM の CE 入力をグランドに接続するこ

とです。 PROM が常に有効にされている と電力消費量が若干増えますが、FPGA は直接アクセスで

きるよ うにな り ます。 Spartan-3 FPGA では、CCLK ピンは専用ピンです。 PROM を制御するには、

CCLK とパラレル接続した FPGA の I/O を使用します。 また、 CclkPin:Pullnone Bit Gen オプシ ョ

ンを必ず使用します。

図 3-6c に代替のソ リ ューシ ョ ンを示します。 この場合、 PROM の CE 入力を FPGA の I/O ピンに

接続します。 この FPGA ピンには、コンフ ィギュレーシ ョ ン中に CE を確実に Low にしておくのに

十分な大きさのプルダウン抵抗があ り ます。 プルダウン抵抗の正確な大きさは、 コンフ ィギュレー

シ ョ ン中にプルアップ抵抗が有効にされているか、 およびアプリ ケーシ ョ ンで使用される I/O 規格

によ り ます。 抵抗値については 65 ページの表 2-15 を参照して ください。 コンフ ィギュレーシ ョ ン

後、 FPGA は関連する I/O ピンを High または Low に駆動し、 PROM を有効にするかしないかを

選択できます。

図 3-6 : コンフ ィギュレーシ ョ ン後に Platform Flash PROM を使用する多様な方法

DINCCLK

INIT_BDONE

D0CLKOE/RESETCE

FPGA Platform Flash

a) Standard interface

b) PROM always enabled

DINCCLK

INIT_BDONE

D0CLKOE/RESETCE

FPGA Platform Flash

DINCCLK

INIT_BDONE

D0CLK

OE/RESETCE

FPGA Platform Flash

User I/O

Spartan-3

c) PROM enabled by FPGA

DINCCLK

INIT_B

DONE

D0CLKOE/RESETCE

FPGA Platform Flash

DINCCLK

INIT_B

DONE

D0CLK

OE/RESETCE

FPGA Platform Flash

User I/O

Spartan-3

User-I/OUser-I/O

UG332_c3_17_040107

Spartan-3ESpartan-3A/3ANSpartan-3A DSP

Spartan-3ESpartan-3A/3ANSpartan-3A DSP

Page 90: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

92 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 3 章 : マスタ シリアル モード

このよ うなインターフェイスをインプリ メン トする方法の詳細は、次のアプリ ケーシ ョ ン ノート を

参照して ください。

• XAPP482 : 『MicroBlaze Platform Flash/PROM ブート ローダおよびユーザー データ ス ト レージ』 http://japan.xilinx.com/support/documentation/application_notes/xapp482.pdf

• XAPP694 : 『コンフ ィギュレーシ ョ ン PROM からユーザー データの読み込み』

http://japan.xilinx.com/support/documentation/application_notes/xapp694.pdf

マスタ シリアル コンフ ィギュレーシ ョ ン向けのビッ トス ト リームの生成

マスタ シ リ アル モードのコンフ ィギュレーシ ョ ン向けに FPGA ビッ ト ス ト リームを作成するに

は、41 ページの 「ビッ ト ス ト リーム オプシ ョ ンの設定、FPGA ビッ ト ス ト リームの生成」 に示す手

順に従ってください。マスタ SPI モードでコンフ ィギュレーシ ョ ンされた FPGA には、次の BitGenオプシ ョ ンを設定します。

ConfigRate : CCLK 周波数

88 ページの「CCLK 周波数」 に示すよ うに、ConfigRate オプションを設定します。コンフィギュレーショ

ン レート周波数は ISE® ソフ ト ウェア Project Navigator を使用し、 43 ページの図 1-7 の手順 7 で設定

します。

-g ConfigRate:25

StartupClk : CCLKデフォルトでは、 コンフ ィギュレーシ ョ ン スタート アップ ク ロ ッ ク ソースは内部生成された

CCLK です。 44 ページの図 1-8 の手順 13 で示すよ うに、BitGen の StartupClk オプシ ョ ンを保持し

ます。

-g StartupClk:Cclk

DriveDone : DONE ピンをアクテ ィブに駆動

単体の FPGA デザインまたは複数 FPGA を含むデイジー チェーンのマスタ FPGA では、コンフ ィ

ギュレーシ ョ ン プロセス完了後、DONE ピンをアクティブに駆動するよ うに FPGA を設定します。

44 ページの図 1-8 に示すよ うに、ISE Project Navigator で [Drive Done Pin High] オプシ ョ ンをオ

ンにします。

-g DriveDone:Yes

GTS_cycle : グローバル ト ライステートによるデイジー チェーンへのタイ ミングのリ リース

複数 FPGA のデイジー チェーンを作成するには、 DONE_cycle 設定よ り も後に GTS_cycle オプ

シ ョ ンを設定 (両方のデフォルト設定) します。 または、GTS_cycle:Done を設定します。 ISE ProjectNavigator の GTS_cycle 設定は、 44 ページの図 1-8 の手順 14 に示すよ うに、 [Enable Outputs(Output Events)] オプシ ョ ンで設定します。

Page 91: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 93UG332 (v1.4) 2008 年 7 月 1 日

Platform Flash PROM ファイルの準備

Platform Flash PROM ファイルの準備

こ こでは、 Platform Flash PROM メモ リに PROM ファ イルを作成するガイ ド ラインを述べます。

ザイ リ ンクス ソフ ト ウェア ツール 「iMPACT」 または PROMGen は、1 つまたは複数の FPGA ビッ

ト ス ト リームから PROM ファ イルを生成します。

iMPACT次の手順では、 ISE Project Navigator の iMPACT を使用した PROM ファ イルの作成方法を図示し

ます。

1. ISE Project Navigator の [Processes] から、[Generate PROM, ACE, or JTAG File] をダブル

ク リ ッ ク します (図 3-7)。

2. [Prepare a PROM File] を選択します (図 3-8)。

3. [Next] をク リ ッ ク します。

図 3-7 : [Generate PROM, ACE or JTAG File] をダブルクリ ック

図 3-8 : [Prepare a PROM File]

1

UG332_c4_10_110206

3

2

UG332 c4 11 19

Page 92: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

94 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 3 章 : マスタ シリアル モード

4. 1 つまたは複数の FPGA ビッ ト ス ト リームのフォーマッ トに [Xilinx PROM] を選択します

(図 3-9 )。

5. [PROM File Format] を選択します。

6. [PROM File Name] を入力します。

7. [Next] をク リ ッ ク します。

図 3-9 : ザイリンクス Platform Flash PROM 向けのオプシ ョ ンの設定

5

4

6

7

UG332_c3_04_111506

Page 93: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 95UG332 (v1.4) 2008 年 7 月 1 日

Platform Flash PROM ファイルの準備

8. ド ロ ップダウン リ ス トから [xcf] (Platform Flash PROM) ファ ミ リ を選択します (図 3-10)。

9. 使用する Platform Flash のデバイス番号を選択します。 図 3-10 の例では、 大 4Mb または

524,288 バイ ト を保存できる XCF04 PROM が選択されています。

10. [Add] をク リ ッ ク します。 この例では、FPGA が単体の Platform Flash PROM に接続されてい

るこ とを想定しています。 しかし、複数の Platform Flash PROM をカスケード接続して大型の

メモ リ も作成できます。 アプリ ケーシ ョ ンで複数の PROM がカスケード接続されている場合、

[Add] ボタンをク リ ッ ク して PROM を追加します。

11. 単体の Platform Flash PROM を使用するデザインでは、PROM は同様に位置 0 にあ り ます。ア

プリ ケーシ ョ ンが複数のカスケード接続された PROM を使用する場合は、各 PROM のデバイ

ス名および位置が一覧表示されます。

12. [Next] をク リ ッ ク します。

図 3-10 : Platform Flash PROM の選択

11

8

12

9 10

UG332_c3_05_111506

Page 94: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

96 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 3 章 : マスタ シリアル モード

13. Platform Flash PROM のフォーマッ ト設定が正しいかを確認します。 [Finish] をク リ ッ ク して

設定を確定するか、 [Back] をク リ ッ ク して設定を変更します (図 3-11)。

14. [OK] をク リ ッ ク して、 ビッ ト ス ト リーム ファ イルの追加を開始します (図 3-12)。

15. 使用する FPGA ビッ ト ス ト リームを検索し、 選択します。

図 3-11 : PROM フォーマッ ト設定の確認

図 3-12 : FPGA コンフ ィギュレーシ ョ ン ビッ トス ト リーム ファイルの追加

13

UG332_c3_06_111506

10

7

11

8 9

14

15

16

17

UG332_c3_07_111506

Page 95: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 97UG332 (v1.4) 2008 年 7 月 1 日

iMPACT を使用し JTAG を介した Platform Flash インシステム プログラム

16. [Open] をク リ ッ ク します。

17. [No] をク リ ッ ク します。 この例では、 FPGA ビッ ト ス ト リームを 1 つのみ保持する PlatformFlash PROM を想定しています。 複数 FPGA コンフ ィギュレーシ ョ ン デイジー チェーンを作

成するには [Yes] をク リ ッ ク し、 追加の FPGA ビッ ト ス ト リームを選択します。

18. iMPACT では、 Platform Flash PROM および関連する FPGA ビッ ト ス ト リームを表示します (図 3-13)。

19. [Generate File] をク リ ッ ク します。

20. iMPACT は、 PROM ファ イルが正常に作成されたこ とを表示します。

iMPACT を使用し JTAG を介した Platform Flash インシステム プログラム

FPGA および Platform Flash PROM の両者は共に JTAG を介してインシステムでプログラムでき

ます。プロ ト タイプ向けのダウンロードサポートは、ザイ リ ンクス iMPACT および関連するザイ リ

ンクス パラレル ケーブル IV、MultiPRO、またはプラ ッ ト フォーム ケーブル USB プログラ ミ ング

ケーブルでサポート されます。

プログラ ミング用ボードの準備

Platform Flash PROM のプログラム前に、 次の手順を完了してください。

1. ボードに電源が入っているこ とを確認します。

2. ボードおよび PC またはワークステーシ ョ ンの両方にプログラ ミ ング ケーブルが正し く接続

されているこ とを確認します。

図 3-13 : PROM ファイルの生成

19

20

18

UG332_c3_08_111506

Page 96: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

98 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 3 章 : マスタ シリアル モード

iMPACT を介したプログラ ミング

次の手順では、 iMPACT およびザイ リ ンクス プログラ ミ ング ケーブルを使用した Platform FlashPROM のプログラム方法を説明します。

1. iMPACT の [Configure devices using Boundary-Scan (JTAG)] を選択します。 [Automaticallyconnect ...] オプションが選択されている場合は、 iMPACT は JTAG チェーン内のデバイスを確認

し、 自動的にチェーン トポロジを検出します (図 3-14)。

2. [Finish] をク リ ッ ク します。

3. 設定されている場合、iMPACT は自動的に JTAG チェーンを検出します (図 3-15)。 この例のア

プリ ケーシ ョ ンは、図 3-1 に類似しています。 FPGA は XC3S700A で、チェーン内に後続する

のは XCF04S Platform Flash PROM です。

図 3-14 : JTAG を使用した Platform Flash PROM のプログラム

図 3-15 : iMPACT が自動的に JTAG チェーンを検出

1

2

UG332_c2_09_111506

3

UG332_c3_10_111506

Page 97: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 99UG332 (v1.4) 2008 年 7 月 1 日

iMPACT を使用し JTAG を介した Platform Flash インシステム プログラム

4. この例では、 チェーン内で XCF04S Platform Flash PROM よ り前に XC3S700A があ り ます。

FPGA は、 Platform Flash PROM のプログラム用にプログラムされる必要はあ り ません。

iMPACT は FPGA のビッ ト ス ト リームを選択するダイアログを表示します (図 3-16)。[Bypass] をク リ ッ ク して FPGA のプログラムをスキップします。

5. Platform Flash PROM にプログラムする PROM データ ファ イルを選択します (図 3-17)。

6. [Open] をク リ ッ ク します。

図 3-16 : FPGA のプログラムをスキップ

図 3-17 : Platform Flash プログラ ミング ファイルの選択

4

UG332_c3_11_111506

6

5

UG332_c3_12_111506

Page 98: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

100 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 3 章 : マスタ シリアル モード

7. iMPACT は JTAG チェーン内の各デバイスにロード されるファ イルを示したスク リーン イ

メージを更新します (図 3-18)。 Platform Flash PROM をプログラムするには、XCF04S PROMをク リ ッ ク してハイライ ト表示します。

8. [Program] をダブルク リ ッ ク します。

9. [Programming Properties] をク リ ッ ク します (図 3-19)。

図 3-18 : Platform Flash PROM のプログラム

7

8 14

UG332_c3_13_111506

図 3-19 : PROM のプログラ ミング オプシ ョ ン

9

10

11

12

13

UG332_c3_14_111506

Page 99: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 101UG332 (v1.4) 2008 年 7 月 1 日

デバイス プログラマ

10. [Verify] をオンにします。 [Verify] をオフにする とプログラムが短縮しますが、 iMPACT では

検証済みの PROM においてのみ、 正常なプログラムを保証します。

11. [Erase Before Programming] をオンにします。 プログラムするために必要です。 [EraseBefore Programming] オプシ ョ ンをオフにする と、空のデバイスではプログラムに要する時間

が短縮されます。

12. [Load FPGA] をオンにする と、PROM のプログラムの完了後、新しい PROM データで FPGAが自動的にリ コンフ ィギュレーシ ョ ンされます。

13. [OK] をク リ ッ ク します。

14. iMPACT はプログラムが正常に実行されたこ とを示します (図 3-18)。

デバイス プログラマ

ザイ リ ンクス Platform Flash PROM は、多くのサードパーティによるデバイス プログラマでサポー

ト されています。 これらのプログラマは、 量産アプリ ケーシ ョ ンに 適で、 多くはギャング プログ

ラム オプシ ョ ンを備えています。

表 3-6 に、 Platform Flash プログラム サポート を提供するベンダーのリ ンクを示します。 これらの

リ ンク先には、特定のプログラマ モデル番号、ソフ ト ウェア バージ ョ ンおよび必要なすべてのプロ

グラム アダプタが規制されています。

追加情報

• DS123 : 『 Platform Flash インシステム プログラマブル コンフィ ギュレーショ ン PROM』

japan.xilinx.com/support/documentation/data_sheets/ds123.pdf

表 3-6 : ザイリンクス Platform Flash デバイス プログラマ

Platform Flash ファ ミ リ

製品番号 デバイス プログラマ

XCFxxS

XCF01S

XCF02S

XCF04S

japan.xilinx.com/support/programr/dev_sup.htm#XCF00SP

XCFxxP

XCF08P

XCF16P

XCF32P

japan.xilinx.com/support/programr/dev_sup.htm#XCF00SP

Page 100: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

102 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 3 章 : マスタ シリアル モード

Page 101: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 103UG332 (v1.4) 2008 年 7 月 1 日

第 4 章

マスタ SPI モード

SPI シリアル フラッシュ コンフィギュレーショ ン モードは、次の特性を持つアプリケーションに 適

です。

• SPI フラ ッシュ PROM がすでにシステムで使用されている。

• FPGA アプリ ケーシ ョ ンが不揮発性メモ リにデータを保存する必要があるか、 ランダムなアク

セスおよびバイ トでのアドレス指定が可能な不揮発性メモリからのデータにアクセスする必要

がある。

• 製造期間が数年以下の大量生産の「民生」アプリ ケーシ ョ ン。 製造期間が 5 年以上のエンベデッ

ド アプリ ケーシ ョ ンでは、 汎用フラ ッシュ よ り も長く安定した製品寿命があるザイ リ ンクス

Platform Flash を用いたマスタ シ リ アル モード も考慮。

マスタ SPI モード (M[2:0] = <0:0:1>) では、図 4-1 および図 4-2 に図示するよ うに、Spartan®-3E または Spartan-3A/3AN/3A DSP FPGA は、付属する業界標準の SPI シ リ アル フラ ッシュ PROM からコンフ ィギュレーシ ョ ンします。 この図では、 オプシ ョ ンのコンポーネン ト を灰色で示し、 「NOLOAD」 と指定しています。 FPGA は、 内部オシレータから CCLK 出力クロ ッ クを送信し、 付属の

SPI フラ ッシュ PROM のクロ ッ ク入力を駆動します。

SPI フラ ッシュ PROM からのコンフ ィギュレーシ ョ ンの詳細は、 次のアプリ ケーシ ョ ン ノート を参照して ください。

XAPP951: 『SPI シ リアル フラ ッシュでザイ リ ンクス FPGA をコンフ ィギュレーシ ョ ン』

http://japan.xilinx.com/support/documentation/application_notes/xapp951.pdf

Page 102: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

104 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

SPI は 4 本のワイヤを持つ比較的標準でユビキタスなインターフェイスですが、市場に数多く 出回る

SPI フラッ シュ PROM のコマンド プロト コルは、それぞれ異なり ます。 FPGA の変数セレク ト ピン

VS[2:0] は、FPGA が SPI フラッ シュと 通信する方法を決定します。これには、読み出し動作を開始

するために、 FPGA がどの SPI フラッ シュ コマンド を発行するかの選択、 および FPGA が SPI フラッ シュから有効なデータを受信する前に挿入されるダミ ー バイト 数の決定などが含まれます。

表 4-2 には、 Spartan-3E/3A FPGA でテスト 済みの、 または動作すると 予測される SPI フラッ シュ

PROM を示します。 その他の互換性のあるデバイスも動作する可能性があり ますが、 ザイリ ンク ス

ではハード ウェア検証が実施されていません。 ほかの VS[2:0] 値はすべて、将来の使用のために予約

されています。 使用する SPI フラッ シュ デバイスのデータシート で、 適正を確認してく ださい。

メモ : 灰色で表示した CSO_B のプルアップ抵抗は、 HSWAP/PUDS_B が High (I/O プルアップが無効) の場合のみ必要

図 4-1 : M25P を使用可能なデバイスでの SPI フラ ッシュ コンフ ィギュレーシ ョ ン インターフェイス

UG332_c4_01_063008

VCCINT

CSO_B

VCCO_2

INIT_B

DINMOSI

+1.2V

D

S

VCC

Q

C

GND

HSWAPPUDC_B VCCO_0P

CCLK

VCCO_0

Spartan-3E/3A/AN

M25PxxSPI Flash

+3.3V

+3.3V

HOLD‘1’

M2M1

‘0’‘0’

M0‘1’

VS2VS1

‘1’

VS0

Variant Select

‘1’DOUT

W

P

4.7

Master SPI Mode

VR

EF

SS

_B

SC

K

MIS

O

MO

SI

N.C

.N

.C.

Xilinx Cable Header(SPI Flash Direct Programming )

‘1’

TMS

TDO

TCK

TDI

VCCAUX VCCAUX

PROG_B DONE

GND

PROGRAM

VREF

TMS

TCK

TDO

TDI

N.C.N.C.

1

14

1

14

J

NO

LO

AD

NO

LO

AD

NO

LO

AD

Xil

inx

Ca

ble

He

ade

r(J

TA

G In

terf

ace)

SPI DirectProgramming

Jumper

820Ω

= Dedicated internal pull-up resistor

Spartan-3A DSP

Spartan-3A/3AN,Spartan-3A DSPhave internalpull-up resistors

Spartan-3A/3AN,Spartan-3A DSPhave internalpull-up resistors

Page 103: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 105UG332 (v1.4) 2008 年 7 月 1 日

図 4-1 に、 0x0B FAST READ コマンドをサポートする SPI フラッシュ PROM (ここでは 新の 25 シリーズの PROM) での一般的な接続図を示します。 例では、 STMicro 社の M25Pxx PROM をと り上げ

ます。

図 4-2 に、 SPI ベースのプロ ト コルを使用する Atmel 社の DataFlash シ リ アル PROM の接続図を

示します。 ザイ リ ンクスでは、「C」 または 「D」 シ リーズの DataFlash デバイスの使用を推奨します。

111 ページの図 4-6 には、すべてを 1 つの SPI フラ ッシュに保存した、異なるコンフ ィギュレーシ ョ

ンを持つ複数の FPGA のコンフ ィギュレーシ ョ ン方法を示します。 図では、標準の SPI フラ ッシュ

メモ リ を使用していますが、 同様の一般的な手法が Atmel 社の DataFlash にも適用されます。

メモ : 灰色で表示した CSO_B のプルアップ抵抗は、 HSWAP/PUDS_B が High (I/O プルアップが無効) の場合のみ必要

図 4-2 : Atmel 社の DataFlash デバイスでの SPI フラ ッシュ コンフ ィギュレーシ ョ ン インターフェイス

UG332_c4_02_040107

VCCINT

CSO_B

VCCO_2

INIT_B

DINMOSI

+1.2V

SI

CS

VCC

SO

SCK

GND

HSWAPPUDC_B VCCO_0P

CCLK

VCCO_0

AtmelAT45DBD-Series

+3.3V

+3.3V

RESET‘1’

M2M1M0

VS2VS1VS0

DOUT

WP

P

4.7

k

VR

EF

SS

_B

SC

K

MIS

O

MO

SI

N.C

.N

.C.

Xilinx Cable Header(SPI Flash Direct Programming )

TMS

TDO

TCK

TDI

VCCAUX VCCAUX

PROG_B DONE

GND

VREF

TMS

TCK

TDO

TDI

N.C.N.C.

1

14

1

14

JN

O L

OA

D

NO

LO

AD

NO

LO

AD

Xil

inx

Ca

ble

He

ade

r(J

TA

G In

terf

ace)

SPI DirectProgramming

Jumper

820

DataFlash

PROGRAM= Dedicated internal pull-up resistor

‘0’‘0’‘1’

‘1’

Variant Select

‘1’

Master SPI Mode

‘1’

Spartan-3A/3AN,Spartan-3A DSPhave internalpull-up resistors

Spartan-3A/3AN,Spartan-3A DSPhave internalpull-up resistors

Spartan-3E/-3A/ANSpartan-3A DSP

Page 104: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

106 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リ間における マスタ SPI モードの相違

マスタ SPI コンフ ィギュレーシ ョ ンモードは Spartan-3A/3AN/3A DSP FPGA ファ ミ リ または

Spartan-3E FPGA ファ ミ リのいずれかを用いて使用できます。 表 4-1 示すよ うに、Spartan-3 FPGAファ ミ リでは使用できません。

互換性のある SPI シリアル フラ ッシュの選択

Spartan-3E ファ ミ リ および Spartan-3A/3AN/3A DSP FPGA ファ ミ リ は、 広範囲の SPI シリ アル フラッ シュ メ モリ デバイスをサポート するよう にデザインされています。 95 ページの表 4-2 に、

iMPACT を使用したインシステム プログラ ミ ング サポート を備えたザイリ ンク スでテスト 済みの

PROM を一覧表示します。 ほかの SPI フラッ シュ PROM の多く は、フォーム、フィ ッ ト 、および機

能が同等であるよう にデザインされており 、 これらを 98 ページの表 4-5 に一覧で表示します。 ザイ

リ ンク ス ISE® ソフト ウェアは互換性のあるプログラ ミ ング ファ イルを生成しますが、ザイリ ンク ス

では、これらの PROM の完全な互換性はテスト していません。 同様に、 98 ページの表 4-5 に表示す

る PROM は、 iMPACT インシステム プログラ ミ ング ソフト ウェアでサポート されていません。

SPI フラ ッシュ PROM の選択基準を次に述べます。

• 理想的には、 終的なアプリ ケーシ ョ ンでは、 表 4-2 に示すザイ リ ンクスでテス ト済みの SPIPROM を使用すべきです。 95 ページの表 4-3 に、ザイ リ ンクス プログラ ミ ング ケーブルを使

用したインシステム プログラ ミ ングが iMPACT でテス ト済みかつサポート された特定の SPIフラ ッシュ PROM のデバイス番号を一覧表示します。

表 4-1 : Spartan-3 ジェネレーシ ョ ン FPGA でのマスタ SPI モードのサポート

Spartan-3 FPGA

Spartan-3E FPGA

Spartan-3A/3ANSpartan-3A DSP

FPGA

複数 FPGA がデイジー チェーン接続

したコンフ ィギュレーシ ョ ンの

サポート

マスタ SPI モードは Spartan-3 FPGA で

サポート されて

いない

ステップ 1 のみ あ り

マルチブート コンフ ィギュレーシ ョ

ンのサポートなし あ り

ウォッチド ッグ タイマのリ ト ラ イ なし あ り

マスタ SPI モード中の CCLK の方向性

I/O

出力のみ

(向上したシグナ

ル インテグ リ

ティに対応)

M[2:0] および VS[2:0] ピンには、コン

フ ィ ギュ レーシ ョ ン中に専用の内部

プルアップ抵抗あ り

なし

オプシ ョ ン

HSWAP で制御

あ り

Page 105: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 107UG332 (v1.4) 2008 年 7 月 1 日

互換性のある SPI シリアル フラ ッシュの選択

• こ こで示す SPI シ リ アル メモ リは、 FPGA で提供される互換性のある読み出しコマンドをサ

ポートする必要があ り ます。 このコマンド設定は、 コンフ ィギュレーシ ョ ン前に FPGA の

VS[2:0] ピンを定義するこ とで選択されます。 表 4-4 には、 Spartan-3E および Spartan-3A/3AN/3A DSP FPGA でサポート されるコマンドを一覧表示します。 コマンド設定は、 コン

表 4-2 : ザイリンクスでサポート され、 iMPACT でプログラム可能な SPI フラ ッシュ メモリ

SPI フラッシュ

ザイリン

クス iMPACTサポート

固有の ID

読み出しコマンド

集積度 (ビッ ト )Fast Read(0x0B)

Read(0x03)

Read Array(0xE8)

FPGA VS[2:0] 設定

ベンダー ファミ リ 1:1:1 1:0:1 1:1:0 512K 1M 2M 4M 8M 16M 32M 64M 128M

STMicro(Numonyx)

M25P ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦

M25PE ♦ ♦ ♦ ♦ ♦ ♦ ♦

M45PE ♦ ♦ ♦ ♦ ♦ ♦ ♦

Atmel

AT45DB D

シリーズ

♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦

AT45DB B

シリーズ

♦ ♦ ♦ ♦ ♦ ♦

メモ : 1. ザイ リ ンクス iMPACT サポート とは、ザイ リ ンクスがこれらの SPI フラ ッシュ メモ リ デバイスの互換性を物理的にテス ト済みで、ザイ

リ ンクス認定の JTAG ケーブルを用いた iMPACT プログラ ミ ング ユーティ リ ティによるプログラ ミ ング サポートがあるこ とを示します。 iMPACT は表内のすべてのデバイスに互換性のあるプログラ ミ ング情報を生成します。

2. 固有の ID とは、 これらの SPI フラ ッシュ メモ リ デバイスには、 FPGA アプリ ケーシ ョ ンまたは IP コアの保護に有益な、 工場でプログラムされた固有の識別ビッ トがあるこ とを示します。

表 4-3 : iMPACT でサポート されたSPI シリアル フラ ッシュ PROM

ベンダー STMicro (Numonyx) 社 Atmel 社

ステータス 推奨 サポート済み 推奨 サポート済み

集積度 (ビッ ト ) M25Pxx M25PExx M45PExx AT45DBxxxD AT45DBxxxB

512K M25P05A

1M M25P10A M25PE10 M45PE10 AT45DB011D AT45DB011B

2M M25P20 M25PE20 M45PE20 AT45DB021D AT45DB021B

4M M25P40 M25PE40 M45PE40 AT45DB041D AT45DB041B

8M M25P80 M25PE80 M45PE80 AT45DB081D AT45DB081B

16M M25P16 AT45DB161D AT45DB161B

32M M25P32AT45DB321DAT45DB321C

AT45DB321B

64M M25P64 AT45DB642D

128M M25P128

Page 106: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

108 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

フ ィギュレーシ ョ ン開始時に FPGA が発行する SPI フラ ッシュの読み出しコマンドを定義し

ます。 このコマンドの後には、 0 で開始する 24 ビッ トのアドレス、その後に特定のコマンドで

必要と されるダ ミー ビッ ト数が続きます。

♦ Fast Read コマンド (コマンド コード 0x0B) は 新の 25 シ リーズの SPI シ リ アル フラ ッ

シュ デバイスでサポート されています。 VS[2:0] <1:1:1> を設定してこのコマンドを使用

します。 Fast Read コマンドをサポートする SPI フラ ッシュ PROM は、 Read コマンド も

サポート しています。

♦ Read コマンド (コマンド コード 0x03) は 25 シ リーズのすべての SPI シ リアル フラ ッ

シュ デバイスで提供されるレガシ コマンド設定です。 VS[2:0] <1:0:1> を設定してこのコ

マンドを使用します。

♦ Read Array コマンド (コマンド コード 0xE8) は、 すべての Atmel 社の AT45 シ リーズ

DataFlash PROM で提供されています。 VS[2:0] <1:1:0> を設定してこのコマンドを使用

します。

♦ Atmel 社の AT45DB D シ リーズ PROM のよ うな 新の SPI フラ ッシュ PROM の一部は

3 つの読み出しコマンドをすべてサポート しています。

• 使用する SPI シ リ アル メモ リは、 コンフ ィギュレーシ ョ ン後に FPGA アプリ ケーシ ョ ンをサ

ポートするため、1 つ以上の FPGA ビッ ト ス ト リームおよびほかの不揮発性メモリ要件を含む

のに十分な大きさである必要があ り ます。

♦ 個々の圧縮されていない FPGA ビッ ト ス ト リームのサイズを 99 ページの表 4-6 に示しま

す。ただし、サイズの要件は 30 ページの 「ビッ ト ス ト リームの圧縮」 を使用するこ とで減

少する可能性があ り ます。

♦ Spartan-3A/3AN/3A DSP FPGA でマルチブート を使用する と、 各マルチブート コンフ ィ

ギュレーシ ョ ン ビッ ト ス ト リームのサイズが大き くな り ます。 基本的には、これは個々の

FPGA ビッ ト ス ト リームと同じですが、マルチブートは 1 つの FPGA 内に複数の選択可能

なビッ ト ス ト リームが存在するこ とを可能にします。

♦ デイジー チェーンのコンフ ィギュレーシ ョ ン手法を使用する と、 1 つの SPI フラ ッシュ

PROM には複数の FPGA ビッ ト ス ト リームを保存できます。 デージー チェーン内の各

FPGA のビッ ト ス ト リームのサイズを追加します。

♦ コンフ ィギュレーシ ョ ン後に、MicroBlaze® コアまたは FPGA アプリ ケーシ ョ ンのほかの

不揮発性データを保存するために SPI PROM を使用する場合は、これらのビッ ト ス ト リー

ムのそれぞれのサイズを追加します。

♦ 選択したフラ ッシュ PROM デバイスの要件に従って、 ページまたはセクタ バウンダ リに

データを整合させるため、 すべての要件を追加します。

表 4-4 : Spartan-3 ジェネレーシ ョ ン FPGA でサポート される SPI 読み出しコマンド

VS[2:0] ピン 読み出し

コマンド

16 進数のコマ

ンド コードアドレス ビッ ト ダミー ビッ ト

VS2 VS1 VS0

1 1 1 Fast Read 0x0B

24 ビッ ト 、

すべて 0

8 ビッ ト 、

すべて 0

1 0 1 Read 0x03 なし

1 1 0 Read Array 0xE8 32 ビッ ト 、

すべて 0

その他 予約済み

Page 107: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 109UG332 (v1.4) 2008 年 7 月 1 日

互換性のある SPI シリアル フラ ッシュの選択

• 将来的なよ り大型の FPGA への移行の可能性、 または追加データの上位移行の可能性を考慮

し、 よ り大型で互換性のある集積度の SPI PROM ファ ミ リ を選択します。

• デザインの複製防止が必要な Spartan-3E FPGA アプリ ケーシ ョ ンには、 固有の識別子 (ID) がある SPI PROM を選択します。 詳細は、 301 ページの 「Spartan-3E FPGA : 汎用フラ ッシュ

PROM のセキュ リティ機能を利用」 を参照してください。 Spartan-3A/3AN/3A DSP FPGA には、 SPI PROM を使用した同様の保護機能があ り ます。 詳細は、 300 ページの 「Spartan-3A/3AN/3A DSP FPGA : Device DNA によるコンフ ィギュレーシ ョ ン PROM のインプ リ ン

ティングまたはウォーターマーキング」 を参照してください。

• ザイ リ ンクス iMPACT では ISE 8.2i 以降で、ザイ リ ンクス プログラ ミ ング ケーブルを使用し

た、直接的なインシステム プログラ ミ ングができます。 しかし、現在のソフ ト ウェア バージ ョ

ンでは、95 ページの表 4-2 に示す STMicro 社および Atmel 社デバイスのみをサポート してい

ます。 多くの 25 シ リーズ PROM は、STMicro Numonyx M25Pxx ファ ミ リ と直接互換でき、製

造過程で置き換え可能です。

Page 108: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

110 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

表 4-5 : データシートの互換性があるほかの SPI フラ ッシュ メモリ デバイス (ザイリンクスでは未検証、 iMPACT のサポー

トなし )

SPI フラッシュ ザイリン

クス iMPACTサポート

固有の ID

読み出しコマンド

集積度 (ビッ ト )Fast Read(0x0B)

Read(0x03)

Read Array(0xE8)

FPGA VS[2:0] 設定

ベンダー ファミ リ 1:1:1 1:0:1 1:1:0 512K 1M 2M 4M 8M 16M 32M 64M 128M

Atmel AT26

AT25

Spansion (AMD、

Fujitsu)S25FL

Winbond (NexFlash)

NX25P

W25P

W25X

Intel (Numonyx)

S33

SSTSST25L

SST25V

Macronix MX25

Chingis (PMC) Pm25

AMIC A25L

Eon EN25

メモ : 1. 互換性は、 一般に入手可能なデータシートに基づいています。

2. 固有の ID とは、 これらの SPI フラ ッシュ メモ リ デバイスには、 FPGA アプリ ケーシ ョ ンまたは IP コアの保護に有益な、 工場でプログラムされた固有の識別ビッ トがあるこ とを示します。

Page 109: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 111UG332 (v1.4) 2008 年 7 月 1 日

互換性のある SPI シリアル フラ ッシュの選択

SPI フラッシュ PROM 集積度の要件

表 4-6 に、 1 つの Spartan-3A/3AN/3A DSP FPGA または Spartan-3E FPGA をプログラムできる

小の使用可能な SPI フラッ シュ PROM を表示します。 市販の SPI フラッ シュ PROM の集積度の範

囲は 1Mb ~ 128Mb です。複数 FPGA がデイジー チェーン接続したアプリ ケーショ ンでは、すべて

の FPGA ファ イル サイズの合計を含むのに十分な大きさの SPI フラッ シュ PROM が必要です。 また、アプリ ケーショ ンでは、FPGA コンフィ ギュレーショ ン データ以外の追加のデータを保存するた

めに、より 大型の集積度の SPI フラッ シュ PROM も使用できます。 たと えば、SPI フラッ シュ PROMには、Spartan-3A または Spartan-3E FPGA に統合された MicroBlaze® RISC プロセッ サ コアのアプ

リ ケーショ ン コード を保存できます。 詳細は、「 コンフィ ギュレーショ ン後の SPI フラッ シュ イン

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

表 4-6 : Spartan-3A/3AN/3A DSP FPGA または Spartan-3E FPGA のプログラムに必要なビッ

ト数および 小の SPI フラッシュ PROM

ファ ミ リ FPGAコンフ ィギュレーシ ョ ン ビッ ト

の総数

(圧縮なし )

使用可能な 小の SPI フラ ッシュ

PROM

Spartan-3A/3AN

XC3S50A/AN 437,312 512Kb

XC3S200A/AN 1,196,128 2Mb

XC3S400A/AN 1,886,560 2Mb

XC3S700A/AN 2,732,640 4Mb

XC3S1400A/AN 4,755,296 8Mb

Spartan-3A DSPXC3SD1800A 8,197,280 8Mb

XC3SD3400A 11,718,304 16Mb

Spartan-3E

XC3S100E 581,344 1Mb

XC3S250E 1,353,728 2Mb

XC3S500E 2,270,208 4Mb

XC3S1200E 3,841,184 4Mb

XC3S1600E 5,969,696 8Mb

Page 110: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

112 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

SPI PROM への FPGA の接続

表 4-7 に、 SPI フラッシュ PROM および FPGA の SPI コンフィ ギュレーショ ン インターフェイス間

の接続を示します。 各 SPI フラッシュ PROM ベンダーはわずかに異なる信号名を使用しています。

101 ページの表 4-8 に、マスタ SPI コンフ ィギュレーシ ョ ン モードで使用されるすべての FPGA ピンを一覧表示します。

モード セレク ト ピン M[2:0] および変数セレク ト ピン VS[2:0] は、FPGA の INIT_B 出力が Highになる とサンプルされ、 この間、 定義されたロジッ ク レベルにある必要があ り ます。 コンフ ィギュ

レーシ ョ ン後、FPGA の DONE 出力が High になる と、これらのピンはすべて、全機能を備えたユー

ザー I/O ピンと して使用可能とな り ます。

表 4-7 : SPI フラ ッシュ PROM 接続およびピン名の例

SPI フラ ッシュ ピン FPGA の接続 STMicro 社Winbond/

NexFlash 社Silicon Storage Technology 社

Atmel 社DataFlash

Slave Data Input MOSI D DI SI SI

Slave Data Output DIN Q DO SO SO

Slave Select CSO_B S CS CE# CS

Slave Clock CCLK C CLK SCK SCK

Write Protect FPGA コンフィギュレーションでは不要。

SPI フラッシュ をプログラムするには Highである必要がある。 コンフィギュレーション

後はオプションで FPGA のユーザー I/O に接続

W WP WP# WP

Hold(図 4-1 を参照)

FPGA コンフ ィギュレーシ ョ ンでは不要だ

が、 コンフ ィギュレーシ ョ ン中およびプロ

グラ ミ ング中は High である必要がある。コ

ンフ ィ ギュ レーシ ョ ン後はオプシ ョ ンで

FPGA のユーザー I/O に接続。 Atmel 社の

DataFlash には適用されない

HOLD HOLD HOLD# N/A

Reset(図 4-2 を参照)

Atmel 社の DataFlash にのみ適用。 FPGAコンフ ィギュレーシ ョ ンでは不要だが、 コ

ンフ ィギュレーシ ョ ン中およびプログラ ミ

ング中は High である必要がある。 コン

フ ィ ギ ュ レーシ ョ ン後はオプシ ョ ンで

FPGA のユーザー I/O に接続。DataFlash を直接プログラムする妨げになるこ とがある

ため、 FPGA の PROG_B に接続しない

なし なし なし RESET

Ready/Busy(図 4-2 を参照)

Atmel 社の DataFlash のみに適用し、 特定

のパッケージのみで使用可能。 FPGA コン

フ ィギュレーシ ョ ンでは不要。 DataFlashPROM から出力。 コンフ ィギュレーシ ョ ン

後はオプシ ョ ンで FPGA のユーザー I/O に接続

なし なし なし Ready/Busy

W

Page 111: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 113UG332 (v1.4) 2008 年 7 月 1 日

SPI PROM への FPGA の接続

同様に、 FPGA の HSWAP または PUDC_B ピンを定義する必要があ り ます。 Low に設定して

コンフ ィギュレーシ ョ ン中にすべてのユーザー I/O ピンのプルアップ抵抗を有効にするか、High に設定してプルアップ抵抗を無効にします。 HSWAP または PUDC_B 制御ピンは FPGA コンフ ィ

ギュレーシ ョ ン中に一定のロジッ ク レベルのままである必要があ り ます。 コンフ ィギュレーシ ョ ン

後、 FPGA の DONE 出力が High になった場合、 HSWAP または PUDC_B ピンは、 全機能を備え

たユーザー I/O ピンと して使用可能で、 VCCO_0 電源で電源供給されます。

110 ページの 「デイジー チェーン接続のコンフ ィギュレーシ ョ ン」 で述べるデイジー チェーン接続

のアプリ ケーシ ョ ンでは、 FPGA の DOUT ピンが使用されます。 単体の FPGA を使用したアプリ

ケーシ ョ ンでは、FPGA の DOUT ピンは非アクティブですが、内部抵抗を介して High にプルアッ

プされます。

SPI フラ ッシュ PROM の Write Protect および Hold 制御は、 コンフ ィギュレーシ ョ ン中は

FPGA によって使用されません。ただし、Hold ピンはコンフ ィギュレーシ ョ ン プロセス中に Highである必要があ り ます。 フラ ッシュ メモ リの書き込みまたはプログラムのために、PROM の WriteProtect 入力は High である必要があ り ます。

P

W

表 4-8 : SPI (シリアル ペリフェラル インターフェイス) 接続

ピン名FPGA の入力/出力

説明 コンフ ィギュレーシ ョ ン中 コンフィ ギュレーショ ン後

HSWAP PUDC_B

入力 ユーザー I/O プルアップ制御。 コン

フィギュレーション中 Low の場合は、

各 I/O バンク VCCO 入力への全 I/O ピンのプルアップ抵抗を有効にする。 50ページの 「コンフィギュレーショ ン中

のプルアップ抵抗」 参。

0 : コンフィギュレーショ ン中プル

アップ

1 : プルアップなし

コンフ ィギュレーシ ョ ンを通

して有効なロジック レベルで

駆動

ユーザー I/O

M[2:0] 入力 モード セレク ト 。 FPGA のコンフィ

ギュレーショ ン モード を選択。

Spartan-3A/3AN/3A DSP FPGA には

こ れら のピンに専用の内部プルアッ

プ抵抗がある。 38 ページの「 コンフィ

ギュレーショ ン モード の選択 :M[2:0]」 参照

M2 = 0、 M1 = 0、 M0 = 1。INIT_B が Highになる とサ

ンプルされる。

Spartan-3A/3AN/3A DSPFPGA には VCCO_2 への内

部プルアップ抵抗がある

ユーザー I/O

VS[2:0] 入力 変数セレク ト。 FPGA に付属の SPIフラ ッシュ PROM との通信方法を

指定。 Spartan-3A/3AN/3A DSPFPGA にはこれらのピンに専用の内

部プルアップ抵抗がある

表 4-2 に示すロジッ ク レベ

ル に あ る 必 要 が あ る。

INIT_B が High になる とサ

ンプルされる。 Spartan-3A/3AN/3A DSP FPGA には

VCCO_2 への内部プルアッ

プ抵抗がある

ユーザー I/O

MOSI 出力 マスタ SPI シ リ アル データ出力。

SPI フラ ッシュ PROM の Slave DataInput ピンに接続

FPGA が SPI フラッシュ メ モ

リ に読み出しコマンド を送信

し、PROM のシリ アル データ

入力へのアド レスを開始

ユーザー I/O

P

Page 112: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

114 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

DIN 入力 マスタ SPI シ リ アル データ入力。

SPI フラ ッシュ PROM の Slave DataOutput ピンに接続

FPGA が PROM のデータ出

力からシリアル データを受信

ユーザー I/O

CSO_B 出力 マスタ SPI シ リ アル データ出力。 アクティブ Low。 SPI フラ ッシュ

PROM の Slave Select 入力に接続。

HSWAP または

PUDC_B = 1 の場合、3.3V への 4.7kΩ のプルアップ抵抗

に信号を接続する

SPI フラ ッシュを無効に

し、MOSI、DIN、および

CCLK ピンを再び使用す

る ために コ ン フ ィ ギ ュ

レーシ ョ ン後、 CSO_Bを High に駆動する。 オプシ ョ ンで こ のピ ン と

MOSI、 DIN、 お よ び

CCLK ピンを再利用し、

SPI フラ ッシュ との通信

を継続する。 107 ページ

の 「コ ン フ ィ ギ ュ レ ー

シ ョ ン後の SPI フラ ッ

シュ インターフェイス」

参照

CCLK 出力 コンフ ィギュレーシ ョ ン ク ロ ッ ク。

FPGA の内部オシレータで生成。 SPIフラ ッシュ PROM の Slave Clock 入力に接続。 BitGen の ConfigRate オプ

シ ョ ンで周波数を制御。 CCLK PCBト レースが長い、 または複数の接続

がある場合は、 シグナル インテグ リ

テ ィ を維持するため、 この出力を終

了。 44 ページの 「コンフ ィギュレー

シ ョ ン ク ロ ッ ク : CCLK」 参照

PROM のクロッ ク入力を駆動 ユーザー I/O。未使用時に

は High または Low に駆

動。 コ ン フ ィ ギ ュ レ ー

シ ョ ンに 適なシグナル

インテグ リ テ ィ を維持す

るため、 CCLK への過剰

な読み込みを避ける

DOUT 出力 シ リ アル データ出力。 複数 FPGA がデイジー チェーン接続したコンフ ィ

ギュレーシ ョ ンで使用

単一の FPGA を用いたデザ

インでは不使用。DOUT はプ

ルアップされアクティブには

駆動しない。 デイジー チェー

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

では、 このピンはチェーン内

の後続 FPGA の DIN 入力に

接続

ユーザー I/O

表 4-8 : SPI (シリアル ペリフェラル インターフェイス) 接続 (続き)

ピン名FPGA の入力/出力

説明 コンフ ィギュレーシ ョ ン中 コンフィ ギュレーショ ン後

Page 113: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 115UG332 (v1.4) 2008 年 7 月 1 日

SPI PROM への FPGA の接続

INIT_B オープン ド レインの

双方向 I/O

初期化インジケータ。 アクティブ

Low。 コンフィギュレーショ ン開始時

のメモリ初期化プロセスでは Low。 メモリ初期化の 後で、モード セレク ト

ピンのサンプル時にリ リース。 49 ページの「コンフィギュレーショ ン

メモリ、 コンフィギュレーション エ

ラーの初期化 : INIT_B」 参照

コンフィ ギュレーショ ン中は

アクティ ブ。 電源投入後、SPIフラッ シュ PROM が起動す

るのに 2ms 以上必要な場合、

PROM が使用可能になるま

で Low に保持。 104 ページの「 システムの

3.3V 電源がシーケンスの

後である場合の電源投入時の

注意事項」 参照

コンフ ィギュレーシ ョ ン中に

CRC エラーが検出された場

合、FPGA は INIT_B を Lowに駆動。 311 ページの 「コン

フ ィ ギ ュ レ ーシ ョ ン 中の

CRC チェッ ク」 参照

ユーザー I/O。アプ リ ケー

シ ョ ンで未使用の場合、

フローテ ィ ングを回避す

るため High に駆動。 「コン フ ィ ギ ュ レーシ ョ ン

後」 の INIT_B 参照

DONE オープン ド レインの

双方向 I/O

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

了。 コンフ ィギュレーシ ョ ン中は

Low。 FPGA のコンフ ィギュレー

シ ョ ンが正常に完了後、High になる。

40 ページの 「DONE ピン」 参照

Low の場合、 FPGA がコン

フ ィギュレーシ ョ ンされてい

ないこ とを示す

外部プルアップ抵抗を介

して High にプルアップ。

High の場合は FPGA のコンフ ィギュレーシ ョ ン

の完了を示す

PROG_B 入力 FPGA のプログラム。 アクティ ブ

Low。 500ns 以上 Low にアサート さ

れると 、PROG_B が High に戻った後

で、コンフィ ギュレーショ ン メ モリ を

初期化し、DONE および INIT_B ピン

を リ セッ ト し てし てコ ンフ ィ ギュ

レーショ ン プロセスを再実行する

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

は、 コンフ ィギュレーシ ョ ン

を開始するために High であ

る必要がある

FPGA の再プログラムの

ために Low に駆動し、 リ

リースする。FPGA I/O ピンをハイ インピーダンス

状態にするために保持す

る。 SPI フラ ッシュ

PROM ピンへの直接プ

ログラ ミ ング アクセスが

可能になる

VCCO_2 電圧電源

入力

I/O バンク 2 への電圧電源入力。 SPIフラ ッシュ PROM にインターフェ

イス ピンを提供

3.3V。 VCCO_2 電源が

VCCINT または VCCAUX よ り

先に立ち上がるか、 または

PROM が適切な速さで起動

するこ とを確実にする。 104ページの 「システムの 3.3V電源がシーケンスの 後であ

る場合の電源投入時の注意事

項」 参照

3.3V

表 4-8 : SPI (シリアル ペリフェラル インターフェイス) 接続 (続き)

ピン名FPGA の入力/出力

説明 コンフ ィギュレーシ ョ ン中 コンフィ ギュレーショ ン後

Page 114: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

116 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

電圧の互換性

入手可能な SPI フラ ッシュ PROM では、3.3V の電源電圧のみを使用しています。 FPGA の SPI フラ ッシュ インターフェイス信号はすべて、I/O バンク 2 にあ り ます。したがって、FPGA の VCCO_2電源電圧も SPI フラ ッシュ PROM と一致するよ うに 3.3V でなければなり ません。

詳細は、104 ページの「システムの 3.3V 電源がシーケンスの 後である場合の電源投入時の注意事

項」 を参照してください。

また、 196 ページの 「JTAG ケーブルの電圧の互換性」 も参照してください。

システムの 3.3V 電源がシーケンスの 後である場合の電源投入時の注意事項

Spartan-3E および Spartan-3A/3AN/3A DSP FPGA には、内蔵された POR (パワー オン リセッ ト ) 回路

があります。 FPGA は、 コンフィギュレーショ ン プロセス開始前に、 その 3 つの電源 (VCCINT、

VCCAUX、 および I/O バンク 2 (VCCO_2) への VCCO) がそれぞれのパワー オンしきい値に到達するま

で待機します。 詳細は、 240 ページの 「POR (パワー オン リセッ ト )」 を参照してください。

SPI フラ ッシュ PROM は、 FPGA の VCCO_2 電圧入力と同じ電圧電源 (通常 3.3V) で電源供給さ

れます。 SPI フラ ッシュ PROM は、VCC 電源がデータシートの 小電圧に達し、追加の遅延が終了

するまで、アクセスできません。表 4-9 に示すよ うに一部のデバイスでは、 この追加の遅延は 10µsと短いものです。 その他のベンダーでは、 この遅延は 20ms と長くな り ます。

多くのシステムでは、FPGA の VCCO_2 入力に電源供給する 3.3V 電源は、FPGA のほかの VCCINTおよび VCCAUX 電源の前に有効になるため、 結果と して問題は発生しません。 しかし、 FPGA のVCCO_2 電源に電源供給する 3.3V 電源がシーケンスの 後に投入される と、図 4-3 に示すよ うに、

FPGA および SPI フラ ッシュ PROM 間で競合が発生する場合があ り ます。

表 4-9 : さまざまな SPI フラ ッシュ PROM の 小電源投入時間の例

ベンダーSPI フラ ッシュ PROM

デバイス番号

VCC 小 から Select = Low へのデータシートの 小時間

シンボル 値 単位

STMicro(Numonyx) M25Pxx TVSL 10 ms

Spansion S25FLxxxA tPU 10 msNexFlash NX25xx TVSL 10 msMacronix MX25Lxxxx tVSL 10 msSilicon Storage Technology SST25LFxx TPU-READ 10 msP r o g r a m m a b l eMicroelectronics Corporation Pm25LVxxx TVCS 50 ms

Atmel Corporation AT45DBxxxD tVCSL 50 ms

AT45DBxxxB — 20 ms

メモ : 1. メモ リ ベンダーは製品および仕様を常に向上させています。 新の値については、 メモ リ ベンダーのデータシート を確認してください。

Page 115: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 117UG332 (v1.4) 2008 年 7 月 1 日

システムの 3.3V 電源がシーケンスの 後である場合の電源投入時の注意事項

FPGA の VCCINT および VCCAUX 電源がすでに電源供給され、有効である場合、FPGA はコンフ ィ

ギュレーシ ョ ン前に VCCO_2 が 小電圧しきい値に達するまで待機します。 Spartan-3E または

Spartan-3A/3AN/3A DSP データシートでは、この電圧しきい値は VCCO2T と表示されています。 電圧範囲は、表 4-10 に一覧表示され、SPI フラ ッシュ PROM の 小電圧よ り も大幅に低くな り ます。

3 つの FPGA 電源すべてがそれぞれの POR (パワー オン リセッ ト ) しきい値に達する と、FPGA はコンフ ィギュレーシ ョ ン プロセスを開始し、内部コンフ ィギュレーシ ョ ン メモ リの初期化を開始し

ます。 表 4-10 に示すとおり、 初期化は 短で 1ms で完了します。 その後 FPGA が INIT_B をディ

アサート し、SPI フラ ッシュ PROM を選択して適切な読み出しコマンドの送信を開始します。 この

時点で、 SPI フラ ッシュ PROM は読み出し動作の開始が可能になっているはずです。

3.3V 電源がシーケンスの 後にあ り、 立ち上がり速度が不十分であるか、 FPGA で必要な時点で

SPI フラ ッシュ PROM が使用できない場合、 いくつかの解決方法があ り ます。

• 3.3V の VCCO_2 が、FPGA の VCCINT または VCCAUX 電源の前に電源投入され、有効になる

よ うに電源投入シーケンスを変更する。

• よ り速度の速い電源投入タイ ミ ング仕様の SPI フラ ッシュ PROM ファ ミ リ またはベンダーに

変更する。 たとえば、Atmel 社の AT45DBxxxB ファ ミ リは電源投入要件が 20ms であるのに対

し、 互換性のある AT45DBxxxD ファ ミ リの要件はわずか 30µs である。

• FPGA の PROG_B 入力または INIT_B 入力を Low に保持し、FPGA コンフ ィギュレーシ ョ ン

プロセスを遅延させる。 SPI フラ ッシュ PROM が使用可能になったと きに FPGA を リ リース

する。 たとえば、 INIT_B ピンに付属する単純な R-C 遅延回路は、 あらかじめ設定された時間

FPGA を強制的に待機させる。 また、3.3V 電源からの Power Good 信号またはシステム リセッ

ト信号は同じ役割を果たす。 PROG_B または INIT_B を駆動する場合は、オープン ド レインま

たはオープン コレクタ出力を使用する。

図 4-3 : 3.3V 電源が電源投入シーケンスの 後である場合の SPI フラ ッシュ PROM/FPGA の電源投入タイ ミング

FPGA VCCO_2 minimumPower On Reset Voltage

(VCCO2T)

SPI Flash PROMminimum voltage

SPI Flash available forread operations

SPI Flash

(tVSL)

SPI Flash cannot be selected

FPGA initializes configurationmemory

3.3V Supply

FPGA accessesSPI Flash PROM

Time

SPI Flash PROM mustbe ready for FPGA

access, otherwise delayFPGA configuration

UG332_c4_08_102506

(TPOR)(VCCINT, VCCAUX

already valid)

PROM CSdelay

Page 116: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

118 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

Spartan-3A/3AN/3A DSP およびコンフ ィギュレーシ ョ ン ウォッチド ッグ タイマ

Spartan-3A/3AN/3A DSP FPGA には、CWDT (コンフ ィギュレーシ ョ ン ウォッチド ッグ タイマ) があ り、3.3V 電源が 後に適用される場合でも、SPI フラ ッシュ コンフ ィギュレーシ ョ ンをよ り堅固

にしています。

マスタ SPI モードでは、 CWDT は CCLK の 初の 216-1 サイクル内で SPI フラ ッシュ PROM から有効な同期ワードを確実に読み出します。 同期ワードは FPGA コンフ ィギュレーシ ョ ン ビッ ト

ス ト リームの一部です。 FPGA が同期ワードを検出できない場合は、CWDT が FPGA に対して自動

的に SPI フラ ッシュ読み出しコマンドの再送を強制し、コンフ ィギュレーシ ョ ン プロセスを再実行

します。 CWDT による SPI フラ ッシュからのコンフ ィギュレーシ ョ ンは、3 回再実行する とエラー

になり ます。 FPGA のコンフ ィギュレーシ ョ ンにエラーがある場合、 INIT_B ピンが Low に駆動さ

れ、 エラーを示します。

CCLK 周波数

SPI フラ ッシュ モードでは、FPGA の内部オシレータがコンフ ィギュレーシ ョ ン ク ロ ッ ク周波数を

生成します。 FPGA は、CCLK 出力ピンにこのクロ ッ クを供給し、PROM の Slave Clock 入力ピン

を駆動します。 FPGA は、 小の周波数設定でコンフ ィギュレーシ ョ ンを開始します。 コンフ ィギュ

レーシ ョ ン ビッ ト ス ト リームで設定されている場合は、FPGA は残りのコンフ ィギュレーシ ョ ン中

に CCLK 周波数を設定値まで増加させます。 大周波数は、BitGen の ConfigRate オプシ ョ ンを使

用して設定します。 FPGA コンフ ィギュレーシ ョ ン ロジッ クでサポート されている 大周波数は、

SPI フラ ッシュ デバイスのタイ ミ ングによって異なり ます。 特定の SPI フラ ッシュ PROM のタイ

ミ ングを確認せずに、 ConfigRate = 12 以下を使用します。 FAST READ コマンドをサポートする

SPI フラ ッシュ PROM は、よ り高いデータ レート をサポート します。 このよ うな PROM の一部は、

大 ConfigRate = 25 以上をサポート しますが、データシートでの詳細な分析が必要です。 タイ ミ ン

グ解析の詳細は、 132 ページの 「シ リ アル ペリ フェラル インターフェイス (SPI) のコンフ ィギュ

レーシ ョ ンのタイ ミ ング」 を参照してください。

表 4-11 に、 さまざまな ConfigRate 設定オプシ ョ ンおよび SPI フラ ッシュ PROM の関連する

Clock-to-Output 要件 (TV) を示します。 TV 値は、 134 ページの表 4-16 の数式に基づいて決定され

ます。Spartan-3A/3AN/3A DSP FPGA には、Spartan-3E よ り も多くの ConfigRate 設定があ り ます。

Spartan-3E FPGA 列の灰色のセルはそれを示します。 ビッ ト ス ト リーム生成時に ConfigRate 設定

が指定されていない限り、 Spartan-3E FPGA ではデフォルト設定を使用します。デフォルト設定は

も低速な ConfigRate = 1 であ り、 コンフ ィギュレーシ ョ ンに全体に要する時間を延ばします。

Spartan-3A/3AN/3A DSP FPGA のデフォルト設定は ConfigRate = 6 です。

表 4-10 : Spartan-3E および Spartan-3A/3A/3A DSP POR タイ ミングおよびしきい値

シンボル 説明 Spartan-3E Spartan-3A/3ANSpartan-3A DSP 単位

VCCO2T

VCCO_2 電圧では、 POR (パワー オン リセッ ト ) 回路がリ リースされた時点で、

VCCINT および VCCAUX 電源がすでに適

用され有効になっているとみなされる

0.4 ~ 1.0 0.8 ~ 2.0 V

TPOR

FPGA の POR 回路がリ リースされてか

ら INIT_B ピンの立ち上がりエッジま

での時間

1 ~ 7 1 ~ 18 ms

Page 117: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 119UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ン後の SPI フラッシュ インターフェイス

コンフ ィギュレーシ ョ ン後の SPI フラッシュ インターフェイス

FPGA のコンフ ィギュレーシ ョ ンが正常に完了後、SPI フラ ッシュ PROM に接続されたすべてのピ

ンがユーザー I/O ピンと して使用可能になり ます。

コンフ ィギュレーシ ョ ン後 SPI フラ ッシュを使用しない場合

コンフ ィギュレーシ ョ ン後、 SPI フラ ッシュ PROM を使用しない場合は、 図 4-4 に示すとおり、

CSO_B を High に駆動して PROM を無効にします。 MOSI、 DIN、 および CCLK ピンはその後、

表 4-11 : FPGA ConfigRate 設定および対応する SPI フラ ッシュ PROM の Clock-to-Output 要件 (TV)

ConfigRate ビッ ト

ス ト リームの設定

SPI フラ ッシュの 大 TV 仕様

単位Spartan-3E Spartan-3A/3ANSpartan-3A DSP

コマーシャル インダスト リアル コマーシャル インダスト リアル

1

(デフォルト )< 265 < 224 < 588 < 553

ns

3 <127 < 106 < 189 < 178

6(Spartan-3A/

3AN/3A DSP のデフォルト

< 58 < 47 < 91.3 < 85.6

12 < 23.5 < 18.3 < 41.9 < 39

13 < 37.1 < 34.8

17 < 27.2 < 25.3

22 < 18.6 < 17.2

25 < 6.1 < 3.5 < 15.3 < 14.4

27 < 13.9 < 13

33 < 10.1 < 9.2

44 < 5.3 < 4.9

Page 118: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

120 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

FPGA アプリ ケーシ ョ ンで汎用の I/O ピンと して使用可能になり ます。ただし、 高のシグナル インテグ リティを保つため、 可能であれば CCLK への追加のロードは避けてください。

CSO_B を選択解除する と、 SPI PROM はよ り低電力のスタンバイ モードになり ます。 詳細は 136ページの 「スタンバイ モードを開始するために CSO_B をディアサート 」 を参照してください。

コンフ ィギュレーシ ョ ン後 SPI フラ ッシュを使用する場合

すべてのインターフェイス ピンはコンフィギュレーショ ン後にユーザー I/O となるため、図 4-5 に示す

とおり、FPGA アプリケーショ ンは SPI フラッシュ PROM との通信のために SPI フラッシュ インター

フェイス ピンを使用し続けるこ とができます。 SPI フラッシュ PROM は、 FPGA アプリケーションに

ランダムなアクセス、バイ トでのアドレス指定、読み出し /書き込み、不揮発性ス ト レージを提供します。

注意 : FPGA コンフ ィギュレーシ ョ ン ロジッ クが CCLK ピンで SPI フラ ッシュ インターフェ

イスを制御する前に、 このピンを使用してコンフ ィギュレーシ ョ ンを完了し、 スタート アップ

できるよ うにします。 ほとんどの多目的ピンが GTS サイクルで I/O になり ますが、 CCLK は EOS (End of Startup) まで待機する必要があ り ます。 干渉を回避するため、 コンフ ィギュレー

シ ョ ン後、 ク ロ ッ クの 2 サイ クル分アクセスを遅らせます。 詳細は 第 12 章 の 「スタート アッ

プ」 を参照してください。

図 4-4 : コンフ ィギュレーシ ョ ン後に SPI を使用しない場合は、 CSO_B ピンを High に駆動

FPGASPI Flash

PROM

MOSIDIN

CSO_BCCLK

DQSC

User -I/O

a) During configuration

FPGASPI Flash

PROM

(User I/O)

‘1’

DQSC

User -I/O

b) After successful configuration

(User I/O)

(User I/O)

De-selected(Standby)

UG332_c4_19_040107

Page 119: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 121UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ン後の SPI フラッシュ インターフェイス

FPGA ロジックを使用した SPI マスタ インターフェイス

FPGA には、 コンフ ィギュレーシ ョ ン以外には専用の SPI インターフェイスがあ り ません。 した

がって、コンフ ィギュレーシ ョ ン後に SPI フラ ッシュまたはほかの SPI デバイスにアクセスするに

は、FPGA アプリ ケーシ ョ ンは SPI バス マスタ インターフェイスを含む必要があ り ます。 ザイ リ ン

クスは次に述べる SPI インターフェイス コアを提供しています。

• MicroBlaze プロセッサ コアを含むアプリケーション用に、ザイ リンクス EDK (エンベデッ ド開発

キッ ト ) には、 MicroBlaze OPB バスに接続する SPI インターフェイスがあり ます。 使用されるオ

プションによって、 SPI インターフェイス コアは 147 から 203 スライスを使用します。

♦ OPB シ リ アル ペリ フェラル インターフェイス製品仕様

japan.xilinx.com/bvdocs/ipcenter/data_sheet/opb_spi.pdf

• 一般的なアプリ ケーシ ョ ン用には、8 ビッ トの PicoBlaze™ プロセッサ コアが、約 100 スライ

スおよび 1 つのブロ ッ ク RAM を必要とする使いやすいソ リ ューシ ョ ンを提供します。 デザイ

ン ソ リ ューシ ョ ンの例は Spartan-3E FPGA スタータ キッ ト ボードで入手できます。

♦ PicoBlaze STMicro SPI フラ ッシュ プログラマ

japan.xilinx.com/products/boards/s3estarter/reference_designs.htm#picoblaze_spi_flash_programmer

♦ PicoBlaze SPI ベースの D/A 変換コン ト ローラ

japan.xilinx.com/products/boards/s3estarter/reference_designs.htm#picoblaze_dac_control

SPI フラッシュ PROM へのアクセス

SPI フラ ッシュ PROM は 1Mb から 128Mb の集積度の範囲で入手できます。 しかし、 単体の

Spartan-3A/3E FPGA では 6Mb 以下しか使わず、 Spartan-3A DSP FPGA では、 11Mb を少し超え

る程度が必要です。 必要であれば、MicroBlaze プロセッサ コードなどの追加の不揮発性アプリ ケー

シ ョ ン データ、 またはシ リ アル番号およびイーサネッ ト MAC ID などのほかのユーザー データを

格納するために、大型の SPI フラ ッシュ PROM を使用します。 図 4-5 に示す例では、FPGA は SPIフラ ッシュ PROM からコンフ ィギュレーシ ョ ンします。 コンフ ィギュレーシ ョ ン後、 FPGA はFPGA のロジッ クを使用して MicroBlaze コードを SPI フラ ッシュから外部 DDR SDRAM にコ

図 4-5 : コンフ ィギュレーシ ョ ン後の SPI フラッシュ インターフェイスの使用

MOSI

DIN

CCLK

CSO_B

DATA_IN

DATA_OUT

CLOCK

SELECT

DATA_IN

DATA_OUT

CLOCK

SELECT

SPI Serial Flash PROM

FPGAConfiguration

MicroBlazeCode

User Data

0

FFFFF

SPI Peripherals- A/D Converter- D/A Converter- CAN Controller- Displays- Temperature Sensor- ASSP

User I/O

4.7

k

+3.3V

To other SPI slave peripherals

Spartan-3E/-3A/3AN/3A DSP FPGAD

DR

SD

RA

M

UG332_c4_09_040107

FPGA-basedSPI Master

- ASIC

Page 120: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

122 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

ピーしてコードを実行します。 同様に、FPGA アプリ ケーシ ョ ンは SPI フラ ッシュ PROM 内に不揮

発性アプリ ケーシ ョ ンデータを保存できます。

FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームまたは Spartan-3A/3AN/3A DSP マルチブート

アプリ ケーシ ョ ンの 初のコンフ ィギュレーシ ョ ン ビッ ト ス ト リームは常に開始アドレス 0 に保

存されます。 追加のデータは次に使用可能な SPI フラ ッシュ PROM セクタまたはページに保存し

ます。 コンフ ィギュレーシ ョ ン データおよびユーザー データを同じセクタまたはページに保存し

ないでください。

コンフ ィギュレーシ ョ ン後、FPGA アプリ ケーシ ョ ンは付属の SPI シ リ アル フラ ッシュ PROM のすべての特別な機能を活用できます。 たとえば、 Atmel 社の AT45DB シ リーズ PROM は、 Rapid-S と呼ばれる若干の変更を加えたシ リ アル インターフェイスをサポート します。FPGA はこのモー

ドを使用してコンフ ィギュレーシ ョ ンできませんが、 コンフ ィギュレーシ ョ ン後、 FPGA アプリ

ケーシ ョ ンは Rapid-S を使用して全体のデータ スループッ ト を増加できます。 同様に、

NexFlash/Winbond 社の W25X シ リーズ PROM は、デュアル出力 SPI と呼ばれる、 ク ロ ッ ク サイ

クルごとに 2 つのデータ ビッ ト送信する機能をサポート しますが、特別な読み出しコマンドが必要

です。 FPGA は、コンフ ィギュレーシ ョ ンでこのコマンドをサポート しませんが、コンフ ィギュレー

シ ョ ン後には、 FPGA アプリ ケーシ ョ ンはコマンドを実行できます。

ほかの SPI に互換性のあるペリフェラルへのアクセス

同様に、 SPI バスは追加の SPI ペリ フェラルに拡張できます。 SPI は一般的な業界標準のインター

フェイスで、A/D (Analog-to-Digital) コンバータ、D/A (Digital-to-Analog) コンバータ、CAN コン

ト ローラ、 および温度センサなどのさまざまな SPI ベースのペリ フェラルがあ り ます。

MOSI、DIN、および CCLK ピンは、すべての SPI ペリ フェラルに共通です。 追加の各 SPI ペリ フェ

ラルのセレク ト入力を FPGA のユーザー I/O ピンの 1 つに接続します。 コンフ ィギュレーシ ョ ン中

に HSWAP または PUDC_B = 0 の場合、FPGA はセレク ト ラインを High に保持します。 HSWAPまたは PUDC_B = 1 の場合、外部の 4.7 kΩ プルアップ抵抗を介してセレク ト ラインを +3.3V に接

続して、不正な読み出しまたは書き込み動作を回避します。 コンフ ィギュレーシ ョ ン終了後、セレク

ト ラインを Low に駆動し、 必要な SPI ペリ フェラルを選択します。

コンフ ィギュレーシ ョ ン中、CCLK は FPGA で制御され、FPGA で生成された値に周波数が限定さ

れます。 コンフ ィギュレーシ ョ ン後、FPGA アプリ ケーシ ョ ンは CCLK ピンの駆動にほかのクロ ッ

ク信号を使用でき、 SPI ベースの通信をさらに 適化できます。

注意 : CCLK ピンへの過剰なロード は避けてく ださい。 過剰なロード はこの重要な信号のシグ

ナル インテグリ ティ を低下させます。 46 ページの「 CCLK デザインの考察」 に示す推奨デザイ

ンを使用してく ださい。

個々のインターフェイスおよび通信プロ ト コルの要件については、 各 SPI ペリ フェラルのデータ

シート を参照して ください。

注意 : SPI インターフェイス付きである とするデバイスが多くあ り ますが、 タイ ミ ングや信号

の極性は、 デバイスおよびベンダー間で異なり ます。 使用するデバイスのデータシートで互換

性を確認して ください。

デイジー チェーン接続のコンフ ィギュレーシ ョ ン

アプリケーショ ンでコンフィギュレーショ ンが異なる複数の FPGA が必要な場合、111 ページの図 4-6に示すよ うに、 デイジー チェーンを使用して FPGA をコンフィギュレーショ ンします。 SPI PROM に接続された FPGA には、 SPI フラッシュ モード (M[2:0] = <0:0:1>) を使用し、 デイジー チェーン内の

その他の FPGA には、スレーブ シリアル モード (M[2:0] = <1:1:1>) を使用します。 マスタ FPGA (図中

左側の FPGA) が SPI フラッシュ PROM からのコンフィギュレーショ ン データのロードを完了後、マ

Page 121: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 123UG332 (v1.4) 2008 年 7 月 1 日

デイジー チェーン接続のコンフ ィギュレーシ ョ ン

スタ FPGAは CCLK の立ち下がりエッジで、DOUT 出力ピンを介してデイジー チェーンの後続デバイ

スにデータを送信します。

また、デイジー チェーンを正常にコンフ ィギュレーシ ョ ンするには、チェーンに含まれるすべての

FPGA に対する DONE_cycle 設定の後で、BitGen の GTS_cycle オプシ ョ ンをスタート アップ段階

に設定する必要があ り ます。 これは、 ソフ ト ウェアのデフォルト設定です。 オプシ ョ ンで

GTS_cycle:Done に設定します。

デバッグには、各 FPGA の INIT_B および DONE ピンに 0 オーム抵抗を付けること を推奨します。 コンフィ ギュレーショ ン エラーがある場合は、 FPGA を個々に隔離できます。 FPGA の DONE ピンの

ジャンパは、将来的なインシステム プログラ ミ ング サポート およびデバッグの目的で推奨されます。

灰色で表示したプルアップ抵抗はオプシ ョ ンですが、 ボード設計では必要です。 ボードの製造過程

でこれらの抵抗を実装する必要はあ り ません。 53 ページの表 2-13 で述べるよ うに、Spartan-3 ジェ

ネレーシ ョ ン FPGA のプルアップ抵抗は、対応する信号ピンをプルアップするのに十分な強さがあ

り ます。 CCLK のデブナン終端抵抗もオプシ ョ ンですが、 ボード設計では推奨されています。

注意 : SPI モードのデイジー チェーンは、 Spartan-3E FPGA ではステッピング 1 のシ リ コン バージ ョ ンのみでサポート されています。 SPI モードのデイジー チェーンは、 ステッピング 1 のシ リ コンをベースとするSpartan-3E オートモーティブ グレードのデバイスすべて、 および Spartan-3A/3AN/3A DSP FPGA バージ ョ ンすべてでサポート されています。

図 4-6 : SPI フラ ッシュ モードからのデイジー チェーン接続

CCLK

DIN

M2 M1 M0

DOUT

PROG_B DONE

INIT_B

‘0’ ‘0’ ‘1’

CCLK

DIN

M2 M1 M0

DOUT

PROG_B DONE

INIT_B

‘1’ ‘1’ ‘1’VCCO_2 VCCO_2VCCAUX

Master FPGA Slave FPGA

PROGRAM

0Ω 0Ω 0Ω

200Ω

200Ω

4.7k

Ω

330Ω

4.7k

Ω

MOSI

CSO_B

C

Q

D

SPI SerialFlash PROM

S

UG332_c4_20_111906

JUM

PE

R

Page 122: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

124 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

ギャングまたはブロードサイド コンフ ィギュレーシ ョ ン

「デイジー チェーン接続のコンフ ィギュレーシ ョ ン」 は、デザインが異なり、通常アレイ サイズが異

なる複数の FPGA をロードするために設計されています。 しかし、アプリ ケーシ ョ ンの一部には、す

べて同じビッ ト ス ト リームでプログラムされる複数かつ同一の FPGA を含むものがあ り ます。

FPGA をデイジー チェーン接続し、 複数の同じビッ ト ス ト リームのコピーを保存する代わりに、

「ギャングまたはブロードサイ ド コンフ ィギュレーシ ョ ン」 は複数かつ同一の FPGA を同じビッ ト

ス ト リームでプログラムします。

プログラ ミング サポート

製品アプリ ケーシ ョ ンでは、 SPI フラ ッシュ PROM は通常、 PCB (プリ ン ト基板) に実装する前に

プログラムされます。 ザイ リ ンクス ISE 開発ソフ ト ウェアは、サードパーティのギャング プログラ

マで使用できる業界標準のプログラ ミ ング ファ イルを作成します。 使用する SPI フラ ッシュ ベン

ダーで推奨される製品プログラ ミ ング ソ リ ューシ ョ ンを確認してください。

次に述べるよ うに、 付属する SPI メモ リ をプログラムする方法は複数あ り ます。

ISE 9.1i SP 2 以降の iMPACT プログラ ミ ング ソフ ト ウェアでは、表 4-12 に示すよ うに、付属の SPIフラ ッシュ PROM のプログラムに、 2 つの異なる手法をサポート しています。

直接的なプログラ ミ ング手法を使用する場合、 プログラ ミ ング ケーブルは SPI フラ ッシュ PROMと直接通信します。 FPGA はプログラムのプロセスには関わりがなく、PROM に接続する FPGA のI/O ピンは、 コンフ ィギュレーシ ョ ン中にハイ インピーダンス (Hi-Z) の状態でなければなり ませ

図 4-7 : 同じビッ トス ト リームによりプログラムされた複数かつ同一の FPGA

VCCO_2

Master FPGAPROGRAM

CCLK

DIN

M2 M1 M0

DOUT

PROG_B DONE

INIT_B

‘1’ ‘1’ ‘1’

Slave FPGA

VCCO_2

VCCAUX

0Ω200Ω

200Ω

4.7k

Ω

4.7k

Ω

C

Q

D

SPI SerialFlash PROM

S

CCLK

DIN

M2 M1 M0

DOUT

PROG_B DONE

INIT_B

‘0’ ‘0’ ‘1’

MOSI

CSO_B

330Ω

VCCAUX

UG332_c4_21_111906

JUMPER

Page 123: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 125UG332 (v1.4) 2008 年 7 月 1 日

プログラ ミング サポート

ん。 FPGA の PROG_B 入力を Low に保持して I/O をハイ インピーダンスにし、 FPGA の DONEピンは Low のままにします。

間接的なプログラ ミ ング手法を使用する場合、プログラ ミ ング ケーブルを FPGA の JTAG ポート に接

続します。 iMPACT は、実際の SPI PROM プログラ ミ ングを実行する特別なデザインを 初に FPGAにプログラムし、 JTAG インターフェイスをシリ アル通信ポート と して使用します。 FPGA はプログ

ラミ ング アプリ ケーショ ンでコンフィ ギュレーショ ンされているため、 プロセス中、 FPGA の DONE出力は High になり ます。 SPI フラッシュ PROM または JTAG インターフェイスに接続されていない

すべてのピンには、 ピンに関連する VCCO 電圧電源への内部プルアッ プ抵抗があり ます。

Spartan-3AN では、 iMPACT は内部フラ ッシュのプログラ ミ ングをサポート していますが、外部フ

ラ ッシュの間接的なプログラ ミ ングはサポート していません。

サードパーティのプログラマ (オフボード プログラ ミング) 量産製品の場合、ボード組み立て前のオフボード プログラ ミ ングでは、サードパーティのプログラ

マの使用が推奨されているよ うです。 ほとんどのザイ リ ンクスの販売代理店で、 プログラ ミ ングま

たはその手配が可能です。 認可され、 資格を持ったサードパーティ デバイス プログラマについて

は、PROM ベンダーのウェブ サイ ト を確認してください。 プログラ ミ ング ファ イルの適切なフォー

マッ ト方法は、 118 ページの 「SPI PROM ファ イルの準備」 を参照してください。

直接的な SPI インシステム プログラ ミング

インシステム プログラ ミ ング サポートが必要なシステムには、製品製造およびプロ ト タイプの過程で

異なるオプションがあります。 一部のサードパーティ PROM プログラマは、 製品プログラ ミ ングに

SPI フラッシュ メモリ をインシステムでプログラムするワイヤが付いたソケッ ト アダプタを使用しま

す。 プロ ト タイプのプログラ ミ ングでは、限定された STMicro 社および Atmel 社の SPI フラッシュ メモリに対しザイ リンクス iMPACT が直接的なインシステム プログラ ミング サポート を提供します。

表 4-12 : SPI フラッシュ PROM プログラ ミング オプシ ョ ンのまとめ

直接的なプログラ ミング 間接的なプログラミ ング

詳細な説明

123 ページの 「iMPACT を使用した直接的な SPI プロ

グラ ミ ング」

126 ページの 「iMPACT を使

用した間接的な SPI プログラ

ミ ング」

ISE バージ ョ ン要件 ISE 9.1i 以降

Spartan-3A/3A DSP FPGA では ISE 9.1i SP2 以降、 Spartan-3E

FPGA では ISE 10.1

インター フェイス /ケーブルの接

続SPI PROM に直接接続 FPGA の JTAG ポート

プログラ ミ ング中の DONE ピン

のステータスLow

High(FPGA は特別なプログラ ミ ン

グ デザインでコンフ ィギュ

レーシ ョ ンされる)

PROG_B 制御要件 PROG_B = Low なし

プログラ ミ ング中における SPI ピン以外のピンのステータス

PROG_B = Low であるため

ハイ インピーダンス

関連する VCCO 電源入力への

内部プルアップ抵抗を使用し

て High にプルアップ

Page 124: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

126 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

iMPACT の直接的なプログラ ミング サポートの要件

付属の SPI シ リ アル フラ ッシュ PROM でインシステム プログラ ミ ングを正常に実行するには、次

が必要です。

• ザイ リ ンクス プログラ ミ ング ケーブル 1 本

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

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

♦ MultiPRO デスク ト ップ ツール

http://japan.xilinx.com/products/devkits/HW-MULTIPRO.htm

• ボード上に互換性のあるケーブル コネクタ 1 つ

• 正常にインス トールされた ザイ リ ンクス ISE 8.2i (またはそれ以降)

プログラマブル ケーブル 接続

すべての 新のザイ リ ンクス プログラ ミ ング ケーブルでは、標準の 14 ピン リ ボンケーブルおよび

対応するソケッ ト を使用します。 ソケッ トの接続を 92 ページの図 4-1 および 93 ページの図 4-2 に示し、詳細なピン配置表を表 4-13 に示します。 パッケージの寸法を 206 ページの図 9-6 に示し、ベ

ンダーのデバイス番号を 206 ページの表 9-6 に示します。

表 4-13 に示すよ うに、すぐれたシグナル インテグ リティを実現するために、ソケッ トの一方は完全

に GND に接続します。 ケーブルのも う一方には、VREF 電圧接続および 4 つの SPI フラ ッシュ制御

信号が含まれます。 SPI プログラ ミ ングに使用される場合、プログラ ミ ングケーブルは、SPI バスの

すべての ト ランザクシ ョ ンを制御する SPI マスタ と して動作します。

Page 125: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 127UG332 (v1.4) 2008 年 7 月 1 日

プログラ ミング サポート

指定した表面実装ケーブル コネクタはボード スペースの 0.162 平方インチのみを必要と します。

ザイ リ ンクス iMPACT プログラ ミ ング ソ リ ューシ ョ ンはシステムのプロ ト タイプにのみ対応して

いるので、 コス ト削減のため、 ソケッ トは製品 BOM から削除できます。

また、ザイ リ ンクス プログラ ミ ング ケーブルは、標準の 0.1 インチのコネクタ ピンに対応する 「フラ イ リード」 をオプシ ョ ンでサポート します。 しかし、 リボン ケーブルおよび関連するソケッ トは

高度なシグナル インテグ リティおよび高速のプログラ ミ ングを提供します。 プログラ ミ ング ケー

ブル リードは確実に正し く接続してください。 SPI プログラ ミ ング機能はザイ リ ンクス プログラ ミ

ング ケーブルの新機能で、 既存のケーブルには表 4-13 に示す異なる信号名表示がある場合があ り

ます。

プログラ ミング中の FPGA SPI バス ピンに対するハイ インピーダンスの強制

プログラ ミ ング ケーブルは SPI バス マスタ と して動作するため、 FPGA の SPI ピンはフロートす

るかハイ インピーダンス (Hi-Z) である必要があ り ます。 この要件は SPI フラ ッシュ PROM を直接

プログラムするサードパーティのプログラマにも適用されます。 FPGAの MOSI、DIN、CSO_B、お

よび CCLK ピンがすべてハイ インピーダンス (フローティング、Hi-Z) であるこ とを確認してくだ

表 4-13 : インシステム SPI フラッシュ PROM プログラ ミング向けのザイリンクス ダウンロード ヘッダ信号の説明

信号ソケッ ト ピン

(上面図) 方向 SPI PROM またはシステムへの信号接続

「 フライング リード 」 ラベル/ワイヤの色(1)

GND 1 2VREF : FPGA および SPI PROM に共通の 3.3V (VCCO_2) に接

続する。 参照電圧は指定する必要があ り、電流制限する直列抵抗

があってはならない

VREF

(赤)

GND 3 4SPI スレーブ セレク ト : SPI PROM の Slave Select 入力に接続 TMS/PROG

(緑)

GND 5 6SPI ク ロ ッ ク : SPI PROM の Slave Clock 入力に接続 TCK/CCLK

(黄)

GND 7 8SPI マスタ入力/スレーブ出力 : SPI PROM の Slave Data Outputに接続

TDO/DONE

(マゼンタ)

GND 9 10SPI マスタ出力/スレーブ入力 : SPI PROM の Slave Data Input に接続

TDI/DIN

(白)

GND 11 12 –予約済み。 未接続にする

GND 13 14D.N.C. 未接続にする。 ケーブル リードはこれを INIT と表示す

るが、 FPGA の INIT_B ピンに接続しない–/INIT

(灰色)

メモ : 1. 「フラ イ リード」 アダプタは、 推奨される 14 ピンのソケッ トではなく コネクタ ピンを使用する場合にのみ必要です。

Page 126: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

128 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

さい。これによ り、プログラマは SPI PROM を完全に直接制御できます。 FPGA SPI 信号をハイ インピーダンスにするには次に示す 3 つの異なる手法があ り ます。

オプショ ン 1 または オプショ ン 2 を使用していると き、 FPGA の HSWAP または PUDC_B ピンが

Low の場合、VCCO_2 へのプルアッ プ抵抗は FPGA の SPI ピンで有効にされているこ と に留意して

く ださい。 オプショ ン 3 では、FPGA の SPI ピンは FPGA アプリ ケーショ ンで完全に制御されます。

FPGA を介した直接的なインシステム SPI プログラ ミング

この手法は、通常、FPGA を事実上のプログラマと して使用した SPI シ リ アル フラ ッシュの更新に

使用します。 この利点は、FPGA の柔軟性によ り、プログラ ミ ング データの受信のために FPGA が事実上どのよ うなデジタル インターフェイスにも接続できるこ とです。 FPGA ベースのプログラマ

はアプリ ケーシ ョ ンの一部と して含むこ とができ、FPGA の JTAG インターフェイスを使用して一

時的に FPGA にダウンロードできます。

Spartan-3E FPGA スタータ キッ トには、PC またはワークステーシ ョ ンへの RS-232 接続を使用し

て付属の STMicro (Numonyx) 社の M25P16 SPI フラ ッシュをプログラムするデザイン例が含まれ

ます。

• PicoBlaze RS-232 から STMicro 社の SPI フラ ッシュ プログラマ

japan.xilinx.com/products/boards/s3astarter/reference_designs.htm#atmel_spi_flash_programmer

Spartan-3A FPGA スタータ キッ トには、PC またはワークステーシ ョ ンへの RS-232 接続を使用し

て付属の Atmel 社の AT45DB161D DataFlash PROM をプログラムするデザイン例が含まれます。

• PicoBlaze RS-232 から Atmel 社の DataFlash プログラマ

japan.xilinx.com/products/boards/s3astarter/reference_designs.htm#atmel_spi_flash_programmer

オプショ ン 1 FPGA の PROG_B ピンをプログラ ミ ング プロセス中に Low に保持します。

FPGA はプログラ ミ ング プロセス中はコンフ ィギュレーシ ョ ンされず、

PROG_B が High にリ リースされたと き、 自動的に新しい SPI フラ ッシュ

PROM データをロード します。

オプショ ン 2 FPGA のモード ピンを JTAG モード (M[2:0] = <1:0:1>) に変更し、 PROG_Bピンをパルスします。 いかなる JTAG 動作も実行しないでください。 すべての

FPGA I/O ピンは強制的にハイ インピーダンス状態になっています。 FPGAは、 プログラ ミ ング プロセス中にはコンフ ィギュレーシ ョ ンされません。

FPGA の M[2:0] ピンは、 SPI フラ ッシュ設定に戻す必要があ り、 PROG_B ピンは FPGA が新しい SPI フラ ッシュ PROM データを再ロードする前に Lowをパルスする必要があ り ます。

オプショ ン 3 機能している FPGA アプリ ケーシ ョ ンで、MOSI、DIN、CCLK、およびCSO_Bピンを ト ライステートにする内部制御信号を使用します。 FPGA は現在のコン

フ ィギュレーシ ョ ンを維持します。 PROG_B ピンを Low にパルスするか、 ま

たは Spartan-3A/3AN/3A DSP FPGA で 0 の開始アドレスでマルチブートの リ

コンフ ィギュレーシ ョ ン動作を実行します。

Page 127: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 129UG332 (v1.4) 2008 年 7 月 1 日

マスタ SPI コンフ ィギュレーシ ョ ン向けのビッ トス ト リームの生成

FPGA JTAG チェーンを使用した間接的なインシステム SPI プログラ ミング

FPGA には、標準の PRELOAD および EXTEST コマンドを含む JTAG テス ト機能があ り ます。 これらのコマンドを使用する場合は、 JTAG チェーンで FPGA のピンを駆動およびサンプルでき、結

果と して関連する FPGA ピンおよび PCB に配線された ト レースを介して SPI メモ リのピンを駆動

できます。 図 4-8 に示すこの手法は、多くのサードパーティ JTAG ツール ベンダーにサポート され

ています。 しかし、 この手法は大抵、「直接的な SPI インシステム プログラ ミ ング」 手法よ り も大幅

に低速です。

この手法の利点は、インシステム プログラ ミ ングの配線が 短であるこ と と、ほかの JTAG ベース

のボード テス ト操作中に SPI フラ ッシュ PROM がプログラムできるこ とです。

ザイリ ンクスはより 容易な開発には、 92 ページの図 4-1 および 93 ページの図 4-2 に示す JTAG プロ

グラ ミ ング ケーブル ソケッ ト を含めるこ と を推奨します。 FPGA コンフィ ギュレーショ ンは、SPI フラッシュ PROM をプログラムしなく ても 、 開発の目的で直接 FPGA にダウンロード できます。

JTAG インターフェイスの詳細は、第 9 章 「JTAG コンフ ィギュレーシ ョ ン モード およびバウンダ

リ スキャン」 の特に 205 ページの 「ケーブルおよびヘッダのプログラム」 を参照してください。

マスタ SPI コンフ ィギュレーシ ョ ン向けのビッ トス ト リームの生成

マスタ SPI コンフ ィギュレーシ ョ ン向けに FPGA ビッ ト ス ト リームを作成するには、 31 ページの

「ビッ ト ス ト リーム オプシ ョ ンの設定、FPGA ビッ ト ス ト リームの生成」 に示す手順に従ってくださ

い。 マスタ SPI モードでコンフ ィギュレーシ ョ ンされた FPGA には、 次の BitGen オプシ ョ ンを設

定します。

ConfigRate : CCLK 周波数

106 ページの 「CCLK 周波数」 に示すよ うに ConfigRate オプシ ョ ンを設定します。 コンフ ィギュ

レーシ ョ ン レート周波数は ISE Project Navigator を使用し、 33 ページの図 1-7 の手順 7 で示すよ

うに設定します。

-g ConfigRate:12

図 4-8 : 付属 SPI フラ ッシュのプログラムに FPGA の JTAG テスト チェーンを使用

UG332_c4_xx_080906

SPI FlashMemory

MOSI

MISO (DIN)

SCLK (CCLK)

SS (CSO_B)

Spartan-3GenerationFPGA

TDITDOTMSTCK JTAG

Page 128: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

130 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

StartupClk : CCLKデフォルトでは、 コンフ ィギュレーシ ョ ン スタート アップ ク ロ ッ ク ソースは内部生成された

CCLK です。 34 ページの図 1-8 の手順 13 で示すよ うに、BitGen の StartupClk オプシ ョ ンを保持し

ます。

-g StartupClk:Cclk

DriveDone : DONE ピンをアクテ ィブに駆動

単体の FPGA デザインまたは複数 FPGA を含むデイジー チェーンのマスタ FPGA では、コンフ ィ

ギュレーシ ョ ン プロセス完了後、DONE ピンをアクティブに駆動するよ うに FPGA を設定します。

34 ページの図 1-8 の手順 16 で示すよ うに、 ISE Project Navigator で [Drive Done Pin High] オプ

シ ョ ンをオンにします。

-g DriveDone:Yes

DONE_cycle : Spartan-3E マスタとデイジー チェーン接続

Spartan-3E FPGA が SPI ベースのデイジー チェーンのマスタ FPGA である場合、 DONE_cycle を確実にサイクル 5 かそれよ り早いサイクルに設定してください。 ISE Project Navigator の

DONE_cycle 設定は、 34 ページの図 1-8 の手順 14 に示すよ うに、 [Enable Outputs (OutputEvents)] オプシ ョ ンで設定します。

-g DONE_cycle:4

GTS_cycle : グローバル ト ライステートによるデイジー チェーンへのタイ ミングのリ リース

複数 FPGA のデイジー チェーンを作成するには、DONE_cycle 設定よ り も後に GTS_cycle オプシ ョ

ンを設定 (両方のデフォルト設定) します。 または、 GTS_cycle:Done に設定します。 ISE ProjectNavigator の GTS_cycle 設定は、 34 ページの図 1-8 の手順 14 に示すよ うに、 [Enable Outputs(Output Events)] オプシ ョ ンで設定します。

SPI PROM ファイルの準備

こ こでは、 SPI フラ ッシュ メモ リに PROM ファ イルを作成するガイ ド ラインを示します。

ザイ リ ンクス ソフ ト ウェア ツール 「iMPACT」 または 「PROMGen」 は 1 つまたは複数の FPGAビッ ト ス ト リームから SPI 用にフォーマッ ト された PROM ファ イルを生成します。 SPI フラ ッ

シュ メモ リ デバイスは MSB ( 上位ビッ ト ) からデータ バイ ト をシ リ アルに出力されますが、ザイ

リ ンクス PROM では LSB ( 下位ビッ ト ) からデータが出力されます。 したがって、SPI フラ ッシュ

メモ リ デバイス向けにフォーマッ ト された PROM ファ イルは、各バイ トでビッ ト反転されます。こ

れは標準のザイ リ ンクス PROM ファイルのビッ トの順序とは正反対です。 PROMGen 使用時には、

適切にフォーマッ トするために -spi オプシ ョ ンが必要です。

iMPACT次の手順では、ISE Project Navigator の iMPACT を用いて PROM ファ イルを SPI フォーマッ トで

作成する方法を図示します。 SPI フラ ッシュ メモ リ用の Spartan-3A/3AN/3A DSP マルチブート

ビッ ト ス ト リームを作成するには、 266 ページの 「iMPACT を使用した Spartan-3E マルチブート

PROM ビッ ト ス ト リームの生成」 を参照してください。

Page 129: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 131UG332 (v1.4) 2008 年 7 月 1 日

SPI PROM ファイルの準備

1. ISE Project Navigator の [Processes] ウ ィンド ウで、 [Generate PROM, ACE, or JTAG File]をダブルク リ ッ ク します (図 4-9)。

2. [Prepare a PROM File] を選択します (図 4-10)。

3. [Next] をク リ ッ ク します。

図 4-9 : [Generate PROM, ACE or JTAG File] をダブルクリ ック

図 4-10 : [Prepare a PROM File]

1

UG332_c4_10_110206

3

2

UG332_c4_11_19

Page 130: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

132 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

4. 単数または複数の FPGA ビッ ト ス ト リームをサードパーティの SPI PROM 向けにフォーマッ

ト します (図 4-11)。 このオプシ ョ ンでは、PROM ファ イル作成のために -spi オプシ ョ ンが自

動的に起動されます。

5. [PROM File Format] を選択します。

6. [PROM File Name] を入力します。

7. [Next] をク リ ッ ク します。

8. [SPI PROM Density] でターゲッ ト デバイスの SPI RPOM の集積度をビッ トで選択します (図 4-12)。

9. [Next] をク リ ッ ク します。

図 4-11 : サードパーティの SPI PROM 向けにオプシ ョ ンを設定

図 4-12 : SPI PROM 集積度の選択

7

4

5

6

UG332_c4_12_110206

9

8

UG332_c4_13_110206

Page 131: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 133UG332 (v1.4) 2008 年 7 月 1 日

SPI PROM ファイルの準備

10. SPI PROM のフォーマッ ト設定が正しいか確認します (図 4-13)。 [Finish] をク リ ッ クして設定を

確定するか、 [Back] をク リ ッ クして設定を変更します。

11. [OK] をク リ ッ ク して PROM データに FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの追

加を開始します (図 4-14)。

12. 使用する FPGA ビッ ト ス ト リームを検索し、 選択します。

13. [Open] をク リ ッ ク します。

図 4-13 : PROM フォーマッ ト設定の確認

図 4-14 : FPGA コンフ ィギュレーシ ョ ン ビッ トス ト リーム ファイルの追加

10

UG332_c4_14_111906

11

12

13

UG332_c4_15_110206

Page 132: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

134 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

14. iMPACT では、SPI PROM および関連する FPGA ビッ ト ス ト リームが表示されます (図 4-15)。

15. [Generate File] をク リ ッ ク します。

16. iMPACT は、 PROM ファ イルが正常に作成されたこ とを示します。

PROMGenPROMGen はコマンド ライン ツールで、SPI PROM プログラ ミ ング ファ イルを作成するも う 1 つの手法です。 PROMGen はコマンド ウ ィンド ウまたはスク リプ ト ファ イルから起動できます。

表 4-14 に SPI フラ ッシュ PROM をフォーマッ トするために適切なオプシ ョ ンを示します。

図 4-15 : PROM ファイルの生成

14

15

16

UG332_c4_06_110206

表 4-14 : PROM ジェネレータ コマンド オプシ ョ ン

PROMGen オプシ ョ ン 説明

-spi SPI フラッシュ PROM に必要。 SPI フラッシュ メモリ デバイスからコ

ンフィギュレーショ ンするために必要な正しいビッ ト順序を定義

-p <format> PROM 出力ファイル形式。 SPI プログラ ミ ング ソフ ト ウェアで必要な

ファイル形式を指定。 詳細は、 サードパーティ プログラマの資料参照

-s <size> PROM サイズをキロバイ トで指定。 PROM のサイズは 2 のべき乗でな

ければならず、 デフォルト設定は 64 キロバイ ト

-u <address> BIT ファ イルを指定した開始アドレスから上位方向に読み込む。 この

オプションは入力ビッ ト ス ト リーム ファイルの直前に設定する必要が

ある

Page 133: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 135UG332 (v1.4) 2008 年 7 月 1 日

iMPACT を使用した直接的な SPI プログラ ミング

次に例示する PROMGen コマンドでは、 SPI にフォーマッ ト された次の特性を持つ PROM ファ イ

ルを生成します。

• -spi オプシ ョ ンを指定して SPI フラ ッシュ PROM 向けにフォーマッ ト

• -p mcs オプシ ョ ンを指定して Intel MCS 形式でフォーマッ ト。 出力ファイル名は

-o <promdata>.mcs オプシ ョ ンで設定。 <promdata> はユーザー指定のファイル名

• -s 2048 オプシ ョ ンを使用して 16Mb の SPI PROM 向けにフォーマッ ト。 PROMGen は、キ

ロバイ トでサイズを指定

• -u 0 オプシ ョ ンを設定するこ とで、指定した FPGA ビッ ト ス ト リームはアドレス 0 から上位

方向にロード

• PROM 向けにフォーマッ ト される FPGA ビッ ト スト リ ームは 終オプショ ン <inputfile>.bitで指定。 <inputfile> は FPGA ビッ ト スト リ ームの生成で用いるユーザー定義のファイル名

promgen -spi -p mcs -o <promdata>.mcs -s 2048 -u 0 <inputfile>.bit

iMPACT を使用した直接的な SPI プログラ ミング

iMPACT ではバージ ョ ン 8.2i 以降で SPI シ リ アル フラ ッシュ PROM の直接的なインシステム プログラ ミ ングをサポート しています。 テス ト済みおよびサポート される SPI フラ ッシュ メモ リ デバイスを 95 ページの表 4-3 の 「ザイ リ ンクス iMPACT サポート 」 列に示します。

プログラ ミング用のボードの準備

SPI PROM のプログラム前に、 次の手順を完了してください。

1. ボードに電源が入っているこ とを確認します。

2. SPI フラ ッシュに接続された FPGA ピンがハイ インピーダンス (Hi-Z) であるこ とを確認しま

す。 詳細は、115 ページの 「プログラ ミ ング中の FPGA SPI バス ピンに対するハイ インピーダ

ンスの強制」 を参照してください。

3. ボードおよび PC またはワークステーシ ョ ンの両方にプログラ ミ ング ケーブルが正し く接続

されているこ とを確認します。 詳細は、 114 ページの 「プログラマブル ケーブル 接続」 を参照

して ください。

Page 134: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

136 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

iMPACT を介したプログラ ミング

次の手順では、 iMPACT およびザイ リ ンクス プログラ ミ ング ケーブルを使用した SPI フラ ッシュ

PROM のプログラム方法を説明します。

1. iMPACT で [Direct SPI Configuration] をク リ ッ ク します (図 4-16)。

2. 図に示す場所で右ク リ ッ ク します。

3. [Add SPI Device] を選択します。

4. フォーマッ ト済みの PROM ファ イルを選択します (図 4-17)。

5. [Open] をク リ ッ ク します。

図 4-16 : iMPACT による直接的な SPI Serial フラッシュ メモリのプログラ ミングのサポート

図 4-17 : フォーマッ ト済みの PROM ファイルを選択

1 2

3

UG332_c4_03_101006

UG332_c4_04_101006

4

5

Page 135: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 137UG332 (v1.4) 2008 年 7 月 1 日

iMPACT を使用した直接的な SPI プログラ ミング

6. サポート された SPI シリアル フラッシュのデバイス番号を [Part Name] で選択します (図 4-18)。

7. [OK] をク リ ッ ク します。

8. iMPACT は選択した SPI フラ ッシュ PROM を表示します (図 4-19)。

9. [Program] をク リ ッ ク します。

メモ : 手順 14 は、 後の手順で表示されます。

図 4-18 : サポート された SPI フラッシュ メモリ デバイスの選択

図 4-19 : サポート された SPI フラッシュ PROM を直接的にプログラム

UG332_c4_05_101006

6

7

UG332_c4_06_101006

8

9

14

Page 136: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

138 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

10. [Category] の [Programming Properties] オプションをク リ ッ クします (図 4-20 )。

11. [Verify] をオンにします。 [Verify] をオフにする とプログラ ミ ングに要する時間が短くなり ま

すが、 iMPACT では、 検証済みの PROM でのみ正常なプログラムを保証します。

12. [Erase Before Programming] をオンにします。 [Erase Before Programming] をオフにする

とプログラ ミ ングに要する時間が短くな り ますが、 ザイ リ ンクスでは、新しい FPGA ビッ ト ス

ト リームをダウンロードする場合、 PROM を消去するこ とを推奨します。

13. [OK] をク リ ッ ク します。

14. iMPACT はプログラ ミ ングが正常に実行されたこ とを示します (図 4-19)。

iMPACT を使用した間接的な SPI プログラ ミング

Spartan-3A および Spartan-3A DSP FPGA では、ザイ リ ンクス ISE 9.1i SP2 以降のリ リースで間接

的なプログラ ミ ングがサポート されており、 Spartan-3E FPGA では ISE 10.1 からサポート されて

います。iMPACT は、Spartan-3AN FPGA で内部フラ ッシュのプログラ ミ ングをサポート していま

す。間接的なプログラ ミ ング モードでは、 iMPACT は FPGA の JTAG ポート を介して FPGA の付

属メモ リ をプログラムします。 詳細は、 次のアプリ ケーシ ョ ン ノート を参照してください。

XAPP974 : 『Spartan-3A FPGA で SPI シ リ アル フラ ッシュ PROM の間接的なプログラ ミ ング』

http://japan.xilinx.com/support/documentation/application_notes/xapp974.pdf

Spartan-3A FPGA で SPI シ リ アル フラ ッシュ PROM の間接的なプログラ ミ ング

プログラ ミ ング プロセス中、 FPGA は特別なプログラ ミ ング アプリケーションでコンフィギュレー

ショ ンされます。 結果として、FPGA の DONE ピンはプログラ ミング プロセス中に High になります。

プログラ ミングの設定

選択した付属の SPI PROM を間接的なプログラ ミ ングの手法でプログラムするには、ボードを次の

よ うに設定します。

1. ボードの電源を切断します。

図 4-20 : SPI PROM プログラ ミング オプシ ョ ン

UG332_c4_07_101006

1110

13

12

Page 137: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 139UG332 (v1.4) 2008 年 7 月 1 日

iMPACT を使用した間接的な SPI プログラ ミング

2. FPGA モード セレク ト ピンをマスタ SPI モードに設定します。

3. JTAG プログラ ミ ング ケーブルを FPGA の JTAG ポートに接続します。

4. ボードに電源を再投入します。

iMPACT の使用

間接的なプログラ ミ ング手法を用いて選択した付属の SPI PROM を iMPACT でプログラムするに

は、次の手順に従ってください。 この例では、XC3S700A FPGA が XCF04S Platform Flash PROMに JTAG チェーンで接続された Spartan-3A FPGA スタータ キッ ト ボードを用います。

1. iMPACT を起動して [Configure devices using Boundary-Scan (JTAG)] を選択します (図 4-21)。

2. [Finish] を選択します。

図 4-21 : JTAG を使用した間接的なプログラ ミング手法

2

1

UG332_c4_22_032807

Page 138: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

140 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

3. FPGA にプログラムされる FPGA のビッ ト ス ト リーム ファイル (*.bit) を選択します (図 4-22)。 この手順は不必要ですが、iMPACT 9.1i では必要となり ます。 この手順は、iMPACT 9.2i 以降では削

除されています。 このファイルは、特別な FPGA ベースの SPI プログラ ミ ング アプリケーショ ン

ではあり ません。

4. [Enable Programming of SPI Flash Device Attached to this FPGA] を選択します。

5. [Open] をク リ ッ ク します。

6. iMPACT は、スタート アップ ク ロッ ク ソースを JTAG ク ロッ ク ピン (TCK) に変更したこと を警

告します。 SPI フラッシュ データに影響はあり ません。 この警告は無視しても問題あり ません。

図 4-22 : FPGA ビッ トス ト リーム ファイルの選択および SPI プログラ ミングを有効にする

UG332_c4_23_032807

53

4

図 4-23 : JTAG を介したプログラ ミングで iMPACT がスタートアップ クロックに JTAG クロック入力 TCK を使用

UG332_c4_24_032807

6

Page 139: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 141UG332 (v1.4) 2008 年 7 月 1 日

iMPACT を使用した間接的な SPI プログラ ミング

7. 付属の SPI フラ ッシュ PROM 向けのプログラ ミ ング ファ イルを選択します (図 4-24)。

8. [Open] をク リ ッ ク します。

9. 付属の SPI フラ ッシュ PROM のデバイス番号を選択します (図 4-25)。

10. [OK] をク リ ッ ク します。

図 4-24 : SPI PROM プログラ ミング ファイルの選択

図 4-25 : SPI フラッシュ PROM の選択

UG332 c4 26 032907

8

7

UG332_c4_27_032907

9

10

Page 140: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

142 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

11. フラ ッシュ PROM のプログラ ミ ング ファ イルを選択するダイアログが表示されたら、

[Bypass] をク リ ッ ク します (図 4-26)。

12. iMPACT は XC3S700A Spartan-3A FPGA の JTAG チェーンおよび後続の XCF04S PlatformFlash PROM を表示します (図 4-27)。 XC3S700A FPGA に付属する フラ ッシュ メモ リ をク

リ ッ ク してハイライ ト表示します。 この操作によ り、手順 13 に示すコマンドオプシ ョ ンが有効

になり ます。

図 4-26 : Platform Flash PROM をバイパス

図 4-27 : iMPACT による JTAG チェーンおよび付属のフラッシュ PROM の表示

UG332_c4_28_032907

11

18

12

13

UG332_c4_25_032907

Page 141: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 143UG332 (v1.4) 2008 年 7 月 1 日

iMPACT を使用した間接的な SPI プログラ ミング

13. [Program] をダブルク リ ッ ク します。

メモ : 手順 18 は、 後の手順で表示されます。

14. [Category] の [Programming Properties] オプションをク リ ッ クします (図 4-28)。

15. [Verify] をオンにします。 [Verify] をオフにする とプログラ ミ ング時間が短くなり ますが、

iMPACT では、 検証済みの PROM でのみ正常なプログラムを保証します。

16. [Erase Before Programming] をオンにします。[Erase Before Programming] をオフにする と

プログラ ミ ングに要する時間が短くな り ますが、 ザイ リ ンクスでは、新しい FPGA ビッ ト ス ト

リームをダウンロードする場合、 PROM を消去するこ とを推奨します。

17. [OK] をク リ ッ ク します。

18. iMPACT はプログラムが正常に実行されたこ とを示します。 FPGA は新しいプログラ ミ ング

ファ イルでコンフ ィギュレーシ ョ ンされました (図 4-28)。

図 4-28 : SPI PROM プログラ ミング オプシ ョ ン

UG332_c4_29_032907

1514

17

16

Page 142: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

144 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

シリアル ペリフェラル インターフェイス (SPI) のコンフ ィギュレーションのタイミング

図 4-29 に、 マスタ SPI コンフィ ギュレーショ ンの波形を例示します。 次に示す数字は、 図 4-29 の数

字に対応しています。 FPGA タイミ ング パラメ ータのシンボルを、表 4-15 に一覧表示します。 SPI フラッシュ PROM のタイミ ング要件および FPGA タイミ ングへの要件を、134 ページの表 4-16 に示し

ます。

1. FPGA 起動時に、内部 POR (パワー オン リセッ ト ) 回路を リ リースするか、 PROG_B が Highに戻り ます。

2. FPGA が内部コンフ ィギュレーシ ョ ン メモ リの初期化を開始します。 FPGA が INIT_B 出力を

アクティブに Low に駆動します。

3. HSWAP または PUDC_B が確実にコンフ ィギュレーシ ョ ン プロセス中に安定したロジッ ク

レベルにあるよ うにします。 この入力ピンの値によ り、 プルアップ抵抗がコンフ ィギュレー

シ ョ ン中に有効にされるかど うかが決定されます。 一部のアプリ ケーシ ョ ンではプルアップ抵

図 4-29 : シリアル ペリフェラル インターフェイス (SPI) のコンフ ィギュレーシ ョ ンの波形

TDHTDSU

Command(msb)

TV

TCSS

<1:1:1>

INIT_B

M[2:0]

TMINIT TINITM

DIN

CCLK

(Input)

TCCLKnTCCLK1

VS[2:0](Input)

New ConfigRate active

Mode input pins M[2:0] and variant select input pins VS[2:0] are sampled when INIT_Bgoes High. After this point, input values do not matter until DONE goes High, at whichpoint these pins become user-I/O pins.

<0:0:1>

Pin initially pulled High by internal pull-up resistor if HSWAP or PUDC_B input is Low.

Pin initially high-impedance (Hi-Z) if HSWAP input is High. External pull-up resistor required on CSO_B.

TCCLK1

TMCCLnTMCCHn

(Input)Data Data Data Data

CSO_B

MOSI

TCCO

TMCCL1 TMCCH1

TDCC

TCCD

(Input)PROG_B

HSWAP(Input)

HSWAP or PUDC_B must be stable before INIT_B goes High and constant throughout the configuration process.

UG332_c4_17_110206

(Open-Drain)

Shaded values indicate specifications on attached SPI Flash PROM.

Command(msb-1)

PUDC_B

1

2

5

4

3

6

7

8

9

10

11

Page 143: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 145UG332 (v1.4) 2008 年 7 月 1 日

シリアル ペリフェラル インターフェイス (SPI) のコンフ ィギュレーシ ョ ンのタイ ミング

抗を用いて、VS[2:0] 変数セレク ト ピンの指定および FPGA がアクティブに Low に駆動する前

の CSO_B を High に保持するこ とがあ り ます。

4. VS[2:0] 変数セレク ト ピンを指定する必要があ り、INIT_B ピンが High に戻る前は安定してい

なければなり ません。 VS[2:0] の値は、FPGA が SPI シ リ アル PROM に実行する読み出しコマ

ンドを決定します。 詳細は、 95 ページの表 4-2 を参照してください。

5. M[2:0] モード セレク ト ピンをマスタ SPI モード (<0:0:1>) に指定する必要があ り、INIT_B がHigh に戻る前は安定していなければなり ません。

6. FPGA が内部コンフ ィギュレーシ ョ ン メモ リ を初期化した後、FPGA は INIT_B ピンを リ リー

スし、 VCCO_2 への専用内部プルアップ抵抗を介して High にフロート されるよ うにします。

7. INIT_B ピンが High に戻った後、 FPGA はすべてのコンフ ィギュレーシ ョ ン タイ ミ ングを制

御する CCLK 出力を ト グルします。 CCLK 出力は も低いデフォルト周波数 (約 1MHz) で動

作を開始します。

8. SPI フラ ッシュでは、 CSO_B 出力が High から Low へ遷移する必要があ り ます。 FPGA は、

CSO_B ピンを Low にアサートする前に CSO_B 出力を CCLK の 1 サイクル間アクティブに

High に駆動します。 これで SPI バスの処理が開始します。

9. INIT_B ピンが High に戻ったと きの VS[2:0] ピンがサンプルされた値に基づき、FPGA は SPIフラ ッシュ読み出しコマンドの実行を開始します。 FPGA は 上位ビッ トからコマンドを送信

します。 FPGA は結果と して、 すべて 0 の 24 ビッ トのアドレス と、 すべて 0 の適切な数のダ

ミービッ ト を、 選択したフラ ッシュ メモ リに送信します。 FPGA は、 コマンド、 アドレス、 お

よびダ ミービッ ト を、 CCLK の立ち下がりエッジで MOSI 出力にクロ ッ ク出力します。

10. コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの 初の 384 ビッ ト内で、FPGA は残りのコンフ ィ

ギュレーシ ョ ン プロセス用の ConfigRate 設定をロード します。 ConfigRate 設定で CCLK 周波

数を指定します。 すべてのインターフェイス タイ ミ ングは設定ごとに評価される必要があ り ま

す。 詳細は、 106 ページの 「CCLK 周波数」 および117 ページの 「ConfigRate : CCLK 周波数」

を参照して ください。

11. SPI フラ ッシュ PROM は、 CCLK の立ち下がりエッジでデータを送信します。 この PROMデータは、次の CCLK の立ち上がりエッジ前に FPGA の DIN シ リ アル データ入力で有効で、

かつセッ ト アップされている必要があ り ます。

表 4-15 に、 SPI コンフ ィギュレーシ ョ ン インターフェイスに関連するさまざまな FPGA タイ ミ ン

グ パラ メータを示します。

表 4-15 : SPI (シリアル ペリフェラル インターフェイス) コンフ ィギュレーシ ョ ン モードの FPGA タイ ミング シンボル

シンボル 説明

TCCLK1 初の CCLK ク ロ ッ ク周期

TCCLKn FPGA に ConfigRate の設定が読み込まれた後の CCLK ク ロ ッ ク周期

TMINIT INIT_B の立ち上がりエッジ前の VS[2:0] 変数セレク ト ピンおよび M[2:0] モー

ド セレク ト ピンのセッ ト アップ タイム

TCCLKL1 デフォルトの ConfigRate 設定での、 初のの 小 CCLK Low 時間

TCCLKLn FPGA のビッ ト ス ト リームで定義された ConfigRate 設定の 小 CCLK Low 時間

TINITM INIT_B の立ち上がりエッジ前の VS[2:0] 変数セレク ト ピンおよび M[2:0] モー

ド セレク ト ピンのホールド タイム

TCCO CCLK 立ち下がり ク ロ ッ ク エッジ後の MOSI 出力有効遅延

Page 144: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

146 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

表 4-16 に、SPI フラ ッシュ PROM のタイ ミ ングの仕様および FPGA のコンフ ィギュレーシ ョ ン タイ ミ ング仕様の関係を示します。 たとえば、SPI フラ ッシュの Clock-to-Output 時間 (TV) は、FPGAの 小 CCLK Low 時間および定義済みの ConfigRate 設定 (TCCLKLn) よ り も短いか同じ値から

FPGA の DIN 入力のセッ ト アップ タイム (TDCC) を除算した値である必要があ り ます。 詳細は

132 ページの図 4-29 でハイライ ト された TV パラ メータを参照してください。

FPGA から SPI フラ ッシュ PROM への通信 (読み出しコマンド、アドレスおよびダ ミー ビッ トの送

信) はすべてデフォルトの CCLK ConfigRate 設定で処理されます。この設定 (TCCLK1) は、Spartan-3E FPGA で も速度が遅く、 約 1MHz です。 Spartan-3A/3AN/3A DSP ファ ミ リのデフォルトは

6MHz です。

マルチ パッケージのレイアウト

ほとんどの SPI PROM ベンダーでは、デザインを大型あるいは小型のメモリ集積度のデバイスに移

行するマルチ パッケージ移行の手法を採用しています。

マルチ パッケージのレイアウ トは次を提供します。

• 小型および大型の集積度の SPI フラ ッシュ PROM 間における集積度の移行。 SPI フラ ッシュ

メモ リ集積度によっては、利用できないパッケージがあ り ます。 SPI フラ ッシュの移行は、ザイ

リ ンクス FPGA で提供されるピン配置移行に準じています。 アプリ ケーシ ョ ンで多くの不揮

TDCC CCLK 立ち上がり ク ロ ッ ク エッジ前の DIN データ入力のセッ ト アップ タイム

TCCD CCLK 立ち上がり ク ロ ッ ク エッジ後の DIN データ入力のホールド タイム

表 4-15 : SPI (シリアル ペリフェラル インターフェイス) コンフ ィギュレーシ ョ ン モードの FPGA タイ ミング シンボル (続き)

シンボル 説明

表 4-16 : 付属 SPI シリアル フラ ッシュのコンフ ィギュレーシ ョ ンのタイ ミング要件

シンボル 説明 要件 単位

TCCS SPI シ リ アル フラ ッシュ PROM のチップ セレク ト タイム ns

TDSU SPI シリアル フラッシュ PROM データ入力のセッ トアップ タイム ns

TDH SPI シ リ アル フラ ッシュ PROM データ入力のホールド タイム ns

TV SPI シリアル フラッシュ PROM データの Clock-to-Output タイム ns

fC または

fR

SPI シ リ アル フラ ッシュ PROM の 大クロ ッ ク周波数 (特定の読み出しコマンドによって変化)

MHz

メモ : 1. これらの要件は、 FPGA が CCLK 周波数を供給する SPI モードでの FPGA の正常なコンフ ィギュレーシ ョ ン用です。 FPGA にロード さ

れたアプリ ケーシ ョ ンおよびその結果のクロ ッ ク ソースによ り、 コンフ ィギュレーシ ョ ン後の要件は異なる場合があ り ます。

2. アプリ ケーシ ョ ンの要件に応じて、 追加のプリ ン ト基板の配線遅延を減算して ください。

TCCS TMCCL1 TCCO–≤∫TDSU TMCCL1 TCCO–≤

TDH TMCCH1≤

TV TMCCLn TDCC–≤

fC1

TCCLKn min( )---------------------------------≥

Page 145: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 147UG332 (v1.4) 2008 年 7 月 1 日

省電力

発性ス ト レージが必要な場合は、 大 128Mb までの集積度移行パスが、SPI フラ ッシュ PROMにあ り ます。

• 異なる集積度の FPGA 間での移行においても統一されているコンフィギュレーション PROM のレイアウ ト。Spartan-3A/3AN/3A DSP FPGA ファ ミ リ内、および Spartan-3E FPGA ファ ミ リ内で

は、 特定の FPGA パッケージのオプションが、 フッ トプリ ン トの互換性を保ちながら、 異なる集

積度レベルをまたぐこ とがあり ます。 SPI フラッシュ マルチ パッケージ レイアウ トによ り、 関連

するコンフィギュレーショ ン PROM で同程度の柔軟性を保有できます。 適なサイズの SPI フラッシュ メモリ をボード上に実装された FPGA に使用してください。

• 安全性の提供。 使用したいパッケージにはない集積度の SPI フラ ッシュが必要な場合は、 異な

るパッケージ形式に変更するか、有効性の維持のために異なる集積度に変更します。 同様に、複

数のベンダーが STMicroelectronics (Numonyx) フッ トプ リ ン ト をサポート しています。

M25Pxx SPI シ リ アル フラ ッシュ ファ ミ リの Spartan-3E FPGA スタータ キッ ト ボードでのパッ

ケージ レイアウ ト例を、図 4-30 に示します。複数パッケージ レイアウ トは、8 リード 8x6mm MLPパッケージ、 8 ピン SOIC パッケージおよび 16 ピン SOIC パッケージをサポート します。 8 ピン

SOIC および MLP パッケージのピン 1 は、上部左の角にあ り ます。 しかし、16 ピン SOIC パッケー

ジのピン 1 は、パッケージが 90 回転しているため上部右の角に位置します。 また、 16 ピン SOICパッケージには、各側面の中央にボードに接続しない 4 つのピンがあ り ます。 これらのピンは、未接

続 (フローティング) の状態にしておく必要があ り ます。

省電力

ほとんどの SPI フラ ッシュ メモ リでは、複数の省電力オプシ ョ ンをサポート しています。 もシン

プルかつ有用なスタンバイ モードでは、単純に SPI フラ ッシュ メモ リ を選択解除するこ とで消費電

力を削減します。 FPGA アプリ ケーシ ョ ン内で、 CSO_B ピンを High に駆動します。

図 4-30 : Spartan-3E スタータ キッ ト ボード 上の M25Pxx ファ ミ リの複数パッケージ レイアウト

SQW

GND

VCCHOLDCD

VC

C

CDH

OL

DSQ

GN

DW

(Do not connect)

(Do not connect)

UG230_c15_18_030606

Pin 1:8-pin SOIC8-lead MLP

Pin 1:16-pin SOIC

Page 146: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

148 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 4 章 : マスタ SPI モード

スタンバイ モードを開始するために CSO_B をディアサート

SPI フラ ッシュ メモ リは、メモ リのアクティブ Low の Slave Select ラインが High にディアサート

された場合に、スタンドバイ パワー モードを開始します。 コンフ ィギュレーシ ョ ン後または SPI フラ ッシュ に非アクセス時に、アプリ ケーシ ョ ンは CSO_B ピンを High に駆動する必要があ り ます。

Page 147: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 149UG332 (v1.4) 2008 年 7 月 1 日

概要

第 5 章

マスタ BPI モード

概要

マスタ BPI (バイ ト幅ペリ フェラル インターフェイス) コンフ ィギュレーシ ョ ン モードは、

Spartan®-3A/3AN/3A DSP および Spartan-3E FPGA ファ ミ リのいずれでも使用できます。

Spartan-3 FPGA ファ ミ リではザイ リ ンクス パラレル Platform Flash PROM を利用した類似する

モードがあ り ますが、 このモードはサポート されていません (詳細は、第 6 章 の 「マスタ パラレル

モード」 を参照してください)。

BPI モードでは、 Spartan-3E または Spartan-3A/3AN/3A DSP FPGA は、 標準的なパラレル NORフラ ッシュ PROM からコンフ ィギュレーシ ョ ンを実行します。 Spartan-3E FPGA の場合を138ページの図 5-1 に、 Spartan-3A/3AN/3A DSP FPGA の場合を 139 ページの図 5-2 に示します。 これらの図では、 オプシ ョ ンのコンポーネン ト を灰色で示し、 「NO LOAD」 と指定しています。

BPI コンフ ィギュレーシ ョ ン インターフェイスは主に標準的なパラレル NOR フラ ッシュ PROMをサポートするよ うにデザインされ、 このインターフェイスはバイ ト幅 (x8) およびバイ ト幅/ワー

ド幅 (x8/x16) の PROM の両方をサポート します。 また、特別な場合には、このインターフェイスは

ワードのみ (x16) の PROM で機能しますが、PROM の一部の上位バイ トは使用されません。 FPGAのコンフ ィギュレーシ ョ ンでは、BPI インターフェイスは、ブート ブロ ッ クまたは特定のセクタ サイズなどのフラ ッシュ PROM 機能を必要と しません。

また、BPI インターフェイスは、次に示すよ うな類似の SRAM 形式のインターフェイスを使用する

非同期メモ リでも同様に機能します。 これらの多くは、 アクセス時間がよ り高速です。

• ザイ リ ンクス パラレル Platform Flash PROM (XCFxxP)• SRAM

• NVRAM (不揮発性 RAM)• EEPROM

• EPROM

• マスク ROM

NAND フラ ッシュ メモ リは異なるテク ノ ロジで、デジタル カメ ラのメモ リ カードに一般的に使用

されています。 Spartan-3A/3AN/3A DSP および Spartan-3E FPGA は NAND フラ ッシュ メモ リか

らは直接コンフ ィギュレーシ ョ ンしません。

FPGA の内部オシレータがインターフェイス タイ ミ ングを制御し、 FPGA が CCLK 出力ピンにク

ロ ッ クを送信します。 しかし CCLK 信号は、通常、単体の FPGA のアプリ ケーシ ョ ンでは接続され

た状態では使用されません。 同様に、FPGA は、コンフ ィギュレーシ ョ ン中に 3 つのピン を Low に駆動し (LDC[2:0])、PROM の制御入力に対して 1 つのピンをコンフ ィギュレーシ ョ ン中に Highに駆動 (HDC) します。

Page 148: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

150 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

図 5-1 : パラレル NOR フラ ッシュからコンフ ィギュレーシ ョ ンされた Spartan-3E FPGA

TMS

TDO

TCK

TDI

VCCINT

VCCAUX

HDC

CCLKCSO_B

VCCO_1

INIT_BCSI_B

D[7:0]

LDC1LDC0

‘0’

A[16:0]

PROG_B DONE

VCCO_2

+1.2V

DQ[7:0]

CE#

WE#

VCCO

OE#

BYTE#

DQ[15:7]

M2

M1

‘0’‘1’

M0

HSWAP VCCO_0P

LDC2

VCCO_0

D

BPI Mode

x8 orx8/x16NOR

Flash

RDWR_B‘0’

Spartan-3E FPGABUSY

Not available in

VQ100 package

+3.3V

+3.3V

+3.3V

GND

GND

(User I/O)

+2.5

14

1

Xili

nx

Cab

le H

ead

er(J

TA

G In

terf

ace)

PROGRAM

A

Address Control

‘0’ = BPI-Up‘1’ = BPI-Down

A[n:0]

A[23:17]

VREF

TMS

TCK

TDO

TDI

N.C.N.C.

J2.5V3.3V >68Ω

JTAGVoltage Resistors

NO

LO

AD

+3.3V

NO

LO

AD

UG332_c5_01_062708= Dedicated internal pull-up resistor

If VCCAUX = 2.5V

Page 149: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 151UG332 (v1.4) 2008 年 7 月 1 日

概要

図 5-2 : パラレル NOR フラ ッシュからコンフ ィギュレーシ ョ ンされた Spartan-3A/3AN/3A DSP FPGA

UG332_c5_02_040107

TMS

TDO

TCK

TDI

VCCINT

VCCAUX

HDC

CCLKCSO_B

VCCO_1

INIT_BCSI_B

D[7:0]

LDC1LDC0

‘X’

A[25:0]

PROG_B DONE

VCCO_2

+1.2V

DQ[7:0]

CE#

WE#

VCCO

OE#

BYTE#

DQ[15:7]

M2M1

‘0’‘1’

M0

PUDC_B VCCO_0P

LDC2

VCCO_0

DBPI Mode

x8 orx8/x16NORFlash

RDWR_B‘X’

Spartan-3A/3AN

DOUT

Not available on XC3S50A

+3.3V

+3.3V

+3.3V

‘0’GND

GND

(User I/O)(User I/O)

BPI-UpOnly

VCCAUX

PROGRAM

1

14

Xili

nx

Cab

le H

ead

er(J

TA

G In

terf

ace)

VREF

TMS

TCK

TDO

TDI

N.C.N.C.

J2.5V3.3V >68

0

JTAGVoltage Resistors

NO

LO

AD

+3.3V

NO

LO

AD

A[n:0]

= Dedicated internal pull-up resistor

Spartan-3A DSPIf VCCAUX = 2.5V

Page 150: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

152 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

Spartan-3 ジェネレーショ ン FPGA ファミ リ間におけるマスタ SPI モード の相違

表 5-1 に、 Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リ間における BPI コンフ ィギュレーシ ョ ン

モードの相違点をまとめます。 BPI モードは Spartan-3E および Spartan-3A/3AN/3A DSP FPGAファ ミ リでのみ使用できます。 Spartan-3A/3AN/3A DSP BPI モードは、 大 26 アドレス ラインを

サポート し、 大 512Mb (64 キロバイ ト ) までのアドレス指定が可能です。

表 5-1 : Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リ間における BPI コンフ ィギュレーシ ョ ン モードの相違

Spartan-3 FPGA

Spartan-3E FPGA

Spartan-3A/3AN

Spartan-3A DSP FPGA

BPI Up モード サポート

(0 で開始し、 アドレスをインク リ メン ト )

BPI モードは Spartan-3

FPGA ファ ミ リでは

使用不可

はい はい

BPI Down モード サポート ( 上位から開始し、アド レスをデク リ メ ント ) はい いいえ

FPGA で提供される 大アドレス ライン数 24 26

アドレス ラ インに使用される FPGA の I/Oバンク

バンク 1 および 2 バンク 1 のみ

右端のクロ ッ ク入力 (RHCLK) に依存しない

アドレス ラインいいえ はい

パラレル デイジー チェーン サポート はい はい

シ リアル デイジー チェーン サポート いいえ はい

マルチブート コンフ ィギュレーシ ョ ンを

サポートはい はい

ウォッチド ッグ タイマのリ ト ラ イ いいえ はい

ConfigRate 設定で制御されるインターフェ

イス タイ ミ ング オプシ ョ ンの数 (表 5-6 参照)

3 12

マスタ BPI モード中の CCLK

I/O

出力のみ (シグナル インテグ リティ

を向上)

コンフ ィギュレーシ ョ ン中に RDWR_B および CSI_B が必要

はいいいえ

(don’t care)

コンフ ィギュレーシ ョ ン中に M[2:0] ピンに

専用の内部プルアップ抵抗付き

いいえ

オプション。

HSWAP で制御

はい

Page 151: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 153UG332 (v1.4) 2008 年 7 月 1 日

PROM アドレスの生成

PROM アドレスの生成

Spartan 3A/3AN/3A DSP FPGA では、コンフ ィギュレーシ ョ ンは常にアドレス 0 から開始し、アド

レスをインク リ メン ト していきます。 このモードを BPI Up と呼びます。 Spartan-3A/3AN/3A DSPFPGA の BPI モードでは、 常に M[2:0] = <0:1:0> を設定します。

138 ページの図 5-1 に示すよ うに、Spartan-3E FPGA ファ ミ リでは、M0 モード セレク ト ピンで指

定する BPI コンフィギュレーショ ンの 2 つのバージョンをサポート します。 141 ページの表 5-2 に示す

よ うに、M0 モード セレク ト ピンが Low の場合、Spartan-3E FPGA はコンフィギュレーションに BPIUp モードを用い、アドレス 0 から開始して A[23:0] アドレス ピンに出力されたアドレスまでインク リ

メン ト します。M0 モード セレク ト ピンが High の場合、Spartan-3E FPGA はコンフィギュレーショ ン

に BPI Down モードを使用し、 上位のメモリ (A[23:0] = 0xFFFFFF) から開始して自動的にメモリ アドレスをデク リ メン ト していきます。 Spartan-3A/3AN/3A DSP FPGA では、BPI Down モードはサポー

ト していません。

アドレスは、 通常、 CCLK の各立ち下がりエッジでインク リ メン ト (または BPI Down モードでは

デク リ メン ト ) されます。 例外は、Spartan-3A FPGA をシ リ アル デイジー チェーンの一部と して使

用する場合です (詳細は 153 ページの「シ リ アル デイジー チェーン接続 (Spartan-3A/3AN/3A DSPFPGA のみ)」 を参照してください)。

Spartan-3E のアドレス指定は柔軟で、 FPGA が外部またはエンベデッ ド プロセッサとパラレル フラ ッシュ PROM を共有可能です。 プロセッサ アーキテクチャの違いによ り、プロセッサは 上位ま

たは 下位のメモ リからブート します。 FPGA は柔軟であ り、 プロセッサとは反対側の端にある メ

モ リからブート します。 プロセッサまたは FPGA のみは随時ブートできます。 プロセッサを リセッ

トに保持して FPGA を 初にコンフ ィギュレーシ ョ ンするこ と も、 FPGA の PROG_B ピンをア

サート してプロセッサを 初にブートするこ と も可能です。

Spartan-3E FPGA は、通常、 大 24 のアドレス ラ インで付属のパラレル メモ リにアクセスします。

いくつかの例外を次に述べます。

• Spartan-3E FPGA は、 TQ144 パッケージの Spartan-3E FPGA は、 アドレス ラインを 20 のみ提供

します。 これは TQ144 パッケージで提供される小型の FPGA アレイ サイズには十分です。

• 同様に、 CP132 パッケージの XC3S100E FPGA では、 アドレス ラインが 20 のみですが、 同

じパッケージの XC3S250E および XC3S500E FPGA には、 アドレス ラインが 24 あ り ます。

• BPI アドレス ピンは、 VQ100 パッケージの Spartan-3E FPGA では提供されていません。 した

がって、 VQ100 パッケージの Spartan-3E FPGA はパラレル NOR フラ ッシュからコンフ ィ

ギュレーシ ョ ンできませんが、 パラレルのザイ リ ンクス Platform Flash (XCFxxP) を使用して

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

Spartan-3A/3AN/3A DSP FPGA は、通常、付属のパラレル メモ リへのアクセスに 大 26 のアドレ

ス ラインを提供します。 次にいくつかの例外を述べます。

• XC3S50A FPGA は BPI モードをサポート しません。

表 5-2 : BPI アドレス指定制御

M2 M1 M0 モード サポートするファ ミ リ 開始アドレス アドレス指定

0 10

BPI Up Spartan 3A/3AN、

Spartan-3A DSP、Spartan-3E FPGA

0 インク リ メン ト

1 BPI Down Spartan-3E FPGA のみ 0xFF_FFFF デク リ メン ト

A

Page 152: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

154 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

165 ページの図 5-14 に示すよ うに、モード セレク ト ピン M[2:0] は、FPGA の INIT_B 出力が Highになる とサンプルされ、 このと きに定義されたロジッ ク レベルにある必要があ り ます。 コンフ ィ

ギュレーシ ョ ン後、 FPGA の DONE 出力が High になる と、 モード ピンは、 全機能を備えた ユー

ザー I/O ピンと して使用可能になり ます。

同様に、 すべてのユーザー I/O ピンのプルアップ抵抗を有効にするには、 FPGA の HSWAP ピンを必ず Low にし、プルアップ抵抗を無効にする場合は、 このピンを必ず High にする必要があ り

ます。 HSWAP または PUDC_B 制御は FPGA コンフ ィギュレーシ ョ ン中に一定のロジッ ク レベル

のままである必要があ り ます。 コンフ ィギュレーシ ョ ン後、FPGA の DONE 出力が High になった

場合、 HSWAP または PUDC_B ピンは、 全機能を備えたユーザー I/O ピンと して使用可能で、

VCCO_0 電源で電源供給されます。

Spartan-3E FPGA では、 RDWR_B および CSI_B ピンはコンフ ィギュレーシ ョ ン プロセス中に

Low のままである必要があ り ますが、 コンフ ィギュレーシ ョ ンの開始は CSI_B がアサート される

まで遅延されます。 コンフ ィギュレーシ ョ ン後、 これらのピンもユーザー I/O とな り ます。

RDWR_B および CSI_B は、 Spartan-3A/3AN/3A DSP FPGA では使用されず、 無視されます。

単体の FPGA のアプリ ケーシ ョ ンでは、FPGA の CSO_B および CCLK ピンは使用されませんが、

コンフ ィギュレーシ ョ ン プロセス中にはアクティブに駆動しています。 Spartan-3A/3AN/3A DSPFPGA にはない、Spartan-3Eの BUSY ピンは使用されませんが、コンフ ィギュレーシ ョ ン中はアク

ティブに駆動し、 コンフ ィギュレーシ ョ ン後はユーザー I/O と して使用可能です。

コンフ ィギュレーシ ョ ン後、DONE および PROG_B を除く インターフェイス ピンはすべて、ユー

ザー I/O と して使用できます。

P

表 5-3 : BPI (バイ ト幅ペリフェラル インターフェイス) の接続

ピン名FPGA の 入力/出力

説明 コンフ ィギュレーシ ョ ン中 コンフィ ギュレーショ ン後

HSWAPPUDC_B

入力 ユーザー I/O プルアップ制御。

コ ン フ ィ ギ ュ レーシ ョ ン中に

Low の場合は、 それぞれの I/Oバンク VCCO 入力に対する全

I/O ピンのプルアップ抵抗を有

効にする

0 : コンフ ィギュレーシ ョ ン中プ

ルアップ

1 : プルアップなし

コンフ ィ ギュ レーシ ョ ン中に

有効なロジッ ク レベルで駆動

ユーザー I/O

M[2:0] 入力 モード セレク ト。 FPGA のコン

フ ィギュレーシ ョ ン モードを選

択。 Spartan-3A/3AN/3A DSPFPGA にはこれらのピンに専用

の内部プルア ップ抵抗があ る。

64 ページの 「HSWAP、 M[2:0]、および VS[2:0] ピンのデザイン

の考察」 参照

M2 = 0、 M1 = 1。 M0 = 0 に設

定し、アドレス 0 から開始して

ア ド レ ス を イ ン ク リ メ ン ト 。

Spartan-3E FPGA では、

M0 = 1 をオプシ ョ ンで設定

し、アドレス 0xFFFFFF から開

始してア ド レ スをデク リ メ ン

ト 。 INIT_B が High になる と

サンプルされる

ユーザー I/O

S p a r t a n - 3 EFPGA のみ : CSI_B

入力 チップ セレク ト入力。 アクティ

ブ Lowコ ンフ ィ ギュ レーショ ン中は

Low でなければならない。

Spartan-3A/3AN/3A DSP FPGAでは無視される

ユーザー I/O

P

A

Page 153: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 155UG332 (v1.4) 2008 年 7 月 1 日

PROM アドレスの生成

S p a r t a n - 3 EFPGA のみ : RDWR_B

入力 読み出し /書き込み制御。 アク

ティブ Low のライ ト イネーブ

ル。 通常読み出し機能はコン

フ ィ ギュレーシ ョ ン後、 BitGenのオプシ ョ ンが Persist:Yes の場

合にのみ使用される

コンフ ィ ギュ レーシ ョ ン中は

Low でなければならない。

Spartan-3A/3AN/3A DSPFPGA では無視される

ユーザー I/O

LDC0 出力 PROM チップ イネーブル PROM チップ セレク ト入力に

接続 (CS#)。 コンフ ィギュレー

シ ョ ン中、FPGA はこの信号を

Low に駆動

ユーザー I/O。 コンフ ィ

ギュレーシ ョ ン後、 FPGAが PROM にアクセスしな

い場合は High に駆動して

PROM を選択解除する。

A[23:0]、 D[7:0]、 LDC2LDC1 、および HDC の後

でユーザー I/O と して使

用可能

LDC1 出力 PROM 出力イネーブル PROM 出力イネーブル入力に

接続 (OE#)。 コンフ ィギュレー

シ ョ ン中、FPGA はこの信号を

Low に駆動

ユーザー I/O

HDC 出力 PROM ラ イ ト イネーブル PROM ライ ト イネーブル入力

に接続 (WE#)。 コンフ ィギュ

レーシ ョ ン中、FPGA はこの信

号を High に駆動

ユーザー I/O

LDC2 出力 PROM バイ ト モード この信号は x8 PROM では使用

されない。 x8/x16 データ幅制御

付きの PROM の場合は PROM バイ ト モード入力に接続 (BYTE#)。 詳細は 「x8/x16 フラッシュ PROM を使用する場

合の注意事項」 を参照。 コン

フィギュレーショ ン中に FPGA はこの信号を Low に駆動

ユーザー I/O。x16 モードで

x8/x16 PROM を使用する

には、 コ ンフ ィ ギ ュ レー

ショ ン後、 High に駆動

S p a r t a n - 3 EFPGA :A[23:0]

Spartan-3ASpartan-3ANSpartan-3A DSPFPGA :

A[25:0]

出力 アドレス PROM アド レス入力に接続。す

べてのパッ ケージで上位からの

アド レス ラインが使用できる

わけではなく 、 すべてのパッ

ケージで必要なわけではない。

必要なアド レス ラインの数は、

付属のフラッ シュ PROM のサ

イズによって異なる。 Spartan-3E FPGA のアド レス生成は

M0 モード ピンによって制御さ

れる。 アド レスは、 CCLK の立

ち下がり エッ ジで送信される

ユーザー I/O

表 5-3 : BPI (バイ ト幅ペリフェラル インターフェイス) の接続 (続き)

ピン名FPGA の 入力/出力

説明 コンフ ィギュレーシ ョ ン中 コンフィ ギュレーショ ン後

D

Page 154: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

156 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

D[7:0] 入力 データ入力 FPGA は、 A[23:0] または

A[25:0] に送信されたアドレス

に応じてこれらのピンにバイ ト

幅のデータを受信する。 データ

は FPGA の CCLK の立ち上が

りエッジでキャプチャされる

ユーザー I/O

CSO_B 出力 チップ セレク ト出力。 アクティ

ブ Low単体の FPGA のアプリ ケー

シ ョ ンでは使用されない。 デイ

ジー チェーン コンフ ィギュ

レーシ ョ ンでは、 このピンは

チェーン内の後続 FPGA の

CSI_B ピンに接続。 複数の

FPGA がデイジー チェーン接

続されたアプ リ ケーシ ョ ンで

HSWAP または PUDC_B = 1の場合、 VCCO_2 への 4.7 kΩの プ ル ア ッ プ 抵抗 に 接続。

チェーン内の下位デバイ スを

選択する場合は、 ア ク テ ィ ブ

Low に駆動

ユーザー I/O

Spartan-3E :FPGABUSY

出力 Busy インジケータ 単体の FPGA を用いたデザイ

ンでは使用しない。BUSY はプ

ルア ップでア ク テ ィ ブに駆動

しない

ユーザー I/O

Spartan-3ASpartan-3ANSpartan-3A DSPFPGA :

DOUT

出力 シ リ アル データ出力。 Spartan-3A/3AN/3A DSP シ リ

アル デイジー チェーンで使用

単一の FPGA を用いたデザイ

ンでは使用しない。DOUT はプ

ルアップで、 アクティブには駆

動しない。 Spartan-3A/3AN/3A DSP のシ

リ アル デイジー チェーン コン

フ ィ ギ ュ レ ー シ ョ ン で は、

チェーン内の後続 FPGA の

DIN 入力に接続

ユーザー I/O

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

ク 。 FPGA の内部オシレータで生

成。 BitGen の ConfigRate オプ

ショ ンで周波数を制御。 CCLK のPCB ト レースが長い、または複数

の接続がある場合は、シグナル インテグリ ティ の維持のため、この

出力を終端する。 46 ページの

「 CCLK デザインの考察」 参照

単体の FPGA のアプリ ケー

シ ョ ンでは使用されないが、

アクティブに駆動。 デイジー チェーン コンフ ィギュレー

シ ョ ンで、 デイジー チェーン

内にあるほかの全 FPGA の CCLK 入力を駆動

ユーザー I/O。 未使用時は

High または Low に駆動

表 5-3 : BPI (バイ ト幅ペリフェラル インターフェイス) の接続 (続き)

ピン名FPGA の 入力/出力

説明 コンフ ィギュレーシ ョ ン中 コンフィ ギュレーショ ン後

Page 155: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 157UG332 (v1.4) 2008 年 7 月 1 日

電圧の互換性

電圧の互換性

FPGA のパラレル フラ ッシュ インターフェイス信号は I/O バンク 1 および 2 にあ り ます。 パ

ラレル フラ ッシュ PROM の大部分は、 3.3V 電源電圧のみを使用しいます。 したがって、 ほとんど

の場合、FPGA の VCCO_1 および VCCO_2 電源電圧は、パラレル フラ ッシュ PROM に一致する

よ うに 3.3V である必要があ り ます。 1.8V のパラレル フラ ッシュ PROM もあ り、Spartan-3E FPGAでは、 VCCO_1 および VCCO_2 電源が 1.8V の場合、 これらのデバイス と インターフェイスしま

す。データシートおよび 241 ページの表 12-1 に示すよ うに、Spartan-3A/3AN/3A DSP FPGA には、

よ り高い VCCO_2 POR (パワー オン リセッ ト ) 電圧しきい値があるため、 1.8V のコンフ ィギュ

レーシ ョ ン インターフェイスはサポート しません。

詳細は、 163 ページの 「3.3V 電源がシーケンスの 後である場合の電源投入時の注意事項」 を参照

して ください。

また、 196 ページの 「JTAG ケーブルの電圧の互換性」 も参照してください。

互換性のあるパラレル NOR フラッシュ ファ ミ リ

Spartan-3E および Spartan-3A/3AN/3A DSP の BPI コンフ ィギュレーシ ョ ン インターフェイスは、

多様な x8 または x8/x16 パラレル NOR フラ ッシュ デバイスで動作します。表 5-4 に BPI インター

フェイスで動作するフラ ッシュ メモ リ ファ ミ リの例をいくつか示します。 ザイ リ ンクスでは、いく

つかのベンダーのさまざまなファ ミ リに対し、 ハード ウェア検証を実施しました。 その他のデバイ

スも、データシートの分析から判断する と互換性があ り ます。 製造元のデータシートで、使用予定の

パラレル NOR フラ ッシュ デバイスの適合性を確認してください。

INIT_B オープン ドレイン

の双方向 I/O

初期化インジケータ。 アクティ

ブ Low。 メモ リ初期化プロセス

中、コンフ ィギュレーシ ョ ン開始

時に Low になる。 メモ リ初期化

の 後で、 モード セレク ト ピン

のサンプル時にリ リース

コンフ ィ ギュ レーシ ョ ン中は

アクティブ。 コンフ ィギュレー

シ ョ ン中に CRC エラーが検出

された場合、 FPGA は INIT_Bを Low に駆動

ユーザー I/O。 アプ リ ケー

シ ョ ンで未使用の場合、フ

ローテ ィ ングを回避する

ため High に駆動。 「コン

フ ィギュレーシ ョ ン後」 のINIT_B 参照

DONE オープ ン

ド レ イ ン

の双方向

I/O

FPGA のコンフ ィギュレーシ ョ

ン完了。 コンフ ィギュレーシ ョ

ン中は Low。 FPGA のコンフ ィ

ギュレーシ ョ ンが正常に完了後、

High になる

Low の場合、FPGA がコンフ ィ

ギュ レーシ ョ ン されていない

こ とを示す

外部プルア ップ抵抗を介

して High にプルアップ。

High の場合は FPGA のコ

ンフ ィ ギュ レーシ ョ ンの

正常な完了を示す

PROG_B 入力 FPGA のプログラム。 アクティブ

Low。 500ns 以上 Low にアサート

されると、 PROG_B が High に戻った後で、 コンフ ィ ギュ レー

ショ ン メモリ を初期化し、DONEおよび INIT_B ピンを リセッ ト し

てコンフィギュレーション プロ

セスを再実行する

コンフ ィギュレーシ ョ ン中は、

コンフ ィ ギュ レーシ ョ ンを開

始するために High である必要

がある

Low に駆動し、 リ リース

して FPGA を再プログラ

ムする。 PROG_B を Lowの状態で保持して FPGAI/O ピンを強制的にハイ

インピーダンスの状態に

する。 SPI フラ ッシュ

PROM ピンに対する直接

プログラム アクセスが可

能になる

表 5-3 : BPI (バイ ト幅ペリフェラル インターフェイス) の接続 (続き)

ピン名FPGA の 入力/出力

説明 コンフ ィギュレーシ ョ ン中 コンフィ ギュレーショ ン後

V

Page 156: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

158 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

ほとんどのパラレル NOR フラ ッシュに互換可能なメモリ読み出し機能があ り、 デバイス間で異な

るプログラ ミ ング アルゴ リズムを用いている場合があ り ますが、 これは、 FPGA のコンフ ィギュ

レーシ ョ ンには影響あ り ません。

パラレル フラ ッシュ PROM 集積度要件

表 5-5 に、1 つの Spartan-3A/3AN/3A DSP または Spartan-3E FPGA をプログラムできる 小の使

用可能なパラレル フラ ッシュ PROM を表示します。 パラレル フラ ッシュ メモ リ デバイスは、通常

ビッ ト集積度で指定できますが、 メモ リはバイ ト またはハーフ ワードでアドレス指定されます。 Spartan-3A/3AN/3A DSP FPGA は、コンフ ィギュレーシ ョ ン中に 大 26 のアドレス ラインがあ り

ますが、すべてのアドレス ラ インが必要となるわけではなく、必要な数は FPGA ビッ ト ス ト リーム

を保持するのに必要なバイ ト数応じて異なり ます。 表 5-5 に FPGA およびパラレル フラ ッシュ

PROM 間で必要と される 小のアドレス ライン数を表示します。 実際のアドレス ライン数は、付属

のパラレル フラ ッシュ PROM の集積度によって異なり ます。

表 5-4 : 互換性のあるパラレル NOR フラッシュ ファ ミ リの例

フラッシュ ベンダー フラッシュ メ モリ ファミ リ ステータス

STMicroelectronics(Numonyx)

M29W ハードウェア検証済み

Atmel AT29/AT49 ハードウェア検証済み

Spansion (AMD、 Fujitsu) S29 データシートに基づく互換性あ り

Intel (Numonyx) Embedded Flash (J3 v. D) ハードウェア検証済み

Macronix MX29 データシートに基づく互換性あ り

表 5-5 : Spartan-3A/3AN/3A DSP または Spartan-3E FPGA のプログラムに必要なビッ ト数および 小の使用可能なパラ

レル PROM

ファ ミ リ FPGA圧縮なし

ファイル サイズ (ビッ ト )

小の使用可能な

パラレル フラッシュ PROM

必要 低限の

アドレス ライン数

Spartan 3A/3AN

XC3S50A/AN 437,312 BPI モードは XC3S50A FPGA では使用不可

XC3S200A/AN 1,196,128 2Mb A[17:0]

XC3S400A/AN 1,886,560 2Mb A[17:0]

XC3S700A/AN 2,732,640 4Mb A[18:0]

XC3S1400A/AN 4,755,296 8Mb A[19:0]

Spartan 3A DSPXC3SD1800A 8,197,280 8Mb A[19:0]

XC3SD3400A 11,718,304 16Mb A[20:0]

Spartan 3E

XC3S100E 581,344 1Mb A[16:0]

XC3S250E 1,353,728 2Mb A[17:0]

XC3S500E 2,270,208 4Mb A[18:0]

XC3S1200E 3,841,184 4Mb A[18:0]

XC3S1600E 5,969,696 8Mb A[19:0]

Page 157: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 159UG332 (v1.4) 2008 年 7 月 1 日

CCLK 周波数

複数の FPGA がデイジー チェーン接続したアプリケーシ ョ ンでは、 FPGA ファイルの合計サイズを

含むのに十分な大きさのパラレル フラ ッシュ PROM が必要です。 また、 アプリ ケーシ ョ ンでは、

FPGA コンフ ィギュレーシ ョ ン データ以外の追加データを保存するために、よ り大型の集積度のパラ

レル フラ ッシュ PROM も使用できます。 たとえば、 パラレル フラ ッシュ PROM には、 Spartan-3A/3AN/3A DSP または Spartan-3E FPGA にインプリ メン ト された MicroBlaze® RISC プロセッサ

コアのアプリ ケーシ ョ ン コードを保存もできます。 コンフ ィギュレーシ ョ ン後、 MicroBlaze プロ

セッサは外部フラ ッシュ メモ リから直接駆動するか、 コードを実行する前に、ほかのよ り高速のシ

ステム メモ リにコードをコピーします。

CCLK 周波数

BPI モードでは、FPGA の内部オシレータが、すべてのインターフェイス タイ ミ ングを制御するコ

ンフ ィギュレーシ ョ ン ク ロ ッ ク周波数を生成します。 FPGA は、 一番低い周波数でコンフ ィギュ

レーシ ョ ンを開始し、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リームで指定されている場合は、残りの

コンフ ィギュレーシ ョ ン プロセス中に周波数を増加します。 大周波数は、 BitGen の ConfigRateオプシ ョ ンを使用して設定します。

表 5-6 に、 コマーシャル温度動作範囲におけるさまざまな PROM 読み出しアクセス時間の 大

ConfigRate 設定を示します。 タイ ミ ング情報の詳細は、 165 ページの 「BPI (Byte PeripheralInterface) コンフ ィギュレーシ ョ ンのタイ ミ ング」 を参照してください。 Spartan 3A/3AN/3A DSPFPGA にはよ り多くの ConfigRate オプシ ョ ンがあるので、特定のメモ リ インターフェイス速度に

さらに細かく適合します。 パラレル Platform Flash PROM を使用する場合は、 156 ページの表 5-8の ConfigRate 設定を参照して ください。

表 5-6 : パラレル フラッシュ PROM の 大 ConfigRate 設定 (コマーシャル温度範囲)

ConfigRate ビッ ト

ス ト リームの設定

パラレル NOR フラッシュ の読み出しアクセス時間 (TACC (tAVQV))

単位

Spartan-3E FPGA Spartan 3A/3AN、

Spartan 3A DSP FPGA

3 < 263 ns < 395 ns

ns

6 < 120ns < 189 ns

7 なし < 160 ns

8 なし < 138 ns

10 なし < 105 ns

12 < 49ns < 85 ns

13 なし < 75 ns

17 なし < 54 ns

22 なし < 36 ns

25 なし < 29 ns

27 なし < 26 ns

33 なし < 18 ns

メモ : 1. PCB 信号の伝播時間を 1ns と想定しています。

Page 158: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

160 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

BPI モードは、 よ り遅い ConfigRate 設定を使用しているにも関わらず、 ほかのコンフ ィギュレー

シ ョ ン モード と同等に高速です。 BPI モードでは、 データは ConfigRate 周波数でアクセスされ、

8X ク ロ ッ ク周波数で、 内部でシ リ アル化されます。

コンフ ィギュレーシ ョ ン後の BPI インターフェイスの使用

FPGA のコンフ ィギュレーシ ョ ンが正常に完了後、 パラレル フラ ッシュ PROM に接続されたすべ

てのピンはユーザー I/O ピンと して使用可能となり ます。

コンフ ィギュレーシ ョ ン後、パラレル フラ ッシュ PROM を使用しない場合は、LDC0 を High に駆

動して PROM のチップ セレク ト入力を無効にします。 その後、A[25:0] または A[23:0] アドレス ライン、8 つの D[7:0] データ ライン、および LDC2、 LDC1、HDC 制御ピンのすべてを含む残りの BPIピンは、 FPGA で使用可能になり ます。

すべてのインターフェイス ピンはコンフ ィギュレーシ ョ ン後にユーザー I/O となるので、FPGA アプリ ケーシ ョ ンはパラレル フラ ッシュ PROM と通信するためにこれらのインターフェイス ピンを

使用し続けるこ とができます。 パラレル フラ ッシュ PROM は 1Mb から 128Mb の集積度の範囲で

入手可能です。 しかし、単体の Spartan 3E/3A/3AN FPGA では、コンフ ィギュレーシ ョ ンに 6Mb 以下しか必要と しません。 必要であれば、MicroBlaze プロセッサ コードなどの追加の不揮発性アプリ

ケーシ ョ ン データ、 またはシ リ アル番号およびイーサネッ ト MAC ID などのユーザー データを格

納するために、大型のパラレル フラ ッシュ PROM を使用します。 このよ うな場合は、FPGA はパラ

レル フラ ッシュ PROM からコンフ ィギュレーシ ョ ンします。 FPGA にエンベデッ ド された

MicroBlaze プロセッサは、コンフ ィギュレーシ ョ ン後に FPGA ロジッ クを使用し、パラレル フラ ッ

シュ PROM から直接コードを実行するか、 外部 DDR SDRAM にコードをコピーして DDRSDRAM から実行します。 同様に、 FPGA アプリ ケーシ ョ ンはパラレル フラ ッシュ PROM 内に不

揮発性アプリ ケーシ ョ ンデータを保存できます。

Spartan-3E FPGA でのコンフ ィギュレーシ ョ ン データは、 アドレス 0 (BPI Up) または 上位のア

ドレス (BPI Down) を起点と して保存されるか、 あるいは、 マルチブート コンフ ィギュレーシ ョ ン

を実行する場合は、 両方に保存されます (詳細は 265 ページの 「Spartan-3E の マルチブート 」 を参

照して ください)。 Spartan 3A/3AN/3A DSP FPGA では、常にアドレス 0 で開始する (BPI Up) コン

フ ィギュレーシ ョ ン ビッ ト ス ト リームがあ り、Spartan 3A/3AN/3A DSP のマルチブート コンフ ィ

ギュレーシ ョ ン実行中には、よ り高位のアドレス位置にある場合があ り ます (詳細は、273 ページの

「Spartan-3A/3AN/3A DSP のマルチブート 」 を参照して ください)。 追加データを、ほかの使用可能

なパラレル フラ ッシュ PROM セクタを起点と して保存します。

注意 : コンフ ィギュレーシ ョ ン データおよびユーザー データを同じセクタに保存しないでく

ださい。 コンフ ィギュレーシ ョ ン データおよびユーザー データの両方を同じセクタに保存す

る場合は、 細心の注意を払う必要があ り ます。

同様に、パラレル フラ ッシュ PROM インターフェイスは追加のパラレル ペリ フェラルに拡張でき

ます。 アドレス、データ、 LDC1 (OE#) および HDC (WE#) 制御信号はすべてのパラレル ペリ フェ

ラルに共通です。 追加の各ペリ フェラルのチップ セレク ト入力を FPGA のユーザー I/O ピンの 1つに接続します。 コンフ ィギュレーシ ョ ン中に HSWAP または PUDC_B = 0 の場合、FPGA は内部

プルアップ抵抗を介してチップ セレク ト ラインを High に保持します。 HSWAP または

PUDC_B = 1 の場合、不正な読み出しまたは書き込み動作を回避するため、外部の 4.7kΩ プルアッ

プ抵抗を介してセレク ト ラインを +3.3V に接続します。 コンフ ィギュレーシ ョ ン終了後、セレク ト

ラ インを Low に駆動して、必要なペリ フェラルを選択します。 特定のインターフェイスおよび通信

プロ ト コルの要件については、 各ペリ フェラルのデータシート を参照してください。

FPGA は、 コンフ ィギュレーシ ョ ン後、 LDC2 (BYTE#) 制御ピンを High に駆動して 16 ビッ トの

ペリ フェラル インターフェイスをオプシ ョ ンでサポート します。 詳細は、 「x8/x16 フラ ッシュ

PROM を使用する場合の注意事項」 を参照してください。

Page 159: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 161UG332 (v1.4) 2008 年 7 月 1 日

x8/x16 フラ ッシュ PROM を使用する場合の注意事項

Spartan-3E FPGA は、 コンフ ィギュレーシ ョ ン中に 大 24 のアドレス ラインを提供し、 大

128Mb (16 メガバイ ト ) をアドレス指定します。 また、 Spartan-3A/3AN/3A DSP は 大 26 のアド

レス ラインを提供し、 大 512Mb (64 メガバイ ト ) をアドレス指定します。 大型のペリ フェラル

PROM を使用する場合は、上位の PROM アドレス ラインを FPGA のユーザー I/O に接続します。

コンフ ィギュレーシ ョ ン中、 HSWAP または PUDC_B = 0 の場合、上位のアドレス ラインは Highにプルアップされます。それ以外の場合、 これらのアドレス ラインの外部プルアップまたはプルダ

ウン抵抗を使用し、 これらのコンフ ィギュレーシ ョ ン中の値を指定します。

x8/x16 フラッシュ PROM を使用する場合の注意事項

小から中程度の集積度の PROM (通常 8Mb 以下) はバイ ト幅のメモ リ (x8) と してのみ使用

可能です。 よ り高集積度のフラ ッシュ PROM (通常 16Mb 以上) の多くは、 バイ ト幅 (x8) および

ワード幅 (x16) のデータ パスをサポート し、x8 または x16 モードを切り替える BYTE# と呼ばれる

モード入力ピンを含みます。 コンフ ィギュレーシ ョ ン中に、Spartan-3E および Spartan-3A/3AN/3ADSP FPGA は、図 5-3a に示すバイ ト幅のデータのみをサポート します。 しかし、図 5-3b に示すよ

うに、 コンフ ィギュレーシ ョ ン後は、 PROM の BYTE# モード入力を制御する FPGA の LDC2 ピンが FPGA アプリ ケーシ ョ ンで制御されるため、FPGA は x8 または x16 モードをサポート します。

x16 モードでは、 大 8 つの追加のユーザー I/O ピンが上位データ ピッ ト D[15:8] に必要です。

注意 : アドレス ピンの命名規則はフラ ッシュ メモ リ ベンダーによって異なり ます。 FPGA が選択したメモ リに正し く接続されているこ とを確認して ください。

Spartan-3E または Spartan-3A/3AN/3A DSP FPGA を x8/x16 モードの両方をサポートする フラ ッ

シュ PROM に接続するのは単純ですが、 これには注意事項があ り ます。 x8 および x16 モードをサ

ポートするインターフェイスは、 フラ ッシュ PROM ベンダーによ り若干異なり ます。 一部のベン

ダー (Intel/Numonyx 社、 Micron 社、 STMicroelectronics/Numonyx 社のデバイスの一部) では、

FPGA 接続に一致するピン名があるわかりやすいインターフェイスを使用しています。 しかし、x16アプリ ケーシ ョ ンでは PROM の A0 ピンが無駄になり、D15 データ ラインに別の FPGA ユーザー

I/O ピンが必要になり ます。 ただし、FPGA の A0 ピンはフラ ッシュ PROM に接続していますが、コ

ンフ ィギュレーシ ョ ン後はユーザー I/O と して使用できます。

D

図 5-3 : FPGA はコンフ ィギュレーシ ョ ン前に x8 インターフェイスをサポート し、

コンフ ィギュレーシ ョ ン後はオプシ ョ ンの x16 インターフェイスをサポート

HDCLDC1LDC0 CE#

WE#OE#

LDC2

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

A[21:1] A[20:0]

32Mbit Flash(4Mx8 Mode)

BYTE#

A0 DQ15/A-1(User I/O) DQ[14:8]

User_WE#User_OE#User_CE# CE#

WE#OE#

‘1’

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

A[21:1] A[20:0]

32Mbit Flash(2Mx16 Mode)

BYTE#

User_D15 DQ15/A-1User_D[14:8] DQ[14:8]

(a) Byte-wide interface during configuration (b) 16-bit interface after configurationUG332_c5_07_040107

FPGA FPGA

Page 160: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

162 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

ほかのベンダー (AMD 社、 Atmel 社、 Silicon Storage Technology 社、 Spansion 社、 および一部の

STMicroelectronics/Numonyx 社のデバイス) では、ピン効率の良いインターフェイスを使用してい

ますが、 PROM が x8 モードであるか、 x16 モードであるかによって IO15/A-1 と呼ばれる 1 つの

ピンの機能を変更します。 図 5-3 に、 このインターフェイスを図示します。 x8 モードでは、 FPGAの LDC2 ピンに制御される BYTE# = 0 (フラ ッシュの IO15/A-1 ピン) がフラ ッシュ メモ リへの

下位アドレス ラ インにな り ます。 IO15/A-1 ラインはバイ ト位置を選択します。 下位アドレス ラインと捉えられるこ とがある A0 アドレス ラインは、実際には ワード (x16) 位置のセレク ト ライン

です。

FPGA コンフ ィギュレーシ ョ ンが正常に終了した後、 FPGA アプリ ケーシ ョ ンは 16 ビッ トのデー

タ インターフェイスを使用し、フラ ッシュ メモ リにオプシ ョ ンでアクセスできます。 FPGA アプリ

ケーシ ョ ンは、 IO15/A-1 ピンの定義を切り替える BYTE# = 1 を駆動します。 x16 モードではバイ

トのアドレス指定は不要であるため、このピンは 上位データ ビッ ト D15 になり ます。 フラ ッシュ

PROM に IO15/A-1 または DQ15/A-1 という名前のピンがあるか確認してください。 ある場合は、

図 5-3 および表 5-7 に示すよ うに、注意を払って x8/x16 フラ ッシュ PROM を正し く接続してくだ

さい。 また、 D[14:8] データ接続は FPGA のユーザー I/O ピンを必要と しますが、 D15 データは

FPGA の A0 ピンに接続されているこ とに注意してください。

x8/x16 フラ ッシュ PROM の一部には、 BYTE# 信号に長いセッ ト アップ タイム要件があ り ます。

FPGA を正し く コンフ ィギュレーシ ョ ンするには、起動時あるいは FPGA PROG_B ピンを Low にパルスする と きに、PROM は BYTE# = 0 の x8 モードである必要があ り ます。 必要な場合は、FPGAの LDC2 ピンの 680Ω の外部プルダウン抵抗を使用するか、 FPGA への CSI_B セレク ト入力のア

サート を遅延して 3.3V PROM の BYTE# セッ ト アップ タイムを延長します。

表 5-7 : IO15/A-1 ピンを使用したフラッシュ PROM への FPGA 接続

FPGA ピンIO15/A-1 ピンを使用したフラッ

シュ PROM への接続

FPGA コンフ ィギュレーシ ョ ン後の x8 フラ ッシュ PROM

インターフェイス

FPGA コンフィ ギュレーショ ン後の x16 フラッシュ PROM

インターフェイス

LDC2 BYTE# LDC2 を Low に駆動するか未接続

のままにし、PROM BYTE# 入力を

GND に接続

LDC2 を High に駆動

LDC1 OE# アクティブ Low の フラ ッシュ

PROM 出力イネーブル制御

アクティブ Low の フラ ッシュ

PROM 出力イネーブル制御

LDC0 CS# アクティブ Low の フラ ッシュ

PROM チップ セレク ト制御

アクティブ Low の フラ ッシュ

PROM チップ セレク ト制御

HDC WE# フラ ッシュ PROM のライ ト イネー

ブル制御

フラ ッシュ PROM のライ ト イネー

ブル制御

A[23:1] A[n:0] A[n:0] A[n:0]

A0 IO15/A-1 IO15/A-1 は 下位アドレス入力 IO15/A-1 は 上位データ ラ イン

(IO15)

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

ユ ー ザ ー

I/Oコンフ ィギュレーシ ョ ン後、 x16フラ ッシュ インターフェイス と

して使用されない限り、上位デー

タ ライン IO[14:8] は不要

上位データ ライン IO[14:8] は不要 IO[14:8]

Page 161: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 163UG332 (v1.4) 2008 年 7 月 1 日

デイジー チェーン

デイジー チェーン

アプリ ケーシ ョ ンでそれぞれ異なるコンフ ィギュレーシ ョ ンを持つ複数の FPGA が必要な場合、

152 ページの図 5-4 または 154 ページの図 5-5 に示すよ うに、デイジー チェーンを使用して FPGAをコンフ ィギュレーシ ョ ンします。

• BPI モードのマスタ FPGA からのパラレル デイジー チェーンは、 Spartan-3E および

Spartan 3A/3AN/3A DSP FPGA の両方でサポート されています。

• BPI モードのマスタ FPGA からのシ リ アル デイジー チェーンは、 Spartan 3A/3AN/3A DSPFPGA でのみサポート されています。

また、デイジー チェーンを正常にコンフ ィギュレーシ ョ ンするには、チェーンに含まれるすべての

FPGA に対する DONE_cycle 設定の後で、BitGen の GTS_cycle オプシ ョ ンをスタート アップ段階

に設定する必要があ り ます。 これは、 ソフ ト ウェアのデフォルト設定です。 オプシ ョ ンで、

GTS_cycle:Done に設定します。

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

Spartan-3E および Spartan 3A/3AN/3A DSP FPGA ファ ミ リは、 チェーン内の 初のデバイスが BPIモードを使用する場合、 パラレル コンフィギュレーショ ン デイジー チェーンをサポート します。

図 5-4 に示すよ うに、 デイジー チェーン内のすべての下位 FPGA は、 スレーブ パラレル モード

(M[2:0] = <1:1:0>) を使用します。 デイジー チェーン内に 2 つ以上の FPGA がある場合は、チェー

ン内の 後の FPGA は、 Virtex®-II、 Virtex-II Pro、 Spartan-3 FPGA などの Select MAP インター

フェイスをサポートする 新のザイ リ ンクス FPGA ファ ミ リの FPGA から接続できます。 しかし、

初と 後の FPGA の間にあるチェーンの中間の FPGA は、Spartan-3E、Spartan 3A/3AN/3A DSPまたは Virtex-5 FPGA ファ ミ リのいずれかである必要があ り ます。 これら 3 つの FPGA ファ ミ リ

のみがスレーブ パラレル (SelectMAP) モードで CSO_B 出力を提供します。

Page 162: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

164 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

マスタ FPGA (図 5-4 の上部左の FPGA) がパラレル フラ ッシュ PROM からコンフ ィギュレーシ ョ

ン データをロード終了後、 マスタ デバイスはフラ ッシュ PROM へのアドレスの生成を継続し、

CSO_B 出力を Low にアサート してデイジー チェーンの後続の FPGA を有効にします。 その後、後

続の FPGA はフラ ッシュ PROM からパラレル コンフ ィギュレーシ ョ ン データを受信します。 マス

タ FPGA の CCLK 出力はデータ キャプチャを同期します。

FPGA の HSWAP または PUDC_B ピンが High の場合、 コンフ ィギュレーシ ョ ン中、 プルアップ

抵抗は無効になり、チェーン内の後続デバイスの CSI_B 入力を確実にロジッ ク High にする 4.7kΩの外部プルアップ抵抗を CSO_B ピンに追加する必要があ り ます。 FPGA の HSWAP または

PUDC_B ピンが Low の場合、 外部プルアップは不要です。

シリアル デイジー チェーン接続 (Spartan-3A/3AN/3A DSP FPGA のみ)Spartan 3A/3AN/3A DSP FPGA ファ ミ リ は、チェーン内の 初のデバイスが BPI モード を使用する

シリ アル コンフィ ギュレーショ ン デイジー チェーンをサポート します。 初のデバイス、またはマ

スタ デバイスが、ダウンスト リ ーム スレーブ デバイスに対して、ビッ ト スト リ ームをパラレルから

図 5-4 : BPI モードを使用したパラレル デイジー チェーン

UG332_c5_05_040107

NO

LO

AD

+3.3V

NO

LO

AD

HDC

CCLK

INIT_BCSI_B

D[7:0]

LDC1LDC0

‘0’

A[25:0]

PROG_B DONE

DQ[7:0]

CE#

WE#OE#

BYTE#LDC2

BPI Mode

RDWR_B‘0’

Spartan-3A/3AN/3A DSPSpartan-3E FPGAs

DOUT

A[n:0]

Parallel NOR Flash

M2M1

‘0’‘1’

M0‘0’

CSO_B

‘1’‘1’‘0’

‘0’

Slave Parallel Mode

‘1’‘1’‘0’

‘0’

Spartan-3A/3AN/3A DSP,Spartan-3E,

Virtex-5 FPGAs

Any Xilinx FPGA

CCLK

INIT_B

DONE

D[7:0]

IntermediateFPGAs

Last FPGA in Daisy Chain

MasterFPGA

PUDC_BHSWAPP

CSI_BCCLKRDWR_B

M2M1M0

CSO_B

D[7:0]

PROG_B

INIT_B

DONE

CSI_BCCLKRDWR_B

M2M1M0

CSO_B

D[7:0]

PROG_B

INIT_B

DONE

P P

+3.3V

4.7k

+3.3V

4.7k

0 0

0

JUMPER

0 0

BUSY

Page 163: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 165UG332 (v1.4) 2008 年 7 月 1 日

デイジー チェーン

シリ アルへ効果的に変換します。BPI モード からのシリ アル デイジー チェーンは Spartan-3E FPGAではサポート されていません。

154 ページの図 5-5 に示すよ うに、 シ リ アル デイジー チェーン内の下位 FPGA はすべてスレーブ

シ リ アル モード (M[2:0] = <1:1:1>) を用い、 すべてのザイ リ ンクス FPGA ファ ミ リの FPGA が使

用できます。

マスタ デバイスからの CCLK 出力は、 フラ ッシュ読み出しインターフェイスの 8 倍の周波数で動

作し、CCLK はデイジー チェーン内のすべての FPGA を同期します。 マスタ FPGA は CCLK の 8サイクルごとにバイ ト幅のフラ ッシュにアクセスしますが、 CCLK の 1 サイクルごとに DOUT 出力のシ リ アル データを下位 FPGA に送信します。 iMPACT プログラ ミ ング ソフ ト ウェアは、 シ リ

アル デイジー チェーンが 160 ページの図 5-10 の手順 14 で選択されたと き、CCLK 周波数を自動

的に調整します。 スタンドアロンの BPI モードの ConfigRate オプシ ョ ンでは、 バイ ト幅インター

フェイスの周波数が決定されます。BPI デイジーチェーンが選択された場合、ConfigRate オプシ ョ

ンはシ リ アル インターフェイス周波数を選び、パラレル フラ ッシュ インターフェイスは周波数の 8分の 1 の速度で駆動します。

マスタ FPGA (図 5-5 の上部左の FPGA) がパラレル フラ ッシュ PROM からのコンフ ィギュレー

シ ョ ン データをロード終了後、マスタ デバイスはフラ ッシュ PROM へのアドレス生成を継続しま

す。 マスタ FPGA は PROM からのバイ ト幅のデータを読み出し、 内部でデータをシ リ アル化して

DOUT 出力ピンを介してデータを下位デバイスに送信します。 その後、デイジー チェーン内の後続

の FPGA は、 直前の FPGA からシ リ アル コンフ ィギュレーシ ョ ン データを受信します。 マスタ

FPGA の CCLK 出力はデータ キャプチャを同期します。

Page 164: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

166 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

図 5-5 : Spartan 3A/3AN/3A DSP BPI モードでのみ利用可能なシリアル デイジー チェーン

UG332_c5_06_052107

NO

LO

AD

+3.3V

NO

LO

AD

HDC

CCLK

INIT_BCSI_B

D[7:0]

LDC1LDC0

‘0’

A[25:0]

PROG_B DONE

DQ[7:0]

CE#

WE#OE#

BYTE#LDC2

BPI Mode

RDWR_B‘0’

Spartan-3A/3AN/3A DSP

DOUT

A[n:0]

Parallel NOR Flash

M2M1

‘0’‘1’

M0‘0’

CSO_B

‘1’‘1’‘1’

Slave Serial Mode

‘1’‘1’‘1’

Any Xilinx FPGA

CCLK

INIT_B

DONE

IntermediateFPGAs

Last FPGA in Daisy Chain

MasterFPGA

PUDC_BP

CCLK

M2M1M0

DIN

PROG_B

INIT_B

DONE

CCLK

M2M1M0

DIN

PROG_B

INIT_B

DONE

0Ω 0Ω

JUMPER

0Ω 0Ω

Any Xilinx FPGA

DOUT DOUT

0 1 2 3 4 5 6 7

CCLK

DOUT

A[25:0] Next PROM Address

Serialized PROM Data

FPGA

Page 165: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 167UG332 (v1.4) 2008 年 7 月 1 日

マスタ BPI モードのザイリンクス Platform Flash PROM

マスタ BPI モードのザイリンクス Platform Flash PROM図 5-6 に示すよ うに、 マスタ BPI モードは、 ザイ リ ンクス パラレル Platform Flash PROM(XCFxxP) ファ ミ リ もサポート します。

• 図 5-6 では、 Spartan-3A/3AN/3A DSP FPGA を示していますが、 Spartan-3E FPGA でも同じ

手法を用いるこ とができます。

• ザイ リ ンクス パラレル Platform Flash PROM ファ ミ リは、 FPGA と同様に JTAG を使用して

インシステム プログラムが可能です。

図 5-6 : マスタ BPI モードのザイリンクス パラレル Platform Flash PROM (XCFxxP)

TMS

TDO

TCK

TDI

VCCINT

VCCAUX

HDC

CCLKCSO_B

VCCO_1

INIT_BCSI_B

D[7:0]

LDC1LDC0

‘X’

A[23:0]

PROG_B DONE

VCCO_2

+1.2V

D[7:0]

CE

VCCINT

M2M1

‘0’‘1’

M0

PUDC_B VCCO_0P

LDC2

VCCO_0

BPI Mode

RDWR_B‘X’

Spartan-3A/3AN/3A DSP

DOUT

Not available on XC3S50A

+1.8V

‘0’

GNDGND

BPI-UpOnly

+3.3V

EN_EXT_SEL

OE/RESET

CLK

CF

CEO

REV_SEL0REV_SEL1

BUSY

CLKOUT

TDI

TCKTMS

TDO

VCCO

VCCJ

V

V

+3.3V

V

A24A25

PROGRAM

VREF

TMS

TCK

TDO

TDI

N.C.N.C.

1

14

+3.3V

Xil

inx

Ca

ble

He

ade

r(J

TA

G In

terf

ace)

Platform FlashXCFxxP

= Dedicated internal pull-up resistor UG332_c9_16_040107

Don’t care

FPGA

Page 166: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

168 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

• FPGA のアドレス出力 A[25:0] または A[23:0] は、 コンフ ィギュレーシ ョ ン中にアクティブに

駆動します。 マルチブート動作に Platform Flash PROM のデザイン リ ビジ ョ ン機能を使用す

る場合、 FPGA の上位アドレス ラインを PROM の REV_SEL[1:0] 入力に接続します。

Spartan-3A/3AN/3A DSP FPGA は 大 4 つのビッ ト ス ト リームをサポート し、 Spartan-3EFPGA は 2 つのビッ ト ス ト リームのみをサポート します。

• FPGA の LDC2、 LDC1、 LDC0、および HDC 出力は、 コンフ ィギュレーシ ョ ン中にアクティ

ブに駆動します。 LDC0 出力を使用して Platform Flash PROM をコンフ ィギュレーシ ョ ン中

に有効にします。 コンフ ィギュレーシ ョ ン後に FPGA アプリ ケーシ ョ ンは、PROM を有効また

は無効にする I/O ピンとなった LDC0 を駆動します。

• コンフィギュレーショ ン後、FPGA アプリケーショ ンは、PROM に接続した I/O ピンを制御でき、

コンフィギュレーショ ン用ではない追加のデータを PROM から読み出すこ とができます。 FPGAは、 PROM の異なる領域を選択するために PROM の REV_SEL[1:0] ピンを使用できます。

スレーブ パラレル モードを用いた類似する手法も可能ですが、マルチブートの機能が使用できなく

な り ます。 この手法には、 外部コンフ ィギュレーシ ョ ン ク ロ ッ ク ソースまたは Platform FlashPROM の内部クロ ッ ク オプシ ョ ンが必要です。 この代替ソ リ ューシ ョ ンの利点は、FPGA のアドレ

スピンがコンフ ィギュレーシ ョ ン中にアクティブではないこ とです。 また、 外部クロ ッ ク ソースを

使用する場合は、クロ ッ ク周波数は若干の変動があ り、高い平均周波数で駆動する可能性が高く、コ

ンフ ィギュレーシ ョ ンに要する時間が短くな り ます。

Platform Flash を使用した ConfigRate 設定

表 5-8 に示すよ うに、パラレル Platform Flash PROM は、高い ConfigRate 設定をサポート してい

ます。 PROM がクロ ッ クごとに 8 ビッ ト をロードするこ とを考える と、パフォーマンスはさらに向

上します。 結果と して、Spartan 3A/3AN/3A DSP FPGA のバンド幅は、毎秒 110Mb から 190Mb に達します。

表 5-8 : パラレル Platform Flash を使用した 大の ConfigRate 設定

プラッ ト フォーム フラッシュ の番号

I/O 電圧 (VCCO_2、 VCCO)

Spartan-3E ConfigRate 設定

Spartan-3A/3ANSpartan-3A DSP ConfigRate 設定

XCF08PXCF16PXCF32P

3.3V または 2.5V25

33

1.8V なし

Page 167: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 169UG332 (v1.4) 2008 年 7 月 1 日

マスタ BPI コンフ ィギュレーシ ョ ン向けのビッ トス ト リームの生成

マスタ BPI コンフ ィギュレーシ ョ ン向けのビッ トス ト リームの生成

マスタ BPI コンフ ィギュレーシ ョ ン向けに FPGA ビッ ト ス ト リームを作成するには、 31 ページの

「ビッ ト ス ト リーム オプシ ョ ンの設定、FPGA ビッ ト ス ト リームの生成」 に示す手順に従ってくださ

い。 マスタ BPI モードでコンフ ィギュレーシ ョ ンされた FPGA には、次の BitGen オプシ ョ ンを設

定します。

ConfigRate : CCLK 周波数

147 ページの 「CCLK 周波数」 に示すよ うに ConfigRate オプシ ョ ンを設定します。 ISE® ソフ ト

ウェア Project Navigator を使用し、コンフ ィギュレーシ ョ ン レート周波数は 33 ページの図 1-7 の手順 7 で設定します。

-g ConfigRate:12

StartupClk : CCLKデフォルトでは、 コンフィギュレーショ ン スタートアップ クロッ ク ソースは内部生成された CCLKです。 34 ページの図 1-8 の 手順13 で示すよ うに、 BitGen の StartupClk オプションを保持します。

-g StartupClk:Cclk

DriveDone : DONE ピンを駆動

単体の FPGA デザインまたは複数 FPGA を含むデイジー チェーンのマスタ FPGA では、コンフ ィ

ギュレーシ ョ ン プロセス完了後、DONE ピンをアクティブに駆動するために FPGA を設定します。

34 ページの図 1-8 に示すよ うに、ISE Project Navigator で [Drive Done Pin High] オプシ ョ ンをオ

ンにします。

-g DriveDone:Yes

GTS_cycle : グローバル ト ライステートによるデイジー チェーンへのタイ ミングのリ リース

複数 FPGA のデイジー チェーンを作成するには、 DONE_cycle 設定よ り も後に GTS_cycle オプ

シ ョ ンを設定 (両方のデフォルト設定) します。 または、GTS_cycle:Done に設定します。 ISE ProjectNavigator の GTS_cycle 設定は、 34 ページの図 1-8 の手順 14 に示すよ うに、 [Enable Outputs(Output Events)] オプシ ョ ンで設定します。

パラレル NOR フラ ッシュ PROM ファイルの準備

こ こでは、 NOR フラ ッシュ メモ リに PROM ファ イルを作成するガイ ド ラ インを示します。

ザイ リ ンクス ソフ ト ウェア ツール 「iMPACT」 または PROMGen は、1 つまたは複数の FPGA ビッ

ト ス ト リームからフォーマッ ト された PROM ファ イルを生成します。

iMPACT次の手順では、 ISE Project Navigator の iMPACT を使用したパラレル NOR フラ ッシュ向けの

PROM ファ イルの作成方法を図示します。 iMPACT は、Spartan-3A および Spartan-3A DSP ファ ミ

リで間接的なプログラ ミ ングを、 Spartan-3AN ファ ミ リで内部フラ ッシュのプログラ ミ ングをサ

ポート します。パラレル フラ ッシュ メモ リに Spartan-3A/3A DSP マルチブート ビッ ト ス ト リーム

Page 168: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

170 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

を作成するには、 266 ページの 「iMPACT を使用した Spartan-3E マルチブート PROM ビッ ト ス ト

リームの生成」 を参照してください。

1. ISE Project Navigator の [Processes] から、[Generate PROM, ACE, or JTAG File] をダブル

ク リ ッ ク します (図 5-7)。

2. [Prepare a PROM File] を選択します (図 5-8)。

3. [Next] をク リ ッ ク します。

図 5-7 : [Generate PROM, ACE or JTAG File] をダブルクリ ック

図 5-8 : [Prepare a PROM File]

1

UG332_c4_10_110206

3

2

UG332_c4_11_190206

Page 169: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 171UG332 (v1.4) 2008 年 7 月 1 日

パラレル NOR フラ ッシュ PROM ファイルの準備

4. [Generic Parallel PROM] をターゲッ トに選択します (図 5-9)。

5. [PROM File Format] を選択します。

6. 出力ファイルの名前を [PROM File Name] に入力します。

7. [Next] をク リ ッ ク します。

図 5-9 : [Generic Parallel PROM] オプシ ョ ンの設定

4

7

5

6

UG332_c5_10_111806

Page 170: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

172 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

8. パラレル PROM の集積度を [Select the Parallel PROM Density (Bytes)] にバイ トで選択します

(図 5-10)。 この例では、 4 メガバイ トに相当する 32Mb のフラ ッシュ PROM を使用します。

9. [Add] をク リ ッ ク します。

10. 選択した PROM サイズが 0 の位置に表示されます。 マスタ BPI モードでは、PROM を 1 つ使

用します。

11. [Create BPI-mode PROM] をオンにします。

12. BPI マスタ デバイス を Spartan-3E または Spartan-3A FPGA のどちらにするか選択します。

13. Spartan-3E での動作が選択されている場合は、PROM ファ イルをアドレス 0 からアドレスをイ

ンク リ メン ト (BPI Up) してロードするか、 上位アドレスからアドレスをデク リ メン ト (BPIDown) してロードするかを選択します。 Spartan-3A オプシ ョ ンが BPI マスタ デバイスと して

選択されている場合、 このオプシ ョ ンは使用できません。

14. Spartan-3A オプシ ョ ンが選択されている場合は、 [Parallel] または [Serial] で、 パラレルかシ

リ アルのコンフ ィギュレーシ ョ ン デイジー チェーンの作成を選択します。 Spartan-3E FPGAではパラレル デイジー チェーンをサポート していますが、 このオプシ ョ ンは Spartan-3E オプ

シ ョ ンが BPI マスタ デバイスに選択されている場合は使用できません。

15. [Next] をク リ ッ ク します。

図 5-10 : パラレル PROM のサイズおよびコンフ ィギュレーシ ョ ン方式の選択

15

10

13

98

11

1214

UG332_c5_12_111806

Page 171: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 173UG332 (v1.4) 2008 年 7 月 1 日

パラレル NOR フラ ッシュ PROM ファイルの準備

16. PROM に保存する FPGA ビッ ト ス ト リームの選択を開始します (図 5-11)。

17. この例では、Spartan-3A シ リ アル デイジー チェーンに PROM ファ イルを作成します。 初の

FPGA ビッ ト ス ト リームを選択します。

18. [Open] をク リ ッ ク します。

19. デザイン ファ イルの追加に関する メ ッセージが表示された場合、 [Yes] をク リ ッ ク します。

20. 2 つ目の FPGA ビッ ト ス ト リームを選択します。

21. [Open] をク リ ッ ク します。 すべての FPGA ビッ ト ス ト リーム ファ イルが選択されるまで、 手

順 19 から 21 までを繰り返します。 後のビッ ト ス ト リームを入力した後で、手順 19 でデザイ

ン ファ イルの追加に関する メ ッセージが表示された場合、 [No] をク リ ッ ク します。

22. [OK] をク リ ッ ク します。

図 5-11 : FPGA ビッ トス ト リーム ファイルの選択

16

21

19

20

17

18

22

UG332_c5_12_111806

Page 172: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

174 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

23. iMPACT は選択したコンフ ィギュレーシ ョ ン ト ポロジを GUI に表示します (図 5-12)。 この例

では、 1 つのパラレル PROM が、シ リ アル デイジー チェーン コンフ ィギュレーシ ョ ンを用い

て 2 つの XC3S700A FPGA にビッ ト ス ト リームを送信しています。

24. [Generate File] をク リ ッ ク します。

25. iMPACT は [PROM File Generation Succeeded] とい う メ ッセージを表示して PROM ファ イ

ルの生成が成功したこ とを示します。

iMPACT を使用した間接的なパラレル フラッシュ プログラ ミング

ザイ リ ンクス ISE 9.2.02i 以降のリ リースでは、 間接的なパラレル フラ ッシュ プログラ ミ ングがサ

ポート されています。 間接のプログラ ミ ング モードでは、 iMPACT は FPGA の JTAG ポート を介

して FPGA の付属メモ リ をプログラムします。プログラ ミ ング プロセス中、FPGA は特別なプログ

ラ ミ ング アプリ ケーシ ョ ンでコンフ ィギュレーシ ョ ンされます。 結果と して、FPGA の DONE ピン

はプログラ ミ ング プロセス中に High になり ます。

iMPACT ソフト ウェアは、Spartan-3A (XC3S400A、XC3S700A、XC3S1400A) および Spartan-3A DSPFPGA を介した Intel (Numonyx) 社の 28F P30 および J3 v D StrataFlash エンベデッ ド フラ ッシュ

ファ ミ リの間接的なプログラ ミ ングをサポート します。

インシステム プログラムのサポート

製品アプリ ケーシ ョ ンでは、パラレル フラ ッシュ PROM は通常、 PCB (プリ ン ト基板) に実装する

前にプログラムされます。 インシステム プログラム サポートはサード パーティのバウンダ リ スキャン ツール ベンダーおよびワイヤ付きのソケッ ト アダプタを用いた PROM プログラマの一部

で提供されています。 パラレル フラ ッシュ信号に直接アクセスするには、 FPGA の PROG_B 入力

をプログラ ミ ング プロセス中 Low にホールド します。 これによ り、 パラレル フラ ッシュに付属す

るピンを含むすべての FPGA I/O ピンがハイ インピーダンス (Hi-Z) の状態になり ます。 HSWAP

図 5-12 : パラレル PROM ファイルの生成

24

23

25

UG332_c5_13_111806

Page 173: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 175UG332 (v1.4) 2008 年 7 月 1 日

3.3V 電源がシーケンスの 後である場合の電源投入時の注意事項

または PUDC_B 入力が Low の場合、I/O はそれぞれの I/O バンクに VCCO 入力へのプルアップ抵

抗を持ちます。 これで外部プログラ ミ ング ハードウェアはパラレル フラ ッシュ ピンに直接アクセ

スできるよ うにな り ます。

開発およびテス ト段階で、 FPGA 自体をパラレル フラ ッシュ PROM プログラマと して使用するこ

と もできます。 パラレル NOR フラ ッシュは一般的に MicroBlaze プロセッサ コアと共に使用され

るための、ザイ リ ンクス XPS (Platform Studio) はフラ ッシュ プログラ ミ ングをサポート します。 基本的に XPS は、 FPGA の JTAG ポート を介してフラ ッシュ プログラマを FPGA にダウンロード し

ます。 その後、FPGA は必要なフラ ッシュ PROM プログラ ミ ング アルゴ リズムを実行し、FPGA のJTAG インターフェイスを介してホス トからプログラ ミ ング データを受信します。

• UG111 : 『エンベデッ ド システム ツール リ ファレンス マニュアル』 (EDK 9.21i)、9 章 「フラ ッシュ メモ リのプログラム」

http://japan.xilinx.com/ise/embedded/edk92i_docs/est_rm.pdf

同様に、FPGA アプリ ケーシ ョ ンはシステムの外部通信チャネルを利用して、フラ ッシュ メモ リ を

プログラムまたは更新できます。 Spartan-3E FPGA スタータ キッ ト ボードは、ボードの RS-232 シリ アル ポート を使用してボード上の Intel (Numonyx) StrataFlash PROM をプログラムするデザイ

ン例を提供します。 また、 Spartan-3A FPGA スタータ キッ ト ボードは類似するデザイン例を

STMicro (Numonyx) 社の M29DW323DT パラレル フラ ッシュ PROM 向けに提供します。

• PicoBlaze™ プロセッサ RS-232 StrataFlash™ プログラマ

japan.xilinx.com/products/boards/s3estarter/reference_designs.htm#picoblaze_nor_flash_programmer

• M29DW323DT パラレル NOR フラ ッシュのプログラマ

japan.xilinx.com/products/boards/s3astarter/reference_designs.htm#parallel_flash_programmer

3.3V 電源がシーケンスの 後である場合の電源投入時の注意事項

240 ページの図 12-3 に示すよ うに、Spartan-3A/3AN/3A DSP および Spartan-3E FPGA には、内蔵

された POR (パワー オン リセッ ト ) 回路があ り ます。 FPGA は、コンフ ィギュレーシ ョ ン プロセス

開始前に、 その 3 つの電源 (VCCINT、 VCCAUX、 および I/O バンク 2 (VCCO_2) への VCCO がそれ

ぞれのパワー オンしきい値に到達するまで待機します。

パラレル NOR フラ ッシュ PROM は、 FPGA の VCCO_2 電圧入力と同じ電圧電源 (通常 3.3V) で電源供給されます。 パラレル NOR フラ ッシュ PROM は、VCC 電源がデータシートの 小電圧に到

達し、 追加の遅延が終了するまで (しばしば VCC セッ ト アップ タイムと呼ばれる) アクセスできま

せん。 表 5-9 に代表的な値をいくつか示します。

多くのシステムでは、FPGA の VCCO_2 入力に電源供給する 3.3V 電源は、FPGA のほかの VCCINTおよび VCCAUX 電源の前に有効になるため、 結果と して問題は発生しません。 しかし、 FPGA のVCCO_2 電源に電源供給する 3.3V 電源がシーケンスの 後に投入される と、 図 5-13 に示すよ う

に、 FPGA および NOR フラ ッシュ PROM 間で競合が発生する場合があ り ます。

表 5-9 : パラレル NOR フラッシュ PROM のセッ トアップ タイム用の 小パワーオン時間の例

ベンダー

フラッシュ PROM 製品番号

小の VCC から Select = Low へのデータシートの 小時間

シンボル 値 単位

Intel Corp.(Numonyx)

J3 v. D tVCCPH 60 µs

Spansion S29AL016M tVCS 50 µsMacronix MX29LV004C tVCS 50 µs

Page 174: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

176 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

FPGA の VCCINT および VCCAUX 電源がすでに電源供給され、有効である場合、FPGA はコンフ ィ

ギュレーシ ョ ン前に VCCO_2 が 小電圧しきい値に達するまで待機します。 この電圧しきい値は、

241 ページの表 12-1 に VCCO2T と示され、 NOR フラ ッシュ PROM の 小電圧よ り も十分に低い

約 0.4V ~ 2.0V の範囲にあ り ます。 3 つの FPGA の電源がすべてそれぞれの PRO (パワー オン リセッ ト ) 値に達する と、FPGA はコンフ ィギュレーシ ョ ン プロセスを開始し、内部コンフ ィギュレー

シ ョ ン メモ リの初期化を開始します。 初期化は 242 ページの表 12-2 に一覧表示するよ うに、ファ ミ

リ 、アレイのサイズによって異なり ます。 初期化後、FPGA は INIT_B をディアサート し、NOR フラ ッシュ PROM を選択してデータへのアクセスを開始します。 この時点で、パラレル NOR フラ ッ

シュ PROM は読み出し動作を開始可能になっているはずです。

3.3V 電源がシーケンスの 後にあ り、立ち上がり速度が不十分であるか、FPGA で必要な時点でパ

ラレル NOR フラ ッシュ PROM が使用できない場合、243 ページの 「コンフ ィギュレーシ ョ ンの遅

延」 に述べるよ うに、FPGA の PROG_B 入力または INIT_B 入力を Low に保持して FPGA のコン

フ ィギュレーシ ョ ン プロセスを遅延させます。 パラレル NOR フラ ッシュ PROM が使用可能に

なったと きに FPGA を リ リースします。 たとえば、 INIT_B ピンに付属する単純な R-C 遅延は、 あ

らかじめ設定された時間 FPGA を強制的に待機させます。 また、3.3V 電源からの Power Good 信号

またはシステム リセッ ト信号は、 同じ目的を達成します。 複数の FPGA デイジー チェーン コン

フ ィギュレーシ ョ ンを使用する場合は、複数の FPGA は同じモードに接続してあるので、PROG_Bまたは INIT_B を駆動する場合は、 オープンドレインか、 オープン コレクタ出力を使用します。 同様に、 Power Good 信号が 3.3V の信号である場合、 PROG_B は VCCAUX で電源供給され、 この電

源は Spartan-3 および Spartan-3E FPGA では 2.5V である必要があ り、Spartan-3A/3A DSP FPGAでは 2.5V または 3.3V である必要があるこ とに留意してください。 電圧が不一致の場合は、68Ω またはそれ以上の直列抵抗を追加します。

Spartan-3A/3AN/3A DSP およびコンフ ィギュレーシ ョ ン ウォッチド ッグ タイマ

Spartan-3A/3AN/3A DSP FPGA には、CWDT (コンフ ィギュレーシ ョ ン ウォッチド ッグ タイマ) があ り、 3.3V 電源が 後に適用される場合でも、 パラレル フラ ッシュ コンフ ィギュレーシ ョ ンをよ

り堅固にしています。

マスタ BPI モードでは、CWDT は CCLK の 初の 216-1 サイ クル内で パラレル NOR フラ ッシュ

PROM から有効な同期ワードを確実に読み出します。 同期ワードは FPGA コンフ ィギュレーシ ョ

ン ビッ ト ス ト リームの一部です。 FPGA が同期ワードを検出できない場合は、 CWDT が FPGA に

図 5-13 : 3.3V 電源が電源投入シーケンスの 後である場合のパラレル NOR フラ ッシュ PROM/FPGA の電源投入タイ ミング

FPGA VCCO_2 minimumPower On Reset Voltage

(VCCO2T)

Flash PROMminimum voltage Flash PROM ready for

read operationsFlash

(tVCS)

Flash cannot be selected

FPGA initializes configurationmemory

3.3V Supply

FPGA accessesFlash PROM

Time

NOR Flash PROM mustbe ready for FPGA

access, otherwise delayFPGA configuration

UG332_c5_03_111906

(TPOR)(VCCINT, VCCAUX

already valid)

PROM VCC setup

Page 175: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 177UG332 (v1.4) 2008 年 7 月 1 日

BPI (Byte Peripheral Interface) コンフ ィギュレーシ ョ ンのタイ ミング

対して自動的に BPI のコンフ ィギュレーシ ョ ン プロセスの再実行を強制します。 CWDT によるパ

ラレル NOR フラ ッシュからのコンフ ィギュレーシ ョ ンは、 3 回再実行する とエラーになり ます。

FPGA のコンフ ィギュレーシ ョ ンにエラーがある場合、 INIT_B ピンを Low に駆動し、エラーを示

します。

BPI (Byte Peripheral Interface) コンフ ィギュレーシ ョ ンのタイ ミング

図 5-14 に、 BPI コンフ ィギュレーシ ョ ン モードの詳細なタイ ミ ング図を示します。 これは、 BPIDown モードを使用した Spartan-3E FPGA ファ ミ リの図です。 しかし、 タイ ミ ングは、

Spartan-3A/3AN/3A DSP FPGA ファ ミ リの場合や、 BPI Up モードでも類似しています。

次に示す数字は、 図 5-14 の数字に対応しています。

1. M[2:0] モード ピンは、 BPI モードに設定される必要があります。 BPI Down モードは Spartan-3EFPGA でのみ サポート され、 BPI Up モードは Spartan-3E および Spartan-3A/3AN/3A DSP FPGAの両方で サポート されます。 詳細は 表 5-2 を参照してください。 このモードピンは INIT_B の立

ち上がりエッジになる前に十分な余裕を持ってセッ トアップされる必要があります。

図 5-14 : BPI コンフ ィギュレーシ ョ ン タイ ミング 波形図 (Spartan-3E BPI Down モード )

HSWAP(Input)

HSWAP or PUDC_B must be stable before INIT_B goes High and remain constant throughout configuration.

Data DataData

AddressAddress

Data

Address

Byte 0

0xFF_FFFF

INIT_B

<0:1:1>M[2:0]

TMINIT TINITM

LDC[2:0]

HDC

CSO_B

Byte 1

0xFF_FFFE

CCLK

A[23:0]

D[7:0]

TDCC TCCDTAVQV

TCCLK1

(Input)

(Input)

TINITADDRTCCLKnTCCLK1

TCCO

CSI_B

RDWR_B(Input)

New ConfigRate active

Pin initially pulled High by internal pull-up resistor if HSWAP or PUDC_B input is Low.

Pin initially high-impedance (Hi-Z) if HSWAP or PUDC_B input is High.

Mode input pins M[2:0] are sampled when INIT_B goes High. After this point,input values do not matter until DONE goes High, at which point the mode pinsbecome user-I/O pins.

(Input)

PROG_B(Input)

UG332_c5_08_111907

(Open-Drain)

Shaded values indicate timing specifications for external parallel NOR Flash PROM.

PUDC_B

1

2

3

45

6

8

7

119

10

12

(this input ignored on Spartan-3A/3AN/3A DSP FPGAs)

(this input ignored on Spartan-3A/3AN/3A DSP FPGAs)

Page 176: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

178 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

2. Spartan-3E FPGA では、CSI_B セレク ト入力および RDWR_B 読み出し /書き込み制御入力は、

INIT_B の立ち上がりエッジ前に Low である必要があ り ます。 CSI_B が Low にアサート され

ている と きに、BPI モードのコンフ ィギュレーシ ョ ンを制御して BPI モードの開始を遅延させ

るこ とができます。 CSI_B および RDWR_B ピンは、 Spartan-3A/3AN/3A DSP FPGA では使

用されません。

3. HSWAP または PUDC_B プルアップ抵抗制御入力は、INIT_B の立ち上がりエッジ前にセッ ト

アップされ、有効になっている必要があ り ます。 同様に、図 5-14 では、プルアップ抵抗が有効

にされている例を示します。

4. HSWAP または PUDC_B 制御入力は、 LDC2、 LDC1、 LDC0、 HDC、 および CSO_B を含む

フラ ッシュを制御する FPGA のピンの初期条件を決定します。 HSWAP または PUDC_B = 1の場合、これらのピンはフロート (Hi-Z) 状態です。 HSWAP または PUDC_B = 0 の場合、これ

らのピンには内部プルアップ抵抗があ り ます。

5. FPGA が内部の初期化を終了し、INIT_B が High になった後で、FPGA はフラ ッシュ制御出力

をアクティブに駆動します。

6. FPGA は、BPI インターフェイスのすべてのタイ ミ ングを制御する CCLK ク ロ ッ ク出力の駆動

を開始します。

7. CCLK 出力は、 も低い周波数オプションから動作開始します。 終的な周波数は、ConfigRate と呼ばれる BitGen オプションで制御されます。

8. FPGA が生成したアドレス出力は、 CCLK の立ち下がりエッジでクロ ッ ク されます。

9. 初期アドレスは BPI Up モードでは CCLK の 5 サイクル、 BPI Down モードでは、CCLK の 2サイクル間保持されます。 BPI Down モードは、 Spartan-3E FPGA でのみ使用可能です。

10. FPGA によって提供されたアドレス入力に対応して、 付属の PROM は非同期で出力データを

出力します。

11. ビッ ト ス ト リームの 初の 320 ビッ トでは、 コンフ ィギュレーシ ョ ンに要する時間を削減する

ため、FPGA は CCLK 出力周波数を増加させる可能性がある ConfigRate ビッ ト ス ト リーム設

定をロード します。

12. 2 つの直接関連する要素がインターフェイス タイ ミ ングを制御します。 1 つの要素は、 PROMデータ アクセス タイムで、 メモ リのデータシートでは通常、TACC (tAVQV) または TAVQV と呼

ばれます。 も う 1 つは、 CCLK の 大周波数で、 ConfigRate BitGen 設定で制御されます。 高速な PROM アクセス タイムによって ConfigRate 設定が高くな り、結果と して CCLK 周波数

が高速になり、 それに応じてコンフ ィギュレーシ ョ ン時間も速くな り ます。 詳細は 148 ページ

の表 5-6 を参照して ください。

表 5-10 に、FPGA データシートのタイ ミ ング値に基づく付属パラレル フラ ッシュ PROM のタイ ミ

ング要件を示します。

表 5-10 : 付属パラレル NOR フラ ッシュのコンフ ィギュレーシ ョ ンのタイ ミング要件

シンボル 説明 要件 単位

TCE(tELQV)

パラレル NOR フラ ッシュ PROM のチップ セレク ト時間

ns

TOE(tGLQV)

パラレル NOR フラ ッシュ PROM の出力

イネーブル時間

ns

TACC(tAVQV)

パラレル NOR フラ ッシュ PROM の読み

出しアクセス時間

ns

TCE TINITADDR≤

TOE TINITADDR≤

TACC TCCLKn min( ) TCCO TDCC PCB–––≤

Page 177: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 179UG332 (v1.4) 2008 年 7 月 1 日

FPGA が BPI コンフ ィギュレーシ ョ ンに設定されている場合に JTAG を介して再プログラ ミングする際の制限

FPGA が BPI コンフ ィギュレーシ ョ ンに設定されている場合に JTAG を介して再プログラ ミングする際の制限

FPGA は、モード ピン (M[2:0]) の設定に関わらず、JTAG ポート を介して常に再プログラ ミ ングで

きます。 しかし、 BPI モードおよび ISE 9.1i SP1 (ISE 9.1.01i) よ り前のバージ ョ ンの ISE を使用し

ている場合、 若干の制限があ り ます。 ISE 9.1i SP1 よ り前のバージ ョ ンで起きる問題は、 すべての

Spartan-3A/3AN FPGA およびすべての Spartan-3E FPGA FPGA で発生します。 この問題は、 ISE9.1i SP1 以降を使用するこ とで解決します。 Spartan-3A DSP FPGA はこの後のソフ ト ウェア バー

ジ ョ ンでサポートが開始したため、 この問題は発生しません。

ISE 9.1i SP1 よ り前のバージョンを使用している場合、FPGA が BPI モードでコンフィギュレーショ ン

されるよ うに設定され、有効なコンフィギュレーショ ン ファイルを含むパラレル メモリに FPGA が接

続している際に、 JTAG ポートを使用した、後続のリ コンフィギュレーショ ンがエラーとなり ます。 可能な回避方法として、JTAG コンフィギュレーショ ンのモード ピンの設定 (M[2:0] = <1:0:1>) またはフ

ラッシュのビッ ト ス ト リーム開始アドレスを 0x2000 で設定解除するこ とが挙げられます。

Spartan-3E BPI モード と右辺および下辺のグローバル クロック入力との関係

Spartan-3E BPI モード コンフィ ギュレーショ ン ピンの一部は、デバイスの右辺および下辺のグローバ

ル ク ロッ ク入力で共有されています (それぞれバンク 1 および バンク 2)。 特にコンフィ ギュレーショ

ン後に FPGA アプリ ケーショ ンがパラレル NOR フラッシュにアクセスする場合、これらのピンをク

ロッ ク入力と して再び使用すること は容易ではあり ません。表 5-11 に、Spartan-3E FPGA の共有ピン

を示します。 これらのピンは、 Spartan-3A/3AN/3A DSP FPGA の共有接続ではあり ません。

TBYTE(tFLQVAtFHQV)

x8/x16 PROM のみ : BYTE# から出力有

効までの時間(3)ns

メモ : 1. これらの要件に従う と、 FPGA で CCLK 信号が供給される BPI モードで FPGA を適切にコンフ ィギュレーシ ョ ンできます。 FPGA に

ロード されたアプリ ケーシ ョ ンおよびその結果のクロ ッ ク ソースによって、 コンフ ィギュレーシ ョ ン後の要件は異なる場合があ り ます。

2. アプリ ケーシ ョ ンの要件に応じて、 プ リ ン ト基板の配線遅延を減算して ください。

3. FPGA の LDC2 ピンに適切なサイズの外部プルダウン抵抗を使用する と、初期の BYTE# タイ ミ ングを延長できます。 抵抗値は、 FPGA の HSWAP または PUDC_B ピンが High か Low かによっても異な り ます。

表 5-10 : 付属パラレル NOR フラ ッシュのコンフ ィギュレーシ ョ ンのタイ ミング要件 (続き)

シンボル 説明 要件 単位

TBYTE TINITADDR≤

Page 178: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

180 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 5 章 : マスタ BPI モード

表 5-11 : Spartan-3E : 共有の BPI コンフ ィギュレーシ ョ ン ピンおよびグローバル バッファ入力

ピン

デバイス内の位置 グローバル バッファ入力ピンBPI モード

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

下辺

GCLK0 RDWR_B

GCLK2 D2

GCLK3 D1

GCLK12 D7

GCLK13 D6D6

GCLK14 D4

GCLK15 D3

右辺

RHCLK0 A10

RHCLK1 A9

RHCLK2 A8

RHCLK3 A7

RHCLK4 A6

RHCLK5 A5

RHCLK6 A4

RHCLK7 A3

Page 179: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 181UG332 (v1.4) 2008 年 7 月 1 日

第 6 章

マスタ パラレル モード

マスタ パラレル モードは、 Spartan-3 FPGA ファ ミ リでのみ使用可能です。 詳細は、 DS099 : 『Spartan®-3 FPGA ファ ミ リ データシート 』 を参照してください。

Spartan-3A/3AN/3A DSP および Spartan-3E FPGA ファ ミ リは、 マスタ パラレル モードをサポー

ト しませんが、 第 5 章 「マスタ BPI モード」 に記載する類似のモードをサポート しています。

Page 180: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

182 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 6 章 : マスタ パラレル モード

Page 181: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 183UG332 (v1.4) 2008 年 7 月 1 日

第 7 章

スレーブ パラレル (SelectMAP) モード

スレーブ パラレル モード コンフィ ギュレーショ ン (M[2:0] = <1:1:0>) 使用時には、 マイクロ プロ

セッサまたはマイクロコント ローラなどの外部ホスト が、一般的なペリ フェラル インターフェイスを

用いてバイト 幅のコンフィ ギュレーショ ン データを FPGA に書き込みます。 184 ページの図 7-1 にSpartan®-3E および Spartan-3A/3AN/3A DSP FPGA のインターフェイスを示します。 Spartan-3FPGA のインターフェイスは類似していますが、 185 ページの図 7-2 に示すよう に若干の違いがあり

ます。 これらの図では、オプショ ンのコンポーネント を灰色で示し、「 NO LOAD」 と 指定しています。

スレーブ パラレル (SelectMAP) インターフェイス ピンの一覧を 187 ページの表 7-2 に示します。

スレーブ パラレルの機能の概要を 186 ページの表 7-1 に示します。 外部ダウンロード ホス トは、

FPGA の PROG_B ピンを Low にパルスし、INIT_B ピンが High に戻って FPGA が 初のデータ

を受信可能になったこ とを確認して、 コンフ ィギュレーシ ョ ンを開始します。 ホス トは、アクティブ

Low のチップ セレク ト信号 (CSI_B) およびアクティブ Low の書き込み信号 (RDWR_B) をアサー

ト します。 その後、 ホス トは、 FPGA の DONE ピンが High になってコンフ ィギュレーシ ョ ンが成

功したこ とを示すか、FPGA の INIT_B ピンが Low になってコンフ ィギュレーシ ョ ンにエラーが発

生したこ とを示すまでデータおよびクロ ッ ク信号の供給を続けます。

FPGA は、 CCLK の立ち上がりエッジでデータをキャプチャします。 Spartan-3 および Spartan-3EFPGA では、 CCLK 周波数が 50MHz を超えた場合にも、 ホス トは FPGA の BUSY 出力をモニタ

する必要があ り ます。 Spartan-3A/3AN/3A DSP FPGA には、 BUSY ピンはあ り ません。 FPGA がBUSY を High にアサート した場合、 BUSY が Low に戻るまで、 ホス トはデータをも う 1 サイク

ル保持する必要があ り ます。 CCLK 周波数が、 50MHz またはそれ以下の場合は BUSY ピンを無視

しても問題あ り ませんが、 コンフ ィギュレーシ ョ ン中はアクティブに駆動します。

コンフ ィギュレーシ ョ ン プロセスには、コンフ ィギュレーシ ョ ン ビッ ト ス ト リームのサイズのみで

判断されるよ り も、 ク ロ ッ ク サイ クル数が多く必要です。 特に FPGA が選択した DCM (デジタル

クロ ッ ク マネージャ ) が各クロ ッ ク入力 (LCK_cycle) にロ ッ クするのを待機するよ うにプログラム

されている場合、追加のクロ ッ クは FPGA のスタート アップ シーケンス中に必要となり ます。 詳細

は、 260 ページの 「スタート アップ」 を参照してください。

スレーブ パラレル インターフェイスが FPGA のコンフ ィギュレーシ ョ ンでのみ使用される場合

は、FPGA からデータ バッ ク データを読み出すこ とはなく、RDWR_B 信号もインターフェイスか

ら削除できますが、 コンフ ィギュレーシ ョ ン中は Low である必要があ り ます。

コンフ ィギュレーシ ョ ン後、DONE および PROG_B を除く インターフェイス ピンはすべて、ユー

ザー I/O と して使用できます。 代替と して、 双方向 SelectMAP コンフ ィギュレーシ ョ ン インター

フェイスをコンフ ィギュレーシ ョ ン後に使用できます。 SelectMAP モードの使用を継続するため

には、 BitGen のオプシ ョ ン を Persist:Yes に設定します。 その後、 外部ホス トはコンフ ィギュレー

シ ョ ンを読み出しおよび検証できます。

また、 スレーブ パラレル モードは複数 FPGA のデイジー チェーンを作成するため、 BPI モード と

共に使用されます。 164 ページの図 5-4 にハイライ ト表示するよ うに、先頭の FPGA は BPI モード

Page 182: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

184 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 7 章 : スレーブ パラレル (SelectMAP) モード

のコンフ ィギュレーシ ョ ンに設定され、 デイジー チェーン接続された下位の FPGA はスレーブ パラレル コンフ ィギュレーシ ョ ンに設定されます。

図 7-1 : スレーブ パラレル モード (Spartan-3E および Spartan-3A/3AN/3A DSP FPGA)

VCCAUX

PROGRAM

D[7:0]

BUSYSELECT

READ/WRITECLOCK

PROG_B

INIT_BDONE

VCCINT

VCCAUX

CSO_BINIT_B

CSI_B

PROG_B DONE

GND

VCCO_2

+1.2V

M2M1

‘1’‘1’

M0

HSWAP VCCO_0P

CCLK

D[7:0]

‘0’

VCCO _0

V

RDWR_B

Spartan-3E/3A/3AN/3A DSP

BUSY

Slave Parallel Mode

V

V

VCCAUX

330Ω

4.7kΩ

VCC

GND

Configuration Memory Source

Internal memoryDisk driveOver networkOver RF link

IntelligentSpartan-3A,

Spartan-3AN, and Spartan-3A DSPFPGAs have internal

pull-up resistors

Download Host

MicrocontrollerProcessorTesterComputer

TMS

TDO

TCK

TDI

VREF

TMS

TCK

TDO

TDI

N.C.N.C.

14

1

Xil

inx

Ca

ble

He

ade

r(J

TA

G In

terf

ace)

PUDC_B

NO

LO

AD

4.7

NO

LO

AD

= Dedicated internal pull-up resistor

UG332_c7_01_062708

2.5V3.3V >68Ω

JTAGVoltage Resistors

NOTE: Only Spartan-3A,Spartan-3AN, andSpartan-3A DSPFPGAs supportVCCAUX = 3.3V

J

(DOUT on Spartan-3A/3AN/3A DSP)

Assumes VCCAUX = 2.5V

FPGA

Page 183: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 185UG332 (v1.4) 2008 年 7 月 1 日

図 7-2 : スレーブ パラレル モード (Spartan-3 FPGA)

UG332_c7_02_022607

+2.5V

PROGRAM

VCCAUX

PROG_B DONE

GND

VCCO_4 V

Slave Parallel Mode

V

4.7k

Ω

VCCAUX

330Ω

4.7k

Ω

TMS

TDO

TCK

TDI

VREF

TMS

TCK

TDO

TDI

N.C.N.C.

VCCAUX1

14

J

Xil

inx

Ca

ble

He

ade

r(J

TA

G In

terf

ace)

NO

LO

AD

NO

LO

AD

VCCO_5

M2M1

‘1’‘1’

M0‘0’

CCLK

INIT_B

VCCINT

+1.2V

P HSWAP_EN

Spartan-3 FPGA

D[7:0]BUSY

SELECTREAD/WRITE

CLOCKPROG_B

INIT_BDONE

CS_B

D[7:0]

RDWR_B

BUSY

V

VCC

GND

Configuration Memory Source

Internal memoryDisk driveOver networkOver RF link

IntelligentDownload Host

MicrocontrollerProcessorTesterComputer

= Dedicated internal pull-up resistor

2.5V3.3V >68Ω

JTAGVoltage Resistors

Page 184: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

186 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 7 章 : スレーブ パラレル (SelectMAP) モード

表 7-1 : スレーブ パラレル (SelectMAP) 機能の概要

FPGA への入力 (D[7:0] は双方向) FPGA 出力機能

PROG_B CSI_B RDWR_B D[7:0] BUSY CCLK INIT_B DONE

0 X X X X X X PROG_B を Low に駆動して FPGAを リセッ ト

1 X X X X 0 0PROG_B パルス後 INIT_B が Lowになった場合、 または電源投入後

初に FPGA が初期化

1 X X X X 1 0INIT_B が High に戻ったと きに

FPGA がコンフ ィギュレーシ ョ ン可

能な状態になる

1 1 X X X 1 0 CSI_B が High の場合、 作動しない

1 0 0D[7:0]から

FPGA0 ¦ 1 0

FPGA にコンフ ィギュレーシ ョ ン

データを書き込むには、 CSI_B が

Low になる前か、 それと同時に

RDWR_B を Low に駆動。CCLK の立ち上がりエッジごとに各 D[7:0]バイ トがキャプチャされる

1 0 0D[7:0]から

FPGA1 ¦ 1 0

BUSY が High の場合、 FPGA はデータ受信可能な状態になっていな

い。 BUSY が Low に戻った場合、現

在の D[7:0] バイ ト を次の CCLK サイクルまで保持。 BUSY は Spartan-3A/3AN/3A DSP FPGA では使用さ

れない

1 0 0 ~ 1 X X X X CSI_B が Low の間に RDWR_B がステート を変更する と、 ABORT 状態になる

1 0 1 ~ 0 X X X X

1 0 1FPGA から

D[7:0]0 ¦ 1 1

BitGen の Persist:Yes オプシ ョ ンが

設定されている と、 FPGA ビッ ト ス

ト リームにセキュ リティ ビッ トが

設定されていない場合、 コ ン フ ィ

ギュレーシ ョ ン後にスレーブ パラ

レル (SelectMAP) インターフェイ

スを FPGA からデータを リード

バッ クするために使用可能

1 X X X 0 8x ↑ X 1DONE が High になってから CCLKの 8 サイクル後に FPGA が正常にコ

ンフ ィギュレーシ ョ ンされる

Page 185: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 187UG332 (v1.4) 2008 年 7 月 1 日

1 X X X X 0 0

コンフ ィ ギュレーシ ョ ンの 後に、

INIT_B が再び Low になった場合、

コンフ ィギュレーシ ョ ン CRC エ

ラーが発生

メモ : X = don’t care¦= 立ち上がりエッジ

表 7-1 : スレーブ パラレル (SelectMAP) 機能の概要 (続き)

FPGA への入力 (D[7:0] は双方向) FPGA 出力機能

PROG_B CSI_B RDWR_B D[7:0] BUSY CCLK INIT_B DONE

表 7-2 : スレーブ パラレル モード接続

ピン名FPGA の 入力/出力

説明 コンフ ィギュレーシ ョ ン中 コンフ ィギュレーシ ョ ン後

Spartan-3E :HSWAPSpartan-3A : Spartan-3ANSpartan-3A DSP :

PUDC_BSpartan-3 :

HSWAP_EN

入力 ユーザー I/O プルアップ制御。 コンフ ィギュレーシ ョ ン中 Low の場合、各 I/O バンク VCCO 入力へ

の全 I/O ピンのプルアップ抵抗

を有効にする

0 : コンフ ィギュレーシ ョ ン中プ

ルアップ

1 : プルアップなし

コンフ ィ ギュ レーシ ョ ン中に

有効なロジッ ク レベルで駆動

Spartan-3:専用ピン ( コンフ ィギュレーシ ョ ン後は無視 )Spartan-3ESpartan-3ASpartan-3ANSpartan-3A DSP :ユーザー I/O

M[2:0] 入力 モード セレク ト。 FPGA のコン

フ ィギュレーシ ョ ン モードを選

択。 75 ページの 「HSWAP、M[2:0]、および VS[2:0] ピンのデ

ザインの考察」 参照

M2 = 1、 M1 = 1、 M0 = 0。INIT_B が Highになる とサン

プルされる

ユーザー I/O

D[7:0] 入力 データ入力。 ホス ト から供給されたバイ ト

幅のデータ。 FPGA は CCLKの立ち上が り エッジでデータ

をキャプチャ

ユーザー I/O。 BitGen のオ

プションが Persist:Yes の場

合は SelectMap パラレル ペリフェラル インターフェイ

スの一部になる

Spartan-3 :Spartan-3E :BUSY

出力 Busy インジケータ。

Spartan-3A/3AN/3A DSP FPGAで は 不 要 で あ る が、 機 能 は

DOUT ピンにある。 コンフ ィ

ギュ レーシ ョ ン中には、 DOUTをアクティブ ロジッ クに接続し

ないこ と

CCLK 周波数が 50MHz 以下

の場合、このピンは無視しても

問題なし。High の場合、FPGAは追加の コ ン フ ィ ギ ュ レー

シ ョ ン データを受信する用意

ができていないこ とを示す。ホ

ス トは追加でクロ ッ ク サイク

ル 1 つ分データを保持する必

要がある

ユーザー I/O。 BitGen のオ

プションが Persist:Yes の場

合は SelectMap パラレル ペリフェラル インターフェイ

スの一部になる

Page 186: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

188 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 7 章 : スレーブ パラレル (SelectMAP) モード

Spartan-3E :Spartan-3ASpartan-3ANSpartan-3A DSP :

CSI_BSpartan-3 :

CS_B

入力 チップ セレク ト入力。 アクティ

ブ Low有効なデータ サイクル中に

Low である必要がある

ユーザー I/O。 BitGen のオ

プションが Persist:Yes の場

合は SelectMap パラレル ペリフェラル インターフェイ

スの一部になる

RDWR_B 入力 読み出し /書き込み制御。 アク

ティブ Low のライ ト イネーブル

コンフ ィ ギュ レーシ ョ ン中は

Low でなければならない。

CSI_B または CS_B のアサー

ト中は RDWR_B のステート

を変更し ない。 変更する と、

ABORT が発生

ユーザー I/O。 BitGen のオ

プシ ョ ンが Persist:Yes の場合は SelectMap パラレ

ル ペリ フェラル インター

フェイスの一部になる

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

ク。 CCLK PCB ト レースが長い、

または複数の接続がある場合は、

シグナル インテグ リ ティの維持

のため、 この出力を終了。 56 ページの 「CCLK デザインの

考察」 参照

外部クロ ッ ク ユーザー I/O。 BitGen のオ

プシ ョ ンが Persist:Yes の場合は SelectMap パラレ

ル ペリ フェラル インター

フェイスの一部になる

Spartan-3E :Spartan-3ASpartan-3ANSpartan-3A DSP :

CSO_B

出力 チップ セレク ト出力。 アクティ

ブ Low。 Spartan-3 FPGA では提

供なし

単一の FPGA を用いたデザイ

ンでは使用しない。 CSO_B はプルアップで、アクティブには

駆動しない。 Spartan-3E また

は Spartan-3A/3AN/3A DSPのパラレル デイジー チェーン

コンフ ィギュレーシ ョ ンでは、

チェーン内の後続 FPGA の

CSI_B または CS_B 入力に

接続

ユーザー I/O

INIT_B オープン ド レインの

双方向 I/O

初期化インジケータ。 アクティブ

Low。 コンフ ィギュレーシ ョ ン

開始時のメモ リ初期化プロセス

中に Low になる。 メモ リ初期化

の 後で、 モード セレク ト ピン

のサンプル時にリ リース

コンフ ィ ギュ レーシ ョ ン中は

アクティブ。 コンフ ィギュレー

シ ョ ン中に CRC エラーが検出

された場合、 FPGA は Low に駆動

ユーザー I/O。 アプ リ ケー

シ ョ ンで未使用の場合、 フ

ローテ ィ ングを回避する

ため、 High に駆動。 「コン

フ ィギュレーシ ョ ン後」 のINIT_B 参照

表 7-2 : スレーブ パラレル モード接続 (続き)

ピン名FPGA の 入力/出力

説明 コンフ ィギュレーシ ョ ン中 コンフ ィギュレーシ ョ ン後

Page 187: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 189UG332 (v1.4) 2008 年 7 月 1 日

電圧の互換性

電圧の互換性

ほとんどのスレーブ パラレル インターフェイス信号が FPGA の I/O バンク 2 にあり、VCCO_2 電源入力から電源供給されます。 VCCO_2 電圧は、 外部ホス トの要件 (理想的には 2.5V) に合わせて

1.8V、 2.5V、 または 3.3V にできます。 DONE ピンおよび PROG_B ピンが FPGA の 2.5V VCCAUX 電源で電源供給されているため、 1.8V または 3.3V を使用する場合は、 慎重に設計する必要があります。

Spartan-3A/3AN/3A DSP FPGA は、 Spartan-3A FPGA の POR (パワーオン リセッ ト ) しきい値

(VCCO2T) のため、 1.8V PROM をサポート しません。 POR しきい値については、 253 ページの表

12-1 に示す Spartan-3A/3AN/3A DSP FPGA の各データシート を確認してください。

XAPP453 : 『Spartan-3 FPGA の 3.3V コンフィギュレーショ ン』 を参照してください。

また、 208 ページの 「JTAG ケーブルの電圧の互換性」 も参照してください。

デイジー チェーン

アプリケーシ ョ ンでコンフ ィギュレーシ ョ ンが異なる複数の FPGA が必要な場合、デイジー チェー

ンを使用して FPGA をコンフ ィギュレーシ ョ ンします。 デイジー チェーン内のすべての FPGA にス

レーブ パラレル モード (M[2:0] = <1:1:0>) を設定します。 Spartan-3E および Spartan-3A/3AN/3ADSP FPGA のみをサポートする トポロジと、 新のザイ リ ンクス FPGA (Virtex® または Spartan-IIFPGA およびそれ以降) でサポートする トポロジの 2 種類があり ます。

Spartan-3E/Spartan-3A/3AN/3A DSP スレーブ パラレル デイジー チェーン

190 ページの図 7-3 に、主に Spartan-3E および Spartan-3A/3AN/3A DSP FPGA をサポートするデ

イジー チェーンの トポロジを示します。チェーン内で 後の FPGA は、 新のザイ リ ンクス FPGAファ ミ リの任意の FPGA が使用可能です。 これは、基本的に BPI モードのデイジー チェーン手法を

活用します。 チェーン内の上位 FPGA は CSO_B を Low に駆動し、 下位 FPGA の CSI_B または

CS_B 入力を有効にします。 Spartan-3E、 Spartan-3A、 Spartan-3AN、 Spartan-3A DSP、 および

Virtex-5 FPGA にのみ CSO_B 出力があ り ます。 したがって、 これらの FPGA の 1 つがデイジー

チェーンの 初および中間の FPGA である必要があ り ます。

DONE オープン ド レインの

双方向 I/O

FPGA のコンフ ィギュレーシ ョ

ン完了。 コンフ ィギュレーシ ョ ン

中は Low。 FPGA のコンフ ィ

ギュ レーシ ョ ンが正常に完了す

る と、 High になる

Low の場合、 FPGA がコン

フ ィ ギュ レーシ ョ ン されてい

ないこ とを示す

High の場合は FPGA のコ

ンフ ィ ギ ュ レーシ ョ ンの

正常な完了を示す

PROG_B 入力 FPGA のプログラム。 アクティ

ブ Low。 500ns 以上 Low にア

サート される と、 PROG_B が

High に戻った後で、 コンフ ィ

ギュレーシ ョ ン メモ リ を初期化

し、DONE および INIT_B ピンを

リ セッ ト してコンフ ィ ギュ レー

シ ョ ン プロセスを再実行

コンフィギュレーシ ョ ン開始の

ために High である必要がある

PROG_B を Low に駆動

し、FPGA の再プログラム

のためにリ リースする

表 7-2 : スレーブ パラレル モード接続 (続き)

ピン名FPGA の 入力/出力

説明 コンフ ィギュレーシ ョ ン中 コンフ ィギュレーシ ョ ン後

V

Page 188: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

190 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 7 章 : スレーブ パラレル (SelectMAP) モード

CSO_B から CSI_B 接続のプルアップ抵抗は FPGA の HSWAP、 PUDC_B、 HSWAP_EN または

入力が High になった場合に必要です。 これは、 FPGA の内部プルアップ抵抗がコンフ ィギュレー

シ ョ ン中に無効となるこ とを意味します。

新のザイリ ンクス FPGA ファ ミ リ を使用したスレーブ パラレル デイジー チェ ーン

191 ページの図 7-4 に、Spartan-3 ジェネレーション FPGA を含む 新のザイ リンクス FPGA ファ ミ リ

をサポートする、 別のスレーブ パラレル デイジー チェーンの手法を示します。 各 FPGA に別々の

CSI_B または CS_B チップ セレク ト入力があるこ とを除き、 トポロジは 190 ページの図 7-3 と類似し

ています。

図 7-3 : Spartan-3E および Spartan-3A/3AN/3A DSP FPGA のスレーブ パラレル デイジー チェーン

NO

LO

AD

+3.3V

NO

LO

AD

‘1’‘1’‘0’

‘0’

Slave Parallel Mode

‘1’‘1’‘0’

‘0’

Spartan-3A/3AN/3A DSP,Spartan-3E,

Virtex-5 FPGAs

Any Xilinx FPGA

CCLK

INIT_B

DONE

D[7:0]

First, IntermediateFPGAs

Last FPGA in Daisy Chain

CSI_BCCLKRDWR_B

M2M1M0

CSO_B

D[7:0]

PROG_B

INIT_B

DONE

CSI_BCCLKRDWR_B

M2M1M0

CSO_B

D[7:0]

PROG_B

INIT_B

DONE

P P

+3.3V

4.7k

+3.3V

4.7k

0 0 0 0

PROG_B

UG332_c7_03_040107

Page 189: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 191UG332 (v1.4) 2008 年 7 月 1 日

SelectMAP データ読み込み

SelectMAP データ読み込み

SelectMAP インターフェイスでは、継続的または断続的なデータ読み込みが可能です。 データの読

み込みは FPGA の CSI_B、 RDWR_B、 CCLK、 および BUSY 信号で制御されています。

Spartan-3A/3AN/3A DSP FPGA には、 BUSY ピンはあ り ません。

CSI_Bアクティブ Low のチップ セレク ト 入力 (CSI_B) は SelectMAP インターフェイスを有効にしま

す。 CSI_B が High の場合、FPGA は SelectMAP インターフェイスを無視します。 データ ポートお

よび BUSY 出力ピンはハイ インピーダンス (Hi-Z) です。

1 つのデバイスのみが SelectMAP を介してコンフ ィギュレーシ ョ ンされ、リードバッ クが不要な場

合、 またはギャング SelectMAP コンフ ィギュレーシ ョ ンが使用されている場合は、 CSI_B 信号を

GND に接続します。

RDWR_BRDWR_B 入力が SelectMAP データ ピンが入力であるか、 出力であるかを制御します。

• RDWR_B = 0 の場合、 D[7:0] データ ピンは入力 (FPGA に書き込む)

図 7-4 : 新のザイリンクス FPGA ファ ミ リを使用したスレーブ パラレル デイジー チェーン

NO

LO

AD

+3.3V

NO

LO

AD

‘1’‘1’‘0’

Slave Parallel Mode

‘1’‘1’‘0’

Any Xilinx FPGA

CCLK

INIT_B

DONE

D[7:0]

First, IntermediateFPGAs

Last FPGA in Daisy Chain

CSI_BCCLKRDWR_B

M2M1M0

D[7:0]

PROG_B

INIT_B

DONE

CSI_BCCLKRDWR_B

M2M1M0

D[7:0]

PROG_B

INIT_B

DONE

0Ω 0Ω 0Ω 0Ω

PROG_B

Any Xilinx FPGA

CSO_BCSO_B

RDWR_B

FPGA_SEL1

FPGA_SEL0

UG332_c7_c4_120106

Page 190: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

192 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 7 章 : スレーブ パラレル (SelectMAP) モード

• RDWR_B = 1 の場合、 D[7:0] データ ピンは出力 (FPGA から読み出す)

コンフ ィギュレーシ ョ ン データを FPGA に書き込む場合、 RDWR_B ピンは Low である必要があ

り ます。 FPGA からコンフ ィギュレーシ ョ ン情報を リードバッ クする場合、 CSI_B のディアサート

中に RDWR_B ピンは High である必要があ り ます。

CSI_B が Low のと きに RDWR_B の値を変更する と、 FPGA の CCLK の立ち上がりエッジで、

ABORT が発生します (詳細は 196 ページの 「SelectMAP の ABORT」 を参照してください)。 リー

ドバッ クが不要な場合、 RDWR_B はグランドに接続するか、 SelectMAP ABORT 時のデバッグに

使用できます。

RDWR_B 信号は、CSI_B が High の間は無視されます。 D[7:0] データ ピンの読み出し /書き込み制

御 ( ト ラ イ ステート制御) は非同期です。 FPGA は SelectMAP データをアクティブに駆動します。

CCLKSelectMAP データ バスのすべての動作は、 CCLK に同期しています。 FPGA にコンフ ィギュレー

シ ョ ン データを書き込むと き、 RDWR_B は Low になり、 FPGA が CCLK の立ち上がりエッジで

データをサンプルします。 RDWR_B が読み出し制御に設定されている場合 (RDWR_B = 1、リード

バッ ク )、 FPGA は SelectMAP データ ピンを CCLK の立ち上がりエッジで更新します。

194 ページの 「断続的な SelectMAP データの読み込み」 で概要を述べる とおり、CCLK を一時停止

する と コンフ ィギュレーシ ョ ンを一時停止できます。

BUSYシステムによるデータの FPGA への書き込みおよび FPGA からの読み出しが 50MHz 以下で実行

される場合は、 BUSY ピンを未接続のままにしておく こ とが可能です。 Spartan-3A/3AN/3A DSPFPGA には、 BUSY ピンは不要ですが、 DOUT ピンに同じ機能があ り ます。

BUSY は出力であ り、 デバイスがコンフ ィギュレーシ ョ ン データを受信可能であるこ と、 または

リードバッ ク データを起動可能であるこ とを示します。

• BUSY = 0 の場合、 動作によって FPGA はデータの受信または送信可能です。

• BUSY = 1 の場合、 FPGA はデータを受信または送信できません。 FPGA に書き込む場合は、

BUSY が Low に戻るまで現在のデータ値を保持します。

CSI_B がディアサート された場合 (CSI_B = 1)、BUSY ピンはハイ インピーダンス (Hi-Z) の状態です。

BUSY は、 CSI_B がアサート されるまでハイ インピーダンス状態を保持します。 電源投入前に

CSI_B がアサート された場合 (たとえば、ピンが GND に接続されている場合)、BUSY は始めはハ

イ インピーダンス状態ですが、 POR がリ リースされる と Low に駆動します。

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

継続的なデータの読み込みは、 外部プロセッサまたはコン ト ローラが連続するコンフ ィギュレー

シ ョ ン データを FPGA に提供する場合に発生します。 電源投入後、 コン ト ローラは RDWR_B = 0をアサート して FPGA にデータを書き込み、CSI_B = 0 をアサート して FPGA を選択します。 この

動作によ り、 FPGA は BUSY を Low に駆動します。 この遷移は非同期です。 CSI_B を Low にア

サートする前かそれと同時に、 FPGA の CSI_B ピンを Low に駆動しないと、 196 ページの

「SelectMAP の ABORT」 に述べるよ うに ABORT が発生します。

Page 191: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 193UG332 (v1.4) 2008 年 7 月 1 日

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

デバイスは、 CCLK の次の立ち上がりエッジで、 D[7:0] データ ピンのサンプリ ングを開始します。

実際の FPGA コンフ ィギュレーシ ョ ンは、256 ページの「同期化」 に示すよ うに、FPGA が同期ワー

ドを認識した後で開始します。

コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの読み込み後に、デバイスはスタート アップ シーケンス

を開始します。 FPGA は、 BitGen の DONE_cycle オプシ ョ ンで定義されたとおり、 スタート アップ

段階で DONE 信号を High にアサート します。 詳細は 260 ページの 「スタート アップ」 を参照して

ください。 プロセッサまたはコン ト ローラはスタート アップ シーケンスの正常な完了まで CCLKパルスを継続する必要があ り ます。 これには、 DONE が High になった後、 CCLK のパルスが複数

回必要です。

コンフ ィギュレーシ ョ ン後に CSI_B および RDWR_B 信号をディアサートできます。 また、アサー

ト状態の保持も可能です。 SelectMAP ポートが非アクティブであるため、このと きに RDWR_B をト グルしても ABORT は生じません。 図 7-5 に、 継続的なデータ読み出しの SelectMAP コンフ ィ

ギュレーシ ョ ンのタイ ミ ングを示します。

次に示す数字は、 図 7-5 の数字に対応しています。

1. SelectMAP バスに 1 つのデバイスしかない場合、 CSI_B 信号を Low に接続できます。 CSI_Bが Low に接続されていないと きは、 随時アサート可能です。

2. リードバッ クが不要な場合は RDWR_B を Low に接続できます。 CSI_B がアサート された後、

RDWR_B を ト グルしないよ うにしてください。ト グルする と ABORT が生じます。 詳細は 196ページの 「SelectMAP の ABORT」 を参照してください。

3. CSI_B が Low に接続されている場合は、INIT_B が High に戻る前に BUSY を Low に駆動し

ます。

4. INIT_B が High になった場合、 FPGA は M[2:0] モード セレク ト ピンをサンプルします。

5. ABORT の原因となるのを避けるために CSI_B の前に RDWR_B をアサート します。

6. CSI_B をアサート して SelectMAP インターフェイスを有効にします。

7. BUSY (Spartan-3/3E のみ) は、CSI_B がアサート されるまで、ハイ インピーダンス状態のまま

です。

図 7-5 : 継続的な SelectMAP データの読み込み

PROG_B

INIT_B

CCLK

CSI_B

RDWR_B

DATA[7:0]

UG332_c7_05_081006

Byte 0 Byte 1 Byte n

BUSY

DONE

1

2

3

4

5

7

6

12

13

14

High-Z

9 10 118

Page 192: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

194 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 7 章 : スレーブ パラレル (SelectMAP) モード

8. CSI_B のアサート後の 初の CCLK の立ち上がりエッジで、 初の D[7:0] バイ トが読み込ま

れます。

9. 各 CCLK の立ち上がりエッジで 1 バイ トのコンフ ィギュレーシ ョ ン ビッ ト ス ト リームが読み

込まれます。

10. 後のバイ トが読み込まれる と、 デバイスはスタート アップ シーケンスを開始します。

11. スタート アップ シーケンスは、 短で CCLK の 8 サイクル間継続されます。

12. スタート アップ シーケンス中、DONE ピンは High になり ます。 スタート アップ シーケンスを

完了するために追加の CCLK が必要な場合があ り ます。 詳細は 260 ページの 「スタート アッ

プ」 を参照してください。

13. コンフ ィギュレーシ ョ ン完了後、 CSI_B 信号はディアサートできます。

14. CSI_B 信号のディアサート後、 RDWR_B はディアサートできます。

断続的な SelectMAP データの読み込み

断続的なデータ読み込みは、 プロセッサまたはコン ト ローラが連続するコンフ ィギュレーシ ョ ン

データを供給できないアプリ ケーシ ョ ンで使用されます。 たとえば、追加のデータを取得する間、ほ

かのタス クへの切り替え時、 または割り込みを実行する場合にコン ト ローラがコンフ ィギュレー

シ ョ ンを一時停止する場合、 このよ うな状況が発生します。

Spartan-3 および Spartan-3E FPGA では、 コンフ ィギュレーシ ョ ン データ処理の速度を落とす、ま

たは一時停止させる手法が 2 つあ り ます。 2 つ目の手法のみが Spartan-3A、 Spartan-3AN、 および

Spartan-3A DSP FPGA でサポート されています。

1. 図 7-6 に示し、 194 ページの 「CSI_B のディアサート 」 に述べるよ うに、 フ リーランニングの

CCLK で CSI_B 信号をディアサート します。

2. 図 7-7 に示し、195 ページの 「CCLK の一時停止」 で述べるよ うに、CCLK を一時停止します。

CSI_B のディ アサート

メモ : この手法は、Spartan-3 および Spartan-3E FPGA のみでサポート されています。Spartan-3A、

Spartan-3AN、 Spartan-3A FPGA では、 「CCLK の一時停止」 の手法を使用する必要があ り ます。

図 7-6 : CSI_B を制御する手法を使用した断続的 SelectMAP データの読み出し

PROG_B

INIT_B

CCLK

CSI_B

RDWR_B

DATA[7:0]

UG332_c7_06_040207

BUSY

2

1

3

4

High-Z Z-hgiHZ-hgiH

5 6 7 8 9 10 11 12 13 14

Page 193: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 195UG332 (v1.4) 2008 年 7 月 1 日

断続的な SelectMAP データの読み込み

次に示す数字は、 図 7-6 の数字に対応しています。

1. 外部プロセッサは RDWR_B を Low に駆動し、FPGA の D[7:0] ピンをコンフ ィギュレーシ ョ

ン用の入力と して設定します。 リードバッ クがアプリ ケーシ ョ ンで使用されていない場合は、

RDWR_B 入力は Low に接続できます。196 ページの 「SelectMAP の ABORT」 に述べるよ う

に、 ABORT が発生するため、 CSI_B のアサート後に RDWR_B を ト グルしないでください。

2. INIT_B が High に戻る と、 デバイスはコンフ ィギュレーシ ョ ン可能な状態になり ます。

3. プロセッサは CSI_B を Low にアサート し、 SelectMAP インターフェイスを有効にします。

SelectMAP バスに 1 つのデバイスしかない場合、 CSI_B 入力を Low に接続できます。 CSI_Bが Low に接続されていないと きは、 随時アサート可能です。

4. CSI_B のアサート直後に BUSY が Low になり ます。 CSI_B が Low に接続されている場合は、

INIT_B が High に戻る前に BUSY を Low に駆動します。

5. D[7:0] データ バイ トが CCLK の立ち上がりエッジで読み込まれます。

6. D[7:0] データ バイ トが CCLK の立ち上がりエッジで読み込まれます。

7. プロセッサが CSI_B をディアサート し、 D[7:0] のデータが無視されます。

8. プロセッサが CSI_B をディアサート し、 D[7:0] のデータが無視されます。

9. D[7:0] データ バイ トが CCLK の立ち上がりエッジで読み込まれます。

10. D[7:0] データ バイ トが CCLK の立ち上がりエッジで読み込まれます。

11. プロセッサが CSI_B をディアサート し、 D[7:0] のデータが無視されます。

12. D[7:0] データ バイ トが CCLK の立ち上がりエッジで読み込まれます。

13. D[7:0] データ バイ トが CCLK の立ち上がりエッジで読み込まれます。

14. D[7:0] データ バイ トが CCLK の立ち上がりエッジで読み込まれます。

CCLK の一時停止

次に示す数字は、 図 7-7 の数字に対応しています。

1. D[7:0] データピンは、CSI_B がディアサート されている間、ハイ インピーダンス (Hi-Z) です。

2. CSI_B がディアサート されている間、 RDWR_B はデバイスに影響を与えません。

3. CSI_B はプロセッサによってアサート されます。 FPGA は、CCLK の立ち上がりエッジでコン

フ ィギュレーシ ョ ン データをキャプチャします。

4. D[7:0] データ バイ トが CCLK の立ち上がりエッジで読み込まれます。

5. D[7:0] データ バイ トが CCLK の立ち上がりエッジで読み込まれます。

図 7-7 : CCLK を制御する手法を使用した断続的 SelectMAP データの読み出し

CCLK

CSI_B

RDWR_B

DATA[7:0]

UG332_c7_07_081106

Byte 0 Byte 1 Byte n

1

2

3

4 5 6

Page 194: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

196 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 7 章 : スレーブ パラレル (SelectMAP) モード

6. D[7:0] データ バイ トが CCLK の立ち上がりエッジで読み込まれます。

SelectMAP の ABORTABORT とは、SelectMAP コンフ ィギュレーシ ョ ンまたはリードバッ ク シーケンスが中断されるこ

とです。 これは、 CSI_B が Low にアサート されている と きに RDWR_B ピンのステートが変更さ

れる と発生します。 コンフ ィギュレーシ ョ ンの ABORT が発生する と、CCLK の次の 4 サイクル間、

内部ステータスが D[7:4] ピンに送信されます。 も う 1 つのデータ ピン D[3:0] は High のままです。

ABORT シーケンスの終了後、 コンフ ィギュレーシ ョ ン再開前に、 FPGA をダウンロード している

プロセッサはコンフ ィギュレーシ ョ ン ロジッ クを再同期化する必要があ り ます。 バイ ト間で

RDWR_B をディアサートする必要があるアプリ ケーシ ョ ンの場合は、 195 ページの 「CCLK の一

時停止」 に記載する手法を使用してください。

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

図 7-8 に、 ABORT が発生する と きの、 信号のタイ ミ ングを示します。

1. コンフ ィギュレーシ ョ ン シーケンスが正常に開始します。

2. FPGA が選択された状態 (CSI_B が Low) の間にプロセッサが RDWR_B ピンの値を変更します。

3. CSI_B が Low にアサート されたままの場合は、BUSY が High になり ます。 RDWR_B が Highの場合、FPGA はステータス ワードをデータ ピンに送信し、FPGA からデータが読み出されま

す。 RDWR_B が Low の場合は、 FPGA はステータス値を送信しません。

4. ABORT がクロ ッ クの 4 サイ クル間継続し、 ステータスが更新されます。

図 7-8 : コンフ ィギュレーシ ョ ンの ABORT シーケンス

DATA[7:0]

BUSY

CCLK

STATUS

ABORT UG332_c7_08_081106

CSI_B

RDWR_B

Page 195: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 197UG332 (v1.4) 2008 年 7 月 1 日

SelectMAP の ABORT

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

図 7-9 に、 ABORT が発生する と きの、 信号のタイ ミ ングを示します。

1. リードバッ ク シーケンスが正常に開始します。

2. FPGA が選択された状態 (CSI_B が Low) の間にプロセッサが RDWR_B ピンの値を変更します。

3. CSI_B が Low にアサート されたままの場合は、 BUSY (Spartan-3/3E のみ) が High になります。

RDWR_B が High の場合、FPGA はステータス ワードをデータ ピンに送信し、FPGA からデータ

が読み出されます。 RDWR_B が Low の場合は、 FPGA はステータス値を送信しません。

通常、 リードバッ ク中は、ステータス ワードの後に ABORT 動作は生じません。これは、RDWR_B信号が Low になるこ とで、ABORT が発生するためです。 RDWR_B が Low の場合、プロセッサは

FPGA への書き込みを実行中で、FPGA の D[7:0] ピンは入力です。したがって、FPGA はステータ

ス値を送信できません。

ABORT ステータス ワード

コンフ ィギュレーシ ョ ン中の ABORT シーケンスでは、 デバイスが D[7:4] ピンにステータス ワー

ドを送り ます。 その他のデータ ピン D[3:0] は、すべて High のままです。 表 7-3 で、ステータス ワー

ドについて説明します。

図 7-9 : リードバックの ABORT シーケンス

DATA[7:0]

BUSY

CCLK

FPGA

ABORT UG332_c7_09_081106

CSI_B

RDWR_B

表 7-3 : ABORT ステータス ワード

ビッ ト番号 ステータス ビッ ト名 説明

D7 CFGERR_B コンフ ィギュレーシ ョ ン エラー (アクティブ Low)

0 = コンフ ィギュレーシ ョ ン エラー発生

1 = コンフ ィギュレーシ ョ ン エラーなし

D6 DALIGN 同期ワード受信済み

0 = 同期ワードを受信しない

1 = 同期ワードを受信する

Page 196: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

198 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 7 章 : スレーブ パラレル (SelectMAP) モード

ABORT シーケンスは、CCLK の 4 サイクル間継続します。 このサイクル間で、データ アライ メン

トおよび ABORT ステータスを反映するよ う、 ステータス ワードが更新されます。 表 7-4 に

ABORT シーケンスの例を示します。

後のサイクルが終了する と、 同期ワードの再読み込みが可能とな り、 データがアライ メン ト され

ます。

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

ABORT 後にコンフ ィギュレーシ ョ ンまたはリードバッ クを再開させるには、 次の 2 つの方法があ

り ます。

1. ABORT の完了後、 コンフ ィギュレーシ ョ ン同期ワードの再送によ り、 FPGA は再び同期化で

きる状態になり ます。 詳細は 256 ページの表 12-3 を参照してください。

2. FPGA は PROG_B を Low にパルスするこ とで FPGA を随時リセッ トできます。

デバイスを再同期化するには、 CSI_B をディアサート してから再度アサート して ください。 コン

フ ィギュレーシ ョ ンまたはリードバッ クを再開するには、 ABORT 発生時に実行中であった 後の

コンフ ィギュレーシ ョ ンあるいはリードバッ ク パケッ ト を再送します。 または、 コンフ ィギュレー

シ ョ ンあるいはリードバッ クを 初から再実行します。

Persist通常、FPGA の多目的コンフ ィギュレーシ ョ ン ピンは、 コンフ ィギュレーシ ョ ン後にユーザー I/O とな り ます。 コンフ ィギュレーシ ョ ン後、 SelectMAP コンフ ィギュレーシ ョ ン ポートは、 ビッ トス ト リーム生成オプシ ョ ンを Persist:Yes に設定するか、 Project Navigator で 「Allow SelectMAP Pins to Persist」 を選択するこ とによって保持されます。 コンフ ィギュレーシ ョ ン ポート を保持す

D5 RIP リードバッ クを実行中

0 = リードバッ クを実行しない

1 = リードバッ クを実行する

D4 IN_ABORT_B ABORT を実行中 (アクティブ Low)

0 = ABORT を実行する

1 = ABORT を実行しない

D[3:0] なし 1111 (すべて High)

表 7-4 : ABORT シーケンスの例

FPGA からの

D[7:0]D7 D6 D5 D4 D[3:0]

CFGERR_B DALIGN RIP IN_ABORT_B なし

11011111 1 1 0 1 1111

11001111 1 1 0 0 1111

10001111 1 0 0 0 1111

10011111 1 0 0 1 1111

表 7-3 : ABORT ステータス ワード (続き)

ビッ ト番号 ステータス ビッ ト名 説明

Page 197: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 199UG332 (v1.4) 2008 年 7 月 1 日

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

る と、 外部コンフ ィギュレーシ ョ ン ピンを介した リードバッ クまたはリ コンフ ィギュレーシ ョ ンが可能になり ます。

表 7-5 に、 Persist:Yes の場合にコンフ ィギュレーシ ョ ン機能を保持するピンを示します。 これらのピンは、 Persist がオンの場合デザインに使用できないため、 ユーザー デザインから切断されます。

Persist:Yes が選択されている場合、 Spartan-3A、 Spartan-3AN、 および Spartan-3A DSP FPGA のコンフ ィギュレーシ ョ ン後の CRC チェッ クは、 CCLK でクロ ッ ク されます。

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

リ コンフ ィギュレーシ ョ ンとは、FPGA の DONE ピンが High になった後で FPGA を再プログラム

するこ とで、電源投入直後の FPGA の再プログラムとはまったく異なり ます。 FPGA を リ コンフ ィ

ギュレーシ ョ ンするには、PROG_B ピンを Low にパルスするか (コンフ ィギュレーシ ョ ンと同一で

す)、 FPGA を再同期し、 コンフ ィギュレーシ ョ ン データを送信します。

BitGen の Persist:No オプシ ョ ンがデフォルトで設定されているので、 通常、 FPGA の SelectMAPピンは、コンフ ィギュレーシ ョ ン後にユーザー I/O ピンとな り ます。 PROG_B をパルスせずにデバ

イスを リ コンフ ィギュレーシ ョ ンするには、BitGen のオプシ ョ ンを Persist:Yes に設定し、コンフ ィ

ギュレーシ ョ ン後にスレーブ パラレル (SelectMAP) インターフェイス ピンを予約して、 これらの

ピンがユーザー I/O ピンになるこ とを回避します。

256 ページの表 12-3 に示すよ うに適切な同期ワードを SelectMAP ポートにクロ ッ ク送信して、

FPGA を リ コンフ ィギュレーシ ョ ンします。 リ コンフ ィギュレーシ ョ ンが開始される と、 それ以降

は前述した通常のコンフ ィギュレーシ ョ ンと同じ動作とな り ます。 デバイスは、 SelectMAP ポート

を介した完全な リ コンフ ィギュレーシ ョ ンをサポート します。

SelectMAP データの順序

Spartan-3 ジェネレーシ ョ ン FPGA では、ザイ リ ンクスの規則に基づき、データ ビッ ト D0 は MSB( 上位ビッ ト ) であ り、 ビッ ト D7 は LSB ( 下位ビッ ト ) です。 しかし、 これはベンダーによって

異なり ます。 FPGA にコンフ ィギュレーシ ョ ン データをダウンロードする、 接続されているプロ

表 7-5 : Persist の影響を受けるピン

ピン名 FPGA ファ ミ リ 説明

M[2:0] Spartan-3、 Spartan-3E、 Spartan-3A、Spartan-3AN、 Spartan-3A DSP モード セレク ト

CCLK Spartan-3E、 Spartan-3A、 Spartan-3AN、Spartan-3A DSP

コンフ ィギュレーシ ョ ン ク ロ ッ ク(Spartan-3 専用 )

INIT_B Spartan-3、 Spartan-3E、 Spartan-3A、Spartan-3AN、 Spartan-3A DSP 初期化

CSI_B Spartan-3E、 Spartan-3A、 Spartan-3AN、Spartan-3A DSP

チップ セレク ト、 アクティブ LowCS_B Spartan-3

RDWR_B Spartan-3、 Spartan-3E、 Spartan-3A、Spartan-3AN、 Spartan-3A DSP 読み出し / 書き込み

BUSY Spartan-3、 Spartan-3E FPGA ビジー インジケータ

D[7:0] Spartan-3、 Spartan-3E、 Spartan-3A、Spartan-3AN、 Spartan-3A DSP データ

A[23:20] Spartan-3E 上位のアドレス ラ イン

Page 198: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

200 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 7 章 : スレーブ パラレル (SelectMAP) モード

セッサが、FPGA が採用する規則とは逆の順序を採っている場合、混乱の原因とな り ます。 したがっ

て、 コンフ ィギュレーシ ョ ン データ ファ イル内のデータ順序と FPGA が期待するデータ順序がど

のよ うな関係であるかを認識するこ とが重要です。

SelectMAP では、バイ ト幅のコンフ ィギュレーシ ョ ン データが CCLK ごとに 1 バイ ト読み込まれ、

各バイ トの MSB が FPGA の D0 データ ピンに送信されます。

表 7-6 に、SelectMAP データ バスに送信される 16 進数値 0xABCD が FPGA でどのよ うに認識さ

れるかを示します。 各バイ ト内のビッ トの反転方法に留意して ください。

メモ : 1. D[0:7] は SelectMAP モードの DATA ピンです。

通常とは異なる順序のデータに問題なく対応できるアプリケーションもあり ますが、 その他のアプリ

ケーションでは、ソース コンフィギュレーショ ン データ ファイルをビッ ト スワップさせると (データ

ス ト リームの各バイ ト内のビッ ト を逆順序にすると )、 使用しやすくなり ます。 ザイ リンクスの PROMファイル生成ソフ ト ウェアでは、 ビッ ト スワップした PROM ファイルが生成できます。

バイト スワッ プMCS、 EXO、 および TEK PROM ファ イル形式は、 -spi オプシ ョ ンが使用されていない限りバイト スワップです。 HEX ファ イル形式は、 ユーザー オプシ ョ ンによってバイ ト がスワップされるか、 スワップされないよ うにできます。 ビッ ト ス ト リーム ファ イル (BIT、 RBT、 BIN) はバイ ト スワップされません。

HEX ファ イル形式にはコンフ ィギュレーシ ョ ン データのみがあ り ます。 ほかの PROM ファ イル形式には FPGA に必要と されないアドレスおよびチェッ クサム情報が含まれます。 アドレスおよびチェッ クサム情報は、 サードパーティのデバイス プログラマの一部で使用されますが、 PROM にはプログラムされません。

図 7-10 に、 データ (0xABCD) の 2 バイ ト数がバイ ト スワップされる様子を示します。

表 7-6 : SelectMAP 8 ビッ ト モードのビッ ト順序

CCLK サイクル

16 進数 D7 D6 D5 D4 D3 D2 D1 D0

1 0xAB 1 1 0 1 0 1 0 1

2 0xCD 1 0 1 1 0 0 1 1

Page 199: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 201UG332 (v1.4) 2008 年 7 月 1 日

SelectMAP データの順序

データの方向性に関係なく、 各バイ トの MSB が D0 ピンに移動します。

• データがバイ ト スワップ する場合は、 D0 に移動するビッ トが右端のビッ ト となる。

• データがバイ ト スワップしない場合は、 D0 に移動するビッ トが左端のビッ ト となる。

データがバイ ト スワップかど うかは、 アプ リ ケーシ ョ ンに完全に依存しており、 また、SelectMAP コンフ ィギュレーシ ョ ン アプリ ケーシ ョ ンでのみ適用されます。 バイ ト スワ ップしないデータは SPI およびスレーブ シ リ アル ダウンロードで使用されます。

図 7-10 : バイ ト スワップ例

ug071_30_120903

Hex:

Binary:

Byte-SwappedBinary:

Byte-SwappedHex:

SelectMAPData Pin:

D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7

1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1

A B C D

1 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1

D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0

D 5 B 3

SelectMAPData Pin:

Page 200: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

202 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 7 章 : スレーブ パラレル (SelectMAP) モード

Page 201: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 203UG332 (v1.4) 2008 年 7 月 1 日

第 8 章

スレーブ シリアル モード

スレーブ シリアル モード (M[2:0] = <1:1:1>) では、 マイクロプロセッサまたはマイクロコン ト ローラ

などの外部ホス トが、図 8-1 に示す同期シリアルインターフェイスを利用して、FPGA にシリアル コン

フィギュレーショ ン データを書き込みます。 この図では、 オプショ ンのコンポーネン ト を灰色で示し

ます。 シリアル コンフィギュレーショ ン データは外部生成された CCLK クロッ ク入力の各立ち上が

りエッジの前に十分なセッ トアップ タイムを持って FPGA の DIN 入力に送信されます。

インテ リジェン ト ホス トは、 PROG_B ピンをパルスし、 INIT_B ピンが High に戻って FPGA が初のデータを受信可能になったこ とを確認して、 コンフ ィギュレーシ ョ ン プロセスを開始します。

その後、 ホス トは、 FPGA の DONE ピンが High になってコンフ ィギュレーシ ョ ンが成功したこ と

を示すか、 FPGA の INIT_B ピンが Low になってコンフ ィギュレーシ ョ ンにエラーが発生したこ と

を示すまでデータおよびクロ ッ ク信号を供給し続けます。コンフ ィギュレーシ ョ ン プロセスには、コ

ンフ ィギュレーシ ョ ン ビッ ト ス ト リームのサイズでのみ判断されるサイクル数よ り も、 多くのク

ロ ッ ク サイクル数が必要です。 特に FPGA が選択した DCM (デジタル クロ ッ ク マネージャ) がそれ

ぞれのクロ ッ ク入力 (260 ページの「スタート アップ」 ) に対してロッ クするのを待機するよ うプログ

ラムされている場合、 FPGA のスタート アップ シーケンス中に追加のクロ ッ クが必要となり ます。

Page 202: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

204 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 8 章 : スレーブ シリアル モード

モード セレク ト ピン M[2:0] は、 FPGA の INIT_B 出力が High になる とサンプルされ、 このと き

に定義されたロジッ ク レベルにある必要があ り ます。 コンフ ィギュレーシ ョ ン後、FPGA の DONE出力が High にる と、 モード ピンは全機能を備えたユーザー I/O ピンと して使用可能になり ます。

同様に、FPGA の HSWAP (PUDC_B) ピンを Low にしてすべてのユーザー I/O ピンのプルアッ

プ抵抗を有効にするか、 High にしてプルアップ抵抗を無効にしなければなり ません。 HSWAP(PUDC_B) 制御は FPGA コンフ ィギュレーシ ョ ン中に一定のロジッ ク レベルのままである必要が

あ り ます。 コンフ ィギュレーシ ョ ン後、 FPGA の DONE 出力が High になった場合、 HSWAP(PUDC_B) ピンは全機能を備えたユーザー I/O ピンと して使用可能で、VCCO_0 電源で電源供給さ

れます。

図 8-1 : スレーブ シリアル コンフ ィギュレーシ ョ ン

+2.5V

TDI TDO

TMS

TCK

VCCINT

VCCAUX +2.5V

VCCO_2

INIT_B

PROG_B DONE

GND

+1.2V

HSWAP VCCO_0P VCCO_0

4.7k

Ω

Spartan-3EFPGA

+2.5VJTAG

PROG_B

Recommendopen-drain

driver

TDI

TMS

TCK

TDO

M2

M1

‘1’

‘1’

M0‘1’

DOUT

330Ω

DIN

CCLK

VSlaveSerialMode

4.7k

Ω

V

CLOCK

SERIAL_OUT

PROG_B

INIT_BDONE

V

VCC

GND

ConfigurationMemorySource

• Internal memory• Disk drive• Over network• Over RF link

IntelligentDownload Host

• Microcontroller• Processor• Tester• Computer

DS312-2_54_022305

P

Page 203: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 205UG332 (v1.4) 2008 年 7 月 1 日

電圧の互換性

電圧の互換性

ほとんどのスレーブ シ リアル インターフェイス信号が FPGA の I/O バンク 2 にあ り、VCCO_2 電源入力から電源供給されます。 VCCO_2 電圧は、 外部ホス トの要件 ( 理想的には 2.5V) に合わせて 1.8V、 2.5V、 または 3.3V にできます。 DONE ピンおよび PROG_B ピンが FPGA の 2.5V VCCAUX 電源で電源供給されているため、 3.3V または 1.8V を使用する場合は、 慎重に設計する必要があ り ます。 Spartan-3A/3AN/3A DSP FPGA は、 Spartan-3A FPGA の POR ( パワーオン リセッ ト ) しきい値 (VCCO2T) のため、 1.8V PROM をサポート しません。 POR しきい値については、 253 ページの表 12-1 に示す Spartan-3A/3AN/3A DSP FPGA の各データシートを確認して ください。

XAPP453 : 『Spartan®-3 FPGA の 3.3V コンフ ィギュレーシ ョ ン』 を参照して ください。

デイジー チェーン

アプリケーショ ンでコンフィギュレーショ ンが異なる複数の FPGA が必要な場合、 32 ページの図 1-3に示すよ うに、シリアル デイジー チェーンを使用して FPGA をコンフィギュレーションします。 デイ

ジー チェーン内のすべての FPGA にスレーブ シリアル モード (M[2:0] = <1:1:1>) を設定します。 先頭

の FPGA がコンフィギュレーショ ン データの読み込みを完了後、 この FPGA は DOUT 出力ピンを介

して、 CCLK の立ち下がりエッジでコンフィギュレーショ ンデータを後続 FPGA に送信します。

V

表 8-1 : スレーブ シリアル モード 接続

ピン名FPGA の 入力/出力

説明 コンフ ィギュレーシ ョ ン中 コンフ ィギュレーシ ョ ン後

HSWAP_EN、

HSWAP、ま た は

PUDC_B

入力 ユーザー I/O プルアップ制

御。 コンフ ィギュレーシ ョ ン

中 Low の場合、各 I/O バンク

VCCO 入力の全 I/O ピンのプ

ルアップ抵抗を有効にする

0: コンフ ィギュレーシ ョ ン

中プルアップ

1: プルアップなし

コンフ ィ ギュレーシ ョ ン中に

有効なロジッ ク レベルで駆動

Spartan-3 :専用ピン ( コンフ ィギュレーシ ョ ン後は無視 )Spartan-3ESpartan-3ASpartan-3ANSpartan-3A DSP :ユーザー I/O

M[2:0] 入力 モード セレク ト。 FPGA のコ ン フ ィ ギ ュ レ ーシ ョ ン

モードを選択。 75 ページの

「HSWAP、 M[2:0]、 お よ び

VS[2:0] ピンのデザインの考

察」 参照

M2 = 1、 M1 = 1、 M0 = 1。INIT_B が Highになる とサン

プルされる

ユーザー I/O

DIN 入力 データ入力。 ホス ト から供給されたバイ ト

幅のデータ。 FPGA は CCLKの立ち上が り エッジでデータ

をキャプチャ

ユーザー I/O

Page 204: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

206 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 8 章 : スレーブ シリアル モード

CCLK 入力 コンフ ィギュレーシ ョ ン ク

ロ ッ ク。 CCLK PCB ト レー

スが長い、 または複数の接続

がある場合は、シグナル イン

テグ リティの維持のため、 こ

の出力を終了。

56 ページの 「CCLK デザイ

ンの考察」 参照

外部クロ ッ ク ユーザー I/O

INIT_B オープン ド レイン

の双方向 I/O

初期化インジケータ。 アク

ティブ Low。 コンフィギュ

レーシ ョ ン開始時のメモリ初

期化プロセスでは Low。 メモ

リ初期化の 後で、 モード セレク ト ピンのサンプル時にリ

リース

コンフ ィ ギュレーシ ョ ン中は

アクティブ。 コンフ ィギュ

レーシ ョ ン中に CRC エラーが

検出された場合、 FPGA はLow に駆動

ユーザー I/O。 アプ リ ケー

シ ョ ンで未使用の場合、 フ

ローティ ングを回避するた

め、 High に駆動。「コンフ ィ

ギュレーシ ョ ン後」 のINIT_B 参照

DONE オープン ド レイン

の双方向 I/O

FPGA のコンフ ィギュレー

シ ョ ン完了。 コンフ ィギュ

レーシ ョ ン中は Low。 FPGAのコ ンフ ィ ギュ レーシ ョ ン

が正常に完了する と High になる

Low の場合、 FPGA がコン

フ ィ ギュ レーシ ョ ン されてい

ないこ とを示す

外部プルアップ抵抗を介し

て High にプルアップ。

High の場合は FPGA のコ

ンフ ィギュレーシ ョ ンの正

常な完了を示す

PROG_B 入力 FPGA のプログラム。 アク

ティブ Low。 500ns 以上

(Spartan-3 FPGA では 300ns以上) Low にアサート される

と、 コンフ ィギュレーシ ョ ン

メモ リ を初期化し、PROG_Bが High に戻った後で、

DONE および INIT_B ピン

を リ セ ッ ト し て コ ン フ ィ

ギュレーシ ョ ン プロセスを

再実行

コンフ ィ ギュレーシ ョ ン開始

のために High である必要が

ある

PROG_B を Low に駆動

し、 FPGA の再プログラム

のためにリ リースする

表 8-1 : スレーブ シリアル モード 接続 (続き)

ピン名FPGA の 入力/出力

説明 コンフ ィギュレーシ ョ ン中 コンフ ィギュレーシ ョ ン後

Page 205: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 207UG332 (v1.4) 2008 年 7 月 1 日

第 9 章

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

Spartan®-3 ジェネレーシ ョ ン FPGA には、モード ピンの設定に関わらず FPGA に電源が投入され

ていれば随時使用可能な 4 つのワイヤを持つ専用の IEEE 1149.1/1532 JTAG ポートがあ り ます。

しかし、FPGA モード ピンが JTAG モード (M[2:0] = <1:0:1>) に設定される と、FPGA は電源が投

入イベン ト後、または PROG_B が Low にパルスされた後、JTAG ポート を介してコンフ ィギュレー

シ ョ ンされるのを待機します。 JTAG モードを選択する と、 ほかのコンフ ィギュレーシ ョ ン モード

は単純に選択解除されます。 コンフ ィギュレーシ ョ ン インターフェイスの一部と してほかのピンは

必要と しません。 特別なモード ピンの要件は、 「Spartan-3AN FPGA を iMPACT を用いた JTAG でプログラムする場合のモード ピン」 を参照してください。

図 9-1 に、 JTAG のみのコンフ ィギュレーシ ョ ン インターフェイスを示します。 この図では、 オプ

シ ョ ンのコンポーネン ト を灰色で示します。 TDO 出力をチェーン内の後続デバイスの TDI 入力に

接続するこ とで、 JTAG インターフェイスは FPGA をいくつでも容易にカスケード接続できます。

チェーンの 終デバイスの TDO 出力は、 ポート コネクタにループ バッ クします。

図 9-1 : JTAG コンフ ィギュレーシ ョ ン インターフェイス

PROGRAM

VREF

TMS

TCK

TDO

TDI

N.C.N.C.

1

14

J

Xil

inx

Ca

ble

He

ade

r(J

TA

G In

terf

ace)

VCCINT

VCCAUX

VCCO_2

+1.2V

HSWAP VCCO_0P VCCO_0

M2M1

‘1’‘0’

M0‘1’

JTAGMode

VCCO_2

VCCAUXTMS

TDO

TCK

TDIPROG_B DONE

GND

VCCINT

VCCAUX

VCCO_2

+1.2V

HSWAP VCCO_0P VCCO_0

M2M1

‘1’‘0’

M0‘1’

JTAGMode

VCCO_2

VCCAUXTMS

TDO

TCK

TDIPROG_B DONE

GND

Spartan-3E/3A FPGASpartan-3E/3A FPGA

PUDC_B PUDC_B

UG332_c9_01_120106

= Dedicated internal pull-up resistor

Page 206: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

208 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

JTAG ケーブルの電圧の互換性

FPGA の JTAG インターフェイスは、 VCCAUX 電源によ り電源供給されています。 すべてのユー

ザー I/O は、 それぞれの VCCO_# 電源で個別に電源供給されています。

図 9-1 に VREF と して示されている JTAG プログラ ミ ング ケーブルに供給される電圧は、VCCAUX電源とは異なるこ とがあ り ます。 JTAG および VCCAUX 電圧が同じ場合は、FPGA を JTAG プログ

ラ ミ ング ソケッ トに単純に接続するか、 表 9-1 に示すよ うに、 0 Ω の抵抗を使用します。 VCCAUXは、 Spartan-3AN FPGA では 3.3V に設定する必要があ り、 Spartan-3A および Spartan-3A DSPFPGA では、 オプシ ョ ンで 3.3V に設定できます。

JTAG 電圧が FPGA の VCCAUX 電圧以外の場合は、電源制限抵抗が必要となるため、インターフェ

イスが若干複雑になり ます。 JTAG チェーン内のデバイスをサポートするために JTAG ケーブル インターフェイスを 3.3V にする必要がある場合は、 表 9-1 に示すよ うに、 3.3V インターフェイス と

FPGA 上の TDI、 TMS、 および TCK ピンの間に直列抵抗を置きます。 FPGA の TDO ピンは、

VCCAUX 電源で電源供給された COMS 出力です。 TDO 出力は VCCAUX = 2.5V の場合でも 3.3Vの入力を直接駆動できますが、 ノ イズ耐性は減少します。 XAPP453 : 『Spartan-3 FPGA の 3.3V コンフ ィギュレーシ ョ ン』 を参照してください。

JTAG デバイス IDSpartan-3 ジェネレーシ ョ ン FPGA の各アレイ タイプには、 258 ページの表 12-4 に示すよ うに、 32ビッ トでデバイス別の JTAG デバイス識別子があり ます。 下位の 28 ビッ トがデバイス ベンダー (ザイ リ ンクス) およびデバイス識別子を示します。 ほとんどのツールでは無視されますが、 上位 4 ビッ

トは PCB に実装されたシ リ コンのリ ビジ ョ ン番号を示します。

JTAG ユーザー IDSpartan-3 ジェレネーシ ョ ン JTAG インターフェイスには、 コンフ ィギュレーシ ョ ン中に読み込ま

れる 32 ビッ トのユーザー ID を保存するオプシ ョ ンがあ り ます。 242 ページの表 11-2 または、ISE®

Project Navigator を用いた 44 ページの図 1-8 の手順 11 に示すよ うに、ユーザー ID の値は UserIDコンフ ィギュレーシ ョ ン ビッ ト ス ト リーム オプシ ョ ンを使用して指定されます。

ユーザー ID は、 FPGA に読み込まれる FPGA ビッ ト ス ト リームに対して識別子およびリ ビジ ョ ン

コードを保存する便利な手段を提供しています。 これは、 Device DNA 識別子とは異なり ます。

Device DNA は Spartan-3A/3AN/3A DSP FPGA に固有のもので、 ビッ ト ス ト リームではあ り ませ

ん。 工場でプログラムされたまま FPGA に恒久的に残り ます。

表 9-1 : JTAG ケーブル インターフェイスおよび電流制限抵抗の要件

JTAG コネクタ電源電圧FPGA の

VCCAUX 電源電圧電源制限抵抗

2.5V 2.5V 不要または 0 オーム。 双方の電圧は同一

3.3V 2.5V 68Ω またはそれ以上の電源制限抵抗を使用

3.3V 3.3V 不要または 0 オーム。 双方の電圧は同一

Page 207: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 209UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ンされた FPGA デザインとの通信における JTAG インターフェイスの使用

コンフ ィギュレーシ ョ ンされた FPGA デザインとの通信における JTAG インターフェイスの使用

FPGA のコンフ ィギュレーシ ョ ン後、 使用可能なモードのいずれかを用いて、 JTAG インターフェ

イスは内部 FPGA ロジッ クへの通信チャネルを提供します。 265 ページの 「バウンダ リ スキャン

(BSCAN)」、 デザイン プリ ミ ティブは、 JTAG のプライベート命令を 2 つ送信して内部バウンダ リ

スキャン チェーンを作成します。

IEEE 1149.1 規格を使用した Spartan-3 ジェネレーシ ョ ン FPGA のバウンダリ スキャン

Spartan-3 ジェネレーシ ョ ン FPGA は、 IEEE 1149.1 規格 (Test Access Port and Boundary-ScanArchitecture) に完全に準拠します。 アーキテクチャ (図 9-2 に概要を記載) は、 IEEE 1149.1 規格で

定められいる必要なエレ メン ト をすべて備えます。 これらのエレ メン ト とは、 TAP (テス ト アクセ

ス ポート )、 TAP コン ト ローラ、命令レジスタ、命令デコーダ、 バウンダ リ スキャン レジスタ、お

よび バイパス レジスタです。 また、 Spartan-3 ジェネレーシ ョ ン FPGAは、 この規格に完全準拠す

る 32 ビッ トの識別レジスタをサポート します。 次のセクシ ョ ンで、 Spartan-3 ジェネレーシ ョ ン

FPGA の JTAG アーキテクチャの詳細について説明します。

Page 208: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

210 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

テスト アクセス ポート (TAP)Spartan-3 ジェネレーショ ン TAP には、 表 3-1 に示すプロト コルで指定された 4 つの必須専用ピンが

あり ます。 図 3-1 には、 標準的な JTAG アーキテクチャを示します。 これら 3 つの入力ピンと 1 つの

出力ピンを使用し、1149.1 バウンダリ スキャンの TAP コント ローラを制御します。 TRST (テスト リセッ ト ) やイネーブル ピンなどのオプショ ン制御ピンは、 他社製デバイス上で使用されること があり

ます。 これらのオプショ ン ピンは駆動が必要な可能性があるので、ザイリ ンクス製デバイスを他社製

のデバイスと 組み合わせて使用する際は、 オプショ ン制御ピンの信号に注意してく ださい。

TAP コン ト ローラは、 16 ステートのステート マシンです (図 9-3 および表 9-3 を参照)。 表 9-4 では、 IEEE 規格で必要と される 4 つのピンについて説明します。

ステート間の遷移は TCK の立ち上がりエッジでのみ発生し、 各ステートには異なる名前があ り ます。 それぞれ 7 つのステート を持つ 2 つの縦方向のコラムが、 命令パスおよびデータ パスです。データ レジスタは名前が 「DR」 で終わるステート内で動作し、 命令レジスタは名前が 「IR」 で終わるステート内で動作します。 これ以外に関しては、 ステートは同一です。

図 9-2 : 一般的な JTAG (IEEE 1149.1) アーキテクチャ

IEEE Standard 1149.1 Compliant Device

TMS

Instruction Register

Instruction Decoder

Bypass[1] Register

IDCODE[32] Register

Boundary-Scan[n ] Register

Select DataRegister

Shift-IR/Shift-DR

Select Next State

TAP State Machine

TCK

TDI

TDO

I/O I/O I/O I/O

Test-Logic-Reset

Run-Test/Idle Select-DR

Capture-DR

Shift-DR

Exit1-DR

Pause-DR

Exit2-DR

Update-DR

0

0

0

0

0

0

0

0

1

1

1

11

1

1

Select-IR

Capture-IR

Shift-IR

Exit1-IR

Pause-IR

Exit2-IR

Update-IR

0

0

0

0

0

0

1

11

1

1

1

001 1

UG332_c9_02_081506

Page 209: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 211UG332 (v1.4) 2008 年 7 月 1 日

IEEE 1149.1 規格を使用した Spartan-3 ジェネレーシ ョ ン FPGA のバウンダリ スキャン

図 9-3 : テスト アクセス ポート (TAP) ステート マシン

1

UG332_C9_03_080906

TEST-LOGIC-RESET

0 RUN-TEST/IDLE1

SELECT-DR-SCAN

0

1

0

CAPTURE-DR CAPTURE-IR

0

1

0

0SHIFT-DR SHIFT-IR

1

0

1

0

EXIT1-DR EXIT1-IR

0

1

0

PAUSE-DR PAUSE-IR

1

0

1

EXIT2-DR

1

EXIT2-IR

1

UPDATE-DR

1

UPDATE-IR

1 SELECT-IR-SCAN

0 1 0

0 0

1

1

0

表 9-2 : TAP コン ト ローラ ステート

ステート 説明

TEST-LOGIC-RESET

すべての JTAG ロジッ クが無効になり、 FPGA の通常動作が有効になる。 コン ト ローラの初期のステートに関わらず、 TEST-LOGIC-RESET ステートは、 TMS を High に保持し、 TCK を 5 回パルスするこ とで有効になる。 このため、 テス ト リセッ ト (TRST) ピンはオプシ ョ ンとなっている

RUN-TEST/IDLE JTAG ロジッ クは、 特定の命令が存在する場合のみ有効。 たとえば、 命令がセルフ テス ト を有効にする と、コン ト ローラがこのステートに入ったと きにテス トが実行される。それ以外の場合は、JTAGロジッ クはアイ ドル状態

SELECT-DR-SCAN データ パスまたは SELECT-IR-SCAN ステートに入るかど うかを制御

SELECT-IR-SCAN 命令パスに入るかど うかを制御する。それ以外の場合は、 コン ト ローラは TEST-LOGIC-RESET に戻るこ とが可能

CAPTURE-IR TCK の立ち上がりエッジで、 命令レジスタのシフ ト レジスタ バンクにデータがパラレルでロードされる。 下位 2 ビッ トは常に 「01」 の必要がある

SHIFT-IR 命令レジスタは TDI および TDO 間で接続され、 TCK の立ち上がりエッジでデータがシフ ト される。 また、 TDI ピン上の命令が、 命令レジスタにシフ ト される

EXIT1-IR PAUSE-IR ステート または UPDATE-IR ステートに入るかど うかを制御

PAUSE-IR 命令レジスタがシフ トするのを一時停止

EXIT2-DR SHIFT-IR ステート または UPDATE-IR ステートに入るかど うかを制御

UPDATE-IR 命令レジスタの命令が、TCK の立ち下がりエッジごとにラ ッチ バンクにラ ッチされる。この命令がラ ッチされる と、 現在の命令となる

CAPTURE-DR TCK の立ち上りエッジで、現在の命令で指定されているデータ レジスタにデータがパラレルにロード される

Page 210: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

212 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

メモ : 1. IEEE 規格で定められているよ うに、 TMS および TDI ピンには内部プルアップ抵抗があります。 これらの内部

プルアップ抵抗は、 選択されているモードに関係なく コンフィギュレーシ ョ ン前にアクティブになります。 抵抗の範囲については 63 ページの表 2-13 を参照してください。 コンフィギュレーショ ン後、242 ページの表 11-2 に示すよ うに、 これらの抵抗は TmsPin および BitGen の TdiPin オプショ ン設定で制御されます。

TAP コント ローラ

図 9-3 に、 16 ステートの有限ステート マシンを示します。 4 つの TAP ピンが、 データがどのよ う

に各レジスタにスキャンされるかを制御します。 また、 TCK の立ち上がりエッジにおける TMS ピンの状態によって、ステート移行のシーケンスが決定します。 主要なシーケンスは 2 つあ り、1 つは

データをデータ レジスタにシフ トするシーケンス、 も う 1 つは命令を命令レジスタにシフ トする

シーケンスです。

Spartan-3 ジェネレーシ ョ ン FPGA は、 ザイ リ ンクス ベンダー固有のコマンドおよび必須となる

IEEE 1149.1 コマンドをサポート します。 EXTEST、 INTEST、 SAMPLE/PRELOAD、 BYPASS、IDCODE、 USERCODE、 および HIGHZ 命令はすべて含まれています。 TAP は内部のユーザー定

義のレジスタ (USER1 および USER2) 、 そしてデバイスのコンフ ィギュレーシ ョ ン/ リードバッ ク

をサポート します。

SHIFT-DR これらのコン ト ローラ ステートは 命令パス内の SHIFT-IR、 EXIT1-IR、 PAUSE-IR、 EXIT2-IR および UPDATE-IR ステートに類似EXIT1-DR

PAUSE-DR

EXIT2-DR

UPDATE-DR

表 9-2 : TAP コン ト ローラ ステート

ステート 説明

表 9-3 : Spartan-3 ジェネレーシ ョ ン 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 (テス ト ク ロ ッ ク )。 TAP コン ト ローラおよび JTAG レジスタは TCKを基準に動作する

Page 211: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 213UG332 (v1.4) 2008 年 7 月 1 日

IEEE 1149.1 規格を使用した Spartan-3 ジェネレーシ ョ ン FPGA のバウンダリ スキャン

Spartan-3 ジェネレーシ ョ ン バウンダ リ スキャン モードは選択したコンフ ィギュレーシ ョ ン モー

ドからは独立して動作し、 選択されているその他のモード よ り優先されます。 したがって、バウンダ

リ スキャン レジスタを使用するバウンダ リ スキャン命令 (SAMPLE/PRELOAD、 INTEST、 およ

び EXTEST) は、 FPGA のコンフ ィギュレーシ ョ ン中に実行しないでください。 Spartan-3 ジェネ

レーシ ョ ン FPGA デバイスのコンフ ィギュレーシ ョ ン前には、ユーザー定義の命令以外の命令が使

用できます。 コンフ ィギュレーシ ョ ン後は、 すべての命令が使用可能です。

JSTART および JSHUTDOWN は、Spartan-3 ジェネレーシ ョ ン FPGA アーキテクチャおよびコン

フ ィギュレーシ ョ ン フローに特定の命令です。 詳細は、 DS099 : 『Spartan-3 FPGA ファ ミ リ デー

タシート 』 を参照して ください。 Spartan-3 ジェネレーシ ョ ン FPGAの場合、 TAP コン ト ローラは

PROG_B ピンではリセッ ト されず、 コン ト ローラを TLR ステートにするこ とでのみリセッ トでき

ます。 TAP コン ト ローラは、 電源投入時にリセッ ト されます。

EXTEST、 INTEST、および BYPASS のよ うな標準バウンダ リ スキャン命令の詳細は、 IEEE 規格

を参照して ください。

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

Spartan-3 ジェネレーシ ョ ン FPGA のレジスタには、 IEEE 1149.1 規格で定められた必要なレジス

タすべてが含まれます。 さ らに、表 9-4 に示すよ うに、標準的なレジスタだけでなく、簡易テス トや

検証用のレジスタも備えています。

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

各ユーザー I/O ブロ ッ ク (IOB) は、パッケージ ピンに接続されているか、またはボンディングされ

ていないかに関わらず、 図 9-4 に示すよ うにバウンダ リ スキャン データ レジスタを形成する追加

ロジッ クを含みます。 バウンダ リ スキャン モードは、 各 IOB のコンフ ィギュレーシ ョ ン方法から

独立しています。 デフォルトでは、各 IOB はト ライステート制御の双方向性 IOB です。 その後、IOBは JTAG 動作を介してコンフ ィギュレーシ ョ ンされ、入力、出力、 ト ラ イステート ピンになり ます。

表 9-4 : Spartan-3 ジェネレーシ ョ ン JTAG レジスタ

レジスタ名 レジスタ長 説明

バウンダ リ スキャン レジスタ 各 I/O に 3 ビッ ト 入力、出力、出力イネーブルの制御 および

監視

命令レジスタ 6 ビッ ト 現在の OPCODE 命令をホールド し、 内部デバイスのステータスをキャプチャ

BYPASS レジスタ 1 ビッ ト デバイスをバイパス

識別レジスタ 32 ビッ ト デバイス ID を取得

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

レジスタ

32 ビッ ト CFG_IN または CFG_OUT 命令を使用

中、 コンフ ィギュレーシ ョ ン バスへの アクセスを可能にする

USERCODE レジスタ 32 ビッ ト ユーザーがプログラム可能なコードを取得

ユーザ 定義の レジスタ

(USER1 および USER2)デザインによ り異

なる

デザインによ り異なる

Page 212: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

214 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

DR (データ レジスタ ) の操作時、DR は CAPTURE-DR ステート中にパラレルでデータを取得しま

す。 SHIFT-DR ステート中にデータがシフ ト アウ ト され、 新しいデータが取得されます。 DR の各

ビッ トに対してアップデート ラ ッチを使用し、 次の SHIFT-DR ステート中に入力データを一定に

ホールド します。 その後、UPDATE-DR ステート中に TCK が Low 駆動する と、データがラ ッチさ

れます。

TAP コン ト ローラが UPDATE-DR ステートに移行する と、アップデート ラ ッチはオープンになり

ます。 INTEST または EXTEST を実行する際には、 これらのコマンドの実行前に適切なデータが

ラ ッチに記憶されているこ とを確認して ください。 通常は、 SAMPLE/PRELOAD 命令を使用して

確認できます。

断線およびシ ョート を検知するテス ト ベクタの作成時には、内部プルアップおよびプルダウン抵抗

を考慮して ください。 バウンダ リ スキャン モードは、IOB のプルアップ抵抗の有無を決定します。

ビッ ト シーケンス バウンダリ スキャン レジスタ

次に、TAP 以外の各 IOB の順序について説明します。 初に入力、次に出力、 後に ト ライステー

ト IOB 制御の順序になり ます。ト ラ イステート IOB 制御は、 も TDO に近い位置に配置されてい

ます。 入力専用ピンは、 バウンダ リ スキャンの I/O データ レジスタに入力ビッ トのみを送り ます。

デバイスのビッ ト シーケンスは、 Spartan-3 ジェネレーシ ョ ン FPGA 用の BSDL (Boundary-ScanDescription Language) ファ イルから取得できます。 ビッ ト シーケンスはデザインに影響されるこ

とはな く、 常に同一ビッ ト数で同一順序となっています。

BSDL ファイルは、 ザイ リ ンクス ISE 開発ソフ ト ウェアで提供されるか、 ザイ リンクスのウェブ サイ

トから直接ダウンロードできます。 ザイ リンクスのウェブ サイ トから BSDL モデル スペースを選択し

[検索] をク リ ッ クします。

• ザイ リ ンクス ダウンロード センター

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

図 9-4 : I/O ピンごとのバウンダリ スキャン ロジック

D Q

1

0

1x0100

1x0100

1x0100

D Q

D Q

1

0

1

0

D Q

LE

LE

D Q

LE

D Q

TDI

IOB.I

INTEST

IOB.O

IOB.T

EXTEST

SHIFT CLOCK DATAREGISTER

TDO INTEST or EXTEST

UG332_c9_04_081506

PAD

UpdateLatch

UPDATE

CaptureRegister

Page 213: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 215UG332 (v1.4) 2008 年 7 月 1 日

IEEE 1149.1 規格を使用した Spartan-3 ジェネレーシ ョ ン FPGA のバウンダリ スキャン

命令レジスタ

Spartan-3 ジェネレーシ ョ ン FPGA の IR (命令レジスタ) は、命令スキャン シーケンス中は TDI とTDO の間に接続されます。 命令スキャン シーケンスの準備のため、命令レジスタに固定の命令キャ

プチャ パターンがパラレルで読み込まれます。 このパターンは、命令が TDI から命令レジスタへシ

フ トする と きに、 LSB から TDO にシフ ト します。

動作を実行するには、 表 9-5 に示す OPCODE を IR (命令レジスタ ) に読み込みます。 IR の長さは

デバイスの種類によって異なり ます。 しかし、すべての Spartan-3 ジェネレーシ ョ ン FPGA で IR は6 ビッ ト幅です。

メモ : 通常、 すべての JTAG OPCODE はすべての Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リで

同一です。 しかし、 EXTEST 命令は Spartan-3 FPGA と、 Spartan-3E または Spartan-3A/3AN/3ADSP ファ ミ リの FPGA とでは異なり ます。

表 9-5 : Spartan-3 ジェネレーシ ョ ン バウンダリ スキャン命令

バウンダリ スキャン コマンド

命令 説明

EXTEST

(Spartan-3E、Spartan-3A/-3AN、

Spartan-3A DSP FPGA)

001111

バウンダ リ スキャンの EXTEST を有効にする

EXTEST

(Spartan-3 FPGA)000000

SAMPLE 000001 バウンダ リ スキャンの SAMPLE を有効にする

USER1 000010 ユーザー定義のレジスタ 1 にアクセスする

USER2 000011 ユーザー定義のレジスタ 2 にアクセスする

CFG_OUT 000100

リードバッ クを行な うため、 コンフ ィギュレーシ ョ ン バスにアクセスする

CFG_IN 000101

コンフ ィ ギュ レーシ ョ ンを行な う ため、 コンフ ィ ギュ

レーシ ョ ン バスにアクセスする

INTEST 000111 バウンダ リ スキャンの INTEST を有効にする

USERCODE 001000 ユーザー コードのシフ ト アウ ト を有効にする

IDCODE 001001 ID コードのシフ ト アウ ト を有効にする

HIGHZ 001010

BYPASS レジスタを有効にし、 出力ピンを ト ラ イステー

トにする

JPROGRAM 001011 PROGTAM と同じで、 同様の効果がある

JSTART 001100

スタート アップ ク ロ ッ ク ソースが TCK の場合、 スター

ト アップ シーケンスをクロ ッ ク (StartupClk:JtagClk)

JSHUTDOWN 001101 シャ ッ ト ダウン シーケンスにクロ ッ クを与える

Page 214: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

216 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

図 9-6 に、命令スキャン シーケンスの一部と して IR に読み込まれる命令キャプチャ値を示します。

BYPASS レジスタ

TDI および TDO の間の 1 つのフ リ ップフロ ップで構成される BYPASS レジスタは、 すべての

JTAG IEEE 1149.1 準拠のデバイスで必要と されます。 このレジスタはバイパス命令中に、TDI ピン

から TDO ピンにデータをシ リ アル転送します。 また、TAP コン ト ローラが CAPTURE-DR ステー

トになったと き、 BYPASS レジスタは 0 に初期化されます。

識別 (IDCODE) レジスタ

Spartan-3 ジェネレーシ ョ ン FPGA は、 IDCODE レジスタ と呼ばれる 32 ビッ トの識別レジスタを

備えています。 IDCODE は、 IEEE 1149.1 規格に基づいたベンダー特有の固定値であ り、 デバイス

の製造者およびタイプを電子的に識別するものです。 このレジスタによ り、 バウンダ リ スキャンを

使用してテス ト またはプログラムされたデバイスの識別が容易になり ます。 IDCODE 命令を使用

する と、 この識別コードの出力が可能です。

IDCODE の 後のビッ トは、常に 1 です (JTAG IEEE 1149.1 に基づく )。 16 進数の 後の 3 文字は

0x093 とな り ます。

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

JTAG コンフ ィギュレーシ ョ ン レジスタ は 32 ビッ ト レジスタです。 このレジスタによ り、 コン

フ ィギュレーシ ョ ン バスおよびリードバッ ク操作にアクセスできます。

JTAG コンフ ィギュレーシ ョ ン レジスタは、 レジスタを介して TDI データを TDO に渡しません。このレジスタは、 CFG_IN JTAG 命令がアクティブな場合は入力専用に、 CFG_OUT JTAG 命令がアクティブな場合は出力専用になり ます。

ISC_ENABLE 010000

ISC コンフ ィギュレーシ ョ ンの 初にマーク。 完全な

シャッ ト ダウンを実行

ISC_PROGRAM 010001 インシステム プログラ ミ ングを有効にする

ISC_NOOP 010100 動作なし

ISC_READ 010101 BBR を リードバッ クする

ISC_DISABLE 010110

ISC コンフ ィギュレーシ ョ ンを完了。 スタート アップ

シーケンスが開始

ISC_DNA110001

Spartan-3A/3AN/3A DSP FPGA : Device DNA の読み

出し。 詳細は 299 ページの 「デバイス識別子への JTAGからのアクセス」 を参照

BYPASS 111111 BYPASS を有効にする

RESERVED その他すべて

のコード

ザイ リ ンクスの予約命令

TDI → IR[5] IR[4] IR[3] IR[2] IR[1:0] →TDO

DONE INIT(1) ISC_ENABLED ISC_DONE 0 1

表 9-5 : Spartan-3 ジェネレーシ ョ ン バウンダリ スキャン命令 (続き)

バウンダリ スキャン コマンド

命令 説明

Page 215: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 217UG332 (v1.4) 2008 年 7 月 1 日

IEEE 1149.1 規格を使用した Spartan-3 ジェネレーシ ョ ン FPGA のバウンダリ スキャン

アプリ ケーシ ョ ンに JTAG を使用した標準の FPGA コンフ ィギュレーシ ョ ンを要する場合は XAPP058 : 『組み込み型マイ クロコン ト ローラを使用する XC9500 インシステム プログラ ミ ング機能』 で、 JTAG を使用したカスタム FPGA コンフ ィギュレーシ ョ ンが必要な場合は XAPP452 :『Spartan-3 FPGA アドバンス コンフ ィギュレーシ ョ ン アーキテクチャ』 でコンフ ィギュレーシ ョン バスの詳細を確認してください。 XAPP188 : 『バウンダ リ スキャンを使用した Spartan-II および Spartan-IIE FPGA のコンフ ィギュレーシ ョ ンおよびリードバッ ク機能』 に示すよ うに、 コンフ ィギュレーシ ョ ン バス コマンドは 32 ビッ ト シフ ト バウンダ リの FPGA TDI ピンに到達する必要があ り ます。

USERCODE レジスタ

USERCODE 命令は Spartan-3 ジェネレーシ ョ ン FPGA でサポート されています。 このレジスタに

よ り、 特定のデザインに固有な識別コードのユーザー指定が可能とな り ます。 USERCODE はデバ

イスの中にプログラムでき、後で検証のためにリードバッ クできます。 この USERCODE はビッ ト

ス ト リームの生成時にビッ ト ス ト リーム内に組み込まれ (BitGen -g UserID オプシ ョ ン)、 コンフ ィ

ギュレーシ ョ ン後に有効になり ます。 デバイスが空、 または USERCODE がプログラムされていな

い場合の USERCODE レジスタ値は、 0xFFFFFFFF です。

USER1 および USER2 レジスタ

USER1 および USER2 レジスタは、コンフ ィギュレーシ ョ ン後にのみ有効になり ます。 これら 2 つのレジスタは、 アプリ ケーシ ョ ンで使用される場合、 FPGA ロジッ クを使用してインプリ メン ト さ

れる必要があ り ます。 これらのレジスタの作成には、 「バウンダ リ スキャン (BSCAN)」 ライブラ リ

プ リ ミ テ ィブが必要です。 このプリ ミ ティブは、内部スキャン チェーン (USER1 および USER2) を駆動する際にのみ必要とな り ます。 これらのレジスタへのアクセスは、 JTAG インターフェイスで

の定義後に可能とな り ます。

1 つの一般的な入力 (TDI) ピンおよび複数の共有出力ピンが、 TAP コン ト ローラのステート

(RESET、 SHIFT、 および UPDATE) を示します。

Spartan-3 ジェ ネレーショ ン FPGA でのバウンダリ スキャンの使用

図 9-5 に、バウンダリ スキャン動作のタイ ミング波形の例を示します。 図 9-5 に示す関係のタイ ミング

仕様は、 各 Spartan-3 ジェネレーション FPGA ファ ミ リのデータシートに一覧表示されています。

図 9-5 : Spartan-3 ジェネレーシ ョ ン バウンダリ スキャンのタイ ミング波形

UG332_c9_05_081506

Data to be captured

Data to be driven out

TDO

TCK

TDI

TMS

Data Valid

Data Valid

TTCKTDO

TTAPTCKTTCKTAP

Page 216: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

218 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

ケーブルおよびヘッダのプログラム

ザイ リ ンクスでは、 プロジェク トのデザインおよび開発段階をサポートする多様なプログラ ミ ング

ケーブルを提供しています。

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

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

• MultiPRO デスク ト ップ ツール

http://japan.xilinx.com/products/devkits/HW-MULTIPRO.htm

可能であれば、 プログラムしやすくするためにターゲッ ト インターフェイス コネクタを FPGAボードに配置して ください。 ザイ リ ンクスでは、 大のパフォーマンス と 高のシグナル インテグ

リティのために、 218 ページの図 9-6 に図す高性能のリボン ケーブルの使用を推奨します。

このよ うなコネクタには表 9-6 に示すよ うに、スルー ホール型と表面実装型の 2 つがあります。 適切な

位置にケーブルが挿入されるよ う、外側が覆われているか、あるいは鍵付きのどちらかのコネクタを使

用してください。 指定したコネクタに必要なボード スペースは 0.162 平方インチのみです。

図 9-6 : ターゲッ ト インターフェイスコネクタの寸法およびピンの割り当て

GND

GND

GND

GND

GND

GND

GND

0.299"

0.248"

0.472"0.0787"

JTAGSlave Serial

TYP.

0.

0.0787" (2 mm)

0.020" (0.5 mm) SQ. TYP.

2 x 7 (14 position) 2 mm connectorsurface-mount for ribbon cableMolex part no. 87832-1420Also available in through-hole mounting

UG332_c9_06 _1

13

119

7

5

3

1

N.C.

TDIDIN

TDODONE 8TCKCCLK 6TMSPROG_B 4VREFVREF 2

INIT_B

12

14N.C.N.C.

10

SPI

MOSI

MISO

SCK

SS_B

VREF

N.C.N.C.

表 9-6 : 2mm ピッチ、 14 導体のリボン ケーブル対応コネクタ

メーカー (1)コネクタの形式およびベンダーの部品番号

ベンダーの

ウェブ サイ ト表面実装、 垂直型 スルーホール、 垂直型スルーホール、

ライ ト アングル型

Molex 87832-1420 87831-1420 87833-1420 www.molex.com

FCI 98424-G52-14 98414-G06-14 98464-G61-14 www.fciconnect.com

Page 217: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 219UG332 (v1.4) 2008 年 7 月 1 日

JTAG を使用した FPGA のプログラム

コネクタの 2 ピンは、 TDI、 TCK、 および TMS ピンを駆動する出力バッファに参照電圧を示しま

す。 これらのピンは Spartan-3 ジェネレーシ ョ ン FPGA では、VCCAUX で電源供給されているため、

VCCAUX 電源をコネクタの 2 ピンに接続して ください。

JTAG を使用した FPGA のプログラム

JTAG インターフェイスは、開発およびデバッグ中に FPGA デザインをダウンロードするのに便利

な手法でもあ り ます。

はじめに、41 ページの 「ビッ ト ス ト リーム オプシ ョ ンの設定、FPGA ビッ ト ス ト リームの生成」 で述べるよ うに FPGA ビッ ト ス ト リームを作成します。

次の手順では、 ISE Project Navigator の iMPACT を使用した PROM ファ イルの作成方法を図示し

ます。 この例では、 Spartan-3E スタータ キッ ト ボードで XC3S500E FPGA をコンフ ィギュレー

シ ョ ンする方法を示します。 ボード上の JTAG チェーンは FPGA のほかにザイ リ ンクス PlatformFlash PROM およびザイ リ ンクス CPLD を含みます。

1. ISE Project Navigator の [Processes] ウ ィンド ウから [Configure Device (iMPACT)] をク リ ッ

ク します (図 9-7)。

2. [Configure devices using Boundary-Scan (JTAG)] を選択します (図 9-8)。

Comm Con Connectors 2475-14G2 2422-14G2 2401R-G2-14 www.commcon.com

メモ : 1. メーカーによっては、 ピンの割り当てがザイ リンクスと異なる場合があります。 詳細は、 メーカーのデータシート を参照してください。

2. 追加のリ ボン ケーブルは、 ザイ リ ンク ス オンラインスト ア (japan.xilinx.com/store) よ り 別途購入できます。

表 9-6 : 2mm ピッチ、 14 導体のリボン ケーブル対応コネクタ

メーカー (1)コネクタの形式およびベンダーの部品番号

ベンダーの

ウェブ サイ ト表面実装、 垂直型 スルーホール、 垂直型スルーホール、

ライ ト アングル型

図 9-7 : [Configure Device (iMPACT)] をダブルクリ ック

1

UG332_c9_14_112006

Page 218: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

220 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

3. ボードが電源投入され、 ザイ リ ンクス プログラ ミ ング ケーブルが正し く接続されている場合

は、 iMPACT は JTAG チェーンを自動的に初期化し、チェーン上のさまざまなデバイスを検出

します。

4. [Finish] をク リ ッ ク します。

5. iMPACT はチェーン上のデバイスを自動的に検出します (図 9-9)。 この例では、 ザイ リ ンクス

XC3S500E Spartan-3E FPGA がチェーン内で 初のデバイスで、 その後にザイ リ ンクス

XCF04S Platform Flash PROM が続き、 後にザイ リ ンクス XC2C64A CPLD が位置します。

デバイスはプログラムされていない状態です。

6. iMPACT は自動的に FPGA のビッ ト ス ト リームを表示します (図 9-10)。 FPGA 用にダウン

ロードするビッ ト ス ト リームを選択します。

7. [Open] をク リ ッ ク します。

図 9-8 : [Configure Devices Using Boundary-Scan (JTAG)]

図 9-9 : iMPACT が JTAG チェーン上のデバイスを自動的に検知

2

4

3

UG332_c9_07_112006

5

UG332_c9_xx_112006

Page 219: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 221UG332 (v1.4) 2008 年 7 月 1 日

JTAG を使用した FPGA のプログラム

8. JTAG 以外のコンフィ ギュレーショ ン手法で FPGA ビッ ト スト リ ームが生成されたこと を

iMPACT は自動的に検出します (図 9-11)。 iMPACT は、JTAG コンフィ ギュレーショ ンを正常に

実行するために、スタート アップ ク ロッ ク設定を自動的に調整します (StartupClk:JtagClk)。 元のビッ ト スト リ ーム ファイルは影響を受けません。

9. ダウンロードおよび FPGA デバッグ サイクルの短縮のために、 実際に必要がない限り、 PlatformFlash PROM または CPLD のプログラムは不要です。Platform Flash PROM のプログラ ミングをス

キップする場合は、 [Bypass] をク リ ッ クします (図 9-12)。

図 9-10 : iMPACT が FPGA ビッ トス ト リームを表示

6 7

UG332_c9_09_112006

図 9-11 : JTAG コンフ ィギュレーシ ョ ン向けに iMPACT がスタートアップ クロックを自動的に調整

8

UG332_c9_09_112006

Page 220: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

222 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

10. 同様に、 [Bypass] をク リ ッ ク して CPLD のプログラ ミ ングをスキップします (図 9-13)。

11. iMPACT は、JTAG チェーン内の各デバイスに割り当てられたファイルを示した GUI を更新し

ます (図 9-14)。 この例では、XCF04S Platform Flash および XC2C64A CPLD はスキップされ、

プログラムされていません。 GUI で FPGA をク リ ッ ク してハイライ ト表示します。

図 9-12 : [Bypass] をクリ ックして Platform Flash のプログラ ミングをスキップ

図 9-13 : [Bypass] をクリ ックして CPLD のプログラ ミングをスキップ

9

UG332_c9_10_112006

10

UG332_c9_11_112006

Page 221: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 223UG332 (v1.4) 2008 年 7 月 1 日

JTAG を使用した FPGA のプログラム

12. FPGA がハイライ ト表示されると、関連する利用可能なオプションが [Available Perations are] に表示されます。 [Program] をダブルク リ ッ クします。

13. [Programming Properties] をク リ ッ ク します (図 9-15)。

14. iMPACT の検証 ([Verify]) 機能は、FPGA のプログラ ミ ングにも使用できます。 通常、FPGA をデバッグ用にダウンロードする場合は、 検証機能は使用しません。

15. [OK] をク リ ッ ク し、 プログラ ミ ング プロセスを開始します。

16. iMPACT はプログラムが完了したこ とを示します (図 9-14)。 iMPACT はボード上で FPGA を強制的にリ コンフ ィギュレーシ ョ ンします。 FPGA は指定された FPGA ビッ ト ス ト リームでダ

ウンロード されます。

図 9-14 : プログラムをダブルクリッ クして JTAG を介して FPGA をコンフィ ギュレーショ ンする

11

1216

UG332_c9_12_112006

図 9-15 : FPGA プログラ ミング オプシ ョ ン

UG332_c9_13_112006

13

14

15

Page 222: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

224 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

Spartan-3AN FPGA を iMPACT を用いた JTAG でプログラムする場合のモード ピン

iMPACT 9.1i が Spartan-3AN FPGA をコンフ ィギュレーシ ョ ンする場合、 初に内部 SPI フラ ッ

シュ PROM がプログラムされます。 このコンフ ィギュレーシ ョ ン完了後、再起動が実行され、内部

SPI PROM から FPGA がコンフ ィギュレーシ ョ ンされます。 再起動が実行された場合、モード ピン

M[2:0] がサンプルされます。 コンフ ィギュレーシ ョ ンを正常に完了するには、FPGA モード セレク

ト ピンを M[2:0] = <0:1:1> (内部マスタ SPI モード ) に設定する必要があ り ます。

iMPACT からコンフ ィギュレーシ ョ ンする際にモード ピンが M[2:0] = <1:0:1> JTAG モードに設

定されている と、 FPGA のコンフ ィギュレーシ ョ ンは完了しません。 FPGA のコンフ ィギュレー

シ ョ ンを完了させるには、モード ピンを内部マスタ SPI モードに変更し、PROG ピンをパルスして

コンフ ィギュレーシ ョ ンを実行するか、 iMPACT を介して リ コンフ ィギュレーシ ョ ンします。

iMPACT 9.2i およびそれ以降では、JTAG モードを介して直接 FPGA をコンフ ィギュレーシ ョ ンす

るか、内部 SPI PROM をプログラムした後で内部マスタ SPI モードを介してコンフ ィギュレーシ ョ

ンするオプシ ョ ンがあ り ます。

エンベデッ ド コン ト ローラを用いた JTAG でのコンフ ィギュレーシ ョ ンエンベデッ ド コン ト ローラを使用して Spartan-3 ジェネレーシ ョ ン FPGA をボード上の RAM または EPROM からプログラムして、 フ ィールドでもデザインを更新、 変更およびテス ト可能です。XAPP058 で示すデザインは、 リモートのダウンロード アプリ ケーシ ョ ン向けに容易に変更でき、このアプリ ケーシ ョ ン ノートに含まれる C コードはいかなるマイ クロプロセッサにもコンパイル可能です。

• XAPP058 : 『エンベデッ ド マイクロコン ト ローラを使用する XC9500 インシステム プログラ ミ ング機能』http://japan.xilinx.com/support/documentation/application_notes/xapp058.pdf

Page 223: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 225UG332 (v1.4) 2008 年 7 月 1 日

第 10 章

内部マスタ SPI モード

内部マスタ SPI フラ ッシュ モードは、Spartan-3AN® FPGA ファ ミ リでのみ使用できます。 Spartan-3AN FPGA ファ ミ リには、 主に FPGA コンフ ィギュレーシ ョ ン向けの ISF (インシステム フラ ッ

シュ ) メモ リが統合されています。 ISF メモリには、2 つの FPGA コンフ ィギュレーシ ョ ン ビッ ト ス

ト リーム (マルチブート ) および FPGA アプリケーシ ョ ン用の追加不揮発性データ ス ト レージの保

存に十分な容量があり ます。

また、Spartan-3AN FPGA は、48 ページの表 2-1 に示すほかの Spartan-3A/3AN/3A DSP FPGA のコンフ ィギュレーシ ョ ン モード もすべてサポート しています。

注意 : このコンフ ィギュレーシ ョ ン モードは、 Spartan-3AN FPGA ファ ミ リでのみサポート

されています。 VCCAUX 電源は必ず 3.3V にしてください。

図 10-1 に、 コンフ ィギュレーシ ョ ン中のロジッ ク レベルおよび使用される信号を示します。

図 10-1 : 内部マスタ SPI フラ ッシュ モードを使用した Spartan-3AN FPGAUG332_c10_01_112906

TDI TDO

TMSTCK

VCCINT

VCCAUX

VCCO_2

INIT_B

PROG_B DONE

GND

+1.2V

PUDC_B VCCO_0 VCCO_0

Spartan-3AN

M2M1

‘0’‘1’

M0

Internal SPI Mode

‘1’

VS2VS1

‘?’

VS0

Variant Select

‘?’‘?’

+3.3V

PVCCO_2

VREF

TMS

TCK

TDO

TDI

N.C.N.C.

3.3V (VCCAUX)

1

14

Xil

inx

Ca

ble

He

ade

r(J

TA

G In

terf

ace)

PROGRAM

Page 224: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

226 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 10 章 : 内部マスタ SPI モード

内部 フラッ シュ メ モリ

ISF メモ リのサイズは、表 10-1 に示す Spartan-3AN FPGA のロジッ ク集積度によって異なり ます。

フラ ッシュ メモ リのサイズは、 FPGA のコンフ ィギュレーシ ョ ンに必要なサイズよ り も大型です。

マルチブート をサポートするよ うに非圧縮ビッ ト ス ト リームを 2 つ以上保存するためか、FPGA アプリ ケーシ ョ ン用の追加不揮発データの保存に十分な追加メモリがあ り ます。

モード セレクト ピン AM[2:0]Spartan-3AN FPGA ファ ミ リ は、通常、Spartan-3A/3A DSP FPGA ファ ミ リ と ピンおよび機能の互換

性を持つよう に設計されており 、すべて同じコンフィ ギュレーショ ン モード をサポート します。さら

に内部インシステム フラッ シュ メ モリ からコンフィ ギュレーショ ンする機能も保有しています。

内部マスタ SPI フラ ッシュ モードからコンフ ィギュレーシ ョ ンするには、 FPGA モード セレク ト

ピンを M[2:0] = <0:1:1> に設定する必要があ り ます。 また、 VCCAUX 電源を必ず 3.3V にしてくだ

さい。

モード セレクト ピン VS[2:0]下位互換のために Spartan-3AN FPGA は変数セレク ト ピン VS[2:0] を監視して SPI フラ ッシュ

PROM に送信する読み出しコマンドを決定します。 Spartan-3AN FPGA および 統合された SPI シリ アル フラ ッシュは、 表 10-2 に記載する変数セレク ト コードをサポート します。 変数セレク ト

コードはコンフ ィギュレーシ ョ ンの性能に潜在的に影響を与えます。 Spartan-3AN FPGA の読み出

しコマンドの詳細は、 UG333 : 『Spartan-3AN インシステム フラ ッシュ ユーザー ガイ ド』 を参照

して ください。

さ らに、 VS[2:0] ピンには専用のプルアップ抵抗があ り ます。 これは、 PUDC_B ピンに関わらず、

M[2:0] モード セレク ト ピンが内部マスタ SPI モードに設定された場合にアクティブになり ます。

表 10-1 : Spartan-3AN FPGA および内部 SPI フラッシュ メ モリをプログラムするためのビッ ト 数

FPGA コンフ ィギュレーシ ョ ン ビッ トの総数

(圧縮なし ) インシステム フラ ッシュ メモリ

XC3S50AN 437,312 1Mb

XC3S200AN 1,196,128 4Mb

XC3S400AN 1,886,560 4Mb

XC3S700AN 2,732,640 8Mb

XC3S1400AN 4,755,296 16Mb

Page 225: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 227UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ン後の内部 SPI フラ ッシュ PROM へのアクセス

電源電圧要件

Spartan-3AN FPGA ファ ミ リでは FPGA の電源電圧に若干の制限があ り ます。

VCCAUXVCCAUX 電源入力は 3.3V にする必要があ り ます。 VCCAUX レールは、インシステム フラ ッシュ

メモ リに電力を供給します。

VCCO_2VCCO_2 電源レールは、 ほかのコンフ ィギュレーシ ョ ン モードではコンフ ィギュレーシ ョ ン メモ

リ と同じ電圧にする必要があ り ますが、 Spartan-3AN FPGA ではこのよ うな制限はあ り ません。

シーケンス

統合された SPI シ リ アル フラ ッシュ メモ リの要件によ り、 FPGA の 1.2V VCCINT 電源が 小

POR (パワー オン リセッ ト ) 電圧レベルに達する前に、3.3V VCCAUX 電源は 小電源レールに到

達する必要があ り ます。

コンフ ィギュレーシ ョ ン後の内部 SPI フラッシュ PROM へのアクセス

コンフ ィギュレーシ ョ ン後に、図 10-2 に示す SPI_ACCESS デザイン プリ ミ ティブを用い、FPGAアプリ ケーシ ョ ンはインシステム フラ ッシュ メモ リに完全にアクセスできます。

表 10-2 : Spartan-3AN FPGA がサポートする変数セレク ト (VS[2:0]) オプシ ョ ン

変数セレク ト ピン

VS[2:0]

SPI フラッシュ 読み出し

コマンド

(コマンド コード )

Spartan-3AN FPGA ファ ミ リのサポート

大 CLK 周波数

<1:1:1> FAST_READ(0x0B) あ り 66MHz

<1:0:1> READ(0x03) あ り 33MHz

その他 -- なし --

図 10-2 : Spartan-3AN SPI_ACCESS デザイン プリ ミテ ィブ

UG332_C13_06_081506

MOSI

SPI_ACCESS

CSB

CLK

MISO

Page 226: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

228 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 10 章 : 内部マスタ SPI モード

コンフィギュレーショ ン後の FPGA アプリケーショ ン内部からインシステム フラッシュ メモリへの

アクセス方法は、UG333 : 『Spartan-3AN インシステム フラッシュ ユーザー ガイド』 を参照してくだ

さい。

• UG333 : 『Spartan-3AN インシステム フラ ッシュ ユーザー ガイ ド』

japan.xilinx.com/support/documentation/user_guides/ug333.pdf

内部マスタ SPI モードではコンフ ィギュレーシ ョ ン デイジー チェーンをサポート しない

内部マスタ SPI モードからコンフ ィギュレーシ ョ ンする場合、Spartan-3AN FPGA は複数 FPGA のデイジー チェーンをサポート しません。 FPGA は、 このモードでコンフ ィギュレーシ ョ ン中、 シ リ

アル デイジー チェーンで必要な DOUT または CCLK 出力を提供しません。

しかし、ほかのモードを用いてコンフ ィギュレーシ ョ ンする場合やスレーブ コンフ ィギュレーシ ョ

ン モードでコンフ ィギュレーシ ョ ンする際には、 Spartan-3AN FPGA はデイジー チェーンをサ

ポート します。

マスタ SPI コンフ ィギュレーシ ョ ン向けのビッ トス ト リームの作成

内部マスタ SPI コンフ ィギュレーシ ョ ン向けに FPGA ビッ ト ス ト リームを作成するには、 41 ペー

ジの 「ビッ ト ス ト リーム オプシ ョ ンの設定、 FPGA ビッ ト ス ト リームの生成」 に示す手順に従って

ください。 内部マスタ SPI モードでコンフ ィギュレーシ ョ ンされた FPGA には、 次の BitGen オプ

シ ョ ンを設定します。

ConfigRate : CCLK 周波数

ConfigRate オプシ ョ ンを 33MHz に設定します。 ISE® ソフ ト ウェア Project Navigator を使用して

コンフ ィギュレーシ ョ ン レート周波数を 43 ページの図 1-7 の手順 7 で設定します。

-g ConfigRate:33

StartupClk : CCLKデフォルトでは、 コンフ ィギュレーシ ョ ン スタート アップ ク ロ ッ ク ソースは内部生成された

CCLK です。 44 ページの図 1-8 の手順13 で示すよ うに、BitGen の StartupClk オプシ ョ ンを保持し

ます。

-g StartupClk:Cclk

DriveDone : DONE ピンを駆動

単体の FPGA デザインまたは複数 FPGA を含むデイジー チェーンのマスタ FPGA では、コンフ ィ

ギュレーシ ョ ン プロセス完了後、DONE ピンをアクティブに駆動するよ うに FPGA を設定します。

44 ページの図 1-8 の手順 16 に示すよ うに、 ISE Project Navigator で [Drive Done Pin High] オプ

シ ョ ンをオンにします。

-g DriveDone:Yes

Page 227: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 229UG332 (v1.4) 2008 年 7 月 1 日

JTAG を使用した Spartan-3AN FPGA のプログラム

JTAG を使用した Spartan-3AN FPGA のプログラム

Spartan-3AN FPGA は、 第 9 章 の 「JTAG を使用した FPGA のプログラム」 に記載するほかの

FPGA ファ ミ リ と同様の手法で JTAG および iMPACT を使用してプログラムされます。 iMPACTは FPGA に関連するビッ ト ス ト リームのみを必要と し、インシステム フラ ッシュ用の PROM ファ

イルを自動生成して Spartan-3AN FPGA 内部のフラ ッシュをプログラムします。その後、インシス

テム フラ ッシュから Spartan-3AN FPGA をコンフ ィギュレーシ ョ ンします。 詳細は、 第 9 章 の「Spartan-3AN FPGA を iMPACT を用いた JTAG でプログラムする場合のモード ピン」 を参照し

て ください。

インシステム フラ ッシュ プログラ ミング ファイルの準備

このセクシ ョ ンでは、Spartan-3AN ISF (インシステム フラ ッシュ ) メモ リ用にプログラ ミ ング ファ

イルを作成するガイ ド ラインについて説明します。 これから述べる手順は、 iMPACT を使用して単

体のビッ ト ス ト リームを ISF にプログラムする場合は不要です。

注意 : ISE 9.1i SP3 以降が必要です。

ザイ リ ンクス ソフ ト ウェア ツール iMPACT または PROMGen は、1 つまたは複数の Spartan3-ANFPGA ビッ ト ス ト リームからファ イルを生成します。 Spartan-3AN ISF メモ リはシ リアルで SPIベースのメモ リであ り、データ バイ トは MBS ( 上位ビッ ト ) から保存されます。 PROMGen 使用

時には、 適切にフォーマッ トするために -spi オプシ ョ ンが必要です。

iMPACT次の手順では、ISE Project Navigator の iMPACT を用いて PROM ファ イルを SPI フォーマッ トで

作成する方法を図示します。 SPI フラ ッシュ メモ リ用の Spartan-3AN マルチブート ビッ ト ス ト

リームを作成するには、 278 ページの 「iMPACT を使用した Spartan-3E マルチブート PROM ビッ

ト ス ト リームの生成」 を参照してください。

1. ISE Project Navigator の [Processes] ウ ィンド ウから、[Generate PROM, ACE, or JTAG File]をダブルク リ ッ ク します (図 10-3)。

2. [Prepare a PROM File] を選択します (図 10-4)。

図 10-3 : [Generate PROM, ACE or JTAG File] をダブルクリ ック

1

UG332_c4_10_110206

Page 228: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

230 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 10 章 : 内部マスタ SPI モード

3. [Next] をク リ ッ ク します。

図 10-4 : [Prepare a PROM File]

3

2

UG332_c4_11_19

Page 229: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 231UG332 (v1.4) 2008 年 7 月 1 日

インシステム フラッシュ プログラ ミング ファイルの準備

4. 1 つまたは複数の FPGA ビッ ト ス ト リームを複数のデザイン バージ ョ ンをサポートする

PROM 向けにフォーマッ トするために [PROM Supporting Multiple Design Versions] を選

択します (図 10-5)。

5. ド ロ ップダウン リ ス トから [Spartan3AN] を選択します。

6. [PROM File Format] を選択します。

7. [PROM File Name] にファイル名を入力します。

8. [Next] をク リ ッ ク します。

図 10-5 : Spartan-3AN インシステム フラッシュ PROM のオプシ ョ ン設定

8

4

6

7

5

UG332_c10_02_022307

Page 230: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

232 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 10 章 : 内部マスタ SPI モード

9. [Select Device] ド ロ ップダウン リ ス トでデバイスを選択します。

10. 特定の Spartan-3AN FPGA デバイスを選択します。 関連する FPGA のインシステム フラ ッ

シュ メモ リのビッ ト サイズも表示されます。

11. [Next] をク リ ッ ク します。

図 10-6 : Spartan-3AN FPGA の選択

UG332_c10_03_052207

11

10

9

Page 231: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 233UG332 (v1.4) 2008 年 7 月 1 日

インシステム フラッシュ プログラ ミング ファイルの準備

12. デフォルトの Spartan-3AN コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム ([Bitstream 0]) は、通

常、 アドレス 0 に位置します。 ビッ ト ス ト リーム 0 は、 電源投入時、 または PROG_B ピンが

Low にパルスされた場合は常に FPGA によって自動的に読み込まれるビッ ト ス ト リームです。

13. チェッ ク ボッ クスをオンにして 2 つ目のマルチブート ビッ ト ス ト リームを含めます

([Bitstream 1])。 ビッ ト ス ト リーム 1 は、ビッ ト ス ト リーム 0 の後続 ISF メモ リ セクタ バウン

ダ リに常にアラインされます。iMPACT は、表 10-3 に示す現在のアドレス指定モードに基づい

てセクタ アドレスを 10 進数で表示します。 このアドレスは、2 つ目のビッ ト ス ト リームを読み

込むためにマルチブート動作で使用されます。

14. デフォルトでは、 このチェッ ク ボッ クスをオンにしないでください。 Spartan-3AN のターゲッ

トが以前、 オプシ ョ ンの 2 のべき乗によるアドレス指定モードをサポートするよ う、 特にプロ

グラムされていた場合にのみ、このチェッ ク ボッ クスをオンにします。 UG333 : 『Spartan-3ANインシステム フラ ッシュ ユーザー ガイ ド』 を参照して ください。

15. [Next] をク リ ッ ク します。

図 10-7 : FPGA コンフ ィギュレーシ ョ ン ビッ トス ト リームの指定

表 10-3 : デフォルト ビッ トス ト リームおよび 2 つ目のマルチブート ビッ トス ト リームの位置

ビッ トス ト

リーム

Spartan-3AN FPGA

ISF メモリ ページ

ビッ トス ト リーム開始アドレス (16 進数)

16 進数

バイト アド レス (10 進数)

16 進数

バイト アド レス (10 進数)

ビッ ト ス

ト リーム 0 すべて 0 0x00_0000 0 0x00_0000 0

ビッ ト ス

ト リーム 1

XC3S50AN 256 0x02_0000 67584 0x01_0000 65536

XC3S200AN 768 0x06_0000 202752 0x03_0000 196608

XC3S400AN 1,024 0x08_0000 270336 0x04_0000 262144

XC3S700AN 1,536 0x0C_0000 405504 0x06_0000 393216

XC3S1400AN 1,280 0x14_0000 675840 0x0A_0000 655360

15

1312

14

UG332_c10_04_022307

Page 232: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

234 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 10 章 : 内部マスタ SPI モード

16. Spartan-3AN インシステム フラ ッシュをフォーマッ トするために正し く設定されているか確

認します (図 10-8)。 [Finish] をク リ ッ ク して設定を確定するか、[Back] をク リ ッ ク して設定を

変更します。

17. [OK] をク リ ッ ク してインシステム フラ ッシュ データへの FPGA コンフ ィギュレーシ ョ ン

ビッ ト ス ト リームの追加を開始します (図 10-9)。

18. 使用する Spartan-3AN FPGA ビッ ト ス ト リームを検索し、 選択します。

図 10-8 : Spartan-3AN インシステム メモリのフォーマッ ト設定の確認

図 10-9 : FPGA コンフ ィギュレーシ ョ ン ビッ トス ト リーム ファイルの追加

16

UG332_c10_05_022307

1918

17

20

UG332_c10_06_022307

Page 233: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 235UG332 (v1.4) 2008 年 7 月 1 日

インシステム フラッシュ プログラ ミング ファイルの準備

19. [Open] をク リ ッ ク します。

20. 手順 12 で [Bitstream 1] オプシ ョ ン ボッ クスをオンにした場合は、 iMPACT は 2 つ目のビッ

ト ス ト リームの選択に進みます。 後の FPGA ビッ ト ス ト リームの選択後、 [OK] をク リ ッ ク

します。

21. iMPACT では、 Spartan-3AN FPGA および関連する FPGA ビッ ト ス ト リームを表示します (図 10-10)。

22. 初および 2 つ目のビッ ト ス ト リームの場所もハイライ ト表示されます。

23. [Generate File] をク リ ッ ク します (図 10-11)。

24. iMPACT は、 PROM ファ イルが正常に作成されたこ とを示します。

図 10-10 : iMPACT に表示された Spartan-3AN インシステム フラ ッシュ メモリ

21

22

UG332_c10_07_022307

図 10-11 : Spartan-3AN インシステム フラッシュ ファイルの生成

24

23

UG332_c10_08_022307

Page 234: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

236 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 10 章 : 内部マスタ SPI モード

PROMGenPROMGen はコマンド ライン ツールで、 Spartan-3AN プログラ ミ ング ファイルを作成するも う 1 つの手法です。 PROMGen はコマンド ウィ ンド ウまたはスク リ プト ファイルから起動できます。

表 10-4 に、 Spartan-3AN プログラ ミ ング ファ イルをフォーマッ トするための適切なオプシ ョ ンを

示します。

次に例示する PROMGen コマンドでは、次の特性を持つ PROM ファ イルをXC3S700AN FPGA 向けに生成します。

• -spi オプシ ョ ンを指定して SPI ベースのインシステム メモ リ向けにフォーマッ ト。

• -p mcs オプシ ョ ンを指定して Intel MCS 形式でフォーマッ ト。 出力ファイル名は、

-o <promdata>.mcs オプシ ョ ンで設定。 <promdata> はユーザー指定のファイル名。

• XC3S700AN インシステム フラ ッシュ メモ リは、8 メガビッ ト または 1,024 バイ ト よ り もわず

かに大きい。 しかし、デフォルトのアドレス設定手法では追加のアドレス ラインを使用するた

め、 サイズ オプシ ョ ンを 2 倍または -s 2048 に設定。 ほかの特別なプログラ ミ ングが必要な

表 10-4 : PROM ジェネレータ コマンド オプシ ョ ン

PROMGen オプショ ン 説明

-spi 必要。 SPI ベースのインシステム フラ ッシュ メモ リからコンフ ィギュ

レーシ ョ ンするために必要な正しいビッ ト順序を定義

-p <format> PROM 出力ファイル形式。 SPI プログラ ミ ング ソフ ト ウェアで必要な

ファイル形式を指定。 詳細は、 サードパーティ プログラマの資料参照

-s <size>

PROM サイズをキロバイ トで指定。 PROM のサイズは 2 のべき乗でな

ければならず、 デフォルト設定は 64 キロバイ ト

デフォルトでは、Spartan-3AN インシステム フラ ッシュ メモ リは、追加

のアドレス ビッ ト を用いた非バイナリのアドレス指定手法を使用。 表10-5 に示すサイズ設定を使用

-u <address>

BIT ファ イルを指定した開始アドレスから上位方向に読み込む。 このオ

プシ ョ ンは入力ビッ ト ス ト リーム ファ イルの直前に設定する必要があ

る。 Spartan-3AN FPGA のデバイス タイプ別の開始アドレスは、 233ページの表 10-3 を参照

表 10-5 : Spartan-3AN PROMGen サイズ設定

Spartan-3AN FPGA インシステム フラ ッ

シュのサイズ (ビッ ト )

アドレス モード別 -s <size> 設定

デフォルト2 のべき乗数

(オプシ ョ ン)

XC3S50AN 1M 256 128

XC3S200AN 4M 1,024 512

XC3S400AN 4M 1,024 512

XC3S700AN 8M 2,048 1,024

XC3S1400AN 16M 4,096 2,048

Page 235: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 237UG332 (v1.4) 2008 年 7 月 1 日

iMPACT を用いた Spartan-3AN FPGA のプログラム

2 のべき乗アドレス設定モード (オプシ ョ ン) を使用する場合は、 サイズ オプシ ョ ンを -s1024 に設定。

• 初の FPGA ビッ ト ス ト リームは (bitstream0)、 -u 0 オプシ ョ ンを設定するこ とで、アド

レス 0 から上位方向に読み込まれる。 2 つ目のマルチブート ビッ ト ス ト リーム (bitstream1)は、 233 ページの表 10-3 に示す後続のセクタ バウンダ リに読み込まれる (XC3S700AN の場

合、 0x0C_0000)。

• インシステム フラ ッシュ メモ リに追加される FPGA ビッ ト ス ト リームは 後のオプシ ョ ン

<bitstream0>.bit および <bitstream1>.bit で指定。<inputfile> は FPGA ビッ ト ス

ト リームの生成で用いるユーザー定義のファイル名。

promgen -spi -p mcs -o <promdata>.mcs -s 2048 -u 0 <bitstream0>.bit -u c0000 <bitstream1>.bit

iMPACT を用いた Spartan-3AN FPGA のプログラム

iMPACT は ISE 9.1i SP3 から、プロ ト タイプおよび初期のハードウェア開発向けのプログラ ミ ング

をサポート しています。 製品プログラ ミ ング サポートについては、 237 ページの 「サード パーティ

プログラマ サポート 」 を参照してください。

218 ページの 「ケーブルおよびヘッダのプログラム」 に述べるザイ リ ンクス プログラ ミ ング ケーブ

ルを使用し、225 ページの図 10-1 に示す接続を用いて iMPACT は Spartan-3AN FPGA をプログラ

ムします。

サード パーティ プログラマ サポート

iMPACT は ISE 9.1i SP3 から、プロ ト タイプおよび初期開発向けのインシステムプログラ ミ ング をサポート予定です。 しかし、 iMPACT は量産製品プログラ ミ ングには効果的ではあ り ません。 ベン

ダーによる Spartan-3AN 製品プログラ ミ ング ソ リ ューシ ョ ンを次に記載します。

BPM MicrosystemsBPM Microsystems 社は、エンジニア リ ングおよび製品デバイス プログラマの世界的なサプライヤ

であ り、半導体および電子機器業界に自動化したプログラ ミ ング システムを提供する主要なサプラ

イヤです。

• BPM Microsystems のウェブ サイ ト

www.bpmicrosystems.com

製品ハードウェア プログラ ミング ソリューシ ョ ン

表 10-6 に、 Spartan-3AN FPGA 向けの BPM Microsystems のソ リ ューシ ョ ンを示します。 新規イ

ンス トールおよび既存のプログラマの両方をサポート しています。 ソケッ ト アダプタが必要です。

Page 236: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

238 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 10 章 : 内部マスタ SPI モード

表 10-6 : Spartan-3AN FPGA をサポートする BPM Microsystems プログラマ

ステータス プログラマ モデル番号 プログラマ タイプ

新規インス トール向けに

推奨、 購入可

3610

自動生産4610

4710

3710MK2

BP-2610複数箇所同時処理

BP-2710

BP-1410単一箇所の

エンジニア リ ングBP-1610

BP-1710

レガシ モデル。 多くのプロ

グラ ミ ング センタにイン

ス トール済みの可能性あ り

4700

自動生産

3700MK2

BP-3500

BP-3510

BP-3600

BP-4500

BP-4510

BP-4600

BP-2500

複数箇所同時処理BP-2510

BP-2600

BP-2700

BP-1600 単一箇所の

エンジニア リ ングBP-1700

Page 237: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 239UG332 (v1.4) 2008 年 7 月 1 日

サード パーティ プログラマ サポート

プログラ ミング ソケッ ト モジュールおよびソフ トウェア

表 10-7 に、 表 10-6 に示すプログラ ミ ング ソ リ ューシ ョ ンで Spartan-3AN FPGA をプログラムす

るために必要なソケッ ト アダプタおよびソフ ト ウェアを記載します。 新情報は、ウェブ サイ トで

確認して ください。

表 10-7 : Spartan-3AN FPGA 向けの BPM Microsystems ソケッ ト モジュールおよびソフ ト

ウェア

Spartan-3AN FPGABPM Microsystemsソケッ ト モジュール

モデル番号

プログラ ミング ソフ トウェア

XC3S50AN

XC3S200ANASM256BGTSM256BGT BPWin V4.66.0 およびそれ以降

XC3S400AN

XC3S700ANASM484BGDSM484BGD BPWin V4.66.0 およびそれ以降

XC3S1400AN ASM676BGSM676BG BPWin V4.66.0 およびそれ以降

Page 238: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

240 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 10 章 : 内部マスタ SPI モード

Page 239: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 241UG332 (v1.4) 2008 年 7 月 1 日

第 11 章

コンフ ィギュレーシ ョ ン BitGen (Bitstream Generator) 設定

Spartan®-3 ジェネレーシ ョ ン FPGA のさまざまな機能はコンフ ィギュレーシ ョ ン ビッ ト ス ト リー

ム内の個々の設定で制御されます。 これらの値は、BitGen (Bitstream Generator) でビッ ト ス ト リー

ムを作成する際に定義されます。

242 ページの表 11-2 に、 Spartan-3 ジェネレーシ ョ ン FPGA で一般的に使われる BitGen オプシ ョ

ンを記載します。 これらの各オプシ ョ ンは、 次の形式のコマンド ラインで定義できます。

bitgen -g <option>:<value> infile

オプシ ョ ン名と値はスペースなしのコロンで区切られます。

全オプシ ョ ンの詳細と一覧は、 次の資料の 「BitGen」 の章を参照してください。

• 『ISE® ソフ ト ウェア 9.1i 開発システム リ ファレンス ガイ ド』

http://toolbox.xilinx.com/docsan/xilinx92/books/docs/dev/dev.pdf

特定の FPGA ファ ミ リで使用可能なオプシ ョ ンの簡単な概要を表示するには、 表 11-1 に示すコマ

ンドを DOS ボッ クスまたはコマンド ウ ィンド ウに入力してください。

42 ページの 「ISE ソフ ト ウェア Project Navigator」 に述べるよ うに、 BitGen オプシ ョ ンの一部は

ISE Project Navigator で制御できます。 GUI に表示されていないオプシ ョ ンは、 42 ページの図 1-6の手順 5 出示すよ うに追加できます。

表 11-1 : 各ファ ミ リの BitGen オプシ ョ ンを表示するためのコマンド ライン

FPGA ファ ミ リ コマンド ライン

Spartan-3 bitgen -help spartan3

Spartan-3E bitgen -help spartan3

Spartan-3A bitgen -help spartan3a

Spartan-3AN bitgen -help spartan3an

Spartan-3A DSP bitgen -help spartan3adsp

Page 240: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

242 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 11 章 : コンフ ィギュレーシ ョ ン BitGen (Bitstream Generator) 設定

表 11-2 : Spartan-3 ジェネレーシ ョ ン BitGen (Bitstream Generator) オプシ ョ ン

オプシ ョ ン名 影響のあるピン /機能 値 (デフォルト ) 説明

ConfigRate CCLK、 コ ン フ ィ

ギュレーシ ョ ン、マ

スタ モードのみ

Spartan-3ASpartan-3ANSpartan-3A DSPFPGA :1、3、6、7、8、10、12、13、17、22、25、27、33、44、50、100

マスタ コンフ ィギュレーシ ョ ンで使用される内部オシレー

タの周波数の概算を MHz で設定。 FPGA の CCLK ピンに出

力。 内部オシレータは 小周波数で電力投入され、 コンフ ィ

ギュレーシ ョ ン ビッ ト ス ト リームの一部と して新規設定が

読み込まれる。 詳細は、 54 ページの 「コンフ ィギュレーシ ョ

ン ク ロ ッ ク : CCLK」 を参照

S p a r t a n - 3 EFPGA :1、 3、 6、12、 25、 50

Spartan-3 FPGA :3、 6、 12、 25、 50

StartupClk コ ンフ ィ ギ ュ レー

シ ョ ン、

スタート アップ

Cclk デフォルト。 CCLK 信号 (内部または外部で生成された) は、

コンフ ィギュレーシ ョ ン モードから FPGA に読み込まれた

アプリ ケーシ ョ ンへの FPGA の遷移時にスタート アップ

シーケンスを制御。 詳細は、 262 ページの 「スタート アップ

ク ロ ッ ク ソース」 を参照

UserClk FPGA アプリ ケーシ ョ ン内部からのクロ ッ ク信号は、 コン

フ ィギュレーシ ョ ン モードから FPGA に読み込まれたアプ

リ ケーシ ョ ンへの FPGA の遷移時にスタート アップ シーケ

ンスを制御。 詳細は、 262 ページの 「スタート アップ ク ロ ッ

ク ソース」 を参照。 FPGA アプリ ケーシ ョ ンは、 STARTUPプリ ミ ティブで CLK ピンにユーザー ク ロ ッ クを送信。 詳細

は、 267 ページの 「スタート アップ (STARTUP)」 を参照

JtagClk JTAG TCK 入力は、コンフ ィギュレーシ ョ ン モードからユー

ザー モードへの FPGA の遷移時にスタート アップ シーケン

スを制御。 詳細は、 260 ページの 「スタート アップ」 を参照

ProgPin PROG_B ピン Pullup デフォルト。 プルアップ抵抗を内部接続するか、PROG_B ピンおよび VCCAUX 間をプルアップ抵抗で内部接続。 詳細は、

54 ページの 「FPGA のプログラムまたはリセッ ト :PROG_B」 を参照

Pullnone PROG_B ピンに内部プルアップ抵抗なし。 VCCAUX への外

部 4.7kΩ プルアップ抵抗が必要

Page 241: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 243UG332 (v1.4) 2008 年 7 月 1 日

UnusedPin 未使用 I/O ピン Pulldown デフォルト。 すべての未使用 I/O ピンおよび入力のみのピン

には GND へのプルダウン抵抗がある

Pullup すべての未使用 I/O ピンおよび入力のみのピンには関連する

I/O バンクの VCCO_# 電源へのプルアップ抵抗がある

Pullnone すべての未使用 I/O ピンおよび入力のみのピンはフローティ

ング状態 (Hi-Z、ハイ インピーダンス、 ト ラ イステート )。外

部プルアップまたはプルダウン抵抗、 あるいは有効な信号レ

ベルに適用するロジッ クを使用

Persist SelectMAP イン

ターフェイス ピン、

スレーブ モード、コ

ン フ ィ ギ ュ レ ー

ション

No デフォルト。 コンフ ィギュレーシ ョ ン後、 すべてのスレーブ

モード コンフ ィギュレーシ ョ ン ピンはユーザー I/O と して

使用可能

Yes SelectMAP インターフェイスを使用したリ ード バッ クに必

要。 コンフィ ギュレーショ ン後、SelectMAP インターフェイス

ピン (191 ページの「 SelectMAP データ読み込み」 参照) は予約

され、 ユーザー I/O と して使用不可

Security J T A G 、

SelectMAP、リードバッ ク

No デフォルト。 Persist:Yes の場合、 リードバッ クおよび限定さ

れたパーシャル リ コンフ ィギュレーシ ョ ンは、 JTAG ポート

または SelectMAP インターフェイスを介して使用可能

Level1 詳細は、 291 ページの「基本的な FPGA ハードウェア レベル

のセキュ リティ オプシ ョ ン」 を参照Level2

Level3

Compress FPGA ビッ ト ス ト

リームのサイズ

No デフォルト。 ビッ ト ス ト リームは圧縮されておらず、 表 1-4に示すサイズである

Yes 冗長なコンフ ィギュレーシ ョ ン フレームを検出し、コンフ ィ

ギュレーシ ョ ン中は複数のフレーム書き込みコマン ド を使

用して FPGA ビッ ト ス ト リームを圧縮可能 。 圧縮サイズは

保証されない。 空白の多いデザインまたは、 ブロ ッ ク RAMを使用しないデザインで も効果的。 詳細は、 38 ページの

「ビッ ト ス ト リームの形式」 を参照

Spartan-3 FPGA ファ ミ リ コンフ ィギュレーシ ョ ン ピン制御

詳細は、 61 ページの表 2-9 および 62 ページの表 2-11 を参照。

HswapenPin Spartan-3 FPGAのみ :

HSWAP_EN ピン

Pullup デフォルト。 プルアップ抵抗を Spartan-3 HSWAP_EN ピン

および VCCAUX 間に内部接続

Pulldown プルダウン抵抗を Spartan-3 HSWAP_EN ピンおよび GND間に内部接続

Pullnone Spartan-3 HSWAP_EN ピンに内部プルアップ抵抗なし

表 11-2 : Spartan-3 ジェネレーシ ョ ン BitGen (Bitstream Generator) オプシ ョ ン (続き)

オプシ ョ ン名 影響のあるピン /機能 値 (デフォルト ) 説明

Page 242: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

244 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 11 章 : コンフ ィギュレーシ ョ ン BitGen (Bitstream Generator) 設定

CclkPin Spartan-3 FPGAのみ :

CCLK ピン

Pullup デフォルト。 プルアップ抵抗を内部接続するか、 CCLK ピン

および VCCAUX 間をプルアップ抵抗で内部接続

Pullnone CCLK ピンはハイ インピーダンス (フローティング)。CCLK ロジッ ク レベルを外部で定義

M2Pin Spartan-3 FPGAのみ :

M2 ピン

Pullup デフォルト。 プルアップ抵抗を内部接続するか、 M2 モード セレク ト ピンおよび VCCAUX 間をプルアップ抵抗で内部接続

Pulldown プルダウン抵抗を内部接続するか、M2 モード セレク ト ピン

および GND 間をプルアップ抵抗で内部接続

Pullnone M2 ピンはハイ インピーダンス (フローティング)。 M2 ロジッ ク レベルを外部で定義

M1Pin Spartan-3 FPGAのみ :

M1 ピン

Pullup デフォルト。 プルアップ抵抗を内部接続するか、 M1 モード セレク ト ピンおよび VCCAUX 間をプルアップ抵抗で内部接続

Pulldown プルダウン抵抗を内部接続するか、M1 モード セレク ト ピン

および GND 間をプルアップ抵抗で内部接続

Pullnone M1 ピンはハイ インピーダンス (フローティング)。 M1 ロジッ ク レベルを外部で定義

M0Pin Spartan-3 FPGAのみ :

M0 ピン

Pullup デフォルト。 プルアップ抵抗を内部接続するか、 M0 モード セレク ト ピンおよび VCCAUX 間をプルアップ抵抗で内部接続

Pulldown プルダウン抵抗内部接続するか、M0 モード セレク ト ピンお

よび GND 間をプルアップ抵抗で内部接続

Pullnone M0 ピンはハイ インピーダンス (フローティング)。 M0 ロジッ ク レベルを外部で定義

DONE ピンのオプシ ョ ン

詳細は、 50 ページの 「DONE ピン」 を参照。

DonePin DONE ピン Pullup デフォルト。 DONE ピンおよび VCCAUX 間にプルアップ抵

抗を内部接続。 VCCAUX への外部 330kΩ プルアップ抵抗を

推奨。 詳細は、 58 ページの 「ConfigRate : CCLK の BitGenオプシ ョ ン」 の DONE ピン参照

Pullnone DONE ピンに内部プルアップ抵抗なし。 VCCAUX への外部

330kΩ プルアップ抵抗が必要

DriveDone DONE ピン No デフォルト。 コンフ ィギュレーシ ョ ン完了時、DONE ピンは

Low 駆動を停止し、 VCCAUX への外部 330Ω プルアップ抵

抗によ り有効なロジッ ク High にする。 詳細は、 58 ページの

「ConfigRate : CCLK の BitGen オプシ ョ ン」 の DONE ピン

参照

Yes コンフ ィギュレーシ ョ ン完了時、DONE ピンはアクティブに

High に駆動。 このオプシ ョ ンを使用する場合は、 外部プル

アップ抵抗は不要。 FPGA デイジー チェーン内では 1 つのデ

バイスにのみこの設定を使用

表 11-2 : Spartan-3 ジェネレーシ ョ ン BitGen (Bitstream Generator) オプシ ョ ン (続き)

オプシ ョ ン名 影響のあるピン /機能 値 (デフォルト ) 説明

Page 243: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 245UG332 (v1.4) 2008 年 7 月 1 日

DonePipe DONE ピン No デフォルト。 DONE ピン入力からスタート アップ シーケン

スへ戻る入力パスはパイプライン化されていない。 詳細は、

58 ページの 「ConfigRate : CCLK の BitGen オプシ ョ ン」 のDONE ピン参照

Yes DONE ピン入力およびスタート アップ シーケンス間にパイ

プライン レジスタ段を追加。 1 CCLK サイクル内で DONEピンが立ち上がるこ とができない高速のデイジー チェーン

コンフ ィギュレーシ ョ ンで使用。 DONE ピンが High になっ

た後で、StartupClk の 初の立ち上がりエッジで GWE およ

び GTS 信号を リ リース

スタートアップ シーケンスのオプシ ョ ン

詳細は、 260 ページの 「スタート アップ」 を参照。

DONE_cycle DONE ピン、 コン

フ ィ ギ ュ レーシ ョ

ン スタート アップ

1、 2、 3、 4、 5、 6 FPGA の DONE ピンを起動するコンフ ィギュレーシ ョ ン スタート アップ フェーズを選択。詳細は、 260 ページの「スター

ト アップ」 を参照

GWE_cycle すべてのフ リ ッ プ

フ ロ ッ プ、 LUTRAM、 お よ び

SRL16 シフ ト レジ

ス タ、 ブ ロ ッ ク

RAM、 コ ン フ ィ

ギュレーシ ョ ン ス

タート アップ

1、 2、 3、 4、 5、 6 デフォルト。 すべてのフ リ ップフロ ップ、 LUT RAM および

シフ ト レジスタ (SRL16) への内部ライ ト イネーブル信号を

アサートするコンフ ィギュレーシ ョ ン スタート アップ

フェーズを選択。 また、ブロ ッ ク RAM の読み出しおよび書

き込み動作を有効にする。 詳細は、 260 ページの 「スタート

アップ」 を参照

Done すべてのフ リ ップフロ ップ、LUT RAM およびシフ ト レジス

タ (SRL16) への内部ライ ト イネーブル信号のアサート前

に、 DONE ピン入力が High になるまで待機。 このと き、 ブ

ロ ッ ク RAM の読み出しおよび書き込み動作が有効になる

GTS_cycle すべての I/O ピン、

コ ンフ ィ ギ ュ レー

シ ョ ン

1、 2、 3、 4、 5、 6 デフォルト。 内部ト ラ イステート制御を リ リースするコン

フ ィギュレーシ ョ ン スタート アップ フェーズを選択し、 す

べての I/O バッファをハイ インピーダンス (Hi-Z) に保持。

出力バッフ ァがアクテ ィブに駆動するよ う に設定されてい

る場合は、この後でアクティブに駆動。 詳細は、 260 ページの

「スタート アップ」 を参照

Done 内部ト ライステート制御のリ リース前に、DONE ピン入力が

High になるのを待機し、 すべての I/O バッファをハイ イン

ピーダンス (Hi-Z) に保持。 出力バッファがアクティブに駆

動するよ うに設定されている場合は、 この後でアクティブに

駆動

Keep パーシャル リ コンフ ィギュレーシ ョ ン アプリ ケーシ ョ ンに

現在の GTS_cycle 設定を保持

表 11-2 : Spartan-3 ジェネレーシ ョ ン BitGen (Bitstream Generator) オプシ ョ ン (続き)

オプシ ョ ン名 影響のあるピン /機能 値 (デフォルト ) 説明

Page 244: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

246 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 11 章 : コンフ ィギュレーシ ョ ン BitGen (Bitstream Generator) 設定

LCK_cycle DCM、 コ ン フ ィ

ギュレーシ ョ ン スタート アップ

NoWait デフォルト。 FPGA は、 コンフ ィギュレーシ ョ ン完了前は選

択した DCM がロ ッ クするのを待機しない

0、1、2、3、4、5、6 デザインで 1 つ以上の DCM に STARTUP_WAIT=TRUE 属性がある場合、 FPGA は、 これらの DCM にそれぞれの入力

クロ ッ クが供給され、各 LOCKED 出力をアサートするまで

待機。 この設定で DCMのロ ッ クまで FPGA が待機するコン

フ ィギュレーシ ョ ン スタート アップ フェーズを選択。 詳細

は、 262 ページの 「DCM がロッ ク状態になるまで、 DCI が一致するまで待機」 を参照

Match_cycle Spartan-3 FPGAのみ :DCI

Auto BitGen が FPGA デザインに DCI を使用する I/O 規格がある

かど うか検証。 検出された場合、 BitGen は自動的に

Match_cycle:2 を設定。結果的に、スタート アップ シーケン

スが ステート 2で停止し、DCI 回路はターゲッ ト インピーダ

ンスに整合。 それ以外の場合は、 Match_cycle:NoWait

NoWait FPGA は、DCI 回路がインピーダンスに整合するまで待機し

ない

0、1、2、3、4、5、6 外部抵抗によって指定されたテーゲッ ト インピーダンス値

に DCI 回路が達するまで FPGA が待機するスタート アップ

サイクルを決定

DCIUpdateMode Spartan-3 FPGAのみ :DCI

AsRequired デフォルト。 ト ラ ッキングを維持する必要がある場合のみ

DCI インピーダンス調整を実行

Continuous DCI インピーダンス調整を継続的に実行

Quiet インピーダンスが 初に一致した後でインピーダンスは調

整されない

JTAG 関連の動作

詳細は、 第 9 章 「JTAG コンフ ィギュレーシ ョ ン モードおよびバウンダ リ スキャン」 を参照。

TckPin JTAG TCK ピン Pullup デフォルト。 JTAG TCK ピンおよび VCCAUX 間にプルアッ

プ抵抗を内部接続

Pulldown プルダウン抵抗を JTAG TCK ピンおよび GND 間に内部接続

Pullnone JTAG TCK ピンに内部プルアップ抵抗なし

TdiPin JTAG TDI ピン Pullup デフォルト。 JTAG TDI ピンおよび VCCAUX 間にプルアップ

抵抗を内部接続

Pulldown プルダウン抵抗を JTAG TDI ピンおよび GND 間に内部接続

Pullnone JTAG TDI ピンに内部プルアップ抵抗なし

TdoPin JTAG TDO ピン Pullup デフォルト。 JTAG TDO ピンおよび VCCAUX 間にプルアッ

プ抵抗を内部接続

Pulldown プルダウン抵抗を JTAG TDO ピンおよび GND 間に内部接続

Pullnone JTAG TDO ピンに内部プルアップ抵抗なし

表 11-2 : Spartan-3 ジェネレーシ ョ ン BitGen (Bitstream Generator) オプシ ョ ン (続き)

オプシ ョ ン名 影響のあるピン /機能 値 (デフォルト ) 説明

Page 245: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 247UG332 (v1.4) 2008 年 7 月 1 日

TmsPin JTAG TMS ピン Pullup デフォルト。 JTAG TMS ピンおよび VCCAUX 間にプルアッ

プ抵抗を内部接続

Pulldown プルダウン抵抗を JTAG TMS ピンおよび GND 間に内部接続

Pullnone JTAG TMS ピンに内部プルアップ抵抗なし

UserID JTAG ユーザー IDレジスタ

0xFFFFFFFF コンフ ィギュレーシ ョ ン中に 32 ビッ トの JTAG ユーザー IDレジスタ値が読み込まれる。 デフォルト値はすべて 1(0xFFFFFFFF 16 進数)。ほかの値の指定には、8 文字の 16 進数の値を入力

Spartan-3A/3AN/3A DSP 省電力のサスペンド機能

XAPP480 : 『Spartan-3 ジェネレーシ ョ ン FPGA でのサスペンド モードの使用』 を参照。

en_suspend Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

サスペンド モード

No デフォルト。 サスペンド モード不使用。 SUSPEND ピンを

GND に接続

Yes 省電力のサスペンド機能を有効にする (SUSPEND ピンで

制御)

drive_awake Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

サスペンド モー

ド、 AWAKE ピン

No デフォルト。 サスペンド モードが有効になる と、オープン ドレイン出力を使用して現在の AWAKE のステータスを示す。

SUSPEND モードの終了には、 外部プルアップ抵抗または

High 信号が必要

Yes サスペンド モードが有効になる と、AWAKE 出力をアクティ

ブに駆動して現在のステータスを示す

suspend_filter Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

サスペンド モード、

SUSPEND ピン

Yes デフォルト。 SUSPEND ピンのグ リ ッチ フ ィルタを有効に

する

No SUSPEND ピンのグ リ ッチ フ ィルタを無効にする

en_sw_gsr Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

サスペンド モー

ド、ウェークアップ

タイ ミ ング

No デフォルト。 サスペンド モード中に FPGA 内でクロ ッ ク さ

れたすべてのエレ メン トのステートは保存される

Yes サスペンド モードからのウェークアップ中に、 FPGA はグ

ローバル セッ ト / リセッ ト (GSR) 信号をパルスし、FPGA アプリ ケーシ ョ ンで 初に指定したよ うに、すべてのクロ ッ ク

エレ メン ト を設定または再設定。 すべてのステート情報は、

サスペンド モードの解除の入力前の状態

表 11-2 : Spartan-3 ジェネレーシ ョ ン BitGen (Bitstream Generator) オプシ ョ ン (続き)

オプシ ョ ン名 影響のあるピン /機能 値 (デフォルト ) 説明

Page 246: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

248 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 11 章 : コンフ ィギュレーシ ョ ン BitGen (Bitstream Generator) 設定

sw_clk Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

サスペンド モー

ド、ウェークアップ

タイ ミ ング

StartupClk デフォルト。 StartupClk ビッ ト ス ト リーム設定によって指

定されたクロ ッ クを使用してサスペンド ウェークアップ タイ ミ ングを制御

InternalClk 内部で生成された「50 MHz」のオシレータを使用してサスペ

ンド ウェークアップ タイ ミ ングを制御。 FPGA データ シー

ト に 記 載 さ れ て い る よ う に、 ク ロ ッ ク 周 波 数 は

ConfigRate:50 の場合と同じ

sw_gwe_cycle Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

サスペンド モー

ド、ウェークアップ

タイ ミ ング

1,..,5,...,1024 AWAKE ピンが High になった後で、 書き込み可能でクロック

が供給されたエレメン ト (フ リ ップフロップ、 ブロック RAMなど) にグローバル ライ ト プロテク ト ロッ クがリ リースされ

る際、sw_clk 設定で指定されたクロッ ク サイクル数を示す。 デフォルト値は、AWAKE ピンが High になった 5 サイクル後。 通常、 この値は sw_gts_cycle 設定と同等かそれ以上

sw_gts_cycle Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

サスペンド モー

ド、ウェークアップ

タイ ミ ング

1,..,4,...,1024 AWAKE ピンが High になった後で、 I/O ピンが SUSPEND制約設定から通常の機能に切り替わる際、sw_clk 設定で指定

したクロ ッ ク サイ クル数を示す。 デフォルト値は、 AWAKEピンが High になった 4 サイ クル後。 通常、 この値は

sw_gwe_cycle 設定と同等かそれ以下

Spartan-3A/3AN/3A DSP マルチブート 制御のオプシ ョ ン

詳細は、 285 ページの 「Spartan-3A/3AN/3A DSP のマルチブート 」 を参照。

ICAP_Enable Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

ICAP、マルチブート

Auto デフォルト。 BitGen が FPGA デザインを検証。 ICAP プリ ミ

ティブがデザインでインスタンシエート される と、BitGen は自動的に ICAP_Enable:Yes を設定し、 ICAP ポート を有効

にする。 それ以外の場合は、 ICAP_Enable:No

No ICAP ポートは無効

Yes ICAP ポートは有効

next_config_addr Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

マルチブート

0x0000000 次のマルチブート開始アドレスを 7 文字の 16 進数値で指定。

指定された値は、コンフィギュレーショ ン中に GENERAL1 および GENERAL2 レジスタに読み込まれる。 使用方法の詳細

は、 285 ページの 「Spartan-3A/3AN/3A DSP のマルチブート」

を参照

コンフ ィギュレーシ ョ ン CRC のオプシ ョ ン

詳細は、 第 16 章 「コンフ ィギュレーシ ョ ン CRC」 を参照。

CRC コ ンフ ィ ギ ュ レー

シ ョ ン

Enable デフォルト。 FPGA ビッ ト ス ト リームに対して CRC を有効

にする。 エラーが検出された場合、FPGA は INIT_B を Lowにアサート し、 DONE ピンは Low のままになる

Disable CRC をオフにする

表 11-2 : Spartan-3 ジェネレーシ ョ ン BitGen (Bitstream Generator) オプシ ョ ン (続き)

オプシ ョ ン名 影響のあるピン /機能 値 (デフォルト ) 説明

Page 247: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 249UG332 (v1.4) 2008 年 7 月 1 日

Reset_on_err Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

マ ル チ ブ ー ト、

CRC、 ウ ォ ッ チ

ド ッグ タイマ

No デフォルト。 コンフ ィギュレーシ ョ ン CRC エラーが検出さ

れる と FPGA が停止

Yes コンフィギュレーション CRC エラーが発生した場合、 FPGAは自動的に再初期化し、コンフィギュレーション プロセスを再

実行。 終的に停止するまでに 3 回実行

post_crc_en Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

コ ンフ ィ ギ ュ レー

シ ョ ン後の CRCチェッ ク

No デフォルト。 コンフィギュレーショ ン後の CRC を無効にする

Yes コンフ ィギュレーシ ョ ン後の CRC を有効にする

post_crc_freq Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

コ ンフ ィ ギ ュ レー

シ ョ ン後の CRCチェッ ク

1、3、6、7、8、10、12、13、17、22、25、27、33、44、50、100

コンフ ィギュレーシ ョ ン後の CRC に使用されるクロ ッ ク周

波数を設定。使用可能なオプシ ョ ンは、BitGen のConfigRateオプシ ョ ンと同じ

post_crc_keep Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

コ ンフ ィ ギ ュ レー

シ ョ ン後の CRCチェッ ク

No デフォルト。 エラーが検出される とチェッ クを停止。 CRC シグネチャのリードバッ クを許可

Yes エラー検出後、 CRC エラーのチェッ クを継続

glutmask Spartan-3ASpartan-3ANSpartan-3A DSPFPGA のみ :

コ ンフ ィ ギ ュ レー

シ ョ ン後の CRCチェッ ク

Yes デフォルト。 SLICEM ロジッ ク スライスから LUT (Look-Up Table) ビッ ト を マスク。 SLICEM は、分散 RAM および

SRL16 シフ ト レジスタなどの書き込み可能な機能をサポー

ト。 ビッ トの位置が変更される と CRC エラーが発生

No SLICEM ロジッ ク スライスから LUT ビッ ト を含める。 アプ

リ ケーシ ョ ンが分散 RAM または SRL16 シフ ト レジスタを

含めない場合のみ、 このオプシ ョ ンを使用

表 11-2 : Spartan-3 ジェネレーシ ョ ン BitGen (Bitstream Generator) オプシ ョ ン (続き)

オプシ ョ ン名 影響のあるピン /機能 値 (デフォルト ) 説明

Page 248: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

250 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 11 章 : コンフ ィギュレーシ ョ ン BitGen (Bitstream Generator) 設定

Page 249: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 251UG332 (v1.4) 2008 年 7 月 1 日

概要

第 12 章

イベン トのシーケンス

概要

この章では、 複数のステージで構成される Spartan®-3 ジェネレーシ ョ ン FPGA のコンフ ィギュ

レーシ ョ ン プロセスについて概要を述べます。

使用するインターフェイスは各 FPGA コンフ ィギュレーシ ョ ン モードで若干異なり ますが、基本的

な手順はすべてのモードで同一です。 図 12-1 に、 通常の Spartan-3 ジェネレーシ ョ ン FPGA コン

フ ィギュレーシ ョ ン プロセスを示します。 また、 ビッ ト ス ト リームの詳細には、 フォーマッティン

グと命令ビッ トが含まれます。 次に各手順を詳細に説明します (該当手順は図中で灰色で示されて

います)。

コンフ ィギュレーシ ョ ンの設定 (手順 1 - 3)設定プロセスは、すべてのコンフ ィギュレーシ ョ ン モードで同じです。 Spartan-3 ジェネレーシ ョ ン

FPGA は、 初にリセッ トから起動し、内部コンフ ィギュレーシ ョ ン メモ リ を初期化た後、モード

ピンをサンプリ ングして使用するコンフ ィギュレーシ ョ ンモードを決定します。

リセッ トからの起動

Spartan-3 ジェネレーシ ョ ン FPGA はリセッ トから起動しますが、それには複数の方法があ り ます。

図 12-1 : Spartan-3 ジェネレーシ ョ ン FPGA コンフ ィギュレーシ ョ ン プロセス

Steps1 2 3 4 5 6 7 8

Clear LoadSample Control Array ID StartupSynchronization CRC CheckConfiguration Configuration

Wake fromPins Check Sequence

Memory Data

BitstreamSetup LoadingStart FinishUG332_c12_01_110406

Reset(power-on or

PROG_B)(M[2:0], VS[2:0])

図 12-2 : FPGA のリセッ トからの起動

Steps1 2 3 4 5 6 7 8

Clear LoadSample Control Array ID StartupSynchronization CRC CheckConfiguration Configuration

Wake fromPins Check Sequence

Memory Data

BitstreamSetup LoadingStart FinishUG332_c12_02_110406

Reset(power-on or

PROG_B)(M[2:0], VS[2:0])

Page 250: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

252 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 12 章 : イベン トのシーケンス

1. FPGA が電源投入され、 必要な電源電圧が適切なレベルに達するまで FPGA の内部 POR (パワー オン リセッ ト ) 回路が FPGA を リセッ トに保持します。

2. システムは、 PROG_B ピンを Low にパルスし、 FPGA を リセッ ト します。

3. 専用 JTAG インターフェイスを介し、 JPROGRAM 命令を使用して FPGA はリセッ ト されます。

4. 可能な Spartan-3A/3AN/3A DSP REBOOT コマンドで SelectMAP、 JTAG、 または ICAP イン

ターフェイスを使用して FPGA はリセッ ト されます。

5. Spartan-3A/3AN/3A DSP FPGA では、 コンフ ィギュレーシ ョ ン中に CWDT (コンフ ィギュ

レーシ ョ ン ウォ ッチ ド ッグ タイマ) の設定時間を超過し、コンフ ィギュレーシ ョ ンが 3 回以下

再実行された場合に FPGA はリセッ ト されます。

POR (パワー オン リセッ ト )図 12-3 に示すよ うに、Spartan-3 ジェネレーシ ョ ン FPGA は、コンフ ィギュレーシ ョ ンに必要なす

べての電源供給レールがそれぞれのしきい値に達するまで FPGA を リセッ トに維持する POR (パワー オン リセッ ト ) 機能を保持しています。 必要と される 3 つの電源は次のとおりです。

1. VCCINT は、 内部の FPGA コア ロジッ クに電源供給します。

2. VCCAUX は、 専用コンフ ィギュレーシ ョ ン ピンに電源供給します。

3. Spartan-3A/3AN/3A DSP および Spartan-3E FPGA の VCCO_2、 または Spartan-3 FPGA のVCCO_4 (一部のパッケージでは VCCO_4 および VCCO_5 が接続する VCCO_BOTTOM)は、外部コンフ ィギュレーシ ョ ン データ ソース (PROM あるいは プロセッサ) に接続したイン

ターフェイス ピンに電源供給します。

図 12-3 : Spartan-3A/3AN/3A DSP および Spartan-3E リセッ ト回路 (Spartan-3 でも類似)

VCCO_2

VCCO2T

VCCINT

VCCINTT

VCCAUX

VCCAUXT

PROG_B

POWER_GOOD

Power On Reset (POR)

Glitch Filter

FPGA_RESET

Pow

er

rails

invo

lved

in

Co

nfig

ura

tion

JTAG

TDI

TMS

TCK

TCK

JPROGRAMinstruction

UG332_c12_11_113006

Page 251: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 253UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ンの設定 (手順 1 - 3)

FPGA は、 3 つの電源をすべてモニタします。 関連する FPGA のデータシートから作成した 253ページの表 12-1 に要約するよ うに、3 つの電源がすべて指定した電圧しきい値に達する と、POR 回路は内部リセッ ト を リ リースし、PROG_B ピンが Low にならない限り、FPGA はコンフ ィギュレー

シ ョ ン プロセスを継続できます。

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

入できない場合は、システムの電源が必要な POR 値に到達するまで、INIT_B ピンまたは PROG_Bピンを Low に維持し (255 ページの 「コンフ ィギュレーシ ョ ンの遅延」 を参照) 、コンフ ィギュレー

シ ョ ンの開始を遅延させてください。

コンフ ィギュレーシ ョ ン完了後、POR 回路は、VCCINT および VCCAUX 電源入力のモニタを継続し

ます。 どちらかの電源が関連する電圧しきい値を下回る場合、POR 回路は FPGA を再リセッ ト しま

す。 VCCO_2 は、 コンフ ィギュレーシ ョ ン後にはモニタされないため、低い電圧規格での必要に応

じてユーザーが電圧を低減できます。

PROG_B ピン

FPGA の現在のステートに関わらず、 PROG_B は FPGA を リセッ ト します。 詳細は、 55 ページの

「FPGA のプログラムまたはリセッ ト : PROG_B」 を参照してください。

電源投入のタイ ミング

図 12-4 に、 入力電源電圧、 INIT_B ピン、 および PROG_B ピンの関係を示す、 一般的な電源投入

のタイ ミ ングを示します。

表 12-1 : POR (パワー オン リセッ ト ) 電圧しきい値

電源POR しきい値の

仕様

Spartan-3A/3ANSpartan-3A DSP

FPGASpartan-3E FPGA Spartan-3 FPGA

単位

小 大 小 大 小 大

VCCINT VCCINTT 0.4 1.0 0.4 1.0 0.4 1.0 V

VCCAUX VCCAUXT 1.0 2.0 0.8 2.0 0.8 2.0 V

VCCO_2 VCCO2T 1.0 2.0 0.4 1.0 V

VCCO_4 (または VCCO_BOTTOM)

VCCO4T 0.4 1.0 V

Page 252: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

254 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 12 章 : イベン トのシーケンス

図 12-4 に示す電源投入タイ ミ ングの仕様を表 12-2 に記載します。 記載のない値は、この FPGA のデータシート を参照して ください。。

図 12-4 : FPGA の電源投入タイ ミングの波形 (マスタ モード )

VCCINT(Supply)

(Supply)

(Supply)

VCCAUX

VCCO Bank 2

PROG_B

(Output)

(Open-Drain)

(Input)

INIT_B

CCLK

UG332_c12_13_111506

1.2V

2.5V

TICCK

TPROGTPL

TPOR

1.0V

(See Table)

2.0V

TMINIT TINITM

(Input)VS[2:0]M[2:0]

Pins Sampled

表 12-2 : FPGA の電源投入タイ ミングの仕様

シンボル 説明 ファ ミ リ 値 単位

TPOR 3 つの電源すべてが要求される電圧しきい値に到達してから、 FPGA がコンフ ィギュレーシ ョン メモ リの初期化を完了し、INIT_B が High になるまでの POR 遅延

Spartan-3 5 ~ 7

msSpartan-3E 5 ~ 7

Spartan-3A 18

TPL PROG_B が High にリ リースされてから、 FPGA がコンフィギュレーショ ン メモリの初期化を完了し、 INIT_B が High になるまでの遅延

Spartan-3 2 ~ 3

msSpartan-3E 0.5 ~ 2

Spartan-3A 0.5 ~ 2

TPROG FPGA のリセッ トに必要な 小 PROG_B パルス幅

Spartan-3 300nsSpartan-3E

Spartan-3A 500

TICCK マスタ コンフ ィギュレーシ ョ ン モードで、INIT_B の立ち上がりエッジから CCLK 出力のト グル開始までの時間 .

すべて 0.5 ~ 4 ms

TMINIT M[2:0] モード セレク ト ピンのセッ ト アップ タイム。 マスタ SPI モードでは、 INIT_B の立ち上がりエッジ前における VS[2:0] 変数セレク ト ピンのセッ ト アップ タイム

すべて 50 ns

メモ : 1. Spartan-3A は、 Spartan-3A、 Spartan-3AN、 および Spartan-3A DSP FPGA ファ ミ リ を指定します。

Page 253: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 255UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ンの設定 (手順 1 - 3)

コンフ ィギュレーシ ョ ン メモリの初期化

FPGA がリセッ ト イベン トから起動後、 コンフ ィギュレーシ ョ ン メモ リは自動的に初期化されま

す。 この間、 コンフ ィギュレーシ ョ ン専用ピンおよび JTAG ピン以外の I/O は、 ハイインピーダン

ス (Hi-Z) 状態です。 初期化中、 INIT_B ピンはアクティブに Low に駆動し、その後、電源投入イベ

ン ト中の TPOR の後で (またはその他の場合は TPL の後で)、 リ リースされます。 詳細は、図 12-4 を参照して ください。 INIT_B が外部から Low に維持される と、FPGA はピンがリ リースされるまで

初期化プロセスのその時点の状態で待機します。

PROG_B の 短 Low パルス時間は、TPROG タイ ミ ング パラ メータによって決定します。 PROG_Bピンは、 必要な限りアクティブ (Low) に維持できます。

制御ピンのサンプル

初期化後、INIT_B ピンが High に戻る と、FPGA は M[2:0] モード セレク ト ピンおよび VS[2:0] 変数セレク ト ピンをサンプルします。 その直後、M[2:0] モード セレク ト ピンによ りマスタ コンフ ィ

ギュレーシ ョ ン モードの 1 つが選択された場合は、FPGA は CCLK の駆動を開始します。 VS[2:0]の値は、マスタ SPI コンフ ィギュレーシ ョ ン モードでのみ使用されます。 FPGA はこの時点で、 コ

ンフ ィギュレーシ ョ ン ク ロ ッ クの立ち上がりエッジでコンフ ィギュレーシ ョ ン データ入力ピンの

サンプリ ングを開始します。

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

Spartan-3 ジェネレーシ ョ ン FPGA では、 次の 3 つの方法でコンフ ィギュレーシ ョ ンを遅延させる

こ とができます。

1. PROG_B ピンを Low に維持して FPGA を リセッ ト (251 ページの図 12-2 の手順 1) に維持し

ます。

2. 初期化中に INIT_B ピンを Low に維持して 255 ページの図 12-5 の手順 2 に示すコンフ ィギュ

レーシ ョ ン プロセスで停止します。 しかし、 FPGA が INIT_B を High にリ リース後は、 結果

的にアプリ ケーシ ョ ンは INIT_B を Low にパルスしてコンフ ィギュレーシ ョ ンを遅延できま

せん。

図 12-5 : コンフ ィギュレーシ ョ ン メモリの初期化

Steps1 2 3 4 5 6 7 8

Clear LoadSample Control Array ID StartupSynchronization CRC CheckConfiguration Configuration

Wake fromPins Check Sequence

Memory Data

BitstreamSetup LoadingStart FinishUG332_c12_03_110406

Reset(power-on or

PROG_B)(M[2:0], VS[2:0])

図 12-6 : 制御ピンのサンプル (モード セレク ト、 変数セレク ト )

Steps1 2 3 4 5 6 7 8

Clear LoadSample Control Array ID StartupSynchronization CRC CheckConfiguration Configuration

Wake fromPins Check Sequence

Memory Data

BitstreamSetup LoadingStart FinishUG332_c12_04_110406

Reset(power-on or

PROG_B)(M[2:0], VS[2:0])

Page 254: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

256 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 12 章 : イベン トのシーケンス

3. DONE ピンを Low に維持して FPGA による 260 ページの図 12-11 の手順 8 に示すスタート

アップ シーケンスの完了を防ぎます。

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

す。主な違いは、FPGA およびコンフ ィギュレーシ ョ ン データのソース間のインターフェイスです。

ビッ ト ス ト リームの読み込みで重要な手順は次のとおりです。

• 同期化

• アレイ ID チェッ ク

• コンフ ィギュレーシ ョ ン データの読み込み

• CRC

各手順は、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの異なる部分に関連しています。

同期化

FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの 初に組み込まれているのは、特別な同期ワー

ドです。 同期ワードは、 FPGA に次のコンフ ィギュレーシ ョ ン データについて知らせ、 内部のコン

フ ィギュレーシ ョ ン ロジッ クにコンフ ィギュレーシ ョ ン データを同期します。 同期ワード よ り前

にコンフ ィギュレーシ ョ ン入力ピンに入力されるデータはすべて無視されます。 同期ワードはザイ

リ ンクス BitGen ソフ ト ウェアによって自動的に付加されるため、 ほとんどのアプリ ケーシ ョ ンで

この手順は見えません。

同期ワードの長さ と内容は、 表 12-3 で示すよ うに、 Spartan-3A/3AN/3A DSP FPGA ファ ミ リ と

Spartan-3 および Spartan-3E FPGA ファ ミ リでは異なり ます。

図 12-7 : 同期化

表 12-3 : Spartan-3 ジェネレーシ ョ ン FPGA の同期ワード

FPGA ファ ミ リ 長さ (ビッ ト ) 同期ワード (16 進数)

Spartan-3A/3ANSpartan-3A DSP 16 0xAA99

Spartan-3Spartan-3E

32 0xAA995566

Steps1 2 3 4 5 6 7 8

Clear LoadSample Control Array ID StartupSynchronization CRC CheckConfiguration Configuration

Wake fromPins Check Sequence

Memory Data

BitstreamSetup LoadingStart FinishUG332_c12_05_110406

Reset(power-on or

PROG_B)(M[2:0], VS[2:0])

Page 255: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 257UG332 (v1.4) 2008 年 7 月 1 日

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

アレイ ID のチェ ック

FPGA が同期化された後で、 FPGA は、 ビッ ト ス ト リームに組みこまれているアレイ ID が FPGA内部のアレイ ID に一致するかを確認します。 これによ り、 FPGA が誤って異なる FPGA アレイ用

のコンフ ィギュレーシ ョ ン データを読み込むこ とを防ぎます。 たとえば、 アレイ ID チェッ クは、

XC3S200 用のビッ ト ス ト リームで XC3S1000 がコンフ ィギュレーシ ョ ンされるよ う なこ とを防ぎ

ます。

Spartan-3AN FPGA ファ ミ リはデバイス サイズが同等な場合、 このファ ミ リ と互換性のある

Spartan-3A FPGA のビッ ト ス ト リームでコンフ ィギュレーシ ョ ンできます。

アレイ ID チェッ クはビッ ト ス ト リームの中に組み込まれているため、 ほとんどの設計者にはこの

手順は見えません。 表 12-4 に、 Spartan-3 ジェネレーシ ョ ン アレイ ID コードを示します。 アレイ

ID コードは JTAG IDCODE レジスタ値と同一ですが、アレイ ID チェッ クは JTAG IDCODE レジ

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

によって実行されます。

アレイ識別子の値は 32 ビッ トです。 32 ビッ トの うち、 28 ビッ トは特定の FPGA アレイ サイズに

固有のものであ り、 残り 4 ビッ トは 0x0 から 0xF まで変動するマスク リ ビジ ョ ン コードです。

28 ビッ トのベンダー /アレイ識別子の値には、 3 つのコンポーネン トがあ り ます。

• 下位の 12 ビッ ト (0x093) は、ザイ リ ンクスのベンダーコード (0x49) を示します。常に 「1」の 下位ビッ トが付加されるため、 値は 0x093 とな り ます。 これらの 12 ビッ トはすべての

Spartan-3 ジェネレーシ ョ ン FPGA で同一です。

• 上位の 8 ビッ トは、 FPGA ファ ミ リのコードを示します。

♦ 0x22 : Spartan-3A ファ ミ リ

♦ 0x26 : Spartan-3AN ファ ミ リ

♦ 0x38 : Spartan-3A DSP ファ ミ リ

♦ 0x1C : Spartan-3E ファ ミ リ

♦ 0x14 : Spartan-3 ファ ミ リ

• 中間の 8 ビッ トはアレイのコードを示します。

図 12-8 : アレイ ID のチェ ック

Steps1 2 3 4 5 6 7 8

Clear LoadSample Control Array ID StartupSynchronization CRC CheckConfiguration Configuration

Wake fromPins Check Sequence

Memory Data

BitstreamSetup LoadingStart FinishUG332_c12_06_110406

Reset(power-on or

PROG_B)(M[2:0], VS[2:0])

Page 256: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

258 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 12 章 : イベン トのシーケンス

表 12-5 に示すよ うに、STAT (ステータス) レジスタのビッ ト 1 (ID_Err) を設定してアレイの値が適

合しない場合、 FPGA は信号を送信します。 ステータス レジスタを読み出すには、 ザイ リ ンクス

iMPACT ソフ ト ウェアを使用して JTAG を介する手法、 または SelectMAP インターフェイスを使

用する手法を含むさまざまな手法があ り ます。

表 12-4 : Spartan-3 ジェネレーシ ョ ン FPGA アレイ ID コード

FPGA ファ ミ リ FPGA アレイ

32 ビッ トのアレイ識別子

4 ビッ トのリビ

ジ ョ ン コード

28 ビッ トのベンダー /アレイ識別子

(16 進数)

Spartan-3A FPGA

XC3S50A 0xX 0x22 10 093

XC3S200A 0xX 0x22 18 093

XC3S400A 0xX 0x22 20 093

XC3S700A 0xX 0x22 28 093

XC3S1400A 0xX 0x22 30 093

Spartan-3AN FPGA

XC3S50AN 0xX 0x26 10 093

XC3S200AN 0xX 0x26 18 093

XC3S400AN 0xX 0x26 20 093

XC3S700AN 0xX 0x26 28 093

XC3S1400AN 0xX 0x26 30 093

Spartan-3A DSP FPGA

XC3SD1800A 0xX 0x38 40 093

XC3SD3400A 0xX 0x38 4E 093

Spartan-3E FPGA

XC3S100E 0xX 0x1C 10 093

XC3S250E 0xX 0x1C 1A 093

XC3S500E 0xX 0x1C 22 093

XC3S1200E 0xX 0x1C 2E 093

XC3S1600E 0xX 0x1C 3A 093

Spartan-3 FPGA

XC3S50 0xX 0x14 0C 093

XC3S200 0xX 0x14 14 093

XC3S400 0xX 0x14 1C 093

XC3S1000 0xX 0x14 28 093

XC3S1500 0xX 0x14 34 093

XC3S2000 0xX 0x14 40 093

XC3S4000 0xX 0x14 48 093

XC3S5000 0xX 0x14 50 093

Page 257: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 259UG332 (v1.4) 2008 年 7 月 1 日

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

コンフ ィギュレーシ ョ ン データ フレームの読み込み

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

読み込まれます。

CRC (巡回冗長検査)

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

タ パケッ トから CRC 値を算出します。 データ フレームの読み込み後、 コンフ ィギュレーシ ョ ン

ビッ ト ス ト リームはデフォルト (CRC:Enable) で FPGA に対して CRC を確認する命令を与え、続

いて、予測 CRC 値を送信します。 FPGA によって算出された CRC 値がビッ ト ス ト リーム内の予測

CRC 値と不一致のと きは、FPGA は INIT_B を Low にし、コンフ ィギュレーシ ョ ンを中断します。

詳細は、 311 ページの 「コンフ ィギュレーシ ョ ン中の CRC チェッ ク」 を参照してください。

表 12-5 : STAT レジスタ

名前 ビッ ト 説明

ID_Err 10 : アレイ ID の値が予測値と一致

1 : ビッ ト ス ト リームにエンベデッ ド されたアレイ ID の値が FPGA から読み出された値と一致しない

図 12-9 : コンフ ィギュレーシ ョ ン データ フレームの読み込み

Steps1 2 3 4 5 6 7 8

Clear LoadSample Control Array ID StartupSynchronization CRC CheckConfiguration Configuration

Wake fromPins Check Sequence

Memory Data

BitstreamSetup LoadingStart FinishUG332_c12_07_110406

Reset(power-on or

PROG_B)(M[2:0], VS[2:0])

図 12-10 : CRC (巡回冗長検査)

Steps1 2 3 4 5 6 7 8

Clear LoadSample Control Array ID StartupSynchronization CRC CheckConfiguration Configuration

Wake fromPins Check Sequence

Memory Data

BitstreamSetup LoadingStart FinishUG332_c12_08_110406

Reset(power-on or

PROG_B)(M[2:0], VS[2:0])

Page 258: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

260 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 12 章 : イベン トのシーケンス

スタートアップ

コンフィギュレーショ ン フレームの読み込み完了後、 スタートアップ シーケンスの開始命令がビッ ト

ス ト リームから FPGA に与えられます。 スタートアップ シーケンスは、8 フェーズ (フェーズ 0 ~ 7) のシーケンシャル ステート マシンで制御されます。 このスタートアップ シーケンスでは、表 12-6 に示す

タスクが実行されます。

EOS (End of Startup) を除く スタート アップ イベン トの順序は、さまざまな BitGen オプシ ョ ンを用

いてユーザー プログラム可能です。 表 12-7 および 261 ページの図 12-12 に、 イベン トの一般的な

順序を示しますが、 これらの順序はユーザーがプログラムできます。 EOS は常に 後のフェーズで

す。 表 12-7 に、 デフォルト設定でのスタート アップ イベン ト を示します。

図 12-11 : スタートアップ シーケンス

表 12-6 : スタートアップ イベン トにおいてユーザーが選択可能なサイクル

スタートアップ イベン ト フェーズ BitGen 制御

DCM がロ ッ ク状態になるまで待機する (オプシ ョ ン) 1 ~ 6 LCK_cycle

Spartan-3 FPGA ファ ミ リのみ : DCI が一致するまで待機する (オプシ ョ ン) 1 ~ 6 Match_cycle

GWE (グローバル ライ ト イネーブル) をアサート し、 RAM および

フ リ ップフロ ップを変更可能にする1 ~ 6 GWE_cycle

GTS (グローバル ト ラ イステート ) を リ リースし、 I/O を有効にする 1 ~ 6 GTS_cycle

DONE ピンを リ リースする 1 ~ 6 DONE_cycle

End of Startup (EOS)。 7 なし

表 12-7 : スタートアップ イベン トのデフォルト BitGen シーケンス

BitGen 制御

デフォルト

設定 (フェーズ)

イベン ト

DONE_cycle 4 DONE ピンを リ リースし、FPGA のコンフ ィギュレーシ ョ ンが完了

したこ とを示す

GTS_cycle 5 GTS (グローバル ト ライステート ) をリ リ ースし、 I/O を有効にする

GWE_cycle 6 GWE (グローバル ラ イ ト イネーブル) をアサート し、RAM および

フ リ ップフロ ップを変更可能にする

なし 7 EOS をアサートする

Steps1 2 3 4 5 6 7 8

Clear LoadSample Control Array ID StartupSynchronization CRC CheckConfiguration Configuration

Wake fromPins Check Sequence

Memory Data

BitstreamSetup LoadingStart FinishUG332_c12_09_110406

Reset(power-on or

PROG_B)(M[2:0], VS[2:0])

Page 259: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 261UG332 (v1.4) 2008 年 7 月 1 日

スタートアップ

スタート アップ シーケンス開始時に、FPGA は自動的にグローバル セッ ト / リセッ ト (GSR) 信号を

送信し、 すべてのフ リ ップフロ ップおよびラ ッチを強制的に既知のステートにします。 FPGA が切

り替わるシーケンスおよびタイ ミ ングは、ク ロ ッ ク ソースがシーケンスを制御するよ うにプログラ

ム可能です。

図 12-12 に示すデフォルトのスタート アップ シーケンスでは、DONE が High になった 1 ク ロ ッ ク

サイ クル後に GTS (グローバル ト ラ イステート信号) がリ リースされます。 FPGA 内のユーザー アプリ ケーシ ョ ンが出力信号を駆動する前に、 このシーケンスでは、DONE 信号によ り コンフ ィギュ

レーシ ョ ン中に使用される外部ロジッ クを有効または無効にできます。 1 ク ロ ッ ク サイクル後、

GWE 信号がリ リースされます。 フ リ ップフロ ップやブロッ ク ROM などのクロ ッ クが供給された

記憶エレ メン トが有効になる前に、 信号が FPGA 内に伝播するよ うにな り ます。

M[2:0]、 VS[2:0]、 HSWAP、 PUDC_B、 および A[25:0]、 などの多目的 I/O ピンの機能も、 GTS 信号のリ リース時に変更されます。 多目的コンフ ィギュレーシ ョ ン ピンは、ユーザー I/O になり ます。

Spartan-3E および Spartan-3A/3AN/3A DSP FPGA の例外は CCLK ピンで、 これは EOS (End ofSartup) でユーザー I/O になり ます。

図 12-12 : デフォルト スタートアップ シーケンス

Start-Up Clock

Default Cycles

Sync-to-DONE

0 1 2 3 4 5 6 7

0 1

DONE High

2 3 4 5 6 7

Phase

Start-Up Clock

Phase

DONE

GTS

GWE

DONE

GTS

GWE

UG332_c12_10_110406

Page 260: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

262 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 12 章 : イベン トのシーケンス

スタートアップ クロック ソース

スタート アップ シーケンスでは 3 つのクロ ッ ク ソースが考えられ、これらは BitGen の StartupClkオプシ ョ ンで制御されます。

1. デフォルトでは、 スタート アップ シーケンスは CCLK に同期されています。 Cclk オプシ ョ ン

または UserClk オプシ ョ ンは、 マスタ モードまたはスレーブ モード コンフ ィギュレーシ ョ ン

に必要です。

2. スタート アップ シーケンスは、 267 ページの 「スタート アップ (STARTUP)」 ライブラ リ プリ

ミ ティブを使用し、 BitGen の StartupClk:UserClk オプシ ョ ンを設定して、 FPGA アプリ ケー

シ ョ ン内のユーザー指定のクロ ッ クに同期できます。

3. JTAG コンフ ィギュレーシ ョ ンを使用する場合は、 TCK ク ロ ッ ク入力 (StartupClk:JtagClk) にスタート アップ シーケンスを同期する必要があ り ます。

DCM がロック状態になるまで、 DCI が一致するまで待機

適切な BitGen オプシ ョ ンを使用する と、スタート アップ シーケンスで DCM がロ ッ クするまで、ま

たは DCI が一致するまで待機させるこ とができます。 通常、 これらのオプシ ョ ンは、 DCM のロ ッ

クあるいは DCI の一致のいずれか、 またはその両方が完了する前に、 DONE、 GTS、 および GWEがアサート されないよ うに設定されます。

DONE 信号は、ビッ ト ス ト リーム内で指定されたサイクルのスタート アップ シーケンス (BitGen のDONE_cycle オプシ ョ ンで設定) によって リ リースされますが、スタート アップ シーケンスは、実際

に DONE ピンでロジッ ク High が確認されるまで指定されたスタート アップ サイクル以降を実行

しません。 デフォルトでは、DONE ピンはオープン ドレインの双方向信号です。 つま り、DONE ピンを リ リースする と、Low 駆動が停止してピンがハイインピーダンスになるのみです。 この場合に、

DONE ピンでロジッ ク High を駆動するには、 内部または外部のプルアップ抵抗が必要です。

表 12-8 にスタート アップ シーケンスに関連する信号を示し、 図 1-12 には波形を示します。

Page 261: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 263UG332 (v1.4) 2008 年 7 月 1 日

スタートアップ

図 12-13 は、コンフ ィギュレーシ ョ ンの汎用ブロ ッ ク図であ り、異なるデバイス入力および BitGenオプシ ョ ンの関係を示します。

表 12-8 : スタートアップ シーケンスに関連する信号

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

DONE 双方向

DONE ピンま

たはステータス レジスタ

コンフ ィ ギュレーシ ョ ンが完了したこ

とを示す。 外部で Low を維持し、スター

ト アップをほかの FPGA と同期させる

こ とができる

Release_DONE

ステータスステータス レジスタ

FPGA で DONE ピンの Low 駆動が停

止したかを示す。 ピンを外部で Low に維持する場合、 Release_DONE と実際

の DONE ピン上の値が異なる可能性が

ある

GWE

グローバル ライ ト イネーブル (GWE)。ディアサート される と、FPGA の CLB、

IOB フ リ ップフロ ップ、およびその他の

同期エレ メン トが無効になる

GTS

グローバル ト ラ イステート (GTS)。 アサート される と、コンフ ィギュレーシ ョ

ン ピン用を除く、すべての I/O ド ラ イバ

が 無効になる

EOS End of Startup (EOS)。 コンフ ィギュ

レーシ ョ ンおよびスタート アップ プロ

セス完全な終了を示す

DCI_MATCH

Spartan-3 FPGA ファ ミ リのみ : すべての DCI (デジタル制御インピーダ

ンス) コン ト ローラの内部抵抗が、 外部

の参照抵抗と一致しているこ とを示す

DCM_LOCK

すべての DCM (デジタル ク ロ ッ ク マネージャ ) がロ ッ ク したこ とを示す。 デフ ォル ト では、 アサー ト されている。

ビッ ト ス ト リームの生成時に DCM でLOCK_WAIT オプシ ョ ンが使用され、

LCK_cycle オプシ ョ ンも使用される と

アクティブになる

Page 262: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

264 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 12 章 : イベン トのシーケンス

図 12-13 : Spartan-3A/3AN/3A DSP、 Spartan-3E FPGA コンフ ィギュレーシ ョ ン ロジックの汎用ブロック図

DS312-2_57_102605

VC

CO

_2

VC

CO

2T

VC

CIN

T

VC

CIN

TT

VC

CA

UX

VC

CA

UX

T

PR

OG

_B

CC

LK

TC

K

Inte

rnal

Osc

illat

orM

1

M2

Con

figR

ate

RE

SE

TR

ES

ET

EN

AB

LE

RE

SE

T

EN

AB

LE

DO

NE

GT

S

GS

R

GW

E

DO

NE

_cyc

le

GW

E_c

ycle

GT

S_c

ycle

DC

Ms_

LOC

KE

D

Sta

rtup

Clk

0

01

1

INIT

IAL

IZA

TIO

NC

ON

FIG

UR

AT

ION

STA

RT

UP

US

ER

_CLO

CK

INT

ER

NA

L_C

ON

FIG

UR

ATIO

N_C

LOC

K

JTA

G_C

LOC

K

Cle

ar in

tern

al C

MO

Sco

nfig

urat

ion

latc

hes

Load

app

licat

ion

data

into

CM

OS

conf

igur

atio

n la

tche

s

Ena

ble

appl

icat

ion

logi

c an

dI/O

pin

s

INIT

_B

EN

AB

LE

Con

figur

atio

n E

rror

Det

ectio

n(C

RC

Che

cker

)

EN

AB

LEC

RC

ER

RO

R

PO

WE

R_G

OO

D

Opt

ion

= B

itstr

eam

Gen

erat

or (

BitG

en)

Opt

ion

DC

M in

Use

rA

pplic

atio

n

LOC

KE

D

STA

RT

UP

_WA

IT=

TR

UE

LCK

_cyc

le

Driv

eDon

e

Don

ePip

e

Opt

ion

= D

esig

n A

ttrib

ute

All

DC

Ms

WA

ITDO

NE

DO

NE

CLE

AR

ING

_ME

MO

RY

Glit

ch F

ilter

DO

NE

WA

IT

For

ce a

ll I/O

s H

i-Z

Hol

d al

l sto

rage

elem

ents

res

et

Dis

able

writ

eop

erat

ions

tost

orag

e el

emen

ts

GT

S_I

N

GS

R_I

N

US

ER

US

ER

* *

**

The

se c

onne

ctio

ns a

re a

vaila

ble

via

the

STA

RT

UP

_SPA

RTA

N3E

libr

ary

prim

itive

.EN

EN

Po

wer

On

Res

et (

PO

R)

Page 263: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 265UG332 (v1.4) 2008 年 7 月 1 日

バウンダリ スキャン (BSCAN)

第 13 章

コンフ ィギュレーシ ョ ンに関連するプリ ミテ ィブ

本章で説明するコンフ ィギュレーシ ョ ン プリ ミ ティブによ り、コンフ ィギュレーシ ョ ン中またはコ

ンギュレーシ ョ ン後に FPGA コンフ ィギュレーシ ョ ン リ ソースにアクセスできます。

バウンダリ スキャン (BSCAN)図 13-1 に示す BSCAN コンポーネン トは、内部 FPGA ロジッ クからの JTAG バウンダ リ スキャン

ロジッ ク コン ト ローラへのアクセス、 またはこのコン ト ローラからのアクセスを提供し、 内部

FPGA アプリ ケーシ ョ ンと FPGA の 専用 JTAG ピン間のコ ミ ュニケーシ ョ ンを可能にします。

BSCAN プリ ミ ティブは通常の JTAG 動作では不要です。 FPGA ロジッ ク内で JTAG のプライベー

ト スキャン チェーンをインプリ メン トする際にのみ必要になり ます。 BSCAN プリ ミ ティブは、す

べての Spartan®-3 ジェネレーシ ョ ン FPGA で機能的に同一ですが、266 ページの表 13-1 に示すよ

うに、 プ リ ミ ティブの名前はファ ミ リによって異なり ます。

図 13-1 : Spartan-3A/3AN/3A DSP FPGA の BSCAN プリ ミテ ィブ

UG332_C13_01_040107

TDO1 CAPTURE

BSCAN_SPARTAN3

DRCK1

DRCK2

RESET

SEL1

SEL2

SHIFT

TDI

UPDATETDO2

TDO1

CAPTURE

BSCAN_SPARTAN3A

DRCK1

DRCK2

RESET

SEL1

SEL2

SHIFT

TDI

UPDATETDO2

TMS

TCK (Use for Spartan-3 and Spartan-3E)

(Use for Spartan-3A/3AN/3A DSP)

Page 264: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

266 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 13 章 : コンフ ィギュレーシ ョ ンに関連する プリ ミテ ィブ

T

Spartan-3 ジェネレーシ ョ ン FPGA の BSCAN プリ ミ ティブでは、USER1 および USER2 と呼ばれ

る 大 2 つの内部プリ ミ ティブ バウンダ リ スキャン チェーンが使用できます。

USER1 命令が実行される と、 TDO1 入力の信号が外部 TDO 出力に渡されます。 また、 USER1 命令がアクティブになる と SEL1 出力は High になり ます。 DRCK1 出力は、 データ レジスタ ク ロ ッ

ク (TAP コン ト ローラが生成) が USER1 にアクセスするために使用されます。 USER2 命令におけ

る TDO2 ピンと SEL2 ピンの機能は同様で、DRCK2 出力は、データ レジスタ ク ロ ッ ク (TAP コン

ト ローラが生成) が USER 2 にアクセスするために使用されます。 RESET、 UPDATE、 SHIFT、お

よび CAPTURE ピンは、 バウンダ リ スキャンの内部ステート マシンに対応するステートのデコー

ドを表します。 TDI ピンは、 JTAG ポートの TDI 信号へのアクセスを提供し、内部スキャン チェー

ンにデータをシフ ト します。

使用方法

BSCAN コンポーネン トは、通常、ChipScope™ Analyzer ツールなどで用いる IP で使用され、FPGAの JTAG ピンを介した内部デバイス ロジッ ク とのアクセスに使用されます。 通常、 このコンポーネ

ン トは、IP で使用される と IP の一部と してインスタンシエート されます。BSCAN コンポーネン ト

は任意の FPGA デザインにインスタンシエートできますが、 1 つのデザインに使用可能な BSCANコンポーネン トは 1 つのみです。

ポートの説明

表 13-1 : 各 FPGA ファ ミ リの BSCAN プリ ミテ ィブ

FPGA ファ ミ リ プリ ミテ ィブ

Spartan-3A/3AN FPGA

Spartan-3A DSP FPGABSCAN_SPARTAN3A

Spartan-3E FPGABSCAN_SPARTAN3

Spartan-3 FPGA

表 13-2 : BSCAN プリ ミテ ィブの接続

ポート名 方向 機能

TDI 出力 FPGA への TDI 入力ピンの値

TCK 出力 FPGA への TCK 入力ピンの値

TMS 出力 FPGA への TMS 入力ピンの値

DRCK1、DRK2 出力

JTAG USER 命令が読み込まれ、JTAG TAP コン ト ローラが

SHIFT-DR ステートの場合における FPGA への TCK 入力

ピンの値。DRCK1 は USER1 ロジッ クに適用され、DRCK2は USER2 ロジッ クに適用される

RESET 出力

USER 命令読み込み時にアクティブ。JTAG TAP コン ト ロー

ラが TEST-LOGICRESET ステートの場合、 High にアサート

Page 265: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 267UG332 (v1.4) 2008 年 7 月 1 日

スタートアップ (STARTUP)

スタートアップ (STARTUP)STARTUP プリ ミ ティブは、デバイス ピンおよびロジッ クの両方、 あるいは一方をグローバル非同

期セッ ト / リセッ ト (GSR) 信号へインターフェイスするか、グローバル ト ラ イステート (GTS) 専用

配線に使用されます。 このプ リ ミ ティブは、デバイスのコンフ ィギュレーシ ョ ンの 後で、デバイス

のスタート アップ シーケンスに異なるクロ ッ クを指定するためにも使用可能です。

図 13-2 に示すよ うに、Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リ間では、STARTUP プリ ミ ティ

ブは類似していますが、Spartan-3E の STARTUP プリ ミ ティブには、マルチブート 機能をサポート

するために追加の入力ピンが 1 つあ り ます。 また、STARTUP プリ ミ ティブの名前は、表 13-3 に示

すよ うに、 ファ ミ リによって異なり ます。

SEL1、 SEL2 出力

USER1 または USER2 命令が JTAG 命令レジスタに読み込

まれたタイ ミ ングを示す。 SEL1 または SEL2 は UPDATE-IR ステートでアクティブになり、 新しい命令が読み込まれ

るまでアクティブ

SHIFT 出力USER 命令読み込み時にアクティブ。JTAG TAP コン ト ロー

ラが SHIFT-DR ステートの場合、 High にアサート

CAPTURE 出力USER 命令読み込み時にアクティブ。JTAG TAP コン ト ロー

ラが CAPTURE-DR ステートの場合、 High にアサート

UPDATE 出力USER 命令読み込み時にアクティブ。JTAG TAP コン ト ロー

ラが UPDATE-DR ステートの場合、 High にアサート

TDO1、 TDO2 入力

USER1 または USER2 命令読み込み時にアクティブ。 外部

JTAG TDO ピンは、コンポーネン トの TDO1 (USER1) また

は TDO2 (USER2) ピンにデータ入力を反映

表 13-2 : BSCAN プリ ミテ ィブの接続 (続き)

ポート名 方向 機能

図 13-2 : Spartan-3A/3AN/3A DSP および Spartan-3E FPGA の STARTUP プリ ミテ ィブ

表 13-3 : 各 FPGA ファ ミ リの STARTUP プリ ミテ ィブ

FPGA ファ ミ リ プリ ミテ ィブ

Spartan-3A/3AN FPGA

Spartan-3A DSP FPGASTARTUP_SPARTAN3A

UG332_C13_02_120106

GSR

STARTUP_SPARTAN3A

GTS

CLK

GSR

STARTUP_SPARTAN3E

GTS

MBT

CLK

STARTUP_SPARTAN3

Page 266: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

268 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 13 章 : コンフ ィギュレーシ ョ ンに関連する プリ ミテ ィブ

使用方法

STARTUP プリ ミ ティブはデザインにインスタンシエート される必要があ り ます。 専用 GSR 回路

を使用するには、ソース ピンまたはロジッ クを GRS ピンに接続します。 しかし、 初に次の予防策

を講じない場合は、 このコンポーネン トの GRS 回路の使用は避けてください。 GSR ネッ トのス

キューは保証されていないため、 配線遅延およびスキューをデザインのタイ ミ ング解析の一部で計

算できる一般的な配線をセッ ト / リセッ ト信号に使用するか、 GSR リ リース中に発生の可能性があ

るスキューが、 適切な回路の動作を妨げないよ うにして ください。

同様に、 専用のグローバル ト ラ イステートが使用されている場合は、 適切なソースピンまたはロ

ジッ クをプリ ミ ティブの GTS 入力ピンに接続してください。 コンフ ィギュレーシ ョ ンのスタート

アップ シーケンスにユーザー ク ロ ッ クを指定するには、 ク ロ ッ クをデザインから STARTUP コン

ポーネン トの CLK ピンへ接続して ください。

ポートの説明

リードバック キャプチャ (CAPTURE)図 13-3 に示す CAPTURE プリ ミティブは、FPGA にリードバック用のレジスタ (フ リ ップフロップ およびラッチ) 情報をキャプチャするタイ ミ ングの制御を提供します。 Spartan-3 ジェネレーション

FPGA は、 専用コンフィギュレーショ ン ポート命令でリードバック機能を実行します。

Spartan-3E FPGA STARTUP_SPARTAN3E

Spartan-3 FPGA STARTUP_SPARTAN3

表 13-3 : 各 FPGA ファ ミ リの STARTUP プリ ミテ ィブ (続き)

FPGA ファ ミ リ プリ ミテ ィブ

表 13-4 : STARTUP プリ ミテ ィブの接続

ポート名 方向 機能

GSR 入力 アクティブ High のグローバル セッ ト / リセッ ト (GSR) 信号

GTS 入力 アクティブ High のグローバル ト ラ イステート (GSR) 信号

MBT 入力Spartan-3E ファ ミ リのみ 。アクティブ Low、非同期マルチ

ブート ト リ ガ入力

CLK 入力

コンフ ィギュレーシ ョ ン スタート アップ シーケンスに対す

るオプシ ョ ンのク ロ ッ ク入力。 BitGen の

StartupClk:UserClk オプシ ョ ンを使用して選択される

Page 267: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 269UG332 (v1.4) 2008 年 7 月 1 日

リードバック キャプチャ (CAPTURE)

注意 : Spartan-3E FPGA では、 -4 スピード グレードでコマーシャル温度範囲の XC3S1200E および XC3S1600E を除くすべてのデバイスでリードバッ ク機能が使用できます。 -5 スピード グレードまたはインダス ト リ アル温度範囲のすべての Spartan-3E FPGA では、 リードバッ ク

機能がサポート されています。

使用方法

デザイン内では、CAPTURE プリ ミティブはオプションです。 これを使用しなくても リードバックは実

行されますが、 レジスタのステートに対して提供される非同期のキャプチャ機能は使用できません。

Spartan-3 ジェネレーシ ョ ン FPGA では、レジスタ (フ リ ップフロ ップおよびラ ッチ) のステートの

みをキャプチャします。 LUT RAM、SRL、およびブロ ッ ク RAM ビッ トの値はリードバッ ク されま

すが、 キャプチャはされません。 レジスタのステート をキャプチャするには、 CAP 信号を High にアサート します。 このステートは、 CLK の次の立ち上がりエッジでキャプチャされます。

デフォルトでは、各ト リガ (CAP のアサート時における CLK の遷移) の後でデータがキャプチャさ

れます。 キャプチャされた各データへのリードバッ ク動作を制限するには、 CAPTURE デバイスに

ONESHOT 属性を追加します。

CAPTURE プリ ミ ティブ機能はすべての Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リで同様です

が、 表 13-5 に示すよ うに、 必要と されるデザイン プリ ミ ティブはファ ミ リによって異なり ます。

リードバッ クおよび CAPTURE プリ ミ ティブの詳細は、 XAPP452 : 『Spartan-3 アドバンス コン

フ ィギュレーシ ョ ン アーキテクチャ』 を参照してください。

図 13-3 : Spartan-3A/3AN/3A DSP FPGA の CAPTURE プリ ミテ ィブ (ほかのファ ミ リも類似)

UG332_C13_03_081406

CAP

CAPTURE_SPARTAN3A

CLK

表 13-5 : 各 FPGA ファ ミ リの CAPTURE プリ ミテ ィブ

FPGA ファ ミ リ プリ ミテ ィブ

Spartan-3A/3AN FPGA

Spartan-3A DSP FPGACAPTURE_SPARTAN3A

Spartan-3E FPGACAPTURE_SPARTAN3

Spartan-3 FPGA

Page 268: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

270 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 13 章 : コンフ ィギュレーシ ョ ンに関連する プリ ミテ ィブ

ポートの説明

属性

表 13-7 に、 CAPTURE プリ ミ ティブで使用できる ONESHOT 属性を記載します。

ICAP (内部コンフ ィギュレーシ ョ ン アクセス ポート )図 13-4 に示す ICAP (内部コンフ ィギュレーシ ョ ン アクセス ポート ) は、Spartan-3A/3AN/3A DSPFPGA ファ ミ リでのみ使用できます。

使用方法

ICAP_SPARTAN3A プリ ミ ティ ブの動作は、内部配線接続を使用する FPGA アプリ ケーショ ンで使

用可能であるこ と を除き、 スレーブ パラレル (SelectMAP) と 類似しています。 また、 スレーブ パラ

レル (SelectMAP) インターフェイスには双方向のバスがあるのに対して、 ICAP プリ ミ ティ ブには

別々の読み出しおよび書き込みデータ ポート があり ます。 ICAP により 、 FPGA アプリ ケーショ ン

は、 コンフィ ギュレーショ ン レジスタへのアクセス、 コンフィ ギュレーショ ン データのリ ード バッ

ク 、 またはコンフィ ギュレーショ ン完了後のマルチブート イベント のト リ ガが実行できます。

スレーブ パラレル (SelectMAP) インターフェイスの詳細は、 第 7 章 「スレーブ パラレル

(SelectMAP) モード」 を参照して ください。

Spartan-3A/3AN/3A DSP マルチブートの詳細は、第 14 章「リ コンフ ィギュレーシ ョ ンおよび マル

チブート 」 を参照してください。

表 13-6 : CAPTURE プリ ミテ ィブの接続

ポート名 方向 説明

CLK 入力 CAP 入力のサンプリ ング用クロ ッ ク

CAP 入力アクティブ High のキャプチャ イネーブル信号。 CAP 入力

は、 CLK の立ち上がりエッジでサンプルされる

表 13-7 : CAPTURE 属性

属性 タイプ 指定できる値 デフォルト 説明

ONESHOT ブール

代数

TRUE、FALSE FALSE CAP ト リ ガごとの 1 リードバッ ク動作を

実行する手順を指定

Page 269: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 271UG332 (v1.4) 2008 年 7 月 1 日

Device DNA アクセス ポート (DNA_PORT)

ポートの説明

注意 : ザイリ ンク スでは、 I0 および O0 を MSB ( 上位ビッ ト )、 I7 および O7 を LSB ( 下位

ビッ ト ) と しており 、 これは、 ほかの規則と は異なり ます。 ビッ ト の反転に留意してく ださい。

Device DNA アクセス ポート (DNA_PORT)図 13-5 に示す DNA_PORT プリ ミ ティブは、Spartan-3A/3AN/3A DSP FPGA ファ ミ リでのみ使用

できます。

図 13-4 : ICAP プリ ミテ ィブ (Spartan-3A/3AN/3A DSP FPGA のみで使用可能)

UG332_C13_04_111906

I[0:7] O[0:7]

WRITE

CE

CLK

BUSY

ICAP_SPARTAN3A

表 13-8 : ICAP_SPARTAN3A プリ ミテ ィブの接続

信号名対応する

SelectMAP ピン名方向 説明

CLK CCLK 入力 ICAP インターフェイス ク ロ ッ ク

CE CS_B または CSI_B 入力

アクティブ Low セレク ト

WRITE RDWR_B 入力

読み出し /書き込み制御入力

0 = WRITE

1 = READ

I[0:7] D[0:7] 入力 バイ ト 幅の ICAP 書き込みデータ バス

O[0:7] D[0:7] 出力 バイ ト 幅の ICAP 読み込みデータ バス

BUSY DOUT 出力アクティブ High の BUSY ステータス信号。 読み出し

処理にのみ使用され、 書き込み中は Low を維持

Page 270: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

272 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 13 章 : コンフ ィギュレーシ ョ ンに関連する プリ ミテ ィブ

DNA_PORT は、 Spartan-3A/3AN/3A DSP デバイスの Device DNA データ ビッ ト (固有の ID) を読み込み可能な専用シフ ト レジスタへのアクセスを提供します。 このコンポーネン トは、 DNAデータ ビッ トのシフ ト出力に加え、 追加のユーザー データ用の補助データ ビッ ト を含めるこ とを

可能にし、 DNA データのロールオーバー ( 初のデータのシフ ト出力後に、 DNA データを繰り返

す) を実現します。 このコンポーネン トは主に、FPGA ビッ ト ス ト リームのクローン作成による盗難

防止のために、 ほかの回路と共に使用されます。 詳細は、第 15 章 「FPGA デザインの保護」 を参照

して ください。

使用方法

DNA_PORT コンポーネン ト をデザインで使用するには、インスタンシエートする必要があ り

ます。 これには、ISE® Project Navigator HDL テンプレート内のインスタンシエーシ ョ ン テン

プレート を使用し、 このインスタンスの宣言をコード内に記述します。 適切な動作を実現する

には、 すべての入力および出力をデザインに接続します。

Device DNA データにアクセスするには、アクティブ High の READ 信号をクロ ッ クの 1 サイ

クル間設定して、 初にシフ ト レジスタを読み込みます。 シフ ト レジスタの読み込み後、アク

ティブ High の SHIFT 入力を有効にし、 DOUT 出力 ポートのデータ出力をキャプチャして、

データが同期でシフ ト されます。 必要であれば、 DIN ポートに適切なロジッ クを接続して 57ビッ トのシフ ト レジスタの 後に追加データを付加できます。 DNA データのロールオーバー

が必要であれば、 DOUT ポート を直接 DIN ポートに接続し、 57 ビッ トのシフ ト動作完了後、

同じデータをシフ ト出力できます。 追加データが不要な場合は、DIN ポートはロジッ ク 0 に接

続します。 SIM_DNA_VALUE 属性をオプシ ョ ンで設定する と、DNA データ シーケンスのシ

ミ ュレーシ ョ ンが実行できます。 デフォルトでは、シ ミ ュレーシ ョ ン モデルでの Device DNAデータ ビッ トはすべて 0 です。

詳細は、 296 ページの 「動作」 を参照して ください。

ポートの説明

図 13-5 : DNA_PORT プリ ミテ ィブ (Spartan-3A/3AN/3A DSP FPGA のみで使用可能)

UG332_C13_05_081406

DIN DOUT

DNA_PORT

READ

SHIFT

CLK

表 13-9 : DNA_PORT プリ ミテ ィブの接続

ポート名 方向 機能

DOUT 出力 シ リ アル シフ ト出力データ

DIN 入力 シフ ト レジスタへのユーザー データ入力

Page 271: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 273UG332 (v1.4) 2008 年 7 月 1 日

Device DNA アクセス ポート (DNA_PORT)

属性

READ 入力Device DNA データをシフ ト レジスタで同期読み込み。 READ 動作は

SHIFT 動作よ り優先される

SHIFT 入力 アクティブ High のシフ ト イネーブル入力

CLK 入力 クロ ッ ク入力

表 13-9 : DNA_PORT プリ ミテ ィブの接続 (続き)

ポート名 方向 機能

表 13-10 : DNA_PORT の属性

属性 タイプ 指定できる値 デフォルト 説明

SIM_DNA_VALUE 57 ビッ ト ベクタ

すべての 57 ビッ ト ベクタ

すべて 0 シ ミ ュレーシ ョ ン用の DNA 値を指定 (実際の値

は、 使用するデバイスに特有)

Page 272: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

274 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 13 章 : コンフ ィギュレーシ ョ ンに関連する プリ ミテ ィブ

Page 273: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 275UG332 (v1.4) 2008 年 7 月 1 日

概要

第 14 章

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

概要

Spartan®-3 ジェネレーシ ョ ン FPGA はシステム内で再プログラムできるため、 一部のアプリ ケー

シ ョ ンでは、通常動作中に 1 つまたは複数のビッ ト ス ト リームで FPGA を再読み込みします。 この

方法によ り、複数回再プログラム可能な 1 つの小型 FPGA が、よ り大型で高価な ASIC または 1 度しかプログラムできない FPGA の代替とな り ます。

通常動作中の FPGA の再プログラムには、 さまざまな方法があ り ます。 ダウンロードによるコン

フ ィギュレーシ ョ ン モード (18 ページの図 1-2 参照) では、その性質から、この機能が提供されます。

プロセッサ、 マイ クロコン ト ローラ、 コンピュータまたはテスタなどの外部 「インテ リジェン ト デバイス」 を介して、 FPGA は何度でも再プログラムできます。 ダウンロード モードはすべての

Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リで使用可能です。

Spartan-3E および Spartan-3A/3AN/3A DSP FPGA ファ ミ リでは、FPGA が付属の外部メモ リから

ビッ ト ス ト リームを選択して再プログラムおよび再読み込みするマルチブート という新機能を導入

しています。

マルチブート機能では、 FPGA の制御下において、 FPGA アプリ ケーシ ョ ンは 2 つ以上の FPGAビッ ト ス ト リームを読み込むこ とができます。 FPGA アプリ ケーシ ョ ンは、 マルチブート動作を ト

リガし、FPGA を異なるコンフ ィギュレーシ ョ ン ビッ ト ス ト リームから リ コンフ ィギュレーシ ョ ン

します。 表 14-1 に示すよ うに、Spartan-3E のマルチブート機能と、Spartan-3A/3AN/3A DSP FPGAのマルチブート機能には違いがあ り ます。

マルチブート動作が一旦ト リガされる と、FPGA は通常通り コンフ ィギュレーシ ョ ン プロセスを再

実行します。 FPGA がコンフ ィギュレーシ ョ ン メモ リ を初期化している間に INIT_B ピンは Lowをパルスし、 DONE 出力はマルチブート動作が完了するまで Low に維持されます。

Spartan-3E FPGA アプリ ケーシ ョ ンの詳細は、 265 ページの 「Spartan-3E の マルチブート」 を、

Spartan-3A/3AN/3A DSP FPGA アプリ ケーシ ョ ンの詳細は、 273 ページの 「Spartan-3A/3AN/3ADSP のマルチブート」 を参照して ください。

Spartan-3 ジェネレーション FPGA ファ ミ リ間のマルチブートのオプション比較

表 14-1 に、Spartan-3 ジェネレーション FPGA ファ ミ リ間におけるマルチブートの主要な相違点をまと

めます。 マルチブート機能は、 Spartan-3E および Spartan-3A FPGA ファ ミ リでのみ使用できます。

Page 274: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

276 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

表 14-1 : Spartan-3 ジェネレーシ ョ ン FPGA ファ ミ リにおけるマルチブートのオプシ ョ ン

Spartan-3 Spartan-3E Spartan-3A/3ANSpartan-3A DSP

アプリ ケーシ ョ ンの複雑性

マルチブート モードは

Spartan-3 FPGA ファ ミ リでは

使用不可

シンプル

さらに複雑な一方で、 よ

り高性能かつ柔軟性が

高い

パラレル NOR フラ ッシュを使用した BPI モー

ドでのマルチブートあ り あ り

SPI シ リ アル フラ ッシュを使用した SPI モー

ドでのマルチブートなし あ り

インシステム フラッシュ メモリからのマルチ

ブートなし Spartan-3AN のみ(1)

異なる コンフ ィ ギュレーシ ョ ンモード間での

マルチブートなし あ り

マルチブートが複数 FPGA コンフ ィギュレー

シ ョ ン デイジー チェーンをサポート

なし。 単体の FPGA のみ

あ り

FPGA アプリ ケーシ ョ ンによるマルチブート

の ト リガ方法

STARTUP プリ ミ ティ

ブでの MBT 入力

ICAP プリ ミティブ、

JTAG インターフェイス、

スレーブ シリアル、

スレーブ パラレル (SelectMAP) インターフェ

イスへのコマンドシーケ

ンスを介して ト リガ

マルチブート コンフ ィギュレーシ ョ ン ビッ ト

ス ト リームの 大数

2 (パラレル フラ ッ

シュの 上位および

下位)

コンフ ィギュレーシ ョ ン メモ リの容量でのみ制限

される

ビ ッ ト ス ト リームの開始位置およびア ド レス

指定の方向

アドレス 0 からアドレ

スを イ ン ク リ メ ン ト 、

PROM の 上位アド

レスからアドレスをデ

ク リ メン ト

いかなるバイ ト位置でも

可能。 常にアドレスを

インク リ メン ト

初のマルチブート ビッ ト ス ト リームの位置 M0 モード ピンで制御

0 = アドレス 0

1 = PROM の 上位

アドレス

常にアドレス 0

FPGA アプリ ケーシ ョ ンによるマルチブート

の開始アドレスの指定

なし (常にパラレル フラ ッシュの 上位およ

び 下位)あ り

マルチブート 動作にエラーが発生した場合、コ

ンフ ィギュレーシ ョ ン ウォ ッチド ッグ タイマ

がアドレス 0 から FPGA を自動的にリ コン

フ ィギュレーシ ョ ン

なし あ り

メモ : 1. インシステム フラ ッシュからのコンフ ィギュレーシ ョ ン後にマルチブート を使用する場合の制限の詳細は、 Spartan-3AN エラ ッ タを参

照して ください。

Page 275: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 277UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3E の マルチブート

Spartan-3E の マルチブート

FPGA は、パラレル フラ ッシュ PROM の一方の終端から BPI モードでコンフ ィギュレーシ ョ ンし

た後でマルチブート イベン ト を ト リガでき、パラレル フラ ッシュ PROM のも う一方の終端から リ

コンフ ィギュレーシ ョ ンします。 マルチブートは、 BPI モード使用時に、単一の Spartan-3E FPGAを用いるアプリ ケーシ ョ ンでのみ使用できます。マルチブートは複数 FPGA コンフ ィギュレーシ ョ

ン デイジー チェーンをサポート していません。

デフォルトでは、 マルチブート機能は無効です。 アプリ ケーシ ョ ンでマルチブート機能を使用する

場合は、 初に 255 ページの「スタートアップ (STARTUP)」 で述べる STARTUP_SPARTAN3E デザ

イン プリ ミ ティブを FPGA デザインに含める必要があ り ます。 マルチブート イベン ト を ト リ ガす

る場合は、 プリ ミ ティブへの MBT (MultiBoot Trigger) 入力に 短 300ns の Low パルスをアサー

ト します。 MBT 信号が Low パルスから High に戻ったと き、 FPGA は自動的にパラレル フラ ッ

シュ メモ リの反対側の終端から リ コンフ ィギュレーシ ョ ンします。

図 14-1 に、単純なマルチブートのデザイン例を図示します。 電源投入時、 FPGA は付属のパラレル

フラ ッシュ PROM から読み込みを実行します。 この例では、M0 モード ピンは Low であ り、FPGAはフラ ッシュのアドレス 0 からコンフ ィギュレーシ ョ ンを開始し、 PROM メモ リの 上位までイ

ンク リ メン ト します。 この例示する FPGA アプリ ケーシ ョ ンでは、 FPGA のコンフ ィギュレーシ ョ

ン完了後、FPGA ロジッ クを用いたボード レベルのテス ト またはシステム テス ト を実行します。 テス トが問題なく完了した場合に FPGA は、 マルチブート イベン ト を ト リガし、 フラ ッシュ PROMメモ リの反対側の終端から リ コンフ ィギュレーシ ョ ンします。 この場合はアドレス 0xFFFF から開

始します。 FPGA は実際にアドレス 0xF_FFFF から開始しますが、 この例では 上位の 4 アドレス

ビッ ト A[23:20] は PROM に接続していません。 FPGA は 2 つ目のコンフ ィギュレーシ ョ ン ビッ ト

ス ト リームのアドレスを指定します。 この例では、ビッ ト ス ト リームに通常動作向けの FPGA アプ

リ ケーシ ョ ンが含まれています。

同様に、 2 つ目の FPGA アプリ ケーシ ョ ンは、ほかのマルチブート イベン ト を随時ト リガでき、ア

ドレス 0 からの診断デザインの再読み込みを実行します。

FPGA ビッ ト ス ト リームに読み込まれた 初のデザインに、 後に外部と通信して新しい FPGA コン

フィギュレーショ ン ビッ ト ス ト リームを検証する 「基準値」 または 「フェイル セーフ」 コンフィギュ

レーショ ン ビッ ト ス ト リームが含まれるアプリケーショ ンも考えられます。 コンフィギュレーショ ン

図 14-1 : 1メガバイ トのパラレル フラッシュ PROM を使用した Spartan-3Eマルチブート アプリケーシ ョ ンの例

GSR

GTS

MBT

CLK

STARTUP_SPARTAN3E

0

0xFFFFF

GeneralFPGA

Application

DiagnosticsFPGA

Application

1Mbyte Parallel PROM

> 300 ns

User Area

0

0xFFFFF

GeneralFPGA

Application

DiagnosticsFPGA

Application

User Area

First Configuration Second Configuration

Reconfigure

DS332_c14_01_082006

1Mbyte Parallel PROM

MultiBootTrigger

pulse fromapplication

Page 276: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

278 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

の新規改訂があり、新しいビッ ト ス ト リームの検証結果に問題がない場合は、「基準値」のコンフィギュ

レーショ ンがマルチブート イベン ト を ト リガし、 新しいビッ ト ス ト リームを読み込みます。

マルチブート イベン トが ト リガされた場合、 第 5 章「マスタ BPI モード」 に記載するよ うに、FPGAはコンフ ィギュレーシ ョ ン ピンを再駆動しますが、 PROG_B ピンはアサート しません。 システム

デザインは、 リ コンフ ィギュレーシ ョ ン プロセス中にほかのデバイスがこれら と同じピンで駆動し

ないこ とを確実にする必要があ り ます。 FPGA の DONE、 LDC[2:0]、 または HDC ピンは、 リ コン

フ ィギュレーシ ョ ン中に競合する ド ライバを一時的に無効にするために使用できます。

マルチブート機能よ り も PROG_B ピンを Low にアサートするこ とが優先され、これによ り、141 ペー

ジの表 5-2 に示すモード ピンによって指定されたメモリの終端から強制的に FPGA のリ コンフィギュ

レーショ ンを開始します。

iMPACT を使用した Spartan-3E マルチブート PROM ビッ トス ト リームの生成

iMPACT は GUI を使用し、手順を追ってマルチブート PROM ファ イルを作成します。同様の機能

が、図 14-10 に示す PROMGen ツールを使用し、コマンド ラインまたはスク リプ ト を介して使用で

きます。 iMPACT を使用し、次に示す手順に従ってマルチブート PROM ファ イルを作成します。 この手順では、 図 14-1 に示すよ うなアプリ ケーシ ョ ンを例に想定しています。

1. iMPACT を起動します。

2. [Prepare a PROM File] を選択します (図 14-2)。

3. [Next] をク リ ッ ク します。

4. [PROM Supporting Multiple Design Revisions] を選択します (図 14-3)。

図 14-2 : PROM ビッ トス ト リームの準備

2

3

UG332_c14_04_112906

Page 277: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 279UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3E の マルチブート

5. [Spartan3E Multiboot] を選択します。

6. [PROM File Format] でファイル形式を選択します。 MCS 形式はさまざまなプログラマでサ

ポート されていますが、 ほかのオプシ ョ ンも使用可能です。

7. [PROM File Name] にファイル名を入力します。

8. [Next] をク リ ッ ク します。

9. [Initial Boot Direction] を選択します。 これは、 初のコンフィギュレーション ビッ ト ス ト リーム

が読み込まれる位置です。 初の位置は BPI モード ピンの設定によって異なります (図 14-4)。

図 14-3 : Spartan-3E FPGA のマルチブートをサポートする PROM を選択

UG332_c14_03_112906

4 5

7

8

6

Page 278: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

280 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

10. [Next] をク リ ッ ク します。

11. パラレル PROM の集積度を [Select the Parallel PROM Density (Bytes)] にバイ トで選択します

(図 14-5)。

12. [Add] をク リ ッ クして、手順 11 で指定した PROM の集積度を使用します。Spartan-3E マルチブー

ト モードでは、PROM は 1 つのみ使用可能です。 また、PROM 集積度は、PROM アドレスの 上

位を決定します。

13. [Next] をク リ ッ ク します。

14. iMPACT は、 現在の設定の概要を示します。 [Finish] をク リ ッ ク します (図 14-6)。

図 14-4 : 初のマルチブート ビッ トス ト リームにおけるコンフ ィギュレーシ ョ ンの方向選択

図 14-5 : PROM のサイズの選択およびデザインへの追加

UG332_c14_05_112906

9

10

UG332_c14_06_112906

1112

13

Page 279: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 281UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3E の マルチブート

15. 電源投入時または PROG_B 入力が Low にパルスされた場合に 初に読み込まれるデザインの

FPGA コンフィギュレーショ ン ビッ ト ス ト リームの選択を開始します (図 14-7)。

16. OS のファイル選択機能を用いて 初のビッ ト ス ト リームを選択します。 このビッ ト ス ト リー

ムは、 手順 9 で指定した 初の PROM 位置に読み込まれます。

17. [Open] をク リ ッ ク します。

図 14-6 : PROM の設定を確定

UG332_c14_07_112906

14

図 14-7 : 初に読み込まれるマルチブート コンフ ィギュレーシ ョ ン ビッ トス ト リーム

UG332_c14_08_081906

15

16

17

Page 280: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

282 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

18. iMPACT は 2 つ目のマルチブート コンフ ィギュレーシ ョ ン ビッ ト ス ト リームを選択するダイ

アログを表示します (図 14-8)。

19. BIT ファ イルを 2 つ目のビッ ト ス ト リームに選択します。

20. [Open] をク リ ッ ク します。

21. iMPACT は、 必要なファイルがすべて選択されたこ とを示します。

22. iMPACT は FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム ファ イルが PROM に占める割

合を示します。 [Generate File] をダブル ク リ ッ ク します (図 14-9)。

図 14-8 : 2 つ目に読み込まれるマルチブート コンフ ィギュレーシ ョ ン ビッ トス ト リームの選択

UG332_c14_09_082006

18

19

20

21

Page 281: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 283UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3E の マルチブート

23. iMPACT は、 手順 6 で指定したファイル形式および拡張子で、 手順 7 で指定した名前を用いて

PROM ファ イルの生成を完了します。 ファ イルは、 現在のフォルダに作成されます。 また、

「PROMGen レポート ファイル」 も作成されます。

PROMGen レポート ファイル

iMPACT は、 PROMGen コマンド ライン プログラムを使用して PROM ファ イルを作成します。

PROMGen は、 図 14-10 に示すよ うに拡張子が *.prm のレポート ファ イルを作成します。

図 14-9 : 設定されたパラメータで PROM ファイルを生成

UG332_c14_10_082006

2322

Page 282: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

284 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

次に示す数字は、 図 14-10 の数字に対応しています。

1. PROMGen はコマンドライン プログラムであり、指定されたファイル形式を用いて PROM プログ

ラ ミング ファイルを生成します。

2. さまざまなファイル形式があります。 Intel MCS 形式は頻繁に使用されるオプションの 1 つです。

3. ベースとなる出力ファイルの名前です。 選択したファイル形式によって拡張子が異なり ます。

4. 上記の例では、 初のマルチブート ファ イルは BPI Up モードで読み込まれています。したがっ

て、 このファ イルはアドレス 0 から開始します。

5. 2 つ目のマルチブート ファ イルはメモ リの反対側の終端から読み込まれているので、 この場合

は PROM の 上位アドレスから開始し、 下位方向に読み込まれていきます。

6. PROM の容量はキロバイ ト (K) で指定します。 例では、 PROM は 1 メガバイ ト (1024 キロバ

イ ト ) です。

7. 初のマルチブート ビッ ト ス ト リームの読み込みは、 PROM のアドレス 0 から開始し、 16 進数のアドレス 0x4547F で終了します。

8. 2 つ目のマルチブート ビッ ト ス ト リームの読み込みは、PROM の 上位アドレスから開始しま

す。1 メガ バイ トの PROM では、このアドレスは 16 進数で示すと 0xFFFFF とな り ます。ビッ

ト ス ト リームは下位方向に読み込まれ (アドレスのデク リ メン ト )、 16 進数のアドレス

0xBAB80 で終了します。

ザイリンクス Platform Flash PROM を使用した Spartan-3E マルチブート

Spartan-3E マルチブート機能は主に汎用パラレル NOR フラ ッシュ PROM を利用するために設計

されましたが、 ザイ リ ンクスのパラレル Platform Flash PROM (XCFxxP PROM ファ ミ リ ) も使用

できます。 製品名の 後の 「P」 はパラレルのバージ ョ ンを示します。 詳細は、 XAPP483 を参照し

て ください。

• XAPP482 : 『Platform Flash PROM でマルチブート 』

http://japan.xilinx.com/support/documentation/application_notes/xapp483.pdf

図 14-10 : PROMGen レポート ファイル (*.prm)

UG332_c14_11_082006

PROMGEN: Xilinx Prom Generator I .32Copyright (c) 1995-2006 Xilinx, Inc. All rights reserved .

promgen -w -p mcs -c FF -o MyMultiBootPROM -u 0 first_multiboot_image.bit-d fffff second _multiboot_image.bit -s 1024

PROM MyMultiBootPROM .prm

Calculating PROM checksum with fill value ff

Format Mcs 86 (32-bit)Size 1024KPROM start 0000:0000PROM end 000f:ffffPROM checksum 07515767

Addr1 Addr2 Date File(s)0000:0000 0004:547f Aug 18 22:38:14 2006 first_multiboot_image.bit000f:ffff 000b:ab80 Aug 18 22:37:07 2006 second_multiboot_image.bit

1 2 3 4

56

7

8

Page 283: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 285UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3A/3AN/3A DSP のマルチブート

Spartan-3A/3AN/3A DSP のマルチブート

マルチブートは Spartan-3A FPGA 以降で拡張および機能強化され、 高い柔軟性と機能性を提供し

ています。

• Spartan-3E FPGA では 2 つのビッ ト ス ト リームのみがサポート されているのに対し、

Spartan-3A/3AN/3A DSP のマルチブートでは、複数の FPGA ビッ ト ス ト リームをサポート してい

ます。

• サポート される FPGA ビッ ト ス ト リームの 大数は、 コンフ ィギュレーシ ョ ン PROM の容量

またはアドレス ビッ トの総数によって制限されます。

♦ BPI モードでは、 大 26 アドレス ビッ ト をサポート し、 この場合、 大アドレスは 64 メガバイ ト (512Mb) とな り ます。

♦ SPI モードでは、 大 24 アドレス ビッ ト をサポート し、 この場合、 大アドレスは 16 メガバイ ト (128Mb) とな り ます。

♦ Spartan-3A/3AN/3A DSP ビッ ト ス ト リームは、FPGA ごとに約 0.5M から 11.5Mb の範囲

内にあ り ます (デバイスのロジッ ク集積度に依存)。

• Spartan-3A/3AN/3A DSP FPGA では、異なるコンフィギュレーション モード間でのマルチブート

が可能です。 たとえば、 FPGA は 初に BPI モードを用いてパラレル フラッシュからコンフィ

ギュレーショ ンでき、 その後、 マスタ SPI モードを用いて SPI シリアル フラッシュに格納された

コンフィギュレーショ ン ビッ ト ス ト リームをマルチブートできます。 Spartan-3AN FPGA のエン

ジニアリング サンプルで、 内部 SPI フラッシュからコンフィギュレーション後にマルチブート機

能を使用する場合の制限の詳細は、 Spartan-3AN エラッタを参照してください。

• 初のコンフ ィギュレーシ ョ ン ビッ ト ス ト リームは、コンフ ィギュレーシ ョ ン モードに関わら

ず常にアドレス 0 に位置します。

• 後続のマルチブート ビッ ト ス ト リームはメモ リ内の任意の位置に置く こ とができますが、バイ

ト位置に整合させます。 これにはいくつかの制限があ り ます。

♦ FPGA がコンフ ィギュレーシ ョ ン前に DCM (デジタル ク ロ ッ ク マネージャ ) のロ ッ クを

待機する場合は、 この待機時間のために、 ビッ ト ス ト リーム間に適切なパディングが必要

とな り ます。 パディングされた領域にはデータを含めるこ とができますが、 有効なコン

フ ィギュレーシ ョ ン同期ワードは含めるこ とができません。

♦ 各ビッ ト ス ト リームは、付属フラ ッシュ メモ リ デバイスのセクタまたはページのバウンダ

リに整合されるこ とがあ り ます。

• 内蔵されたコンフ ィギュレーシ ョ ン ウォ ッチ ド ッグ タイマが、 無効なコンフ ィギュレーシ ョ

ン ビッ ト ス ト リームでのマルチブート動作の停止を防止します。

♦ ウォ ッチ ド ッグ タイムアウ ト時間までに同期ワードが検出されない場合、 FPGA は自動

的にデフォルトの 初のコンフ ィギュレーシ ョ ン ビッ ト ス ト リームに戻り、読み込みを再

実行します。

後続のマルチブート コンフ ィギュレーシ ョ ン アドレスの指定

初の FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームは、 モードに関わらず、 常に付属のコン

フ ィギュレーシ ョ ン PROM のアドレス 0 から読み込まれます。マルチブート動作では、FPGA アプ

リ ケーシ ョ ンが、 後続のマルチブート コンフ ィギュレーシ ョ ン ビッ ト ス ト リームのアドレスを 読み込む方法が 2 つあ り ます。

1. 固定された、既知のアドレス : デザイン時に後続のアドレスが指定済みかつ既知の場合は、後

続のマルチブート アドレスは、 BitGen の next_config_addr オプシ ョ ンを用いて現在の

Page 284: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

286 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

FPGA ビッ ト ス ト リーム内部にあらかじめ読み込み可能です。 パラレル NOR フラ ッシュ アド

レスまたは SPI シ リ アル フラ ッシュ アドレスは 7 文字の 16 進数で指定できます。

next_config_addr = 0x0000000

2. 可変または算出されたアドレス : FPGA の ICAP_SPARTAN3A デザイン プリ ミ ティブにコマ

ンド シーケンスを書き込むこ とで、FPGA アプリ ケーシ ョ ンは、後続のマルチブート ビッ ト ス

ト リームのアドレスを提供できます。

マルチブート ビッ トス ト リーム間に必要なデータ スペーシング

Spartan-3A/3AN/3A DSP マルチブートのアドレス指定は柔軟であ り、ビッ ト ス ト リームは、任意の

バイ ト バウンダ リから開始できます。 しかし、 アプリ ケーシ ョ ン要件に基づく、 実質的な制限がい

くつかあ り ます。

フラ ッシュ セクタ、 ブロック、 またはページ バウンダリ

Spartan-3A/3AN/3A DSP FPGA は、 外部フラ ッシュ PROM からマルチブート コンフ ィギュレー

シ ョ ン ビッ ト ス ト リームを読み込みます。 すべてのフラ ッシュ PROM には、 メモ リ をセクタ、 ブ

ロ ッ ク、またはページに分ける内部メモ リ アーキテクチャがあ り ます。 ほぼすべての PROM に複数

のセクタがあ り ます。 一部のアーキテクチャでは、 セクタをよ り小型のブロ ッ クや、 さ らに小型の

ページに分割する、 よ り細かいメモ リの細分化を提供しています。

理想的には、Spartan-3A/3AN/3A DSP のマルチブート コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム

はセクタ、ブロ ッ ク、またはページ バウンダ リにそろえる必要があ り ます。 この要件は、フラ ッシュ

PROM のアーキテクチャによって異なり ます。 フラ ッシュ PROM で 小の消去可能なエレ メン ト

がセクタである場合、FPGA をセク タ バウンダ リにそろえます。 この手法によ り、PROM 内のほか

のビッ ト ス ト リームに影響を与えるこ とな く、1 つの FPGA ビッ ト ス ト リームの更新が可能となり

ます。

DCM_WAIT に必要な追加のメモリ スペース

Spartan-3A/3AN/3A DSP アプリ ケーシ ョ ンには 1 つまたは複数の DCM (デジタル ク ロ ッ ク マネージャ ) が含まれるこ とがあ り ます。 各 DCM は、 FPGA がコンフ ィギュレーシ ョ ン プロセスを

終了する前に、 コンフ ィギュレーシ ョ ン中に DCM が入力クロ ッ ク周波数を取得してそれにロ ッ ク

するまで FPGA が待機するオプシ ョ ン設定を提供します。 Spartan-3A/3AN/3A DSP データシート

で指定されているロ ッ ク時間は、 DCM モードおよび入力クロ ッ ク周波数によって異なり ます。

コンフ ィギュレーシ ョ ン完了前に FPGA が 1 つまたは複数の DCM のロ ッ クを待機している場合

でも、 FPGA のコンフ ィギュレーシ ョ ン コン ト ローラは後続の同期ワードの検索を継続します。 2つの隣接するマルチブート ビッ ト ス ト リームが連続して配置された場合、 初の FPGA ビッ ト ス ト

リームが DCM_WAIT オプシ ョ ンが設定された DCM を含んでいる と、コンフ ィギュレーシ ョ ンに

問題が発生するこ とがあ り ます。 現在のコンフ ィギュレーシ ョ ン完了前にコン ト ローラが 2 つ目の

FPGA ビッ ト ス ト リームにある同期ワードを検出する と、 コン ト ローラは 2 つ目のビッ ト ス ト リー

ムからデータの読み出しを開始します。 しかし、FPGA のコンフ ィギュレーシ ョ ン ロジッ クは、2 つ目のビッ ト ス ト リームのデータを読み出したと しても、 現在のコンフ ィギュレーシ ョ ンを完了する

こ とがあ り ます。

注意 : DCM に DCM_WAIT オプシ ョ ンを使用する FPGA アプリ ケーシ ョ ンでは、 Spartan-3A/3AN/3A DSP マルチブート コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム間に適切なスペー

スを確保する必要があ り ます。

メモ リ内でマルチブート ビッ ト ス ト リーム間に適切なスペースを置く と、FPGA では 2 つ目の同期

ワードが検出されません。 次に考慮すべき点を述べます。

Page 285: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 287UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3A/3AN/3A DSP のマルチブート

• FPGA アプリ ケーシ ョ ンで DCM_WAIT オプシ ョ ンが使用されているかど うか確認してくだ

さい。 この問題は、 DCM_WAIT=TRUE の場合のみ発生します。

• 使用されている DCM 出力を確認してください。 データシートにはロ ッ ク時間の仕様が 2 つあ

り ます。 LOCK_DLL は DCM (CLK0、 CLK90、 CLK180、 CLK270、 CLK2X、 CLK2X180、CLKDV) からの DLL 出力のロッ ク時間を指定し、 LOCK_DFS は DFS 出力 (CLKFX、

CLKFX180) のロッ ク時間を指定します。

• 指定されたロ ッ ク時間は、 入力周波数によっても異なり ます。 DLL および DFS の両仕様を考

慮して ください。 入力周波数が 15MHz 以下の場合、 長ロ ッ ク時間は 5ms です。

• ビッ ト ス ト リーム間のスペースはビッ ト ス ト リーム内の BitGen の ConfigRate オプシ ョ ン設定

およびその ConfigRate 設定で決定する CCLK の 大周波数によって異なり ます。

• 必要なスペーシング ビッ ト数はコンフ ィギュレーシ ョ ン モードによって異なり ます。 SPI フラ ッシュ モードでは 1 ク ロ ッ ク サイクルで 1 ビッ ト受信し、 BPI モードでは 1 ク ロ ッ ク サイ

クルで 8 ビッ ト (1 バイ ト ) 受信します。

Spartan-3A マルチブート アプリ ケーシ ョ ンは、 DCM_WAIT オプシ ョ ンが TRUE に設定され

た DCM が少なく と も 1 つある FPGA ビッ ト ス ト リームを含みます。 FPGA アプリ ケーシ ョ ン

は DCM からの DLL 出力を使用します。 DCM への 入力クロ ッ ク周波数は 33MHz です。 デー

タシートに記載されている 15MHz よ り も高速な DCM ク ロ ッ クのロ ッ ク時間仕様

(LOCK_DLL) は、 600ms です。 FPGA ビッ ト ス ト リームの ConfigRate オプシ ョ ンは 25 に設

定されています。DS529 : 『Spartan-3A FPGA ファ ミ リ データシート 』 による と、ConfigRate:25に設定する と、 CCLK 周期は 45ns 以下にはなり ません。 マルチブート アプリ ケーシ ョ ン は、

SPI シ リアル フラ ッシュからコンフ ィギュレーシ ョ ンします。

600ms のロ ッ ク時間を 45ns の CCLK 周期で分割する と、 13,334 ク ロ ッ ク サイクルになり ま

す。 SPI モードの FPGA は、 各クロ ッ ク サイ クルで 1 ビッ ト受信します。 したがって、 これら

の条件下では、2 つのマルチブート コンフ ィギュレーシ ョ ン ビッ ト ス ト リームは、 メモ リ内で

13,334 ビッ ト以上離れて配置される必要があ り ます。

パラレル フラ ッシュから FPGA がコンフ ィギュレーシ ョ ンされた場合、 FPGA は 1 ク ロ ッ ク

サイ クルで 8 ビッ ト受信します。したがって、アプリ ケーシ ョ ンは 2 つのコンフ ィギュレーシ ョ

ン ビッ ト ス ト リーム間を 13,334 バイ ト (106,672 ビッ ト ) 以上離す必要があ り ます。

2 つのコンフィギュレーション ビッ ト ス ト リーム間のメモリのスペーシングは、 244 ページの表 12-3に示す有効な Spartan-3A コンフィギュレーショ ン ワード以外であれば、任意のデータを含むこ とがで

きます。 または、 2 つのビッ ト ス ト リーム間に 0xFF でプログラムされたスペースを空け、 プログラム

されていないフラッシュの位置と同じ状態にします。

マルチブート コマンド シーケンス (ICAP の例)次の手順は、ICAP デザインプ リ ミ ティブを用いて FPGA アプリ ケーシ ョ ン内からマルチブート コンフ ィギュレーシ ョ ン イベン ト を初期化するのに必要です。 また、マルチブート イベン トは JTAG、

スレーブ シ リ アル、 またはスレーブ パラレル (SelectMAP) インターフェイスを介した場合も発行

できます。 次に示すビッ ト シーケンスは ICAP インターフェイス用ですが、 同様の一般的なアプ

ローチはほかのインターフェイスにも適用されます。

注意 : ザイ リ ンクスでは、 D0 を MSB ( 上位ビッ ト ) と しています。 しかし、 ほかの規則で

は、 データ ビッ ト D7 が MSB である場合があ り ます。 アプリ ケーシ ョ ンでは、 インターフェ

イスに書き込まれたデータを調整するか、 インターフェイスへのワイヤの接続を反転して ICAP インターフェイスに正しい値が書き込まれているこ とを確認してください。

Page 286: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

288 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

デザインの仕様

• BitGen の ICAP_Enable:Auto または ICAP_Enable:Yes オプシ ョ ン設定を用い、マルチブートの

機能に必要な FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームで ICAP インターフェイスを

有効にします。

注意 : ICAP インターフェイスは、 初のコンフ ィギュレーシ ョ ンが EOS (End of Startup) サイクルを含むスタート アップを完了するまで使用できません。 コンフ ィギュレーシ ョ ン完了

後、 ICAP マルチブート シーケンス開始前に数クロ ッ ク サイクル間待機してください。 詳細

は、 第 12 章 の 「スタートアップ」 を参照してください。

• デザイン時に後続のアドレスが固定されていて既知の場合は、 BitGen の next_config_addr オプ

ションを設定して GENERAL1 および GENERAL2 レジスタをデフォルト値であらかじめ読み込

みます。

FPGA アプリケーシ ョ ンの動作時

• 同期開始ワードを ICAP インターフェイスに発行します。

• FPGA アプリ ケーシ ョ ンが後続のマルチブート コンフ ィギュレーシ ョ ン開始アドレスを算出

する場合、ICAP を介して後続マルチブート コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの開始

アドレスで GENERAL1 および GENERAL2 レジスタを読み込みます。

• オプシ ョ ン : 異なるコンフ ィギュレーシ ョ ン ソースから再起動するには、MODE_REG レジス

タに適切な値を書き込みます。 詳細は、289 ページの 「マルチブート コンフィギュレーショ ン メモリの種類の切り替え」 を参照して ください。

• CMD レジスタに REBOOT コマンドを 発行します。

• ICAP インターフェイスに No Op コマンドを発行します。

コンフィ ギュレーショ ン中にあらかじめ読み込まれたアド レスからのマルチブート

表 14-2 に、マルチブート イベン ト を初期化するコマンドシーケンスを示します。 こ こでは、次の点

を想定しています。

• GENERAL1 および GENERAL2 レジスタは、 コンフィギュレーション中に BitGen の

next_config_addr オプションを介してあらかじめ読み込まれます。

• 後続のマルチブート アドレスは、FPGA のコンフ ィギュレーシ ョ ンで使用されたのと同一のメ

モ リ内か、 後のマルチブート 動作中に使用されたのと同じ メモ リ内にあ り ます。

各 16 ビッ ト コマンドは、 ICAP インターフェイスに 2 バイ ト (高位バイ ト を 初に、下位バイ ト を

次に表示) で書き込まれます。 D0 は、ICAP インターフェイスでは MSB ( 上位バイ ト ) であ り、ほ

とんどのプロセッサとは順序が反転しています。

表 14-2 : あらかじめロード されたアドレスからマルチブート をインスタンシエートするコマンド シーケンス

CLK サイクル

コマンド

高位バイ ト

または

下位バイ ト

D0 D1 D2 D3 D4 D5 D6 D7 16 進数

1SYNC WORD

高位 1 0 1 0 1 0 1 0 0xAA

2 下位 1 0 0 1 1 0 0 1 0x99

3 タイプ 1、 CMD に書き込み

(1 ワード )高位 0 0 1 1 0 0 0 0 0x30

4 下位 1 0 1 0 0 0 0 1 0xA1

Page 287: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 289UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3A/3AN/3A DSP のマルチブート

FPGA アプリケーシ ョ ンで指定されたアドレスへの マルチブート

表 14-3 に、 FPGA アプリ ケーシ ョ ンが、 後続のマルチブート ビッ ト ス ト リームのアドレスを 指定

する例を示します。 この例は SPI シ リ アル フラ ッシュ向けです。 GENERAL2 レジスタ (CLK サイ

クルの 9 および 10) に書き込まれるビッ トの定義が少し異なり ますが、 パラレル NOR フラ ッシュ

はこの例に類似しています。

各 16 ビッ ト コマンドは、 ICAP インターフェイスに 2 バイ ト (高位バイ ト を 初に、下位バイ ト を

次に表示) で書き込まれます。 D0 は、ICAP インターフェイスでは MSB ( 上位バイ ト ) であ り、ほ

とんどのプロセッサとは順序が反転しています。

表 14-3 に示すシーケンスでは 20 の手順を用いており 、結果と して CLK サイクルおよびメ モリ 位置

が 20 ずつあり ます。 次の簡単な変更を加えると シーケンスを CLK の 12 サイクルに短縮できます。

• 後続のマルチブート アドレスを 16 ビッ ト (64K) バウンダ リにそろえ、 BitGen のnext_config_addr:00000000 オプシ ョ ンを設定して GENERAL1 レジスタのコンテンツを

0x0000 にあらかじめ割り当てます。 後続のマルチブート アドレスは、その後 GENERAL2 レジ

スタに書き込むこ とで単一で選択可能になり ます。 これによ り、 CLK サイクル 3 ~ 6 の 4 ステップが省略されます。

• 後続のマルチブート アドレスを同じ PROM に保存します。 たとえば、 SPI シ リアル フラ ッ

シュからブートする場合、FPGA は後で同じ SPI フラ ッシュ内の後続のマルチブートにジャン

プします。 これによ り、 CLK サイクル 11 ~ 14 の 4 ステップが省略されます。

5REBOOT コマンド

高位 0 0 0 0 0 0 0 0 0x00

6 下位 0 0 0 0 1 1 1 0 0x0E

7No Op

高位 0 0 1 0 0 0 0 0 0x20

8 下位 0 0 0 0 0 0 0 0 0x00

表 14-2 : あらかじめロード されたアドレスからマルチブート をインスタンシエートするコマンド シーケンス (続き)

CLK サイクル

コマンド

高位バイ ト

または

下位バイ ト

D0 D1 D2 D3 D4 D5 D6 D7 16 進数

表 14-3 : 指定されたアドレスからマルチブート をインスタンシエートするコマンド シーケンス

CLK サイクル

コマンド

高位バイ ト

または

下位バイ ト

D0 D1 D2 D3 D4 D5 D6 D7 16 進数

1SYNC WORD

高位 1 0 1 0 1 0 1 0 0xAA

2 下位 1 0 0 1 1 0 0 1 0x99

3 タイプ 1、 GENERAL1 に書き込み

(1 ワード )

高位 0 0 1 1 0 0 1 0 0x32

4 下位 0 1 1 0 0 0 0 1 0x61

5 マルチブート アドレスの

下位 16 ビッ ト

高位 A15 A14 A13 A12 A11 A10 A9 A8

6 下位 A7 A6 A5 A4 A3 A2 A1 A0

Page 288: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

290 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

SelectMAP を使用したマルチブートICAP は、 SelectMAP インターフェイスの内部複製です。 つま り、 SelectMAP インターフェイスを使用したマルチブートのコマンド シーケンスは、 ICAP インターフェイス と同じです。SelectMAP インターフェイスへのいかなる書き込みに対しても、 CS_B/CSI_B および RDWR_B を制御する必要があ り ます。 ABORT を避けるこ とが重要です。 ABORT は CS_B/CSI_B がアサート されている と きに RDWR_B が ト グルされる場合にト リガされます。

スレーブ シリアルを使用したマルチブートシーケンスが LSB から開始するこ とを除き、 スレーブ シ リ アル インターフェイスを用いたマルチブートのコマンド シーケンスは、 ICAP コマンド シーケンスと同じです。

JTAG を用いたマルチブートJTAG インターフェイスを用いたマルチブートで も簡単な手法は、 SVF ファ イル (XAPP503 : 『ザイ リ ンクス デバイス用 SVF および XSVF ファ イル フォーマッ ト 』 参照 ) を用いた手法です。コマンド シーケンスは ICAP のコマンド シーケンス と同じで、 CFG_IN 命令を使用してコンフ ィギュレーシ ョ ン メモ リにロードできます。 次に CFG_IN 命令の記述例を示します。

// MultiBoot command sequence//FFFF => ffff Dummy word shifted in first//AA99 => 1010 1010 1001 1001 => 1001 1001 0101 0101 => 9955 SYNC//30A1 => 0011 0000 1010 0001 => 1000 0101 0000 1100 => 850a Type 1 Write to CMD//000E => 0000 0000 0000 1110 => 0111 0000 0000 0000 => 7000 REBOOT command//2000 => 0010 0000 0000 0000 => 0000 0000 0000 0100 => 0004 NOOP

7 タイプ 1、 GENERAL2 に書き込み

(1 ワード )

高位 0 0 1 1 0 0 1 0 0x32

8 下位 1 0 0 0 0 0 0 1 0x81

9 マルチブート アドレスの上

位ビッ ト (SPI モードの例)高位 C7 C6 C5 C4 C3 C2 C1 C0

10 下位 A23 A22 A21 A20 A19 A18 A17 A16

11 タイプ 1、 MODE_REG に書き込み

(1 ワード )

高位 0 0 1 1 0 0 1 0 0x32

12 下位 1 0 1 0 0 0 0 1 0xA1

13 予約済み 高位 0 0 0 0 0 0 0 0 0x00

14 MODE_REGレジスタ 下位 0 NEW_MODE BOOTMODE 予約済み

15 タイプ 1、 CMD に書き込み

(1 ワード )高位 0 0 1 1 0 0 0 0 0x30

16 下位 1 0 1 0 0 0 0 1 0xA1

17REBOOT コマンド

高位 0 0 0 0 0 0 0 0 0x00

18 下位 0 0 0 0 1 1 1 0 0x0E

19No Op

高位 0 0 1 0 0 0 0 0 0x20

20 下位 0 0 0 0 0 0 0 0 0x00

表 14-3 : 指定されたアドレスからマルチブート をインスタンシエートするコマンド シーケンス (続き)

CLK サイクル

コマンド

高位バイ ト

または

下位バイ ト

D0 D1 D2 D3 D4 D5 D6 D7 16 進数

Page 289: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 291UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3A/3AN/3A DSP のマルチブート

//2000 => 0010 0000 0000 0000 => 0000 0000 0000 0100 => 0004 NOOP// Append the commands and put them into an SDR for CFG_IN// This will load the command sequence to config memory in the same way that the ICAP would// For SDR command, 24 hex characters: 24 x 4 = 96 bit shift// Loading device with a `cfg_in` instructionSIR 6 TDI (05);// Loads the instruction to the IR//SDR 96 TDI (0004 0004 7000 850a 9955 ffff) SMASK (ffff ffff ffff ffff ffff ffff ffff)SDR 96 TDI (000400047000850a9955ffff) SMASK (ffffffffffffffffffffffffffff);

マルチブート のレジスタ

通常、マルチブート アプリ ケーシ ョ ンには 3 つの ICAP レジスタがあ り ます。 後続のマルチブート

ビッ ト ス ト リームのアドレスは、 レジスタ GENERAL1 および GENERAL2 に格納されます。 これ

らは BitGen の next_config_addr オプシ ョ ンであらかじめ読み込み可能です。 マルチブート イベン

ト を ト リ ガするには、FPGA アプリ ケーシ ョ ンは CMD レジスタを用いて、REBOOT コマンドを発

行する必要があ り ます。

後続のマルチブート開始アドレス (GENERAL1、 GENERAL2)後続のマルチブート コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの開始アドレスは、GENERAL1 および GENERAL2 と呼ばれる 2 つの 16 ビッ トのレジスタに保存されます。 これらのレジスタは、

BitGen の next_config_addr オプシ ョ ンを使用した場合でもあらかじめ読み込み可能です。

GENERAL1 および GENERAL2 レジスタは、 マルチブート イベン ト中に初期化または変更されま

せん。

GENERAL1 レジスタは、 表 14-4 に示すよ うに後続のマルチブート アドレスの下位 16 ビッ ト を保

持します。

GENERAL2 レジスタのコンテキスト は、後続のマルチブート アド レスが外部パラレル NOR フラッ

シュ (BPI モード ) にあるか、 外部 SPI シリ アル フラッ シュ (SPI モード ) にあるかで異なり ます。

表 14-5 に示すよ うに、 BPI モードでの GENERAL2 レジスタは、 26 ビッ トの BPI アドレスの上位

10 ビッ ト を含みます。 レジスタの上位 6 ビッ トは予約されています。

表 14-6 に示すよ うに、 SPI モードでの GENERAL2 レジスタは、 24 ビッ トの SPI アドレスの上位

8 ビッ ト を含みます。 レジスタの上位 8 ビッ トは、付属の外部 SPI シ リ アル フラ ッシュ デバイス向

けのバイ ト幅の読み出しコマンドを含みます。

表 14-4 : GENERAL1 レジスタの定義

GENERAL1アドレス 01_0011 (0x13)

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

表 14-5 : BPI モード動作用の GENERAL2 レジスタの定義

GENERAL2アドレス 01_0100 (0x14)

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

— — — — — — A25 A24 A23 A22 A21 A20 A19 A18 A17 A16

Page 290: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

292 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

コマンド レジスタ (CMD)コンフ ィギュレーシ ョ ン コマンドは、 コンフ ィギュレーシ ョ ン ステート マシンの動作を制御しま

す。 表 14-7 に示すよ うに、 各コマンドは 5 ビッ トで構成されています。

マルチブート 動作では 1 つのコマンドのみが必要と されます。 これは、 REBOOT コマンドで、 バ

イナリでは 01110 です。

コンフ ィギュレーシ ョ ン モード レジスタ (MODE_REG)コンフィギュレーショ ン モード レジスタ MODE_REG は、 FPGA が後続のマルチブート ト リガ イベ

ン トに 用いるコンフィギュレーショ ン モードを決定します。 NEW_MODE ビッ トは、FPGA の M[2:0]ピンで定義された M[2:0] モード設定を FPGA が使用するかど うか、 または BOOTMODE ビッ トおよ

び GENERAL2 の読み出しコマンド ビッ トで指定された設定を使用するかど うかを決定します。

NEW_MODE = 1 を設定すると、 異なる種類の付属メモリに FPGA がマルチブート機能を使用できる

よ うになります。

表 14-8 に、 MODE_REG レジスタで使用できるビッ ト オプシ ョ ンを記載します。

表 14-6 : SPI モード動作用の GENERAL2 レジスタの定義

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

SPI フラ ッシュ読み出しコマンド 24 ビッ トの SPI 読み出しアドレスの上位バイ ト

C7 C6 C5 C4 C3 C2 C1 C0 A23 A22 A21 A20 A19 A18 A17 A16

表 14-7 : CMD レジスタの定義

CMDアドレス 00_0101 (0x05)

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

予約済み

REBOOT

コマンド

0 1 1 1 0

表 14-8 : MODE_REG ビッ ト オプシ ョ ン

MODE_REGアドレス 01_0101 (0x15)

名前 ビッ ト 説明デフォル

予約済み [15:7] 予約済み 0

NEW_MODE 6

0 : サンプル M[2:0] ピンおよび SPI モードでは VS[2:0] ピンでマルチブート コンフ ィギュレーシ ョ ン モードを決定

1 : BOOTMODE 値でマルチブート コンフ ィギュレーシ ョ

ンモードを決定。BOOTMODE が SPI モードに設定された

場合にどの SPI コマンドを発行するかをGENERAL2 で決

0

Page 291: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 293UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3A/3AN/3A DSP のマルチブート

iMPACT を使用した Spartan-3A/3AN/3A DSP マルチブート PROM ビッ トス ト リームの生成

メモ : Spartan-3AN については、217 ページの「インシステム フラッシュ プログラ ミング ファイルの

準備」 も参照して ください。

iMPACT は、 GUI を使用し、 手順を追ってマルチブート PROM ファ イルを作成します。 同様の機

能が、図 14-10 に示す PROMGen ツールを使用し、コマンド ラインまたはスク リプ ト を介して使用

できます。 iMPACT を使用し、次に示す手順に従ってマルチブート PROM ファ イルを作成します。

次の手順に従い、 iMPACT を使用して Spartan-3A/3AN/3A DSP マルチブート PROM ファ イルを

作成します。282 ページの図 14-11 に、次の例で使用される Spartan-3A/3AN/3A DSP マルチブート

デザインを図示します。

1. iMPACT を起動します。

2. [Prepare a PROM File] を選択します (図 14-3)。

BOOTMODE 5:3

後続マルチブート イベン トの M[2:0] コンフ ィギュレー

シ ョ ン モード セレク ト設定を定義。 NEW_MODE = 1 が必

要。 使用可能なオプシ ョ ンは 38 ページの表 2-1 に示す

FPGA モード ピン M[2:0] と同一

001(SPI)

予約済み 2:0 予約済み 111

表 14-8 : MODE_REG ビッ ト オプシ ョ ン

MODE_REGアドレス 01_0101 (0x15)

名前 ビッ ト 説明デフォル

図 14-11 : XC3S700A および SPI フラッシュを使用した Spartan-3A マルチブートの例

Spartan-3AFPGA

0123456789

101112131415

Initial Bitstream(Default)

Always at 0

16MbitSPI Flash

MultiBoot Bitstream 1

MultiBoot Bitstream 2

0x0

0x60000

0xC0000

Up

Up

Up

Bitstream Spacing• Flash sector boundary

alignment• Minimum spacing

requirements if DCM_WAIT=TRUE

(XC3S700A)

UG332_c14_19_082106

Page 292: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

294 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

3. [Next] をク リ ッ ク します。

4. [PROM Supporting Multiple Design Revisions] を選択します (図 14-13)。

図 14-12 : マルチブート PROM ビッ トス ト リームの準備

2

3

UG332_c14_04_112906

Page 293: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 295UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3A/3AN/3A DSP のマルチブート

5. [Spartan3A MultiBoot] を選択します。

6. [PROM File Format] でファイル形式を選択します。 MCS 形式はさまざまなプログラマでサ

ポート されていますが、 ほかのオプシ ョ ンも選択可能です。

7. [PROM File Name] にファイル名を入力します。

8. [Next] をク リ ッ ク します。

図 14-13 : Spartan-3A/3AN/3A DSP FPGA のマルチブートをサポートする PROM を選択

UG332_c14_12_082006

45

7

8

6

Page 294: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

296 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

9. SPI シ リ アル フラ ッシュまたは BPI モードを用いたパラレル NOR フラ ッシュどちらに対して

Spartan-3A/3AN/3A DSP マルチブート ビッ ト ス ト リームを作成するかを選択します (図14-14)。 この例では、 SPI PROM を使用します。

10. [Next] をク リ ッ ク します。

11. [Select SPI PROM Density] は常にビッ トで指定します (図 14-15)。 この例では、 16Mb のPROM を使用します。

12. 初期のマルチブート ビッ ト ス ト リームは常にアドレス 0 に位置します。

13. 追加のビッ ト ス ト リームを加えるには、 [Enable Data Stream] をオンにします。

14. 各マルチブート ビッ ト ス ト リームの開始アドレスを 16 進数で指定します。

図 14-14 : SPI またはパラレル フラ ッシュ PROM をサポート

図 14-15 : PROM 集積度の入力およびマルチブート ビッ トス ト リームの開始位置を指定

UG332_c14_13_082006

9

10

UG332_c14_14_082006

15

11

12

1413

Page 295: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 297UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3A/3AN/3A DSP のマルチブート

♦ FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームのサイズを確認します。また、ビッ ト ス

ト リームは単一の FPGA 向けか複数 FPGA のデイジーチェーン向けかを確認してくださ

い。 Spartan-3A/3AN/3A DSP FPGA はマルチブート使用時にデイジーチェーンをサポー

ト します。

♦ フラッシュ デバイスのページまたはセクタ バウンダリ は何か確認してく ださい。 理想的に

は、 FPGA ビッ ト スト リ ームはフラッシュのセクタ バウンダリ で開始する必要があり ます。

♦ FPGA アプリ ケーシ ョ ン の DCM (デジタル ク ロ ッ ク マネージャ ) で DCM_WAIT オプ

シ ョ ンを使用している場合は、 ビッ ト ス ト リーム間に追加のロ ッ ク時間に十分に対応でき

る追加のスペースがあるか確認します。

非圧縮の Spartan-3A XC3S700A FPGA コンフィギュレーショ ン ビッ ト ス ト リームには 2,732,640ビッ ト必要です。 この数字を 8 で分割するとバイ ト数 341,580 バイ トが算出されます。 この数字を

1,024 で分割すると、 キロバイ ト数 333.57 キロバイ トが算出されます。 Atmel 社の AT45DB161Dシリアル フラッシュは 128 キロバイ トのセクタを使用しています。 したがって、 単一の

XC3S700A コンフィギュレーション ビッ ト ス ト リームは 大 2.6 セクタまでを使用します。 初

のビッ ト ス ト リームは常にアドレス 0 から開始します。 後続の Spartan-3A/3AN/3A DSP マルチ

ブート ビッ ト ス ト リームは、 後続のフラッシュ セクタ バウンダリに配置される必要があります。

初のコンフィギュレーショ ン ビッ ト ス ト リームの後で、使用可能な後続のバウンダリは 16 進数

アドレス 0x60000 から開始します。 2 つ目のビッ ト ス ト リームをこのアドレスまたは後続する任

意のセクタ バウンダリに配置します。 ビッ ト ス ト リームが 0x60000 にある場合、 3 つ目のビッ ト

ス ト リームは 0xC0000 から開始します。

15. [Next] をク リ ッ ク します。

16. iMPACT は、 現在の設定の概要を示します (図 14-16)。 [Finish] をク リ ッ ク します。

図 14-16 : PROM の設定を確定

UG332_c14_15_082006

16

Page 296: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

298 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

17. 初の FPGA ビッ ト ス ト リームを追加します (図 14-17)。 これは、 FPGA の電源起動時、 また

は PROG_B ピンが Low にパルスされた場合に常に読み込まれるデザインです。 これは、 マル

チブート動作中に CWDT (コンフ ィギュレーシ ョ ン ウォ ッチ ド ッグ タイマ) が期限切れに

なった場合に自動的に読み込まれるデフォルトのビッ ト ス ト リームです。

図 14-17 : 初 (デフォルト ) のコンフ ィギュレーシ ョ ン ビッ トス ト リームの選択

UG332_c14_16_082106

1718

1920

Page 297: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 299UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3A/3AN/3A DSP のマルチブート

18. 初の FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームを選択します。

19. [Open] をク リ ッ ク します。

20. [No] をク リ ッ ク します。

21. 2 つ目の FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームに対して手順 17 から 20 を実行し

ます。

22. 3 つ目の FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームを追加します (図 14-18)。

図 14-18 : 3 つ目に読み込まれるマルチブート コンフ ィギュレーシ ョ ン ビッ トス ト リームの選択

UG332_c14_17_082106

2223

24

25

26

Page 298: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

300 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

23. 3 つ目の FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームを選択します。

24. [Open] をク リ ッ ク します。

25. [No] をク リ ッ ク します。

26. ファ イルの選択が完了しました。 [OK] をク リ ッ ク します。

27. iMPACT は FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム ファ イルが PROM に占める割

合を示します (図 14-19)。 [Generate File] をダブル ク リ ッ ク します。GG

28. iMPACT は、手順 6 で指定したファイル形式および拡張子で、手順 7 で指定した名前を用いて

PROM ファ イルの生成を完了します。 ファ イルは、 現在のフォルダに作成されます。 また、

「PROMGen レポート ファイル」 も作成されます。

コンフ ィギュレーシ ョ ンのフォールバックSpartan-3A、 Spartan-3AN、 および Spartan-3A DSP ファ ミ リには、 コンフ ィギュレーシ ョ ンがエラーになる と自動的に 「フォールバッ ク」 し、 コンフ ィギュレーシ ョ ンを再開するロジッ クが含まれています。 これらの機能は、 「ラ イブ」 でフラ ッシュを更新する機能を FPGA に含める場合 ( 特にフ ィールドで更新されるアプリ ケーシ ョ ンなどのマルチブート アプリ ケーシ ョ ンでの更新エラー回避 ) に有益です。 次の 2 つのイベン トがデバイス フォールバッ クの原因となる可能性があり ます。

1. コンフ ィギュレーシ ョ ン同期 ワード AA99 の出現前のタイムアウ ト ( フォールバッ クは常に有効 )

2. CRC エラー ( フォールバッ クはオプシ ョ ンで有効にできる )

図 14-19 : 設定されたパラメータで PROM ファイルを生成

UG332_c14_18_082106

2728

Page 299: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 301UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ンのフォールバック

CWDT (コンフ ィギュレーシ ョ ン ウォッチド ッグ タイマ) およびフォールバッグ

Spartan-3A/3AN/3A DSP FPGA には、CWDT (コンフ ィギュレーシ ョ ン ウォッチド ッグ タイマ) が含まれています。 CWDT は、 次のよ うな誤ったコンフ ィギュレーシ ョ ン動作を防止します。

• 無効な開始位置へのコンフ ィギュレーシ ョ ンまたはマルチブート動作

• 有効な開始位置へのコンフ ィギュレーシ ョ ンまたはマルチブート動作で、 無効なビッ ト ス ト

リームを読み込んだ場合

CWDT は 16 ビッ トのカウンタで、CCLK コンフ ィギュレーシ ョ ン ク ロ ッ ク信号によってクロ ッ ク

されます。 どのよ うな FPGA コンフ ィギュレーシ ョ ン動作においても (電源投入、PROG_B パルス、

またはマルチブート イベン トからの場合でも )、 CCLK ク ロ ッ クは も低い ConfigRate 設定 (約1MHz) から動作を開始します。 CWDT は、コンフ ィギュレーシ ョ ン開始後、64 キロバイ トのクロ ッ

クサイ クル (約 65ms) で時間切れになり ます。

マルチブート 動作中に、 CWDT が時間切れになる前に FPGA が有効な同期ワードを検出できない場合、 FPGA は自動的にアドレス 0 に位置するデフォルトの ビッ ト ス ト リームにフォールバッ クします。 FPGA はデフォルトのビッ ト ス ト リームから自動的にリ コンフ ィギュレーシ ョ ンし、 SPI コンフ ィギュレーシ ョ ン モードを使用している場合は、 適切な SPI フラ ッシュ読み出しコマンドを再送します。

CRC エラーおよびフォールバック

同様に、 Spartan-3A/3AN/3A DSP FPGA は、 マルチブート動作から正しい同期ワードを保有する

ビッ ト ス ト リームに回復できますが、この場合、後で CRC エラーが発生します。 この様な例と して、

後続のマルチブート ビッ ト ス ト リームの一部のみがフラ ッシュに書き込まれた場合が挙げられま

す。BitGen の Reset_on_err:Yes オプシ ョ ンを設定する と、 FPGA は自動的に初期化を再実行し、

初のコンフ ィギュレーシ ョ ンをアドレス 0 で再実行しますが、 CRC エラーが発生します。

Reset_on_err:Yes ビッ ト ス ト リーム オプシ ョ ンは、 後続のビッ ト ス ト リームの先頭に含まれるこ とに留意して ください。 同期ワードのパターンが検出されたにも関わらず、 データが破損しているために Reset_on_err:Yes ビッ ト ス ト リーム オプシ ョ ンが確認できない場合は、 デバイスはフォールバッ ク しませんが、 INIT_B がコンフ ィギュレーシ ョ ン エラーを示し、 リ コンフ ィギュレーシ ョ ンを待機します。

フォールバックは 3 回まで可能

BPI および SPI モード では、リ コンフィ ギュレーショ ンがエラーと なってフォールバッ クが 3 回実行

されると 、FPGA は 4 回目のエラーで停止し、 INIT_B ピンが Low に駆動されます。 PROG_B ピンを

パルスするか電源を再投入すると コンフィ ギュレーショ ン プロセスが 初から再実行されます。

エラーとなったコンフ ィギュレーシ ョ ンを ト ラ ッキングしていたカウンタは、PROG_B がパルスさ

れたと きか、 電源が再投入されたと きにのみリセッ ト します。 コンフ ィギュレーシ ョ ンの完了後は

リセッ ト されません。 FPGA は、 初のデザインが良い場合はコンフ ィギュレーシ ョ ンを停止しま

すが、 マルチブート ビッ ト ス ト リームが悪い場合は、 マルチブート を 4 回実行してからコンフ ィ

ギュレーシ ョ ンを停止します。 SPI または BPI モードを介してコンフ ィギュレーシ ョ ンをしている

場合で、BitGen の Reset_on_err:Yes オプシ ョ ン使用時には、成功したコンフ ィギュレーシ ョ ンとエ

ラーになったコンフ ィギュレーシ ョ ンのいかなる組み合わせでも、 その期間に関わらず、 コンフ ィ

ギュレーシ ョ ンが 4 回エラーとなった後で停止します。 リ コンフ ィギュレーシ ョ ンには PROG_Bのアサート または電源の再投入が必要です。 必要であれば、PROG_B をアサート してコンフ ィギュ

レーシ ョ ンを リセッ トできるよ うにしておく と便利です。

Page 300: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

302 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

高度な機能

マルチブート コンフ ィギュレーシ ョ ン メモリの種類の切り替え

Spartan-3A/3AN/3A DSP マルチブート機能は、コンフ ィギュレーシ ョ ン モード間 (異なる種類の外

部メモ リ ) にジャンプする高度な機能も提供しています。 たとえば、 Spartan-3A/3AN/3A DSPFPGA アプリ ケーシ ョ ンは、 初は SPI シ リ アル PROM からコンフ ィギュレーシ ョ ンでき、 その

後パラレル NOR フラ ッシュの指定された位置からマルチブート を実行できます。

図 14-20 に示すよ うに、 マルチブート イベン ト中には、 Spartan-3A/3AN/3A DSP の内部コンフ ィ

ギュレーシ ョ ン コン ト ローラがどの FPGA コンフ ィギュレーシ ョ ン モードを実行するかが決定し

ます。 FPGA は、M[2:0] モード セレク ト ピンに物理的に定義されたモード セレク ト値を デフォル

トで使用します。 同様に、FPGA のモード ピンがマスタ SPI フラ ッシュ モードに指定されている場

合は、コン ト ローラは関連する FPGA ピンによって定義された変数セレク ト値 VS[2:0] に作用する

読み出しコマンドを使用します。

しかし、 MODE_REG レジスタで制御ビッ トに NEW_MODE = 1 を設定する と、内部コンフ ィギュ

レーシ ョ ン コン ト ローラは BOOTMODE ビッ トで指定されたコンフ ィギュレーシ ョ ン モードを

使用します。マスタ SPI フラ ッシュ モードを指定するのに BOOTMODE = 001 である場合、コン ト

ローラは、 GENERAL2 レジスタの上位バイ ト [15:8] で指定された読み出しコマンドを使用し、

GENERAL2 の残りの下位バイ ト レジスタは、24 ビッ トのマルチブート アドレスの上位 8 ビッ ト を

供給します。BPI フラ ッシュ モードを指定するのにBOOTMODE = 010 である場合、GENERAL2 レジスタの下位 10 ビッ トが 、26 ビッ ト BPI マルチブート アドレスの上位 10 ビッ ト とな り ます。い

ずれの場合も、 GENERAL1 レジスタがマルチブート アドレスの下位 16 ビッ ト を供給します (273ページの 「後続のマルチブート コンフィギュレーション アドレスの指定」 参照)。

Page 301: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 303UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ンのフォールバック

図 14-20 : Spartan-3A/3AN/3A DSP マルチブート コンフ ィギュレーシ ョ ン モードの制御

M2 M1 M0 131415

M2

M1

M0

VS2

VS1

VS0

0

1

0

1

BOOTMODE GENERAL2

[7:0]

M[2:0]

SPI Read Command

FPGA Mode Select

Internal Configuration Controller

NEW_MODE

FPGA

Va

rian

t S

ele

ct P

ins

Mo

de

Se

lect

Pin

s

UG332_c14_02_110507

0 = From Pins1 = From Mode Register

8

ReadCmdLookup

Page 302: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

304 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

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

Page 303: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 305UG332 (v1.4) 2008 年 7 月 1 日

基本的な FPGA ハードウェア レベルのセキュリテ ィ オプシ ョ ン

第 15 章

FPGA デザインの保護

プロセッサと同様に、 Spartan®-3 ジェネレーシ ョ ン FPGA は、 コンフ ィギュレーシ ョ ン情報 (すな

わちアプリ ケーシ ョ ン プログラム) を外部メモ リ ソースから受信します。 外部インターフェイスが

露出しているため、プロセッサ コードおよび FPGA ビッ ト ス ト リームはコピーおよび複製に対して

脆弱です。

プロセッサとは異なり、FPGA アプリ ケーシ ョ ンには、単純な 「 リバース アセンブラ」 があ り ませ

ん。 プロセッサには、 定義済みの固定された命令セッ トおよび命令長があ り、 プロセッサ向けのリ

バース アセンブラをわかりやすいタスクにしています。 しかし、FPGA デザイン全体を リバース エンジニア リ ングし、 人が理解できる形に変換するのは大変困難です。 FPGA コンフ ィギュレーシ ョ

ン ビッ ト ス ト リームには、 何百万もの相互関係を持つビッ トが含まれています。 さ らに、 ザイ リ ン

クスのビッ ト ス ト リーム形式は専用かつ機密です。

FPGA ビッ ト ス ト リームのリバース エンジニア リ ングは困難ですが、 内在する機能を理解せずに、

FPGA ビッ ト ス ト リームを直接コピーするこ とは、比較的単純です。 本章では、デザインを複製から

守り、 さ らに FPGA にインプ リ メン ト された IP (知的財産) コアを保護するために使用可能で低コ

ス ト なソ リ ューシ ョ ンについて説明します。

本章には、 次のデザインセキュ リティに関する ト ピッ クが含まれています。

• 305 ページの 「基本的な FPGA ハードウェア レベルのセキュ リティ オプシ ョ ン」

• 308 ページの 「デザイン セキュ リティの手法」

• 310 ページの 「Spartan-3A/3AN/3A DSP 固有のデバイス識別子 (Device DNA)」

• 313 ページの 「認証デザイン例」

• 322 ページの「FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム プログラムの米国における法

的保護」

基本的な FPGA ハードウェア レベルのセキュリテ ィ オプシ ョ ン

Spartan-3 ジェネレーシ ョ ン FPGA は、リードバッ ク と呼ばれる機能によ り、高度なデバッグ機能を

提供しています。 同様に、通常、FPGA ではすべてのコンフ ィギュレーシ ョ ン動作にアクセスできま

す。 しかし、 セキュ リ ティが重要視されるアプ リ ケーシ ョ ンでは、 特に JTAG を介した リードバッ

ク機能およびコンフ ィギュレーシ ョ ン動作が、 攻撃されるポイン トになる恐れがあ り ます。

しかし、 FPGA ビッ ト ス ト リームには、 コンフ ィギュレーシ ョ ンおよびリードバッ ク動作に対する

アクセスを制限するオプシ ョ ンがあ り ます。 デフォルトでは制限はなく、 JTAG ポートは常にアク

ティブで、 コンフ ィギュレーシ ョ ンおよびリードバッ クにアクセス可能な状態となっています。

SelectMAP コンフ ィギュレーシ ョ ン インターフェイスも リードバッ クの実行に使用できます。 こ

のインターフェイスは、デフォルトでは無効であ り、BitGen の Persist:Yes オプシ ョ ンを設定しない

限り有効にはなり ません。

Page 304: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

306 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 15 章 : FPGA デザインの保護

コンフ ィギュレーシ ョ ン済みの FPGA のセキュ リティ設定を解除する方法は、 PROG_B をアサー

トするか、 電源を再投入して FPGA プログラムを初期化するこ とです。

Spartan-3 および Spartan-3E のセキュリテ ィ レベル

表 15-1 に Spartan-3 および Spartan-3E FPGA で使用可能なセキュ リティ レベルを示します。

Spartan-3A/3AN/3A DSP FPGA では、表 15-2 に示すよ うにセキュ リ ティ レベルが 1 つ追加されて

います。

t

Spartan-3A/3AN/3A DSP のセキュリテ ィ レベル

Spartan-3A/3AN/3A DSP FPGA では、表 15-2 に示すよ うにセキュ リ ティ レベルが 1 つ追加されて

います。リードバッ ク機能は、オプシ ョ ンで完全に無効にするか、ICAP (内部コンフ ィギュレーシ ョ

ン アクセス ポート ) を介した FPGA アプリ ケーシ ョ ンからの内部アクセス以外の機能を無効にで

きます。

ビッ トス ト リーム内でのセキュリテ ィ レベルの設定

ビッ ト ス ト リーム内でのセキュ リティ レベルの設定方法は 2 つあ り、 ISE® ソフ ト ウェア ProjectNavigator、 または BitGen コマンド ライン ツールから設定します。

ISE ソフ トウェア Project NavigatorFPGA ビッ ト ス ト リームにセキュ リティ レベルを設定します (図 15-1)。

表 15-1 : Spartan-3 および Spartan-3E のセキュリテ ィ レベル

セキュリテ ィ レベル

説明

なしデフォルト。 コンフ ィギュレーシ ョ ンおよびリードバッ クの全機能へのアク

セスに制限なし

Level1 SelectMAP または JTAG ポートの一方から、 リードバッ クの全機能を無効に

する

Level2 すべてのコンフ ィギュレーシ ョ ンおよび JTAG ポートから、 コンフ ィギュ

レーシ ョ ンおよびリードバッ クの全機能を無効にする

表 15-2 : Spartan-3A/3AN/3A DSP BitGen のセキュリテ ィ レベル

セキュリテ ィ レベル

説明

なしデフォルト。 コンフ ィギュレーシ ョ ンおよびリードバッ クの全機能へのアク

セスに制限なし

Level1SelectMAP または JTAG ポートの両方から、 リードバッ クの全機能を無効に

する。 ICAP (内部コンフ ィギュレーシ ョ ン アクセス ポート ) を介した リード

バッ クのみ許可

Level2 すべてのポートで リードバッ クの全機能を無効にする

Level3 すべてのコンフ ィギュレーシ ョ ンおよび JTAG ポートから、 コンフ ィギュ

レーシ ョ ンと リードバッ クの全機能を無効にする

Page 305: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 307UG332 (v1.4) 2008 年 7 月 1 日

基本的な FPGA ハードウェア レベルのセキュリテ ィ オプシ ョ ン

1. [Generate Programming File] を右ク リ ッ ク します。

2. [Properties] をク リ ッ ク します。

[Process Properties] ダイアログ ボッ クスで、 次のオプシ ョ ンを設定します (図 15-2)。

3. [Readback Options] カテゴ リ を選択します。

4. [Security] でアプリ ケーシ ョ ンの要件に 適なセキュ リティ レベルの値を選択します。

図 15-1 : ISE Project Navigator からの BitGen オプシ ョ ンの設定

2

1

UG332_c1_04_120306

図 15-2 : BitGen のセキュリテ ィ オプシ ョ ン

4

3

5

UG332_c16_07_0918

Page 306: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

308 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 15 章 : FPGA デザインの保護

BitGen コマンド ライン ツール

セキュ リティ オプシ ョ ンは、 次に示す BitGen コマンド ラインを用いた場合でも使用できます。

表 15-1 または表 15-2 に使用可能なセキュ リ ティ オプシ ョ ンを Spartan-3 ジェネレーシ ョ ン FPGAファ ミ リ ごとに記載します。表 15-3 には、ISE Project Navigator を使用して入力したオプシ ョ ンと

BitGen コマンド ライン オプシ ョ ンの関連性を示します。 リードバッ クを無効にするコマンド ライ

ンの例を次に示します。

bitgen -g Security:Level1 [remaining options]

デザイン セキュリテ ィの手法

表 15-4 に概要を示すよ うに、ザイ リ ンクス プログラマブル ロジッ ク デバイスには、 さまざまなデ

ザイン セキュ リ ティの手法が組み込まれています。 ザイ リ ンクスは、 それぞれの製品ファ ミ リでこ

れらの各セキュ リティ オプシ ョ ンを導入しています。

Spartan-3 ジェネレーシ ョ ン FPGA では、認証と呼ばれる新しいオプシ ョ ンを導入し、これについて

は本章全体を通して説明します。

表 15-3 : ISE Project Navigator および BitGen オプシ ョ ンの関連性

値Spartan-3/

Spartan-3E FPGA

Spartan-3A/3ANSpartan 3A DSP

FPGA

リードバッ クおよび リ コンフ ィ ギュレーシ ョ ンを

有効にする (デフォルト )なし なし

リードバッ クを無効にする Level1 Level1

リードバッ クおよび リ コンフ ィ ギュレーシ ョ ンを

無効にする

Level2 Level3

表 15-4 : プログラマブル ロジック セキュリテ ィ オプシ ョ ンの比較

セキュリテ ィ ビッ ト 暗号化 デザイン認証

セキュ リティ オプシ ョ ンを使用するザイ

リ ンクス製品ファ ミ リザイ リ ンクス CPLD

Virtex®-II、 Virtex-II Pro、 Virtex-4、 Virtex-5

FPGA

Spartan-3A/3AN/3A DSP FPGA

(Spartan-3/3E FPGA に類似モードあ り )

保護された後で、 ビッ ト ス ト リームまたは

プログラ ミ ング ファ イルは表示されるかいいえ

いいえ。 暗号化された

形になる

はい。 認証されたシステ

ム以外で使用不可

セキュ リティの手法はビッ ト ス ト リーム (デザイン) にセキュ リティを提供するか

はい はい はい

認証されていないか、 暗号化されていない

ビッ ト ス ト リームが FPGA に読み込まれた

場合の対応不適用

コンフ ィギュレーシ ョ

ンしない

動作は FPGA アプリ

ケーシ ョ ンで指定

( 「認証エラーを扱う方

法」 参照)

セキュ リ テ ィの手法にアプ リ ケーシ ョ ン

データを保護するオプシ ョ ンがあるかいいえ いいえ はい

Page 307: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 309UG332 (v1.4) 2008 年 7 月 1 日

デザイン セキュリテ ィの手法

セキュリテ ィ ビッ ト

シンプルなマイクロコン ト ローラ と同様に、複雑な PLD (CPLD) デザインは、チップ上の不揮発性

メモ リにプログラムされます。 CPLD およびマイ クロコン ト ローラは通常、セキュ リ ティ ビッ ト ま

たは内部メモ リ アレイをロ ッ クするビッ ト を提供し、 アレイの読み出しを防止します。 アレイを

ロ ッ クするこ とで、 デザインが簡単にコピーされてしま う こ とを防ぎます。

暗号化

一部の FPGA では、 ビッ ト ス ト リームの暗号化を導入しています。 基本的に暗号化は外部ビッ ト ス

ト リームにスク ランブルをかけ、 ビッ ト ス ト リームを復号化する正しい 「キー」 を含む FPGA に読

み込まれなければ、それを使用できないよ うにします。 暗号化に使用される回路は、通常、FPGA では専用の内蔵ファンクシ ョ ンで、貴重なシ リ コン スペースを使用してします。 これは、暗号化機能

を使用しないアプリ ケーシ ョ ンにおいても同様です。

ザイ リ ンクスの Virtex、Virtex-II Pro、Virtex-4、および Virtex-5 FPGA ファ ミ リにはバッテ リのバッ

クアップがあるので、 暗号化は大変安全である と考えられています。

内蔵された暗号回路は FPGA ビッ ト ス ト リームのみを保護し、通常、コンフ ィギュレーシ ョ ン後に、

アプリ ケーシ ョ ン データは保護しません。

暗号化の主なデメ リ ッ トはキーの管理およびキーの分配です。

認証

デザイン認証はも う 1 つのセキュ リティ手法であ り、 さまざまなアプリ ケーシ ョ ンで幅広く使用さ

れています。 認証は、 セキュ リ ティ ビッ トおよび暗号化を使用する手法とはまったく異なり ます。

次に、 認証機能を使用する日常的なアプリ ケーシ ョ ンの例を示します。

• ATM を使用する場合、銀行のカードを挿入し、暗証番号によ り ID を認証します。 銀行用のカー

ドが盗難された場合でも、 暗証番号がなければ使用できません。

• コンピュータ ネッ ト ワークにログオンする場合、 ログイン名およびパスワードを入力します。

パスワードによ り、 ID 認証がなされます。 第三者が利用者のアカウン トでネッ ト ワークにアク

セスするには、 ログイン名とパスワードを知っている必要があ り ます。

• ザイ リ ンクス ISE 開発ソフ ト ウェアを含む多くのソフ ト ウェア プログラムでは、コンピュータ

上で動作する前に承認番号の入力が要求されます。 DVD のコピーは自由ですが、承認番号を入

力してロ ッ クを解除した場合のみ使用できます。

認証が理想的に効果を発揮するには、 次の 2 つの基本的な性質を持つ ID または認証コードが必要

です。

1. 固有のものであるこ と

2. 複製、 コピーが困難であるこ と

セキュ リ テ ィの手法は、 「デジタル著作権

管理」 を提供するオプシ ョ ンを提供するかいいえ いいえ はい

技術的な制限チップ上に大容量の不揮

発性メモリが必要キーの管理

FPGA アプリ ケーシ ョ

ンにデザイン認証のた

めのロジッ クが必要

表 15-4 : プログラマブル ロジック セキュリテ ィ オプシ ョ ンの比較 (続き)

セキュリテ ィ ビッ ト 暗号化 デザイン認証

Page 308: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

310 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 15 章 : FPGA デザインの保護

これらの要素のうち 1 つにでも弱点があると、 セキュ リティは危険にさらされます。 たとえば、 ATMカードおよび暗証番号が第三者に盗まれた場合、お金は盗まれたも同然です。 暗証番号は一旦知られる

と、 簡単に覚えられ、 悪用されてしまいます。 これが、 生体認証への移行の理由の 1 つです。 単純な暗

証番号を盗むのは簡単ですが、 目の虹彩や指紋の複製は、 現在の技術では大変困難です。

Spartan-3A/3AN/3A DSP 固有のデバイス識別子 (Device DNA)各 Spartan-3A、 Spartan-3AN、 および Spartan-3A DSP FPGA には、 内蔵された固有のデバイス識

別子が含まれています。 識別子は不揮発性で、FPGA 内に恒久的にプログラムされており、変更不可

能なため、 改ざんされにく くなっています。

この識別子は Device DNA と呼ばれます。 FPGA アプリケーションは、 図 15-3 に示す 「Device DNAアクセス ポート (DNA_PORT)」 デザイン プリ ミティブを使用して、 識別子にアクセスします。

識別子の値

図 15-4 に示すよ うに、Device DNA の値の長さは 57 ビッ トです。2 つの MSB ( 上位ビッ ト ) は、

常に 「1」 および 「0」 です。 残りの 55 ビッ トは、Spartan-3A/3AN/3A DSP FPGA に固有の値です。

動作

図 15-4 に、DNA_PORT デザイン プリ ミ ティブの一般的な機能を示します。 はじめに、FPGA アプ

リ ケーシ ョ ンは、 図 15-3 に示す DNA_PORT プリ ミ ティブをデザイン内でインスタンシエートす

る必要があ り ます。

Device DNA を読み出すには、FPGA アプリ ケーシ ョ ンは 初に識別子の値を DNA_PORT 出力シ

フ ト レジスタに転送する必要があ り ます。 表 15-5 に示すよ うに、 CLK の立ち上がりエッジで

READ 入力をアサート します。 この動作によ り、57 ビッ トの識別子すべてを、出力シフ ト レジスタ

にパラレルに読み込みます。 識別子の56 番目のビッ トは常に 「1」 であるため、 DOUT 出力も 「1」にな り ます。 READ 動作は SHIFT 動作に優先します。

識別子の値の読み出しを継続するには、表 15-5 に示すよ うに CLK の立ち上がりエッジ前に SHIFTをアサート します。 この動作によ り、 出力シフ ト レジスタが内容を DOUT 出力にシフ ト します。

DIN 入力の値はシフ ト レジスタにシフ ト されます。

注意 : CLK が High の場合、 不正な内部クロ ッ ク エッジが発生するため、 SHIFT での Low から High への遷移を避けてください。 理想的には、 CLK が Low の場合か、 CLK の立ち下が

りエッジでのみ SHIFT をアサート して ください。

図 15-3 : Spartan-3A/3AN/3A DSP DNA_PORT デザイン プリ ミテ ィブ

UG332_C13_05_081406

DIN DOUT

DNA_PORT

READ

SHIFT

CLK

Page 309: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 311UG332 (v1.4) 2008 年 7 月 1 日

Spartan-3A/3AN/3A DSP 固有のデバイス識別子 (Device DNA)

READ および SHIFT が Low の場合、 出力シフ ト レジスタはその値を保持し、 DOUT は変更され

ません。

Spartan-3A スタータ キッ ト ボードには、 Device DNA の値を読み出す方法を示すデザイン例があ

り ます。

• Spartan-3A/3AN/3A DSP Device DNA リーダのデザイン例

japan.xilinx.com/products/boards/s3astarter/reference_designs.htm#dna_reader

インターフェイス タイ ミング

表 15-6 に、DNA_PORT デザイン プリ ミ ティブのインターフェイス タイ ミ ングを示します。 FPGAのスピード グレードに関わらず、 タイ ミ ングは同一です。 公式のタイ ミ ング値については、 通常通

り関連するデータシート を参照して ください。

図 15-4 : DNA_PORT の動作

5655540

0 155-bit unique device identifier (Device DNA)

Factory programmed, unchangeable

560DIN DOUT57-bit bit loadable shift register

READ=1

SHIFT=1

UG332_c15_01_110206

CLK

READ=0

表 15-5 : DNA_PORT の動作

動作 DIN READ SHIFT CLK シフ ト レジスタ DOUT

HOLD X 0 0 X 前回の値を保持 前回の値を保持

READ X 1 X ↑↑ 57 ビッ トの ID をパラレルに読み込み

識別子の 56 番目

のビッ トは常に

「1」

SHIFT DIN 0 1 ↑ DIN をビッ ト 0 にシフ ト し、 シフ ト レジス

タの内容を DOUT にシフ ト

シフ ト レジスタ

の 56 番目の

ビッ ト

メモ : X = don’t care↑= ク ロ ッ クの立ち上がりエッジ

表 15-6 : DNA_PORT インターフェイス タイ ミング

シンボル 説明 小 大 単位

tDNASSUCLK 立ち上がりエッジ前の SHIFT のセッ ト アップ

タイム1.0 – ns

tDNASH CLK 立ち上がりエッジ後の SHIFT のホールド タイム 0.5 – ns

tDNADSUCLK 立ち上がりエッジ前の DIN のセッ ト アップ タイム

1.0 – ns

Page 310: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

312 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 15 章 : FPGA デザインの保護

識別子のメモリ仕様

図 15-4 に、DNA 識別子メモ リの一般的な特性を示します。 固有の FPGA 識別子の値は、 ワース ト

ケースの推奨動作条件下での連続使用において、 短で 10 年間保持されます。 識別子は、表 15-5 に定義された READ 動作で読み出しできます。 読み出しは 小 3000 万サイクル実行され、 これは

Spartan-3A/3AN/3A DSP FPGA の動作寿命にあてはめる と、1 回の読み出し動作が約 11 秒ごとに

実行される計算になり ます。

拡張子の長さの延長

DNA_PORT プリ ミ ティブを使用するほとんどのアプリ ケーシ ョ ンでは、 図 15-5a に示すよ うに、

DIN データ入力をスタティ ッ ク値に固定します。 しかし、 ほかのオプシ ョ ンもあ り ます。

図 15-5b に示すよ うに、 DOUT シ リ アル出力ポート を DIN シ リ アル入力ポートに接続して識別子

の長さを延長できます。 この方法で、識別子は任意の長さまで延長できます。 しかし、固有のビッ ト

は 55 のみで、 それを含む 57 ビッ トのパターンが反復されます。

FPGA ロジッ ク リ ソースを使用して識別子に追加ビッ ト を付加できます。 図 15-5c に示すよ うに、

FPGA は、DNA_PORT DIN シ リ アル入力を介して、追加ビッ ト を挿入できます。 ロジッ ク リ ソー

スから提供される追加ビッ トは、追加の固定値、 または Device DNA で算出された変数の形をと り

ます。

tDNADH CLK 立ち上がりエッジ後の DIN のホールド タイム 0.5 – ns

tDNARSUCLK 立ち上がりエッジ前の READ のセッ ト アップ

タイム5.0 10,000 ns

tDNARH CLK 立ち上がりエッジ後の READ のホールド タイム 0 – ns

tDNADCKOCLK 立ち上がりエッジ後の DOUT の Clock-to-Output遅延

0.5 1.5 ns

tDNACLKF CLK 周波数 0 100 MHz

tDNACLKL CLK High 時間 1.0 • ns

tDNACLKH CLK Low 時間 1.0 • ns

表 15-6 : DNA_PORT インターフェイス タイ ミング (続き)

シンボル 説明 小 大 単位

表 15-7 : 識別子のメモリ特性

シンボル 説明 小 単位

DNA_RETENTION データ保持、 継続使用 10 年数

DNA_CYCLES 図 15-3 または JTAG ISC_DNA 読み出し

動作で定義された READ 動作の回数。

HOLD または SHIFT の影響を受けない

30,000,000 読み出し

サイクル

Page 311: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 313UG332 (v1.4) 2008 年 7 月 1 日

認証デザイン例

デバイス識別子への JTAG からのアクセス

FPGA の内部デバイス識別子および DIN 入力にシフ ト されたいかなる値も、ISC_DNA プリ ミ ティ

ブ コマンドを使用し、 JTAG ポート を介して読み出すこ とができます。 これは 1532 であるため、

ISC_DNA 命令が発酵される前に ISC_ENABLE がロード されている必要があ り ます。

図 15-4 に示す識別子の 56 番目のビッ トは、 デバイスが Shift-DR ステートに入ったと き、

ISC_DNA コマンドの直後に TDO JTAG 出力に送信されます。 JTAG コン ト ローラが Shift-DR スステートのままの状態で、残りの Device DNA ビッ トおよびレジスタへの入力データは順番にシフ

ト出力されます。

デバイス識別子への iMPACT からのアクセスISE 10.1 以降の iMPACT ソフ ト ウェアでも、 Device DNA の値を確認できます。 バッチ コマンド「readDna -p <position>」 を使用して、 FPGA から Device DNA を読み出し可能です。

認証デザイン例

認証は、 次に述べるよ うにアプリ ケーシ ョ ンの中でさまざまな形をと り ます。 これらの例の一部は

付属 PROM からコンフ ィギュレーシ ョ ンされ、 ほかは FPGA にダウンロード されます。

• 314 ページの「Spartan-3A/3AN/3A DSP FPGA : Device DNA によるコンフ ィギュレーシ ョ ン

PROM のインプ リ ンティングまたはウォーターマーキング」

• 315 ページの 「Spartan-3E FPGA : 汎用フラ ッシュ PROM のセキュ リティ機能を利用」

• 317 ページの 「Spartan-3A/3AN/3A DSP FPGA : ダウンロード されたデザインの認証」

• 318 ページの 「外部の保護された PROM を用いる FPGA デザインの認証」

図 15-5 : DIN 入力のオプシ ョ ン

DIN DOUT

DNA_PORT

READSHIFTCLK

DIN DOUT

DNA_PORT

READSHIFTCLK

a) Shift in constant b) Circular shift

c) Bitstream specific code UG332_c15_02_120106

DIN DOUT

DNA_PORT

READSHIFTCLK

Application Code

DIN DOUTREADSHIFTCLK

READSHIFT

CLK

Page 312: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

314 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 15 章 : FPGA デザインの保護

Spartan-3A/3AN/3A DSP FPGA : Device DNA によるコンフ ィギュレーシ ョ ン PROM のインプリンテ ィ ングまたはウォーターマーキング

図 15-6 に示す Spartan-3A/3AN/3A DSP FPGA は、マスタ コンフ ィギュレーシ ョ ン モードの 1 つを用い、 関連するコンフ ィギュレーシ ョ ン PROM からコンフ ィギュレーシ ョ ンします。 PROM には、FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームおよびあらかじめ作成された認証チェッ ク値

の両方が含まれます。 PROM には特別な機能は不要で、FPGA ビッ ト ス ト リームおよび認証チェッ

ク値を含むのに十分な容量のメモ リのみが必要です。 Spartan-3A/3AN/3A DSP FPGA には、内部に

固有の Device DNA 値があ り ます。

電源投入時、または PROG_B が Low にパルスされる と、FPGA は通常通り コンフ ィギュレーシ ョ

ンを実行します。

図 15-7 に示すよ うに、 FPGA アプリ ケーシ ョ ンの一部には、 PROM にプログラムされたビッ ト ス

ト リームが、 関連する Spartan-3A/3AN/3A DSP FPGA 上で動作する権限を与えられているか認証

する回路があ り ます。 実際には、 Device DNA および認証チェッ ク値は両方と も複数ビッ ト バイナ

リ値です。 しかし、わかりやすくするために、この例では値にシンボルを用いています。 この例では、

FPGA の Device DNA は「Blue」であ り、コンフ ィギュレーシ ョ ン PROM はチェッ ク値「Blueberry」でプログラムされています。

コンフ ィギュレーシ ョ ン終了後、 FPGA は PROM に含まれる値が FPGA アプリ ケーシ ョ ンの予測

値と一致するかチェッ ク します。 この例では、 FPGA は 「Blueberry」 が確実に 「Blue」 であるこ と

を認証します。PROM から読み込まれたビッ ト ス ト リームは認証され、FPGA アプリ ケーシ ョ ンで

は全動作が有効になり ます。

悪用を試みる第三者が認証された PROM のコンテンツ (図 15-7 参照) をコピーし、同様なサイズの

異なる Spartan-3A/3AN/3A DSP FPGA で使用した場合ど うなるでし ょ うか。 PROM 内のチェッ ク

図 15-6 : Spartan-3A/3AN/3A DSP FPGA が通常通りコンフ ィギュレーシ ョ ンを実行

図 15-7 : Spartan-3A/3AN/3A DSP FPGA による PROM データの Device DNA を用いた認証

Spartan-3A/3AN/3A DSP FPGA Configuration PROM

Device DNA

FPGA BitstreamFPGA Fabric

Authentication Check Value

UG332_c16_03_040107

UG332_c16_04_040107

Spartan-3A/3AN/3A DSP FPGA Configuration PROM

FPGA BitstreamFPGA ApplicationValid

PROM?

BlueberryBlue

OK

Page 313: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 315UG332 (v1.4) 2008 年 7 月 1 日

認証デザイン例

値が FPGA アプリ ケーシ ョ ンの予測値と一致しない場合、FPGA アプリ ケーシ ョ ンがこの認証され

ない PROM データの扱い方を決定します。 319 ページの「認証エラーを扱う方法」 に示すとおり、考

えられる筋書きは数多くあ り ます。 この例では、 FPGA アプリ ケーシ ョ ンが 「Bulueberry」 は

「Yellow」 ではないと判断したため、 PROM データはエラーとな り ます。

Spartan-3E FPGA : 汎用フラッシュ PROM のセキュリテ ィ機能を利用

Spartan-3A/3AN/3A DSP FPGA のみが、 内部の固有識別子機能をサポート します。 この機能は

Spartan-3 または Spartan-3E FPGA では使用できません。 しかし、 Spartan-3E および Spartan-3FPGA は、それぞれのデバイス ID の値を持つ汎用のフラ ッシュ PROM を用いた同様の認証手法を

サポート しています。表 15-8 にデバイスの例を示します。ほかにも このよ うなデバイスが存在する

可能性があ り ます。 識別子は、特定のフラ ッシュ PROM ファ ミ リ内で、通常は大型集積度のデバイ

スでのみ使用可能です。 識別子のサイズはベンダーおよび製品ファ ミ リによって 64 ビッ トから

256 バイ ト までと大き く異なり ます。 同様に、一部のデバイスには、固有の ID のサイズを拡張する

ために使用可能なユーザー定義のフ ィールドがあ り ます。

図 15-8 : 不正なコピーを使用した場合の認証のエラー

UG332_c16_06_040107

Spartan-3A/3AN/3A DSP FPGA Configuration PROM

FPGA BitstreamFPGA ApplicationValid

PROM?

BlueberryYellow

FAIL!

表 15-8 : 固有の識別子が内蔵されたフラッシュ PROM の例

ベンダー ファ ミ リ データ形式 容量固有の ID フ ィールド

ユーザー フ ィールド

STMicro (Numonyx) M29W パラレル 16Mb 以上 64 ビッ ト –

Spansion S29A パラレル 32Mb 以上256 バイ ト

(ESN) –

Atmel AT45DBxxxD シ リ アル すべて 64 バイ ト 64 バイ ト

Atmel AT45BV パラレル 8Mb 以上 64 ビッ ト 64 ビッ ト

Intel (Numonyx)

Embedded Flash

(J3 v. D)パラレル すべて 64 ビッ ト 64 ビッ ト

Intel (Numonyx) S33 シ リ アル すべて 64 ビッ ト

64 ビッ ト + 3,920 ビッ ト

Macronix MX29 パラレル 32Mb 以上

128 ワードまた

は 64 キロバイ

Page 314: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

316 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 15 章 : FPGA デザインの保護

図 15-9 に、Spartan-3E FPGA およびデバイス 識別子が内蔵された汎用フラ ッシュ PROM の認証例

を示します。 この例では、コンフ ィギュレーシ ョ ン PROM は、固有の識別子を含む必要があ り ます。

また、 PROM には、 このインプリ メンテーシ ョ ンで使用される、 FPGA コンフ ィギュレーシ ョ ン

ビッ ト ス ト リームおよび認証チェッ ク値も含まれます。

電源投入時、または PROG_B が Low にパルスされる と、FPGA は通常通り コンフ ィギュレーシ ョ

ンを実行します。

図 15-10 に示すよ うに、FPGA アプリ ケーシ ョ ンの一部には、PROM にプログラムされたビッ ト ス

ト リームに読み込み権限があるか認証する回路があ り ます。 PROM の Device ID および認証チェッ

ク値は両方と も複数ビッ ト バイナリ値です。 しかし、わかりやすくするために、 この例では値にシ

ンボルを用いています。 PROM のデバイス ID は 「Blue」 であ り、 コンフ ィギュレーシ ョ ン PROMはチェッ ク値 「Blueberry」 でプログラムされています。 フラ ッシュ ID およチェッ ク値 は、 実用に

耐え う る 大の大きさにする必要があ り ます。 ビッ ト数が多いと、 干渉に用いるデバイス、 または

FPGA 外の識別子およびチェッ ク値へのアクセスを阻止するデバイスを使用した第三者による攻

撃を妨ぐこ とができます。 干渉に用いるデバイスは、認証された PROM からの信号をまねます。 この手法には、追加コンポーネン ト と新しい PCBが必要で、適切な防御手段と しての更なる開発、お

よびコンポーネン トに関わるコス トが必要とな り ます。

FPGA の認証済みのアプリ ケーシ ョ ンが大きなデータ フ ィールドまたはチェッ ク値にアクセスす

る場合、介入に用いるデバイスにはよ り高い性能が求められ、結果と してよ り高価になり ます。 この

弱点は、FPGA 内部から安全にアクセスされる Spartan-3A/3AN/3A DSP の Device DNA のメ リ ッ

ト を際立たせます。

コンフ ィギュレーシ ョ ン終了後、 FPGA は PROM に含まれる値が FPGA アプリ ケーシ ョ ンの予測

値と一致するかチェッ ク します。 この例では、 FPGA は 「Blueberry」 が確実に 「Blue」 であるこ と

図 15-9 : 識別子を保有する汎用フラッシュ PROM を用いた Spartan-3E FPGA 認証例

図 15-10 : Spartan-3E FPGA が PROM のデバイス ID を用いて PROM データを認証

Spartan-3E FPGA Configuration PROM with Device ID

FPGA Bitstream

FPGA Fabric

Authentication Check Value

Device ID

UG332_c16_08_100406

UG332_c16_09_100406

Spartan-3E FPGA

FPGAApplication

ValidPROM?

Configuration PROM with Device ID

FPGA Bitstream

Blueberry

Blue

OK

Page 315: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 317UG332 (v1.4) 2008 年 7 月 1 日

認証デザイン例

を認証します。PROM から読み込まれたビッ ト ス ト リームは認証され、FPGA アプリ ケーシ ョ ンで

は全動作が有効になり ます。

Spartan-3E スタータ キッ ト ボードには、 この手法を示すデザイン例があ り ます。 同じ手法が

Spartan-3A、 Spartan-3AN、 Spartan-3A DSP FPGA にも適用されます。

• Spartan-3E FPGA の低コス ト なデザイン認証

japan.xilinx.com/products/boards/s3estarter/reference_designs.htm#authentication

Spartan-3A/3AN/3A DSP FPGA : ダウンロード されたデザインの認証

認証は FPGA デザインのダウンロード時にも機能します。 図 15-11 では、 マイ ク ロプロセッサ、 マ

イ ク ロコン ト ローラ、 または JTAG テスタなどのインテ リジェン ト ホス トが Spartan-3A/3AN/3ADSP FPGA にビッ ト ス ト リームをダウンロード しています。 ビッ ト ス ト リームはシステム内の任意

の場所 (ローカル メモ リ またはディ スク ド ラ イブのいずれか) に保存されるか、 あるいはネッ ト

ワーク接続を介して入手されます。 ダウンロード された FPGA アプリ ケーシ ョ ンには、 まだ完全に

認証されていませんが、 認証プロセスによ り部分的にサポート されています。

図 15-12 では、インテ リジェン ト ホス トが、FPGA ファブリ ッ クまたは FPGA JTAG ポート を介し

て FPGA の Device DNA 識別子を読み出します。 ホス トは Device DNA の値を用いて、認識チェッ

ク値をローカルで算出するか、 チェッ ク値を生成あるいは認証済みデバイスの一覧から値を検索す

る外部ホス トにアクセスします。

図 15-13 では、インテ リジェン ト ホス トは FPGA に認証チェッ ク値の結果を送り返しています。 その後、FPGA はこの値および Device DNA の値を使用してビッ ト ス ト リームを認証します。 認証さ

れる と、 FPGA アプリ ケーシ ョ ンの全動作が有効になり ます。

図 15-11 : インテリジェン ト ホストが Spartan-3A ビッ トス ト リームをダウンロード

図 15-12 : ホストが Device DNA を読み出し、 認証値を生成

Spartan-3A/3AN/3A DSP FPGA

Device DNA

FPGA Fabric

Intelligent Host

FPGA Bitstream

UG332_c16_11_040107

UG332_c16_12_040107

Authentication Check Value

Spartan-3A/3AN/3A DSP FPGA

FPGA Fabric

Intelligent Host

FPGA Bitstream

Device DNA

Page 316: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

318 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 15 章 : FPGA デザインの保護

外部の保護された PROM を用いる FPGA デザインの認証

認証の手法は、 外部の保護された PROM を用いるすべての FPGA で使用できます。 ザイ リ ンクス

では、図 15-14 に示す Dallas Semiconductor/Maxim 社の DS2432 SHA-1 Secure EEPROM を用い

た例を提供しています。 この手法はブロ ッ ク RAM を持つすべてのザイ リ ンクス FPGA ファ ミ リで

使用できます。

通常、 FPGA は、 コンフ ィギュレーシ ョ ン PROM からコンフ ィギュレーシ ョ ンします。 または、

FPGA ビッ ト ス ト リームはスレーブ コンフ ィギュレーシ ョ ン モードの 1 つを用いてダウンロード

できます。

FPGA アプリ ケーシ ョ ンは、外部 DS2432 secure EEPROM に通信する認証コアを含みます。 攻撃妨

害のためにランダムな数字および SHA-1 を使用して FPGA および EEPROM 間を認証します。 認

証がエラーになった場合、 FPGA アプリ ケーシ ョ ンは無効になり ます。 同様に、 FPGA アプリ ケー

シ ョ ンは、 通常動作中に随時デザインを再認証できます。

このアプリ ケーシ ョ ンの詳細は、ザイ リ ンクス アプリ ケーシ ョ ン ノート : XAPP780 を参照してく

ださい。 Spartan-3E スタータ キッ ト ボードには、必要なコンポーネン トがすべて含まれています。

• XAPP780 : 『Dallas Semiconductor/Maxim DS2432 セキュア EEPROM を使用した FPGA IFFコピー プロテクシ ョ ン』

http://japan.xilinx.com/support/documentation/application_notes/xapp780.pdf

• 『DS2432 1Kb Protected 1-Wire EEPROM with SHA-1 Engine』http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2914

図 15-13 : ホストが認証値を書き込み、 FPGA アプリケーシ ョ ンを有効にする

UG332_c16_13_040107

Spartan-3A/3AN/3A DSP FPGA

FPGA Fabric

Intelligent Host

FPGA Bitstream Valid

PROM?

OK

Device DNA

Authentication Check Value

図 15-14 : SHA-1 Secure EEPROM を使用した FPGA 認証

OISOIS

Authentication Core1 Block RAM~100 Slices

FOE DESIGNDISABLE

CHECKREQUESTIFF

FPGAApplication

Bitstream

UG332_c16_10_120406

FPGA

SecureEEPROM

DS2432

680 Ω

+3.3V

ConfigurationPROM

Page 317: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 319UG332 (v1.4) 2008 年 7 月 1 日

認証エラーを扱う方法

• Spartan-3E スタータ キッ ト

http://japan.xilinx.com/s3astarter

アプリ ケーシ ョ ンノート またはデザイン例でサポート されていませんが、 類似するセキュ リ ティ機

能を持つ外部コンポーネン ト を用いた、 次のよ うな同様のソ リ ューシ ョ ンがあ り ます。

• STMicroelectronics KryptoTM Secure Parallel Flash Memorieshttp://www.st.com/stonline/products/families/memories/fl_nor_emb/fl_m28w_fs.htm

• Atmel Crypto and Secure Memorieshttp://www.atmel.com/products/SecureMem/

認証エラーを扱う方法

Spartan-3 の認証手法の長所の 1 つは、設計者およびアプリ ケーシ ョ ンが認証エラーに対応する 適

な方法を選択できるこ とです。 次を含む機能の制限が可能です。

• 機能停止

• 限られた機能のみ使用可能

• タイムアウ ト を設けて全機能を一定時間使用

• 不正に対する防御

機能停止

アプリ ケーシ ョ ンによる、認証されなかったコピーに対する も単純な対応方法は機能の停止です。

これは、 次に述べるよ うな FPGA に既存の機能を使用して容易に達成できます。

• STARTUP デザイン プリ ミ ティブにグローバル セッ ト / リセッ ト (GSR) 信号をアサート し、す

べてのフ リ ップフロ ップ リセッ ト をホールド します。 詳細は 267 ページの 「スタート アップ

(STARTUP)」 を参照して ください。 GSR を駆動する信号は、 ロジッ ク ベースのラ ッチか、

SRL16 シフ ト レジスタからでなければならず、これらはいずれも GSR 信号からの影響を受け

ません。

• STARTUP デザイン プリ ミ ティブにグローバル ト ラ イステート制御をアサート し、すべての出

力ピンをハイ インピーダンス (Hi-Z) にします。

• BUFGCE グローバル ク ロ ッ ク プリ ミ ティブを使用してグローバル ク ロ ッ ク信号を無効にし

ます。 BUFGCE グローバル ク ロ ッ ク プリ ミ ティブは、 イネーブル入力を保有し、 デザイン内

でクロ ッ ク信号が分配されるのを防ぎます。

• DCM (デジタル ク ロ ッ ク マネージャ ) にリセッ ト入力をアサート します。

• セッ ト またはリセッ ト入力を CLB (コンフ ィギャブル ロジッ ク ブロ ッ ク ) の主要ロジッ クに

駆動します。

• ゲート信号を使用して CLB の主要ロジッ クを無効にします。

• ク ロ ッ ク イネーブル入力を使用し、 CLB フ リ ップフロ ップを選択して無効にします。

• 上記すべてまたはいずれかを使用します。

この手法のデメ リ ッ トは、 攻撃者に侵入が成功したかど うかをすぐに報告してしま う こ とです。

限られた機能のみ使用可能

限られた機能のみ使用可能にする と、 部分的あるいは基本的な機能が使用できます。 この手法によ

り、 サードパーティーのテス ト機関や委託製造業者が認証されなかったシステムを構築し、 テス ト

Page 318: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

320 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 15 章 : FPGA デザインの保護

できるよ うにな り ます。 この手法では、委託製造業者はコンフ ィギュレーシ ョ ン PROM を製造でき

ますが、 認証機能は与えられないため、 過剰構築を防ぎます。

「機能停止」 に示す手法の 1 つまたは それ以上を用いて、主要な機能または特定の IP を無効にしま

す。 オプシ ョ ンで、主要な機能の内容を低下させます。 たとえば、通信データ レート を下げるこ と、

または画面の解像度を下げるこ となどが考えられます。

タイムアウト を設けて全機能が使用可能

この手法では、 認証されなかったデザインの全機能が一定時間使用できます。 この手法は、 サード

パーティのテス ト機関または委託製造業者がシステムのテス ト を完了するのに全機能が必要な場合

に も有益です。 しかし、製造委託業者に認証されたシステムのコピー作成権限がないため、過剰構

築を防止できます。

また、 タイムアウ ト機能はシステムに対する攻撃を大幅に困難にします。 停止する前にシステムが

機能する時間がわずかである場合、システムの攻撃に必要な時間が大幅増加します。 同様に、ランダ

ムなタイム アウ ト値を使用する と、攻撃者にとってシステム内に侵入したのか、 またはシステム内

に問題があるのかど うかの判断が困難になり ます。

アクテ ィブ ディ フ ェンス

不正なコピーに対する保護の 終レベルは、アクティブ ディフェンスです。 アクティブ ディフェン

スには、アプリ ケーシ ョ ン要件によってさまざまなものがあ り ます。 たとえば、アプリ ケーシ ョ ンは

認証がエラーとなった回数を ト ラ ッ クできます。 エラーの回数があらかじめ設定したしきい値に到

達する と、アプリ ケーシ ョ ンはコンフ ィギュレーシ ョ ン PROM の消去または PROM 内のセクタの

恒久的なロ ッ クダウンなどの、 よ り徹底的な保護手法を用いるよ うにな り ます。

認証アルゴリズム

そもそも認証アルゴ リズムとは機密事項です。 認証プロセスでは、 認証アルゴ リ ズムまたは認証値

のどちらかが機密事項である必要があ り ます。 Spartan-3A/3AN/3A DSP の Device DNA または デバイス ID を持つフラ ッシュ PROM を使用した例では、認証アルゴ リズムが機密事項でなければな

り ません。

なぜならば、認証アルゴ リズムは FPGA ロジッ クを使用してインプリ メン ト され、 このアルゴ リズ

ムは柔軟で変更できるためです。 アルゴ リズムは保護されるアプリ ケーシ ョ ンの要件のみに従い、

よ り単純、 または複雑にします。 アルゴ リズムはデザイン リ リース間またはバージ ョ ン間で変更可

能です。 同様に、 複数の異なる認証チェッ クが同じアプリ ケーシ ョ ンに共存できます。 この手法で

は、 アプリ ケーシ ョ ンの要件に従ってセキュ リティのコス トおよび複雑性を調整できます。

製造ロジスティ ックス

認証は、 特に委託製造業者によ り製造される量産アプリ ケーシ ョ ンで、 製造ロジスティ クスを単純

化します。

• FPGA 内にプログラムが必要な特別なキーはあ り ません。 FPGA の Device DNA、PROM の固

有 ID、 または両方に PROM が密接に結び付く または認証されるプログラ ミ ング手順があ り ま

す。 しかし、 この動作は FPGA ビッ ト ス ト リームに影響を与えません。

• FPGA ビッ ト ス ト リームはすべてのユニッ トで共通です。 ビッ ト ス ト リームを特定の FPGAまたは一連の FPGA に一致させる必要はあ り ません。 認証手順は、 ビッ ト ス ト リームのプログ

ラ ミ ングと完全に分離できます。

Page 319: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 321UG332 (v1.4) 2008 年 7 月 1 日

認証およびデバイス ID のその他の使用方法

• コンフ ィギュレーシ ョ ン PROM は量産可能です。 量産中に、PROM を特定の FPGA または一

連の FPGA に一致させる必要はあ り ません。 認証は保護された設備、またはエンド カスタマの

サイ トでの 終的なシステム テス ト などで随時実行できます。

• 先に述べた 320 ページの 「限られた機能のみ使用可能」 または 320 ページの 「タイムアウ ト を

設けて全機能が使用可能」 の手法を使用し、 委託製造業者は過剰構築または不正コピーのリ ス

クなしで製品を構築およびテス トできます。

認証およびデバイス ID のその他の使用方法

本章で述べた認証手法は、主に FPGA アプリ ケーシ ョ ンを保護します。 しかし、これらの手法は、ア

プリ ケーシ ョ ン内でその他の目的で使用できます。

IP (知的財産) の保護

FPGA は IP コアを展開する共通の容器です。 認証機能は不正なコピーから IP コアを守り、 IP ベン

ダーの 大の懸念事項を解消します。 上述の手法を使用してベンダーは主要な IP を保護できる一

方で潜在顧客は購入前に IP コアを試用できます。

また、 Spartan-3A/3AN/3A DSP FPGA の Device DNA は、 完全な ト レーサビ リ ティーを提供して

いるため、IP ベンダーは、カスタマの購買量を ト ラ ッ ク し、IP コアの特許権使用料を特定できます。

コードおよびデータのセキュリテ ィ

Spartan-3A/3AN/3A DSP FPGA の Device DNA 識別子は、エンベデッ ド アプリ ケーシ ョ ン向けに

更なるセキュ リティ レベルを追加します。 Device DNA はエンベデッ ド プロセッサ アプリ ケー

シ ョ ンを保護するためにコード とデータの両方を暗号化および復号化するキーとなり ます。

図 15-15 に、MicroBlaze® プロセッサ アプリ ケーシ ョ ンの例を示します。 Spartan-3A/3AN/3A DSPDevice DNA 識別子がコード とデータを暗号化および復号化するキーとなり ます。

FPGA コンフ ィギュレーシ ョ ン ビッ トス ト リーム プログラムの米国における法的保護

FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リーム プログラムは、 United States Code (合衆国法典)の第 17 編、第 101 条 の 「computer program」 (コンピュータ プログラム) に該当する可能性があ り、

図 15-15 : Spartan-3A/3AN/3A DSP Device DNA のエンベデッ ド処理アプリケーシ ョ ンに

おけるキーとしての使用

MicroBlaze32-bit RISC

CPUCod

e D

ecry

pter

Dat

a E

ncry

pter

/D

ecry

pter

Device DNA

“Key”

Inst

ruct

ion

Mem

ory

Dat

a M

emor

y

UG332_c16_14_092806

Page 320: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

322 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 15 章 : FPGA デザインの保護

この場合、著作権法保護の対象になり ます。 また、このよ うに規定された場合は、企業秘密と しても

保護されます。

ザイ リ ンクスでは、FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームにおいて、著作権および企業

秘密保護の両方、 あるいは一方の申請を希望する企業は、 次の手順を考慮するこ とを推奨します。

適切な著作権表示を FPGA 上に添付するか、 PCB 上で FPGA に隣接する位置に添付しサードパー

ティーに著作権があるこ とを告知します。 たとえば、スペースが限られているため、FPGA デバイス

上のこの表示は「2006 XYZ Company」と し、または PCB 上では「Bitstream © 2006 XYZ Company」と します。

ビッ ト スト リ ーム プログラムの著作権申請を登録するために、 U.S. Copyright Office (米国著作権局)に申請書を提出します。

PCB のサイズを考慮し、必要であれば、ユーザーがビッ ト ス ト リーム プログラムを会社の企業秘密

と して申請しているこ とを示す注意書きを添付します。 PCB に添付する陳述の例と して次が挙げ

られます。 「Bitstream proprietary to XYZ Company. Copying or other use of the bitstream programexcept as expressly authorized by XYZ Company is prohibited.」 ( 「ビッ ト ス ト リームの所有権は

XYZ 社に帰属します。XYZ 社から明確に授権された場合を除き、ビッ ト ス ト リーム プログラムの

コピーまたは使用を禁じます。」 )

FPGA ベースのデザインに添付する資料、 データブッ ク、 またはその他の文献には、 適切な文書を

添付し、ユーザーによるビッ ト ス ト リーム プログラムの著作権および企業秘密の申請をサードパー

ティーに知らせます。

たとえば、 次のよ うに表記します。 「Bitstream ©2006 XYZ Company. All rights reserved. Thebitstream program is proprietary to XYZ Company and copying or other use of the bit- streamprogram except as expressly authorized by XYZ Company is expressly prohibited.」 ( 「Bitstream©2006 XYZ Company. All rights reserved. ビッ ト ス ト リームの所有権は XYZ 社に帰属します。

XYZ 社から明確に授権された場合を除き、 ビッ ト ス ト リーム プログラムのコピーまたは使用を禁

じます。」 )

サードパーティによる不正なコピーを証明するために、 追加の非機能的なコードをビッ ト ス ト リー

ム プログラムの 後に含める必要があ り ます。 したがって、 サードパーティが適切な認証を受けず

にビッ ト ス ト リームをコピーし、コピーにこの非機能的なコードが表示されている場合、サードパー

ティはビッ ト ス ト リームを独自に開発したと主張できません。

これらは単なる提案であ り、 法的措置または上述の提案の結果に対してザイ リ ンクスは陳述または

保証を一切いたしません。各エンド ユーザー企業は、 ビッ ト ス ト リームの法的保護方法および特定

の状況における上述の提案の適用について、 弁護士に相談されるこ とを推奨します。

追加情報追加情報は、 次のザイ リ ンクス ウェブサイ ト を参照してください。

• ザイ リ ンクス デザイン セキュ リティ ソ リ ューシ ョ ンhttp://japan.xilinx.com/products/design_resources/security/index.htm

• ザイ リ ンクス Spartan-3 ジェネレーシ ョ ン Device DNA セキュ リティhttp://japan.xilinx.com/products/design_resources/security/devicedna.htm

• WP266 : 『Spartan-3 Generation FPGA を使用したセキュ リティ ソ リ ューシ ョ ン 』http://japan.xilinx.com/support/documentation/white_papers/wp266.pdf

• WP267 : 『Spartan-3A/3AN/3A DSP FPGA のアドバンス セキュ リティ スキーマ』http://japan.xilinx.com/support/documentation/white_papers/wp267.pdf

Page 321: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 325UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ン中の CRC チェ ック

第 16 章

コンフ ィギュレーシ ョ ン CRCすべての Spartan®-3 ジェネレーシ ョ ン FPGA には、 コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの

読み込み中にエラーがあった場合にフラグを出すよ うに設計されており、32 ビッ トの CRC (巡回冗

長検査) 回路が内蔵されています。 コンフ ィギュレーシ ョ ン CRC 回路は、 コンフ ィギュレーシ ョ ン

ビッ ト ス ト リームで特に無効にされない限り、コンフ ィギュレーシ ョ ン中は常に有効です。 Spartan-3A/3AN/3A DSP FPGA では、 コンフ ィギュレーシ ョ ン後もオプシ ョ ンで CRC 回路の動作を継続

できます。

コンフ ィギュレーシ ョ ン中の CRC チェ ック

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

タ パケッ トから CRC 値を算出します。 すべてのデータ フレームの読み込み完了後、 コンフ ィギュ

レーシ ョ ン ビッ ト ス ト リームは FPGA に対して CRC のチェッ ク命令を与え、 続いて、 CRC の予

測値を送信します。 CRC チェッ クの値が一致する と、FPGA はスタート アップ フェーズを実行して

コンフ ィギュレーシ ョ ン プロセスを継続します。 CRC 値が不一致の場合は、 次に示すよ うに

Spartan-3 ジェネレーシ ョ ン ファ ミ リによって動作が若干異なり ます。

Spartan-3 および Spartan-3E のコンフ ィギュレーシ ョ ン CRC エラー

FPGA によって算出された CRC 値が、 ビッ ト ス ト リーム内の CRC の予測値と不一致の場合は、

FPGA は INIT_B ピンを Low に駆動してコンフ ィギュレーシ ョ ンを中断します。 CRC エラーが発

生した場合は、 HSWAP または HSWAP_EN ピンが Low になり、 CCLK 出力が High にプルアッ

プされない限り、 CCLK 出力はハイ インピーダンス (Hi-Z) 状態になり ます。

コンフ ィギュレーシ ョ ン CRC はデフォルトで有効

CRC チェッ クはデフォルトでコンフ ィギュレーシ ョ ン ビッ ト ス ト リームに含まれています

(CRC:Enable)。 チェッ クは無効にできますが、 細心の注意を払って実行する必要があ り ます。 CRCチェッ クを無効にする と、誤ったコンフ ィギュレーシ ョ ン データ フレームを読み込み、デザインで

の不適切な動作あるいは FPGA の損傷を引き起こす可能性があ り ます。

CRC の漏れ

コンフ ィギュレーシ ョ ン ビッ ト ス ト リームの送信エラーが CRC チェッ クで検知されないこ とがあ

り ます。 ダブル ク ロ ッキングのよ うなクロ ッ ク エラーによ り、 ビッ ト ス ト リーム パケッ ト と コン

フ ィギュレーシ ョ ン ロジッ ク間の同期が失われる場合があ り ます。 同期に失敗する と、CRC チェッ

クのコマンドを含む、それに続くすべてのコマンドが認識されません。 この場合、 CRC が無視され

るため、 コンフ ィギュレーシ ョ ンは FPGA の DONE ピンが Low で、かつ INIT_B ピンが High の状態でエラーになり ます。 Spartan-3A/3AN/3A DSP の BPI モードでは、 アドレス カウンタでは結

果的にオーバーフローまたはアンダーフローが発生してラ ップアラウンドが起こ り、 BitGen の

Page 322: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

326 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 16 章 : コンフ ィギュレーシ ョ ン CRC

Reset_on_err:Yes オプシ ョ ンが設定されている場合は、 終的にリ コンフ ィギュレーシ ョ ンが ト リ

ガされます。

Spartan-3A/3AN/3A DSP のコンフ ィギュレーシ ョ ン CRC エラーおよびコンフ ィギュレーシ ョ ン ウォッチド ッグ タイマ

Spartan-3A/3AN/3A DSP FPGA には、CWDT (コンフ ィギュレーシ ョ ン ウォッチド ッグ タイマ) 機能が含まれます。 FPGA がマスタ モードの 1 つでコンフ ィギュレーシ ョ ンされ、 BitGen の

Reset_on_err:Yes オプシ ョ ンが設定されている場合は、 Spartan-3A/3AN/3A DSP FPGA は初期化

を自動的に再実行し、 コンフ ィギュレーシ ョ ン中に CRC エラーが発生したと きには、 リ コンフ ィ

ギュレーシ ョ ンを試行します。 BPI および SPI モードでは、 リ コンフ ィギュレーシ ョ ンが 3 回エ

ラーになる と FPGA は停止し、INIT_B ピンを Low に駆動します。 HSWAP または HSWAP_EN ピンが Low になり、 CCLK 出力が High にプルアップされない限り、 CCLK 出力はハイ インピーダ

ンス (Hi-Z) 状態になり ます。 PROG_B ピンをパルスするか、電源を再投入する と コンフ ィギュレー

シ ョ ン プロセスが 初から再実行されます。 JTAG インターフェイスは応答可能で、 デバイスも有

効ですが、 BPI/SPI インターフェイスは動作できない状態にあ り ます。

エラーとなった 3 回のコンフ ィギュレーシ ョ ンを ト ラ ッキングしていたカウンタは、PROG_B がパ

ルスされた場合か、電源が再投入されたと きにのみリセッ ト されます。正常なコンフ ィギュレーシ ョ

ン完了後にはリセッ ト されません。 SPI または BPI モードでコンフ ィギュレーシ ョ ンをしている場

合で、BitGen の Reset_on_err:Yes オプシ ョ ンを使用時には、成功したコンフ ィギュレーシ ョ ンとエ

ラーになったコンフ ィギュレーシ ョ ンのいかなる組み合わせでも、 その期間に関わらず、 コンフ ィ

ギュレーシ ョ ンが 3 回エラーとなった後で停止します。 リ コンフ ィギュレーシ ョ ンには PROG_Bのアサート または電源の再投入が必要です。 必要であれば、PROG_B をアサート してコンフ ィギュ

レーシ ョ ンを リセッ トできるよ うに設計しておく と便利です。

堅牢な CCL (CMOS コンフ ィギュレーシ ョ ン ラッチ)FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームは堅牢な CCL (CMOS コンフ ィギュレーシ ョ ン

ラ ッチ) に保存されます。 CCL はスタティ ッ ク RAM (SRAM) と同様に読み出しおよび書き込みで

きますが、安定性を主と してデザインされ、電圧および温度に対する安定性が向上しています。 CCLは、 従来の SRAM メモ リ よ り も SEU (SEU) 現象に対して 10 倍から 100 倍の耐性があ り ます。

ザイ リ ンクスは、FPGA に対する SEU の影響の測定および緩和を実行する第一人者です。 広範囲に

及ぶ陽子ビームおよび大気データをご要望に応じて送付します。

コンフ ィギュレーシ ョ ン後の CRC (Spartan-3A/3AN/3A DSP のみ)FPGA コンフ ィギュレーシ ョ ン ビッ ト ス ト リームを保持する CCL の安定性は堅牢ですが、 高い信

頼性が求められる高需要のアプリ ケーシ ョ ンでは、すべてのコンフ ィギュレーシ ョ ン メモ リ位置を

継続的に確認する必要があ り ます。Spartan-3A/3AN/3A DSP FPGA はこの機能を備えています。 コンフ ィギュレーシ ョ ン CRC チェッ クをコンフ ィギュレーシ ョ ン後も有効にする と、 FPGA ビッ ト

ス ト リームの監視を継続できます。

Page 323: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 327UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ン後の CRC (Spartan-3A/3AN/3A DSP のみ)

概要

327 ページの図 16-1 に、 コンフ ィギュレーシ ョ ン後の CRC チェッ ク回路の概念図を示します。

POST_CRC=ENABLE コンフ ィギュレーシ ョ ン制約が設定された場合、 CRC チェッ ク 回路は

FPGA ビッ ト ス ト リームのスキャンを継続し、CRC の結果値を算出した後、この値をあらかじめ算

出した CRC の予測値と比較します。 2 つの CRC チェッ ク値に相違がある場合、 FPGA の INIT_Bピンを Low に駆動して CRC チェッカはエラーをフラグします。

マスクが解除されたビッ トの位置が任意の位置に変わると、 CRC の算出値が変わります。 通常動作時

にも、FPGA アプリケーショ ンは一部のビッ ト位置を変更します。 したがって、フ リ ップフロップ、ラッ

チ、 およびブロッ ク RAM などの書き込み可能なビッ トはすべて CRC の算出から除外されます。 除外

されない場合は、 これらの位置に書き込み動作を実行すると、 結果的に CRC の算出値が異なるので、

CRC エラーが生じます。同様に、各 CLB (コンフィギャブル ロジック ブロッ ク) の SLICEM ロジッ ク

スライスに内在する LUT (ルックアップ テーブル) にも、分散 RAM や SRL16 シフ ト レジスタなどの

書き込み可能なファンクシ ョ ンが含まれるこ とがあり ます。

図 16-1 : コンフ ィギュレーシ ョ ン後の CRC の概念図

LUTLUTRAMSRL16

LUT

LUTLUT

LUTRAMSRL16

SLICEM SLICEL SLICEM SLICEL

LogicLUT

SLICEM SLICELLUT

LUTRAMSRL16

LUT

LUT

SLICEM SLICEL

LogicLUT

LogicLUT

LogicLUT

SLICEM LUTs18K

Block RAM

18KBlock RAM

18KBlock RAM

18KBlock RAM

CMOS Configuration Latches (CCLs)Block RAM

InternalOscillator

POST_CRC

glutmask:Yes

ENABLECyclic Redundancy

Checker (CRC)

POST_CRC_FREQ

Calculated CRC

Expected CRCINIT_B

VCCO_2

Block RAM bits are not checked by CRC checker

FPGA Configuration

All FPGA configuration bits are always checked when the CRC checker is enabled

All flip-flop and latch bits are automatically ignored. All other writable bits, such as distributed RAM (LUTRAM) and SRL16 shift registers, found in SLICEM slices are also ignored. If used only as logic, these LUTs can be optionally included in the CRC calculation.

If the calculated CRC value does not match the expected CRC, the FPGA drives the INIT_B pin Low.

Internal pull-up resistor to VCCO_2.

Open-drain output

Logic LUT LUTRAM

SRL16

Logic LUT LUTRAM

SRL16

Logic LUT LUTRAM

SRL16

Logic LUT LUTRAM

SRL16

Logic LUT LUTRAM

SRL16

UG332_c17_01_092006

The internal oscillator is the mostcommon clock source. However,see “Clock Source” for additionalinformation.

Page 324: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

328 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 16 章 : コンフ ィギュレーシ ョ ン CRC

したがって、デフォルトでは、SLICEM ロジッ ク スライス内のすべての LUT が、CRC の算出値か

ら除外されています。 しかし、FPGA アプリ ケーシ ョ ン内のすべての LUT がロジッ クにのみ使用さ

れる場合は、分散 RAM または SRL16 シフ ト レジスタがデザイン内に存在しないので、BitGen のglutmask:No オプシ ョ ンを設定して SLICEM LUT を CRC の算出に含めるこ とができます。 ISE®

ソフ ト ウェア プロジェク ト サマリ レポートで、 デザインで分散 RAM または SRL16 シフ ト レジ

スタが使用されているか確認して ください。

ブロ ッ ク RAM が CRC の算出から除外されるのは、RAM の内容が変更される と、後続の CRC の結果も変わるからです。 バイ ト レベル、ハーフ ワード レベル、あるいはワード レベルの変更は、ブ

ロ ッ ク RAM 機能の一部と して提供されたパリティ ビッ ト を使用して容易に検出できます。 詳細

は、 332 ページの 「分散およびブロッ ク RAM の内容のチェッ ク手法」 を参照してください。

コンフ ィギュレーシ ョ ンまでの CRC チェ ックの継続 (JTAG またはサスペンド イベン ト )

CRC チェッ クは、次のイベント のう ち 1 つが発生するまで継続します。 これらのイベント のう ち 1 つが発生すると 、 CRC チェッ クは動作を停止します。

• コンフ ィギュレーシ ョ ン コン ト ローラが有効な同期ワードを受信した場合 (FPGA がマルチ

ブート動作から リ コンフ ィギュレーシ ョ ンされる場合に発生)。

• JTAG ポート を介したアクティブなコンフ ィギュレーシ ョ ン操作がある場合。

• FPGA が省電力のサスペンド モードに入った場合。

ビッ ト ス ト リームで有効にされた場合は、コンフ ィギュレーシ ョ ン イベン トの 後または FPGA のサスペンド モードからの起動時に、 CRC チェッ クはリセッ トおよび再実行します。

クロック ソース

有効な場合は、コンフ ィギュレーシ ョ ン後の CRC チェッカは、3 つのクロ ッ ク ソースのいずれかで

クロ ッ ク されます。使用されるソースは FPGA アプリ ケーシ ョ ンによって異なり ますが、可能性が

低いものから順番に示します。

• BitGen の Persist:Yes オプシ ョ ンが選択され、FPGA がスレーブ コンフ ィギュレーシ ョ ン モー

ドの 1 つを使用してコンフ ィギュレーシ ョ ンされた場合、 コンフ ィギュレーシ ョ ン後の CRCチェッ クは FPGA の CCLK 入力ピンを使用してクロ ッ ク されます。

• ICAP (Internal Configuration Access Port) 機能が有効な場合、 コンフ ィギュレーシ ョ ン後の

CRC チェッ クは ICAP デザイン プリ ミ ティブの CLK 入力でクロ ッ ク されます。

• 上記以外の場合は、 コンフ ィギュレーシ ョ ン後の CRC チェッカは FPGA の内部オシレータで

クロ ッ ク されます。 内部オシレータの周波数を POST_CRC_FREQ コンフ ィギュレーシ ョ ン

制約を用いて設定します。 このオプシ ョ ンについては、 表 16-1 を参照してください。

CRC チェ ックタイム

CRC の各算出に要する時間は、シ リ アル コンフ ィギュレーシ ョ ンに要する時間と同様に、集積度お

よびクロ ッ ク レートによって異なり ます。 デバイスの内部レジスタ と同様、 CRC は 1 ビッ ト幅の

シフ ト レジスタで駆動されます。 したがって、 各クロ ッ ク周期で 1 ビッ トが CRC にシフ ト されま

す。 1 回の CRC チェッ クを実行するために要する時間の合計は、コンフ ィギュレーシ ョ ン ビッ トの

総数にクロ ッ ク周期を掛ける と算出できます。 たとえば、 XC3S50A には 437,312 ビッ ト あ り、

12MHz で駆動するので、 CRC チェッ クには 0.0364 秒を要します。 XC3S1400A には 4,755,296ビッ ト あ り、 12MHz で駆動するので、 CRC チェッ クには 0.39627 秒を要します。

Page 325: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 329UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ン後の CRC (Spartan-3A/3AN/3A DSP のみ)

CRC エラーが発生した場合の動作

前述のよ うに、 FPGA は、 オープンドレインの INIT_B ピンを Low に駆動してコンフ ィギュレー

シ ョ ン後の CRC エラーをフラグします。INIT_B ピンは、デバイスがリ コンフ ィギュレーシ ョ ンさ

れるまで Low のままです。これは、コンフ ィギュレーシ ョ ン中の CRC エラーに FPGA がフラグを

出すのと同じ方法です。 コンフ ィギュレーシ ョ ン後の CRC 機能が有効な場合、 INIT_B ピンは

VCCO_2 電源入力への内部専用プルアップ抵抗が付いたオープンドレインの出力と して予約され

ます。 CRC 機能が有効な場合、 INIT_B ピンはユーザー I/O と して使用できません。

POST_CRC_ACTION コンフィ ギュレーショ ン制約は、コンフィ ギュレーショ ン後の CRC チェッ ク

がエラーを検出するかどう かを指定します。 POST_CRC_ACTION=HALT の場合、エラーが発生す

ると 、CRC 回路は新規 CRC 値の算出を停止します。 これにより 、外部デバイスがリ ード バッ クを使

用して CRC の結果をチェッ クできます。 POST_CRC_ACTION=CONTINUE の場合、 CRC 回路は

エラー検出後も、コンフィ ギュレーショ ン後の CRC エラーのチェッ クを継続します。 初のエラー

発生後、 追加の CRC の変更がほかのエラーを検出する間、 INIT_B ピンは Low のままです。

FPGA ベースのシステムは、CRC エラーが発生した場合の対応を別々に決定します。 ほとんどのア

プリ ケーシ ョ ンでは、 単純に FPGA を リ コンフ ィギュレーシ ョ ンします。

CRC エラー動作の検証

コンフ ィギュレーシ ョ ン後の CRC チェッ ク機能を検証するには、 SRL16 ロジッ クを使用して強制

的に CRC 機能を変更できます。 少なく と も SRL16 を 1 つインスタンシエート し、 BitGen のglutmask:No オプシ ョ ンを設定します。 SRL16 のステート を変更してコンフ ィギュレーシ ョ ン後の

CRC 機能で CRC エラーをフラグするよ うにします。

コンフ ィギュレーシ ョ ン後の CRC 機能を使用するためのアプリケーシ ョ ンの準備

• コンフ ィギュレーシ ョ ン後の CRC ロジッ クを POST_CRC=ENABLE コンフ ィギュレーシ ョ

ン制約を使用して有効にします。

• コンフィギュレーショ ン後の CRC チェックは、「クロッ ク ソース」 に示す 3 つのクロッ ク ソース

の 1 つでクロッ クされます。 アプリケーショ ンまたはシステムが必要なクロッ ク入力を提供して

いるか確認してください。 ほとんどのアプリケーショ ンでは、 CRC チェッカは FPGA の内部オシ

レータをクロック ソースとして使用します。 オシレータの周波数を POST_CRC_FREQ コンフィ

ギュレーショ ン制約を使用して設定します。 デフォルトでは、 オシレータは 1 に設定されていま

す。 これは、 およそ 1MHz クロッ クに相当します。 このオプションについては、 表 16-2 を参照し

てください。

• POST_CRC_ACTION コンフ ィギュレーシ ョ ン制約を使用し、 CRC チェッ クがさ らに CRCエラーの検出を継続するか、 チェッ クを停止するか指定します。

• FPGA 内の LUT が分散 RAM または SRL16 シフ ト レジスタ と して使用されている場合は、

BitGen の glutmask オプシ ョ ンをデフォルト値のままにします。

Page 326: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

330 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 16 章 : コンフ ィギュレーシ ョ ン CRC

UCF (ユーザー制約ファイル) の例

図 16-2 に、 コンフ ィギュレーシ ョ ン後の CRC チェッ クを有効にする UCF の例を示します。

CONFIG 制約

表 16-1 に、 コンフ ィギュレーシ ョ ン後の CRC 機能を制御する CONFIG 制約を示します。

図 16-2 : コンフ ィギュレーシ ョ ン後の CRC に対する UCF 制約

# Enable the post-configuration CRC checkerCONFIG POST_CRC = ENABLE ;

# Set clock frequency for CRC checker circuitryCONFIG POST_CRC_FREQ = 1 ;

# Define if the CRC checker continues or halts after detecting an errorCONFIG POST_CRC_ACTION = CONTINUE ;

表 16-1 : コンフ ィギュレーシ ョ ン後の CRC CONFIG 制約

CONFIG 制約 設定 説明

POST_CRC DISABLE デフォルト。 コンフ ィギュレーシ ョ ン後の CRCチェッ クを無効にする。 INIT_B はユーザー I/O として使用可能

ENABLE コンフ ィギュレーシ ョ ン後の CRC チェッ クを有効

にする。 INIT_B ピンは、CRC エラーをフラグする

ために予約され、ユーザー I/O ピンと して使用不可

POST_CRC_FREQ 1、 3、 6、 7、 8、10、 12、 13、17、 22、 25、27、 33、 44、

50、 100

デフォルト値は 1。 コンフ ィギュレーシ ョ ン後の

CRC チェッ クに使用されるクロ ッ ク周波数を設定

POST_CRC_ACTION CONTINUE デフォルト。 CRC の不一致が検出された場合、ビッ

ト ス ト リームのリードバッ クを継続し、比較に用い

る CRC を算出してあらかじめ算出された CRC と比較

HALT CRC の不一致が検出されると、CRC チェックを停止

Page 327: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

Spartan-3 ジェネレーション コンフ ィギュレーション ガイド japan.xilinx.com 331UG332 (v1.4) 2008 年 7 月 1 日

コンフ ィギュレーシ ョ ン後の CRC (Spartan-3A/3AN/3A DSP のみ)

BitGen オプシ ョ ン

表 16-2 に、 コンフ ィギュレーシ ョ ン後の CRC 機能に関連する BitGen オプシ ョ ンを記載します。

329 ページの 「コンフ ィギュレーシ ョ ン後の CRC 機能を使用するためのアプリ ケーシ ョ ンの準備」

に示すよ うに、 CONFIG 制約が 適な制御手法であるため、 表内に灰色で色付けしています。

glutmask オプシ ョ ンには、 関連する CONFIG 制約があ り ません。

デザインの考察

すべてのフ リ ップフロ ップおよびラ ッチの値は自動的に無視されますが、 フ リ ップフロ ップおよび

ラ ッチの各初期値は CRC の算出に含まれます。 したがって、コンフ ィギュレーシ ョ ン後の CRC 機能が有効な場合は、リードバッ ク CAPTURE 動作を実行しないでください。 CAPTURE 動作は現在

のフ リ ップフロ ップおよびラ ッチの値をキャプチャし、 初に初期値を含んでいたメモリセルにこ

れらの値を書き込みます。

表 16-2 : コンフ ィギュレーシ ョ ン後の CRC BitGen オプシ ョ ン

BitGen オプシ ョ ン

設定

(デフォルト ) 説明

post_crc_enいいえ

デフォルト。 コンフ ィギュレーシ ョ ン後の CRC チェッ

クを無効にする

はい コンフィギュレーション後の CRC チェックを有効にする

post_crc_freq 1、3、6、7、8、10、12、 13、 17、 22、25、 27、 33、 44、50、 100

コンフ ィギュレーシ ョ ン後の CRC チェッ クに使用され

る。 ク ロ ッ ク周波数を設定。 使用可能なオプシ ョ ンは、

BitGen の ConfigRate オプシ ョ ンと同じ

post_crc_keepいいえ

デフォルト。 エラーが検出される とチェッ クを停止。

CRC 値のリードバッ クを実行可能にする

はい エラー検出後、 CRC エラーのチェッ クを継続

glutmask

はい

デフォルト。 SLICEM ロジッ ク スライスから LUT ビッ

ト を マスク。 SLICEM は、 分散 RAM および SRL16 シフ ト レジスタなどの書き込み可能な機能をサポート し、

これらの機能は、 ビッ トの位置が変更される と CRC エラーを発生させる

いいえ

SLICEM ロジッ ク スライスからの LUT ビッ ト を含む。

アプリ ケーシ ョ ンが分散 RAM または SRL16 シフ ト レジスタを含まない場合のみ、 このオプシ ョ ンを使用

Page 328: Xilinx UG332 Spartan-3 ジェネレーション コンフィ …japan.xilinx.com/.../documentation/user_guides/j_ug332.pdfYou may not reproduce, distribute, republish, download, display,

332 japan.xilinx.com Spartan-3 ジェネレーション コンフ ィギュレーション ガイド

UG332 (v1.4) 2008 年 7 月 1 日

第 16 章 : コンフ ィギュレーシ ョ ン CRC

分散およびブロック RAM の内容のチェ ック手法

前述のよ うに、ブロ ッ ク RAM、 LUT RAM、および SRL16 シフ ト レジスタは CRC の算出の一部

と して含まれません。 いかなる場合でも、RAM のエラー発生時に INIT_B ピンにはエラーがフラグ

されません。 しかし、 図 16-3 に示すよ うに、 動作中に単純なパリティを使用して RAM の内容を

チェッ クできます。

各ブロ ッ ク RAM には、パリティ値を保存するための追加のビッ ト位置があ り ます。 パリティ ジェ

ネレータは、 FPGA ロジッ クを使用してインプリ メン ト された単純な XOR ゲートです。 パリ ティ

はブロ ッ ク RAM に書き込まれるすべてのデータに対して生成できます。 パリティ チェッカも単純

な XOR で、入力を 1 つ追加する と有効になり ます。 パリティはブロ ッ ク RAM から読み出されるす

べてのデータ値に対して生成できます。 生成されたパリティ値は、RAM から読み出されたパリ ティ

ビッ ト と比較されます。 値が異なる場合、 値が書き込まれた時間と値が読み出されてチェッ ク され

た時間の間で、 RAM 内で偶数ビッ トが変更されます。

図 16-3 にはブロッ ク RAM の例を示していますが、 分散 RAM にも同じ手法が使用できます。

同様に、ブロ ッ ク RAM および分散 RAM の両方がデュアル ポート読み出し動作をサポート してい

ます。 パリ ティ チェッカの機能は、2 つ目の読み出しポートに移動でき、通常動作に影響を及ぼさず

に、RAM の内容の監視を継続できます。 また、ブロ ッ ク RAM の内容がスタティ ッ クであ り、たと

えば PicoBlaze™ プロセッサ コードの保存に使用されている場合、 FPGA ロジッ クは 2 つ目のブ

ロ ッ ク RAM ポート を使用でき、ブロ ッ ク RAM の内容に対する CRC 値の算出を継続可能です。 後続のチェッ ク動作間で値が変更した場合、回路はエラーをフラグします。 これは、FPGA のメモ リ セルのチェッ クを継続する方法と類似しています。

図 16-3 : 単純なパリテ ィでブロック RAM の内容をチェ ック

DI[7:0] DO[7:0]

DIP DOP

RAMB16_S9

Parity Generator Parity Checker

ERROR

8 8

UG332_c17_02_092006