2

在 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_counter 模块开始为:

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 中编译时,它显示出意外的令牌 up_counter。提前致谢。

4

2 回答 2

2

lab3你的模块有几个问题。

  1. 你最后需要一个endmodule
  2. 您不应该up_counterif. Verilog 不支持这样的条件实例。
  3. 您需要在实例名称之后添加一个左括号up_0
于 2013-01-25T13:30:26.790 回答
1

您的代码中有(多个)语法错误。其中之一是您需要在组件端口列表周围使用方括号 ()

up_counter up_0 (indicesgu  ,
                 indices    ,
                 alsogoing
                 );

检查Verilog 语法以获取更多信息。

这至少会修复“意外令牌 up_counter”错误。

于 2013-01-25T13:31:38.470 回答