Clock Tree Synthesis via Sink Clustering and Probability Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing clock tree synthesis methods fail to produce high-quality clock trees due to their inability to efficiently optimize for multiple metrics simultaneously, often resulting in poor timing, area, and power consumption in integrated circuits.

Innovation Solution

The approach computes probability values for each clock sink to identify critical latency, clusters them based on these values, and selects optimization goals for each cluster to construct optimized subtrees that distribute the clock signal, combining them to form a high-quality clock tree while incorporating integrated clock gating to reduce power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing clock tree synthesis methods are used, then the clock tree can be constructed, but the quality is poor due to inability to optimize multiple metrics simultaneously

Engineering Contradiction:
Improveclock tree qualityVSAvoidoptimization complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the clock tree synthesis problem by dividing clock sinks into multiple clusters based on their criticality levels. Each cluster is then optimized independently with specific optimization goals (e.g., latency-critical sinks optimized for timing, power-critical sinks optimized for power consumption). This segmentation allows simultaneous optimization of multiple metrics that would otherwise conflict, directly resolving the technical contradiction between improving clock tree quality and managing optimization complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different optimization characteristics to different regions of the clock tree. Specifically, clock sinks are classified into different clusters based on their local requirements (latency-critical, power-critical, or balanced), and each cluster receives tailored optimization strategies. This local differentiation enables the clock tree to have varying optimization qualities in different regions, simultaneously improving overall reliability while managing complexity through localized optimization rules.

Inventive Principle:
Principle #3Local quality

2Reliability

If single optimization goal is used for entire clock tree, then construction is simpler, but timing, area, and power consumption cannot be optimized simultaneously

Engineering Contradiction:
Improvetiming and power performanceVSAvoidsynthesis process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces dynamics by making the optimization goal adaptive rather than static. Instead of applying a single optimization goal to the entire clock tree, the system dynamically assigns different optimization goals to different clock sink clusters based on their characteristics. Latency-critical sinks receive timing-optimized treatment, power-critical sinks receive power-optimized treatment, and other sinks receive balanced treatment. This dynamic adaptation enables simultaneous optimization of timing, area, and power consumption while maintaining manageable synthesis process complexity through systematic classification and targeted optimization.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10073944B2Clock tree synthesis based on computing critical clock latency probabilities
Publication Date: 2018.09.11 SYNOPSYS INC
  • US10073944B2 patent drawing
  • US10073944B2 patent drawing
  • US10073944B2 patent drawing

AI summary

Systems and techniques are described for context aware clock tree synthesis (CTS). A probability value can be computed for each clock sink in the set of clock sinks, wherein each probability value represents a probability that the corresponding clock sink has a critical clock latency. Next, the set of clock sinks can be clustered into a set of clock sink clusters based on the probability values. An optimization goal for each clock sink cluster can be selected, and an optimized subtree can be constructed for each clock sink cluster based on the selected optimization goal. The synthesized clock tree can be obtained by combining the optimized subtrees.