EDA课程设计+数字钟课程设计new

上传人:xins****2008 文档编号:202763871 上传时间:2023-04-23 格式:DOC 页数:20 大小:356KB
收藏 版权申诉 举报 下载
EDA课程设计+数字钟课程设计new_第1页
第1页 / 共20页
EDA课程设计+数字钟课程设计new_第2页
第2页 / 共20页
EDA课程设计+数字钟课程设计new_第3页
第3页 / 共20页
资源描述:

《EDA课程设计+数字钟课程设计new》由会员分享,可在线阅读,更多相关《EDA课程设计+数字钟课程设计new(20页珍藏版)》请在装配图网上搜索。

1、淮阴工学院EDA课程设计报告题目: 数字钟课程设计 系 (院): 计算机工程学院 专 业: 计算机(嵌入式系统软件设计) 班 级: 计算机107*班 学 号: 10713061* 姓 名: * 指导教师: * 学年学期: 2009 2010 学年 第 1 学期2009年12月 18 日设计任务书课题名称数字钟设计实验设计目的1. 掌握VHDL的编程方法,掌握数字钟设计原理;2. 通过课程设计,要掌握使用EDA工具设计方法,包括图形设计输入、编译、软件仿真、下载和硬件仿真等全过程。3. 综合运用专业及基础知识,解决实际工程技术问题的能力;4. 学习资料的收集与整理,学会撰写课程设计报告。实验环境

2、1. 微型电子计算机(PC);2. 安装Windows XP以上操作系统,Quartus II 6.0及等开发工具。任务要求1. 使用集成开发软件Quartus II 6.0的使用及设计过程,熟悉EDA设计方法,掌握图形设计方法,了解VHDL硬件描述语言,并且要求熟练使用VHDL语言。2. 利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;3. 在第15周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作;4. 结束后,及时提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于3000字(不含代码)。工作进度计划序

3、号起止日期工 作 内 容12009.12.142009.12.14在预设计的基础上,进一步查阅资料,完善设计方案。22009.12.142009.12.17设计总体方案,构建、绘制流程框图,编写代码,上机调试。32009.12.172009.12.18测试程序,完善功能,撰写设计报告。42009.12.18参加答辩,根据教师反馈意见,修改、完善设计报告。指导教师(签章): 年 月 日 摘要: EDA技术在硬件实现方面融合了大规模集成电路制造技术,IC版图设计技术、ASIC测试与封装技术、FPGA /CPLD编程下载技术、自动检测技术等;在计算机辅助工程方面融合了计算机辅助技术(CAD)、计算机

4、辅助制造(CAM)、计算机辅助测试(CAT)、计算机辅助工程(CAE)技术以及多种计算机语言的设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等等。因此EDA技术为现代电子理论和设计的表达与实现提供了可能性。在现代技术的所有领域中,纵观许多得以飞速发展的科学技术,多为计算机辅助设计,而非自动化设计。显然,最早进入设计自动化的技术领域之一是电子技术,这就是为什么电子技术始终处于所有科学技术发展最前列的原因之一。不难理解,EDA技术已不是某一学科的分支,或某种新的技能技术,应该是一门综合性学科。它融合多学科于一体,打破了软件

5、和硬件间的壁垒,是计算机的软件技术与硬件实现、设计效率和产品性能合二为一,它代表了电子设计技术合应用激活速 的发展方向。数字钟以成为人们常生活中数字电子钟一般由振荡器,分频器,译码器,显示器等部分组成。数字钟的应用非常广泛,应用于人家庭以及车站。码头。剧场,办公室等公共场所,给人们的生活,学习,工作,娱乐带来极大的方便,由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确,性能稳定,携带方便等特点,它还用于计时,自动报时及自动控制等各个领域。 尽管目前市场上以有现成数字钟集成电路芯片,价格便宜这些都是数字电路中最基本的,应用最广的电路。数字电子钟的基本逻辑功能框图如下:它是一

6、个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。他的计时装置的周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能。关键词: EDA VHDL语言 数字钟 计时器 目 次1、数字钟的综合概述42、数字频率计的设计要求和结构43、数字钟模块设计5 3.1 秒计时器5 3.2 分计时器6 3.3 时计时器6 3.4 星期计时器7 3.5 报时模块8 3.6 分频模块8 3.7 译码模块94、数字钟系统设计115、数字钟仿真调试过程13 5.1 秒计时器13 5.2 时计时器14 5.3 报时模块14 5.4 系统总调试14总 结16致 谢17参考文献18指导教师评语191、数字

7、钟的综合概述人类社会已进入到高度发达的信息化社会。信息化社会的发展离不开电子信息产品开发技术、产品品质的提高和进步。电子信息产品随着科学技术的进步,其电子器件和设计方法更新换代的速度日新月异。实现这种进步的主要原因就是电子设计技术和电子制造技术的发展,其核心就是电子设计自动化(EDA,Electronics Design Automation)技术,EDA技术的发展和推广应用又极大地推动了电子信息产业的发展。为保证电子系统设计的速度和质量,适应“第一时间推出产品”的设计要求,EDA技术正逐渐成为不可缺少的一项先进技术和重要工具。目前,在国内电子技术教学和产业界的技术推广中已形成“EDA热”,完

8、全可以说,掌握EDA技术是电子信息类专业学生、工程技术人员所必备的基本能力和技能。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,已得到广泛的使用。数字钟的设计方法有许多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机/FPGA来实现电子钟等等。这些方法都各有其特点,其中利用单片机实现的电子钟具有编程灵活,并便于功能的扩展。2、数字钟的设计要求和结构该数字钟可以实现3个功能:计时功能、整点报时功能和重置时间功能,因此有3个子模块:计时、

9、报时(alarm1)、重置时间(s1、m1、h1、d1)。其中计时模块有4部分构成:秒计时器(second1)、分计时器(minute1)和时计时器(hour1) 秒计时器(second1)是由一个60进制的计数器构成的,具有清0、置数和计数功能。其中reset为清0信号,当reset为0时,秒计时器清0;set 为置数信号,当set为0时,秒计时器置数,置s1的值。clk为驱动秒计时器的时钟,sec为秒计时器的输出,ensec为秒计时器的进位信号,作为下一级的时钟输入信号。 分计时器(minute1)是由一个60进制的计数器构成的,具有清0、置数和计数功能。其中reset为清0信号,当res

10、et为0时,分计时器清0;set 为置数信号,当set为0时,分计时器置数,置m1的值。 clkm为驱动分计时器工作的时钟,与ensec相连接;min为分计时器的输出;enmin为分计时器的进位信号,作为下一级的时钟输入信号。 时计时器(hour1)是由一个24进制的计数器构成的,具有清0、置数和计数功能。其中reset为清0信号,当reset为0时,时计时器清0;set 为置数信号,当set为0时,时计时器置数,置h1的值。 clkh为驱动时计时器工作的时钟,与enmin相连接;hour为时计时器的输出;enhour为时计时器的进位信号,作为下一级的时钟输入信号。报时模块(alarm1)的功

11、能是当整点(将min作为该模块的输入信号,min=00)时,alarm输出高电平,并且持续1分钟。数字钟的工作原理图如下所示:“EDA课程设计论文-数字钟-仿真波形”图13、数字钟模块设计3.1 秒计时器(second1)Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_arith.all;Use ieee.std_logic_unsigned.all;Entity second1 isPort(clks, reset:in std_logic; Sec1,sec2:buffer std_logic_vector(3 dow

12、nto 0); -秒输出端 Ensec:out std_logic); -秒计时器的进位,用来驱动分计时器End;Architecture a of second1 isBeginProcess(clks,reset)BeginIf reset=0 then Sec1=0000; Sec2=0000;ensec=0; -对秒计时器清0 Elsif clksevent and clks=1 then if (sec1= 1001 and sec2= 0101) then Sec1=0000; Sec2=0000; ensec=1; -重复计数并产生进位 elsif (sec1= 1001)the

13、n Sec1=0000; Sec2=sec2+1; ensec=0; else sec1=sec1+1; ensec=0; -以驱动下一级 end if;end if;End process;End; 3.2 分计时器(minute1)Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_arith.all;Use ieee.std_logic_unsigned.all;Entity minute1 isPort(clkm, reset:in std_logic; Min1,Min2:buffer std_logic_vecto

14、r(3 downto 0); -秒输出端 Enmin:out std_logic); -秒计时器的进位,用来驱动分计时器End;Architecture a of minute1 isBeginProcess(clkm,reset )BeginIf reset=0 then Min1=0000; Min2=0000;enmin=0; -对计时器清0 Elsif clkmevent and clkm=1 then if (Min1= 1001 and Min2= 0101) then Min1=0000; Min2=0000;enmin=1; -重复计数并产生进位 elsif (Min1= 10

15、01)then Min1=0000; Min2= Min2+1; enmin=0; else min1=min1+1; enmin=0; -以驱动下一级 end if;end if;End process;End; 3.3 时计时器(hour1)Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_arith.all;Use ieee.std_logic_unsigned.all;Entity hour1 isPort(clkh,reset:in std_logic;End;Architecture a of hour1 isB

16、eginProcess(clkh,reset)BeginIf reset=0 then hou1=0000; hou2=0000; -对时计时器清0Elsif clkhevent and clkh=1 thenif (hou1= 0011 and hou2= 0010) then hou1=0000; hou2=0000; -重复计数 elsif (hou1= 1001)then hou1=0000; hou2=hou2+1; else hou1=hou1+1; end if; end if;End process;End;3.4 星期计时器(day1)Library ieee;Use iee

17、e.std_logic_1164.all;Use ieee.std_logic_arith.all;Use ieee.std_logic_unsigned.all;Entity day1 isPort(clkd,set,reset:in std_logic;d1:in std_logic_vector(2 downto 0); 置数端(星期)day:buffer std_logic_vector(2 downto 0); 星期输出端end;Architecture a of day1 isBeginProcess(clkd,reset,set,d1) Begin If reset=0 then

18、 day=000; 对星期计时器清0 Elsif set=0 then day=d1; 对星期计时器置d1的数 Elsif clkdevent and clkd=1 thenIf day=6 then day=000; 重复计数 Else day=day+1;End if;End if;End process;End;3.5 报时模块(alarm1)Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_arith.all;Use ieee.std_logic_unsigned.all;Entity alarm1 isPort(r

19、eset:in std_logic; Min1,min2:in std_logic_vector(3 downto 0);Alarm:out std_logic); -输出的报时信号End;Architecture a of alarm1 isBeginAlarm=0 when min1=0000 and min2=0000 and reset=1 else 1; -当分为0且清0 -信号无效时,输出高电平并持续至分不为0end;3.6 分频模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use I

20、EEE.STD_LOGIC_UNSIGNED.ALL;entity jhgjgh isport(clk,reset:in std_logic; q:out std_logic);end jhgjgh;architecture Behavioral of jhgjgh issignal cnt:integer:=0;signal clks:std_logic:=0;beginprocess(clk,reset)beginif reset = 0 thenclks= 0;elsif(clkevent and clk=1)then if cnt=16000000 then cnt=0; clks=n

21、ot(clks); else cnt=cnt+1;clks=clks;end if;end if;end process;qs1s1s1s1s1s1s1s1s1s1s1s2s2s2s2s2s2s2s2s2s2s2m1m1m1m1m1m1m1m1m1m1m1m2m2m2m2m2m2m2m2m2m2m2h1h1h1h1h1h1h1h1h1h1h1h2h2h2h2h2h2h2h2h2h2h2reset,clk=clk,q=enk);u1:second1 port map(reset=reset,sec1=sec1, sec2=sec2,clks=enk, ensec=enm);u2:minute1

22、port map(reset=reset,min1=min1, min2=min2, clkm=enm,enmin=enh);u3:hour1 port map(reset=reset,hou1=hou1, hou2=hou2,clkh=enh);u4:yima port map(sec1=sec1,sec2=sec2,min1=min1,min2=min2,hou1=hou1,hou2=hou2,s1=s1,s2=s2,m1=m1,m2=m2,h1=h1,h2=h2);u5:alarm1 port map(reset=reset,min1=min1,min2=min2,alarm=alarm

23、);end;5、数字钟程序仿真调试过程5.1 秒计时器(second1)(Endtime为1us)在秒计时器的clk输入一个周期为5ns的时钟信号;清0端(reset)前面一小段(100ns)为低电平,后面均为高电平;置数端(set)前面一小段(200ns)为低电平,后面均为高电平;秒重置端(s1)可设置数值为50秒,保存波形图,进行仿真,产生如下波形:“EDA课程设计报告-数字钟-仿真波形”图3由上述波形可以清楚的看到:当清0信号(reset)无效时,秒计时器置数,从50秒开始计数,到59秒时回到0,并且从ensec输出一个高电平。5.2 时计时器(hour1)(Endtime为1us)在时

24、计时器的clkh输入一个周期为5ns的时钟信号;清0端(reset)前面一小段(100ns)为低电平,后面均为高电平;置数端(set)前面一小段(200ns)为低电平,后面均为高电平;时重置端(h1)可设置数值为20时,保存波形图,进行仿真,产生如下波形:“EDA课程设计论文-数字钟-仿真波形”图5由上述波形可以清楚的看到:当清0信号(reset)无效时,时计时器置数,从20时开始计数,到23时回到0,并且从enhour输出一个高电平。5.3 报时模块(alarm1)清0端(reset)前面一小段(200ns)为低电平,后面均为高电平;设置min的值,使其分别为58分、59分、00分、01分、

25、02分、03分,保存波形图,进行仿真,产生如下波形:“EDA课程设计论文-数字钟-仿真波形”图7由上述波形可以清楚的看到:alarm在0分时输出高电平,并且持续至min不为0。5.4系统总调试(topclock)(Endtime为10us) 在秒计时器的clk输入一个周期为5ns的时钟信号;清0端(reset)前面一小段(40ns)为低电平,后面均为高电平;置数端(set)前面一小段(60ns)为低电平,后面均为高电平;秒重置端(s1)可设置数值为50秒,分重置端(m1)可设置数值为57分, 时重置端(h1)可设置数值为23时, 星期重置端(d1)可设置数值为6(星期六);保存波形图,进行仿真

26、,产生如下波形:“EDA课程设计论文-数字钟-仿真波形”图8由上述波形可以清楚的看到:当reset为0时,数字钟清0;当set为1时,数字钟置数,其值为星期六、23时、57分、50秒。“EDA课程设计论文-数字钟-仿真波形”图9由上述波形可以清楚的看到:秒计时器开始计时,当到达59秒后,秒计时器sec又从0开始计时,同时分钟min加了1,为58分。“EDA课程设计论文-数字钟-仿真波形”图10由上述波形可以清楚的看到:分计时器开始计时,当到达59分后,分计时器min又从0开始计时,同时小时hour加了1,为24时,即时计时器hour也又从0开始计时,而此时星期计时器day也由6加1后回0,又从

27、0开始计时。当分计时器min为0时,alarm输出一个高电平,持续直到分计时器min的值为1。总 结通过本次EDA课程设计,在整整一个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在老师和同学的帮助下,终于找出了错误,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也遇到了

28、一点困难,想要的结果不能在波形上得到正确的显示:在设定输入的时钟信号后,数字钟开始工作,但是有部分错误。后来,在数十次的调试之后,才发现是因为输入的时钟信号对于器件的延迟时间来说太短了。经过屡次调试,终于找到了比较合适的输入数值:时钟周期设置在15秒左右比较合适。另外,Endtime的值需要设置的长一点:500us左右,这样就可以观察到完整的仿真结果。其次,在连接各个模块的时候一定要注意各个输入、输出引脚的线宽,因为每个线宽是不一样的,只要让各个线宽互相匹配,才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编译出现错误提示,在器件的选择上也有一定的技巧,只有选择了合适当前电

29、路所适合的器件,编译才能得到完满成功。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。总的来说,这次设计的数字秒表还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相

30、结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识!致 谢感谢淮阴工学院计算机工程学院给我这次锻炼的机会。感谢我的马老师,他严谨细致、一丝不苟的作风一直是我学习的榜样;他循循善诱的教导和不拘一格的思路给予我无尽的启迪。马老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。马老师严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,给以终生受益无穷之道。对马老师的感激之情是无法用言语表达的。这次课程设计的每个实验细节和每个数据,都离不开您的细心指导。而你开朗的个性和宽容的态度,帮助我能够很快的融入我们这个新的团体。感谢我的同学

31、们和我的同伴,你们和我共同维系着彼此之间兄弟般的感情,维系着班级那份家的融洽。感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。这次设计的数字钟还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。在这里我要对我的老师马岱以及我的同伴李江华同学真挚的说一声:“谢谢!” 没有你们的帮助我可能要花费更多的时间与精力来完成这次课程设计,最后,对给

32、过我帮助的所有同学和各位指导老师再次表示衷心的感谢!参考文献1、潘松,王国栋,VHDL实用教程M.成都:电子科技大学出版社,2000.(1)2、崔建明主编,电工电子EDA仿真技术 北京:高等教育出版社,20043、李衍编著,EDA技术入门与提高王行 西安:西安电子科技大学出版社,20054、侯继红, 李向东主编,EDA实用技术教程 北京:中国电力出版社,20045、沈明山编著,EDA技术及可编程器件应用实训 北京:科学出版社,20046、侯伯亨等,VHDL硬件描述语言与数字逻辑电路设计 西安:西安电子科技大学出版社,19977、辛春艳编著,VHDL硬件描述语言 北京:国防工业出版社,20028

33、、林明权等编著,马维 改编,VHDL数字控制系统设计范例 北京:电子工业出版社,20039、曾繁泰, 陈美金著,VHDL程序设计 北京:清华大学出版社,200110、(美)JamsR.Armstrong,(美) F.Gral Gray著;李宗伯, 王荣辉等译,VHDL设计表示和 综合北京:机械工业出版社,200211、黄任编著,VHDL入门解惑经典实例经验总结 北京:北京航空航天大学出版社,200512、王伟编著,Verilog HDL 程序设计与应用 北京:人民邮电出版社,2005指导教师评语学号1071306113姓名李加军班级计算机1073选题名称数字钟课程设计序号评价内容权重(%)得分1考勤记录、学习态度、工作作风与表现。52自学情况:上网检索机时数、文献阅读情况(笔记)。103论文选题是否先进,是否具有前沿性或前瞻性。54成果验收:是否完成设计任务;能否运行、可操作性如何等。205报告的格式规范程度、是否图文并茂、语言规范及流畅程度;主题是否鲜明、重心是否突出、论述是否充分、结论是否正确;是否提出了自己的独到见解。306文献引用是否合理、充分、真实。57答辩情况: 自我陈述、回答问题的正确性、用语准确性、逻辑思维、是否具有独到见解等。25合计指导教师(签章): 年 月 日 19

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!