




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEIII河南科技大学课程设计说明书课程名称EDA技术题目24小时时钟电路学院车辆与动力工程学院班级农业电气化与自动化学生姓名陈启彬指导教师王俊日期2013车辆与动力工程学院课程设计说明书课程设计题目摘要系统使用EDA技术设计了数字钟,采用硬件描述语言VHDL按模块化方式进行设计,然后进行编程,时序仿真等。利用VHDL语言完成了数字钟的设计。该数字钟能实现时、分、秒计数的显示功能,且以12小时循环计时。整个系统结构简单,使用方便,功能齐全,精度高。关键字:数字钟;EDA;VHDL;
目录第一章绪论 1§1.2引言 1§1.2课题的背景、目的 1§1.3设计任务 1第二章总体设计 3§2.1功能设计 3§2.1.1时、分、秒计时器及整点报时功能 3§2.1.2实现的功能: 3§2.2总体方框图 4§2.3设计方案 4§2.3.1晶体振荡器 4§2.3.2顶层实体描述 5§2.4方案实现 7§2.4.1各模块仿真与描述 7§2.4.2顶层电路图 8第三章硬件测试与说明 9§3.1引脚锁定情况 9§3.2程序下载 9§3.3测试过程与结果分析 11第四章设计结论 12参考文献 13附录各个模块程序 14§4.1秒计时器 14§4.2分计时器 16§4.3时计数器 18§4.4分频器电路 19§4.5七段数码管显示电路 20PAGE23第一章绪论§1.2引言随着社会的发展,科学技术也在不断的进步。特别是计算机产业,可以说是日新月异,数字钟作为计算机的一个组成也随之逐渐进入人们的生活,从先前的采用半导体技术实现的数字钟到现在广泛应用的采用高集成度芯片实现的数字钟。数字钟正在向着功能强,体积小,重量轻等方向不断发展,本设计主要介绍的是一个基于超高速硬件描述语言VHDL对数字钟中显示电路进行编程实现。近年来,集成电路和计算机应用得到了高速发展,现代电子设计技术已迈入一个崭新的阶段,具体表现在:(1)电子器件及其技术的发展将更多地趋向于为EDA服务;(2)硬件电路与软件设计过程已高度渗透;(3)电子设计技术将归结为更加标准、规范的EDA工具和硬件描述语言VHDL的运用;(4)数字系统的芯片化实现手段已成主流。因此利用计算机和大规模复杂可编程逻辑器件进行现代电子系统设计已成为电子工程类技术人员必不可少的基本技能之一。§1.2课题的背景、目的本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA技术,加深对计算机体系结构的理解。通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,学习VHDL基本单元电路的综合设计应用。通过对实用数字钟的设计,巩固和综合运用计算机原理的基本理论和方法,理论联系实际,提高IC设计能力,提高分析、解决计算机技术实际问题的独立工作能力。通过课程设计深入理解计算机的组成原理,达到课程设计的目标。§1.3设计任务用硬件描述语言设计一个具有时、分、秒计数显示功能,以24小时循环计时的时钟电路,要求带有清零,以及秒、分钟和小时校准的功能,且被校准的时间闪烁显示(隔几ms让其显示一次),提示正在进行时钟的校准。下载并测试电路功能,校准信号由按键给出,显示由LED七段数码管显示,并分析芯片资源的占用情况。
第二章总体设计§2.1功能设计§2.1.1时、分、秒计时器及整点报时功能时计时器为一个24进制计数器,分、秒计时器均为60进制计数器。当秒计时器接受到一个秒脉冲时,秒计数器开始从1计数到60,此时秒显示器将显示00、01、02、...、59、00;每当秒计数器数到00时,就会产生一个脉冲输出送至分计时器,此时分计数器数值在原有基础上加1,其显示器将显示00、01、02、...、59、00;每当分计数器数到00时,就会产生一个脉冲输出送至时计时器,此时时计数器数值在原有基础上加1,其显示器将显示00、01、02、...、23、00。即当数字钟运行到23点59分59秒时,当秒计时器在接受一个秒脉冲,数字钟将自动显示00点00分00秒。§2.1.2实现的功能:①时钟计数:首先下载程序进行复位清零操作,电子钟从00:00:00计时开始。sethour可以调整时钟的小时部分,setmin可以调整分钟,步进为1。由于电子钟的最小计时单位是1s,因此提供给系统的内部的时钟频率应该大于1Hz,这里取100Hz。CLK端连接外部10Hz的时钟输入信号clk。对clk进行计数,当clk=10时,秒加1,当秒加到60时,分加1;当分加到60时,时加1;当时加到24时,全部清0,从新计时。用6位数码管分别显示“时”、“分”、“秒”,通过OUTPUT(6DOWNTO0)上的信号来点亮指定的LED七段显示数码管。②时间设置:手动调节秒钟、分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的键7,键6,键5,进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。当开关拨至校时档时,电子钟秒计时工作,通过时、分校时开关分别对时、分进行校对,开关每按1次,与开关对应的时或分计数器加1,当调至需要的时与分时,拨动reset开关,电子钟从设置的时间开始往后计时。③清零功能:reset为复位键,低电平时实现清零功能,高电平时正常计数。可以根据我们自己任意时间的复位§2.2总体方框图数字钟控制电路显示电路数字钟控制电路显示电路小时分钟秒钟调分24进制计数60进制计数60进制计数调秒调时§2.3设计方案§2.3.1晶体振荡器晶体振荡电路是构成数字式时钟的核心,它保证了时钟走时准确及稳定。晶体振荡器它的作用是产生时间标准信号。数字钟的精度主要取决于时间标准信号的频率及其稳定度。因此,一般采用石英晶体振荡器经过分频得到这一信号。晶体振荡器电路给数字钟提供一个频率稳定准确的10HZ的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。如图1.1所示晶体振荡电路框图。图2.2晶体振荡电路§2.3.2顶层实体描述整个系统划分为second模块;min模块;hour模块。顶层的输入为:Clk为时钟信号,reset为复位信号,setsecond为秒钟置位信号,setmin为分钟置位信号,sethour为时钟置位信号。顶层的输出为:Second为7位秒钟输出信号,随时钟信号从00-59跳变;Min为7位分钟信号,驱动数码管随秒计数模块来的信号从00-59跳变;Hour为6位时钟信号,驱动数码管随分计数模块来的信号从00-24跳变。①、second模块;秒钟时器为一个60进制计数器。我们接的时钟脉冲频率为1Hz,当秒计时器接受到一个秒脉冲时,也就是秒计数器加一,秒计数器开始从1计数到60,此时秒显示器将显示00、01、02、...、59、00;秒钟计数器的输入为Clk为时钟信号,reset为复位信号,setsecond为秒置位信号,setmin为分钟置位信号。输出为enmin和daout。Enmin为驱动分计数器的脉冲信号和daout为秒钟信号的输出端口。②、min模块;分钟时器为一个60进制计数器。我们接的时钟脉冲频率为1Hz,当秒计时器接受到一个秒脉冲时,也就是秒计数器加一,秒计数器开始从1计数到59,每当秒计数器数到00时,就会产生一个脉冲输出送至分计时器,此时分计数器数值在原有基础上加1,其显示器将显示00、01、02、...、59、00;分钟计数器的输入为Clk为时钟信号,Clk1为秒计数器产生的脉冲信号,reset为复位信号,sethour为时钟置位信号。输出为enhour和daout。Enhour为驱动时计数器的脉冲信号和daout为分钟信号的输出端口。③、hour模块;时钟时器为一个24进制计数器。我们接的时钟脉冲频率为1Hz,每当分计数器数到00时,就会产生一个脉冲输出送至时计时器,此时时计数器数值在原有基础上加1,其显示器将显示00、01、02、...、23、00;时钟计数器的输入为Clk为时钟信号,reset为复位信号。输出为daout。daout为时钟信号的输出端口。驱动数码管显示相应的小时数。§2.4方案实现§2.4.1各模块仿真与描述①秒计数器(文件名:second.vhd)秒计数器的仿真波形图波形分析由仿真波形图知秒计数模块功能是利用60进制计数器完成00到59的循环计数功能,当秒计数至59时,再来一个时钟脉冲则产生进位输出,即enmin=1;reset作为复位信号低电平有效,即高电平时正常循环计数,低电平清零。②、分钟计数器(文件名:minute.vhd)1)分钟计数器的仿真波形图2)波形分析由波形图可知该模块实现了分钟计数的功能,调时信号sethour高电平有效。计数循环从00到59.③、小时计数器(文件名:hour.vhd)1)小时计数器的仿真波形图2)波形分析小时计数模块利用24进制计数器,通过分钟的进位信号的输入可实现从00到23的循环计数。§2.4.2顶层电路图图2.3顶层电路图第三章硬件测试与说明§3.1引脚锁定情况图3.1引脚锁定图§3.2程序下载打开编辑窗和配置文件。选择,弹出一个编辑窗。在Mode栏中选择JTAG,并在选项下的小方框打勾。注意核对下载文件路径与文件名。如果文件没有出现或者出错,单击左Addfile侧按钮,手动选择配置文件clock.sof。3.最后单击下载标符Start,即进入对目标器件FPGA的配置下载操作。当Progress显示100%,以及在底部的处理栏中出现ConfigurationSucceeded时,表示编程成功,如图所示。注意,如果必要时,可再次单击Start,直至编程成功。如图3.2所示
图3.2操作图3、下载完成后,通过硬件测试进一步确定设计是否达到所有的技术指标,如未达到,可逐步检查,哪部分出现问题。如果是代码出现问题,须修改代码;若是时序波形图有问题,须重新设置。4下载成功后,按下键8,及使六个LED复位清零,显示数秒的自动计时,可以通过6键设置小时数,7键设置分钟数。当秒数满60则进一位,分钟数满60进一位,当显示为23:59:59时,秒数在加一则显示00:00:00,之后从新计时。图3.3硬件测试图§3.3测试过程与结果分析实验硬件cycloneEP1C3T144C8测试模式NO.5测试方式clock选用clock0,短路帽选1HZ;键8控制reset,键7控制setmin,键6控制sethour,键5控制setsecond数码管6、5用作小时显示,高位是小时的十位,低位是小时的个位;数码管4、3用作分钟显示,高位是分钟的十位,低位是分钟的个位;数码管2、1用作秒钟显示,高位是秒钟的十位,低位是秒钟的个位;测试过程(灯亮为高电平,灯灭为低电平)reset低电平清零复位,按键8使灯亮则时钟开始从00-00-00计时,秒钟计时到59时向分钟进1,分钟计时到59时向小时进1;键7用做调小时每来一个脉冲调一次调节范围00-——23;键6用做调分钟每来一个脉冲调一次调节范围00—59键5用做调分钟每来一个脉冲调一次调节范围00-59
第四章设计结论在实验中,我们可以通过自己的实际操作,找出问题,改正错误,提出改进之法,大胆创新,使自己的能力在实践中成长起来。经过这几周的实验,我基本了解了实验设计过程。虽然有些实验很简单,但是他们体现了EDA设计的大概流程。通过这么多次的试验我将一些在课堂上了解了的知识的运用到了实验中,经过实验课之后,我对于VHDL语言的理解更加深刻了,本来有些不理解的理论知识,都能通过实验得到一定解答。在实验的过程中,有时遇到难题的时候,我们上网或去图书馆查找资料,或者向老师和同学们讨论,在这个过程中我学习到了一些我们在课堂上学不到的知识。通过这次课程设计使我更加深刻的懂得了理论与实际相结合的重要性!只有理论知识无法实现相关的设计和实际操作,当把所学的理论知识与实践相结合起来,从理论中得出结论,这样才能把所学的理论知识更加巩固至掌握住,才能提高自己的实际动手能力和独立思考能力。参考文献[1]潘松黄继业EDA技术实用教程科学出版社2006[2]杨刚VHDL数字控制系统设计北京:电子工业出版社2004[3] 曾繁泰VHDL程序设计北京:清华大学出版社2001[4]潘松黄继业EDA技术与VHDL(第3版)清华大学出版2002[5]曹欣燕DEA技术实验与课程设计北京:清华大学出版社2006附录(各模块程序)§4.1秒计时器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYsecondISPORT(clk,reset,setmin,setsecond:INSTD_LOGIC;enmin:OUTSTD_LOGIC;daout:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDENTITYsecond;ARCHITECTUREfunOFsecondISSIGNALcount:STD_LOGIC_VECTOR(6DOWNTO0);SIGNALenmin_1,enmin_2:STD_LOGIC;--enmin_1为59秒时的进位信号BEGIN--enmin_2由clk调制后的手动调分脉冲信号串daout<=count;enmin_2<=(setminandclk);--setmin为手动调分控制信号,andclk的作用高电平有效enmin<=(enmin_1orenmin_2);--enmin为向分进位信号PROCESS(clk,reset,setmin,setsecond)BEGINIF(reset='0')THENcount<="0000000";--若reset为0,则异步清零ELSIF(clk'eventandclk='1')then--否则,若clk上升沿到IF(count(3downto0)="1001")then--若个位计时恰好到"1001"即9IF(count<16#60#)then--又若count小于16#60#,即60HIF(count="1011001")then--又若已到59Denmin_1<='1';count<="0000000";--则置进位为1及count复0ELSE--未到59Dcount<=count+7;--则加7,而+7=+1+6,即作"加6校正"因为个位为九此时个位需要向十位进位了即使不进时ENDIF;ELSE--若count不小于16#60#(即count等于或大于16#60#)count<="0000000";--count复0ENDIF;--ENDIF(count<16#60#)ELSIF(count<16#60#)then--若个位计数未到"1001"则转此句再判count<=count+1;--若count<16#60#则count加1enmin_1<='0'after100ns;--没有发生进位ELSE--否则,若count不小于16#60#count<="0000000";--则count复0ENDIF;--ENDIF(count(3DOWNTO0)="1001")ENDIF;--ENDIF(reset='0')IF(setsecond=’1’)EndIF;ENDPROCESS;ENDfun;§4.2分计时器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYminuteISPORT(clk,reset,sethour:INSTD_LOGIC;enhour:OUTSTD_LOGIC;daout:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDENTITYminute;ARCHITECTUREfunOFminuteISSIGNALcount:STD_LOGIC_VECTOR(6DOWNTO0);SIGNALenhour_1,enhour_2:STD_LOGIC;--enhour_1为59分时的进位信号BEGIN--enhour_2由clk调制后的手动调时脉冲信号串daout<=count; enhour_2<=(sethourandclk);--sethour为手动调时控制信号,and的作用高电平有效enhour<=(enhour_1orenhour_2);PROCESS(clk,reset,sethour)BEGINIF(reset='0')THEN--若reset为0,则异步清零count<="0000000";ELSIF(clk'eventandclk='1')THEN--否则,若clk上升沿到IF(count(3DOWNTO0)="1001")THEN--若个位计时恰好到"1001"即9IF(count<16#60#)THEN--又若count小于16#60#,即60IF(count="1011001")THEN--又若已到59Denhour_1<='1';--则置进位为1count<="0000000";--count复0ELSEcount<=count+7;--若count未到59D,则加7,即作"加6校正"ENDIF;--使前面的16#60#的个位转变为8421BCD的容量ELSEcount<="0000000";--count复0(有此句,则对无效状态电路可自启动)ENDIF;--ENDIF(count<16#60#)ELSIF(count<16#60#)THENcount<=count+1;--若count<16#60#则count加1enhour_1<='0'after100ns;--没有发生进位ELSEcount<="0000000";--否则,若count不小于16#60#count复0ENDIF;--ENDIF(count(3DOWNTO0)="1001")ENDIF;--ENDIF(reset='0')ENDprocess;ENDfun;§4.3时计数器LIBRARYIEEE;useIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYhourISPORT(clk,reset:INSTD_LOGIC;daout:outSTD_LOGIC_VECTOR(5DOWNTO0));ENDENTITYhour;ARCHITECTUREfunOFhourISSIGNALcount:STD_LOGIC_VECTOR(5DOWNTO0);BEGINdaout<=count;PROCESS(clk,reset)BEGINIF(reset='0')THENcount<="000000";--若reset=0,则异步清零ELSIF(clk'eventandclk='1')THEN--否则,若clk上升沿到IF(count(3DOWNTO0)="1001")THEN--若个位计时恰好到"1001"即9IF(count<16#23#)THEN--23进制count<=count+7;--若到23D则elsecount<="000000";--复0ENDIF;ELSIF(count<16#23#)THEN--若未到23D,则count进1count<=count+1;ELSE--否则清零count<="000000";ENDIF;--ENDIF(count(3DOWNTO0)="1001")ENDIF;--ENDIF(reset='0')ENDPROCESS;ENDfun;§4.4分频器电路libraryieee;useieee.std_logic_1164.all;entityfenis port(clk:instd_logic; q:outstd_logic);endfen;architecturefen_arcoffenisbegin process(clk) variablecnt:integerrange49downto0; variablex:std_logic; begin ifclk'eventandclk='1'then ifcnt<49then cnt:=cnt+1; else cnt:=0; x:=notx; endif; endif; q<=x; endprocess;endfen_arc;§4.5七段数码管显示电路LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYxianmaguanISPORT(A3,A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024河北安国市国控集团实业有限责任公司面向社会公开招聘3人笔试参考题库附带答案详解
- 2024广西环江毛南族自治县公开招聘国有企业高层管理人员2人笔试参考题库附带答案详解
- 2024年陕西西安市自来水有限公司招聘130人笔试参考题库附带答案详解
- 第12课《与朱元思书》教学设计- 2024-2025学年统编版语文八年级上册
- 传染病报告流程规范
- 传染病报告卡在公共卫生监测中的应用
- 传染病报告卡填写经验交流
- 仓储物流人防工程施工方案
- 沧州花岗岩石牌坊施工方案
- 2024年国富瑞(福建)信息技术产业园有限公司招聘2人笔试参考题库附带答案详解
- 教科版三年级下册科学全册单元教材分析
- 《物理学的发展史》课件
- 2025年广东广州市海珠区官洲街道办事处政府雇员招聘5人高频重点提升(共500题)附带答案详解
- 《道路交通安全法》课件完整版
- 《小肠梗阻的诊断与治疗中国专家共识(2023版)》解读
- 2024届广东省广州市高三一模考试英语试题讲评课件
- 切削加工中的刀具路径规划算法考核试卷
- 《推拿学》期末考试复习题库(含答案)
- 2024年经济师考试工商管理(中级)专业知识和实务试卷及解答参考
- 10kV配电室工程施工方案设计
- 心电图危急值的识别和处理知到智慧树章节测试课后答案2024年秋浙江大学
评论
0/150
提交评论