eda课程设计1203010
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《EDA技术》
课程设计报告
题目: FPGA数字时钟设计
班级: 12电信本2
学号: 1203010211
姓名:高翔
同组人员:汤吉鑫王正提
指导教师:杨祖芳
2015年 5月1日
目录
1 设计任务 (1)
2 总体设计方案 (1)
2.1 设计思路 (1)
2.2 总体设计框图 (1)
3 单元电路设计 (1)
3.1 秒计数器模块设计与实现 (1)
3.2 分计数器模块设计与实现 (3)
3.3 时计数器模块设计与实现 (4)
3.4 校准模块 (5)
3.5 BCD七段显示译码器 (5)
3.6 3-8线译码器模块设计与实现 (6)
3.7 分频器的设计与实现 (7)
3.8 去抖模块 (7)
3.9 动态扫描数码显示器 (8)
3.10 顶层原理设计图 (8)
4 硬件测试与结果分析 (9)
4.1 硬件测试 (9)
4.2 测试过程及结果分析 (9)
5 收获与体会 (10)
参考书目 (10)
附录 (11)
1 设计任务
设计并实现具有一定功能的数字钟。包括清零、置数、计数、报时等功能。 (1)具有时、分、秒计数显示功能,且以24小时循环计时。 (2)具有清零的功能,且能够对计时系统的小时、分钟进行调整。 (3)具有整点报时功能。
2 总体设计方案
2.1 设计思路
本设计采用层次化设计方式,先设计数字时钟的底层器件:秒计数器、分
计数器、时计数器、bcd 七段显示译码器、3-8译码器、分频器、动态扫描数码显示器。顶层采用原理图设计方式,将所设计的底层器件连接起来构成一个具有计时和调时功能的数字时钟。 2.2 总体设计框图
图2-2 设计框图
3 单元电路设计
3.1 秒计数器模块设计与实现
计时模块使用的时钟信号为1Hz 。秒计时模块为60进制计数器,也可以看为个位为10进制十位为6进制。当秒的个位显示到9时,下一秒向十位进1
并将个位重新归零并开始计数,当十位为5个位为9时,计时器下一秒向分计数器进1并同时将秒计时器个位、十位归零。也可以看成计时器从00开始计数到59,当秒显示为59时,下一秒将显示00并从新开始计数,同时向分位为进1。当秒计时模块中扫描到有按键按下时,直接向分计时器进1,但不影响秒计时器的正常计数(扫描按键是
否按下的时钟速度要极快,否则可能无法扫描到是否有按键按下)。 3.1.1 秒计数器流程图如下:
Y
N
图3-1-1 秒钟计数器流程图
3.1.2 秒计数器生成模块如图所示:
图3-1-2 秒钟计数器模块图
其中,clk 是时钟信号,daout 是60计数输出,enmin 是向分进位的高电平。3.1.3 波形仿真图
图3-1-3 波形仿真图
波形分析:由波形图知秒计数器是由60进制计数器完成的00到59的循环计数功能,当计数到59时,再来一个计数脉冲则产生进位输出,即enmin=1,作为分计数器的计数脉冲。
秒脉冲 满60 向分进位
60计数器 清零
秒计数输出
3.2 分计数器模块设计与实现
计时模块60进制计数器,也可以看为个位为10进制十位为6进制。分计时器
接收到来自秒计时器的脉冲信号是,其个位自动进1,当分的个位显示到9时,下一秒向十位进1并将个位重新归零并开始计数,当十位为5个位为9时,计时器下一秒向时时器进1并同时将分计时器的个位、十位均归零。当分计时模块中扫描到有本模块的按键按下时,直接向时计时器进1,但不影响分计时器的正常计数。 3.2.1 分计数器流程图如下:
N
Y
Y
N
图3-2-1 分钟计数器流程图
3.2.2 分计数器生成模块如图所示:
图3-2-2 分钟计数器模块图
其中,clk 是时钟信号,daout 是60计数输出,enhour 是向时进位的高电平。 3.2.3 波形仿真图
分计数输出 向时进位
清零
60计数器 调分按键按下 满60 进位高电平
图3-2-3 波形仿真图
波形分析:由波形图可知,该模块实现了分计数的功能,计数循环从00到59,计数脉冲为秒计数器的进位输出,即enmin 。当计数到59时,再来一个计数脉冲则产生进位输出,即enhour=1,作为时计数器的计数脉冲。 3.3 时计数器模块设计与实现
时计时器为一个24进制计数器,也可以看为个位由4进制、十位由2进制构成。当时计时器接收到来自分计时器的脉冲信号时,自动加1,当计数器为23时若再接收到一个脉冲信号则归零并重新开始计数。 3.3.1 时计数器流程图如下:
N
Y
Y
N
图3-3-1 时钟计数器流程图
3.3.2 时计数器生成模块如图所示:
图3-3-2 时钟计数器模块图
其中,clk 是时钟信号,daout 是24计数输出。
调时按键按下 24计数器 满24 时计数输出 清零
进位高电平
3.3.3 波形仿真图
图3-3-3 波形仿真图
波形分析:小时计数模块由24进制计数器完成的从00到23之间的循环计数,计数脉冲为分计数器的进位输出,即enhour。
3.4 校准模块
当开关拨至校时档时,电子钟秒计时工作,通过时、分校时开关分别对时、分进行校对,开关每按1次,与开关对应的时或分计数器加1,当调至需要的时与分时,拨动reset开关,电子钟从设置的时间开始往后计时。
3.5 BCD七段显示译码器
LED数码显示器是数字系统实验里面经常使用的一种显示器件,因为它经常显示的是十进制或十六进制的数,所以我们就要对实验里面所用到的二进制数进行译码,将它们转换成十进制的或是十六进制的数。此次实验使用的LED数码显示器是共阴的连接,高电平有效。输入信号为D0,D1,D2,D3,相应的输出8段为a、b、c、d、e、f、g、Dp。它们的关系表格如下:其中A,B,C,D 接拨号开关,a,b,c,d,e,f,g,dp和使能端AN(高电平工作)接数码显示接口,管脚映射均为I/O口,映射后,通过拨号开关改变输入二进制码,则输出数码管上显示相应的数值。
3-5-1 真值图