Module verilog中模块的实例化

Module verilog中模块的实例化,module,instantiation,verilog,Module,Instantiation,Verilog,我在verilog文件中实例化模块时出错。我是这样实例化的: module lab3(input clk,set,reset,plus,minus,start,button,output reg [3:0]led,output reg [6:0]y); wire [3:0] indicesgu[3:0]; reg [1:0] going; reg alsogoing,yes; if (going==1 && alsogoing) begin up_counter up_0

我在verilog文件中实例化模块时出错。我是这样实例化的:

module lab3(input clk,set,reset,plus,minus,start,button,output reg [3:0]led,output reg [6:0]y);

wire [3:0] indicesgu[3:0];
reg [1:0] going;
reg alsogoing,yes;


if (going==1 && alsogoing)
begin
 up_counter up_0 
 indicesgu  ,
 indices    ,
 alsogoing
 );
end
我的up_计数器模块启动如下:

module up_counter(input [3:0] indices_in [3:0],output [3:0]indices[3:0],output alsogoing);

reg [3:0]indices[3:0];
reg [2:0]current,setting;
当我尝试在Xilinx中编译时,它会显示意外的令牌递增计数器。
提前感谢。

您的
lab3
模块有几个问题

  • 最后需要一个
    endmodule
  • 您不应该在
    if
    中实例化
    递增计数器。Verilog不支持这样的条件实例
  • 您需要在实例名称
    后面加上\u 0
    的开头部分
  • 代码中有(多个)语法错误。 其中之一是在组件端口列表周围需要括号()

    up_counter up_0 (indicesgu  ,
                     indices    ,
                     alsogoing
                     );
    
    有关更多信息,请查看


    这将至少修复“意外令牌向上计数器”错误。

    谢谢。但它仍然显示了意外的标记。实际上,这两个模块都在两个不同的文件中。我已经添加了这两个源代码,但由于某些原因,Xilinx不承认其中一个正在另一个中使用。