Using speculative computation and parallelizing techniques to improve scheduling of control based designs