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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 13252|回复: 15

[求助] 新手请教:system verilog里的回调和scoreboard

[复制链接]
发表于 2011-10-12 13:19:06 | 显示全部楼层
callback: 就是一个很简单的原理, 包装了很多概念的外衣.
你的SV代码, 最后多变成顺序执行的C代码, 那么在testbench写好后, 我想在一个task里面添点东西怎么办? 前面添点, 后面添点?
解决方法就是在写testbench时, 就预留几个virtual的task在你想添程序的地方, 然后在case里再实现这些virtualtask, 还是看例子:
DRV_callback : cb[$]; // 例化一个类的队列, 用来做callback, 这个类里有一个虚方法pre_tx();
task run() begin
      foreach (cb[i]) cb[i].pre_tx(); // 预留着执行这个虚方法.
      ...
end

在你想在run()里填东西的时候, 你可以继承DRV_callback, 重载里面的pre_tx(), 然后再test的initial里push到cb里去.就实现callback了. 因为是一个队列, 所以你可以不停地添东西.

假如你添一个scoreboard, 那就实现了用callback收集数据到scoreboard的功能.

三言两语说不清楚, 建议新手先看System Verilog for Verification这本书, 亚马逊有英文原版卖, 如果没钱, 可以到当当买中文正版, 很便宜. 一定要支持正版哦.
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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


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

GMT+8, 2025-9-14 06:57 , Processed in 0.009654 second(s), 4 queries , Gzip On, Redis On.

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