System verilog @(posedge clk)开始和结束之间的区别是什么。。。。和@(posedge clk);?
以下两者之间的区别是什么: 一, 二,System verilog @(posedge clk)开始和结束之间的区别是什么。。。。和@(posedge clk);?,system-verilog,System Verilog,以下两者之间的区别是什么: 一, 二, 与@(posedge clk)一起使用的begin..end是否会有所不同?事件控制,如过程代码中的@和控件本身不是语句;它们是后面语句的前缀。语句可以是一个简单的语句,比如赋值,也可以是一个块,比如begin/end或fork/join。只要允许一条语句,就允许一个块 当您编写@(posedge clk)时它实际上是@(posedge clk)null_语句 我应该给你足够的信息来回答你的问题,但这里有另一个变体: forever @p
与@(posedge clk)一起使用的begin..end是否会有所不同?事件控制,如过程代码中的
@
和
控件本身不是语句;它们是后面语句的前缀。语句可以是一个简单的语句,比如赋值,也可以是一个块,比如begin/end或fork/join。只要允许一条语句,就允许一个块
当您编写@(posedge clk)时代码>它实际上是@(posedge clk)null_语句代码>
我应该给你足够的信息来回答你的问题,但这里有另一个变体:
forever
@posedge(clk)
if(vif.sof == 1) begin
//some code here
end
现在,如果分号跟在@(posedge clk)
后面,则会有很大的区别
forever begin
**@posedge(clk);**
if(vif.sof == 1) begin
//some code here
end
end
forever
@posedge(clk)
if(vif.sof == 1) begin
//some code here
end