结构语句
总述:
-
一个程序可以有多个
initial
和always
块,每个initial
和always
说明语句在仿真一开始就立即执行initial
只执行一次always
不断重复活动直到仿真结束,若触发条件满足则执行过程块一次initial
,always
语句次数不受限制,同时开始运行
-
task
,function
可以在程序模块中一处或多出调用
initial说明语句:
例:存储器变量赋初值
例:激励波形生成
- 一个模块可以有多个
initial
块,并行运行 initial
块常用于测试文件和虚拟模块的编写,用来产生仿真测试信号和设置信号记录等仿真环境
always说明语句:
沿触发:or
关键字连接(可使用,
代替),只要其中一个沿出现就执行过程块
- 常描述时序行为(如有限状态机)
电平触发:只要其中任何一个电平发生变化(由高到低/由低到高),就执行过程块
- 常描述组合逻辑行为
多个always块并没有前后之分:若可综合,则描述某种结构;若不可综合,则描述电路结构的行为
@*
操作符:表示对其后块语句中所有输入变量的变化敏感
wait
关键字:电平敏感时序控制,等待电平敏感条件为真才执行(而不仅仅是发生改变)
例:仿真死锁
例:时钟信号
- 发生
- 利用