- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VHDL实现数字钟课设报告
课程设计报告
课程设计题目:用VHDL语言实现数字钟的设计
班 级:电子1001班
学 号姓 名:刘云飞
指导老师:李世平、李宁
设计时间:2012年12月
摘 要
随着EDA技术的发展,EDA在通信、电子等领域占有十分重要的地位。本设计介绍了基于VHDL语言的数字钟的设计。数字钟的功能是对年、月、日、时、分、秒、星期,以及闹钟时、分的预置;在正常计数时的时、分与闹钟设定的时、分相同时,实现报时,同时以stop和pass键对闹钟进行停止及延迟响铃的控制; 在整点的时候led灯闪烁一下。其中,用set脉冲的不同实现对预置,正常计时,闹钟的控制。Set为1~12分别控制显示年月日、预置年月日、时分秒、星期、显示时分秒、预置闹钟时分、显示闹钟预置的时分。预置时用up的高、低电平实现对各预置量的加、减控制。将1KHZ的时钟进行分频为1HZ,实现每次脉冲为1秒。经仿真和验证显示,此数字钟切实可行,可以实现显示时间和闹钟的功能。
关键词:VHDL语言,数字钟,预置
目 录
摘 要 2
1、设计目的 4
2、设计内容和要求 4
3、设计原理 4
3.1 数字钟功能介绍 4
3.2 数字钟设计原理 5
4、VHDL程序设计 6
4.1 整体设计思路 6
4.2 各模块设计方法 7
4.2.1 顶层模块 7
4.2.2 其他模块 8
4.2.3 程序包模块 13
5、仿真与分析 13
5.1 仿真结果 13
5.2 仿真分析 16
6、课程设计总结 16
7、参考文献 17
1、设计目的
掌握利用可编程逻辑器件和EDA设计工具进行电子系统设计的方法。
2、设计内容和要求
用VHDL语言实现数字钟的设计,要求设计实现一个具有带预置数的数字钟,具有显示年月日时分秒的功能。用6个数码管显示时分秒,set按钮产生第一个脉冲时,显示切换年月日,第2个脉冲到来时可预置年份,第3个脉冲到来时可预置月份,依次第4、5、6、7个脉冲到来时分别可预置日期、时、分、秒,第 8个脉冲到来后预置结束,正常工作,显示的是时分秒。Up为高电平时,upclk有脉冲到达时,预置位加1。否则减1。
3、设计原理
3.1 数字钟功能介绍
数字钟具有计时、预置、报时的功能。以不同的set脉冲控制各个功能。
在计时功能中,数字钟实现对年月日时分秒即星期的计时,并可以通过LED数码管分别显示年月日、或时分秒、或星期、或闹钟的时分。
在预置功能中,可以通过UP键对各需要预置的量进行控制。UP=1时,进行“加”控制,UP=0时,进行“减”控制。
在报时功能中,分为整点报时和设置时间报时。其中整点报时以ce作为使能输入端,在整点时灯进行一秒闪烁;设置时间报时以enable作为使能输入端,enable=1时设置时间报时功能启动,在闹钟预置时间与时钟当前时间相同时报时,若此时按下stop,闹钟立即停止并不再响铃,若按下pass,则闹钟立即停止,但三分钟后再响,如此循环5次后不再响铃,若什么都不按,闹钟响铃持续1分钟。
3.2 数字钟设计原理
本设计功能有8个子模块:分频模块、时分秒模块、日模块、年月模块、闹钟预置模块、星期模块、响铃模块。通过元件例化由顶层文件timekeeper综合。
整体设计框图及外观图如(图 3-1)及(图3-2)
图3-1 数字钟设计整体框图
图3-2 数字钟外观图
4、VHDL程序设计
4.1 整体设计思路
采用自上而下的方法进行整体设计。整个设计共分为8个模块,通过顶
层文件timekeeper元件例化将8个模块各个端口对应相连。在设计各个模块时所用到的其它运算方法等放于work库中,通过程序包及程序包体的方式对所使用函数进行定义。
主要使用的语句有:元件例化语句,过程语句,信号赋值语句,if语句,case语句(在状态机中)。
图(4-1)表示了个模块的连接及连接是所用到的触发器等。
图4-1 整体结构图
4.2 各模块设计方法
4.2.1 顶层模块
顶层模块timekeeper是.对对所有模块的综合。
它包含的功能是:通过元件例化连接各模块;实现对闹钟控制位sp2的控制;实现闹钟的整点报时闪烁。
输入端:up 全局加减选择,控制预置时的加减
setpin 设定选择
upclk 加减触发
f1000 时钟输入
文档评论(0)