Ultra-Large-Scale SOC Module Division for Timing Closure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for timing closure of ultra-large-scale SOCs face high costs due to the need for high-performance servers and are inefficient due to large data sizes, leading to prolonged recovery times and instability of timing recovery tools.

Innovation Solution

A method involving module division of the SOC into three parts, using a timing recovery tool and EDA software to process each module separately, creating process corners, and performing timing violation fixing and physical placement/routing to achieve timing closure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If high-performance servers are used to process timing data for timing closure, then the processing capability and storage performance are improved, but the server cost and chip development cost increase

Engineering Contradiction:
Improvetiming data processing capabilityVSAvoidserver cost
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides the ultra-large-scale SOC into multiple modules, separating timing data processing into module-level tasks. This segmentation reduces the data volume each server must process, enabling common servers to handle timing closure tasks without requiring expensive high-performance servers with massive storage capacity.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the size of timing data is large, then the coverage of timing recovery is improved, but the timing recovery tool becomes unstable and the recovery time increases

Engineering Contradiction:
Improvetiming recovery coverageVSAvoidtiming recovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements module-level timing recovery by dividing the SOC into multiple modules. Each module's timing data is processed separately, reducing the data size for each timing recovery operation. This ensures tool stability and reduces recovery time while maintaining comprehensive coverage through systematic processing of all modules across multiple epochs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary identification of specific modules requiring timing recovery before actual recovery operations. By pre-processing timing data to determine which modules need recovery and identifying attribute-maintained versus to-be-recovered parts, the system prepares data in advance, reducing the actual recovery time and improving tool stability during the recovery process.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the size of timing data is large, then the timing recovery coverage is improved, but the timing recovery tool becomes unstable

Engineering Contradiction:
Improvetiming recovery coverageVSAvoidtiming recovery tool stability
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The patent divides the ultra-large-scale SOC into multiple modules, processing timing data at the module level rather than handling the entire chip at once. This segmentation reduces the data volume for each timing recovery operation to a manageable size, preventing tool crashes and instability while ensuring comprehensive coverage through systematic processing of all modules across multiple epochs.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250307515A1Method for Implementing Timing Closure of Ultra-Large-Scale SOC Based on Module Division
Publication Date: 2025.10.02 JIANGSU HUACHUANG MICROSYSTEM CO LTD
  • US20250307515A1 patent drawing

AI summary

A method for implementing timing closure of an ultra-large-scale SOC based on module division includes the following steps: S1, acquiring timing data of a full chipset, and dividing an SOC into three modules; S2, reading lib, lef, netlist and def in each module, determining each specific module requiring timing recovery and each prototype module not requiring timing recovery, reading lib and lef in each specific module, and reading netlist and def in each prototype module; S3, creating multiple process corners and acquiring timing data of each process corner, and back-annotating and reading netlist and def out of the multiple process corners corresponding to each specific module to determine an attribute-maintained part and a to-be-recovered part; and setting the attribute-maintained part and each prototype module to be in a not-to-be-recovered state; and S4, sending out a timing recovery command, and performing timing violation fixing on the to-be-recovered part.