anchor.diff:                                                   , 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
  
positive.code:    interface Put trace;
         method Action put(TimestampedTlpData ttd);
  	   if (csr.tlpTracing) begin
  	       csr.tlpDataBram.request.put(BRAMRequest{ write: True, responseOnWrite: False, address: truncate(csr.tlpDataBramWrAddr), datain: ttd });
  	       csr.tlpDataBramWrAddr <= csr.tlpDataBramWrAddr + 1;
  	   end
  
negative.code:        let tlp <- arbiter.tlp_out_to_bus.get();
         tlpToBusFifo.enq(tlp);
         if (csr.tlpTracing) begin
  	   TimestampedTlpData ttd = TimestampedTlpData { timestamp: timestamp, unused: 7'h08, tlp: tlp };
  	   csr.tlpDataBram.request.put(BRAMRequest{ write: True, responseOnWrite: False, address: truncate(csr.tlpDataBramWrAddr), datain: ttd });
  	   csr.tlpDataBramWrAddr <= csr.tlpDataBramWrAddr + 1;
  	   csr.tlpSeqno <= csr.tlpSeqno + 1;
  