Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
System verilog @(posedge clk)开始和结束之间的区别是什么。。。。和@(posedge clk);?_System Verilog - Fatal编程技术网

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