Abstract
This paper presents a technique for automatic synthesis of high-performance FPGA-based computing machines from C language source code. It exploits data-parallelism present in source code, and its approach is based on hardware application of techniques for automatic loop transformations, mainly designed in the area of optimizing compilers for parallel and vector computers. Performance aspects are considered in early stage of design, before low-level synthesis process, through a transformation-intensive branch-and-bound approach, that searches design space exploring area-performance tradeoffs. Furthermore optimizations are applied at architectural level, thus achieving higher benefits with respect to gate-level optimizations, also by means of a library of hardware blocks implementing arithmetic and functional primitives. Application of the technique to partial and complete unrolling of a Successive Over-Relaxation code is presented, with results in terms of effectiveness of area-delay estimation, and speed-up for the generated circuit, ranging from 5 and 30 on a Virtex-E 2000-6 with respect to a Intel Pentium 3 1GHz.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M.E. Wolf and M.S. Lam: “A loop transformation theory and an algorithm to maximize parallelism”, IEEE Trans. Parallel. Distrib. Syst. Vol.2, pp. 452–471, Oct 1991.
M. Weinhardt and W. Luk: “Pipeline Vectorization”, IEEE Trans. On CAD of Integrated Circuits and Systems, Vol.20, No. 2, Feb 2001.
M. Rencher, B. L. Hutchings, “Automated Target Recognition on SPLASH2”, IEEE Symposium on Field-Programmable Custom Computing Machines, 1997.
H. Zima and B. Chapman: “Supercompilers for Parallel and ”, Reading MA: Addison-Wesley, 1991.
B. Di Martino, G. Iannello, “Parallelization of Nonsimultaneous...”, in: Parallel Processing, Lecture Notes in Computer Science n. 854, pp. 253–262, Springer-Verlag, 1994.
B. Di Martino, “Algorithmic Concept Recognition Support for Automatic...”, Journ. of Information Science and Engineering, Vol. 14, n. 1, pp. 191–203, March 1998.
M. J. Wolfe: Optimizing Supercompilers for Supercomputers. Research Monographs in Parallel and Distributed Computing. MIT Press, Cambridge, Mass.
M. Girkar and C.D. Polychronopoulos: “Automatic Extraction of Functional Parallelism...”, IEEE Trans. On Par. and Distr. Syst. Vol.3, No.2, March 1992, pp. 166–178.
A. J. Elbirt, C. Paar, “An FPGA Implementation and Performance Evaluation...”, ACM/SIGDA International Symposium on FPGAs, pp. 33–40, 2000.
F. Irigoin and R. Triolet, “Supernode partitioning”, In Proc. 15th Annual ACM SIGACT-SIGPLAN Synp Principles Programming Languages, Jan. 1988, pp. 319–329.
N. Tawbi: “Estimation of nested loops execution time by integer arithmetic in convex polyhedra”, Parallel Processing Symposium, 1994. Proceedings., 1994, Page(s): 217–221
D.E. Knuth, “The Art of Computer Programming”, Vol. I, Addison-Wesley, 1973
R. Rinker et al.: “An Automated Process for Compiling Dataflow Graphs into...”, IEEE Trans. On VLSI Systems, Vol.9, No.1, Feb. 2001, pp. 130–139.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Di Martino, B., Mazzocca, N., Saggese, G.P., Strollo, A.G.M. (2002). A Technique for FPGA Synthesis Driven by Automatic Source Code Analysis and Transformations. In: Glesner, M., Zipf, P., Renovell, M. (eds) Field-Programmable Logic and Applications: Reconfigurable Computing Is Going Mainstream. FPL 2002. Lecture Notes in Computer Science, vol 2438. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46117-5_7
Download citation
DOI: https://doi.org/10.1007/3-540-46117-5_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44108-3
Online ISBN: 978-3-540-46117-3
eBook Packages: Springer Book Archive