Journal of Electrical and Computer Engineering

Volume 2019, Article ID 9430593, 12 pages

https://doi.org/10.1155/2019/9430593

## CHIP: Clustering Hotspots in Layout Using Integer Programming

Dept. of Electrical and Computer Engineering, Iowa State University, Ames 50011, USA

Correspondence should be addressed to Rohit Reddy Takkala; moc.liamg@alakkatyddertihor

Received 24 July 2018; Revised 30 October 2018; Accepted 27 November 2018; Published 17 January 2019

Academic Editor: Maurizio Martina

Copyright © 2019 Rohit Reddy Takkala and Chris Chu. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

Clustering algorithms have been explored in recent years to solve hotspot clustering problems in integrated circuit design. With various applications in design for manufacturability flow such as hotspot library generation, systematic yield optimization, and design space exploration, generating good quality clusters along with their representative clips is of utmost importance. With several generic clustering algorithms at our disposal, hotspots can be clustered based on the distance metric defined while satisfying some tolerance conditions. However, the clusters generated from generic clustering algorithms need not achieve optimal results. In this paper, we introduce two optimal integer linear programming formulations based on triangle inequality to solve the problem of minimizing cluster count while satisfying given constraints. Apart from minimizing cluster count, we generate representative clips that best represent the clusters formed. We achieve a better cluster count for both formulations in most test cases as compared to the results published in the literature in the ICCAD 2016 contest benchmarks as well as the reference results reported in the ICCAD 2016 contest website.

#### 1. Overview

As the feature size decreases rapidly, the problem of manufacturability in integrated circuits increases due to limitations in lithographic wavelength used during the fabrication stage. These problems identified as hotspots are a set of problematic patterns in the layout that have printing issues. These are detected either using traditional lithographic simulations or machine learning-based detection methods that have been proposed in recent years. When such defects are found, finding patterns of similar kind is of high interest. It becomes useful to cluster these clips of interest into groups and process them together. This is called layout pattern classification [1] or hotspot clustering. Layout pattern classification has been utilized in recent years in design for manufacturability flow for various applications. Few examples of such applications are hotspot library generation [2], hierarchical data storage [3], and systematic yield optimization. With several applications in the DFM stage, finding good quality clusters is important.

Few works such as [4] use pattern classification within their tool flow. They use a modified version of incremental clustering where they update the representative of the clusters formed. Wu et al. [5] have worked on a modified problem statement, where they consider dummy fills during hotspot classification, can therefore accurately identify the process hotspots in the layout with dummification in EUVL. An interesting approach is adopted [6] where they shift the clips to expand the solution space while satisfying given constraints, thereby reducing the cluster count. The minimal cluster count is achieved for the ICCAD 2016 benchmark suite in their approach. Different distance metric instead in of the XOR logic is explored in [7, 8] to encapsulate rotations/mirroring and other topological features. However, using these metrics is a trade-off between computational cost and quality of the clusters generated. There are several other works such as [9–12] which focus on hotspot detection frameworks, whereas hotspot clustering has been rarely explored but plays an important role in various applications in the design for manufacturability flow.

In previous work [2, 13, 14], a few generic clustering algorithms such as *k*-means clustering [14], hierarchical and incremental clustering [2], and Markov clustering [13, 15] were explored to solve this problem. In *k*-means clustering, the value of *k* needs to be provided by the user, but the user may not know the cluster count a priori. Therefore, it does not solve the purpose of finding good quality clusters automatically. In the hierarchical clustering algorithm, starting from each data point as a cluster, the data are hierarchically grouped together based on different types of linkages. Since hierarchical clustering finds groups of data in a hierarchical manner, it is again user dependent to get the clusters. In incremental clustering, in the order of processing data, either new clusters are created or existing clusters are grown incrementally. This algorithm depends on the order of processing data and therefore does not produce good quality solutions. Markov clustering [15] is known to find good quality clusters in a short time, but the clustering depends on fine tuning several parameters in the algorithm. There are several other clustering algorithms in the literature to cluster any kind of data; however, the problem formulations of those algorithms are different from that of the hotspot clustering problem. Therefore, a postprocessing step is required while using those algorithms to regroup clusters in order to satisfy the given constraints.

In this paper, we discuss our tool called CHIP which solves the given hotspot clustering problem optimally. We formulate two integer linear programs to solve for the optimal number of clusters, i.e., the objective of both formulations is to minimize cluster count. With some tolerance given by area constraint or edge constraint, our tool classifies given clips into clusters without assuming that the representative clips must be from the given data set. Since the representative clip is not required to be one of the given clips, we generate the representative clip based on the cluster data and the tolerance provided. This framework can achieve optimal cluster count while satisfying the constraints as per the results from ICCAD 2016 Contest Problem C-Pattern Classification for Integrated Circuit Design Space Analysis [1].

The paper is further organized as follows: In Section 2, we describe the problem, define the terminology, and elaborate the two modes in clustering. In Section 3, we discuss the overview of our tool flow. In Section 4, we define our integer linear programming formulations which exactly represent the problem statement, and in Section 5, the framework to generate representative clips is elaborated. Furthermore, in Section 6, we report the results of the formulation and compare with existing algorithms. We conclude the work in Section 7.

#### 2. Problem Description

##### 2.1. Overview

This problem is taken from the ICCAD 2016 Contest-Problem C. Given a GDS file with markers and clip size and the constraints as inputs, the hotspot classification tool has to cluster the clips formed around the markers and output the corresponding cluster identities and a set of representative clips which represent the clusters. There are two types of constraints given to the tool, i.e., area constraint (a) and edge constraint (e). Based on the type of constraint, the tool has to perform clustering in the respective mode. The tool takes either area constraint or edge constraint but not both as the input.

Figure 1 depicts a sample layout where the polygons (in yellow) are the interconnects of a circuit indicated in a layer. On this layer, there are several markers placed at various locations throughout the layout. Given these input data, clips centered at the markers should be extracted according to the given dimensions. Note that the center of the clip can be anywhere inside the marker.