打印

Verilog 在编译时报错,请大侠指点。

[复制链接]
1850|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
金狐狸|  楼主 | 2007-7-12 13:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
模块分为两个,一个是compare.v另一个是comparetest.v,当我屏蔽掉
`include "./compare.v"这句话时,编译可以通过。但是不屏蔽时,就会报
Error (10228): Verilog HDL error at compare.v(2): module "compare" cannot have duplicate definition
Error: Entity "compare" in file Verilog1.v already exists in file compare.v

模块如下,请各位大侠帮我分析一下。


//--------------- compare.v ----------------- 
module compare(equal,a,b); 
input a,b; 
output equal; 
assign equal=(a==b)?1:0; //a等于b时,equal输出为1;a不等于b时, 
                         //equal输出为0。 
endmodule


`timescale 1ns/1ns     //定义时间单位。 
`include "./compare.v" //包含模块文件。在有的仿真调试环境中并不需要此语句。 
                       //而需要从调试环境的菜单中键入有关模块文件的路径和名称 
module comparetest; 
reg a,b; 
wire equal; 
initial                //initial常用于仿真时信号的给出
  begin 
    a=0; 
    b=0; 
    #100 a=0; b=1; 
    #100 a=1; b=1; 
    #100 a=1; b=0; 
    #100 $stop; //系统任务,暂停仿真以便观察仿真波形。 
  end 
  compare compare1(.equal(equal),.a(a),.b(b)); //调用模块。 
endmodule

相关帖子

沙发
luoqiang28| | 2007-7-13 23:05 | 只看该作者

在MODELSIM 不需要

使用特权

评论回复
板凳
金狐狸|  楼主 | 2007-7-16 12:34 | 只看该作者

多谢回复。

我在用MODELSIM仿真时,确实是加不加这句话都能正确仿真。
但是在使用QUARTUS II编译时有会出现上面的两个错误,不知道这是为何?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

18

帖子

0

粉丝