Claims
- 1. A reconfigurable filter node comprising:
an input data memory adapted to store a plurality of input data values; a filter coefficient memory adapted to store a plurality of filter coefficient values; and a plurality of logically adjacent computational units adapted to simultaneously compute filter data values, wherein each computational unit is adapted to process at least one input data value and one filter coefficient; wherein each computational unit comprises a first input data value register adapted to store an input data value, and at least one of the first input data value register of the computational units is adapted to load a successive input data value from the first input data value register of a logically adjacent computational unit.
- 2. The reconfigurable filter node of claim 1, wherein the plurality of logically adjacent computational units comprises a left computational unit, a right computational unit, and a plurality of intermediate computational units logically positioned between the left and right computational units.
- 3. The reconfigurable filter node of claim 2, wherein all of the plurality of intermediate computational units are adapted to load a successive input data value from the first input data value register of a logically adjacent computational unit.
- 4. The reconfigurable filter node of claim 3, wherein each computational unit further comprises a second input data value register adapted to store an input data value.
- 5. The reconfigurable filter node of claim 4, wherein each second input data value register of the intermediate computational units is adapted to load a successive input data value from the second input data value register of an adjacent computational unit.
- 6. The reconfigurable filter node of claim 5, wherein the first and second input data value registers of each intermediate computational unit load successive data input values from different adjacent computational units.
- 7. The reconfigurable filter node of claim 1, wherein the filter data values are the outputs of a filter in response to input data values.
- 8. The reconfigurable filter node of claim 1, wherein the filter data values are a second plurality of filter coefficients to be used in subsequent filter data value computations.
- 9. The reconfigurable filter node of claim 8, wherein the filter data values are stored in the filter coefficient memory.
- 10. The reconfigurable filter node of claim 5, wherein at least one multiplexer located between a pair of adjacent intermediate computational units selectively disengages the pair of adjacent first and second input data registers and selectively engages the pair of adjacent first and second data registers to the input data memory.
- 11. The reconfigurable filter node of claim 1, wherein each computational unit comprises a pre-adder adapted to output either the sum two input data values stored in the computational unit or alternately a single input data value.
- 12. The reconfigurable filter node of claim 11, wherein each computational unit further comprises a multiply-and-accumulate unit adapted to multiply the output of the pre-adder by a filter coefficient and accumulate the result.
- 13. The reconfigurable filter node of claim 12, wherein the coefficient memory selects a first filter coefficient for simultaneous use by a first plurality of computational units; and
a multiplexer alternately selects either the first filter coefficient or a second filter coefficient from the coefficient memory for use by a second plurality of computational units.
- 14. The reconfigurable filter node of claim 1, further comprising an output data multiplexer for selectively accessing a filter data value from each of the plurality of computational units.
- 15. The reconfigurable filter node of claim 14, further comprising an output data memory for storing filter data values.
- 16. The reconfigurable filter node of claim 15, further comprising a data address generator for directing filter data values to specified memory addresses within the output data memory.
- 17. The reconfigurable filter node of claim 15, further comprising a data address generator for specifying memory addresses within the output data memory to retrieve filter data values.
- 18. The reconfigurable filter node of claim 7, wherein the filter is a real, single rate finite impulse response filter.
- 19. The reconfigurable filter node of claim 18, wherein the filter is asymmetric.
- 20. The reconfigurable filter node of claim 18, wherein the filter is symmetric.
- 21. The reconfigurable filter node of claim 7, wherein the filter is a half-complex, single rate finite impulse response filter.
- 22. The reconfigurable filter node of claim 7, wherein the filter is a polyphase finite impulse response filter.
- 23. The reconfigurable filter node of claim 22, wherein the filter is a decimation filter.
- 24. The reconfigurable filter node of claim 22, wherein the filter is an interpolation filter.
- 25. The reconfigurable filter node of claim 22, wherein the filter has at least one symmetrical sub-filter.
- 26. The reconfigurable filter node of claim 7, wherein the filter is an adaptive finite impulse response filter.
- 27. The reconfigurable filter node of claim 1, wherein the plurality of computational units is eight.
- 28. A reconfigurable filter node comprising:
an input data memory adapted to store a plurality of input data values; a filter coefficient memory adapted to store a plurality of sets of filter coefficient values, each set having a plurality of filter coefficient values; and a plurality of computational units adapted to simultaneously compute a set of filter data values from the input data values and one of the sets of filter coefficients; wherein the reconfigurable filter node is adapted to successively compute a plurality of sets of filter data values, each set of filter data values computed from a different one of the plurality of sets of filter coefficients and the portion of input data values.
- 29. The reconfigurable filter node of claim 28, further comprising an output data memory adapted to store filter data values.
- 30. The reconfigurable filter node of claim 29, further comprising a data address generator for directing filter data values to specified memory addresses within the output data memory.
- 31. The reconfigurable filter node of claim 30, wherein the data address generator is adapted to intersperse at a regular interval the filter data values from each set of filter data values within the output data memory.
- 32. The reconfigurable filter node of claim 31, wherein the regular interval corresponds to the number of sets of filter coefficient values.
- 33. The reconfigurable filter node of claim 28, wherein the plurality of sets of filter coefficient values correspond to the plurality of phases of a polyphase filter.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims priority to provisional application No. 60/420,762, filed on Oct. 22, 2002 (Attorney Docket No. 021202-004000US) and provisional application No. 60/421,543, filed on Oct. 24, 2002 (Attorney Docket No. 021202-004010US), the disclosures of which are incorporated by reference herein.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60420762 |
Oct 2002 |
US |
|
60421543 |
Oct 2002 |
US |