FPGA入门学习—4位计数器设计及验证
module设计文件:
`timescale 1ns / 1ps
module counter_4Bit(
input clk,
input rst_n,
output reg [3:0] cnt
);
always @(posedge clk or negedge rst_n) begin
if(!rst_n)
cnt <= 0;
else if(cnt == 4'd15)
cnt <= 0;
else
cnt <= cnt + 1'd1;
end
endmodule
module仿真文件:
`timescale 1ns / 1ps
module tb_counter_4Bit;
reg clk;
reg rst_n;
wire [3:0] cnt;
initial begin
clk <= 0;
rst_n <= 0;
#200 rst_n = 1;
end
always#50 clk = ~clk;
counter_4Bit u_counter_4Bit(
.clk(clk),
.rst_n(rst_n),
.cnt(cnt)
);
endmodule
仿真波形图:
综合原理图: