Abstract
There is an increasing trend toward compiling from C to custom hardware for designing embedded systems in which the area and power consumption of application-specific functional units, registers, and memory blocks are heavily dependent on the bit-widths of integer operands used in computations. The actual bit-width required to store the values assigned to an integer variable during the execution of a program will not, in general, match the built-in C data types. Thus, precious area is wasted if the built-in data type sizes are used to declare the size of integer operands. In this paper, we introduce stochastic bit-width estimation that follows a simulation-based probabilistic approach to estimate the bit-widths of integer variables using extreme value theory. The estimation technique is also empirically compared to two compile-time integer bit-width analysis techniques. Our experimental results show that the stochastic bit-width estimation technique dramatically reduces integer bit-widths and, therefore, enables more compact and power-efficient custom hardware designs than the compile-time integer bit-width analysis techniques. Up to 37% reduction in custom hardware area and 30% reduction in logic power consumption using stochastic bit-width estimation can be attained over ten integer applications implemented on an FPGA chip.
- Bondalapati, K. and Prasanna, V. K. 1999. Dynamic precision management for loop computations on reconfigurable architectures. In IEEE/ACM Symposium on Field-Programmable Custom Computing Machines (Apr.), Napa Valley, CA. Google ScholarDigital Library
- Brase, C. H. and Brase, C. P. 2001. Understanding Basic Statistics, 2nd Ed. Houghton Mifflin, Boston, MA.Google Scholar
- Budiu, M., Sakr, M., Walker, K., and Goldstein, S. C. 2000. BitValue inference: Detecting and exploiting narrow bitwidth computations. In Proceedings of the 6th International Euro-Par Conference (Aug.), Munich, Germany. Google ScholarDigital Library
- Celoxica 2002. Handel-C Language Reference Manual, Version 3.1, 2002.Google Scholar
- Cao, Y. and Yasuura, H. 2003. Quality-driven design by bitwidth optimization for video applications. In Proceedings of IEEE/ACM Asia and South Pacific Design Automation Conference (ASPDAC'03) (Jan.). Google ScholarDigital Library
- Cronquist, D. C., Franklin, P., Berg, S. G., and Ebeling, C. 1998. Specifying and compiling applications for RaPiD. In Proceedings of Field-Programmable Custom Computing Machines. Google ScholarDigital Library
- Draper, B. A., Böhm, A. P. W., Hammes, J., Najjar, W., Beveridge, J. R., Ross, C., Chawathe, M., Desai, M., and Bins, J. 2001. Compiling SA-C Programs to FPGAs: Performance results. In International Conference on Vision Systems, Vancouver (July). Google ScholarDigital Library
- Fang, C. F., Rutenbar, R., and Chen, T. 2003a. Fast, accurate static analysis for fixed-point finite-precision effects in DSP designs. In Proceedings of the 2003 IEEE/ACM International Conference on Computer-Aided Design. Google ScholarDigital Library
- Fang, C. F., Rutenbar, R., Peuschel, M. and Chen, T. 2003b. Toward efficient static analysis of finite-precision effects in DSP applications via affine arithmetic modeling. In Proceedings of Design Automation Conference (DAC). 496--501. Google ScholarDigital Library
- Frigo, J., Gokhale M., and lavenier, D. 2001. Evaluation of the streams-C C-to-FPGA compiler: An application perspective. In 9th ACM International Symposium on Field-Programmable Gate Arrays (Feb.), Monterey, CA. Google ScholarDigital Library
- Gaffar, A. A., Mencer, O., Luk, W., and Cheung, P. Y. K. 2004. Unifying bit-width optimisation for fixed-point and floating-point designs, In IEEE International Conference on Field Programmable Custom Computing Machines (FCCM) (Apr.), Napa Valley, California. Google ScholarDigital Library
- Gupta, R., Mehofer, E. and Zhang, Y. 2002. A representation for bit section based analysis and optimization. In International Conference on Compiler Construction (Apr.), Grenoble, France, LNCS 2304, Springer Verlag, New York. Google ScholarDigital Library
- Harrison, W. H. 1977. Compiler analysis of the value ranges for variables, IEEE Trans. Softw. Engin. (May). Google ScholarDigital Library
- Holloway, G. and Young, C. 2002. The flow analysis and transformation libraries of machine SUIF. In Proceedings of 2nd SUIF Compiler Workshop (Aug.), Stanford University, Stanford, CA.Google Scholar
- Kim, S., Kum, K., and Sung, W. 1998. Fixed-point optimization utility for C and C++ based digital signal processing programs. IEEE Trans. Circuits Syst. 45, 11 (Nov.).Google Scholar
- Kinnison, R. R. 1985. Applied Extreme Value Statistics. Macmillan, New York.Google Scholar
- Law, A. M. and Kelton, W. D. 2000. Simulation Modeling and Analysis. 3rd Ed. McGraw Hill, New York. Google ScholarDigital Library
- Lee, C., Potkonjak, M., and Mangione-Smith, W. H. 1997. MediaBench: A tool for evaluating and synthesizing multimedia and communications systems. In Proceedings of the 30th Annual IEEE/ACM International Symposium on Microarchitecture (Micro-30) (Dec.), Raleigh, NC. Google ScholarDigital Library
- Mahlke, S., Ravindran, R., Schlansker, M., Schreiber, R., and Sherwood, T. 2001. Bitwidth cognizant architecture synthesis of custom hardware accelerators, HPL-2001-209 Technical Rep. (Aug.).Google Scholar
- Nayak, A., Haldar, M., Choudhary, A., and Banerjee, P. 2001. Precision and error analysis of MATLAB applications during automated hardware synthesis for FPGA's. In Proceedings of Design Automation and Test in Europe (DATE), Munich, Germany. Google ScholarDigital Library
- OPEN SYSTEMC INITIATIVE 2003. SystemC 2.0.1 Language Reference Manual Revision 1.0, 2003.Google Scholar
- Özer, E., Nisbet, A. P., and Gregg, D. 2004. Stochastic bit-width approximation using extreme value theory for customizable processors. In Proceedings 13th International Conference on Compiler Construction (CC) (Mar.), LNCS 2985, Barcelona, Spain.Google Scholar
- Patterson, J. R. C. 1995. Accurate static branch prediction by value range propagation. In Proceedings of the ACM Conference on Programming Language Design and Implementation (PLDI) (June). Google ScholarDigital Library
- Razdan, R. and Smith, M. D. 1994. A high-performance microarchitecture with hardware-programmable functional units. In Proceedings of the 27th Annual International Symposium on Microarchitecture (Dec.). San Jose, CA. Google ScholarDigital Library
- Reiss, R. D. and Thomas, M. 1997. Statistical Analysis of Extreme Values, Birkhäuser Verlag, Basel, Switzerland. Google ScholarDigital Library
- Stefanović, D. and Martonosi, M. 2000. On availability of bit-narrow operations in General-purpose applications. In 10th International Conference on Field Programmable Logic and Applications (Aug.). Google ScholarDigital Library
- Stephenson, M., Babb, J., and Amarasinghe, S. 2000. Bitwidth analysis with application to silicon compilation, In Proceedings of the ACM SIGPLAN '00 Conference on Programming Language Design and Implementation (PLDI) (June), Vancouver, BC. Google ScholarDigital Library
- Willems, M., Bürsgens, V., Keding, H., Grötker, T., and Meyr, H. 1997. System level fixed-point design based on an interpolative approach. In Proceedings of the 34th Design Automation Conference (DAC) (June). Google ScholarDigital Library
- Wilson, R. P., French, R. S., Wilson, C. S., Amarasinghe, S., Anderson, J. M., Tjiang, S. W. K., Liao, S. W., Tseng, C. W., Hall, M. W., Lam, M. S., and Hennessy, J. L. 1994. SUIF: An infrastructure for research on parallelizing and optimizing compilers, Technical. Rep. Computer Systems Laboratory, Stanford University, CA.Google ScholarDigital Library
- XILINX 2002, Xilinx Virtex-II Architecture Manual, Sep. 2002.Google Scholar
- Yamashita, H., Yasuura, H., Eko, F. N., and Yun, C. 2000. Variable size analysis and validation of computation quality. In Proceedings of IEEE Workshop on High-level Design Validation and Test (Nov.). Google ScholarDigital Library
Index Terms
- A stochastic bitwidth estimation technique for compact and low-power custom processors
Recommendations
Soft vector processors vs FPGA custom hardware: measuring and reducing the gap
FPGA '09: Proceedings of the ACM/SIGDA international symposium on Field programmable gate arraysSoft processors are often used in FPGA-based systems because of their ease-of-use, but for a given computation there is a significant gap in area/performance between a C code implementation executing on a soft processor and a custom FPGA hardware ...
The microarchitecture of FPGA-based soft processors
CASES '05: Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systemsAs more embedded systems are built using FPGA platforms, there is an increasing need to support processors in FPGAs. One option is the soft processor, a programmable instruction processor implemented in the reconfigurable logic of the FPGA. Commercial ...
Low Power Consumption Coarse Grained Reconfigurable Adder
ICCEE '09: Proceedings of the 2009 Second International Conference on Computer and Electrical Engineering - Volume 02Reconfigurable architecture gives the advantage of both high performance and high flexibility. However power consumption is also an important criterion which determines the efficiency of the reconfigurable architecture to be used in data intensive ...
Comments