If statement Verilog:为什么if(0)if(1)总是真的?

If statement Verilog:为什么if(0)if(1)总是真的?,if-statement,verilog,If Statement,Verilog,我的verilog始终块如下所示: always @ (a) begin if(1) begin .. end if(0) begin ... end end if(1)是否意味着一旦触发always块,该语句将一直执行? 如果(0),那么有什么意义呢?什么时候执行 注意:这是一个遗留代码,我不是它的所有者。可能有人添加此代码是为了禁用整个代码块。基本上就像它在块注释中一样。如果一段代码已经包含块注释,这将特别有用。但它也有点黑客化,我不会在生产代码中使

我的verilog始终块如下所示:

always @ (a)
begin

  if(1) begin
    ..
  end 

  if(0) begin
    ...
  end

end
if(1)
是否意味着一旦触发always块,该语句将一直执行?
如果(0),那么有什么意义呢?什么时候执行


注意:这是一个遗留代码,我不是它的所有者。

可能有人添加此代码是为了禁用整个代码块。基本上就像它在块注释中一样。如果一段代码已经包含块注释,这将特别有用。但它也有点黑客化,我不会在生产代码中使用它,当然也不会不添加注释。

可能有人添加它是为了禁用整个代码块。基本上就像它在块注释中一样。如果一段代码已经包含块注释,这将特别有用。但是它也有点黑客化,我不会在生产代码中使用它,当然也不会不添加注释。

我不知道这是否是本文的意图,但这种构造允许您编写包含多个不同代码块的源代码,并快速更改其中的一个您希望通过更改具有
1
的条件来输入源

例如,它们可能包含实现同一事物的两种不同方式,如果您需要测试哪种方式的性能更好,则可以更轻松地来回切换

或者,它可能是关于您希望在源代码中包含多少选项


或者,有时,它是一种版本控制形式,允许您保留旧代码,直到您确定不再需要它。

我不知道这是否是本文的目的,但这种构造允许您编写包含多个不同代码块的源代码,并快速更改其中的一个您希望通过更改具有
1
的条件来输入源

例如,它们可能包含实现同一事物的两种不同方式,如果您需要测试哪种方式的性能更好,则可以更轻松地来回切换

或者,它可能是关于您希望在源代码中包含多少选项

或者,有时,它是一种版本控制形式,允许您保留旧代码,直到您确定不再需要它为止