我正在尝试将1x3 * 3X64
矩阵相乘,因为矩阵中的每个值都是十进制数,所以对于每个值,我所取4
的位是一次4x64
访问4
每行的总位的位。
我试图概括它。
矩阵的形式1x3 [2,4,3]
为 &
3*64(64 decimal value in each row)
第1行[11111111111111111111111111111(64)]
第 2 行[11111111(8)22222222(8).....88888888(8)]
第 3 行[1234567812345678.......................12345678]
我试过的代码
always@(h1,h2,h3)
begin
z1 =((w0[3:0]*h1[3:0])+(w1[3:0]*h2[3:0])+(w2[3:0]*h3[3:0]));
z2=((w0[3:0]*h1[7:4])+(w1[3:0]*h2[7:4])+(w2[3:0]*h3[7:4]));
.
.
.
.
.
z64=((w0[3:0]*h1[255:252])+(w1[3:0]*h2[255:252])+(w2[3:0]*h3[255:252]));
end
endmodule
我需要这个的广义形式..
我得到的错误:
错误:HDLCompilers:110 -“mat.v”第 36 行向量线“h1”的部分选择中的最低有效位操作数是非法的
for(i=3;i<255;i=i+4)
begin
for(j=0;j<255;j=j+4)
begin
z[i:j]=((w0[3:0]*(h1[i:j]))+(w1[3:0]*h2[i:j])+(w2[0]*h3[i:j]));
end