【无标题】UVM平台的相关知识

本文概述了UVM平台的关键概念,包括组件的继承关系、phase机制的顺序管理、object和factory机制的复用、config机制的配置传递,以及TLM、sequence、field_automation等核心功能。介绍了DUT、driver、monitor等组件的作用,并描绘了test_top的整体架构图和UVM宏的使用。
摘要由CSDN通过智能技术生成

了解UVM平台的一些相关知识

需要知道以下的一些晦涩要求

  • uvm原则
    • 验证平台中所有的组件应该派生自UVM中的类
  • uvm机制
    • phase机制
      • 一般而言,从验证平台的构建,到配置,到连接,再到运行,最后需要一定的先后顺序。phase 可以满足这个需求。UVM中phase的设计哲学,在于不同时间做不同的事情。其中phase的自动执行的功能极大地方便了用户,phase的引入很大程度上解决了因为代码顺序杂乱可能会引发的问题。 因为连接的前提是所有的组件已经实例化,在phase机制中 实例化在build_phase 中实现,紧接着在connect_phase 中实现自动连接。其中的自动连接和科学的分区设计不言而喻。一定程度上减少平台开发者的工作量。
    • object机制
      • objection控制task phase的运行和终止 (所以在执行task phase 语句时 应该先执行phase.ralse_objection(this) 执行结束之后要执行 phase.drop_objection(this) ) 否则task phase 将不会被平台执行
    • factory机制
      • 可以在不更改代码的情况下实现不同对象的替换(实现了代码的复用),factory机制与override机制联合使用实现对象的替换
    • config 机制
      • 实现将虚拟接口句柄从静态验证平台模块传递到UVM object类中
      • virtual interface的传递 使用config_db机制,具体包括set(在顶层中使用)和get(在对应的组件中使用)方法。
    • TLM机制
      • 建立专门的通信信道,避免通信出现混乱。每个信道相互独立互不影响。
    • sequence机制
      • 作用:控制并产生一系列的事务,并将事务发送给driver的一套机制
      • 功能:
        • 检测仲裁队列里是否有某个sequence发送transaction的请求;
        • 检测driver是否申请transaction。
    • field_automation机制
      • 为了方便用户对事务进行打印、复制、打包、解压、比较、记录等一系列功能而建立的一套服务机制。(简化验证工程师的工作量 使得整个格式完整统一)
  • uvm组件的功能
    • DUT: 待测设计
    • driver: 将获取的事务转化为pin级信号驱动DUT
    • squencer:启动sequence产生事务,并将事务发送给driver
    • monitor: 检测接口上的有效信号(包括被测设计的输入信号和输出信号),并将pin级的信号事务转化为事务级的数据包,再发送到analysis组件(包括reference model、scoreboared )进行分析和产生报告。
    • agent: 将sequencer、driver和monitor封装起来,连接sequencer与driver。
    • model: 模拟DUT的行为,根据激励来产生结果,该结果会送入scoreboard中做对比。
    • scoreboard:比较预期的结果与DUT的输出结果是否一致。(也可以将功能覆盖率 嵌入到这个模块当中 实现覆盖率的收集)
    • environment:通过某种方式将多个agent、reference model、scoreboard以及其他连接组件和配置组件连接起来。
    • test_top:实例化env,配置env,启动测试平台。
  • uvm宏
    • uvm_do系列宏
    • uvm_info宏
  • 整体架构图
    在这里插入图片描述
  • uvm树
    11
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值