eda课程设计数字秒表有扩展(编辑修改稿)内容摘要:

的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA 工具。 此外, Quartus II 通过和 DSP Builder 工具与 Matlab/Simulink 相结合,可以方便地实现各种 DSP 应用系统;支持 Altera 的片上可编程系统( SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为 Altera 的上 一代 PLD 设计软件,由于其出色的易用性而得到了广泛的应用。 目前 Altera 已经停止了对 Maxplus II 的更新支持, Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。 Altera 在 Quartus II 中包含了许多诸如 SignalTap II、 Chip Editor 和 RTL Viewer 的设计辅助工具,集成了SOPC 和 HardCopy 设计流程,并且继承了 Maxplus II 友好的图形界面及简便的使用方法。 Altera Quartus II 作为一种可编程逻辑的设计环境 , 由于 其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。 东北石油大学硬件课程设计 7 软件的启动方式 方法一、直接双击桌面上的图标 ,可以打开 Quartus II 软件; 方法二、执行:【开始】→【程序】→【 Altera】→【 Quartus II 】→【 Quartus II TalkBack Install】菜单命令,可以打开软件。 启动软件后,若你的电脑没有连接到 Inter 互联网,会出现如下图所示的提示,提示你没有连接到 Altera 的官方网站,将无法获得更新的资源。 点击〖确定〗继续,因为这不影响软件的正常使用。 图 11 打开页面 东北石油大学硬件课程设计 8 第 2 章 实验原理 根据实验对要求本次的设计是运用 VHDL 语言在 Quartus II TalkBack Install 环境下设计并运行一个电子秒表。 该秒表可以精确到百分之一秒并且记录对范围是 00 分 00 秒 00 毫秒 ~59 分 59秒 99 毫秒。 在设计的过程中需要运用分层的结构进行,运用例化语句在顶层实体中队各个部件进行例化,使之达到电子秒表的要求。 在设计时运用 10 进制计数器和 6 进制计数 器对秒表的各个位置进行计数和显示,在百分之一秒和十分之一秒对位置各用一个带进位对 10 进制计数器来对其计数和显示。 秒和分的位置也运用一个带进位的 10 进制计数器对其进行计数,十秒的位置着需要一个带进位的 6 进制计数器对其进行计数,而十分的位置需要一个不带进位对 6 进制计数器对其进行计数。 将前一个位置的进位接到下一个位置的时钟信号以完成各个位置计数情况和前面位置计数情况的链接。 完成位置之间的链接在顶层实体的例化语句中完成。 本系统设计采用自顶向下的设计方案,系统的整体组装设计原理图如图 21 所示,它主要由控制模块、时 基分频模块,计时模块和显示模块四部分组成。 各模块分别完成计时过程的控制功能、计时功能与显示功能。 数字 秒表 计时控制电路 控制状态机 计时电路 显示电路 时基分频电路 计数器 六进制计数器 十制计数器 图 21 系统设计原理框图 东北石油大学硬件课程设计 9 第 3 章 电子秒表设计 根据实验内容和实验原理,写出各个电路的 VHDL 语言,并且对各个电路进行仿真,并根据时序仿真图观察设计的电路是否正确。 各个电路设计完成之后根据实验内容和实验对扩展的要求设计出合适对顶层实体其中包括可以多次记录的秒表需要的硬件电路的 VHDL 语言顶层实体描述。 分频电路设计 —— 将输入的时钟信号频率改变为我们需要的时钟频率 libraby ieee。 use。 use。 entity counter is port ( clk: in std_logic。 —— 输入的时钟信号 5MHz co: buffer std_logic)。 —— 输出的时钟信号 100Hz end counter。 architecture bhv of counter is begin process(clk) variable coutinterger:=0。 begin if clk39。 event and clk=39。 139。 then cout:=cout+1。 if cout=25000 then co=39。 039。 elsif cout50000 then co=39。 139。 else cout:=0。 end if。 end if。 end process。 end architecture。 东北石油大学硬件课程设计 10 图 31 分频电路的时序仿真图 图 32 分频控制电路模块图 10 进制 计数器设计 —— 10 进制 计数器 ,对数字做记录当计数器记录到 9 之后产生进位,有进位端 cont复位端 rst10 和使能端 en10。 library ieee。 —— 10 进制 计数器 use。 use。 entity t10 is port(clk10,rst10,en10:in std_logic。 cq10:out std_logic_vector(3 downto 0)。 cout10:out std_logic)。 end entity t10。 architecture one of t10 is begin process(clk10,rst10,en10) variable cqi:std_logic_vector(3 downto 0)。 begin if rst10=39。 139。 then cqi:=(others = 39。 039。 )。 elsif clk1039。 event and clk10=39。 139。 then if en10=39。 139。 then if cqi9 then cqi:=cqi+1。 else cqi:=(others = 39。 039。 )。 end if。 end if。 东北石油大学硬件课程设计 11 end if。 if cqi=9 then cout10=39。 139。 else cout10=39。 039。 end if。 cq10=cqi。 end process。 end architecture one。 图 33 10 进制 计数器 RTL 图 图 34 10 进制 计数器时序仿真图 6 进制 计数器设计 —— 6 进制 计数器 ,对数字做记录当计数器记录到 5 之后产生进位,有进位端 cont复位端 rst6 和使能端 en6。 library ieee。 use。 use。 entity t6 is port(clk6,rst6,en6:in std_logic。 cq6:out std_l。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。