The BAQ/Data Acquisition/Pulse Shape Analysis/FPGA Diary/3日目:FPGA書き込み
もどる
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 |
![](webise1.png) |
![](impact1.png) |
このままでは電源を消すとダウンロードしたプログラムも消えてしまうので、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の様子 |
![](impact2.png) |
![](spartan3starter_clock.jpg) |
ということで無事にFPGA&PROMにプログラムを書き込むことができました。
Last Update: 2005/3/15
Hidetada Baba
baba @ rarfaxp.riken.jp