Open Source Synthesis and Verification Tool for Fixed-to-Floating and Floating-to-Fixed Points Conversions
- 1 Ingram School of Engineering, Electrical Engineering Texas State University, San Marcos, Texas, USA
- 2 Ingram School of Engineering, Electrical Engineering Texas State University, San Marcos, Texas, USA
- 3 School of Engineering, Electrical Engineering University of St. Thomas, St. Paul, Minnesota, USA
Abstract
An open source high level synthesis fixed-to-floating and floating-to-fixed conversion tool is presented for embedded design, communication systems, and signal processing applications. Many systems use a fixed point number system. Fixed point numbers often need to be converted to floating point numbers for higher accuracy, dynamic range, fixed-length transmission limitations or end user requirements. A similar conversion system is needed to convert floating point numbers to fixed point numbers due to the advantages that fixed point numbers offer when compared with floating point number systems, such as compact hardware, reduced verification time and design effort. The latest embedded and SoC designs use both number systems together to improve accuracy or reduce required hardware in the same design. The proposed open source design and verification tool converts fixed point numbers to floating point numbers, and floating point numbers to fixed point numbers using the IEEE-754 floating point number standard. This open source design tool generates HDL code and its test bench that can be implemented in FPGA and VLSI systems. The design can be compiled and simulated using open source Iverilog/GTKWave and verified using Octave. A high level synthesis tool and GUI are designed using C#. The proposed design tool can increase productivity by reducing the design and verification time, as well as reduce the development cost due to the open source nature of the design tool. The proposed design tool can be used as a standalone block generator or implemented into current designs to improve range, accuracy, and reduce the development cost. The generated design has been implemented on Xilinx FPGAs.
- Yao, F., Li, B. and Zhang, M. (1998) A Fixed-Point DSP Implementation for a Low Bit Rate Vocoder. 1998 5th International Conference on Solid-State and Integrated Circuit Technology, Beijing, 23 October 1998, 365-368.
- Bharati, K.S. and Jhunjhunwala, A. (2015) Implementation of Machine Learning Applications on a Fixed-Point DSP. 2015 IEEE 28th Canadian Conference on Electrical and Computer Engineering (CCECE), Vancouver, 3-6 May 2015, 1458-1463. http://dx.doi.org/10.1109/CCECE.2015.7129495
- Sun, Z.J. and Liu, X.M. (2008) Application of Floating Point DSP and FPGA in Integration Navigation System. 2008 International Conference on Computer Science and Software Engineering, 4, 58-61. http://dx.doi.org/10.1109/CCECE.2015.7129495
- Langhammer, M. and Pasca, B. (2015) Design and Implementation of an Embedded FPGA Floating Point DSP Block. 2015 IEEE 22nd Symposium on Computer Arithmetic (ARITH), Lyon, 22-24 June 2015, 26-33. http://dx.doi.org/10.1109/ARITH.2015.18
- Saldanha, L. and Lysecky, R. (2009) Float-to-Fixed and Fixed-to-Float Hardware Converters for Rapid Hardware/Software Partitioning of Floating Point Software Applications to Static and Dynamic Fixed Point Coprocessors. Design Automation for Embedded Systems, 13, 139-157. http://dx.doi.org/10.1007/s10617-009-9044-4
- Duman, E., Can, H. and Akin, E. (2010) FPGA Modules for Conversions between Fixed and Floating-Point in Quartus-II Environment. International Journal of Electronics and Computer Science, 10, 120-124.
- Wang, X. and Leeser, M. (2010) VFloat: A Variable Precision Fixed- and Floating-Point Library for Reconfigurable Hardware. ACM Transactions on Reconfigurable Technology and Systems, 3, 16:1-16:34. http://dx.doi.org/10.1145/1839480.1839486
- Revision of ANSI/IEEE Std 754-1985 (2008) IEEE Standard for Floating-Point Arithmetic.
- Muller, J.-M., Brisebarre, N., de Dinechin, F., Jeannerod, C.-P., Lefèvre, V., Melquiond, G., Revol, N., Stehlé, D. and Torres, S. (2009) Handbook of Floating-Point Arithmetic. 2010 Edition, Birkh?user, Boston.
- Overton, M.L. (2001) Numerical Computing with IEEE Floating Point Arithmetic. SIAM, Philadelphia. http://dx.doi.org/10.1137/1.9780898718072
- U.S. National Debt Clock: Real Time. http://www.usdebtclock.org/
- Bocchieri, E. (2008) Fixed-Point Arithmetic. In: Automatic Speech Recognition on Mobile Devices and over Communication Networks, Springer, London, 255-275. http://dx.doi.org/10.1007/978-1-84800-143-5_12