我有一个像这样的模块
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个小时,无法找出原因,感谢您的帮助!
答案 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)
);