anchor.diff:     let retFifo <- mkFIFO;
   
      rule complete_rule0 (comp_state[0] != 0);
  -      tags.portB.request.put(BRAMRequest{write:False, address:tail_ptr});
  +      tags.portB.request.put(BRAMRequest{write:False, address:tail_ptr, datain: ?, responseOnWrite: ?});
      endrule
   
      rule complete_rule1 (comp_state[0] != 0);
  
positive.code:       let cli = drq.client;
        let tag <- toGet(compFifo1).get;
        compFifo0.enq(cli);
        read_buffer.portB.request.put(BRAMRequest{write:False, address:{tag,truncate(cnt)}});
        compReg0 <= cnt-1;
        compReg1 <= tag;
        compReg2 <= cli;
  
negative.code:    
     rule writeDoneComp0;
        let tag <- tag_gen.complete;
        respFifos.portB.request.put(BRAMRequest{write:False, address:tag, datain: ?, responseOnWrite: ?});
     endrule
     
     rule writeDoneComp1;
  