
IC验证/UVM
文章平均质量分 75
数字IC验证:UVM
weixin_43701504
这个作者很懒,什么都没留下…
展开
-
UVM(六):验证环境的组成:UVM组件家族——uvm_component
1.概述 UVM的组建类(uvm_component)是验证环境的骨架,用于验证环境的结构的创建。主要包括uvm_driver、uvm_monitor、uvm_sequencer、uvm_agent、uvm_scoreboard、uvm_env、uvm_test等。在对组件类进行工厂机制的注册时,需使用宏`uvm_component_utils()。而对于组件的构建函数,其固定形式为:function new(string name, uvm_component ...原创 2021-11-18 20:58:06 · 4439 阅读 · 0 评论 -
UVM(五):config机制的使用方法详解
1.config机制的作用 在验证环境的创建过程build_phase中,除了组件的实例化,配置(config)也必不可少。为了验证环境的复用性,通过外部的参数配置,使得环境在创建时,可以根据不同参数选择创建的组件类型、组件实例数目、组件之间的连接以及组件的运行模式等。config_db机制用于在UVM验证平台间传递参数,它们通常都是成对出现的:set用于在上层设置参数,get则用于在底层拿到这个参数。相比于重新编译来修改变量,UVM的config机制可以实现在仿真中通...原创 2021-11-11 22:25:21 · 2643 阅读 · 0 评论 -
UVM(四):phase机制与objection机制
1.phase机制的作用 UVM由phase来管理验证平台的运行。这些phase统一以xxxx_phase来命名,且都有一个类型为uvm_phase、名字为phase的参数。main_phase是uvm_driver中预先定义好的一个任务。因此几乎可以简单地认为, 实现一个driver等于实现其main_phase。driver所做的事情几乎都在main_phase中完成。UVM中的phase,按照其是否消耗仿真时间的特性,可以分成两大类,一类是function pha...原创 2021-11-03 15:23:55 · 1674 阅读 · 0 评论 -
UVM(三):域的自动化(field automation)机制
1.field automation机制是什么? 在类的定义中,使用 `uvm_object_utils_begin(class_name) 和 `uvm_object_end 宏来实现类的factory注册。在这两个宏中间,使用 `uvm_field 系列宏注册类中的所有字段(成员变量)。类中的成员变量类型决定了要使用什么样的 `uvm_field 宏:如int型变量,使用`uvm_field_int宏;string型变量,则使用 `uvm_field_string宏等。2.fi...原创 2021-11-02 10:39:30 · 3459 阅读 · 0 评论 -
UVM(二):factory机制——工厂的作用及本质、重载(override)
1.factory机制的作用 在SystemVerilog中,我们知道,要创建一个类的实例,必须使用new()函数。而在UVM中,提供了factory机制:它可以根据类名创建这个类的一个实例;另外,还可以在创建类的实例时根据是否有重载类型来决定是创建原始的类,还是创建重载后的类的实例。 从本质上来看,factory机制其实是对SystemVerilog中new函数的重载:原始的new函数功能太过简单。经过factory机制的改良后,进行实例化的方法多了很多。2.使...原创 2021-11-01 14:43:30 · 7910 阅读 · 2 评论 -
UVM(一)win10+QuestaSim 从零开始搭建UVM验证环境:Hello UVM
1.安装环境准备:(1)安装Modelsim SE-64 10.4或Questa Sim-64 10.6c(2)安装Gitbash,参考软件工具——Git下载安装_qifengsunny的博客-优快云博客_git工具下载安装(3)安装gvim(可选)2.搭建第一个UVM环境(1)新建一个文件夹,这里我的目录是D:\software\modelsim\project\uvm0(2)在这个文件夹中新建一个文本文档,命名为 hw.sv(3)打开这个sv文件,复制代码块:...原创 2021-09-14 17:34:29 · 3757 阅读 · 5 评论