阻塞赋值和非阻塞赋值,综合出来硬件上的区别??

2019-03-25 10:42发布

据我的总结如下:

begin-end语句的各句话是顺序执行的;
fork-join语句各句话是并行执行的;
阻塞赋值“=”计算表达式和赋值一起进行;
非阻塞赋值“<=”先计算表达式,再在语句块中统一赋值;


但是,唉,说实话还是搞得不明不白的!!比如begin-end语句里面的阻塞赋值 和 非阻塞赋值“大概”能搞懂了,但是什么时候用fork-join的阻塞 非阻塞呢?

有没有大虾能从综合出来的硬件的角度来讲下,这些个的电路结构到底是咋样的?~~~这样应该更容易理解点~~~
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
linhaiqing60
2019-03-26 02:36

简单的说:

1.时序电路建模,用非阻塞语句,比如说最常见的D触发器;

2.用always做组合逻辑建模,用阻塞语句。

 

还有,若是要可综合的话,一般用begin-end,不用fork-join。

 

再补充一句,要观察这两种赋值语句的区别的话,还是通过时序图来看,从综合出的电路来看,很多时候他们就是一样的电路(不包含时钟边沿触发的电路)。

 

 

[ 本帖最后由 linhaiqing60 于 2010-10-11 17:00 编辑 ]

一周热门 更多>