收藏 分销(赏)

基于FPGA的VGA图像显示控制器设计.doc

上传人:快乐****生活 文档编号:3944356 上传时间:2024-07-24 格式:DOC 页数:23 大小:115.54KB
下载 相关 举报
基于FPGA的VGA图像显示控制器设计.doc_第1页
第1页 / 共23页
基于FPGA的VGA图像显示控制器设计.doc_第2页
第2页 / 共23页
基于FPGA的VGA图像显示控制器设计.doc_第3页
第3页 / 共23页
基于FPGA的VGA图像显示控制器设计.doc_第4页
第4页 / 共23页
基于FPGA的VGA图像显示控制器设计.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、四川师范大学成都学院本科毕业设计基于FPGA的VGA图像显示控制器设计学生姓名郑旺明学 号2008104058所 在 系电子工程系专业名称电子信息工程(工民电)班 级2008级2班指导教师胡迎刚四川师范大学成都学院二一二年五月基于FPGA的VGA图像显示控制器设计摘要本文介绍了一种利用可编程逻辑器件实现VGA图像显示控制的方法,阐述了VGA图像显示控制器中VGA显像的基本原理以及功能演示,利用可编程器件FPGA设计VGA图像显示控制的VHDL设计方案,并在Altera公司的QuartusII软件环境下完成VGA模块的设计。而且给出了VGA模块的设计思路和顶层逻辑框图。最终实现VGA图像显示控制

2、器,VGA图像控制器是一个较大的数字系统,传统的图像显示的方法是在图像数据传输到计算机,并通过显示屏显示出在传输过程中,将图像数据的CPU需要不断的信号控制,所以造成CPU的资源浪费,系统还需要依靠计算机,从而减少了系统的灵活性。FPGA芯片和EDA设计方法的使用,可根据用户的需求,为设计提供了有针对性的VGA显示控制器,不需要依靠计算机,它可以大大降低成本,并可以满足生产实践中不断改变的需要,产品的升级换代和方便迅速.关键词:可编程逻辑器件 VGA 图像控制器AbstractThis paper introduces a kind of make use of the programmabl

3、e logic devices realize VGA images show control method, and expounds the VGA images show controller VGA imaging the basic principle and the demo function, using the programmable device FPGA design VGA images show the control design VHDL, Altera company in the QuartusII software environment complete

4、VGA module design。 Given the VGA module, the design idea and top logic diagram。 Finally realize the VGA image display controller, VGA image controller is a larger number system, the traditional image shows the method is in the image data transmission to the computer, and through the screen shows in

5、the transmission process, the image data CPU requires constant signal control, therefore creates CPU resources waste, the system also need to rely on the computer, thus reducing the flexibility of the system. FPGA chip and EDA design method of use, can according to customer demand, designed to provi

6、de targeted VGA display controller, dont need to rely on the computer, it can greatly reduce the cost, and can satisfy the production practice changing needs, product upgrading and convenient quickly.Keywords:Programmable logic devices VGA Image controller目 录前 言5第1章 VGA概述61。1 VGA显示技术的发展概况61。2 VGA显示接

7、口71。3 VGA显示原理81.4 VGA时序10第2章 FPGA简介及设计流程132。1 FPGA简介132.2 FPGA设计流程142。3 VHDL简介162。4 Quartus II简介17第3章 设计方案193。1 设计的主要内容193。2 设计原理19第4章 系统实现214。1 VGA显示控制模块214。2 imgrom(图像数据ROM)244.2.1 图像原理244。2。2 具体实现步骤254。3 二分频模块284。4 地址发生器模块294。5 顶层设计294。6 设计结果31第5章 结束语33附 录35显示扫描模块代码35二分频器模块代码36地址发生器模块代码37参考文献38前言

8、现在社会,以计算机技术为核心的信息技术飞速发展,以及信息的爆炸式增长,人们获得很大一部分的视觉信息是从各种电子显示设备上获得的,为此对电子显示设备的要求也越来越高,在这些因素影响下,显示技术也取得了快速发展。1987年IBM推出了一种高分辨率的视频传输标准即VGA(视频图形阵列),其具备显示速度快,分辨率高,和丰富的颜色等特点。被广泛应用于彩色显示领域.使用VGA显示控制器的FPGA设计有着高度的灵活性,并能够根据不同类型,规模,和不同的适用场合,尤其是工业产品,做一些特殊的设计,用最低的价格,满足系统的要求,并能解决一般显示控制器本身固有的一些点.VGA图像控制器是一个较大的数字系统,传统的

9、图像显示的方法是将图像数据传输到计算机,并通过显示屏显示出在传输过程中,在图像数据中的芯片需要不断的信号控制,所以造成芯片的资源浪费,系统还需要依靠计算机,从而减少了系统的灵活性。采用FPGA芯片和EDA设计方法,可根据用户的需求,为设计提供了有针对性的VGA显示控制器,不需要依靠计算机,它可以大大降低成本,并可以满足生产实践中不断改变的需要,产品的升级换代和方便迅速。第1章 VGA概述伴随着市场上液晶显示器的出现,越来越多的数字产品开始使用液晶作为显示终端,不过基于VGA标准的显示器仍是目前普及率最高的显示器.如果想要驱动此类显示器,必须得有很高的扫描频率,以及极短的处理时间,综合诸多特点需

10、要,所以选用FPGA来实现对VGA显示器的驱动。本次毕业设计即选用FPGA来实现VGA的显示。现在,基于FPGA的设计方案越来越被用于更多的嵌入式系统,在基于FPGA的大规模嵌入式系统设计中,为了更好的实现VGA显示功能,既能使用专用的VGA接口芯SPX7111A等,又可以设计和使用基于FPGA的VGA接口软核,其优点在于能使用VGA专用芯片具有更稳定的VGA时序和更多的显示模式可供选择。此外设计和使用VGA接口软核更具有以下几点优势: 使用芯片更少,节省板上资源,布线难度大大减少. 当高速数据进行传输时,减少高频噪声干扰。 采用FPGA(现场可编程门阵列)设计的VGA接口可以将要显示的数据直

11、接传送到显示器,跳过计算机的处理过程,加快了数据的处理速度,从而有利的节约硬件成本。整体设计费用降低,产品更具有价格优势.现代EDA软件发展迅速,设计、仿真 更容易实现,量化设计中各个环节,使得设计周期日益缩短。1.1 VGA显示技术的发展概况VGA接口,它是一种被广泛应用的标准显示接口,大多数的显卡和显示器之间,以及二色等离子的电视输入图像模数的转换上使用了VGA接口。它同样还被用于LCD的液晶显示设备,随着微电子制造工艺的发展,可编程逻辑器件也取得了长久的进步,早期的元器件只可以存储很少的数据,逻辑功能实现更为简单,然而发展至今,其完成的逻辑功能相对复杂,规模更大,速度更快,功耗更低!现阶

12、段可编程逻辑器件主要有两大类,现场可编程逻辑器件(FPGA)和复杂可编程逻辑器件(CPLD).FPGA的运行速度快,管脚资源更加丰富,大规模的系统设计的实现相对简单,大量软核可供使用用,有利于二次开发使用,不仅如此,而且FPGA具备可重构的能力,抗看等特点。因此,工业控制及其他领域也更加重视使用FPGA,利用FPG完成VGA显示控制,可以使图像的显示脱离PC机的控制,形成体积小、功耗低的格式嵌入式系统(便携式设备或手持设备),应用地面勘测,性能检测等方面,具有重要的现实意义1。本设计在FPGA开发板上使用VGA接口的显示器显示彩条及简单的图形,可以成为整个采集系统的参考设计,实用价值良好。1.

13、2 VGA显示接口VGA接口是一种D型接口,上面共有15针孔,分成三排,每排五个。 其中,除了2根NC(Not Connect)信号、3根显示数据总线和5个GND信号,比较重要的是3根RGB彩色分量信号和2根扫描同步信号HSYNC和VSYNC针2.VGA接口是显卡上应用最为广泛的接口类型,多数的显卡都带有此种接口。其排列及接口定义如图1。21所示:图1.21 VGA接口图在基于FPGA的VGA控制中,只需要考虑行场同步信号(Vs)、同步信号(Hs)、蓝基色(R)、红基色(B)、绿基色(G)这5个信号。一旦能够从FPGA发出这5个信号到VGA接口,就表示可以实现对VGA的控制。1.3 VGA显示

14、原理VGA显示的图像原理:常见之彩色显示器,一般由CRT(即:阴极射线管)构成.彩色则由R,G,B(红:RED,绿:GREEN,蓝:BLUE这三基色够成.显示则采取逐行扫描得方式解决,使得从阴极射线枪中发出的电子束得以打在具有荧光粉得荧光屏上,产生R,G,三基色的彩色像素。扫描随即开始从屏幕的左上方进行,从左到右,从上到下,进行扫描,每扫完了一行,电子束则返回于屏幕左边下面一行的初始位置,在这期间,CRT把电子束消隐了,每行完成结束时,行同步则采用行同步信号进行,扫描完所有行;场同步则采用场同步信号进行,并使扫描回到屏幕的左上方,同时场消隐进行,准备下一场的扫描.它的行、场扫描时序示意图如图1

15、。31所示.现拿正极性分析,说明CRT的全工作过程:R,G,B呈现正极性的信号,即视为高电平是有效的。当VS=O、HS=O时,CRT的内容被显示为亮的过程,即是正向扫描的过程大致为26s,当一行被扫描完成后,行同步HS=I,约需6s;其间,CRT的扫描会产生消隐,电子束即回到CRT的左边的下一行得起始位置(X=O,Y=I),当扫描完成了480行以后,场同步VS=I,场同步的产生使扫描线回到CRT得第一行第一列(X=O,Y=O处,大约两个行周期).Hs和Vs的时序图.行同步的消隐时间T1(约为6S);行显示的时间T2(约为26s);场同步的消隐时间T3(两行周期);场显示的时间T4(480行周期

16、)3. 图1。3-1 行、场扫描时序示意图VGA得图形模式可以分成三类:CGA、EGA兼容的图形模式,标准的VGA图形模式及VGA扩展图形模式.后两种图形模式统称为VGA图形模式。本设计基于标准VGA模式来实现。通常我们接触的彩色显示器绝大多数是由CRT(阴极射线管)组成的,每个像素得色彩均由红、绿、蓝三基色组成.采用逐行扫描得方式进行显示.阴极射线管中的电子枪在VGA显示模块产生的水平同步信号和垂直同步信号同时控制下产生电子束,使含有荧光粉得屏幕遭到轰击,产生红、绿、蓝三基色,合成一个新的彩色像素点在显示屏上。图1.32表示的是VGA显示模块与CRT显示器的控制框图.图1.3-2 VGA显示

17、模块与CRT显示器的控制框图屏幕扫描即是电子束扫描一幅屏幕图像上的各个点的过程.当今的显示器都采用光栅扫描这一方式来进行它的屏幕扫描.电子束在光栅扫描下按照固定的路径扫过整个屏幕,在整个扫描中,电子束所通过的每一个点是否显示或已经显示得颜色是通过判断电子束的通断强弱来进行控制的,电子枪在VGA显示模块产生的行同步和场同步等控制信号的作用下能够进行包括水平扫描,水平回扫,垂直扫描和垂直回扫等过程4。这种光栅扫描一般具备以下路径:在每一行从上到下并从左到右进行扫描。它具有如下过程:电子束首从屏幕的左上角开始向右扫,当达到屏幕得右边缘时,电子束(水平消隐)被关闭,并迅速回到屏幕的左边缘(水平回扫)。

18、如果所有的水平扫描都以完成,电子束被结束并关闭在屏幕的右下角,随即及时回到屏幕得左上角(垂直回扫),启动下一次的光栅扫描。硬件进行编程之后,会输出标准VGA信号(红,绿,蓝三色信号和行、帧同步信号),链接15针VGA接口后输出至显示器,方能具备显示驱动程序的能力,驱动显示器显示各种图像信号。板上的VGA接口只需使用其中的五个引脚,其中行、帧同步信号直接由FGPA输出;红、绿、蓝三色信号使用FPGA上8个引脚,8位数据,其中红色两位,绿色及蓝色各三位,通过电阻网络D/A变换后在显示器显示输出值,DA转换器在这个电阻网络上被模拟,输入信号的电压被分成几段。这样执行的原因,一方面是由于显示24位真彩

19、色很少在实际应用被用到。此外考虑节约成本得想法,由于要用到专用DA转换器,成本必会增加。硬件电路如下图1.33所示:图1。33 VGA接口与FPGA的硬件电路图1。4 VGA时序VGA图像显示控制的设计需要注意两个问题:其中之一便是是时序的驱动,此乃完成设计的关键,时序若有不同,便不正常显示,甚者会损害彩色显示器;最后是VGA信号的电平驱动。针对开发板的条件,若想得到25MHz的像素频率输出,则必须采用50MHz的系统时钟进行分频。FPGA通过串联电阻直接驱动5个VGA信号。每个颜色信号串一个电阻,每位的颜色信号分别是VGA_RED,VGA_BLUE,VGA_GREEN。每个电阻与终端的75欧

20、电缆电阻相结合,保证颜色信号维持在VGA规定的0V0。7V之间。VGA_HSYNC和VGA_VSYNC信号使用LVTTL或LVCMOS3I/O标准驱动电平。通过VGA_RED、VGA_BLUE、VGA_GREEN置高或低来产生8中颜色,如表1.4-1所示:表1.4-1 颜色对照VGA_REDVGA_GREENVGA_BLUEResulting color000Black001Blue010Green011Cyan100Red101Magenta110Yellow111WhiteVGA信号的时序由视频电气标准委员会(VESA)规定。以下提供的VGA系统和时序信息作为例子来说明FPGA在64048

21、0模式下是如何驱动VGA监视器的。VGA显示器基于CRT,使用调幅模式,移动电子束(或阴极射线)在荧光屏上显示信息。LCD使用矩阵开关给液晶加压,在每个像素点上通过液晶来改变光的介电常数。尽管下面的描述仅限于CRT,LCD已经发展到可以同CRT使用同样的时序信号了.因此,下面的讨论均适合CRT和LCD.在CRT显示器中,电流的波形通过蹄形磁铁产生磁场,使得电子束偏转,光栅在显示屏上横向显示,水平方向从左至右,垂直方向从上至下.当电子束向正方向移动时,信息才显示,即从左至右、从上至下。如果电子束从后返回左或顶边,显示屏并不显示任何信息。在消隐周期-电子束重新分配和稳定于新的水平或垂直位时,丢失了

22、许多信息.显示协议定义了电子束的大小以及通过显示屏的频率,该频率是可调的。现在的VGA显示屏支持多种显示协议,VGA控制器通过协议产生时序信号来控制光栅。控制器产生同步脉冲TTL电平来设置电流通过偏转磁铁的频率,以确保像素或视频数据在适当的时间送给电子枪。视频数据一般来自重复显示存储器中一个或多个字节它们被分配到每个像素单元。入门实验板使用每个像素中的3位,产生图8中可能的一种颜色。控制器指定视频数据缓冲器以备电子束通过显示屏。然后,控制器接收并利用视频数据在适当的时间显示,电子束移动到指定的像素点。VGA控制器产生水平同步时序信号(HS)和垂直同步时序信号(VS),调节在每个像素时钟视频数据

23、的传送.像素时钟定义了显示像素信息的有效时间段。VS信号定义显示的更新频率,或刷新屏幕信息的频率。最小的刷新频率是取决于显示器的亮度和电子束的强度,实际频率一般在60120Hz之间.给定的刷新频率的水平线的数量定义了水平折回频率.下表1。4-2的时序信号是640480,像素时钟25Mhz,刷新频率60Hz1。图1.4-2说明了每个时序的联系。表1。42 640X480时序信号SymbolParameterVertical SyncHorizontal SyncTimeClocksLiensTimeClocksTSSync pulse time16。7ms4168,80052132s800TDI

24、SPDisplay time15。36ms384,00048025.6s640TPWPulse width64s1,60023。84s96TFPFront porch320s8,0001064016TBPBack Porch928s23,200291.92s48图1。42 各时序之间的联系第2章 FPGA简介及设计流程2。1 FPGA简介目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,经过简单的综合与布局,可以很快的烧录到FPGA上进行测试,是现代IC设计验证的主流技术.这些可编辑的元件可以用来获得一些基本的逻辑门电路(如,AND,XOR,NOT),或更复杂的组合功能,如解码器

25、或数学方程。在大部分的FPGA内,这些可以编辑部件包括记忆元件,如触发器(Flipflop)或其他更完整的记忆块。系统设计者可以根据需要,通过编辑的逻辑连接FPGA内部链接,就像一个电路测试板是放在一个芯片。他们离开后成品砖和FPGA逻辑连接可以改变根据设计师的设计,可以完成需要的FPGA逻辑功能。FPGA在总体来说比ASIC(专用集成芯片)速度将会放缓,无法完成复杂的设计,消耗更多的能量。但是他们也有许多优势,例如可以很快的成品,可以修改,以纠正错误的程序和便宜的成本。FPGA是在PAL(Programmable Array Log2ic),GAL(Generic PAL)等基础上发展起来,

26、是一种具有丰富的可编程I/O引脚、逻辑宏单元、门电路以及RAM 空间的可编程逻辑器件,大概所有应用了门阵列、PLD与中小规模通用数字集成电路的场合均可应用FPGA 和CPLD器件。CPLD得设计基于E2CMOS工艺,它的基本逻辑单元则是由一些与、或阵列外加触发器构成的,但FPGA则选择SRAM工艺进行设计,基本逻辑单元依据查找表而进行设计.查找表(Look-UpTable)即LUT,LUT实际上是个RAM,使输入信号的各种组合功能得以一定的次序写入RAM中,然后特定的函数运算结果被输出于输入信号的作用下。目前FPGA中多使用4输入的LUT,为此每一个LUT都被看成一个有4位地址线的161的RA

27、M.一旦用户采用原理图或HDL语言描述一个逻辑电路时,逻辑电路的所有可能出现的结果都可被FPGA开发软件自动计算出,并且会把结果事先写入RAM,为此,每当输入一个信号进行了逻辑运算也就同等于输入一个地址进行查表,找到地址相对应得内容,然后输出便可以。表2。1-1是一个4输入与门得例子。表2。11 4输入与门对应的查找表实际逻辑电路LUT得实现方式a,b,c,d,输入逻辑输出地址RAM中存储的内容00000000000001000010001111111111因为进行静态存储器LUT是主要生产过程,截止目前,绝大多数的FPGA是基于静态存储器的过程,在这个过程中静态存储器芯片电源开启和关闭后信息

28、将被丢失,必须需要额外的一个特殊的配置芯片,在通电的时候,通过特殊的配置芯片把数据加载在FPGA,然后FPGA能够正常工作,由于配置一个很短的一段时间里,不会影响到系统正常工作。2。2 FPGA设计流程一般来讲, FPGA的完整设计过程,包括电路设计与输入、功能仿真、全面、综合仿真,实现和布局布线、布局仿真与验证,配线板级仿真与验证、调试和加载配置.在系统设计之前,首先要进行方案论证,系统设计,器件选择等一些准备工作.图2。21显示一个完整的FPGA设计过程。图2.21 完整的FPGA设计流程QuartusII软件是Altera公司近年来提供的FPGA设计综合集成开发环境,以下以Quartus

29、II软件为例分析FPGA设计过程.电路设计:将电路系统以一定的表达方式输入到计算机里面,即将设计人员的电路构想输入到EDA等工具上,原理图设计输入方法和硬件描述语言(HDL)的电路设计文本是常用的设计输入方法。现阶段进行一项大型工程的设计时,通常采用得设计方法是HDL设计输人法,它利于自顶向下设计以及模块的划分及复用,可移植性和通用性好,设计不会因为芯片的工艺和结构得不同而变化,便于向ASIC移植。功能仿真:其又被称作综合前仿真,它的主要目的在于验证设计的电路结构和功能与设计意图是否相配对。在QuartusII软件中提供了两种工具(Simulator和Waveform Editor)便于进行仿

30、真。此外在使用QuartusII时也可以采取第三方工具(如ModelSim)来导入源程序和testbench进行仿真.经过仿真能迅速发现设计上存在的错误,设计进度得于加快,设计的可靠性得到大幅提高。综合优化:是指将设计输入(HDL语言、原理图)翻译成由基本逻辑单元(与、或、非门,RAM,触发器等)组成的逻辑连接(网表),依照其目标与要求(约束条件),将生成的逻辑连接优化,同时输出edf和edn等格式标准的网表文件,能为FPGA/CPLD厂家的实现布局布线器。此外QuartusII中也能够使用Analysis Synthesis 命令进行综合,也可采用第三方的综合工具。综合后的仿真:其目的在于检

31、查综合器的综合结果是否与设计输入一致,作综合后的仿真时,要在综合仿真模型中反标注综合生成的标准延时格式SDF(Standard Dela Format)文件,可以估计出门延时所带来的影响.即便综合后仿真虽然比功能仿真更为精确,却也只能估计门延时,达不到估计线延时的效果,仿真结果相对于布线后的实际情况存在着相当的差距.现阶段主流的综合工具越来越趋近于成熟,相比而言,一般简单的设计,假如设计者认定自己表述明朗,不存在综合歧义,如此便可省略此步骤。实现布局及布线:在具体的FPGA/CPLD 器件上适配综合生成的逻辑网表,这么一个个过程呗称之为实现过程。布局布线为此过程中最重要的步骤。布局(Place

32、)即指将在FPGA 内部的固有硬件结构上合理的适配逻辑网表中的硬件源语或者底层单元.布线即指FPGA内部里的各种连线资源被利用,并根据布局的拓扑结构能符合要求正确连接每个元件的过程。布局布线后仿真及验证:又被称为时序仿真或者后仿真。常被用于发现不符合时序的约束条件或者器件的固有时序规则(建立、保持时间等)的时序违规状况.一般来说,布局布线后仿真步骤必须进行,静态时序分析被QuartusII自带的时序分析工具分析完成,此外它也可被第三方工具进行时序分析与验证6。板级仿真及验证:主要选取第三方的板级验证工具进行仿真和验证,这些工具通过对设计的IBIS,HSPICE等模型的仿真,能有效的分析信号在高

33、速设计中是否完整性,电磁是否受干扰,等其他电路特性。加载配置及在线调试:在FPGA/CPLD芯片中进行生产配置文件的测试。在QuartusII 中主要是通过Assemble(生成编程文件)、Programmer(建立包含设计所有器件名称和选项的链式文件)、转换编程文件等功能来支持这一步骤的。2。3 VHDL简介VHDL语言是一种被用于电路设计中的高级语言.出现于80年代的后期。它是由美国国防部开发出来的,起初它只供美军用来提高设计的可靠性和减少开发周期的一种小范围使用的设计语言。VHDL中文简称超高速集成电路硬件描述语言,是一种集设计、仿真、综合于一体的标准硬件描述语言,是对可编程逻辑器件进行

34、开发与设计的重要工具,主要应用于数字电路的设计.VHDL语言作为IEEE的一种工业标准,因此掌握VHDL语言是实现信息系统硬件开发所必备的知识和技能。现阶段,在中国它主要是被用在FPGA/CPLD/EPLD的设计中.但是在一些技术较为先进的单位,它也被用来设计ASIC. VHDL主要是被用来描述数字系统的结构,行为,功能和接口.除了拥有的语句绝大多数具备硬件特征外,它得语言形式、描述风格以及语法于普通的计算机高级语言基本无异.VHDL的程序结构中最大的特点就是将一项工程设计,或称设计实体(可是单个元件,单一电路模块或一整个系统)分成外部(即可视部分及端口)和内部(即也视为不可视部分),既涉及实

35、体的内部功能和算法完成部分。若设计实体被定义了外部界面后,其内部开发也以完成,那么这个实体就可被之后的设计直接调用.VHDL系统设计的基本点便来源于这种将设计实体分成内外部分的概念.相比与其他硬件描述语言,VHDL具有功能性强大、设计简单;支持面广、修改方便;超强的系统硬件描述能力;设计可以独立于器件并与工艺无关;移植能力强;容易共享与复用等诸多特点,于此VHDL于其他描述性硬件语言更具备如下优势: 相比于其他描述性硬件语言,VHDL拥有更为强大的行为描述能力,因此也使得它成为了系统设计领域最适合的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要

36、保证。 VHDL拥有多元化的仿真语句及库函数,因此任何规模的大系统得设计在其早期就能检验设计系统的功能是否可行,并无限制的对设计进行仿真模拟。 VHDL具有将大规模设计进行分解和再次利用已有的设计功能得益于其语句的行为描述能力和程序结构。符合市场的需求,使得规模大的系统高效,高速的完成由有多人或者多个研发组同时并行工作才得以实现。 任何确定性的设计若使用VHDL,其逻辑综合和优化等过程都可用EDA工具进行,优点于EDA工具能自动把VHDL描述设计转变成门级网表。 VHDL可以独立性描述一个设计,即便设计者不懂硬件的结构,也不知道最终设计实现的目标器件是什么,也可以进行独立的设计.2。4 Qua

37、rtus II简介Max+plus II作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Max+plus II 的更新支持.Quartus II 是Altera公司继Max+plus II之后开发的一种针对其公司生产的系列CPLD/PGFA器件的综合性开发软件,它的版本不断升级,从4.0版到10。0版,这里介绍的是QuartusII8。0版,该软件有如下几个显著的特点:此软件拥有友好的界面,使用便捷,功能强大,当中可编程逻辑设计环境采用完成集成化,是先进的EDA工具软件.该软件具备诸多特点(例如:开放性,与结构无联系,多平台设计,完全集

38、成化,设计库丰富、工具模块化等),支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式,内部镶有自带的综合器和仿真器,能够完成从设计输入到硬件配置的完整PLD设计流程.Quartus II能够在多系统上使用,为用户的设计方式提供了完善的图形界面。具有运行速度快,界面统一,功能集中,学用简单等特点。Quartus II支持Altera公司的MAX3000A系列、MAX7000系列、MAX9000系列、ACEX1K系列、APEX20K系列、APEXII系列、FLEX6000系列、FLEX10K系列,支持MAX7000/MAX3000等乘积项器件。支持MAXIICPLD系列、Cy

39、clone系列、CycloneII、StratixII系列、Stratix GX系列等。支持IP核,包含了LPM/MegaFunction宏功能模块库,用户可利用充分成熟的模块,简化了复杂性的设计步骤、设计速度明显加快。支持Altera的片上可编程系统(SOPC)开发,将系统级设计,开发嵌入式的软件,可编程逻辑的设计基于一体,是一款综合性的应用开发平台。其良好的支持第三方EDA工具,让用户能够使用自己了解的第三放EDA工具,并应用于设计流程的各个阶段。Altera公司的Quartus II可编程逻辑软件属于该公司第四代PLD开发平台,其设计要求可在一个工作组环境下,其中也包含支持基于Inter

40、net的协作设计.Quartus平台与纵多的EDA供应商所开发的工具能相兼容.LogicLock软件的模块设计功能得到相当的改进,增加了FastFit编译选项,网络编辑性能得于推荐,此外调试能力明显提升很多.第3章 设计方案3。1 设计的主要内容此设计要求实现某一分辨率下(如640*48060Hz)的VGA显示驱动,能简单显示彩条和图像等。能够熟悉VGA接口协议、工作时序及VGA工作原理,并计算出合适的时序,对原始时钟进行分频处理以获取符合时序要求的各率,此外须要显示的图像等可存储于外部存储器,运行时,从外部存储器读取显示数据.将图像控制模块分为这样几部分;二分频电路、地址发生器、VGA时序控

41、制模块、图像数据存储器读出模块.如图3。11所示:图3。1-1 VGA显示控制系统框图3.2 设计原理显示控制器是一个较大的数字系统,采用模块化设计原则、借鉴自顶向下的程序设计思想,进行功能分离并按层次设计。利用VHDL硬件描述语言对每个功能模块进行描述,并逐一对每个功能模块进行编译仿真,使顶层VGA显示控制器的模块实体仿真综合得以顺利通过.其中二分频把50MHZ实在频率分成25Mhz并提供给其它模块作为时钟;VGA时序控制模块用于产生640X480显示范围,并控制显示范围和消隐范围以及产生水平同步时序信号HS和垂直同步时序信号VS的值;存储器读出模块提供给SRAM地址并按地址读出八位数据(灰

42、度值Y),然后得到R、G、B的值(若Y中间值,则R=G=B=1;否则R=G=B=0),并把R、G、B 的值通过VGA接口传送给VRT显示器9。地址发生器接收所要显示的数据读取控制信号,产生与图像数据ROM模块对应得地址,根据VGA显示的像素分布,确定读取对应数据的地址,由于所显示的图形每行需256个像素,而ROM中每个地址存储的数据时64位,故每4个地址取出的数据用于一行的显示。VGA显示控制模块:主要分为时序信号和数据颜色的控制,imgrom模块即图像数据ROM模块,在这一模块中需要解决的是图像数据BMP位图文件的来源及转换成HEX文件,利用Image2lcd对本次设计图片处理得到BMP文件

43、,最终在Quartus II得到HEX文件,在已设置LPM_ROM进行加载图像数据.注意其数据线宽为3,恰好可以放置RGB三信号数据,因此此设计图像仅能显示8种颜色.此外注意各模块对图像显示的区域控制。第4章系统实现此系统设计分主要由,二分频模块,地址译码器模块,VGA显示控制模块及图像数据ROM来实现对图像的显示。计数器模块设计简单,用计数器计数来控制,以实现某一个区域显示相应的颜色。具体以VGA显示模块和图像数据ROM为例进行详细分析与操作。4。1 VGA显示控制模块VGA显示控制模块主要通过VGA时序产生640480显示范围,并控制和消隐范围以及产生水平同步时序信号hs和垂直同步时序信号

44、vs的值。一个独立的计数器产生垂直时序信号。垂直同步计数器在每个HS脉冲信号来临时自动加1,译码值产生VS信号.计数器产生当前显示行。这两个计数器从地址到显示缓冲器连续计数.首先启动QUARTUS 软件,新建vga640480显示扫描模块工程文件,如下图4.1-1所示:图4.11 创建工程vga640480 单击完成按钮,创建好了设计工程,选择【FILE】【NEW】菜单,出现如图4。12所示的新建设计文件类型窗口。图4。12 选择编程VHDL文本文件在上图4。1-2中选择【VHDL File】,单击【OK】建立一个新的文本设计文件,命名为vga640480.vhd.随即进行程序代码的输入。图4

45、。13 保存设计文件在图4。1-3中的【File】菜单中点选【Save as】存盘并保证该文件添加到了工程中,文件名为默认的即可.至此,vga640480显示扫描模块文件建立完成。图4。14 元件封装在图4.1-4中的【File】菜单中点选【Gree Update】/【Greate Symbol File For Cunrent File】对vga640480文本文件进行封装得出原理图模块如图4.15所示:图4.15 vga640480显示扫描模块通过以上步骤,便完成了vga640480显示扫描模块的设计工作,即系统底成模块完成。4.2 imgrom(图像数据ROM)4.2.1 图像原理当VG

46、A显示器要显示一帧图像,需要较多的数据量,FPGA芯片内置的ROM存储器很难符合如此大的数据存储要求,所以必须借助于外部的存储器存入图像数据.读取控制模块的数据读取方式决定于采用何种存储器。然而外部存储器有多种选择,如ROM,、双口RAM、甚至SDRAM等,例如ROM可用直接产生地址信号的方式对芯片进行访问,而SDRAM则是利用DMA控制方式配合CPU进行读写操作10。本设计采用型号为28C040的4MEEPROM外部存储器,可以在单片内存储整屏图像,但考虑到存储空间的大小,本设计仅采用每个像素的颜色位深为3位,共可显示8种颜色的图像.要把一幅图像的数据写入ROM,如何写入文件的格式这一问题是

47、首先必须解决的。通常我们把Intel Hex,或者二进制文件,bin逐字节通过编程器写入ROM。而图像都具有固定的格式,如BMP,JPEG,GIF等.其中,BMP格式图像作为一种很常见的图像格式,无压缩处理,且具备相对简单文件结构,易于处理,在本设计中采用了BMP图像作为研究对象。如果将BMP文件直接转化为Hex文件则相对比较困难,为此先将BMP格式文件转化成mif格式文件,再经过Quartus II直接将mif文件转化为Hex文件,最终将图像数据烧写入ROM中.但因为没有现成的转换程序,所以选择Visual C +自行编写转换程序.Memory Initialization File (.mif)格式作为Quartus II中ROM的初始化数据文件格式,其具备较简单的记录方式,其中地址和数据都可为十进制或十六进制,地址值位于冒号左边,对应的数据则处在右边,并以分号结尾。BMP格式的位图文件相对于mif文件,mif格式的位图文件略为简单,BMP文件它包括位位图信息头结构、位图文件头结构、位图颜色表和位图像素数据四部分。以下是位图文件的保存顺序:文件头信息头颜色表像素数据。位图文件的大小、宽、高、实现

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服