What is clock skew? What causes skew? How to balance skew?

o Clock Skew: The difference in arrival time of the clock at capture FF and launch FF.

Local Skew: Skew between two specific, related flops (e.g., launch and capture flop of a timing path).

Global Skew: The difference between the maximum and minimum clock latency across all sinks in a domain.

Causes of Skew:

Different Path Lengths: The physical distance (wire length) from the clock root to different sinks varies due to their placement locations.

Different Path Delays: Even with equal lengths, paths can have different RC delays due to different routing layers, widths, or nearby coupling nets.

Buffer/Inverter Variations: Differences in buffer/inverter delays due to placement, drive strength variations, VT variations, or different loading conditions (fanout).

Uneven Loading: Branches of the clock tree driving significantly different capacitive loads can experience different delays.

On-Chip Variation (OCV): Process, voltage, and temperature variations across the die cause cells and wires in different paths to have slightly different delays.

Useful skew option used to help setup violations.

Resolving/Balancing Skew (CTS Process):

Buffer/Inverter Insertion & Sizing: The core CTS technique. The tool strategically inserts buffers/inverters and selects their drive strengths to equalize the delay down different branches of the tree. Delay might be added to faster paths to match slower paths.

Balanced Tree Topology: Algorithms aim to build a topologically balanced tree where branches have similar depths and loads.

Wire Length/Layer Adjustment: The tool tries to route clock nets to minimize length differences or uses specific layers where possible, although options are often limited by placement.

Dummy Load Insertion: Intentionally adding small capacitive loads (dummy cells) to faster paths to slow them down and match slower paths (less common now, buffer insertion is preferred).

Useful Skew (Post-CTS/Optimization): Intentionally introducing a controlled amount of skew to specific paths to help fix setup or hold violations

Share:
‹ Where should clock gaters be placed (near sink or source)?
Home
What is clock latency? How to reduce latency? ›