首页 > 其他分享 >【学习记录丨UVM】1.2驱动器driver(1)——最简单的driver及其实例化

【学习记录丨UVM】1.2驱动器driver(1)——最简单的driver及其实例化

时间:2024-10-08 13:46:43浏览次数:10  
标签:1.2 driver drv UVM phase main uvm

《UVM白皮书》关于driver的介绍

一、只有driver —— 最简单的验证平台

UVM是一个库,其中的driver等组件都是派生(extends)自UVM库中的类(class)。类中通过 function 和 task 实现组件功能。

UVM常用类及树形结构_uvm树-CSDN博客  下边这张图展示了UVM常用的类之间的派生关系。可以看到构建验证平台的大都是继承自uvm_component。

 1.  function new 

关于派生自uvm_component的类 ,它们的 function new 都有两个参数:name 和 parent. 示例如下:这是一个简单的driver。

class a_driver extends uvm_driver;
    function new (string name = "my_driver", uvm_component parent=null);
        super.new(name,parent);
    endfunction
    
    extern virtual task main_phase(uvm_phase phase);
endclass

task my_driver::main_phase(uvm_phase phase);
    ...
    `uvm_info("a_driver","data is drived",UVM_LOW)
endtask

 示例中出现了main_phase。driver所做的事情几乎都在main_phase中完成。

2.  main_phase

UVM是由phase来管理验证平台运行。UVMphase的命名为 xx_phase,都有一个类型为uvm_phase 名字为phase的参数。

3.  uvm_info 

    `uvm_info("a_driver","data is drived",UVM_LOW)
*******************************************************************
    UVM_INFO a_driver.sv(20) @245000.000 ns : drv [a_driver] data is drived

第一个参数是字符串,用于把打印信息归类;第二个参数的字符串是具体要打印的信息;第三个参数是冗余级别。

打印效果:UVM_INFO关键字 a_driver.sv(20)此条打印信息的文件来源和行号 @24500.000 ns 仿真中此条信息的打印时间 : drv 逻辑节点信息,即在UVM树中的路径索引

关于路径索引,UVM采用树形结构,其中的任何一个节点,都有一个与之对应的路径索引,是字符串类型。路径索引可以通过get_full_name函数来获得。

$dispaly("the full name of current component is : %s",get_full_name());

[a_driver] 是uvm_info宏传递的第一个字符串 data is drived 是uvm_info宏传递的第二个字符串,也就是要打印的信息

在搭建验证平台时,尽量用uvm_info代替display 

二、实例化driver搭建的最简单验证平台

 上边介绍了最简单的driver完成了,我们怎么才能使用它呢?—— 实例化driver。 在自己验证平台driver层次的上一级进行其实例化。

这里介绍最简单的只有driver验证平台,那上一层次就是我们的top_tb了。下边例子里harness是top_tb的名字,名字是自由的,都可以啦

`timescale 1ns/1ps//时间精度
`include "uvm_macros.svh"//导入uvm中一个包含很多宏定义的文件

import uvm_pkg::*;//导入uvm,前文有提到uvm是一个库
`include “a_driver.sv”

`ifndef HARNESS_SV
`define HARNESS_SV

module harness();
    reg clk;
    ...信号声明...

    dut my_dut(.clk(clk),
                ...)

    initial begin
        a_driver drv; //实例化drv 第一步
        drv = new("drv",null); //实例化drv 第二步
        drv.main_phase(null);
        $finish();
    end

    ...
endmodule

上例中的null只是代替。除了上边写的实例化语句,还有一种:

a_driver drv;
drv = a_driver::type_id::create ("drv",null);

这样就是最简单的验证平台结构了,只用了简单的driver,目前还并不怎么涉及UVM。

标签:1.2,driver,drv,UVM,phase,main,uvm
From: https://blog.csdn.net/yanwenyu123/article/details/142630740

相关文章

  • #HACKTHEBOX——Driver
    靶机详情靶机地址:10.10.11.106kali地址:10.10.16.4初始侦察与渗透确认kali与靶机之间可以ping通使用nmap进行侦查扫描nmap-sT--min-rate1000-p-10.10.11.106 #以TCP协议,基于当前网络情况,以最低1000的速率进行该IP的全部端口nmap-sT-sC-sV-p80,135,445,598......
  • FL Studio 24.1.2.4381中文版免费下载及FL Studio 24最新使用学习教程
    家好呀,作为一个资深的音乐爱好者和制作人,今天我要安利一个我最近超级痴迷的数字音频工作站软件——FLStudio24.1.2.4381中文版。这款产品可是让我的音乐创作之路如虎添翼,快来跟我一起看看它的炫酷功能吧!最近接到很多小伙伴的私信,都在问我平时会使用哪些音乐软件,能不能给一......
  • 1.2 监督学习
    前言:我往后看了看这本书,发现很多机器学习的术语定义出现,我推测这门课是机器学习的先修课程,有趣的是我们学校在上机器学习之前没有上过这门课,怪不得看的时候云里雾里,因此我觉得改变计划,把接下来的重心放到统计学习方法上来。1.2监督学习在统计学习中,学习方法主要包括监......
  • 安装Kali2021.1步骤(VMware16.1.2)
    脑子空空关注IP属地:上海2022.06.0417:47:41字数159阅读991 1、VMware虚拟机的下载安装都在官网,这里用的是16.1.2的版本2、Kali下载(选择VirtualMachines)  3、点击VMware64下方的下载图标(文件大小只有2G,网速快的话10-15分钟就下载完了)  4......
  • 沃德校园助手系统V1.1.2
    为校园团队提供全套的技术系统及运营的方案(目前仅适配微信小程序),可以更好的帮助你打造自己的线上助手平台。成本低,见效快。各种场景都可以自主选择服务。V1.1.2小程序需要更新【优化】1.腾讯接口文本校验问题2.修复微信小程序添加申请校园接单员是否显示学号、学生证照片配置选否,小......
  • VMware Tanzu Kubernetes Grid Integrated Edition (TKGI) 1.20.0 - 运营商 Kubernete
    VMwareTanzuKubernetesGridIntegratedEdition(TKGI)1.20.0-运营商Kubernetes解决方案Kubernetes-basedcontainersolutionwithadvancednetworking,aprivatecontainerregistry,andlifecyclemanagement请访问原文链接:https://sysin.org/blog/vmware-tkgi/,......
  • selenium过webdriver检测
    js/*!*Note:Auto-generated,donotupdatemanually.*Generatedby:https://github.com/berstend/puppeteer-extra/tree/master/packages/extract-stealth-evasions*Generatedon:Sun,13Feb202212:56:05GMT*License:MIT*/(({_utilsFns:_utilsFns......
  • Selenium+WebDriver 各浏览器驱动下载与使用
    Selenium+Python之WebDriver驱动下载与使用一、Firefox(火狐)浏览器驱动下载地址:https://github.com/mozilla/geckodriver/releases/下载对应驱动:根据自己的操作系统下载相对应的驱动。使用方法:把文件存放在python根目录下,例如:C:\xxx\Python\Python38下。(安装最新版......
  • 驱动更新 IObit Driver Booster PRO v12.0.0.354 绿色版
    驱动更新IObitDriverBoosterPROv12.0.0.354绿色版下载地址:https://pan.quark.cn/s/85f9c35e7944介绍IObitDriverBooster,全球专业级驱动更新软件。检测硬件驱动更新、驱动备份管理、支持离线驱动更新,检测游戏组件、修复设备错误、无声问题、网络问题。提供游戏加速、......
  • STranslate(翻译、OCR工具) v1.2.5.927 绿色版
    ​ STranslate(翻译、OCR工具)v1.2.5.927绿色版下载地址:https://pan.quark.cn/s/1198dc1529f9介绍STranslate是一款为Windows用户设计的免费开源的翻译和OCR(光学字符识别)工具。它提供了一种高效且直观的方式来翻译和识别屏幕上的文字。该软件以「即开即用、即用即......