少し前から問題になっていたことがありました.それはPROMからFPGAへのダウンロードについてです.

TKM-HにはFPGAとPROMがあるのですが,Verilogにより回路を構築し,それをPROMにダウンロードした場合と,FPGAへ直接ダウンロードした場合とで挙動が違うことがあったのです.これに対処しなければと思いつつ,FPGAへ直接ダウンロードすれば思ったとおりの動きをしていたので,とりあえずは無視していました.しかし,いよいよ気になってきたので原因を調べてみました.

分かってしまえばなんてことのないことなのですが,PROMへ書き込むファイルは*.bit,FPGAに書き込むファイルは*.mcsというように異なるのですね.そして,*.mcsファイルはiMPACTを立ち上げれば自動的にできるわけではないのですね.私は大いに勘違いしていました.下の絵のように,Configure Target DeviceにはiMACTのほかに「Generate Target PROM/ACE File」という項目があるのでした.つまり,これを押していなかったのですね.

 

ただし,注意しなければならないこととして,この「Generate Target PROM/ACE File」を押しても,*.mcsファイルが更新されるか分からないことが挙げられます.私だけなのかもしれませんが, Verilogのコードを更新して上記のところを押しても新しい*.mcsファイルができなかったことがありました.ちなみにISE Design Suite 14.2です.確実に新しく*.mcsファイルを生成するには,このファイルを削除することです.

なんかバグが取れないなぁと思ったら,ここを疑ってみたらどうでしょうか?