前言
前面文章,讲述了一些关于SV语法下,编译问题的一些基本概念。其实,芯片验证中仿真工具编译仿真文件、RTL文件的一些规则,依据每一家仿真工具内部的编译原理,都是保密的,用户只要按照仿真工具的使用规则去使用,即可。最近,笔者遇到了一个问题,今天空下来,总结一下,欢迎高手指教。
实践举例
请看下面的一个例子:
代码第4、5、6行,分别import 三个package定义包。分别在 test 目录下的uvm_helloworld.sv、dummy_if_cfg_pkg.sv、uvm_pkg 中定义。
代码第14行,分别创建了aa、bb两个class my_class 实例句柄。class 定义在rtl/class_defines.sv中定义。
代码第19行,实例化了一个interface my_if 。在rtl/dummy_if.sv 中定义。
代码第21行,实例化一个加法器u_add。在rtl/add.v 中定义。
接下来,我们看一下编译文件列表:
接下来我们执行VCS 工具编译命令,并得到仿真结果如下: