anchor.diff:     rule complete_rule1 (comp_state[0] != 0);
         //let rv <- tags.portB.response.get;
         //let rv = tags[tail_ptr];
  -      let rv = tags.r2[tail_ptr] == 1;
  +      let rv = tags[1][tail_ptr] == 1;
         if (!rv) begin
   	 tail_ptr <= tail_ptr+1;
   	 counter.increment(1);
  
positive.code:    method ActionValue#(Bit#(TLog#(numTags))) complete;
  endinterface
  
  //(* synthesize *)
  module mkTagEHR (EHR2BSV#(Bit#(numTags)));
     EHR#(2,Bit#(numTags)) ehr <- mkEHR(0);
     interface r1 = ehr[0];
     interface r2 = ehr[1];
  endmodule
  
  module mkTagGen(TagGen#(numTags))
     provisos(Log#(numTags,tsz));
     
  
negative.code:       //tags.portB.request.put(BRAMRequest{write:True, responseOnWrite:False, address:tag, datain:False});
        //tags[tag] <= False;
        begin
  	 let t = tags[0];
  	 t[tag] = 0;
  	 tags[0] <= t;
        end
        comp_state <= 1 | (comp_state << 1);
     endrule
  