anchor.diff:  import ProgrammableCycleCounter::*;
   import AvalonSlave::*;
   import InterruptSender::*;
  +import JtagGetPut::*;
   
   typedef Tuple2#(Bit#(NumFlags), TimeStamp) AcqFifoContents;
   
  
positive.code: 	Array#(Reg#(Word)) word <- mkCReg(2, 0);
  	Reg#(Word) wordToMatch <- mkReg(32'hFFFFFFFF);
  	Reg#(Word) wordMask <- mkReg(0);
  
  	//mkConnection(stimMem.portA.response, toPut(stimFromMem));
      /*(* fire_when_enabled *)
  
negative.code: 		stimFromMem.deq;
  	endrule
  
  	(*descending_urgency="queryStimMem,jtag_get_addr"*)
  	rule jtag_get_addr;
  		let stimIndex <- jtag_addr.get;
  		stimMem.portA.request.put(BRAMRequest{
  			write: False,
  			address: stimIndex,
  			datain: ?,
  			responseOnWrite: False
  		});
  	endrule
  
  	(*descending_urgency="stimLoadMem,jtag_put_data"*)
  	rule jtag_put_data;
  		let data <- stimMem.portA.response.get;
  		jtag_data.put(data);
  	endrule
  
  	(* fire_when_enabled *)
  	rule timestampUpdate(acqStarted && cycleCounter.ticked);
  		let flags = asReg(channelFlags[0]);
  