sequence library

简介

sequence library是一系列sequence的集合,派生自sequence。它可以根据特定的算法随机选择注册在其中的的一些sequence,并且在body内执行这些sequence。

相关宏

uvm_add_to_seq_lib:在一个sequence定义时,通过该宏将sequence加入到某个sequence library中;
一个sequence可以加入到多个不同的sequence library中;
显然,多个sequence可以加入到一个sequence library中;

控制选择算法

通过selection_mode来选择算法类型:

类型含义
UVM_SEQ_LIB_RAND完全随机
UVM_SEQ_LIB_RANDC先将sequence随机排一个顺序,后按此顺序执行
UVM_SEQ_LIB_ITEM不执行其sequence队列中的sequence,而自己产生transaction
UVM_SEQ_LIB_USER用户自定义选择算法,需要重载select_sequence,产生sequence的index

控制参数

int unsigned min_random_count=10;
int unsigned max_random_count=10;

上文代码来源自UVM源代码,min_random_count和max_random_count控制sequence library的执行次数;分别表示最大执行次数和最小执行次数;可以同过uvm_config_db来设置;

注意事项

1.派生自uvm_sequence时需要注明此sequence library所产生的transaction类型;
2.在其new函数中调用init_sequence_library,否则内部候选sequence队列就是空队列;
3.需要调用uvm_sequence_library_utils注册;

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值