anchor.diff:      Reg#(Bit#(32)) vsyncCounter <- mkReg(0, clocked_by axi_clock, reset_by axi_reset);
       Reg#(Bit#(32)) elapsed <- mkReg(0, clocked_by axi_clock, reset_by axi_reset);
       Reg#(Bit#(32)) elapsedVsync <- mkReg(0, clocked_by axi_clock, reset_by axi_reset);
  +
       rule axicyclecount;
          counter <= counter + 1;
       endrule
  
positive.code: 	method Bit#(12) getNumberOfPixels();
  	   return numberOfPixels;
  	endmethod
     method Bool dataEnable();
          let isActiveLine = (lineCount >= deLineCountMinimum && lineCount < deLineCountMaximum);
        return (pixelCount >= dePixelCountMinimum && pixelCount < dePixelCountMaximum && isActiveLine);
     endmethod
  
      endinterface
      interface HdmiInternalRequest control;
          method Action setPatternColor(Bit#(32) v);
  
negative.code:         end
      endrule
  
      let isActiveLine = (lineCount >= deLineCountMinimum && lineCount < deLineCountMaximum);
      let dataEnable = (pixelCount >= dePixelCountMinimum && pixelCount < dePixelCountMaximum && isActiveLine);
      rule output_data_rule;
          rgb888StageReg <= VideoData {de: pack(dataEnable),
  	     vsync: pack(lineCount < vsyncWidth), hsync: pack(pixelCount < hsyncWidth), pixel: unpack(pixelData) };
      endrule
  
      rule testpattern_rule if (testPatternEnabled != 0);
  