首页 > 其他分享 >2.2.1最简单的验证平台(单个driver)

2.2.1最简单的验证平台(单个driver)

时间:2024-05-15 11:42:35浏览次数:27  
标签:验证 driver uvm phase 2.2 main UVM

书中的DUT(待测设计)定义如下:


这个DUT的功能非常简单,通过rxd接收数据,再通过txd发送出去,其中rx_dv是接收的数据有效指示,tx_en是发送数据的有效指示。本章中的所有例子都是基于这个DUT.

验证平台中的所有组件都应该派生自UVM中的类。

比如UVM验证平台中的driver应该派生自uvm_driver,一个简单的driver如下例所示:

下面是本人初学时对代码的理解,因为sv没学多少直接来看的,所以刚开始重点在于语法的理解:

3(第三行):这里的语法点是class中extends的用法,用于类的继承。

5:所有派生自uvm_driver的类的new函数都有两个参数,string类型的name和uvm_component的parent类型,name参数好理解,就是名字而已。parent书上说难理解后面再说。

6:这里的super.new()的用法是:

8:这里首先是extern这个关键字,这个关键字指示该任务可以在类的外部进行实现(任务的具体内容可以在class外面定义),然后在定义了virtual时,在子类中调用时会先在子类中查找,没有再去父类中查找。然后后面的task跟着的应该就是11行下面的内容了。

11:driver所做的事情几乎都是在main_ohase中完成。uvm由phase来管理验证平台的运行,这些phase统一以xxxx_phase来命名,且都有一个类型为uvm_phase、名字为phase的参数。main_phase是uvm_driver中预先定义好的一个任务,因此可以简单地认为实现一个driver等于实现其main_phase。

后面的内容就是在生成激励了,向rxd上发送256个随机数据,并将rx_dv信号置为高电平。

然后uvm_info这个宏是用来打印信息的,三个参数,第一个是用来给打印信息分类的字符串,第二个信息是要打印的内容,第三个信息是冗余级别(类似于优先级)(UVM_LOW代表的是关键信息)。

标签:验证,driver,uvm,phase,2.2,main,UVM
From: https://www.cnblogs.com/tomako123/p/18191440

相关文章

  • 基于肤色模型的人脸识别FPGA实现,包含tb测试文件和MATLAB辅助验证
    1.算法运行效果图预览matlab2022a的测试结果如下:   vivado2019.2的仿真结果如下:   将数据导入到matlab中,   系统的RTL结构图如下图所示:   系统包括中值滤波,RGB转换为ycbcr,人脸检测三个模块 2.算法运行软件版本vivado2019.2 matlab2022a......
  • 实验4-交叉验证
    VMware虚拟机Ubuntu20-LTSpython3.6tensorflow1.15.0keras2.3.1运行截图: 代码:fromsklearn.model_selectionimporttrain_test_split,cross_val_score,cross_validate#交叉验证所需的函数fromsklearn.model_selectionimportKFold,LeaveOneOut,LeavePOut,Shuffle......
  • springboot国际化的使用(一_验证OK
    https://blog.csdn.net/weixin_39960529/article/details/86571962 步骤:1.首先建立一个meven项目2.在pom.xml中加如下依赖:<dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-starter-thymeleaf</artifactI......
  • 《Linux内核完全注释》学习笔记:2.2 Linux中断机制
    在使用80x86组成的PC中,采用了两片8259A可编程中断控制芯片。每片可以管理8个中断源。通过多片的级联方式,能构成最多管理64个中断向量的系统。在PC/AT系列兼容机中,使用了两片8259A芯片,共可管理15级中断向量。其级联示意图见图2-5。其中从芯片的INT引脚连接到主芯片的IR2引......
  • 输入表单验证
    1.添加依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency><dependency>......
  • Adding Drivers into VMWare ESXi Installation Image
    ThestandardESXiISOimagedoesn’tsupportmostdesktopNICadapters.ToinstallESXionsuchacomputer,youwillneedtoinjectthedriversforyournetworkadapterintoyourESXiinstallationimageLet’sseehowtoaddthedrivertotheVMwareESXi6.......
  • 神器!使用Python 轻松识别验证码
    前言在我们进行自动化测试的过程中,免不了要在登录时遇到验证码,很多时候我们都是只能找开发要万能验证码或者暂时关闭验证码这个功能,但是有时候我们必须要验证码是否能够正常生成,所以在这个时候,我们需要做的就是输入验证码,但是验证码这个东西是随机生成的,不是每一次都一样,所以我......
  • Windows hosts 文件是一个文本文件,用于将主机名与相应的 IP 地址进行映射。这个文件通
    C:\Windows\System32\drivers\etc\hosts是一个计算机上的文件路径,通常用于存储主机名与IP地址之间的映射关系。在Windows操作系统中,这个文件被称为"hosts"文件。这个文件的作用是将主机名映射到相应的IP地址,这样当你在浏览器中输入一个域名时,系统会首先查看这个文件......
  • 数据分享|python分类预测职员离职:逻辑回归、梯度提升、随机森林、XGB、CatBoost、LGB
    全文链接:https://tecdat.cn/?p=34434原文出处:拓端数据部落公众号分析师:ShilinChen离职率是企业保留人才能力的体现。分析预测职员是否有离职趋向有利于企业的人才管理,提升组织职员的心理健康,从而更有利于企业未来的发展。解决方案任务/目标采用分类这一方法构建6种模型对职......
  • 1.2.2 算法的效率度量
    1.2.2算法的效率度量算法的效率度量时间复杂度空间复杂度算法时间复杂度事前预估算法时间开销T(n)与问题规模n的关系(T表示”time“)时间复杂度运算规则加法规则,多项想加,只保留最高阶的项,且系数变为1乘法规则,多项相乘,都保留时间复杂度各阶数大小关系例题对数......