When passing a 4-bit counter value from a 200MHz domain to a 100MHz domain, why is Gray coding used?
Answer: B
Explanation: If multiple bits of a binary counter change (e.g., 0111 to 1000), a synchronizer in the destination domain might capture a "garbage" intermediate value (like 1111). Gray code ensures only one bit flips, so the destination sees either the old value or the new one, but never a random state.