Verilog程序12、VGA显示字符(2)

发布时间:2021-06-05

Verilog程序

////////// 垂直扫描参数的设定

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// parameter FramePeriod=10'd666;

parameter V_SyncPulse=10'd6;

parameter V_BackPorch=10'd21;

parameter V_ActivePix=10'd604;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////// 水平扫描计数x_cnt只负责计数从0计数计到1040

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// always @ (posedge clk or negedge rst_n)

if(!rst_n) x_cnt <= 1; else if(x_cnt == LinePeriod) x_cnt <= 1;

else x_cnt <= x_cnt+ 1; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////// 水平扫描信号vsync产生 在0到120时为低电平

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// always @ (posedge clk or negedge rst_n)

if(!rst_n) hsync <= 1'b1;

else if(x_cnt == 1) hsync <= 1'b0; //产生hsync信号

else if(x_cnt == H_SyncPulse+1) hsync <= 1'b1;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////// 垂直扫描计数

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// always @ (posedge clk or negedge rst_n)

if(!rst_n) y_cnt <= 1; else if(y_cnt == FramePeriod) y_cnt <= 1;

else if(x_cnt == LinePeriod) y_cnt <= y_cnt+1;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////// 垂直扫描信号hsync产??

精彩图片

热门精选

大家正在看