UVM sequence 笔记

sequence基础

读《UVM实战》书籍笔记

sequence的启动与执行

  • 同一sequencer上启动多个sequence (交替运行)

  • 使用start任务直接启动

  • 使用default_sequence启动

  • 当一个sequence启动后会自动执行sequence的body任务。其实,除了body外,还会自动调用sequence的pre_body与post_body

sequence的仲裁机制

uvm_do_pri及uvm_do_pri_with改变所产生的transaction的优先级 `uvm_do_pri(m_trans, 100)

SEQ_ARB_FIFO。严格遵循先入先出的顺序,而不会考虑优先级。
SEQ_ARB_WEIGHTED是加权的仲裁;SEQ_ARB_RANDOM是完全随机选择;SEQ_ARB_STRICT_FIFO是严格按照优先级的

SEQ_ARB_STRICT_RANDOM是严格按照优先级的,当有多个同一优先级的sequence时,随机从最高优先级中选择

SEQ_ARB_USER则是用户可以自定义一种新的仲裁算法

lock 当其前面的所有请求被处理完毕后,sequencer就开始响应这个lock请求,此后sequencer会一直连续发送此sequence的transaction,直到unlock操作被调用

grab操作也用于暂时拥有sequencer的所有权,只是grab操作比lock操作优先级更高

可以通过重载is_relevant函数来使sequence失效

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值