Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Volder, J.E.: The CORDIC trigonometric computing technique. IEEE Trans. on Elec. Comput. EC-8(3), 330–334 (1959)
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)
Das Sarma, D., Matula, D.W.: Faithful bipartite rom reciprocal tables. In: Proc. 12th IEEE Symp. on Comput. Arith., pp. 17–28 (1995)
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)
Schulte, M.J., Stine, J.E.: Approximating elementary functions with symmetric bipartite tables. IEEE Trans. Comput. 48(9), 842–847 (1999)
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)
Cao, J., We, B.W.Y., Cheng, J.: High-performance architectures for elementary function generation. In: Proc. 15th IEEE Symp. on Comput. Arith. (2001)
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)
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)
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)
Lewis, D.M.: Interleaved memory function interpolators with application to an accurate LNS arithmetic unit. IEEE Trans. Comput. 43(8), 974–982 (1994)
Hart, J.F., et al.: Computer Approximations. Wiley, Chichester (1968)
Rice, J.R.: The Approximation of Functions, vol. 1.2. Addison-Wesley, Reading (1964)
Muller, J.M.: Elementary Functions: Algorithms and Implementation. Birkhauser Verlag AG, Basel (1997)
Ladner, R.E., Fischer, M.J.: Parallel prefix computation. JACM 27(4), 831–838 (1980)
Koren, I.: Computer Arithmetic Algorithms. Prentice Hall, Englewood Cliffs (1993)
Lawson, C.L.: Characteristic properties of the segmented rational minimax approximation problem. Numer. Math. 6, 293–301 (1964)
Pavlidis, T., Maika, A.P.: Uniform piecewise polynomial approximation with variable joints. Journal of Approximation Theory 12, 61–69 (1974)
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)
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)
Walther, J.S.: A unified algorithm for elementary functions. In: Proc. Spring Joint Comput. Conf. (1971)
Cody, N.W., Waite, W.: Software Manual for the Elementary Functions. Prentice-Hall, Englewood Cliffs (1980)
Xilinx Inc., Virtex-II User Guide v1.5 (2002)
Celoxica Limited, Handel-C Language Reference Manual, ver. 3.1, document no. RM-1003-3.0 (2002)
GNU Project, GCC 3.3 Manual (2003), http://gcc.gnu.org
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lee, DU., Luk, W., Villasenor, J., Cheung, P.Y.K. (2003). Non-uniform Segmentation for Hardware Function Evaluation. In: Y. K. Cheung, P., Constantinides, G.A. (eds) Field Programmable Logic and Application. FPL 2003. Lecture Notes in Computer Science, vol 2778. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45234-8_77
Download citation
DOI: https://doi.org/10.1007/978-3-540-45234-8_77
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40822-2
Online ISBN: 978-3-540-45234-8
eBook Packages: Springer Book Archive