首页 > 其他分享 >UVM - 21(vritual sequence)

UVM - 21(vritual sequence)

时间:2024-03-21 10:35:05浏览次数:25  
标签:vritual sequence virtual uvm sequencer event pool UVM

内容

virtual sequence

  • 管理sequence在多个agent中管理序列的执行

  • 不同agent执行的sequence有先后顺序
  • 如果设置default_sequence会并行执行

virtual sequence/sequencer

  • 通过virtual sequencer中的sequencer调用virtual sequence中的sequence

虚序列器:virtual sequencer

虚序列virtual sequence

将sequencer连接到virtual sequencer


sequence执行管理

同步机制:uvm_event

同步机制:uvm_barrier

同步使用特定的资源池

uvm_event_pool触发trigger

uvm_event_pool等待触发:wait for trigger

保护(独占Grab/释放Ungrab)

  • 两个sequence抢用同一个sequencer,所以使用grab/ungrab保证同一时间只有一个sequence使用这个sequencer

uvm_pool

virtual sequence示例

virtual sequence


virtual sequencer

test




  • 可以使用v_seqr.start(v_sqr)的方式启动v_sqr

标签:vritual,sequence,virtual,uvm,sequencer,event,pool,UVM
From: https://www.cnblogs.com/Icer-newer/p/18086666

相关文章

  • UVM - 20 (component phase)
    内容UVM中组件的执行顺序phaseCommonphaseRunphaseuvm_phase类中核心方法phase同步synchronizationphaseobjection机制uvm平台至少有一个objection机制,存在raise_objection和drop_objectiontestbench中写forever是不会形成死循环的,使用objection机制跳......
  • UVM - 17(计分板和覆盖率)
    内容Scoreboard简介scoreboard:transactionstreamscoreboard实现方法不同的协议不同,数据类型不同in_order_class_comparator-按照一定的顺序比较comparator和两个monitor进行连接Scoreboard:monitorAgent中嵌入monitorUVMagent示例is_active-用于指......
  • [UVM源代码研究] UVM report机制分析(uvm-1.2版)
    [UVM源代码研究]UVMreport机制分析(uvm-1.2版)引子:如何定制一款个性化的打印格式如果使用默认的打印格式,我们执行以下代码:`uvm_info语句实际打印结果格式如下:`uvm_info打印结果打印内容包含了下面几个方面:severity信息(UVM_INFO)打印位置(文件…/env/my_case0.sv......
  • UVM - 16(TLM)
    uvm搭建分层的testbench,组件之间的通信通过tlm组件的通信接口sequencer和driver之家通信机制uvm已经做好,在agent的connect_phase将driver和sequencer的接口进行连接组件接口SV实现组件之间的通信使用中间接口对象UVM组件之间的通信:TLM1.0/2.0UVMTLM1.0p......
  • UVM - 15(factory)
    管理测试案例的要求testbench搭建完成之后,会创建很多的testcase进行测试更改testcase之后,希望不更改平台的条件下,更改testcase的行为,就是工厂机制,实现testcase的多样化Testcase要求:transactionTestcase要求:component解决方案:UVMfactoryTransactionfactory......
  • UVM - 14(uvm_config_db)
    内容UVM组件基类UVM组件的逻辑层次:parent-child关系组件显示和查询任何地方都可以使用uvm_topget_name()-获取组件名称get_full_name-获取组件路径及名称uvm_top.find("*.seqr")-按照逻辑名字查找组件uvm_top.find("*.drv_?",comps)-使用通配符查找组件,查......
  • UVM - 13 (lab2)
    Makefile传递参数到SV中在仿真阶段使用$value$plusargs函数传递字符串//接收Makefile中传递过来的参数if($value$plusargs("UVM_TESTNAME",test_name))begin//传递参数之后执行这里的内容end应用举例//sv文件中,用于接收仿真的时候传入的number_packetsif($(va......
  • CF145C Lucky Subsequence 题解
    首先,我们对这个幸运数进行分析,发现:\(10^9\)以内只有\(1023\)个幸运数,即\(\sum\limits_{i=0}^92^i\)个。考虑对幸运数和非幸运数分类讨论。幸运数部分:01背包裸题,\(dp_{i,j}\)表示前\(i\)个幸运数里选了\(j\)个,转移方程为\(dp_{i,j}=dp_{i-1,j}+dp_{i-1,j-1}\tim......
  • UVM -11 (练习)
    sequencer使用usersequencer类的创建classgpio_sequencerextendsuvm_sequencer#(gpio_transfer);`uvm_component_utils(gpio_sequencer)functionnew(stringname,uvm_componentparent);super,new(name,parent);endfunctionendclassvirtualsequencer......
  • UVM - 10 (Sequence机制-2)
    配置sequence:基于instance基于instance配置的好处基于sequencer配置sequence基于sequencer配置的好处基于agent配置sequence在phase中隐式执行sequence显式执行sequencesequence的优先级和权重weightsequencer-driver响应端口(reportport)sequencer-driver......