【问题标题】:What does a continue in an always block do?always 块中的 continue 有什么作用?
【发布时间】:2021-04-15 05:08:32
【问题描述】:

我遇到了一段代码,其中continue 位于always 块内。例如:

always @(posedge clk) begin
    count = count + 1;
    if(count[0])
        continue;
    $display("count: ",count);
end

我无法理解continue 在这里的工作原理,因为我认为continue 仅在循环中使用时才适用。请告诉任何相关的事情。

【问题讨论】:

    标签: system-verilog


    【解决方案1】:

    根据 IEEE Std 1800-2017,第 12.8 节 跳转语句:

    The continue and break statements can only be used in a loop.
    

    由于continue 语句不在循环内(例如forwhile 循环),所以它是非法语法。 edaplayground 上的几个模拟器会产生编译错误。如果您没有收到错误,则您的模拟器不符合标准,您的代码将无法与其他模拟器移植。此外,由于它在标准中被明确禁止,因此其行为未定义。

    【讨论】:

      猜你喜欢
      • 2013-12-20
      • 1970-01-01
      • 1970-01-01
      • 2016-08-27
      • 1970-01-01
      • 2020-10-11
      • 1970-01-01
      • 2016-01-23
      • 1970-01-01
      相关资源
      最近更新 更多