Static Timing Analysis Tag-Based Parallel Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current static timing analysis (STA) methods are inefficient due to sequential execution of commands, leading to underutilization of CPUs and prolonged runtime in generating timing reports, especially when dealing with large numbers of reporting commands.

Innovation Solution

The implementation of a Parallel Command Infrastructure (PCI) and Parallel Report Timing (PRT) approach, which uses tags to parallelize reporting commands at the global script level, optimizing script generation and CPU utilization by launching commands in parallel threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential execution of commands is used in static timing analysis, then script simplicity is maintained, but CPU utilization is underutilized and runtime is prolonged

Engineering Contradiction:
Improvetiming report generation speedVSAvoidscript execution complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the sequential command execution into multiple parallel threads. Each thread independently executes reporting commands that have been tagged for parallelization, allowing simultaneous processing of multiple timing analysis tasks without increasing overall script complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically transitions from sequential to parallel execution based on the presence of parallelization tags. The script execution model adapts its behavior - remaining sequential by default for simplicity, but automatically switching to parallel mode when tagged commands are detected, thus resolving the contradiction between simplicity and productivity.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If parallel threads are launched for reporting commands, then CPU utilization is maximized and runtime is reduced, but script complexity increases

Engineering Contradiction:
Improvetiming analysis runtimeVSAvoidparallel execution infrastructure
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent introduces parallelization tags as intermediaries between the simple sequential script and the complex parallel execution infrastructure. These tags act as markers that trigger parallel thread launch without requiring the script author to directly manage thread creation, synchronization, or coordination, thus reducing the perceived complexity while enabling parallel execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system provides self-service parallelization where the execution engine automatically manages the complexity of parallel thread management, synchronization, and result aggregation. The user simply adds tags to enable parallelization, and the system handles all the underlying complexity automatically, eliminating the need for users to deal with parallel execution infrastructure directly.

Inventive Principle:
Principle #25Self-service

3Productivity

If parallel execution is implemented, then productivity improves, but ease of operation decreases due to modified execution flow

Engineering Contradiction:
Improvecommand execution efficiencyVSAvoidscript execution control
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent uses lightweight parallel execution contexts that are created on-demand and discarded after completion. Each tagged command or command group spawns a temporary parallel execution context that handles its own synchronization and result collection, then terminates. This disposable approach maintains ease of operation by isolating parallel execution complexity into self-contained, short-lived units that don't affect the overall script control flow.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS11514218B1System and method for performing static timing analysis of electronic circuit designs using a tag-based approach
Publication Date: 2022.11.29 CADENCE DESIGN SYST INC
  • US11514218B1 patent drawing
  • US11514218B1 patent drawing
  • US11514218B1 patent drawing

AI summary

Embodiments include herein are directed towards a method for static timing analysis. Embodiments included herein may include providing, using at least one processor, a database of predefined script tags and causing a display of a script at a graphical user interface. Embodiments may also include receiving an insertion of at least one tag from the database within the script and generating one or more timing reports based upon, at least in part, the script and the at least one tag.