Ich bin neu in Verilog, würde ich es wirklich schätzen, wenn mir jemand Figur diese Fehler helfen könnte:Verilog Fehler: Können Parameter im Modul binden
Ich versuche, einen Prüfstand zu schreiben PU_tb, die dieses Modul instanziieren:
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
);
Das Modul PU_conv wie folgt aussieht:
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
);
ich diesen Fehler:
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'
Die Kernel und Bildbreiten und -höhen erklärt sich wie folgt:
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;
Was mache ich falsch?
Danke, ich wusste nicht, dass multidimensionale Arrays nicht als Eingaben unterstützt werden! Ich habe die Variablen wie im Code gezeigt deklariert. Ist da etwas nicht in Ordnung? Es sagt immer noch nicht, Parameter zu binden. – AnnaR
Sie müssen 'kernel_width, kernel_height, image_width, image_height' als Parameter und nicht als Variablen haben. Da Parameter zu ** Bearbeitungszeit ** ausgewertet werden, müssen Sie entweder Parameter oder Makrowerte haben. – sharvil111
Wenn ich sie als Parameter deklariere, bekomme ich den Fehler _Syntax error parameter list_ – AnnaR