关于句柄与new函数的简单理解

news/2024/5/19 17:56:48 标签: systemverilog, 经验分享

前言

在实际应用中,经常会遇到句柄和new函数,但是对二者的意义一直没有搞明白。通过查阅资料,谈谈个人对句柄与new函数的理解,有错误还请各位批评指正!

句柄

通常以类class的名字声明一个句柄,如
driver drv;
在声明句柄drv的时候,drv会被初始化为null值,此刻还没有为其分配一个对象。

new函数

drv = new();
通过new函数,创建driver对象,并为其分配空间。同时,在new函数在为对象分配内存的时候,也会对其变量进行初始化,且会返回一个存储着对象内存的地址给句柄。因此句柄可以通过这个地址索引到指向的对象。
当然,我们也可以自定义new函数将变量赋予预设的初值。
class driver;  logic a, b; function new(); a = 3; b = 2; endfunction endclass


http://www.niftyadmin.cn/n/1788027.html

相关文章

Python+request+ smtplib 测试结果html报告邮件发送(下)《六》

目录结构如下: 1、cfg.ini的配置信息写法如下: [email] ;--------------------------使用腾讯企业邮箱作为发件人的操作如下--------------------- smtp_server smtp.qq.com Port 465 Sender 请写你自己的QQ邮箱 psw 请写你自己的QQ授权码 Receiver …

断言的学习(以对APB协议检查断言为例)

文章目录断言立即断言与并发断言区别sequence和property的区别断言常见语法常见调用函数if的用法蕴含操作符重复操作符断言 断言就是一段描述设计期望行为的代码。目前,对断言的使用主要在于仿真,但断言的能力不仅仅如此。断言是基于一些更加基础的信息…

我没有说过这句话

文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言、评论转载于:https://www.cnblogs.com/lovebing/p/10949911.html

UVM实战--基于白皮书代码

文章目录前言DUT介绍dirver模块uvm_sequence与uvm_sequencermy_transaction模块加入monitor加入agent加入reference model加入scoreboard加入env验证平台顶层top_tb创建base_test测试用例case添加前言 UVM(Universal Verification Methodology)&#xf…

并查集详解(超级简单有趣~~就学会了)

转的一个超级有意思,好懂的并查集解释, 膜拜大神~~ 故事读完,并查集就会了~~~~~ 江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的&#…

verilog实现序列检测(状态机和移位寄存器实现)

前言 用Verilog描述一个可综合的序列检测器用于检测输入数据码流中的特定序列。本文介绍了使用状态机来直接描述和采用移位寄存器的方式进行检测的两种方法。同时,也给出了tb文件和仿真波形图。 状态机方法 本文实现了对序列“1010”的检测,第一种方法…

2019春第二次实验报告

2019春第二次实验报告 一、实验项目名称 空战游戏 二、实验项目功能描述 在第一次实验基础上增加多台敌机,在一定的得分后发散导弹 三、项目模块结构介绍 四、实现界面展示 五、代码托管链接 https://gitee.com/wenyizhang999/ZWY/blob/master/空战游戏.cpp 六、实验…

【sv中浅拷贝与深拷贝】

文章目录前言浅拷贝(shallow copy)深复制 (deep_copy)UVM中实现深复制的方法前言 本文通过实际代码编译介绍了sv中浅复制和深复制的区别 浅拷贝(shallow copy) 先给出实际代码 module shallow_copy();class A;integer j 5;endc…