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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5253|回复: 5

[求助] uvm_subscriber虚类的问题

[复制链接]
发表于 2014-11-11 17:34:12 | 显示全部楼层 |阅读模式

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

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

x
各位:     最近在搭建uvm平台。目前遇到一个问题。  就是采用coverage class 来统计功能覆盖率,不用调用write函数能够正常统计覆盖率。coverage class是继承uvm_subscriber这个虚类,并且将纯虚方法  write进行实现。  问题是,在env中对coverage类进行了初始化,然后将monitor的analysis_port和coverage的analysis_imp进行相连。  没有调用write这个函数,但是write却可以执行。(mentor 提供的abc 例子)     
     我在linlux下做了实验,首先创建一个虚类,里面写一个纯虚函数,然后通过一个类继承这个虚类,通过实验发现,不调用这个方法,仿真不会做相应的操作。。


   mentor中的uvm_subscriber这个类中有段说明:write函数是通过外部子component的uvm_analysis  port 来调用的 。这块实在是不明白 、


    还请大神赐教  


    谢谢
 楼主| 发表于 2014-11-12 08:40:51 | 显示全部楼层
write函数是不通过现实的调用就能够执行 。 但是不清楚是怎么调用的 。。
发表于 2014-11-12 09:20:43 | 显示全部楼层
回复 2# allencherry
当port与imp连接,调用port.write()时,会去查询与之连接的imp,然后调用其writer(),对试用者来说这些操作是透明的,使用者只需要知道将port与imp连接起来,然后imp必须实现write()函数,port就能将内容传递到imp中处理即可。
 楼主| 发表于 2014-11-12 09:43:29 | 显示全部楼层




   多谢。你知道port.write()写操作在哪里调用write(T t)吗?  看样子这个是绑定的            我在uvm_subscriber中重新洗了个纯虚函数,只是名字和write不同,其它相同,在coverage中只有显示的调用才会执行方法,否则不              执行。   
不清楚哪里调用了write函数。。。
发表于 2019-2-2 09:25:05 | 显示全部楼层
后来是如何解决的?
 楼主| 发表于 2022-8-5 08:58:15 | 显示全部楼层
已经解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-22 21:53 , Processed in 0.022449 second(s), 9 queries , Gzip On, Redis On.

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