Clock Tree Synthesis

advertisement
Clock Network Synthesis
Prof. Shiyan Hu
shiyan@mtu.edu
Office: EREC 731
3/22/2016
1
Outline
•
•
•
•
•
Introduction
H-tree
Zero skew clock
DME and its extension
New trends
3/22/2016
2
Introduction
• For synchronized designs, data transfer between
functional elements are synchronized by clock signals
• Clock signal are generated externally (e.g., by PLL)
• Clock period equation
clock period  td  tskew  tsu
td:
Longest path through combinational logic
tskew: Clock skew
tsu: Setup time of the synchronizing elements
3/22/2016
3
Clock Skew
• Clock skew is the maximum difference in the arrival
time of a clock signal at two different components.
• Clock skew forces designers to use a large time period
between clock pulses. This makes the system slower.
• So, in addition to other objectives, clock skew should
be minimized during clock routing.
3/22/2016
4
Clock Design Problem
• What are the main concerns for clock design?
• Skew
– No. 1 concern for clock networks
– For increased clock frequency, skew may contribute over 10% of
the system cycle time
• Power
– very important, as clock is a major power consumer
– It switches at every clock cycle
• Noise
– Clock is often a very strong aggressor
– May need shielding
• Delay
– Not really important
– But slew rate is important (sharp transition)
3/22/2016
5
The Clock Routing Problem
• Given a source and n sinks.
• Connect all sinks to the source by an interconnect
tree so as to minimize:
–
–
–
–
Clock Skew = maxi,j |ti - tj|
Delay = maxi ti
Total wirelength
Noise and coupling effect
3/22/2016
6
Clock Design Considerations
• Clock signal is global in nature, so clock nets are
usually very long.
– Significant interconnect capacitance and resistance
• So what are the techniques?
– Routing
• Clock tree versus clock clock mesh (grid)
• Balance skew and total wire length
– Buffer insertion
• Clock buffers to reduce clock skew, delay, and distortion in
waveform.
– Wire sizing
• To further tune the clock tree/mesh
3/22/2016
7
Clock trees
• A path from the clock source to clock sinks
Clock Source
FF
FF
FF
FF
FF
FF
3/22/2016
FF
FF
FF
FF
8
Clock trees
• A path from the clock source to clock sinks
Clock Source
FF
FF
FF
FF
FF
FF
3/22/2016
FF
FF
FF
FF
9
H-tree Algorithm
• Minimize skew by making interconnections to subunits
equal in length
– Regular pattern
• Can be used when terminals are evenly distributed
–
–
–
–
However, this is never the case in practice
So strict (pure) H-trees are rarely used
However, still popular for top-level clock network design
Cons: too costly is used everywhere
3/22/2016
10
3/22/2016
11
A Zero Skew Algorithm
• Use Elmore delay model to compute delay
• Try to minimize wire length, but not done very well
– Lots of follow up works to minimize total wire length while
maintaining zero skew
– DME and its extensions
3/22/2016
12
An Exact Zero Skew Algorithm [Tsay’93]
3/22/2016
13
A Zero Skew Algorithm [Tsay’91]
• This paper built the foundation for zero skew
• Its principal can also be used to do prescribed skew
(just solve a slightly different delay equation with nonzero skew)
• However, its merging is kind of simple
• May have too much total wire length
3/22/2016
14
Deferred Merge Embedding
• As its name implies, DME defers the merging as late
as possible, to make sure minimal wire length cost for
merging
• Independently proposed by several groups
– Edahiro, NEC Res Dev, 1991
– Chao et al, DAC’92
– Boese and Kahng, ASIC’92
• DME needs an abstract routing topology as the input
• It has a bottom-up phase followed by a top-down
process
3/22/2016
15
Bottom Up Phase
• Each node v has a merging segment ms(v).
• A merging segment is a Manhattan arc
• Manhattan arc: has slope +/- 1 or has zero length
(could be a point).
• tiled rectangular region (TRR): The collection of
points within a fixed distance from a Manhattan arc.
• The intersection of two TRR’s is a TRR
• Merging segments are always Manhattan arcs
3/22/2016
16
3/22/2016
17
3/22/2016
18
DME Wrapup
[Boese and Kahng, ASIC’92]
• DME is guaranteed to find the minimum wire length
with zero skew under the linear delay model
• Need to have an abstract routing graph to start with
3/22/2016
19
Modification: Bounded Skew
• Instead of choosing merging segments as in DME,
choose merging region of v, mr(v)
• Maintains skew bound
• Use boundary merging and embedding which
considers merging points lying on the nearest
boundary segments of mr(a) and mr(b)
3/22/2016
20
Topology Generation
• One common approach
– Balanced and geometry guided
– Top down-partitioning that recursively divide the set of sinks,
using alternating horizontal and vertical cuts
– The balance bipartition heuristic generates a topology that
recursively divides the set of sinks into two subsets with equal
total loading capacitance
• Balanced tree versus unbalanced tree?
• Geometric versus capacitive load?
– [Chaturvedi and Hu, ICCD’03] has good survey of recent
works
– Abstract topology not just geometric, but also capacitive load,
with prescribed skew
3/22/2016
21
Trend
• Clock skew scheduling together with clock tree
synthesis
– Schedule the timing slack of a circuit to the individual
registers for optimal performance and as a second
criteria to increase the robustness of the
implementation w.r.t. process variation.
– How to analyze it?
– The task is to investigate a combined optimization for
clock skew scheduling and clock tree synthesis such
that any unintentional clock skew is maximally
compensated by a corresponding slack at the
registers.
3/22/2016
c
c
• Variability is a major concern
• Non-tree clock, mixed mesh/tree?
c
c
c
(P. Restle)
22
Download