




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录摘 要iabstractii1 max+plus简介11.1 输入11.2 max+plus仿真的实现11.2.1 建立仿真项目的工程文件11.2.2 设计图形文件21.2.3 创建波形文件31.2.4 设计波形文件41.2.5 仿真42原理的说明53 方案的比较63.1 反馈归零法63.2级连法63.3方案比较64方案的说明84.1计数器的设计84.2 显示部分的设计104.3 两部分电路的组合115 总结与体会13致 谢14参考文献15源程序附录1620 摘 要 vhdl语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为ansi/ieee的标准(ieeestd1076-1987)。1993年更进一步修订,变得更加完备,成为ansi/ieee的ansi/ieeestd1076-1993标准。目前,大多数的cad厂商出品的eda软件都兼容了这种标准。vhdl(veryhighspeedintegratedcircuit hardwaredescriptionglanguage)翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在fpga/cpld/epld的设计中。本文章主要说明了用vhdl来实现八位二十进制异步计数器的方法。关键字:maxplus2 vhdl 计数器 abstractvhdl is a circuit design for the high-level language. in the late 1980s emerged. initially by the united states department of defense developed for the u.s. troops used to improve the reliability and reduce the development cycle of use smaller language. however, to the extent that it satisfies the design requirements of the time. he then became the 1987 ansi / ieee standard (ieee std 1076-1987). further amended in 1993, has become more complete, as ansi / ieee ansi / ieee 1076-1993 standard std. at present, most of the cad manufacturers produce the eda software compatibility of such standards. vhdl is the brief description of vhsic (very high speed integrated circuit hardware description language). the translation into chinese is ultra-high speed integrated circuits hardware description language. so it is primarily used in digital circuit design. currently, it is used mostly in fpga / cpld / epld design in china. , this article mainly to explain the use vhdl to achieve eight two-decimal counter asynchronous method。keywords:maxplus2vhdlcounter1 max+plus简介1.1 输入1)原理图输入(graphic editor):max+plusii软件具有图形输入能力,用户可以方便的使用图形编辑器输入电路图,图中的元器件可以调用元件库中元器件,除调用库中的元件以外,还可以调用该软件中的符号功能形成的功能块.2)硬件描述语言输入(text editor):max+plusii软件中有一个集成的文本编辑器,该编辑器支持vhdl,ahdl和verilog硬件描述语言的输入,同时还有一个语言模板使输入程序语言更加方便,该软件可以对这些程序语言进行编译并形成可以下载配置数据。1.2 max+plus仿真的实现要在max+plus 环境中实现仿真应经过如下几个步骤:1.2.1 建立仿真项目的工程文件建立仿真项目的工程文件是实现对数字系统仿真分析与设计的前提。可通过建立仿真设计与分析的图形文件(*.gdf)并将仿真项目的工程文件指向该图形文件来完成.方法如下:启动max+plus (如果首次启动,应注册),选择file菜单的new子菜单,在弹出的对话框中选择文件类型为graphic editor file,单击ok进入图形文件编辑状态。选择file菜单的save as子菜单,将新创建的未命名的图形文件取个名字(因max+plus 仿真时要产生文件,最好为仿真项目新建一个子目录),单击ok保存。选择file菜单project子菜单下的set project to current file将工程文件指向当前图形文件,如图1。图1 电路符号放置对话框1.2.2 设计图形文件1)在编辑区任意位置双击,将弹出电路符号放置对话框。图中的中间文本框为max+plus 提供的元件库。各库简要说明如下:prim库:基本库,包括基本的逻辑单元电路及电路符号。如门电路、触发器等。如and2表示2输入与门,nand2表示2输入与非门,or2表示2输入或门,not表示反相器。dff、jkff、srff分别表示d触发器、jk触发器和rs触发器。mf库:宏单元库,主要提供常用中、小规模器件所对应的宏模块。mega-lpm库:参数化的模块库,主要提供了门单元、算术运算单元、存储器单元等模块。在本教材中,主要用prim库和mf库。2)联接电路:对绘图各工具的含义予以简要说明。3)编译图形文件全部连线完成后保存文件,选择max+plus 菜单的compile子菜单,将出现图2示的界面,单击start按钮,如果没有错误,系统将弹出编译成功消息框。图2 compile界面1.2.3 创建波形文件maxplusii教学版软件支持电路的功能仿真(或称前仿真)和时序分析(或称后仿真)。众所周知,开发人员在进行电路设计时,非常希望有比较先进的高效的仿真工具出现,这将为你的设计过程节约很多时间和成本。由于eda工具的出现,和它所提供的强大的(在线)仿真功能迅速地得到了电子工程设计人员的青睐,这也是当今eda(cpld/fpga)技术非常火爆的原因之一。下面就axplusii软件的仿真功能的基本应用在本实验中作一初步介绍,在以后的实验例程中将不在一一介绍。1)启动maxplusiiwavefrom editor菜单,进入波形编辑窗口,如下图3所示。图3 wavefrom editor窗口2) 将鼠标移至空白处并单击右键,选择enter nodes from snf选项并按左键确认。出现下图4所示对话筐,单击和按钮,选择欲仿真的i/o管脚。图4 enter nodes from snf窗口3)单击按钮,列出仿真电路的输入、输出管脚图1.2.4 设计波形文件波形文件是max+plus 仿真的必须文件,其主要作用是定义各输入信号及要观察的输出信号。对各工具的含义予以简要说明。1.2.5 仿真保存文件,选择max+plus 菜单的simulator子菜单,将出现simulator界面的界面。单击start按钮,如果没有错误,系统将弹出仿真成功消息框。确定消息框内容后,单击open_scf按钮,可观察仿真波形。2原理的说明异步计数器又称行波计数器,它将低/高位计数器的输出做为高/低位计数器的时钟信号,这一级一级串行连接起来就构成了一个异步计数器。异步计数器与同步计数器不同之处就在于时钟脉冲的提供方式,但是,由于异步计数器采用行波计数,从而使计数延迟增加,在要求延迟小的领域受到了很大限制。尽管如此,由于它的电路简单,仍有广泛的应用。二进制计数器具有电路结构简单、运算方便等特点,但是日常生活中我们所接触的大部分都是十进制数,特别是当二进制数的位数较多时,阅读非常困难,还有必要讨论十进制计数器。在十进制计数体制中,每位数都可能是0,1,2,9十个数码中的任意一个,且“逢十进一”。根据计数器的构成原理,必须由四个触发器的状态来表示一位十进制数的四位二进制编码。而四位编码总共有十六个状态。所以必须去掉其中的六个状态,至于去掉哪六个状态,可有不同的选择。这里考虑去掉10101111六个状态,即采用8421bcd码的编码方式来表示一位十进制数在十进制运算时,当相加二数之和大于9时,便产生进位。可是用bcd码完成十进制数运算时,当和数大于9时,必须对和数进行加6修正。这是因为,采用bcd码后,在二数相加的和数小于等于9时,十进制运算的结果是正确的;而当相加的和数大于9时,结果不正确,必须加6修正后才能得出正确的结果。因此,当第一次近似求值时,可将它看成每一级是一个4位二进制加法器来执行,就好像和是普通4位二进制数一样。设代表这样得到的4位二进制数和, 为输出进位,而代表正确的bcd和, 代表正确的进位,那么当时, 当时, 显然,当或时,输出进位。因此,可利用的状态来产生所要求的校正因子。时,校正因子为6;时校正因子为0。3 方案的比较3.1 反馈归零法反馈归零法是利用清零端cr修改计数周期。如果使用的计数器有直接复位端(也叫异步清零端),可采用反馈归零法(也叫复位法),这是一种可将大模数计数器修改成小模数计数器经常使用的一种方法。为了得到任意模数m的计数器,在m个计数脉冲作用下,将计数器所有的触发器的输出端通过一个与门(或与非门)去控制计数器的直接复位端,使计数器回到全“0”状态,从而变成了m进制计数器。用反馈归零法修改后的计数器,计数器计数到译码位,即m状态时,才会归零,于是在同一个时钟周期内,先是m后是0。状态m与全“0”合占一个时钟周期,所以在触发器的q端可能会出现瞬间尖峰。这种修改计数周期的方法,它稳定的最大数是m-1,计数器是从0计数到m-1,将集成计数器原有的编码从0开始保留一段,去掉最后的若干个状态。由于给触发器置0,一旦有一个触发器从“1”置为“0”,译码位的清零作用消失。如果有某个触发器动作速度比较慢,有可能清零失败而不能使全部触发器归零。解决的办法是通过一个基本rs触发器,以保持清零电平,使触发器全部清零。等到时钟的另外半个周期到来时,使基本rs触发器置“1”,解除对触发器的强迫置“0”。等到下一个时钟来到时,计数器进入正常计数状态。3.2级连法 对于计数长度大于最大模数的计数器可用级连法来扩展。所谓级连法就是把两个以上的计数器串接起来,从而得到一个预定的任意进制的计数器。例如用级连法构成24进制计数器,24可以分解成3*8, 4*6,因此可以有四种接法,现以8*3为例,即第一片(个位)接成8进制计数器,第二片(十位)接成3进制计数器。3.3方案比较级连法和反馈归零法有以下3点不同之处:1)级连法的每一片都是独立的,都接成某一进制的计数器,而反馈归零法每一片都不独立,除个位构成十进制计数器外,其余各片并不构成固定模数的计数器。2)低位触发高位的方式不一样,反馈归零法低位均接成十进制计数器;而级连法低位并不接成十进制计数器。3)显示方式不一样。级连法和反馈归零法有以下相同之处 : 无论是反馈归零法还是级连法,当接成mn的计数器时,所接成的计数器从宏观上看为异步计数器。所以本次采用级连法来实现。4方案的说明八位二十进制异步计数器设计主要分两部分。第一部分是计数器的设计,第二部分是显示部分的设计。设计流程如图6所示: counterdisplay脉冲输入显示输出 图5八位二十进制异步计数器的设计流程图4.1计数器的设计用74ls390两个宏连接成八位二十进制异步计数器。如图7所示: 图6 74ls390两个宏连接成计数器的结构图74ls390 ttl是双十进制计数器,它的引脚如图8所示 图7 74ls390的引脚图其功能表如表1,表2所示 表1 bcd 计数顺序(注a) 表2 5-2 进制计数顺序(注b)h=高电平 l=低电平注a:对于bcd(十进)计数,输出qa 连到输入b 计数注b:对于5-2 进制计数,输出qd 连到输入a 计数进行vhdl编程后能够实现指定的运算,其仿真波形入图8所示 图8计数器单元的仿真波形图4.2 显示部分的设计显示部分主要用来对加法器的输出进行显示。显示部分display主要由seg_sel、data_sel和seg_dec三个单元构成,其结构图如图9所示: 图9 display单元的电路结构图其中seg_sel单元由高频时钟控制,其输出sel用来依次选择3个7段数码管中的一个,并控制data_sel单元的输出;data_sel由sel控制,用来选择输出right7.4、right3.0和cin中的一个,即当seg_sel选择数码管个位时,data_sel同时选择right3.0输出;当seg_sel选择数码管的十位时,data_sel同时选择right7.4输出。而seg_sel主要用来把data_sel的输出变换成7段数码管可以接受的信号,即起显示译码的作用,其功能表如表3所示:表3seg_dec单元的功能表十进制数输入segin输出segout000001111110100010110000200101101101300111111001401000110011501011011011601100011111701111110000810001111111910011111011对display单元设定输入并仿真后,可得其仿真图如图10所示。 图10display单元电路的仿真波形图4.3 两部分电路的组合到此,计数器单元和显示译码部分单元的设计和仿真都结束了,把两部分的电路连接起来就组成了八位二十进制异步计数器,其电路结构图如图12所示: 图11 counter和display单元结合后的结构图对该单元进行仿真,得其仿真波形图如图13所示图12组合单元的仿真波形通过波形图可以看出设计的八位二十进制异步计数器计数正确,这次设计能够满足设计要求。5 总结与体会vhdl语言主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,vhdl的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。vhdl的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是vhdl系统设计的基本点。 在设计编译过程中遇到了不少问题,有时编译也不能一次成功,自己应该注意检查和修改,在此之中,学会了很多。想真正掌握一门语言,短时间是不大可能的,以后应该经常使用,vhdl语言会使以后的设计变的简单高效。致 谢在这次设计中充分的利用了实验室良好的环境和资源,并得到了广大同学的百忙中的帮助,我感到很高兴,合作的感觉真的很好。在此我对同学表示衷心的感谢。特别感谢老师,她深刻的思想,严谨的作风,热心的帮助,耐心的指导对我的报告的完成起到了举足轻重的作用,将对我的人生产生重大的影响。参考文献1 黄志强等. vhdl设计实例与仿真. 北京:机械工业出版社,20072 潘松, 黄继业编. eda技术与vhdl. 北京:清华大学出版社,20073 雷伏容编. vhdl电路设计. 北京:清华大学出版社,20064 张凯, 林伟编. vhdl实例剖析. 北京:国防工业出版社,2004 5 康华光主编. 电子技术基础:模拟部分. 北京:高等教育出版社,20066 刘光祜, 饶妮妮编. 模拟电路基础. 成都:电子科技大学出版社 ,20017 mark zwolinski. digital system design with vhdl. prentice hall,2003源程序附录1)data_sel单元的程序library ieee;use ieee.std_logic_1164.all;use ieee.std
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文物保护与修复考试试题及答案
- 2025年文化战争与社会心态能力评估试卷及答案
- 2025年文化遗产保护与传承政策研究考核试卷及答案
- 2025年文化市场管理师文化产业试题及答案
- 2025年文化创意产业经理职业资格考试试卷答案解析
- 2025年未来医疗健康管理模式探索试题及答案
- 2025年微信营销策划实践能力测评试题及答案解析
- 2025年线性低密度聚乙烯合作协议书
- 2025年网络运维总监职业能力考试试题及答案解析
- 偏简单数学试卷
- 2025年云南磨憨开发投资集团有限公司招聘考试笔试试题(含答案)
- 2024年安徽省泗县人民医院公开招聘护理工作人员试题带答案详解
- 2025秋人教版(2024)八年级上册地理 【教学课件】1.1.1 《疆域》
- GB/T 24538-2009坠落防护缓冲器
- 兽药GSP档案记录表格
- 石油建设安装工程费用定额
- 高一新生心理讲座PPT
- 中国大米行业蓝皮书
- JJF 1076-2020-数字式温湿度计校准规范-(高清现行)
- 泵车操作手册
- 马克思主义基本原理概论讲义
评论
0/150
提交评论