The BAQ/Data Acquisition/Pulse Shape Analysis/FPGA Diary/3日目:FPGA書き込み

Japanese English
Nuclear Physics Data Acquisition Orchestra Gallery Memo Diary Link Home
DAQ System DAQ Module Pulse Shape Analysis RTLinux Linux Device Driver Home
FPGA Diary XPort Diary Home

もどる

XilinxのWebPACK ISEを使って実際にFPGAボードにプログラムをダウンロードしてみる。

購入してから気付いたのだが、Spartan-3 Starter Kitにはチュートリアルが付いていない。
けど、ここに「多重化された 7 セグメント表示使用のデジタル クロック」というサンプルがあるのでこれを使ってみる。
clock.nplを開き、Starter KitについてきたIntroduction to Programmable LogicのChapter 5に書いてある通り[Synthesize]→[Implement Design]→[Generate Programming File]をした。
[Generate Programming File]のプロパティで
Startup OptionsのFPGA Start-Up Clockを"JTAG"、
Readback OptionsのCreate ReadBack Data Filesにチェックを入れ、さらにCreate Mask Fileにチェックを入れる必要があるらしい。

FPGAボードのConfiguration ModeをJTAG(J8を<1:0:1>)にして、JTAG&電源ケーブルをつなぐ。

[Generate Programming File]-[Configure Device (iMPACT)]をダブルクリックして、iMPACTを起動。
[Boundary-Scan Mode]→[Automatically connect to cable and identify Boundary-Scan Chain]とやってFPGAボードをスキャン。
xc3c200にはclock.bit、xcf02sはBYPASSにしておく。次にxc3c200を右クリックして[Program]をやる。
ダウンロードが終わると7 セグメントLEDがちゃんとカウントアップしていく。LEDたちも1秒ごとに順次点灯する。

WebPACK ISE iMPACT

このままでは電源を消すとダウンロードしたプログラムも消えてしまうので、PROMにプログラムを書き込んでおく。
WebPACK ISEで[Generate Programming File]-[Generate PROM, ACE, or JTAG File]をダブルクリック。
iMPACTが立ち上がって[PROM File]を選択して次へ。
PROM File Name欄に適当に名前つけて、次へ。
Select a PROMでxcf, xcf02sを選択して、[Add]。そして次へ。またまた次へ。
[Add File]をクリックして、clock.bitを選択。warningが出るが気にしない。
さらにDeviceを増やすかと聞かれるので、[いいえ]を選択。[完了]→[はい]とすればclock.mcsが作られる。

先ほどと同様に
[Generate Programming File]-[Configure Device (iMPACT)]をダブルクリックして、iMPACTを起動。
[Boundary-Scan Mode]→[Automatically connect to cable and identify Boundary-Scan Chain]とやってFPGAボードをスキャン。
xc3c200にはclock.bit、xcf02sにclock.mcsを割り当てる。
xcf02sを右クリックし、[Program]をやるとPROMにプログラムが書き込まれる。

これでFPGAボードのConfiguration ModeをMASTER Serial(J8を<0:0:0>)にして電源入れなおす。
すると、書き込まれたclock.binの動作を始める。

PROM Fileを作る clock.binの様子


ということで無事にFPGA&PROMにプログラムを書き込むことができました。

Last Update: 2005/3/15
Hidetada Baba
baba rarfaxp.riken.jp