synchronous logic