always(*)是什么意思?

这篇具有很好参考价值的文章主要介绍了always(*)是什么意思?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在最开始学习verilog时,发现别人写的代码中出现了always@(*)的代码,当时也是一脸懵,不知道啥意思,也找不到人询问,网上也很少解答这种简单问题的,所以写下这样一个解答,希望刚学习的小白可以很快的理解它的含义。

1.always @(posedge clk or negedge rst_n)

这个语句是我们学习verilog最常用到的语句,@后面的括号内是敏感事件列表,也就是执行always后面内容的触发条件。
敏感事件列表可以包含多个敏感事件,但不可以同时包括电平敏感事件和边沿敏感事件,也不可以同时包括同一个信号的上升沿和下降沿。

2.always @(*)

那么按照上面的理解always @(*)中的敏感事件为✳,事实上这里的✳代表的是这个alway块的内容中出现的所有的变量,只要这些变量发生变化这个always块儿就会被触发。这种立即触发的逻辑电路实事上也就是组合逻辑电路。

3.assign 与 always @(*)有啥区别

既然always @(✳)也是组合逻辑电路的表示方法,那么它和assign有啥区别了?
1.assign只能处理wire型变量,always@(✳)处理的是reg型号的变量。
2.assign可以直接赋值一个定值,而always@(✳)不能只赋一个定值,还需要这个值能够发生变化,以触发always块。
always @(*) begin temp <= 1'b1 end
如上面一段代码,由于1’b1永远不会发生改变,always语句块也永远不会被执行,那么temp的值一直处于一个不定态。

以上就是我对always@(✳)的理解,如果你看到了这里觉得对你有帮助,请帮忙点赞收藏加关注,如果有啥不妥的地方,也请评论指正。文章来源地址https://www.toymoban.com/news/detail-773098.html

到了这里,关于always(*)是什么意思?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

领支付宝红包 赞助服务器费用

相关文章

  • Verilog中always @*

    ‘always @*’ 是 Verilog 中一种常用的敏感性列表的写法,它表示敏感于表达式中使用的所有信号。也称为“无条件敏感性列表”或“自动敏感性列表”。 这种写法的好处是可以让编译器自动检测敏感的信号,不需要手动列出敏感性列表,同时也可以避免遗漏信号。因此,使用

    2024年02月15日
    浏览(69)
  • Verilog 过程结构(initial, always)

    过程结构语句有 2 种,initial 与 always 语句。它们是行为级建模的 2 种基本语句。 一个模块中可以包含多个 initial 和 always 语句, 但 2 种语句不能嵌套使用 。 这些语句在模块间并行执行,与其在模块的前后顺序没有关系 。 但是 initial 语句或 always 语句内部可以理解为是顺序

    2024年02月06日
    浏览(37)
  • 想着和GTP讨论关于人的一些哲学问题(答案很有意思)

    我:我觉得人活着没啥意义 GPT:作为AI语言模型,我当然不能给你身为人类的绝对回答,但我可以提供一些哲学和心理学上的观点供你参考。 人类作为一种高智能的生物存在于地球上已经很久了,并对自然环境和社会文明做出了许多贡献。每个人有自己的一种“存在意义”,

    2023年04月20日
    浏览(51)
  • 想着和GTP讨论关于人或AI的一些问题(答案很有意思)

    我:我觉得人活着没啥意义 GPT:作为AI语言模型,我当然不能给你身为人类的绝对回答,但我可以提供一些哲学和心理学上的观点供你参考。 人类作为一种高智能的生物存在于地球上已经很久了,并对自然环境和社会文明做出了许多贡献。每个人有自己的一种“存在意义”,

    2023年04月23日
    浏览(81)
  • (Verilog) wire和reg,以及always

    For combinational always blocks, always use a sensitivity list of (*). Explicitly listing out the signals is error-prone (if you miss one), and is ignored for hardware synthesis. If you explicitly specify the sensitivity list and miss a signal, the synthesized hardware will still behave as though (*) was specified, but the simulation will not and not matc

    2024年02月14日
    浏览(39)
  • hdlbits系列verilog解答(always块if语句)-31

    if 语句通常创建一个 2 对 1 多路复用器,如果条件为 true,则选择一个输入,如果条件为 false,则选择另一个输入。 always @(*) begin if (condition) begin out = x; end else begin out = y; end end 这等效于使用带有条件运算符的连续赋值: assign out = condition ? (x : y); 使用if语句不当时会产生不想

    2024年02月06日
    浏览(36)
  • Verilog Tutorial(5)使用always块实现时序逻辑电路

    在自己准备写verilog教程之前,参考了许多资料----FPGA Tutorial网站的这套verilog教程即是其一。这套教程写得不错,只是没有中文,在下只好斗胆翻译过来(加了自己的理解)分享给大家。 这是网站原文:https://fpgatutorial.com/verilog/ 这是系列导航:Verilog教程系列文章导航 这篇文

    2023年04月21日
    浏览(36)
  • 区块链中的交易是什么意思

    id:BSN_2021 公众号:BSN研习社 关于区块链,交易是一个绕不开的话题。区块链可以看做一个不断实时同步的分布式账本,在这个账本上,每一个动作都可以算作一笔“交易”。正是一笔笔交易,才构成了账本的全部。 关于交易,有很多基础术语需要我们了解。 交易/Transaction

    2024年02月06日
    浏览(56)
  • 区块链中的节点是什么意思?

    众所周知,我的好朋友阿强,一个币圈奇才,对所有可以一夜暴富的项目都有着出奇的热忱的一个敢于试错的勇士,今天他又又又又给我推荐了一个项目——美公链。 号称全面涵盖吃喝玩乐购,链上可视化数据消费补贴,消费增值,消费共享,消费股东为一体产业区块链的链

    2023年04月08日
    浏览(48)
  • java中的Dao类是什么意思

    DAO类都是进行数据操作的类, 是对于数据库中的数据做增删改查等操作的代码。 DAO(Data Access Object) 数据访问对象是一个面向对象的数据库接口,它显露了 Microsoft Jet 数据库引擎(由 Microsoft Access 所使用),并允许 Visual Basic 开发者通过 ODBC 像直接连接到其他数据库一样,直接

    2024年02月13日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包