首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在verilog中增加要生成的变量

在verilog中增加要生成的变量
EN

Stack Overflow用户
提问于 2017-02-25 16:27:25
回答 1查看 232关注 0票数 1

我需要在verilog中的for-generate块中生成以下赋值。这是给定位大小 n=8位的符号数字乘法过程的一部分。

代码语言:javascript
复制
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数组的第二个索引变量。怎么做?

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-25 16:31:08

根据模式:

代码语言:javascript
复制
assign p[k] = pp[k][k-6];

(这个循环就像一个预处理程序,当然硬件中不会发生子处理。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42458561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档