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

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

3天内不再提示

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

芯片验证工程师 来源:芯片验证工程师 2023-06-09 11:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

验证环境用户需要创建许多测试用例来验证一个DUT的功能是否正确,验证环境开发者应该通过以下方式提高测试用例的开发效率:

在数据项类中加入旋钮,以简化测试用例开发控制

创建一些可重用的sequences library。

声明自定义的Sequences

Sequences是由几个数据项组成的,它们共同构成一个数据pattern以触发有趣的DUT场景。

验证组件可以包括一个基本sequences library(而不是单一的数据项),测试用例编写者(验证环境使用者)可以调用它。这种方法加强了对常见数据pattern的复用,并减少了测试用例的代码长度。此外,一个Sequences可以调用其他Sequences,从而创造更复杂的场景。

UVM类库提供了uvm_sequence基类。你应该直接或间接地从这个类派生出所有的Sequences类。要创建一个用户定义的Sequences:

从uvm_sequence基类派生出一个Sequences,并指定request和response数据项类型参数。在下面的例子中,只指定了request类型,即simple_item,所以response数据项类型也是simple_item 。

使用`uvm_object_utils宏来向factory注册Sequences类型。

如果Sequences需要访问其相关sequencer,使用'uvm_declare_p_sequencer宏来声明sequencer指针。

实现Sequences的body任务来触发特定的DUT场景。在body任务中,你可以发送数据项或者调用其他Sequences。

下面例子中的simple_seq_do类定义了一个简单的Sequences。它是由uvm_sequence派生出来的,并 使 用 了 `uvm_object_utils 宏 。这个例子还定义了一个simple_sequencer类,simple_seq_do序列可以在该simple_sequencer上运行。

9b1743c8-05e7-11ee-962d-dac502259ad0.png

发送Sequence Items或者Subsequences的基本流程

要 发 送 一 个sequence item,sequence的body()任务 需 要create() 该 sequence item , 对 该sequence item调 用start_item(),然后随机化该sequence item(可选的),最后对该sequence item调用finish_item()

要发送一个subsequence,parent sequence的body()任务需要create该subsequence,对其进行随机化(可选的),最后对该subsequence调用start()。如果subsequence有一个相应的response,parent sequence可以调用get_response()。

9b2f79d4-05e7-11ee-962d-dac502259ad0.png

9b39711e-05e7-11ee-962d-dac502259ad0.png

上图显示了在uvm_do宏中实现的发送sequence itemssequences的完整流程。uvm_do宏会更根据传递的类型create一个对象,并且根据发送sequence items和sequences执行对应的流程。

uvm_do宏不会执行subsequences的pre_body()和post_body()方法。



审核编辑:刘清

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

    关注

    0

    文章

    183

    浏览量

    20108
  • DUT
    DUT
    +关注

    关注

    0

    文章

    194

    浏览量

    13499
  • sequence
    +关注

    关注

    0

    文章

    23

    浏览量

    3308

原文标题:基于UVM验证环境开发测试用例

文章出处:【微信号:芯片验证工程师,微信公众号:芯片验证工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    整车环境测试耐久试验主要测什么?有哪些特点?流程和方法

    整车环境及耐久试验是汽车研发过程中至关重要的环节,旨在评估和验证车辆及其组件在实际使用中可能遇到的各种极端环境条件下的性能、可靠性和寿命。通过这些测试,制造商能够提前发现潜在的设计缺陷
    的头像 发表于 04-10 16:00 152次阅读
    整车<b class='flag-5'>环境</b><b class='flag-5'>测试</b>耐久试验主要测什么?有哪些特点?<b class='flag-5'>流程</b>和方法

    基于 NineData 的多环境表结构变更流程编排实践

    NineData 的流程编排,并非简单的 SQL执行工具,而是专为多环境结构发布设计的标准化体系:以开发环境为基准数据源,固定变更源头与执行顺序,支持
    的头像 发表于 03-19 17:24 1192次阅读
    基于 NineData 的多<b class='flag-5'>环境</b>表结构变更<b class='flag-5'>流程</b>编排实践

    深圳南柯电子|EMC摸底测试整改:“定位-分析-优化-验证”全流程

    深圳南柯电子|EMC摸底测试整改:“定位-分析-优化-验证”全流程
    的头像 发表于 01-28 09:42 423次阅读

    深圳南柯电子|EMC摸底测试整改:这套标准流程已被100+企业验证

    深圳南柯电子|EMC摸底测试整改:这套标准流程已被100+企业验证
    的头像 发表于 01-19 09:51 323次阅读

    肖克利 | 极端环境测试,让验证与实战同频!

    直击新能源车企核心痛点极端环境测试,让验证与实战同频新能源汽车测试标准正加速升级,极端环境验证
    的头像 发表于 12-05 12:04 1540次阅读
    肖克利 | 极端<b class='flag-5'>环境</b><b class='flag-5'>测试</b>,让<b class='flag-5'>验证</b>与实战同频!

    开关电源有哪些测试流程和方法?

    开关电源作为电子行业中应用最为广泛的电源模块,其测试流程和方法需遵循 “从基础功能到复杂性能、从静态特性到动态可靠性” 的逻辑流程。具体的测试工程通常分为设计
    的头像 发表于 10-28 17:47 1381次阅读
    开关电源有哪些<b class='flag-5'>测试</b><b class='flag-5'>流程</b>和方法?

    NVMe高速传输之摆脱XDMA设计24: UVM 验证包设计

    UVM 验证包的主要功能是对 DUT 提供激励, 仿真验证对应的功能, 并对测试结果进行自动对比分析与统计。 验证包包含一个NoPHAE_e
    的头像 发表于 09-14 11:29 4975次阅读
    NVMe高速传输之摆脱XDMA设计24: <b class='flag-5'>UVM</b> <b class='flag-5'>验证</b>包设计

    电能质量在线监测装置数据验证流程是什么?

    )和行业规范,形成完整的流程闭环。以下是具体流程拆解: 一、验证前准备阶段:明确依据与基础条件 此阶段为后续验证提供 “标准参照” 和 “数据基础”,避免
    的头像 发表于 09-03 17:50 963次阅读
    电能质量在线监测装置数据<b class='flag-5'>验证</b>的<b class='flag-5'>流程</b>是什么?

    NVMe高速传输之摆脱XDMA设计24: UVM 验证包设计

    UVM 验证包设计结构如图 1 所示。 UVM 验证包的主要功能是对 DUT 提供激励, 仿真验证对应的功能, 并对
    发表于 08-29 14:33

    NVMe高速传输之摆脱XDMA设计23:UVM验证平台

    抽象为 PCIeTLP 事务,因此为了方便的在事务层构建复杂的测试用例,项目基于 UVM 搭建验证平台进行功能验证。图1 验证平台架构图在
    发表于 08-26 09:49

    NVMe高速传输之摆脱XDMA设计23:UVM验证平台

    抽象为 PCIeTLP 事务,因此为了方便的在事务层构建复杂的测试用例,项目基于 UVM 搭建验证平台进行功能验证
    的头像 发表于 08-25 18:53 3287次阅读
    NVMe高速传输之摆脱XDMA设计23:<b class='flag-5'>UVM</b><b class='flag-5'>验证</b>平台

    【汇思博SEEK100开发板试用体验】开发环境安装配置

    Automatically generate signature ​​必须取消​​Support HarmonyOS勾选 保存后自动生成设备专属证书 四、实战验证流程 ​​编译预览测试​​ 打开
    发表于 08-20 21:43

    NVMe高速传输之摆脱XDMA设计25:UVM验证平台

    抽象为 PCIeTLP 事务,因此为了方便的在事务层构建复杂的测试用例,项目基于 UVM 搭建验证平台进行功能验证
    的头像 发表于 08-04 16:52 939次阅读
    NVMe高速传输之摆脱XDMA设计25:<b class='flag-5'>UVM</b><b class='flag-5'>验证</b>平台

    NVMe高速传输之摆脱XDMA设计18:UVM验证平台

    抽象为 PCIeTLP 事务,因此为了方便的在事务层构建复杂的测试用例,项目基于 UVM 搭建验证平台进行功能验证。图1 验证平台架构图在
    发表于 07-31 16:39

    如何通过实验测试验证整流二极管在极端环境下的可靠性?

    为确保整流二极管在高温、高湿、振动、冲击等极端环境下的可靠性,需通过一系列标准化实验测试进行验证。以下结合国际测试标准与工程实践,系统介绍测试
    的头像 发表于 07-17 10:57 1078次阅读
    如何通过实验<b class='flag-5'>测试验证</b>整流二极管在极端<b class='flag-5'>环境</b>下的可靠性?