Clock Tree Synthesis (CTS) is a key process in chip design. It connects the clock from the clock port to the clock pins of sequential cells. The goal is to minimize delays and balance the skew, which is the difference in arrival times of the clock signal at various points. To achieve this, designers use clock inverters and buffers. Don’t worry if some terms seem complex; we’ll explain everything by the end of this article.
Why Are Clock Nets Special?
Clock nets are crucial because they distribute the clock signal across the chip. They usually have high fanout, meaning they connect to many points. However, they are treated differently in design. During High Fanout Net Synthesis (HFNS), clock nets must not be modified with routing to prevent issues.
Clock nets consume 30% to 40% of a chip’s power. They are also sensitive to electromagnetic (EM) effects, so routing them requires special attention, including building a clock tree. In addition, inserting clock gating cells helps control dynamic power usage. Depending on the design’s complexity and clock frequency, building a clock tree can be straightforward or challenging. Regardless, a clock tree is essential for every design.
Types of Clock Tree Structures
Different structures help in building clock trees while minimizing insertion delays and balancing skew. Some common structures include:
Inputs for Clock Tree Synthesis
To perform Clock Tree Synthesis, several inputs are required:
Checklist Before Starting Clock Tree Synthesis
Goals of Clock Tree Synthesis
The main goals of CTS are:
Understanding Key Concepts of Clock Tree Synthesis
Clock Latency
Latency refers to the time it takes for the clock signal to travel from the source to the sequential element’s clock pin. It includes two components:
- Source Latency: The time from the clock source to the clock definition point.
- Network Latency: The time from the clock definition point to the clock pin.
This delay arises from the capacitance and resistance in the nets.
Insertion Delay
Insertion delay is the time taken by the clock to reach the sequential element’s clock pin. It is primarily due to the added delays from clock buffers or inverters. After CTS, latency is often termed insertion delay.
Skew
Skew is the difference in arrival times of the clock at different points. In low-frequency designs, skew might not be a big issue. However, in high-frequency designs, even a slight difference can cause significant problems, affecting setup and hold times.
Types of Skew
- Positive Skew: Occurs when the capture clock path delay is longer than the launch clock path delay. This can improve setup time but degrade hold time.
- Negative Skew: Happens when the capture path is shorter than the launch path, improving hold time but degrading setup time.
Types of Skew Based on Paths
- Local Skew: Difference in arrival times between flip-flops that communicate.
- Global Skew: Difference between the maximum and minimum insertion delays across the design.
Useful Skew
Sometimes, designers intentionally create skew to resolve timing violations by adding or removing buffers. This is known as useful skew. However, it is crucial to ensure that changes in one path do not negatively impact timing in another.
Clock Jitter
Clock jitter refers to the variation in clock edge arrivals compared to an ideal clock. This variation can arise from noise and interference. Jitter affects timing, and there are two main types:
- Deterministic Jitter: Caused by predictable factors like crosstalk.
- Random Jitter: Arises from unpredictable factors like thermal effects.
NDR (Non-Default Routing) Rules
Certain nets, especially clock nets, need special routing rules to minimize issues like crosstalk and EM effects. NDR rules may include specific widths and spacings to ensure reliability. Examples include:
- 2s2w: Double spacing and width.
- 3s3w: Triple spacing and width.
Steps in Clock Tree Synthesis
CTS generally involves four main steps:
Clock Tree Synthesis Exceptions
Some cells or paths might need adjustments for optimization. Key exceptions include:
Clock Tree Optimization Techniques
To optimize the clock tree, designers use various techniques:
Outputs of Clock Tree Synthesis
After completing CTS, the outputs include:
- Updated netlist
- CTS DEF file
- Timing reports (setup and hold)
- Skew and latency reports
Final Checks After Clock Tree Synthesis
It is essential to perform checks for:
- Insertion delay compliance
- Skew compliance
- Routing congestion
- Placement legality
- Signal integrity and crosstalk
- Clock duty cycle
- Power consumption of the clock tree
Conclusion
Clock Tree Synthesis is a vital part of chip design, ensuring that the clock signal reaches all necessary components with minimal delays and skew. By understanding the concepts and following the structured approach outlined above, designers can effectively create reliable and efficient clock trees

