Subversion Repositories pentevo

Rev

Rev 498 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1. `include "../include/tune.v"
  2.  
  3. // PentEvo project (c) NedoPC 2010-2011
  4. //
  5. // generates horizontal vga sync, double the rate of TV horizontal sync
  6.  
  7. module video_vga_sync_h(
  8.  
  9.         input  wire clk,
  10.  
  11.         output reg  vga_hsync,
  12.  
  13.         output reg  scanout_start,
  14.  
  15.         input  wire hsync_start
  16. );
  17.  
  18.         localparam HSYNC_END    = 10'd106;
  19.         localparam SCANOUT_BEG  = 10'd156;
  20.  
  21.         localparam HPERIOD = 10'd896;
  22.  
  23.  
  24.  
  25.         reg [9:0] hcount;
  26.  
  27.         initial
  28.         begin
  29.                 hcount = 9'd0;
  30.                 vga_hsync = 1'b0;
  31.         end
  32.  
  33.  
  34.  
  35.         always @(posedge clk)
  36.         begin
  37.                         if( hsync_start )
  38.                                 hcount <= 10'd2;
  39.                         else if ( hcount==(HPERIOD-9'd1) )
  40.                                 hcount <= 10'd0;
  41.                         else
  42.                                 hcount <= hcount + 9'd1;
  43.         end
  44.  
  45.  
  46.         always @(posedge clk)
  47.         begin
  48.                 if( !hcount )
  49.                         vga_hsync <= 1'b1;
  50.                 else if( hcount==HSYNC_END )
  51.                         vga_hsync <= 1'b0;
  52.         end
  53.  
  54.  
  55.         always @(posedge clk)
  56.         begin
  57.                 if( hcount==SCANOUT_BEG )
  58.                         scanout_start <= 1'b1;
  59.                 else
  60.                         scanout_start <= 1'b0;
  61.         end
  62.  
  63.  
  64. endmodule
  65.  
  66.