|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
今天在用questasim仿真systemverilog语言写的平台时,发现一个奇怪的问题如下:
class A ;
int i ;
endclass
class B ;
A a0 ;
int j ;
task run();
A a1 ;
a0=new ();
a1=new ();
endtask
endclass
这种写法是正常的。但是如果
把task中的头二句换一下,就会报错。即
class A ;
int i ;
endclass
class B ;
A a0 ;
int j ;
task run();
a0=new ();
A a1 ;
a1=new ();
endtask
endclass
这个时候综合就会报错,
** Error: D:/Project/self-study/SV/class_in_class/class_in_class.sv(11): near "a1": syntax error, unexpected IDENTIFIER, expecting #
** Error: D:/Project/self-study/SV/class_in_class/class_in_class.sv(12): (vlog-2730) Undefined variable: 'a1'.
请问这是什么原因?
是因为在第二种情况下,a1的new函数会和a0一起提前运行的原因吗?感觉好奇怪 |
|