【问题标题】:Assigning values in Verilog: difference between assign, <= and =在 Verilog 中赋值:assign、<= 和 = 之间的区别
【发布时间】:2015-02-10 16:41:33
【问题描述】:

我刚开始学习 Verilog,我从不同的来源看到了这三行代码。我对这三者之间的区别感到困惑:

  1. c
  2. 赋值 c = ~a;
  3. c = 1'b0;

这些行似乎为 c 赋值,但有什么区别?谢谢。

【问题讨论】:

    标签: verilog assign


    【解决方案1】:

    1) &lt;=non-blocking 并且在时钟的每个上升沿执行。这些是并行评估的,因此不能保证顺序。一个例子就是寄存器。

    2) assign =continual 赋值连接到 always 语句之外。 LHS 的值会随着 RHS 的变化而更新。

    3) =blocking 赋值,always 语句内部强制执行顺序。

    【讨论】:

    • 我认为还值得注意的是非阻塞 (&lt;=) 和阻塞 (=) 必须在 initialalways 块内使用。
    猜你喜欢
    • 2023-03-19
    • 2012-01-28
    • 2023-03-23
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 2023-04-06
    相关资源
    最近更新 更多