概述
★ Always过程块语法:
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@(*)
,此时综合或仿真工具会自动把
always
块中出现的敏感信号加入敏感信号列表
。
★★ 在always块内被赋值的信号
在always块内部的每一个信号都必须定义成寄存器型!!!!
注意:是等号”=”左边的变量,而不是右边的表达式,右边的表达式可以是任何类型
★★ always块外被赋值的信号
l
必须指定为wire类型
l
如果是
端口信号,那么默认的类型就是wire类型的,不需要另外指定。
★★ 同一个reg,多个always
对一个寄存器型(reg)和整型(integer)变量给定位的赋值只允许在一个always块内进行,如在另一always块也对其赋值,这是非法的。
最后
以上就是贪玩小甜瓜为你收集整理的Always过程块语法的全部内容,希望文章能够帮你解决Always过程块语法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复