imicman的个人空间 https://blog.eetop.cn/1518355 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

SV中的callback实现

已有 1720 次阅读| 2016-5-6 19:47 |个人分类:验证杂谈


systemverilog中类的存在为实现callback奠定了技术。
或者说virtual的存在是callback的基础,类的方法的override就是基于task或者function的virtual特性。

callback的原理实现:


1. 需要创建一个base_cb的虚基类,次类包括了virtual的task或者function.
2.在用到回调的类中,以base_cb声明一个handle(一定不要实例化),在使用回调类的方法中的合适的地方调用base_cb的方法。
3.在test中,扩张base_cb,并在扩展类中对base_cb的virtual的方法进行实现,实现内容为想要在调用回调类中完成的任务目标;此后将扩展类进行实例化。
4.在test中,实例化的扩展类赋值给使用回调类的base_cb的句柄。

在UVM方法学中也有callback其本质上就是上面的含义,在宏和类的扩展中隐藏了一些细节。

点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 8

    获赞
  • 34

    评论
  • 访问数
关闭

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

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

GMT+8, 2024-4-19 11:28 , Processed in 0.016938 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部