In the context of clock synchronization among nodes of a network, what is clock offset and what is clock skew?
Are these terms synonymous or is there a difference between them?
Computer Science Stack Exchange is a question and answer site for students, researchers and practitioners of computer science. It only takes a minute to sign up.Sign up to join this community
The terms aren't exactly the same, although have some similarities.
Clock Skew - a skew in the clock signal is referred to a time gap between the expected arrival of the clock to it's actual arrival, the skew can be positive or negative. This might also be called jitter, it may be considered as sort of instability parameter of your system. Skew is measured in time units (i.e. ns, us, etc.) When designing a synchronous system you must make sure that your system doesn't have timing violations due to clock skews.
Clock Offset - offset of the clock is a delay of a given clock source, it might be known, or unknown. Offset can be measured in time units or phase degree. Many times clock offset is intentional, for instance it's very common for data to be synchronised to falling edge of a clock, in this case, the receiver of the data, might consider the clock to have an offset of 180 degrees.
Another popular case might be receiving data in a certain clock, for instance 100MHz, while your system also has 100MHz clock, the 2 clocks might have a very low jitter rate, but the offset between them is usually unknown, there are components that can compensate and "fix" the offset and synchronise clocks such as PLL's.
Hope it's more clear now.