我需要在verilog中的for-generate块中生成以下赋值。这是给定位大小 n=8位的符号数字乘法过程的一部分。
assign p[1]=pp[1][1];
assign p[2]=pp[2][1];
assign p[3]=pp[3][1];
assign p[4]=pp[4][1];
assign p[5]=pp[5][1];
assign p[6]=pp[6][1];
assign p[7]=pp[7][1];
assign p[8]=pp[8][2];
assign p[9]=pp[9][3];
assign p[10]=pp[10][4];
assign p[11]=pp[11][5];
assign p[12]=pp[12][6];
assign p[13]=pp[13][7];
assign p[14]=pp[14][8];
assign p[15]=pp[15][9];我可以在for循环中编写第一个条件语句的第一部分。对于第二个if块,我无法运行pp数组的第二个索引变量。怎么做?
genvar k;
generate
for(k=1; k<=2*size-1; k=k+1)
begin:product
if (k<=size-2) begin
assign p[k] = pp[k][1];
end
else if (k>size-2) begin
assign p[k] = ??????????????????; //How to assign p[7] to p[15]
end
end
endgenerate发布于 2017-02-25 16:31:08
根据模式:
assign p[k] = pp[k][k-6];(这个循环就像一个预处理程序,当然硬件中不会发生子处理。)
https://stackoverflow.com/questions/42458561
复制相似问题