Code covered by the BSD License
- [x,pp]=create_lut3(fcn, r...this is a function to generate approximation lookup tables using
demonstrates the use of the HDL function approximation utilities.
- nearestpoint(x,y,m) ;
NEARESTPOINT - find the nearest value in another vector
- varargout=compute_fp_tabl...want to compute the optimal fractional size for the lookup table block
- write_lookup(pp, word_siz...write_lookup(pp, word_size, filename)
- y=apply_table2(s, x)
note that the ideas for this function were taken from the brilliant
View all files
Spline based function approximation for HDL synthesis
25 May 2010
This is a suite of simple utilities that allow for efficient approximation of complex functions in a
Watch this File
This tool accepts a function handle for a "well behaved" function. It then automatically finds the best position for the knots for cubic spline approximation based on the error tolerance specified by the user. Areas of the approximation region with more rapid changes require more closely placed knots.
Once the knots are positioned and the requested error tolerance is achieved, a computation is made to convert the coefficient tables to fixed point. The lookup operation is automatically coded in EML. Note that the best way to code the EML lookup operation is with a linear O(n) search, that will be further optimized by the synthesis tools.
To demonstrate the utility of these functions, run the "example.m" function that is included with this submission.
| Required Products
Simulink Fixed Point
MATLAB 7.10 (R2010a)