anchor.diff:  		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]);
  
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: import ProgrammableCycleCounter::*;
  import AvalonSlave::*;
  import InterruptSender::*;
  import JtagGetPut::*;
  
  typedef Tuple2#(Bit#(NumFlags), TimeStamp) AcqFifoContents;
  
  