SystemVerilog 验证-测试平台编写指南学习笔记(4):SystemVerlog 面向对象编程OOP

1 为什么 SystemVerilog 需要面向对象编程?

Verilog 语言没有结构(struct),只有位和数组,而且数组是静态的,需要修改数组大小需要修改源代码并重新编译。
面向对象(OOP)编程:

  • 能够创建复杂的数据类型,并将它们和程序紧密结合。
  • 能够在更高层次建立测试平台和系统级建模,更加高效。
  • 测试平台与设计细节分开,更加可靠易于维护,可重用。

传统的测试平台强调要做的操作,类似C语言,执行一个操作流,比如创建事务、发送、接收、检查结果、产生报告。
OOP中,考虑测试平台的结构和功能,每一个部分作为一类,或者说若干块(block)。如发生器(generator)、驱动器(driver)、监视器(monitor)、记分板(scoreboard)。他们各自实现自己的功能,即OOP中的方法。

2 OOP术语以及与 Verilog-2001 大致对应关系?

  1. 类(class):包含变量和子程序的基本构建块。Verilog 对应模块。
  2. 对象(object):类的一个实例。Verilog 中模块的实例。
  3. 句柄(handle):指向对象的指针。Verilog 中实例名引用信号与方法。
  4. 属性(property):存储数据的变量。Verilog 寄存器 或 线网。
  5. 方法(method):任务或函数中操作变量的程序性代码。Verilog 除 initial 和 always 块之外,还有task 和 function。
  6. 原型(prototype):程序的头包含程序名、返回类型和参数列表。程序体则包含执行代码。

3 SystemVerilog OOP 中的类 class

</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChipWeaver

觉得有用的话点个赞吧 :)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值