电子日历的设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1EDA课程设计电子日历课程名称EDA设计题目电子日历系院电气工程与自动化系班级自动化8班学生姓名学生学号日期2015年1月12日电子日历摘要本设计为实现一个多功能的电子日历,具有年、月、日、星期计时并显示的功能;并且具有校对功能,能够对初始的时间进行人为的设定。本设计采用EDA技术,以硬件描述语言VHDL为系统逻辑描述手段设计具有电子日历功能的硬件电路,在QuartusII软件设计环境下,采用自顶向下的设计思路,分别对各个基础模块进行创建,通过各个基础模块的组合和连接来构建上层原理图,完成基于VHDL电子日历地设计。关键词:EDA、电子日历、VHDL、QuartusII目录第一章绪论......................................................31.1EDA技术.............................................................31.2QuartusII的使用.....................................................31.3模块化设计...........................................................31.4分析、解决问题.......................................................3第二章总体设计..................................................42.1设计内容.............................................................42.2设计说明.............................................................42.3设计报告要求.........................................................5第三章设计原理..................................................53.1设计思想.............................................................53.2设计原理图...........................................................53.3工作过程.............................................................6第四章设计结果..................................................74.1VHDL程序与仿真.......................................................74.1.1秒与分模块......................................................74.1.2小时模块........................................................84.1.3星期模块........................................................94.1.4日模块.........................................................104.1.4月模块.........................................................124.1.5年低两位模块...................................................134.1.6校时模块.......................................................154.1.7显示模式模块...................................................184.2顶层设计与仿真......................................................184.3总结................................................................19第五章参考文献.................................................19第一章绪论1.1EDA技术EDA(ElectronicDesignAutomation),即电子设计自动化,是指利用计算机完成电子系统的设计。它的主要特征及核心是“自顶向下”的设计方法,这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后用综合优化工具生成具体门电路的网表。由于设计的主要仿真和调试过程是在高层次上完成的,这不仅有利于早期发现结构设计上的错误,避免设计工作的浪费,而且也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。1.2QuartusII的使用通过实验,熟悉并掌握QuartusII软件的使用,熟悉该软件工具的环境。除了学习利用VHDL语言编写程序实现硬件电路以外,还要熟练的使用原理图输入的方法进行硬件设计,具体是对每个模块形成一个功能元件,通过元件的连接来实现系统的功能,而不是通过VHDL语言的元件例化程序来完成,不仅提高了效率,而且思想原理也更加的清晰。1.3模块化设计掌握年、月、日、时、分、秒以及控制部分的各功能模块程序设计的原理,进而理解电子日历的设计原理,学习并理解模块化设计的方法与思想。用VHDL语言编写各模块程序,进一步了解和掌握各个程序语言,知道编程中的注意事项,提高编程的熟练程度。1.4分析、解决问题通过本实验设计,理论联系实际,巩固所学理论知识,并且提高自己通过所学理论分析、解决实际问题的能力。进一步加深对VHDL设计的了解与认识,体会EDA的巨大作用,了解进行硬件系统设计的整个流程,对生活工作中的电气设备有了更深一层次的了解,对电气工程专业有了更多兴趣。第二章总体设计2.1设计内容设计具有如下功能的电子日历:1)能显示年月日和星期2)年月日和星期都可调3)*注意闰年2.2设计说明年、月、日和星期的显示格式如图2所示。年(高位)年(低位)月日星期图2-1电子日历显示格式2.3设计报告要求1)分析系统的工作原理。2)画出顶层原理图,写出顶层文件源程序。3)写出各功能模块的源程序。4)仿真各功能模块,画出仿真波形。5)书写实验报告应结构合理,层次分明。第三章设计原理3.1设计思想按照模块化的设计思想,要实现电子日历的基础功能,必定要包含年、月、日和星期的功能模块,其中,日用三十进制计数器来实现,月用十二进制计数器来实现,年的低两位和高两位都是一百进制计数器,同时每个计数器都有显示输出端和进位输出端,同时低级别(如日)的进位输出要给较高级别(如月)的时钟输入端,以此类推,采用串行工作方式进行连接。从而完成了基础的计时和显示的功能。再按照由基础功能到增强功能的设计思路,要实现校时功能,要在之前电路的基础之上增加一个校时控制模块,增加两个按键来实现控制,按键1来选择校对哪一个模块,按键2选择校对到何值——检测到按键2的一个上升沿,对应的计数器加1。3.2设计原理图电子日历时分秒部分的原理图如下图所示,年月日部分与之同理,通过控制可以进行切换。图3-1电子日历实验原理图原理图说明:K1键是选择电子日历工作的模式,K2键提供上升沿(时钟功能)来使各计数模块加一,从而实现校时的功能。模式0:正常计时显示--K1不按模式1:调整星期增加--K1按下一次模式2:调整日增加--K1按下两次模式3:调整月增加--K1按下三次模式4:调整年增加--K1按下四次CLK是外部1Hz输入时钟,作为秒的时钟输入,驱动整个电子日历工作运行。3.3工作过程当1Hz时钟信号从CLK输入端输入时,K1没有按下时,系统从零开始处于正常的计时模式,并显示。低位计满归零并且向高位进1。如果此时按一下按键1,那么电子日历停止计时,工作于模式1,再通过按键2对分进行校时,通过同样的方法可以对时、日、月、年进行校时。当校时完毕,需要电子日历重新计时工作时,通过按下键1使系统工作与正常计时模式。译码驱动译码驱动译码驱动译码驱动译码驱动译码驱动年十位计数年个位计数月十位计数月个位计数日十位计数日个位计数校年控制电路校月控制电路分频器电路分频器电路晶体振荡器电路第四章设计结果4.1VHDL程序与仿真4.1.1秒与分模块秒与分模块为六十进制的计数器源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT60ISPORT(CLK:INSTD_LOGIC;Q1,Q2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT60;ARCHITECTUREONEOFCNT60ISSIGNALQ11,Q22:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ11=Q11+1;IFQ11=9THENQ11=(OTHERS='0');Q22=Q22+1;ENDIF;IFQ22=5ANDQ11=9THENQ22=0000;Q11=0000;COUT='1';ELSECOUT='0';ENDIF;ENDIF;ENDPROCESS;Q1=Q11;Q2=Q22;END;仿真结果:图4-160进制计数器仿真图如上图所示当Q1、Q2计满60时,Q1、Q2都归零同时有一个进位输出脉冲,完成了六十进制计数器的功能,设计正确。4.1.2小时模块时模块为24进制计数器。源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT24ISPORT(CLK:INSTD_LOGIC;Q1,Q2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDCNT24;ARCHITECTUREONEOFCNT24ISSIGNALQ11,Q22:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ11=Q11+1;IFQ11=9THENQ11=(OTHERS='0');Q22=Q22+1;ENDIF;IFQ22=2ANDQ11=3THENQ22=0000;Q11=0000;COUT='1';ELSECOUT='0';ENDIF;ENDIF;ENDPROCESS;Q1=Q11;Q2=Q22;END;仿真结果:图4-224进制计数器仿真图如上图所示当Q1、Q2计满24时,Q1、Q2都归零同时有一个进位输出脉冲,完成了二十四进制计数器的功能,设计正确。4.1.3星期模块星期模块为“7进制”的计数器源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYWEEKISPORT(CLK:INSTD_LOGIC;W:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDW

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功