Floating-to-Fixed-Point Conversion for Digital Signal Processors

Digital signal processing applications are specified with floating-point data types but they are usually implemented in embedded systems with fixed-point arithmetic to minimise cost and power consumption. Thus, methodologies which establish automatically the fixed-point specification are required to reduce the application time-to-market. In this paper, a new methodology for the floating-to-fixed point conversion is proposed for software implementations. The aim of our approach is to determine the fixed-point specification which minimises the code execution time for a given accuracy constraint. Compared to previous methodologies, our approach takes into account the DSP architecture to optimise the fixed-point formats and the floating-to-fixed-point conversion process is coupled with the code generation process. The fixed-point data types and the position of the scaling operations are optimised to reduce the code execution time. To evaluate the fixed-point computation accuracy, an analytical approach is used to reduce the optimisation time compared to the existing methods based on simulation. The methodology stages are described and several experiment results are presented to underline the efficiency of this approach.

[1]  Seehyun Kim,et al.  A floating-point to fixed-point assembly program translator for the TMS 320C25 , 1994 .

[2]  W. Luk,et al.  Truncation noise in fixed-point SFGs , 1999 .

[3]  Vijay K. Madisetti VLSI Digital Signal Processors: An Introduction to Rapid Prototyping and Design Synthesis , 1995 .

[4]  Edward A. Lee,et al.  DSP Processor Fundamentals: Architectures and Features , 1997 .

[5]  Wonyong Sung,et al.  A floating-point to integer C converter with shift reduction for fixed-point digital signal processors , 1999, 1999 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings. ICASSP99 (Cat. No.99CH36258).

[6]  Heinrich Meyr,et al.  FRIDGE: a fixed-point design and simulation environment , 1998, Proceedings Design, Automation and Test in Europe.

[7]  Daniel Ménard,et al.  Influence of fixed-point DSP architecture on computation accuracy , 2002, 2002 11th European Signal Processing Conference.

[8]  W. Luk,et al.  Truncation noise in fixed-point SFGs [digital filters] , 1999 .

[9]  Ramjee Prasad,et al.  WCDMA: Towards IP Mobility and Mobile Internet , 2001 .

[10]  Seehyun Kim,et al.  Fixed-point error analysis and word length optimization of 8×8 IDCT architectures , 1998, IEEE Trans. Circuits Syst. Video Technol..

[11]  Zoran Zvonar,et al.  Recent developments in enabling technologies for software defined radio , 1999, IEEE Commun. Mag..

[12]  Daniel Ménard,et al.  Automatic evaluation of the accuracy of fixed-point algorithms , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[13]  Steven W. K. Tjiang,et al.  SUIF: an infrastructure for research on parallelizing and optimizing compilers , 1994, SIGP.

[14]  Wonyong Sung,et al.  AUTOSCALER for C: an optimizing floating-point to integer C program converter for fixed-point digital signal processors , 2000 .

[15]  Heinrich Meyr,et al.  Fast bit-true simulation , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[16]  Michel Auguin,et al.  Rapid development of optimized DSP code from a high level description through software estimations , 1999, DAC '99.

[17]  T. W. Parks,et al.  Digital Filter Design , 1987 .

[18]  Jan M. Rabaey,et al.  Predicting performance potential of modern DSPs , 2000, Proceedings 37th Design Automation Conference.

[19]  H. Meyr,et al.  System Level Fixed-point Design Based On An Interpolative Approach , 1997, Proceedings of the 34th Design Automation Conference.

[20]  Romuald Rocher,et al.  Automatic SQNR determination in non-linear and non-recursive fixed-point systems , 2004, 2004 12th European Signal Processing Conference.

[21]  François Charot,et al.  A flexible code generation framework for the design of application specific programmable processors , 1999, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[22]  Sharad Malik,et al.  Performance analysis of embedded software using implicit path enumeration , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[23]  Seehyun Kim,et al.  Fixed-point optimization utility for C and C++ based digital signal processing programs , 1995, VLSI Signal Processing, VIII.

[24]  R. B. Kearfott,et al.  Interval Computations: Introduction, Uses, and Resources , 2000 .

[25]  R. Fletcher Practical Methods of Optimization , 1988 .

[26]  Rudy Lauwereins,et al.  Code generation for compiled bit-true simulation of DSP applications , 1998, Proceedings. 11th International Symposium on System Synthesis (Cat. No.98EX210).