anchor.diff:     rule rl_exec(cpu_state == STATE_EXEC);
         let imem_resp <- memory.imem_resp;
   
  -      case (imem_resp) matches
  -         // IMem response is an exception
  -         tagged IMem_Resp_Exception .exc_code:
  -            begin
  -               fa_finish_with_exception(pc, exc_code, pc);
  -            end
  -
  -         // IMem response is ok
  -         tagged IMem_Resp_Ok  .instr:
  -            begin
  -               if (cfg_verbose > 1) $display("[%7d] rl_exec: PC = 0x%08X, instr = 0x%08X", csr_cycle, pc, instr);
  -               rg_instr <= instr;
  -               fa_exec(instr);
  -            end
  -      endcase
  +      if (imem_resp matches tagged IMem_Resp_Ok .instr) begin
  +         if (cfg_verbose > 1) $display("[%7d] rl_exec: PC = 0x%08X, instr = 0x%08X", csr_cycle, pc, instr);
  +         rg_instr <= instr;
  +         fa_exec(instr);
  +      end
      endrule
   
      // ---------------- LD-responses from DMem
  
positive.code:                let         value = pack(iv);
  
                 fa_finish_with_Rd(decoded.rd, value);
              endaction
           endfunction: fa_exec_LUI
  
  
negative.code: // IMem responses: either and exception or an instruction
  
  typedef union tagged {
     Word      IMem_Resp_Ok;
  } IMem_Resp deriving(Bits, FShow);
  
  