Constrained scheduling of VLSI algorithms