Callback Constraint Processing for IC Timing Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional methods for timing analysis in integrated circuit design face inefficiencies due to order dependency issues when loading and executing macros, leading to errors in timing analysis, especially when design changes affect clock distribution networks.

Innovation Solution

Implementing callback-based constraint processing, where timing abstracts are loaded but not immediately processed, and constraints are tagged as callbacks, allowing for selective re-application based on design changes that affect clock domains, ensuring clock domain independence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If timing constraints are processed immediately when loading timing abstracts, then processing order matters and errors occur, but processing efficiency is reduced due to re-computation requirements

Engineering Contradiction:
Improvetiming analysis accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by deferring constraint processing until all timing abstracts are loaded. Constraints are registered in advance but not executed until the timing graph is complete, preventing order dependency errors while avoiding redundant re-computations. This resolves the contradiction by preparing the processing framework early but delaying actual constraint application until the optimal moment when all data is available.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by making the constraint processing timing flexible rather than fixed. Constraints are processed dynamically based on when they are most useful - after all relevant timing abstracts are loaded but before final timing analysis. This dynamic approach eliminates the need for strict processing order while maintaining efficiency by processing each constraint at the appropriate moment in the design hierarchy.

Inventive Principle:
Principle #15Dynamics

2Reliability

If all timing constraints are re-processed after design changes, then clock domain independence is maintained, but computational overhead increases

Engineering Contradiction:
Improveclock domain independenceVSAvoidre-computation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies segmentation by dividing constraint processing into separate callback functions associated with specific timing abstracts. When a design change occurs, only the affected callback segments are re-executed rather than all constraints. This segmentation maintains clock domain independence by ensuring proper constraint application while reducing re-computation time by limiting processing to only the necessary portions of the timing graph.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by applying constraints selectively based on their specific timing context and clock domain. Each callback processes only the constraints relevant to its associated timing abstract and clock domain, rather than globally re-processing all constraints. This localized approach preserves clock domain independence through proper constraint application while minimizing computational overhead by processing only locally affected constraints.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If timing analysis is performed at every hierarchical level, then comprehensive timing verification is achieved, but processing complexity increases

Engineering Contradiction:
Improvetiming verification completenessVSAvoidprocessing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies the nested doll principle by implementing hierarchical constraint processing where timing abstracts are loaded and constraints are registered at multiple hierarchical levels (macro, unit, core). Constraints are processed in a nested manner from lower to higher levels, with each level's constraints being handled by appropriate callback functions. This nested approach achieves comprehensive timing verification across all hierarchical levels while managing processing complexity through structured organization and selective constraint application at each level.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS9977850B2Callback based constraint processing for clock domain independence
Publication Date: 2018.05.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9977850B2 patent drawing
  • US9977850B2 patent drawing
  • US9977850B2 patent drawing

AI summary

A method, system and computer program product perform timing analysis of an integrated circuit design with callback-based constraint processing for clock domain independence. A timing graph representation of the integrated circuit design includes nodes interconnected by edges. Loading timing abstracts representing the nodes of the timing graph precedes obtaining a timing result based on propagating timing values and associated timing tags from an input to an output of the integrated circuit design and processing timing constraints at one or more of the nodes as callbacks. Each timing tag indicates a clock domain. After applying a design change, one or more modified timing tags that are added or changed as a result of the design change are determined. The timing constraints associated with the modified timing tags are processed as callbacks, and the timing result are re-computed.