Timing Analysis and Optimization of Sequential Circuits