毕业设计(论文)基于VHDL语言的汉字滚屏显示系统设计_第1页
毕业设计(论文)基于VHDL语言的汉字滚屏显示系统设计_第2页
毕业设计(论文)基于VHDL语言的汉字滚屏显示系统设计_第3页
毕业设计(论文)基于VHDL语言的汉字滚屏显示系统设计_第4页
毕业设计(论文)基于VHDL语言的汉字滚屏显示系统设计_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要现代电子设计技术的核心是eda(electronic design automation,电子设计自动化)技术。它融合多学科于一体,打破了软硬件间的壁垒,使计算机的软件技术与硬件实现、设计效率和产品性能综合在一起,它代表了电子设计技术和应用的发展。因此,掌握eda技术是通信电子类高校学生就业的一个基本条件。80年代后期由美国国防部开发的vhdl语言,正好满足了广大用户所期盼的面向设计的多层次、多领域且得到一致认同。max+plusii软件是altera提供的fpga/cpld开发集成环境,它具有原理图输入、文本输入、波形输入等多种输入方式,设计者利用它所配备的编辑、编译、仿真、综合芯片编

2、程等功能完成将描述程序变换为基本的逻辑单元写入到可编程器件pld中。本论文主要研究的是应用一种硬件描述语言vhdl,借助max+plusii软件开发工具,设计开发一个汉字滚屏显示系统,能够在试验箱上滚动(上、下、左、右)显示已被存于rom中的汉字内容,用vhdl语言编程实现,编译通过后,将其下载到fpga芯片中具体实现其功能。关键词:电子设计自动化;vhdl硬件描述语言;max+plusii;现场可编程逻辑器件;汉字滚动显示。 abstracteda(electronic design automation)technology is the core of the modern electr

3、onic design technology. it mixes together a lot of subjects, breaks the barrier between software and hardware, makes the technology of software and the complement of hardware and the efficiency of design and function of product synthesize one object. it represents the direction of development of ele

4、ctronic design technology and use. thus, mastering eda technology is a primary condition for students of communication electronic university to obtain employment.the language of vhdl of the american ministry of national defense development, is a kind of software which face to the multilayers, many r

5、ealm and get the consistent approbation. max+plusii that supplied by altera is a surrounding for cpld/fpga development and integration. it has graphic input and text input and waveform input and so on. designers can write their diagram into the programming device with utilizing edit complier simulat

6、or synthesize chip editor, etc, function that provided by the software, make into asic chip. this thesis main research to vhdl hardware description language draw support max+plusii, design a system to character rolling. and it can lode into the fpga chip to rolling to left, right, up and down.key wo

7、rds: eda; max+plusii; fpga; vhdl; the ch.charaiter rolling display目录第1章 绪论11.1 引言11.2 课题简介21.2.1 课题介绍21.2.2 课题意义21.3本论文研究内容3第2章 相关知识介绍42.1 eda技术42.1.1 eda技术简介42.1.2 eda技术实现目标52.1.3 eda技术的发展趋势72.2 硬件描述语言 vhdl92.2.1 vhdl语言程序设计的基本结构102.2.2 vhdl语言的数据类型及运算操作符112.2.3 vhdl语言的主要描述语句122.2.4 vhdl语言构造体的描述方式132

8、.2.5 vhdl语言设计基本逻辑电路142.3 max+plus概述152.3.1 max+plusii的特点152.3.2 max+plusii的设计流程162.3.3 max+plusii的使用172.4 pld 简介212.4.1 pld技术概述212.4.2 pld的基本结构222.4.3 pld教学实验箱简介232.5 本章小结26第3章 系统实现方法273.1 系统的实现方法273.1.1 数字系统的设计方法273.1.2 本系统的实现方法283.2 vhdl实现系统功能303.2.1 快、慢信号的控制显示303.2.2 汉字信息的取得及其存储器的实现303.2.3 汉字上下左右

9、滚动的控制实现313.3 本章小结32第4章 系统的仿真与调试334.1 系统的仿真334.2 vhdl实现的系统编译334.3 仿真的下载演示354.4 本章小结35结论36参考文献37致谢38附录 vhdl实现的系统程序清单39第1章 绪论1.1 引言进入20世纪后半段,集成电路技术的发展是电子系统的实现方式发生了很大的变化。六十年代之前,电子系统都有分立元件构成;六、七十年代电子系统主要采用通用的集成电路;八、九十年代电子系统逐步采用半定制的专用集成电路可编程器件;进入21世纪,全定制和定制专用集成电路正成为新的发展热点。专用集成电路的设计与应用必须依靠专门的eda工具电子设计自动化(e

10、da)是一个广泛的概念,凡在电子设计过程中用到计算机辅助手段的相关步骤都可以作为eda的组成部分。当前,eda技术正受到高度的重视和广泛的应用,并在深度和广度上不断发展。电子系统的设计已经无法脱离eda工具的支持,并且依赖性越来越强。所谓eda,具体来说就是数字系统的设计可以直接面向用户,根据系统的行为和功能要求,可以自上而下的逐层完成相应的描述、综合、优化、仿真与验证,直到生成器件。设计人员借助开发软件的帮助,可以将设计过程中的许多细节问题抛开,而将注意力集中在产品的总体开发上,这样大大提高了工作效率,缩短了开发周期。目前世界上一些大型的eda软件公司已开发了一些著名的软件,如protel9

11、9、orcad、ewb、max+plusii等,对于一名电子工程师至少应掌握一门开发软件。现在的eda设计工具,无不例外的使用硬件描述语言作为设计手段,据统计大部分设计者使用vhdl语言设计数字系统,因此,掌握vhdl对电子设计这是十分必要的。1.2 课题简介1.2.1 课题介绍运用一种硬件描述语言(如vhdl语言)设计开发一个汉字滚屏显示系统,能够在液晶显示器其上滚动(上下左右滚动)显示已被存于rom中的汉字内容。用vhdl语言编程实现,编译通过后,将其下载到fpga芯片中具体实现其功能。1.2.2 课题意义众所周知,一方面,电子系统的集成化,不仅可以使系统的体积小、重量轻且功耗低,更重要的

12、是可以使系统的可靠性大大提高,因此自集成电路问世以来,电子系统日趋数字化、复杂化和大规模化。另一方面,电子产品的实际周期短和上市快也是电子厂商坚持不懈追求,一个企业如果能够比其他竞争对手更快地推出新产品,更快地对市场做出反应,就能够获得更大的市场份额和更大的利润。电子设计自动化(eda),即利用计算机帮助设计人员完成繁琐的设计工作,是解决以上两个问题的唯一途径。电子设计自动化的关键技术之一是要求用形式化的方向来描述系统的硬件电路,既要用所谓的硬件描述语言来描述硬件电路。所以硬件描述语言以及相关的仿真、综合等技术是当今电子世纪自动化领域的一个重要课题。vhdl是一种面向设计的多层次、多领域且得到

13、一致认同的标准硬件描述语言。max+plusii是当今最流行最优秀的eda软件之一,它支持硬件描述语言输入等多种设计方式。它已成为一名电子设计者的必备知识。1.3本论文研究内容基于eda技术的广阔前景,本文从eda技术的基本知识入手,逐一介绍了与其相关的max+plusii软件的合理灵活快速使用方法,vhdl语言的应用以及相关知识。本论文主要有三个方面的内容:eda介绍(主要介绍max+plusii和vhdl语言的使用)、pld可编程教学实验箱简介、系统的设计过程和系统仿真与调试,因此,论文共分四个章节。下面简要介绍一下各章的内容:第1章简要介绍本课题的内容及意义;第2章主要对课题的一些相关技

14、术作了介绍:包括设计使用到的pld教学实验箱,并对pld技术也作了简要介绍,对eda、vhdl语言和的max+plusii介绍比较详细和深入;第3章主要介绍系统的实现过程。本系统的设计采用了硬件描述语言的文本输入方式;第4章就系统的仿真模拟和下载演示作了介绍。第2章 相关知识介绍2.1 eda技术2.1.1 eda技术简介20世纪末,电子技术得到了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,铲平日内更新换代的节奏越来越快。 微电子技术的进步表现在大规模集成电路加工技术,即半导体工艺技术的发

15、展上。表征半导体工艺水平的线宽已经达到0.13um,并还在不断地缩小;在硅片单位面积上,集成更多的晶体管。集成电路设计在不断地向着超大规模、极低功耗和超高速的方向发展;专用集成电路asic(application specific integrated circuit)的设计成本不断降低,在功能上,现代的集成电路已经实现单片电子系统soc(system on a chip)的功能。 现代电子设计技术的核心是eda(electronic design automation)技术。eda技术就是以来功能强大的计算机,在eda工具软件平台上,对以硬件描述语言hdl为逻辑描述手段完成的设计文件,自动地

16、完成逻辑编译、逻辑简化、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真测试。直至实现既定的电子线路系统功能。eda技术使得设计者的工作仅限于利用软件方式,即利用硬件描述语言和eda软件来完成对系统硬件功能的实现。 从另一方面看,在现代高新电子产品的设计和生产中,微电子技术和现代电子设计技术是相互促进、相互推动又相互制约的两个技术环节。前者代表了物理层在广度和深度上硬件电路实现的发展,后者则反映了现代先进的电子理论=电子技术、仿真技术、设计工艺和设计技术与最新的计算机软件技术有机的融合和升华。因此,严格地说,eda技术应该是这二者的结合,使这两个技术领域共同孕育的奇葩。eda技术在硬件实现方面

17、融合了大规模集成电路制造技术,ic版图设计技术、asic测试和封装技术、fpga/cpld编程下载技术、自动测试技术等;在计算机辅助功能方面融合了cad、cam、cat、cae技术以及多种计算机语言的设计概念;在现代电子学方面容纳了更多内容:电子线路设计理论、数字信号处理技术等等。依次eda技术为现代电子理论和设计的表达与实现提供了可能性,它融合多学科于一体,打破了软件与硬件间的壁垒,使计算机的软件技术与硬件实现、设计效率和产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。2.1.2 eda技术实现目标一般地,利用eda技术进行电子系统设计,最后的目标是完成专用集成电路asic的实现

18、和设计,asic作为最终的物理平台,集中容纳了用户通过eda设计技术将电子应用系统的既定功能和技术制定功能的独立集成电路器件,根据这个定义,作为eda技术最终实现目标的asic,可以通过三种途径来完成。1 规模可编程逻辑器件 fpga(field programmable gate array)和cpld(complex programmable logic device)是实现这一途径的主流器件,它们的特点是直接面向用户,具有极大的灵活性和通用型,使用方便,开发效率高,成本低,上市时间短,技术维护简单,工作可靠性好等。fpga和cpld的应用是eda技术有机融合软硬件电子设计技术、soc和a

19、sic设计,以及对自动设计与自动实现最典型的诠释。由于fpga和cpld的开发工具、开发流程和使用方法与asic有类似之处,因此这类器件通常也称为可编程专用ic,或可编程asic。2 半定制或全定制asic 基于eda设计技术的半定制或全定制asic根据它们的实现工艺,可统称为掩模asic(mask),或直接称asic。可编程asic与mask相比,不同之处在于前者具有面向用户的灵活多样的可编程性。 掩模asic大致可分为门阵列asic、标准单元asic和全定制asic。门阵列asic。 门阵列asic。门阵列芯片包括预定制的pmos和nmos晶体管行。设计中,用户可以借助eda工具将原理图或

20、硬件描述语言模型映射为响应门阵列晶体管配置,创建一个制定金属互连路径文件,从而完成门阵列asic开发。由于有掩模的常见的过程,门阵列有也称掩模了编程门阵列(mpga)。但是mpga与fpga完全不同,它不是用户可编程的,也不属于可编成逻辑范畴,而是实际的asic。mpga出现在fpga之前,而fpga技术源自mpga。 标准单元asic。目前大部分asic是使用库中的大小不同的标准单元设计的,这类芯片一般称作基于单元的集成电路(cell-bassed integrated circuit,cbic)。在设计者一级,库包括不同复杂性的逻辑单元:ssi逻辑块、msi逻辑块、数据通道模块、存储器、i

21、p、乃至系统级模块。库包括每个逻辑单元杂硅片级的完整布局。使用者利用eda软件工具与逻辑块描述打交道即可,完全不必关心电路布局的细节。标准单元布局中,所有扩散、接触点、过孔、多晶通道及金属通道都已完全确定。当该单元用于设计时,通过eda软件产生的网表文件将单元布局块“粘贴”到芯片布局之上的单元行上。标准单元asic设计与fpga设计开发的流程相近。 全定制芯片。全定制芯片中,在针对特定工艺建立的设计规则下,设计者对于电路的设计有完全的控制权,如线的间隔和晶体管大小的确定。该领域的一个例外是混合信号设计,使用通信电路的asic可以定制设计其模拟部分。3 混合asic混合asic(不是指数模混合a

22、sic)主要是指既具有面向用户的fpga可编程逻辑功能和逻辑资源,同时也含有可方便调用和配置的硬件单元模块,如cpu、ram、rom、硬件加法器、乘法器、锁相环等。xilinx和altera公司已经推出了这方面的器件,如virtex-pro系列和stratix系列等。混合asic为soc和sopc(system on a programmable chip)的设计实现成为便捷的途径。2.1.3 eda技术的发展趋势就过去30年的电子技术的发展历程,可大致将eda技术的发展分为三个阶段。20世纪80年代,集成电路设计进入了coms(互补场效应管)时代。复杂可编程逻辑器件已进入商业应用,相应的辅助

23、设计软件也已投入使用。而在80年代末,出现了fpga,cae和cad技术的应用更为广泛,它们在pcb设计方面的原理图输入、自动布局布线及pcb分析,以及逻辑设计、逻辑仿真、布尔方程综合和化简等方面担任了重要的角色,特别是各种硬件描述语言的出现、应用和标准化方面的重大进步,为电子设计自动化必须解决的电路建模、标准文档及仿真测试奠定了基础。进入20世纪90年代,随着硬件描述语言的标准化得到进一步的确立,计算机辅助工程、辅助分析和辅助设计在电子技术领域获得更加广泛的应用,与此同时电子技术在通信、计算机及家电产品中的市场需求和技术需求,极大的推动了全新的电子设计自动化技术的应用和发展。特别是集成电路设

24、计工艺步入超深亚微米阶段,百万门以上的大规模可编程逻辑器件的陆续面世,以及基于计算机技术的面向用户的低成本大规模asic设计技术的应用,促进了eda技术的形成。更为重要的是各eda公司致力于推出兼容各种硬件实现方案和支持标准硬件描述语言的eda工具软件的研究,都可有效地将eda技术推向成熟。eda技术在进入21世纪后,得到了更大的发展,突出表现在以下几个方面: 使电子设计成果以自主知识产权得以明确表达和确认成为可能。 在仿真和设计两方面支持标准硬件描述语言的功能强大的eda软件不断推出。 电子技术全方位纳入eda领域,除了日益成熟的数字技术外,传统的电路设计建模理念发生了重大变化。 eda使得

25、电子领域各学科的界限更加模糊,更加互为模糊,更加互为包容:模拟与数学、软件与硬件、系统与器件、asic与fpga、行为与结构等。 更大规模的fpga和cpld器件的不断推出。 基于eda工具的asic设计标准单元已涵盖大规模电子系统及ip核模块 软硬件ip核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认(ip即intellectual propetrty,即知识产权的简称,往往指一个公司出售给另一个公司的硬件设计包)。 soc高效低成本设计技术的成熟。 随着市场需求的增长,集成工艺水平的可行性以及计算机自动设计技术的不断提高,促使系统集成芯片成为ic设计的发展方向,这一发展趋势在如

26、下几方面: 超大规模集成电路的集成度和工艺水平不断提高,深亚微米工艺已经走向成熟,在一个芯片上完成系统级的集成已成为可能。 市场对电子产品提出了更高的要求,从而对系统的集成度不断提出更高的要求, 高性能的eda工具得到长足的发展,其自动化和智能化程度不断提高,为嵌入式系统设计提供了功能强大的开发环境。 计算机硬件平台性能大幅度提高。现有的hdl语言无法完成对复杂系统级的抽象描述,因此,人们正尝试开发一种新的系统设计语言来完成这一工作。此外,随着系统开发对eda技术的目标器件各种性能要求的提高,asic和fpga将更大程度的相互融合。现在,传统asic和fpga之间的界限正变得模糊。系统级芯片不

27、仅集成ram和微处理器也集成fpga。整个eda和ic设计工业都朝这个方向发展,这并非是fpga和asic制造竞争者的产物,而是对于用户来说,意味着有了更多的选择。2.2 硬件描述语言 vhdl所谓硬件描述语言,就是可以描述硬件电路的功能,信号联结关系及定时关系的语言。它能比电原理图更有效地表示硬件电路的特性。数字逻辑电路设计者可以利用这种语言老描述自己的设计思想,然后利用电子设计自动化工具进行仿真,在自动综合到门级电路,最后利用asic或fpga实现其功能,目前,这种被称为高层次设计的方法已被广泛采用。硬件描述语言的发展至今已有二十几年的历史,并已成功地应用到系统的仿真、验证和设计综合等方面

28、。到本世纪80年代后期,已出现了上百种的硬件描述语言,它们对设计自动化起到了促进和推动作用。但是,它们大多各自针对特定设计领域,没有统一的标准,从而使一般用户难以使用。广大用户所盼望的是一种面向设计的多层次、多领域且得到一致认同的标准的硬件描述语言。80年代后期由美国国防部开发的vhdl语言(vhsic hardware description language)恰好满足了上述这样的要求,并在1987年12月由ieee标准化。它的出现为电子设计自动化(eda)的普及和推广奠定了坚实的基础。自ieee公布了vhdl的标准版本之后,各eda公司相继推出了自己的vhdl设计环境,或宣布自己的设计工具

29、支持vhdl。与其他的hdl语言相比,vhdl语言具有许多优点,主要表现在以下几个个方面首先,vhdl语言可以支持自上而下和基于库的设计方法,而且还支持同步电路、异步电路、fpga以及其它所及电路的设计。其范围之广是其它hdl语言所不能比拟的。例如,sfl语言只能描述同步电路。其次,vhdl语言具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路。另外,高层次的行为描述可以与低层次的rtl描述和结构描述混合使用。vhdl语言能进行系统级的硬件描述,这是它的一个突出特点。其它hdl语言如verilog等只能进行ic级、pcb级描述,而不能对系统级的硬件很好地进行描述,再如vhdl语

30、言可以自定义数据类型,这样也给编程人员带来较大的自由和方便。再次,在用vhdl语言设计系统硬件时,没有嵌入与工艺有关信息。当然这样的信息是可以用vhdl语言编写的。与大多数hdl语言不同,当门级或门级以上层次的描述通过方针检验以后,再用相应的工具将设计映射成不同的工艺(如mos、cmos等)。这样,在工艺更新时,就无需修改原设计程序,只要改变相应的硬度和工具就行了。此外,vhdl语言标准、规范、易于共享和复用。由于vhdl语言已经作为一种ieee的工业标准,这样设计成果便于服用和交流,反过来就能更进一步推动vhdl语言的推广和完善。另外,vhdl语言的语法比较严格,给阅读和使用都带来了极大的方

31、便。2.2.1 vhdl语言程序设计的基本结构一个完整的vhdl语言程序通常包括实体(entity)、构造体(architecture)、配置(configuration)、包集合(package)和库(library)5个部分,前4种是可分别编译的源设计单元。实体用于描述所设计的系统的外部接口信号;构造体用于描述系统内部的结构和行为;包集合存放格设计模块都能共享的数据类型、常数和子程序;配置用于从库中选取所需单元来组成系统设计的不同版本;库存放已经编译的实体、构造体、包集合和配置。所谓vhdl语言设计的基本单元(design entity),就是vhdl语言的一个基本设计实体。基本构成都有实

32、体说明(entity declaration)和构造体(architecture body)两部分组成。vhdl语言可以有以下3种形式的子结构描述语句:block语句结构process语句结构subprogams结构2.2.2 vhdl语言的数据类型及运算操作符在vhdl语言中凡是可以赋予一个值得对象就称为客体(object),客体只要包括以下3种:信号、变量、常数(signal、variable、constant)。常数是一个固定值,所谓常数说明是对某一常数名赋予一个固定值。变量只能在进程语句,函数语句和过程语句结构中使用,它是局部量。信号是电子电路内部硬件连接的抽象、信号通常在构造体、包集

33、合和实体中说明。标准的数据类型有10种:1整数:整数32位;2实数:浮点数;3位:逻辑“0”或“1”;4位失量:位失量;5布尔量:逻辑“假”或逻辑“真”;6字符:asc字符;7时间:时间单位fs,ps,ns,us,ms,src,min,hr;8错误等级:note,warning,error,failure;9自然数,正整数:整数的子集;10字符串:字符矢量。可由用户定义的数据类型有:枚举类型,整数类型,实数、浮点数类型,数组类型,存取类型,文件类型,记录类型,时间类型(物理类型)。2.2.3 vhdl语言的主要描述语句在用vhdl语言系统描述系统关键行为时,按照语句的执行顺序对其进行分类,可以

34、分为顺序(sequential)描述语句和并发(concurrent)描绘语句。顺序描述语句只能出现在进程或子程序中,由它定义进程或子程序所执行的算法,语句中所涉及到的系统行为有时序流、控制、条件和迭代等;语句的功能操作有算术、逻辑运算、信号和变量的赋值,子程序调用等。在vhdl语言中顺序描述语句有以下几种:wait语句;断言语句;信号带入语句;变量赋值语句;if语句;case语句;loop语句;next语句;exit语句;过程调用语句;null语句。在vhdl语言中能进行并发处理的语句有:进程(process)语句;并发信号带入(concurrent signal assignment)语句

35、;并发过程调用(concurrent procedure call)语句;快(block)语句。2.2.4 vhdl语言构造体的描述方式前面已经提到,对硬件系统进行描述,可以采用3种不同风格的描述方式,即兴味描述方式、寄存器传输(或数据流)描述方式和结构化的描述方式。这3种描述方式从不同的角度对硬件系统进行行为和功能的描述。行为描述方式是对系统模型的描述,其抽象程度比寄存器传输描述方式和结构化描述方式更高,在行为描述方式的程序中大量采用算术运算、关系运算、惯性延时、传输延时等难于进行逻辑综合何不能进行逻辑综合的vhdl语句。1带入语句:是vhdl语言中进行行为描述的最基本的语句;2延时语句:有

36、两种延时类型,惯性延时和传输延时;3多驱动描述语句;4generic语句:常用于不同层次之间的信息传递;rtl描述方式,是一种明确规定寄存器描述的方法。使用rtl描述方式应注意的几个问题:1“x”状态传递,实际上是不确定信号状态的传递;2寄存器rtl描述的限制 禁止在一个进程中存在两个寄存器描述 禁止使用if语句中的else项 寄存器描述中必须带入信号值3关联性强的信号应放在一个进程中所谓构造体的结构描述方式,就是在多层次的设计中,高层次的设计模块调用低层次的设计模块,或者直接用门电路设计单元来构成一个复杂的逻辑电路的描述方式。构造体结构描述方式的基本框架1asic级结构描述2插件板级结构描述

37、3系统级的结构描述在构造体的结构描述中,component语句是基本的描述语句,该语句制定了本构造体中调用的是哪一个现成的逻辑描述模块。component_instant语句是结构化描述中不可缺少的一个基本语句。该语句将现成元件的端口信号映射成高层次设计电路中的信号。映射方法有两种:位置映射,名称映射。2.2.5 vhdl语言设计基本逻辑电路组合逻辑电路有简单门级电路、选择器、译码器、三态门等,本设计的时序电路主要介绍触发器,寄存器和计数器。触发器的初始状态应有复位信号来设置,抚慰信号对触发器复位的操作不同,使其可分为同步复位和非同步复位两种寄存器一般由多位触发器连接而成,通常有锁存寄存器和移

38、位寄存器。计数器份同步计数器和异步计数器两种。存储器按其类型可分为只读存储器和随机存储器。1存储器的数据类型存储器是众多存储单元的一个集合体,按单元号顺序排列。2存储的初始化在用vhdl语言描述rom时,rom的内容应该在仿真时事先读到rom中,这就是所谓的存储器初始化。rom(只读存储器)ram(随机存储器)fifo(先进先出堆栈)2.3 max+plus概述max+plusii 是atltera提供的fpga/cpld开发集成环境,使用max+plusii的设计者不需要精通器件内部的复杂结构。设计者可以用自己熟悉的设计工具(如原理图输入或硬件描述语言)建立设计,max+plusii把这些设

39、计自动转换成最终能够所需的格式。其设计速度非常快,对于一般几千门的电路设计,使用max+plusii,从设计输入到器件编程完毕,用户拿到设计好的逻辑电路,大约只需几小时。设计处理一般在数分钟内完成。特别是在原理图输入等方面max+plusii被公认为是最易使用,人机界面最友善的pld开发软件,特别适合初学者使用。altera是世界上最大可编程逻辑器件供应商之一。max+plusii界面友好,使用便捷,被誉为世界上最易用易学的eda软件。max+plusii是本次毕业设计的开发平台,所以,他的熟练掌握直接关系到设计成功和设计效率的高低,在将来的工作学习中它也是非常重要的,因此,本次毕业设计中再软

40、件的学习上画了较大的时间和精力。2.3.1 max+plusii的特点max+plusii具有原理图输入、文本输入、波形输入等多种输入方式(text editor file)支持altera公司的ahdl语言,同时兼容vhdl和verilog hdl;图形输入方式(graphic editor file)不仅可以使用max+plusii中丰富的图形编辑库,而且可以使用几乎全部的标准eda设计工具,如可识别edif网表文件、vhdl网表文件、orcad原理图以及xilinx网表文件等。波形输入(waveform editor file)最具特点,它允许设计者通过只编辑输入波形,而由系统自动生成该

41、功能模块。在实际设计过程中,完全可以用文本文件来完成整个设计过程。当然也可根据各人习惯应用其他的输入方式,发挥各种输入方式的特点。max+plusii所提供的灵活性和高效性在同类软件中是无可比拟的,归纳起来,它主要有以下几个特点:1. 界面开放2. 与可编程逻辑器件结构无关3. 完全集成化的环境4. 丰富的设计库5. 模块化的设计工具6. 支持硬件描述语言7. 提供megacore8. 具有opencore特性9. 可运行多个平台除了上述特点之外,随着max+plusii版本的提高,将会有更多的特性得以开发和利用。2.3.2 max+plusii的设计流程max+plusii软件的设计流程包括

42、以下几个部分:设计输入、编译、逻辑分配、模拟仿真、器件编程和功能验证。下面就设计流程进行简要说明设计输入:可采用电路原理图输入、硬件描述、edif网表输入以及波形输入等。项目编译:主要完成器件的选择以及试配逻辑中和以及器件的装入,延时信息提取等逻辑分配:把逻辑分配给引脚和逻辑单元也就把输入、输出节点分配给器件的引脚。设计项目的模拟仿真:通过时序模拟一个项目的逻辑功能是否达到实际要求,模拟允许把项目在编辑到器件之前进行全面检查,已确定它在各种可能的条件下有正确的响应。器件编程:用仿真确认的配置文件经编程电缆配置pld,即用编程文件对编程器件编程。器件的功能验证:将编程后的器件加入实际激励,进行测

43、试,以检查是否完成预计的功能。以上各部如果出现错误,可随时进行设计修改,重复上述过程直到正确为止。逻辑设计的输入有多种方式,设计者可以用自己喜欢的方式进行输入。2.3.3 max+plusii的使用max+plusii是一门必修的软件,在之前的学习中就已基本掌握了它的使用,这里简要介绍一下基本的操作,深入地介绍如何更加合理的利用这门软件。1. max+plusii界面max+plusii软件按使用对象可分为商业版、基本版和学生版,这三个版本的使用方法基本相同,其差别在于:商业版商业版软件为避免盗版,在并行口上虚假一个硬件“狗”,每次系统启动都要通过“狗”来核对用户的合法性。基本版时序分析、vh

44、dl语言综合等功能不能使用,不需“狗”的支持,只要向altera申请一个基本授权妈就可以工作。学生版加以更多的限制,只能使用两种芯片。当我们将所需的版本安装完成后,以后再次启动max+plusii时,它的管理器窗口如图2.1。图2.1 管理窗口2. 生成一个新的文本文件(1) 在file菜单中选择new,如图2.2图2.2 (2) 选择text editor file然后按下ok按钮就会出现一个无标题的文本编辑器窗口,如图2.3。图2.33.灵活使用工具栏max+plusii的灵活运用直接关系到设计的数度和效率,另外,对于初学者,很容易因为操作的失误而造成文件的覆盖和丢失。下面介绍一下如何使用

45、工具栏来提高设计的速度。打开软件后,操作界面窗口上方工具栏如图2.4。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21图2.4 工具栏工具栏的各个快捷键相当于菜单中的各个选项,设计者将一些设计时常用的操作设计快捷键放在工具栏中供设计者使用,这样可以大大的提高设计时操作的时间。各个快捷键这里都进行了编号,下表就各个快捷键的意义依编号进行了介绍,如表2.1。表2.1 快捷键定义表编号意 义功 能1new新建一个文件2open打开一个文件3save存储文件4print打印文件5cut剪切6copy复制7paste粘贴8undo撤销9help帮

46、助10hierarchy display层次显示11floorplan editor管脚分配12compiler编译13simulator仿真14timing analyzer时序分析15programmer下载16project name项目名称17save as另存为18set file to current project打开项目下的文件19save and check存储并检查20save and compiler存储并编译21save and simulator存储并仿真其中快捷键4、9、10和14不常用到,其它都时常用的操作,各个操作在菜单下面都可以找到,但是比较费时费力,熟练掌握

47、工具包的使用对快速高效设计非常有用。18按钮为切换到项目名下的文件。它和fileprojectset project to current file菜单功能相反,二者在使用的过程中,可以快速进行项目的切换。当一个模块需要修改时,可以打开底层文件进行修改,修改完毕后打开撒谎那个层文件,按下fileprojectset project to current file菜单就可以非常快捷的切换当前的操作文件。4. 合理使用帮助功能 max+plusii提供了强大的帮助功能,它的帮助功能包括操作帮助,硬件描述语言ahdl、vhdl等的帮助,还有一些其它的帮助,其中对于一个设计者最有用的还是help菜单下

48、的search for help on选项,它给设计者提供了检索功能。它最大的优点就是设计者可以不用查阅相关书籍就可以查到自己所需要的帮助。5. 注意事项对项目进行编译的时候,max+plusii编辑器将自动产生用于max器件的编辑目标文件(.pof),而对于flex器件编译器还可以自动产生一个sram目标文件(.sof)。因为,如果选择器是max系列的,在选择编程文件时应选择.sof文件。对于jtag链的设置,应按照硬件设备上的器件顺序:max70000系列中epm7128slc84-15位第一个器件,而flex10k系列中的epf10k10lc84-4位第二个器件。2.4 pld 简介2.

49、4.1 pld技术概述可编程逻辑器件pld是20世纪80年代发展起来的器件,pld是一种由用户根据自己的需要来设计逻辑功能并对此器件进行编程后实现的。随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独自承担。系统设计师们更愿意自己设计专用集成电路芯片,而希望asic的设计周期尽量短,最好在实验室就设计出合适的芯片,并且立即投入实际应用,因而出现了现场编程逻辑器件(fpld),其中应用最广泛的现场可编程门阵列(fpga)和复杂可编程逻辑器件(cpld)。早期的可编程逻辑器件有可编程只读存储器(prom)、紫外线可擦除只读存储器(eprom)和电可擦除只读存储器(eeprom)

50、三种。这一阶段的产品主要有pla(可编程阵列逻辑)和gal(通用阵列逻辑)。20世纪80年代中期,altera和xilinx分别提出了类似于pal结构的扩展型cpld和与标准门阵列类似的fpga,它们都具有体系结构,它们的逻辑单元都具有灵活、集成度高以及适用范围广等特点。这两种器件兼容了pld和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。几乎所有的应用门阵列、pld和中小规模通用集成电路的场合均可采用fpga和cpld器件。以上是pld的发展过程,这类器件的出现给我们带来了极大的方便,它具有以下优点:1 提高了功能的集成度;2 加快了电子系统的设计速度;3 高的性能;4 高可靠性;5

51、 低成本。2.4.2 pld的基本结构结构都是由输入电路、与阵列、输出电路组成。 核心部分是具有一定规模的与阵列和门阵列,它们产生的与项和或项用以实现逻辑函数。输入电路及有缓冲作用,并产生互补输入信号,送至与阵列。输入电路既有缓冲作用,又可提供不同的输入方式(组合方式或时序方式)以满足不同的逻辑要求。与阵列和或阵列是spld(simple programmable logic device)中最基本的结构,通过编程改变它们的内部连接,就可以实现不同的逻辑功能;而pld的输出电路结构的不同则决定了输出是组合逻辑还是时序逻辑。依据可编程部位的不同可将spld的基本结构分为prom、pla、pal和

52、gal四种基本类型。近年来推出的各类性能更为优越的hdpld按结构在上面介绍的基本结构上有了较大的发展。hdpld按结构分大致可分为两大类,一类是扩展型(如epld、cpld),这类器件是在pal和gal结构的基础上加以扩展和改进而成的;另一类是逻辑单元型(如fpga),这类结构是由许多基本逻辑单元组成,本质上是这些逻辑单元的矩阵,围绕该矩阵设置输入/输出(i/o)单元,在逻辑单元之间及逻辑单元i/o单元之间有可编程连线进行连接,以此来形成大规模逻辑系统。2.4.3 pld教学实验箱简介pld教学实验箱是本次毕业设计用到的主要硬件,它的掌握和灵活运用直接关系大设计电路的成功与否。可编程逻辑器件

53、实验箱是在一种能和美国altera公司的max+plusii的可编程器件设计软件配套使用的高级硬件仿真工具。它既能支持初学者学习cpld/fpga大规模可编程器件的使用,也能支持电子工程师们使用电子设计自动化和大规模可编程器件进行电子系统的设计和开发工作。它在使用时要通过下载电缆与pc机的打印机并行口相接,并在美国altera公司的max+plusii可编程器件cad设计工具软件的支持下运行。本实验箱是由altera公司的可编程器件max7000s系列中的epm7128slc84-15和flek10系列的epf10k10以及丰富的可选择外为借口器件组成。它可采用20mhz的石英晶体振荡器作为系

54、统的主时钟源,支持采用jtag链的下载方式的板内的可编程器件(epm7128slc84-15和epf10k10lc84-4)进行系统编程和配置。实验箱的硬件是由epm7128slc84-15和epf10k10lc84-4两片可编程器件、一个稳压电源、一个多频率信号发生器、用于输入控制的16个拨码开关、两个按键开关、一个系统复位键、一个单步脉冲键、用于输出的6个数码管、12个发光二极管、一个8*8led点阵显示模块和一个喇叭。此外,还有用于研发的模数转换器、数模转换器、波形变换器等,下面就一些此次设计以及先前实验课所设计的主要部分作一介绍,对于没有接触过的部分就不作介绍了。1. 工作电源与指示灯

55、2. 并行下载电缆与下载指示3. 直流电源和连续脉冲源(1) 可以从布线区插座power中引出用于扩展,其中power插座的1-2引脚为5伏,3-4引脚为地(插座排序为上起第一脚)(2) 主钟源 本实验箱含有20mhz的石英晶振荡器,该振动器的输出作为系统的主钟源,直接驱动epm7128slc84-15的全局时钟脚gclk1(第83脚)和epf10k10的全局时钟脚globl clk(第43脚)4. led点阵显示模块实验箱提供了一个8*8led点阵显示模块。该模块由可编程器件efp10k10控制,在设计上采用了共阴极扫描时驱动方案。它的行数据口d0-7与六位数字显示器公用数据线,而列数位开关

56、b0-7与数模转换器的数据输出口d0-7共用数据线。led点阵显示模块阵列的行数据及列数位开关与epf10k10的引脚互联关系如表2.2。表2.2 管脚对应关系led点阵显示模块epf10k10的引脚led点阵显示模块epf10k10的引脚d072b062d173b164d278b265d379b366d480b467d581b569d683b670d75b771由于led点阵显示模块的列数位开b0-7与数模转换器的数据输出口d0-7复用epf10k10的i/o引脚线,因此,当同时使用它们时,控制上应采用分时共享方案以避免led点阵显示不正确的信息;由于led点阵显示模块的行数据口d0-7与6位数据显示器共用数据线,如果两则同时显示,则会互相影响,因此,将要求其中一种显示时,应将另一种屏蔽.6 可编程器件周边插座 实验箱在可编程器件epm7128s和epf10k10的周边安放了脚线外

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论