always过程块是由always过程语句和语句块组成的,语法格式如下:
always @ (敏感事件1 or 敏感事件2 or 敏感事件3…….)
语句块
★★ always后面的语句块,如果只有一个类型的语句,可以不加begin…end
例如:always@(posdege clk or negedge rstn) begin ---------------只有一个语句,可以不要
If(rstn)
Q=4’d0;
Else q=q+1;
End ---------------只有一个语句,可以不要
用always实现组合逻辑要将所有输入信号列入敏感列表
用always实现时序逻辑不一定要将所有输入信号列入敏感列表
如果在设计中不愿列举过多的敏感信号,在综合工具和仿真工具的支持下,也可以使用always@(*),此时综合或仿真工具会自动把always块中出现的敏感信号加入敏感信号列表。
在always块内部的每一个信号都必须定义成寄存器型!!!!
注意:是等号”=”左边的变量,而不是右边的表达式,右边的表达式可以是任何类型
l 必须指定为wire类型
l 如果是端口信号,那么默认的类型就是wire类型的,不需要另外指定。
对一个寄存器型(reg)和整型(integer)变量给定位的赋值只允许在一个always块内进行,如在另一always块也对其赋值,这是非法的。
用户541503 2011-10-19 14:32