High-Level Synthesis Using SPARK and Systolic Array
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.
KeywordsNest Loop Systolic Array Total Execution Time Hardware Complexity Synthesis Result
Unable to display preview. Download preview PDF.
- 1.De Micheli, G.: Synthesis and Optimization of Digital Circuits. McGraw-Hill, New York (1994)Google Scholar
- 2.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)Google Scholar
- 3.Wakabayashi, K., Tanaka,H.: Global scheduling independent of control dependencies based on condition vectors, DAC (1992)Google Scholar
- 4.Lakshminarayana, G., et al.: Incoporating speculative execution into scheduling of control flow intensive behavioral description, DAC (1998)Google Scholar
- 5.Behavioral compiler, SynopsysGoogle Scholar
- 6.Get2Chip Incorporated (now a Cadence subsidiary), G2C architectural compiler, http://www.get2chip.com
- 7.Forte Design Systems, Behavioral design suit, http://www.forteds.com
- 8.Gupta, S.: User Manual for the SPARK Parallelizing High-Level Synthesis Framework version 1.1 (2004), http://mesl.ucsd.edu/spark
- 9.Kung, S.Y.: VLSI Array Processors. Prentice-Hall, Englewood Cliffs (1988)Google Scholar
- 11.Moldovan, D.I.: ADVIS : A software package for the design of systolic arrays. IEEE Trans. CAD CAD-6(1) (1987)Google Scholar