版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页电子日历摘要本设计为实现一个多功能的电子日历,具有年、月、日、星期计时并显示的功能;并且具有校对功能,能够对初始的时间进行人为的设定。EDAVHDLQuartusII基础模块进行创建,通过各个基础模块的组合和连接来构建上层原理图,完成基于VHDL电子日历地设计。EP1K30TC144-3,由时钟模块、控制模块、计时模块、数据译码模键输入进行电子日历的校时功能。关键词:EDA、电子日历、VHDL、QuartusII目录第一章绪论 1EDA技术 1QuartusII的使用 1模块化设计 1分析、解决问题 1第二章总体设计 2设计内容 2设计说明 2设计报告要求 3第三章设计原理 4设计思想 4设计原理图 4工作过程 5第四章设计结果 6VHDL程序与仿真 6秒与分模块 6小时模块 7星期模块 8日模块 9月模块 10年低两位模块 12校时模块 14显示模式模块 17顶层设计与仿真 17实验小结 18第五章参考文献 19第一章绪论EDAEDA(ElectronicDesignAutomation),即电子设计自动化,是指利用计算机完成电子系统的设计。它的主要特征及核心是“自顶向下”的设计方法,这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后用综合优化工具生成具体门电路的网表。由于设计的主要仿真和调试过程是在高层次上完成的,这不仅有利于早期发现结构设计上的错误,避免设计工作的浪费,而且也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。QuartusII的使用QuartusIIVHDLVHDL模块化设计VHDL序,进一步了解和掌握各个程序语言,知道编程中的注意事项,提高编程的熟练程度。分析、解决问题通过本实验设计,理论联系实际,巩固所学理论知识,并且提高自己通过所学理论VHDLEDA对电气工程专业有了更多兴趣。第二章总体设计设计内容设计具有如下功能的电子日历:能进行正常的年、月、日、星期计时和显示功能。能利用实验系统上的按键实现年、月、日和星期的校对功能。用层次化设计方法设计该电路,编写各个功能模块的程序。仿真报时功能,通过观察有关波形确认电路设计是否正确。完成电路设计后,用实验系统下载验证设计的正确性。设计说明年、月、日和星期的显示格式如图2所示。年(高位)年(低位)月日星期图2-1电子日历显示格式设计报告要求1)分析系统的工作原理。2)画出顶层原理图,写出顶层文件源程序。3)写出各功能模块的源程序。仿真各功能模块,画出仿真波形。书写实验报告应结构合理,层次分明。日十位计数译码驱动日个位计数译码驱动日十位计数译码驱动日个位计数译码驱动第三章设计原理设计思想级别(如日)的进位输出要给较高级别(如月)方式进行连接。从而完成了基础的计时和显示的功能。1221。设计原理图年个位计数年十位计数译码驱动译码驱动年个位计数年十位计数译码驱动译码驱动月个位计数月十位计数译码驱动译码驱动分频器电路分频器电路校月控制电路校年控制电路晶体振荡器电路分频器电路图3-1电子日历实验原理图晶体振荡器电路分频器电路原理图说明:K1K2(时钟功能)一,从而实现校时的功能。模式0:正常计时显示 K1不按模式1:调整星期增加 K1按下一次模式2:调整日增加 K1按下两次模式3:调整月增加 K1按下三次模式4:调整年增加 K1按下四次CLK是外部1Hz输入时钟,作为秒的时钟输入,驱动整个电子日历工作运行。工作过?{1HzCLKK111121与正常计时模式。第四章设计结果VHDL秒与分模块秒与分模块为六十进制的计数器源程序: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'Q11<=Q11+1;IFQ11=9THENQ11<=(OTHERS=>'0');Q22<=Q22+1;ENDIF;IFQ22=5ANDQ11=9THENQ22<="0000";Q11<="0000";COUT<='1';ELSECOUT<='0';ENDIF;ENDENDPROCESS;Q1<=Q11;Q2<=Q22;END;仿真结果:图4-1 60进制计数器仿真图Q1Q260Q2制计数器的功能,设计正确。小时模块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;ENDENDPROCESS;Q1<=Q11;Q2<=Q22;END;仿真结果:图4-2 24进制计数器仿真图Q1Q224Q2十四进制计数器的功能,设计正确。星期模块星期模块为“7进制”的计数器源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYWEEKISPORT(CLK:INSTD_LOGIC;W:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDWEEK;ARCHITECTUREONEOFWEEKISSIGNALQ11:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ11<=Q11+1;IFQ11=7THENQ11<="0001";ENDIF;ENDIF;ENDPROCESS;W<=Q11;END;仿真结果:图4-37进制计数器仿真图如上图所示当W计满7时,归1,完成了“七进制”计数器的功能,设计正确。日模块日模块原本有四种情况,大月为31进制计数器,小月为30进制计数器,平年二月为28进制计数器,闰年二月为29进制计数器。本文简化处理,统一记为30天。30源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYDAYISPORT(CLK:INSTD_LOGIC;CQ1:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CQ2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);END;ARCHITECTUREONEOFDAYISSIGNALCQ3,CQ4:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THEN 上升沿CQ3<=CQ3+1;IFCQ3=9THENCQ3<=(OTHERS=>'0');CQ4<=CQ4+1;ENDIF;IFCQ4=3ANDCQ3=0THENCQ4<="0000";CQ3<="0001";COUT<='1';ELSECOUT<='0';ENDIF;ENDIFENDPROCESS;CQ1<=CQ3;CQ2<=CQ4;END;仿真结果:图4-430进制计数器仿真图如图所示,仿真结果与设计要求一致,日模块的设计正确月模块月模块为12进制计数器源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYMONTHISport(clk:INSTD_LOGIC;cout:OUTSTD_LOGIC;cq1,cq2:OUTSTD_LOGIC_VECTOR(3DOWNTO0));END;ARCHITECTUREbehavOFMONTHISsignalcq3,cq4:STD_LOGIC_VECTOR(3DOWNTOBEGINPROCESS(clk)BEGINIFclk'EVENTandclk='1'THENcq3<=cq3+1;IFcq3=9THENcq4<=cq4+1;cq3<="0000";ENDIF;IFcq3=2andcq4=1THENcq3<="0001";cq4<="0000";cout<='1';ELSEcout<='0';ENDIF;ENDIF;ENDPROCESS; 十二进制计数器cq1<=cq3;END;仿真结果:图4-5月模块仿真图如图所示月模块为12进制计数器,合设计要求,模块的设计正确。年低两位模块年的高两位和低两位都为一百进制计数器,功能基本相同源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYYEARISPORT(CLK:INSTD_LOGIC;Y1,Y2:OUTSTD_LOGIC_VECTOR(3DOWNTO0););ENDYEAR;ARCHITECTUREONEOFYEARISSIGNALQ1,Q2:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ1<=Q1+1;IFQ1=9THENQ1<=(OTHERS=>'0');Q2<=Q2+1;ENDIF;IFQ2=9ANDQ1=9THENQ2<="0000";Q1<="0000";COUT<='1';ELSECOUT<='0';ENDIF;ENDENDPROCESS;Y1<=Q1;Y2<=Q2;END;图4-6年低两位模块仿真图年高两位模块源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYYEARISPORT(CLK:INSTD_LOGIC;Y3,Y4:OUTSTD_LOGIC_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDYEAR;ARCHITECTUREONEOFYEARISSIGNALQ11,Q22:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'Q11<=Q11+1;IFQ11=9THENQ11<=(OTHERS=>'0');Q22<=Q22+1;ENDIF;IFQ22=9ANDQ11=9THENQ22<="0000";Q11<="0000";COUT<='1';ELSECOUT<='0';ENDIF;ENDENDPROCESS;Y3<=Q11;Y4<=Q22;END;仿真结果:图4-7高两位年模块仿真图如图所示,高两位年模块为100进制计数器符合设计的要求,设计正确。校时模块如原理图的说明部分所述,校时模块进行工作模式的选择,输入端设有控制按键K1,K2。K1进行模式的选择,K2的功能如同手动时钟脉冲,进行调时设置。源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYJIAODUIISPORT(K1,K2:INSTD_LOGIC;WI,DI,MI,YLI,YHI:INSTD_LOGIC;WO,DO,MO,YLO,YHO:OUTSTD_LOGIC);ENDJIAODUI;ARCHITECTUREBEHAVOFJIAODUIISSIGNALA:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(K1,K2)BEGINIFK1'EVENTANDK1='1'THENA<=A+1;IFA=5THENA<="0000";ENDIF;ENDIF;CASEAISWHEN"0000"=>WO<=WI;DO<=DI;MO<=MI;YLO<=YLI;YHO<=YHI;--模式0正常计时WHEN"0001"=>WO<=K2;DO<='0';MO<='0';YLO<='0';YHO<='0';--选通星期模块,调周WHEN"0010"=>WO<='0';DO<=K2;MO<='0';YLO<='0';YHO<='0';--选通日模块,调日WHEN"0011"=>WO<='0';DO<='0';MO<=K2;YLO<='0';YHO<='0';--选通月模块,调月WHEN"0100"=>WO<='0';DO<='0';MO<='0';YLO<=K2;YHO<='0';--选通年模块,调年WHEN"0101"=>WO<='0';DO<='0';MO<='0';YLO<='0';YHO<=K2;--选通年模块,调年WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;END;仿真结果:图4-8K1按下一次与两次,K2校正星期与日图4-9K1按下三次,K2校正月4-10K1,K24-11K1,K2图4-12K1按下六次恢复正常如图,按键K1,K2能够完成电子日历工作模式的选择与调时校对的功能,满足系统的设计要求,设计正确。显示模式模块源程序:LIBRARYIEEE;USEIEEE.STD_LOG
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 政府机关物业管理项目服务方案
- 临街商业店铺转租协议
- 音乐器材销售合同
- 砖厂生产设备租赁协议
- 专业设备维修协议
- 高效权威测试技术服务合同
- 简化版买卖合同样式
- 雨棚工程招标公告
- 股权共享协议样本
- 兼职招聘服务合同模板
- 上海财经大学硕士论文封面模板(含论文标准格式)
- 体育专业学生学情分析总结报告
- 城乡居民医疗保险
- 碳酸锂生产工艺流程
- 幼儿园自然课堂培训
- MOOC 概率论与数理统计-重庆大学 中国大学慕课答案
- MOOC 电子技术-北京科技大学 中国大学慕课答案
- 新能源汽车充电桩项目计划书
- 《水电工程运行调度规程编制导则》(NB-T 10084-2018)
- 广东清大智兴生物技术有限公司 公司介绍
- 《光伏发电工程工程量清单计价规范》
评论
0/150
提交评论