网站大量收购独家精品文档,联系QQ:2885784924

EDA课程设计-多功能数字钟设计汇.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA课程设计-多功能数字钟设计汇

河南科技大学 课 程 设 计 说 明 书 课程名称 EDA课程设计 题 目 多功能数字钟设计 课程设计任务书 课程设计名称 学生姓名 专业班级 设计题目 多功能数字钟设计 课程设计目的 1、综合运用EDA技术,独立完成一个课题的设计,考察运用所学知识,解决实际问题的能力; 2、结合理论知识,考察阅读参考资料、文献、手册的能力; 3、进一步熟悉EDA技术的开发流程,掌握文件编辑、编译、仿真、下载验证等环节的实现方法和应用技巧; 4、锻炼撰写研究报告、研究论文的能力; 5、通过本实践环节,培养科学和严谨的工作作风。 设计内容、技术条件和要求 l、能进行正常的时、分、秒计时功能,分别由6个数码显示24小时、60分钟的计数器显示。 2、能利用实验系统上的按钮实现“校时”、“校分”功能; (1)按下“SA”键时,计时器迅速递增,并按24小时循环; (2)按下“SB”键时,计时器迅速递增,并按59分钟循环,并向“时”进位; (3)按下“SC”键时,秒清零;抖动的,必须对其消抖处理。 3、能利用扬声器做整点报时: (1)当计时到达59’50”时开始报时,频率可为500Hz; 计满23小时后回零;计满59分钟后回零。 (2)到达59’59”时为最后一声整点报时,整点报时的频率可定为lKHz。 4定时闹钟功能 5、用层次化设计方法设计该电路,用硬件描述语言编写各个功能模块。 6、报时功能。报时功能用功能仿真的仿真验证,可通过观察有关波形确认电路设计是否正确。 时间进度安排 1周:(1) 完成设计准备,确定实施方案;(2) 完成电路文件的输入和编译;(4) 完成功能仿真。 2周:(1) 完成文件至器件的下载,并进行硬件验证;(2) 撰写设计说明书。 主要参考文献 (1)谭会生、瞿遂春,《EDA技术综合应用实例与分析》,西安电子科技大学出版社,2004 (2)曹昕燕、周凤臣等,《EDA技术实验与课程设计》,清华大学出版社,2006 指导教师签字: 2010年9月5日 多功能数字钟设计 设计思路 考虑到本次设计的多功能数字钟的结构比较复杂,故将其分为若干模块分层次设计,这样既方便仿真查错,又使得逻辑更加清晰。在各个模块都编写完成,并仿真确定功能无误后,再将其分别生成图形模块。最后通过顶层图像将各个模块连接成完整电路,下载并实现设计要求。 整个电路可按功能分为四个模块,即计时模块,时间校对模块,报时模块和分频模块。 各模块设计原理 1、计时模块 (1)60进制计数器 计时模块需要两个60进制计数器分别来充当秒计数器和分计数器。两者都是用来完成60进制计数的功能,但因为1HZ时钟信号从秒计数器输入,可将两者分开设计。 秒计数器cnt60_second: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt60_second is port(clk,clr:in std_logic; s1,s0:out std_logic_vector(3 downto 0); co:out std_logic); end cnt60_second; architecture behav of cnt60_second is begin process(clk) variable cnt1,cnt0:std_logic_vector(3 downto 0); begin if clr=0 then cnt0:=0000; cnt1:=0000; elsif clkevent and clk=1 then if cnt1=0101 and cnt0=1000 then co=1; cnt0:=1001; elsif cnt01001 then cnt0:=cnt0+1; else cnt0:=0000; if cnt10101 then cnt1:=cnt1+1; else cnt1:=0000; co=0; end if; end if; end if; s1=cnt1; s0=cnt0; end process; end behav; 分计数器cnt60_minute: library ieee; use ieee.std_logic_1164.all; use ieee.std_

文档评论(0)

liwenhua11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档