Synchronization In Digital System Design