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

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

3天内不再提示

介绍从一组可重用的验证组件中构建测试平台所需的步骤

芯片验证工程师 来源:芯片验证工程师 2023-06-13 09:11 次阅读

本文介绍了从一组可重用的验证组件中构建测试平台所需的步骤。UVM促进了重用,加速了测试平台构建的过程。

首先对测试平台集成者(testbench integrator)测试编写者(test writer )进行区分,前者负责测试平台的构建和配置,后者可能对测试平台的底层了解较少,但用它来创建测试用例。

基于验证组件创建测试平台的步骤是:

Review可重用的验证组件配置参数

实例化和配置验证组件。

接口验证组件创建可重用的sequences(可选)。

添加一个virtual sequencer(可选)。

增加checking和functional coverage。

创建测试用例以实现覆盖率目标。

创建Top-Level Environment

Top-Level Environment是一个容器,它定义了可重用验证组件的拓扑结构,实例化并配置可重用的验证IP,并根据需要定义该IP的默认配置。不同的测试用例可以实例化并重新配置Top-LevelEnvironment类,以更好地实现其测试目的。

a7c509d0-097e-11ee-962d-dac502259ad0.png

实例化验证组件

a80c937c-097e-11ee-962d-dac502259ad0.png

不同的测试用例可以实例化上面的top-level environment 类,并根据需要对其进行配置,而不需要了解它被创建和配置的所有细节。

我们不是在ubus_example_env的new()构造函数,而是在内置的UVM phase中创建验证子组件。

uvm_config_db::set 调用指 定masters和slaves的数量都应该是1。这些配置 在 ubus0 build_phase()中被使用,定义ubus0环境的拓 扑结构。

super.build_phase()作为ubus_example_env’s build()的第一行调用,如果使用了UVM字段自动化宏(UVM field automation macros,这将更新ubus_example_tb的配置字段。

connect_phase()是一个内置的UVM phase,用于在slave monitor 和scoreboard之间建立连接。slave monitor包含一个TLM analysis port,它与scoreboard上的TLM analysis export 相连。在build_phase()和connect_phase()函数完成后,用户可以对一些配置进一步进行调整。

创建testcase

uvm_test类定义了测试场景(test scenario),涉及到验证环境的配置。尽管验证环境开发者提供了验证环境拓扑和配置属性的默认值,测试用例开发者可以使用UVM类库提供的配置覆盖机制进行覆盖。UVM中的测试用例是由uvm_test类派生的类,通常定义一个基础test case类,实例化并配置Top-Level Environment,然后被扩展以定义特定场景。




审核编辑:刘清

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

    关注

    0

    文章

    182

    浏览量

    19167
  • TLM
    TLM
    +关注

    关注

    1

    文章

    32

    浏览量

    24747
收藏 人收藏

    评论

    相关推荐

    UVVM(通用 VHDL 验证方法)

    UVVM(通用 VHDL 验证方法) 简介 UVVM(通用 VHDL 验证方法)是种免费的开源方法和库,用于开发非常结构化的基于 VHDL 的测试
    发表于 01-02 12:59

    户外光伏组件户外测试平台设计

    快速的扫描IV特性曲线至关重要。在上述测量流程,AD转换器对光伏组件IV特性曲线上每个点同步测量时间约80μs,测量一组IV特性曲线数据需用时约22ms,般而言,该测量时间内几乎不
    发表于 09-30 16:16

    数字IC验证之“什么是UVM”“UVM的特点”“UVM提供哪些资源”(2)连载...

    测试呢对应了一组固定的激励,所以说定向测试效率及其低下,随机激励可以使仿真器产生多种不同的激励,是不仅减少了验证工程师的工作量,而且测试
    发表于 01-21 16:00

    数字IC验证之“典型的UVM平台结构”(3)连载...

    应用的过程,将uvm的组件封装起来,可以将这些封装的组件呢作为个整体进行重用,在进行芯片级或者是系统级
    发表于 01-22 15:32

    数字IC验证之“构成uvm测试平台的主要组件”(4)连载...

    测试案例完成的。因此在构建env的时候,需要事先定义好配置接口,是env具有可配置性。  uvm不仅为验证工程师提供了测试
    发表于 01-22 15:33

    怎么构建种基于FPGA的NoC验证平台

    本文提出了种基于FPGA的NoC验证平台。详细讨论了该验证平台中FPGA硬件平台和NoC软件的
    发表于 05-06 07:20

    验证方法简介

    。 OVM 是个开源 SystemVerilog 类库和方法,它定义了重用验证 IP (VIP) 和测试的框架。它是 100% IEEE
    发表于 02-13 17:03

    求助,重用组件的推荐目录结构是什么?

    我们目前正在将些我们经常使用的样板代码组织到 idf 组件以促进重用。网络设置样板、传感器驱动程序、ota 设备配置的基本基础设施等功能。由 idf.py create_compo
    发表于 04-13 08:08

    基于FPGA的NoC验证平台构建

    针对基于软件仿真片上网络NoC(Network on Chip)效率低的问题,提出基于FPGA的NoC验证平台构建方案。该平台集成
    发表于 01-04 16:24 12次下载

    基于重用激励发生机制的虚拟SoC验证平台

    在系统芯片的设计,传统的激励发生机制耗费人工多且难以重用,严重影响了仿真验证的效率。针对此问题,构建种基于
    发表于 11-28 17:43 0次下载
    基于<b class='flag-5'>可</b><b class='flag-5'>重用</b>激励发生机制的虚拟SoC<b class='flag-5'>验证</b><b class='flag-5'>平台</b>

    基于System Verilog的重用验证平台设计及验证结果分析

    采用System Verilog语言设计了种具有层次化结构的重用验证平台,该平台能够产生各种
    发表于 01-12 11:28 2672次阅读
    基于System Verilog的<b class='flag-5'>可</b><b class='flag-5'>重用</b><b class='flag-5'>验证</b><b class='flag-5'>平台</b>设计及<b class='flag-5'>验证</b>结果分析

    基于VMM构建验证平台在AXI总线协议SoC的应用研究

    本文以软件工程的视角切入,分析中科院计算所某片上系统(SoC)项目的验证平台,同时也介绍当前较为流行的验证方法,即以专门的验汪语言结合商用的验证
    发表于 04-10 09:23 1461次阅读
    基于VMM<b class='flag-5'>构建</b>的<b class='flag-5'>验证</b><b class='flag-5'>平台</b>在AXI总线协议SoC<b class='flag-5'>中</b>的应用研究

    如何使用参数化编写重用的verilog代码

    ,因为我们可以更轻松地将代码从一个设计移植到另个设计。 我们在verilog中有两个可用的结构,可以帮助我们编写重用的代码 - 参数化和generate语句。这两种结构都允许
    的头像 发表于 05-11 15:59 1116次阅读

    创建Environment类

    uvm environment 类是个包含多个重用验证组件的类,它定义了测试用例
    的头像 发表于 06-04 16:28 477次阅读
    创建Environment类

    重用验证组件构建测试平台步骤

    本文介绍从一组重用验证组件
    的头像 发表于 06-13 09:14 591次阅读
    <b class='flag-5'>可</b><b class='flag-5'>重用</b>的<b class='flag-5'>验证</b><b class='flag-5'>组件</b><b class='flag-5'>中</b><b class='flag-5'>构建</b><b class='flag-5'>测试</b><b class='flag-5'>平台</b>的<b class='flag-5'>步骤</b>