1. 核心基类概述
- virtual class不能例化,但是可以被继承。
- sv中的copy有两步骤:先创建实例,再将现有属性赋值给新的对象对应的成员变量。
- UVM中copy和clone意义不同。
2. 域的自动化
- 使用多个宏做域自动化
- 这里我们没有定义copy函数,这个copy是UVM的。这些核心方法不用自己实现了,这一点和sv中自主设计不同。
- b1成员变量都会拷贝给b2。这是因为我们上上页胶片中进行了一系列宏定义。
- UVM中我们增加了些范式,但是也省略了很多基础功能代码的编写。
3. copy
- UVM中的clone先创建对象,后复制粘贴对象成员;而copy不做对象创建,只是做成员变量的复制粘贴。
- 1.定义
- 2.注册,注册时也做了域自动化
-
- …是省略了new()
- do_copy是copy的回调函数,只要定义了do_copy,那在调用了copy后UVM就会调用do_copy
4. 比较(compare)
- 前两行是UVM compare自动打印的,第三行是我们打印的
5. 打印(print)
6.打包和解包
- PC仿真器和FPGA之间的通信可以通过打包和解包的方式进行,PC端的UVM仿真器将仿真数据流打包发送到FPGA,FPGA的数据流到PC侧也会解包后送入仿真器。