VCS编译中可能出现的ERROR和WARNING及解决方法。

目录

ERROR

1. SV-CNDC Class not defined or complete/ SE super.new cannot be a task in SV.

2. ('ERROR : target simv is not exist: %s' , "simv_****')

3. SV-IRT Incompatible return types

4. SE Syntax error​

5. SE Syntax error

6. SE Syntax error

7. SE Syntax error

8. SE Syntax error

9. MAM Macro argument number mismatch

10. SE Syntax error

11. SRE Scope resolution error

12. ICTTFC Incompatible complex type usage

13. UVM_FATAL

14. SE Syntax error

15. SE Syntax error

16. SE Syntax error

17. XMRE Cross-module reference resolution error

18. SE Syntax error

19. TMAFTC Too many arguments to function/tak call

WARNING

1. MATN More arguments than needed


ERROR

1. SV-CNDC Class not defined or complete/ SE super.new cannot be a task in SV.

resolution:高亮不区分大小写,导致没有发现class的名字前后不一致,导致不能正常识别这个class。修改class名字即可。

2. ('ERROR : target simv is not exist: %s' , "simv_****')

 resolution : 重新跑一次,或两次。

3. SV-IRT Incompatible return types

 resolution : build_phase类型与basetest不一样,注意virtual  void。

4. SE Syntax error

 resolution : Interface中的数据不能定义为rand类型。

5. SE Syntax error

 resolution : 要在top文件中把env的文件include进来,这样编译的时候可以识别那些class。

6. SE Syntax error

  resolution : 在env_pkg里面将import uvm_pkg::*; 提到前面:

7. SE Syntax error

  resolution :把`include top_connection.sv 放在top的module内部。

8. SE Syntax error

 

 

 resolution : transaction的声明要放在`uvm_info后面,数据类型的声明要放在phase的最前面。

9. MAM Macro argument number mismatch

 resolution : `uvm_error宏 不需要设置冗余级别,把UVM_LOW去掉。

10. SE Syntax error

 resolution : begin end没有匹配

11. SRE Scope resolution error

 resolution : 声明指针时  不能与类名同名,即 不能声明为 vir_seqr.

12. ICTTFC Incompatible complex type usage

 resolution : 定义fifo时 #参数transaction类型不对.

13. UVM_FATAL

/env中已经声明并例化了vir_seqr,但是在base_test中又声明并例化了vir_seqr。正常在base_test中set env_cfg,在env中get到,env中再set给那些seqr,且在env中例化vir_seqr。如果在base_test中又例化vir_seqr,编译顺序是自底向上的,base_test中例化的vir_seqr替换了env中的vir_seqr,但env中无法set cfg给它上一层的vir_seqr。所以显示set的cfg为空。

 resolution : base_test中的声明和例化删掉;或者在base_test中例化和set一堆 即在env中干的事,就是说在env中和base_test中都可以。

14. SE Syntax error

 resolution : 不识别声明的seq的指针,此调seq在vir_seq中 所以在seq_top文件中,seq0要在vir_seq之前`include.

15. SE Syntax error

报错位置超出文本范围

 resolution : 缺了endtask。

16. SE Syntax error

 resolution : uvm_do_with 后面的约束条件不能用=,用==号。

17. XMRE Cross-module reference resolution error

 resolution : DUT中没有这个信号。

18. SE Syntax error

 resolution : time是关键字,不能声明为变量,需换个名字。

19. TMAFTC Too many arguments to function/tak call

 resolution : $urandom后面不加范围,如果想在范围内随机可以用$urandom_range(400,500).

WARNING

1. MATN More arguments than needed

 resolution : 之前没有加 %0b 。

  • 38
    点赞
  • 286
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值