1. A method for a data-driven decomposition based synthesis of VLSI systems, comprising: converting an input circuit program into an intermediate Dynamic Single Assignment (DSA) form; performing a projection process to decompose said intermediate DSA into smaller concurrent process modules; and clustering said concurrent process modules whereby small concurrent process modules are optimally grouped to produce a final decomposition.