always @ * 是什么意思啊
always @(*)
begin
output = 8'b0;
output[input] = 1'b1;
end
这里的* 代表什么意思啊?
谢谢大家
好象是指 任意电平跳变吧
The always @* procedural block will eliminate the need to list every single always-block input in
the sensitivity list. This enhancement will reduce typing, and reduce design errors. The intent was
to reduce effort when coding combinational sensitivity lists and to reduce opportunities for coding
errors that could lead to a pre-synthesis and post-synthesis simulation mismatch.
简单的说就是: *表示在该模块中敏感的所有电平信号
jichu 的书上有
always
表示该模块对系统中的所有电平信号都敏感!
所有敏感信号
表示包括了该模块中出现过的所有敏感电平
敏感变量列表
学习了
好象是第一次看到
不够严谨的coding方法,仿真速度会很慢,综合要看综合器的支持程度。不建议使用
v2k.....
always@*表示对该always过程中所有用到的输入信号电平敏感
在该模块当中,所有的敏感信号
敏感列表,有的时候在写逻辑的时候, 在下面用到的信号, 有可能忘记添加到敏感列表里面,这样的对综合会有一定的影响,用*代替的话, 综合工具会自动去将逻辑中所有的信号都列入敏感列表里面。
12楼的准确
非常感谢
好像是说所有敏感信号,只要任何一个发生变化就会引起跳变
always@(*)在很多公司的代码规范中是不允许的,建议大家不要用。
应该是对always块内的信号的一直省略写法,感觉像是assign的一种变形
這是verilog 2001新加入的寫法
指的是在這個always block 當中所有的input list有改變的時候.此block就會被觸發
這個寫法可以避免該血而漏寫的時候...會當成latch 電路
