专栏前言
本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网
`timescale 1ns/1ns
module count_module(
input clk,
input rst_n,
input set,
input [3:0] set_num,
output reg [3:0]number,
output reg zero
);
reg [3:0] cnt ;
always @ (posedge clk or negedge rst_n) begin
if (~rst_n) cnt <= 0 ;
else cnt <= set ? set_num : cnt + 1 ;
end
always @ (*) begin
if (~rst_n) zero <= 0 ;
else zero <= number == 0 ;
end
always @ (posedge clk or negedge rst_n) begin
if (~rst_n) number <= 0 ;
else number <= cnt ;
end
endmodule