Design Space Pruning Through Early Estimations of Area/Delay Tradeoffs for FPGA Implementations

Early performance feedback and design space exploration of complete field-programmable gate array (FPGA) designs are still time consuming tasks. This paper proposes an original methodology based on estimations to reduce the impact on design time. It promotes a hierarchical exploration to mitigate the complexity of the exploration process. Therefore, this work takes place before any design step, such as compilation or behavioral synthesis, where the specification is still provided as a C program. The goal is to provide early area and delay evaluations of many register-transfer level (RTL) implementations to prune the design space. Two main steps compose the flow: 1) a structural exploration step defines several RTL implementations, and 2) a physical mapping estimation step computes the mapping characteristics of these onto a given FPGA device. For the structural exploration, a simple yet realistic RTL model reduces the complexity and permits a fast definition of solutions. At this stage, it focuses on the computation parallelism and memory bandwidth. Advanced optimizations using for instance loop tiling, scalar replacement, or data layout are not considered. For the physical estimations, an analytical approach is used to provide fast and accurate area/delay tradeoffs. The paper also do not consider the impact of routing on critical paths or other optimizations. The reduction of the complexity allows the evaluation of key design alternatives, namely target device and parallelism that can also include the effect of resource allocation, bitwidth, or clock period. Due to this, a designer can quickly identify a reliable subset of solutions for which further refinement can be applied to enhance the relevance of the final architecture and reach a better use of FPGA resources, i.e., an optimal level of performance. Experiments performed with Xilinx (VirtexE) and Altera (Apex20K) FPGAs for a two-dimensional Discrete Wavelet Transform and a G722 speech coder lead to an average error of 10% for temporal values and 18% for area estimations

[1]  Fadi J. Kurdahi,et al.  Layout-driven RTL binding techniques for high-level synthesis , 1996, TODE.

[2]  Daniel D. Gajski,et al.  Area and performance estimation from system-level specifications , 1992 .

[3]  Olivier Sentieys,et al.  GAUT: An architectural synthesis tool for dedicated signal processors , 1993, Proceedings of EURO-DAC 93 and EURO-VHDL 93- European Design Automation Conference.

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

[5]  Axel Jantsch,et al.  FPGA resource and timing estimation from Matlab execution traces , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[6]  Pedro C. Diniz,et al.  Bridging the Gap between Compilation and Synthesis in the DEFACTO System , 2001, LCPC.

[7]  Pedro C. Diniz,et al.  Performance and area modeling of complete FPGA designs in the presence of loop transformations , 2004, IEEE Transactions on Computers.

[8]  Viktor K. Prasanna,et al.  Domain-Specific Modeling for Rapid System-Wide Energy Estimation of Reconfigurable Architectures , 2002 .

[9]  Jean Luc Philippe,et al.  Design-Trotter: a multimedia embedded systems design space exploration tool , 2002, 2002 IEEE Workshop on Multimedia Signal Processing..

[10]  Sébastien Bilavarn Exploration Architecturale au Niveau Comportemental - Application aux FPGAs. (Architectural Exploration in behavioral level - Application to FPGAs) , 2002 .

[11]  Fadi J. Kurdahi,et al.  Layout-driven RTL binding techniques for high-level synthesis , 1996, Proceedings of 9th International Symposium on Systems Synthesis.

[12]  W. Miller,et al.  Designing a high performance FPGA-using the PREP Benchmarks , 1993, Proceedings of WESCON '93.

[13]  N. Tredennick,et al.  Design and Implementation of System Features for the MC60000 , 1979 .

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

[15]  Guy Gogniat,et al.  Fast Prototyping of Reconfigurable Architectures: An Estimation and Exploration Methodology from System-Level Specifications , 2003 .

[16]  Robert A. Walker,et al.  Efficient optimal design space characterization methodologies , 2000, TODE.

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

[18]  Ronald L. Rivest,et al.  Introduction to Algorithms, Second Edition , 2001 .

[19]  Ingrid Daubechies,et al.  The wavelet transform, time-frequency localization and signal analysis , 1990, IEEE Trans. Inf. Theory.

[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]  Nick Tredennick,et al.  The Rise of Reconfigurable Systems , 2003, Engineering of Reconfigurable Systems and Algorithms.

[22]  Fadi J. Kurdahi,et al.  Fast area estimation to support compiler optimizations in FPGA-based reconfigurable systems , 2002, Proceedings. 10th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[23]  Reiner W. Hartenstein Are We Really Ready for the Breakthrough , 2003 .

[24]  Pedro C. Diniz,et al.  Using estimates from behavioral synthesis tools in compiler-directed design space exploration , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[25]  Gerhard Tröster,et al.  High-Level Area and Performance Estimation of Hardware Building Blocks on FPGAs , 2000, FPL.

[26]  Francky Catthoor,et al.  Custom Memory Management Methodology , 1998, Springer US.

[27]  Thomas H. Cormen,et al.  Introduction to algorithms [2nd ed.] , 2001 .

[28]  Pedro C. Diniz,et al.  Performance and area modeling of complete FPGA designs in the presence of loop transformations , 2003, 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2003. FCCM 2003..

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