Verilog中的未知模块错误,但模块已存在

埃拉·伊格威(Ella Igwe)

我正在为我所处的数字逻辑类做一个预实验。我们必须设计一个n位计数器和一个半加法器,然后设计另一个模块,在其中将nbitcounter和半加法器一起使用。

我在新模块中实例化计数器时遇到问题。它说不nbitcounter存在,但是我正在设计文件列表中查看它,并且已经对其进行了测试,因此我知道它可以工作。谁能帮助我深入了解这一切?

module nBitCounter
    #(parameter N=4)
    (input wire clr ,
     input wire clk ,
     output reg [N-1:0] q
    );
    
 always @(posedge clk or posedge clr)
 begin
    if (clr == 1)
        q <= 0;
    else
        q <= q + 1;
  end
endmodule
module counter2adder(clk, clr, s, c_out);
//Port and wire declarations:
    input wire clk, clr;
    output wire s, c_out;
    wire [2:0] out;
 //Logic:
    nBitCounter #(.N(2)) 2count(
    .clk(clk),
    .clr(clr),
    .q(out)
    );   
    
endmodule

如您所见,counter2adder尚未完成,但是我停了下来,因为我看到了此错误。另一件事。计数器的文件称为n-bitCounter.v我不知道这是否会改变事情。

环面

编译2个模块时,实例名称出现编译错误。改变:

nBitCounter #(.N(2)) 2count(

到:

nBitCounter #(.N(2)) count2 (

实例名称与Verilog中的所有标识符一样,不能以数字(2count开头

我也收到有关的位宽度的警告out更改为:

wire [1:0] out;

通常将文件命名为与模块相同。例如,该nBitCounter模块应位于名为的文件中nBitCounter.v

如果仍然在编译这两个模块时遇到问题,只需将它们都添加到同一文件中,直到您可以从教员那里获得有关Vivado工具用法的帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章