Non-uniform Segmentation for Hardware Function Evaluation

  • Dong-U Lee
  • Wayne Luk
  • John Villasenor
  • Peter Y. K. Cheung
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2778)


This paper presents a method for evaluating functions in hardware based on polynomial approximation with non-uniform segments. The novel use of non-uniform segments enables us to approximate non-linear regions of a function particularly well. The appropriate segment address for a given function can be rapidly calculated in run time by a simple combinational circuit. Scaling factors are used to deal with large polynomial coefficients and to trade precision with range. Our function evaluator is based on first-order polynomials, and is suitable for applications requiring high performance with small area, at the expense of accuracy. The proposed method is illustrated using two functions, \(\sqrt{-\ln(x)}\) and cos(2 πx), which have been used in Gaussian noise generation.


Polynomial Approximation Lookup Table Segment Boundary Maximum Absolute Error Segment Address 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Mencer, O., Boullis, N., Luk, W., Styles, H.: Parameterized function evaluation for FPGAs. In: Brebner, G., Woods, R. (eds.) FPL 2001. LNCS, vol. 2147, pp. 544–554. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  2. 2.
    Volder, J.E.: The CORDIC trigonometric computing technique. IEEE Trans. on Elec. Comput. EC-8(3), 330–334 (1959)CrossRefGoogle Scholar
  3. 3.
    Lee, D., Luk, W., Villasenor, J., Cheung, P.Y.K.: A hardware Gaussian noise generator for channel code evaluation. In: Proc. IEEE Symp. on Field-Prog. Cust. Comput. Mach. (2003)Google Scholar
  4. 4.
    Das Sarma, D., Matula, D.W.: Faithful bipartite rom reciprocal tables. In: Proc. 12th IEEE Symp. on Comput. Arith., pp. 17–28 (1995)Google Scholar
  5. 5.
    Schulte, M.J., Stine, J.E.: Symmetric bipartite tables for accurate function approximation. In: Proc. 13th IEEE Symp. on Comput. Arith., vol. 48(9), pp. 175–183 (1997)Google Scholar
  6. 6.
    Schulte, M.J., Stine, J.E.: Approximating elementary functions with symmetric bipartite tables. IEEE Trans. Comput. 48(9), 842–847 (1999)CrossRefGoogle Scholar
  7. 7.
    Pineiro, J.A., Bruguera, J.D., Muller, J.M.: Faithful powering computation using table look-up and a fused accumulation tree. In: Proc. 15th IEEE Symp. on Comput. Arith. (2001)Google Scholar
  8. 8.
    Cao, J., We, B.W.Y., Cheng, J.: High-performance architectures for elementary function generation. In: Proc. 15th IEEE Symp. on Comput. Arith. (2001)Google Scholar
  9. 9.
    Jain, V.K., Wadecar, S.A., Lin, L.: A universal nonlinear component and its application to WSI. IEEE Trans. Components, Hybrids and Manufacturing Tech. 16(7), 656–664 (1993)CrossRefGoogle Scholar
  10. 10.
    Hassler, H., Takagi, N.: Function evaluation by table look-up and addition. In: Proc. of the IEEE 12th Symp. on Comp. Arith., pp. 10–16 (1995)Google Scholar
  11. 11.
    Detrey, J., de Dinechin, F.: Multipartite tables in JBits for the evaluation of functions on FPGAs. In: Proc. IEEE Int. Parallel and Distributed Processing Symp. (2002)Google Scholar
  12. 12.
    Lewis, D.M.: Interleaved memory function interpolators with application to an accurate LNS arithmetic unit. IEEE Trans. Comput. 43(8), 974–982 (1994)CrossRefGoogle Scholar
  13. 13.
    Hart, J.F., et al.: Computer Approximations. Wiley, Chichester (1968)zbMATHGoogle Scholar
  14. 14.
    Rice, J.R.: The Approximation of Functions, vol. 1.2. Addison-Wesley, Reading (1964)zbMATHGoogle Scholar
  15. 15.
    Muller, J.M.: Elementary Functions: Algorithms and Implementation. Birkhauser Verlag AG, Basel (1997)CrossRefGoogle Scholar
  16. 16.
    Ladner, R.E., Fischer, M.J.: Parallel prefix computation. JACM 27(4), 831–838 (1980)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Koren, I.: Computer Arithmetic Algorithms. Prentice Hall, Englewood Cliffs (1993)zbMATHGoogle Scholar
  18. 18.
    Lawson, C.L.: Characteristic properties of the segmented rational minimax approximation problem. Numer. Math. 6, 293–301 (1964)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Pavlidis, T., Maika, A.P.: Uniform piecewise polynomial approximation with variable joints. Journal of Approximation Theory 12, 61–69 (1974)MathSciNetCrossRefGoogle Scholar
  20. 20.
    Jones, C., Vallés, E., Wang, C., Smith, M., Wesel, R., Villasenor, J.: High throughput Monte Carlo simulation for error floor testing in capacity achieving channel codes. In: Proc. IEEE Symp. on Field-Prog. Cust. Comput. Mach. (2003)Google Scholar
  21. 21.
    Sidahao, N., Constantinides, G.A., Cheung, P.Y.K.: Architectures for function evaluation on FPGAs. In: Proc. IEEE Int. Symp. on Circ. and Syst. (2003)Google Scholar
  22. 22.
    Walther, J.S.: A unified algorithm for elementary functions. In: Proc. Spring Joint Comput. Conf. (1971)Google Scholar
  23. 23.
    Cody, N.W., Waite, W.: Software Manual for the Elementary Functions. Prentice-Hall, Englewood Cliffs (1980)zbMATHGoogle Scholar
  24. 24.
    Xilinx Inc., Virtex-II User Guide v1.5 (2002)Google Scholar
  25. 25.
    Celoxica Limited, Handel-C Language Reference Manual, ver. 3.1, document no. RM-1003-3.0 (2002)Google Scholar
  26. 26.
    GNU Project, GCC 3.3 Manual (2003),

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Dong-U Lee
    • 1
  • Wayne Luk
    • 1
  • John Villasenor
    • 2
  • Peter Y. K. Cheung
    • 3
  1. 1.Department of ComputingImperial CollegeLondonUK
  2. 2.Electrical Engineering DepartmentUniversity of CaliforniaLos AngelesUSA
  3. 3.Department of EEEImperial CollegeLondonUK

Personalised recommendations