有时在一个类的变量使用前没有声明,去编译的时候会报错。比如,有两个类需要彼此的句柄,即一个类中需要引用另一个类时,但是那个类还没有声明,就像是先有鸡还是先有蛋的问题。
class ABC;
DEF def;
endclass
class DEF;
ABC abc;
endclass
Compile errer
在这种情况下,对于类DEF需要提前声明一下,使用typedef。
typedef class DEF;//Inform compiler that DEF might be used before actual class definition
class ABC;
DEF def;
endclass
class DEF;
ABC abc;
endclass
https://www.chipverify.com/systemverilog/systemverilog-typedef-class