1EDA课程设计报告书数字钟设计设计者:熊兵、万雁程指导老师:李敏学号:09387134、09387123专业班级:通信09112理工学院电子系目录1.摘要,关键字………………………………………………………32.正文…………………………………………………………………32.1设计任务及要求……………………………………………………32.2方案选择与论证……………………………………………………32.3方案的原理框图及其说明……………………………………………42.4硬件选择……………………………………………………………52.5系统设计详述………………………………………………………52.6系统仿真及分析……………………………………………………72.7下载测试及分析……………………………………………………92.8收获体会、存在问题和进一步的改进意见等…………………………103.参考文献……………………………………………………………103VHDL语言实现数字电子钟的设计作者:熊兵,万雁程指导老师:李敏[摘要]:随着基于PLD的EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。本文详细介绍EDA课程设计任务——数字钟的设计的详细设计过程及结果,并总结出心得体会。[关键字]:EDA技术;VHDL语言;数字钟EDA技术作为现代电子设计技术的核心,它依赖强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑简化、逻辑分割、逻辑综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。笔者详细介绍在QUARTUSII软件环境下开发基于VHDL语言数字钟的设计。1.设计任务及要求1、设计内容选用合适的可编程逻辑器件及外围电子元器件,设计一个数字电子钟,利用EDA软件(QUARTUSⅡ)进行编译及仿真,设计输入可采用VHDL硬件描述语言输入法和原理图输入法,并下载到EDA实验开发系统,连接外围电路,完成实际测试。2、设计要求1)具有时、分、秒计数显示功能,以24小时循环计时。2)时钟计数显示时有LED灯的花样显示。3)具有调节小时、分钟及清零的功能。4)具有整点报时功能。2.方案选择与论证数字系统的设计采用自顶向下、由粗到细,逐步分解的设计方法,最顶层电路是指系统的整体要求,最下层是具体的逻辑电路的实现。自顶向下的设计方法将一个复杂的系统逐渐分解成若干功能模块,从而进行设计描述,并且应用EDA软件平台自动完成各功能模块的逻辑综合与优化,门级电路的布局,再下载到硬件中实现设计。根据总体方框图及各部分分配的功能可知,本系统可以由秒计数器、分钟计数器、小时计数器、整点报时、分的调整以及小时的调整和一个顶层文件构成。采用自顶向下的设计方法,子模块利用VHDL语言设计,顶层文件用原理图的设计方法。显示:小4时采用24进制,而分钟均是采用6进制和10进制的组合。1、性能指标及功能设计1)时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分——60进制计数,即从0到59循环计数,时钟——24进制计数,即从0到23循环计数,并且在数码管上显示数值。2)时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的键7和键4进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。3)清零功能:reset为复位键,低电平时实现清零功能,高电平时正常计数。可以根据我们自己任意时间的复位。4)蜂鸣器在整点时有报时信号产生,蜂鸣器报警。产生“滴答.滴答”的报警声音。5)LED灯在时钟显示时有花样显示信号产生。即根据进位情况,LED不停的闪烁,从而产生“花样”信号。2、总体框图3.方案的原理框图及其说明数字时钟控制单元使能端信号输出信号复位信号LED显示“花样”显示‘CLK信号54.硬件选择本次选用cyclone系列EP1C3T144C8芯片。外部需接2个不同频率的时钟信号,及几个上升沿按键,并接扬声器和不许译码器的数码管。以上均由EDA试验箱提供。5.系统设计详述整个系统的构成如下图所示。其中输入端口有:clk1——用于送数及六选一选择器和整点报警的时序脉冲;Stop——用于整点报时的停止控制;clk——作为秒脉冲和整点报警的信声音号;reset——用于各个模块复位;setmin——调整分钟,接按键;sethour——调整小时,接按键;输出端口:speak——接扬声器,用于报时;led——接数码管,送字型码;dp——接数码管的小数点为,隔开时分秒位;sel——位选扫描信号输出口,接数码管位选接口;数字时钟控制单元时调整分调整使能端信号CLK信号时显示分显示秒显示24进制60进制60进制LED显示整点报时花样显示6Second模块为秒计数模块。Clk作为秒脉冲,reset复位,setmin用于调整分钟,接按键,enmin是当秒计数记到59后产生分脉冲,秒计数重新从0开始计数。Daout为秒计数。秒计数模块Minute模块为分计数模块。Clk作为分脉冲,接second模块的enmin,reset用于复位,sethour用于调整小时,接按键,enhour是当分计数记到59后产生时脉冲,分计数重新从0开始计数。Daout为分计数。分计数模块Hour模块为时计数模块,clk为时脉冲,接minute模块的enhour,reset复位,daout为时计数。时计数模块76.系统仿真及分析1.各模块仿真及分析。○1Second模块波形分析利用60进制计数器完成00到59的循环计数功能,当秒计数至59时,再来一个时钟脉冲则产生进位输出,即enmin=1;reset作为复位信号低电平有效,即高电平时正常循环计数,低电平清零。因为这种60进制的VHDL语言是很好写的,它并不复杂,再说我们必须要学会这些基本的硬件语言的描写。○2minute模块Alert模块为整点报时模块。其中clk1用于在其上升沿判断是否为整点时刻,若是则加clk秒脉冲从speak端口输出到扬声器作为声音信号,报时一分钟。Stop为停止报时控制,接按键,按动按键时若在报时则报时停止。Reset复位端。dainsh和dianm分别接分计数和秒计数,用于判断整点和报时。报时模块8从仿真图形上来看,daout从0加到59后enhour有进位,说明分计数,时脉冲都是正确的。○3hour模块小时计数模块利用24进制计数器,通过分钟的进位信号的输入可实现从00到23的循环计数。4、整点报时报警模块整点报时模块仿真波形图波形分析由图知对于整点报时模块,当分钟计数至59时来一个时钟脉冲则产生一个进位信号,分钟计数到00,此时产生报警信号持续一分钟。当有时钟脉冲时lamp显示灯就闪烁轮续点亮。○5alert模块9从仿真波形来看,当stop=0和damin=0时,可看出speak有脉冲输出,stop=1停止。说明报时是正确的。7.下载测试及分析下载测试后的效果如下图所示,按复位键后数码管显示0时0分0秒开始计数,分秒时计数都正确。按动调分键或调小时键后,分位或小时位开始自加,再按键后停止。当时间到整点时会有十秒报时,按动停止键停止报时,不按此键时自动到十秒后停止报时。设计结果达到要求。8.收获体会、存在问题和进一步的改进意见等。从这次EDA设计中,可以看我们的动手能力还有待提高。另一方面,我们更加对EDA从实践上更有深刻认识。从实践中发现问题,分析问题,解决问题在这次设计中很大的体现出来,提高了我们的能力和自信。同时,成功与团队合作十分不开的。[参考文献][1]潘松,黄继业.EDA技术实用教程[M]第2版北京:科学出版社,2006[2]曹昕燕,周凤臣,聂春燕.EDA技术实验与课程设计北京:清华大学出版社,2006.5