verilog中的initial语句

1.每个initial语句和always语句代表一个独立的执行过程,每个执行过程从仿真时间0开始执行并且两种语句不能嵌套使用。

所有的initial语句内的语句构成了一个initial块。initial块从仿真0时刻开始执行,在整个仿真过程中只执行一次。如果一个模块中包括了若干个initial块,则这些initial块从仿真0时刻开始并发执行,且每个块的执行是各自独立的。如果在块内包含了多条行为语句,那么需要将这些语句组成一组,一般式使用关键字begin和end将他们组合在一个块语句;如果块内只有一条语句,则不必使用begin和end.

module stimulus
reg x,y, a,b, m
initial
	m = 1'b0;
initial
begin
	#5 a = 1'b1;
	#25 b = 1'b0;
end
initial
begin
	#10 x = 1'b0;
	#25 y = 1'b1;
end
initial
	#50 $finish;
endmodule

上面的initial语句执行顺序结果为:

时间				所执行的语句
0					m = 1'b0;
5					a = 1'b1;
10					x = 1'b0;
30					b = 1'b0;
35					y = 1'b1;
50					$finish;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值