always @(a or b or c)
begin
x=c+y;//语句1
y=a+b;//语句2
end
y原来的值是5;
a=1;
b=1;
c=3;
我仿真的结果是 x=5+3=8 y=1+1=2
资料上的解释是说 语句1和语句2同时进行,但是由于是阻塞赋值,所以要等语句1执行完了之后才能执行第二条语句,所以语句1中的值是原来的值;
与我自己的仿真结果一致;
always @(a or b or c)
begin
x<=c+y;
y<=a+b;
end
y原来的值是5;
a=1;
b=1;
c=3;
仿真的结果是 x=8 y=2;
我看的资料上说 在此时刻 x=3+2=5 y=1+1=2 他的意思是说 a+b 的值给 y ;然后 y+c的值再给x;
仿真的结果和 资料上说的不一样
求指教!!!!
此帖出自
小平头技术问答
begin
x<=c+y;
y<=a+b;
end
y原来的值是5;
a=1;
b=1;
c=3;
仿真的结果是 x=8 y=2;
我们老师说,这是非阻塞赋值,就是这个结果呀!两条语句同时执行
一周热门 更多>