在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6850|回复: 13

[求助] Verilog中阻塞赋值和非阻塞赋值 求助

[复制链接]
发表于 2012-11-11 10:58:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本人再看夏宇闻的《Verilog数字系统设计教程(第2版)》,其中讲到阻塞:在同一个always过程中,后面的赋值语句要等待前一个赋值语句执行完,后面的语句被该赋值语句阻塞
非阻塞:在同一个always过程中,非阻塞赋值语句是同时进行的,排在后面的语句不会被该赋值语句阻塞
<=:
             块结束后才能完成赋值
             块内所有<=语句在always块结束时刻同时赋值
             <=右边各变量的值是上一次时钟边沿时,这些变量当时的值
             用于描述可综合的时序电路
=:
             =语句结束之后过程always才可能结束
但是又讲到在always过程中,begin end块内按先后顺序立即赋值,在fork join内同时赋值(可能造成冲突)

一个是同时进行 一个是按先后顺序 到底该怎样理解呢  而且fork语句中用阻塞赋值是同时进行还是前面的语句执行完后面的才能执行呢?
发表于 2012-11-11 20:21:07 | 显示全部楼层
AAAAAAAAAAAAAAAAAAAA
发表于 2012-11-12 09:09:36 | 显示全部楼层
如果有多个非阻塞赋值出现在begin end语句中,那么前面语句的执行并不会阻塞后面语句的执行
发表于 2012-11-12 13:04:48 | 显示全部楼层
这个不对应电路理解起来比较难
发表于 2012-11-12 14:13:32 | 显示全部楼层
非阻塞对应组合逻辑;
阻塞对应时序逻辑;
发表于 2012-11-12 21:58:42 | 显示全部楼层
回复 5# Gary.wang


    哥,你写反了吧
发表于 2012-11-13 09:07:10 | 显示全部楼层
还是喜欢VHDL对应的表述,变量variable和信号signal~
发表于 2012-11-13 10:12:14 | 显示全部楼层
回复 1# flyingsheep


   书中是这样说的:关键字being-end用于将多条语句组成顺序块,顺序块具有以下特点:
(1)顺序中的语句是一条接一条按顺序执行的,只有前面的的语句执行完成之后才能执行后面的语句(除了带有内嵌延迟控制的非阻塞赋值语句)。
(2)如果语句包括延迟或者事件控制,那么延迟总是相对于前面那条语句执行完成的仿真事件的。
发表于 2012-11-13 11:34:20 | 显示全部楼层
阻塞与非阻塞的区别,的确就是按照书上写的意思。但是具体的理解一定要对应到代码,同样一段代码,不同类型的赋值有可能产生不同的电路。理解电路产生区别的原因,就能理解阻塞与非阻塞的区别。所以,看例子去吧
发表于 2012-11-13 14:48:04 | 显示全部楼层
回复 6# 挂在天边的鱼


    呵呵,不好意思,写反了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-12 12:45 , Processed in 0.026890 second(s), 9 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表