Verilog签署了乘法

时间:2018-02-15 03:50:41

标签: verilog multiplication signed

我有一个关于乘法的问题。在我的例子中,行和vec是我的输入。每个包含带有DW数据宽度的N个带符号数字。 temp1和temp2是用于存储乘法结果的数组。所有号码都已签名。问题是为什么temp1和temp2有不同的答案?为什么temp1错了,但temp2正确吗?对不起,我是Verilog的新手,无法弄清楚原因。谢谢!

input signed [(DW * N) -1 : 0] row;
input signed [(DW * N) -1 : 0] vec;
always @(*) begin
  for (i=0;i<N;i=i+1) begin
    t1 = row[i*DW +: DW];
    t2 = vec[i*DW +: DW];
    temp1[i] = t1 * t2;
    temp2[i] = (row[i*DW +: DW] )* (vec[i*DW +: DW]);
  end
end

1 个答案:

答案 0 :(得分:2)

任何向量的部分选择都是无符号的,无论整体是否已签名。

相关问题