下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 基于EDA技术的数字秒表的设计.EDA课程设计

基于EDA技术的数字秒表的设计.EDA课程设计.doc

基于EDA技术的数字秒表的设计.EDA课程设计

yao华y
2017-10-19 0人阅读 举报 0 0 暂无简介

简介:本文档为《基于EDA技术的数字秒表的设计.EDA课程设计doc》,可适用于高等教育领域

基于EDA技术的数字秒表的设计EDA课程设计※※※※※※※※※※※级学生※※EDA课程设计※※※※※※※※※※※EDA课程设计报告书基于VHDL语言的数字秒表的设计课题名称胡杨姓名学号物理与电信工程系院系电子信息工程专业周来秀讲师指导教师年月日一、设计任务及要求:设计任务设计一个基于VHDL语言的数字秒表要求能够在~分秒的时间段内计时采用数码管显示。要求秒表有停止计时键即清零键clr、暂停键stop。clr键为停止计时键按下它后数码管的示数也将都恢复为零stop键为暂停键按下它后会停止计时复位后秒表会继续以暂停前的示数为基数继续计时。指导教师签名:年月日二、指导教师评语:指导教师签名:年月日三、成绩验收盖章年月日基于VHDL语言的数字秒表的设计胡杨(湖南城市学院物理与电信工程系电子信息工程专业,益阳,)设计目的()熟悉简单的VHDL程序。()掌握相关的EDA知识。()了解数字秒表的设计原理。()熟悉掌握程序设计思路及运用VHDL语言控制。()熟悉Quartus软件的使用方法。设计的主要内容和要求要求设计一个简易的数字秒表最低能精确显示到百分之一秒最大显示到分秒。采用数码管作为显示屏。同时要求秒表具有暂停功能和计时暂停以及停止等秒表的基本功能首先熟悉设计任务查看相关资料。然后在理解程序的基础上自行编写代码。之后调试程序并软件仿真。最后在设计基础上认真分析设计结果撰写设计报告。整体设计方案秒表系统的设计模块秒表共有三个模块:分频模块、计时模块和显示模块。分频模块只提供了MHz和MHz的时钟信号而秒表设计中要用到Hz的时钟作为基本时钟来产生秒的精确度。所以分频的任务就是从MHz(或MHz)的系统时钟信号中产生出Hz的时钟信号作为计时模块的基本时钟。计时模块这部分事秒表的最重要的部分。由秒到秒进位事进制的而由秒到分和由分到时的进制是进制的秒表计时系统可以由一个进制计数器和两个进制计数器连接而成即给进制计数器提供Hz的时钟信号让它产生秒的精确度即它每隔秒计数一次所以可以把其计数输出cq连接到数码管显示上作为秒和秒的计时显示而进制计数器的进位输出carryout是频率为Hz(即周期为秒)的另一个新的时钟信号可以将其连接到下一个进制计数器的时钟输入端口上作为秒的计数精确度产生时钟其输出是每隔秒加的因此要将其输出cq显示到数码管上作为“秒”单位的显示相同的这个进制计数器的进位输出carryout也是一个周期为分钟的新的时钟信号将它作为下一个进制计数器的时钟输入该计数器的输出就事“分”的计数输出。最后一个模块是显示模块该模块的功能是把三个计数器输出的七位标准逻辑矢量数据转化为能直接在数码管上显示的数据(类型)。由于三个输出数据用十进制数表示时可能为个位数(~)也可能为十位数(~或)而且三组数据可能不会同时显示在六位八段数码管上因此需要用s=、、、、、(或BF=、、、、、)来控制第一至第六个数码管显示数据用ena=、、来控制数码管显示秒、秒和分位。将要显示的数据分别用用位BCD码表示则前四位代表数据的十位数上的数字后四位表示数据的个位数数字把BCD码表示的数据的前四位显示到第六、第四、第二位数码管上表示各位数据的十位上的数字把后四位BCD码根据需要显示到第五、第三第一位数码管上表示各位数据的个位上的数字。总体方案设计图如图:控制电路时钟输入秒计数器秒钟计数器分钟计数器译码电路数码显示图总体方案设计图秒表系统各模块直接的连接从设计的秒表的顶层实体上来看这个秒表有一个系统时钟输入有清零键CLR暂停键STOP二个使能控制输入输出则是、都是接到数码管上的。因此我们要把系统时钟接到分频器的输入端将分频器的输出即Hz标准时钟接到即使系统的输入端上。计时系统有一个进制计数器和两个进制计数器构成。其中进制计数器在最前端其进位输出接到下一个进制计数器的输入时钟上而这个进制计数器的进位数出又用来作为下一个进制计数器的时钟输入这二个计数器的使能控制(即清零CLR暂停键STOP)分别都接到最顶层的秒表的使能控制输入上它们的输出则接到数码管上以显示出计时读数。秒表系统功能设计的秒表有数码管作为显示单位从低位到高位分别是秒、秒、秒、秒、分和分。有二个键:CLR键、STOP键其中CLR键是清零键若秒表正处在计时状态按下它后秒表将停止计时数码管的示数也将都恢复为零。STOP键是停止计时键按下它后秒表也会停止计时但是数码管的示数会保持当前的值不变复位STOP键后秒表会继续以当前数码管的示数为基数计时。根据秒表的电路特点用层次设计概念利用VHDL语言描述。VHDL语言的设计进制计数器的设计本设计采用VHDL语言首先完成分钟计时的设计即完成进制计数器的设计。libraryieeeuseieeestdlogicalluseieeestdlogicunsignedalluseieeestdlogicarithallentitycntisport(clk:instdlogic声明clk是标准逻辑位类型的输入端口clr:instdlogic声明clr是标准逻辑位类型的输入端口ena:instdlogic声明ena是标准逻辑位类型的输入端口cq:outstdlogicvector(downto)为了与进制计数器一致也采用了位carryout:outstdlogic声明carryout是标准逻辑位类型的输出端口)endcntarchitecturebehavofcntissignalcqi:integerrangetocqi为结构体内部信号beginprocess(clk,clr,ena)进程开始beginifclr=''then当clr=cqi<=elsifclk'eventandclk=''then采取时钟信号的上升沿技术ifena=''thenifcqi<thencqi<=cqielsecqi<=endifendifendifendprocess结束进程process(cqi)开始进程beginifcqi=thencarryout<=''elsecarryout<=''endifendprocesscq<=convstdlogicvector(cqi,)赋值语句endbehav进制计数器的设计本设计采用VHDL语言其次完成秒钟计时的设计即完成进制计数器的设计。libraryieeeuseieeestdlogicalluseieeestdlogicunsignedalluseieeestdlogicarithallentitycntisport(clk:instdlogic声明clk是标准逻辑位类型的输入端口clr:instdlogic声明clr是标准逻辑位类型的输入端口ena:instdlogic声明ena是标准逻辑位类型的输入端口cq:outstdlogicvector(downto)carryout:outstdlogic声明carryout是标准逻辑位类型的输出端口)endcntarchitecturebehavofcntissignalcqi:integerrangetocqi为结构体内部信号beginprocess(clk,clr,ena)进程开始beginifclr=''thencqi<=elsifclk'eventandclk=''then采取时钟信号的上升沿技术ifena=''thenifcqi<thencqi<=cqielsecqi<=endifendifendifendprocess结束进程process(cqi)开始进程beginifcqi=thencarryout<=''elsecarryout<=''endifendprocess结束进程cq<=convstdlogicvector(cqi,)endbehav顶层文件的设计本设计采用VHDL语言最后完成系统秒钟的设计即完成顶层文件的设计。libraryieeeuseieeestdlogicalluseieeestdlogicarithalluseieeestdlogicunsignedallentitymiaobiaoisport(clk:instdlogicMHz时钟信号输入clr:instdlogic清零信号stop:instdlogic暂停计数bf:outstdlogicvector(downto)bm:outstdlogicvector(downto)bm:outstdlogicvector(downto)count:outstdlogic)endmiaobiaoarchitecturebehavofmiaobiaoissignalclk,clk:stdlogiccomponentcntcntport(clk:instdlogic声明clk是标准逻辑位类型的输入端口clr:instdlogic声明clr是标准逻辑位类型的输入端口ena:instdlogic声明ena是标准逻辑位类型的输入端口cq:outstdlogicvector(downto)carryout:outstdlogic)声明carryout是标准逻辑位类型的输出端口endcomponentcomponentcntcntport(clk:instdlogicclr:instdlogicena:instdlogiccq:outstdlogicvector(downto)carryout:outstdlogic)endcomponentbeginu:cntportmap(clk,clr,stop,bm,clk)秒u:cntportmap(clk,clr,stop,bm,clk)秒u:cntportmap(clk,clr,stop,bf,count)分endbehav系统仿真在Quartus软件环境下画出电路原理图接下来就是用VHDL语言设计的程序。设置引脚的参数仿真波形。观察现象如果现象不正确则用VHDL语言修改程序并在Quartus观察现象那一步不正确则对该段的程序进行修改调试直到仿真完全成功为止。仿真波形如下:图波形仿真图图波形仿真图图波形仿真图使用说明设计的秒表有数码管作为显示单位从低位到高位分别是秒、秒、秒、秒、分和分。有二个键:CLR键、STOP键其中CLR键是清零键若秒表正处在计时状态按下它后秒表将停止计时数码管的示数也将都恢复为零。STOP键是停止计时键按下它后秒表也会停止计时但是数码管的示数会保持当键后秒表会继续以当前数码管的示数为基数计时。前的值不变复位STOP设计总结在此次课程设计中受到了数电中许多故有芯片的影响在某些模块的编写过程中陷入了故有思维模式。比如进制减法计数器由于数电中常用的等计数器都是采用置数端来设置起始的数值所以在程序的编写时也采用的置数的方式来设置初始值这样无形中加大了操作量。其实在VHDL语言中可以直接的给某一个信号赋值。在进制与进制的衔接过程中也产生了很多问题。如果用进制的进位端CO直接控制进制的清零端CR在时间结束后个计数器虽然会保持状态不变但由于最初程序本身编写的不恰当会出现分秒分钟等于时持续时间仅为一个脉冲长度或是减到以后进制计数器依旧计数等情况。在经过对程序的修改调试后这一个个问题都较为合理的解决了。经过这次的课程设计让我了解了语言的灵活性加深了对团队合作的理解熟悉了Quartus等软件的应用。并在克服各种困难的过程中锻炼了独立思考和解决问题的能力和查询资料的能力。在试验箱的操作中锻炼了动手能力。这次课程设计让我收获了很多学到了很多。参考文献江国强EDA技术与应用M北京:电子工业出版社彭介华电子技术课程设计指导M北京:高等教育出版社谢自美电子线路设计、实验、测试M北京:电子工业出版社李洋EDA技术使用教程M北京:机械工业出版社宋振辉EDA技术与VHDLM北京:北京大学出版社

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/12

基于EDA技术的数字秒表的设计&#46;EDA课程设计

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利