📄 blank_gen.v
字号:
module blank_gen( rst, datack, hsync, vsync, blank_rev, vsync_rev, blank_pal, vsout, blank_video_send, pal_ntsc_flag );input rst,datack,hsync,vsync;input pal_ntsc_flag;output blank_rev;output vsync_rev;output vsout;output blank_video_send;output blank_pal;reg blank_rev_svga;wire blank_rev;reg vsync_rev;reg vsout;reg [11:0] hcnt_h,vcnt_h,hcnt_l,vcnt_l;reg hsync_reg1,hsync_reg2,vsync_reg1,vsync_reg2;always @ (posedge datack) begin hsync_reg1 <= hsync; hsync_reg2 <= hsync_reg1; vsync_reg1 <= vsync; vsync_reg2 <= vsync_reg1; end reg reset_n;always @ (posedge datack or negedge rst)if(!rst) reset_n <= 0;else if(!vsync_reg1 && vsync) reset_n <= 1; always @ (posedge datack or negedge rst)if(!rst) vcnt_h <= 0;else if(vsync_reg1) begin if(hsync_reg1 & !hsync_reg2) vcnt_h <= vcnt_h + 1; endelse vcnt_h <= 0;reg [7:0] vcnt_h_n;always @ (posedge datack or negedge rst)if(!rst) vcnt_h_n <= 0;else if(vsync_reg1) begin if(!hsync_reg1 & hsync_reg2) vcnt_h_n <= vcnt_h_n + 1; endelse vcnt_h_n <= 0; always @ (posedge datack or negedge rst)if(!rst) vcnt_l <= 0;else if(!vsync_reg1) begin if(hsync_reg1 & !hsync_reg2) vcnt_l <= vcnt_l + 1; endelse vcnt_l <= 0;always @ (posedge datack or negedge rst)if(!rst) vsync_rev <= 0;else if((vcnt_l<'d4 && !vsync_reg1) || (vcnt_h>'d0)) vsync_rev <= 1;else vsync_rev <= 0;always @ (posedge datack or negedge rst)if(!rst) vsout <= 0;else if((vcnt_l<'d1 && !vsync_reg1) || (vcnt_h>'d2)) vsout <= 1;else vsout <= 0; always @ (posedge datack or negedge rst)if(!rst) hcnt_h <= 0;else if(hsync_reg1) hcnt_h <= hcnt_h + 1;else hcnt_h <= 0;always @ (posedge datack or negedge rst)if(!rst) hcnt_l <= 'd0;else if(!hsync_reg1) hcnt_l <= hcnt_l + 1;else hcnt_l <= 'd0; /*******************************************************//***********Generate Blanks for SVGA 800*600************//*******************************************************/reg blank_pal;always @ (posedge datack or negedge rst)if(!rst) blank_pal<=0;else begin//91 897 if(((hcnt_h >=62) || ((!hsync_reg1)&& (hcnt_l < 'd134))) && vsout && reset_n)//)// (vcnt_h > 0)&& (vcnt_h < 288) blank_pal<=1; else blank_pal<=0;endassign blank_rev = blank_pal;wire blank_video_send = blank_pal;endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -