# US 10,872,191 B1 · Invariant property-based clustering of circuit images for electronic design automation (EDA) applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,872,191 B1
- Document ID: US10872191B1
- Status: Granted
- Kind: B1
- Application number: 16/829,827
- Filed: 2020-03-25
- Granted: 2020-12-22
- Earliest claimed: 2020-03-25
- Assignees: Mentor Graphics Corporation
- Applicants: Mentor Graphics Corporation
- Inventors: Fedor G. Pikus; Muhammad Shahir Rahman
- Web page: https://patentgrep.com/patent/US10872191B1

## CPC

- G03F 7/70508: {Data handling in all parts of the microlithographic apparatus, e.g. handling pattern data for addressable masks or data transfer to or from different components within the exposure apparatus}
- G06F 30/392: Floor-planning or layout, e.g. partitioning or placement
- G03F 7/70433: {Layout for increasing efficiency or for compensating imaging errors, e.g. layout of exposure fields for reducing focus errors; Use of mask features for increasing efficiency or for compensating imaging errors}
- G03F 7/705: {Modelling or simulating from physical phenomena up to complete wafer processes or whole workflow in wafer productions}
- G06F 30/27: using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
- G06F 30/32: Circuit design at the digital level (reconfigurable circuits G06F30/34)
- G06F 30/39: Circuit design at the physical level (physical level design for reconfigurable circuits G06F30/347)
- G03F: PHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR; (phototypographic composing devices B41B; photosensitive materials or processes for photographic purposes G03C; electrophotography, sensitive layers or processes therefor G03G)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system may include an image clustering engine and a cluster provision engine. The image clustering image may be configured to access a set of circuit images and cluster the circuit images into different groups via an unsupervised learning process, wherein clustering by the unsupervised learning process is invariant to each invariant property of an invariant property set. A given invariant property in the invariant property set may correspond to a given image transformation, the invariant properties in the invariant property set may be discrete, and the total number of invariant properties in the invariant property set may be finite. The cluster provision engine may be configured to provide the clustered circuit images for further processing or analysis by an electronic design automation (EDA) application.

## Claims

### Claim 1

A method comprising:
by a computing system:
accessing a set of circuit images;
clustering the circuit images into different groups via an unsupervised learning process, wherein the clustering by the unsupervised learning process is invariant to each invariant property of an invariant property set, and wherein:
a given invariant property in the invariant property set corresponds to a given image transformation;
the invariant properties in the invariant property set are discrete; and
a total number of invariant properties in the invariant property set is finite; and
providing the clustered circuit images for further processing or analysis by an electronic design automation (EDA) application.

### Claim 2 (depends on 1)

The method of claim 1, wherein clustering comprises:
comparing, via the unsupervised learning process, a first circuit image and a second circuit image, wherein the first circuit image is identical to the second circuit image when an image transformation corresponding to one of the invariant properties of the invariant property set is applied to the second image; and
grouping the first circuit image and the second circuit image into a same group in the clustered circuit images.

### Claim 3 (depends on 2)

The method of claim 2, wherein comparing comprises applying an adapted loss function to the first circuit image and the second circuit image,
wherein the adapted loss function is configured to compute a cost measurement between circuit images, and
wherein the adapted loss function is further configured to output a decreased cost measurement between circuit images that differ by any of the image transformations corresponding to the invariant properties of the invariant property set.

### Claim 4 (depends on 3)

The method of claim 3, wherein applying the adapted loss function to the first circuit image and the second circuit image comprises:
applying, for each given invariant property of the invariant property set, the given image transformation that corresponds to the given invariant property to the first circuit image to obtain a set of transformed images, wherein the set of transformed images comprises a transformed first circuit image for each of the invariant properties;
computing, through the adapted loss function, cost measurements between the second circuit image and each of the transformed first circuit images as well as the first circuit image; and
determining the output of the adapted loss function applied to the first circuit image and the second circuit image as a lowest cost measurement computed for the second circuit image and each of the transformed first circuit images as well as the first circuit image.

### Claim 5 (depends on 3)

The method of claim 3, wherein applying the adapted loss function to the first circuit image and the second circuit image comprises converting the first circuit image and the second circuit image into neural network representations to support a difference comparison by the adapted loss function.

### Claim 6 (depends on 1)

The method of claim 1, wherein the invariant properties comprise a 90-degree image rotation, a 180-degree image rotation, a 270-degree image rotation, a horizontal mirror image, a horizontal mirror image of the 90-degree image rotation, a horizontal mirror image of the 180-degree image rotation, and a horizontal mirror image of the 270-degree image rotation.

### Claim 7 (depends on 1)

The method of claim 1, wherein the circuit images comprises different portions of:
a circuit design, a logical circuit layout, a physical circuit layout, one or more lithographic masks for manufacture of a circuit layer of a circuit design, a thermal map of a circuit, or a printed circuit layout.

### Claim 8 (depends on 1)

The method of claim 1, wherein the total number of invariant properties in the invariant property set is limited to a predetermined threshold.

### Claim 9

A system comprising:
an image clustering engine configured to:
access a set of circuit images;
cluster the circuit images into different groups via an unsupervised learning process, wherein clustering by the unsupervised learning process is invariant to each invariant property of an invariant property set, and wherein:
a given invariant property in the invariant property set corresponds to a given image transformation;
the invariant properties in the invariant property set are discrete; and
a total number of invariant properties in the invariant property set is finite; and
a cluster provision engine configured to provide the clustered circuit images for further processing or analysis by an electronic design automation (EDA) application.

### Claim 10 (depends on 9)

The system of claim 9, wherein the image clustering engine is configured to cluster the circuit images by:
comparing, via the unsupervised learning process, a first circuit image and a second circuit image, wherein the first circuit image is identical to the second circuit image when an image transformation corresponding to one of the invariant properties of the invariant property set is applied to the second image; and
grouping the first circuit image and the second circuit image into a same group in the clustered circuit images.

### Claim 11 (depends on 10)

The system of claim 10, wherein the image clustering engine is configured to compare the first circuit image and the second circuit image by applying an adapted loss function to the first circuit image and the second circuit image,
wherein the adapted loss function is configured to compute a cost measurement between circuit images, and
wherein the adapted loss function is further configured to output a decreased cost measurement between circuit images that differ by any of the image transformations corresponding to the invariant properties of the invariant property set.

### Claim 12 (depends on 11)

The system of claim 11, wherein the image clustering engine is configured to apply the adapted loss function to the first circuit image and the second circuit image by:
applying, for each given invariant property of the invariant property set, the given image transformation that corresponds to the given invariant property to the first circuit image to obtain a set of transformed images, wherein the set of transformed images comprises a transformed first circuit image for each of the invariant properties;
computing, via the adapted loss function, cost measurements between the second circuit image and each of the transformed first circuit images as well as the first circuit image; and
determining the output of the adapted loss function applied to the first circuit image and the second circuit image as a lowest cost measurement computed for the second circuit image and each of the transformed first circuit images as well as the first circuit image.

### Claim 13 (depends on 11)

The system of claim 11, wherein the image clustering engine is configured to apply the adapted loss function to the first circuit image and the second circuit image by converting the first circuit image and the second circuit image into neural network representations to support a difference comparison by the adapted loss function.

### Claim 14 (depends on 9)

The system of claim 9, wherein the invariant properties comprise a 90-degree image rotation, a 180-degree image rotation, a 270-degree image rotation, a horizontal mirror image, a horizontal mirror image of the 90-degree image rotation, a horizontal mirror image of the 180-degree image rotation, and a horizontal mirror image of the 270-degree image rotation.

### Claim 15

A non-transitory machine-readable medium comprising instructions that, when executed by a processor, cause a computing system to:
access a set of circuit images;
cluster the circuit images into different groups via an unsupervised learning process, wherein clustering by the unsupervised learning process is invariant to each invariant property of an invariant property set, and wherein:
a given invariant property in the invariant property set corresponds to a given image transformation;
the invariant properties in the invariant property set are discrete; and
a total number of invariant properties in the invariant property set is finite; and
provide the clustered circuit images for further processing or analysis by an electronic design automation (EDA) application.

### Claim 16 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein the instructions, when executed, cause the computing system to cluster the circuit images by:
comparing, via the unsupervised learning process, a first circuit image and a second circuit image, wherein the first circuit image is identical to the second circuit image when an image transformation corresponding to one of the invariant properties of the invariant property set is applied to the second image; and
grouping the first circuit image and the second circuit image into a same group in the clustered circuit images.

### Claim 17 (depends on 16)

The non-transitory machine-readable medium of claim 16, wherein the instructions, when executed, cause the computing system to compare the first circuit image and the second circuit image by applying an adapted loss function to the first circuit image and the second circuit image,
wherein the adapted loss function is configured to compute a cost measurement between circuit images, and
wherein the adapted loss function is further configured to output a decreased cost measurement between circuit images that differ by any of the image transformations corresponding to the invariant properties of the invariant property set.

### Claim 18 (depends on 17)

The non-transitory machine-readable medium of claim 17, wherein the instructions, when executed, cause the computing system to apply the adapted loss function to the first circuit image and the second circuit image by:
applying, for each given invariant property of the invariant property set, the given image transformation that corresponds to the given invariant property to the first circuit image to obtain a set of transformed images, wherein the set of transformed images comprises a transformed first circuit image for each of the invariant properties;
computing, via the adapted loss function, cost measurements between the second circuit image and each of the transformed first circuit images as well as the first circuit image; and
determining the output of the adapted loss function applied to the first circuit image and the second circuit image as a lowest cost measurement computed for the second circuit image and each of the transformed first circuit images as well as the first circuit image.

### Claim 19 (depends on 17)

The non-transitory machine-readable medium of claim 17, wherein the instructions, when executed, cause the computing system to apply the adapted loss function to the first circuit image and the second circuit image by converting the first circuit image and the second circuit image into neural network representations to support a difference comparison by the adapted loss function.

### Claim 20 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein the invariant properties comprise a 90-degree image rotation, a 180-degree image rotation, a 270-degree image rotation, a horizontal mirror image, a horizontal mirror image of the 90-degree image rotation, a horizontal mirror image of the 180-degree image rotation, and a horizontal mirror image of the 270-degree image rotation.
