story · 2021年05月10日

uvm_void,空就是空,啥都不是

UVM库定义了一组基类(base classes),这些基类有助于搭建模块化/可扩展/可重用的验证环境。

在基于UVM的验证环境中,所有的组件就尽量使用UVM定义的基类,然后使用这些基类中预先提供的方法。

要造特定样式的房子,就选择特定的砖头。免得牛头不对马嘴,能用但是不好用。

image.png

virtual class uvm_void;

如上图所示,uvm\_void是uvm所有class的基类(一个没有任何属性成员和方法(function、task)的抽象类),类似于C++中的空指针。简单来说就是:

零生一,一生二,二生万物。

但是在uvm\_port\_baseuvm\_object继承uvm\_void的时候,并未继承任何的内容。

image.png

直到看到一篇博客,我慌了,还是境界不够啊

image.png

由两行代码牵扯到了宇宙、永恒、道和美。。。

示例上uvm\_void的存在可能仅仅是个历史问题,从URM/eRM到OVM,再到UVM。所以,uvm\_void就是什么都不是,连空都不是。

原文链接:https://mp.weixin.qq.com/s/WZ7H2mfX-lz0HgtgaVY7xQ
授权转自数字芯片实验室公众号,请勿二次转载。

推荐阅读

更多数字IC设计技术干货等请关注数字芯片实验室专栏。
推荐阅读
关注数
12313
内容数
219
前瞻性的眼光,和持之以恒的学习~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息