Abstract
Recently, SPARK parallelizing high-level synthesis software tool has been developed. It takes a behavioral ANSI-C code as an input, schedules it using speculative code motions and loop transformations, generates a finite state machine for the scheduled design graph, and then finally outputs a synthesizable RTL VHDL code. To handle loop algorithm, SPARK employs various loop transformations such as loop invariant code motion, loop unrolling, loop index variable elimination and loop shifting. In loop synthesis, however, SPARK does not produce circuit description whose quality can compete with manual designs. With the objective of improving the quality of high-level synthesis results for designs with loops, this paper shows an upgrade of SPARK through transforming nested loops into a 2-D systolic array to increase parallelism. The C-to-VHDL loop synthesis in this paper achieves synthesis results that are better than those achieved from a current version of SPARK for matrix-matrix multiplication and FIR filter, and can be incorporated into SPARK parallelizing high-level synthesis framework.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
De Micheli, G.: Synthesis and Optimization of Digital Circuits. McGraw-Hill, New York (1994)
Gupta, S., Gupta, R.K., Dutt, N.D., Nicolau, A.: SPARK: A Parallelizing Approach to the High-Level Synthesis of Digital Circuits. Kluwer Academic, Dordrecht (2004)
Wakabayashi, K., Tanaka,H.: Global scheduling independent of control dependencies based on condition vectors, DAC (1992)
Lakshminarayana, G., et al.: Incoporating speculative execution into scheduling of control flow intensive behavioral description, DAC (1998)
Behavioral compiler, Synopsys
Get2Chip Incorporated (now a Cadence subsidiary), G2C architectural compiler, http://www.get2chip.com
Forte Design Systems, Behavioral design suit, http://www.forteds.com
Gupta, S.: User Manual for the SPARK Parallelizing High-Level Synthesis Framework version 1.1 (2004), http://mesl.ucsd.edu/spark
Kung, S.Y.: VLSI Array Processors. Prentice-Hall, Englewood Cliffs (1988)
Kung, H.T.: Why Systolic Architectures? IEEE Computers 15(1), 37–46 (1982)
Moldovan, D.I.: ADVIS : A software package for the design of systolic arrays. IEEE Trans. CAD CAD-6(1) (1987)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lee, JJ., Song, GY. (2006). High-Level Synthesis Using SPARK and Systolic Array. In: Bertels, K., Cardoso, J.M.P., Vassiliadis, S. (eds) Reconfigurable Computing: Architectures and Applications. ARC 2006. Lecture Notes in Computer Science, vol 3985. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11802839_55
Download citation
DOI: https://doi.org/10.1007/11802839_55
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-36708-6
Online ISBN: 978-3-540-36863-2
eBook Packages: Computer ScienceComputer Science (R0)