Multi-bit questions test whether you reach for per-bit synchronisers out of habit. Every drill below punishes that reflex; speak the torn-bus mechanism first, then the pattern.
Outline: Mechanism, torn bus: bits settle at different times and the destination mixes old and new bits, producing values the counter never held. Verdict, defect. Pattern, Gray code, handshake, or FIFO depending on rate. Evidence, structural check flagging a multi-bit crossing without a protocol. Reference: Where Gray Fails for the boundary of the Gray answer.
Outline: consecutive Gray values differ in exactly one bit, so a sampled transition resolves to the old or the new value, never a third. Breaks when the source changes more than one step per destination sample, for non-power-of-two ranges handled naively, or when the Gray word reconverges with other logic. Reference: The One-Bit-Change Rule.
Outline: Mechanism, reconvergence: two separately synchronised paths rejoin, and skew between them can glitch the comparison. Pattern, compare full and empty in one domain each using the synchronised pointer, never combine two fresh crossings in one gate. Evidence, the structural reconvergence report. Reference: What Is Reconvergence.
Outline: Assumption, stated write and read rates plus the round-trip latency of the full and empty feedback. Mechanism, depth must cover the bursts the reader cannot drain while the flags propagate. Trade-off, deeper costs area and empty latency; shallower risks overflow. Reference: Depth Sizing. Level 4 adds reset: pointers must release into a known empty state, per FIFO Reset and Tool Checks.
Outline: empty is generated in the read domain from the synchronised write pointer; full is generated in the write domain from the synchronised read pointer. Mechanism, each flag compares a local pointer against a synchronised copy, so no comparison ever mixes two crossing paths. Reference: Full and Empty.
Outline: qualified quasi-static capture: hold the bus stable, synchronise a valid pulse, capture the bus while held, per Qualified Capture. Trade-off, near-zero logic against a stability contract the source must honour. Evidence, constraints or assertions proving the bus is stable across the capture window, plus waiver hygiene from Constraints and Waiver Hygiene.
Never combine two freshly crossed signals in one function: full and empty each compare a local pointer with one synchronised copy, in a single domain, so no gate ever sees two skews at once.