13.Verilog中的时钟(clk)的产生方法

本文介绍了在Verilog中生成时钟信号的两种常见方法:一是使用always块结合延时#10和取反操作~clk实现时钟翻转;二是利用initial块内的forever语句达到同样的效果。这两种方法都在验证环境中被广泛使用,特别是在UVM中,forever语句更为常见。

clk的产生主要应用在验证中,产生目前主流的就是两种方法,一个是always块,一个是适合用forever语句,接下来将分别进行介绍:

①使用always块来产生时钟,如下所示。

reg         clk;

initial     clk=0;//initial 表示刚开始,0时刻

always #10 clk = ~clk;

这个always表示总是一直,前面讲always块的时候已经介绍过。不懂的往前翻,这里不再赘述。
#10表示延迟10个时间单位,clk 取反,一直循环再延迟10个时间单位clk再 取反,表示这个时钟
周期是20.


②另外一种是用forever语句(UVM常用)

reg    clk;

initial begin  //forever要放在initial 块里面

    forever  begin
        #10    clk = ~clk;
    end

end

和上面使用always块类似。

非常简单,产生时钟的方法学会了么?出一个思考题

思考:#10 和##10

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值