【发布时间】:2019-03-29 19:07:51
【问题描述】:
我在我的 Verilog 生成块中遇到错误,它显示 j = j+1;声明 `j 是未知类型'
genvar i;
generate
localparam integer j = 0;
for (i = 0; i < BUFFER; i=i+1) begin
if((i%DATA_WIDTH) < (KERNEL_SIZE-1)) begin
assign o_input_matrix[((j+1)*DATA_WIDTH)-1:j*DATA_WIDTH] =
buffer[((i+1)*DATA_WIDTH)-1:i*DATA_WIDTH];
j = j+1;
end
end
endgenerate
BUFFER、DATA_WIDTH 和 KERNEL_SIZE 是我的模块中的本地参数。
我一直在寻找可以在生成块中使用第二个参数的方法,我发现我只能在 for 循环中使用 genvar 变量,所以我无法为 j 创建第二个 genvar 变量。
我遇到了这个问题: Incrementing Multiple Genvars in Verilog Generate Statement
我尝试基于我的第二个答案的代码,但我的情况略有不同,因为我只是在 if 语句中递增它。
任何帮助将不胜感激。
【问题讨论】:
标签: parameters verilog increment