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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 5462|回复: 7

[求助] uvm验证开始后一直运行在0时刻,没有继续run下去,sequence传不进去?

[复制链接]
发表于 2020-5-13 21:46:07 | 显示全部楼层 |阅读模式

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

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

×
现写了一个spi模块的uvm验证环境,主要包含3个sequence,先发送寄存器配置数据(通过apb接口),然后同时发送apb接口的写数据,和spi_master_agent的传入数据,以此来验证spi_slavemode,但是在仿真开始后,注册和创建都正常完成,run_phase就一直卡在driver的get_next_item(req),好像一直没有get到sequence_item,求助大家是什么原因呢?没有get到sequence item,仿真就一直被block在0时刻,一直没有运行下去

截屏2020-05-13 下午9.40.43.png

截屏2020-05-13 下午9.41.07.png

第二张图中的打印信息,objection是我在spi_master_test的run_phase中phase.raise_objection(this)之后添加的displayspi_ctrl_driver是我在spi_ctrl_driver的get_next_item(req)之前添加的display
在get_next_item(req)之后也添加了display,没有打印,因此判断没有get到sequence item

求助各位!!谢谢

发表于 2020-5-14 07:47:41 来自手机 | 显示全部楼层
对于卡在0ns的情形,可以考虑一下几个步骤排查: 1,使用uvm phase调试功能,看卡在哪个phase的哪个组件; 2,查看各个组件中是否有零延时的无限循环,一般在driver或者monitor的无限循环体中。
回复 支持 反对

使用道具 举报

发表于 2020-5-14 13:52:57 | 显示全部楼层
查查 task 里面有没有零延迟循环
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-14 16:25:24 | 显示全部楼层
谢谢楼上两位!确实是卡在了monitor的0延时task中!
回复 支持 反对

使用道具 举报

发表于 2020-11-19 18:27:17 | 显示全部楼层
请问是如何解决的呢
回复 支持 反对

使用道具 举报

发表于 2021-3-18 17:31:52 | 显示全部楼层
醍醐灌顶   
回复 支持 0 反对 1

使用道具 举报

发表于 2021-3-22 18:37:38 | 显示全部楼层
一般都是出现了死循环
回复 支持 反对

使用道具 举报

发表于 2021-6-7 17:02:42 | 显示全部楼层
万分感谢楼主的提问和几位前辈的回答,今天刚好遇到这个问题,困扰了半天,最后搜了一下论坛看到此贴,果然在monitor里面有死循环的缘故!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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


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

GMT+8, 2025-10-2 10:57 , Processed in 0.019481 second(s), 5 queries , Gzip On, Redis On.

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