过程语句
initial
always
-
initial
仿真0时刻开始执行,整个仿真执行一次 -
always
仿真一直在执行 -
两个不能嵌套使用
-
每个initial 或always语句都代表一个独立的执行过程
initial 语句
module
initial 1
initial 2 //两个互不干扰,并行执行
endmodule
- 语法
initial //语句块内含2条或以上语句需要使用begin ---end或者fork ---join 关键字封装成语句块
begin
statement1 ;
statement2;
---;
statementn;
end
- 常用于测试模块,虚拟模块的编写,用于产生仿真测试激励信号,信号初始化等仿真环境
- 不可综合
实例
module initial1;
reg clk;
reg a,b;
initial
begin
clk=1`b0;
#2 a=1;
#4 b=1;
#5 a=1;
b=1
end
endmodule
always语句
-
包含一个或一个以上的声明语句
-
仿真过程中只要满足触发条件就可重复执行
-
格式:always <时序控制> <语句>;
-
在always中被赋值的之能是寄存器变量,包含一个以上的语句需要在begin—end中或for