Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • RTL Foundations36
  • Combinational Design25
  • Sequential Design27
  • FSM & Control27
  • Timing & Clocking39
  • Reset & CDC34
  • Memory & Buses57
  • Advanced RTL28
  • Senior & Interview76
    • Low-Power RTL Hub
    • DFT and Scan Hub
    • Physical Awareness Hub
    • Waveform Debug Hub
    • STA and ECO Hub
    • RTL-to-Implementation Closure
    • DFT-Ready RTL
    • Capstone: Resilient Streaming Peripheral
    • Principal Design Review
    • Senior RTL Interview Questions & Model Answers
      • Interview: Combinational and Arithmetic
      • Interview: Sequential and Pipelines
      • Interview: FSM and Control
      • Interview: Timing and STA
      • Interview: CDC and Reset
        • A CDC review: what to check
        • Reset assertion vs release
        • Why an async FIFO uses Gray pointers
        • Pulse synchronizers and reset-domain crossings
      • Interview: Memories and Buses
      • Interview: Low-Power Design
      • Interview: Debug and ECO
      • Interview: Coding and Whiteboard
  • Glossary and Notation
Loading lesson

‹Senior RTL Interview Questions & Model Answers
  1. Topics
  2. RTL Design
  3. Senior & Interview
  4. Senior RTL Interview Questions & Model Answers
  5. Interview: CDC and Reset

Part 9 · Senior · Senior

Interview: CDC and Reset

Four worked interview answers on CDC review, reset release, Gray pointers, and pulse and reset-domain crossings.

  • 4topics
  • 4lessons

Topics in this section

  1. 1A CDC review: what to check1 lesson
  2. 2Reset assertion vs release1 lesson
  3. 3Why an async FIFO uses Gray pointers1 lesson
  4. 4Pulse synchronizers and reset-domain crossings1 lesson
On this page

    Clock-domain crossing and reset questions test judgment under uncertainty. Each answer names a structure, protocol assumptions and finite digital checks. Each lesson carries a self-checking bench; simulation still cannot prove analog metastability safety, physical timing bounds or system MTBF.

    Flow from classification to structure to functional and physical evidence.
    Classify traffic, select a structure, then separate functional checks from physical signoff.

    Lessons in this topic

    4 lessons, about 18 min

    1. 1A CDC review: what to checkYou can walk a crossing list, classify each crossing as single-bit, multi-bit or stream, and name the structure and constraint for each.4 min
    2. 2Reset assertion vs releaseYou can explain why the usual answer is asynchronous assert with synchronised release, draw the two-flop reset synchroniser, and say when synchronous or no reset is fine.4 min
    3. 3Why an async FIFO uses Gray pointersYou can explain why Gray pointers cross safely, why the pointer has one extra bit, and how full and empty are compared.4 min
    4. 4Pulse synchronizers and reset-domain crossingsYou can build a toggle pulse synchroniser, say how far apart pulses must be, and list the three reset-domain crossing hazards with their fixes.6 min
    Check yourself An 8-bit bus crosses into another clock through one two-flop synchroniser per bit. What is the first review question?

    Whether the bits are related. Independent flags are safe. A counter or a data word needs Gray code, a handshake, or a FIFO, as the bus lesson shows.

    Interview

    Strongest single line: cross one bit with two flops, cross many bits with Gray code, a handshake, or a FIFO, and release every reset through its own synchroniser.

    Revision sheet

    The whole topic on one page, taken from each lesson's Remember box. Read it before an interview, or print it.

    A CDC review: what to check

    • Classify first: single-bit control, multi-bit value, or data stream. The structure follows the traffic shape.

    • Only the second flop feeds destination logic. A source must hold a value for more than one destination period.

    • A false-path or clock-group exception silences timing. It does not make a crossing safe.

    Rule of thumb: cross one bit with two flops, many bits with Gray code, a handshake or a FIFO, and never judge safety by the timing report alone.

    Reset assertion vs release

    • Assertion needs no clock. Release must meet the clock, so it goes through a two-stage synchroniser.

    • Each clock domain gets its own reset synchroniser. Consumers use its output, never the raw reset.

    • Data buses that cross domains stay unreset where possible, so a reset value cannot leak across as data.

    Rule of thumb: assert asynchronously, release synchronously, and give every domain its own release.

    Why an async FIFO uses Gray pointers

    • Gray code changes one bit per step, so a sampled pointer is either the old or the new value.

    • A FIFO with 2^AW entries uses AW + 1 bit pointers. Equal pointers mean empty; one lap apart means full.

    • Compare Gray with Gray, and use the next write pointer. Stale remote pointers only delay permission.

    Rule of thumb: cross a pointer that can only step by one, and compare it in the domain that owns the flag.

    Pulse synchronizers and reset-domain crossings

    • Turn the pulse into a level with a toggle, cross it, and XOR with the previous value to rebuild one pulse.

    • Each toggle level must last long enough for the destination to sample it, about three clean edges for open-loop use.

    • Reset crossings fail by cleared data, cleared history or release order. Block acceptance and establish a fresh baseline.

    Rule of thumb: never stretch a pulse blindly: toggle it or handshake it, and treat a mid-transfer reset as part of the protocol.

    Practise it

    • Mini project: the capstone: a resilient streaming peripheral, stage by stage

    • Practice question: A unified CDC strategy: handshake, FIFO and synchronisers

    • Practice question: Debugging multi-bit bus corruption without a handshake

    • Practice question: Debugging metastability from asynchronous reset deassertion

    • Code lab: Build a reset synchroniser

    • Code lab: Async FIFO Gray pointers

    • Interview: run a mock interview on this topic

    PreviousNext: A CDC review: what to check

    Up next

    Up nextA CDC review: what to check

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Interview: Combinational and Arithmetic
    • Interview: Sequential and Pipelines
    • Interview: FSM and Control