UVM5_sequence机制

sequence机制

sequence概述

  • sequence产生激励;
  • sequencer将sequence_item发送给driver

uvm_sequence class 普通成员

  • 事务的基类是sequence_sequence_item
    不存在任何自动执行的函数,仅仅是数据和对数据的处理;
  • 在uvm_sequence中产生激励;
    具有可自动执行的函数
    在这里插入图片描述

执行流程

在这里插入图片描述
在这里插入图片描述

sequence class要求

  • 通过uvm_sequence基类派生所需要的sequence
  • body()实现了sequence的代码
    `uvm_do宏定义可以随机创建并传递事务到驱动器;
  • sequence使用raise和drop objection 保证sequence满足整个仿真时间
    sequence默认执行starting_phase
    也可以显示配置starting_phase

sequence执行start()程序会回调以下程序

start()	{
	pre_start (task)
	pre_body  (task)	//if call_pre_post ==1 for sub_sequence
	body()	  (task)	//if your simulation code
	post_body (task)	//if call_pre_post ==1 for sub_sequence
	post_start(task)
	}

可以将pre_start和post_start单独写出来,body主体只写方法

在这里插入图片描述

实现scenario型的sequence

在这里插入图片描述

sequence的嵌套

在这里插入图片描述

在测试案例中配置default_sequence

在这里插入图片描述

利用config机制配置sequence

在这里插入图片描述

个性化单独配置

在这里插入图片描述

整体配置

在这里插入图片描述

通过sequencer配置

在这里插入图片描述

在agent中配置

在这里插入图片描述

显示调用start 执行sequence

在这里插入图片描述

sequence的优先级和权重设置

在这里插入图片描述

driver可以get_response返回给sequence

在这里插入图片描述

乱序端口

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值