Inner
Summary:
The Inner function computes the inner product of the two input vectors, X and Y. The
dimension of vectors (and the number of multipliers) is specified with the Taps parameter.
The inner product result is provided at Z. The width of the X and Y inp
uts can be controlled independently with the Xwidth and Ywidth parameters, respectively.
The formats (signed or unsigned) of X and Y are also controlled independently with
Xsigned and Ysigned, respectively. The inner product desired delay is controlled
via the Delay parameter. When Delay is greater than zero, a pipelined inner
product is constructed, else an unpipelined inner product is constructed.
The output, Z, is always a full precision value, with width equal to Zwidth. When
rounding is selected (Round>0), only the bits of Z with indices from Round to Zwidth-1
are valid.
The type of the multipliers used (Booth or non-Booth) is controlled by Booth. Booth
multipliers are most efficient when X and Y are large (greater than 8 bits) and
when X and Y have an even number of bits and are signed. Non-Booth multipliers are
most efficient when X and Y are unsigned and/or the widths are small.
The type of the final adder type is controlled by "AdderType".
Function:
Z(n)=Y0*X0+Y1*X1+ ... YTaps-1*XTaps-1 + 1<<(Round-1)
Signals:
Xi: Xwidth wide inputs (Xsigned sets format, 0<=i