在Verilog里边 always@(*)语句是什么意思?

如题所述

就是一种时序语句 根据括号里面的敏感信号 改变系统输出。

always块语句有两种触发方式,一种是延触发一种是电平变化触发,沿触发就是相当于posedge之类的语言约束的信号,如果没有如posedge之类的约束的话就是电平变化触发,就是说你always快语句里面的所有输入信号只要有其中一个发生变化就能触发always块语句,你问的那个只是触发信号的缺省模式,功能一样的。

Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-02

always块语句有两种触发方式,一种是延触发一种是电平变化触发,沿触发就是相当于posedge之类的语言约束的信号,如果没有如posedge之类的约束的话就是电平变化触发,就是说你always快语句里面的所有输入信号只要有其中一个发生变化就能触发always块语句,你问的那个只是触发信号的缺省模式,功能一样的

电平变化触发,这语句一般连着一个if语句用,使用起来其实相当于一个assign

举个例子,比如

always@(*)

if(a)

b=c;

if a==1,b=c;

相当于assign b=(a)?b:c;

相似回答