Aggregate Slack Analysis for Circuit Timing Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing complexity and size of integrated circuit (IC) designs make it difficult to convert high-level circuit descriptions into implementations that meet timing constraints while optimizing for area and leakage power, as conventional optimization methods struggle to effectively address timing violations and improve timing slack.

Innovation Solution

The approach computes aggregate slacks for chains of logic paths and guides circuit optimization by prioritizing paths based on shared negative slacks, introducing useful clock skew to resolve timing violations before clock tree synthesis, and terminating optimization when all aggregate slacks are non-negative, allowing clock tree synthesis to handle remaining violations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional optimization methods are used to address timing violations, then timing constraints may be met, but the optimization process becomes inefficient and fails to effectively improve timing slack

Engineering Contradiction:
Improvetiming constraint satisfactionVSAvoidoptimization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the circuit design into multiple chains of logic paths, each with its own aggregate slack value. By dividing the optimization problem into manageable segments (individual chains) rather than treating the entire circuit as one monolithic problem, the method enables targeted optimization efforts on specific timing-critical paths while ignoring non-critical paths, thereby improving optimization efficiency without sacrificing timing constraint satisfaction

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by computing and using aggregate slack values for each chain of logic paths to guide optimization efforts. Instead of applying uniform optimization across the entire circuit, the method concentrates optimization resources on chains with negative aggregate slack (timing violations) while leaving chains with non-negative aggregate slack untouched. This localized approach improves timing slack where needed without wasting computational effort on already-satisfied paths

Inventive Principle:
Principle #3Local quality

2Reliability

If extensive pre-clock tree synthesis optimization is performed to resolve all timing violations, then timing slack improves, but the complexity and time of the design process increases

Engineering Contradiction:
Improvetiming slackVSAvoiddesign process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies partial action by performing optimization only on chains with negative aggregate slack rather than attempting to optimize all possible paths. The method recognizes that chains with non-negative aggregate slack do not require optimization and can be safely ignored. This partial optimization approach improves timing slack for critical paths while avoiding the unnecessary complexity and time associated with optimizing non-critical paths

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent performs preliminary computation of aggregate slack values for all chains before the actual optimization process. This preliminary analysis identifies which chains require optimization and which do not, allowing the subsequent optimization phase to focus only on necessary paths. This preliminary sorting action reduces overall design process complexity by avoiding unnecessary optimization steps

Inventive Principle:
Principle #10Preliminary action

3Reliability

If all timing violations are attempted to be resolved before clock tree synthesis, then timing constraints are met, but the optimization process becomes unnecessarily complex and time-consuming

Engineering Contradiction:
Improvetiming constraint satisfactionVSAvoidoptimization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by resolving only the timing violations that are identifiable through aggregate slack analysis before clock tree synthesis, rather than attempting to resolve all possible timing violations. Chains with negative aggregate slack are targeted for optimization, while chains with non-negative aggregate slack are left for later handling by clock tree synthesis. This approach satisfies timing constraints for critical paths without wasting time on paths that will be handled by subsequent processes

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9292641B2Timing bottleneck analysis across pipelines to guide optimization with useful skew
Publication Date: 2016.03.22 SYNOPSYS INC
  • US9292641B2 patent drawing
  • US9292641B2 patent drawing
  • US9292641B2 patent drawing

AI summary

Techniques and systems for guiding circuit optimization are described. Some embodiments compute a set of aggregate slacks for a set of chains of logic paths in a circuit design. Each chain of logic paths starts from a primary input or a sequential circuit element that only launches a signal but does not capture a signal and ends at a primary output or a sequential circuit element that only captures a signal but does not launch a signal. Next, the embodiments guide circuit optimization of the circuit design based on the set of aggregate slacks.