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