摘要: SystemVerilog(SV)的功能覆盖率(Functional Coverage)用于验证设计的功能是否被充分测试,通过定义需要覆盖的场景,跟踪测试用例对这些场景的覆盖程度。以下是核心语法和组件介绍: 基本结构:covergroup covergroup 是功能覆盖率的基本单元,用于定义需要覆 阅读全文
posted @ 2025-08-19 17:51 MKYC 阅读(86) 评论(0) 推荐(0)
摘要: 在 UVM 平台中,打印类中的数组时只显示开头和末尾元素、无法全量显示,本质原因是 UVM 打印器(uvm_printer)对数组长度的默认限制。这是 UVM 为了避免长数组打印导致日志冗余而设计的保护机制,具体原因和解决方法如下: 核心原因:UVM 打印器的数组截断机制 UVM 中负责打印的 uv 阅读全文
posted @ 2025-08-12 20:48 MKYC 阅读(41) 评论(0) 推荐(0)
摘要: 在 UVM 或面向对象编程(OOP)中,这种情况属于方法重写(Override)。当子类(用例)重写了父类(base_test)的 task A,且通过父类引用调用该方法时,实际执行的是子类(用例)中的 task A,这是多态(Polymorphism)的典型表现。 具体说明: 继承与重写关系 假设 阅读全文
posted @ 2025-08-12 20:26 MKYC 阅读(16) 评论(0) 推荐(0)
摘要: 在 UVM 验证平台中,打印 transaction(事务)通常需要结合 UVM 的打印机制和事务的自定义信息输出。以下是常用的实现方法: 基础方法:使用 uvm_info 配合 sprint() transaction 通常继承于 uvm_sequence_item,而 uvm_sequence_ 阅读全文
posted @ 2025-08-12 19:56 MKYC 阅读(55) 评论(0) 推荐(0)
摘要: uvm_reg_data_t 并不是一个 “类”(class),而是 UVM(Universal Verification Methodology,通用验证方法学)中定义的一种数据类型(typedef),用于表示寄存器的数据值,是寄存器操作中最常用的基础类型之一。 具体含义: uvm_reg_dat 阅读全文
posted @ 2025-08-12 19:48 MKYC 阅读(52) 评论(0) 推荐(0)
摘要: 项目来源 https://github.com/courageheart/AMBA_APB_SRAM DUT 接口 该dut的功能很简单,只是提供寄存器读写 测试平台结构梳理 平台特色 未使用refm cfg文件管理 env_cfg 设置了一个env_cfg组件,在其实例化时将agent_cfg(本 阅读全文
posted @ 2025-04-13 17:58 MKYC 阅读(26) 评论(0) 推荐(0)
摘要: from的简写 阅读全文
posted @ 2025-04-13 16:01 MKYC 阅读(5) 评论(0) 推荐(0)
摘要: 汇总 Python4RTLVerification github:https://github.com/raysalemi/Python4RTLVerification/tree/examples2.0 《芯片验证日记》公众号文章:https://mp.weixin.qq.com/s/Chy595R 阅读全文
posted @ 2025-04-13 14:09 MKYC 阅读(13) 评论(0) 推荐(0)
摘要: 方法一:使用urg处理后查看 urg处理,默认生成urgReport目录 urg -full64 -dir simv.vdb -report urgReport urg指令除了可以合并多个.vdb文件外,还可顺带生成覆盖率报告; 执行完成后,会生成一个urgReport文件夹,里面会有一系列的.ht 阅读全文
posted @ 2025-04-06 15:28 MKYC 阅读(547) 评论(0) 推荐(0)
摘要: urg 是synopsys公司推出的一个用于合并和处理仿真覆盖率数据的工具。下面为你介绍 urg 的常见使用方式: 基本功能概述 urg 工具主要用于合并多个覆盖率数据库文件,生成综合的覆盖率报告。它支持多种覆盖率类型,像代码覆盖率(行覆盖率、分支覆盖率等)、功能覆盖率等。 常用选项及示例 合并覆盖 阅读全文
posted @ 2025-04-06 13:37 MKYC 阅读(734) 评论(0) 推荐(0)