Methods and apparatus are described for optimizing a circuit design. A
gate level circuit description corresponding to the circuit design is
generated. The gate level circuit description includes a plurality of
pipelines across a plurality of levels. Using a linear programming
technique, a minimal number of buffers is added to selected ones of the
pipelines such that a performance constraint is satisfied.