欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    EDA课程设计报告数字时钟设计.docx

    • 资源ID:9448134       资源大小:372.89KB        全文页数:14页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    EDA课程设计报告数字时钟设计.docx

    1、EDA课程设计报告数字时钟设计成绩:XIAN UNIVERSITY OF TECHNOLOGYEDA综合实践所在院系自动化与信息工程学院专业名称电子信息科学与技术班级111题目时钟设计(C)指导教师XXX成员XXX完成时间2014年元月 一、设计任务及要求:设计任务:数字时钟设计(C)。要 求: (1)显示6位,分别是小时两位,分钟两位,秒两位; (2)可手动调节对时; (3)整点报时功能。 1、实物验收评语及成绩(40%): 2、答辩评语及成绩(30%):3、报告评语及成绩(30%): 数字时钟设计(C)一、设计要求 (1)显示6位,分别是小时两位,分钟两位,秒两位; (2)可手动调节对时;

    2、 (3)整点报时功能。二、数字时钟设计原理数字时钟设计原理框图:turnchangemode1、计时原理:在计时显示模块中,涉及到的是时分秒各个计数器的设计 ,“秒计数器”采用60进制计数器,每累计60秒,发出一个“分脉冲”信号,该信号将被送到“分计数器”。“分计数器”采用60进制计数器,每累计60分钟,发出一个“分脉冲”信号,该信号被送到“时计数器”。“时计数器”采用24进制计数器,可实现24小时的累计计数。 当计到24小时后,计数清零,如此循环。 2、模式信号mode选择各个功能显示的原理:使用mode按键产生0、1信号在正常计时功能、校时功能之间的转换。mode信号的作用主要体现在控制模

    3、块和时间显示模块中,虽然计时模块中也用到mode信号,但是它只是turn信号将秒信号清零的辅助作用,保证只有在m=0(即普通计时显示)下turn信号清零功能才起作用,在校时功能下只能是分、小时的切换功能。(1)在控制模块下的作用:在控制模块下,其实mode和turn信号的作用就是将change数字上加信号按不同的mode和turn分成两个信号,分别是count1(时间显示下的分信号)、counta(时间显示下的小时信号)。 (2)在显示模块下的作用:同在控制模块下的作用相同。只是将turn信号选出的小时和分钟在同一个mode下一起送至显示模块。 3、时间调整中数字上加的原理:在时间校时调整模式

    4、下,数字的上加不仅受到change信号的作用(即人工调时),还受本身在1Hz信号下计时而随时发生的累加。由于在控制模块下设置了快加的功能,所以有三部分信号对上加起作用,一是快加时以原始时钟的速率上加,二是慢加下的change具体到各模块、各位的count1或counta,三是秒信号记到59向分信号的进位。3、源程序module clock1(clk,clk_1k,mode,change,turn,alert,hour,min,sec,LD_hour,LD_min);input clk,clk_1k,mode,change,turn;output alert,LD_hour,LD_min;out

    5、put7:0 hour,min,sec;reg7:0 hour,min,sec,hour1,min1,sec1;reg1:0 m,fm,num1,num2;reg1:0 loop1,loop2,sound;reg LD_hour,LD_min,clk_1Hz,clk_2Hz,minclk,hclk,alert1,ear,count1,counta;wire ct1,ct2,cta,ctb,m_clk,h_clk;always (posedge clk) begin clk_2Hz=clk_2Hz; if(sound=3) begin sound=0; ear=1; end /ear 信号用于产

    6、生或屏蔽声音 else begin sound=sound+1; ear=0; end endalways (posedge clk_2Hz) /由4Hz 的输入时钟产生1Hz 的时基信号 clk_1Hz=clk_1Hz;always (posedge mode) /mode 信号控制系统在两种功能间转换 begin if(m=2)m=0; else m=m+1; end always (posedge turn) fm=fm; always /该进程产生count1,counta两个信号 begin case(m) 2: begin if(fm) begin count1=change; L

    7、D_min,LD_hour=2; end else begin counta=change; LD_min,LD_hour=1; end end default: count1,counta,LD_min,LD_hour=0; endcase end always (negedge clk) if(count1) begin if(loop1=3) num1=1; else begin loop1=loop1+1; num1=0; end end else begin loop1=0; num1=0; end always (negedge clk) if(counta) begin if(l

    8、oop2=3) num2=1; else begin loop2=loop2+1; num2=0; end end else begin loop2=0; num2=0; end assign ct1=(num1&clk)|(!num1&m_clk); /ct1 用于计时、校时中的分钟计数 assign cta=(num2&clk)|(!num2&h_clk); /cta 用于计时、校时中的小时计数always (posedge clk_1Hz) /秒计时和秒调整进程 if(!(sec18h59)|turn&(!m) begin sec1=0; if(!(turn&(!m) minclk=1;

    9、 end /按住“turn”按键一段时间,秒信号可清零,该功能用于手动精确调时 else begin if(sec13:0=4b1001) begin sec13:0=4b0000; sec17:4=sec17:4+1; end else sec13:0=sec13:0+1; minclk=0; end assign m_clk=minclk|count1; always (posedge ct1) /分计时和分调整进程 begin if(min1=8h59) begin min1=0; hclk=1; end else begin if(min13:0=9) begin min13:0=0;

    10、 min17:4=min17:4+1; end else min13:0=min13:0+1; hclk=0; end end assign h_clk=hclk|counta; always (posedge cta) /小时计时和小时调整进程 if(hour1=8h23) hour1=0; else if(hour13:0=9) begin hour17:4=hour17:4+1; hour13:0=0; end else hour13:0=hour13:0+1; always /时、分、秒的显示控制 case(m) 3b00: begin hour=hour1; min=min1; se

    11、c=sec1; end /计时状态下的时、分、秒显示 3b10: begin hour=hour1; min=min1; sec8h54)|(!(min1|sec1) if(sec18h54) alert1=ear&clk_1k; /产生短音 else alert1=!ear&clk_1k; /产生长音 else alert1=0; endendmodule四、编译和仿真波形图1: 正常计时功能仿真图 (06:16:09-06:16:31)图2:整点报时仿真图(从03:59:55到03:59:59,每隔一秒,为低频;04:00:00时为高频,故产生“嘟,嘟,嘟,嘟,嘀”的报时音)图3:校正小时

    12、功能仿真图(通过mode选择模式为“校时模式”,然后通过turn进行校时,每有一个change信号,计数加1,此时LD_hour 状态为1,表示正在校时)图4:校正分钟功能仿真图(通过mode选择模式为“校时模式”,然后通过turn进行校分,每有一个change信号,计数加1,此时LD_min状态为1,表示正在校分)图5:秒清零功能仿真图(在校时模式下,通过尝给change信号,以达到清零秒信号的,用于准确定位时间)五、仿真分析及结论 1、仿真后的整体模块图及引脚说明引脚说明: clk:标准时钟信号,频率为1Hz; clk_1k:产生报时音的时钟信号,频率为1kHz; mode: 功能控制信号

    13、; mode为0:计时功能; mode为1:手动校时功能; turn:接按键,在手动校时功能时,选择是调整小时,还是分钟,常按时秒信号清零,用于精准校时; change:接按键,手动调整时,每按一次,计数器加1; alert: 输出到扬声器的信号,用于产生报时声,实际电路中接扬声器; LD_hour:指示是否是在调整小时,实际电路中接发光二极管; LD_min:指示是否在调整分钟,实际电路中接发光二极管; hour、min、sec:分别表示时、分、秒,实际电路中接数码管。2、各模块说明(1)时钟模块本次设计中由于只是软件仿真,故时钟频率较小,以便仿真时间短些。正常计时时钟频率为1Hz,整点报时

    14、时钟频率为1kHz。(2)计时模块clk时钟每产生一个时钟脉冲,秒钟加一,秒钟加满六十时,产生一个进位;分钟加一,当分钟加满六十时,产生一个时钟进位;时钟加一,当时钟加满二十四时,进行初始化,重新进行计时。 (3)控制模块m是模式按键,当m=1时,指当前调整的是计时时间;当m等于其它时,指当前输出的是计时功能。change 接按键,手动调整时,每按一次,计数器加1;如果长按,则连续快速加 1,用于快速调时;turn接按键,在手动校时功能时,选择是调整小时,还是分钟;若长时间按住该键,还可使秒信号清零,用于精确调时。LD_min,LD_hour,指示当前调节的是分钟还是小时。加速调节时间模块,c

    15、ount1,counta是手动调节时间,当长时间按这些键时,num1,num2的值会发生变化,当他们值有为1时,对应的调节会快速加1。 (4)显示模块同时输入计时和校时模块的时间,选择m的值,当m=0时,指当前输出的是计时模块的时间;当m=1时,指当前输出的是调节计时模块的时间。(5)报时模块输入计时模块的时间。当计时模块的时间快到达整点时,会产生不同频率的脉冲,从而实现报时功能,这时alert显示为1。(6)校时模块在计时模式下可以进行时间调整,num1,num2产生加速调整时间,当其值为1时,可以快速调整时间,该调整时间的频率由clk提供。counta,count1是手动调节闹钟时间。mi

    16、n1,hour1,sec1是校对时对应的分钟,小时和秒,LD_hour,LD_min指示当前是否为调整小时或分钟。turn接按键,可以改变当前调节的是小时还是分钟,长按turn键还可以使秒信号清零。3、设计总结通过这次设计,我初步掌握了EDA设计的基本流程(即设计输入编译调试仿真),领会了自顶而下结构化设计的优点,并具备了初步的Verilog HDL程序设计能力。对软件总体操作步骤有了进一步掌握,能更好地处理软件使用过程中遇到的问题,以及对错误信息的分析以及程序的修改。课程设计中最难的就verilog语言编程的应用,对Verilog语言的学习不仅是能读懂别人的程序,更重要的是能写出条理清晰的程

    17、序。通过做这个数字钟,我发现自己对Verilog语言还不是很熟悉,编写程序也不够熟练,在接下来的时间里我还要要加强对verilog语言的学习,多看一些语言方面的书籍,进一步提高自己的编程能力。在做课程设计的过程中,我感觉,最难的地方在于将各个子模块按照时钟原理有机地结合起来,这需要扎实的理论功底,更需要耐心和坚持。相比而言,子模块的设计难度不是太大,因为Verilog语言和C语言有很多相似之处,只要明白了实验原理,就不难完成,水平的高下只体现在程序的简洁程度。但是Verilog源程序的编写很容易出错,有时候在不经意的情况下就会出错,这就需要不断耐心的调试及修改。很多情况下,一长串的错误往往是由一个不经意的小错误引起的。当程序屡调屡错的时候,要学会去寻求同学的帮助,因为自己编写的程序往往自己看不出问题所在,说不定他们不经意的一句话,就可能给我启发,使问题迎刃而解。在设计中,也得到了老师的帮助。这次课程设计,给我感触最深的还是行为态度问题。人的能力有大有小,但只要端正态度,不抛弃,不放弃,任何人都能取得令自己满意的成绩。这或许是本次课程设计给我最大的收获,而不是程序本身!附:数字时钟设计软件仿真RTL原理图:


    注意事项

    本文(EDA课程设计报告数字时钟设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开