Indirect SPI Programming モードによる SPI-ROMへの書込み方法 (Xilinx/XCMシリーズ)
2010/09/22 -

 ISE12.1から、iMPACTによるコンフィギュレーションROMアクセスは間接アクセスのみとなりました。
実際の製品を用いた、具体的な手順を解説致します。

Direct SPI Programmingモード廃止のまとめはこちらをご覧ください。

(※編集時のiMPACTのバージョンはRelease12.2 M.63cです)

----------------------------------------------------------------------
下記解説には、XCM-107-50T (Virtex-5) を使用しております
XCMシリーズ製品でも同等の手順となります。(設定SWの内容は異なります)
----------------------------------------------------------------------

◆手順
◆Program Failure
◆参考資料
◆お問い合わせ


◆手順

●FPGAのコンフィギュレーションモードを【MasterSPI】に設定します

製品に搭載されているDIPスイッチを操作してFPGAのコンフィギュレーションモードを切替えます。

XCM107では、設定スイッチ(SW1)は下記のようになります。
製品ごとに設定値が異なります、各製品マニュアルにてご確認ください。

1 2 3 4 5 6 7 8
X_PROG X_M0 X_M1 X_M2 HSWAP_EN FS2 FS1 FS0
OFF (H) OFF (H) ON (L) ON (L) X X X X
                                                                     X : Don't Care

JTAGターゲット:FPGA
M[0..2]:100 (Master SPI mode)





●Boundary-Scanでデバイスを認識させます
FPGA本体へのコンフィギュレーションファイルがない場合は、Bypassとできます。




●FPGAアイコンの上にある【SPI/BPI】をダブルクリックして、MCSファイルを割り付けます
●SPI-ROMの種類を選択します







●【FLASH】アイコンを右クリックし、【Program】を実行します
Erase、Program、Verifyで数分かかる場合があります。
(ダウンロードケーブルのTCKの設定を上げておくと、幾分早くなります)







●以上でMCSを書込むことが出来ます




◆Program Failure



進行表示が30,40%の状態で長時間止まり、【Program Failure】となってしまう場合があります
これは設定スイッチにてコンフィギュレーションモードを【JTAG】としている場合に起こり得ます。

コンフィギュレーションモードを【MasterSPI】に設定して、再度実行してください。


◆原因
プロパティに下記のような設定項目があります

【After programming Flash...】
(1)コンフィグROMでFPGAをコンフィギュレーションする (automatically load FPGA with Flash contents) 「デフォルト設定」
(2)アサインしているBitファイルを読み込む (automatically load FPGA with currently assigned bitstream)





デフォルトの前者の設定ですと、コンフィグROMからFPGAへのコンフィギュレーションが、ベリファイ後に自動的に行われます。
コンフィギュレーションモードを【MasterSPIモード】にしてない場合、この処理が詰まってしまうのです。

(【After programming Flash...】の設定を(2)とすることでも対応可能です)



◆参考資料

Xilinxフォーラム

http://forums.xilinx.com/t5/Virtex-Family-FPGAs/Virtex5-indirect-SPI-configuration/m-p/1777

アプリケーションノート

XAPP951 Configuring Xilinx FPGAs with SPI Serial Flash
http://www.xilinx.com/support/documentation/application_notes/xapp951.pdf



メールでのご質問はこちらへどうぞ
XILINXシリーズトップへ