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

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

3天内不再提示

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

jf_78858299 来源:芯片验证工程师 作者:验证哥布林 2023-03-21 11:33 次阅读

因为DUT是一个静态的内容,所以testbench理应也是静态的,其作为uvm验证环境和DUT的全局根结点。

module tb_top;
import uvm_pkg::*;


bit clk;
always #10 clk <= ~clk;


dut_if dut_if1 (clk);
dut_wrapper dut_wr0 (._if (dut_if1));


initial begin
uvm_config_db #(virtual dut_if)::set (null,"uvm_test_top","dut_if",dut_if1);
run_test ("base_test");
end


endmodule

上面是一个简单的验证平台的tb_top示例.其中:

  • tb_top 是一个静态的module,验证环境中所有的信息都可以从这里索引到。此时需要 import uvm_pkg:: * 才能识别一些uvm库的内容。
  • 在tb_top需要生成验证环境、DUT和接口都需要的时钟和复位。因为验证环境是动态的,无法在其中例化物理接口,所以需要采用uvm_config_db将物理interface的指针set给验证环境中的virtual interface。
  • 通过ru
    n_test(“
    base_test
    ”) 启动
    一个test_case。

Clock generation

一般的数字设计都会包含一个或者多个时钟,同时设计可能会因为工艺等问题工作在不同的频率下,所以时钟生成最好是参数化的。

Reset Generation

和时钟类似,复位也需要在testbench顶层实现。在许多数字设计中,复位分为 硬件复位和软件复位 ,它们的复位方式不一样,前者通过寄存器接口实现,后者直接通过硬件复位接口实现。

和DUT interface一样,时钟和复位在验证环境和DUT中都会用到,对应的赋值可以在tb_top中实现,也可以在验证环境中实现。

另外很多验证环境都需要抽取DUT中的信号可能是force,也可能是采样DUT内部信号。此时需要在testbench tb_top中将DUT信号赋值过去。

interface gen_if;
logic  signals;
endinterface


module tb_top;
gen_if u_if0 ();
des u_des ( ... );
// Assign an internal net to a generic in
assign u_if0.signals = u_des.u_xyz.status;
endmodule
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 时钟
    +关注

    关注

    10

    文章

    1712

    浏览量

    131254
  • UVM
    UVM
    +关注

    关注

    0

    文章

    181

    浏览量

    19119
  • DUT
    DUT
    +关注

    关注

    0

    文章

    189

    浏览量

    12300
收藏 人收藏

    评论

    相关推荐

    IC验证"UVM验证平台"组成(三)

    验证用于找出DUT中的bug,这个过程通常是把DUT放入一个验证平台中来实现的。一个验证平台要实现如下基本功能:
    发表于 12-02 15:21

    IC验证"一个简单的UVM验证平台"是如何搭建的(六)

    main_phase的声明中,一个uvm_phase类型的参数phase,在真正的验证平台 中,这个参数是不需要用户理会的。本节的验证
    发表于 12-04 15:48

    IC验证"UVM验证平台加入factory机制"(六)

      加入factory机制 上一节《IC验证"一个简单的UVM验证平台"是如何搭建的(五)》给出了一个只有driver、使用UVM搭建的
    发表于 12-08 12:07

    IC验证UVM验证平台加入objection机制和virtual interface机制“(七)

    在上一节中,**《IC验证"UVM验证平台加入factory机制"(六)》**虽然输出了“main_phase is called”,但是“data is drived”并没有
    发表于 12-09 18:28

    基于C的测试和验证套件集成到常规UVM测试平台的方法

    Systemverilog [1]和 UVM [2]为验证团队提供结构和规则。它使得在许多测试中能获得一致的结果,并可以在团队之间共享验证。许多验证团队都在使用由C代码编写的
    发表于 12-11 07:59

    基于C的测试和验证套件集成到常规UVM测试平台的方法

    Systemverilog [1]和 UVM [2]为验证团队提供结构和规则。它使得在许多测试中能获得一致的结果,并可以在团队之间共享验证。许多验证团队都在使用由C代码编写的
    发表于 12-15 07:38

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

    原文链接:https://zhuanlan.zhihu.com/p/345775995大家好,我是一哥,上章内容主要讲述两个内容,芯片验证以及验证计划。那本章我们主要讲述的内容介绍什么是uv
    发表于 01-21 16:00

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

      大家好,我是一哥,上章内容我们介绍什么是uvmuvm的特点以及uvm为用户提供了哪些资源?  本章内容我们来看一看一个典型的uvm验证
    发表于 01-22 15:32

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

      大家好,我是一哥,上章一个典型的uvm验证平台应该是什么样子的?从本章开始就正式进入uvm知识的学习。先一步一步搭建一个简单的可运行的测试平台
    发表于 01-22 15:33

    数字IC验证之“搭建一个可以运行的uvm测试平台”(5)连载中...

    事物的控制,在智能代码中前后有两个if语句,这里先不用管,它的功能是控制验证平台何时结束。  在来看看repeat语句当中的内容,repeat的语句中使用了uvm do这个uvm内建的
    发表于 01-26 10:05

    什么是uvmuvm的特点哪些呢

    大家好,我是一哥,上章内容我们介绍什么是uvmuvm的特点以及uvm为用户提供了哪些资源?本章内容我们来看一看一个典型的uvm验证
    发表于 02-14 06:46

    基于UVM的CPU卡芯片验证平台

    基于UVM的CPU卡芯片验证平台_钱一文
    发表于 01-07 19:00 4次下载

    基于UVM验证平台设计研究

    基于UVM验证平台设计研究_王国军
    发表于 01-07 19:00 4次下载

    UVM验证平台执行硬件加速

    。 本文所聚焦的技术手段是让一个已有的UVM验证平台通过改变需求去执行硬件加速。如果这些点在UVM环境开发过程中被考虑到,那么之后将环境迁移到硬件加速器作为一个性能选项将是一件较容易的
    发表于 09-15 17:08 14次下载
    <b class='flag-5'>UVM</b><b class='flag-5'>验证</b><b class='flag-5'>平台</b>执行硬件加速

    ASIC芯片设计之UVM验证

    百度百科对UVM的释义如下:通用验证方法学(Universal Verification Methodology, UVM)是一个以SystemVerilog类库为主体的验证
    发表于 11-30 12:47 1431次阅读