Accurate area and delay estimators for FPGAs

We present an area and delay estimator in the context of a compiler that takes in high level signal and image processing applications described in MATLAB and performs automatic design space exploration to synthesize hardware for a field programmable gate array (FPGA) which meets the user area and frequency specifications. We present an area estimator which is used to estimate the maximum number of configurable logic blocks (CLBs) consumed by the hardware synthesized for the Xilinx XC4010 from the input MATLAB algorithm. We also present a delay estimator which finds out the delay in the logic elements in the critical path and the delay in the interconnects. The total number of CLBs predicted by us is within 16% of the actual CLB consumption and the synthesized frequency estimated by us is within an error of 13% of the actual frequency after synthesis through Synplify logic synthesis tools and after placement and routing through the XACT tools from Xilinx. Since the estimators proposed by us are fast and accurate enough, they can be used in a high level synthesis framework like ours to perform rapid design space exploration.

[1]  Alok N. Choudhary,et al.  Parallelization of MATLAB Applications for a Multi-FPGA System , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).

[2]  Alok N. Choudhary,et al.  Precision and error analysis of MATLAB applications during automated hardware synthesis for FPGAs , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[3]  Alok N. Choudhary,et al.  FPGA hardware synthesis from MATLAB , 2001, VLSI Design 2001. Fourteenth International Conference on VLSI Design.

[4]  Nikil D. Dutt,et al.  Bridging high-level slqvihesis to RTL technology libraries , 1991, 28th ACM/IEEE Design Automation Conference.

[5]  Pierre G. Paulin,et al.  Force-directed scheduling for the behavioral synthesis of ASICs , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[6]  Miriam Leeser,et al.  High level synthesis for designing custom computing hardware , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[7]  Peter Gray,et al.  An overview of the COBRA-ABS high level synthesis system for multi-FPGA systems , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[8]  Alok N. Choudhary,et al.  Scheduling algorithms for automated synthesis of pipelined designs on FPGAs for applications described in MATLAB , 2000, CASES '00.

[9]  J.M.P. Cardoso,et al.  Towards an automatic path from Java/sup TM/ bytecodes to hardware through high-level synthesis , 1998, 1998 IEEE International Conference on Electronics, Circuits and Systems. Surfing the Waves of Science and Technology (Cat. No.98EX196).

[10]  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).

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

[12]  Csaba Andras Moritz,et al.  Parallelizing applications into silicon , 1999, Seventh Annual IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00375).

[13]  A. H. Timmer,et al.  Fast System-Level Area-Delay Curve Prediction , 1993 .

[14]  Akihiro Hashimoto,et al.  Wire routing by optimizing channel assignment within large apertures , 1971, DAC.

[15]  Brent E. Nelson,et al.  Using general-purpose programming languages for FPGA design , 2000, Proceedings 37th Design Automation Conference.

[16]  Maya Gokhale,et al.  Stream-oriented FPGA computing in the Streams-C high level language , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[17]  David R. Galloway The Transmogrifier C hardware description language and compiler for FPGAs , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[18]  Nikil Dutt GENUS : a generic component library for high level synthesis , 1988 .

[19]  Ian Page Constructing hardware-software systems from a single description , 1996, J. VLSI Signal Process..

[20]  Alok N. Choudhary,et al.  Automated synthesis of pipelined designs on FPGAs for signal and image processing applications described in MATLAB(R) , 2001, Proceedings of the ASP-DAC 2001. Asia and South Pacific Design Automation Conference 2001 (Cat. No.01EX455).

[21]  Farid N. Najm,et al.  Delay estimation of VLSI circuits from a high-level view , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[22]  Ranga Vemuri,et al.  Resource constrained RTL partitioning for synthesis of multi-FPGA designs , 1997, Proceedings Tenth International Conference on VLSI Design.

[23]  Alex K. Jones,et al.  A MATLAB compiler for distributed, heterogeneous, reconfigurable computing systems , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[24]  Michael Feuer Connectivity of Random Logic , 1982, IEEE Transactions on Computers.