模块分为两个,一个是compare.v另一个是comparetest.v,当我屏蔽掉<br />`include "./compare.v"这句话时,编译可以通过。但是不屏蔽时,就会报<br />Error (10228): Verilog HDL error at compare.v(2): module "compare" cannot have duplicate definition<br />Error: Entity "compare" in file Verilog1.v already exists in file compare.v<br /><br />模块如下,请各位大侠帮我分析一下。<br /><br /><br />//--------------- compare.v ----------------- <br />module compare(equal,a,b); <br />input a,b; <br />output equal; <br />assign equal=(a==b)?1:0; //a等于b时,equal输出为1;a不等于b时, <br /> //equal输出为0。 <br />endmodule<br /><br /><br />`timescale 1ns/1ns //定义时间单位。 <br />`include "./compare.v" //包含模块文件。在有的仿真调试环境中并不需要此语句。 <br /> //而需要从调试环境的菜单中键入有关模块文件的路径和名称 <br />module comparetest; <br />reg a,b; <br />wire equal; <br />initial //initial常用于仿真时信号的给出<br /> begin <br /> a=0; <br /> b=0; <br /> #100 a=0; b=1; <br /> #100 a=1; b=1; <br /> #100 a=1; b=0; <br /> #100 $stop; //系统任务,暂停仿真以便观察仿真波形。 <br /> end <br /> compare compare1(.equal(equal),.a(a),.b(b)); //调用模块。 <br />endmodule |
|