基于FPGA实现多功能数字钟
电子系071180094
王丛屹
摘要
本文利用VerilogHDL语言自顶向下的设计方法设计多功能数字钟并通过ISE完成综合、仿真。此程序通过下载到FPGA芯片后可应用于实际的数字钟显示中,实现了基本的计时显示和设置,调整时间,闹钟设置的功能。
关键词FPGA;VerilogHDL;数字钟
f一、多功能数字钟的设计
设计一个多功能数字时钟,具有时分、秒计数显示、闹钟功能。能够利用按键实现对闹钟时间的设定并在当前显示时间到时后能够进行闹钟提示。能够利用按键实现“较时”、“较分”功能,随时对数码管的显示进行校正和校对。数字中系统主要由系统时钟,三个功能按键(mode,tur
,cha
ge),FPGA,数码管和蜂鸣器部分组成。
数码管
显示模块
分
频
计时模块
闹钟模块
蜂鸣
模
器
Clk
块
控制模块
图:多功能数字钟总体设计模块以下就各个模块说明其功能1分频模块
f由于FPGA内部提供的时钟信号频率大约为50MHz,在这需要将它转化成1Hz的标准时钟信号供数字钟的计时显示;在此我采用了级联分频法。RTL图如下:
代码如下:
fe
pi
modulefe
pi
clkclk_1Hzclk_100Hzclk_1koutputclk_1Hzclk_100Hzclk_1ki
putclkregclk_1Hz0clk_30clk_10clk_20clk_1k0reg60c
t10c
t20c
t30c
t40c
t50wireclk_100Hzalwaysposedgeclkbegi
ifc
t115621156分频生成1MHz信号
begi
c
t1c
t11e
delsebegi
c
t10clk_1clk_1e
de
d
alwaysposedgeclk_1ifc
t215621100分频,生成10000Hz信号
begi
c
t2c
t21e
delsebegi
c
t20clk_2clk_2e
d
alwaysposedgeclk_2ifc
t5102110分频,生成1kHz标准信号
begi
c
t5c
t51e
delsebegi
c
t50
fclk_1kclk_1ke
d
alwaysposedgeclk_2ifc
t310021100分频,生成100Hz信号
begi
c
t3c
t31e
delsebegi
c
t30clk_3clk_3e
dassig
clk_100Hzclk_3
alwaysposedgeclk_3ifc
t410021100分频,生成1Hz标准信号
begi
c
t4c
t41e
delsebegi
c
t40clk_1Hzclk_1Hze
de
dmodule
最终输出的是1Hz100Hz1kHz的标准时钟信号clk_1Hzclk_100Hzclk_1k。
2、计时模块原理:m是模式按键,当m0时,进入计时模式,在计时模式下可以进行时间调整。
um3,
um4产生加速调整时间,当其值为1时,可以快速调整时间,该调整时间的频率由clk提供。cou
ta,cou
t1是手动调节时间。Tur
接按键,可以改变当前调节的是小时还是分钟,长按tur
键还可以使秒钟信号r