请教system中在一个文件中如何引用另一个文件中定义的类
时间:10-02
整理:3721RD
点击:
在123.sv文件中定义了类 class A;在234.sv中定义了 mailbox #(A) fifo; 在编译时报错,怎么才能在234.sv中使用到类A呢?
include。
最好不要使用include。
可以建立一个文件列表 filelist , 123.v在这个文件列表的前面,234.v在文件列表的后面
比如 filelist.f文件
123.v
234.v
由于编译时读取flielist中的文件时是按从上到下的顺序读取的,所以会先读取123.v,编译器自然知道class A是什么样的。然后读取到234.v时,class A已经存在了,这样就可以正常编译了
可以把123.sv打包,package 123_pkg...endpackage,然后再234.sv中调用,import 123_pkg::cassA;
为什么最好不用include? 把定义放在头文件里,然后通过include通通读进来,这不是软件编程的标准用法么?到SV这边会有不一样么?