在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 14842|回复: 10

[求助] system verilog keyword 'class' is not expected to be used in this context

[复制链接]
发表于 2014-12-25 17:07:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 xm900626 于 2014-12-25 17:24 编辑

这是本人在编写简单的验证平台时遇到的一个问题,看了case1.sv也没看出什么问题,请各位大神指教
编译错误如下:
Error-[SE] Syntax error
  Following verilog source has syntax error :
  "case1.sv", 4: token is 'class'
  class case1 extends uvm_test;
       ^
  System verilog  keyword 'class' is not expected to be used in this context.

1 warning
1 error
CPU time: .694 seconds to compile

case1.sv内容如下:
`ifndef CASE1_SV
`define CASE1_SV

class case1 extends uvm_test;

        data_config data_cfg;
        img_set_config img_set_cfg;

        `uvm_component_utils(case1)

        mod_adp_driver mod_adp_drv;
        mod_adp_sequencer mod_adp_sqr;

        function new(string name = "case1", uvm_component parent = null);
                super.new(name, parent);
        endfunction

        virtual function void build_phase(uvm_phase phase);
                super.build_phase(phase);

                mod_adp_drv = mod_adp_driver::type_id::create("mod_adp_drv", this);
                mod_adp_sqr = mod_adp_sequencer::type_id::create("mod_adp_sqr", this);

                data_cfg = data_config::type_id::create("data_cfg", this);
                data_cfg.build();
                uvm_config_db#(data_config)::set(this, "mod_adp_sqr.*", "data_cfg", data_cfg);

                img_set_cfg = img_set_config::type_id::create("img_set_cfg", this);
                img_set_cfg.build();
                uvm_config_db#(img_set_config)::set(this, "mod_adp_drv", "img_set_cfg", img_set_cfg);

                uvm_config_db#(uvm_object_wrapper)::set(this, "mod_adp_sqr.main_phase.*", "default_sequence", mod_adp_sequence::type_id::get());
        endfunction

        virtual function viod connect_phase(uvm_phase phase);
                super.connect_phase(phase);
                mod_adp_drv.seq_item_port.connect(mod_adp_sqr.seq_item_export);
        endfunction

endclass

`endif
发表于 2015-10-10 11:13:23 | 显示全部楼层
请问你这个问题解决了吗?我也遇到了同样的问题
 楼主| 发表于 2015-10-10 16:33:36 | 显示全部楼层
回复 2# chenxl1990


    解决了,不过时间太久了,记不清了,应该是代码问题,最好仔细检查一下在该报错的文件之前编译的那个文件
发表于 2015-10-10 16:41:17 | 显示全部楼层
好的,谢谢哈,遇到这个问题一直找不出来具体错在哪
发表于 2015-10-10 17:23:29 | 显示全部楼层
回复 4# chenxl1990
我也遇到过,也记不清了。好像是我在windows下编辑的时候把文本格式搞错成utf-8了,后来用nedit打开,可以看到前面有个特殊字符。
发表于 2015-11-25 16:01:51 | 显示全部楼层
你好,我也遇到这个问题了,请问你是如何解决的?
发表于 2016-9-27 17:17:33 | 显示全部楼层
来自:https://verificationacademy.com/ ... s-declaration-issue
Usually a problem like this is because of an unfinished declaration that comes before it.

It would be much easier to find these kinds of problems if you did not `include everything in to one big file and could separately compile things. Our recommendation is to put each class in a separate file, and `include each class a package. Then you can compile each package independently. See an example of this here: http://verificationacademy.com/u ... rificationComponent
发表于 2017-1-19 13:26:39 | 显示全部楼层
回复 7# 香香瓜
   Thanks for your kindly reply.
发表于 2019-11-5 16:32:48 | 显示全部楼层
检查下,是否import uvm_pkg::*; 漏了 ";"
发表于 2019-11-26 20:51:59 | 显示全部楼层
报错的位置没有错,应该是你编译的上一个文件有语法错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-25 04:41 , Processed in 0.027282 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表