anchor.diff:      method Action dataIn(Bit#(dataWidth) d, Bit#(triggerWidth) t);
       method ActionValue#(Bit#(dataWidth)) dataOut;
       method Bit#(32) sampleCount();
  +    method Bool triggered();
   endinterface
   
   typedef enum { Idle, Enabled, Running } State deriving (Bits,Eq);
   
   module mkBlueScope#(Integer samples)(BlueScope#(dataWidth, triggerWidth)) provisos (Add#(1,a,dataWidth));
  -    FIFOF#(Bit#(dataWidth)) dfifo <- mkSizedBRAMFIFOF(samples);
  +    FIFO#(Bit#(dataWidth)) dfifo <- mkSizedBRAMFIFO(samples);
       Reg#(Bit#(triggerWidth)) maskReg <- mkReg(0);
       Reg#(Bit#(triggerWidth)) valueReg <- mkReg(0);
   
  
positive.code:         return sampleCountReg;
      endmethod
  endmodule
  
negative.code: // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  // SOFTWARE.
  
  import Clocks::*;
  import FIFO::*;
  import FIFOF::*;
  import BRAMFIFO::*;
  import Gray              ::*;
  import GrayCounter       ::*;
  
  interface BlueScope#(type dataWidth, type triggerWidth);
      method Action setTriggerMask(Bit#(triggerWidth) mask);
  