其他分享
首页 > 其他分享> > UVM在VCS中run时,碰到的error :The object at dereference depth 1 is being used before it was constructed/al

UVM在VCS中run时,碰到的error :The object at dereference depth 1 is being used before it was constructed/al

作者:互联网

VCS elab没有问题,再运行时碰到报错:

The object at dereference depth 1 is being used before it was  constructed/allocated.  

Please make sure that the object is allocated before using it.

具体出错的代码是下图中第45行:

我理解的这个报错信息意思大概是,这行代码中,有没有实例化,就拿来使用的部分。但是我不能确定这里是virt_sqr,    ahb_mst_sqr,    ahb_mst,    sequencer, 它们四个当中的哪一个出了问题。

首先第一直觉是右边的部分出了问题,我先去追踪了sequencer,看其是否有实例化,但是这里的sequencer在agent中,根据 is_active 来判断是否将其实例化。而这里的is_active又是在config文件中设置的。所以我去将其默认值设置为1,再次编译运行,依然报错。然后考虑ahb_mst是否再env中由实例化,看到其由create创建,所以不是它的问题,排除这两个。第三个考虑的是ahb_mst_sqr是否有实例化,去到其文件中查看果然没有实例化,所以将其实例化,再次编译运行,依然报同样的错误,才反应过来,这里的ahb_mst_sqr可以只是一个句柄,指向一个sequencer而已,并不用将其实例化。所以问题就很清楚了,是virt_sqr的问题,看了一下,果然没有实例化,create之后,问题解决! 

标签:ahb,object,sqr,mst,实例,sequencer,allocated,before
来源: https://www.cnblogs.com/fuqiangblog/p/16621229.html