SPARK: A High-Lev l Synthesis Framework For Applying Parallelizing Compiler Transformations

  • Authors:
  • Sumit Gupta;Nikil Dutt;Rajesh Gupta;Alex Nicolau

  • Affiliations:
  • -;-;-;-

  • Venue:
  • VLSID '03 Proceedings of the 16th International Conference on VLSI Design
  • Year:
  • 2003

Quantified Score

Hi-index 0.01

Visualization

Abstract

This paper presents a modular and extensible high-levelsynthesis research system, called SPARK, that takes a behavioral description in ANSI-C as input and produces synthesizable register-transfer level VHDL. SPARK uses parallelizing compiler technology developed previously to enhance instruction-level parallelism and re-instruments it forhigh-level synthesis by incorporating ideas of mutual exclusivity of operations, resource sharing and hardware costmodels. In this paper, we present the design flow throughthe SPARK system, a set of transformations that includespeculative code motions and dynamic transformations andshow how these transformations and other optimizing synthesis and compiler techniques are employed by a scheduling heuristic. Experiments are performed on two moderately complex industrial applications, namely, MPEG-1 andthe GIMP image processing tool.The results show that thevarious code transformations lead to up to 70% improvements in performance without any increase in the overallarea and critical path of the final synthesized design.