Precision and error analysis of MATLAB applications during automated hardware synthesis for FPGAs
- 13 November 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 722-728
- https://doi.org/10.1109/date.2001.915108
Abstract
We present a compiler that takes high level signal and image processing algorithms described in MATLAB and generates an optimized hardware for an FPGA with external memory. We propose a precision analysis algorithm to determine the minimum number of bits required by an integer variable and a combined precision and error analysis algorithm to infer the minimum number of bits required by a floating point variable. Our results show that on average, our algorithms generate hardware requiring a factor of 5 less FPGA resources in terms of the configurable logic blocks (CLBs) consumed as compared to the hardware generated without these optimizations. We show that our analysis results in the reduction in the size of lookup tables for functions like sin, cos, sqrt, exp etc. Our precision analysis also enables us to pack various array elements into a single memory location to reduce the number external memory accesses. We show that such a technique improves the performance of the generated hardware by an average of 35%.Keywords
This publication has 24 references indexed in Scilit:
- Parallelizing applications into siliconPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- High level synthesis for designing custom computing hardwarePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- The Transmogrifier C hardware description language and compiler for FPGAsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Automated synthesis of pipelined designs on FPGAs for signal and image processing applications described in MATLAB(R)Published by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- FPGA hardware synthesis from MATLABPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- A MATLAB compiler for distributed, heterogeneous, reconfigurable computing systemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Stream-oriented FPGA computing in the Streams-C high level languagePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Constructing hardware-software systems from a single descriptionJournal of Signal Processing Systems, 1996
- Constant propagationPublished by Association for Computing Machinery (ACM) ,1994
- Efficient and exact data dependence analysisPublished by Association for Computing Machinery (ACM) ,1991