anchor.diff:        else begin
   	 let chan = chanFifo.first;
   	 // overwrite user-supplied tag and store the original for the responses
  -	 reqFifo.enq(DmaRequest{pointer:req.pointer, offset:req.offset, burstLen:req.burstLen, tag:{0,tag_gen[chan]}});
  -	 tag_gen[chan] <= tag_gen[chan]+1;
  -	 tag_store[chan].enq(req.tag);
  +	 if (valueOf(numWriteClients) > 0) begin
  +	    reqFifo.enq(DmaRequest{pointer:req.pointer, offset:req.offset, burstLen:req.burstLen, tag:{0,tag_gen[chan]}});
  +	    tag_gen[chan] <= tag_gen[chan]+1;
  +	    tag_store[chan].enq(req.tag);
  +	 end
   	 paFifo.enq(physAddr);
         end
      endrule
  
positive.code: 	 if (False && physAddr[31:24] != 0)
  	    $display("checkSglResp: funny physAddr req.pointer=%d req.offset=%h physAddr=%h", req.pointer, req.offset, physAddr);
  	 // overwrite user-supplied tag and store the original for the responses
  	 reqFifo.enq(DmaRequest{pointer:req.pointer, offset:req.offset, burstLen:req.burstLen, tag:{0,tag_gen[chan]}});
  	 tag_gen[chan] <= tag_gen[chan]+1;
  	 tag_store[chan].enq(req.tag);
  	 paFifo.enq(physAddr);
        end
     endrule
  
negative.code: 	    if (resp.id != tag)
  	       tag_mismatch.enq(True);
  	    respFifo.deq();
  	    if (valueOf(numWriteClients) > 0) begin
  	       writeClients[activeChan].writeDone.put(extend(tag_store[activeChan].first));
  	       tag_store[activeChan].deq;
  	    end
  	 endmethod
        endinterface
     endinterface
  