anchor.diff:  	endrule
   
   	(* fire_when_enabled *)
  -	rule stimLoadMem(stimRate.ticked);
  +	rule stimLoadMem(acqStarted && stimRate.ticked);
           let data <- stimMem.portA.response.get;
  -		stimOut[1] <= data;//stimFromMem.first;
  -		stimFromMem.deq;
  -	endrule
  -
  -	rule jtag_get_addr(acqStarted);
  -		let stimIndex <- jtag_addr.get;
  -		stimMem.portB.request.put(BRAMRequest{
  -			write: False,
  -			address: stimIndex,
  -			datain: ?,
  -			responseOnWrite: False
  -		});
  -	endrule
  -
  -	rule jtag_put_data(acqStarted);
  -		let data <- stimMem.portB.response.get;
  -		jtag_data.put(data);
  +		stimOut[1] <= data;
  +		fifinho.put(data);
   	endrule
   
   	(* fire_when_enabled *)
  
positive.code: 	endrule
  
  	(* fire_when_enabled *)
  	rule queryStimMem(wordMatched);
  		stimMem.portA.request.put(BRAMRequest{
  			write: False,
  			address: truncate(stimIndex),
  			datain: ?,
  			responseOnWrite: False
  		});
          stimFromMem.enq(truncate(stimIndex));
  		wordMatched <= stimIndex + 1 < stimMemSize;
  		stimIndex <= stimIndex + 1;
  	endrule
  
negative.code: 
  	(* fire_when_enabled *)
  	rule answerStimMemRead(!acqStarted);
  		let resp <- stimMem.portA.response.get;
  		avalon.busClient.response.put(extend(resp));
  		stimMemPendRead.deq;
  	endrule
  