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!

posted @ 2012-04-01 14:40  zhuangzhuang1988  阅读(414)  评论(0编辑  收藏  举报