【UVM学习笔记】UVM验证平台的运行—Phase以及objection
一、phase机制1.1 task phase与function phaseUVM中的phase,按照其是否消耗仿真时间的特性,可以分成两大类,一类是function phase,如build_phase、connect_phase等,这些phase都不耗费仿真时间,通过函数来实现;另外一类是task phase,如run_phase等,它们耗费仿真时间,通过任务来实现。灰色背景所示的是task phase,其他为function phase。 值得注意的是,task...
【UVM学习笔记】UVM中的“类”
一、UVM派生结构在上一篇博客讲述了UVM的结构,大家可以发现所有的结构分为两大类,一个是uvm_component,另一个是uvm_object。uvm_object是UVM中最基本的类,读者能想到的几乎所有的类都继承自uvm_object,包括uvm_component。uvm_component有两大特性是uvm_object所没有的,一是通过在new的时候指定parent参数来形成一种树形的组织结构,二是有phase的自动执行特点。下面是整个UVM类的派生图: 1.1...
【UVM学习笔记】更加灵活的UVM—通信
一、TLM是什么?TLM是Transaction Level Modeling(事务级建模)的缩写。所谓transaction...
【UVM学习笔记】UVM基础—一文告诉你UVM的组成部分
一、Driver驱动器这段代码是用 SystemVerilog 编写的一个基于 UVM(Universal Verification Methodology)的驱动器(driver)组件,名为 my_driver。它继承自 uvm_driver 类,用于在验证环境中驱动 DUT(Design Under Test,被测设计)的输入信号。下面我将逐步解释这段代码的结构和功能。 1.1 整体结构代码分为两个主要部分: 类定义部分:定义了 my_driver 类,包括构造函数和一个外部声明的任务(main_phase)。 任务实现部分:实现了 main_phase 任务,负责具体的信号驱动逻辑。 此外,代码使用 ifndef 和 define 宏来防止重复包含。 1.2...