Function Approximation Circuitry Using LUT Interpolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing circuit designs for approximating non-linear functions face challenges with large lookup tables (LUTs) that require significant physical footprint and power consumption, especially when dealing with a large number of discrete inputs, and complex mathematical approaches that are computationally intensive.
Innovation Solution
The proposed circuitry approximates an arbitrary function using a lookup table (LUT) in conjunction with an addressing module and an interpolation module, which generates an address and interpolation factor to produce an approximate output value, reducing the need for extensive storage and computation by interpolating between stored discrete values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a lookup table stores values for all discrete inputs, then the function approximation precision is improved, but the physical footprint and power consumption increase
Solution Approach 1:
The patent segments the full range of discrete inputs into multiple sub-ranges, and creates separate lookup tables for each sub-range. This allows the system to achieve high approximation precision for any given input by selecting the appropriate sub-range LUT, while keeping each individual LUT small enough to have limited physical footprint. The segmentation enables the system to cover the entire input domain with multiple smaller, more efficient tables.
Solution Approach 2:
The patent introduces a new dimension by organizing lookup tables in a hierarchical structure with multiple levels. Instead of using a single large 2D table, the system uses a tree-like hierarchy where the first level selects a sub-range and the second level performs the actual function lookup. This dimensional transformation from a single large table to a hierarchical structure enables the system to achieve high precision with reduced physical footprint by distributing the storage requirements across multiple smaller tables organized in layers.
2Measurement precision
If a lookup table stores values for all discrete inputs, then the function approximation precision is improved, but the power consumption increases
Solution Approach 1:
The patent segments the full range of discrete inputs into multiple sub-ranges, and creates separate lookup tables for each sub-range. This allows the system to achieve high approximation precision for any given input by selecting the appropriate sub-range LUT, while keeping each individual LUT small enough to have limited physical footprint. The segmentation enables the system to cover the entire input domain with multiple smaller, more efficient tables.
Solution Approach 2:
The patent introduces a new dimension by organizing lookup tables in a hierarchical structure with multiple levels. Instead of using a single large 2D table, the system uses a tree-like hierarchy where the first level selects a sub-range and the second level performs the actual function lookup. This dimensional transformation from a single large table to a hierarchical structure enables the system to achieve high precision with reduced physical footprint by distributing the storage requirements across multiple smaller tables organized in layers.
3Measurement precision
If complex mathematical operations are used to generate non-linear functions, then the function approximation precision is improved, but the computation time increases
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing function values in lookup tables during the design phase. Instead of performing complex mathematical operations at runtime, the system pre-computes the function values for all discrete inputs in each sub-range and stores them in the LUTs. During operation, the system only needs to perform a simple table lookup and interpolation, which is computationally efficient. This preliminary computation transfers the computational burden from runtime to design time, enabling fast execution with high precision.
Data Source
Figure 1
Figure 2-1~2-2
Figure 3-1
AI summary
Function approximation circuitry (100) approximates an arbitrary function F over discrete inputs. Discrete values of the function F are stored in a lookup table 'LUT' component (108) for various inputs. An addressing module (104) generates an address from an input. An interpolation factor module (116) generates an interpolation factor from the input. An interpolation module (120) generates an output, which is an approximate value of the function F for the input, from the interpolation factor, and from outputs of the LUT component when the LUT component is addressed by the address.