UVM笔记

本文详细介绍了UVM(Universal Verification Methodology)在System Verilog中的应用,包括验证平台的构建、UVM的优势、组件之间的通信机制、接口定义以及工厂机制等。通过例子展示了如何使用UVM进行驱动、监控器、序列器等组件的创建和交互,并强调了配置数据库(uvm_config_db)在连接不同组件中的作用。同时,文章还提到了测试计划的制定、覆盖率衡量以及UVM的认证过程。
摘要由CSDN通过智能技术生成

验证:C、C++、system verilog 现在是主流

工作:验证平台,搭平台,
1、灌激励;
2、收集相应;
3、作比较。

uvm:基于SV的验证方法学。
1、提供架构;
2、一套完整的库;
3、一套成熟的运作机制。

一般是class开头,相当于module,
extends 继承,

class my_driver extends uvm_driver.
uvm_driver 父类
my_driver 子类,天生拥有父类的所有的功能,
所有东西都需要new一下

::用法 my_driver::main_phase,main_phase是包含在my_driver里。
virtual 用法 虚函数,父类里定义了task1,子类里如果想对task1改进或者重写,需要加virtual。另外是,父类如果有很多子类的情况,改进需要用virtual。为了养成好习惯,
task前面加virtual。

’ 宏定义,'uvm_info(“”,“”,“”) 宏定义里面肯定包含了分号,所以不用写分号。

-gui 是图形化界面,
-log 是数据

import uvm_pkg :: *;
输入uvm包,

uvm优势:
1、便利
2、可移植性

testbench 里用run_test ("") 括号里指定UVM的top顶层。

uvm phase运行机制: 有task phase 和function phase ;function不占用仿真时间,
task占用仿真时间。

uvm某一些phase底层已经把一些phase定义好了,但是里面的功能需要自己后面去实现。uvm自己定义好的phase会自动运行,从上至下,就算有的只是空壳。用户自定义的phase/task/function只有在调用的时候才会执行。

如果有几个class,那么class与class之间的关联:运行机制是按同级phase并行执行,一级都执行完了之后再执行下一级。
在这里插入图片描述
在这里插入图片描述
interface 接口
在这里插入图片描述
在这里插入图片描述

为什么定义成logic&#

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值