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

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

日志

SVTB-ENV

已有 352 次阅读| 2016-6-8 21:21 |个人分类:验证杂谈



class Enviornment;
       int group_num;
         virtual router_io router;
       Semphore sem[ ];
       Driver  drv[];
       Receiver rcv[];
       Generator gen[];
        Scoreboard scb;

      extern function new(virtual router_io router, int group_num);
      extern virtual task reset();
      extern virtual fuction void build();
      extern virtual task run();
      extern virtual task wrap_up():
 endclass

function Enviorment::new(virtual router_io router, int group_num);
     this.router = router;
     this.group_num = group_num;
endfunction

task Enviorment::rest();
  ...
endtask

function void Enviorment::build();
     sem = new[group_num];
      drv  = new[group_num];
      rcv  = new[group_num];
      gen = new[group_num];
      scb = new();
      foreach( sem[i])
             sem[i] = new(1);
      foreach( gen[i])
             gen[i] = new();
      foreach(drv[i])
           drv[i] = new($sformatf("drv[%0d]", i), i , sem, gen[i].out_box[i], scb.driver_mbox, router);
      foreach(rcv[i])
           rcv[i] = new($sformatf("rcv[%0d]", i), i , scb.receiver_mbox, router);
endfunction

  task Environment::run();
      foreach(gen[i])
           gen[i].start();
      scb.start();
      foreach(drv[i])
           drv[i].start();
      foreach(rcv[i])
           rcv[i].start();

 endtask

  task Environment::wrap_up();
      wait(scb.DONE.triggerd);
 endtask

点赞

评论 (0 个评论)

facelist

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

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

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 8

    获赞
  • 34

    评论
  • 访问数
关闭

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

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

GMT+8, 2024-4-19 16:19 , Processed in 0.029821 second(s), 18 queries , Gzip On, Redis On.

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