anchor.diff:     endinterface
      interface Put readData;
         method Action put(MemData#(DataBusWidth) v);
  -	 reader.readData.put(MemData{data:v.data, tag:{0,v.tag[3:0]}, last:v.last});
  +	 reader.readData.put(MemData{data:v.data, tag:{0,tagLsb(v.tag)}, last:v.last});
         endmethod
      endinterface
   endmodule
  
positive.code:    interface Get writeData;
        method ActionValue#(MemData#(DataBusWidth)) get;
  	 let rv <- writer.writeData.get;
     	 return MemData{data:rv.data, tag:{0,rv.tag[3:0]}, last:rv.last};
        endmethod
     endinterface
     interface Put writeDone;
        method Action put(Bit#(MemTagSize) v);
  	 writer.writeDone.put({0,v[3:0]});
        endmethod
     endinterface
  endmodule
  
negative.code:    interface Get writeReq;
        method ActionValue#(MemRequest) get;
  	 let req <- writer.writeReq.get;
  	 Bit#(TSub#(MemTagSize,2)) lsb = tagLsb(req.tag);
  	 Bit#(2) msb = tagMsb(req.tag);
  	 if(req.tag != extend(lsb)) begin
  	    $display("renameWrites tile tag out of range: 'h%h", req.tag);
  	    err.error(extend(pack(DmaErrorTileTagOutOfRange)), req.sglId, extend(req.tag), fromInteger(tile));
  	 end
  	 req.tag = {fromInteger(tile),lsb};
  