2011年11月24日木曜日

オンボードFlashに書き込む


by yosikawa » 2011年2月12日(土) 21:49
これまでの書き込み方法はFPGAに直接書き込むもので、ボードの電源を切ると消えてしまう。
ボード上には3種類のFlashメモリがある。

  • Xilinx 4 Mbit Platform Flash configuration PROM
  • 16 MByte (128 Mbit) of parallel NOR Flash (Intel StrataFlash)
  • 16 Mbits of SPI serial Flash (STMicro)
今回はこのうち、最初のXilinx XCF04S に書き込む。
これで電源投入後自動的にアプリが起動するようになるはず。

まず、書き込み速度を設定する。
ISEで、トップモジュールを選択した状態で
ProcessesペインのGenerate Programmin Fileを右クリック、Propertiesを選択。

プロパティ画面で、左のConfiguration Options を選択。
Configuration Rate プロパティを25に設定する。
bitファイルを生成しなおす。

Configure Target Device を展開し、Generate Target PROM/ACE Fileをダブルクリックする。
iMPACTのウィザードが起動する。
(この操作は、IMPACTの画面で PROM File Formatterを選択するのと多分同じ)

最初の画面で Prepare a PROM File を選択、Next
Xilinx PROM と MCS を選択、ファイル名を適当に設定する。Next。
I am using a Xilinx PROM in Serial Mode を選択。Next
Select a PROM で、xcf04s を選択、Addボタンをクリック。Next
内容を確認して、Finish

iMPACTの画面に変わる。
bitファイルを聞いてくるので、top.bitを選択。
Would you like to add another device file to Data Stream: 0 と聞いてくるので、No

これで設定できたので、Processesペインで Generate File をダブルクリックする。
すぐに完了して、top.mcs ができる。

では書き込む。
まだチップの認識をしてないので、SourcesペインでBoundary Scanを選択して、
メニュー->Operations->Initialize Chainを選択。
書き込むファイルを聞いてくるので cancel all を選択。
プロパティ画面もキャンセルする。

xcf04sのアイコンを右クリック、Assign New Configuration Fileを選択する。
先ほど作成した top.mcs を選択する。

xcf04sのアイコンを右クリック、Set Programming Properties を選択する。
左側でxcf04sを選択し、右のプロパティで、
  • Verifyにチェックを付ける。
  • Erase Before Programmingにチェックを付ける。
  • Load FPGA にチェックを付ける。

これで設定完了。
ProcessesペインのProgramをダブルクリックする。

書き込みが完了すると、すぐに起動する。
一旦ボードの電源を切り、再度電源を入れる。
最初から入っていたデモプログラムではなく、自分で作ったプログラムが起動した。

ちなみに、製品出荷時のデモプログラムに戻したいときは、
Xilinxのresource
Initial Design for the Spartan-3E FPGA Starter Kit Boardから s3esk_startup.zip をダウンロードする。
この中に s3esk_startup_rev2.mcs というファイルがあるので、
同様の手順でPROMに書き込むと製品出荷時の状態に戻る。

0 件のコメント:

コメントを投稿