verilog学习 (三)

本文介绍了一个简单的Verilog计数器程序设计,通过时钟信号控制计数器递增,实现了基本的计数功能,并介绍了如何进行仿真验证。

这次再写个简单的verilog程序计数器

module counter();

reg clk;
reg[3:0] count;

initial
begin
clk = 0;
count = 0;
#100 $finish;
end

initial
begin
$dumpfile("test.vcd");
$dumpvars();
//$monitor("time= %d clk = %b count=%d", //这句用在命令行下面监控的    //   $time,clk,count); //不过有了gtkwave能省则省了
                                              //为此我还为这个段录制了宏 o(︶︿︶)o 太懒了
    end

always @(clk)
begin
count = count + 1;
end

always
#1 clk = ~clk;

endmodule

代码还是很简单每次过一个时钟计数器就增加一,由于计数器只使用了四个寄存器所以只能到达`4'b1111`也就是15,仿真结果如下:

由于代码太简单了测试程序和实现程序都放在同一个模块中.以后慢慢的会拆开来的.

OVER!

转载于:https://www.cnblogs.com/zhuangzhuang1988/archive/2012/04/01/2428753.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值