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: 		end else if(!acqStarted) begin
  			if(cmd.command == Read)
  				stimMemPendRead.enq(?);
  			stimMem.portB.request.put(BRAMRequest{
  				write: cmd.command == Write,
  				address: truncate(cmd.addr),
  				datain: truncate(cmd.data),
  
negative.code: 	FIFOF#(void) stimMemPendRead <- mkFIFOF;  // to enforce order on responses
  	Reg#(Bit#(TAdd#(StimMemAddrSize, 1))) stimMemSize <- mkReg(0);
  	Reg#(Bit#(TAdd#(StimMemAddrSize, 1))) stimIndex <- mkReg(0);
  
  	ProgrammableCycleCounter#(AvalonDataSize) binBoundary <-
  		mkProgrammableCycleCounter(fromInteger(defaultWordPeriod));
  