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

  • How to Use This Course
  • Reading Path
  • CDC/RDC Glossary
  • CDC/RDC Metrics Reference
  • CDC/RDC Interview Prep
  • CDC/RDC Signoff Cheatsheet
  • Clock Domains and Failure Modes8
  • Metastability and Synchronizers16
  • CDC Protocols and Handshakes16
  • Reconvergence and Gray Coding16
  • Reset Domain Crossing16
  • Architecture and Design Rules16
  • CDC Signoff Methodology24
  • RDC Signoff16
  • Debug and Case Studies11
  • CDC and RDC Interview Prep30
  • Capstone: Sign Off a Multi-clock Peripheral4
Loading lesson

‹CDC & RDC
  1. Topics
  2. CDC & RDC
  3. How to Use This Course

CDC / RDC Signoff · All levels

How to Use This Course

Lesson shape, code and simulation labels, study order, progress checks, and how to use check-yourself.

On this page

    Every lesson in this course is built the same way, so you always know where to look. This page explains the shape, the labels on code and simulation output, and how to tell you are actually learning rather than just reading.

    The lesson shape

    Each lesson opens with why it matters, then the core idea, then the circuit or pattern (drawn as a diagram or a table where one helps). After that come the two signoff viewpoints: what the checking tools look for, and how you verify the behaviour. Common pitfalls and the interview angle follow where they earn their place, and every lesson ends with at least one check-yourself and links to related lessons. Section and topic hubs are shorter: a purpose paragraph, a table of their lessons with an After it you can column, and a suggested order.

    What the labels mean

    Complete modules and testbenches compile and run under Icarus or Verilator and follow the self-checking convention: they print PASS or FAIL and call $finish. Anything else carries a label on its first line, and the label is part of the lesson:

    Label

    Meaning

    How to read it

    // snippet

    Partial code showing one idea, not a whole module.

    Read for structure; do not compile it.

    // bad-example

    Intentionally wrong code demonstrating a violation.

    Study the flaw, never copy the pattern.

    // not-run: <reason>

    Code that cannot run here, with the reason stated.

    Read for intent; the reason tells you what is missing.

    What simulation output captions mean

    Waveforms in this course come from real simulation through the course waveform generator, never hand-drawn. Each carries a caption beginning Simulation output followed by what the lanes show, plus a short How to read it note describing only what the lanes display. Deliberately unsafe CDC examples never claim a simulator reproduces real metastability: they either use a plainly written metastability-aware model (an old-or-new value inside a stated window, deterministic by seed or pattern) or appear as bad-example snippets.

    How progress works

    Progress is measured by exit checks, not page views. Every topic hub table has an After it you can column: that sentence is the skill the topic promises, and you have finished the topic when you can perform it without the page open. Within lessons, the check-yourself blocks are the unit tests. Work the course in nav order inside each section, because each topic assumes the vocabulary of the previous one; the Reading Path gives the order across sections for each role.

    How to use check-yourself

    Each check-yourself asks one question and hides its answer. Cover the answer, say yours out loud in full sentences, then compare: a match on the mechanism counts as a pass even if the wording differs, while a vaguer answer than the model means re-read the lesson. If you miss two in a row inside one topic, restart that topic rather than pushing on. The Capstone Signoff Lab is the final check-yourself for the whole course.

    Check yourself A lesson shows a FIFO testbench labelled // not-run: needs a commercial simulator. Can you rely on its PASS claim?

    No. The label states the code was not executed here, so there is no observed result to rely on. Read it for the checking intent, and prove the behaviour with a runnable model instead.

    Related topics

    • Course Hub

    • Reading Path

    • Glossary

    Previous

    1 / 179

    Next: Reading Path

    Up next

    Up nextReading Path

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • CDC/RDC Glossary
    • CDC/RDC Metrics Reference
    • CDC/RDC Interview Prep