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
    • STA Foundations
    • Setup, Hold and Slack
    • Skew and Variation
    • Timing Exceptions
    • Clock Gating
    • RTL for Timing
    • Clock Architecture
      • Clock-Domain Plan
      • Glitch-Free Clock Mux
      • Generated and Virtual Clocks
      • PLL Lock and Reset Coordination
      • Source-Synchronous Interfaces
      • DVFS Transition Protocol
      • Clock Constraint Examples
  • Reset & CDC34
  • Memory & Buses57
  • Advanced RTL28
  • Senior & Interview76
  • Glossary and Notation
Loading lesson

‹Timing & Clocking
  1. Topics
  2. RTL Design
  3. Timing & Clocking
  4. Clock Architecture

Part 5 · Timing & Clocking · Intermediate

Clock Architecture

Clock ownership, glitch-free switching, generated and virtual clocks, PLL/reset coordination, source-synchronous timing, and DVFS transitions.

  • 7topics
  • 7lessons

Topics in this section

  1. 1Clock-Domain Plan1 lesson
  2. 2Glitch-Free Clock Mux1 lesson
  3. 3Generated and Virtual Clocks1 lesson
  4. 4PLL Lock and Reset Coordination1 lesson
  5. 5Source-Synchronous Interfaces1 lesson
  6. 6DVFS Transition Protocol1 lesson
  7. 7Clock Constraint Examples1 lesson
On this page

    Clock architecture is a functional design contract before it becomes a CTS problem. RTL owners define sources, muxing, gating, switching sequences, domain relationships, reset release, and the constraints needed to analyze every legal mode.

    One worked clock tree connects the lessons: a 100 MHz reference feeds a 400 MHz PLL, a glitch-free mux selects PLL or 25 MHz debug clock, an integrated gate drives the core, and a divide-by-four output clocks a peripheral. A forwarded strobe handles external data, while the core can enter a lower-voltage mode.

    Worked clock tree: a 100 MHz reference feeds a 400 MHz PLL; the PLL and a 25 MHz debug clock feed a glitch-free mux; the mux output passes an ICG into the 400 MHz core; a divide-by-four makes the 100 MHz peripheral clock; data captured on the forwarded strobe rx_strobe_i reaches the core through an async FIFO.
    The worked clock tree used in every lesson of this topic

    Read the tree from the top: every box is a source or a transformation that needs both functional control and a timing constraint.

    • Two unrelated sources (the 100 MHz reference and the 25 MHz debug clock) meet only at the glitch-free mux.

    • The ICG makes no new clock; the divide-by-four does, and needs a generated-clock constraint.

    • The strobe-captured data never shares a clock with the core: it crosses through an async FIFO.

    Lessons in this topic

    7 lessons, about 25 min

    1. 1Clock-Domain PlanYou can build a clock inventory with source, modes, relationship, controls, consumers, reset and constraint owner for every clock.2 min
    2. 2Glitch-Free Clock MuxYou can explain why a combinational clock mux fails, state the requirements for a safe switch, and describe the request, acknowledge and timeout protocol around the mux cell.6 min
    3. 3Generated and Virtual ClocksYou can choose between a primary, generated, virtual and forwarded clock, and say what each tells STA about edges.3 min
    4. 4PLL Lock and Reset CoordinationYou can sequence clock validity and reset release, qualify PLL lock with a counter, and say what must happen when lock is lost.2 min
    5. 5Source-Synchronous InterfacesYou can build a setup and hold budget for a source-synchronous receive, and say where the capture domain ends and the transfer into the core begins.4 min
    6. 6DVFS Transition ProtocolYou can order a DVFS transition safely, list the failure cases with their containment, and explain why every legal state needs its own timing view.3 min
    7. 7Clock Constraint ExamplesYou can write the SDC for primary, generated, muxed, virtual and forwarded-strobe clocks, and list the reports that prove the clocks and endpoints are covered.5 min

    Tip

    Review clock architecture as a sequence with named ownership: request, quiescence, clean switching, reset response, constraints, and resume.

    Check yourself Why is a clock mux select not an ordinary functional mux select?

    Changing it while either clock is high can truncate a pulse or create an extra edge. Clock switching needs a dedicated glitch-free cell and protocol.

    Revision sheet

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

    Clock-Domain Plan

    • For every clock record source, frequency and modes, relationship, controls, consumers, reset and the owner of its constraints.

    • The relationship (synchronous, mesochronous, asynchronous or exclusive) drives both CDC analysis and clock-group constraints.

    • Each transformation, such as a divider, mux or gate, needs a functional control and a timing constraint.

    Rule of thumb: the source generates the waveform; the owner defines its legal modes, controls, constraints and reset behaviour.

    Glitch-Free Clock Mux

    • A glitch-free mux uses mutually exclusive, low-phase source enables and a stable select.

    • The controller drains the domain, requests the switch, waits for an acknowledgement that the new source is active, then resumes.

    • Use separate bounded timers. A timeout keeps work blocked and the domain isolated or in reset; it does not make a stopped-high clock safe.

    Rule of thumb: never mux clocks as ordinary data, and never trust a clean zero-delay waveform as proof.

    Generated and Virtual Clocks

    • A generated clock keeps the phase and frequency relationship to its master. A divider needs one.

    • Clocks propagate through ICGs and muxes, so a gated clock needs no definition of its own.

    • A virtual clock models the external device for input and output delays with no design pin.

    Rule of thumb: every RTL clock divider needs a generated-clock constraint as well as a functional review.

    PLL Lock and Reset Coordination

    • Synchronise lock, require it stable for a documented interval, then release reset synchronously in each destination domain.

    • Immediate containment on clock loss belongs to a clock-fault and reset controller, with outputs isolated and traffic masked.

    • After lock is lost, reacquisition is qualified again and resume follows a controlled sequence.

    Rule of thumb: do not use raw pll_lock as reset deassertion.

    Source-Synchronous Interfaces

    • Keep the high-speed capture in the IO or forwarded-clock domain, then cross into the core with a FIFO or handshake.

    • The budget needs earliest and latest data arrival and the setup and hold capture edges. One nominal waveform is not a constraint.

    • DDR needs separate rising and falling budgets, and deskew changes the edge relationship.

    Rule of thumb: the forwarded strobe closes pin-to-IO timing only; the crossing into the core needs CDC analysis.

    DVFS Transition Protocol

    • Raise voltage before frequency, and lower frequency before voltage.

    • Block new work, drain, switch the clock through approved hardware, wait for lock, select the matching timing mode, then resume.

    • Handle a quiesce timeout, no lock, a missing voltage acknowledgement, clock loss and an active CDC peer with a stated containment.

    Rule of thumb: never increase frequency until the voltage acknowledgement has arrived.

    Clock Constraint Examples

    • A generated clock at the PLL, then core and peripheral alternatives through the mux. Report both peripheral clocks with their periods and masters.

    • Supply both -max and -min input delays: max feeds setup and min feeds hold.

    • Audit unconstrained endpoints, check every legal mode independently, and review clock groups against CDC results.

    Rule of thumb: show the SDC relationship for each clock, then close with coverage reports that prove the endpoints are constrained.

    Practise it

    • Mini project: close timing on an 8-tap FIR filter

    • Code lab: SDC clock groups

    • Code lab: Clock mux model

    • Interview: run a mock interview on this topic

    PreviousNext: Clock-Domain Plan

    Up next

    Up nextClock-Domain Plan

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • STA Foundations
    • Setup, Hold and Slack
    • Skew and Variation