packages/chip/docs/pd/cts-strategy.md
This document records the clock-tree synthesis strategy at the open PDK
stage (Sky130 + IHP SG13G2) and at the 2028 advanced-node target. It is the
human-readable companion to docs/evidence/pd/cts-evidence.yaml.
clock_tree_synthesis (TritonCTS).pd/cts/cts_strategy.tcl.clkbuf_4, clkbuf_8, clkbuf_16 from
sky130_fd_sc_hd. Root buffer clkbuf_16.Acceptance evidence: cts_summary.rpt under final/reports/ of every
release run, showing skew within tolerance and zero max-slew violations on
the clock net at the slow corner.
This is enough at 130 nm. It is not enough at the 2028 target node.
| Concern | TritonCTS (today) | Required at N3/N2 |
|---|---|---|
| Top-level distribution | H-tree | low-skew mesh with leaf H-tree |
| Concurrent CT-data optimization | none | CCOpt or equivalent |
| Useful-skew scheduling | static | placer-coupled, per-flop |
| OCV/POCV-aware sizing | uniform | per-stage with LVF Liberty |
| Multi-domain handling | single root | crossing-aware, drift-bounded |
The commercial-EDA gate (docs/evidence/pd/commercial-eda-gate.yaml)
captures the missing tool stack: Innovus or Fusion Compiler for CTS, Tempus
or PrimeTime for signoff, Voltus or RedHawk-SC for power-aware CTS.
Even though TritonCTS does not solve the advanced-node problem, we exercise it now because:
For Stage 1 (MVP, open PDK):
cts_summary.rpt is captured for every release run.CTS_TOLERANCE.For Stage 3 (advanced node):