没有服务器怎样做网站,网站管理助手 1004,直播软件app下载免费,wordpress 好的插件目录 一、VGA简介
二、VGA引脚的定义
三、VGA显示原理#xff1a;
四、VESA标准下的VGA时序#xff1a;
五、VGA显示模式以及相关参数#xff1a;
六、数字信号与模拟信号的转换
实战演练一#xff1a;VGA显示彩条
1、实验目标
2、各模块框图及其波形图
3、模块代…目录 一、VGA简介
二、VGA引脚的定义
三、VGA显示原理
四、VESA标准下的VGA时序
五、VGA显示模式以及相关参数
六、数字信号与模拟信号的转换
实战演练一VGA显示彩条
1、实验目标
2、各模块框图及其波形图
3、模块代码
4、实验结果编辑
实战演练二显示自定义字符我爱交大
1、实验目标
2、各模块框图及其波箱图
3、模块代码
4、实验结果 一、VGA简介
VGA英文全称Video Graphics Array”译为视频图形阵列是一种使用模拟信号进行视频传输的标准协议由IBM公司于1987年推出因其分辨率高、显示速度快、颜色丰富等优点广泛应用于彩色显示器领域。
VGA接口:
母头 公头 VGA连接线两头都是公头 使用VGA连接线将计算机和VGA显示器连接起来 二、VGA引脚的定义 1红基色、2绿基色、3蓝基色、13行同步信号、14场同步信号拐角最为重要
RGB色彩显示标准根据三原色中红色、绿色、蓝色所占比例以及三原色相互之间的叠加来显示各式各样的颜色 三、VGA显示原理
VGA显示器逐行扫描原理逐行扫描是扫描从屏幕左上角一点开始从左至右逐点扫描每扫描完一行电子束回到屏幕的左边下一行的起始位置。在这期间CRT对电子束进行消隐每行结束时用行同步信号HS进行同步当扫描完所有的行形成一帧用场同步信号VS进行帧同步并使扫描回到屏幕左上方同时进行场消隐开始下一帧。 四、VESA标准下的VGA时序
①行同步时序图
Video图像信息GSync行同步信号
行同步信号自上升沿起到下一个上升沿止为一个周期这个周期成为行扫描周期一个完整的行扫描周期包含六个部分同步、后延、左边框、有效图像、右边框、前沿。这六个部分的基本单位是一个像素在图像传输过程中每一个时钟周期传输一个像素点这六个部分的基本单位也可以称作一个像素时钟周期在一个完整的行扫描周期内图像信息是在行同步信号的同步下完成一行图像的扫描图像信息只有在“有效图像阶段”才是有效的行同步信号只在同步阶段才保持高电平。 ②场同步时序图 场同步信号自上升沿起到下一个上升沿止为一个周期这个周期成为场扫描周期一个完整的场扫描周期包含六个部分同步、后延、左边框、有效图像、右边框、前沿。这六个部分的基本单位是一行。在一个完整的场扫描周期中图像信息需要在行同步信号和场同步信号的共同作用下完成一帧图像的显示图像信息只有在“场有效图像”、‘’行有效图像“两个阶段才是有效的 ③VGA时序图 红色和黄色相交的位置就是VGA图像的最终显示区域 五、VGA显示模式以及相关参数 显示模式640x48060640表示在一个完整的行扫描周期中有效显示图像每一行有640个像素点480表示一帧完整的图像有480行
640x480≈30万表示一帧图片约包含30万个像素点60是帧率表示在640x48060显示模式下每秒刷新图像60次也就是每秒显示60帧图像。时钟25.175MHZ表示VGA显示的工作时钟就是像素点扫描的频率96表示在同步阶段保持96个时钟周期40表示在后延阶段保持40个时钟周期。行扫描周期800等于行同步信号的六个阶段时钟周期相加
注行扫描周期x场扫描周期x帧率时钟F
例在显示模式640x48075中840x500x7531500000HZ31.5MHZ 六、数字信号与模拟信号的转换
VGA传输协议传输的是模拟信号VGA显示器只能识别模拟信号尔FPGA处理的是数字信号将数字信号转换为模拟限号有两种方式AD7123等转换芯片稳定但成本稍高、权电阻网络成本低 权电阻网络原理图 征途系列开发板使用RGB565图像模式每个像素点的位宽是16位宽565红绿蓝在图像显示时FPGA通过VGA_D端口将图像信号传输到权电阻网络经过权电阻网络的数模转换生成能够被VGA识别的图像信号VGA_RVGA_GVGA_B生成的三路模拟信号的电压范围是0~0.714V0V表示无色0.714V表示满色 实战演练一VGA显示彩条 1、实验目标
驱动VGA显示器在640x48060显示模式下显示十种颜色等宽彩条的显示
2、各模块框图及其波形图
①②顶层模块 rgb[15:0]图像信息使用的是RGB565图像模式所以位宽为16位此信号由FPGA产生然后传输给权电阻网络
hsync行同步信号此信号由FPGA产生然后传输给权电阻网络
vsync场同步限号此信号由FPGA产生然后传输给权电阻网络
注locked锁定信号只有为高电平的时候分频后的时钟信号才是有效的所以需要将系统复位信号sys_rst_n和locked进行”与操作后再接入Vga_pic和Vga_ctrl的复位信号 ②时钟分频模块将50MHZ的系统时钟分频成25MHZfpga系统时钟为50MHZ而640x48060显示模式下时钟频率为25.175MHZ由于25.175MHZ的频率不太方便生成。为了便于时钟的生成这里使用25MHZ代替25.175MHZ CLK_in输入50MHZ的系统时钟
areset异步复位信号
CLK_out输出25Mhz的输出时钟
locked锁定信号此信号为高电平则CLK_out才可以被使用 ③VGA_ctrl模块生成rgb[15:0]、hsync、vsync三路信号以及图像的横纵坐标 Vga_clk分频后产生的25MHZ的时
sys_rst_n系统复位信号
Pix_data[15:0]图像信息和rgb[15:0]相同 rgb[15:0]图像信息使用的是RGB565图像模式所以位宽为16位
hsync行同步信号
vsync场同步限号
Pix_x有效图像横坐标
Pix_y有效图像纵坐标
VGA_ctrl模块信号波形图
cnt_h[9:0]行计数器对行扫描周期计数最大值799
cnt_v[9:0]场计数器对场扫描周期计数行计数器完成了一个完整的行扫描周期的计数场计数器加一最大值524
hsync行同步信号在行计数器计数到0~95时行同步阶段时拉高其他时间为低电平
vsync场同步信号在场计数器计数到0~1时行场同步阶段时拉高其他时间为低电平 rgb_valid图像有效信号行计数器计数到有效图像范围144~783并且场计数器计数到有效图像范围35~514此信号为高电平
Pix_x有效图像横坐标有效图像为高电平时在数值上等于行计数器数值减去行同步、行后延、行边框三个阶段数值之和
Pix_y有效图像纵坐标有效图像为高电平时在数值上等于场计数器数值减去场同步、场后延、场边框三个阶段数值之和
rgb[15:0]有效图像信息初值全零表示显示黑色当图像有效信号rgb_valid为高电平时rgb[15:0]Pix_data[15:0] 图④像信息生成模块根据有效图像坐标信息产生要显示的图像数据 vga_clk分频后的时钟
sys_rst_n复位信号 Pix_x横坐标 Pix_y纵坐标
Pix_data[15:0]生成的图像信息 3、模块代码
clk_gen:调用pll锁相环
vga_ctrl
timescale 1ns/1nsmodule vga_ctrl ( //VGA控制模块input wire vga_clk ,input wire sys_rst_n ,input wire [15:0] pix_data ,//图像数据output wire [9:0] pix_x ,output wire [9:0] pix_y ,output wire hsync ,//行扫描信号output wire vsync ,//场扫描信号output wire [15:0] rgb
);parameter H_SYNC 10d96 , //行同步H_BACK 10d40 , //行时序后沿H_LEFT 10d8 , //行时序左边框H_VALID 10d640 , //行有效数据H_RIGHT 10d8 , //行时序右边框H_FRONT 10d8 , //行时序前沿H_TOTAL 10d800 ; //行扫描周期
parameter V_SYNC 10d2 , //场同步V_BACK 10d25 , //场时序后沿V_TOP 10d8 , //场时序上边框V_VALID 10d480 , //场有效数据V_BOTTOM 10d8 , //场时序下边框V_FRONT 10d2 , //场时序前沿V_TOTAL 10d525 ; //场扫描周期reg [9:0] cnt_h ;
reg [9:0] cnt_v ;
wire pix_data_req ;
wire rgb_valid ; //图像有效信号,行扫描信号位于有效图像范围并且场扫描信号位于有效图像范围时图像有效信号为高电平//cnt_h:行同步信号计数器
always (posedge vga_clk or negedge sys_rst_n ) beginif(sys_rst_n 1b0)cnt_h 10d0;else if(cnt_h H_TOTAL - 1b1 )cnt_h 10d0;elsecnt_h cnt_h 10d1;
end//hsync:行同步信号
assign hsync (cnt_h H_SYNC - 1d1) ? 1b1 : 1b0 ;//cnt_v:场同步信号计数器
always (posedge vga_clk or negedge sys_rst_n ) beginif(sys_rst_n 1b0)cnt_v 10d0;else if((cnt_v V_TOTAL - 1d1) (cnt_h H_TOTAL-1d1))cnt_v 10d0;else if(cnt_h H_TOTAL -10d1 )cnt_v cnt_v 1d1;elsecnt_v cnt_v;
end
//vsync:场同步信号
assign vsync (cnt_v V_SYNC - 1d1) ? 1b1 : 1b0 ;//图像有效信号
assign rgb_valid (((cnt_h H_SYNC H_BACK H_LEFT) (cnt_h H_SYNC H_BACK H_LEFT H_VALID))((cnt_v V_SYNC V_BACK V_TOP) (cnt_v V_SYNC V_BACK V_TOP V_VALID)))? 1b1 : 1b0;assign pix_data_req (((cnt_h H_SYNC H_BACK H_LEFT - 1b1) (cnt_h H_SYNC H_BACK H_LEFT H_VALID - 1b1))((cnt_v V_SYNC V_BACK V_TOP) (cnt_v V_SYNC V_BACK V_TOP V_VALID)))? 1b1 : 1b0;//pix_x,pix_y:VGA有效显示区域像素点坐标
assign pix_x (pix_data_req 1b1)? (cnt_h - (H_SYNC H_BACK H_LEFT-1b1)) : 10h3ff;
assign pix_y (pix_data_req 1b1)? (cnt_v - (V_SYNC V_BACK V_TOP)) : 10h3ff;//rgb:输出像素点色彩信息
assign rgb (rgb_valid 1b1) ? pix_data : 16b0 ;
endmodule
vga_pic
timescale 1ns/1ns
module vga_pic
(input wire vga_clk , //输入工作时钟,频率25MHzinput wire sys_rst_n , //输入复位信号,低电平有效input wire [9:0] pix_x , //输入VGA有效显示区域像素点X轴坐标input wire [9:0] pix_y , //输入VGA有效显示区域像素点Y轴坐标output reg [15:0] pix_data //输出像素点色彩信息
);parameter H_VALID 10d640 , //行有效数据V_VALID 10d480 ; //场有效数据parameter RED 16hF800, //红色ORANGE 16hFC00, //橙色YELLOW 16hFFE0, //黄色GREEN 16h07E0, //绿色CYAN 16h07FF, //青色BLUE 16h001F, //蓝色PURPPLE 16hF81F, //紫色BLACK 16h0000, //黑色WHITE 16hFFFF, //白色GRAY 16hD69A; //灰色always(posedge vga_clk or negedge sys_rst_n)if(sys_rst_n 1b0)pix_data 16d0;else if((pix_x 0) (pix_x (H_VALID/10)*1))pix_data RED;else if((pix_x (H_VALID/10)*1) (pix_x (H_VALID/10)*2))pix_data ORANGE;else if((pix_x (H_VALID/10)*2) (pix_x (H_VALID/10)*3))pix_data YELLOW;else if((pix_x (H_VALID/10)*3) (pix_x (H_VALID/10)*4))pix_data GREEN;else if((pix_x (H_VALID/10)*4) (pix_x (H_VALID/10)*5))pix_data CYAN;else if((pix_x (H_VALID/10)*5) (pix_x (H_VALID/10)*6))pix_data BLUE;else if((pix_x (H_VALID/10)*6) (pix_x (H_VALID/10)*7))pix_data PURPPLE;else if((pix_x (H_VALID/10)*7) (pix_x (H_VALID/10)*8))pix_data BLACK;else if((pix_x (H_VALID/10)*8) (pix_x (H_VALID/10)*9))pix_data WHITE;else if((pix_x (H_VALID/10)*9) (pix_x H_VALID))pix_data GRAY;elsepix_data BLACK;
endmodule
vga_colorbar
timescale 1ns/1nsmodule vga_colorbar
(input wire sys_clk , input wire sys_rst_n , output wire hsync , output wire vsync , output wire [15:0] rgb
);wire vga_clk ;
wire locked ;
wire rst_n ;
wire [9:0] pix_x ;
wire [9:0] pix_y ;
wire [15:0] pix_data; assign rst_n (sys_rst_n locked);clk_gen clk_gen_inst
(.areset (~sys_rst_n ), .inclk0 (sys_clk ), .c0 (vga_clk ), .locked (locked )
);vga_ctrl vga_ctrl_inst
(.vga_clk (vga_clk ), .sys_rst_n (rst_n ), .pix_data (pix_data ), .pix_x (pix_x ), .pix_y (pix_y ), .hsync (hsync ), .vsync (vsync ), .rgb (rgb )
);vga_pic vga_pic_inst
(.vga_clk (vga_clk ), .sys_rst_n (rst_n ), .pix_x (pix_x ), .pix_y (pix_y ), .pix_data (pix_data ) );endmodule4、实验结果
实战演练二显示自定义字符我爱交大
1、实验目标
在vga显示屏上显示点阵大小64x64字宽x字高56x56显示模式640x48060背景为黑色的野火科技四个字符如下
2、各模块框图及其波箱图
顶层模块 时钟分频模块 vga控制模块 图像信息生成模块 图像信息生成模块波形图
Vga_clk经过时钟分频模块分频后的时钟 sys_rst_n系统复位信号 Pix_x由vga_ctrl产生的有效图像横坐标 Pix_y由vga_ctrl产生的有效图像纵坐标 char_x字符区域横坐标 char_y字符区域纵坐标 Pix_data[15:0]图像信息
3、模块代码
顶层模块vga_char
timescale 1ns/1nsmodule vga_char
(input wire sys_clk , input wire sys_rst_n , output wire hsync , output wire vsync , output wire [15:0] rgb
);wire vga_clk ;
wire locked ;
wire rst_n ;
wire [9:0] pix_x ;
wire [9:0] pix_y ;
wire [15:0] pix_data; assign rst_n (sys_rst_n locked);clk_gen clk_gen_inst
(.areset (~sys_rst_n ), .inclk0 (sys_clk ), .c0 (vga_clk ), .locked (locked )
);vga_ctrl vga_ctrl_inst
(.vga_clk (vga_clk ), .sys_rst_n (rst_n ), .pix_data (pix_data ), .pix_x (pix_x ), .pix_y (pix_y ), .hsync (hsync ), .vsync (vsync ), .rgb (rgb )
);vga_pic vga_pic_inst
(.vga_clk (vga_clk ), .sys_rst_n (rst_n ), .pix_x (pix_x ), .pix_y (pix_y ), .pix_data (pix_data ) );endmodule时钟分频模块clk_gen,调用pll锁相环
vga控制模块
timescale 1ns/1nsmodule vga_ctrl
(input wire vga_clk , input wire sys_rst_n , input wire [15:0] pix_data , output wire [9:0] pix_x , output wire [9:0] pix_y , output wire hsync , output wire vsync , output wire [15:0] rgb
);parameter H_SYNC 10d96 , //行同步H_BACK 10d40 , //行时序后沿H_LEFT 10d8 , //行时序左边框H_VALID 10d640 , //行有效数据H_RIGHT 10d8 , //行时序右边框H_FRONT 10d8 , //行时序前沿H_TOTAL 10d800 ; //行扫描周期
parameter V_SYNC 10d2 , //场同步V_BACK 10d25 , //场时序后沿V_TOP 10d8 , //场时序上边框V_VALID 10d480 , //场有效数据V_BOTTOM 10d8 , //场时序下边框V_FRONT 10d2 , //场时序前沿V_TOTAL 10d525 ; //场扫描周期//wire define
wire rgb_valid ; //VGA有效显示区域
wire pix_data_req ; //像素点色彩信息请求信号//reg define
reg [9:0] cnt_h ; //行同步信号计数器
reg [9:0] cnt_v ; //场同步信号计数器//cnt_h:行同步信号计数器
always(posedge vga_clk or negedge sys_rst_n)if(sys_rst_n 1b0)cnt_h 10d0 ;else if(cnt_h H_TOTAL - 1b1)cnt_h 10d0 ;elsecnt_h cnt_h 1d1 ;//hsync:行同步信号
assign hsync (cnt_h H_SYNC - 1d1) ? 1b1 : 1b0 ;//cnt_v:场同步信号计数器
always(posedge vga_clk or negedge sys_rst_n)if(sys_rst_n 1b0)cnt_v 10d0 ;else if((cnt_v V_TOTAL - 1d1) (cnt_h H_TOTAL-1d1))cnt_v 10d0 ;else if(cnt_h H_TOTAL - 1d1)cnt_v cnt_v 1d1 ;elsecnt_v cnt_v ;//vsync:场同步信号
assign vsync (cnt_v V_SYNC - 1d1) ? 1b1 : 1b0 ;//rgb_valid:VGA有效显示区域
assign rgb_valid (((cnt_h H_SYNC H_BACK H_LEFT) (cnt_h H_SYNC H_BACK H_LEFT H_VALID))((cnt_v V_SYNC V_BACK V_TOP) (cnt_v V_SYNC V_BACK V_TOP V_VALID)))? 1b1 : 1b0;//pix_data_req:像素点色彩信息请求信号,超前rgb_valid信号一个时钟周期
assign pix_data_req (((cnt_h H_SYNC H_BACK H_LEFT - 1b1) (cnt_h H_SYNC H_BACK H_LEFT H_VALID - 1b1))((cnt_v V_SYNC V_BACK V_TOP) (cnt_v V_SYNC V_BACK V_TOP V_VALID)))? 1b1 : 1b0;//pix_x,pix_y:VGA有效显示区域像素点坐标
assign pix_x (pix_data_req 1b1)? (cnt_h - (H_SYNC H_BACK H_LEFT - 1b1)) : 10h3ff;
assign pix_y (pix_data_req 1b1)? (cnt_v - (V_SYNC V_BACK V_TOP)) : 10h3ff;//rgb:输出像素点色彩信息
assign rgb (rgb_valid 1b1) ? pix_data : 16b0 ;endmodule图像信息生成模块
module vga_pic (input wire vga_clk,input wire sys_rst_n,input wire [9:0] pix_x,input wire [9:0] pix_y,output reg [15:0] pix_data
);
parameter CHAR_B_H 10d192 ,//字符开始X轴坐标CHAR_B_V 10d208 ;//字符开始Y轴坐标parameter CHAR_W 10d256,//字符宽度CHAR_H 10d64 ;//字符高度parameter BLACK 16h0000,GOLDEN 16hFEC0;reg [CHAR_W-1:0] char [CHAR_H -1:0]; //存储器变量位宽256深度64表示char有64个存储单元每个单元能存储的位宽是256wire [9:0] char_x;
wire [9:0] char_y;assign char_x (((pix_x CHAR_B_H) (pix_x CHAR_B_H CHAR_W)) ((pix_y CHAR_B_V) (pix_y CHAR_B_V CHAR_H)))? (pix_x - CHAR_B_H) : 10h3ff;assign char_y (((pix_x CHAR_B_H) (pix_x CHAR_B_H CHAR_W)) ((pix_y CHAR_B_V) (pix_y CHAR_B_V CHAR_H)))? (pix_y - CHAR_B_V) : 10h3ff;always(posedge vga_clk)
beginchar[0]256h0000000000000000000000000000000000000000000000000000000000000000;
char[1]256h0000000000000000000000000000000000000000000000000000000000000000;
char[2]256h0000000000070000000000000000001E0000000003C000000000000000E00000;
char[3]256h00000000038F800000000000000000FE0000000003E000000000000000F80000;
char[4]256h000000000FCFE0000000000000001FFF0000000003F000000000000000FE0000;
char[5]256h000000003FCFEF00000000000007FFFF0000000001F800000000000001FE0000;
char[6]256h00000001FFDFCF800000000007FFFFFF0000000001FC00000000000001F80000;
char[7]256h0000001FFFDF87E0000001FFFFFFFFC00000000001FC00000000000001F00000;
char[8]256h000003FFFE1F07F0000001FFFFC003E00000000000FC000E0000000003F00000;
char[9]256h00003FFFC01F03F80000001C03C007F00000000000F8001E0000000003F00000;
char[10]256h00003F0F803F03F80000001E03E00FF00000000000F8007F0000000003E00000;
char[11]256h0000000F803E03F80000001F01F01FC00000000000F000FF0000000007E00000;
char[12]256h0000001F803E01F80000001F81F83F800000FFFFFFFFFFFF0000000007E00000;
char[13]256h0000001F007E01F80000001F81F83E000000FFFFFFFFFFFF0000000007C0001C;
char[14]256h0000001F007C01F00000000F81F87C000000000000000000000000000FC0003C;
char[15]256h0000003F007C00E00000000F81F0F80000000007800E0000000000000FC000FE;
char[16]256h0000003E00FC007000001C0F81F1F0000000000FC00F8000000000000F8001FE;
char[17]256h0000003E00F801F800001C0F01E3C0780000003FC007E0000003FFFFFFFFFFFF;
char[18]256h0000007E00F803FC00003C0E000381FC0000007FC003F8000003FFFFFFFFFFFF;
char[19]256h0007FFFFFFFFFFFC00007FFFFFFFFFFC000000FF0001FC00000000001F000000;
char[20]256h0007FFFFFFFFFFFC0000FFFFFFFFFFFC000001FC0000FF00000000003F000000;
char[21]256h000000FC01F000000000F801C00003F8000007F800007F80000000003F000000;
char[22]256h000000F801F000000003F003F00007E000000FF8003C7F80000000007F000000;
char[23]256h000000F803F01E000007F003F0000F8000003FB8003F3F80000000007F000000;
char[24]256h000001F803E03E00000FE007F0001F0000007F38007F9F8000000000FF000000;
char[25]256h000001F003E07F00000FE007E0003E000001FC3800FF9F8000000000FF000000;
char[26]256h000001F003E0FF00000F8007C00078000003F03800FE0F8000000001FF000000;
char[27]256h000003F07BE1FE000000000FC001FC00000FC03C01FC0F0000000001FF000000;
char[28]256h000003E3FFC3F8000001FFFFFFFFFE00003F003C03F8000000000003FF000000;
char[29]256h000003FFE7C7F0000001FFFFFFFFFE00003C003C03F0000000000007EF000000;
char[30]256h000007FF07CFE0000000003F000000000000003C07E0000000000007EF800000;
char[31]256h00001FF807DFC0000000003E000700000000003C0FC000000000000FCF800000;
char[32]256h0001FFE007FF80000000007E001F80000000003E1F8000000000001F87800000;
char[33]256h001FFFC00FFF0000000000FFFFFFC0000000003E3F8000000000001F87800000;
char[34]256h01FFFF800FFE0000000000FFFFFFC0000000001E7F0000000000003F07C00000;
char[35]256h01FFFF800FF80000000001FE007F80000000001FFE0000000000007E07C00000;
char[36]256h01FF1F000FF00000000003FE00FE00000000001FFC000000000000FC07C00000;
char[37]256h00FC1F000FE00000000007FF01FC00000000001FF8000000000001F803E00000;
char[38]256h00F03F001FC0070000000FDF03F800000000001FE0000000000003F803E00000;
char[39]256h00003E007FC00F0000001F8F8FF000000000000FC0000000000007F003F00000;
char[40]256h00003E00FFE00E0000003F0F9FC000000000003FC000000000000FE001F80000;
char[41]256h00007E03FFE01E0000007E07FF8000000000007FE000000000001FC001FC0000;
char[42]256h00007C0FF7F01E000001F807FF000000000001FFF000000000007F0001FE0000;
char[43]256h00007C3FC3F83C000003F003FC000000000007FBFC0000000000FE0000FF0000;
char[44]256h0000FC7F03F83C000007E007FC00000000001FE1FF0000000001FC0000FF8000;
char[45]256h0000F9FC01FE7C00001F801FFF00000000007F80FFC000000007F000007FE000;
char[46]256h00E1FFF001FF7800003F007FFFF000000001FE007FFC0000001FE000003FFC00;
char[47]256h00FFFF8000FFF80000FC01FF7FFFE0000007F8003FFFFC00003F8000001FFC00;
char[48]256h00FFFC00007FF80001F80FFC1FFFF800003FE0001FFFFC0000FE0000001FFC00;
char[49]256h003FF000003FF80007E07FE007FFF80001FF000007FFF80007F80000000FE000;
char[50]256h001FE000001FF8000F87FF0000FFE0000FF8000000FFE0001FC0000000078000;
char[51]256h000F80000003F8000E3FF000001FC0003FC00000001FC0007F00000000000000;
char[52]256h000E000000007800003E0000000000003C000000000000007800000000000000;
char[53]256hFFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80;
char[54]256hFFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80;
char[55]256hFFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80;
char[56]256h0000000000000000000000000000000000000000000000000000000000000000;
char[57]256h0000000000000000000000000000000000000000000000000000000000000000;
char[58]256h0000000000000000000000000000000000000000000000000000000000000000;
char[59]256h0000000000000000000000000000000000000000000000000000000000000000;
char[60]256h0000000000000000000000000000000000000000000000000000000000000000;
char[61]256h0000000000000000000000000000000000000000000000000000000000000000;
char[62]256h0000000000000000000000000000000000000000000000000000000000000000;
char[63]256h0000000000000000000000000000000000000000000000000000000000000000;
endalways(posedge vga_clk or negedge sys_rst_n)beginif(sys_rst_n 1b0)pix_data BLACK;else if((((pix_x CHAR_B_H-1b1) (pix_x CHAR_B_H CHAR_W-1b1)) ((pix_y CHAR_B_V) (pix_y CHAR_B_V CHAR_H))) (char[char_y][10d255- char_x] 1b1))pix_data GOLDEN;else pix_data BLACK;
endendmodule
4、实验结果