首页 > 其他分享 >UVM:6.4.4 p_sequencer 的使用

UVM:6.4.4 p_sequencer 的使用

时间:2023-07-31 17:32:06浏览次数:37  
标签:body sequence sequencr cast 6.4 uvm sequencer UVM


1.考虑如下情况,sequencer 有如下变量:

UVM:6.4.4 p_sequencer 的使用_编译错误


2.在sequence 发送transaction 时,必须设置此dmac 和smac,sequence 的body如何得到这两个值呢?

1)在介绍sequence 时,内部有m_sequencer, 直接使用m_sequencer 得到这两个变量:

UVM:6.4.4 p_sequencer 的使用_编译错误_02

编译错误:

UVM:6.4.4 p_sequencer 的使用_编译错误_03

因为m_sequencer 是uvm_sequencr_base (uvm_sequencr 的基类)类型,而不是my_sequencer 类型。

UVM:6.4.4 p_sequencer 的使用_编译错误_04

所以要cast:把m_sequencer 转换成my_sequencer:

UVM:6.4.4 p_sequencer 的使用_编译错误_05

但是好麻烦。所以内建了一个宏:uvm_declare_p_sequencer(SEQUENCER)

UVM:6.4.4 p_sequencer 的使用_编译错误_06

相当于声明如下变量:

UVM:6.4.4 p_sequencer 的使用_编译错误_07

自动将m_sequencer cast 成p_sequencer。在pre_body()前完成。

标签:body,sequence,sequencr,cast,6.4,uvm,sequencer,UVM
From: https://blog.51cto.com/u_11309773/6910670

相关文章

  • UVM:6.3.1 uvm_do系列宏
    1.uvm_do系列宏主要有以下8个:1)uvm_do_on用于显式指定那个sequencer发送此transaction。第一个是transaction指针,第二个是sequencer指针。2)使用uvm_do时,默认的sequencer就是此sequence启动时为其指定的sequencer,sequence将这个sequencer的指针放在其成员变量m_sequencer中。......
  • UVM:6.2.3 sequencer 的grab 操作
    1.grab比lock优先级更高。2.lock是插到sequencer仲裁队列的后面。3.grab则是插到前面,一发出就拥有sequencer的所有权。4.如果遇到lock,grab不会打断lock,等待lock完成。5.两个grab试图获取,和lock一样,先获得先用,用完再给另外一个。6.my_case0:7.结果......
  • zabbix6.4 邮件告警配置
    1、注意事项QQ邮箱不支持zabbix6以上邮件配置,报拒绝登录建议使用163.com网易邮箱地址2、添加媒介创建媒介类型->  3、添加用户一般情况下,无需创建用户,编辑admin即可报警媒介添加  4、添加动作添加触发器动作->创建动作->添加操作 4.1 、操作一......
  • 6.4 多输入多输出通道
    1.多输入通道    2.多输入多输出通道 用ci和co分别表示输入和输出通道的数量,用kh和kw表示卷积核的尺寸,那么,对ci个输入通道,每一个通道都需要一个卷积核(识别并组合输入中的模式),于是,要输出一个通道,所需的卷积核尺寸就是ci*kh*kw的,那么要输出co个通道(识别输入中的co个特定......
  • 文心一言 VS 讯飞星火 VS chatgpt (60)-- 算法导论6.4 4题
    文心一言VS讯飞星火VSchatgpt(60)--算法导论6.44题四、证明:在最坏情况下,HEAPSORT的时间复杂度是Ω(nlgn)。文心一言:要证明在最坏情况下,HEAPSORT的时间复杂度是Ω(nlogn),我们需要考虑在何种情况下堆排序的时间复杂度最低。在堆排序中,构建最大堆的时间复杂度为O(n),......
  • 文心一言 VS 讯飞星火 VS chatgpt (60)-- 算法导论6.4 4题
    文心一言VS讯飞星火VSchatgpt(60)--算法导论6.44题四、证明:在最坏情况下,HEAPSORT的时间复杂度是Ω(nlgn)。文心一言:要证明在最坏情况下,HEAPSORT的时间复杂度是Ω(nlogn),我们需要考虑在何种情况下堆排序的时间复杂度最低。在堆排序中,构建最大堆的时间复杂度为O(n),这是因......
  • UVM入门进阶4
    UVM结构回顾UVM结构UVM_TOPUVM中真正的树根是uvm_top。uvm_top是一个全局变量,是uvm_root的唯一一个实例(设计模式中的singleton,单态模式),uvm_root派生于uvm_component,因此uvm_top本质是一个uvm_component。uvm_test_top的parent是uvm_top,而uvm_top的parent是null。uvm_root在......
  • UVM入门进阶2
    UVM入门和进阶2核心基类(uvm_object)在UVM世界的类库地图中除过事务接口类继承于uvm_port_base,其他所有的类都是从uvm_object类一步步继承来的域的自动化:UVM通过域的自动化,使得用户在注册UVM类的同时也可以声明今后会参与到对象复制、克隆、打印等操作的成员变量,可以以简化对象的......
  • UVM入门进阶3
    UVM组件UVM组件家族是从uvm_component类继承的来的类UVM_DRIVER1.uvm_driver类会从uvm_sequencer中获取事务,经过转化然后再接口中对DUT进行时序激励2.uvm_driver类是参数化类,在定义时需要声明参数的类型classuvm_driver#(typeREQ=uvm_sequence_item,typeRSP=REQ)extends......
  • UVM入门进阶1、2
    UVM入门进阶1创建对象的四种方法classtransextendsuvm_object...endclassclasstopextendsuvm_test//uvm_test继承于uvm_component...endclassclassobject_createextendstop;transt1,t2,t3,t4;`uvm_component_utils(object_create)func......