Diary/2011-10-7
JavaRock開発日誌
Javaのif文を安直にVHDLのif文に置換していたのだけど,
それではifのthen/else節が実行される度に条件式が判定されて
上手くいかないというとことに気づいてはいたが,なおせていなかった.
if文を囲むステートマシンを独立に作って,
条件式の評価をif文に入る前に一回だけ実行するようにしてみた...ら
下記のコードで問題が発生.
public byte read(){ boolean d_rd = true; while(true){ if(d_rd == false && rx.rd == true){ return rx.dout; }else{ d_rd = rx.rd; } } }
実は,このコードは毎クロックd_rdが更新されていることに依存しているので,
うまくいかないことがわかる.
迂闊だった.はてさてどうしたものか.
JavaRock開発日誌/最適化
そろそろ最適化も考えたいけど,その前にリファクタリングしたいけど...勇気が...