# US 11,443,097 B2 · System and method for diagnosing design rule check violations

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

- Number: US 11,443,097 B2
- Document ID: US11443097B2
- Status: Granted
- Kind: B2
- Application number: 17/103,748
- Filed: 2020-11-24
- Published: 2022-05-26
- Granted: 2022-09-13
- Earliest claimed: 2020-11-24
- Assignees: Taiwan Semiconductor Manufacturing Company, Ltd.
- Applicants: Taiwan Semiconductor Manufacturing Company Limited
- Inventors: Yu-Chen Huang; Heng-Yi Lin; Yi-Lin Chuang
- Web page: https://patentgrep.com/patent/US11443097B2

## CPC

- G06F 30/398: Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM] (optical proximity correction [OPC] design processes G03F1/36)
- G06F 30/392: Floor-planning or layout, e.g. partitioning or placement
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A system and method for fixing DRC violations includes receiving a layout pattern having a design rule check (DRC) violation therein, determining that the layout pattern is an inlier based upon a comparison of the layout pattern with a plurality of previously analyzed layout patterns. The comparison may be performed by an anomaly detection algorithm. The system and method may also include selecting a recipe from a pool of recipes previously applied to the plurality of previously analyzed layout patterns for fixing the DRC violation in the layout clip upon determining that the layout pattern is an inlier.

## Claims

### Claim 1

A method comprising:
receiving, by a processor executing computer-readable instructions stored on a memory, a layout pattern having a design rule check (DRC) violation therein;
determining, by the processor, whether the layout pattern is an inlier or an outlier based upon a comparison of the layout pattern with a plurality of previously analyzed layout patterns, wherein the comparison is performed by an anomaly detection algorithm;
classifying, by the processor, the DRC violation in the layout pattern based upon a pattern type, a violation type, and a layer having the DRC violation;
identifying, by the processor, based upon the classification, a subset of previously analyzed layout patterns from the plurality of previously analyzed layout patterns having DRC violations that are similar to the DRC violation in the layout pattern for selecting a recipe; and
selecting, by the processor, the recipe from a pool of recipes comprising previously applied recipes to the subset of previously analyzed layout patterns for fixing the DRC violation in a layout clip upon determining that the layout pattern is the inlier and designating the layout pattern for manual review upon determining that the layout pattern is the outlier;
wherein selecting the recipe from the pool of recipes comprises determining the recipe having a highest fix rate amongst the pool of recipes.

### Claim 2 (depends on 1)

The method of claim 1, wherein the pattern type determines whether the DRC violation is in a metal interconnect or a via structure.

### Claim 3 (depends on 1)

The method of claim 1, wherein the violation type comprises at least one of spacing, area, length, recommended, width, overlap, enclose, color spacing, extension, or double pattern rule violation types.

### Claim 4 (depends on 1)

The method of claim 1, wherein the layer having the DRC violation comprises one of a first group of metal interconnect layers, a second group of metal interconnect layers, or a third group of metal interconnect layers.

### Claim 5 (depends on 1)

The method of claim 1, wherein classifying the layout pattern comprises:
determining, by the processor, the pattern type of the DRC violation;
determining, by the processor, based upon the pattern type, the violation type of the DRC violation; and
determining, by the processor, based upon the violation type, the layer having the DRC violation.

### Claim 6 (depends on 1)

The method of claim 1, wherein selecting the recipe from the pool of recipes comprises ranking pattern violations in the subset of previously analyzed layout patterns, and selecting the recipe previously applied to a highest ranked pattern violation.

### Claim 7 (depends on 1)

The method of claim 1, wherein the selecting the recipe is performed by at least one of a k-nearest neighbor classifier or a random forest classifier.

### Claim 8 (depends on 1)

The method of claim 1, wherein the anomaly detection algorithm comprises an isolation forest classifier.

### Claim 9 (depends on 8)

The method of claim 8, further comprising changing an orientation of the layout pattern for determining that the layout pattern is the inlier.

### Claim 10

A system comprising:
a memory having computer-readable instructions stored thereon; and
a processor that executes the computer-readable instructions to:
classify a layout pattern having a design rule check (DRC) violation therein to determine a classification of the DRC violation to identify a subset of previously analyzed layout patterns having DRC violations that are similar to the DRC violation in the layout pattern based upon a pattern type, a violation type, and a layer having the DRC violation;
identify, based upon the classification, the subset of previously analyzed layout patterns from the plurality of previously analyzed layout patterns having DRC violations that are similar to the DRC violation in the layout pattern for selecting a recipe; and
select a suitable recipe from a pool of recipes comprising previously applied recipes to the subset of previously analyzed layout patterns for fixing the DRC violation in the layout pattern;
wherein selecting the recipe from the pool of recipes comprises determining the recipe having a highest fix rate amongst the pool of recipes.

### Claim 11 (depends on 10)

The system of claim 10, wherein to determine the classification of the DRC violation, the processor further executes the computer-readable instructions to:
determine the pattern type of the DRC violation in the layout pattern;
determine, based upon the pattern type, a violation type of the DRC violation; and
determine, based upon the violation type, the layer at which the DRC violation occurs in the layout pattern.

### Claim 12 (depends on 10)

The system of claim 10, wherein the processor further executes the computer-readable instructions to determine that the layout pattern is an inlier based upon an anomaly detection algorithm.

### Claim 13 (depends on 10)

The system of claim 10, wherein to select the suitable recipe from the pool of recipes, the processor further executes the computer-readable instructions to generate at least one of a pattern violation graph or a recipe fix rate graph, wherein the pattern violation graph identifies pattern violations identified in the group of previously analyzed layout patterns, and wherein the recipe fix rate graph identifies a fix rate of each recipe in the pool of recipes.

### Claim 14 (depends on 13)

The system of claim 13, wherein the processor further executes the computer-readable instructions to:
rank the pattern violations in the pattern violation graph; and
select the recipe previously applied to a highest ranked pattern violation as the suitable recipe.

### Claim 15

A non-transitory computer-readable media comprising computer-readable instructions stored thereon, that when executed by a processor cause the processor to:
classify a layout pattern having a design rule check (DRC) violation therein to determine a classification of the DRC violation by:
determining a pattern type of a DRC violation;
determining, based upon the pattern type, a violation type of the DRC violation; and
determining, based upon the violation type, a layer at which the DRC violation occurs;
identify, based upon the classification, a subset of previously analyzed layout patterns from the plurality of previously analyzed layout patterns having DRC violations that are similar to the DRC violation in the layout pattern for a recipe selection; and
select a recipe from a pool of recipes comprising previously applied recipes to the subset of previously analyzed layout patterns for fixing the DRC violation;
wherein selecting the recipe from the pool of recipes comprises determining the recipe having a highest fix rate amongst the pool of recipes.

### Claim 16 (depends on 15)

The non-transitory computer-readable media of claim 15, further comprising determining that the layout pattern is an inlier before determining the classification of the DRC violation.
