Clock Tree Wirelength Reduction via Target Offset Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional clock tree wirelength reduction techniques rely on brute-force approaches, which are computationally intensive and often fail to identify optimal solutions, leading to slow runtime and high resource utilization, and can get stuck in local minima.

Innovation Solution

The method involves identifying target offsets in connected routes of the clock tree, moving clock tree instances to new locations based on these offsets, and updating routes to achieve wirelength reduction while ensuring compliance with timing-based design constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Length of stationary object

If a compass-search algorithm is used to iteratively move clock tree instances to reduce wirelength, then wirelength reduction is achieved, but runtime becomes slow due to brute-force testing of locations

Engineering Contradiction:
ImprovewirelengthVSAvoidruntime
Core Design Contradiction:
Length of stationary objectVSLoss of time

Solution Approach 1:

The patent changes the search strategy from brute-force location testing to offset-based location determination. By computing target offsets from parent instances and testing only those specific locations, the algorithm transforms the search space from continuous to discrete and guided, reducing runtime while maintaining wirelength reduction effectiveness.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces target offsets as an intermediary mechanism between the parent clock tree instance and potential child locations. These offsets serve as guides that mediate the search process, directing the algorithm to promising locations without requiring exhaustive testing of all possible positions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If a compass-search algorithm stores and maintains search information to guide future searches, then search guidance is improved, but computational resource utilization increases

Engineering Contradiction:
Improvesearch guidanceVSAvoidcomputational resources
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent performs preliminary computation of target offsets based on parent instance locations and routing topology before the actual location testing. This preliminary action eliminates the need to store and maintain extensive search history, reducing computational resource requirements while providing effective search guidance through pre-computed offset values.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If the compass-search algorithm is made greedy to save runtime, then runtime is reduced, but the algorithm gets stuck in local minima and fails to find optimal solutions

Engineering Contradiction:
ImproveruntimeVSAvoidoptimality
Core Design Contradiction:
Loss of timeVSManufacturing precision

Solution Approach 1:

The patent introduces dynamics by allowing the search to escape local minima through offset-based exploration. The target offset computation considers routing topology and multiple potential directions, enabling the algorithm to dynamically adjust search directions and escape suboptimal locations while maintaining reasonable runtime through focused rather than exhaustive searching.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10740530B1Clock tree wirelength reduction based on a target offset in connected routes
Publication Date: 2020.08.11 CADENCE DESIGN SYST INC
  • US10740530B1 patent drawing
  • US10740530B1 patent drawing
  • US10740530B1 patent drawing

AI summary

Aspects of the present disclosure address systems and methods for shortening clock tree wirelength based on target offsets in connected routes. A method may include accessing a clock tree comprising routes that interconnect a plurality of pins. Each pin corresponds to a terminal of a clock tree instance. The method further includes identifying a first and second terminal of a clock tree instance in the clock tree. The method further includes determining a first offset based on a distance between the first terminal and a branch in a first route connected to the first terminal and determining a second offset based on a distance between the second terminal and a branch in a second route connected to the second terminal. The method further includes moving the clock tree instance from a first location to a second location based on a target offset determined by comparing the first and second offsets.