Multiple Lookup Tables for Low-Memory Function Computation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing implementations of functions using floating-point input values in integrated circuits require large memory and complex combinational circuits, consuming significant resources and power, especially when dealing with wide dynamic ranges.
Innovation Solution
A computational unit is designed with a first and second circuit, each using smaller lookup tables, and a range detector to select the appropriate output based on the input range, reducing memory requirements while maintaining accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a lookup table is used to implement function f(I) with full precision for all possible input values, then accuracy is maintained, but memory consumption increases to about 16 gigabytes
Solution Approach 1:
The patent divides the input domain into multiple ranges and uses multiple smaller lookup tables, each handling a specific range. Instead of one large table covering all 2^32 possible inputs, the system segments the input space and uses separate tables for different segments, dramatically reducing total memory requirements while maintaining accuracy through range-specific optimization.
Solution Approach 2:
The patent applies different precision levels to different input ranges. For ranges where high precision is critical, smaller but more accurate lookup tables are used. This allows the system to allocate memory resources efficiently, providing high accuracy where needed while reducing overall memory consumption by not applying maximum precision uniformly across all input values.
2Productivity
If a combinational circuit is implemented based on a large lookup table, then function computation is achieved, but circuit complexity and power consumption increase significantly
Solution Approach 1:
The patent segments the computational task by dividing the input domain into multiple ranges, each handled by a separate computational unit with its own lookup table. This segmentation transforms one massive combinational circuit into multiple smaller, more manageable units, reducing overall circuit complexity and power consumption while maintaining the ability to compute the function across the full input range.
Solution Approach 2:
The patent introduces dynamic range detection that identifies which input range is currently active and activates only the corresponding computational unit. This dynamic approach allows the system to switch between different lookup tables based on the input value, reducing the active circuit complexity at any given moment while maintaining full computational capability across all possible inputs.
3Quantity of substance
If multiple computational units with different lookup tables are used to cover different input ranges, then memory requirements are reduced, but system complexity increases due to range detection and selection logic
Solution Approach 1:
The patent introduces a range detector as an intermediary component that sits between the input and multiple computational units. This detector identifies the active input range and activates the corresponding computational unit, serving as a mediator that manages the complexity of switching between multiple lookup tables. The range detector simplifies the overall system architecture by providing a clear mechanism for selecting the appropriate computational unit based on input value ranges.
Data Source
AI summary
A circuit for function calculation includes input lines for providing an input value, a first lookup table with an address input connected to a first subset of the input lines to generate a first output, and a second lookup table with an address input connected to a second subset of the input lines to generate a second output. A range detector is connected to at least some of the input lines to produce a range output indicating whether the input value is within a specified range. An output stage, connected to the first and second outputs and the range output, generates the function calculation output for the input value based on these outputs.


