Claims Analysis
Total Claims: 10
Claim 1
Independent Claim
265 words
A digital data processor for multiplying an input vector having multibit coefficients by a matrix having coefficients +1, -1 and 0 to provide a product vector, and wherein: (1) the processor includes an array of clock activated processing cells each associated with a respective matrix coefficient and having a row and column position in the array in accordance with the position of respective coefficient in the matrix transpose; (2) each cell is arranged to perform a two's complement arithmetic operation upon clock activation, the operation comprising: (a) receiving input of a cumulative sum bit, a vector coefficient bit and a recirculated carry bit from a prior computation, (b) generating an output carry bit and an output cumulative sum bit resulting from addition of the input sum and carry bits to the product of the vector coefficient bit with the respective cell coefficient, and (c) outputting the vector coefficient bit and the output cumulative sum bit and recirculating the output carry bit; (3) interconnection lines connect each cell to its row and column neighbours as appropriate for vector coefficient bits to propagate along rows and cumulative sum generation to be cascaded down columns; (4) clock activated data input means are arranged to input vector coefficients to respective rows bit serially, least significant bit (lsb) leading in a temporally skewed manner as appropriate for cumulative sum generation cascaded down each array column to produce respective product vector coefficients bit serially; and (5) clocking means are arranged to activate the processing cells and data input means and effect bit input to each array row and cell operation cyclically.
Claim 2
Dependent Claim
265 words
A digital data processor for multiplying an input vector having multibit coefficients by a matrix having coefficients +1, -1 and 0 to provide a product vector, and wherein: (1) the processor includes an array of clock activated processing cells each associated with a respective matrix coefficient and having a row and column position in the array in accordance with the position of respective coefficient in the matrix transpose; (2) each cell is arranged to perform a two's complement arithmetic operation upon clock activation, the operation comprising: (a) receiving input of a cumulative sum bit, a vector coefficient bit and a recirculated carry bit from a prior computation, (b) generating an output carry bit and an output cumulative sum bit resulting from addition of the input sum and carry bits to the product of the vector coefficient bit with the respective cell coefficient, and (c) outputting the vector coefficient bit and the output cumulative sum bit and recirculating the output carry bit; (3) interconnection lines connect each cell to its row and column neighbours as appropriate for vector coefficient bits to propagate along rows and cumulative sum generation to be cascaded down columns; (4) clock activated data input means are arranged to input vector coefficients to respective rows bit serially, least significant bit (lsb) leading in a temporally skewed manner as appropriate for cumulative sum generation cascaded down each array column to produce respective product vector coefficients bit serially; and (5) clocking means are arranged to activate the processing cells and data input means and effect bit input to each array row and cell operation cyclically.
Claim 3
Dependent Claim
71 words
A digital data processor according to claim 1 wherein each cell is arranged to receive a respective input flag bit in synchronism with each vector input bit, the flag bit indicating whether or not the respective input bit is an lsb, and wherein each cell is arranged to preset carry bits input to lsb computations to 1 or 0 according respectively to whether or not the respective cell coefficient is -1.
Claim 4
Dependent Claim
45 words
A digital data processor according to claim 2 wherein the cells are arranged to receive two additional input bits indicating an array output multiplier coefficient of +1, -1 or 0 and to produce an array output equal to the product vector multiplied by that coefficient.
Claim 5
Dependent Claim
408 words
A digital data processor for multiplying a vector by a composite matrix built up from first and second sub-matrixes both having coefficients +1, -1 or 0, the processor including an array of sub-array processors each arranged to multiply by the product of the first sub-matrix with a respective second sub-matrix coefficient, the sub-arrays being located in the array in positions in accordance with their respective coefficients' locations in the transpose of the second sub-matrix, and wherein: (1) each sub-array comprises clock-activated processing cells arranged in rows and columns, each cell being associated with a respective first sub-matrix coefficient and having a sub-array row and column position in accordance with the respective coefficient's position in the first sub-matrix transpose, (2) the array has rows comprising successive respective sub-array rows and columns comprising successive respective sub-array columns, (3) each of said processing cells is arranged to: (a) receive input of a cumulative sum bit, a recirculated carry bit from a prior computation, a vector coefficient bit, a flag bit indicating whether or not the vector coefficient bit is a least significant bit, and two additional bits, indicating the respective second sub-matrix coefficient associated with the respective cell's sub-array, (b) perform a two's complement arithmetic operation in response to clock activation, the operation comprising generating output carry and cumulative sum bits resulting from addition of the input sum and carry bits to the product of the vector coefficient bit with the respective cell's first sub-matrix coefficient multiplied by the respective sub-array's second sub-matrix coefficient, input carry bits to least significant bit computations being preset to 1 or 0 according respectively to whether or not the respective cell multiples vector coefficient bits by -1, (c) output the vector coefficient bit and the output cumulative sum bit and recirculate the output carry bit, (4) interconnection lines connect each cell to its array row and array column neighbours as appropriate for vector coefficient bits to propagate along array rows and cumulative sum generation to be cascaded down array columns; (5) clpck activated data input means are arranged to input vector coefficients to respective array rows bit serially, least significant bit leading in a temporally skewed manner as appropriate for cumulative sum generation to be cascaded down each array column to produce respective product vector coefficients bit serially; and (6) clocking means are arranged to activate the processing cells and data input means to effect bit input to each array row and cell operation cyclically.
Claim 6
Dependent Claim
408 words
A digital data processor for multiplying a vector by a composite matrix built up from first and second sub-matrixes both having coefficients +1, -1 or 0, the processor including an array of sub-array processors each arranged to multiply by the product of the first sub-matrix with a respective second sub-matrix coefficient, the sub-arrays being located in the array in positions in accordance with their respective coefficients' locations in the transpose of the second sub-matrix, and wherein: (1) each sub-array comprises clock-activated processing cells arranged in rows and columns, each cell being associated with a respective first sub-matrix coefficient and having a sub-array row and column position in accordance with the respective coefficient's position in the first sub-matrix transpose, (2) the array has rows comprising successive respective sub-array rows and columns comprising successive respective sub-array columns, (3) each of said processing cells is arranged to: (a) receive input of a cumulative sum bit, a recirculated carry bit from a prior computation, a vector coefficient bit, a flag bit indicating whether or not the vector coefficient bit is a least significant bit, and two additional bits, indicating the respective second sub-matrix coefficient associated with the respective cell's sub-array, (b) perform a two's complement arithmetic operation in response to clock activation, the operation comprising generating output carry and cumulative sum bits resulting from addition of the input sum and carry bits to the product of the vector coefficient bit with the respective cell's first sub-matrix coefficient multiplied by the respective sub-array's second sub-matrix coefficient, input carry bits to least significant bit computations being preset to 1 or 0 according respectively to whether or not the respective cell multiples vector coefficient bits by -1, (c) output the vector coefficient bit and the output cumulative sum bit and recirculate the output carry bit, (4) interconnection lines connect each cell to its array row and array column neighbours as appropriate for vector coefficient bits to propagate along array rows and cumulative sum generation to be cascaded down array columns; (5) clpck activated data input means are arranged to input vector coefficients to respective array rows bit serially, least significant bit leading in a temporally skewed manner as appropriate for cumulative sum generation to be cascaded down each array column to produce respective product vector coefficients bit serially; and (6) clocking means are arranged to activate the processing cells and data input means to effect bit input to each array row and cell operation cyclically.
Claim 7
Dependent Claim
431 words
A digital data processor for implementing a transform, and including a first array for multiplying an input vector having multibit coefficients by a first matrix having coefficients +1, -1 and 0 to form a first product vector, a multi-channel bit serial multiplier arranged to muliply the first product vector by coefficients to produce a second product vector, and a second array arranged to multiply the second product vector by a second matrix having coefficients +1, -1 and 0 to provide the required transform, and wherein: (1) the first and second arrays comprise clock activated processing cells arranged in rows and columns forming respectively an N×M first array and an M×N second array, (2) the bit serial multiplier is clock activated and has M channels, (3) each processing cell is associated with a respective matrix coefficient and is located in its respective array in accordance with its respective coefficient's location in the respective matrix transpose, (4) each processing cell is arranged to perform a two's complement arithmetic operation upon clock activation, the operation comprising: (a) receiving input of a cumulative sum bit, a vector coefficient bit and a recirculated carry bit from a prior computation, (b) generating an output carry bit and an output cumulative sum bit corresponding to addition of the input sum and carry bits to the product of the vector coefficient bit with the respective cell coefficient, and (c) outputting the vector coefficient bit and the output cumulative sum bit and recirculating the output carry bit, (5) the first and second arrays have row inputs for receiving the input vector and the second product vector respectively and column outputs for providing the first product vector and the transform respectively, (6) interconnection lines connect each cell to its row and column neighbours in the respective array as appropriate for vector coefficient bits to propagate along rows and cumulative sum generation to be cascaded down columns to the respective column outputs, (7) first array column outputs are connected via respective bit-serial multiplier channels to respective second array row inputs, (8) clock activated data input means are arranged to provide coefficients of the input vector to respective first array rows bit serially, least significant bit leading in a temporally skewed manner as appropriate for cumulative sum generation to be cascaded down first and second array columns, and (9) clocking means are arranged to activated the processing cells of the first and second arrays, the bit serial multiplier and the first array data input means such that bit input to each first array row and multiplier and processing cell operations take place cyclically.
Claim 8
Dependent Claim
431 words
A digital data processor for implementing a transform, and including a first array for multiplying an input vector having multibit coefficients by a first matrix having coefficients +1, -1 and 0 to form a first product vector, a multi-channel bit serial multiplier arranged to muliply the first product vector by coefficients to produce a second product vector, and a second array arranged to multiply the second product vector by a second matrix having coefficients +1, -1 and 0 to provide the required transform, and wherein: (1) the first and second arrays comprise clock activated processing cells arranged in rows and columns forming respectively an N×M first array and an M×N second array, (2) the bit serial multiplier is clock activated and has M channels, (3) each processing cell is associated with a respective matrix coefficient and is located in its respective array in accordance with its respective coefficient's location in the respective matrix transpose, (4) each processing cell is arranged to perform a two's complement arithmetic operation upon clock activation, the operation comprising: (a) receiving input of a cumulative sum bit, a vector coefficient bit and a recirculated carry bit from a prior computation, (b) generating an output carry bit and an output cumulative sum bit corresponding to addition of the input sum and carry bits to the product of the vector coefficient bit with the respective cell coefficient, and (c) outputting the vector coefficient bit and the output cumulative sum bit and recirculating the output carry bit, (5) the first and second arrays have row inputs for receiving the input vector and the second product vector respectively and column outputs for providing the first product vector and the transform respectively, (6) interconnection lines connect each cell to its row and column neighbours in the respective array as appropriate for vector coefficient bits to propagate along rows and cumulative sum generation to be cascaded down columns to the respective column outputs, (7) first array column outputs are connected via respective bit-serial multiplier channels to respective second array row inputs, (8) clock activated data input means are arranged to provide coefficients of the input vector to respective first array rows bit serially, least significant bit leading in a temporally skewed manner as appropriate for cumulative sum generation to be cascaded down first and second array columns, and (9) clocking means are arranged to activated the processing cells of the first and second arrays, the bit serial multiplier and the first array data input means such that bit input to each first array row and multiplier and processing cell operations take place cyclically.
Claim 9
Dependent Claim
550 words
A digital data processor for implementing a transform of an input vector having multibit coefficients each with real and imaginary parts, the processor having a real channel and an imaginary channel for processing real and imaginary vector parts respectively, and wherein: (1) each channel includes a respective first array for multiplying input vector parts by a first matrix having coefficients +1, -1 and 0 to form a first product vector part, a respective multi-channel bit serial multiplier to multiply the first product vector parts by coefficients each either real or imaginary but not complex and form second product vector parts, and a second array arranged to multiply real second product vector parts derived from both channels by a second matrix having coefficients +1, -1 and 0 to provide a respective part of the transform, (2) the first and second arrays in each channel comprise like clock activated processing cells arranged in rows and columns forming an N×M first array and an M×N second array respectively, (3) each bit-serial multiplier is clock-activated and has M channels, (4) each processing cell is associated with a respective matrix coefficient and is located in its respective array in accordance with its respective coefficient's location in the respective matrix transpose, (5) each processing cell is arranged to perform a two's complement arithmetic operation upon clock activation, the operation comprising: (a) receiving input of a cumulative sum bit, a vector coefficient bit and a recirculated carry bit from a prior computation, (b) generating an output carry bit and an output cumulative sum bit corresponding to addition of the input sum and carry bits to the product of the vector coefficient bit with the respective cell coefficient, and (c) outputting the vector coefficient bit and the output cumulative sum bit and recirculating the output carry bit; (6) the real channel first and second arrays have row inputs for receiving real input vector parts and real second product vector parts respectively and column outputs for providing real first product vector parts and real transform parts respectively, (7) the imaginary channel first and second arrays have row inputs for receiving imaginary input vector parts and imaginary second product vector parts respectively and column outputs for providing imaginary first product vector parts and imaginary transform parts respectively, (8) interconnection lines connect each cell to its row and column neighbours in the respective array as appropriate for vector coefficient bits to propagate along rows and cumulative sum generation to be cascaded down columns to the respective column outputs, (9) each first array column output is connected via a respective bit serial multiplier channel to a respective second array row input in its own channel or in the other channel in accordance with whether the multiplier channel incorporates a real or an imaginary coefficient, (10) clock-activated data input means are arranged to provide input vector coefficient parts to rows of each of the first arrays bit serially, least significant bit leading in a temporally skewed manner as appropriate for cumulative sum generation to be cascaded down first and second array columns, (11) clocking means are arranged to activate the data input means and the processing cells of the arrays and multipliers in both channels such that bit input to each first array row and multiplifer and processing cell operation take place cyclically.
Claim 10
Dependent Claim
550 words
A digital data processor for implementing a transform of an input vector having multibit coefficients each with real and imaginary parts, the processor having a real channel and an imaginary channel for processing real and imaginary vector parts respectively, and wherein: (1) each channel includes a respective first array for multiplying input vector parts by a first matrix having coefficients +1, -1 and 0 to form a first product vector part, a respective multi-channel bit serial multiplier to multiply the first product vector parts by coefficients each either real or imaginary but not complex and form second product vector parts, and a second array arranged to multiply real second product vector parts derived from both channels by a second matrix having coefficients +1, -1 and 0 to provide a respective part of the transform, (2) the first and second arrays in each channel comprise like clock activated processing cells arranged in rows and columns forming an N×M first array and an M×N second array respectively, (3) each bit-serial multiplier is clock-activated and has M channels, (4) each processing cell is associated with a respective matrix coefficient and is located in its respective array in accordance with its respective coefficient's location in the respective matrix transpose, (5) each processing cell is arranged to perform a two's complement arithmetic operation upon clock activation, the operation comprising: (a) receiving input of a cumulative sum bit, a vector coefficient bit and a recirculated carry bit from a prior computation, (b) generating an output carry bit and an output cumulative sum bit corresponding to addition of the input sum and carry bits to the product of the vector coefficient bit with the respective cell coefficient, and (c) outputting the vector coefficient bit and the output cumulative sum bit and recirculating the output carry bit; (6) the real channel first and second arrays have row inputs for receiving real input vector parts and real second product vector parts respectively and column outputs for providing real first product vector parts and real transform parts respectively, (7) the imaginary channel first and second arrays have row inputs for receiving imaginary input vector parts and imaginary second product vector parts respectively and column outputs for providing imaginary first product vector parts and imaginary transform parts respectively, (8) interconnection lines connect each cell to its row and column neighbours in the respective array as appropriate for vector coefficient bits to propagate along rows and cumulative sum generation to be cascaded down columns to the respective column outputs, (9) each first array column output is connected via a respective bit serial multiplier channel to a respective second array row input in its own channel or in the other channel in accordance with whether the multiplier channel incorporates a real or an imaginary coefficient, (10) clock-activated data input means are arranged to provide input vector coefficient parts to rows of each of the first arrays bit serially, least significant bit leading in a temporally skewed manner as appropriate for cumulative sum generation to be cascaded down first and second array columns, (11) clocking means are arranged to activate the data input means and the processing cells of the arrays and multipliers in both channels such that bit input to each first array row and multiplifer and processing cell operation take place cyclically.