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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4141|回复: 3

[求助] Modelsim中的编译和quartus中的编译有什么不同

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

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

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

x
再quartus中编译完全成功,但是再modelsim中编译却出错:Error: D:/1Myproject/Counter4/RTL/Counter4.v(41): Undefined variable: WIDTH.
** Error: D:/1Myproject/Counter4/RTL/Counter4.v(50): 'WIDTH' already declared in this scope.
** Error: D:/1Myproject/Counter4/RTL/Counter4.v(30): Identifier must be declared with a port mode: dout.


我定义了width的,modelsim中的编译和quartus中编译有什么不同点啊,谢谢
源代码如下
module Counter4(

//input

sys_clk,

sys_rst_n,

ena,


    //output

dout,

cout
                    );

//input ports

input                    sys_clk;      //system clock;
input                    sys_rst_n;    //system reset, low is active;
input                    ena;          //

//output ports
output [WIDTH-1:0]             dout;
output                         cout;
//reg define
reg    [WIDTH-1:0]             counter;

//wire define


//parameter define
parameter WIDTH = 4;

/*******************************************************************************************************
**                              Main Program   
**  
********************************************************************************************************/

always @(posedge sys_clk or negedge sys_rst_n) begin
        if (sys_rst_n ==1'b0) begin
            counter <= 1'b0;
        end
        else if (ena == 1'b1) begin
            counter <= counter + 1'b1;
        end
end

assign cout = &counter;
assign dout = counter;

endmodule
//end of RTL code
发表于 2014-4-17 07:27:57 | 显示全部楼层
每一个编译器其对于语法的理解都不太一样,所以特别在编译的时候,有的规则宽松,有的严格。modelsim就属于比较严格的。modelsim要求一个变量在使用之前一定要经过声明,你这里parameter WIDTH的声明,在使用之后,你在前面的output [WIDTH-1:0]里面已经用过width这个变量了。
发表于 2014-4-19 12:56:30 | 显示全部楼层
先用WIDTH后面才定义,怎么行呢
发表于 2014-4-19 21:46:08 | 显示全部楼层
modelsim在RTL编译时,语法检查比较严格。
一个变量在使用前就要定义和声明,这样就都能编译过了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-9 22:29 , Processed in 0.073218 second(s), 8 queries , Gzip On, Redis On.

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