anchor.diff:  import YUV::*;
   
   interface HdmiDisplayRequest;
  -    method Action startFrameBuffer0(Int#(32) base);
  +   method Action startFrameBuffer0(Int#(32) base);
  +   method Action getTransferStats();
   endinterface
   interface HdmiDisplayIndication;
      method Action transferStarted(Bit#(32) count);
  +   method Action transferFinished(Bit#(32) count);
  +   method Action transferStats(Bit#(32) count, Bit#(32) transferCycles, Bit#(64) sumOfCycles);
   endinterface
   
   interface HdmiDisplay;
  
positive.code:             referenceReg <= tagged Valid truncate(pack(base));
  	    hdmiGen.control.setTestPattern(0);
  	endmethod
      endinterface: displayRequest
  
      interface ObjectReadClient dmaClient = memreadEngine.dmaClient;
  
negative.code:     HdmiGenerator hdmiGen <- mkHdmiGenerator(defaultClock, defaultReset,
  					     vsyncPulse, hdmiInternalIndication, clocked_by hdmi_clock, reset_by hdmi_reset);
     
     SyncFIFOIfc#(Bit#(64)) synchronizer <- mkSyncFIFO(32, defaultClock, defaultReset, hdmi_clock);
     rule doGet;
        let v = mrFifo.first();
        mrFifo.deq();
        synchronizer.enq(v);
     endrule
     rule doPut;
        let v = synchronizer.first;
        synchronizer.deq;
        hdmiGen.request.put(v);
     endrule
  
     FIFOF#(Bool) vsyncFifo <- mkFIFOF();
     rule vsyncrule if (vsyncPulse.pulse());
  