FC2カウンター FPGAの部屋 2012年04月24日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

SPI FLASH ROMでFPGAにコンフィギュレーション(Atlys ボード)

Atlys ボード(Spartan-6)には、SPI FLASH ROMが実装されていて、電源ON時にSPI FLASH ROMからFPGAをコンフィギュレーションすることができる。今回はこのSPI FLASH ROMにFPGAのコンフィギュレーションデータを書き込むことにした。(使用しているISEのバージョンは13.4、これではSPI FLASH ROM に書き込むことができなかったが、ISE14.4 では書き込むことができた。追記参照)

Xilinx FPGAに接続されたSPI FLASH ROMはiMPACTから書き込む事ができる。今回はその手順を書いておく。
接続はUSBケーブルでAtlysボードのPROGコネクタへ接続した。ちなみに、XUP USB-JTAG Programming Cable で接続しても同じ結果だった。

・Project Navigator のProcessesウインドウのConfigure Target Device を展開して、Generate Target PROM/ACE File をダブルクリックする。
Atlys_SPI_Config_1_120423.png

・私の環境ではワーニングが出るが、OKボタンをクリックする。
Atlys_SPI_Config_2_120423.png

・iMPACT が立ち上がる。Create PROM File (PROM File Formatter) をダブルクリックする。
Atlys_SPI_Config_3_120423.png

・PROM File Formatterが立ち上がる。SPI FlashのConfigure Single FPGA をクリックしてから、矢印をクリックする。(Step 1.)
Atlys_SPI_Config_4_120423.png

・Step 2.では、SPI FLASH ROMの容量を選択する。Atlysボードには128MビットのSPI FLASH ROMが実装されていると書いてあるので、Storage Device (bits) で128Mを選択し、Add Storage Device ボタンをクリックする。
Atlys_SPI_Config_5_120423.png

・Step 2.に128MのSPI FLASH ROMが入ったので、2番目の矢印をクリックする。
Atlys_SPI_Config_6_120423.png

・Step 3.でOutput File NameとOutput File Location を設定し、OKボタンをクリックした。
Atlys_SPI_Config_7_120423.png

・iMPACT の画面に戻って、SPI FLASH ROMに入れるビットファイルを指定する。Add Deviceダイアログが表示されるので、OKボタンをクリックする。まずは最初のビットファイルを指定する。(注:ここでは、1つのビットファイルのみを指定することになる)
Atlys_SPI_Config_8_120423.png

・Add Device ダイアログが開くので、ビットファイルをクリックして開くボタンをクリックする。
Atlys_SPI_Config_9_120423.png

・Add Deviceダイアログが表示される。もう追加するビットファイルが無いのでNoボタンをクリックする。
Atlys_SPI_Config_10_120423.png

・もうビットファイルの指定は終了した。OKボタンをクリックする。
Atlys_SPI_Config_11_120423.png

・iMPACTに戻るので、iMPACT Processes ウインドウからGenerate File...をダブルクリックする。
Atlys_SPI_Config_12_120423.png

・Generate Succeeded が表示されて、SPI FLASHのダウンロード用ファイルの生成が成功した。
Atlys_SPI_Config_13_120423.png

・次にSPI FLASH をコンフィギュレーションする。iMPACT のInitialize Chain アイコンをクリックして、JTAG Chain につながっているFPGAなどを検索する。
Atlys_SPI_Config_14_120423.png

・Spartan-6 FPGAが見つかった。コンフィギュレーション・ファイルを指定するため、ダイアログのYes ボタンをクリックする。
Atlys_SPI_Config_15_120423.png

・コンフィギュレーション・ファイルを指定する。
Atlys_SPI_Config_16_120423.png

・次にSPI FLASH のコンフィギュレーション・ファイルを指定するため、ダイアログのYes ボタンをクリックする。
Atlys_SPI_Config_17_120423.png

・先ほど生成したSPI FLASHのコンフィギュレーション・ファイルを指定して、開くボタンをクリックする。
Atlys_SPI_Config_18_120423.png

・Select Attached SPI/BPI が開く。SPI PROM のN25Q128, Data Width 1 を選択する。(Atlys の回路図(PDFです)では25Q12 と表示されていた)
Atlys_SPI_Config_19_120423.png

・Device Programming Properties が開く。OKボタンをクリックする。
Atlys_SPI_Config_20_120423.png

・Boundary Scan タブのFLASH をクリックし、iMPACT Processes ウインドウでProgram をダブルクリックする。
Atlys_SPI_Config_21_120423.png

・Device Programming Properties が開く。OKボタンをクリックする。
Atlys_SPI_Config_22_120423.png

・Program Failed になってしまった。
Atlys_SPI_Config_23_120423.png

実際に基板に搭載されているSPI FLASH ROMの型番は、25Q2813B40 だった。25Q128 じゃないのか?データシートを検索しても出てこない。情報があったら教えて下さい。

(2012/04/25:追記)
Digilent Adeptソフトウェアを使用して、AtlysボードのSPI FLASHにFPGAのコンフィギュレーション・データを書き込む事ができました。詳しくは、"SPI FLASH ROMでFPGAにコンフィギュレーション2(Atlys ボード)"を御覧ください。

(注)
Spatan-3A Starter Kit などでしたら、SPI FLASH の型番は違うかも知れませんが、今回の手順でコンフィギュレーション・データをSPI FLASH に書くことができると思います。

(2013/01/30:追記)
ISE14.4でSPI FLASH ROM に書き込んだところ、Passして書き込めました
Atlys_SPI_Config_24_130130.png 
  1. 2012年04月24日 05:54 |
  2. Atlysボード
  3. | トラックバック:0
  4. | コメント:2