anchor.diff:      method Bit#(16) vsync();
       method Bit#(16) vbporch();
   endinterface
  +
  +typedef struct {
  +    Bit#(1) vsync;
  +    Bit#(1) hsync;
  +    Bit#(1) vblank;
  +    Bit#(1) hblank;
  +    Bit#(1) active_video;
  +    Bit#(10) video_data;
  +} XsviData deriving (Bits);
  +
  +typedef struct {
  +    Bit#(1) vsync;
  +    Bit#(1) hsync;
  +    Bit#(1) vblank;
  +    Bit#(1) hblank;
  +    Bit#(1) active_video;
  +    Bit#(8) r;
  +    Bit#(8) g;
  +    Bit#(8) b;
  +} Rgb888VideoData;
   
   interface ImageonXsvi;
       method Action vsync(Bit#(1) v);
  
positive.code:     method Action set_syncgen_vfporch(Bit#(16) v);
      method Action set_syncgen_vsync(Bit#(16) v);
      method Action set_syncgen_vbporch(Bit#(16) v);
  endinterface
  
  interface ImageonVitaController;
  
negative.code: 	method Action set_syncgen_vbporch(Bit#(16) v);
  	    syncgen_vbporch_reg <= v;
  	endmethod
  	method XsviData xsviData();
  	    return XsviData {
  	        vsync: xsvi_vsync_wire,
  		hsync: xsvi_hsync_wire,
  		vblank: xsvi_vblank_wire,
  		hblank: xsvi_hblank_wire,
  		active_video: xsvi_active_video_wire,
  		video_data: xsvi_video_data_wire
  	    };
  	endmethod
      endinterface
  endmodule