anchor.diff:  
      rule complete_rule1 (comp_state[0] != 0);
         //let rv <- tags.portB.response.get;
  -      //let rv = tags.sub(tail_ptr);
  -      let rv = tags[tail_ptr];
  +      //let rv = tags[tail_ptr];
  +      let rv = tags.r2[tail_ptr] == 1;
         if (!rv) begin
   	 tail_ptr <= tail_ptr+1;
   	 counter.increment(1);
  
positive.code:    method ActionValue#(Bit#(TLog#(numTags))) complete;
  endinterface
  
  module mkTagGen(TagGen#(numTags))
     provisos(Log#(numTags,tsz));
     
     BRAM_Configure cfg = defaultValue;
     cfg.outFIFODepth = 1;
     //BRAM2Port#(Bit#(tsz),Bool) tags <- mkBRAM2Server(cfg);
     Vector#(numTags, Reg#(Bool)) tags <- replicateM(mkReg(False));
     //RegFile#(Bit#(tsz),Bool)     tags <- mkRegFile(0, fromInteger(valueOf(numTags)-1));
     Reg#(Bit#(tsz))        head_ptr <- mkReg(0);
     Reg#(Bit#(tsz))        tail_ptr <- mkReg(0);
     Reg#(Bool)               inited <- mkReg(False);
  
negative.code: import Assert::*;
  import BRAM::*;
  import RegFile::*;
  import EHR::*;
  
  // CONNECTAL Libraries
  import MemTypes::*;
  