anchor.diff:  //(* synthesize *)
   module mkMemInterrupt#(PciId my_id)(MemInterrupt);
       FIFOF#(InterruptRequest) interruptRequestFifo <- mkFIFOF();
  +    FIFOF#(InterruptRequest) interruptTraceFifo <- mkSizedFIFOF(4);
       Reg#(Maybe#(Bit#(32))) interruptSecondHalf <- mkReg(tagged Invalid);
       Reg#(TLPTag) tlpTag <- mkReg(0);
       FIFOF#(TLPData#(16)) tlpOutFifo <- mkSizedFIFOF(8);
  
positive.code: 	  interruptSecondHalf <= tagged Valid interruptData;
         end
  
         if (!interruptRequested)
  	  interruptRequestFifo.deq();
         if (sendInterrupt)
  	  tlpOutFifo.enq(tlp);
      endrule
  
negative.code: interface MemInterrupt;
      interface Client#(TLPData#(16), TLPData#(16)) tlp;
      interface Put#(Tuple2#(Bit#(64),Bit#(32))) interruptRequest;
      interface Get#(Tuple2#(Bit#(64),Bit#(32))) interruptTrace;
  endinterface
  
  typedef struct {
  