トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

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開発日誌/最適化

そろそろ最適化も考えたいけど,その前にリファクタリングしたいけど...勇気が...