




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学 院 EDA技术 课 程 设 计 题 目 VGA显示控制器设计 系 (部) 信息工程系 班 级 姓 名 学 号 指导教师 2013 年 7 月 8 日至 7 月 12 日 共 1 周课程设计成绩评定表出勤情况出勤天数 缺勤天数成绩评定出勤情况及设计过程表现(20分)课设答辩(20分)设计成果(60分)总成绩(100分)提问(答辩)问题情况综合评定 指导教师签名: 年 月 日1 引言如今人们的生活水平和质量不断提高,对生活设备的智能化程度的要求越来越高。现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要因素是生产制造技术和电子设
2、计技术的发展。前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管。后者的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作:IC设计、电子电路设计、PCB设计。 没有EDA技术的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,反过来,生产制造技术的不断进步又必将对EDA技术提出新的要求。随着电子技术的发展和人们对电子设计开发的难度及周期要求,EDA技术必将广发应用于电子设计的各个领域,因此本设计也采用了EDA的设计方法,其设计的优越
3、性明显高于传统的设计方法。 为了实现VGA彩色显示的原理, 我们从本质上去认识了生成图像的原理, 从而制造更多更复杂的元器件做铺垫,本设计立足系统可靠性及稳定性等高技术要求,采用FPGA芯片实现VGA显示屏控制电路,通过对接口的认识,我们知道了怎么去设置接口成像参数。其电路设计比较简单,外围电路少,易于控制和检查,较传统的分离元件实现方式有着明显的优势,尤其是其设计电路实现周期,其抗干扰及调试过程都很简单。2 应用软件介绍2.1Quartus II软件介绍Quartus II是Altera公司推出的一种针对其公司生产的CPLD/FPGA系列器件的综合性开发软件,是一个集成了编译、布局布线和仿真
4、工具在内的完全集成化的可编程逻辑设计环境,是最先进的EDA工具软件。它能完成从代码输入到物理实现的全部设计流程,支持Altera公司的所有FPGA和CPLD器件,是MaxPlusII的后继版本。该软件具有开放性、与结构无关、多平台、完全集成化、丰富的设计库、模块化工具等特点,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程
5、外,还提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。2.2 Quartus II工作环境介绍(1)启动QuartusII,其管理窗口如图2-1。图2-1 Quartus II管理窗口(2) 首先新建一个工程,选择菜单命令File/New Project Wi
6、zard ,点击next将弹出如图所示对话框,对话框中第一行表示工程所在的工作库文件夹,第二行表示此项工程的工程名。选择项目存放目录、填写项目名称,注意项目顶层设计实体名称必须和项目名称保持一致,接下来对器件进行相关的设置。图2-2 New Project Wizard 窗口(3)然后新建一个VHDL文件,出现一个空白窗口,在这个空白窗口可以输入VHDL代码,如图2-3所示。图2-3 输入VHDL代码窗口输入完VHDL代码后点击Start Compilation即可进行编译。如果程序语法有错就会进行错误提示,如果代码正确则编译提示正确,代码无语法错误。
7、2.3ModelSim软件介绍ModelSim是一种第三方EDA仿真工具,它是由Model公司开发的,支持Verilog、VHDL以及两者的混合仿真。它可以将整个程序分步执行,并且可以在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,和某一单元或模块的输入输出的连续变化等。其主要特点是仿真速度快,仿真精度高,是目前业界最流行最通用的仿真器之一。编写完VHDL代码且编译通过后,即可对其进行波形仿真。(1)首先选择Quartus主窗口 Tools/Options命令,改变ModelSim-Altera的存储地址,如图2-4所示。图2-4 Options界面(2)然后选择Quartus主窗口A
8、ssignments菜Device命令,进入 Settings对话框的 Device页面进行设置,如图2-4所示。再点击 Test Benches 按钮,进入New Test Benches Setting 界面进行一系列设置。图2-4 Device设置页面(3)最后在 Tools 的下拉菜单中选择Run EDA Simulation Tool/EDA RTL Simulation,即可得到波形的仿真结果。3 电路设计及仿真3.1实验原理3.1.1显示控制原理常见的彩色显示器一般由阴极射线管(CRT)构成,彩色由GRB(Green Red Blue)基色组成。显示采用逐行扫
9、描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB基色,合成一个彩色像素。扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT、对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。3.1.2 VGA时序信号计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为R、G、B 三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。对于模拟显示设备,如模拟CRT 显示器,信号被直接送到相应
10、的处理电路,驱动控制显像管生成图像。设计 VGA 控制器的关键是产生符合VGA 接口协议规定的行同步和场同步信号,它们的时序关系如下图所示:行同步信号(hs)是以时钟信号计数的。它的前沿为16个像素数;行同步为96个像素数;数据为640个像素数;后沿为48个像素数;总像素数为800。场同步信号(vs)是以同步信号计数的。它的前沿为10个行数;场同步为2个行数;数据为480个行数;后沿为33个行数;总行数为525。表格如下:行同步信号(HS)场同步信号(VS)时序名称时钟数(像素数)时序名称行数前沿16前沿10行同步96场同步2数据640数据480后沿48后沿33总像素数800总行数525颜色编
11、码如下:颜色红绿蓝白R0101G1001L001132原理图与仿真3.2.1总体原理图其中s为控制横条纹和竖条纹的,当s=1时为竖条纹;为0时为横条纹。3.2.2横条纹仿真图3.2.3竖条纹仿真图4 总结通过这次设计,加深了我对EDA的了解。在这个星期里,我们的任课老师请来了北京至芯科技公司的老师为我们讲解相关的知识。取代之前采用硬件仿真波形的方法,在这次的课设中,我们使用ModelSim来进行波形仿真。本实验历时两周,我们的课程设计题目是“VGA彩色信号发生器”,在这两周我们使用Verilog语言编程来实现完成了“VGA彩色信号发生器”基本任务要求,并进行了拓展。此次实验我倾尽了心血,系统设
12、计反复修改了三次,Verilog代码重写了三次,其间经过了不断地优化和修改。这一过程虽然辛苦,但却让人快乐。因为每次修改和完善设计,思路都在不断优化,对FPGA的认识都在不断加深。两周下来,自主学习了大量的资料,积累了不少经验。虽然VGA显示控制器本身并不复杂,但其设计思路是通用的,或者至少是可供以后借鉴的。我相信这种系统设计的思路将给我以后的实验和开发提供有益的参考。三年的本科学习中,一直在关注编程和具体实现,从未真正站在一个系统的角度去理解和思考问题,这是一大缺憾。代码只不过是设计者思考和想法的外在表现而已,真正精华的是设计思路。代码描述值得借鉴,但设计思想更值得学习。5参考文献1董士海,
13、张倪,肖磊,等.EGA/VGA程序员手册M.北京:北京大学出版社,19992夏宇闻.Verilog数字系统设计教程M .北京: 北京航空航天大学出版社,2003年7月3徐光辉,程东旭,黄如,等.基于FPGA的嵌入式开发与运用M.北京:电子工业出版社,2006.4谭会生,张昌凡,等.EDA技术及应用M.陕西:西安电子科技大学出版社,20115潘松,黄继业.EDA技术实用教程(第三版)M.科学出版社,20106阎石.数字电子技术基础M.高等教育出版社,19987江国强.现代数字逻辑电路M.电子工业出版社,20026 附录61 vga_2源程序library ieee;use ieee.std_lo
14、gic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity VGA_2 isport(rst,clk:in std_logic; vs,hs:buffer std_logic; x,y:buffer std_logic_vector(9 downto 0); rin,gin,bin:in std_logic; rout,gout,bout:out std_logic);end VGA_2;architecture bhv of VGA_2 issignal h_count:integer;co
15、nstant g0:integer:=96;constant g1:integer:=96+48;constant g2:integer:=96+48+640;constant h_total:integer:=96+48+640+16;signal v_count:integer; constant v0:integer:=1;constant v1:integer:=2+33;constant v2:integer:=2+33+480;constant v_total:integer:=2+33+480+10;beginlsm_1:process(rst,clk,h_count)begin
16、if rst='1'then h_count<=0;elsif (clk'event and clk='1') thenif h_count>=h_total-1 thenh_count<=0;else h_count<=h_count+1;end if;end if;end process;lsm_2:process(h_count,clk,rst)beginif rst='1'thenx<=(others=>'0');hs<='0'elsif (clk'
17、event and clk='1') thenif (h_count=799) thenhs<='0'x<=(others=>'0');elsif (h_count=g0) thenhs<='1'elsif (h_count=g1) thenx<="0000000001"elsif (h_count>g1 and h_count<=g2-1) thenx<=x+1;end if;end if;end process;lsm_3:process(rst,hs,v_c
18、ount)beginif rst='1'then v_count<=0;elsif (hs'event and hs='1') thenif v_count>=v_total-1 thenv_count<=0;else v_count<=v_count+1;end if;end if;end process;lsm_4:process(v_count,hs,rst)beginif rst='1'theny<=(others=>'0');vs<='0'elsif (h
19、s'event and hs='1') thenif (v_count=524) thenvs<='0'y<=(others=>'0');elsif (v_count=v0) thenvs<='1'elsif (v_count=v1) theny<="0000000001"elsif (v_count>v1 and v_count<=v2-1) theny<=y+1;end if;end if;end process;rout<=rin;gout&l
20、t;=gin;bout<=bin;end bhv;6.2 vga_2_tb 程序library ieee;use ieee.std_logic_1164.all;entity VGA_2_tb isend VGA_2_tb;architecture bhv of VGA_2_tb iscomponent VGA_2port(rst,clk:in std_logic; vs,hs:buffer std_logic; x,y:buffer std_logic_vector(9 downto 0); rin,gin,bin:in std_logic; rout,gout,bout:out st
21、d_logic);end component;signal rst,clk:std_logic;signal vs,hs:std_logic;signal x,y:std_logic_vector(9 downto 0);signal rin,gin,bin,rout,gout,bout:std_logic;beginu1:VGA_2 port map (rst=>rst,clk=>clk,vs=>vs,hs=>hs,x=>x,y=>y,rin=>rin,gin=>gin,bin=>bin,rout=>rout,gout=>go
22、ut,bout=>bout);clk_process:processbegin wait for 0ns;clk<='1'wait for 19.86ns;clk<='0'wait for 19.86ns; clk<='1'end process;main_process:processbeginwait for 0ns;rst<='1'rin<='1'gin<='1'bin<='1'wait for 200ns;rst<=
23、9;0'wait;end process;end bhv;6.3 vga_3程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity vga_slip isport (x : in std_logic_vector(9 downto 0);y : in std_logic_vector(9 downto 0); s : in std_logic; rout,gout,bout :out std_logic);end vga_
24、slip;architecture behaviour of vga_slip isconstant Y_0 : std_logic_vector(9 downto 0) := conv_std_logic_vector(0, 10);constant Y_1 : std_logic_vector(9 downto 0) := conv_std_logic_vector(120, 10);constant Y_2 : std_logic_vector(9 downto 0) := conv_std_logic_vector(240, 10);constant Y_3 : std_logic_v
25、ector(9 downto 0) := conv_std_logic_vector(360, 10);constant Y_4 : std_logic_vector(9 downto 0) := conv_std_logic_vector(480, 10); constant X_0 : std_logic_vector(9 downto 0) := conv_std_logic_vector(0, 10);constant X_1 : std_logic_vector(9 downto 0) := conv_std_logic_vector(160, 10);constant X_2 :
26、std_logic_vector(9 downto 0) := conv_std_logic_vector(320, 10);constant X_3 : std_logic_vector(9 downto 0) := conv_std_logic_vector(480, 10);constant X_4 : std_logic_vector(9 downto 0) := conv_std_logic_vector(640, 10);beginhv_slip : process(x,y,s)begincase s iswhen '0'=>if (y >= Y_0 a
27、nd y < Y_1) thenrout <= '1'gout <= '0'bout <= '0'elsif (y >= Y_1 and y < Y_2) thenrout <= '0'gout <= '1'bout <= '0'elsif (y >= Y_2 and y < Y_3) thenrout <= '0'gout <= '0'bout <= '1'elser
28、out <= '1'gout <= '1'bout <= '1'end if;when '1'=>if (x >= X_0 and x < X_1) thenrout <= '1'gout <= '0'bout <= '0'elsif (x >= X_1 and x < X_2) thenrout <= '0'gout <= '1'bout <= '0'
29、elsif (x >= X_2 and x < X_3) thenrout <= '0'gout <= '0'bout <= '1'elserout <= '1'gout <= '1'bout <= '1'end if;when others=> rout <= '0'gout <= '0'bout <= '0'end case;end process;end behaviour;
30、6.4 top程序- Copyright (C) 1991-2009 Altera Corporation- Your use of Altera Corporation's design tools, logic functions - and other software and tools, and its AMPP partner logic - functions, and any output files from any of the foregoing - (including device programming or simulation files), and a
31、ny - associated documentation or information are expressly subject - to the terms and conditions of the Altera Program License - Subscription Agreement, Altera MegaCore Function License - Agreement, or other applicable license agreement, including, - without limitation, that your use is for the sole
32、 purpose of - programming logic devices manufactured by Altera and sold by - Altera or its authorized distributors. Please refer to the - applicable agreement for further details.- PROGRAM"Quartus II"- VERSION"Version 9.1 Build 222 10/21/2009 SJ Full Version"- CREATED"Thu Ju
33、l 11 00:37:45 2013"LIBRARY ieee;USE ieee.std_logic_1164.all; LIBRARY work;ENTITY top IS PORT(s : IN STD_LOGIC;rst : IN STD_LOGIC;clk : IN STD_LOGIC;vs : OUT STD_LOGIC;hs : OUT STD_LOGIC;rout : OUT STD_LOGIC;gout : OUT STD_LOGIC;bout : OUT STD_LOGIC);END top;ARCHITECTURE bdf_type OF top IS COMPO
34、NENT vga_2PORT(rst : IN STD_LOGIC; clk : IN STD_LOGIC; rin : IN STD_LOGIC; gin : IN STD_LOGIC; bin : IN STD_LOGIC; vs : OUT STD_LOGIC; hs : OUT STD_LOGIC; rout : OUT STD_LOGIC; gout : OUT STD_LOGIC; bout : OUT STD_LOGIC; x : OUT STD_LOGIC_VECTOR(9 DOWNTO 0); y : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);END
35、COMPONENT;COMPONENT vga_slip PORT(s : IN STD_LOGIC; x : IN STD_LOGIC_VECTOR(9 DOWNTO 0); y : IN STD_LOGIC_VECTOR(9 DOWNTO 0); rout : OUT STD_LOGIC; gout : OUT STD_LOGIC; bout : OUT STD_LOGIC);END COMPONENT;SIGNALSYNTHESIZED_WIRE_0 : STD_LOGIC;SIGNALSYNTHESIZED_WIRE_1 : STD_LOGIC;SIGNALSYNTHESIZED_WI
36、RE_2 : STD_LOGIC;SIGNALSYNTHESIZED_WIRE_3 : STD_LOGIC_VECTOR(9 DOWNTO 0);SIGNALSYNTHESIZED_WIRE_4 : STD_LOGIC_VECTOR(9 DOWNTO 0);BEGIN b2v_inst : vga_2PORT MAP(rst => rst, clk => clk, rin => SYNTHESIZED_WIRE_0, gin => SYNTHESIZED_WIRE_1, bin => SYNTHESIZED_WIRE_2, vs => vs, hs =>
37、; hs, rout => rout, gout => gout, bout => bout, x => SYNTHESIZED_WIRE_3, y => SYNTHESIZED_WIRE_4);b2v_inst1 :vga_slipPORT MAP(s => s, x => SYNTHESIZED_WIRE_3, y => SYNTHESIZED_WIRE_4, rout => SYNTHESIZED_WIRE_0, gout => SYNTHESIZED_WIRE_1, bout => SYNTHESIZED_WIRE_2)
38、;END bdf_type;6.5 top程序LIBRARY ieee;USE ieee.std_logic_1164.all; LIBRARY work;ENTITY top IS PORT(s : IN STD_LOGIC;rst : IN STD_LOGIC;clk : IN STD_LOGIC;vs : OUT STD_LOGIC;hs : OUT STD_LOGIC;rout : OUT STD_LOGIC;gout : OUT STD_LOGIC;bout : OUT STD_LOGIC);END top;ARCHITECTURE bdf_type OF top IS COMPON
39、ENT vga_2PORT(rst : IN STD_LOGIC; clk : IN STD_LOGIC; rin : IN STD_LOGIC; gin : IN STD_LOGIC; bin : IN STD_LOGIC; vs : OUT STD_LOGIC; hs : OUT STD_LOGIC; rout : OUT STD_LOGIC; gout : OUT STD_LOGIC; bout : OUT STD_LOGIC; x : OUT STD_LOGIC_VECTOR(9 DOWNTO 0); y : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);END C
40、OMPONENT;COMPONENT vga_slip PORT(s : IN STD_LOGIC; x : IN STD_LOGIC_VECTOR(9 DOWNTO 0); y : IN STD_LOGIC_VECTOR(9 DOWNTO 0); rout : OUT STD_LOGIC; gout : OUT STD_LOGIC; bout : OUT STD_LOGIC);END COMPONENT;SIGNALSYNTHESIZED_WIRE_0 : STD_LOGIC;SIGNALSYNTHESIZED_WIRE_1 : STD_LOGIC;SIGNALSYNTHESIZED_WIRE_2 : STD_LOGIC;SIGNALSYNTHESIZED_WIRE_3 : STD_LOGIC_VECTOR(9 DOWNTO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第一单元Flash动画初步第4课二、《制作“旋转的风车”动画》教学设计 2023-2024学年人教版初中信息技术八年级上册
- 山东省郯城县七年级生物下册 4.4.5 人体内废物的排出(二)教学实录 (新版)新人教版
- 学校学籍管理工作自查报告范文
- 《第五章 第5节 显微镜和望远镜》教学设计教学反思-2023-2024学年初中物理人教版八年级上册
- 端午节的时间和习俗
- 店长月工作总结
- 人教版新课标高中有机化学知识点总结
- 注射用维得利珠单抗-药品临床应用解读
- DB34-T 4727-2024 防爆场所使用的机电类特种设备风险评估规则
- 青年教师培训收获
- 食品行业安全监管与溯源方案
- 书籍设计出版合同范本
- 2025年法律文书考试试题及答案
- 2025年安庆医药高等专科学校单招职业适应性考试题库完美版
- 2024年东营市技师学院招聘工作人员考试真题
- 智能科学与技术专业建设思路
- 2023年全国高考体育单招考试英语卷试题真题(含答案详解)
- 血液透析专科考试题+参考答案
- Unit6Topic2SectionB公开课课件仁爱英语八年级下册
- 《记念刘和珍君》教学课件高中语文选择性必修中册
- 2024 ESC慢性冠脉综合征指南解读(全)
评论
0/150
提交评论