IP Library Granted Patent US 12687773
Granted Patent B1
US 12687773 · App. 18/058,614 · Granted Jul 21, 2026

Pattern-based hierarchy exploration for compressing an integrated circuit design layout

Inventors: Yuan He (Mountain View, CA); Joshua P. Tuttle (Beaverton, OR); Lin Wang (Austin, TX); Yongdong Wang (Portland, OR)
Assignee: Synopsys, Inc.
G03F1/70G06T7/12G06T7/70G06T2207/20021
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12687773
App. No.
18/058,614
Granted
Jul 21, 2026
Kind
B1
Abstract

An integrated circuit (IC) design layout may be partitioned into a set of content areas. A content area in the set of content areas may be divided into a set of zones based on an image-based representation of the content area. A repetition unit may be identified in a zone in the set of zones, where the repetition unit is a portion of the zone, and where the zone includes multiple instances of the repetition unit. A skeleton layout may be generated corresponding to the IC design layout, where the skeleton layout specifies locations of the multiple instances of the repetition unit in the IC design layout.

Claims (66)

1 . A method, comprising:

partitioning an integrated circuit (IC) design layout into a set of content areas, wherein at least two adjacent content areas in the set of content areas overlap with each other;

dividing a content area in the set of content areas into a set of zones based on an image-based representation of the content area;

determining a repetition unit in a zone in the set of zones, wherein the repetition unit is a portion of the zone, and wherein the zone includes multiple instances of the repetition unit, and wherein determining the repetition unit in the zone in the set of zones comprises:

determining a set of bash values c rest or ding to a set of detection boxes aligned with different polygon corners in the zone;

selecting a hash value in the set of hash values; and

selecting a detection box that corresponds to the hash value; and

generating, by a processing device, a skeleton layout corresponding to the IC design layout, wherein the skeleton layout specifies locations of the multiple instances of the repetition unit in the IC design layout.

2 . The method of claim 1 , wherein the partitioning the IC design layout into the set of content areas comprises:

partitioning the IC design layout into a set of abutting tiles; and

creating the set of content areas based on the set of abutting tiles, wherein each content area in the set of content areas is larger than and encloses a corresponding tile in the set of abutting tiles.

3 . The method of claim 1 , wherein the dividing the content area in the set of content areas into the set of zones comprises using an image-based boundary detection technique to detect a zone boundary in the content area.

4 . The method of claim 3 , wherein the dividing the content area in the set of content areas into the set of zones comprises moving the zone boundary so that the zone boundary aligns with an edge of a polygon which is located within an ambit of the zone boundary.

5 . The method of claim 1 , further comprising:

selecting an instance of the repetition unit from the multiple instances of the repetition unit specified in the skeleton layout;

performing mask correction on the instance of the repetition unit to obtain a corrected repetition unit; and

replacing the multiple instances of the repetition unit by the corrected repetition unit in the IC design layout.

6 . The method of claim 1 , wherein the partitioning the IC design layout into the set of content areas is performed by a master node of a distributed processing (DP) system which includes the master node and a set of DP nodes, wherein the dividing the content area in the set of content areas into the set of zones is performed by a DP node in the set of DP nodes, wherein the determining the repetition unit in the zone in the set of zones is performed by the DP node in the set of DP nodes, and wherein the generating the skeleton layout corresponding to the IC design layout is performed by the master node.

7 . A non-transitory computer-readable medium comprising stored instructions, which when executed by a processor, cause the processor to:

partition an integrated circuit (IC) design layout into a set of content areas;

divide a content area in the set of content areas into a set of zones based on an image-based representation of the content area, wherein dividing the content area in the set of content areas into the set of zones comprises using an image-based boundary detection technique to detect a zone boundary in the content area;

determine a repetition unit in a zone in the set of zones, wherein the repetition unit is a portion of the zone, and wherein the zone includes multiple instances of the repetition unit; and

generate a skeleton layout corresponding to the IC design layout, wherein the skeleton layout specifies locations of the multiple instances of the repetition unit in the IC design layout.

8 . The non-transitory computer-readable medium of claim 7 , wherein partitioning the IC design layout into the set of content areas comprises:

partitioning the IC design layout into a set of abutting tiles; and

creating the set of content areas based on the set of abutting tiles, wherein each content area in the set of content areas is larger than and encloses a corresponding tile in the set of abutting tiles.

9 . The non-transitory computer-readable medium of claim 7 , wherein dividing the content area in the set of content areas into the set of zones comprises moving the zone boundary so that the zone boundary aligns with an edge of a polygon which is located within an ambit of the zone boundary.

10 . The non-transitory computer-readable medium of claim 7 , wherein determining the repetition unit in the zone in the set of zones comprises:

determining a set of hash values corresponding to a set of detection boxes aligned with different polygon corners in the zone;

selecting a hash value in the set of hash values; and

selecting a detection box that corresponds to the hash value.

11 . The non-transitory computer-readable medium of claim 7 , further comprising instructions, which when executed by the processor, cause the processor to:

select an instance of the repetition unit from the multiple instances of the repetition unit specified in the skeleton layout;

perform mask correction on the instance of the repetition unit to obtain a corrected repetition unit; and

replace the multiple instances of the repetition unit by the corrected repetition unit in the IC design layout.

12 . The non-transitory computer-readable medium of claim 7 , wherein partitioning the IC design layout into the set of content areas is performed by a master node of a distributed processing (DP) system which includes the master node and a set of DP nodes, wherein dividing the content area in the set of content areas into the set of zones is performed by a DP node in the set of DP nodes, wherein determining the repetition unit in the zone in the set of zones is performed by the DP node in the set of DP nodes, and wherein generating the skeleton layout corresponding to the IC design layout is performed by the master node.

13 . An apparatus, comprising:

a master node;

a set of distributed processing (DP) nodes;

wherein the master node comprises:

a first memory storing first instructions;

a first processor, coupled with the first memory and to execute the first instructions, the first instructions when executed causing the first processor to:

partition an integrated circuit (IC) design layout into a set of content areas;

provide a content area to a DP node in the set of DP nodes;

receive a repetition unit from the DP node; and

generate a skeleton layout corresponding to the IC design layout, wherein the skeleton layout specifies locations of multiple instances of the repetition unit in the IC design layout; and

wherein the DP node comprises:

a second memory storing second instructions;

a second processor, coupled with the second memory and to execute the second instructions, the second instructions when executed causing the second processor to:

receive the content area from the master node;

divide the content area into a set of zones based on an image-based representation of the content area;

determine a repetition unit in a zone in the set of zones, wherein the repetition unit is a portion of the zone, and wherein the zone includes the multiple instances of the repetition unit; and

provide the repetition unit to the master node.

14 . The apparatus of claim 13 , wherein partitioning the IC design layout into the set of content areas comprises:

partitioning the IC design layout into a set of abutting tiles; and

creating the set of content areas based on the set of abutting tiles, wherein each content area in the set of content areas is larger than and encloses a corresponding tile in the set of abutting tiles.

15 . The apparatus of claim 13 , wherein dividing the content area in the set of content areas into the set of zones comprises using an image-based boundary detection technique to detect a zone boundary in the content area.

16 . The apparatus of claim 15 , wherein dividing the content area in the set of content areas into the set of zones comprises moving the zone boundary so that the zone boundary aligns with an edge of a polygon which is located within an ambit of the zone boundary.

17 . The apparatus of claim 13 , wherein determining the repetition unit in the zone in the set of zones comprises:

determining a set of hash values corresponding to a set of detection boxes aligned with different polygon corners in the zone;

selecting a hash value in the set of hash values; and

selecting a detection box that corresponds to the hash value.

18 . The apparatus of claim 13 , wherein the first instructions, which when executed by the first processor, cause the first processor to:

select an instance of the repetition unit from the multiple instances of the repetition unit specified in the skeleton layout;

perform mask correction on the instance of the repetition unit to obtain a corrected repetition unit; and

replace the multiple instances of the repetition unit by the corrected repetition unit in the IC design layout.