如果级别敏感块中缺少 "else" 子句

If an "else" clause is missing in a level sensitive block

如果一个块是级别敏感的并且缺少一个 else 子句,那么它将推断出什么。

在级别敏感的块中,如果对任何变量进行赋值,则必须在通过该块的所有可能分支中对该变量进行赋值。否则,您可能会推断出该变量的锁存器。因此,您确实需要分析该块以查看缺少的 else 子句是否会导致缺少赋值。例如

always_comb
   begin
   A = 0;
   if(B)
      A = C;
   end

在这个例子中,总是有对 A 的赋值,所以没有推断出锁存器。请注意,如果您使用 always_comb,如果未能在所有可能的分支中进行分配,您应该会收到错误消息。 (这条规则有一些例外情况,我们可以改天再说)