Professional Documents
Culture Documents
Clock Tree Synthesis (CTS)
Clock Tree Synthesis (CTS)
Pei-Hsin Ho
Implementation Group
Synopsys, Inc.
Outline
i j
i j
i j
1 1 1.1 1.1
1 1.2
1 1.1
1 1.2
1 1 1.2
1.1
3 3.3
i j
i1
i3
i4
• Clock gating
Conventional
Sequential
Physical clock gating
• Register clumping
• Register banking
43%
Multi-Voltage Design
Multi-Threshold 42%
Design
2007
State 18%
2006
Retention/MTCMOS
ICG D Q
ICG Q en
en D
gclk en clk gclk
clk
clk Low
High
activity activity
m1 flop
i1 clock gate
m2
macro
r3
r2 buffer
r1
r4
r6
i4
r5
s1
m1 flop
i1 clock gate
m2
macro
r3
r2 buffer
r1
r4
r6
i4
r5
s1 flop
i1 clock gate
macro
r3
r2 buffer
r1
r4
r6
i4
r5
i2
s1 flop
i1 i1 clock gate
macro
buffer
i4
a
Split 3
a a
1 2
Merge
a
Split 3
a a
1 2
Factor
c
3
Removal
a&c b&c a b
1 2 1 2
Factor
c
3
Removal
a&c b&c a b
1 2 1 2
• Clock meshes
• OCV-aware clustering
Clock Meshes
• Good skew under variation
Tree above the mesh
Trees below the mesh to drive
the flops
• Bad for power
(~+30% clock power)
More wires
Can only gate the small clock trees below the mesh
• Few SNPS customers mass-produce IC products with
clock meshes
• Insight from clock mesh?
Regularity good for variation
© 2009 Synopsys, Inc. (24)
Dummy ICG Insertion
• Insert dummy ICGs to balance topology
i2
flop
i1 i1 clock gate
macro
buffer
i3
i4
i2
flop
i1 i1 clock gate
i j macro
buffer
i3
i j
i4
i2
flop
i1 i1 clock gate
macro
buffer
i3
i4
i2
flop
i1 i1 clock gate
macro
buffer
i3
i4
i1 i1 clock gate
i1
macro
buffer
i3
i4
• Clock routing
• Useful skews
• Inter-clock delay balancing
• CTS for SoCs
• Multi-voltage-domain and multi-mode CTS
i2
flop
i1 clock gate
i1
macro
buffer
i3
i4
m1 flop
i1 clock gate
m2
macro
r3
r2 buffer
r1
r4
r6
i4
r5
flop
i1 clock gate
i1
macro
buffer
i3
i4
i j
i j
• SoC
Large number of IPs with
known clock latencies
• Hard to balance skews Routing Clock source Placement
blockages blockage
Large number of placement
and/or routing blockages
• Hard to balance topology
Multiple voltage domains and
multiple operation modes
• Multiple clocks
Macro clock pins
• Complex requirements
© 2009 Synopsys, Inc. (37)
Multiple Voltage Domains and
Multiple Modes
• Clock shared by multiple voltage
domains
No timing path in between insert
isolation cells near the top of the
clock tree to save power Routing Clock source Placement
blockages blockage
• Clock going through a voltage
domain that may be turned off in
an operation mode
Clock buffers powered by always-
on power rail
• Implication in power rail synthesis
+ * &
+ * &
+ * &