LUT-Polynomial Function Computation for Accurate Low-Memory ICs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional methods for computing mathematical functions are computationally intensive and time-consuming, and Look-Up Table (LUT)-based methods suffer from accuracy limitations due to granularity and interpolation errors, leading to significant memory usage.
Innovation Solution
A novel LUT-based method combining precomputed values with polynomial approximations, subdividing intervals, and using a mapping function to handle arbitrary input values, minimizing memory usage and computational overhead while maintaining high accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional iterative algorithms or direct evaluation methods are used to compute mathematical functions, then computation accuracy is maintained, but computational time and resource consumption increase significantly
Solution Approach 1:
The patent precomputes function values at specific points (knots) and stores them in lookup tables before runtime. This preliminary action allows the system to retrieve precomputed values during actual computation, avoiding time-consuming iterative calculations while maintaining accuracy through polynomial interpolation between stored points.
Solution Approach 2:
The patent divides the domain interval into multiple subintervals with knots at specific points. By segmenting the computation domain and storing values only at boundary points rather than continuously, the system reduces memory requirements and computation time while maintaining accuracy through local polynomial interpolation within each segment.
2Productivity
If Look-Up Tables with fine granularity are used to improve computation speed, then computation efficiency increases, but memory usage increases significantly
Solution Approach 1:
The patent segments the domain into intervals with knots at strategically chosen points rather than storing values at every possible input point. This segmentation allows the system to achieve fine-grained accuracy where needed while maintaining coarse-grained storage elsewhere, optimizing the balance between memory usage and computation efficiency.
Solution Approach 2:
The patent applies different storage densities at different locations in the domain. By using polynomial interpolation of specific degrees in different intervals and storing values only at knot points rather than uniformly across the entire domain, the system achieves high accuracy in regions requiring it while minimizing memory usage in regions where lower precision suffices.
3Quantity of substance
If Look-Up Tables with coarse granularity are used to reduce memory usage, then storage space decreases, but accuracy decreases due to interpolation errors
Solution Approach 1:
The patent performs preliminary computation of function values at knot points with high precision before storing them. This preliminary action ensures that the stored reference values are accurate, and polynomial interpolation between these accurate reference points maintains overall computation accuracy even with coarse storage granularity.
Solution Approach 2:
The patent changes the parameter of polynomial degree used in interpolation based on the interval and accuracy requirements. By adjusting the polynomial degree and knot distribution, the system can achieve higher accuracy in intervals where the function varies rapidly while using lower-degree polynomials in intervals where the function is more stable, thus optimizing both accuracy and storage space.
Data Source
AI summary
An integrated circuit (IC) for computing an output value Y1 of a mathematical function, for a given input value X1, defined over an approximation interval I1, may include: (i) a look-up table (LUT) circuit with multiple entries, each corresponding to a segment of I1, (ii) a polynomial computation circuit configured to calculate a polynomial estimation of the function in a reference segment, and (iii) a processor. The processor may obtain a query for computing Y1 and select a segment based on X1. It may retrieve a preliminary approximation of Y1 from the LUT and calculate an offset of X1 within the selected segment. The processor may employ the polynomial computation circuit to calculate a polynomial estimation on the offset value, thereby obtaining a correction value. The processor may proceed to compute Y1 based on the preliminary approximation and the correction value.


