DUT Partitioning for Logic Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing logic optimization tools for circuit design face challenges such as supporting hierarchical netlists, dealing with large DUTs, and synchronizing timing information between partitions, which leads to sub-optimal solutions and increased runtime.

Innovation Solution

The approach involves splitting the representation of a DUT into smaller sub-partitions based on timing path considerations, excluding trivial partitions from logic optimization, and inserting anchor circuit instances to maintain protected information, thereby improving logic optimization techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If logic optimization is performed on large DUTs with hierarchical netlists, then design functionality can be verified, but runtime increases and optimization quality deteriorates due to difficulty in synchronizing timing information between partitions

Engineering Contradiction:
Improveoptimization qualityVSAvoidruntime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The DUT representation is divided into multiple partitions based on timing slacks of timing endpoints. Each partition contains timing endpoints and their transitive fan-in including optimizable leaf instances. This segmentation allows parallel processing of partitions while maintaining timing information integrity within each partition, resolving the contradiction between optimization quality and runtime.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If the DUT representation is divided into multiple partitions, then processing complexity is reduced, but timing information synchronization between partitions becomes difficult leading to sub-optimal solutions

Engineering Contradiction:
Improveprocessing complexityVSAvoidtiming information synchronization
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The DUT is segmented into partitions based on timing slacks, where each partition is self-contained with timing endpoints and their transitive fan-in. This segmentation reduces processing complexity by enabling parallel processing while maintaining timing information integrity within each partition, avoiding the need for complex inter-partition synchronization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each partition is treated as an independent unit with its own timing characteristics. The logic optimization is performed locally within each partition based on its specific timing slacks and optimizable leaf instances, rather than attempting global optimization across all partitions. This local quality approach ensures timing information accuracy within each partition while simplifying overall processing.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250165690A1Under test (DUT) processing for logic optimization
Publication Date: 2025.05.22 SYNOPSYS INC
  • US20250165690A1 patent drawing
  • US20250165690A1 patent drawing
  • US20250165690A1 patent drawing

AI summary

An example is a non-transitory computer-readable storage medium including stored instructions. The instruction, which when executed by one or more processors, cause the one or more processors to: obtain a representation of a design under test (DUT) and split the representation of the DUT into multiple partitions. The representation of the DUT includes optimizable leaf instances and timing paths between respective timing startpoints and timing endpoints. Splitting the representation of the DUT into multiple partitions is based on respective slacks of the timing endpoints. Each partition of the multiple partitions includes one or more timing endpoints of the timing endpoints and a transitive fan-in including one or more optimizable leaf instances along one or more timing paths of the timing paths that terminate at the respective one or more timing endpoints.