VVC 发表于 2010-6-28 00:10:36

初学verilog,碰到问题不知道怎样解答

学习一例子,按照书上打入:
------------compare.v-------------------------
module compare(equal,a,b);
input a,b;
output equal;
assign equal=(a==b)?1:0;
endmodule
----------------test.v-----------------------------
------set top level entity------------------------
`timescale 1ns/1ns
`include "./compare.v"
module comparetest;
    reg a,b;
    wire equal;
    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

在QuartusII中编译,但编译不能通过,出现的错误信息是:
Error (10228): Verilog HDL error at compare.v(1): module "compare" cannot have duplicate definition
Error: Entity "compare" in file Test1.v already exists in file compare.v

请高手指点一下。

FFT 发表于 2010-6-28 01:29:41

感觉是说你的compare和它库中的重复了。

usd 发表于 2010-6-28 03:08:40

但是,这是模块调用的例子,我改动过文件名和模块名,都不行,一样的错误。<br>
不知道是什么原因,大家可否帮我试一试。<br>
因我现在公司只有我一个人学习verilog,没有人讨论一下,所以拜托各位高手了。

ICE 发表于 2010-6-28 04:47:53

如果compare的module和comparetest的module都写在同一个文本下的话 需要用`include "./compare.v" 命令么<br>
我也是猜测的,自己没遇到过。

FFT 发表于 2010-6-28 04:51:51

这个问题真是不好回答啊?

VVIC 发表于 2010-6-28 05:52:11

我用quartus编译没有错误啊!!

interige 发表于 2010-6-28 05:55:21

有两点错误<br>
1、不应该把test.v加入设计文件中,设计文件里只需要加入compare.v;<br>
2、test.v中include就不需要了。<br>
我仿真用的是modelsim测试向量要在要在EDA TOOLS setting的simulation里面设置

inter 发表于 2010-6-28 07:46:52

原帖由 friendxing 于 2006-11-23 16:23 发表<br>
我用quartus编译没有错误啊!! 呵呵我编译时把test.v也加到设计文件中的结果如下:<br>
<br>
<br>

        http://

CHAN 发表于 2010-6-28 09:34:38

不知道你用的什么工具<br>
两个模块放在一起好像不好吧<br>
一个模块是一个文件&nbsp;&nbsp;放在 一个文件夹下面<br>
<br>
编译的时候在当前文件夹下敲入命令&nbsp;&nbsp;: verilog&nbsp; &nbsp;&nbsp;&nbsp;compare.v&nbsp; &nbsp; test.v<br>
我指的是 llinux下 用cadence的Verilog-XL&nbsp; &nbsp;<br>
windows工具也不熟悉 <br>
初学Verilog 两个月

encounter 发表于 2010-6-28 10:59:28

这个问题我也遇到过,我用的ISE6.3编译的,是编译没有错误,但是防真的时候出现警告,
页: [1] 2 3
查看完整版本: 初学verilog,碰到问题不知道怎样解答