Verilog中always @*

‘always @*’ 是 Verilog 中一种常用的敏感性列表的写法,它表示敏感于表达式中使用的所有信号。也称为“无条件敏感性列表”或“自动敏感性列表”。

这种写法的好处是可以让编译器自动检测敏感的信号,不需要手动列出敏感性列表,同时也可以避免遗漏信号。因此,使用 always @* 可以让代码更加简洁、易于维护。

以下是一个简单的例子,说明 always @* 的用法:

module example(input a, b, output c);
    always @* 
    begin
        c = a & b;
    end
endmodule

在上面的例子中,当 a 或 b 信号的值发生变化时,always块内部的代码就会执行,并更新c的值。由于使用了always @*,所以编译器会自动检测a和b信号的变化,因此不需要手动列出敏感性列表。

在一些更老的 Verilog 版本中,使用的敏感性列表是 always @(*),而在 SystemVerilog 中,使用的是 always_comb 关键字来实现类似的功能。文章来源地址https://uudwc.com/A/Omy01

原文地址:https://blog.csdn.net/qq_36314279/article/details/129477703

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇 2023年07月11日 09:15
在 Kubernetes 上体验 EMQX 5.0 的 MQTT over QUIC 特性
下一篇 2023年07月11日 09:18