vmm_atomic_gen and vmm_ms_scenario_gen

博客内容涉及vmm模块中的原子操作生成器vmm_atomic_gen和场景生成器vmm_ms_scenario_gen。vmm_atomic_gen允许通过callback在产品拷贝后、放入out_chan前进行修改。而vmm_ms_scenario_gen是一个xactor,提供了select_scenario函数用于轮询选择场景,并有多个get和register函数。此外,还介绍了vmm_ms_scenario_gen_callbacks,它在场景随机化前提供pre_scenario_randomize回调函数。
摘要由CSDN通过智能技术生成

对外开放的公共成员: 

class_name_channel out_chan;     //output channel

int unsigned stop_after_n_inst;  //仅仅生成n个产品,并放入out_chan中

class_name randomized_obj;       //由blueprint拷贝生成的对象

两个事件,GENERATED和DONE         //GENERATED表示产品拷贝生成,DONE表示生产成品全部送入out_chan

inject(class_name obj, ref bit dropped) 函数    // 通常不使用,只有在direct测试时,不start 
                                               // atomic_gen 时,即不让其main 函数执行时,
                                                      // 才会通过直接调用inject task 往 out_chan
                                               //  发送transaction

在产品拷贝生产之后,放入out_chan之前,可以通过callback的方式,修改产品。我们只需要在

Packet_atomic_gen_callbacks 的扩展类中重新定义  

 virtual task post_inst_gen(Packet_atomic_gen gen, Packet obj,  ref bit  drop);  

inject 函数欣赏:

viruta
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值