没有合适的资源?快使用搜索试试~ 我知道了~
数字钟verilog.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 111 浏览量
2021-10-06
08:25:18
上传
评论 1
收藏 235KB DOC 举报
温馨提示
试读
21页
数字钟verilog.doc
资源推荐
资源详情
资源评论
- -
目录
1 设计任务及要求...........................................................................................1
2 总体设计分析.............................................................................................. 2
3 各模块设计................................................................................................. 2
3.1.1 小时计数器................................................................................3
3.1.2 分、秒计数器............................................................................3
图 14 整体仿真结果.......................................................................................12
4 总结......................................................................................................... 12
附件............................................................................................................ 13
1 设计任务及要求
本次大作业的要求为设计一个多功能数字钟,其具体要求如下:
1.有根底的实时数字钟显示功能,即时、分、秒的正常显示模式,并且在此
根底上增加上,下午显示。
2.手动校准。按动方式键,将电路置于校时状态,那么计时电路可用手动方
式校准,每按一下校时键,时计数器加 1;按动方式键,将电路置于校分状态,
以同样方式手动校分。
3.整点报时,仿中央人民播送电台整点报时信号,从 59 分 50 秒起每隔2秒
发出一次低音“嘟〞信号〔信号鸣叫持续时间1S,间隙时间1S〕连续5次,
到达整点〔00 分 00 秒时〕,发一次高音“哒〞信号〔信号持续时间1 S〕。
4.闹时功能,按动方式键,使电路工作于预置状态,此时显示器与时钟脱开,
而与预置计数器相连,利用前面手动校时,校分方式进展预置,预置后回到正
常模式。当计时计至预置的时间时,扬声器发出闹铃信号,时间为半分钟,闹
- - word.zl-
- -
铃信号可以用开关“止闹〞,按下此开关后,闹铃声立刻中止,正常情况下应将
此开关释放,否那么无闹时作用。
5.秒表功能。按 start 键开场计秒,按 stop 键停顿计秒并保持显示数不变,
直到复位信号参加。
2 总体设计分析
设计的总体局部按照要求可以分为根本的数字时钟显示、手动校准、整点报时、
闹钟功能和秒表功能 5 大局部。其总体设计框图如下:
图 1 总体设计框图
其中整点报时跟闹钟局部要求不同频率的声响,所以需要参加分频器模块将输
入的 1kHZ 的分频产生 500HZ 及 1HZ 的方波信号,其中 1HZ 的信号对应 1S
的周期,可以用作时钟秒的显示及秒表局部。
3 各模块设计
根据总体设计以及各分模块的需要,将分立模块分为 7 个局部运用 verilog
HDL 编程来实现。其分别为数字钟主体局部、手动设置、分频、整点报时、闹
钟功能、秒表、控制显示和顶层 8 个模块。下面将对各个模块的设计思想做一
详细的介绍。
3.1 数字钟主体局部
数字钟主体局部主要由三个计数器组成,包括 1 个 24 进制计数器,作为小时
计数器,2 个 60 进制计数器分别作为分计数器和秒计数器。一个 60 进制计数
器由一个 6 进制计数器和一个 10 进制计数器组成,由于都是比拟简单的计数
器,所以在用 verilog 设计时作为一个整体局部进展编程实现。同理小时计数
器也作为整体局部来编程实现。设计的流程框图如下列图 2 所示。
- - word.zl-
数
字
钟
主
体
小时计数器
分计数器
秒计数器
24 进制计数器
60 进制
计数器
6 进制
计数器
10 进制
计数器
<12( 早上 )
>12( 下午 )
秒 表
闹 钟
手 动 校 准
整 点 报 时
数
字
钟
- -
图 2 数字钟整体局部设计框图
3.1.1 小时计数器
在 verilog 程 序 设 计 中 , 小 时 计 数 器 为 hour_counter 模 块 , 其 中
hour_data0 为 24 进制计数器的低位,即 4 进制计数器,hour_data1 那么为
高位,2 进制计数器。编程用 always 语句实现,并且用 clk 上升沿触发实现计
数。EN 为使能端,高电平有效。zox 为显示早上、下午的标志位,其中小于
12 点之前为早上,zox 为 0,否那么 zox 输出为 1 表示下午。其 QuartusⅡ 仿
真波形如下列图 3 所示,由于 verilog HDL 程序显示不便,均附在附件上,下
面各模块一样。
图 3 小时计数器仿真
从仿真图中可以看出,当使能信号信号为高电平且始终上升沿到来时计数器开
场计时,hour_data0 计数为 0—1—2—3—0···的计数规律,即 4 进制计数器,
同理 hour_data1 为 2 进制计数器,zox 信号由图中看出当小于 12 小时的时
候输出为 0,大于 12 小时时输出为 1,与预计效果一样。
3.1.2 分、秒计数器
- - word.zl-
- -
由于分、秒计数器均为 60 进制计数器,所以以分计数器作为例如说明其编
程思想。其中分计数器模块在程序中为 minute_counter 程序段,由上面分析
得 分 计 数 器 由 一 个 十 进 制 计 数 器 与 一 个 六 进 制 计 数 器 组 成 , 程 序 中 有
minute_data0 表示分计数器低位即 10 进制计数器,minute_data1 表示分
计 数 器 的 高 位 为 一 个 六 进 制 计 数 器 〔 秒 计 数 器 的 低 位 、 高 位 分 别 由
second_data0、second_data1 表示,其余均与分计数器一样〕。其它信号
定义与小时计数器一样,clk 为时钟信号,时钟周期为 1HZ,即 1s,与小时计数
器 不同 的是 ,EO 为进 位信 号, 即到 60s 后 自 动 进 位 。 Minute_data0 、
minute_data1、second_data0、second_data1 位宽均为 4 位 reg 型变量。
仿真示意图如下列图 4 所示。
图 4 分计数器仿真结果
由图中可以看出,当使能端信号端 EN 变为 1 的时候,计数器开场计时 ,
minute_data0 计数规律为 0—1—2—3—4—5—6—7—8—9—0—1···当计
数到 9 的时候,minute_data1 加 1,minute_data1 计数规那么为 0—1—2
—3—4—5—0—1···当高位 minute_data1 计数到 5 的时候,进位信号 EO 变
为 1。秒计数器 second_counter 模块与分计数器完全一样,这里不再赘述。
3.2 分频局部
分频器的功能主要有三个:一是产生计时用的标准秒脉冲 1HZ 信号;二是
提供仿电台用的 1kHZ 高音频信号和 500HZ 低音频信号;三是闹钟设置时用
的 200HZ 闪烁信号和闹钟响铃用的 500HZ 音频信号。所用输入信号为 1kHZ
的高频信号。根据分析可知,1kHZ 方波信号经过 2 分频可以得到 500HZ 方
波,经过 5 分频得到 200HZ 信号,最后将分频得到的 200HZ 信号作为分频
1HZ 的时钟,经过 200 分频得到 1HZ 的信号。设计框图如下列图 5 所示。
- - word.zl-
2 分频 5 分频
1kHZ 信号
(clk)
500HZ(f500hz
)
200HZ(f200h
z)
1HZ(f1hz)
200 分
频
- -
图 5 分频信号框图
在程序设计的过程中,在复位信号 rst 为高电平时分频器工作,输入信号
为 1kHZ 的高频信号,分别经过 2 分频、5 分频、200 分频得到 f500HZ 的
500HZ 信号、f200HZ 的 200HZ 信号和 f1HZ 的 1HZ 信号。仿真结果如下列
图 6 所示。
图 6 分频信号结果仿真图
从 仿 真 图 中 可 以 看 到 , 在 rst 为 高 电 平 时 分 频 过 程 开 场 ,
f500HZ、f200HZ 和 f1HZ 也与预期的输出结果一样。
3.3 秒表模块
秒表模块实现秒表功能,在实现的过程中,通过改变自开工作模式下的时
钟频率来实现秒表的功能。即按动 start 键闹钟开场工作,再次按动 start 键,
闹钟便停顿工作。由于秒表模块比拟简单,流程图在此省略。
根据分析,在 verilog HDL 实现过程中,clk 作为时钟正常工作时候的频
率,f500hz 为秒表工作时候的频率,仿真结果如下列图 7 所示。
- - word.zl-
剩余20页未读,继续阅读
资源评论
gjmm89
- 粉丝: 13
- 资源: 19万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功