anchor.diff:  
       Vector#(TABLE_LEN,Reg#(Bit#(MATCH_TABLE_ASSOCIATIVITY)))
                           nextFree <- replicateM(mkReg(255));
  -    Reg#(Bit#(MATCH_TABLE_ASSOCIATIVITY)) temp <- mkReg(0);
   
       function Bit#(3) priority_encoder(Reg#(Bit#(8)) inp);
           case (inp) matches
  
positive.code:             if (res.tag == VALID && res.op == GET)    
                  responseFIFO.enq(res);
              else if (res.tag == VALID && res.op == REMOVE)
                  nextFree[res.addrIdx] <= flip_bit_at_pos(fromInteger(i), res.addrIdx);
          endrule
      end
  
  
negative.code:                     if (nextFree[addrIdx] != 0)
                      begin
                          Bit#(3) index = priority_encoder(nextFree[addrIdx]);
                          putFIFO.enq(flip_bit_at_pos(index, addrIdx));
                          temp <= addrIdx;
                          hTable[index].request.put(currReq);
                      end
                      else
  