Systolic de-multiplexed finite impulse response filter array architecture for linear and non-linear implementations
First Claim
1. A signal processor circuit, comprising:
- a demultiplexer circuit receiving input data samples at an input data rate; and
a finite impulse response (FIR) filter circuit in communication with the demultiplexer circuit for obtaining the input data samples therefrom at the input data rate, the FIR filter circuit including a plurality of computational unit circuits arranged in an array having a plurality of taps and a plurality of phases, each computational unit circuit including circuitry that receives some of the input data samples obtained from the demultiplexer circuit and computes values based on these received input data samples at an array clock rate that is slower than the input data rate, wherein during each array clock cycle the demultiplexer circuit forwards input data samples concurrently to each phase and to each tap of computational unit circuits.
2 Assignments
0 Petitions
Accused Products
Abstract
Described is a finite impulse filter response (FIR) filter for use by signal processors. A demultiplexer receives input data samples at an input data rate. The FIR filter includes a plurality of computational units arranged in a systolic array of taps and phases. Each computational unit operates at an array clock rate that is slower than the input data rate. During each array clock cycle, the phases produce a plurality of output data samples that provides an output data rate equal to the input data rate. The FIR filters can thus support an output data rate equal to the input data rate although the input data rate exceeds the maximum clock speed of the processor. The FIR filter can also operate at a reduced array clock speed, while continuing to produce an output data rate equal to the input data rate, to increase the power efficiency of the processor.
-
Citations
35 Claims
-
1. A signal processor circuit, comprising:
-
a demultiplexer circuit receiving input data samples at an input data rate; and a finite impulse response (FIR) filter circuit in communication with the demultiplexer circuit for obtaining the input data samples therefrom at the input data rate, the FIR filter circuit including a plurality of computational unit circuits arranged in an array having a plurality of taps and a plurality of phases, each computational unit circuit including circuitry that receives some of the input data samples obtained from the demultiplexer circuit and computes values based on these received input data samples at an array clock rate that is slower than the input data rate, wherein during each array clock cycle the demultiplexer circuit forwards input data samples concurrently to each phase and to each tap of computational unit circuits. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
- 9. A finite impulse response (FIR) filter circuit for filtering input data samples, the FIR filter circuit comprising a plurality of computational unit circuits arranged in a systolic array having a plurality of columns and a plurality of rows, each column of computational unit circuits corresponding to one of a tap and a phase and each row of computational unit circuits corresponding to the other of a tap and a phase, each computational unit circuit in one phase other than a last phase being in communication with a first computational unit circuit in a neighboring tap within the same phase as that computational unit circuit over a first signal line used to communicate a computed value thereto and with a second computational unit circuit in the neighboring tap and in a neighboring phase over a second signal line used to communicate an input data sample thereto, each tap and each phase of the systolic array being adapted to receive concurrently an input data sample from a demultiplexer during each array clock cycle.
-
15. A finite impulse response (FIR) filter circuit for filtering input data samples, comprising:
a plurality of computational unit circuits arranged in a systolic array having a plurality of columns and a plurality of rows, each column of computational unit circuits corresponding to one of a tap and a phase and each row of computational unit circuits corresponding to the other of a tap and a phase, each tap and each phase of the systolic array being adapted to receive concurrently an input data sample from a demultiplexer during each array clock cycle, each computational unit circuit in a tap other than a last tap comprising; a first input signal line for receiving an input data sample, a second input signal line for receiving a coefficient, a third input signal line for receiving a supplied value, circuitry for computing a value based on the received input data sample, the coefficient, and the supplied value, a first output signal line for communicating the value computed by that computational unit circuit to a computational unit circuit in a neighboring tap, and a second output signal line for communicating the received input data sample to a computational unit circuit in a neighboring phase of the neighboring tap. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
22. A signal processor circuit, comprising:
-
a demultiplexer circuit receiving input data samples; and a first finite impulse response (FIR) filter circuit in communication with the demultiplexer circuit for obtaining the input data samples therefrom, the first FIR filter circuit including a first plurality of computational unit circuits arranged in an array having a plurality of taps and a plurality of phases and a first set of coefficients used by the first plurality of computational unit circuits to compute values based on the input data samples; and a second FIR filter circuit in communication with the demultiplexor circuit for obtaining the input data samples therefrom, the second FIR filter circuit including a second plurality of computational unit circuits arranged in an array having a plurality of taps and a plurality of phases and a second set of coefficients different from the first set of coefficients, the second set of coefficients being used by the second plurality of computational unit circuits to compute values based on the input data samples, wherein at least one of the computational unit circuits in a last phase of the second FIR filter circuit is in communication with one of the computational unit circuits in a first phase of the first FIR filter circuit for communicating an input data sample thereto during each array clock cycle, and wherein during each array clock cycle the demultiplexer circuit forwards input data samples concurrently to each tap and to each phase of computational unit circuits. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. A method of linearly filtering input data samples, compnsing:
-
receiving at a demultiplexer circuit input data samples at an input data rate; forwarding by the demultiplexer circuit the input data samples concurrently to a first tap and a first phase of an array of computational unit circuits of a finite impulse filter (FIR) circuit having a plurality of taps and a plurality of phases; and receiving by the computational unit circuits the input data samples forwarded by the demultiplexer circuit and computing values based on these received input data samples at an array clock rate that is slower than the input data rate. - View Dependent Claims (30, 31, 32, 33, 34)
-
-
35. The method of claim wherein the step of forwarding includes forwarding the input data samples to the computational unit circuits in the first tap of the array in accordance with a round robin sequence.
Specification