系统Verilog错误,GPIO_0不是函数

时间:2015-05-28 00:26:57

标签: verilog system-verilog quartus

我有一个像这样的模块

module DE1_SoC (CLOCK_50, HEX0, HEX1, HEX2, HEX3, SW, GPIO, KEY);
    input CLOCK_50; // 50MHz clock.
    output reg [6:0] HEX0;
    output reg [6:0] HEX1;
    output reg [6:0] HEX2;
    output reg [6:0] HEX3;
    inout [35:0] GPIO;
    input [9:0] SW;
    input [4:0] KEY;


control_top U_control_top(
    start(SW[0]),
    reset(SW[1]),
    clock(CLOCK_50),
    controller(~KEY[0]),
    GPIO(GPIO_0[35:0]),
    out_1(HEX0),
    out_2(HEX1),
    out_3(HEX2),
    out_4(HEX3)
);

我不断收到一个错误:

  

错误(10153):Verilog HDL函数调用或函数声明错误   在DE1_SoC.sv(17):标识符“GPIO”不是函数

我的control_top模块就像这样

module control_top(
    input  start,
    input  reset,
    input  clock,
    //=========connect to bird_controller=====
    input controller,
    //========connect to led_matrix=====
    inout [35:0] GPIO_0,
    //====connect to HEX================
    output [6:0] out_1,
    output [6:0] out_2,
    output [6:0] out_3,
    output [6:0] out_4 
    );

我已经调试了4个小时,无法找出原因,感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

当您按名称实例化模块端口时,需要在每个信号名称前添加一个点(.):

control_top U_control_top(
    .start(SW[0]),
    .reset(SW[1]),
    .clock(CLOCK_50),
    .controller(~KEY[0]),
    .GPIO_0(GPIO_0[35:0]),
    .out_1(HEX0),
    .out_2(HEX1),
    .out_3(HEX2),
    .out_4(HEX3)
);