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

    浏览量

    19938
  • DUT
    DUT
    +关注

    关注

    0

    文章

    193

    浏览量

    13361
  • sequence
    +关注

    关注

    0

    文章

    23

    浏览量

    3178

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    如何对电能质量在线监测装置进行温湿度环境适应性测试

    温湿度导致的元件老化、数据失真、死机等问题。以下是完整的测试流程、参数设置、判断标准及注意事项: 一、测试前置准备:明确目标与搭建环境 1. 测试
    的头像 发表于 10-22 17:50 1032次阅读

    如何进行时间同步硬件的环境适应性测试

    在时间同步硬件(如支持 IEEE 1588 PTP、SNTP/NTP 的同步模块、GPS / 北斗接收机等)的环境适应性测试中,核心目标是验证硬件在 极端或复杂环境应力下(如温湿度波动
    的头像 发表于 09-19 11:58 292次阅读

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

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

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

    )和行业规范,形成完整的流程闭环。以下是具体流程拆解: 一、验证前准备阶段:明确依据与基础条件 此阶段为后续验证提供 “标准参照” 和 “数据基础”,避免
    的头像 发表于 09-03 17:50 537次阅读
    电能质量在线监测装置数据<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 2678次阅读
    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 626次阅读
    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 506次阅读
    如何通过实验<b class='flag-5'>测试验证</b>整流二极管在极端<b class='flag-5'>环境</b>下的可靠性?

    电磁环境仿真与验证系统软件

    电磁环境仿真与验证系统软件
    的头像 发表于 04-29 16:59 816次阅读
    电磁<b class='flag-5'>环境</b>仿真与<b class='flag-5'>验证</b>系统软件

    NVMe IP开发速成: 三个月不是梦

    环境,它基于UVM验证环境,对熟悉UVM的伙伴非常友好,便于后续特定测试用例的编写与GS修改;同
    的头像 发表于 04-14 19:52 814次阅读
    NVMe IP<b class='flag-5'>开发</b>速成: 三个月不是梦

    如何进行电子连接器的测试验证

    电子连接器的测试验证是确保其性能和质量的关键步骤。以下是对电子连接器进行测试验证的方法: 一、测试
    的头像 发表于 12-20 09:49 2475次阅读