その後、実チップでも動作しました。
途中。。エンハンス怒Q事件もあり確認が遅れていたが(下記参照)
http://blogs.yahoo.co.jp/sawaragikun/22066774.html
動作しましたが。。問題発見!
途中。。エンハンス怒Q事件もあり確認が遅れていたが(下記参照)
http://blogs.yahoo.co.jp/sawaragikun/22066774.html
動作しましたが。。問題発見!
enum記述で不具合が。。
`define IDLE 4'h0 `define VALID 4'hB enum logic[3:0] { IDLE = `IDLE .... .... ,VALID = `VALID } state ;
デバイスドライバコード(C言語)へdefine文をそのままコピペして使用したら動作しない。。汗)
調べたら、enum記述の設定値がdefienと異なっていた、どうも合成で最適化が掛かりdefine設定値と違う値なったみたい。。
→ net+sdfシミュレーションで見てみたら確かにRTLと異なっていました。Quartus2特有かも
調べたら、enum記述の設定値がdefienと異なっていた、どうも合成で最適化が掛かりdefine設定値と違う値なったみたい。。
→ net+sdfシミュレーションで見てみたら確かにRTLと異なっていました。Quartus2特有かも
今まではverilog95だったので気がつきませんでした。。汗)
enumを使用するとシミュレーション波形が見やすくなるので(modelsimではenum値が文字で出てくる)使用してみたが。。このざまでした。
enumを使用するとシミュレーション波形が見やすくなるので(modelsimではenum値が文字で出てくる)使用してみたが。。このざまでした。
DPI-Cを使用したnet+sdfシミュレーションなら早期に発見できたのかな、めんどくさそうだけど次の機会に試してみます。
systemVerilog 回路合成 FPGA Quartus2