Системная ошибка Verilog, GPIO_0 не является функцией

у меня такой модуль

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 
    );

person Big_t boy    schedule 28.05.2015    source источник


Ответы (1)


Вам нужно добавить точку (.) перед каждым именем сигнала, когда вы создаете порты модуля по имени:

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)
);
person toolic    schedule 28.05.2015