概要
こ のアプ リ ケーシ ョ ン ノ ー ト では、Virtex®-5 お よ び Spartan®-3E FPGA フ ァ ミ リ に導入 さ れてい る SPI (シ リ アルペ リ フ ェ ラ ルイ ン タ ーフ ェ イ ス) コ ン フ ィ ギ ュ レーシ ョ ンモー ド について説明 し ます。こ こ では、FPGA を SPI シ リ アル フ ラ ッ シ ュデバ イ ス か ら コ ン フ ィ ギ ュ レーシ ョ ンす る ために必要な接 続について解説 し 、SPI モー ド の コ ン フ ィ ギ ュ レ ーシ ョ ン フ ロ ーを示 し ま す。 ま た、SPI シ リ アル フ ラ ッ シ ュ か ら コ ン フ ィ ギ ュ レーシ ョ ンす る 際の特別な注意事項お よ び ISE® Design Suite iMPACT に よ る SPI 経由の直接プ ロ グ ラ ミ ン グ ソ リ ュ ーシ ョ ンについて も 説明 し ます。注記 : イ ン シ ス テ ム SPI に よ る 直接プ ロ グ ラ ミ ン グ をサポー ト す る のは ISE Suite iMPACT のバージ ョ ン 11.4 ま でで、 こ のアプ リ ケーシ ョ ン ノ ー ト の ス ク リ ーン シ ョ ッ ト は、 こ のバージ ョ ン の も のです。 新規デザ イ ン には、iMPACT の イ ン シ ス テ ム SPI 間接プ ロ グ ラ ミ ン グ ソ リ ュ ーシ ョ ンの使用を推奨 し ます。 こ の ソ リ ュ ーシ ョ ン では、1 つの JTAG 接続を使用 し 、FPGA の コ ン フ ィ ギ ュ レーシ ョ ンお よ び フ ラ ッ シ ュ の間接プ ロ グ ラ ムの両方を実行 し ます。 詳細は、 『iMPACT ヘルプ』 (http://japan.xilinx.com/support/ documentation/sw_manuals/xilinx11/isehelp_start.htm) の 「間接プ ロ グ ラ ムの概要 - SPI ま たは BPI フ ラ ッ シ ュ メ モ リ 」を参照 し て く だ さ い。
こ こ で述べ る 基本原則は、Extended Spartan-3A フ ァ ミ リ の外部 SPI フ ラ ッ シ ュ コ ン フ ィ ギ ュ レーシ ョ ンモー ド に も 適用 さ れ、 ほ と ん ど相違点はあ り ません。Extended Spartan-3A フ ァ ミ リ の SPI コ ン フ ィ ギ ュ レーシ ョ ンモー ド に特有の詳細情報お よ び要件は、『Spartan-3ジ ェ ネ レーシ ョ ンコ ン フ ィ ギ ュ レー シ ョ ンガ イ ド 』 (UG332) を参照 し て く だ さ い。
は じ めに
ザ イ リ ン ク ス FPGA は、CMOS コ ン フ ィ ギ ャ ラ ブル ラ ッ チ (CCL) ベー ス であ り 、 電源投入時に コ ン フ ィ ギ ュ レーシ ョ ンす る 必要があ り ます。 従来、 ザ イ リ ン ク ス FPGA の コ ン フ ィ ギ ュ レーシ ョ ンには、 IEEE 1149.1 規 格 (JTAG) イ ン タ ー フ ェ イ ス、 マ イ ク ロ プ ロ セ ッ サ、 ま た は ザ イ リ ン ク ス PROM (Platform Flash PROM) が使用 さ れて き ま し た。 現在は こ れ ら に加え、SPI シ リ アルフ ラ ッ シ ュ への直 接 コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス が利用で き ます。Virtex-5 お よ び Spartan-3E FPGA におけ る SPI シ リ アル フ ラ ッ シ ュ メ モ リ の直接 コ ン フ ィ ギ ュ レ ー シ ョ ン イ ン タ ーフ ェ イ ス に よ り 、ザ イ リ ン ク スデバ イ ス を使用す る 設計者に と っ て利用可能な コ ン フ ィ ギ ュ レーシ ョ ン ソ リ ュ ーシ ョ ン が拡張 し ます。 こ のアプ リ ケーシ ョ ン ノ ー ト では、 こ の コ ン フ ィ ギ ュ レーシ ョ ン イ ン タ ーフ ェ イ ス に焦点を当てて解説 し ます。SPI シ リ アルフ ラ ッ シ ュ メ モ リ は、コ ン フ ィ ギ ュ レ ーシ ョ ン後に簡単に ア ク セ ス で き 、 かつ FPGA に ラ ン ダ ムア ク セ ス の不揮発性のデー タ ス ト レージ を提供で き る ため、 広 く 使用 さ れてい ます。 ま た、SPI シ リ アルフ ラ ッ シ ュ メ モ リ を備え る シ ス テ ム の場合、 同 じ メ モ リ デバ イ ス か ら FPGA を コ ン フ ィ ギ ュ レーシ ョ ン で き る こ と に よ る 利点が生 じ ます。
ア プ リ ケーシ ョ ン ノ ー ト : Spartan-3E および Virtex-5 FPGA
XAPP951 (v1.3) 2010 年 9 月 23 日
SPI
シ リ アル
フ ラ ッ シ ュ を使用 し た
ザイ リ ン ク ス
FPGA
の コ ン フ ィ ギ ュ レーシ ョ ン
SPI の基本
SPI
の基本
SPI シ リ アル フ ラ ッ シ ュ メ モ リ は、4 線式の同期シ リ アルデー タ バ ス であ る SPI (シ リ アルペ リ フ ェ ラ ルイ ン タ ーフ ェ イ ス) を使用 し ます。 こ のシ リ アルデー タ リ ン ク は、 マ イ ク ロ コ ン ト ロ ー ラ ー と その ペ リ フ ェ ラ ルを接続す る シ リ アル通信 イ ン タ ーフ ェ イ ス と し て開発 さ れ、 エンベデ ッ ド 市場や民生機器 市場で普及 し てい る イ ン タ ーフ ェ イ ス です。 現在では、 ザ イ リ ン ク ス FPGA の コ ン フ ィ ギ ュ レーシ ョ ン に も 使用で き ます。 SPI シ ス テ ムは通常、 マ ス タ ーデバ イ ス と ス レ ーブデバ イ ス で構成 さ れ ます (図1)。 こ の 4 信号 イ ン タ ーフ ェ イ ス を使用 し てザ イ リ ン ク ス FPGA を SPI シ リ アル フ ラ ッ シ ュ か ら コ ン フ ィ ギ ュ レーシ ョ ン す る 場合、FPGA がマ ス タ ーデバ イ ス と な り 、SPI シ リ アルフ ラ ッ シ ュ が ス レーブデバ イ ス と な り ます。 マ ス タ ーの FPGA デバ イ ス が、SCK ク ロ ッ ク 信号を介 し て タ イ ミ ン グ を制御 し ます。 セ レ ク ト 信号 SS が Low にな る と 、MOSI 信号上でデー タ が FPGA マ ス タ ーか ら ク ロ ッ ク 出力 さ れ、SPI シ リ アル フ ラ ッ シ ュ ス レーブに入力 さ れます。 そ し て、 同 じ ク ロ ッ ク サ イ ク ル中に MISO 信号を使用 し て SPI シ リ アルフ ラ ッ シ ュ ス レーブか ら デー タ が ク ロ ッ ク 出力 さ れ、FPGA マ ス タ ーに入力 さ れ ます。 デー タ は、あ る ク ロ ッ ク エ ッ ジでデバ イ ス か ら 出力 さ れ、同 じ 周期の次の逆エ ッ ジでデバ イ ス に入力 さ れます。 こ れ ら 4 つの信号 イ ン タ ーフ ェ イ ス に加えて、 プ ロ グ ラ ム中お よ び コ ン フ ィ ギ ュ レーシ ョ ン中に適宜制 御 さ れ る 必要のあ る 書 き 込み禁止信号やホール ド 信号な ど、SPI シ リ アル フ ラ ッ シ ュ のベン ダーご と に 独自の制御信号があ り ます (特定の制御信号の詳細は、該当す る ベン ダーの SPI シ リ アルフ ラ ッ シ ュ メ モ リ デー タ シー ト を参照)。 表1は、FPGA と SPI イ ン タ ーフ ェ イ ス間の接続の相互参照表です。 X-Ref Target - Figure 1図 1 : SPI コ ン フ ィ ギ ュ レーシ ョ ン モー ド の基本ブ ロ ッ ク図 SCK SS MOSI MISO X951_01_1115006
Master
Device
Slave
Device
Xilinx FPGA
SPI Serial
Flash
表 1 : SPI シ リ アル フ ラ ッ シ ュ イ ン タ ー フ ェ イ ス接続 と ピ ン名 SPI 信号 SPI シ リ アル フ ラ ッ シ ュ ピ ン(1) FPGA接続 (Spartan-3E/Virtex-5 FPGA) 信号の説明 汎用 SPI 信号 MOSI D MOSI マ ス ター出力ス レーブ入力は、 実行す る命令の指定ま たはス レーブデバ イ スへのデー タ送信のために、 マ ス ターに よ っ て使用 さ れる。 MISO Q DIN/D_IN マ ス タ ー入力ス レーブ出力は、ス レーブデバ イ ス か ら 転送 さ れたデー タ の収集のために、 マ ス タ ーに よ っ て 使用 さ れ る 。SS S CSO_B/FCS_B(2) ス レ ーブ セ レ ク ト はア ク テ ィ ブ Low 信号。High 駆
動に よ っ て、 ス レ ーブ デバ イ ス の選択が解除 さ れ、 MISO が高 イ ン ピーダ ン ス にな る 。
SPI シ リ アルフ ラ ッ シ ュか らの FPGA の コ ン フ ィ ギ ュ レーシ ョ ン
SPI
シ リ アル
フ ラ ッ シ ュか ら の
FPGA
の コ ン フ ィ
ギ ュ レーシ ョ ン
Spartan-3E FPGA お よ び Virtex-5 FPGA は、1 つの SPI シ リ アル フ ラ ッ シ ュ メ モ リ か ら コ ン フ ィ ギ ュ レーシ ョ ンで き ます。表2に、 こ れ ら の FPGA の一般的な コ ン フ ィ ギ ュ レーシ ョ ン集積度の要件を示し ます。 書 き 込み 禁止 W FPGA の コ ン フ ィ ギ ュ レ ーシ ョ ン には 不要だが、SPI シ リ アルフ ラ ッ シ ュ を プ ロ グ ラ ム ま たは消去す る 場合は High に な っ てい る 必要があ る 。FPGA ユーザー I/O へ接続可能 (オプシ ョ ン)。 選択 し た エ リ ア を 命令のプ ロ グ ラ ム ま た は消去か ら 保護す る 。 ホール ド HOLD FPGA の コ ン フ ィ ギ ュ レ ーシ ョ ン には 不要だが、FPGA の コ ン フ ィ ギ ュ レ ー シ ョ ン 中お よ び SPI シ リ ア ル フ ラ ッ シ ュ のプ ロ グ ラ ム/消去中には High に な っ てい る 必要があ る 。FPGA ユーザー I/O へ接続可能 (オプシ ョ ン)。 デバ イ ス の選択を解除せずに、 デバ イ ス と のすべての シ リ アル通信を一時停止す る ために使用す る 。 注記 : 1. 汎用 SPI シ リ アルフ ラ ッ シ ュ の ピ ン名は、 最 も 一般的なベン ダーピ ン名で記載 さ れてい ます。 各ベン ダーで使用 さ れ る SPI 制御信号のサブセ ッ ト は異な る こ と があ り ます。 特定の ピ ンの情報お よ び説明は、 ベン ダーのデー タ シー ト を参照 し て く だ さ い。
2. CSO_B 信号は Spartan-3E FPGA で、FCS_B 信号は Virtex-5 FPGA でそれぞれ、 コ ン フ ィ ギ ュ レーシ ョ ンのために SPI シ リ アルフ ラ ッ シ ュ と イ ン タ ーフ ェ イ スす る ために使用 さ れます。Virtex-5 FPGA の CSO_B 信号は、SPI シ リ アルフ ラ ッ シ ュ 上のチ ッ プセ レ ク ト を制御す る のでは な く 、 高度なデ イ ジーチ ェーンに使用 さ れます。 表 1 : SPI シ リ アル フ ラ ッ シ ュ イ ン タ ー フ ェ イ ス接続 と ピ ン名 (続き) SPI 信号 SPI シ リ アル フ ラ ッ シ ュ ピ ン(1) FPGA接続 (Spartan-3E/Virtex-5 FPGA) 信号の説明 表 2 : 一般的な コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト 要件 FPGA コ ン フ ィ ギ ュ レーシ ョ ンビ ッ ト (デバイ ス当た り) 必要な最小 SPI シ リ アル フ ラ ッ シ ュ容量 Spartan-3E フ ァ ミ リ XC3S100E 581,344 1Mb XC3S250E 1,353,728 2Mb XC3S500E 2,270,208 4Mb XC3S1200E 3,837,184 4Mb XC3S1600E 5,969,696 8Mb Virtex-5 フ ァ ミ リ XC5VLX30 8,374,016 8Mb XC5VLX50 12,556,672 16Mb XC5VLX85 21,845,632 32Mb
SPI シ リ アルフ ラ ッ シ ュか らの FPGA の コ ン フ ィ ギ ュ レーシ ョ ン
5ページの図2に、Virtex-5 FPGA がマ ス タ ーで Numonyx 社製の SPI シ リ アルフ ラ ッ シ ュ が ス レーブ の場合の詳細な SPI コ ン フ ィ ギ ュ レーシ ョ ン設定を示 し ます。 こ の図には、SPI シ リ アルフ ラ ッ シ ュ か ら FPGA への コ ン フ ィ ギ ュ レーシ ョ ン接続が記載 さ れてい ます。 プ ロ グ ラ ムお よ びザ イ リ ン ク ス ケー ブルが使用す る コ ン フ ィ ギ ュ レーシ ョ ン ヘ ッ ダーの情報は、「SPI プ ロ グ ラ ム のためのハー ド ウ ェ アお よ び接続」を参照 し て く だ さ い。
6ページの図3に、Spartan-3E FPGA がマ ス タ ーで Numonyx 社製の SPI シ リ アルフ ラ ッ シ ュ が ス レー ブの場合の詳細な SPI コ ン フ ィ ギ ュ レーシ ョ ン設定を示 し ます。 こ の図には、SPI シ リ アル フ ラ ッ シ ュ か ら FPGA への コ ン フ ィ ギ ュ レーシ ョ ン接続が記載 さ れてい ます。プ ロ グ ラ ムお よ びザ イ リ ン ク スケー ブルが使用す る コ ン フ ィ ギ ュ レーシ ョ ン ヘ ッ ダーの情報は、「SPI プ ロ グ ラ ム のためのハー ド ウ ェ アお よ び接続」を参照 し て く だ さ い。 2ページの 「SPI の基本」で説明 し た SPI シ リ アルフ ラ ッ シ ュ イ ン タ ーフ ェ イ ス信号のほかに も 、 デー タ 転送の正常な開始 と 停止に影響を与え る FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン信号があ り ま す。 こ れ ら の FPGA 信号 と その説明を7ページの表3に示 し 、 その図を図2お よ び図3に示 し ます。 XC5VLX110T 31,118,848 32Mb XC5VLX155T 43,042,304 64Mb XC5VLX220T 55,133,696 64Mb XC5VLX330T 82,696,192 128Mb XC5VSX35T 13,349,120 16Mb XC5VSX50T 20,019,328 32Mb XC5VSX95T 35,716,096 64Mb XC5VSX240T 79,610,368 128Mb XC5VFX30T 13,517,056 16Mb XC5VFX70T 27,025,408 32Mb XC5VFX100T 39,389,696 64Mb XC5VFX130T 49,234,944 64Mb XC5VFX200T 70,856,704 128Mb XC5VTX150T 43,278,464 64Mb XC5VTX240T 65,755,648 128Mb 注記 : 1. 複数の FPGA コ ン フ ィ ギ ュ レーシ ョ ンビ ッ ト ス ト リ ーム を保存す る 、 デ イ ジーチ ェ ーン接続 さ れた アプ リ ケーシ ョ ンやエ ンベデ ッ ド MicroBlaze™ プ ロ セ ッ サ ま たはPowerPC™ プ ロ セ ッ サ用の コ ー ド な ど追加の ユーザーデー タ を保存す る アプ リ ケーシ ョ ンには、 よ り 大容量の SPI シ リ アルフ ラ ッ シ ュデバ イ ス を使用で き ます。1 つの フ ラ ッ シ ュ に よ る 複数の Spartan-3E FPGA のデ イ ジーチ ェーン接続は、 ス テ ッ ピ ン グ 1 以降 でのみサポー ト さ れてい ます。 表 2 : 一般的な コ ン フ ィ ギ ュ レーシ ョ ン ビ ッ ト 要件 (続き) FPGA コ ン フ ィ ギ ュ レーシ ョ ンビ ッ ト (デバイ ス当た り) 必要な最小 SPI シ リ アル フ ラ ッ シ ュ容量
SPI シ リ アルフ ラ ッ シ ュか らの FPGA の コ ン フ ィ ギ ュ レーシ ョ ン
X-Ref Target - Figure 2
注記 :
1. VCCO_2 は、SPI コ ン フ ィ ギ ュ レーシ ョ ンデ ュ アルモー ド ピ ン (MOSI、FCS_B、 お よ び FS[2:0]) に電源を供給 し ます。
2. VCC_CONFIG (Vcco_0) は コ ン フ ィ ギ ュ レーシ ョ ン出力電源電圧で、 専用 コ ン フ ィ ギ ュ レーシ ョ ンピ ン (TMS、TCK、TDO、TDI、M[2:0]、 HSWAPEN、PROG_B、DONE、INIT_B、CCLK、 お よ び D_IN) に電源を供給 し ます。
3. PROG_B は、SPI シ リ アルフ ラ ッ シ ュ の直接プ ロ グ ラ ミ ン グ中、Low に保持す る 必要があ り ます。FPGA を リ コ ン フ ィ ギ ュ レーシ ョ ンす る 場合、 外部 ロ ジ ッ ク を使用 し て こ れをLow か ら High に駆動で き ます。
4. HSWAPEN を Low に駆動す る と 、I/O でプルア ッ プ抵抗が有効にな り ます。 こ の ピ ンの詳細 と オプシ ョ ンは、7ページの表3お よ び[参照2]を 参照 し て く だ さ い。 VCC_CONFIG (2) FCS_B D_IN MOSI PROG_B(3) DONE GND D S VCC Q GND
Virtex-5
FPGA
+3.3V W(5) M2 M1 ‘0’ ‘0’ M0 ‘1’ FS2 FS1 ‘1’ FS0 ‘0’ C +3.3V '1'Numonyx
M25Pxx
SPI Flash
HOLD(5)SPI Variant
Select
(Read
0X03
)
+3.3V INIT_BMode
Selection
(SPI)
4.7 k Ω 4.7 k Ω X951_02_072410 CCLK(7) +3.3V 330 Ω TDO TCK TMS TDI HSWAPEN(4) +3.3V 4.7 k Ω NC MOSI MISO SCK SS VREF (+3.3V) NC NC TDI TDO TCK TMS VREF (+3.3V) NC•
•
•
Ribbon Cable Header for FPGA
JTAG Configuration
Ribbon Cable Header for SPI
Direct Programming
(6) VCCA UX (1) +2.5V VCCINT +1.0V +3.3V 4.7 k Ω VCCO_2 +3.3VJumper
•
SPI シ リ アルフ ラ ッ シ ュか らの FPGA の コ ン フ ィ ギ ュ レーシ ョ ン
X-Ref Target - Figure 3
注記 :
1. VCCAUX は、 専用の Spartan-3E FPGA コ ン フ ィ ギ ュ レーシ ョ ンピ ン (TMS、TDI、TDO、PROG_B、 お よ び DONE) に電源を供給 し ます。 2. VCCO_2 は Spartan-3E FPGA コ ン フ ィ ギ ュ レーシ ョ ン、 デ ュ アルモー ド ピ ン (M[2:0]、VS[2:0]、INIT_B、CCLK、CSO_B、DIN、 お よ び
MOSI) に電圧を供給 し ます。 ま た、VCCO_0 はデ ュ アルモー ド ピ ンの HSWAP に電源を供給 し ます。
3. PROG_B は、SPI シ リ アルフ ラ ッ シ ュ の直接プ ロ グ ラ ミ ン グ中、Low に保持す る 必要があ り ます。FPGA を リ コ ン フ ィ ギ ュ レーシ ョ ンす る 場合、 外部 ロ ジ ッ ク を使用 し て こ れを Low か ら High に駆動で き ます。
4. HSWAP を Low に駆動す る と 、I/O でプルア ッ プ抵抗が有効にな り ます。7ページの表3を参照 し て く だ さ い。
5. SPI シ リ アルフ ラ ッ シ ュ を プ ロ グ ラ ムす る と き は、 制御信号を適切に駆動す る 必要があ り ます。SPI シ リ アルフ ラ ッ シ ュ のプ ロ グ ラ ム中は、W お よ び HOLD な ど の信号を High (非ア ク テ ィ ブ) に保持す る 必要があ り ます。 詳細は、 ベン ダーのデー タ シー ト を参照 し て く だ さ い。
6. デ ュ アルコ ン フ ィ ギ ュ レーシ ョ ンモー ド の用途では、JTAG コ ン フ ィ ギ ュ レーシ ョ ンモー ド のために、M2 信号を High に保持す る オプシ ョ ン を 持つ こ と を推奨 し ます。
7. ケーブル信号の相互参照表は、13ページの表5を参照 し て く だ さ い。
8. 注意 : CCLK のボー ド レ イ ア ウ ト には注意が必要です。Spartan-3E FPGA は、 内部生成 さ れた CCLK 信号を FPGA CCLK 出力ピ ンに駆動 し ま CSO_B DIN MOSI PROG_B(3) DONE GND D S VCC Q GND
Spartan-3E
FPGA
+3.3V W(5) M2(6) M1 ‘0’ ‘0’ M0 ‘1’ VS2 VS1 ‘1’ VS0 ‘0’ C +3.3V '1'Numonyx
M25Pxx
SPI Flash
HOLD(5)SPI Variant
Select
(Read
0X03
)
+3.3V INIT_BMode
Selection
(SPI)
4.7 k Ω 4.7 k Ω X951_03_072410 CCLK(8) +2.5V 330 Ω TDO TCK TMS TDI HSWAP(4) +3.3V 4.7 k Ω•
•
•
•
Ribbon Cable Header for FPGA
JTAG Configuration
Ribbon Cable Header for SPI
Direct Programming
(7) +2.5V 4.7 k Ω NC TDI TDO TCK TMS VREF (+2.5V) NC VCCO_0 (2) VCCA UX (1) +2.5V VCCINT +1.2V VCCO_2 (2) +3.3VJumper
NC MOSI MISO SCK SS VREF (+3.3V) NCSPI シ リ アルフ ラ ッ シ ュか らの FPGA の コ ン フ ィ ギ ュ レーシ ョ ン 表 3 : FPGA SPI コ ン フ ィ ギ ュ レーシ ョ ン信号の名前 と 説明 Spartan-3E/ Virtex-5 FPGA ピ ン名 コ ン フ ィ ギ ュ レー シ ョ ン中の FPGA の方向 説明 コ ン フ ィ ギ ュ レーシ ョ ン中 コ ン フ ィ ギ ュ レーシ ョ ン後 Spartan-3E デバイ ス Virtex-5 デバイ ス
PROG_B
入力FPGA
の プ ロ グ ラ ム。 ア ク テ ィ ブLow
。Low
にアサー ト さ れ る と 、 コ ン フ ィ ギ ュ レ ーシ ョ ン メ モ リ を ク リ ア し 、DONE
ピ ン とINIT_B
ピ ン を リ セ ッ ト し て、FPGA
の コ ン フ ィ ギ ュ レ ーシ ョ ン プ ロ セ ス を強制的に再開す る。 外付け の4.7k
プル ア ッ プ 抵抗が必要。 適切なプルア ッ プ 電圧 は 該当す るFPGA
データ シー ト を参照。 外部か ら 駆動する場合、 オープン ド レ イ ン ま た は オープ ン コ レ ク タ ド ラ イ バーを使用。 コ ン フ ィ ギ ュ レーシ ョ ン を 開始す る には、High
にす る 必要があ る 。 専用。FPGA
を 再プ ロ グ ラ ム す る に は、PROG_B
をLow
に駆動し た後に リ リ ース。PROG_B
を保持し、FPGA
I/O
ピ ン を強制的に高イ ン ピーダ ン ス にする と 、SPI
シ リ アルフ ラ ッ シ ュ ピ ンへの直接プ ロ グ ラ ミ ン グ ア ク セ ス が可能にな る。INIT_B
オープ ン ド レ イ ン 双方向I/O
初期化イ ン ジ ケーター。 ア ク テ ィ ブLow
。 コ ン フ ィ ギ ュ レーシ ョ ン開始時、 メ モ リ 初 期化の ク リ ア プ ロ セ ス 中はLow
にな る。メ モ リ の ク リ ア 終了時、 モー ド セ レ ク ト ピ ン お よ び変数セ レ ク ト ピ ン が サ ン プ ル さ れ る と き に リ リ ース。デ イ ジーチ ェーンの ア プ リ ケ ー シ ョ ン で は、V
CCO_2への外付け4.7k
プ ルア ッ プ抵抗が必要。 コ ン フ ィ ギ ュ レーシ ョ ン中 はア ク テ ィ ブ。電源投入後、SPI
シ リ アルフ ラ ッ シ ュ が 起動す る ま で>2ms
必要な 場合、 フ ラ ッ シ ュ が使用可 能にな る ま でLow
に保持。 コ ン フ ィ ギ ュ レーシ ョ ン中 にCRC
エ ラ ーが検出 さ れ る と 、FPGA
はINIT_B
をLow
に駆動。 ユーザーI/O
。 アプ リ ケーシ ョ ンで未使用の場 合はHigh
に駆 動。 専用。M[2:0]
入力 モー ド セ レ ク ト 。FPGA
の コ ン フ ィ ギ ュ レーシ ョ ン モー ド を選択。SPI
モー ドM2=0
、M1=0
、M0=1
。INIT_B
がHigh
に な る と サンプル さ れ る 。 ユーザーI/O
。 専用。VS[2:0]/
FS[2:0]
入力 変数セ レ ク ト 。 付属す るSPI
シ リ アル フ ラ ッ シ ュ と の通 信方法を指定。 有 効 な 設 定 オ プ シ ョ ン は 表4
を 参照。INIT_B
がHigh
にな り 、 サンプル さ れ る 時点で有効な設定の必要 があ る。 ユーザーI/O
。 ユーザーI/O
。SPI シ リ アルフ ラ ッ シ ュか らの FPGA の コ ン フ ィ ギ ュ レーシ ョ ン
CSO_B/
FCS_B
(1) 出力 チ ッ プ セ レ ク ト 出力。 ア ク テ ィ ブLow
。SPI
シ リ アルフ ラ ッ シ ュ の チ ッ プ セ レ ク ト 入力 に 接 続。HSWAP/HSWAPEN=1
の場 合は、4.7k
プルア ッ プ抵抗 に接続。 適切な プルア ッ プ 電圧 は、 該当す るFPGA
データ シー ト を参照。SPI
シ リ ア ル フ ラ ッ シ ュ を無効に し、MOSI
、DIN
、CCLK
ピ ン を ユーザーI/O
と し て 再 使 用 す る に は、 コ ン フ ィ ギ ュ レ ー シ ョ ン 後 にCSO_B
をHigh
に駆動。 オプシ ョ ンで、 こ のピ ン とMOSI
、DIN
、およ びCCLK
を 再利 用 し て、SPI
シ リ ア ル フ ラ ッ シ ュ と の 通 信 を 継 続 で き る。SPI
シ リ ア ル フ ラ ッ シ ュ を 無 効 に し、 こ のピ ン を ユーザーI/O
と し て 再 使 用 す る に は、 コ ン フ ィ ギ ュ レ ー シ ョ ン 後 にFCS_B
をHigh
に駆動。D_IN
お よ びCCLK
は コ ン フ ィ ギ ュ レ ー シ ョ ン 専 用 ピ ン のため、 ユーザーI/O
と し ての リ コ ン フ ィ ギ ュ レ ー シ ョ ンは不可。STARTUP_VIRT
EX5
プ リ ミ テ ィ ブ を 使用す る と 、 コ ン フ ィ ギ ュ レ ー シ ョ ン 後 に ピ ン に ア ク セ ス で き る。CCLK
出力 コ ン フ ィ ギ ュ レ ーシ ョ ン ク ロ ッ ク 。FPGA
内部オシ レー タ ー で 生 成。 周 波 数 は、ConfigRate
ビ ッ ト ス ト リ ー ム ジ ェ ネ レー タ ーオプシ ョ ンに よ っ て制御。CCLK PCB
ト レース が長い、 ま たは複数 の接続があ る場合、 シグナル イ ン テ グ リ テ ィ を 維持す る ために こ の出力を終端。SPI
シ リ ア ル フ ラ ッ シ ュ の ク ロ ッ ク 入力を駆動。 ユーザーI/O
。 専用。MOSI
出力 シ リ アルデー タ 出力。FPGA
は、SPI
シ リ アルフ ラ ッ シ ュ 読み出 し コ マ ン ド と 開 始 ア ド レ ス を フ ラ ッ シ ュ シ リ ア ルデー タ 入力 に送信。 ユーザーI/O
。 ユーザーI/O
。DIN/
D_IN
入力 シ リ アルデー タ 入力。FPGA
は、 フ ラ ッ シ ュ シ リ ア ルデー タ 出力 か ら シ リ アルデー タ を受信。 ユーザーI/O
。 専用。 表 3 : FPGA SPI コ ン フ ィ ギ ュ レーシ ョ ン信号の名前 と 説明 (続き) Spartan-3E/ Virtex-5 FPGA ピ ン名 コ ン フ ィ ギ ュ レー シ ョ ン中の FPGA の方向 説明 コ ン フ ィ ギ ュ レーシ ョ ン中 コ ン フ ィ ギ ュ レーシ ョ ン後 Spartan-3E デバイ ス Virtex-5 デバイ スSPI シ リ アルフ ラ ッ シ ュか らの FPGA の コ ン フ ィ ギ ュ レーシ ョ ン 図4は、 ザ イ リ ン ク ス FPGA の SPI コ ン フ ィ ギ ュ レーシ ョ ンモー ド の大ま かな タ イ ミ ン グ図を示 し て い ます。SPI イ ン タ ーフ ェ イ ス の こ の一般的な タ イ ミ ン グ図は、 新 し い SPI 直接 イ ン タ ーフ ェ イ ス をサ ポー ト す る ザ イ リ ン ク ス FPGA フ ァ ミ リ に適用 さ れます。
DONE
オープン ド レ イ ン双方向I/O
FPGA
コ ン フ ィ ギ ュ レ ー シ ョ ン 完了。 コ ン フ ィ ギ ュ レーシ ョ ン中はLow
。FPGA
の コ ン フ ィ ギ ュ レ ー シ ョ ン が正常に完了す る と 、High
にな る。 外付けの330
プル ア ッ プ抵抗が必要。 適切なプ ル ア ッ プ 電圧は、 該当す るFPGA
データ シー ト を参照。Low
は、FPGA
の コ ン フ ィ ギ ュ レーシ ョ ン が未完了で あ る こ と を示す。 外部プルア ッ プ抵抗を介 し てHigh
にプルア ッ プ。High
の場合、FPGA
が正常に コ ン フ ィ ギ ュ レーシ ョ ン さ れた こ と を示す。DOUT
出力 シ リ アルデー タ 出力。 ア ク テ ィ ブ に駆動。FPGA
が1
つのアプ リ ケーシ ョ ン で は 未 使 用。 デ イ ジ ー チ ェーンコ ン フ ィ ギ ュ レー シ ョ ン の場合、 チ ェ ーン内 の次のFPGA
のDIN/D_IN
入力 に 接続。 こ れ に よ り 、 ダ ウ ン ス ト リ ームFPGA
は ス レ ーブ シ リ ア ル モー ド にな る。 ユーザーI/O
。 専用。HSWAP/
HSWAPEN
入力 ユーザーI/O
プル ア ッ プ制 御。 コ ン フ ィ ギ ュ レーシ ョ ン 中にLow
の場合、 全I/O
ピ ン に対す る 各I/O
バ ン ク のV
CCO 入力へ の プ ル ア ッ プ 抵抗を有効にす る 。0 :
コ ン フ ィ ギ ュ レーシ ョ ン 中、 プルア ッ プ1 :
プルア ッ プな し コ ン フ ィ ギ ュ レ ー シ ョ ン 中、 有効な ロ ジ ッ ク レベル で駆動。 ユーザーI/O
。 専用。 注記 :1. SPI ISP プ ロ グ ラ ムの場合、CSO_B は Spartan-3E FPGA で、FCS_B は Virtex-5 FPGA で使用 さ れます。Virtex-5 FPGA では、CSO_B 信号は 高度なデ イ ジーチ ェーン機能のために使用 さ れ、SPI ISP プ ロ グ ラ ムには使用 さ れません。 詳細は、FPGA デー タ シー ト ま たは FPGA コ ン フ ィ ギ ュ レーシ ョ ンガ イ ド を参照 し て く だ さ い。 表 3 : FPGA SPI コ ン フ ィ ギ ュ レーシ ョ ン信号の名前 と 説明 (続き) Spartan-3E/ Virtex-5 FPGA ピ ン名 コ ン フ ィ ギ ュ レー シ ョ ン中の FPGA の方向 説明 コ ン フ ィ ギ ュ レーシ ョ ン中 コ ン フ ィ ギ ュ レーシ ョ ン後 Spartan-3E デバイ ス Virtex-5 デバイ ス
SPI シ リ アルフ ラ ッ シ ュか らの FPGA の コ ン フ ィ ギ ュ レーシ ョ ン
電源投入時ま たは PROG_B ピ ンが Low にパルス さ れ る と 、FPGA で初期化シーケ ン ス が開始 し 、 内部 FPGA コ ン フ ィ ギ ュ レ ーシ ョ ン メ モ リ が ク リ ア さ れ ま す。 こ の シーケ ン ス の最初に、DONE ピ ン と INIT_B ピ ンが共に Low にな り ます。 初期化が完了す る と 、INIT_B ピ ンが High にな り 、 モー ド セ レ ク ト ピ ンお よ び変数セ レ ク ト ピ ン (VS[2:0] ま たは FS[2:0]) がサ ン プル さ れ ま す。SPI コ ン フ ィ ギ ュ レーシ ョ ン モー ド お よ び FPGA 内部 ク ロ ッ ク を有効にす る には、モー ド ピ ン を M[2:0]=<0:0:1>に設 定す る 必要があ り ます。SPI モー ド の場合、FPGA は変数セ レ ク ト ピ ン をサンプル し て、 発行す る SPI コ マ ン ド シーケ ン ス を決定 し ます。 サンプ リ ン グが正常に行われ る には、 初期化後に INIT_B 信号が リ
リ ース さ れた時点で、モー ド ピ ン と 変数セ レ ク ト ピ ンが適切な ロ ジ ッ ク レベルであ る 必要があ り ます。 表4に、Spartan-3E お よ び Virtex-5 デバ イ ス で使用可能な変数セ レ ク ト コ ー ド を示 し ます。
X-Ref Target - Figure 4
注記 :
1. VS[2:0]/FS[2:0] の設定は、 使用す る SPI ベン ダーに よ っ て異な る こ と があ り ます。 選択については、7ページの表3を参照 し て く だ さ い。 2. 発行 さ れ る MOSI ダ ミ ーバ イ ト 数は、 変数セ レ ク ト (VS[2:0]/FS[2:0]) オプシ ョ ンに よ っ て異な り ます。11ページの表4を参照 し て く だ さ い。 3. デフ ォ ル ト の ス タ ー ト ア ッ プシーケ ン ス を示 し てい ます。
4. Virtex-5 FPGA では、 こ れ ら の信号は コ ン フ ィ ギ ュ レーシ ョ ン専用であ る ため、 コ ン フ ィ ギ ュ レーシ ョ ン後にユーザー I/O と し て使用で き ません。 Spartan-3E FPGA では、 コ ン フ ィ ギ ュ レーシ ョ ン後にユーザー I/O と し て使用で き ます。
図 4 : FAST READ に対する SPI コ ン フ ィ ギ ュ レーシ ョ ン フ ロー (0x0B)
...
...
PROG_B INIT_B(4) M[2:0](1)(4) VS[2:0]/FS[2:0] CSO_B/FCS_B CCLK(3) MOSI DIN/D_IN(4) DONE 0x0B...
< 1 : 1 : 1 > < 0 : 0 : 1 > User I/O...
8-bit Read Operation 24-bit Address 0x000000
1 Dummy Byte(2)
User I/O Valid Bitstream
Header + Sync Word + Data
...
X951_04_120406
SPI シ リ アルフ ラ ッ シ ュ コ ン フ ィ ギ ュ レーシ ョ ン における電源投入時の留意点
変数セ レ ク ト ピ ン に よ っ て SPI コ マ ン ド セ ッ ト が選択 さ れ る と 、FPGA は CSO_B セ レ ク ト 信号 を Low に駆動 し 、FPGA の CCLK ピ ン を介 し て SPI シ リ アル フ ラ ッ シ ュ の ク ロ ッ キ ン グ を開始 し ます。 次に FPGA は、8 ビ ッ ト の読み出 し コ マ ン ド 、24 ビ ッ ト の開始ア ド レ ス0x00_0000、 お よ び タ ーゲ ッ ト コ マ ン ドセ ッ ト に適切な数のダ ミ ーバ イ ト を順に送信 し ます。FPGA は、必要数の コ ン フ ィ ギ ュ レー シ ョ ンビ ッ ト が読み出 さ れ る ま で、 ア ド レ ス 0 か ら SPI フ ラ ッ シ ュ ア レ イ を読み出 し ます。 メ モ リ デ バ イ ス か ら 有効な ビ ッ ト ス ト リ ームが読み出 さ れ る と 、DONE 信号が リ リ ース さ れ、FPGA の コ ン フ ィ ギ ュ レーシ ョ ンが正常に完了 し た こ と を示 し ます。コ ン フ ィ ギ ュ レーシ ョ ンが適切に完了す る と 、FPGA の SPI ピ ンはすべてユーザー I/O と し て使用可能にな り ます。 コ ン フ ィ ギ ュ レーシ ョ ン中に使用 さ れ る FPGA 信号は、7ページの表3に示 さ れてい ます。SPI モー ド で FPGA を コ ン フ ィ ギ ュ レーシ ョ ンす る 場合、 正常な コ ン フ ィ ギ ュ レーシ ョ ン を行 う には、 こ の表の記 載に従っ て信号が接続 さ れてい る 必要があ り ます。
SPI
シ リ アル
フ
ラ ッ シ ュ
コ ン フ ィ
ギ ュ レーシ ョ ン に
おける電源投入時
の留意点
電源投入時、FPGA と SPI シ リ アルフ ラ ッ シ ュ の間に競合状態が発生す る こ と があ り ます。FPGA の パ ワーオン リ セ ッ ト シーケ ン ス が完了 し た後、FPGA はビ ッ ト ス ト リ ーム を取得す る ため SPI シ リ アル フ ラ ッ シ ュ に読み出 し コ マ ン ド を送信 し ます。 一方、SPI シ リ アルフ ラ ッ シ ュ はそれ自体のパ ワーオン リ セ ッ ト シーケ ン ス が完了す る ま で、 読み出 し コ マ ン ド を受信で き ません。SPI シ リ アルフ ラ ッ シ ュ へ の 3.3V 電源が FPGA 電源 よ り も 後に投入 さ れ る 特定の条件下では、 競合状態が発生 し 、SPI シ リ アル フ ラ ッ シ ュ が読み出 し コ マ ン ド を受信で き ない こ と があ り ます。FPGA が読み出 し コ マ ン ド を送信す る 前に SPI シ リ アルフ ラ ッ シ ュ が読み出 し コ マ ン ド を受信可能な状態にな る よ う に、シ ス テ ム を設計す る 必要があ り ます。 注記 : 詳細は、[参照4]の 「3.3V 電源がシーケ ン ス の最後にあ る 場合の電源投入時」 を参照 し て く だ さ い。 電源投入時の留意事項の詳細お よ び電源投入 コ ン フ ィ ギ ュ レーシ ョ ン を正常に行 う ための注意事項 は、[参照3]を参照 し て く だ さ い。 表 4 : 変数セ レ ク ト (VS[2:0] または FS[2:0]) ピ ン コ ー ド VS[2:0]/FS[2:0](1) SPI シ リ アル フ ラ ッ シ ュ コ マ ン ド(2) ア ド レ スサイ ズ ダ ミ ーバイ ト(2) <1:1:1> FAST READ (0x0B) 24 ビ ッ ト 1 バ イ ト <1:0:1> READ (0x03) 24 ビ ッ ト 0 バ イ ト <1:1:0> READ ARRAY (0xE8) 24 ビ ッ ト 4 バ イ ト 注記 :
1. 変数セ レ ク ト ピ ンは、Spartan-3E FPGA では VS[2:0] と 表記 さ れ、Virtex-5 FPGA では FS[2:0] と 表記 さ れま す。 こ の表には、 最 も 一般的な読み出 し コ マ ン ド を記載 し てい ます。 読み出 し コ マ ン ド オプシ ョ ンの完全な
リ ス ト は、FPGA のデー タ シー ト ま たは コ ン フ ィ ギ ュ レーシ ョ ンガ イ ド を参照 し て く だ さ い。
2. SPI シ リ アルフ ラ ッ シ ュコ マ ン ド お よ びダ ミ ーバ イ ト は、 変数に よ っ て異な り ます。 サポー ト さ れ る 読み出 し コ マ ン ド は、SPI シ リ アルフ ラ ッ シ ュベン ダーの該当す る デー タ シー ト を参照 し て く だ さ い。
SPI シ リ アルフ ラ ッ シ ュのプ ロ グ ラ ムオプ シ ョ ン
SPI
シ リ アル
フ
ラ ッ シ ュのプ ログ
ラ ム
オプ シ ョ ン
従来の コ ン フ ィ ギ ュ レーシ ョ ン メ モ リ と 同様に、SPI シ リ アルフ ラ ッ シ ュ メ モ リ には コ ン フ ィ ギ ュ レー シ ョ ンデー タ を ロ ー ド す る 必要があ り ます。SPI シ リ アルフ ラ ッ シ ュ メ モ リ のプ ロ グ ラ ム用 イ ン タ ー フ ェ イ ス は 1 つですが、 こ の イ ン タ ーフ ェ イ ス にデー タ を受け渡す方法は複数あ り ます。SPI イ ン タ ー フ ェ イ ス を介 し て SPI シ リ アルフ ラ ッ シ ュ をプ ロ グ ラ ムす る には、 主に次の 3 つの方法があ り ます。 • サー ド パーテ ィ プ ロ グ ラ マ (オ フ ボー ド プ ロ グ ラ ミ ン グ) • 間接 イ ン シ ス テ ムプ ロ グ ラ ミ ン グ (JTAG ツールベン ダーま たはカ ス タ ム ソ リ ュ ーシ ョ ン) • 直接 イ ン シ ス テ ムプ ロ グ ラ ミ ン グ (SPI へ直接接続) 製品プ ロ グ ラ ムは通常、 サー ド パーテ ィ プ ロ グ ラ マ ま たは JTAG ツールベン ダーを介 し て行われ、 量 産向けギ ャ ン グプ ロ グ ラ ミ ン グ を提供 し てい る 販売代理店 も 数多 く あ り ます。 プ ロ ト タ イ ピ ン グには、 ザ イ リ ン ク ス ISE 開発 ソ フ ト ウ ェ アツールに含まれ る iMPACT ソ フ ト ウ ェ ア と 、ザ イ リ ン ク ス パ ラ レ ル ケーブル ま たはプ ラ ッ ト フ ォ ー ム ケーブル USB と 併用す る こ と で選択 し た SPI シ リ アル フ ラ ッ シ ュ メ モ リ を直接プ ロ グ ラ ム で き ます (21ページの表7)。 ただ し 、標準の JTAG イ ン タ ーフ ェ イ ス で イ ン シ ス テ ムプ ロ グ ラ ム可能なザ イ リ ン ク スプ ラ ッ ト フ ォー ム フ ラ ッ シ ュ PROM ([参照4]) と は異な り 、SPI フ ラ ッ シ ュ デバ イ ス の場合、 ザ イ リ ン ク ス の ソ フ ト ウ ェ アお よ びケーブルを使用 し て SPI を介 し た直接 イ ン シ ス テ ムプ ロ グ ラ ミ ン グ を行 う には、 追加の ケーブルコ ネ ク タ が必要です (5ページの図2)。 次のセ ク シ ョ ンでは、 プ ロ ト タ イ プデザ イ ン向け SPI シ リ アルフ ラ ッ シ ュ の直接的 イ ン シ ス テ ムプ ロ グ ラ ミ ン グに必要なハー ド ウ ェ ア接続について説明 し ます。 ま た、SPI 用の フ ァ イ ル生成お よ び選択 し た SPI シ リ アルフ ラ ッ シ ュ メ モ リ を プ ロ グ ラ ムす る ためのザ イ リ ン ク ス の ソ フ ト ウ ェ アツールフ ロ ー について も 説明 し ます。 SPI シ リ アルフ ラ ッ シ ュ で イ ン シ ス テ ムプ ロ グ ラ ミ ン グ を適切に実行す る には、 次が必要です。 • ザ イ リ ン ク ス ケーブル (パ ラ レルケーブル IV ま たはプ ラ ッ ト フ ォーム ケーブル USB) • ボー ド 上にケーブルコ ネ ク タ • 適切に イ ン ス ト ール さ れたザ イ リ ン ク ス ISE 8.2i ソ フ ト ウ ェ ア (ま たはそれ以降。11.4 がサポー ト さ れ る 最後のバージ ョ ンで、 こ のアプ リ ケーシ ョ ン ノ ー ト も 11.4 について説明す る)SPI
プ ログ ラ ムのためのハー ド ウ ェ アおよび接続
記載 さ れてい る ザ イ リ ン ク ス ケーブルは、 従来か ら サポー ト し てい る モー ド (IEEE 1149.1 規格、IEEE 1532 規格、 ス レーブシ リ アル、 お よ びス レーブ SelectMAP) に加え、 直接 SPI イ ン タ ーフ ェ イ ス に よ る SIP シ リ アルフ ラ ッ シ ュ のプ ロ グ ラ ム をサポー ト し ます。 こ れ ら のケーブルはすべて、 標準の 14 ピ ン リ ボ ン ケーブルを使用 し ます。 リ ボ ンケーブルは、 接続が 容易で、 高速でプ ロ グ ラ ミ ン グす る 際の信号品質が高いため、 フ ラ イ ン グ リ ー ド よ り も 適 し てい ます。 SPI シ リ アルフ ラ ッ シ ュ の イ ン シ ス テ ムプ ロ グ ラ ミ ン グ を実行す る には、 リ ボ ン ケーブルコ ネ ク タ が ボー ド に含ま れ る 必要があ り ます。 既存のケーブルポ ッ ド ラ ベルには新 し く サポー ト さ れた こ のプ ロ グ ラ ムモー ド が反映 さ れていないため、5ページの図2の ピ ン配置 と表5の相互参照に示す と お り に、 信号が正 し く 接続 さ れてい る こ と が重要です。SPI シ リ アルフ ラ ッ シ ュのプ ロ グ ラ ムオプ シ ョ ン
SPI シ リ アルフ ラ ッ シ ュ に送信 さ れ FPGA CCLK ピ ンに現れ る 信号の品質を保つには、 ケーブルコ ネ ク タ お よ び SPI シ リ アルフ ラ ッ シ ュ の電源投入時の留意事項に従 う だけでな く 、SPI シ リ アルフ ラ ッ シ ュ の VCCが印加電圧 と 一致 し 、CCLK ト レース が短 く な る よ う にす る 必要があ り ます。
最後に、SPI シ リ アルフ ラ ッ シ ュ のプ ロ グ ラ ム中は、MOSI、MISO、SCK、 お よ び SS 信号を駆動す る FPGA ピ ンが高 イ ン ピーダ ン ス の必要があ り ます。 こ れ ら の入力を高 イ ン ピーダ ン ス にす る こ と で、 SPI シ リ アル フ ラ ッ シ ュ を直接プ ロ グ ラ ムす る 際に、FPGA に よ る 競合が発生す る こ と を回避で き ま す。FPGA の SPI 信号を高 イ ン ピーダ ン ス にす る には、 い く つかの方法があ り ます。
• FPGA の PROG_B ピ ン を Low に保持 し 、 すべての I/O ピ ン を ト ラ イ ス テー ト にする
• FPGA のモー ド ピ ン を JTAG モー ド (M[2:0] = <1:0:1>) に変更 し 、PROG_B をパルスす る と 、 す べての FPGA I/O が強制的に高 イ ン ピーダ ン ス にな る
• ザ イ リ ン ク ス ISE iMPACT を使用 し て付属す る SPI シ リ アル フ ラ ッ シ ュ をプ ロ グ ラ ムす る 場合 表 5 : SPI プ ログ ラ ムモー ド 向けダウン ロー ド ヘ ッ ダー信号の説明 リ ボンケー ブル番号 SPI プ ログ ラ ム モー ド JTAG/ス レーブシ リ アルの コ ン フ ィ ギ ュ レーシ ョ ン モー ド 信号の相互参照 種類 SPI ヘ ッ ダーの用途
2 VREF VREF 入力 目標基準電圧。JTAG、 ス レーブシ リ アル、 ま たは SPI イ ン タ ーフ ェ イ ス と し て動作す る タ ーゲ ッ ト シ ス テ ム上の電圧バ ス に接続す る 。 目 標基準電圧には制限が必要で、VREFピ ン に直列接続 さ れた限流抵抗 は付けない よ う にす る 。 4 SS TMS/PROG 出力 チ ッ プ セ レ ク ト (S)。 デバ イ ス が命令を受け入れ る よ う にす る ために 使用。 6 SCK TCK/CCLK 出力 SPI ク ロ ッ ク (C)。SPI フ ラ ッ シ ュ メ モ リ ク ロ ッ ク は、 シ リ アルイ ン タ ーフ ェ イ ス の タ イ ミ ン グ を与え、 ザ イ リ ン ク ス ケーブルに よ っ て生 成 さ れ る 。 8 MISO TDO/DONE 入力 シ リ アルデー タ 出力 (Q)。 デバ イ ス か ら デー タ を シ リ アル出力す る た めに使用。 10 MOSI TDI/DIN 出力 シ リ アルデー タ 入力 (D)。 デバ イ ス にデー タ を シ リ アル入力す る ため に使用。 デバ イ ス は、 こ の信号か ら 命令、 ア ド レ ス、 お よ びプ ロ グ ラ ム さ れ る デー タ を受け取 る 。 12 N/C N/C - 予約済み。 こ の ピ ンは、 ザ イ リ ン ク ス の診断機能のために予約 さ れて い る ため、 タ ーゲ ッ ト 回路に接続 し ない。 14 - – /INIT BIDIR -1、3、5、7、 9、11、13 - GND GND デジ タ ルグ ラ ン ド 。
SPI フ ァ イルの準備 と プ ロ グ ラ ムのための ソ フ ト ウ ェ ア フ ロー
SPI
フ ァ イルの
準備 と プ ロ グ ラ ム
のための ソ フ ト
ウ ェ ア
フ ロー
SPI PROM
フ ァ イルの準備
こ のセ ク シ ョ ン では、SPI シ リ アル フ ラ ッ シ ュ 用の PROM フ ァ イ ルを作成す る 際のガ イ ド ラ イ ンお よ び ソ フ ト ウ ェ アフ ロ ーを説明 し ます。FPGA ビ ッ ト ス ト リ ーム を SPI 用の PROM フ ァ イ ルに変換す る 前に、 ビ ッ ト ス ト リ ーム がbitgen -g StartupClk:Cclkオプシ ョ ン を使用 し て生成 さ れた こ と を 確認 し ます。こ のオプシ ョ ンに よ り 、ス タ ー ト ア ッ プシーケ ン ス が内部 FPGA ク ロ ッ ク に同期 し 、FPGA が正常に機能 し ます。ザ イ リ ン ク ス ISE ソ フ ト ウ ェ ア ツールの PROMGen ま たは iMPACT は、FPGA ビ ッ ト ス ト リ ーム か ら SPI 用の PROM フ ァ イ ルを生成 し ます。SPI シ リ アルフ ラ ッ シ ュ は、 デー タバ イ ト の MSB か ら シ リ アル出力 し ますが、 ザ イ リ ン ク ス PROM は LSB か ら 出力 し ます。SPI 用の PROM フ ァ イ ルは、 標 準のザ イ リ ン ク ス PROM フ ァ イ ルか ら の各バ イ ト 内で ビ ッ ト 反転 さ せた も のです。
ISE PROMGen
コ マ ン ド ラ イ ン
ソ フ ト ウ ェ ア を使用 し た
SPI PROM
フ ァ イルの
準備
ザ イ リ ン ク ス ISE PROMGen ソ フ ト ウ ェ アは、FPGA ビ ッ ト ス ト リ ーム (.bit) フ ァ イ ルを入力 と し 、 適切なオプシ ョ ン を使用 し て、SPI シ リ アルフ ラ ッ シ ュ のデー タ ア レ イ 用の メ モ リ イ メ ージフ ァ イ ル を生成 し ます。 出力 さ れた メ モ リ イ メ ージ フ ァ イ ルの形式は、PROMGen ソ フ ト ウ ェ アの コ マ ン ド ラ イ ンオプシ ョ ン で選択 さ れます。 標準的な フ ァ イ ル形式には、Intel Hex (.mcs)、Motorola Hex (.exo) があ り ます。
ISE PROMGen ソ フ ト ウ ェ アユーテ ィ リ テ ィ は、 コ マ ン ド ラ イ ンか ら 簡単に実行で き ます (SPI PROM フ ァ イ ルの生成に使用す る ISE PROMGen ソ フ ト ウ ェ アオプシ ョ ンは、14ページの表6を参照)。 次 に、64 メ ガ ビ ッ ト (8,192 キ ロ バ イ ト) の SPI シ リ アルフ ラ ッ シ ュ 用の MCS フ ァ イ ルを生成す る ため の PROMGen ソ フ ト ウ ェ ア コ マ ン ド ラ イ ンの例を示 し ます。
promgen -spi -p mcs -o spi_flash.mcs -s 8192 -u 0 design.bit
-spiオプシ ョ ンは、SPI PROM フ ァ イ ル内の ビ ッ ト 順を正 し く す る ために必要です。- p mcsオプシ ョ ン は、Intel Hex (.mcs) 出 力 フ ァ イ ル 形 式 を 指 定 し ま す。 -o spi_flash.mcs は、 出 力 を spi_flash.mcsフ ァ イ ルに指定 し ます。 -s 8192は、PROM フ ァ イ ルの イ メ ージサ イ ズ を 8,192 キ ロ バ イ ト に指定 し ます。 -u 0オプシ ョ ンは、 ア ド レ ス 0 か ら デー タ を開始 し 、 上方向にデー タ ア レ イ に格納す る よ う 指定 し ます。 design.bitは、 入力ビ ッ ト ス ト リ ーム フ ァ イ ルです。
表6に、PROMGen オプシ ョ ン と その機能を示 し ます。 表 6 : PROMGen SPI PROM フ ァ イルオプ シ ョ ンの例
PROMGen オプ シ ョ ン 内容
-spi FPGA を SPI シ リ アル フ ラ ッ シ ュ デバ イ ス か ら コ ン フ ィ ギ ュ レーシ ョ ン す る ために必要な正 し いビ ッ ト 順を維持す る ために使用。
-p <形式> PROM 出力フ ァ イ ルの形式。一般的な PROM フ ァ イ ル形式 と し ては、Intel Hex (.mcs)、Motorola Hex (.exo) があ る 。
-s <サ イ ズ> PROM サ イ ズ を キ ロ バ イ ト 単位で指定。 こ のオプシ ョ ンの PROM サ イ ズ は 2 のべ き 乗であ る 必要があ り 、 デフ ォ ル ト 設定は 64 キ ロ バ イ ト 。
-u <ア ド レ ス > 指定 さ れた開始ア ド レ ス か ら 上方向に.bit フ ァ イ ルを ロ ー ド す る 。 こ の オプシ ョ ンは、 入力ビ ッ ト ス ト リ ーム フ ァ イ ルの直前に指定。
SPI フ ァ イルの準備 と プ ロ グ ラ ムのための ソ フ ト ウ ェ ア フ ロー
ISE iMPACT
グ ラ フ ィ カル
ソ フ ト ウ ェ ア を使用 し た
SPI PROM
フ ァ イルの準備
ISE iMPACT 8.2i (ま たはそれ以降) の ソ フ ト ウ ェ アでは、直感的な グ ラ フ ィ カルユーザーイ ン タ ーフ ェイ ス で PROM フ ァ イ ルの フ ォ ーマ ッ ト お よ び イ ン シ ス テ ム プ ロ グ ラ ミ ン グ を 行 う こ と がで き ま す。 PROMGen フ ァ イ ルのフ ォーマ ッ ト 機能は、iMPACT ソ フ ト ウ ェ アの段階的な ウ ィ ザー ド で提供 さ れま す。 ウ ィ ザー ド では、 出力 PROM フ ァ イ ルオプシ ョ ンお よ び入力ビ ッ ト ス ト リ ーム を順に選択 し ます。 iMPACT で PROM フ ァ イ ルを生成す る には、 最後の手順が必須です。
iMPACT ソ フ ト ウ ェ アでは、 ザ イ リ ン ク ス FPGA ビ ッ ト ス ト リ ームか ら SPI PROM フ ァ イ ルを単純な プ ロ セ ス で生成で き ま す。 既定の順序で表示 さ れ る ダ イ ア ロ グ ボ ッ ク ス (す な わ ち ウ ィ ザー ド) は、 PROM フ ァ イ ル生成プ ロ セ ス のほ と ん ど の手順を誘導 し ます。
次のセ ク シ ョ ン では、iMPACT 11.4 ソ フ ト ウ ェ ア を 使用 し て 64Mb SPI シ リ ア ル フ ラ ッ シ ュ 向け に MCS フ ァ イ ル形式で SPI 用の PROM フ ァ イ ルを生成す る 場合について説明 し ま す。 こ のプ ロ セ ス で は、FPGA ビ ッ ト ス ト リ ーム フ ァ イ ルのdesign.bitを入力 と し て、 spi_flash.mcsと い う 名前の PROM フ ァ イ ルを生成 し ます。
手順1 : PROM フ ァ イル生成用プ ロ ジ ェ ク ト の新規作成
iMPACT ソ フ ト ウ ェ ア を起動す る と 、[iMPACT Project] ダ イ ア ロ グボ ッ ク ス が開 き ます (図5)。[create a new project (.ipf)] を選択 し ます。 オプシ ョ ン と し て [Browse] を ク リ ッ ク し てプ ロ ジ ェ ク ト の位置 を指定 し ます。 その後、[OK] を ク リ ッ ク し て手順 2 に進みます。
X-Ref Target - Figure 5
図 5 : PROM フ ァ イル生成用プ ロ ジ ェ ク ト の新規作成
SPI フ ァ イルの準備 と プ ロ グ ラ ムのための ソ フ ト ウ ェ ア フ ロー
手順 2 : PROM フ ァ イルの準備の選択
ウ ィ ザー ド の 1 ページ目には、作成可能なプ ロ ジ ェ ク ト タ イ プが表示 さ れます (図6)。[Prepare a PROM File] を選択 し 、[OK] を ク リ ッ ク し て手順 3 に進みます。
X-Ref Target - Figure 6
図 6 : PROM フ ァ イルの準備の選択
SPI フ ァ イルの準備 と プ ロ グ ラ ムのための ソ フ ト ウ ェ ア フ ロー
手順 3 : [Select Storage Target] オプ シ ョ ンの指定
3 番目の手順では、 ス ト レージ タ イ プ を指定 し ます (図7)。[SPI Flash] → [Configure Single FPGA] を 選択 し 、 左側パネルの右側にあ る 緑色の矢印を ク リ ッ ク し て手順 4 に進みます。
X-Ref Target - Figure 7
図 7 : [Select Storage Target] オプ シ ョ ンの指定
SPI フ ァ イルの準備 と プ ロ グ ラ ムのための ソ フ ト ウ ェ ア フ ロー
手順 4 : SPI PROM の容量の指定
4 番目の手順では、SPI フ ラ ッ シ ュ の容量を指定 し ます。[Storage Device (bits)] で、SPI PROM の容量 を 64M (ビ ッ ト) に選択 し ます。 次に、[Add Storage Device] を ク リ ッ ク し ます。図8に適切な設定を 示 し ます。 中央パネルの右側にあ る 緑色の矢印を ク リ ッ ク し て手順5 に進みます。
X-Ref Target - Figure 8
図 8 : SPI PROM の容量の指定
SPI フ ァ イルの準備 と プ ロ グ ラ ムのための ソ フ ト ウ ェ ア フ ロー
手順 5 : デバイ ス フ ォ ーマ ッ ト プ ロパテ ィ の指定
5 番目の手順では、SPI デバ イ ス フ ァ イ ルフ ォーマ ッ ト のプ ロ パテ ィ を指定 し ます。[Output File Name] お よ び [Output File Location] を ク リ ッ ク し 、 任意の名前を入力 し て新 し い PROM フ ァ イ ルを生成す る 位置を選択 し ます。図9の例では、 その他のオプシ ョ ンはデフ ォ ル ト の ま ま にな っ てい ます。[OK] を
ク リ ッ ク し て手順 6 に進みます。
手順 6 : デバイ ス フ ァ イルを SPI PROM フ ァ イルに追加する際の自動通知
iMPACT プ ロ ジ ェ ク ト ウ ィ ザー ド が完了す る と 、 指定 し たパ ラ メ ー タ ーで特定の PROM フ ァ イ ルを生 成す る よ う 、iMPACT SPI PROM 生成プ ロ ジ ェ ク ト が設定 さ れます。 こ の段階では、PROM フ ァ イ ル の メ モ リ イ メ ージは空です。 こ の手順では、FPGA ビ ッ ト ス ト リ ーム を PROM フ ァ イ ル メ モ リ イ メ ー ジに追加 し ます。 こ れは、iMPACT プ ロ ジ ェ ク ト ウ ィ ザー ド の完了後す ぐ に開始 し ます。 こ の と き 、 次 に SPI PROM メ モ リ イ メ ージ にデバ イ ス フ ァ イ ル を 追加す る こ と を 示す自動通知が表示 さ れ ま す。 [Add Device] 通知ダ イ ア ロ グボ ッ ク ス (図10) で [OK] を ク リ ッ ク し て手順 7 に進みます。
X-Ref Target - Figure 9
図 9 : デバイ ス フ ォ ーマ ッ ト プ ロパテ ィ の指定
SPI フ ァ イルの準備 と プ ロ グ ラ ムのための ソ フ ト ウ ェ ア フ ロー
手順 7 : SPI PROM メ モ リ イ メ ージに追加する FPGA ビ ッ ト ス ト リ ーム フ ァ イルを選択
[Add Device] の通知の後、SPI PROM メ モ リ イ メ ージに追加す る FPGA ビ ッ ト ス ト リ ーム (.bit) フ ァ イ ルを選択す る ためのダ イ ア ロ グボ ッ ク ス が自動的に開 き ます (図11)。 こ こ で、SPI PROM に書 き 込 む FPGA ビ ッ ト ス ト リ ーム フ ァ イ ルを選択 し ます。 こ のダ イ ア ロ グボ ッ ク ス で [Open] を ク リ ッ ク す る と 、 選択 し た FPGA ビ ッ ト ス ト リ ー ム が SPI PROM メ モ リ イ メ ージ に追加 さ れ ま す。 こ こ では、 Revision 0 に別のデバ イ ス フ ァ イ ルを追加す る か尋ね ら れた ら [No] を ク リ ッ ク し 、[OK] を ク リ ッ ク し て続行 し ます。
注記 : こ の例では、1 つの FPGA を タ ーゲ ッ ト と す る 場合の フ ロ ーを説明 し てい ます。FPGA デ イ ジー チ ェ ーン を タ ーゲ ッ ト にす る 場合、 チ ェ ーン内の各 FPGA に対 し てデバ イ ス フ ァ イ ルを追加す る こ と にな り ます。
こ れで、SPI PROM フ ァ イ ルの生成準備用の自動 iMPACT プ ロ セ ス は完了です。 手順 8 に進み、SPI PROM フ ァ イ ルを生成 し ます。
手順 8 : iMPACT のフ ァ イル生成処理
最後 と な る 8 番目の手順では、PROM フ ァ イ ルを生成 し ます。[iMPACT Processes] パネルの [Generate File] を ダブル ク リ ッ ク し ます (21ページの図12)。 こ れが起動す る と 、 フ ァ イ ル生成処理が開始 さ れて iMPACT は指定 さ れた SPI PROM フ ァ イ ルを生成 し ます。
SPI PROM フ ァ イ ルの生成が正常に完了す る と 、iMPACT では [PROM File Generation Succeeded] と い う メ ッ セージが表示 さ れます。
フ ァ イ ル生成処理が完了 し たす る と 、 生成 さ れたspi_flash.mcsフ ァ イ ルが指定 し た位置に入 り ま す。 こ の spi_flash.mcsフ ァ イ ルは、 サポー ト さ れてい る 任意のプ ロ グ ラ ム ソ リ ュ ーシ ョ ンで SPI PROM をプ ロ グ ラ ムす る ために使用で き ます。
X-Ref Target - Figure 11
図 11 : [Add Device] フ ァ イル選択ダ イ ア ログボ ッ ク ス
SPI フ ァ イルの準備 と プ ロ グ ラ ムのための ソ フ ト ウ ェ ア フ ロー
iMPACT GUI イ ン タ ーフ ェ イ ス の使用時にプ ロ ジ ェ ク ト が ロ ー ド さ れない場合、SPI 用の PROM フ ァ イ ルを新たに作成す る たびに、 ウ ィ ザー ド の手順に従 う よ う 誘導 さ れます。
ISE iMPACT
ソ フ ト ウ ェ ア を使用 し た
SPI PROM
のイ ン シス テム
プ ロ グ ラ ム
プ ロ ト タ イ プアプ リ ケーシ ョ ンでは、ISE iMPACT 8.2i (ま たはそれ以降) ソ フ ト ウ ェ ア を使用 し て、 指 定 し た SPI PROM フ ァ イ ルか ら 生成 さ れた メ モ リ イ メ ージで SPI シ リ アルフ ラ ッ シ ュデバ イ ス の イ ン シ ス テ ム プ ロ グ ラ ミ ン グが可能です (SPI PROM フ ァ イ ルの生成手順は、14ページの 「SPI PROMフ ァ イ ルの準備」 を参照)。
表7に、iMPACT で直接プ ロ グ ラ ム可能な、 推奨す る SPI シ リ アルフ ラ ッ シ ュ を示 し ます。 X-Ref Target - Figure 12
図 12 : [Generate File]
表 7 : iMPACT によ る SPI シ リ アル フ ラ ッ シ ュ プ ログ ラ ム機能
SPI シ リ アル フ ラ ッ シ ュ ベン ダー フ ァ ミ リ(1)
SPI フ ァ イルの準備 と プ ロ グ ラ ムのための ソ フ ト ウ ェ ア フ ロー
次の セ ク シ ョ ン では、M25P64 (64Mb) Numonyx SPI PROM を イ ン シ ス テ ム プ ロ グ ラ ム す る 場合の iMPACT 11.4ソ フ ト ウ ェ ア の プ ロ セ ス を 示 し ま す。 こ の プ ロ セ ス では、SPI PROM フ ァ イ ルで あ る spi_flash.mcs (14ページの 「SPI PROM フ ァ イ ルの準備」 で生成) を入力 と し て、SPI PROM を消 去 し て PROM フ ァ イ ルの内容を SPI シ リ アルフ ラ ッ シ ュデバ イ ス にプ ロ グ ラ ム し た後、 SPI PROM の 内容を指定 さ れた SPI PROM フ ァ イ ルの内容に対 し て検証 し ます。
手順 1 : 直接イ ン シス テムプ ログ ラ ミ ング用プ ロ ジ ェ ク ト の新規作成
iMPACT ソ フ ト ウ ェ ア を起動す る と 、[iMPACT Project] ダ イ ア ロ グ ボ ッ ク ス が開 き ます (15ページの 図5)。[create a new project (.ipf)] を 選択 し ま す。 オプ シ ョ ン と し て [Browse] を ク リ ッ ク し て プ ロ ジ ェ ク ト の位置を指定 し ます。 その後、[OK] を ク リ ッ ク し て手順 2 に進みます。
手順 2 : 直接 SPI コ ン フ ィ ギ ュ レーシ ョ ン モー ド を使用 し たデバイ スのコ ン フ ィ ギ ュ レーシ ョ ン 2 番目の手順は、iMPACT プ ロ ジ ェ ク ト ウ ィ ザー ド で開始 し ます。 ウ ィ ザー ド の 1 ページ目には、 作成 可能なプ ロ ジ ェ ク ト タ イ プが表示 さ れ ます (図13)。[Configure devices] を選択 し ます。 次に、 その ド ロ ッ プダ ウ ン リ ス ト か ら [using Direct SPI Configuration mode] を選択 し ます。[OK] を ク リ ッ ク し て、 新規プ ロ ジ ェ ク ト のセ ッ ト ア ッ ププ ロ セ ス を完了 し ま す。 こ のプ ロ セ ス が完了す る と 、iMPACT は、 SPI バ スへの直接ケーブル接続を使用 し て SPI シ リ アル フ ラ ッ シ ュ メ モ リ の イ ン シ ス テ ムプ ロ グ ラ ミ ン グ実行す る モー ド に設定 さ れます。
X-Ref Target - Figure 13
図 13 : 直接 SPI コ ン フ ィ ギ ュ レーシ ョ ン モー ド を使用 し たデバイ スの コ ン フ ィ ギ ュ レーシ ョ ン
SPI フ ァ イルの準備 と プ ロ グ ラ ムのための ソ フ ト ウ ェ ア フ ロー
手順 3 : SPI PROM フ ァ イルの追加
新規プ ロ ジ ェ ク ト ウ ィ ザー ド を完了後、[Direct SPI] ウ ン ド ウ で右 ク リ ッ ク し て [Add SPI Device] を選 択 し ます。SPI シ リ アル フ ラ ッ シ ュデバ イ ス にプ ロ グ ラ ムする SPI PROM フ ァ イ ルを選択す る ための ダ イ ア ロ グボ ッ ク ス が開 き ます (図14)。 spi_flash.mcsフ ァ イ ルを選択 し て、[Open] を ク リ ッ ク し ます。
手順 4 : Numonyx M25P64 デバイ スの製品番号の選択
ロ ー ド す る SPI PROM フ ァ イ ルを選択す る と 、[Select Device Part Name] ダ イ ア ロ グボ ッ ク ス が表示 さ れます (図15)。4 番目の手順では、 こ のダ イ ア ロ グボ ッ ク ス で SPI PROM の タ ーゲ ッ ト タ イ プ を指 定 し ます。 こ こ では使用す る タ ーゲ ッ ト SPI PROM と し て、Numonyx の製品番号 M25P64 を選択 し ます。[OK] を ク リ ッ ク し て、SPI PROM のプ ロ グ ラ ムのセ ッ ト ア ッ プを完了 し ます。
X-Ref Target - Figure 14
図 14 : SPI PROM フ ァ イルの追加
X-Ref Target - Figure 15
SPI フ ァ イルの準備 と プ ロ グ ラ ムのための ソ フ ト ウ ェ ア フ ロー
手順 5 : (iMPACT 10.1 またはそれ以降) デバイ スプ ログ ラ ムプ ロパテ ィ の設定
iMPACT では [Device Programming Properties] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ま す (図16)。 こ こ で は、[Operation] → [Program] を起動 し た際に実行 さ れ る 追加機能を設定 し ます。[Device Programming Properties] ダ イ ア ロ グ ボ ッ ク ス で [Verify] お よ び [Erase Before Programming] の両方を オンにす る こ
と を推奨 し ます。[OK] を ク リ ッ ク し て、 プ ロ グ ラ ムプ ロ パテ ィ を保存 し ます。
手順 6 : イ ン シス テムプ ログ ラ ミ ング向けのハー ド ウ ェ ア要件の指定
6 番目の手順では、SPI PROM の イ ン シ ス テ ム プ ロ グ ラ ミ ン グのハー ド ウ ェ ア要件を指定 し ます。 • 適切なザ イ リ ン ク ス ケーブル接続 : ザ イ リ ン ク ス ケーブルは、 コ ン ピ ュ ー タ ーお よ び タ ーゲ ッ ト
と す る SPI PROM の SPI バ ス に適切に接続 さ れてい る 必要があ り ます (ザ イ リ ン ク ス ケーブルか ら タ ーゲ ッ ト SPI PROM の SPI バ スへのハー ド ウ ェ ア接続は、5ページの図2を参照)。
• ケーブルの電源 : ザ イ リ ン ク スパ ラ レルケーブル IV を使用す る 場合、 ケーブルに電源が供給 さ れ てい る 必要があ り ます。
• タ ーゲ ッ ト シ ス テ ムの電源 : SPI PROM を含む タ ーゲ ッ ト シ ス テ ムに も 電源が供給 さ れてい る 必 要があ り ます。
• SPI プ ロ グ ラ ム プ ロ セ ス中は タ ーゲ ッ ト FPGA 信号を分離 : タ ーゲ ッ ト FPGA (お よ び SPI PROM マ ス タ ーデバ イ ス と な り 得 る SPI バ ス上のその他のデバ イ ス) は、 その SPI ピ ン が高 イ ン ピーダ ン ス状態に維持 さ れ る モー ド にす る 必要があ り ます。FPGA SPI ピ ン を高 イ ン ピーダ ン ス状 態にす る 方法は、12ページの 「SPI プ ロ グ ラ ムのためのハー ド ウ ェ アお よ び接続」 で説明 さ れてい ます。 一般的な方法 と し ては、FPGA PROG_B ピ ン を Low に維持 し ます。 イ ン シ ス テ ムプ ロ グ ラ ミ ン グ ケーブル と の競合を回避す る ため、SPI PROM プ ロ グ ラ ムプ ロ セ ス の残 り の間は、FPGA SPI ピ ン を高 イ ン ピーダ ン ス状態に維持す る 必要があ り ます。
X-Ref Target - Figure 16
図 16 : (iMPACT 10.1 またはそれ以降) デバイ スプ ログ ラ ムプ ロパテ ィ の指定
SPI フ ァ イルの準備 と プ ロ グ ラ ムのための ソ フ ト ウ ェ ア フ ロー
手順 7 : iMPACT プ ログ ラ ム処理の呼び出 し
7 番目の手順では、 選択 し た SPI PROM フ ァ イ ルの内容で タ ーゲ ッ ト の SPI PROM をプ ロ グ ラ ム し ま す。[iMPACT] ウ ィ ン ド ウ の [SPI PROM] ア イ コ ンで左 ク リ ッ ク し て こ れを選択 し た状態に し ます (選 択 さ れてい る ア イ コ ンは、緑色で表示 さ れ る)。[iMPACT Processes] パネルの [Program] を ダブル ク リ ッ
ク し 、 プ ロ グ ラ ム を開始 し ます (図17)。
X-Ref Target - Figure 17
図 17 : プ ログ ラ ムの処理
SPI フ ァ イルの準備 と プ ロ グ ラ ムのための ソ フ ト ウ ェ ア フ ロー
手順 8 : (iMPACT 9.2.04i またはそれ以降) iMPACT プ ログ ラ ムプ ロパテ ィ の選択
[Program] を実行す る と 、[Programming Properties] ダ イ ア ロ グボ ッ ク ス が開き ます (図18)。8 番目の 手順では、 適切な プ ロ グ ラ ム プ ロ パテ ィ が選択 さ れてい る こ と を確認 し ま す。[Verify] お よ び [Erase Before Programming] の両方がオン であ る こ と を確認 し 、SPI PROM が適切にプ ロ グ ラ ム さ れ る よ う に
し ます。[OK] を ク リ ッ ク し て、 消去、 プ ロ グ ラ ム、 お よ び検証処理を開始 し ます。
プ ロ グ ラ ム処理の最初に、iMPACT は コ ン ピ ュ ー タ ーに装着 さ れてい る ケーブルを自動的に接続 し ま す。 次に、iMPACT に よ る イ ン シ ス テ ム消去、 プ ロ グ ラ ム、 お よ び検証処理の進捗状況を示す [Progress Dialog] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ま す (図19)。SPI PROM のサ イ ズ、SPI PROM フ ァ イ ル イ メ ージのサ イ ズ、 ケーブルコ ン フ ィ ギ ュ レーシ ョ ンの速度に応 じ て、 プ ロ グ ラ ム処理の完了には数秒~ 数分かか り ます。
X-Ref Target - Figure 18
図 18 : [Programming Properties] ダ イ ア ロ グボ ッ ク ス
X-Ref Target - Figure 19
X951_17_072410
ま と め
SPI PROM フ ァ イ ルを変更 し た場合は、SPI PROM を素早 く 再プ ロ グ ラ ムで き る よ う 、iMPACT の直接 SPI コ ン フ ィ ギ ュ レーシ ョ ンモー ドプ ロ ジ ェ ク ト を毎回保存 し て く だ さ い。SPI PROM を再プ ロ グ ラ ム す る には、 保存 し た iMPACT プ ロ ジ ェ ク ト を 再び開 き、[Program] を 起動 し て [Erase] お よ び [Verify Programming Properties] が選択 さ れてい る こ と を確認 し 、[OK] を ク リ ッ ク し ます。iMPACT は、 変更 後の SPI PROM フ ァ イ ルが元の SPI PROM フ ァ イ ル と 同 じ 位置にあ る も の と し て SPI PROM を再プ ロ グ ラ ム し ます。
ま と め
新 し いザ イ リ ン ク ス FPGA フ ァ ミ リ に SPI イ ン タ ーフ ェ イ ス が追加 さ れた こ と に よ り 、複数のベン ダー が提供す る 省 スペー ス の SPI PROM が コ ン フ ィ ギ ュ レーシ ョ ン に使用で き る よ う にな り ま し た。 ボー ド 上に SPI PROM を既に備え てい る シ ス テ ムでは、1 つの メ モ リ ソ ース で既存のユーザーデー タ だけ でな く 、 コ ン フ ィ ギ ュ レーシ ョ ンデー タ も 保存で き ます。参考資料
デバイ ス
ザ イ リ ン ク ス の文書 1. Virtex-5 関連資料 2. DS202 : 『Viretx-5 デー タ シー ト : DC 特性お よ びス イ ッ チ特性』 3. UG191 : 『Virtex-5 コ ン フ ィ ギ ュ レーシ ョ ン ガ イ ド 』 4. DS312 : 『Spartan-3E FPGA フ ァ ミ リ デー タ シー ト 』 5. UG332 : 『Spartan-3 ジ ェ ネ レーシ ョ ン コ ン フ ィ ギ ュ レーシ ョ ンガ イ ド 』ソ フ ト ウ ェ ア
ザ イ リ ン ク ス PROMGen お よ び iMPACT ソ フ ト ウ ェ アは、 ザ イ リ ン ク ス ISE Foundation ソ フ ト ウ ェ ア、 ま たはダ ウ ン ロ ー ド で入手可能なザ イ リ ン ク ス ISE WebPACK™ ソ フ ト ウ ェ アパ ッ ケージ と 共に 入手で き ます。 ISE Foundation ソ フ ト ウ ェ ア http://japan.xilinx.com/ise/logic_design_prod/foundation.htm ISE WebPACK ソ フ ト ウ ェ ア http://japan.xilinx.com/ise/logic_design_prod/webpack.htm ザ イ リ ン ク ス ISE ソ フ ト ウ ェ アのマニ ュ アルは、 次か ら 入手で き ます。 http://japan.xilinx.com/support/software_manuals.htm
ハー ド ウ ェ ア
ザ イ リ ン ク ス ケーブルに関す る 情報は、 次のザ イ リ ン ク ス コ ン フ ィ ギ ュ レ ーシ ョ ン ソ リ ュ ーシ ョ ン ウ ェ ブサ イ ト にあ り ます。 http://japan.xilinx.com/products/design_resources/config_sol/改訂履歴
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。Notice of
Disclaimer
Xilinx is disclosing this Application Note to you “AS-IS” with no warranty of any kind. This Application Note is one possible implementation of this feature, application, or standard, and is subject to change without further notice from Xilinx. You are responsible for obtaining any rights you may require in connection with your use or implementation of this Application Note. XILINX MAKES NO REPRESENTATIONS OR WARRANTIES, WHETHER EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL XILINX BE LIABLE FOR ANY LOSS OF DATA, LOST PROFITS, OR FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR INDIRECT DAMAGES ARISING FROM YOUR USE OF THIS APPLICATION NOTE.
本資料は英語版 (v1.3) を翻訳 し た も ので、 内容に相違が生 じ る 場合には原文を優先 し ます。 資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。 日本語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。 こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、 [email protected]ま でお知 ら せ く だ さ い。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ールア ド レ スへのお問い合わせは受け付けてお り ません。 あ ら か じ めご了承 く だ さ い。 日付 バージ ョ ン 改訂内容 2006年 12月13日 1.0 初版 リ リ ース 2007年 10月3日 1.1 • 文書テ ンプ レー ト を更新。 • 図2 と 図3に CCLK レ イ ア ウ ト に関す る 注意 メ モ を追加。 2007年 11月20日 1.1.1 • URL を更新。 2009年 1月29日 1.2 • ソ フ ト ウ ェ アフ ロ ーを iMPACT 10.1 について更新。 • STMicrosystems を Numonyx に更新。 • 表3の DONE プルア ッ プ値の記述を更新。 2010年 9月23日 1.3 • ソ フ ト ウ ェ アフ ロ ーを iMPACT 11.4 (直接 イ ン シ ス テ ム SPI プ ロ グ ラ ム をサポー ト す る 最後のバージ ョ ン) に対応 し て更新。 変更 さ れた画 面をすべて更新後のバージ ョ ンに差 し 替え (図5~図19)。 • 表2 : 最新の Virtex-5 デバ イ ス をすべて含む よ う 更新。 • 図2お よ び図3 : DONE のプルア ッ プ抵抗を 300か ら 330に変更。 • 表3 : 特定のプルア ッ プ電圧を削除 し 、 デバ イ スデー タ シー ト を参照 し て変更。 コ ン フ ィ ギ ュ レーシ ョ ンピ ンのユーザー I/O と し ての再利 用について、D_IN お よ び CCLK は専用の コ ン フ ィ ギ ュ レーシ ョ ン ピ ンであ っ て再利用で き ない と い う 記述に変更。 • 全体を と お し て、 フ ァ イ ル名 spi_prom.mcsお よ びbitfile.bit をspi_flash.mcsお よ びdesign.bitにそれぞれ変更。