[转]UVM类库地图

本文介绍了UVM验证方法学在系统验证中的应用,包括组件创建、环境构建、通信机制和调试工具。UVM通过基类、工厂类、事务和序列类等核心类库,支持验证组件的动态创建、通信和调试,提供了一套标准化的验证框架。此外,还详细阐述了TLM接口在组件间通信中的作用以及报告机制对测试过程的记录和控制。
摘要由CSDN通过智能技术生成

一、概述

  • 在SV模块中,验证环境整体的构建,是从底层模块的验证组件搭建到通信和激励生成。
  • 这些元素无论是软件对象的创建、访问、修改、配置,还是组件之间的通信等都是通过用户自定义的方式来实现的。
  • UVM验证方法学,就是将验证过程中可以重用标准化的部分都规定在其方法学的类库当中。
  • 对于验证环境的需求:组件的创建和访问、环境的结构创建、组件之间的连接和运行、不同阶段的顺序安排、激励的生成传递和控制、测试的报告机制。

二、UVM核心类库

  • 由于软件环境中对象的生成是动态的,验证环境中的组件也需要UVM提供底层的功能来完成对象的创建和访问。
  • 在组件创建之外,UVM也需要提供环境上下层次中创建、连接和运行组件的顺序控制方法,只有在底层机制上有效地保证这一点,才会避免可能发生的句柄悬空问题。
  • 在组件通信中,UVM也提供了功能更丰富的TLM(Transaction level model)接口,可以保证相邻组件的通信不再通过显式句柄引用,而是独立于组件的通信方式。
  • 对于测试序列(sequence)的生成和传输也是利用了TLM传输在sequence和driver之间完成。而对于不同sequence的发送顺序控制,需要实现sequence之间的灵活调度。
  • 为了便于验证环境的调试,UVM的报告机制可以将来自于不同组件、不同级别的信息并且加以过滤,最终生成测试报告。
    在这里插入图片描述
    核心基类:提供了最底层的支持,包括了一些基本的方法例如拷贝、创建、比较、打印。
    工厂(factory)类:提供了注册环境组件、创建组件和覆盖组件类型的方法。
    事务(transaction)和序列(sequence)类:用来规定在TLM传输管道中的数据类型和数据生成方式。
    结构创建(struct creation)类:构成验证结构的主要部分。
    环境组件(environment component)类:构成验证结构的主要部分,组件之间的嵌套关系通过层层例化和连接形成了结构层次关系。
    通信管道(channel)类:和事务接口类共同实现了组件之间的通信和储存。
    信息报告(message report)类:使得从UVM环境报告的信息一致规范化,便于整体的控制和过滤。
    寄存器模型(register model)类:用来完成对寄存器和存储的建模、访问、验证。
    线程同步(thread synchronizetion)类:比SV的同步方法更方便,发生同步时可传递的信息也更多。
    事务接口(transaction interface)类:和管道通信类共同实现了组件之间的通信和储存。

---------------------
作者:煎丶包
来源:CSDN
原文:https://blog.csdn.net/qq_39794062/article/details/113822840
版权声明:本文为作者原创文章,转载请附上博文链接!
内容解析By:CSDN,CNBLOG博客文章一键转载插件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值