Configurable computing array for implementing complex math functions
To implement a complex math function, a configurable computing array comprises at least an array of configurable interconnects, an array of configurable logic elements and an array of configurable computing elements. Each configurable computing element comprises at least a memory for storing a look-up table (LUT) for a math function.
1. A configurable computing array, comprising:
at least an array of configurable logic elements including a configurable logic element, wherein said configurable logic element selectively realizes a logic function from a logic library; and
at least an array of configurable computing elements including first and second configurable computing elements, wherein said first configurable computing element comprises a first memory for storing a first look-up table (LUT) for a first math function; and, said second configurable computing element comprises a second memory for storing a second LUT for a second math function;
whereby said configurable computing array realizes a complex math function by programming said configurable logic elements and said configurable computing elements, wherein said complex math function is a combination of at least said first and second math functions.
2. The configurable computing array according to claim 1 , further comprising at least an array of configurable interconnects including a configurable interconnect, wherein said configurable interconnect selectively realizes an interconnect from an interconnect library.
3. The configurable computing array according to claim 1 , wherein each of said configurable computing elements comprises a re-programmable memory, whereby each of said configurable computing elements can be re-configured to realize a different math function by loading the LUT for said different math function into said re-programmable memory.
4. The configurable computing array according to claim 1 , wherein at least a first portion of said configurable logic elements and at least a second portion of said configurable computing elements are disposed on a same physical level.
5. The configurable computing array according to claim 1 , wherein at least a first portion of said configurable logic elements and at least a second portion of said configurable computing elements are disposed on different physical levels.
6. The configurable computing array package according to claim 5 , wherein said first and second memories comprise at least a three-dimensional memory (3D-M) array.
7. The configurable computing array according to claim 6 , wherein said 3D-M array is a three-dimensional horizontal memory (3D-M H ) array or a three-dimensional vertical memory (3D-M V ) array.
8. The configurable computing array according to claim 5 , further comprising a semiconductor substrate with first and second sides, wherein
said configurable logic elements are disposed on said first side;
said configurable computing elements are disposed on said second side;
said configurable logic elements and said configurable computing elements are coupled by a plurality of through-substrate vias through said semiconductor substrate.
9. The configurable computing array according to claim 5 , wherein
said configurable logic elements are disposed on at least a configurable logic die;
said configurable computing elements are disposed on at least a configurable computing die;
said configurable logic die and said configurable computing die are located in a same package.
10. The configurable computing array according to claim 1 , further comprising at least one multiplier.
11. A configurable computing array, comprising:
at least an array of configurable interconnects including a configurable interconnect, wherein said configurable interconnect selectively realizes an interconnect from an interconnect library;
at least an array of configurable logic elements including a configurable logic element, wherein said configurable logic element selectively realizes a logic function from a logic library; and
at least an array of configurable computing elements including first and second configurable computing elements, wherein said first configurable computing element comprises a first memory for storing a first look-up table (LUT) for a first math function; and, said second configurable computing element comprises a second memory for storing a second LUT for a second math function;
whereby said configurable computing array realizes a complex math function by programming said configurable interconnects, said configurable logic elements and said configurable computing elements, wherein said complex math function is a combination of at least said first and second math functions.
12. The configurable computing array according to claim 11 , wherein said configurable computing elements comprises a re-programmable memory, whereby each of said configurable computing elements can be re-configured to realize a different math function by loading the LUT for said different math function into said re-programmable memory.
13. The configurable computing array according to claim 11 , wherein at least a first portion of said configurable logic elements and at least a second portion of said configurable computing elements are disposed on a same physical level.
14. The configurable computing array according to claim 11 , wherein at least a first portion of said configurable logic elements and at least a second portion of said configurable computing elements are disposed on different physical levels.
15. The configurable computing array according to claim 14 , wherein said first and second memories comprise at least a three-dimensional memory (3D-M) array.
16. The configurable computing array according to claim 15 , wherein said 3D-M array is a three-dimensional horizontal memory (3D-M H ) array or a three-dimensional vertical memory (3D-M V ) array.
17. The configurable computing array according to claim 15 , wherein said 3D-M array at least partially covers said configurable logic element or said configurable interconnect.
18. The configurable computing array according to claim 14 , further comprising a semiconductor substrate with first and second sides, wherein
said configurable logic elements are disposed on said first side;
said configurable computing elements are disposed on said second side;
said configurable logic elements and said configurable computing elements are coupled by a plurality of through-substrate vias through said semiconductor substrate.
19. The configurable computing array according to claim 14 , wherein
said configurable logic elements are disposed on at least a configurable logic die;
said configurable computing elements are disposed on at least a configurable computing die;
said configurable logic die and said configurable computing die are located in a same package.
20. The configurable computing array according to claim 11 , further comprising at least one multiplier.