EDA数字秒表课程设计报告Word下载.doc
- 文档编号:1451026
- 上传时间:2023-04-30
- 格式:DOC
- 页数:22
- 大小:173KB
EDA数字秒表课程设计报告Word下载.doc
《EDA数字秒表课程设计报告Word下载.doc》由会员分享,可在线阅读,更多相关《EDA数字秒表课程设计报告Word下载.doc(22页珍藏版)》请在冰点文库上搜索。
Abstract II
绪论 III
一系统设计方案 1
二底层模块设计 2
2.1计时电路 2
2.1.1时基分频器 2
2.1.2100进制计数器 3
2.1.360进制计数器 3
2.2计时控制电路 4
2.3显示电路 4
2.3.1七段译码器 4
2.3.2扫描模块 4
三顶层原理图 5
四系统仿真 6
4.1计时电路的仿真 6
4.2计时控制电路的仿真 8
4.3显示电路的仿真 8
五器件编程与硬件下载 9
六心得体会 10
七参考文献 11
附录 12
武汉理工大学《EDA》课程设计说明书
摘要
随着人们生活水平的日益提高,社会体系的日益完善,人们对于各种应用器件的要求也越来越高。
秒表作为日常生活中,特别是体育运动中应用的特别广泛,所以精确且方便使用的秒表就被越来越多的人所选择。
本秒表计时器用于体育竞赛及各种要求有较精确时的各领域,往常利用中小规模集成电路实现,但一般体积大,使用携带不方便。
利用VHDL在FPGA或CPLD上实现1/100秒计时控制器,能充分发挥VHDL与可编程逻辑器件灵活、高效、集成度高的特点。
利用VHDL语言设计基于计算机电路中时钟脉冲原理的数字秒表。
该秒表能对0秒~59分59.59秒范围进行计时,显示最长时间是59分59秒。
计时精度达到10ms。
设计了复位开关和启停开关。
复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。
关键词:
EDA技术、VHDL语言、计时器、数码管
Abstract
Aspeoplelivingstandardriseincreasingly,ofthesocialsystemisincreasinglyperfect,forallsortsofpeopletherequirementsoftheapplicationdevicesmoreandmoreisalsohigh.Stopwatchasdailylife,especiallysportsoftheapplicationsofthespecialextensive,sopreciseandconvenientuseastopwatchismoreandmorepeoplechoose.Thisstopwatchtimerusedforsportscompetitionandvariousrequirementshaveapreciseofeveryfield,usualmediumscaleintegratedcircuitofrealization,butgenerallyisbig,theuseofportability.UseofVHDLFPGAorCPLD1/100ofasecondtimeonitscontroller,cangivefullplaytoVHDLandprogrammablelogicdevicesflexible,efficient,andintegrationhighcharacteristic.
UseofVHDLlanguagedesignbasedonthecomputerinthecircuitprincipleoftheclockpulsedigitalstopwatch.Thestopwatchto0SEC-59pointsand59.59secondstimerange,showthelongesttimeis59points59seconds.Timeprecisionofthe10ms.Thedesignofthereplacementswitchandrev.Stopswitch.Resetswitchcanbeinanycaseuse,afterusetimerreset,anddothenexttimetoprepare.
Keywords:
EDAtechnology,VHDLlanguage,timers,digitaltube
绪论
在科技高度发展的今天,集成电路和计算机应用得到了告诉发展,尤其是计算机应用的发展,它在人们日常生活已逐渐崭露头角。
大多数电子产品多是由计算机电路组成,如:
手机、Mp3等。
而在将来的不就他们的身影将会更频繁的出现在我们身边呢。
各种家用电器多会实现微电脑技术。
电脑各部分在工作时多是以时间为基准的。
本文就是基于计算机电路的时钟脉冲信号、状态控制等原理设计出的数字秒表。
秒表在很多领域充当中一个重要的角色。
在各类比赛中对秒表的精度要求很高,尤其是一些科学实验,他们对时间的精度达到几纳米级别。
VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为3种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用VHDL来完成。
另外,VHDL还有以下优点:
VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心转移到了系统功能的实现和调试上,只需要花较少的精力用于物理实现;
VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用;
VHDL的设计不依赖于特定的器件,方便了工艺的转换。
本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA技术,对计算机系统中时钟控制系统进一步了解,掌握状态机工作原理,同时了解计算机时钟卖场是怎么产生和工作的。
在掌握所学的计算机组成与结构课程理论知识时,通过对数字秒表的设计,进行理论与实际的结合,提供与计算机有关的设计能力,提高分析、解决计算机技术实际问题的能力。
通过课程设计深入了解计算机结构与控制实现的技术,达到课程设计的目标。
一系统设计方案
根据系统设计要求,系统的组成框图如图1所示。
数字秒表
计时控制电路
计时电路
显示电路
控制模块
时基分频电路
计数器
扫描电路
译码器
六十进制
一百进制
图1系统组成框图
系统设计采用自顶向下的设计方法,它主要是由控制模块、时基分频模块、计时模块和显示模块四部分组成。
(1)控制模块
计时控制模块的作用是对计时过程进行控制。
计时控制模块可用两个按钮开关来完成秒表的启动、停止和复位。
(2)计时模块
计时模块执行计时功能,计时的方法是对标准时钟脉冲计数。
由于计时范围是0秒~59分59.59秒,所以计时器可以由两个60进制计数器和一个100进制计数器构成,其中分和秒采用60进制计数器,毫秒采用100进制计数器。
(3)显示模块
计时显示电路的作用是将计时值在LED七段译码数码管上显示出来。
计时电路产生的计时值经过BCD七段译码后,驱动LED数码管。
计时显示电路的实现方案采用扫描显示,即每次只驱动一位数码管,各位数码管轮流驱动对应的数码管进行显示。
二底层模块设计
底层单元模块共有七个,全部用VHDL语言描述。
它主要是由计时电路、计时控制电路及显示电路组成。
2.1计时电路
计时电路执行计时功能,主要是由时基分频器、计数器组成。
计时方法是对标准时钟脉冲计数,计数器是由一个100进制计数器和两个60进制计数器构成,其中毫秒位采用100进制计数器,秒位和分位采用60进制计数器。
2.1.1时基分频器
时基分频器的作用是把输入的时钟信号变为分频输出信号,课设要求提供给计时器内部定时的时钟频率应大于100Hz,这里选用1KHz,即需将试验箱上20MHz时钟信号变频为1KHz,产生0.001秒时钟信号,使该秒表的计时精度达到要求。
分频器实际上就是计数器,假若输入端的时钟频率是f,每当输入N个时钟脉冲时,令输出端反向一次,则输出端对应的时钟频率就是f/(2N),任意改变数值N,就可以得到对应频率的输出脉冲。
生成元件如图2.1.1所示:
图2.1.1时基分频器
2.1.2100进制计数器
时基分频器的输出端输出频率为1KHz的时钟信号,输入到100进制计数器毫秒模块的时钟端CLK,产生的进位信号CO输入到下一级60进制计数器秒模块中。
2.1.360进制计数器
100进制计数器的输出端CO输出频率为1Hz的时钟信号,输入到60进制秒模块的时钟端CLK,产生的进位信号CO(1/60Hz)输入到60进制分模块的时钟输入端。
同时,将毫秒、秒、分产生的计数值通过启动/暂停开关、清零开关控制,再通过显示模块实时显示,若清零开关Clear=‘1’,则各位输出均为0,反之正常显示;
同时,若启动/暂停开关CS=‘1’,则正常按脉冲计数显示,反之,输出各位输出显示值暂停。
生成元件连接图如图2.1.2所示:
图2.1.2计数器模块
2.2计时控制电路
此模块实现的功能是:
在数码管位选信号Choose的控制下,将毫秒、秒、分位对应输出到译码电路输入端。
其元件如图2.2所示:
图2.2计时控制模块
2.3显示电路
2.3.1七段译码器
该模块实现将四位二进制码转换成十进制数字输出,使之在数码管上显示出0、1、2、3、4、5、6、7、8、9十种数字。
生成元件如图2.3.1所示:
图2.3.1七段译码器
2.3.2扫描模块
此模块实现6位数码管的位选操作功能,其实质就是计数器,输出端接实验箱上的3/8译码器。
当扫描频率大于24Hz时,由于发光管的余辉和人眼视觉暂留的作用,使人感觉好像各位数码管同时都在显示,二实际上多位数码管是一位一位轮流显示的,只是轮流的速度非常快,人眼已经无法分辨。
其元件如图2.3.2所示:
图2.3.2扫描模块
三顶层原理图
以上所描述的模块的程序编写均在同一工程下,由程序生成的元件也在该工程下,所以可以在该工程下再建一原理图作为顶层,将所需要的元件按照要求进行连线,加入输入输出处端口并改名。
包层原理图,并将原理图置为顶层文件。
本设计的整体原理图如图3所示:
图3整体原理图
四系统仿真
4.1计时电路的仿真
4.1.1100进制计数器的仿真
图4.1.1100进制计数器的仿真
分析:
clk为时钟脉冲信号,clear是清零信号,cs是启/停信号,s-10ms是十毫秒输出信号,s-100ms是百毫秒输出信号,co是进位信号。
当clear=‘0’,cs=‘1’时,每经过十次时钟脉冲,s-10ms加一,当s-10ms满十时,s-100ms加一,以此类推。
4.1.260进制计数器秒模块的仿真
图4.1.260进制计数器秒模块的仿真
clk为时钟脉冲信号,clear是清零信号,s-1s是秒输出信号,s-10s是十秒输出信号,co是进位信号。
当clear=‘0’时,每经过一次时钟脉冲,s-1s加一,当s-1s满十次时,s-10s加一,且co输出一次高电平,以此类推。
4.1.360进制计数器分模块的仿真
图4.1.360进制计数器分模块的仿真
clk为时钟脉冲信号,clear是清零信号,s-1min是分输出信号,s-10min是十分输出信号。
当clear=‘0’时,每经过一次时钟脉冲,s-1min加一,当s-1min满十次时,s-10min加一,以此类推。
4.2计时控制电路的仿真
图4.2控制模块的仿真
在数码管位选信号choose的控制下,分别选择对应的输入端传递给输出端y,当choose=0时,将s-10ms的内容输出,当choose=1时,将s-100ms的内容输出,以此类推。
4.3显示电路的仿真
4.3.1扫描电路的仿真
图4.3.1扫描电路的仿真
分析:
clk是时钟信号,count是数码管位选信号,一次轮流扫描第0~5位数码管。
4.3.2七段译码器的仿真
图4.3.2七段译码器的仿真
分析:
BCD为时钟脉冲输入信号,LED是输出信号。
当输入为“0000”,输出为“1111110”,当输入为“0001”,输出为“0110000”,当输入为“0010”,输出为“1101101”等等来实现译码功能。
五器件编程与硬件下载
(1)在Quartus软件中为顶层文件选择好芯片类型,选择引脚后进行编译。
(2)将实验箱端口与计算机相应端口连接,检测试验箱是否可以使用,经检测无误后,关闭试验箱,将主芯片标号对应顶层文件相应引脚标号连线到相应器件处。
即输入时钟信号端接试验箱时钟发生电路CLK输出端(用20MHz信号),启动新号段与归零信号端分别接两个拨码开关,输出端count[2..0]分别接3/8译码器的SEL2—SEL0端,输出a,b,c,d,e,f,g,h端接显示译码器的相应输入端,连接好线后打开试验箱电源,将设计好的程序下载到试验箱的芯片上即可测试功能。
六心得体会
通过本次课设,不仅学到了关于EDA的许多专业知识,同时也享受到了动手的乐趣,还认识到了QuartusⅡ软件的功能非常强大,对于很多关于电方面的元器件都可以用它来实现,这使得在使用的时候非常方便及多变。
同时也熟悉了QuartusⅡ的工作环境,可以很熟练的对QuartusⅡ进行常规的操作,快速进行程序编辑和仿真。
其实如何有效和快速的找到资料也是课设给与的启发,利用好图书馆和网络,是资源的到最好的利用。
另外,与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系也可以扩展自己的思维。
通过思考、发问、自己解惑并动手、改进的过程,才能真正的完成课题。
另外,在应用VHDL的过程中,也真正切身领会到了其并行运行与其他软件顺序执行的差别及其在电路上的优越性。
用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了生产成本。
通过这次设计和设计中遇到的问题,也积累了一定的经验,对今后从事电路设计工作会有一定的帮助。
七参考文献
[1]潘松,黄继业.EDA技术与VHDL,第2版.北京:
清华大学出版社,2007.
[2]陈小毛,胡机秀.新编数字电路与EDA技术.北京:
国防工业出版社,2008.
[3]夏路易.基于EDA的电子技术课程设计.北京:
电子工业出版社,2009.
[4]宋嘉玉,孙丽霞.EDA实用技术.北京:
人民邮电出版社,2006.
[5]齐洪喜,陆颖.VHDL电路设计实用技术.北京:
清华大学出版社,2004.
附录
(一)1KHZ分频
libraryieee;
useieee.std_logic_1164.all;
entitycounter10000is
port(clk:
instd_logic;
q:
outstd_logic);
endcounter10000;
architecturebehaveofcounter10000is
signalq0:
std_logic;
begin
process(clk)
variablecount:
integerrange0to10000;
ifclk'
eventandclk='
1'
then
ifcount<
10000thencount:
=count+1;
elseq0<
=notq0;
count:
=0;
endif;
endif;
endprocess;
q<
=q0;
endbehave;
(二)100进制毫秒模块
useieee.std_logic_unsigned.all;
entitycntm100is
port(cs,clk:
co:
bufferstd_logic;
s_10ms,s_100ms:
bufferstd_logic_vector(3downto0);
clear:
instd_logic);
end;
architecturebehaveofcntm100is
signalclock:
variablecount1:
integerrange0to5;
ifcount1<
5thencount1:
=count1+1;
elseclock<
=notclock;
count1:
endif;
process(clock,cs,clear)
ifclear='
0'
then
ifcs='
ifclock'
eventandclock='
thenco<
='
;
ifs_10ms=9thens_10ms<
=(others=>
'
);
ifs_100ms=9thens_100ms<
co<
=notco;
elses_100ms<
=s_100ms+1;
endif;
elses_10ms<
=s_10ms+1;
endif;
endif;
elses_10ms<
=s_10ms;
s_100ms<
=s_100ms;
endif;
elses_10ms<
endif;
(三)60进制秒模块
entitycntm60miaois
port(clk:
s_1s,s_10s:
clear:
architecturebehaveofcntm60miaois
process(clk)
ifclear='
ifclk'
ifs_1s=9thens_1s<
ifs_10s=5thens_10s<
elses_10s<
=s_10s+1;
elses_1s<
=s_1s+1;
elses
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 数字 秒表 课程设计 报告