Lecture 8 - Timing Constraints