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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2983|回复: 12

[求助] uvm monitor中的mian phase 写了while语句,仿真时就结束不了

[复制链接]
发表于 2022-8-17 22:35:41 | 显示全部楼层 |阅读模式

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

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

x
如题,我在维护uvm平台时在monitor中的mian phase加入while 1 让其一直收集数据,发现仿真时会卡在 run case 出不来,需要手动结束,我查询了很多资料,看到有些朋友说时phase没drop掉,于是我用@clk的方式  发现是可以结束仿真的。奇怪的是UVM实战中也是可以直接也没提到需要drop phase,而且在mian phase是可以直接写while 一直采集数据的。ps用的是1.1uvm
发表于 2022-8-17 22:42:30 | 显示全部楼层
上代码
 楼主| 发表于 2022-8-17 23:18:05 | 显示全部楼层


monitor 的代码?mian phase ?
发表于 2022-8-18 10:14:53 | 显示全部楼层
while,forever需要往前走的时间,否则仿真不会往前走,跟drop phase没关系
发表于 2022-8-19 14:30:43 | 显示全部楼层
去掉monitor/driver/reference-model的objection的raise和drop,只在激励源sequence里面进行objection的raise和drop控制。以上
发表于 2022-8-22 23:35:40 | 显示全部楼层
要特别留意死循环里要有时间推进,否则容易卡死
发表于 2022-8-24 19:25:18 | 显示全部楼层
while里至少要有1条消耗仿真时间的语句,常见的就是等时钟沿。
 楼主| 发表于 2022-8-25 10:01:14 | 显示全部楼层
参考以上 朋友的建议把fork join 只保留function入口,并在里面的函数进行while 1 和时钟沿的触发  解决!
发表于 2022-8-25 20:28:32 | 显示全部楼层
mon和drv的task最好在run_phase
发表于 2023-5-21 12:38:23 | 显示全部楼层


qsh123_123 发表于 2022-8-19 14:30
去掉monitor/driver/reference-model的objection的raise和drop,只在激励源sequence里面进行objection的rai ...


正解。。。。。。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-22 00:29 , Processed in 0.023729 second(s), 6 queries , Gzip On, Redis On.

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