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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3215|回复: 8

[原创] verilog

[复制链接]
发表于 2015-2-2 22:37:41 | 显示全部楼层 |阅读模式

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

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

x
今天看到了阻塞赋值与非阻塞赋值的区别时,资料上说到了   事件队列     这个概念,我就是纳闷是不是每一个块语句(比如always块)都产生一个 事件队列  ,前提是这些块的触发条件是不同的.。
发表于 2015-2-2 23:56:45 | 显示全部楼层
事件队列是仿真器实现层面的东西
 楼主| 发表于 2015-2-3 17:48:24 | 显示全部楼层
回复 2# tianguau

谢谢, 是不是   事件队列  把 每一个触发条件是不同的块语句(比如always块)中产生的事件都存储,在下一个块出发之前执行完呢??
发表于 2015-2-4 10:20:40 | 显示全部楼层
回复 3# P31014036


   语义,CPU在仿真这些模块的时候会把发生的事件以时间顺序放到执行队列里面,你考虑的时候就当你自己要按顺序输出这些波形的化怎么输出就可以明白了。你说的触发条件有太多了,以always@(posedge clk)为例子的化;就是把里面满足条件的语句提前放到队列内,等上升沿来时逐次执行。
发表于 2015-2-4 10:24:13 | 显示全部楼层
回复 3# P31014036


   还有,刚才看了下,发现你还错误的理解了一个概念,就是仿真时间和CPU执行语句的时间,这两个时间是无关的,是两个世界的时间,当我把事件放入队列后,不是在下次触发来之前执行完,而是此次触发来了,我的CPU开始执行队列内的事件,注意此时的仿真时间是不动的。我是在此仿真时间内执行完所有的队列。与下次触发不触发没有关系。
 楼主| 发表于 2015-2-4 19:30:49 | 显示全部楼层
回复 5# insunshinecn
谢谢你的回复!你说的“而是此次触发来了,我的CPU开始执行队列内的事件,注意此时的仿真时间是不动的说的”是什么意思?可以这么理解吗,------当时钟脉冲沿到来的时候,此时仿真时间固定,保持在这个脉冲到来的时刻,当队列里的所有时间执行完后,仿真时间才继续进行,可以这么理解吗?
发表于 2015-2-5 08:56:10 | 显示全部楼层
回复 6# P31014036
小伙子上道了
 楼主| 发表于 2015-2-5 09:31:06 | 显示全部楼层
回复 7# insunshinecn
呵呵,还是你解释的好!我已经加你为好友了,以后遇到不懂得事,希望可以继续向你请教!
发表于 2015-3-12 17:00:20 | 显示全部楼层
其实没有那么复杂,你考虑综合就豁然开朗了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-1 09:20 , Processed in 0.027567 second(s), 9 queries , Gzip On, Redis On.

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