0
是否可以按顺序执行由generate语句生成的块?生成语句中的顺序操作
让我们假设生成语句生成的块a,块b,块c ......它们全部并行运行,但是块b的输入取决于块a的结果,这决定了它们按顺序运行。有没有办法做到这一点?我尝试搜索,但找不到任何东西。
下面的代码片段:
genvar i,j,k;
generate
for (k=1;k<6;k=k+1) begin : stepk // number of whole operation reps
for (i=k;i<6;i=i+1) begin : stepi // row counter
for (j=k+1;j<6;j=j+1) begin : stepj // column counter
//res2[i][j] = res[i][j]/ res[i][k]
fixed_point_div fpdiv(
.clk(clk),
.dividend_fp(res[k][i][j]),
.divisor_fp(res[k][i][k]),
.quotient_fp(res[k+1][i][j]));
//assign res3[1][j] = res2[1][j];
assign res[k+2][i][j] = (i==k) ? res[k+1][k][j] : (res[k+1][i][j] - res[k+1][k][j]);
end
end
end
endgenerate
“执行块生成”听起来像你想要的硬件实例像软件功能一样执行。要共享一个硬件块,您需要创建一个实例并创建一个控制器来对其进行排序。 – Morgan
生成块根据指定的模式*复制*一些硬件结构。如果您复制依次相互连接的块,则会依次“执行”。 –