verilog @符号什么意思

always后面有@
另外我似乎看到哪里写着@是延迟
always后面应该和if一样只用()才简洁吧,个人感觉

@表示在改时刻
例如 @negedge clk 表示在在负边沿
不只是有always之后才有@的
在仿真的时候可以用@表示在某一时刻来产生某一事件
例如
...
@(posedge clk) input=1;
@(negedge clk) input=0;
...
表示在一个clk的上升沿 输入为1,
在接下来的一个下降沿 输入为0
@在always后市表示敏感信号列表,即指明驱动always的信号时哪些,当这些信号发生改变时,always块里的语句顺序执行一遍
如果后面接的信号没有指明沿,则是以电平触发
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-20
@也就是个循环等待相当于while,不断判断其括号内的事件是否发生,当事件发生时就进入always模块执行一次;if在程序中是按顺序执行,如果没有嵌套在大循环中就只执行一次。
第2个回答  2013-03-05
如:always @ (sl or a or b)表示只要 sl 或 a 或 b 其中若有一个变化时就执行下面的语句。
第3个回答  2010-05-20
那是敏感信号列表
相似回答