anchor.diff:  	    tlp.be = 16'hffff;
   
   	    $display("slave.writeAddr tlplen=%d burstLen=%d", tlplen, burstLen);
  -	    if ((addr >> 32) != 0) begin
  +	    if ((addr >> 32) != 0 || !use3dw) begin
   	       TLPMemory4DWHeader hdr_4dw = defaultValue;
   	       hdr_4dw.format = MEM_WRITE_4DW_DATA;
   	       hdr_4dw.tag = extend(awid);
  
positive.code: 
        for (Integer i = 0; i < currDwCount; i = i + 1) begin
  `ifdef AXI
  	 tlp.data[(i+1)*32-1:i*32] = byteSwap(v[(currDwCount-1)-i]);
  `elsif AVALON
  	 tlp.data[(i+1)*32-1:i*32] = v[(currDwCount-1)-i];
  `endif
        end
  
        tlpOutFifo.enq(tlp);
     endrule
  
     Reg#(TLPTag) lastTag <- mkReg(0);
     FIFOF#(TLPData#(16)) tlpDecodeFifo <- mkFIFOF();
  
negative.code: 	    let addr = req.addr;
  	    let awid = req.tag;
  	    let writeIs3dw = False;
  	    let use3dw = True;
  `ifdef PCIE3
  	    use3dw = False;
  `endif
  	    TLPLength tlplen = fromInteger(valueOf(busWidthWords))*extend(burstLen);
  	    TLPData#(16) tlp = defaultValue;
  	    tlp.sof = True;
  