
core-v-verif-40p
文章平均质量分 95
CDerL
RISC-V、硬件建模、硬件验证、智能网卡、DPU、Android、NPU、AI、NIC(network_interconnect)软件架构
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
core-v-verif系列之lib<49>
该文件监控CVXIF接口信号收集请求和响应事务管理复位状态将事务发送给序列器和覆盖率模型代码介绍:定义监控类,继承自UVM的基类逻辑分析:作为标准UVM监控组件,负责观察DUT接口活动参数说明:定义三种复位状态状态转换:通过任务监控复位信号变化代码分析:初始化分析端口关键点:确保事务传输通道就绪完整的UVM标准实现支持多种事务类型监控完善的复位状态管理灵活的事务分发机制详细的调试信息输出。原创 2025-05-06 00:15:00 · 2134 阅读 · 0 评论 -
core-v-verif系列之cv32e40p UVM环境介绍<13>
///////说明该模块是为 CV32E40P 设计的OBI Grant stalling 模块,并给出了作者和邮箱信息。`endif#(模块名称参数:最大停顿次数,默认值为 1。:RAM 地址宽度,默认值为 32。DATA_WIDTH:数据宽度,默认值为 32。端口clk_i:时钟信号,输入。rst_ni:异步复位信号,低电平有效,输入。req_core_i:来自核心的请求信号,输入。req_mem_o:发送到内存的请求信号,输出。:授予核心的信号,输出。原创 2025-04-10 00:15:00 · 1779 阅读 · 0 评论 -
core-v-verif系列之lib<48>
该文件管理CVXIF验证组件协调驱动器和监视器处理配置和上下文对象连接覆盖率模型代码介绍:定义CVXIF验证代理类,继承自UVM的uvm_agent基类逻辑分析:作为UVM标准agent,提供验证环境的基础框架代码介绍:定义配置和上下文对象逻辑分析cfg存储静态配置,cntxt管理运行时状态代码分析:简单调用父类构造函数关键点:保持UVM标准初始化流程完整的UVM标准实现清晰的组件划分灵活的配置管理完善的接口连接可扩展的覆盖率收集。原创 2025-05-06 00:15:00 · 1685 阅读 · 0 评论 -
core-v-verif系列之lib<35>
当前文件定义了一个名为的 SystemVerilog 类,该类继承自uvm_object。其主要功能是封装创建、连接和运行所有 AXI 代理()组件所需的全部参数。通过随机变量、约束条件和 UVM 注册机制,实现了对 AXI 代理配置的灵活管理。由于这是一个 UVM 对象类,没有传统意义上硬件接口。但它通过 UVM 机制与其他组件交互,主要以成员变量和方法的形式提供接口。在 UVM 环境中,可通过创建该类的实例并设置其成员变量来配置 AXI 代理。// 其他随机变量...is_active。原创 2025-05-01 00:15:00 · 541 阅读 · 0 评论 -
core-v-verif系列之lib<63>
将监控事务数据写入磁盘支持文本和JSON两种格式根据协议版本动态调整输出格式作为验证环境的调试辅助组件代码介绍:定义OBI监控事务日志记录类继承关系:继承自参数化基础日志记录类特点:支持协议特定字段记录参数说明1p1格式:基础协议字段1p2格式:扩展协议字段"R" : "W",t.address,t.be,代码分析格式化时间戳记录操作类型(R/W)输出地址和数据根据协议版本扩展字段灵活的多格式支持协议版本自适应清晰的输出格式。原创 2025-05-13 00:15:00 · 790 阅读 · 0 评论 -
core-v-verif系列之lib<62>
封装所有子组件构建验证环境结构连接各组件接口提供完整的OBI接口驱动和监控能力代码介绍:定义OBI内存代理类继承关系:继承自UVM基础代理类特点:包含完整的验证组件集合参数说明driver:驱动组件monitor:监控组件sequencer:序列发生器代码分析获取配置对象获取上下文对象检索虚拟接口创建子组件完整的验证环境架构灵活的配置机制标准化的UVM实现可扩展的设计结构。原创 2025-05-13 00:15:00 · 843 阅读 · 0 评论 -
core-v-verif系列之lib<61>
定义OBI代理的所有配置参数提供随机化约束实现各种延迟计算功能作为验证环境的核心配置组件代码介绍:定义OBI内存配置类继承关系:继承自UVM基础对象类特点:包含大量可配置参数参数说明enabled:使能标志is_active:主动/被动模式sqr_arb_mode:仲裁模式end代码分析读取plusargs参数根据参数设置stall_disable标志初始化配置对象全面的协议参数配置灵活的随机化约束完善的延迟计算功能标准化的UVM实现。原创 2025-05-12 00:15:00 · 1031 阅读 · 0 评论 -
core-v-verif系列之lib<60>
提供调试请求控制功能支持延迟调试信号生成实现随机脉冲持续时间作为调试控制虚拟外设的抽象基类代码介绍:定义抽象调试控制虚拟外设类继承关系:继承自虚拟外设基类特点:使用virtual关键字声明为抽象类参数说明:空字段注册用途:保持UVM对象标准操作代码分析支持多种调试模式可配置延迟和持续时间使用随机数生成器并行执行调试操作灵活的调试信号控制可配置的延迟参数严格的抽象接口定义标准化的UVM实现。原创 2025-05-12 00:15:00 · 2021 阅读 · 0 评论 -
core-v-verif系列之lib<59>
定义从设备响应数据结构封装读取数据和错误信号支持原子操作响应提供响应延迟控制代码介绍:定义从模式序列项类继承关系:继承自OBI基础序列项类特点:扩展从设备特有字段参数说明rdata:随机化读取数据err:随机化错误信号代码分析注册所有关键字段支持自动化操作配置默认显示格式完整的响应字段定义灵活的随机化控制标准的UVM实现可扩展的设计架构作为验证环境的核心组件,它为OBI从模式测试提供了统一的响应模型,确保从设备能够准确响应各类主设备请求。////原创 2025-05-11 00:15:00 · 762 阅读 · 0 评论 -
core-v-verif系列之lib<58>
定义OBI协议1.2版本的所有信号提供主从设备的不同时钟域视图支持参数化配置总线位宽实现驱动和监控的时钟块定义代码介绍:参数化接口定义特点:支持多种位宽配置input gnt;output req;代码介绍:定义DUT主模式时钟块功能:提供主设备时序视图参数说明:地址总线默认32位用途:控制地址信号宽度代码分析定义地址和数据总线使用参数化位宽支持32/64位数据宽度代码分析定义DUT主模式接口定义驱动从模式接口提供不同的时序视图。原创 2025-05-10 00:15:00 · 683 阅读 · 0 评论 -
core-v-verif系列之lib<57>
验证OBI协议1.2版本的合规性检查地址和数据信号的稳定性监控原子操作的正确性确保事务ID的匹配关系#(代码介绍:定义参数化断言模块参数ADDR_WIDTH:地址总线宽度DATA_WIDTH:数据总线宽度参数说明EFF_ID_WIDTH:有效ID宽度ADDR_ALIGN_MASK:地址对齐掩码req ##0!代码分析定义信号稳定性检查属性在req有效但gnt无效时检查信号稳定性应用于所有地址阶段信号全面的OBI协议1.2版本检查精确的信号稳定性验证。原创 2025-05-11 00:15:00 · 563 阅读 · 0 评论 -
core-v-verif系列之lib<56>
接收RVFI指令流解码指令信息生成监控事务分析指令合法性通过TLM端口发送监控数据代码介绍:定义参数化监控器类,继承自UVM基础监控器类模板参数ILEN:指令长度XLEN:数据宽度参数说明:存储验证配置获取方式:通过UVM配置数据库获取end代码分析初始化指令名称查找表转换枚举名为Spike格式建立名称到枚举的映射关系完整的UVM标准实现强大的指令解码能力灵活的配置管理完善的合法性检查可扩展的设计架构。原创 2025-05-10 00:15:00 · 333 阅读 · 0 评论 -
core-v-verif系列之lib<55>
定义指令忽略规则提供位级覆盖率收集宏支持RISC-V扩展指令集过滤实现多种位宽模式的覆盖点定义代码介绍:定义指令忽略规则宏功能:根据CPU支持情况过滤不相关指令with (!with (!参数说明:控制不同扩展指令集的覆盖收集取值:布尔类型配置参数??????????????????????????????0};??????????????????????????????1};代码分析使用通配符匹配特定位独立收集0和1状态支持32位全量覆盖全面的指令过滤机制。原创 2025-05-09 00:15:00 · 765 阅读 · 0 评论 -
core-v-verif系列之lib<54>
集成ISACOV验证组件管理配置和上下文连接监控器和覆盖率模型支持指令集验证代码介绍:定义参数化Agent类,继承自UVM基础Agent类模板参数ILEN:指令长度XLEN:数据宽度参数说明:存储验证配置获取方式:通过UVM配置数据库获取代码分析获取配置和上下文检索虚拟接口创建子组件关键点:完整的初始化流程完整的UVM标准实现参数化的设计架构灵活的配置管理完善的组件集成可扩展的验证能力。原创 2025-05-09 00:15:00 · 1430 阅读 · 0 评论 -
core-v-verif系列之lib<53>
UVM环境介绍HEAD commitID: 1f968eflib/uvm_agents/uvma_interrupt/uvma_interrupt_if.sv1. 简要介绍该文件是中断验证环境的接口定义文件,主要功能包括:代码介绍:定义核心接口信号信号说明::时钟信号:复位信号(低有效):32位中断请求信号:中断响应信号:中断ID标识2.2 测试控制信号代码介绍:定义测试平台控制信号功能::控制是否主动驱动中断:测试平台驱动值3. 参数介绍3.1 时原创 2025-05-08 00:15:00 · 427 阅读 · 0 评论 -
core-v-verif系列之lib<52>
实现中断功能覆盖率收集监控中断事务和序列项提供配置和上下文采样支持多种覆盖率采样方式代码介绍:定义覆盖率模型类,继承自UVM基础组件类功能:作为标准UVM组件实现覆盖率收集参数说明:存储验证配置获取方式:通过UVM配置数据库获取end代码分析从UVM数据库获取配置空指针检查报fatal错误关键点:确保配置有效性完整的UVM标准实现清晰的采样流程灵活的事件触发机制可扩展的设计架构。原创 2025-05-08 00:15:00 · 726 阅读 · 0 评论 -
core-v-verif系列之lib<53>
管理验证环境的运行时状态存储虚拟接口句柄提供事件通知机制支持复位操作代码介绍:定义上下文类,继承自UVM基础对象类功能:作为验证环境的运行时状态容器参数说明:存储当前复位状态初始值:预设为复位前状态代码分析调用父类构造函数初始化事件对象关键点:确保事件对象在构造时创建完整的UVM标准实现清晰的接口管理灵活的事件机制可扩展的设计架构作为验证环境的核心组件,它为Fencei验证提供了必要的运行时状态管理能力,确保验证过程能够正确执行和监控。////原创 2025-05-06 10:01:08 · 952 阅读 · 0 评论 -
core-v-verif系列之lib<52>
提供文本和JSON两种日志格式记录监控事务数据到磁盘支持自定义日志头格式代码介绍:定义基础日志记录器类模板参数T_TRN:事务类型T_CFG:配置类型T_CNTXT:上下文类型参数说明:设置JSON文件扩展名位置:JSON派生类构造函数代码分析:简单调用父类构造函数关键点:保持标准初始化流程灵活的多格式支持清晰的类层次结构可扩展的写入接口标准化的UVM实现作为验证环境的辅助组件,它为Debug监控事务提供了可靠的记录能力,便于后续分析和调试。////原创 2025-05-07 00:15:00 · 788 阅读 · 0 评论 -
core-v-verif系列之lib<51>
收集Debug接口的配置和事务数据通过TLM接口接收监控数据实现覆盖率采样机制代码介绍:定义覆盖率模型类,继承自UVM基础组件类功能:作为标准UVM组件实现覆盖率收集参数说明:存储验证配置获取方式:通过UVM配置数据库获取代码分析从UVM数据库获取配置空指针检查报fatal错误关键点:确保配置有效性标准UVM组件实现完善的配置管理灵活的事件触发机制并发的采样任务清晰的错误处理作为Debug验证环境的关键组件,它提供了功能覆盖率的收集能力,确保验证完备性。原创 2025-05-07 00:15:00 · 608 阅读 · 0 评论 -
core-v-verif系列之lib<50>
该文件定义CVXIF接口的协议检查断言提供覆盖率收集点支持复位状态下的断言禁用验证压缩指令和标准指令的交互协议代码介绍:定义参数化断言模块逻辑分析参数化设计支持配置硬件线程ID宽度(X_HARTID_WIDTH)提供时钟和复位接口连接CVXIF接口信号= 2'b11;代码分析:定义压缩指令格式检查属性关键点使用在复位时禁用断言检查压缩指令的低2位不为11(非压缩指令格式)参数说明X_HARTID_WIDTH:硬件线程ID位宽X_ID_WIDTH:指令ID位宽。原创 2025-05-06 09:59:48 · 1223 阅读 · 0 评论 -
core-v-verif系列之lib<47>
代码介绍:定义了两个局部参数::CSR地址宽度,设置为12位:CSR掩码宽度,通过左移运算计算得出逻辑分析:这些参数用于控制CSR(控制和状态寄存器)的地址空间大小,12位地址宽度可支持4096个不同的CSR地址。代码介绍:定义了最大位宽为128位逻辑分析:该参数限定了RISC-V架构支持的最大数据位宽,确保验证环境可以处理不同位宽(32/64/128位)的配置。代码介绍:定义了两个性能计数器参数::机器模式性能计数器最大数量:硬件性能计数器最大数量逻辑分析。原创 2025-05-05 00:15:00 · 1044 阅读 · 0 评论 -
core-v-verif系列之lib<46>
代码介绍:定义了一个名为的抽象基类,继承自 UVM 的基类。该基类是所有 Core Control Agent 序列必须继承的父类。逻辑分析:通过继承,该类获得了 UVM 序列的基本功能,同时作为抽象基类为子类提供了统一的接口规范。代码介绍:构造函数接收一个字符串参数name,默认值为。逻辑分析:提供默认名称简化对象创建,同时允许自定义名称以满足特定需求。// ... 类定义 ...代码介绍:标准头文件保护宏,防止重复包含。逻辑分析:确保类定义在编译时只被包含一次。原创 2025-05-05 00:15:00 · 1106 阅读 · 0 评论 -
core-v-verif系列之lib<45>
代码介绍:定义了一个名为的类,它继承自。是 UVM(通用验证方法学)里用于定义序列的基类。这里通过参数化的方式,将请求(REQ)和响应(RSP)的类型都指定为,表明该序列处理的事务类型为。逻辑分析:继承让具备序列的基本功能,能在 UVM 环境里生成和管理事务序列。指定请求和响应类型,保证了序列和其他组件间能正确传递类型的事务。代码介绍:构造函数有一个字符串类型的参数name,默认值是。这个参数用于在创建类的对象时指定对象的名称。逻辑分析:提供默认值让对象创建更灵活,若用户不指定名称,就使用默认名称;原创 2025-05-04 00:15:00 · 1472 阅读 · 0 评论 -
core-v-verif系列之lib<44>
当前分析的文件定义了一个 SystemVerilog 接口,该接口主要用于封装时钟与复位接口的所有信号,并且提供了时钟生成和控制的功能。它被监控器()和驱动()使用,是时钟和复位信号在验证环境中交互的关键组件。代码介绍:定义一个名为的接口,括号内为空,表示该接口不包含端口参数。逻辑分析:接口是一种抽象的概念,用于定义信号的集合,为模块之间的通信提供标准的连接方式。此接口将作为时钟和复位信号的载体。logic clk;代码介绍:定义两个logic类型的信号,clk表示时钟信号,reset_n。原创 2025-05-04 00:15:00 · 859 阅读 · 0 评论 -
core-v-verif系列之lib<43>
当前文件定义了在时钟和复位代理()中使用的常量。这些常量为时钟和复位相关操作提供默认配置值,有助于在验证环境里统一管理和调整参数。此文件无传统意义上的接口(如函数、任务等),主要是常量定义,为其他模块提供预设值。代码介绍:定义了一个realtime类型的常量,其值为10ns。const关键字表明该值在程序运行期间不可改变,realtime类型适用于表示时间值。逻辑分析:该常量为时钟信号提供默认周期,在时钟生成或监控模块中,若未特别指定时钟周期,就会使用这个默认值。// ... 常量定义 ...原创 2025-04-29 00:30:00 · 925 阅读 · 0 评论 -
core-v-verif系列之lib<42>
当前文件定义了一个名为的 SystemVerilog 类,该类继承自uvm_agent,属于 UVM(通用验证方法学)框架的一部分。其主要功能是封装、构建并连接与时钟和复位接口(Clock & Reset interface)相关的各个组件,具备驱动和监控时钟与复位接口的能力。代码介绍:这是类的构造函数,接收两个参数,name是组件名称,默认值为;parent是父组件句柄,默认值为null。调用父类uvm_agent的构造函数。逻辑分析:在创建。原创 2025-04-28 00:15:00 · 1002 阅读 · 0 评论 -
core-v-verif系列之lib<41>
当前文件定义了两个 SystemVerilog 类,和。是一个基础的 UVM 序列类,继承自,主要用于根据不同的背压类型(bp_type_t)启动相应的背压序列,以模拟不同程度的背压场景。// ...// ...代码介绍:定义类,继承自,模板参数为,表示该序列处理的是类型的事务。宏将该类注册到 UVM 对象工厂。类继承自,同样使用宏进行注册。逻辑分析:通过继承和注册,使这两个类能够融入 UVM 验证环境,利用 UVM 的对象工厂机制动态创建对象。文件定义的和。原创 2025-04-29 00:15:00 · 739 阅读 · 0 评论 -
core-v-verif系列之lib<40>
当前文件定义了一个名为top的 SystemVerilog 模块,该模块主要用于搭建一个基于 UVM(Universal Verification Methodology)的 AXI5 协议验证环境。模块中声明了时钟、复位信号,实例化了多种接口和断言模块,并通过将这些接口传递给 UVM 环境,最后调用run_test()启动 UVM 测试。bit clk_i;bit reset;代码介绍:定义了四个信号,clk_i为时钟信号,reset为复位信号,reset_n为低电平有效的复位信号,原创 2025-05-03 00:15:00 · 535 阅读 · 0 评论 -
core-v-verif系列之lib<39>
当前文件定义了一个名为的 SystemVerilog 类,该类继承自,主要用于在合适的序列器中启动 AXI 序列。它负责从序列器获取配置和上下文句柄,并根据配置信息启动不同的 AXI 序列,包括预加载序列和生成响应的序列。代码介绍extern表明该函数的实现位于类外部。此构造函数接收一个字符串类型的参数name,默认值为,用于创建类的对象。逻辑分析:在创建类的实例时调用此构造函数,对对象进行初始化操作,调用父类的构造函数完成基本的初始化流程。代码介绍cfg是。原创 2025-05-02 00:30:00 · 1528 阅读 · 0 评论 -
core-v-verif系列之lib<38>
当前文件定义了两个 SystemVerilog 类,和,用于将 AXI 序列项的调试数据记录到磁盘。以纯文本格式记录数据,而继承自前者,用于以 JSON 格式记录数据。代码介绍:使用ifndef和define进行条件编译。如果宏未定义,则定义该宏并编译后续代码。逻辑分析:防止文件被重复包含,避免类的重复定义。代码介绍:定义类,继承自并进行参数化。使用宏将该类注册到 UVM 组件工厂。逻辑分析。原创 2025-05-03 00:15:00 · 548 阅读 · 0 评论 -
core-v-verif系列之lib<37>
UVM环境介绍HEAD commitID: 1f968ef1. 简要介绍当前文件定义了一个名为 的 SystemVerilog 类,该类继承自 ,主要用于驱动 AXI 虚拟接口()。它负责处理 AXI 协议中不同通道(如 、、、、 通道)的事务,根据复位状态控制驱动行为,并管理事务队列。代码介绍: 是 类的成员,用于和序列器进行通信。 从序列器获取下一个事务项; 通知序列器当前事务处理完成; 则将响应事务发送回序列器。逻辑分析:通过这些端口操作,实现驱动和序列器之间的事务交互,确保事务按顺序原创 2025-05-02 00:15:00 · 596 阅读 · 0 评论 -
core-v-verif系列之lib<36>
当前文件定义了一个名为的 SystemVerilog 类,它继承自uvm_agent。此代理类作为顶层组件,负责封装、构建和连接 AXI 接口相关的其他组件,具备驱动和监控 AXI 接口的能力,在 UVM 验证环境中扮演着关键角色。该类主要通过 UVM 的配置数据库和组件间的端口连接来与其他组件交互,并没有传统意义上的硬件接口。monitor类型的对象,用于监控 AXI 接口的事务。driver类型的对象,负责驱动 AXI 接口的事务。vsequencer。原创 2025-05-01 00:15:00 · 687 阅读 · 0 评论 -
core-v-verif系列之lib<34>
UVM环境介绍HEAD commitID: 1f968ef1. 简要介绍当前文件定义了一个 SystemVerilog 类 ,它继承自 。该类的主要作用是管理和组织与 AXI 代理相关的序列库,为 AXI 协议验证提供一系列可复用的序列。此文件定义的是类,并非硬件模块,所以没有传统意义上的输入输出接口。不过,作为 UVM 序列库类,它通过 UVM 框架与其他组件交互。主要通过 UVM 的注册机制和序列启动方法与序列器、环境等组件进行交互。该类没有显式定义的参数。不过,它继承了 的特性,在创建对象时可原创 2025-04-30 00:15:00 · 922 阅读 · 0 评论 -
core-v-verif系列之lib<33>
当前编辑的文件定义了一个 SystemVerilog 类,它是一个抽象基类,所有其他 AXI 代理序列都需从该类继承。此基类主要用于初始化 AXI 代理的配置和上下文句柄,确保子类序列能在 AXI 序列器()实例上运行。该文件定义的是类,并非传统意义上的硬件模块,所以没有硬件接口。不过类与外部的交互通过序列器句柄实现,借助它获取配置和上下文信息。cfg:类型为,推测是 AXI 代理的配置类句柄,用于存储和管理 AXI 代理的配置信息。cntxt:类型为。原创 2025-04-30 00:15:00 · 970 阅读 · 0 评论 -
core-v-verif系列之lib<32>
文件主要用于定义 SystemVerilog 宏,这些宏的作用是在未定义特定宏的情况下对其进行定义,为 AXI 协议相关参数设定默认值。通过这种方式,确保在整个项目中使用统一的 AXI 协议参数,避免重复定义和潜在的错误。该文件无传统意义上的接口,它主要是宏定义,不涉及端口连接。不过其定义的宏会被其他模块或文件引用,以获取 AXI 协议相关的默认参数值。:AXI 地址的最大宽度,默认值为 64 位。:AXI 数据的最大宽度,默认值为 64 位。:AXI 用户信号的最大宽度,默认值为 512 位。原创 2025-04-29 00:15:00 · 877 阅读 · 0 评论 -
core-v-verif系列之lib<31>
文件定义了一个名为的模块,该模块主要用于对 AXI4 协议写地址通道(AW 通道)的信号进行断言检查和覆盖率收集。通过一系列的属性定义,该模块验证了 AXI4 协议中关于写地址通道的多个规则,确保信号在特定条件下满足协议要求,同时收集这些规则的覆盖率信息。代码介绍:定义了一个名为的模块,该模块有一个输入接口axi_assert,类型为。大概率是一个用户自定义的接口,用于连接 AXI4 协议的信号。逻辑分析:模块通过这个接口获取 AXI4 写地址通道的各种信号,如时钟信号clk、复位信号rst_n。原创 2025-04-29 00:15:00 · 900 阅读 · 0 评论 -
core-v-verif系列之lib<30>
分析:定义了一个名为的模块,该模块接收一个类型为的接口axi_assert。通过这个接口,模块可以访问 AXI 总线的各种信号,如时钟信号、复位信号、地址通道信号、数据通道信号等,以便进行原子操作的验证。分析:定义了一个名为的属性,用于检查当aw_valid信号为高电平时,aw_atop信号是否不等于X或Z。该属性在时钟上升沿触发,并且在复位信号rst_n为低电平时禁用检查。分析:定义了一个名为的属性,用于检查当原子操作的突发长度aw_len大于 0 时,aw_size。原创 2025-04-23 09:41:52 · 1135 阅读 · 0 评论 -
core-v-verif系列之lib<29>
文件定义了一个名为的类,该类继承自uvm_agent,是 UVM(通用验证方法学)中用于 AXI4 写通道(W 通道)的代理类。代理类在验证环境里负责管理和协调多个组件,可根据配置以主动或被动模式运行。主动模式下会创建序列器和驱动,用于生成和驱动写事务;被动模式下仅创建监视器,用于监控写事务。end代码介绍:借助从 UVM 配置数据库获取类型的配置对象cfg。void'()用于忽略get函数的返回值。若获取失败(cfg为空),则使用uvm_fatal输出致命错误信息。逻辑分析:配置对象cfg。原创 2025-04-28 00:15:00 · 1021 阅读 · 0 评论 -
core-v-verif系列之lib<28>
文件定义了类,该类继承自uvm_agent,是 UVM(通用验证方法学)中用于 AXI4 读通道的代理类。代理类在验证环境里负责管理和协调多个组件,如监视器(monitor)、序列器(sequencer)和驱动(driver),并能依据配置决定以主动或被动模式运行。代码介绍:借助从 UVM 配置数据库获取类型的配置对象cfg。void'()用于忽略get函数的返回值。逻辑分析:配置对象cfg包含控制代理行为的关键参数,像is_active字段,可决定代理是否以主动模式运行。原创 2025-04-28 00:15:00 · 2166 阅读 · 0 评论 -
core-v-verif系列之lib<27>
文件定义了类,该类继承自uvm_agent,是 UVM(通用验证方法学)中用于 AXI4 协议写响应(B)通道的代理类。代理类负责管理和协调该通道的监视器(monitor)、序列器(sequencer)和驱动(driver)组件,并且能够根据配置决定以主动模式或被动模式运行。代码介绍:使用从 UVM 配置数据库中获取类型的配置对象cfg。void'()用于忽略get函数的返回值。逻辑分析:通过该接口获取配置信息,cfg对象包含了控制代理行为的参数,例如is_active。原创 2025-04-27 00:15:00 · 906 阅读 · 0 评论