anchor.diff:     interface Put trace;
          method Action put(TimestampedTlpData ttd);
   	   if (csr.tlpTracing) begin
  +	       ttd.timestamp = timestamp;
   	       csr.tlpDataBram.request.put(BRAMRequest{ write: True, responseOnWrite: False, address: truncate(csr.tlpDataBramWrAddr), datain: ttd });
   	       csr.tlpDataBramWrAddr <= csr.tlpDataBramWrAddr + 1;
   	   end
  
positive.code: import AxiMasterSlave :: *;
  
  typedef struct {
      Bit#(32) seqno;
      Bit#(7) unused;
      TLPData#(16) tlp;
  } TimestampedTlpData deriving (Bits);
  
negative.code:                                                  , max_payload_bytes
                                                   );
  
     Reg#(Bit#(32)) timestamp <- mkReg(0);
     rule incTimestamp;
         timestamp <= timestamp + 1;
     endrule
     rule endTrace if (csr.tlpTracing && csr.tlpDataBramWrAddr > 2047);
         csr.tlpTracing <= False;
     endrule
  