题解 | 简易秒表
简易秒表
https://www.nowcoder.com/practice/6493ca8c7b67499f918e1fa33b4cdeda
`timescale 1ns/1ns
module count_module(
input clk,
input rst_n,
output reg [5:0]second,
output reg [5:0]minute
);
always@(posedge clk or negedge rst_n)
if(!rst_n)
second <= 0;
else if(second==6'd60)
second <= 6'd1;
else if(minute==6'd60)
second <= 0;
else
second <= second + 1;
always@(posedge clk or negedge rst_n)
if(!rst_n)
minute <= 0;
else if(second==6'd60)
minute <= minute + 1;
else if(minute==6'd60)
minute <= 0;
endmodule
`timescale 1ns/1ns
module testbench();
reg clk,rst_n;
wire [5:0]second;
wire [5:0]minute;
always #1 clk = ~clk;
initial begin
$dumpfile("out.vcd");
$dumpvars(0,testbench);
clk = 0;
rst_n = 0;
#3 rst_n=1;
#180;
$finish;
end
count_module dut(
.clk(clk),
.rst_n(rst_n),
.second(second),
.minute(minute)
);
endmodule


