私は 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
);
次のエラーが表示されます。
エラー: 'PU_tb' でパラメーター 'image_height' をバインドでき
ません エラー: 'PU_tb' でパラメーター 'image_width' を
バインドできません エラー: 'PU_tb' でパラメーター 'kernel_height' をバインドできません エラー: ' で
パラメーター 'kernel_width' をバインドできません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;
私は何を間違っていますか?