VGA彩条信号显示控制电路设计
VGA显示器彩色信号发生器电路
EDA课程设计报告—VGA显示器彩色信号发生器电路班级:08通信A班姓名:崔儒学号: 0815231013指导老师:凌朝东摘要:VGA(Video Graphic Array)接口是与显示器进行通信的唯一接口。
通过FPGA器件控制RGB信号、行同步信号、场同步信号等信号,并参照有关标准,最后可以实现对VGA显示器的控制。
本设计与传统的图像显示方法不同,为节省储存空间在设计中采用R、G、B三种基色利用FPGA芯片和EDA设计方法,可以显示8种颜色,设计出针对性强的VGA显示控制器,而且不需要依靠计算机,既能够大大降低成本,又可以满足生产实践中不断变化的需要,同时产品的升级换代也方便迅速。
本设计采用Altera公司的EDA软件0uartus II,并以Cylone 系列FPGA器件为硬件平台进行系统设计。
关键词:VGA;FPGA:VHDL;Ouartus II目录1、系统设计 (4)2、单元电路设计 (6)3、软件设计 (8)4、系统测试 (11)5、小结 (12)6、参考文献 (12)7、附录 (13)一、系统设计1、设计要求:VGA显示器彩色信号发生器电路,能在VGA显示器上显示8种颜色的图形(条型、方块型)。
2、系统设计方案:方案一:采用传统的图像显示方法,将图像数据传回电脑在传输过程中通过CPU对图像数据信号进行控制,通过显示器显示出来。
方案二:采用FPGA和EDA的设计方法,通过FPGA器件控制RGB信号、行同步信号、场同步信号等信号,并参照有关标准,最终可以实现对VGA 的控制。
方案一为传统的图像显示方法,在传输过程中需要CPU不断对图像数据信号进行控制,这样就造成了CPU的浪费,同时系统还需要依赖电脑,降低了系统的灵活性。
方案二是利用可编程器件FPGA和EDA的设计方法,可以根据设计的需要设计出针对性比较强的VGA显示器,而且不需要依靠计算机,大大降低了成本提高了系统的灵活性。
综合上诉分析本设计中采用方案二。
实验9 VGA显示控制器实验
实验9 VGA显示控制器实验1、实验目的:1)理解VGA显示的基本原理。
2)学习计数器和LPM_ROM的使用方法2、实验原理:图1 VGA显示控制器的原理框图3、实验内容1)彩条信号实验a)创建锁相环,把输入的50MHz时钟变成25MHz,并创建元件。
b)利用所给的VGA_Pattern和VGA_Ctrl,创建元件。
c)完成顶层原理图,在QuartusⅡ上进行编译、综合、适配。
引脚锁定以及硬件下载测试。
2)显示自己的姓实验。
修改VGA_Pattern,利用if语句控制相应区域的相应值,在QuartusⅡ上进行编译、综合、适配。
引脚锁定以及硬件下载测试。
3)显示数字实验a)创建lpm_rom,手动输入“0”的mif文件。
b)顶层文件为numTop.v,在QuartusⅡ上进行编译、综合、适配,硬件下载测试。
4)计数显示实验a)创建“1~9”的lpm_rom,mif文件已给出。
b)加入计数器。
c)完成顶层文件,在QuartusⅡ上进行编译、综合、适配,硬件下载测试。
5)数字钟实验在4)基础上加入位置控制,完成顶层文件,在QuartusⅡ上进行编译、综合、适配,硬件下载测试。
6)显示理工校徽实验(2)moduleVGA_Pattern(//HostSideoRed,oGreen,oBlue,iCurrent_X,iCurrent_Y,iVGA_CLK,iRST_N); // Host Sideoutput reg oRed;output reg oGreen;output reg oBlue;input [9:0] i Current_X;input [9:0] i Current_Y;// Control Signalinput iVGA_CLK;input iRST_N;always@(posedge iVGA_CLK or negedge iRST_N)beginif(!iRST_N)beginoRed <= 0;oGreen <= 0;oBlue <= 0;endelsebeginif((( iCurrent_Y>60)&& (iCurrent_Y <80))&&((iCurrent_X>200)&&(iCurrent_X <400)))beginoRed <= 1;oGreen <= 0;oBlue <= 0;endelse if((( iCurrent_Y>80)&& (iCurrent_Y <240))&&((iCurrent_X>200)&&(iCurrent_X <240)))beginoRed <= 1;oGreen <= 0;oBlue <= 0;end/*else if((( iCurrent_Y>150)&& (iCurrent_Y <170))&&((iCurrent_X>260)&&(iCurrent_X <340)))/*else if((150 < iCurrent_Y < 170)&&(260<iCurrent_X < 340))beginoRed <= 1;oGreen <= 0;oBlue <= 0;endelse if((( iCurrent_Y>170)&& (iCurrent_Y <240))&&((iCurrent_X>290)&&(iCurrent_X <310)))/*else if((170 < iCurrent_Y < 240)&&(290 < iCurrent_X < 310))beginoRed <= 1;oGreen <= 0;oBlue <= 0;end*/else if((( iCurrent_Y>240)&& (iCurrent_Y <260))&&((iCurrent_X>200)&&(iCurrent_X <400)))/*else if((240 < iCurrent_Y < 260)&&(150 < iCurrent_X < 450))*/beginoRed <= 1;oGreen <= 0;oBlue <= 0;endelsebeginoRed <= 0;oGreen <= 0;oBlue <= 0;endendendendmodule(3)(4)module numTop1(CLK,RST,R,G,B,HS,VS); input CLK,RST;output R,G,B,HS,VS;wire clk25Mhz,vga_clk;wire [9:0]ram_data;wire [9:0] X,Y;wire [6:0] ram_addr;wire [3:0]COUNT;wire carry1;wire CLK1HZ;reg vga_data;assign ram_addr = {Y[5:2],X[4:2]};altPLL0 u1(CLK,clk25Mhz);VGA_Ctrl u2(.iRed(vga_data),.iGreen(vga_data),.iBlue(vga_data),.oCurrent_X(X),.oCurrent_Y(Y),// VGA Side.oVGA_R(R),.oVGA_G(G),.oVGA_B(B),.oVGA_HS(HS),.oVGA_VS(VS),.oVGA_CLK(vga_clk),// Control Signal.iCLK(clk25Mhz),.iRST_N(RST) ); demo_shuzi u17(ram_addr,vga_clk,ram_data[0]); ROM1 u21(ram_addr,vga_clk,ram_data[1]);ROM2 u14(ram_addr,vga_clk,ram_data[2]);ROM3 u15(ram_addr,vga_clk,ram_data[3]);ROM4 u6(ram_addr,vga_clk,ram_data[4]);ROM5 u7(ram_addr,vga_clk,ram_data[5]);ROM6 u8(ram_addr,vga_clk,ram_data[6]);ROM7 u9(ram_addr,vga_clk,ram_data[7]);ROM8 u10(ram_addr,vga_clk,ram_data[8]);ROM9 u11(ram_addr,vga_clk,ram_data[9]);/*demo_shuzi u3(ram_addr,vga_clk,ram_data);*/ GeneralCnt #(4,9) u4(CLK1HZ,RST,1,COUNT,carry1); ClkDiv #(26,50000000) u5(CLK,RST,CLK1HZ);always@(X,Y)if(X<32 && Y<64)vga_data=ram_data[COUNT];else if(X<64 && Y<64)vga_data=ram_data[COUNT];elsevga_data=0;endmodule//任意倍整数分频器module ClkDiv(clk_in,rst_n,clk_out);parameter MSB = 4, DIV_TIMES = 10;input clk_in,rst_n;output clk_out;reg clk_out;reg [MSB-1:0] count;always @(negedge rst_n or posedge clk_in)beginif(rst_n==0)begincount<=0;endelsebeginif(count < (DIV_TIMES-1))count<=count+1'b1;elsecount<=0;endendalways @(negedge rst_n or posedge clk_in) beginif(rst_n==0)beginclk_out<=1'b0;endelsebeginif(count<(DIV_TIMES>>1))clk_out<=1'b0;elseclk_out<=1'b1;endendendmodule//通用计数器module GeneralCnt(clk,reset_n,ena,cnt,carry_out);parameter MSB = 4, CNT_END = 9; input clk;input reset_n;input ena;output [MSB-1:0]cnt;output carry_out;reg [MSB-1:0]cnt;reg carry_out;//计数always@(posedge clk or negedge reset_n) beginif(!reset_n)cnt <= 0;else if(ena && cnt==CNT_END)cnt <= 0;else if (ena && cnt < CNT_END)cnt <= cnt + 1'b1;end//产生进位输出always@(posedge clk or negedge reset_n) begin if(!reset_n)carry_out <= 1'b0;else if(ena && cnt==CNT_END)carry_out <= 1'b1;elsecarry_out <= 1'b0;endendmodule。
VGA显示器彩色信号显示控制器课程设计
第一部分任务要求1.1课题要求设计一个VGA 图像显示控制器,通过实验箱的VGA接口控制VGA显示器控制,利用键盘作为输入控制显示器上不同彩色条纹输出,通过VHDL编程实现简VGA彩色信号显示控制。
1.2设计目标1、查阅资料确定设计方案。
(建议采用顶层设计方法)2、理解VGA显示器的工作原理,并编写和调试驱动。
3、理解键盘控制的工作原理,并编写和调试驱动程序。
4、编写顶层文件,实现VGA彩色信号显示控制器,并进行相关扩展(如图片显示等)。
第二部分系统设计2.1设计思路设计采用自顶向下(Top-down)的方法。
第一步:系统功能分析和描述VGA显示控制器实现的主要功能是向CRT显示器发出图形控制信号,产生相应的图形显示。
由此,容易得到系统结构框图,有关系统功能分析和输入输出约束。
第二步:系统层次模块划分由系统功能可以将系统从逻辑上划分为输入子系统、模式检测子系统和VGA控制子系统。
从系统逻辑结构出发,将系统设计为3层。
顶层用于描述整个系统的功能和运行;第二层承接顶层,负责实现系统中各个独立而完整的功能部分;第三层为第二层的子模块,用于扩展第二层的功能,具体负责用户模式的实现。
每个层次可用一个或多个具体模块加以实现。
控制器部分是系统的核心部分,负责协调和控制各子模块的工作。
控制器设计采用有限状态机的方法。
第三步:硬件语言描述在前述工作的基础上,采用VHDL语言对VGA显示控制器的三个层次依次进行描述,具体描述出每个模块,生成具体电路视图。
详述与2.3小节中。
第四步:仿真验证经过前三步之后,系统设计基本完成,需要对系统主要功能进行仿真验证,更进一步分析状态机、电路逻辑和时序配合等是否正确。
详述于2.4小节中。
2.2系统结构设计2.2.1系统结构框图图2.1 VGA显示控制器系统结构框图VGA显示控制器的输入是用户控制信息,如显示模式的切换命令、图形移动的控制命令等。
控制器根据用户的输入信息,决定工作模式,这里定义为横彩模式、纵彩模式、纯色模式、用户模式。
EDA技术与Verilog_HDL(潘松)第6章习题答案
6-1 在Verilog设计中,给时序电路清零(复位)有两种不同方法,它们是什么,如何实现?答:同步清零、异步清零,在过程语句敏感信号表中的逻辑表述posedge CLK用于指明正向跳变,或negedge用于指明负向跳变实现6-2 哪一种复位方法必须将复位信号放在敏感信号表中?给出这两种电路的Verilog 描述。
答:异步复位必须将复位信号放在敏感信号表中。
同步清零:always @(posedge CLK) //CLK上升沿启动Q<=D; //当CLK有升沿时D被锁入Q异步清零:always @(posedge CLK or negedge RST) begin //块开始if(!RST)Q<=0; //如果RST=0条件成立,Q被清0else if(EN) Q<=D;//在CLK上升沿处,EN=1,则执行赋值语句end//块结束6-3 用不同循环语句分别设计一个逻辑电路模块,用以统计一8位二进制数中含1的数量。
module Statistics8(sum,A); output[3:0]sum;input[7:0] A;reg[3:0] sum;integer i;always @(A)beginsum=0;for(i=0;i<=8;i=i+1) //for 语句if(A[i]) sum=sum+1;else sum=sum;endendmodule module Statistics8(sum,A); parameter S=4;output[3:0]sum;input[7:0] A;reg[3:0] sum;reg[2*S:1]TA;integer i;always @(A)beginTA=A; sum=0;repeat(2*S)beginif(TA[1])sum=sum+1;TA=TA>>1;endendendmodulerepeat循环语句for循环语句module Statistics8(sum,A);parameter S=8;output[3:0]sum;input[7:0] A;reg[S:1] AT;reg[3:0] sum;reg[S:0] CT;always @(A) beginAT={{S{1'b0}},A}; sum=0; CT=S;while(CT>0) beginif(AT[1])sum=sum+1;else sum=sum;begin CT= CT-1; AT=AT>>1; end end endendmodule6-3 用不同循环语句分别设计一个逻辑电路模块,用以统计一8位二进制数中含1的数量。
VGA显示控制器设计..
学院EDA技术课程设计题目VGA显示控制器设计系(部) 信息工程系班级姓名学号指导教师2013 年7 月8 日至7 月12 日共 1 周课程设计成绩评定表1 引言如今人们的生活水平和质量不断提高,对生活设备的智能化程度的要求越来越高。
现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要因素是生产制造技术和电子设计技术的发展。
前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管。
后者的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作:IC设计、电子电路设计、PCB设计。
没有EDA技术的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,反过来,生产制造技术的不断进步又必将对EDA技术提出新的要求。
随着电子技术的发展和人们对电子设计开发的难度及周期要求,EDA技术必将广发应用于电子设计的各个领域,因此本设计也采用了EDA的设计方法,其设计的优越性明显高于传统的设计方法。
为了实现VGA彩色显示的原理,我们从本质上去认识了生成图像的原理,从而制造更多更复杂的元器件做铺垫,本设计立足系统可靠性及稳定性等高技术要求,采用FPGA芯片实现VGA显示屏控制电路,通过对接口的认识,我们知道了怎么去设置接口成像参数。
其电路设计比较简单,外围电路少,易于控制和检查,较传统的分离元件实现方式有着明显的优势,尤其是其设计电路实现周期,其抗干扰及调试过程都很简单。
2 应用软件介绍2.1Quartus II软件介绍Quartus II是Altera公司推出的一种针对其公司生产的CPLD/FPGA系列器件的综合性开发软件,是一个集成了编译、布局布线和仿真工具在内的完全集成化的可编程逻辑设计环境,是最先进的EDA工具软件。
VGA彩条信号显示控制器设计解析
编号:EDA技术实训实训(论文)说明书题目:VGA彩条信号显示控制器设计院(系):信息与通信学院专业:电子信息工程学生姓名:***学号: ********** 指导教师:付强、陈小毛、归发第2013 年1 月4 日本设计采用EDA技术,通过FPGA芯片实现了实现VGA彩条信号的显示的设计,本文采用VHDL 硬件描述语言描述VGA彩条信号的显示电路,完成对电路的功能仿真。
通过按键来实现横彩条、竖彩条、棋盘式方格图案的选择。
显示图像分辨率为640×480,刷新率为60Hz。
与传统的设计方式相比,本设计由于采用了FPGA芯片来实现,它将大量的电路功能集成到一个芯片中,并且可以由用户自行设计逻辑功能,提高了系统的集成度和可靠性。
关键词:电子设计自动化、可编程门阵列、硬件描述语言、状态机This design used the EDA technology, through the FPGA chip realized the realization of the signal that striped VGA is adopted in this paper, the design of the VHDL hardware description language describe VGA striped signal display circuit and the completion of the function of the circuit simulation. By pressing buttons horizontal striped, perpendicular striped, chessboard type pane design choice. Display image resolution for 640 x 480, refresh rate of 60 Hz ac. Compared with the traditional design methods, the design with FPGA chip to achieve, it will be a lot of circuit function integration to a chip, and can be by the user to design logical function, improve the system integrity and reliability.Keywords:Electronic Design Automatic technology,Flied Programmable,Gate Array, Hardware Description Language, State Machine1. 绪论 (1)1.1 EDA技术的发展 (1)1.2 课程设计的任务 (1)2. 系统设计 (2)2.1 系统的工作原理 (2)2.2 VGA显示原理 (2)2.3 键盘驱动 (4)3 系统设计 (4)3.1图像信号产生模块的设计 (4)3.2 视频输出接口电路部分设计 (5)3.3 模式控制与显示部分设计 (6)3.4 VGA显示模块 (6)4 课程设计心得 (9)5 致谢 (10)参考文献 (11)附录 (12)附录A 总原理图 (12)附录B 实验现象 (12)附录C 引脚分布图 (14)附录D 实验程序 (14)1.绪论1.1 EDA技术的发展我们已经进入数字化和信息化的时代,其特点就是各种数字产品的广泛应用。
VGA学号显示程序实验报告
本科学生设计性实验报告项目组长学号成员专业_班级实验项目名称VGA学号显示控制电路设计指导教师及职称___开课学期2011 至2012 学年下学期上课时间2012 年 6 月27 日一、实验设计方案实验名称:VGA学号显示控制电路设计实验时间:2012年6月27日小组合作:是○否●小组成员:1、实验目的:学习VGA学号显示控制电路设计2、实验场地及仪器、设备和材料:场地:枫林实验室W201仪器、设备:试验箱一台、电脑一台3、实验思路(实验内容、数据处理方法及实验步骤等):3.1 实验原理:常见的彩色显示器一般由CRT(阴极射线管)构成,彩色是由R(红),G(绿),B(蓝)3基色组成。
显示采用逐行扫描的方式,阴极射线枪发出的电子束打在涂有荧光粉的荧光屏上,产生RGB三色基,最后合成一个彩色图像。
从屏幕的左上方开始自左向右的扫描,每扫完一行电子束回到下一行的最左端,每行结束后电子枪回扫的过程中进行消隐。
然后从新开始行扫描,消隐,直到扫描到屏幕的右下方,电子书回到屏幕的左上方重新开始新的图像扫描,并且在回到屏幕的左上方过程中进行消隐,在消隐的过程中不发射电子束。
每一行扫描结束时,用HS(行同步)信号进行同步;扫描完所有的行后用VS(场同步)信号进行同步。
VGA显示器总共需要五根信号线,分别为R\G\B三原色信号和行同步(HSYNC)、场同步(VSYNC)信号。
在通用的标准中,VGA的像素输出频率为25.175 MHz,行频率是31.496 KHz,场频率是59.94 Hz。
分辨率为640*480,即每行显示640个像素,每场显示480行。
这640*480是显示器的有效显示区(Visible area),除此之外,还有行、场消隐区(Back Porch),以及行、场同步区(Sync Pulse)以实现行列的同步操作。
如果利用实验室的液晶屏,可以增加分辨率至800*600,在这个标准下屏幕的刷新频率设为72Hz,行频率是48.08KHz。
推荐-VGA彩条信号显示控制器的设计EDA技术课程设计 精品
河南城建学院EDA 技术课程设计课题:VGA彩条信号显示控制器的设计系别:电气与信息工程学院河南城建学院20XX年6月28日成绩评定·一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。
成绩:(折合等级)指导教师签字年月日本设计是用 FPGA 来实现 VGA 图像控制器,控制显示器显示彩条信号,用VHDL语言,在QuartusII上实现软件仿真。
本文首先介绍了VGA显示的基本原理,然后提出了一种VGA图像控制器的设计方案,并用VHDL硬件描述语言和原理图输入的方法完成了该方案的设计,通过显示横彩条、竖彩条、棋盘格,验证了VGA_SYNC同步信号功能模块时序的正确性,软件实验环境为 Quartus II 6.0 开发软件。
本系统尝试用FPGA实现 VGA图像显示控制器,这一过程通过编程实现,之后通过软件的测试和仿真,当软件验证无误后完成硬件的下载验证,最终在显示器上实现输出,基本原理就是利用FPGA的可编程原理和VGA的时序控制原理,这在产品开发设计中有许多实际应用。
例如显示器,电视等的维修,可以期望采用FPGA设计的VGA接口可以将要显示的数据直接送到显示器,就可以可靠的找到故障的大致原因等。
从而省掉每次都要接信号源的麻烦,同时也节约了成本。
节省了计算机的处理过程,加快了数据的处理速度,节约了硬件成本。
同时亦可将其作为信号源,应用于电视机或计算机等彩色显示器的电路开发,方便彩色显示器驱动控制电路的调试。
关键字:EDA,VHDL,VGA,Quartus II1 概述本设计采用EDA技术,通过CPLD芯片实现了实现VGA彩条信号的显示的设计,本文采用VHDL 硬件描述语言描述VGA彩条信号的显示电路,完成对电路的功能仿真。
通过按键来实现横彩条、竖彩条、棋盘式方格图案的选择,并能进一步设计出文字、图像的显示。
与传统的设计方式相比,本设计由于采用了CPLD 芯片来实现,它将大量的电路功能集成到一个芯片中,并且可以由用户自行设计逻辑功能,提高了系统的集成度和可靠性。
VGA图像显示控制器设计
程序设计与硬件实验
KX
康芯科技
RTL电路图
VGA口与FPGA的I/O接口
模式5的电路结构
KX
康芯科技
接时钟clock0
引脚锁定
KX
接时钟clock0
康芯科技
文件下载
注意此示例存放的路径
康芯科技 FOR GW48-PK3 KX
模式5的电路结构
VGA口与FPGA的I/O接口
工作时钟,CLK接clock9,选择12MHz
键1控制VGA显示模式,选择PIO0 pin1
FOR GW48-PK3 引脚锁定
KX
康芯科技
选择模式5,键1控制VGA显示模式,选择PIO0 pin1
工作时钟,CLK接clock9,选择12MHz
文件下载
用此纽选择编程下载 接口ByteblasterMV 注意此示例存放的路径
模式5的电路结构
KX
选择模式5
康芯技
时钟clock0选择50MHz
插上VGA显示器插头
其余设置默认!
KX
康芯科技
VGA显示使能,向上插使能, 向下插禁止,如果显示不正常, 来回插此短路帽即可
VGA图象显示
KX
康芯科技
VGA简单图像显示控制模块设计
VGA简单图像显示控制模块设计一、实验目的随着数字图像处理的应用领域的不断扩大,其实时处理技术成为研究的热点。
EDA (电子设计自动化)技术的迅猛发展为数字图像实时处理技术提供了硬件基础。
其中FPGA 的特点适用于进行一些基于像素级的图像处理。
LCD 和CRT 显示器作为一种通用型显示设备,如今已经广泛应用于工作和生活中。
与嵌入式系统中常用的显示器件相比,它具有显示面积大、色彩丰富、承载信息量大、接口简单等优点,如果将其应用到嵌入式系统中,可以显著提升产品的视觉效果。
为此,尝试将VGA 显示的控制转化到FPGA 来完成实现。
利用可编程器件CPLD/FPGA实现VGA彩色显示控制器在工业现场中有许多实际应用。
以硬件描述语言VHDL对可编程器件进行功能模块设计、仿真综合,可实现VGA显示控制器显示各种图形、图像、文字,并实现了动画效果。
二、实验概要1、VGA输出利用FPGA 设计一个类似点阵LCD 显示的VGA 显示控制器,可实现文字及简单的图表显示。
工作时只需将要显示内容转换成对应字模送入FPGA,即可实现相应内容的显示。
2、LCD1602显示显示VGA图像输出信息。
3、按键控制选择要显示的图片或内容等等。
4、声光提示LED与蜂鸣器,用于警告提示或其他功能标识。
5、 VGA 接口及设计参数VGA接口是与显示器进行通信的唯一接口。
通过CPLD/FPGA器件对RGB信号、行同步信号、场同步信号等信号的控制,并参照有关标准,可以实现对VGA显示器的控制。
由此可见,了解接口标准,控制时序和设定恰当的参数是系统设计的关键。
参照VGA主要参数的工业标准,像素输出频率为25.175MHz;行频(线频率)为31.469KHz;场频(刷新率)为59.94Hz。
参数设计原理以及行同步信号(Ts)与显示信号(Tdis)的关系如图1所示。
6、 VGA 图像控制器的设计方案VGA图像控制器是一个较大的数字系统。
采用模块化设计原则,借鉴自顶而下的程序设计思想,进行功能分离并按层次设计。
中山学院EDA综合实验报告-VGA彩条信号显示控制电路设计
5、实验结果截图及原理分析
原理分析:首先根据VGA图像的扫描时序与实验箱核心板原理图的VGA端口用VerilogHDL语言写出VGA模块,然后新建一个ROM模块把原本已经准备的mif格式的图片加入其中,最后写一个clock模块并生成电路模块进行电路连接。在烧录代码后,FPGA会不断地根据VGA图像的扫描时序来读取图片中的每个像素点RGB,通过时钟信号一直扫描下去,由此能显示出整张图片。
三、实验结论与心得
在这次实验中,我花了两个晚上在寻找与理解相关资料,同时有两个下午在实验室调试,在这个过程中有很多次失败,但是失败却能让人理解对其得更透彻,终于在第二个下午调试不出来图像的时候,回到宿舍后突然想出了问题出处与解决方法,真是奇妙。在做这次实验之前,我觉得这次最后的实验是检验自己对这门课的掌握程度,而不是单纯为了得到满分。
学生实验报告
系别
电子信息学院
课程名称
《EDA综合实验》
班级实验名称VGA条信号显示控制电路设计姓名
实验时间
学号
指导教师
成绩
批改时间
报告内容
一、实验目的和任务
学习VGA图像显示控制电路设计。
二、设计代码(或原理图)、仿真波形及分析
1、rom为图像数据存储模块
2、VGA模块扫描显示功能,代码如下所示
3、clock模块实现将输入时钟二分频后输出功能,代码如下所示:
VGA彩条信号显示控制器设计
一、课程设计内容1、使用Verilog语言和Modelsim仿真器完成可显示横彩条、竖彩条、棋盘格相间的VGA控制器的设计和验证2、设计并验证可显示英语单词”HIT”的VGA控制器3、使用Quartus II和SOPC实验箱验证设计的正确性4、Verilog代码要符合微电子中心编码标准二、FPGA原理CPLD、FPGA是在PAL、GAL等基础上发展起来的一种具有丰富的可编程I/O 引脚、逻辑宏单元、门电路以及RAM空间的可编程逻辑器件,几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。
CPLD 的设计是基于乘积项选择矩阵来实现的,而FPGA基于查找表来设计的。
查找表就是实现将输入信号的各种组合功能以一定的次序写入RAM中,然后在输入信号的作用下,输出特定的函数运算结果。
其结构图如图1所示:图1. FPGA查找表单元一个N输入查找表(LUT,Look Up Table)可以实现N个输入变量的任何逻辑功能,如N输入“与”、N输入“异或”等。
输入多于N个的函数、方程必须分开用几个查找表(LUT)实现(如图2所示)。
图2 FPGA查找表单元内部结构该系统设计中,FPGA芯片用的是ALTERA公司的EP1K30QC208-2,它的系统结构如图3所示。
它由若干个逻辑单元和中央布线池加I/O端口构成图3 EP1K30QC208内部结构三、VGA接口VGA的全称为Video Graphic Array,即显示绘图阵列。
在PC行业发展的初期,VGA以其支持在640X480的较高分辨率下同时显示16种色彩或256种灰度,同时在320X240分辨率下可以同时显示256种颜色的良好特性得到广泛支持。
后来,厂商们纷纷在VGA基础上加以扩充,如将显存提高至1M并使其支持更高分辨率如800X600或1024X768,这些扩充的模式就称之为VESA(Video Electronics Standards Association,视频电子标准协会)的Super VGA模式,简称SVGA,现在的显卡和显示器都支持SVGA模式。
实验九 VGA彩条信号显示
实验九VGA彩条信号显示控制器设计1.实验目的:学习VGA彩条信号发生器的设计。
2.实验内容设计并调试好一个VGA彩条信号发生器,并用EDA实验开发系统(拟采用的实验芯片的型号可选Altera CycloneII系列的EP2C5T144C8 FPGA,)进行硬件验证。
(1)R,G,B:三基色信号HS:行同步信号VS:场同步信号VGA工业标准要求的频率:时钟频率25.175MHz行频31469Hz场频59.94Hz(2)程序可参照书本P177(3)实验程序:通过对彩条模式选择按键的控制来改变彩条模式, 可产生竖彩条、横彩条、棋盘格等多种彩条模式。
出来的彩条信号并不是书里要求的按照横条,竖条,棋盘分布,而是按照棋盘,竖条,横条分布,原因是程序执行时是离进程最近的最先执行,可以通过修改程序把希望最先显示的信号放在离进程最近的地方。
由于受到存储器件容量的限制,本设计中存储的图像数据所采用的像素位深为3位,共可显示8种颜色。
在实际应用中,可以使用更大的存储器,最终实现256色图像,乃至真彩色图像的显示。
LIBRARY IEEE; -- 显示器彩条发生器USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COLOR ISPORT ( CLK, MD : IN STD_LOGIC;HS, VS, R, G, B : OUT STD_LOGIC ); -- 行场同步/红,绿,兰END COLOR;ARCHITECTURE behav OF COLOR ISSIGNAL HS1,VS1,FCLK,CCLK : STD_LOGIC;SIGNAL MMD : STD_LOGIC_VECTOR(1 DOWNTO 0);-- 方式选择SIGNAL FS : STD_LOGIC_VECTOR (3 DOWNTO 0);SIGNAL CC : STD_LOGIC_VECTOR(4 DOWNTO 0); --行同步/横彩条生成SIGNAL LL : STD_LOGIC_VECTOR(8 DOWNTO 0); --场同步/竖彩条生成 SIGNAL GRBX : STD_LOGIC_VECTOR(3 DOWNTO 1);-- X横彩条SIGNAL GRBY : STD_LOGIC_VECTOR(3 DOWNTO 1);-- Y竖彩条SIGNAL GRBP : STD_LOGIC_VECTOR(3 DOWNTO 1);SIGNAL GRB : STD_LOGIC_VECTOR(3 DOWNTO 1);BEGINGRB(2) <= (GRBP(2) XOR MD) AND HS1 AND VS1;GRB(3) <= (GRBP(3) XOR MD) AND HS1 AND VS1;GRB(1) <= (GRBP(1) XOR MD) AND HS1 AND VS1;PROCESS( MD )BEGINIF MD'EVENT AND MD = '0' THENIF MMD = "10" THEN MMD <= "00";ELSE MMD <= MMD + 1; --三种模式END IF;END IF;END PROCESS;PROCESS( MMD )BEGINIF MMD = "00" THEN GRBP <= GRBX; -- 选择横彩条ELSIF MMD = "01" THEN GRBP <= GRBY; -- 选择竖彩条ELSIF MMD = "10" THEN GRBP <= GRBX XOR GRBY; --产生棋盘格ELSEGRBP <= "000";END IF;END PROCESS;PROCESS( CLK )BEGINIF CLK'EVENT AND CLK = '1' THEN -- 12MHz 13分频IF FS = 12 THEN FS <= "0000";ELSEFS <= (FS + 1);END IF;END IF;END PROCESS;FCLK <= FS(3);PROCESS( FCLK )BEGINIF FCLK'EVENT AND FCLK = '1' THENIF CC = 29 THEN CC <= "00000";ELSECC <= CC + 1;END IF;END IF;END PROCESS;CCLK <= CC(4);PROCESS( CCLK )BEGINIF CCLK'EVENT AND CCLK = '0' THENIF LL = 481 THEN LL <= "000000000";ELSELL <= LL + 1;END IF;END IF;END PROCESS;PROCESS( CC,LL )BEGINIF CC > 23 THEN HS1 <= '0'; --行同步ELSEHS1 <= '1';END IF;IF LL > 479 THEN VS1 <= '0'; --场同步ELSEVS1 <= '1';END IF;END PROCESS;PROCESS(CC, LL)BEGINIF CC < 3 THEN GRBX <= "111"; -- 横彩条ELSIF CC < 6 THEN GRBX <= "110";ELSIF CC < 9 THEN GRBX <= "101";ELSIF CC < 12 THEN GRBX <= "100";ELSIF CC < 15 THEN GRBX <= "011";ELSIF CC < 18 THEN GRBX <= "010";ELSIF CC < 21 THEN GRBX <= "001";ELSE GRBX <= "000";END IF;IF LL < 60 THEN GRBY <= "111"; -- 竖彩条ELSIF LL < 120 THEN GRBY <= "110";ELSIF LL < 180 THEN GRBY <= "101";ELSIF LL < 240 THEN GRBY <= "100";ELSIF LL < 300 THEN GRBY <= "011";ELSIF LL < 360 THEN GRBY <= "010";ELSIF LL < 420 THEN GRBY <= "001";ELSE GRBY <= "000";END IF;END PROCESS;HS <= HS1 ; VS <= VS1 ;R <= GRB(2) ;G <= GRB(3) ; B <= GRB(1);END behav;选择模式5CLK 选CLOCK0 ,对应引脚PIN_89 选用12MHzMD 选PIN48 ,对应引脚PIN_8. 键1R 选PIN40 ,对应引脚PIN_99.G 选PIN41 ,对应引脚PIN_100 .B 选PIN42 ,对应引脚PIN_101.HS 选PIN43 ,对应引脚PIN_103VS 选PIN44 ,对应引脚PIN_104.由于本次实验要用到两台显示器,请1号机房的同学将编译成功仿真成功的代码拷贝到第21台电脑上运行。
清华课件-VGA显示控制器设计
行同步时序关系(参考)
Horizonal pixels(水平像素) 分辨 率 帧频 率 像素 时钟 同步 宽度 (S) 行同 步极 性 活 动 像 素
前沿 (F)
后沿 (B)
扫描 速率
640X 480
60 HZ
25.18 MHZ
16
48
96
31.47 KHZ
-
640
场同步信号
场同步信号与场扫描时序关 系 每帧包含480行数据,这些行 数据在15.25ms时间段内被发 送到显示器。在最后一行数 据发送完毕之后,场同步信 号经过至少0.45ms才可以变 低,并且保持为低64us。在 场同步信号上升沿之后至少 1.02ms,下一帧的第一行数 据才可以发送。所以,一帧 的数据占用16.784ms中的 15.25ms。在剩余的1.534ms 中,显示器保持黑屏(与荧 光粉的发光持续时间有关)。
VGA显示控制器设计
许忠信
1
Outline
VGA接口定义 VGA原理 VGA设计要点
2
VGA接口
VGA是Video Graphics Adapter的缩写, 的缩写, 的缩写 信号类型为模拟类型。 信号类型为模拟类型。
显示卡端的接口为15针母插座 显示卡端的接口为 针母插座: 针母插座
显示器连线端的接口为15针公插座: 显示器连线端的接口为 针公插座: 针公插座
1. 对输入的50MHZ的信号进行二分频,产生一个25MHZ的信号。 2. 根据需要的屏幕像素,产生行同步和场同步的计数矢量。 对于640*480的像素,考虑消隐区,每行像素数0-800,每场行数 0-525。 3. 由行同步和场同步计数矢量产生行同步信号和场同步信号。 行同步:656--752为低电平,其余为高。 场同步:490--492为低电平,其余为高。 4. 色彩输出 色彩输出的范围是在非消隐区内, 在消隐区不要有色彩输出,让R、 G、B信号都为0。 对640*480个像素点的RGB进行赋值,输出不同的图案。 若输出图片,要确定显示输出在屏幕的位置,图片的大小。
VGA显示系统设计
《电子系统综合设计》课程设计报告VGA显示系统设计专业:集成电路班级:电子0 6 0 4学号:200681131姓名:高丕龙一.实验目的:1、根据VGA视频信号时序,利用FPGA控制产生视频信号,在普通彩色显示器上显示8色彩色图像。
2、在显示器上显示自行设计的彩色规则图形——棋盘形。
二.实验原理:1概述该系统实现的目标是将数据源写入视频存储器中的视频数据通过D/A转换器输出给VGA显示器,从而得到预期的视频显示。
按照这个目的,FPGA作为整个设计的核心,负责产生正确的行同步信号和场同步信号输出给VGA显示器,使VGA显示器能够正确的同步:负责进行水平、垂直计数,并将计数器的值或行、场同步信号转换成存储器的地址数据输出给视频存储阵列,使视频存储阵列能够正确的输出图像的颜色信息:负责根据同步时序控制D/A转换器及时的把视频存储阵列输出的颜色的数字量转换成模拟量送给VGA显示器。
FPGA是整个系统的中枢,在FPGA内部,主要有两个模块:一个是时序生成模块,另一个是地址产生模块。
它根据外部时钟CLK进行计数,并根据计数器的值来确定行、场所处的位置,并依此产生以下信号:行同步信号(Hs),场同步信号(Vs),地址信号,和输出允许信号。
其中,行同步信号和场同步信号是严格的周期信号,直接送给通过VGA接口相连的VGA显示器做同步使用。
只要连接这两个信号就完全可以点亮显示器,只不过在显示器上没有任何的颜色信息。
输入允许段一共有两个,一个是视频存储阵列的输出允许端,它控制视频存储阵列锁存地址线上的地址对应单元的数据。
另外一个输出允许端是控制D/A转换阵列的。
视频存储阵列是由三块容量和参数一样的双口RAM堆叠而成,三块RAM是独立的并列关系。
它们每一块负责存储三原色中一种颜色的数字量。
三块RAM 分别存储红(R),绿(G),蓝(B)分量。
双口RAM输入端的地址和数据全部来自CPU或外部的数据采集源,输出端的地址由FPGA产生,而数据则直接输出给视频D/A转换阵列。
VGA彩条信号显示控制电路
摘要本设计是用 FPGA 来实现 VGA 图像控制器,控制显示器显示彩条信号,用VHDL语言,在QuartusI I上实现软件仿真。
本文首先介绍了VGA显示的基本原理,然后提出了一种VGA图像控制器的设计方案,并用VHDL硬件描述语言和原理图输入的方法完成了该方案的设计,通过显示横彩条、竖彩条、棋盘格,验证了VGA_SYNC同步信号功能模块时序的正确性,软件实验环境为 Quartus II 6.0 开发软件。
本系统尝试用FPGA实现 VGA图像显示控制器,这一过程通过编程实现,之后通过软件的测试和仿真,当软件验证无误后完成硬件的下载验证,最终在显示器上实现输出,基本原理就是利用FPGA的可编程原理和VGA的时序控制原理,这在产品开发设计中有许多实际应用。
例如显示器,电视等的维修,可以期望采用FPGA设计的VGA接口可以将要显示的数据直接送到显示器,就可以可靠的找到故障的大致原因等。
从而省掉每次都要接信号源的麻烦,同时也节约了成本。
节省了计算机的处理过程,加快了数据的处理速度,节约了硬件成本。
同时亦可将其作为信号源,应用于电视机或计算机等彩色显示器的电路开发,方便彩色显示器驱动控制电路的调试。
[关键词]: VGA ;FPGA ;图像控制器AbstractThis design is the use of FPGA to realize VGA image controller, controls the display to display the color signal, using VHDL language, on the QuartusII software simulation. This paper firstly introduces the basic principle of VGA display, and then put forward a kind of VGA image controller design, and use VHDL hardware description language and schematic input method to complete the design, through to display the cross color, vertical striped, checkerboard, verification of the VGA_SYNC function module synchronization signal timing is correct, software test environment for Quartus II 6 software development.The system attempts to use the FPGA achieve VGA image display controller, this process is realized by programming, followed by the software testing and simulation, when the software validation correctly completes the hardware download verification, culminating in the display to achieve output, basic principle is the use of FPGA can weave Cheng Yuanli and VGA to control the timing of this principle, in product in the design of many practical applications. Such displays, television repair, can expect to use FPGA to design VGA interface can display data directly to the display, can reliably find fault causes etc.. In order to save every time the signal source of trouble, but also save the cost. Save a lot of computer process, accelerate the speed of dealing with data, save the cost of hardware. At the same time as the signal source, is applied to the television or computer color display circuit, convenient color display drive control circuit debugging.[Key words]: VGA; FPGA; image controller目录1 绪论.......................................................... -2 -2 设计要求及方案论证............................................ -3 -2.1 设计要求................................................ - 3 -2.2 设计方案................................................ - 3 -3 系统设计...................................................... -4 -3.1 设计原理................................................ - 4 -3.2 程序设计................................................ - 5 -3.2.1时钟部分.......................................... - 5 -3.2.2色彩显示部分...................................... - 5 -3.2.3程序流程图........................................ - 5 - 4系统仿真...................................................... - 5 - 5实验小结...................................................... - 9 - 参考文献....................................................... - 11 - 程序清单....................................................... - 11 -1绪论现如今,随着液晶显示器的出现,越来越多的数字产品开始使用液晶作为显示终端。
基于FPGA的VGA彩条图像显示
基于FPGA的VGA彩条图像显示1. 设计的任务及内容在电子电路领域中,设计自动化工具已经被广大电子工程师所接受,它必将取代人工设计方法并成为主要的设计手段。
目前,Verilog语言已经成为各家EDA工具和集成电路厂商认同和共同推广的标准化硬件描述语言,随着科学技术的迅猛发展,电子工业界经历了巨大的飞跃。
集成电路的设计正朝着速度快、性能高、容量大、体积小和微功耗的方向发展,这种发展必将导致集成电路的设计规模日益增大。
该实训的设计是用Verilog语言硬件描述语言设计出一个VGA图象显示控制器,用Verilog 硬件描述语言进行编程,把Verilog语言描述的VGA图象显示控制器所需的程序在QuartusⅡ软件环境下进行模拟仿真,以此来验证所设计的结果是否满足设计的要求。
在结果符合要求的情况下把Verilog程序下载到FPGA器件上,利用FPGA器件内部存储器存储所需要的数据,再通过VGA接口输出到显示器上,从而达到设计的要求。
VGA显示器因为其输出信息量大,输出形式多样等特点已经成为现在大多数设计的常用输出设备,FPGA以其结构的优势可以使用很少的资源产生VGA的各种控制信号。
CRT显示器作为一种通用型显示设备,如今已广泛应用于我们的工作和生活中。
与嵌入式系统中常用的显示器件相比,它具有显示面积大、色彩丰富、承载信息量大、接口简单等优点,如果将其应用到嵌入式系统中,可以显著提升产品的视觉效果。
如今随着液晶显示器的出现,越来越多的数字产品开始使用液晶作为显示终端。
但基于VGA标准的显示器仍是目前普及率最高的显示器[1]。
若驱动此类显示器,需要很高的扫面频率,以及极短的处理时间,正是由于这些特点,所以可以用FPGA来实现对VGA显示器的驱动。
本次专业课程设计即选用FPGA 来实现VGA的显示。
随着FPGA的不断发展及其价格的不断下降,FPGA的可编程逻辑设计的应用优势逐渐显现出来。
现在,越来越多的嵌入式系统选择了基于FPGA的设计方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
hcnt<=0;
else
hcnt<=hcnt+1;
end
always@(posedge clock) //同步头有效信号
begin
if((hcnt>640+16)&(hcnt<640+16+96))
hs1<=1'b0;
else
hs1<=1'b1;
end
always@(posedge clock) //场计数640
同时,这也是EDA实验课的最后一个实验,首先感谢老师的付出与艰辛,让我熟悉了QuartusII软件,虽然现在还不能理解这个软件的重要,但是这让我们在今后的工作中增添了一份机会,毕竟技多不压身。很快就又过一个学期,虽然我没有别人付出得多,但是努力应该不比别人少吧。希望有机会还能够做在你的教室里…
begin
if(hcnt<80)rgbx<=3'b000;//黑
else if(hcnt<160)rgbx<=3'b001;//蓝
else if(hcnt<240)rgbx<=3'b010;//红
else if(hcnt<320)rgbx<=3'b011;//品
else if(hcnt<400)rgbx<=3'b100;//绿
reg hs_enable,vs_enable,hs1,vs1;
reg[1:0] mmd;
output [1:0]mmmd;
wire[3:1] rgb;
always@(posedge clk) //2分频
clock=~clock;
always@(posedge clock) //行计数800
begin
begin
if((vcnt>480+10)&(vcnt<480+10+2))
vs1<=1'b0;
else
vs1<=1'b1;
end
always@(posedge hs1)
begin
if(vcnt<480)
vs_enable<=1'b1;
else
vs_enable<=1'b0;
end
always@(posedge clock) //竖彩条
begin
if(mmd==2'b10)
mmd<=2'b00;
else
mmd<=mmd+1;
end
always@(mmd)
begin
if(mmd==2'b00)rgbp<=rgbx;
else if(mmd==2'b01) rgbp<=rgby;
else if(mmd==2'b10) rgbp<=rgbx^rgby;
。
设计代码:
module VGA(clk,md,hs,vs,r,g,b,mmmd);
input clk,md;
output r,g,b;
output hs;
output vs;
wire r,q,b,vs,hs;
reg clock;
reg[3:1] rgbp,rgbx,rgby;
reg[9:0] hcnt,vcnt;
begin
if(hcnt<640)
hs_enable<=1'b1;
else
hs_enable<=1'b0;
end
always@(posedge hs1) //产生行同步有效信号
begin
if(vcnt==524)
vcnt<=0;
else
vcnt<=vcnt+1;
end
always@(posedge hs1) //产生场同步有效信号
begin
if(mmd==2'b00)rgbp<=rgbx;
else if(mmd==2'b01) rgbp<=rgby;
else if(mmd==2'b10) rgbp<=rgbx^rgby;
elsergbp<=0;
end
assign rgb[3]=(rgbp[3]^md)&hs_enable&vs_enable;
else if(hcnt<320)rgbx<=3'b000;
else if(hcnt<400)rgbx<=3'b111;
else if(hcnt<480)rgbx<=3'b000;
else if(hcnt<560)rgbx<=3'b111;
else if(hcnt<640)rgbx<=3'b000;
if(vcnt<60)rgby<=3'b000;
else if(vcnt<120)rgby<=3'b001;
else if(vcnt<180)rgby<=3'b010;
else if(vcnt<240)rgby<=3'b011;
else if(vcnt<300)rgby<=3'b100;
else if(vcnt<360)rgby<=3'b101;
assign vs=vs1;
assign mmmd=mmd;
endmodule
时序仿真图和硬件仿真图
提高要求代码和仿真图形:
always@(posedge clock)
begin
if(hcnt<80)rgbx<=3'b111;
else if(hcnt<160)rgbx<=3'b000;
else if(hcnt<240)rgbx<=3'b111;
elsergbx<=3'b000;
end
always@(posedge hs1)
begin
if(vcnt<60)rgby<=3'b111;
else if(vcnt<120)rgby<=3'b000;
else if(vcnt<180)rgby<=3'b111;
else if(vcnt<240)rgby<=3'b000;
学生实验报告
系别
电子信息学院
课程名称
《EDA综合实验》
班级
14无线技术
实验名称
VGA彩条信号显示控制电路设计
姓名
实验时间
2016年11月28日
学号
指导教师
王红航
成绩
批改时间
2016年月日
报告内容
一、实验目的和任务
1.学习VGA图像显示控制电路设计。
二、实验原理介绍
1.VGA简介
VGA显示器总是从屏幕的坐上角开始扫描,先水平扫描完一行(640个像素)到最右边,然后再回到最左边(期间CRT对电子束作行消隐),换下一行,继续扫描,知道扫描到屏幕的最右下角(480行),这样就扫描完了一帧图像,然后再回到屏幕的最左上角(期间CRT对电子束进行场消隐)。这样的扫描在标准的VGA模式(640*480@60HZ)下,每秒需要扫描60帧,这样算来每一个像素点的扫描周期大约为40ns。
VGA接头与底座
2.VGA的时序
VGA行同步信号HS和场同步信号VS的时序图如图2.1和图2.2所示,T1为行同步消隐(约为6μs);T2为行显示时间(约为26μs);T3为场同步消隐(两个行周期);T4为场显示时间(480个行周期)。显示器每扫描完一行,再扫描一下行时会花一定时间来准备,因此要满足时序要求,见图2。
assign rgb[2]=(rgbp[2]^md)&hs_enable&vs_enable;
assign rgb[1]=(rgbp[1]^md)&hs_enable&vs_enable;
assign g=rgb[3];
assign r=rgb[2];
assign b=rgb[1];
assign hs=hs1;
else if(hcnt<480)rgbx<=3'b101;//青
else if(hcnt<560)rgbx<=3'b110;//黄
else if(hcnt<640)rgbx<=3'b111;//白
elsergbx<=3'b010;//
end
always@(posedge hs1) //横彩条
begin
else if(vcnt<300)rgby<=3'b111;
else if(vcnt<360)rgby<=3'b000;
else if(vcnt<420)rgby<=3'b111;
else if(vcnt<480)rgby<=3'b000;
elsergby<=3'b100;
end
always@(posedge md)
else if(vcnt<420)lt;480)rgby<=3'b111;
elsergby<=3'b010;
end
always@(posedge md)
begin
if(mmd==2'b10)