Synchronous Sequential Logic