Browse Prior Art Database

Improved Convolver

IP.com Disclosure Number: IPCOM000102005D
Original Publication Date: 1990-Oct-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 3 page(s) / 56K

Publishing Venue

IBM

Related People

Benichou, C: AUTHOR [+3]

Abstract

A logic structure is disclosed which allows fast execution of data convolution by preparing the next operand during the multiplication calculation. A typical convolution operation requires the multiplication of a data vector X (x0, x1, x2, ...xm) by a coefficient vector C (c0, c1,c2,...cn). The result is a vector Y (y0, y1, y,....ym), where y0 = x0c0 + x1c1 +.... +xncn, y1 = x1co + x2c1 + x3c2 + ....+ x(n+1)cn, ..... yi = xic0 + x(i+1)c1+....... +x(i+n)cn,

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 82% of the total text.

Improved Convolver

       A logic structure is disclosed which allows fast
execution of data convolution by preparing the next operand during
the multiplication calculation. A typical convolution operation
requires the multiplication of a data vector X (x0, x1, x2, ...xm) by
a coefficient vector C (c0, c1,c2,...cn).  The result is a vector Y
(y0, y1, y,....ym), where
           y0 = x0c0 + x1c1 +.... +xncn,
           y1 = x1co + x2c1 + x3c2 + ....+ x(n+1)cn,
           .....
           yi = xic0 + x(i+1)c1+.......   +x(i+n)cn,

      The contents of the vector X have to be updated as follows for
the (i+1) step execution:
      -    First element on the left (xi) in position 0 is
          discarded
      -    All other x elements are shifted to the next left
          position
      -    New data is entered in the last position n.

      Therefore n loading cycles are required, before the (i + 1)
calculation step can start.

      As shown in the figure, the data are contained in register Y
and coefficients stored in register C. The processing unit contains a
multiplier, followed by an accumulator. The Y register bank has a
READ port and a WRITE port. Before cycle i begins, the data in the Y
register are located as shown below:

      In the proposed solution, when the data in the position p of
the Y register read port are fetched into the multiplier, they are
also wri...