Virtual Clock Buffering for IC Timing Closure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

During the design process of integrated circuits, clock timing violations often arise after the clock tree synthesis stage, making it difficult to synchronize data path components and leading to bottlenecks in design convergence, as post-CTS optimizers are limited by pre-existing clock path constraints.

Innovation Solution

Emulating clock tree synthesis at an earlier stage in the design process allows for virtual determination of clock delays and setup violations, enabling restructuring of clock gates to optimize the clock network before actual synthesis, thereby minimizing violations and improving design convergence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If clock tree synthesis is performed after data path optimization, then data path components can be optimized for performance, but clock timing violations cannot be detected or fixed until after CTS, making it too late to resolve setup violations

Engineering Contradiction:
Improvedata path optimization efficiencyVSAvoidclock timing closure
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary clock tree synthesis before data path optimization to establish initial clock timing constraints. This allows the system to anticipate clock timing issues early in the design process, enabling data path components to be optimized with knowledge of future clock constraints, thus preventing timing violations rather than detecting them too late

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements iterative feedback loops where clock tree synthesis and data path optimization are performed in alternating passes. After each CTS pass, timing violations are analyzed and fed back to guide the next round of data path optimization, progressively improving clock timing closure while maintaining data path performance

Inventive Principle:
Principle #23Feedback

2Reliability

If post-CTS optimizers are used to fix clock gating setup violations, then some violations can be corrected, but the clock path is already committed and further modifications worsen symmetry and timing

Engineering Contradiction:
Improveclock gating setup violation correctionVSAvoidclock path symmetry
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent makes the clock path dynamic by allowing iterative modifications through multiple passes of CTS and optimization. Instead of committing to a fixed clock path early, the system repeatedly adjusts clock tree synthesis parameters and buffer placements across multiple iterations, enabling violations to be corrected without permanently fixing the clock path structure

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes key parameters of the clock path during iterative optimization, including buffer insertion points, clock gate placements, and tree synthesis constraints. By dynamically adjusting these parameters across multiple passes, the system can correct timing violations while maintaining or improving clock path symmetry

Inventive Principle:
Principle #35Parameter changes

3Productivity

If pre-CTS optimizers operate on clock gating setup violations in ideal clock mode, then some optimizations can be performed, but they cannot see actual clock delays and violations

Engineering Contradiction:
Improveearly optimization capabilityVSAvoidclock delay detection
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent introduces an intermediary estimated clock delay model that bridges ideal clock mode and propagated clock mode. This intermediary representation provides approximate clock timing information during pre-CTS optimization, allowing optimizers to make informed decisions about clock gating setup violations without having actual measured delays, while still enabling meaningful optimizations before CTS

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8095900B2Achieving clock timing closure in designing an integrated circuit
Publication Date: 2012.01.10 CADENCE DESIGN SYST INC
  • US8095900B2 patent drawing
  • US8095900B2 patent drawing
  • US8095900B2 patent drawing

AI summary

Achieving clock timing closure in designing an integrated circuit involves virtually synthesizing a clock network for the integrated circuit design to generate virtual clock buffering in the clock network before a point in the design flow at which the clock network is actually synthesized and committed to a netlist. Timing violations are determined for clock gates generated by the virtual clock buffering. Clock gating transforms are evaluated for the clock gates having the timing violations, based on recalculated clock and data path delays, to incrementally virtually synthesize the clock network. The clock gating transforms that result in the best timing gains are committed to the netlist. The clock network is then actually synthesized for the integrated circuit design, and design changes, due to the actual clock network synthesis, are committed to the netlist.