Clock Tree Synthesis
Clock Tree Synthesis
CTS :
● The concept of clock tree synthesis (CTS) is the automatic insertion
of buffers/inverters along the clock paths of the ASIC design to
balance the clock delay to all clock inputs.
● After all the standard cells are placed ,the clock nets are buffered.
Clock balancing is important for meeting the design constraints and
CTS is done after placement to achieve the performance goals.
T2
Clock
● Wire length
● Capacitance and resistance of metal
● differences in input capacitance on the clock inputs
● Temperature
● Source clock noise
Zero clock skew refers to the arrival of the clock edge simultaneously at transmitting and
receiving flop.
Clock Insertion Delay :
● Clock Insertion Delay or also known as clock latency is defined as the
travelling time for a clock signal to travel its source to the sinks.
Source latency: Defined as the time taken by the clock signal in traversing from
clock source (Example: PLL, oscillator or some other source) to the clock
definition point.
Network latency: Defined as the time taken by the clock signal in traversing
from clock definition point to the sinks of the clock ( to a flop actually).
The clock tree will balance if sum of source latency and network latency for all
sinks of a clock is equal.
Clock insertion delay :
In the following diagram we can see the both types of delay in clock path.
DATA 1 DATA 2
COMB
Q1
Q2
FF1 FF2
Clock
Source
(Ex : PLL)
Clock source
Clock
Tree
Cells
Clock
Buffers
For
balancing
Registers
● Optimized netlist
● Constraint in SDC format
● Clock Tree Specification file (*.ctstch or *.ckSpec)
● Logical Timing Library in .lib format
● Physical Libraries in LEF format
● Clock Constraints and commands in TCL
Checklists :
Output of CTS:
➔ Post CTS Design with Clock tree inserted in the netlist and Design
Exchange Format(DEF).
Checklist after CTS:
➔ Setup time report
➔ Hold time report
➔ Skew report
➔ Latency report
➔ DRV (Design Rule Verification) report
➔ Max Transition
➔ Max Capacitance
➔ Max Fanout
➔ Minimum pulse width
Clock tree spec file:
After we do the placement of the cells where flops are also placed, then we
have to build a clock tree for the flops.
When we build the clock tree for the flops ,we need to tell the tools that how
the clock tree has to be build. This is a specification file. It contains
A design can contains multiple clocks. One domain is running very high speed
and one domain is running very low speed depending on different applications.
We can modify clock tree spec file to add more constraints manually.
Clock tree spec file Example:
Here we can see a clock tree specification file which is made of 2 clock. The cells are used is clock
Buffer.
The normal inverters and buffers are not used for building and balancing because, the clock buffers
provides a better slew and better drive capability when compared to normal buffers and clock
inverters provides a better balance with rise and fall times and hence maintaining the 50% duty cycle.
Clock Tree structure:
There can be several structure for clock tree
1. H-Tree
2. X-Tree
3. Binary-tree
4. Fish-bone tree
H -Tree :
Figure shows a balanced H-tree clock topology. Due to the structural symmetry, a balanced tree
exhibits identical nominal delay and identical buffer and interconnect segments from the root of the
distribution to all branches. If the matching is adhered to, structural skew can be zero. With identical
buffer and interconnect segments, an idealized balanced tree clock distribution will exhibit good
tracking across PVT compared to the unconstrained network.
MACRO
This two type Clock tree also build as considering process variations and
requirements.
fLOP
Advantage:
Disadvantage: