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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: oscillator_cn1

[求助] 请问:为什么我的sequence会卡在`uvm_send环节了呢?

[复制链接]
发表于 2020-10-31 11:01:20 | 显示全部楼层
坛主大神您好,我也遇到这个问题,用synopsys vip作为apb master,在发transaction的时候卡在了uvm_send地方,能否分享一下您的解决方案,谢谢大神!
发表于 2020-10-31 11:02:20 | 显示全部楼层
坛主大神您好,我也遇到这个问题,用synopsys vip作为apb master,在发transaction的时候卡在了uvm_send地方,能否分享一下您的解决方案,谢谢大神!
发表于 2023-10-18 10:22:41 | 显示全部楼层


Freaco 发表于 2020-9-28 16:46
我吐了,2014的问题,2020年还在遇见,大锅还在用eetop吗,回复一下我呀,怎么解决的 ...


这个问题我在2023年也遇到过,时隔9年时间,白驹过隙。结论就是VIP的interface有些信号没有被赋值。注意是VIP的if,不是DUT的if。


先说我的情况吧,我用的是AHB VIP,跟题主的APB不一样,但我觉得方法应该是通用的。
按照synopsys的参考手册,env中所有的配置都配好了,例如正确config_db了interface、正确config_db了ahb_system_cfg、正确激活了ahb_master[0].is_active = 1等等......所有的东西都是正确的,唯独卡在了uvm_send。于是再看了看接口。

当AHB VIP master的interface连接到DUT上时,对于单master,单slave情况,无arbiter,无decode模块,连接如下:

                               
登录/注册后可看大图


看起来一点问题没有是吧?可是实际上在怎么都无法发送transaction,检查环境好几遍了无法发现问题。后来查看VIP AHB master_if[0]的所有interface,发现hgrant信号是x态,且hburstreq一直拉高,这就奇怪了,也就是说我的master一直在请求总线,但是总线无法让这个master动作。

于是想起来,原本应该是master发送hburstreq请求总线后,在多masetr情况下,arbiter应该返回一个hgrant信号给当前masetr,如果是1就让该masetr动作,如果是0,则该masetr一直请求总线,这样就解释了为什么hburstreq一直拉高。

但是由于我的环境中并不需要arbiter,所以hgrant无反馈输入信号给master_if,driver一直在请求transaction,一直在给if数据,但是interface不给力啊,master得不到总线的所有权,没法发数据了,反映到电脑上就是仿真卡住了。

后来,直接foce hgrant = 1,整个仿真就能跑通了。

                               
登录/注册后可看大图


你们看下你们的APB VIP的master或slave的interface上有没有这种情况。


发表于 2024-4-24 00:17:11 | 显示全部楼层


allencherry 发表于 2014-7-22 15:49
你看下是不是卡死在monitor了。


请问为什么卡死在monitor会导致uvm send发不出去呢?这两个不应该是独立运行吗?我遇到同样的问题了,monitor一直在运行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-6 09:08 , Processed in 0.021875 second(s), 6 queries , Gzip On, Redis On.

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