Clock Tree Delay Validation Using Buffer Estimation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current CAD flows for integrated circuits face challenges in reducing excess pessimism in timing validation, particularly due to the exhaustive nature of path-based analysis, which is computationally slow and often performed after clock tree synthesis, leading to over-design and longer design cycles.

Innovation Solution

A computer-implemented method and system that estimates the number of buffers in a clock tree path using a logarithmic function and selects scaling coefficients to scale delays, generating a new set of buffers before clock tree synthesis, thereby reducing timing pessimism by performing advanced on-chip variation analysis prior to synthesis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If path-based analysis (PBA) is used for timing validation, then timing accuracy is improved, but computational speed deteriorates due to exhaustive analysis of each circuit path

Engineering Contradiction:
Improvetiming accuracyVSAvoidcomputational speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the timing analysis process into two distinct phases: (1) buffer estimation and delay scaling performed before clock tree synthesis using simplified models, and (2) detailed path-based analysis performed after CTS on the synthesized clock tree. This segmentation allows the computationally intensive PBA to be focused only on the final synthesized design rather than being applied exhaustively to all intermediate design states, thereby improving computational speed while maintaining timing accuracy where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary buffer estimation and delay scaling analysis before clock tree synthesis to predict timing characteristics and guide the CTS process. By performing this preliminary action, the system can optimize buffer placement and sizing during synthesis based on pre-calculated delay models, reducing the need for multiple iterative PBA passes and thereby improving overall computational efficiency while maintaining timing accuracy.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If AOCV analysis is performed after clock tree synthesis (CTS), then timing validation is more accurate, but excess pessimism increases leading to over-design

Engineering Contradiction:
Improvetiming validation accuracyVSAvoidtiming pessimism
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent performs AOCV analysis before clock tree synthesis to establish initial timing constraints and buffer requirements. By performing this preliminary action, the system can incorporate timing validation insights into the CTS process itself, allowing buffers to be placed and sized to meet timing requirements without adding excessive margin. This preliminary AOCV analysis reduces excess pessimism by providing accurate timing guidance before the clock tree structure is finalized.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback loop where AOCV analysis results from pre-CTS timing validation are fed back into the clock tree synthesis process to optimize buffer placement and sizing. This feedback mechanism allows the system to adjust timing constraints and buffer configurations based on actual AOCV measurements, reducing excess pessimism by ensuring that timing margins are based on real variation data rather than conservative estimates. The feedback loop continues through post-CTS AOCV analysis to verify timing closure.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If design changes are made after clock tree synthesis, then timing validation is more accurate, but design cycle time increases due to later optimization opportunities

Engineering Contradiction:
Improvetiming validation accuracyVSAvoiddesign cycle time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary buffer estimation, delay scaling, and AOCV analysis before clock tree synthesis to establish timing constraints and optimization targets. By performing these actions preliminarily, the system can guide the CTS process to create an optimized clock tree structure from the outset, reducing the need for iterative design changes after synthesis. This preliminary optimization maintains timing validation accuracy while significantly reducing design cycle time by locking in optimal buffer placements before the design freezes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the design optimization process into pre-CTS and post-CTS phases, with each phase having specific optimization objectives. The pre-CTS phase focuses on buffer estimation and delay scaling to guide synthesis, while the post-CTS phase performs detailed timing validation and fine-tuning. This segmentation allows major optimization decisions to be made early when design changes are still flexible, reducing the need for time-consuming iterative changes later in the design cycle while maintaining accurate timing validation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10387606B2Validating a clock tree delay
Publication Date: 2019.08.20 SYNOPSYS INC
  • US10387606B2 patent drawing
  • US10387606B2 patent drawing
  • US10387606B2 patent drawing

AI summary

A computer implemented method for validating a clock tree includes estimating a first number of a multitude of first buffers disposed in the clock tree path, and selecting a first scaling coefficient in accordance with the first number. The computer implemented method further includes scaling a first delay associated with the multitude of first buffers in accordance with the selected first scaling coefficient, and generating a second multitude of second buffers disposed in the clock tree path defined by a second number greater than the first number.