题解 | 简易秒表
简易秒表
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