A method for performing high-level synthesis (HLS) of a digital design
includes a first phase for performing transformations on a behavioral
description of the design, and a second phase for selecting a
transformation from a plurality of transformations for transforming the
behavioral description. The method further includes a third phase for
implementing the transformed behavioral description using lower level
primitives, and a fourth phase for generating implementation codes for
the design.