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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 34101|回复: 20

[求助] 急求verilog编译错误” declaring global objects is a SystemVerilog feature“

[复制链接]
发表于 2011-12-1 02:12:17 | 显示全部楼层 |阅读模式

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

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

x
第一个错误:Error (10839): Verilog HDL error at isa.v(13): declaring global objects is a SystemVerilog feature


第二个错误:Error (10228): Verilog HDL error at bpred_1bittable.v(2): module "branchpredict" cannot be declared more than once

软件用的quartus9.1, 尤其第一个错误,我的verilog文件是一个全局的里面都是parameter语句,第二个错误,明明没有重名的模块名,怎么会出现这个错误?
发表于 2011-12-1 08:57:37 | 显示全部楼层
请帖出错误代码。
发表于 2011-12-1 13:39:04 | 显示全部楼层
第一个错误:Error (10839): Verilog HDL error at isa.v(13): declaring global objects is a SystemVerilog feature
你使用了systemverilog 的语法,检查你的代码。
第二个错误
module "branchpredict
重复声明了相同的module branchpredict
 楼主| 发表于 2011-12-2 11:30:27 | 显示全部楼层
回复 2# annayang


    /****************************************************************************
          ISA definition file

  - The MIPS I ISA has a 6 bit opcode in the upper 6 bits.  
  - The opcode can also specify a "class".  There are two classes:
            1.  SPECIAL - look in lowest 6 bits to find operation
            2.  REGIMM - look in [20:16] to find type of branch

****************************************************************************/

/****** OPCODES - bits 31...26 *******/

parameter     OP_SPECIAL      = 6'b000000;
parameter     OP_REGIMM       = 6'b000001;
parameter     OP_J            = 6'b000010;
parameter     OP_JAL          = 6'b000011;
parameter     OP_BEQ          = 6'b000100;
parameter     OP_BNE          = 6'b000101;
parameter     OP_BLEZ         = 6'b000110;
parameter     OP_BGTZ         = 6'b000111;

parameter     OP_ADDI         = 6'b001000;
parameter     OP_ADDIU        = 6'b001001;
parameter     OP_SLTI         = 6'b001010;
parameter     OP_SLTIU        = 6'b001011;
parameter     OP_ANDI         = 6'b001100;
parameter     OP_ORI          = 6'b001101;
parameter     OP_XORI         = 6'b001110;
parameter     OP_LUI          = 6'b001111;

parameter     OP_LB           = 6'b100000;
parameter     OP_LH           = 6'b100001;
parameter     OP_LWL          = 6'b100010;
parameter     OP_LW           = 6'b100011;
parameter     OP_LBU          = 6'b100100;
parameter     OP_LHU          = 6'b100101;
parameter     OP_LWR          = 6'b100110;

parameter     OP_SB           = 6'b101x00;
parameter     OP_SH           = 6'b101x01;
parameter     OP_SWL          = 6'b101010;
parameter     OP_SW           = 6'b101x11;
parameter     OP_SWR          = 6'b101110;

/****** FUNCTION CLASS - bits 5...0 *******/
parameter     FUNC_SLL        = 6'b000000;
parameter     FUNC_SRL        = 6'b000010;
parameter     FUNC_SRA        = 6'b000011;
parameter     FUNC_SLLV       = 6'b000100;
parameter     FUNC_SRLV       = 6'b000110;
parameter     FUNC_SRAV       = 6'b000111;

parameter     FUNC_JR         = 6'b001xx0;
parameter     FUNC_JALR       = 6'b001xx1;

parameter     FUNC_MFHI       = 6'bx10x00;
parameter     FUNC_MTHI       = 6'bx10x01;
parameter     FUNC_MFLO       = 6'bx10x10;
parameter     FUNC_MTLO       = 6'bx10x11;

parameter     FUNC_MULT       = 6'bx11x00;
parameter     FUNC_MULTU      = 6'bx11x01;
parameter     FUNC_DIV        = 6'bx11x10;
parameter     FUNC_DIVU       = 6'bx11x11;

parameter     FUNC_ADD        = 6'b100000;
parameter     FUNC_ADDU       = 6'b100001;
parameter     FUNC_SUB        = 6'b100010;
parameter     FUNC_SUBU       = 6'b100011;
parameter     FUNC_AND        = 6'b100100;
parameter     FUNC_OR         = 6'b100101;
parameter     FUNC_XOR        = 6'b100110;
parameter     FUNC_NOR        = 6'b100111;

parameter     FUNC_SLT        = 6'b101010;
parameter     FUNC_SLTU       = 6'b101011;

/****** REGIMM Class - bits 20...16 *******/
parameter     FUNC_BLTZ       = 1'b0;
parameter     FUNC_BGEZ       = 1'b1;

parameter     OP_COP2       = 6'b010010;
parameter     COP2_FUNC_CFC2     = 6'b111000;
parameter     COP2_FUNC_CTC2     = 6'b111010;
parameter     COP2_FUNC_MTC2     = 6'b111011;

parameter     OP_COP0       = 6'b010000;
parameter     COP0_MFC0     = 5'b00000;
parameter     COP0_MTC0     = 5'b00100;

//parameter     FUNC_BLTZAL     = 5'b10000;
//parameter     FUNC_BGEZAL     = 5'b10001;

/******
* Original REGIMM class, compressed above to save decode logic
parameter     FUNC_BLTZ       = 5'b00000;
parameter     FUNC_BGEZ       = 5'b00001;
parameter     FUNC_BLTZAL     = 5'b10000;
parameter     FUNC_BGEZAL     = 5'b10001;
*/
 楼主| 发表于 2011-12-2 11:37:10 | 显示全部楼层
回复 3# eagle654321


    我把代码贴上来了,都是parameter的定义,没接触过systemverilog,还有就是我如果把所有的.v文件都加入到工程库中编译,assignment》seting》libarary,然后编译就没有任何错误了,开始我以为是软件的bug,我从9.1换了10.0和11.0都是同样的错误,后边还有好多,基本都是这两类错误,请高手解惑,谢谢!
发表于 2011-12-2 13:15:17 | 显示全部楼层
这个文件不用加到工程里面,在你用到这些parameter里面加`include编译语句然后指定这个文件所在目录就行了,这个文件让quartuts编译是不能通过的!!!
 楼主| 发表于 2011-12-3 21:22:59 | 显示全部楼层
回复 6# neoitachi


    这样啊,谢谢,
请问这个错误“Error (10228): Verilog HDL error at vmem_crossbar.v(5): module "vmem_crossbar" cannot be declared more than once

怎么解决?我只在一个文件中定义了在这个模块名,类似的出现了好几个文件都是这个” cannot be declared more than once“
发表于 2011-12-5 11:34:01 | 显示全部楼层
检查你的代码是不是调用了两次或以上而且调用时例化的名称是一样的!
发表于 2011-12-5 14:46:43 | 显示全部楼层
和楼主同样问题Error (10839): Verilog HDL error at barrel_org.v(1): declaring nested module declarations is a SystemVerilog feature,使用include还是无效
发表于 2011-12-6 23:19:04 | 显示全部楼层
建议楼主看下#ifdef,#ifndef,#endif的用法,加进去看会不会有这样的问题发生
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-1-22 21:56 , Processed in 0.031911 second(s), 22 queries , Gzip On.

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