数字钟verilog

发布时间 : 星期日 文章数字钟verilog更新完毕开始阅读

目 录

1 设计任务及要求 ..................................................................................... 1 2 总体设计分析 ......................................................................................... 1 3 各模块设计 .............................................................................................. 2

3.1 数字钟主体部分 .................................................................................. 2

3.1.1小时计数器 ................................................................................ 2 3.1.2 分、秒计数器 .......................................................................... 3 3.2 分频部分 ............................................................................................. 4 3.3 秒表模块 ........................................................................................... 5 3.4 闹钟模块 ........................................................................................... 5 3.5 时间设置模块 .................................................................................... 7 3.6 报时模块 ........................................................................................... 7 3.7 控制显示模块 .................................................................................... 8 3.8 顶层模块 ......................................................................................... 11

4 总结 .......................................................................................................... 11

4.1 本次作业遇到的问题 ......................................................................... 11 4.2 建议和总结 ..................................................................................... 12

附件 .............................................................................................................. 13

多功能数字钟verilog HDL设计

1 设计任务及要求

本次大作业的要求为设计一个多功能数字钟,其具体要求如下:

1.有基础的实时数字钟显示功能,即时、分、秒的正常显示模式,并且在此基础上增加上,下午显示。

2.手动校准。按动方式键,将电路置于校时状态,则计时电路可用手动方式校准,每按一下校时键,时计数器加1;按动方式键,将电路置于校分状态,以同样方式手动校分。

3.整点报时,仿中央人民广播电台整点报时信号,从59分50秒起每隔2秒发出一次低音“嘟”信号(信号鸣叫持续时间1S,间隙时间1S)连续5次,到达整点(00分00秒时),发一次高音“哒”信号(信号持续时间1S)。 4.闹时功能,按动方式键,使电路工作于预置状态,此时显示器与时钟脱开,而与预置计数器相连,利用前面手动校时,校分方式进行预置,预置后回到正常模式。当计时计至预置的时间时,扬声器发出闹铃信号,时间为半分钟,闹铃信号可以用开关“止闹”,按下此开关后,闹铃声立刻中止,正常情况下应将此开关释放,否则无闹时作用。

5.秒表功能。按start键开始计秒,按stop键停止计秒并保持显示数不变,直到复位信号加入。

2 总体设计分析

设计的总体部分按照要求可以分为基本的数字时钟显示、手动校准、整点

报时、闹钟功能和秒表功能5大部分。其总体设计框图如下:

数 字 钟 手 动 校 准 整 点 报 时 闹 钟 秒 表 图1 总体设计框图

其中整点报时跟闹钟部分要求不同频率的声响,所以需要加入分频器模块

1

多功能数字钟verilog HDL设计

将输入的1kHZ的分频产生500HZ及1HZ的方波信号,其中1HZ的信号对应1S的周期,可以用作时钟秒的显示及秒表部分。

3 各模块设计

根据总体设计以及各分模块的需要,将分立模块分为7个部分运用verilog

HDL编程来实现。其分别为数字钟主体部分、手动设置、分频、整点报时、闹钟功能、秒表、控制显示和顶层8个模块。下面将对各个模块的设计思想做一详细的介绍。 3.1 数字钟主体部分

数字钟主体部分主要由三个计数器组成,包括1个24进制计数器,作为小时计数器,2个60进制计数器分别作为分计数器和秒计数器。一个60进制计数器由一个6进制计数器和一个10进制计数器组成,由于都是比较简单的计数器,所以在用verilog设计时作为一个整体部分进行编程实现。同理小时计数器也作为整体部分来编程实现。设计的流程框图如下图2所示。 数 字 分计数器 60进制 计数器 秒计数器 10进制 计数器 6进制 计数器 <12(早上) 小时计数器 24进制计数器 >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Ⅱ仿真波形如下图

2

多功能数字钟verilog HDL设计

3所示,由于verilog HDL程序显示不便,均附在附件上,下面各模块相同。

图3 小时计数器仿真

从仿真图中可以看出,当使能信号信号为高电平且始终上升沿到来时计数器开始计时,hour_data0计数为0—1—2—3—0···的计数规律,即4进制计数器,同理hour_data1为2进制计数器,zox信号由图中看出当小于12小时的时候输出为0,大于12小时时输出为1,与预计效果相同。

3.1.2 分、秒计数器

由于分、秒计数器均为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 分计数器仿真结果

3

联系合同范文客服:xxxxx#qq.com(#替换为@)