verilog数组定义、赋值问题!!!

比如输入a,b,输出c,其中a,b都是2个8位的整数的连接,即a=a0||a1,b=b0||b1,c=c0||c1是2个16位的整数,对i从0到1,有ci=ai||bi,其中||表示连接起来两个数,程序
input?output?怎么定义?
reg[7:0]a[0:1];
reg[7:0]b[0:1];
reg[15:0]c[1:0];
for(i=0;i<2;i=i+1)
c[i]={a[i],b[i]};
这样对么?

你的程序里把a定义成memory7:0类型了,最好还是分开定义成数组比较好,这样输入输出容易定义。
比如
input [7:0] a0;
input[7:0] a1;
input[7:0]b0;
input[7:0]b1;
output[15:0]c0;
output[15:0]c1;

你那样定义的话需要加临时寄存器来保存进入的值,资源占的多。
温馨提示:答案为网友推荐,仅供参考
相似回答