UVM概述及uvm_component和uvm_object(一)

UVM概述及uvm_component和uvm_object(一)UVM UniversalVer 通用验证方法学 UVM 是建立在 systemverilo 平台上的一个库 提供了一系列的接口 让我们能够更方便的进行验证 验证平台组成 Driver 用来把不同的激励施加给 DUT Monitor 用来检测 DUT 的输出 Scoreboard 专门用来比较期望值与 monitor 检测到的 DUT 输出 Refer

Uvm_monior:所有monitor都要派生子uvm_monitor。Monitor从DUT的pin上接收数据,并且把接收到的数据转换成transaction级别的sequence_item,并把转换后的数据发送给scoreboard,供scoreboard比较。

Uvm_sequencer:所以的sequencer都要派生自uvm_sequencer。其功能1就是组织管理sequence,当driver要求数据时,他就把sequence生成sequence_item转发给driver。

Uvm_scoreboard:一般的scoreboard都要派生自uvm_scoreboard。其功能就是比较reference model和monitor分别发送来的数据,根据比较结果判断DUT是否正确。

Reference model:reference model直接派生自uvm_component。其作用就是模仿DUT,完成与DUT相同的功能,可以直接使用systemverilog的特性,或者可以通过DPI等接口调用其它语言来完成与DUT相同功能。

Uvm_agent:所以agent都要派生自uvm_agent。只是把driver和monitor封装在一起,根据参数来决定是只实例化monitor还是要实例化driver和monitor。

Uvm_env:所有env都要派生自uvm_env。把验证平台固定不变的component封装在一起。这样在要跑不同case时,只要在case中实例化一个env就可以。

Uvm_test:所有的case都要派生自uvm_test。Case之间差异很大,所以从uvm_test派生出来的类各不同。任何一个派生的case都要实例化env,只有这样才能正常传数。

Uvm_sequence:所有的sequence要从uvm_sequenc派生一个。Sequence就是sequence_item的组合。Sequence和sequencer直接打交道。当driver向sequencer索要数据时,sequencer会转而向sequence要数据,当sequence发现有sequence_item时,则将数据传输过来。

Config:所有config一般直接从uvm_object派生。Config的主要功能就是规范验证平台的行为方式。

Uvm_phase:派生自uvm_object,其作用是控制uvm_component的行为方式。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233488.html原文链接:https://javaforall.net

(0)
上一篇 2025年7月14日 下午6:01
下一篇 2025年7月14日 下午6:22


相关推荐

  • Android开发—-简单几步教你制作一个简易的音乐播放器

    Android开发—-简单几步教你制作一个简易的音乐播放器前言:本博文只教你编程的思想,就举一个简单的例子来实现我们的简易的音乐播放器,大家不喜勿喷啊友情提示:本博文用到的是AndroidStudio进行开发的,软件安装教程:AndroidStudio安装教程:文章目录:一.缓冲界面实现:二:播放音乐界面:一.缓冲界面实现:在前面的博客中也讲到了关于界面缓冲跳转的方法,详情请查:3种方式实现界面缓冲,为什么要设置这个呢?自我感觉当用户点进应用后,至少有一个缓冲时间,不仅仅是让用户缓冲也是为了让程序内部进行缓冲缓冲,话不多说一起来看看设计:当然首先是界

    2022年7月16日
    18
  • 学习JavaScript这一篇就够了

    学习JavaScript这一篇就够了目录第一章JavaScript简介1.1、JavaScript的起源1.2、JavaScript的组成1.3、JavaScript的特点1.4、JavaScript的使用1.4.1、标签引用1.4.2、文件引用1.5、JavaScript的输出1.5.1、页面输出1.5.2、控制台输出1.5.3、弹出窗口输出1.6、JavaScript的注释1.6.1、单行注释1.6.2、多行注释第二章JavaScript基础语法2.1、标识符2.2、字面量和变量2.2.1、字面量2.2.2、变量2.3、数据类型2.3

    2022年6月16日
    28
  • SSTI详解 一文了解SSTI和所有常见payload 以flask模板为例

    SSTI详解 一文了解SSTI和所有常见payload 以flask模板为例做的 ctf 题里有好几道跟 SSTI 有关 故对 SSTI 进行学习 在此做个小结与记录

    2026年3月26日
    2
  • 如何用正则表达式匹配汉字

    如何用正则表达式匹配汉字[\u4E00-\u9FA5\\s]+ 多个汉字,包括空格[\u4E00-\u9FA5]+ 多个汉字,不包括空格[\u4E00-\u9FA5]一个汉字

    2022年6月18日
    28
  • 基于氚云平台的应用开发学习(三)

    基于氚云平台的应用开发学习(三)这篇将继续围绕上篇所说的第二种方法 记录说明一下自己遇到的问题以及解决方法 一 创建或更新包含子表的表单二 流程事件变化后执行某些逻辑三 发送消息提醒一 创建或更新包含子表的表单 1 首先介绍关于在后端创建包含子表的表单 1 根据 ID 查询当前表单数据 2stringsql1 selectWareho M

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号