- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【优质】EDA课程设计--数字时钟的设计.doc
课程设计(论文)任务书
专业班级: 学生姓名: 指导教师(签名):
一、课程设计(论文)题目
数字时钟 二、本次课程设计(论文)应达到的目的
课程设计(论文)是实践教学环节的重要组成部分,其目的是通过对相关理论知识的应用和对相关软件的实际操作,使学生能过更好地掌握课程内容以及相关编程的基本技能,以更有效地达到教学目的,提高学生的专业素质。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
要求: 课程设计(论文)要求学生在认真复习教材的基础上,查阅相关资料、认真阅读相关的设计要求,独立按时完成任务;课程设计的说明书、论文要求简洁、通顺、计算正确,程序完整、清楚、规范。
主要内容: 数字时钟的基本信息:
1、能够显示1/10秒、秒、分、时,数码管采用分时复用,有清零按健、停止/开始按键。
2、熟练掌握各种计数器的使用,能用计数器构成十进制、六十进制、十二进制等所需进制的计数器。
3、能用低位的进位输出构成高位的计数脉冲。
四、应收集的资料及主要参考文献:
《可编程逻辑器件原理、开发与应用》 赵曙光
五、审核批准意见
教研室主任(签字)
目 录
一、数字时钟设计的背景 2
二、数字时钟设计的目的 2
三、数字时钟的功能 3
四、数字时钟的设计 3
1.设计思路 3
1.1数字时钟控制器的输入输出总体框图 3
1.2数字时钟控制器的总体设计框图 3
2. 方案论证 4
2.1 数字钟设计方案论证 4
3. 单元模块设计部分 4
3.1 时钟分频模块 4
3.2 时分秒计时控制电路模块 6
3.3译码显示模块 15
4. 系统仿真 16
4.1数字钟仿真图 16
4.2 数字钟原理图 17
五、课程设计总结 19
一、数字时钟设计的背景
本学期我们完成了《EDA技术基础》课程的学习,相应的已经学习了有关的硬件语言:VHDL语言,通过课程学习过程中理论与实践的结合,已经对应用VHDL语言和EDA技术来设计电路有一些了解。
二、数字时钟设计的目的
1.掌握;2.掌握多个数码管显示的原理与方法;3.掌握用FPGA技术的层次化设计方法;
4.进一步掌握用VHDL硬件描述语言的设计思想
5.了解有关数字系统的设计。
1/10秒、秒、分、时,能以12H循环计数。
2.精度是0.1秒。
3.具有系统清零、暂停系统并使系统重新工作的功能。
4可以进行调时调分调秒的功能扩展。
四、数字时钟的设计
1.设计思路
基于VHDL语言,用TOP_DOWN的思想进行设计。
1.1数字时钟控制器的输入输出总体框图
Clk 时钟输入
CLRN(清零端) 七段数码管的输入
(开始/停止信号)
START/STOP
1.2数字时钟控制器的总体设计框图
CLRN(清零端)
置“1”
START/STOP
CLK
2. 方案论证
2.1 数字钟设计方案论证
十进制计数器、六进制计数器、二进制计数器以及由此级联成的六十进制计数器、十二进制计数器构成数字时钟的计数部分;输入25MHZ的时钟经分频器产生100HZ的时钟进入计数器电路;
对于停止/开始的控制部分功能的实现有两种方案:方案一 有普通门电路连接计数器的clrn、ldn和en,使其分别为“1”、“1”和“0”,则有各计数器真值表可知输出Q值不变,从而实现该功能。方案二 输入一个由T触发器构成的控制时钟,来实现该功能。本设计采用的是方案二。
3. 单元模块设计部分
单元设计模块分为三大部分:时钟分频模块,时分秒计时控制电路模块和译码显示模块。
3.1 时钟分频模块
如图3.1所示:
图 3.1
程序如下:
library ieee;
use ieee.std_logic_1164.all;
entity div is
port(clr,clk: in bit;q: buffer bit);
end div;
architecture a of div is
signal counter:integer range 0 to 12499;
begin
process(clr,clk)
begin
if (clk=1 and clkevent) then
if clr=1 then
counter=0;
elsif counter=12499 then
counter=0;
q= not q;
文档评论(0)