verilog设计一个分,秒定时器电路:输入时钟1KHZ进行分秒计数
目标
实现分秒计数
问题分析
首先要求1KHZ的时钟,周期为1*10e-3s,达成1秒需要1000个周期,因为没有提到占空比就偷懒了,用一个flag信号来代替分频的过程。
其次,既然是要实现分秒计数功能,还需要两个计数器。因为两个计数器都是60进制计数,这两个计数器既可以分开写,也可以通过模块例化来实现。
波形分析
分频器用计数器计数到998时产生一个周期高电平flag信号en_1作为使能端控制分秒计数器运行,每次en_1为高电平,秒计数器就加1,直到加到59,清0向高位输出一个高电平。分计数器2类似。
代码部分
module clock
(
input wire sys_clk ,
input wire sys_rst_n ,
output reg [5:0] cnt_s ,
output reg [5:0] cnt_m
);
reg [13:0] cnt_10