anchor.diff:        wchan.writeDone.get;
      endrule
      
  -   rule triggerRule;
  +   rule triggerRule if (triggeredPulse.pulse);
         indication.triggerFired;
  -      tfifo.deq;
      endrule
      
      method Action dataIn(Bit#(64) data, Bit#(64) trigger) if (stateReg != Idle);
  
positive.code: 
  module mkSyncBlueScopeInternal#(Integer samples, WriteChan wchan, BlueScopeIndication indication, Clock sClk, Reset sRst, Clock dClk, Reset dRst)(BlueScopeInternal);
     SyncFIFOIfc#(Bit#(64)) dfifo <- mkSyncBRAMFIFO(samples, sClk, sRst, dClk, dRst);
     Reg#(Bit#(64))    maskReg <- mkReg(0,    clocked_by sClk, reset_by sRst);
     Reg#(Bit#(64))   valueReg <- mkReg(0,    clocked_by sClk, reset_by sRst);
     Reg#(Bit#(1))          triggeredReg <- mkReg(0,    clocked_by sClk, reset_by sRst);   
     Reg#(State)                stateReg <- mkReg(Idle, clocked_by sClk, reset_by sRst);
     Reg#(Bit#(32))             countReg <- mkReg(0,    clocked_by sClk, reset_by sRst);
     FIFOF#(void)                  tfifo <- mkFIFOF(    clocked_by sClk, reset_by sRst);
     
     rule writeReq if (stateReg == Enabled && dfifo.notEmpty);
        wchan.writeReq.put(?);
     endrule
     
  
negative.code:    
        if(e && dfifo.notFull)
  	 dfifo.enq(data);
        if(t)
  	 triggeredPulse.send();
        countReg <= c;
        stateReg <= s;
     endmethod
  