EDA学习笔记timescale 10ns/1ps

本文介绍了一个使用Verilog HDL语言实现的简单计数器模块及其测试平台的设计过程。计数器模块包含输入信号clk、RST和EN,以及输出信号q。在测试平台中,通过时钟信号的周期变化和控制信号RST、EN的操作,验证了计数器的功能。该设计展示了Verilog HDL的基本语法和模块化编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

`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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值