On estimations for compiling software to FPGA-based systems

This paper presents recent advances in a compiler infrastructure to map algorithms described in a Java subset to FPGA-based platforms. We explain how delays and resources are estimated to guide the compiler through scheduling and temporal partitioning. The compiler supports complex analytical models to estimate resources and delays for each functional unit. The paper presents experimental results for a number of benchmarks. Those results also arise a question when performing temporal partitioning: shall we try to group as many computational structures in the same configuration or shall we have several configurations?.

[1]  Pedro C. Diniz,et al.  A compiler approach to fast hardware design space exploration in FPGA-based systems , 2002, PLDI '02.

[2]  Pedro C. Diniz,et al.  Compiler reuse analysis for the mapping of data in FPGAs with RAM blocks , 2004, Proceedings. 2004 IEEE International Conference on Field- Programmable Technology (IEEE Cat. No.04EX921).

[3]  João M. P. Cardoso,et al.  An infrastructure to functionally test designs generated by compilers targeting FPGAs , 2005, Design, Automation and Test in Europe.

[4]  Stephen A. Edwards,et al.  The challenges of hardware synthesis from C-like languages , 2005, Design, Automation and Test in Europe.

[5]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[6]  William Fornaciari,et al.  An area estimation methodology for FPGA based designs at systemc-level , 2004, Proceedings. 41st Design Automation Conference, 2004..

[7]  Brad L. Hutchings,et al.  Sea Cucumber: A Synthesizing Compiler for FPGAs , 2002, FPL.

[8]  K. Bertels,et al.  Instruction scheduling for dynamic hardware configurations [M-JPEG encoder case study] , 2005, Design, Automation and Test in Europe.

[9]  Markus Weinhardt,et al.  From C programs to the configure-execute model , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[10]  Pedro C. Diniz,et al.  Modeling Loop Unrolling: Approaches and Open Issues , 2004, SAMOS.

[11]  Bruce A. Draper,et al.  Mapping a Single Assignment Programming Language to Reconfigurable Systems , 2002, The Journal of Supercomputing.

[12]  Minh N. Do,et al.  Youn-Long Steve Lin , 1992 .

[13]  João M. P. Cardoso On Combining Temporal Partitioning and Sharing of Functional Units in Compilation for Reconfigurable Architectures , 2003, IEEE Trans. Computers.

[14]  Brad L. Hutchings,et al.  Synthesizing RTL Hardware from Java Byte Codes , 2001, FPL.

[15]  Alok N. Choudhary,et al.  Accurate area and delay estimators for FPGAs , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[16]  J.M.P. Cardoso,et al.  Compilation for FPGA-based reconfigurable hardware , 2003, IEEE Design & Test of Computers.

[17]  João M. P. Cardoso,et al.  A TEST INFRASTRUCTURE FOR COMPILERS TARGETING FPGAS , 2005 .

[18]  Scott Hauck,et al.  Reconfigurable computing: a survey of systems and software , 2002, CSUR.

[19]  Alok N. Choudhary,et al.  A system for synthesizing optimized FPGA hardware from Matlab(R) , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[20]  Fadi J. Kurdahi,et al.  Area and timing estimation for lookup table based FPGAs , 1996, Proceedings ED&TC European Design and Test Conference.

[21]  Horácio C. Neto,et al.  Macro-based hardware compilation of Java/sup TM/ bytecodes into a dynamic reconfigurable computing system , 1999, Seventh Annual IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00375).

[22]  Frank Vahid,et al.  A study of the speedups and competitiveness of FPGA soft processor cores using dynamic hardware/software partitioning , 2005, Design, Automation and Test in Europe.