`timescale 10ns/1ps
module CNT_tb;
reg clk,RST,EN;
wire[3:0]q;
initial
begin
clk=0;
forever #2.5 clk=~clk;
end
initial
begin
RST=0; EN=1;
#15 RST=1;
#10 RST=0;
#45 EN=0;
#10 EN=1;
#10 $stop;
end
CNT_tb CNT(.clk(clk),.RST(RST),.EN(EN),.q(q));
endmodule
module CNT(output reg [3:0]q,input clk,input RST,input EN);
always@(posedge clk,posedge RST)
begin
if(RST)q<=0;
else if(!EN)q<=q;
else q<=q+1;
end
endmodule
EDA学习笔记timescale 10ns/1ps
最新推荐文章于 2025-07-07 11:06:07 发布
本文介绍了一个使用Verilog HDL语言实现的简单计数器模块及其测试平台的设计过程。计数器模块包含输入信号clk、RST和EN,以及输出信号q。在测试平台中,通过时钟信号的周期变化和控制信号RST、EN的操作,验证了计数器的功能。该设计展示了Verilog HDL的基本语法和模块化编程技巧。
2673

被折叠的 条评论
为什么被折叠?



