版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
年4月19日EDA课程设计基于VHDL语言的数字时钟设计文档仅供参考一、设计要求 1二、设计原理及框图 11、设计原理 12、结构框图 1三、设计过程 21、模块化设计 22、顶层文件生成 3四、仿真调试过程 41、各模块时序仿真图 42、仿真过程中遇到的问题 5五、设计体会及收获 5一、设计要求1、稳定的显示时、分、秒。2、当电路发生走时误差时,要求电路有校时功能。3、电路有整点报时功能。报时声响为四低一高,最后一响高音正好为整点。二、设计原理及框图1、设计原理系统框图由六个模块组成,分别为:秒、分、时计数模块,整点报时模块,LED动态显示扫描模块,调时控制模块组成。其工作原理是:基准脉冲输入信号同时加到秒、分、时、分隔符的脉冲输入端,采用并行计数的方式,秒的进位接到分的使能端上,秒的使能借到分隔符的使能上,分得接到时的使能端上,完成秒、分、时和分隔符的循环计数。整点报时是根据分的A、B输出同时为0时,整点报时模块输出高电平控制报时。LED显示扫描模块根据输入的扫描信号CKDSP轮流选通秒、分、时、分隔符的8位八段数码管,LED显示译码器完成计数器输出的BCD的译码。显示模块2、结构框图显示模块调时控制模块整点报时模块数字时钟分计时模块时计时模块秒计时模块调时控制模块整点报时模块数字时钟分计时模块时计时模块秒计时模块三、设计过程1、模块化设计(1)秒计时模块秒计时模块由一个60位计数器为主体构成,其输入输出端口组成为:Clk:计时时钟信号Reset:异步清零信号Setmin:分钟设置信号Enmin:使能输出信号Daout[6:0]:BCD码输出(2)分计时模块分计时模块由一个60位计数器为主体构成,其输入输出端口组成为:Clk、clk1:计时时钟信号Reset:异步清零信号Sethour:小时设置信号Enmin:使能输出信号Daout[6:0]:BCD码输出(3)时计时模块时计时模块由24位计数器为主体构成,其输入输出端口组成为:Clk:计时时钟信号Reset:异步清零信号Daout[6:0]:BCD码输出(4)显示模块系统时间输出由六个七段数码管显示。显示的数据是各计时模块给出的BCD码。(5)调时控制模块该模块主要用于调节时、分显示,用于“对表”。(6)整点报时模块在时钟整点的时候产生扬声器驱动信号。由时钟计时模块中分钟的进行信号进行控制。当contr_en为高电平时,将输入信号clk送到输出端speak用于驱动扬声器,同时在clk的控制下,输出端lamp[2..0]进行循环移位。输出控制模块有扬声器控制器子模块组成。2、顶层文件生成前面已经完成了电子时钟电路的各个组成部分的设计,下面把这些组成部分组装起来,形成完整的总体设计。该电子时钟的命名为clock,其外部端口如右图所示。各个输入/输出端口的作用如下:(1)clk为外部时钟信号,其频率为1Hz,reset为异步清零信号.(2)sethour和setmin分别为调时调分脉冲输入信号,当en_set为高电平时,每来一个sethour脉冲或setmin脉冲,时、分输出将分别加1;(3)second[6...0]为秒的个位和十位BCD码输出,min[6…0]为分钟的个位和十位BCD码输出,hour[6...0]为小时的个位和十位BCD码输出,它们最终中用来驱动七段数码管,lamp[2...0]为花样显示输出信号,speak为整点报时扬声器驱动信号四、仿真调试过程1、各模块时序仿真图(1)秒计数器仿真图(2)分计数器仿真图(3)时计数器仿真图(4)整点报时仿真图(5)调时调分仿真图(6)LED显示译码仿真图2、仿真过程中遇到的问题(1)由于距离学习EDA技术课程的时间较长,遗忘了部分课程内容,对仿真软件不熟悉造成多次仿真失败。就此问题我认真复习了所学的EDA相关课程,按照课本上介绍的步骤重新进行了仿真,问题得以解决。(2)因为仿真过程中对各部分时序波形应采取什么样的激励波形不清楚,给仿真过程带来了较大的麻烦。经过查阅相关资料,阅读网上一些比较成熟的论文,确定了仿真过程中的相关参数。五、设计体会及收获本次课程设计我做出的数字时钟能够正确的进行整点报时,显示时间,可是对于调时调分功能不能正确显示。经过努力,简易电子时钟的设计基本上算是完成了,在整个设计中,我最大的体会就是:对学过的知识遗忘太多。在本次的课程设计中,我发现了很多问题,同时做起来也很难不顺手,看着简单的电路,要动手把它设计出来实非易事,主要原因对相关应用软件的不熟悉,这就要求我们在以后的学习中,应该注意复习的重要性,对学过的知识要时常复习,加深记忆,更重要的是我们要学会把从书本上学到的知识和实际电路联系起来,这不论对我们以后的学习还是就业,都会起到很大的促进和帮助。我相信,经过这次的课程设计,在下一阶段的学习中我们会更加努力,力争把这门课学好学精。同时经过本次课程设计,巩固了我们以前学过的专业知识,经过这次的程序设计,使我们对数字系统结构也有了更进一步的了解与认识,同时对数据库软件EDA技术,VHDL语言等系列知识都有了一定的了解与认识。使用EDA技术开发页面的能力也有了提高,也使我们把理论与实践从正真意义上结合了起来,考验了我们的动手能力和查阅相关资料的能力,还有组织材料的能力。经过此次实践,我们从中能够找出自己知识的不足与欠缺,以便我们在日后的学习中得以改进与提高。经过本次设计使我们对大学四年期间所学习到的知识得以进一步实践,这将对我们走出校园,走向社会,走向工作岗位奠定坚实的基础。附录1、秒计数单元代码LIBRARYieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;ENTITYsecondISPORT(clk,reset,setmin:INSTD_LOGIC;enmin:OUTSTD_LOGIC;daout:outstd_logic_vector(6downto0));ENDentitysecond;ARCHITECTUREfunOFsecondISSIGNALcount:STD_LOGIC_VECTOR(6downto0);SIGNALenmin_1,enmin_2:STD_LOGIC;BEGINdaout<=count;enmin_2<=(setminandclk);enmin<=(enmin_1orenmin_2);process(clk,reset,setmin)beginif(reset='0')thencount<="0000000";elsif(clk'eventandclk='1')thenif(count(3downto0)="1001")thenif(count<16#60#)thenif(count="1011001")thenenmin_1<='1';count<="0000000";elsecount<=count+7;endif;elsecount<="0000000";endif;elsif(count<16#60#)thencount<=count+1;enmin_1<='0'after100ns;elseendif;endif;endprocess;endfun;2、分计数单元代码LIBRARYieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;ENTITYminuteISPORT(clk,clk1,reset,sethour:INSTD_LOGIC;enhour:OUTSTD_LOGIC;daout:outstd_logic_vector(6downto0));ENDentityminute;ARCHITECTUREfunOFminuteISSIGNALcount:STD_LOGIC_VECTOR(6downto0);SIGNALenhour_1,enhour_2:STD_LOGIC;BEGINdaout<=count;enhour_2<=(sethourandclk1);enhour<=(enhour_1orenhour_2);process(clk,reset,sethour)beginif(reset='0')thencount<="0000000";elsif(clk'eventandclk='1')thenif(count(3downto0)="1001")thenif(count<16#60#)thenif(count="1011001")thenenhour_1<='1';count<="0000000";ELSEcount<=count+7;endif;elsecount<="0000000";endif;elsif(count<16#60#)thencount<=count+1;enhour_1<='0'after100ns;elsecount<="0000000";endif;endif;endprocess;ENDfun;3、时计数单元代码LIBRARYieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;ENTITYhourISPORT(clk,reset:INSTD_LOGIC;daout:outstd_logic_vector(5downto0));ENDentityhour;ARCHITECTUREfunOFhourISSIGNALcount:STD_LOGIC_VECTOR(5downto0);BEGINdaout<=count;process(clk,reset)beginif(reset='0')thencount<="000000";elsif(clk'eventandclk='1')thenif(count(3downto0)="1001")thenif(count<=16#23#)thencount<=count+7;elsecount<="000000";endif;elsif(count<16#23#)thencount<=count+1;elsecount<="000000";endif;endif;endprocess;ENDfun;4、显示单元代码LIBRARYieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;ENTITYdeledISPORT(num:INstd_logic_vector(3downto0);led:OUTstd_logic_vector(6downto0));enddeled;ARCHITECTUREfunOFdeledISBEGINled<="1111110"whennum="0000"else"0110000"whennum="0001"else"1101101"whennum="0010"else"1111001"whennum="0011"else"0110011"whennum="0100"else"1011011"whennum="0101"else"1011111"whennum="0110"else"1110000"whennum="0111"else"1111111"whennum="1000"else"1111011"whennum="1001"else"1110111"whennum="1010"else"0011111"whennum="1011"else"1001110"whennum="1100"else"0111101"whennum="1101"else"1001111"whennum="1110"else"1000111"whennum="1111";ENDfun;5、调时控制单元代码LIBRARYieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;ENTITYseltimeISPORT(clk1,reset:INSTD_LOGIC;sec,min:INSTD_LOGIC_VECTOR(6downto0);hour:instd_logic_vector(5downto0);daout:OUTSTD_LOGIC_vector(3downto0);dp:OUTstd_LOGIC;sel:outstd_logic_vector(2downto0));ENDseltime;ARCHITECTUREfunOFseltimeISSIGNALcount:STD_LOGIC_vector(2downto0);BEGINsel<=count;process(clk1,reset)beginif(reset='0')thencount<="000";elsif(clk1'eventandclk1='1')thenif(count>="101")thencount<="000";elsecount<=count+1;endif;endif;casecountiswhen"000"=>daout<=sec(3downto0);dp<='0';when"001"=>daout(3)<='0';daout(2downto0)<=sec(6downto4);dp<='0';when"010"=>daout<=min(3downto0);dp<='1';when"011"=>daout(3)<='0';daout(2downto0)<=min(6downto4);dp<='0';when"100"=>daout<=hour(3downto0);dp<='1';whenothers=>daout(3downto2)<="00";daout(1downto0)<=hour(5downto4);dp<='0';endcase;endprocess;endfun;6、整点报时单元代码LIBRARYieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;ENTITYalertISPORT(clk:INSTD_LOGIC;dain:INSTD_LOGIC_VECTOR(6DOWNTO0);speak:OUTSTD_LOGIC;lamp:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDalert;ARCHITECTUREfunOFalertISsignalcoun:std_logic_vector(1downto0);signalcount1:std_logic_vector(1downto0);BEGINspeaker:process(clk)beginspeak<=count1(1);if(clk'eventandclk='1')thenif(dain="0000000")thenif(count1>="10")thencount1<="00";elsecount1<=count1+1;endif;endif;endif;endprocessspeaker;lamper:process(clk)beginif(rising_edge(clk))thenif(coun<="10")thenif(coun="00")thenlamp<="001";elsif(coun="01")thenlamp<="010";elsif(coun="10")thenlamp<="100";endif;coun<=coun+1;elsecoun<="00";endif;endif;endprocesslamper;ENDfun;7、顶层代码libraryieee;useieee.std_logic_1164.all;entityclock_topisport(clk,reset,setmin,sethour,clkdsp:instd_logic;speaker:outstd_logic;lamp:outstd_logic_vector(2downto0);sel:outstd_logic_vector(2downto0);a,b,c,d,e,f,g,dpout:outstd_logic);endclock_top;architectureaofclock_topisCOMPONENTsecondPORT(clk,reset,setmin:INSTD_LOGIC;daout:outstd_logic_vector(6downto0);enmin:OUTSTD_LOGIC);ENDCOMPONENT;COMPONENTminutePORT(clk,clk1,reset,sethour:INSTD_LOGIC;enhour:OUTSTD_LOGIC;daout:outstd_logic_vector(6downto0));ENDCOMPONENT;COMPONENThourPORT(clk,reset:INSTD_LOGIC;daout:outstd_logic_vector(5downto0));ENDCOMPONENT;COMPONENTalertPORT(clk:INSTD_LOGIC;dain:instd_logic_vector(6downto0);lamp:outstd_logic_vector(2downto0);speak:OUTSTD_LOGIC);ENDCOMPONENT;COMPONENTseltimePORT(clk1,reset:INSTD_LOGIC;sec,min:instd_logic_vector(6downto0);hour:instd_logic_vector(5downto0);dp:outstd_logic;daout:outstd_logic_vector(3downto0);sel:OUTSTD_LOGIC_vector(2downto0));ENDCOMPONENT;COMPONENTdeledPORT(num:INSTD_LOGIC_vector(3downto0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖南省交通水利建设集团有限公司人员招聘参考题库及详细答案解析
- 2026医疗AI市场发展分析及前景趋势与诊断应用研究报告
- 2026年苏州交通投资有限责任公司人员招聘考试参考试题及详细答案解析
- 2026新型食品杀菌技术装备更新换代投资回报分析
- 2026年中国联通北京市分公司人员招聘笔试模拟试题及详细答案解析
- 2026年塔河炼化公司人员招聘参考题库及详细答案解析
- 2026年中国联通河南省分公司人员招聘考试题库及详细答案解析
- 2026高端饮用水品牌塑造与奢侈品营销模式借鉴分析
- 2025~2026学年陕西省渭南市大荔县城郊中学高二下学期3月物理试卷
- 2026汽车后市场发展趋势重点分析及智能汽车服务模式与行业收益空间规划
- 野村-中国:中国人民银行对人民币及全球失衡的立场-China:The P BoCs stance on RMB and global imbalances-20261008
- 2026年企业文化企业建设知识竞赛-中国电信知识竞赛历年参考题库含答案解析
- ESG管理制度手册
- 开学思政第一课2026年秋季学期开学典礼校长致辞
- 2026苏教版二上数学第二单元第5课时《用1~6的乘法口诀求商》课件
- 2026年广东省检察官逐级遴选笔试题目及答案
- 2026年贵州中考(数学)考试试卷(真题)答案解析
- 校园小导游、小讲堂(课件)-2025-2026学年人教版二年级上册数学
- 《演唱 郊游》课件2025-2026学年冀少版三年级下册音乐
- 矿山全员责任制考核制度
- 2026年乡村医生真题【历年真题】附答案详解
评论
0/150
提交评论