《EDA6位加法计数器的设计.docx》由会员分享,可在线阅读,更多相关《EDA6位加法计数器的设计.docx(14页珍藏版)》请在三一办公上搜索。
1、EDA6位加法计数器的设计10机械电子工程专业EDA电路设计课程结课论文 北京理工大学 用程序输入方法设计一个16位二进制加法计数器 学 院: 机械xxxx学院 专业班级:10机械电子工程x班 姓 名: 陈xx 学 号: 10xxxxxx 指导教师: xxx 老师 10机械电子工程专业EDA电路设计课程结课论文 目录 摘要. 1 1 绪论. 2 2 计数器的工作原理. 3 3 设计原理. 4 4 电路系统的功能仿真. 4 6 个人小结. 17 参考文献. 18 10机械电子工程专业EDA电路设计课程结课论文 摘要 计数器是数字系统中使用较多的一种时序逻辑器件。计数器的基本功能是统计时钟脉冲的个
2、数,即对脉冲实现计数操作。计数器也可以作为分频、定时、脉冲节拍产生器和脉冲序列产生器使用。计数器的种类很多,按构成计数器中的各触发器是否使用一个时钟脉冲源来分,可分为同步计数器和异步计数器;按进位体制的不同,可分为二进制计数器、十进制计数器和任意进制计数器;按计数过程中数字增减趋势的不同,可分为加法计数器、减法计数器和可逆计数器;还有可预制数和可编计数器等等。本次课程设计将利用众多集成电路软件软件中的Quartus II软件,使用VHDL语言编程完成论文用程序输入方法设计一个16位二进制加法计数器,调试结果表明,所设计的计数器正确实现了计数功能。 关键词:二进制;加法计数器;VHDL语言 1
3、10机械电子工程专业EDA电路设计课程结课论文 1 绪论 现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化,即EDA技术。EDA技术就是依赖功能强大的计算机,在集成电路软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可
4、能涉及到EDA技术。一般所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。 EDA工具软件可大致可分为芯片设计辅助软件、可编程芯片辅助设计软件、系统设计辅助软件等三类。常用的EDA工具软件平台有:Matlab、Protel、Proteus、OrCAD以及我们学习的本次课程结课论文所用到的Quartus II等。而且EDA工具软件平台一般都有第三方软件接口,以便于与其他软件联合使用。 本次课程结课论文在设计16位二进制加法计数器时所用到的EDA软件工具平台是Quartus II。Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL
5、以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。本文将介绍在Quartus II平台上利用VHDL语言来实现16位二进制加法计数器的程序设计。 2 10机械电子工程专业EDA电路设计课程结课论文 2 计数器的工作原理 计数器是数字系统中使用较多的一种时序逻辑器件。计数器的基本功能是统计时钟脉冲的
6、个数,即对脉冲实现计数操作。其工作原理可概述为:当输入时钟脉冲的一个上升沿来临时,二进制数据的低一位加1,并向高位进1。在没有外部约束条件时,计数器可进行与其二进制位数对应的数值的相应进制的自循环计数,如位数为3的计数器可进行8进制的自循环加法或减法计数。 可根据需要来设置计数器的位数,并通过外部约束条件来人为设定计数器的计数模数,来得到计数进制符合需要的N进制计数器。所谓N进制计数器,是指一个计数器的计数过程,在经历时钟脉冲信号的个为N之后,二进制数据又回到初始状态的计数器。 表2.1计数器的状态表 时钟 0 1 2 3 . 2n-1 2n 2n+1 Q0 0 0 0 0 . 1 1 0 Q
7、1 0 0 0 0 Qn-1 0.00 0 0 1 1 Qn 0 1 0 1 1 1 0 . 1.11 0.00 1 1 0 0 1 0 图2.1计数器的状态图 3 10机械电子工程专业EDA电路设计课程结课论文 3 设计原理 本论文所设计的16位二进制加法计数器,其中16位计数器输出Q15.0=0000000000000000,时钟CLK的上升沿到来时,计数器处于预置工作状态,输出Q15.0= D15.0,D15.0是16位并行数据输入端,COUT是进位输入端,当UPDOWN=0(进行加法操作)且输出Q15.0=1111111111111111时,COUT=1表示进位输出。 4 电路系统的功
8、能仿真 1. 编辑文件 启动Quartus 双击桌面上的Quartus图标或单击开始按扭,启动Quartus。其初始界面如图1所示。 图1 初始界面 编辑文件 单击标题栏中的FileNew对话框,如图2所示。 4 10机械电子工程专业EDA电路设计课程结课论文 图2 输入选择对话框 单击New对话框的Device Design Files选项卡,选择编译文件的语言类型。这里选择VHDL Files,选好后单击按钮,打开VHDL文本编辑器窗口,并在其中输入图3所示的程序,这是一个与门的VHDL程序。 图3 文本编辑器 输入完成之后,单击FileSave As选项,将编辑的文本文件存在已建立的文件
9、夹c:Users下,存盘文件名应该与VHDL程序的实体名一致,即Vhdl1.vhd。当出现问句Do you want to create时,可选“否”。 2. 创建工程 打开建立新工程向导 单击FileNew Project Wizard菜单,出现新建工程向导对话框,如图4所示。 5 10机械电子工程专业EDA电路设计课程结课论文 图4 新建工程向导 在图4中,单击按钮,出现如图5所示的工程基本设置对话框。 图5 工程基本设置和情况 在最上面的输入框中输入工作库文件夹的地址,本例的地址是C:User/GongYu/Desktop/EDA/cnt16,或者单击该对话框最上一栏右侧的按钮,出现选择
10、文件夹的目录。 (2) 将设计文件加入工程中 单击图7中的按钮,在弹出的对话框中,将与本工程有关的文件加入,有两种方法:一种是单击右边的按钮,将设定工程目录中的所有VHDL文件加入到工程文件6 10机械电子工程专业EDA电路设计课程结课论文 栏;另一种是单击按钮,从工程目录中选出相关的VHDL文件。 图5中间的输入框就是该工程的名称,一般可以用顶层文件的名称作为工程名称,本例的顶层文件名是cnt16。最下面的输入框要求输入顶层设计文件实体的名称,本例顶层文件的实体名称是cnt16。图5就是完成后的效果。 图8 加入设计文件 (3) 选择仿真器和综合器类型 单击图8中的按钮,这时弹出选择仿真器和
11、综合器类型的窗口。如果选择默认的NONE,表示使用Quartus中自带的仿真器和综合器。在本例中都选默认的NONE选项。如图9所示。 图9 EDA工具设置 (4) 选择目标芯片 单击图9中的按钮,根据系统设计的实际需要选择目标芯片。首先在Family栏选择芯片系列,本例选择ACEX20KE系列。在此栏下方,询问选择目标器件的方式,选No,表示允许编程器自动选择该系列中的一个器件;单击Yes选项,表示手动选择。如图10所示。 7 10机械电子工程专业EDA电路设计课程结课论文 图10 器件模式 本例采用手动选择,单击图10中的按钮,选择此系列的具体芯片:EP20K30ETC144-1,如图11所
12、示。 图11 目标器件选择 单击按钮后,弹出工程设置统计窗口,如图12所示。 8 10机械电子工程专业EDA电路设计课程结课论文 图12 摘要 (5) 结束设置 最后单击图12中的按钮,结束设置。在Quartus主窗口的左侧,如图13所示。 图13 工程管理窗口 该图是工程ex1_v 的工程管理窗口(或称Compilation Hierarchy窗口),主要显示本工程项目的层次结构和各层次的实体名。 3. 目标芯片的配置 (1) 选择目标芯片 单击标题栏中的AssignmentsSettings菜单,在弹出的对话框中选Category下的Device选项,然后在右侧选择目标芯片EP20K30E
13、TC144-1。也可在Available devices栏分别单击Package、Pin count和Speed来选定芯片。如图14所示。 9 10机械电子工程专业EDA电路设计课程结课论文 图14 选择器件对话框 (2) 选择目标器件编程配置方式 单击图14中的按钮进入器件与管脚操作对话框,首先选择Configuration项,在此框的下方有相应的说明,在此可选Configuration方式为Passive Serial,这种方式可以直接由PC机配置,也可由专用配置器件进行配置。使用的配置器件选Auto,如图15所示。 图15 配置选项卡 (3) 选择输出配置 单击图15中的Programm
14、ing Files选项卡,可以选Hexadecimal,即产生下载文件的同时,产生十六进制配置文件,Start设为0,Count设为Up。如图16所示。此文件可用于单片机与EPROM构成的FPGA配置电路系统。 10 10机械电子工程专业EDA电路设计课程结课论文 图16 程序文件选项卡 (4) 选择目标器件闲置管脚的状态 单击图16中的Unused Pins选项卡,可根据实际需要选择目标器件空闲管脚的状态,有三种状态可供选择:作为输入并呈高阻状态、作为输出并呈低电平状态、作为输出并呈不确定状态。也可以对空闲管脚不作任何选择,而由编程器自动配置。如图17所示。 图17 空闲管脚设置选项卡 4.
15、 编译 编译 单击标题栏中的ProcessingStart Compilation选项,启动全程编译。编译包括对设计输入的多项处理操作,其中包括排错、数据网表文件提取、逻辑综合、适配、装配文件生成,以及基于目标器件的工程时序分析等。如果工程文件中有错误,在下方的信息栏中会显示出来。可双击此条提示信息,在闪动的光标处仔细查找,11 10机械电子工程专业EDA电路设计课程结课论文 改正后存盘,再次进行编译,直到没有错误为止。编译成功的标志是所有进程都完成,如图18所示。 图18 编译进程信息 阅读编译报告 编译成功后可以看到编译报告,如图19所示。左边栏目是编译处理信息目录,右边是编译报告。这些信
16、息也可以在Processing菜单下的Compilation Report处见到。 图19 编译报告 5. 仿真 仿真就是对设计项目进行一项全面彻底的测试,以确保设计项目的功能和时序特性符合设计要求,保证最后的硬件器件的功能与原设计相吻合。仿真可分为功能仿真和时序仿真。功能仿真只测试设计项目的逻辑行为,而时序仿真不但测试逻辑行为,还测试器件在最差条件下的工作情况。 (1) 建立波形文件 与MAX+plus仿真操作相同,仿真前必须建立波形文件。单击FileNew选项,打开文件选择窗口。然后单击Other Files选项卡,选择其中的Vector Waveform File选项。如图20所示。 1
17、2 10机械电子工程专业EDA电路设计课程结课论文 图20 新文件选择 (2) 打开波形编辑器 单击图20中的按钮,即出现空白的波形编辑器,如图21所示。 图21 波形编辑器 为了使仿真时间设置在一个合理的时间区域上,单击EditEnd Time选项,在弹出窗口中的Time输入框键入50,单位选us,即整个仿真域的时间设定为50微秒,如图22所示。 图22 仿真时间设置 单击按钮。结束设置后,要将波形文件存盘。单击FileSave as选项,将波形文件以文件名ex1_v.vwf存入文件夹D:Designs中。 (3) 输入信号节点 单击ViewUtility WindowsNode Finde
18、r选项,会打开一个对话框。在该对话框的Filter空白栏中选Pins:all,然后点击按钮。在下方的Nodes Found窗口中会出现了设计工程的所有端口管脚名,如图23所示。 13 10机械电子工程专业EDA电路设计课程结课论文 图23 管脚编辑 用鼠标将输入端口节点A、B和输出信号节点C逐个拖到波形编辑窗口,如图24所示。 图24 波形编辑 单击图23中的关闭按钮,关闭Node Finder窗口。 (4) 编辑输入波形 波形编辑器的按钮操作方法与MAX+plus相同。利用这些按钮,分别给输入管脚编辑波形,如图25所示。 图25 已编辑输入波形 (5) 启动仿真及阅读仿真报告 单击标题栏中的
19、ProcessingStart Simulation选项,即可启动仿真器。如图26所示。 14 10机械电子工程专业EDA电路设计课程结课论文 图26 仿真结果 从图26中可以看出,本次设计与门的输出有着明显的延时。单击左侧的栏目,能够打开仿真报告 利用Quartus II软件平台的仿真功能来对所设计的电子线路系统进行时序仿真,以检测所设计的系统是否能够实现预期的功能,以便对源程序进行修改。 完成整体电子线路系统的设计工作后,新建vwf仿真文件,对所设计的电子线路系统进行功能仿真,检测电子线路系统的正确性。 图4.1新建仿真文件示意图 15 10机械电子工程专业EDA电路设计课程结课论文 图4
20、.2计数模数为10的功能仿真波形 图4.3计数模数为16的功能仿真波形 以上是以10进制和16进制计数模式为例的功能仿真波形在,从图中可看出所设计的电子线路系统可实现正确功能,即该电子线路系统的设计是正确的。在仿真过程中由于源程序中时钟分频过大,会导致看不到波形,所以需要修改分频16 10机械电子工程专业EDA电路设计课程结课论文 参数,降低分频数,以使在仿真过程中能够看到完整波形,仿真正确后再改回原来的参数。在仿真过程中,可根据需要设置仿真时间长度,以看到更多的仿真波形,有利于从仿真波形中检测所设计的电子线路系统的正确性。 6 个人小结 经过本次“集成电路软件”的课程设计,自己对计数器的工作
21、原理有了更深的理解。本次课程设计使用的是Quartus II可编程逻辑器件软件开发平台,经过本次课程设计后,自己能够更加熟悉Quartus II软件开发平台的各项功能的操作流程,并能使用该软件来编程设计简单的电子线路系统。但自己只是对Quartus II软件中的VHDL编程语言有一定的使用能力,而对Quartus II软件的其他功能还缺乏了解,为了在以后的学习工作中能够较熟练地使用Quartus II软件,自己还必须花一定的时间在该软件的学习上。 随着现代计算机技术的发展,各方面的设计日渐趋于自动化的计算机设计。Quartus II作为一个功能强大的可编程逻辑器件软件开发平台,它电子线路设计1
22、7 10机械电子工程专业EDA电路设计课程结课论文 自动化中的作用不言而喻。而经过本次课程设计后,发现自己在该软件的使用能力上还是非常有限,所以对该软件的学习还有待加强。在编程过程中发现自己对各电子线路系统的基础理论只是还相当缺乏,没有较好的基础理论知识,即使有再好的开发软件也是很难设计出有价值的电子线路系统的。所以要不断学习积累基础理论知识,有了夯实的理论基础才能顺利设计出结构简单、性能优良的电子线路系统。 参考文献 1 伍时和主编,数字电子技术基础,北京:清华大学出版社,2009.4 2 潘松等编著,EDA技术与VHDL,北京:清华大学出版社,2007.1 3 李宗伯等译,VHDL设计表示和综合,北京:机械工业出版社,2002 4 杨颂华编著,电子线路EDA仿真技术,西安:西安交通大学出版社,2008 5 邢建平编著,VHDL程序设计教程,北京:清华大学出版社,2005 6 徐志军编著,CPLD/FPGA的开发与应用,北京:电子工业出版社,2002 18