anchor.diff:  
   	 writeDataMimo.deq(4);
   	 writeDwCount <= writeDwCount - 4;
  -	 tlp.eof = True;
  +	 $display("writeDwCount=%d", writeDwCount);
  +	 tlp.eof = False;
   	 tlp.be = 16'hffff;
   	 sendit = True;
         end
  -      else if (writeDataMimo.deqReadyN(unpack(truncate(writeDwCount)))) begin
  +      else if (writeDwCount <= 4 && writeDataMimo.deqReadyN(unpack(truncate(writeDwCount)))) begin
   	 v = writeDataMimo.first();
   	 writeDataMimo.deq(unpack(truncate(writeDwCount)));
   	 writeDwCount <= 0;
  +	 $display("writeDwCount=%d will be zero", writeDwCount);
   	 tlp.eof = True;
   	 if (writeDwCount == 4)
   	    tlp.be = 16'hffff;
  
positive.code: 	  return 0;
      endfunction
  
     rule writeHeaderTlp if (writeDwCount > 0 && !writeHeaderSent);
        let tlp = tlpWriteHeaderFifo.first;
        TLPMemoryIO3DWHeader hdr_3dw = unpack(tlp.data);
        Bool sendit = False;
        if (hdr_3dw.format == MEM_WRITE_3DW_DATA && writeDataMimo.deqReadyN(1)) begin
  	 Vector#(4, Bit#(32)) v = writeDataMimo.first();
  	 writeDataMimo.deq(1);
  	 hdr_3dw.data = byteSwap(v[0]);
  	 tlp.be = 16'hffff;
  	 if (writeDwCount == 1)
  	    tlp.eof = True;
  	 writeDwCount <= writeDwCount - 1;
  	 tlp.data = pack(hdr_3dw);
  	 sendit = True;
        end
  
negative.code: 	      tlp.eof = False;
  	      tlp.hit = 7'h00;
  	      tlp.be = 16'hffff;
  
  	      $display("slave3.writeAddr tlplen=%d burstLen=%d", tlplen, burstLen);
  	      if ((addr >> 32) != 0) begin
  		 TLPMemory4DWHeader hdr_4dw = defaultValue;
  		 hdr_4dw.format = MEM_WRITE_4DW_DATA;
  