0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

验证环境获取DUT内部信号的方法

sanyue7758 来源: 验证芯发现 2023-08-19 09:50 次阅读

在UVM寄存器模型的操作中,寄存器用于设置DUT状态和芯片状态信息的上报,有前门和后门读写两种方式。

推而广之,其他的DUT内部信号,由于验证的需要,有时也需要进行后门读写。这些信号除了包含前门可读的寄存器以外,还会包含reg/wire信号、状态机的状态值、memory内容等。

总的来看,获取DUT内部状态分为前门和后门两种方式。

前门读写

前门读写:使用总线对DUT发起真实的读写,一般需要总线VIP支持,仅针对DUT内部可访问的地址空间,如配置和上报寄存器、memory。

这种方式好处在于能够和芯片真实的工作场景保持高度相似,能够发现时序配合上的一些问题。

缺点一方面也是前门的“真实性”,当需要读写的地址空间数量很大时,会消耗非常多的仿真时间,影响用例的执行效率。

另一方面是这种耗时的读写不满足“实时性”比对的验证要求。某些验证环境中,可能需要在几个cycle内完成对DUT状态的获取和比对,这种场景下前门读取方式则无法满足。

后门读写

后门读写:绕过前门总线,直接通过DUT内信号的hierarchy路径强制force或者读取信号值。

后门操作的方式可以分为:按信号的Hierarchy读取、interface连接DUT信号、和VPI访问。

1. 信号的Hierarchy读取

DUT经过编译后,内部的信号都有对应的hierarchy路径,如dut.a.b.c,dut.out。在验证环境中可以直接使用,例如:

bit A;
A=dut.sub_block.A;
if(A==0) begin
.....
end
23134c52-3ddf-11ee-ac96-dac502259ad0.png
bitA;
bit[15:0] B
if(uvm_hdl_read("dut.sub_block.A",A))begin
.....
end
//bit[31:0] Y
uvm_hdl_read("dut.X.Y[15:0]",B)//错误!
使用VPI访问缺点:不能按位域驱动和读取。对于多bit信号,无法只对其中的部分bit操作。

一般而言对于黑盒验证中的加密代码,使用Hierarchy和VPI方式都是无法获取加密代码内部信号的状态。当然如果在已知加密代码层次前提下,通过一些处理,还是可以通过Hierarchy方式进行后门操作。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    453

    文章

    50360

    浏览量

    421638
  • 寄存器
    +关注

    关注

    31

    文章

    5308

    浏览量

    119977
  • 仿真
    +关注

    关注

    50

    文章

    4036

    浏览量

    133394
  • 信号
    +关注

    关注

    11

    文章

    2778

    浏览量

    76605
  • DUT
    DUT
    +关注

    关注

    0

    文章

    189

    浏览量

    12329

原文标题:验证环境获取DUT内部信号的方法

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于VMM验证方法学的MCU验证环境

    。本文主要提出了一种基于SystemVerilog的VMM验证方法学的验证环境。在这个验证环境
    发表于 03-24 14:07 3293次阅读

    基于VMM验证方法学的MCU验证环境

    1 简介 随着设计的复杂程度不断增加,要求把更多的资源放到验证上,不但要求验证能够覆盖所有的功能,还希望能够给出大量的异常情况来检查DUT对应异常的处理状态,这在传统测试方法下往往
    的头像 发表于 08-25 16:45 843次阅读

    基于VMM的验证环境验证MCU指令实现设计

    1 简介 随着设计的复杂程度不断增加,要求把更多的资源放到验证上,不但要求验证能够覆盖所有的功能,还希望能够给出大量的异常情况来检查DUT对应异常的处理状态,这在传统测试方法下往往是难
    发表于 07-01 08:15

    基于VMM验证方法学的MCU验证环境实现方法介绍

    1 简介随着设计的复杂程度不断增加,要求把更多的资源放到验证上,不但要求验证能够覆盖所有的功能,还希望能够给出大量的异常情况来检查DUT对应异常的处理状态,这在传统测试方法下往往是难
    发表于 07-03 07:40

    SoC验证环境搭建方法的研究

    本文从SoC (System on a Chip)验证环境外在的框架结构、内在的验证数据的组织与管理和体现其工作原理的系统脚本的设计思想三方面出发,讨论SoC 验证
    发表于 12-14 09:52 22次下载

    一种基于UVM的混合信号验证环境

    一种基于UVM的混合信号验证环境_耿睿
    发表于 01-07 21:39 1次下载

    DUT输入定向或随机的激励

    TestBench即测试平台,是为了检验待测设计(design under test,DUT)而搭建的验证环境
    的头像 发表于 02-24 17:19 955次阅读
    对<b class='flag-5'>DUT</b>输入定向或随机的激励

    DUT 和 testbench 连接教程

    我们知道,不论是哪一级的验证,最终都是通过 pin 连接到 DUT 上向其施加激励,**对于 UVM 验证平台中,使用虚接口来实现 DUT验证
    的头像 发表于 03-21 11:20 1460次阅读

    UVM验证平台顶层有什么作用

    因为DUT是一个静态的内容,所以testbench理应也是静态的,其作为uvm验证环境DUT的全局根结点。
    的头像 发表于 03-21 11:33 1259次阅读

    基于UVM验证环境开发测试流程

    验证环境用户需要创建许多测试用例来验证一个DUT的功能是否正确,验证环境开发者应该通过以下方式提
    的头像 发表于 06-09 11:11 941次阅读
    基于UVM<b class='flag-5'>验证</b><b class='flag-5'>环境</b>开发测试流程

    芯片验证需要围绕DUT做什么?

    TestBench即测试平台,是为了检验待测设计(design under test,DUT)而搭建的验证环境
    的头像 发表于 06-12 17:38 2119次阅读
    芯片<b class='flag-5'>验证</b>需要围绕<b class='flag-5'>DUT</b>做什么?

    验证组件配置参数

    一些典型 的 验证组件 配 置参数示例:  一个agent可以被配置为 active 或者 passive 模式。在active模式下agent驱动DUT,在passive模式下agent被动地检查
    的头像 发表于 06-14 10:20 583次阅读
    <b class='flag-5'>验证</b>组件配置参数

    基于DUT内部寄存器值的镜像

    寄存器模型保持着DUT内部寄存器值的 镜像(mirror) 。 镜像值不能保证是正确的,因为寄存器模型只能感知到对这些寄存器的外部读写操作。 如果DUT内部修改了寄存器中的字段,镜像值
    的头像 发表于 06-24 12:02 842次阅读

    北京清微智能科技有限公司发布IC验证方法,实现双DUT验证

    清微智能在本周宣布新型专利“一种IC验证中实现双DUT验证方法”已于今年3月获批。该项专利内容由该集团独立研究,申请日期优先于2024年3月26日。
    的头像 发表于 04-08 10:07 515次阅读
    北京清微智能科技有限公司发布IC<b class='flag-5'>验证</b>新<b class='flag-5'>方法</b>,实现双<b class='flag-5'>DUT</b><b class='flag-5'>验证</b>

    锁相放大器参考信号获取方法

    锁相放大器参考信号获取方法主要依赖于对被测信号特性的了解以及实验的具体需求。以下是一些常用的获取参考
    的头像 发表于 09-05 10:58 320次阅读