Clock Tree Synthesis
Clock Tree Synthesis
vlsijunction.com/2015/08/cts.html
Checks
Is
Skew is minimum and Insertion delay balanced.
Is
Timing {Especially Hold} met, if not why?
If
there are timing violations are all the constraints constrained
properly.{like not
defining false
paths,
asynchronous paths, multicycle paths}.
Is
std Cell Utilization acceptable at this stage
Check
for Global Route Congestion
Check
for Placement Legality.
The goal of clock tree synthesis (CTS) is to minimize skew and insertion delay. Clock is
not propagated before CTS as shown in the picture. After CTS hold slack should improve.
Clock tree begins at .sdc defined clock source and ends at stop pins of flop. There are two
types of stop pins known as ignore pins and sync pins. ‘Don’t touch’ circuits and pins in
front end (logic synthesis) are treated as ‘ignore’ circuits or pins at back end (physical
synthesis). ‘Ignore’ pins are ignored for timing analysis. If clock is divided then separate
skew analysis is necessary.
Global skew achieves zero skew between two synchronous pins without considering
logic relationship.
Local skew achieves zero skew between two synchronous pins while considering
logic relationship.
If clock is skewed intentionally to improve setup slack then it is known as useful
skew.
1/2
Rigidity is the term coined in Astro to indicate the relaxation of constraints. Higher the
rigidity tighter is the constraints.
In clock tree optimization (CTO) clock can be shielded so that noise is not coupled to
other signals. But shielding increases area by 12 to 15%. Since the clock signal is global in
nature the same metal layer used for power routing is used for clock also. CTO is achieved
by buffer sizing, gate sizing, buffer relocation, level adjustment and HFN synthesis. We try
to improve setup slack in pre-placement, in placement and post placement optimization
before CTS stages while neglecting hold slack. In post placement optimization after CTS
hold slack is improved. As a result of CTS lot of buffers are added. Generally for 100k
gates around 650 buffers are added
2/2