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

AboutRoadmapCareersInternshipsFAQContactPrivacyTerms
Skip to lesson

Course contents

  • RTL Foundations36
  • Combinational Design25
  • Sequential Design27
  • FSM & Control27
  • Timing & Clocking39
    • STA Foundations
    • Setup, Hold and Slack
    • Skew and Variation
      • Skew and Jitter in Practical STA
      • Uncertainty Modeling
      • Clock Tree and Skew Sources
      • Reading Timing Reports with Skew Context
      • OCV and AOCV Concepts
    • Timing Exceptions
    • Clock Gating
    • RTL for Timing
    • Clock Architecture
  • Reset & CDC34
  • Memory & Buses57
  • Advanced RTL28
  • Senior & Interview76
  • Glossary and Notation
Loading lesson

←Skew and Variation
  1. Topics
  2. RTL Design
  3. Timing & Clocking
  4. Skew and Variation
  5. Clock Tree and Skew Sources
On this page

    Part 5 of 9, lesson 14 of 39Part 5 of 9/Timing & Clocking/Lesson 14 of 39Intermediate

    Clock Tree and Skew Sources

    Buffered clock trees, what synthesis optimises, and the main sources of skew.

    One clock input has to reach every flop on the chip. A balanced buffer tree does this, and the clock network often takes 20 to 40 % of dynamic power, so the RTL choices that shape it matter.

    After this lesson you can: list the main sources of clock skew, say what clock tree synthesis optimises, and explain how sink count, gates and derived clocks make its job harder.

    One source, thousands of sinks

    One clock input drives every flop on the chip. A single driver cannot carry that load with a clean, even edge.

    Clock tree synthesis (CTS) builds a buffer tree instead. Every flop then sees the edge at nearly the same time with a clean slope.

    A clock tree: one source, a shared trunk buffer and three branches. The left buffer drives 40 flops, the middle one 10, and the right branch has a clock gate that adds one level. Unequal load and unequal depth give each group a different arrival time.

    Read the tree from the source down. Every flop group sees the same edge, but each branch delays it by a different amount.

    • Load: the left buffer drives 40 flops and the middle one drives 10. More load means a slower transition, so the left group sees its edge later.

    • Depth: the right branch passes through a clock gate and then a buffer, one level more than the other two branches, so its edge is later again.

    • The trunk is shared: delay above the split reaches every flop equally and adds no skew. Skew comes only from the branches below it.

    Source of skew

    Cause

    What helps

    Unequal buffer depth

    Branches with different numbers of levels

    CTS balances depth and delay

    Unequal loads

    A buffer driving 40 flops versus 10

    Cluster sinks, size buffers

    Wire RC

    Long routes have different delay

    Place related flops together; shield and route clocks first

    Clock gating cells

    The gate is an extra cell on some branches

    Balance the tree through the gates

    Different clocks derived from one source

    Dividers, muxes

    Treat as separate clocks with explicit constraints

    Variation

    Process and voltage differences along the tree

    OCV derates and margin (see below)

    Crosstalk

    Neighbouring signals couple into clock wires

    Spacing and shielding for clock nets

    What clock tree synthesis optimises

    • Skew: the spread of arrival times across all sinks (target tens of picoseconds).

    • Insertion delay: the time from the clock source to the sinks.

    • Transition time at the sinks, so flops see crisp edges.

    • Power: the clock network is often 20 to 40 % of dynamic power; fewer, smaller buffers help.

    Common mistakes

    RTL designers shape the clock tree through sink count, clock-gate placement, and clock count. A design with fifteen derived clocks is a hard clock tree problem even when every module is small.

    Prefer a main-clock enable where the interface and power budget allow it, but account for enable fanout and the still-running main clock tree. A counter-bit divider can be an intentional architecture: it requires an approved divider/distribution implementation, a generated-clock constraint with the correct source, ratio and phase, CTS support, and analysis of crossings and reset/startup behavior. Use approved clock-control resources for the target technology; see clock architecture.

    Short answer for “why does a clock tree exist?”: fan-out is too large for one driver, so a balanced buffer tree delivers edges with low skew and acceptable slope to all flops.

    Check yourself A design uses a 1/4-rate clock made by a counter bit to drive a block of 500 flops. What needs review?

    The divider output needs approved clock distribution and a divide-by-4 generated clock, including phase/startup assumptions. Time related-clock crossings and review CDC/reset behavior as appropriate; do not declare them asynchronous merely because the rates differ. A main-clock enable can simplify clock relationships but needs enable timing/fanout and power review.

    • Skew comes from unequal buffer depth, unequal loads, wire RC, gating cells, derived clocks, variation and crosstalk.

    • CTS balances skew, insertion delay and transition time, with power as a cost.

    • A design with fifteen derived clocks is a hard clock tree problem even when every module is small.

    Rule of thumb: prefer a main-clock enable to a derived clock unless the architecture needs the divider.

    • Interview: run a mock interview on this topic

    Related topics

    • Reading reports with skew

    Previous

    129 / 350

    Next: Reading Timing Reports with Skew Context

    Up next

    Up nextReading Timing Reports with Skew Context

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Skew and Jitter in Practical STA
    • OCV and AOCV Concepts