【UVM_phase objection_2024.03.08

phase

棕色:function phase 不消耗仿真时间
绿色:task phase 消耗仿真时间
run_phase与右边的phase并行执行,右边的phase(run_time phase)依次执行:
在这里插入图片描述

  1. List itemreset_phase对DUT进行复位,初始化等操作
  2. configure_phase则进行DUT配置
  3. main_phase主要完成DUT的运行,模拟各种现实DUT
  4. shutdown_phase则是做一些与DUT断电相关的操作
phase属于component,sequence属于objection,只有component有phase机制
在命令行可以使用+UVM_PHASE_TRACE来调试phase

build_phase

build_phase功能:创建UVM树,例化所有组件config_db:set,get interface
build_phase执行顺序:除了build和final_phase是自顶向下执行,其它都是自底向上执行深度优先原则:active_agent里执行完再执行passive_agent在agent里平级的driver、monitor和sequencer按开头字母先后执行

在这里插入图片描述

objection

解决多个组件在同一个phase里面需要不同时间的需求
只有task phase里有objection
命令行使用+UVM_OBJECTION_TRACE来调试objection

使用规则:

若多个组件同时raise objection,此时以最长时间为准
一般sequence中raise and drop,driver中不会raise_objection,通常monitor也不会
当某一个组件的phase raise and drop了,别的组件该phase也会使用该raise and drop
run_phase与run-time phase并行执行,如果12个动态运行的phase有任意一个objection提起,那么run_phase也会自动执行,但如果run_phase里有objection提起,但12个小phase里没有任何objection提起,那么只有run_phase会运行,12个小phase不会运行
必须要有raise and drop才能执行耗时语句
virtual task shutdownn_phase(uvm_phase phase);super.shutdown_phase(phase);#1;//无有效时间,phase到该条直接退出,不会打印信息`uvm_info("case_0","shutdown_phase",UVM_MEDIUM);
endtask

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/528075.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 虚拟线程截止 2024-3-10 在 OpenJDK 还没有解决消息的问题

之前的文章《虚拟线程目前不推荐上生产的个人思考》,总结了几个目前的问题: 1. synchronized 的 pin 线程引发的问题比预期严重,或者等到 OpenJDK 修复,或者很多 Java 库要改(尤其是 JDBC 驱动这种)。目前…

RN开发搬砖经验之-如何处理FlashList组件加载后调用scrollToIndex没有滚动指定位置

前言 如题,这里只能说是处理,起正向作用的临时方案,因为我也着实没搞懂这个BUG的具体原因,看github上有提相关的issuesFor long lists with different item types scrollToIndex does not work reliable,但看官方没有…

JDBC的学习记录

JDBC就是使用java语言操作关系型数据库的一套API。 JDBC(Java Database Connectivity)是Java语言中用于连接和操作数据库的一种标准接口。它提供了一组方法和类,使Java程序能够与各种不同类型的关系型数据库进行交互。 JDBC的主要功能包括建…

解锁网络数据:入门级IP代理使用教程

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

力扣难题:重排链表

首先通过快慢指针找到中间节点,然后将中间节点之后和之前的部分分为两个链表,然后翻转后面的链表,注意方法,然后将两个链表交替链接。 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode…

通过Forms+Automate+Lists+审批,实现用车申请流程

因为Sham公司目前用的用车申请流程是使用的K2系统,用户申请后,我们还需要单独另行输入Excel来汇总申请记录,当然K2也能导出,但是需要每次导出也是很麻烦的,而且不灵活。 刚好最近发现Forms与Automate能联通&#xff0…

检测虚拟机环境的常见技术

下面列出检测 VMware 虚拟机的常见技术&#xff1a; #include <iostream> #include <windows.h> #include <sysinfoapi.h> #include <comdef.h> #include <Wbemidl.h> #include <ShlObj.h> #include <LM.h> #include <TlHelp32.…

简单BFF架构设计

又到周五了有了一个小时的闲暇时间简单写点东西&#xff0c;介绍一个简单的BFF的架构。BFF:Backends For Frontends,其实现在是个比较常见的前端架构设计的方案&#xff0c;其最大的优势便在于前端可以高度自由的在Node层做一些server端才可以做的东西&#xff0c;比如SSR、登录…

图腾柱PFC工作原理:一张图

视屏链接&#xff1a; PFC工作原理

SpringCloudFeign远程调用

文章目录 1. Feign 是什么2. Feign 的使用2.1 引入依赖2.2 写接口2.3 服务调用方2.4 启动测试 3. Feign 日志配置4. Feign 使用优化5. 注意包扫描问题6. 注意的问题6.1 参数问题6.2 Feign 自动装配 1. Feign 是什么 Feign 是一个声明式、模板化的 HTTP 客户端&#xff0c;它是…

【SQL】185. 部门工资前三高的所有员工(窗口函数dense_rank();区分rank()、row_number())

前述 推荐阅读&#xff1a;通俗易懂的学会&#xff1a;SQL窗口函数 题目描述 leetcode题目 185. 部门工资前三高的所有员工 思路 先按照departmentId分组&#xff0c;再按照salary排序 >窗口函数dense_rank() over() select B.name as Department,A.name as Employee,A…

Web题记

[CISCN 2019华北Day2]Web1 告诉我们想要的东西在flag表和flag字段&#xff0c;那应该是sql注入&#xff0c;先试试 试了一些发现会被检查到&#xff0c;随便传数字 除了1和2有返回结果&#xff0c;其余的都报错&#xff0c;应该是数字型注入&#xff0c;抓包看看过滤了哪些 这个…