ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:329.15KB ,
资源ID:10948423      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10948423.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字钟设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字钟设计.docx

1、数字钟设计东 北 石 油 大 学课 程 设 计课 程 硬件课程设计 题 目 数字钟设计 院 系 计算机与信息技术学院 专业班级 学生姓名 学生学号 指导教师 2009年 7 月 10 日2012年 6月 10日东北石油大学课程设计任务书课程 硬件课程设计题目 数字钟设计专业 主要内容、基本要求等一、主要内容:利用EL教学实验箱、微机和Quartus软件系统,使用VHDL语言输入方法设计数字钟。可以利用层次设计方法和VHDL语言,完成硬件设计设计和仿真。最后在EL教学实验箱中实现。二、基本要求:1.具有时,分,秒,计数显示功能,以24小时循环计时。 2.具有清零功能。三、扩展要求:1.调节小时、

2、分钟功能。 2.整点报时功能,整点报时的同时LED灯花样显示。四、参考文献: 1 潘松,王国栋,VHDL实用教程M.成都:电子科技大学出版社,2000.(1) 2 崔建明主编,电工电子EDA仿真技术 北京:高等教育出版社,2004 3 李衍编著,EDA技术入门与提高王行 西安:西安电子科技大学出版社,2005 4 侯继红, 李向东主编,EDA实用技术教程 北京:中国电力出版社,2004 5 沈明山编著,EDA技术及可编程器件应用实训 北京:科学出版社,2004 完成期限 2周 指导教师 专业负责人 2012年 7 月 6 日东北石油大学课程设计成绩评价表课程名称硬件课程设计题目名称数字钟设计学

3、生姓名序号评价项目指 标(优秀)满分评分1选题难度选题难度较高,或者对原题目进行了相当程度的改进。102工作量、工作态度和出勤率工作量饱满,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。103课程设计质量按期圆满的完成了规定的任务,方案设计合理,思考问题全面,系统功能完善。404报告质量问题论述思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。305回答问题在进行课程设计程序系统检查时,能正确回答指导教师所提出的问题。106创新(加分项)工作中有创新意识,对前人工作有改进或有应用价值。在进行系统检查时能对创新性进行说明,并在报告中有相应的论述。+5总分评语:指导教师: 年 月

4、 日摘 要本文对EDA的概念,技术及其应用进行了概述并利用VHDL语言在EDA平台上设计一个电子数字钟,它的计时周期为24小时,显示满刻度为23时59分59秒,另外还具有校时功能和闹钟功能。总的程序由几个各具不同功能的单元模块程序拼接而成,并且使用Quartus7.2-II软件进行电路波形仿真,下载到EDA实验箱进行验证。根据系统设计要求,系统设计采用自顶向下设计方法,由时钟分频部分、计时部分、按键部分调时部分和显示部分五个部分组成。这些模块都放在一个顶层文件中。首先下载程序进行复位清零操作,电子钟从00:00:00计时开始。sethour可以调整时钟的小时部分, setmin可以调整分钟,步

5、进为1。用6位数码管分别显示“时”、“分”、“秒”,通过OUTPUT( 6 DOWNTO 0 )上的信号来点亮指定的LED七段显示数码管。手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的键7和键4进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。reset为复位键,低电平时实现清零功能,高电平时正常计数。可以根据我们自己任意时间的复位。关键词: EDA(电子设计自动化);VHDL(硬件描述语言),数字钟。目录第1章 概 述1.1 EDA的概念EDA是电子设计自动化(Electronic Des

6、ign Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的1。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度2。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有E

7、DA的应用。目前EDA 技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。EDA 设计可分为系统级、电路级和物理实现级。本次毕业设计课题实现的核心技术即为EDA相关技术3。1.1.1设计方法(1) 前端设计(系统建模RTL 级描述)后端设计(FPGAASIC)系统建模。 (2) IP 复用。 (3) 前端设计。 (4) 系统描述:建立系统的数学模型。 (5) 功能描述:描述系统的行为或各子模块之间的数据流图。 (6) 逻辑设计:将系统功能结构

8、化,通常以文本、原理图、逻辑图、布尔表达式来表示设计结果。 (7) 仿真:包括功能仿真和时序仿真,主要验证系统功能的正确性及时序特性。1.1.2 EDA技术及应用EDA在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。在教学方面,几乎所有理工科(特别是电子信息)类的高校都开设了EDA课程。主要是让学生了解EDA的基本概念和基本原理、掌握用HDL语言编写规范、掌握逻辑综合的理论和算法、使用EDA工具进行电子电路课程的实验验证并从事简单系统的设计。一般学习电路仿真工具(如multiSIM、PSPICE)和PLD开发工具(如Altera/Xilinx的器件结构及开发系统),为今后工作打下基础4

9、。而且电子设计技术的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。EDA技术已有30年的发展历程,大致可分为三个阶段。70年代为计算机辅助设计(CAD)阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作。80年代为计算机辅助工程(CAE)阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。CAE的主要功能是:原理图输人,逻辑仿真,

10、电路分析,自动布局布线,PCB后分析。90年代为电子系统设计自动化(EDA)阶段3。如今从应用领域来看,EDA技术已经渗透到各行各业,包括在机械、电子、通信、航空航航天、化工、矿产、生物、医学、军事等各个领域,都有EDA应用。另外,EDA软件的功能日益强大,原来功能比较单一的软件,现在增加了很多新用途。如AutoCAD软件可用于机械及建筑设计,也扩展到建筑装璜及各类效果图、汽车和飞机的模型、电影特技等领域6。中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PCB制板和小型ASIC领域,仅有小部分(约11%)的设计人员开发复杂的片上系统器件。为了与台湾和美国的设计工程师形成更有力的竞争,中

11、国的设计队伍有必要引进和学习一些最新的EDA技术。在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点7。要大力推进制造业信息化,积极开展计算机辅助设计(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等。有条件的企业可开展“网络制造”,便于合作设计、合作制造,参与国内和国际竞争。开展“数控化”工程和“数字化”工程

12、。自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构。在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方面发展8。1.2 EDA的工作平台1.2.1 EDA硬件工作平台1.计算机。2.EDA实验开发系统:EDA-V。1.2.2 EDA 的软件工作平台PLD(Programmable Logic Device)是一种由用户根据需要而自行构造逻辑功能的数字集成电路9。目前主要有两大类型:CPLD(Complex PLD)和FPGA(Field Programmable Gate Array)。它们的基本设计方法是借助

13、于EDA软件,用原理图、状态机、布尔表达式、硬件描述语言等方法,生成相应的目标文件,最后用编程器或下载电缆,由目标器件实现。生产PLD的厂家很多,但最有代表性的PLD厂家为Altera、Xilinx和Lattice 公司10。第2章 数字钟的系统分析2.1设计目的1.掌握多位计数器相连的设计方法。2.掌握十进制,六进制,二十四进制计数器的设计方法。3.继续巩固多位共阴极扫描显示数码管的驱动,及编码。4.掌握扬声器的驱动。5.LED灯的花样显示。6.掌握CPLD技术的层次化设计方法。2.2功能说明1.有时、分、秒计数显示功能,小时为24进制,分钟和秒为60进制以24小时循环计时。2.设置复位、清

14、零等功能。3.有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间。4.时钟计数显示时有LED灯显示。2.3性能指标及功能设计 1.时、分、秒计时器时计时器为一个24进制计数器,分、秒计时器均为60进制计数器。当秒计时器接受到一个秒脉冲时,秒计数器开始从1计数到60,此时秒显示器将显示00、01、02、.、59、00;每当秒计数器数到00时,就会产生一个脉冲输出送至分计时器,此时分计数器数值在原有基础上加1,其显示器将显示00、01、02、.、59、00;每当分计数器数到00时,就会产生一个脉冲输出送至时计时器,此时时计数器数值在原有基础上加1,其显示器将显示00、01、02、.、23

15、、00。即当数字钟运行到23点59分59秒时,当秒计时器在接受一个秒脉冲,数字钟将自动显示00点00分00秒。2.校时电路当开关拨至校时档时,电子钟秒计时工作,通过时、分校时开关分别对时、分进行校对,开关每按1次,与开关对应的时或分计数器加1,当调至需要的时与分时,拨动reset开关,电子钟从设置的时间开始往后计时。2.4总体方框图图2-1总体框图第3章 数字钟的工作原理及其设计3.1数字钟的基本工作原理:3.1.1时基T 产生电路数字钟以其显示时间的直观性、走时准确性作为一种计时工具,数字钟的基本组成部分离不开计数器,在控制逻辑电路的控制下完成预定的各项功能。由晶振产生的频率非常稳定的脉冲,

16、经整形、稳定电路后,产生一个频率为1Hz的、非常稳定的计数时钟脉冲。3.1.2调时、调分信号的产生由计数器的计数过程可知,正常计数时,当秒计数器(60进制)计数到59 时,再来一个脉冲,则秒计数器清零,重新开始新一轮的计数,而进位则作为分计数器的计数脉冲,使分计数器计数加1。现在我们把电路稍做变动:把秒计数器的进位脉冲和一个频率为2Hz的脉冲信号同时接到一个2选1数据选择器的两个数据输入端,而位选信号则接一个脉冲按键开关,当按键开关不按下去时(即为0),则数据选择器将秒计数器的进位脉冲送到分计数器,此时,数字钟正常工作;当按键开关按下去时(即为1),则数据选择器将另外一个2Hz 的信号作为分计

17、数器的计数脉冲,使其计数频率加快,当达到正确时间时,松开按键开关,从而达到调时的目的。调节小时的时间也一样的实现。3.1.3计数显示电路由计数部分、数据选择器、译码器组成,是时钟的关键部分。1、计数部分:由两个60进制计数器和一个24 进制计数器组成,其中60 进制计数器可用6 进制计数器和10 进制计数器构成;24 进制的小时计数同样可用6 进制计数器和10 进制计数器得到:当计数器计数到24 时,“2”和“4”同时进行清零,则可实现24 进制计数。2、数据选择器:84 输入14 输出的多路数据选择器,因为本实验用到了8个数码管(有两个用来产生隔离符号)。 3、译码器:七段译码器。译码器必须

18、能译出,由实验二中译码器真值表可得:字母F 的8421BCD 码为“1111”,译码后为“1000111”,现在如果只译出,即字母F的中间一横,则译码后应为“0000001”,这样,在数码管上显示的就为。3.2设计思路根据系统设计要求,系统设计采用自顶向下设计方法,由时钟分频部分、计时部分、按键部分调时部分和显示部分五个部分组成。这些模块都放在一个顶层文件中。1)时钟计数:首先下载程序进行复位清零操作,电子钟从00:00:00计时开始。sethour可以调整时钟的小时部分, setmin可以调整分钟,步进为1。由于电子钟的最小计时单位是1s,因此提供给系统的内部的时钟频率应该大于1Hz,这里取

19、100Hz。CLK端连接外部10Hz的时钟输入信号clk。对clk进行计数,当clk=10时,秒加1,当秒加到60时,分加1;当分加到60时,时加1;当时加到24时,全部清0,从新计时。用6位数码管分别显示“时”、“分”、“秒”,通过OUTPUT( 6 DOWNTO 0 )上的信号来点亮指定的LED七段显示数码管。时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的键7和键4进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。3)清零功能:reset为复位键,低电平时实现清零功能,高电平时

20、正常计数。可以根据我们自己任意时间的复位。第4章 VHDL源程序4.1 Alert模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY alert IS PORT(clk:IN STD_LOGIC; dain:IN STD_LOGIC_VECTOR(6 DOWNTO 0); speak:OUT STD_LOGIC; lamp:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END alert;ARCHITECTURE fun OF alert IS SIGNAL co

21、unt:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL count1:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN speaker:PROCESS(clk) BEGIN -speak=count1(1); IF(clkevent and clk=1)THEN IF(dain=0000000)THEN speak=10)THEN count1=00;-count1为三进制加法计数器 ELSE count1=count1+1; -speak=count1(0); END IF ; END IF ; END IF ; END PROCESS spe

22、aker; lamper:PROCESS(clk) BEGIN IF(rising_edge(clk)THEN IF(count=10)THEN IF(count=00)THEN lamp=001;-循环点亮三只灯 ELSIF(count=01)THEN lamp=010; ELSIF(count=10)THEN lamp=100; END IF; count=count+1; ELSE count=00; END IF; END IF; END PROCESS lamper;END fun;4.2 Hour模块LIBRARY IEEE;use IEEE.STD_LOGIC_1164.ALL;

23、USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY hour IS PORT(clk,reset:IN STD_LOGIC; daout:out STD_LOGIC_VECTOR(5 DOWNTO 0);END ENTITY hour;ARCHITECTURE fun OF hour ISSIGNAL count:STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN daout=count; PROCESS(clk,reset) BEGIN IF(reset=0)THEN count=000000; -若reset=0,则异步清零 ELSIF(clk

24、event and clk=1)THEN -否则,若clk上升沿到 IF(count(3 DOWNTO 0)=1001)THEN -若个位计时恰好到1001即9 IF(count16#23#)THEN -23进制 count=count+7; -若到23D则 else count=000000; -复0 END IF; ELSIF (count16#23#)THEN -若未到23D,则count进1 count=count+1; ELSE -否则清零 count=000000; END IF; -END IF(count(3 DOWNTO 0)=1001) END IF; -END IF(re

25、set=0) END PROCESS;END fun;4.3 Minute模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY minute IS PORT(clk,clk1,reset,sethour:IN STD_LOGIC; enhour:OUT STD_LOGIC; daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END ENTITY minute ;ARCHITECTURE fun OF minute IS SIGNAL count :STD_L

26、OGIC_VECTOR (6 DOWNTO 0); SIGNAL enhour_1, enhour_2: STD_LOGIC; -enmin_1为59分时的进位信号 BEGIN -enmin_2由clk调制后的手动调时脉冲信号串 daout=count; enhour_2= (sethour and clk1); -sethour为手动调时控制信号,高电平有效 enhour= (enhour_1 or enhour_2); PROCESS(clk,reset,sethour) BEGIN IF(reset=0) THEN -若reset为0,则异步清零 count=0000000; ELSIF

27、(clkevent and clk=1)THEN -否则,若clk上升沿到 IF(count (3 DOWNTO 0) =1001)THEN-若个位计时恰好到1001即9 IF(count 16#60#) THEN -又若count小于16#60#,即60 IF(count=1011001) THEN-又若已到59D enhour_1=1; -则置进位为1 count=0000000; -count复0 ELSE count=count+7; -若count未到59D,则加7,即作加6校正 END IF; -使前面的16#60#的个位转变为8421BCD的容量 ELSE count=00000

28、00;-count复0(有此句,则对无效状态电路可自启动) END IF; -END IF(count16#60#) ELSIF (count 16#60#) THEN count=count+1; -若count16#60#则count加1 enhour_1=0 after 100 ns; -没有发生进位 ELSE count=0000000; -否则,若count不小于16#60# count复0 END IF; -END IF(count(3 DOWNTO 0)=1001) END IF; -END IF(reset=0) END process;END fun;4.4 Second模块

29、LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY second ISPORT( clk,reset,setmin:STD_LOGIC; enmin:OUT STD_LOGIC; daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END ENTITY second;ARCHITECTURE fun OF second ISSIGNAL count:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL enmin_1,enmin_2:STD_L

30、OGIC; -enmin_1为59秒时的进位信号 BEGIN -enmin_2由clk调制后的手动调分脉冲信号串 daout=count; enmin_2=(setmin and clk); -setmin为手动调分控制信号,高电平有效 enmin=(enmin_1 or enmin_2); -enmin为向分进位信号 PROCESS(clk,reset,setmin) BEGIN IF(reset=0)THEN count=0000000; -若reset为0,则异步清零 ELSIF(clk event and clk=1)then -否则,若clk上升沿到 IF(count(3 downto 0)=1001)then -若个位计时恰好到1001即9 IF(count16#60#)then -又若count小于

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1