Я новичок в Verilog, я бы очень признателен, если кто-то может помочь мне понять эту ошибку из:Verilog ошибка: Не удается связать параметр в модуле
Я пытаюсь написать испытательный стенд PU_tb, который инстанцирование этого модуля:
PU_conv #(
.image_width (image_width ),
.image_height (image_height ),
.kernel_width (kernel_width ),
.kernel_height (kernel_height )
) convolution (
.ACLK (ACLK ), //input
.image (image ), //input
.kernel (kernel ), //input
.result (result ) //output
);
модуля PU_conv выглядит следующим образом:
module PU_conv
#(//Parameters
parameter integer image_width = 10,
parameter integer image_height = 4,
parameter integer kernel_width = 2,
parameter integer kernel_height = 2
)(//PORTS
input wire ACLK,
input wire [0:image_width][image_height:0] image,
input wire [0:kernel_width][kernel_height:0] kernel,
output reg [0:image_width][image_height:0] result
);
Я получаю эту ошибку:
error: Unable to bind parameter 'image_height' in 'PU_tb'
error: Unable to bind parameter 'image_width' in 'PU_tb'
error: Unable to bind parameter 'kernel_height' in 'PU_tb'
error: Unable to bind parameter 'kernel_width' in 'PU_tb'
Ядро и изображения ширины и высоты объявляются следующим образом:
reg[5:0] param_kw;
reg[5:0] param_kh;
reg[5:0] param_iw;
reg[5:0] param_ih; ....
integer kernel_width, kernel_height, image_width, image_height;
always @(param_kw)
kernel_width = param_kw;
always @(param_kh)
kernel_height = param_kh;
always @(param_iw)
image_width = param_iw;
always @(param_ih)
image_height = param_ih;
Что я делаю неправильно?
Спасибо, я не знал, что многомерные массивы не поддерживаются в качестве входов! Я объявил переменные, как показано в коде. Что-то не так с этим? Он по-прежнему говорит о невозможности привязки параметра. – AnnaR
Вы должны иметь 'kernel_width, kernel_height, image_width, image_height' как параметры, а не переменные. Поскольку параметры оцениваются в ** время разработки **, вам либо необходимо иметь параметры, либо макро-значения. – sharvil111
Если я объявляю их как параметры, я получаю ошибку _Syntax error parameter list_ – AnnaR