第1个回答 2015-04-08
您好,assign 语句后的赋值会生成组合逻辑,也就是从b到a会生成一条导线,将他们连接,b的值如果改变,a的值同时也会改变;
a<=b 这种赋值方式为“非阻塞赋值”,这种方式是等所在的begin....end块执行完毕后,才会把b的值赋给a,在这之前,a的值仍然保持原值。
望采纳 谢谢本回答被网友采纳
第2个回答 2015-04-08
您好,assign 语句后的赋值会生成组合逻辑,也就是从b到a会生成一条导线,将他们连接,b的值如果改变,a的值同时也会改变;
a<=b 这种赋值方式为“非阻塞赋值”,这种方式是等所在的begin....end块执行完毕后,才会把b的值赋给a,在这之前,a的值仍然保持原值。例如:
假设a中的值为十进制数 10,b为15,c为20;
begin
b=a; //b的值立即改变,现在b的值为10
c=b; //c的值立即改变,现在c的值为10
end
但是,以下例子又不同:
假设a中的值为十进制数 10,b为15,c为20
begin
b<=a; //b的值不立即改变,现在b的值仍为15
c<=b; //c的值不立即改变,现在c的值仍为20
end
begin块结束后,b被赋给a的值,b为10,c被赋给b的值,c为15。
发现了吗?实际上阻塞赋值生成了一个移位寄存器。
第3个回答 2015-04-08
这应该是verilog的综合器的特性决定的,我们使用的时候记住就好了!本回答被提问者采纳