博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
always@*的含义以及优点
阅读量:5989 次
发布时间:2019-06-20

本文共 1656 字,大约阅读时间需要 5 分钟。

Verilog-2001 added the much-heralded @* combinational sensitivity list token. Although the

combinational sensitivy list could be written using any of the following styles:

always @*
always @(*)
always @( * )

always @ ( * )

or any other combination of the characters @ ( * ) with or without white space, the author prefers the first

and most abbreviated style. To the author, "always @*" clearly denotes that a combinational block of logic
follows.
The Verilog-2001 "always @*" coding style has a number of important advantages over the more
cumbersome Verilog-1995 combinational sensitivity list coding style:
·  Reduces coding errors - the code informs the simulator that the intended implementation is
combinational logic, so the simulator will automatically add and remove signals from the sensitivity
list as RTL code is added or deleted from the combinational always block. The RTL coder is no longer
burdened with manually insuring that all of the necessary signals are present in the sensitivity list. This
will reduce coding errors that do not show up until a synthesis tool or linting tool reports errors in the
sensitivity list. The basic intent of this enhancement is to inform the simulator, "if the synthesis tool
wants the signals, so do we!"
·  Abbreviated syntax - large combinational blocks often meant multiple lines of redundant signal
naming in a sensitivity list. The redundancy served no appreciable purpose and users will gladly adopt
the more concise and abbreviated @* syntax.
·  Clear intent - an always @* procedural block informs the code-reviewer that this block is intended to
behave like, and synthesize to, combinational logic.

转载地址:http://abjlx.baihongyu.com/

你可能感兴趣的文章
你想知道的vue实例
查看>>
Laravel思维导图之Laravel HTTP路由、中间件、控制器
查看>>
巧用 db.system.js 提升20% 开发效率
查看>>
JavaScript 对象所有API解析
查看>>
javascript实现简单的trello实例
查看>>
http那些事:http\http2\https
查看>>
浏览器发送http请求过程分析
查看>>
Node学习记录: koa
查看>>
新人上路-搭建项目-maven和gradle
查看>>
Struts2初始化过程
查看>>
函数式编程(二)
查看>>
330. Patching Array
查看>>
[TODO] CORFU: A Shared Log Design for Flash Clusters
查看>>
2018年开源状况:代码贡献超310亿行,而漏洞超16000个
查看>>
微软亚洲研究院等提出CNN训练新方法RePr,准确率显著提升
查看>>
利用深度学习从大脑活动合成语言,应对人类语音挑战
查看>>
要突破技术瓶颈?80%的人忽略了这个因素
查看>>
PayPal API风格指南和设计模式
查看>>
SSPL的MongoDB再被抛弃,GUN Health也合流PostgreSQL
查看>>
重构和代码异味——通往更整洁的代码
查看>>