deepattern: layout pattern generation with transforming ...byu/papers/c86-dac2019-deepattern.pdf ·...

6
DeePaern: Layout Paern Generation with Transforming Convolutional Auto-Encoder Haoyu Yang Chinese University of Hong Kong [email protected] Piyush Pathak Cadence Design Systems, Inc. [email protected] Frank Gennari Cadence Design Systems, Inc. [email protected] Ya-Chieh Lai Cadence Design Systems, Inc. [email protected] Bei Yu Chinese University of Hong Kong [email protected] ABSTRACT VLSI layout patterns provide critic resources in various design for manufacturability researches, from early technology node develop- ment to back-end design and sign-off flows. However, a diverse layout pattern library is not always available due to long logic-to-chip design cycle, which slows down the technology node development proce- dure. To address this issue, in this paper, we explore the capability of generative machine learning models to synthesize layout patterns. A transforming convolutional auto-encoder is developed to learn vector-based instantiations of squish pattern topologies. We show our framework can capture simple design rules and contributes to enlarging the existing squish topology space under certain transfor- mations. Geometry information of each squish topology is obtained from an associated linear system derived from design rule constraints. Experiments on 7nm EUV designs show that our framework can more effectively generate diverse pattern libraries with DRC-clean patterns compared to a state-of-the-art industrial layout pattern generator. 1 INTRODUCTION VLSI layout patterns provide critic resources in various design for manufacturability (DFM) researches, from (1) early technology node development to (2) back-end design and sign-off flows [1]. The former includes perfection of design rules, OPC recipes, lithography models and so on. The latter covers, but is not limited to, layout hotspot detection and correction [28]. However, layout pattern libraries are sometimes not large and diverse enough for DFM researches/solutions due to long logic-to-chip design cycle. Even some test layouts can be synthesized within a short period, they are usually restricted by certain design rules and the generated pattern diversity is limited [9, 10]. One state-of-the-art industrial pattern generation solution is mi- gration from older technology node designs [11], where seed patterns are selected from the process weak points in older designs and shrunk by a scale factor to match current design rules. However, such flow is no longer applicable when there are large gaps between design nodes. An example is that 7nm EUV designs contain all unidirectional shapes while patterns are still 2D in previous design nodes. Monte Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. DAC ’19, June 2–6, 2019, Las Vegas, NV, USA © 2019 Association for Computing Machinery. ACM ISBN 978-1-4503-6725-7/19/06. . . $15.00 https://doi.org/10.1145/3316781.3317795 (a) (b) (c) Figure 1: Sample pattern topologies generated from (a) Indus- try Tool, (b) DCGAN [19], and (c) our proposed TCAE. Carlo shape generation is another approach that is typically applied industry-wide to generate metal layer patterns for lithography and OPC research. In this method, shapes are randomly created and placed on a given region according to certain geometry constraints, which, to some extent, limits the pattern library diversity created with the flow (see Figure 1(a)). In this paper, we study the capability of generative models to syn- thesize test layout patterns. The most popular generative machine learning model recently is generative adversarial network (GAN) that is first proposed in [12]. GAN consists of two sub-neural networks interacting with each other. One is called the generator, which takes random latent vectors as input and generates images or patterns following some distribution as of the training data set. The other is discriminator, which aims to discriminate real patterns from the generated ones. GAN models have been widely studied on computer vision related tasks like image synthesis [12, 13] and scene transfor- mation [14, 15] by extracting and understanding feature distributions. In EDA area, such architecture and its variations have also been suc- cessfully applied including mask optimization [16, 17] and on-chip sensor placement [18]. However, generating layout patterns is a more challenging task as layouts are constrained by design rules which are hard to learn with native GAN training mechanisms, as shown in Figure 1(b). For the example of 7nm EUV designs, M2 layer shapes are all unidirectional and cannot appear in adjacent wire tracks. To overcome these problems, we propose a transforming convolu- tional auto-encoder (TCAE) architecture that consists of a recognition unit and a generation unit. The recognition unit is built with stacked convolutional layers that convert layout pattern topologies into la- tent vectors that allow perturbation for certain transformations. The generation unit is expected to capture layout spatial information (e.g. track and wire direction) well and converts latent vectors back to legal pattern topologies with corresponding deconvolution oper- ations. We will show that perturbation on individual latent vector node contributes to pattern transformation in certain layout design rule domain and admits a larger pattern library diversity, as shown in Figure 1(c). The main contributions of this paper are listed as follows:

Upload: others

Post on 09-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DeePattern: Layout Pattern Generation with Transforming ...byu/papers/C86-DAC2019-DeePattern.pdf · 1 INTRODUCTION VLSI layout patterns provide critic resources in various design

DeePattern: Layout Pattern Generation with TransformingConvolutional Auto-Encoder

Haoyu YangChinese University of Hong [email protected]

Piyush PathakCadence Design Systems, [email protected]

Frank GennariCadence Design Systems, [email protected]

Ya-Chieh LaiCadence Design Systems, [email protected]

Bei YuChinese University of Hong Kong

[email protected]

ABSTRACTVLSI layout patterns provide critic resources in various design formanufacturability researches, from early technology node develop-ment to back-end design and sign-off flows. However, a diverse layoutpattern library is not always available due to long logic-to-chip designcycle, which slows down the technology node development proce-dure. To address this issue, in this paper, we explore the capability ofgenerative machine learning models to synthesize layout patterns.A transforming convolutional auto-encoder is developed to learnvector-based instantiations of squish pattern topologies. We showour framework can capture simple design rules and contributes toenlarging the existing squish topology space under certain transfor-mations. Geometry information of each squish topology is obtainedfrom an associated linear system derived from design rule constraints.Experiments on 7nm EUV designs show that our framework can moreeffectively generate diverse pattern libraries with DRC-clean patternscompared to a state-of-the-art industrial layout pattern generator.

1 INTRODUCTIONVLSI layout patterns provide critic resources in various design formanufacturability (DFM) researches, from (1) early technology nodedevelopment to (2) back-end design and sign-off flows [1]. The formerincludes perfection of design rules, OPC recipes, lithography modelsand so on. The latter covers, but is not limited to, layout hotspotdetection and correction [2–8]. However, layout pattern libraries aresometimes not large and diverse enough for DFM researches/solutionsdue to long logic-to-chip design cycle. Even some test layouts canbe synthesized within a short period, they are usually restricted bycertain design rules and the generated pattern diversity is limited[9, 10].

One state-of-the-art industrial pattern generation solution is mi-gration from older technology node designs [11], where seed patternsare selected from the process weak points in older designs and shrunkby a scale factor to match current design rules. However, such flowis no longer applicable when there are large gaps between designnodes. An example is that 7nm EUV designs contain all unidirectionalshapes while patterns are still 2D in previous design nodes. Monte

Permission to make digital or hard copies of all or part of this work for personal orclassroom use is granted without fee provided that copies are not made or distributedfor profit or commercial advantage and that copies bear this notice and the full citationon the first page. Copyrights for components of this work owned by others than ACMmust be honored. Abstracting with credit is permitted. To copy otherwise, or republish,to post on servers or to redistribute to lists, requires prior specific permission and/or afee. Request permissions from [email protected] ’19, June 2–6, 2019, Las Vegas, NV, USA© 2019 Association for Computing Machinery.ACM ISBN 978-1-4503-6725-7/19/06. . . $15.00https://doi.org/10.1145/3316781.3317795

(a) (b) (c)

Figure 1: Sample pattern topologies generated from (a) Indus-try Tool, (b) DCGAN [19], and (c) our proposed TCAE.

Carlo shape generation is another approach that is typically appliedindustry-wide to generate metal layer patterns for lithography andOPC research. In this method, shapes are randomly created and placedon a given region according to certain geometry constraints, which,to some extent, limits the pattern library diversity created with theflow (see Figure 1(a)).

In this paper, we study the capability of generative models to syn-thesize test layout patterns. The most popular generative machinelearning model recently is generative adversarial network (GAN) thatis first proposed in [12]. GAN consists of two sub-neural networksinteracting with each other. One is called the generator, which takesrandom latent vectors as input and generates images or patternsfollowing some distribution as of the training data set. The otheris discriminator, which aims to discriminate real patterns from thegenerated ones. GAN models have been widely studied on computervision related tasks like image synthesis [12, 13] and scene transfor-mation [14, 15] by extracting and understanding feature distributions.In EDA area, such architecture and its variations have also been suc-cessfully applied including mask optimization [16, 17] and on-chipsensor placement [18]. However, generating layout patterns is a morechallenging task as layouts are constrained by design rules whichare hard to learn with native GAN training mechanisms, as shown inFigure 1(b). For the example of 7nm EUV designs, M2 layer shapesare all unidirectional and cannot appear in adjacent wire tracks.

To overcome these problems, we propose a transforming convolu-tional auto-encoder (TCAE) architecture that consists of a recognitionunit and a generation unit. The recognition unit is built with stackedconvolutional layers that convert layout pattern topologies into la-tent vectors that allow perturbation for certain transformations. Thegeneration unit is expected to capture layout spatial information(e.g. track and wire direction) well and converts latent vectors backto legal pattern topologies with corresponding deconvolution oper-ations. We will show that perturbation on individual latent vectornode contributes to pattern transformation in certain layout designrule domain and admits a larger pattern library diversity, as shown inFigure 1(c). The main contributions of this paper are listed as follows:

Page 2: DeePattern: Layout Pattern Generation with Transforming ...byu/papers/C86-DAC2019-DeePattern.pdf · 1 INTRODUCTION VLSI layout patterns provide critic resources in various design

Pitch T2T Width Length

Figure 2: Layout geometry and critical dimensions.

• We propose a pattern generation framework that reduces thechallenging pattern generation problem into two simpler sub-problems with the aid of efficient squish pattern representa-tion.• We design a TCAE architecture that aims at generating patterntopologies efficiently.• We develop linear systems that can provide solutions of patterngeometric information which, combined with generated squishtopology, produces DRC-clean patterns.• We conduct experiments to show that each latent vector nodein TCAE comes along with real physical meanings in layoutpattern space and transformations on latent vectors can pro-duce additional patterns of interest. Results show that thegenerated pattern library exhibits larger pattern number andpattern diversity compared to a state-of-the-art industry layoutgenerator.

The rest of the paper is organized as follows. Section 2 introducesbasic terminologies and evaluation metrics related to this work. Sec-tion 3 shows details of the pattern generation framework includingtopology generation and legal pattern assessment. Section 4 coversexperimental results and Section 5 concludes the paper.

2 PRELIMINARIESIn this section, we introduce some geometry concepts to accommo-date layout design rules and the pattern generation flow. Because inthis paper we focus on 7nm EUV metal layer designs which containsonly unidirectional on-track shapes, following terms are accordinglyadopted to quantize pattern shapes and positions, as depicted in Fig-ure 2. Pitch, denoted asp, measures the distance between two adjacenttracks that contain shapes. T2T, denoted as t , measures the line-end-to-line-end distance between two adjacent shapes in a track. Wirelength l and width w measure the shape size along and against thedesign track, respectively. In order for a pattern to be DRC-clean,these measurements will be constrained by some design rules.

All shape edges in a fixed-size window are aligned with x-axis andy-axis. If we extend all horizontal and vertical edges infinitely intoscan lines, more non-overlapping scan lines always come with morecomplex patterns. We hence define the complexity of a layout patternas follows.

Definition 1 (Pattern Complexity). The complexity of a pattern inx and y directions (denoted as cx and cy ) are defined as the numberof scan lines subtracted by one along x-axis and y-axis, respectively.

We also introduce the concept of pattern diversity (denoted as H )to measure how are the pattern complexities distributed in a givenlibrary. A larger H implies the library contains patterns that are moreevenly distributed, as in the following definition.

Definition 2 (Pattern Diversity). The diversity of a pattern library isgiven by the Shannon Entropy [20] of the pattern complexity sampled

from the library, as shown in Equation (1),

H = −∑i

∑jP(cxi , cy j ) log P(cxi , cy j ), (1)

where P(cxi , cy j ) is the probability of a pattern sampled from thelibrary has complexities of cxi and cy j in x and y directions respec-tively.

With above definitions, the pattern generation problem can beformulated as follows.

Problem 1 (Pattern Generation). Given a set of layout design rules,the objective of pattern generation is to generate a pattern librarysuch that the pattern diversity and the number of unique DRC-cleanpatterns in the library is maximized.

3 THE FRAMEWORKGenerating layout patterns is extremely challenging for learningmachines as design rules are usually not friendly to most machinelearning models. We therefore simplify the problem into two stageswith the aid of squish patterns [21]. We first deal with the topologygeneration problem and then establish a linear system to finalize thepattern generation flow with proper geometry vectors.

3.1 Squish Pattern Extraction

y3<latexit sha1_base64="XRi+s556iR1h9SkAkBRteBpskdY=">AAAB7HicbZDNTgIxFIVv8Q/xD3XpphE0rsgMLnRJ4sYlJg6QwIR0SgcaOp1J2zGZTHgGNy40xq0P5M63scAsFDxJky/n3pvee4JEcG0c5xuVNja3tnfKu5W9/YPDo+rxSUfHqaLMo7GIVS8gmgkumWe4EayXKEaiQLBuML2b17tPTGkey0eTJcyPyFjykFNirOXVs+F1fVitOQ1nIbwObgE1KNQeVr8Go5imEZOGCqJ133US4+dEGU4Fm1UGqWYJoVMyZn2LkkRM+/li2Rm+sM4Ih7GyTxq8cH9P5CTSOosC2xkRM9Grtbn5X62fmvDWz7lMUsMkXX4UpgKbGM8vxyOuGDUis0Co4nZXTCdEEWpsPhUbgrt68jp0mg3X8kOz1ros4ijDGZzDFbhwAy24hzZ4QIHDM7zCG5LoBb2jj2VrCRUzp/BH6PMHv8GN4Q==</latexit><latexit sha1_base64="XRi+s556iR1h9SkAkBRteBpskdY=">AAAB7HicbZDNTgIxFIVv8Q/xD3XpphE0rsgMLnRJ4sYlJg6QwIR0SgcaOp1J2zGZTHgGNy40xq0P5M63scAsFDxJky/n3pvee4JEcG0c5xuVNja3tnfKu5W9/YPDo+rxSUfHqaLMo7GIVS8gmgkumWe4EayXKEaiQLBuML2b17tPTGkey0eTJcyPyFjykFNirOXVs+F1fVitOQ1nIbwObgE1KNQeVr8Go5imEZOGCqJ133US4+dEGU4Fm1UGqWYJoVMyZn2LkkRM+/li2Rm+sM4Ih7GyTxq8cH9P5CTSOosC2xkRM9Grtbn5X62fmvDWz7lMUsMkXX4UpgKbGM8vxyOuGDUis0Co4nZXTCdEEWpsPhUbgrt68jp0mg3X8kOz1ros4ijDGZzDFbhwAy24hzZ4QIHDM7zCG5LoBb2jj2VrCRUzp/BH6PMHv8GN4Q==</latexit><latexit sha1_base64="XRi+s556iR1h9SkAkBRteBpskdY=">AAAB7HicbZDNTgIxFIVv8Q/xD3XpphE0rsgMLnRJ4sYlJg6QwIR0SgcaOp1J2zGZTHgGNy40xq0P5M63scAsFDxJky/n3pvee4JEcG0c5xuVNja3tnfKu5W9/YPDo+rxSUfHqaLMo7GIVS8gmgkumWe4EayXKEaiQLBuML2b17tPTGkey0eTJcyPyFjykFNirOXVs+F1fVitOQ1nIbwObgE1KNQeVr8Go5imEZOGCqJ133US4+dEGU4Fm1UGqWYJoVMyZn2LkkRM+/li2Rm+sM4Ih7GyTxq8cH9P5CTSOosC2xkRM9Grtbn5X62fmvDWz7lMUsMkXX4UpgKbGM8vxyOuGDUis0Co4nZXTCdEEWpsPhUbgrt68jp0mg3X8kOz1ros4ijDGZzDFbhwAy24hzZ4QIHDM7zCG5LoBb2jj2VrCRUzp/BH6PMHv8GN4Q==</latexit><latexit sha1_base64="XRi+s556iR1h9SkAkBRteBpskdY=">AAAB7HicbZDNTgIxFIVv8Q/xD3XpphE0rsgMLnRJ4sYlJg6QwIR0SgcaOp1J2zGZTHgGNy40xq0P5M63scAsFDxJky/n3pvee4JEcG0c5xuVNja3tnfKu5W9/YPDo+rxSUfHqaLMo7GIVS8gmgkumWe4EayXKEaiQLBuML2b17tPTGkey0eTJcyPyFjykFNirOXVs+F1fVitOQ1nIbwObgE1KNQeVr8Go5imEZOGCqJ133US4+dEGU4Fm1UGqWYJoVMyZn2LkkRM+/li2Rm+sM4Ih7GyTxq8cH9P5CTSOosC2xkRM9Grtbn5X62fmvDWz7lMUsMkXX4UpgKbGM8vxyOuGDUis0Co4nZXTCdEEWpsPhUbgrt68jp0mg3X8kOz1ros4ijDGZzDFbhwAy24hzZ4QIHDM7zCG5LoBb2jj2VrCRUzp/BH6PMHv8GN4Q==</latexit>

y2<latexit sha1_base64="gpWsNLdq3u5WliluCVruaPqRmhU=">AAAB7HicbZBNT8JAEIanfiJ+oR69bASNJ9Jy0SOJF4+YWCCBhmyXLWzYbpvdqQlp+A1ePGiMV3+QN/+NC/Sg4Jts8uSdmezMG6ZSGHTdb2djc2t7Z7e0V94/ODw6rpyctk2SacZ9lshEd0NquBSK+yhQ8m6qOY1DyTvh5G5e7zxxbUSiHnGa8iCmIyUiwShay69NB43aoFJ16+5CZB28AqpQqDWofPWHCctirpBJakzPc1MMcqpRMMln5X5meErZhI54z6KiMTdBvlh2Ri6tMyRRou1TSBbu74mcxsZM49B2xhTHZrU2N/+r9TKMboNcqDRDrtjyoyiTBBMyv5wMheYM5dQCZVrYXQkbU00Z2nzKNgRv9eR1aDfqnuWHRrV5VcRRgnO4gGvw4AaacA8t8IGBgGd4hTdHOS/Ou/OxbN1wipkz+CPn8we+PI3g</latexit><latexit sha1_base64="gpWsNLdq3u5WliluCVruaPqRmhU=">AAAB7HicbZBNT8JAEIanfiJ+oR69bASNJ9Jy0SOJF4+YWCCBhmyXLWzYbpvdqQlp+A1ePGiMV3+QN/+NC/Sg4Jts8uSdmezMG6ZSGHTdb2djc2t7Z7e0V94/ODw6rpyctk2SacZ9lshEd0NquBSK+yhQ8m6qOY1DyTvh5G5e7zxxbUSiHnGa8iCmIyUiwShay69NB43aoFJ16+5CZB28AqpQqDWofPWHCctirpBJakzPc1MMcqpRMMln5X5meErZhI54z6KiMTdBvlh2Ri6tMyRRou1TSBbu74mcxsZM49B2xhTHZrU2N/+r9TKMboNcqDRDrtjyoyiTBBMyv5wMheYM5dQCZVrYXQkbU00Z2nzKNgRv9eR1aDfqnuWHRrV5VcRRgnO4gGvw4AaacA8t8IGBgGd4hTdHOS/Ou/OxbN1wipkz+CPn8we+PI3g</latexit><latexit sha1_base64="gpWsNLdq3u5WliluCVruaPqRmhU=">AAAB7HicbZBNT8JAEIanfiJ+oR69bASNJ9Jy0SOJF4+YWCCBhmyXLWzYbpvdqQlp+A1ePGiMV3+QN/+NC/Sg4Jts8uSdmezMG6ZSGHTdb2djc2t7Z7e0V94/ODw6rpyctk2SacZ9lshEd0NquBSK+yhQ8m6qOY1DyTvh5G5e7zxxbUSiHnGa8iCmIyUiwShay69NB43aoFJ16+5CZB28AqpQqDWofPWHCctirpBJakzPc1MMcqpRMMln5X5meErZhI54z6KiMTdBvlh2Ri6tMyRRou1TSBbu74mcxsZM49B2xhTHZrU2N/+r9TKMboNcqDRDrtjyoyiTBBMyv5wMheYM5dQCZVrYXQkbU00Z2nzKNgRv9eR1aDfqnuWHRrV5VcRRgnO4gGvw4AaacA8t8IGBgGd4hTdHOS/Ou/OxbN1wipkz+CPn8we+PI3g</latexit><latexit sha1_base64="gpWsNLdq3u5WliluCVruaPqRmhU=">AAAB7HicbZBNT8JAEIanfiJ+oR69bASNJ9Jy0SOJF4+YWCCBhmyXLWzYbpvdqQlp+A1ePGiMV3+QN/+NC/Sg4Jts8uSdmezMG6ZSGHTdb2djc2t7Z7e0V94/ODw6rpyctk2SacZ9lshEd0NquBSK+yhQ8m6qOY1DyTvh5G5e7zxxbUSiHnGa8iCmIyUiwShay69NB43aoFJ16+5CZB28AqpQqDWofPWHCctirpBJakzPc1MMcqpRMMln5X5meErZhI54z6KiMTdBvlh2Ri6tMyRRou1TSBbu74mcxsZM49B2xhTHZrU2N/+r9TKMboNcqDRDrtjyoyiTBBMyv5wMheYM5dQCZVrYXQkbU00Z2nzKNgRv9eR1aDfqnuWHRrV5VcRRgnO4gGvw4AaacA8t8IGBgGd4hTdHOS/Ou/OxbN1wipkz+CPn8we+PI3g</latexit>

y1<latexit sha1_base64="qV8nJ/elz9m1YWQxAR/RgqJqwvw=">AAAB7HicbZBNT8JAEIanfiJ+oR69bASNJ9Jy0SOJF4+YWCCBhmyXKWzYbpvdrQlp+A1ePGiMV3+QN/+NC/Sg4Jts8uSdmezMG6aCa+O6387G5tb2zm5pr7x/cHh0XDk5beskUwx9lohEdUOqUXCJvuFGYDdVSONQYCec3M3rnSdUmify0UxTDGI6kjzijBpr+bXpwKsNKlW37i5E1sEroAqFWoPKV3+YsCxGaZigWvc8NzVBTpXhTOCs3M80ppRN6Ah7FiWNUQf5YtkZubTOkESJsk8asnB/T+Q01noah7YzpmasV2tz879aLzPRbZBzmWYGJVt+FGWCmITMLydDrpAZMbVAmeJ2V8LGVFFmbD5lG4K3evI6tBt1z/JDo9q8KuIowTlcwDV4cANNuIcW+MCAwzO8wpsjnRfn3flYtm44xcwZ/JHz+QO8t43f</latexit><latexit sha1_base64="qV8nJ/elz9m1YWQxAR/RgqJqwvw=">AAAB7HicbZBNT8JAEIanfiJ+oR69bASNJ9Jy0SOJF4+YWCCBhmyXKWzYbpvdrQlp+A1ePGiMV3+QN/+NC/Sg4Jts8uSdmezMG6aCa+O6387G5tb2zm5pr7x/cHh0XDk5beskUwx9lohEdUOqUXCJvuFGYDdVSONQYCec3M3rnSdUmify0UxTDGI6kjzijBpr+bXpwKsNKlW37i5E1sEroAqFWoPKV3+YsCxGaZigWvc8NzVBTpXhTOCs3M80ppRN6Ah7FiWNUQf5YtkZubTOkESJsk8asnB/T+Q01noah7YzpmasV2tz879aLzPRbZBzmWYGJVt+FGWCmITMLydDrpAZMbVAmeJ2V8LGVFFmbD5lG4K3evI6tBt1z/JDo9q8KuIowTlcwDV4cANNuIcW+MCAwzO8wpsjnRfn3flYtm44xcwZ/JHz+QO8t43f</latexit><latexit sha1_base64="qV8nJ/elz9m1YWQxAR/RgqJqwvw=">AAAB7HicbZBNT8JAEIanfiJ+oR69bASNJ9Jy0SOJF4+YWCCBhmyXKWzYbpvdrQlp+A1ePGiMV3+QN/+NC/Sg4Jts8uSdmezMG6aCa+O6387G5tb2zm5pr7x/cHh0XDk5beskUwx9lohEdUOqUXCJvuFGYDdVSONQYCec3M3rnSdUmify0UxTDGI6kjzijBpr+bXpwKsNKlW37i5E1sEroAqFWoPKV3+YsCxGaZigWvc8NzVBTpXhTOCs3M80ppRN6Ah7FiWNUQf5YtkZubTOkESJsk8asnB/T+Q01noah7YzpmasV2tz879aLzPRbZBzmWYGJVt+FGWCmITMLydDrpAZMbVAmeJ2V8LGVFFmbD5lG4K3evI6tBt1z/JDo9q8KuIowTlcwDV4cANNuIcW+MCAwzO8wpsjnRfn3flYtm44xcwZ/JHz+QO8t43f</latexit><latexit sha1_base64="qV8nJ/elz9m1YWQxAR/RgqJqwvw=">AAAB7HicbZBNT8JAEIanfiJ+oR69bASNJ9Jy0SOJF4+YWCCBhmyXKWzYbpvdrQlp+A1ePGiMV3+QN/+NC/Sg4Jts8uSdmezMG6aCa+O6387G5tb2zm5pr7x/cHh0XDk5beskUwx9lohEdUOqUXCJvuFGYDdVSONQYCec3M3rnSdUmify0UxTDGI6kjzijBpr+bXpwKsNKlW37i5E1sEroAqFWoPKV3+YsCxGaZigWvc8NzVBTpXhTOCs3M80ppRN6Ah7FiWNUQf5YtkZubTOkESJsk8asnB/T+Q01noah7YzpmasV2tz879aLzPRbZBzmWYGJVt+FGWCmITMLydDrpAZMbVAmeJ2V8LGVFFmbD5lG4K3evI6tBt1z/JDo9q8KuIowTlcwDV4cANNuIcW+MCAwzO8wpsjnRfn3flYtm44xcwZ/JHz+QO8t43f</latexit>

y0<latexit sha1_base64="HeEijwzJo/arHqcPnonN5QrgcwY=">AAAB7HicbZBNT8JAEIanfiJ+oR69bASNJ9Jy0SOJF4+YWCCBhmyXLWzYbpvdqQlp+A1ePGiMV3+QN/+NC/Sg4Jts8uSdmezMG6ZSGHTdb2djc2t7Z7e0V94/ODw6rpyctk2SacZ9lshEd0NquBSK+yhQ8m6qOY1DyTvh5G5e7zxxbUSiHnGa8iCmIyUiwShay69NB25tUKm6dXchsg5eAVUo1BpUvvrDhGUxV8gkNabnuSkGOdUomOSzcj8zPKVsQke8Z1HRmJsgXyw7I5fWGZIo0fYpJAv390ROY2OmcWg7Y4pjs1qbm//VehlGt0EuVJohV2z5UZRJggmZX06GQnOGcmqBMi3sroSNqaYMbT5lG4K3evI6tBt1z/JDo9q8KuIowTlcwDV4cANNuIcW+MBAwDO8wpujnBfn3flYtm44xcwZ/JHz+QO7Mo3e</latexit><latexit sha1_base64="HeEijwzJo/arHqcPnonN5QrgcwY=">AAAB7HicbZBNT8JAEIanfiJ+oR69bASNJ9Jy0SOJF4+YWCCBhmyXLWzYbpvdqQlp+A1ePGiMV3+QN/+NC/Sg4Jts8uSdmezMG6ZSGHTdb2djc2t7Z7e0V94/ODw6rpyctk2SacZ9lshEd0NquBSK+yhQ8m6qOY1DyTvh5G5e7zxxbUSiHnGa8iCmIyUiwShay69NB25tUKm6dXchsg5eAVUo1BpUvvrDhGUxV8gkNabnuSkGOdUomOSzcj8zPKVsQke8Z1HRmJsgXyw7I5fWGZIo0fYpJAv390ROY2OmcWg7Y4pjs1qbm//VehlGt0EuVJohV2z5UZRJggmZX06GQnOGcmqBMi3sroSNqaYMbT5lG4K3evI6tBt1z/JDo9q8KuIowTlcwDV4cANNuIcW+MBAwDO8wpujnBfn3flYtm44xcwZ/JHz+QO7Mo3e</latexit><latexit sha1_base64="HeEijwzJo/arHqcPnonN5QrgcwY=">AAAB7HicbZBNT8JAEIanfiJ+oR69bASNJ9Jy0SOJF4+YWCCBhmyXLWzYbpvdqQlp+A1ePGiMV3+QN/+NC/Sg4Jts8uSdmezMG6ZSGHTdb2djc2t7Z7e0V94/ODw6rpyctk2SacZ9lshEd0NquBSK+yhQ8m6qOY1DyTvh5G5e7zxxbUSiHnGa8iCmIyUiwShay69NB25tUKm6dXchsg5eAVUo1BpUvvrDhGUxV8gkNabnuSkGOdUomOSzcj8zPKVsQke8Z1HRmJsgXyw7I5fWGZIo0fYpJAv390ROY2OmcWg7Y4pjs1qbm//VehlGt0EuVJohV2z5UZRJggmZX06GQnOGcmqBMi3sroSNqaYMbT5lG4K3evI6tBt1z/JDo9q8KuIowTlcwDV4cANNuIcW+MBAwDO8wpujnBfn3flYtm44xcwZ/JHz+QO7Mo3e</latexit><latexit sha1_base64="HeEijwzJo/arHqcPnonN5QrgcwY=">AAAB7HicbZBNT8JAEIanfiJ+oR69bASNJ9Jy0SOJF4+YWCCBhmyXLWzYbpvdqQlp+A1ePGiMV3+QN/+NC/Sg4Jts8uSdmezMG6ZSGHTdb2djc2t7Z7e0V94/ODw6rpyctk2SacZ9lshEd0NquBSK+yhQ8m6qOY1DyTvh5G5e7zxxbUSiHnGa8iCmIyUiwShay69NB25tUKm6dXchsg5eAVUo1BpUvvrDhGUxV8gkNabnuSkGOdUomOSzcj8zPKVsQke8Z1HRmJsgXyw7I5fWGZIo0fYpJAv390ROY2OmcWg7Y4pjs1qbm//VehlGt0EuVJohV2z5UZRJggmZX06GQnOGcmqBMi3sroSNqaYMbT5lG4K3evI6tBt1z/JDo9q8KuIowTlcwDV4cANNuIcW+MBAwDO8wpujnBfn3flYtm44xcwZ/JHz+QO7Mo3e</latexit>

x0<latexit sha1_base64="ityVHXWuLPr4YhpOt0ymukyJwW0=">AAAB7HicbZA9TwJBEIbn8AvxC7W02QgaK3JHoyWJjSUmHpDAhewtc7Bhb++yu2ckhN9gY6Extv4gO/+NC1yh4Jts8uSdmezMG6aCa+O6305hY3Nre6e4W9rbPzg8Kh+ftHSSKYY+S0SiOiHVKLhE33AjsJMqpHEosB2Ob+f19iMqzRP5YCYpBjEdSh5xRo21/OpT3632yxW35i5E1sHLoQK5mv3yV2+QsCxGaZigWnc9NzXBlCrDmcBZqZdpTCkb0yF2LUoaow6mi2Vn5MI6AxIlyj5pyML9PTGlsdaTOLSdMTUjvVqbm//VupmJboIpl2lmULLlR1EmiEnI/HIy4AqZERMLlCludyVsRBVlxuZTsiF4qyevQ6te8yzf1yuNyzyOIpzBOVyBB9fQgDtogg8MODzDK7w50nlx3p2PZWvByWdO4Y+czx+5q43d</latexit><latexit sha1_base64="ityVHXWuLPr4YhpOt0ymukyJwW0=">AAAB7HicbZA9TwJBEIbn8AvxC7W02QgaK3JHoyWJjSUmHpDAhewtc7Bhb++yu2ckhN9gY6Extv4gO/+NC1yh4Jts8uSdmezMG6aCa+O6305hY3Nre6e4W9rbPzg8Kh+ftHSSKYY+S0SiOiHVKLhE33AjsJMqpHEosB2Ob+f19iMqzRP5YCYpBjEdSh5xRo21/OpT3632yxW35i5E1sHLoQK5mv3yV2+QsCxGaZigWnc9NzXBlCrDmcBZqZdpTCkb0yF2LUoaow6mi2Vn5MI6AxIlyj5pyML9PTGlsdaTOLSdMTUjvVqbm//VupmJboIpl2lmULLlR1EmiEnI/HIy4AqZERMLlCludyVsRBVlxuZTsiF4qyevQ6te8yzf1yuNyzyOIpzBOVyBB9fQgDtogg8MODzDK7w50nlx3p2PZWvByWdO4Y+czx+5q43d</latexit><latexit sha1_base64="ityVHXWuLPr4YhpOt0ymukyJwW0=">AAAB7HicbZA9TwJBEIbn8AvxC7W02QgaK3JHoyWJjSUmHpDAhewtc7Bhb++yu2ckhN9gY6Extv4gO/+NC1yh4Jts8uSdmezMG6aCa+O6305hY3Nre6e4W9rbPzg8Kh+ftHSSKYY+S0SiOiHVKLhE33AjsJMqpHEosB2Ob+f19iMqzRP5YCYpBjEdSh5xRo21/OpT3632yxW35i5E1sHLoQK5mv3yV2+QsCxGaZigWnc9NzXBlCrDmcBZqZdpTCkb0yF2LUoaow6mi2Vn5MI6AxIlyj5pyML9PTGlsdaTOLSdMTUjvVqbm//VupmJboIpl2lmULLlR1EmiEnI/HIy4AqZERMLlCludyVsRBVlxuZTsiF4qyevQ6te8yzf1yuNyzyOIpzBOVyBB9fQgDtogg8MODzDK7w50nlx3p2PZWvByWdO4Y+czx+5q43d</latexit><latexit sha1_base64="ityVHXWuLPr4YhpOt0ymukyJwW0=">AAAB7HicbZA9TwJBEIbn8AvxC7W02QgaK3JHoyWJjSUmHpDAhewtc7Bhb++yu2ckhN9gY6Extv4gO/+NC1yh4Jts8uSdmezMG6aCa+O6305hY3Nre6e4W9rbPzg8Kh+ftHSSKYY+S0SiOiHVKLhE33AjsJMqpHEosB2Ob+f19iMqzRP5YCYpBjEdSh5xRo21/OpT3632yxW35i5E1sHLoQK5mv3yV2+QsCxGaZigWnc9NzXBlCrDmcBZqZdpTCkb0yF2LUoaow6mi2Vn5MI6AxIlyj5pyML9PTGlsdaTOLSdMTUjvVqbm//VupmJboIpl2lmULLlR1EmiEnI/HIy4AqZERMLlCludyVsRBVlxuZTsiF4qyevQ6te8yzf1yuNyzyOIpzBOVyBB9fQgDtogg8MODzDK7w50nlx3p2PZWvByWdO4Y+czx+5q43d</latexit>

x1<latexit sha1_base64="D2q8JmKRu75heN8ZgB0SL9eBWCg=">AAAB7HicbZA9TwJBEIbn8AvxC7W02QgaK3JHoyWJjSUmHpDAhewtc7Bhb++yu2ckhN9gY6Extv4gO/+NC1yh4Jts8uSdmezMG6aCa+O6305hY3Nre6e4W9rbPzg8Kh+ftHSSKYY+S0SiOiHVKLhE33AjsJMqpHEosB2Ob+f19iMqzRP5YCYpBjEdSh5xRo21/OpT36v2yxW35i5E1sHLoQK5mv3yV2+QsCxGaZigWnc9NzXBlCrDmcBZqZdpTCkb0yF2LUoaow6mi2Vn5MI6AxIlyj5pyML9PTGlsdaTOLSdMTUjvVqbm//VupmJboIpl2lmULLlR1EmiEnI/HIy4AqZERMLlCludyVsRBVlxuZTsiF4qyevQ6te8yzf1yuNyzyOIpzBOVyBB9fQgDtogg8MODzDK7w50nlx3p2PZWvByWdO4Y+czx+7MI3e</latexit><latexit sha1_base64="D2q8JmKRu75heN8ZgB0SL9eBWCg=">AAAB7HicbZA9TwJBEIbn8AvxC7W02QgaK3JHoyWJjSUmHpDAhewtc7Bhb++yu2ckhN9gY6Extv4gO/+NC1yh4Jts8uSdmezMG6aCa+O6305hY3Nre6e4W9rbPzg8Kh+ftHSSKYY+S0SiOiHVKLhE33AjsJMqpHEosB2Ob+f19iMqzRP5YCYpBjEdSh5xRo21/OpT36v2yxW35i5E1sHLoQK5mv3yV2+QsCxGaZigWnc9NzXBlCrDmcBZqZdpTCkb0yF2LUoaow6mi2Vn5MI6AxIlyj5pyML9PTGlsdaTOLSdMTUjvVqbm//VupmJboIpl2lmULLlR1EmiEnI/HIy4AqZERMLlCludyVsRBVlxuZTsiF4qyevQ6te8yzf1yuNyzyOIpzBOVyBB9fQgDtogg8MODzDK7w50nlx3p2PZWvByWdO4Y+czx+7MI3e</latexit><latexit sha1_base64="D2q8JmKRu75heN8ZgB0SL9eBWCg=">AAAB7HicbZA9TwJBEIbn8AvxC7W02QgaK3JHoyWJjSUmHpDAhewtc7Bhb++yu2ckhN9gY6Extv4gO/+NC1yh4Jts8uSdmezMG6aCa+O6305hY3Nre6e4W9rbPzg8Kh+ftHSSKYY+S0SiOiHVKLhE33AjsJMqpHEosB2Ob+f19iMqzRP5YCYpBjEdSh5xRo21/OpT36v2yxW35i5E1sHLoQK5mv3yV2+QsCxGaZigWnc9NzXBlCrDmcBZqZdpTCkb0yF2LUoaow6mi2Vn5MI6AxIlyj5pyML9PTGlsdaTOLSdMTUjvVqbm//VupmJboIpl2lmULLlR1EmiEnI/HIy4AqZERMLlCludyVsRBVlxuZTsiF4qyevQ6te8yzf1yuNyzyOIpzBOVyBB9fQgDtogg8MODzDK7w50nlx3p2PZWvByWdO4Y+czx+7MI3e</latexit><latexit sha1_base64="D2q8JmKRu75heN8ZgB0SL9eBWCg=">AAAB7HicbZA9TwJBEIbn8AvxC7W02QgaK3JHoyWJjSUmHpDAhewtc7Bhb++yu2ckhN9gY6Extv4gO/+NC1yh4Jts8uSdmezMG6aCa+O6305hY3Nre6e4W9rbPzg8Kh+ftHSSKYY+S0SiOiHVKLhE33AjsJMqpHEosB2Ob+f19iMqzRP5YCYpBjEdSh5xRo21/OpT36v2yxW35i5E1sHLoQK5mv3yV2+QsCxGaZigWnc9NzXBlCrDmcBZqZdpTCkb0yF2LUoaow6mi2Vn5MI6AxIlyj5pyML9PTGlsdaTOLSdMTUjvVqbm//VupmJboIpl2lmULLlR1EmiEnI/HIy4AqZERMLlCludyVsRBVlxuZTsiF4qyevQ6te8yzf1yuNyzyOIpzBOVyBB9fQgDtogg8MODzDK7w50nlx3p2PZWvByWdO4Y+czx+7MI3e</latexit>

x2<latexit sha1_base64="U6BRC5RERfZQDXwj/WAGhSbfSRk=">AAAB7HicbZA9TwJBEIbn8AvxC7W02QgaK3JHoyWJjSUmHpDAhewtC2zY27vszhnJhd9gY6Extv4gO/+NC1yh4Jts8uSdmezMGyZSGHTdb6ewsbm1vVPcLe3tHxwelY9PWiZONeM+i2WsOyE1XArFfRQoeSfRnEah5O1wcjuvtx+5NiJWDzhNeBDRkRJDwShay68+9evVfrni1tyFyDp4OVQgV7Nf/uoNYpZGXCGT1Jiu5yYYZFSjYJLPSr3U8ISyCR3xrkVFI26CbLHsjFxYZ0CGsbZPIVm4vycyGhkzjULbGVEcm9Xa3Pyv1k1xeBNkQiUpcsWWHw1TSTAm88vJQGjOUE4tUKaF3ZWwMdWUoc2nZEPwVk9eh1a95lm+r1cal3kcRTiDc7gCD66hAXfQBB8YCHiGV3hzlPPivDsfy9aCk8+cwh85nz+8tY3f</latexit><latexit sha1_base64="U6BRC5RERfZQDXwj/WAGhSbfSRk=">AAAB7HicbZA9TwJBEIbn8AvxC7W02QgaK3JHoyWJjSUmHpDAhewtC2zY27vszhnJhd9gY6Extv4gO/+NC1yh4Jts8uSdmezMGyZSGHTdb6ewsbm1vVPcLe3tHxwelY9PWiZONeM+i2WsOyE1XArFfRQoeSfRnEah5O1wcjuvtx+5NiJWDzhNeBDRkRJDwShay68+9evVfrni1tyFyDp4OVQgV7Nf/uoNYpZGXCGT1Jiu5yYYZFSjYJLPSr3U8ISyCR3xrkVFI26CbLHsjFxYZ0CGsbZPIVm4vycyGhkzjULbGVEcm9Xa3Pyv1k1xeBNkQiUpcsWWHw1TSTAm88vJQGjOUE4tUKaF3ZWwMdWUoc2nZEPwVk9eh1a95lm+r1cal3kcRTiDc7gCD66hAXfQBB8YCHiGV3hzlPPivDsfy9aCk8+cwh85nz+8tY3f</latexit><latexit sha1_base64="U6BRC5RERfZQDXwj/WAGhSbfSRk=">AAAB7HicbZA9TwJBEIbn8AvxC7W02QgaK3JHoyWJjSUmHpDAhewtC2zY27vszhnJhd9gY6Extv4gO/+NC1yh4Jts8uSdmezMGyZSGHTdb6ewsbm1vVPcLe3tHxwelY9PWiZONeM+i2WsOyE1XArFfRQoeSfRnEah5O1wcjuvtx+5NiJWDzhNeBDRkRJDwShay68+9evVfrni1tyFyDp4OVQgV7Nf/uoNYpZGXCGT1Jiu5yYYZFSjYJLPSr3U8ISyCR3xrkVFI26CbLHsjFxYZ0CGsbZPIVm4vycyGhkzjULbGVEcm9Xa3Pyv1k1xeBNkQiUpcsWWHw1TSTAm88vJQGjOUE4tUKaF3ZWwMdWUoc2nZEPwVk9eh1a95lm+r1cal3kcRTiDc7gCD66hAXfQBB8YCHiGV3hzlPPivDsfy9aCk8+cwh85nz+8tY3f</latexit><latexit sha1_base64="U6BRC5RERfZQDXwj/WAGhSbfSRk=">AAAB7HicbZA9TwJBEIbn8AvxC7W02QgaK3JHoyWJjSUmHpDAhewtC2zY27vszhnJhd9gY6Extv4gO/+NC1yh4Jts8uSdmezMGyZSGHTdb6ewsbm1vVPcLe3tHxwelY9PWiZONeM+i2WsOyE1XArFfRQoeSfRnEah5O1wcjuvtx+5NiJWDzhNeBDRkRJDwShay68+9evVfrni1tyFyDp4OVQgV7Nf/uoNYpZGXCGT1Jiu5yYYZFSjYJLPSr3U8ISyCR3xrkVFI26CbLHsjFxYZ0CGsbZPIVm4vycyGhkzjULbGVEcm9Xa3Pyv1k1xeBNkQiUpcsWWHw1TSTAm88vJQGjOUE4tUKaF3ZWwMdWUoc2nZEPwVk9eh1a95lm+r1cal3kcRTiDc7gCD66hAXfQBB8YCHiGV3hzlPPivDsfy9aCk8+cwh85nz+8tY3f</latexit>

x3<latexit sha1_base64="Bllpzvelf0oncLixa8U/0BgAU5U=">AAAB7HicbZA9TwJBEIbn/ET8Qi1tNoLGitxhoSWJjSUmHpDAhewtc7Bhb++yu2ckhN9gY6Extv4gO/+NC1yh4Jts8uSdmezMG6aCa+O6387a+sbm1nZhp7i7t39wWDo6buokUwx9lohEtUOqUXCJvuFGYDtVSONQYCsc3c7qrUdUmifywYxTDGI6kDzijBpr+ZWn3lWlVyq7VXcusgpeDmXI1eiVvrr9hGUxSsME1brjuakJJlQZzgROi91MY0rZiA6wY1HSGHUwmS87JefW6ZMoUfZJQ+bu74kJjbUex6HtjKkZ6uXazPyv1slMdBNMuEwzg5ItPooyQUxCZpeTPlfIjBhboExxuythQ6ooMzafog3BWz55FZq1qmf5vlauX+RxFOAUzuASPLiGOtxBA3xgwOEZXuHNkc6L8+58LFrXnHzmBP7I+fwBvjqN4A==</latexit><latexit sha1_base64="Bllpzvelf0oncLixa8U/0BgAU5U=">AAAB7HicbZA9TwJBEIbn/ET8Qi1tNoLGitxhoSWJjSUmHpDAhewtc7Bhb++yu2ckhN9gY6Extv4gO/+NC1yh4Jts8uSdmezMG6aCa+O6387a+sbm1nZhp7i7t39wWDo6buokUwx9lohEtUOqUXCJvuFGYDtVSONQYCsc3c7qrUdUmifywYxTDGI6kDzijBpr+ZWn3lWlVyq7VXcusgpeDmXI1eiVvrr9hGUxSsME1brjuakJJlQZzgROi91MY0rZiA6wY1HSGHUwmS87JefW6ZMoUfZJQ+bu74kJjbUex6HtjKkZ6uXazPyv1slMdBNMuEwzg5ItPooyQUxCZpeTPlfIjBhboExxuythQ6ooMzafog3BWz55FZq1qmf5vlauX+RxFOAUzuASPLiGOtxBA3xgwOEZXuHNkc6L8+58LFrXnHzmBP7I+fwBvjqN4A==</latexit><latexit sha1_base64="Bllpzvelf0oncLixa8U/0BgAU5U=">AAAB7HicbZA9TwJBEIbn/ET8Qi1tNoLGitxhoSWJjSUmHpDAhewtc7Bhb++yu2ckhN9gY6Extv4gO/+NC1yh4Jts8uSdmezMG6aCa+O6387a+sbm1nZhp7i7t39wWDo6buokUwx9lohEtUOqUXCJvuFGYDtVSONQYCsc3c7qrUdUmifywYxTDGI6kDzijBpr+ZWn3lWlVyq7VXcusgpeDmXI1eiVvrr9hGUxSsME1brjuakJJlQZzgROi91MY0rZiA6wY1HSGHUwmS87JefW6ZMoUfZJQ+bu74kJjbUex6HtjKkZ6uXazPyv1slMdBNMuEwzg5ItPooyQUxCZpeTPlfIjBhboExxuythQ6ooMzafog3BWz55FZq1qmf5vlauX+RxFOAUzuASPLiGOtxBA3xgwOEZXuHNkc6L8+58LFrXnHzmBP7I+fwBvjqN4A==</latexit><latexit sha1_base64="Bllpzvelf0oncLixa8U/0BgAU5U=">AAAB7HicbZA9TwJBEIbn/ET8Qi1tNoLGitxhoSWJjSUmHpDAhewtc7Bhb++yu2ckhN9gY6Extv4gO/+NC1yh4Jts8uSdmezMG6aCa+O6387a+sbm1nZhp7i7t39wWDo6buokUwx9lohEtUOqUXCJvuFGYDtVSONQYCsc3c7qrUdUmifywYxTDGI6kDzijBpr+ZWn3lWlVyq7VXcusgpeDmXI1eiVvrr9hGUxSsME1brjuakJJlQZzgROi91MY0rZiA6wY1HSGHUwmS87JefW6ZMoUfZJQ+bu74kJjbUex6HtjKkZ6uXazPyv1slMdBNMuEwzg5ItPooyQUxCZpeTPlfIjBhboExxuythQ6ooMzafog3BWz55FZq1qmf5vlauX+RxFOAUzuASPLiGOtxBA3xgwOEZXuHNkc6L8+58LFrXnHzmBP7I+fwBvjqN4A==</latexit>

x4<latexit sha1_base64="yc1Q/d6h4IMWrSe3O3pd0EhIxZk=">AAAB7HicbZBNSwMxEIZn/az1q+rRS7BVPJXdIuix4MVjBbcttEvJprNtaDa7JFmxlP4GLx4U8eoP8ua/MW33oK0vBB7emSEzb5gKro3rfjtr6xubW9uFneLu3v7BYenouKmTTDH0WSIS1Q6pRsEl+oYbge1UIY1Dga1wdDurtx5RaZ7IBzNOMYjpQPKIM2qs5VeeeleVXqnsVt25yCp4OZQhV6NX+ur2E5bFKA0TVOuO56YmmFBlOBM4LXYzjSllIzrAjkVJY9TBZL7slJxbp0+iRNknDZm7vycmNNZ6HIe2M6ZmqJdrM/O/Wicz0U0w4TLNDEq2+CjKBDEJmV1O+lwhM2JsgTLF7a6EDamizNh8ijYEb/nkVWjWqp7l+1q5fpHHUYBTOINL8OAa6nAHDfCBAYdneIU3RzovzrvzsWhdc/KZE/gj5/MHv7+N4Q==</latexit><latexit sha1_base64="yc1Q/d6h4IMWrSe3O3pd0EhIxZk=">AAAB7HicbZBNSwMxEIZn/az1q+rRS7BVPJXdIuix4MVjBbcttEvJprNtaDa7JFmxlP4GLx4U8eoP8ua/MW33oK0vBB7emSEzb5gKro3rfjtr6xubW9uFneLu3v7BYenouKmTTDH0WSIS1Q6pRsEl+oYbge1UIY1Dga1wdDurtx5RaZ7IBzNOMYjpQPKIM2qs5VeeeleVXqnsVt25yCp4OZQhV6NX+ur2E5bFKA0TVOuO56YmmFBlOBM4LXYzjSllIzrAjkVJY9TBZL7slJxbp0+iRNknDZm7vycmNNZ6HIe2M6ZmqJdrM/O/Wicz0U0w4TLNDEq2+CjKBDEJmV1O+lwhM2JsgTLF7a6EDamizNh8ijYEb/nkVWjWqp7l+1q5fpHHUYBTOINL8OAa6nAHDfCBAYdneIU3RzovzrvzsWhdc/KZE/gj5/MHv7+N4Q==</latexit><latexit sha1_base64="yc1Q/d6h4IMWrSe3O3pd0EhIxZk=">AAAB7HicbZBNSwMxEIZn/az1q+rRS7BVPJXdIuix4MVjBbcttEvJprNtaDa7JFmxlP4GLx4U8eoP8ua/MW33oK0vBB7emSEzb5gKro3rfjtr6xubW9uFneLu3v7BYenouKmTTDH0WSIS1Q6pRsEl+oYbge1UIY1Dga1wdDurtx5RaZ7IBzNOMYjpQPKIM2qs5VeeeleVXqnsVt25yCp4OZQhV6NX+ur2E5bFKA0TVOuO56YmmFBlOBM4LXYzjSllIzrAjkVJY9TBZL7slJxbp0+iRNknDZm7vycmNNZ6HIe2M6ZmqJdrM/O/Wicz0U0w4TLNDEq2+CjKBDEJmV1O+lwhM2JsgTLF7a6EDamizNh8ijYEb/nkVWjWqp7l+1q5fpHHUYBTOINL8OAa6nAHDfCBAYdneIU3RzovzrvzsWhdc/KZE/gj5/MHv7+N4Q==</latexit><latexit sha1_base64="yc1Q/d6h4IMWrSe3O3pd0EhIxZk=">AAAB7HicbZBNSwMxEIZn/az1q+rRS7BVPJXdIuix4MVjBbcttEvJprNtaDa7JFmxlP4GLx4U8eoP8ua/MW33oK0vBB7emSEzb5gKro3rfjtr6xubW9uFneLu3v7BYenouKmTTDH0WSIS1Q6pRsEl+oYbge1UIY1Dga1wdDurtx5RaZ7IBzNOMYjpQPKIM2qs5VeeeleVXqnsVt25yCp4OZQhV6NX+ur2E5bFKA0TVOuO56YmmFBlOBM4LXYzjSllIzrAjkVJY9TBZL7slJxbp0+iRNknDZm7vycmNNZ6HIe2M6ZmqJdrM/O/Wicz0U0w4TLNDEq2+CjKBDEJmV1O+lwhM2JsgTLF7a6EDamizNh8ijYEb/nkVWjWqp7l+1q5fpHHUYBTOINL8OAa6nAHDfCBAYdneIU3RzovzrvzsWhdc/KZE/gj5/MHv7+N4Q==</latexit>

T =

0 1 1 00 0 0 01 0 1 1

δx =

[x1 − x0 x2 − x1 x3 − x2 x4 − x3

]δy =

[y1 − y0 y2 − y1 y3 − y2

]Figure 3: Squish pattern generation.

Squish pattern is a scan line-based representation that each layoutclip is cut into grids aligned at all shape edges, as shown in Figure 3.The squish pattern representation of a given layout clip consists of atopology matrixT and two vectors δx and δy that contain geometryinformation in x and y directions. Each entry of T is either zeroor one which indicates shape or space respectively. The geometricinformation describes the size of each grid. For example, the pattern inFigure 3 can be accordingly expressed as in the right side of Figure 3.Here xi s and yi s are the locations of vertical and horizontal scanlines respectively, and the pattern complexity is accordingly givenby cx = 4 and cy = 3. Canonically, (x0,y0) is the coordinate of thebottom left corner of the pattern and xi < xi+1,yi < yi+1. From thesquish pattern extraction procedure, we can also easily obtain thefollowing lemma.

Lemma 1. Squish pattern representation is lossless.

Now the problem becomes generating legal topologies and solvingassociated δx s and δy s that are much easier than directly generatingDRC-clean patterns. The advantages of squish patterns are two-fold:(1) Squish patterns are storage-efficient and supports neural networksand other machine learning models. (2) Squish patterns are naturallycompatible with the simplified pattern generation flow that will bediscussed in following sections.

Page 3: DeePattern: Layout Pattern Generation with Transforming ...byu/papers/C86-DAC2019-DeePattern.pdf · 1 INTRODUCTION VLSI layout patterns provide critic resources in various design

conv, 5x5x128

conv, 5x5x256

fc, 1024

fc, 32

x1, x2, ..., x32

fc, 1024

fc, 4x4x256

dconv, 5x5x128

dconv, 5x5x1

recognition:fgeneration:g

latent

(a) Training

conv, 5x5x128

conv, 5x5x256

fc, 1024

fc, 32

fc, 1024

fc, 4x4x256

dconv, 5x5x128

dconv, 5x5x1

x1, x2, ..., x32

recognition:fgeneration:g

perturbedlatent

x0

(b) Testing

Figure 4: Architecture of transforming convolutional auto-encoder in (a) training phase and (b) testing phase.

3.2 Topology Generation3.2.1 Transforming Convolutional Auto-Encoder (TCAE).

In this paper, we propose a TCAE architecture that aims at efficientpattern topology T generation. The TCAE is derived from originaltransforming auto-encoders (TAEs) [22] which are a group of denselyconnected auto-encoders and each individual, referred as a capsule,is targeting on certain image-to-image transformations. Each cap-sule employs a recognition unit and a generation unit to capture apose position and re-synthesize the translated object, respectively.The translation is defined on a regular coordination system that willbe added up to the original pose position before fed into the gen-eration unit. In the training phase, neuron weights are updated bybackpropagating the differences between the output image and theactual translated image given the translation information. After theneural network is trained, it takes inputs of an image and transla-tion information and outputs the image with desired shifts. Sucharchitecture agrees with the pattern generation tasks in the followingaspects. (1) Feature instantiation attains data set domain properties.(2) All capsules contribute together to produce variations of any inputobjects. Although such architecture can capture the feature character-istics from original object pixel intensities, TAEs cannot be directlyapplied for pattern generation due to the fact that transformationsare restricted by layout design rules and only very simple pose trans-formations are supported by original TAEs, which does not satisfy ourpattern generation objectives.

Observe that each capsule unit functions similarly as independentreceptive field in convolutional layers, we develop the TCAE archi-tecture for feature learning and pattern reconstruction, as shown inFigure 4. The detection unit in TCAE consists of multiple convolu-tional layers for hierarchical feature extraction, followed by several

Bow-tie 2D Shape Cross tracks

Figure 5: Illegal topology examples.

densely connected layers as an instantiation of the input pattern inthe latent vector space, as in Equation (2).

l = f (T ;Wf ), (2)

where l is the latent vector,T represents the input topology andWfcontains all the trainable parameters associated with the recognitionunit. The latent vector works similarly as a group of capsule unitswith each node being an low level feature representation. We willshow each latent vector node contributes to pattern shape globallyor locally in the experiment section.

The generation unit contains deconvolutional layers [23] that castthe pattern object from the latent vector space back to the originalpattern space, as in Equation (3).

T ′ = д(l + ∆l ;Wд), (3)

where ∆l is the perturbation applied on the latent vector that allowsinputs to conduct transformations. During training, we force theTCAE to learn an identity mapping with the following objectives.

maxWf ,Wд

| |T −T ′ | |2, s.t. ∆l = 0. (4)

The TCAE-based framework differs from TAEs in the following as-pects.• We replace the group capsules with a simpler latent vectorthat contains feature nodes that connect to different receptivefields in the early convolutional layers and hence can representcertain part-whole feature instantiation.• The transformation in our framework applies directly on thelatent vector space that promises a much larger diversity ofthe generated patterns compared to the limited transformationon the coordinate system only in TAEs.• Identity mapping in the training phase helps the TCAE capturethe design rule properties of existing patterns.

Once the TCAE is trained, we can adopt the flow in Figure 4(b)to generate pattern topologies from perturbed latent vector space ofexisting layout patterns. During the inference phase, we feed a groupof squish topologies into the trained recognition unit that extractlatent vector instantiations of existing topologies. Perturbation onthe latent vector space is expected to expand the existing patternlibrary with legal topologies. We claim the following assumption.

Assumption 1. The latent vector space offers richer informationand each latent vector node represents patten geometry locally orglobally, e.g., some vector nodes may control shape sizes while someothers may control shape positions.

3.2.2 TCAE-Combine. A straightforward perturbation approachis combining existing topologies in the latent vector space, which isexpected to fill certain region of a given pattern library. The combi-nation rule can be defined as Equation (5).

Tд = д(∑iαi f (Ti )), (5)

Page 4: DeePattern: Layout Pattern Generation with Transforming ...byu/papers/C86-DAC2019-DeePattern.pdf · 1 INTRODUCTION VLSI layout patterns provide critic resources in various design

T1<latexit sha1_base64="Rc3Gi5Q36BarX7gTPL4E1b63urs=">AAACEnicbZDNSsNAFIVv/K31r+rSzWARXEhJRNBlwY3LCv2DNpbJdNIOnUzCzI1QQt/ChVt9DHfi1hfwKXwFp20WtvXCwMc598KZEyRSGHTdb2dtfWNza7uwU9zd2z84LB0dN02casYbLJaxbgfUcCkUb6BAyduJ5jQKJG8Fo7up33ri2ohY1XGccD+iAyVCwSha6bEbURwGocCsPul5vVLZrbizIavg5VCGfGq90k+3H7M04gqZpMZ0PDdBP6MaBZN8UuymhieUjeiAdywqGnHjZ7PUE3JulT4JY22fQjJT/15kNDJmHAV2c5rSLHtT8V9PmHjBW4yB4a2fCZWkyBWbpwhTSTAm035IX2jOUI4tUKaF/QhhQ6opQ9ti0TbkLfexCs2rimf54bpcvcy7KsApnMEFeHADVbiHGjSAgYYXeIU359l5dz6cz/nqmpPfnMDCOF+/XLOd/Q==</latexit><latexit sha1_base64="Rc3Gi5Q36BarX7gTPL4E1b63urs=">AAACEnicbZDNSsNAFIVv/K31r+rSzWARXEhJRNBlwY3LCv2DNpbJdNIOnUzCzI1QQt/ChVt9DHfi1hfwKXwFp20WtvXCwMc598KZEyRSGHTdb2dtfWNza7uwU9zd2z84LB0dN02casYbLJaxbgfUcCkUb6BAyduJ5jQKJG8Fo7up33ri2ohY1XGccD+iAyVCwSha6bEbURwGocCsPul5vVLZrbizIavg5VCGfGq90k+3H7M04gqZpMZ0PDdBP6MaBZN8UuymhieUjeiAdywqGnHjZ7PUE3JulT4JY22fQjJT/15kNDJmHAV2c5rSLHtT8V9PmHjBW4yB4a2fCZWkyBWbpwhTSTAm035IX2jOUI4tUKaF/QhhQ6opQ9ti0TbkLfexCs2rimf54bpcvcy7KsApnMEFeHADVbiHGjSAgYYXeIU359l5dz6cz/nqmpPfnMDCOF+/XLOd/Q==</latexit><latexit sha1_base64="Rc3Gi5Q36BarX7gTPL4E1b63urs=">AAACEnicbZDNSsNAFIVv/K31r+rSzWARXEhJRNBlwY3LCv2DNpbJdNIOnUzCzI1QQt/ChVt9DHfi1hfwKXwFp20WtvXCwMc598KZEyRSGHTdb2dtfWNza7uwU9zd2z84LB0dN02casYbLJaxbgfUcCkUb6BAyduJ5jQKJG8Fo7up33ri2ohY1XGccD+iAyVCwSha6bEbURwGocCsPul5vVLZrbizIavg5VCGfGq90k+3H7M04gqZpMZ0PDdBP6MaBZN8UuymhieUjeiAdywqGnHjZ7PUE3JulT4JY22fQjJT/15kNDJmHAV2c5rSLHtT8V9PmHjBW4yB4a2fCZWkyBWbpwhTSTAm035IX2jOUI4tUKaF/QhhQ6opQ9ti0TbkLfexCs2rimf54bpcvcy7KsApnMEFeHADVbiHGjSAgYYXeIU359l5dz6cz/nqmpPfnMDCOF+/XLOd/Q==</latexit><latexit sha1_base64="Rc3Gi5Q36BarX7gTPL4E1b63urs=">AAACEnicbZDNSsNAFIVv/K31r+rSzWARXEhJRNBlwY3LCv2DNpbJdNIOnUzCzI1QQt/ChVt9DHfi1hfwKXwFp20WtvXCwMc598KZEyRSGHTdb2dtfWNza7uwU9zd2z84LB0dN02casYbLJaxbgfUcCkUb6BAyduJ5jQKJG8Fo7up33ri2ohY1XGccD+iAyVCwSha6bEbURwGocCsPul5vVLZrbizIavg5VCGfGq90k+3H7M04gqZpMZ0PDdBP6MaBZN8UuymhieUjeiAdywqGnHjZ7PUE3JulT4JY22fQjJT/15kNDJmHAV2c5rSLHtT8V9PmHjBW4yB4a2fCZWkyBWbpwhTSTAm035IX2jOUI4tUKaF/QhhQ6opQ9ti0TbkLfexCs2rimf54bpcvcy7KsApnMEFeHADVbiHGjSAgYYXeIU359l5dz6cz/nqmpPfnMDCOF+/XLOd/Q==</latexit>

T2<latexit sha1_base64="DzZuMFMIutEhnNMA8oEMc2NeNso=">AAACEnicbZDNSgMxFIUz9a/Wv6pLN8EiuJAyUwRdFty4rNA/aMeSSTNtaCYZkjtCGfoWLtzqY7gTt76AT+ErmGlnYVsvBD7OuRdOThALbsB1v53CxubW9k5xt7S3f3B4VD4+aRuVaMpaVAmluwExTHDJWsBBsG6sGYkCwTrB5C7zO09MG65kE6Yx8yMykjzklICVHvsRgXEQckibs0FtUK64VXc+eB28HCoon8ag/NMfKppETAIVxJie58bgp0QDp4LNSv3EsJjQCRmxnkVJImb8dJ56hi+sMsSh0vZJwHP170VKImOmUWA3s5Rm1cvEfz1u1JK3HAPCWz/lMk6ASbpIESYCg8JZP3jINaMgphYI1dx+BNMx0YSCbbFkG/JW+1iHdq3qWX64rtSv8q6K6Aydo0vkoRtUR/eogVqIIo1e0Ct6c56dd+fD+VysFpz85hQtjfP1C15Unf4=</latexit><latexit sha1_base64="DzZuMFMIutEhnNMA8oEMc2NeNso=">AAACEnicbZDNSgMxFIUz9a/Wv6pLN8EiuJAyUwRdFty4rNA/aMeSSTNtaCYZkjtCGfoWLtzqY7gTt76AT+ErmGlnYVsvBD7OuRdOThALbsB1v53CxubW9k5xt7S3f3B4VD4+aRuVaMpaVAmluwExTHDJWsBBsG6sGYkCwTrB5C7zO09MG65kE6Yx8yMykjzklICVHvsRgXEQckibs0FtUK64VXc+eB28HCoon8ag/NMfKppETAIVxJie58bgp0QDp4LNSv3EsJjQCRmxnkVJImb8dJ56hi+sMsSh0vZJwHP170VKImOmUWA3s5Rm1cvEfz1u1JK3HAPCWz/lMk6ASbpIESYCg8JZP3jINaMgphYI1dx+BNMx0YSCbbFkG/JW+1iHdq3qWX64rtSv8q6K6Aydo0vkoRtUR/eogVqIIo1e0Ct6c56dd+fD+VysFpz85hQtjfP1C15Unf4=</latexit><latexit sha1_base64="DzZuMFMIutEhnNMA8oEMc2NeNso=">AAACEnicbZDNSgMxFIUz9a/Wv6pLN8EiuJAyUwRdFty4rNA/aMeSSTNtaCYZkjtCGfoWLtzqY7gTt76AT+ErmGlnYVsvBD7OuRdOThALbsB1v53CxubW9k5xt7S3f3B4VD4+aRuVaMpaVAmluwExTHDJWsBBsG6sGYkCwTrB5C7zO09MG65kE6Yx8yMykjzklICVHvsRgXEQckibs0FtUK64VXc+eB28HCoon8ag/NMfKppETAIVxJie58bgp0QDp4LNSv3EsJjQCRmxnkVJImb8dJ56hi+sMsSh0vZJwHP170VKImOmUWA3s5Rm1cvEfz1u1JK3HAPCWz/lMk6ASbpIESYCg8JZP3jINaMgphYI1dx+BNMx0YSCbbFkG/JW+1iHdq3qWX64rtSv8q6K6Aydo0vkoRtUR/eogVqIIo1e0Ct6c56dd+fD+VysFpz85hQtjfP1C15Unf4=</latexit><latexit sha1_base64="DzZuMFMIutEhnNMA8oEMc2NeNso=">AAACEnicbZDNSgMxFIUz9a/Wv6pLN8EiuJAyUwRdFty4rNA/aMeSSTNtaCYZkjtCGfoWLtzqY7gTt76AT+ErmGlnYVsvBD7OuRdOThALbsB1v53CxubW9k5xt7S3f3B4VD4+aRuVaMpaVAmluwExTHDJWsBBsG6sGYkCwTrB5C7zO09MG65kE6Yx8yMykjzklICVHvsRgXEQckibs0FtUK64VXc+eB28HCoon8ag/NMfKppETAIVxJie58bgp0QDp4LNSv3EsJjQCRmxnkVJImb8dJ56hi+sMsSh0vZJwHP170VKImOmUWA3s5Rm1cvEfz1u1JK3HAPCWz/lMk6ASbpIESYCg8JZP3jINaMgphYI1dx+BNMx0YSCbbFkG/JW+1iHdq3qWX64rtSv8q6K6Aydo0vkoRtUR/eogVqIIo1e0Ct6c56dd+fD+VysFpz85hQtjfP1C15Unf4=</latexit>

(a) Origin↵ = 0.8

<latexit sha1_base64="VYRAylFGV5NgPkPu8A9mEECKXIA=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QwWwYWUGRHsRii4cVnB/mA7lDtp2oZmkiHJCGXoO7hwq4/hTtz6Cj6Fr2DazsK2Xgh8nHMvnJww5kwbz/t2cmvrG5tb+e3Czu7e/kHx8KihZaIIrRPJpWqFqClngtYNM5y2YkUxCjlthqPbqd98okozKR7MOKZBhAPB+oygsdJjB3k8xBuvXOkWS17Zm427Cn4GJcim1i3+dHqSJBEVhnDUuu17sQlSVIYRTieFTqJpjGSEA9q2KDCiOkhniSfumVV6bl8q+4RxZ+rfixQjrcdRaDcjNEO97E3Ffz2m5YK3GMP0K0HKRJwYKsg8RT/hrpHutBu3xxQlho8tIFHMfsQlQ1RIjG2wYBvyl/tYhcZl2bd8f1WqXmRd5eEETuEcfLiGKtxBDepAQMALvMKb8+y8Ox/O53w152Q3x7Awztcv7C+bgw==</latexit><latexit sha1_base64="VYRAylFGV5NgPkPu8A9mEECKXIA=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QwWwYWUGRHsRii4cVnB/mA7lDtp2oZmkiHJCGXoO7hwq4/hTtz6Cj6Fr2DazsK2Xgh8nHMvnJww5kwbz/t2cmvrG5tb+e3Czu7e/kHx8KihZaIIrRPJpWqFqClngtYNM5y2YkUxCjlthqPbqd98okozKR7MOKZBhAPB+oygsdJjB3k8xBuvXOkWS17Zm427Cn4GJcim1i3+dHqSJBEVhnDUuu17sQlSVIYRTieFTqJpjGSEA9q2KDCiOkhniSfumVV6bl8q+4RxZ+rfixQjrcdRaDcjNEO97E3Ffz2m5YK3GMP0K0HKRJwYKsg8RT/hrpHutBu3xxQlho8tIFHMfsQlQ1RIjG2wYBvyl/tYhcZl2bd8f1WqXmRd5eEETuEcfLiGKtxBDepAQMALvMKb8+y8Ox/O53w152Q3x7Awztcv7C+bgw==</latexit><latexit sha1_base64="VYRAylFGV5NgPkPu8A9mEECKXIA=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QwWwYWUGRHsRii4cVnB/mA7lDtp2oZmkiHJCGXoO7hwq4/hTtz6Cj6Fr2DazsK2Xgh8nHMvnJww5kwbz/t2cmvrG5tb+e3Czu7e/kHx8KihZaIIrRPJpWqFqClngtYNM5y2YkUxCjlthqPbqd98okozKR7MOKZBhAPB+oygsdJjB3k8xBuvXOkWS17Zm427Cn4GJcim1i3+dHqSJBEVhnDUuu17sQlSVIYRTieFTqJpjGSEA9q2KDCiOkhniSfumVV6bl8q+4RxZ+rfixQjrcdRaDcjNEO97E3Ffz2m5YK3GMP0K0HKRJwYKsg8RT/hrpHutBu3xxQlho8tIFHMfsQlQ1RIjG2wYBvyl/tYhcZl2bd8f1WqXmRd5eEETuEcfLiGKtxBDepAQMALvMKb8+y8Ox/O53w152Q3x7Awztcv7C+bgw==</latexit><latexit sha1_base64="VYRAylFGV5NgPkPu8A9mEECKXIA=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QwWwYWUGRHsRii4cVnB/mA7lDtp2oZmkiHJCGXoO7hwq4/hTtz6Cj6Fr2DazsK2Xgh8nHMvnJww5kwbz/t2cmvrG5tb+e3Czu7e/kHx8KihZaIIrRPJpWqFqClngtYNM5y2YkUxCjlthqPbqd98okozKR7MOKZBhAPB+oygsdJjB3k8xBuvXOkWS17Zm427Cn4GJcim1i3+dHqSJBEVhnDUuu17sQlSVIYRTieFTqJpjGSEA9q2KDCiOkhniSfumVV6bl8q+4RxZ+rfixQjrcdRaDcjNEO97E3Ffz2m5YK3GMP0K0HKRJwYKsg8RT/hrpHutBu3xxQlho8tIFHMfsQlQ1RIjG2wYBvyl/tYhcZl2bd8f1WqXmRd5eEETuEcfLiGKtxBDepAQMALvMKb8+y8Ox/O53w152Q3x7Awztcv7C+bgw==</latexit>

↵ = 0.6<latexit sha1_base64="uovXqrsSC9IKsd7dop/bvOng/aM=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QSL4ELKjIi6EQpuXFawP9gO5U6aaUMzmSHJCKX0HVy41cdwJ259BZ/CVzBtZ2FbLwQ+zrkXTk6QCK6N6347uZXVtfWN/GZha3tnd6+4f1DXcaooq9FYxKoZoGaCS1Yz3AjWTBTDKBCsEQxuJ37jiSnNY/lghgnzI+xJHnKKxkqPbRRJH2/c8mWnWHLL7nTIMngZlCCbaqf40+7GNI2YNFSg1i3PTYw/QmU4FWxcaKeaJUgH2GMtixIjpv3RNPGYnFilS8JY2ScNmap/L0YYaT2MArsZoenrRW8i/utxHc958zFMeO2PuExSwySdpQhTQUxMJt2QLleMGjG0gFRx+xFC+6iQGttgwTbkLfaxDPXzsmf5/qJUOcu6ysMRHMMpeHAFFbiDKtSAgoQXeIU359l5dz6cz9lqzsluDmFunK9f6O2bgQ==</latexit><latexit sha1_base64="uovXqrsSC9IKsd7dop/bvOng/aM=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QSL4ELKjIi6EQpuXFawP9gO5U6aaUMzmSHJCKX0HVy41cdwJ259BZ/CVzBtZ2FbLwQ+zrkXTk6QCK6N6347uZXVtfWN/GZha3tnd6+4f1DXcaooq9FYxKoZoGaCS1Yz3AjWTBTDKBCsEQxuJ37jiSnNY/lghgnzI+xJHnKKxkqPbRRJH2/c8mWnWHLL7nTIMngZlCCbaqf40+7GNI2YNFSg1i3PTYw/QmU4FWxcaKeaJUgH2GMtixIjpv3RNPGYnFilS8JY2ScNmap/L0YYaT2MArsZoenrRW8i/utxHc958zFMeO2PuExSwySdpQhTQUxMJt2QLleMGjG0gFRx+xFC+6iQGttgwTbkLfaxDPXzsmf5/qJUOcu6ysMRHMMpeHAFFbiDKtSAgoQXeIU359l5dz6cz9lqzsluDmFunK9f6O2bgQ==</latexit><latexit sha1_base64="uovXqrsSC9IKsd7dop/bvOng/aM=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QSL4ELKjIi6EQpuXFawP9gO5U6aaUMzmSHJCKX0HVy41cdwJ259BZ/CVzBtZ2FbLwQ+zrkXTk6QCK6N6347uZXVtfWN/GZha3tnd6+4f1DXcaooq9FYxKoZoGaCS1Yz3AjWTBTDKBCsEQxuJ37jiSnNY/lghgnzI+xJHnKKxkqPbRRJH2/c8mWnWHLL7nTIMngZlCCbaqf40+7GNI2YNFSg1i3PTYw/QmU4FWxcaKeaJUgH2GMtixIjpv3RNPGYnFilS8JY2ScNmap/L0YYaT2MArsZoenrRW8i/utxHc958zFMeO2PuExSwySdpQhTQUxMJt2QLleMGjG0gFRx+xFC+6iQGttgwTbkLfaxDPXzsmf5/qJUOcu6ysMRHMMpeHAFFbiDKtSAgoQXeIU359l5dz6cz9lqzsluDmFunK9f6O2bgQ==</latexit><latexit sha1_base64="uovXqrsSC9IKsd7dop/bvOng/aM=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QSL4ELKjIi6EQpuXFawP9gO5U6aaUMzmSHJCKX0HVy41cdwJ259BZ/CVzBtZ2FbLwQ+zrkXTk6QCK6N6347uZXVtfWN/GZha3tnd6+4f1DXcaooq9FYxKoZoGaCS1Yz3AjWTBTDKBCsEQxuJ37jiSnNY/lghgnzI+xJHnKKxkqPbRRJH2/c8mWnWHLL7nTIMngZlCCbaqf40+7GNI2YNFSg1i3PTYw/QmU4FWxcaKeaJUgH2GMtixIjpv3RNPGYnFilS8JY2ScNmap/L0YYaT2MArsZoenrRW8i/utxHc958zFMeO2PuExSwySdpQhTQUxMJt2QLleMGjG0gFRx+xFC+6iQGttgwTbkLfaxDPXzsmf5/qJUOcu6ysMRHMMpeHAFFbiDKtSAgoQXeIU359l5dz6cz9lqzsluDmFunK9f6O2bgQ==</latexit>

↵ = 0.4<latexit sha1_base64="9eUcA35XlMWHNHJ1chf5eYjD0pI=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QwWwYWUGSnoRii4cVnB/mA7lDtp2oZmkiHJCGXoO7hwq4/hTtz6Cj6Fr2DazsK2Xgh8nHMvnJww5kwbz/t2cmvrG5tb+e3Czu7e/kHx8KihZaIIrRPJpWqFqClngtYNM5y2YkUxCjlthqPbqd98okozKR7MOKZBhAPB+oygsdJjB3k8xBuvXOkWS17Zm427Cn4GJcim1i3+dHqSJBEVhnDUuu17sQlSVIYRTieFTqJpjGSEA9q2KDCiOkhniSfumVV6bl8q+4RxZ+rfixQjrcdRaDcjNEO97E3Ffz2m5YK3GMP0r4OUiTgxVJB5in7CXSPdaTdujylKDB9bQKKY/YhLhqiQGNtgwTbkL/exCo3Lsm/5vlKqXmRd5eEETuEcfLiCKtxBDepAQMALvMKb8+y8Ox/O53w152Q3x7Awztcv5aubfw==</latexit><latexit sha1_base64="9eUcA35XlMWHNHJ1chf5eYjD0pI=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QwWwYWUGSnoRii4cVnB/mA7lDtp2oZmkiHJCGXoO7hwq4/hTtz6Cj6Fr2DazsK2Xgh8nHMvnJww5kwbz/t2cmvrG5tb+e3Czu7e/kHx8KihZaIIrRPJpWqFqClngtYNM5y2YkUxCjlthqPbqd98okozKR7MOKZBhAPB+oygsdJjB3k8xBuvXOkWS17Zm427Cn4GJcim1i3+dHqSJBEVhnDUuu17sQlSVIYRTieFTqJpjGSEA9q2KDCiOkhniSfumVV6bl8q+4RxZ+rfixQjrcdRaDcjNEO97E3Ffz2m5YK3GMP0r4OUiTgxVJB5in7CXSPdaTdujylKDB9bQKKY/YhLhqiQGNtgwTbkL/exCo3Lsm/5vlKqXmRd5eEETuEcfLiCKtxBDepAQMALvMKb8+y8Ox/O53w152Q3x7Awztcv5aubfw==</latexit><latexit sha1_base64="9eUcA35XlMWHNHJ1chf5eYjD0pI=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QwWwYWUGSnoRii4cVnB/mA7lDtp2oZmkiHJCGXoO7hwq4/hTtz6Cj6Fr2DazsK2Xgh8nHMvnJww5kwbz/t2cmvrG5tb+e3Czu7e/kHx8KihZaIIrRPJpWqFqClngtYNM5y2YkUxCjlthqPbqd98okozKR7MOKZBhAPB+oygsdJjB3k8xBuvXOkWS17Zm427Cn4GJcim1i3+dHqSJBEVhnDUuu17sQlSVIYRTieFTqJpjGSEA9q2KDCiOkhniSfumVV6bl8q+4RxZ+rfixQjrcdRaDcjNEO97E3Ffz2m5YK3GMP0r4OUiTgxVJB5in7CXSPdaTdujylKDB9bQKKY/YhLhqiQGNtgwTbkL/exCo3Lsm/5vlKqXmRd5eEETuEcfLiCKtxBDepAQMALvMKb8+y8Ox/O53w152Q3x7Awztcv5aubfw==</latexit><latexit sha1_base64="9eUcA35XlMWHNHJ1chf5eYjD0pI=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QwWwYWUGSnoRii4cVnB/mA7lDtp2oZmkiHJCGXoO7hwq4/hTtz6Cj6Fr2DazsK2Xgh8nHMvnJww5kwbz/t2cmvrG5tb+e3Czu7e/kHx8KihZaIIrRPJpWqFqClngtYNM5y2YkUxCjlthqPbqd98okozKR7MOKZBhAPB+oygsdJjB3k8xBuvXOkWS17Zm427Cn4GJcim1i3+dHqSJBEVhnDUuu17sQlSVIYRTieFTqJpjGSEA9q2KDCiOkhniSfumVV6bl8q+4RxZ+rfixQjrcdRaDcjNEO97E3Ffz2m5YK3GMP0r4OUiTgxVJB5in7CXSPdaTdujylKDB9bQKKY/YhLhqiQGNtgwTbkL/exCo3Lsm/5vlKqXmRd5eEETuEcfLiCKtxBDepAQMALvMKb8+y8Ox/O53w152Q3x7Awztcv5aubfw==</latexit>

↵ = 0.2<latexit sha1_base64="GgDez9hUrLanGjbStvKSML32RnE=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QwWwYWUmSLoRii4cVnB/mA7lDtppg3NJEOSEUrpO7hwq4/hTtz6Cj6Fr2DazsK2Xgh8nHMvnJww4Uwbz/t2cmvrG5tb+e3Czu7e/kHx8KihZaoIrRPJpWqFqClngtYNM5y2EkUxDjlthsPbqd98okozKR7MKKFBjH3BIkbQWOmxgzwZ4I1XrnSLJa/szcZdBT+DEmRT6xZ/Oj1J0pgKQzhq3fa9xARjVIYRTieFTqppgmSIfdq2KDCmOhjPEk/cM6v03Egq+4RxZ+rfizHGWo/i0G7GaAZ62ZuK/3pMywVvMYaJroMxE0lqqCDzFFHKXSPdaTdujylKDB9ZQKKY/YhLBqiQGNtgwTbkL/exCo1K2bd8f1mqXmRd5eEETuEcfLiCKtxBDepAQMALvMKb8+y8Ox/O53w152Q3x7Awztcv4mmbfQ==</latexit><latexit sha1_base64="GgDez9hUrLanGjbStvKSML32RnE=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QwWwYWUmSLoRii4cVnB/mA7lDtppg3NJEOSEUrpO7hwq4/hTtz6Cj6Fr2DazsK2Xgh8nHMvnJww4Uwbz/t2cmvrG5tb+e3Czu7e/kHx8KihZaoIrRPJpWqFqClngtYNM5y2EkUxDjlthsPbqd98okozKR7MKKFBjH3BIkbQWOmxgzwZ4I1XrnSLJa/szcZdBT+DEmRT6xZ/Oj1J0pgKQzhq3fa9xARjVIYRTieFTqppgmSIfdq2KDCmOhjPEk/cM6v03Egq+4RxZ+rfizHGWo/i0G7GaAZ62ZuK/3pMywVvMYaJroMxE0lqqCDzFFHKXSPdaTdujylKDB9ZQKKY/YhLBqiQGNtgwTbkL/exCo1K2bd8f1mqXmRd5eEETuEcfLiCKtxBDepAQMALvMKb8+y8Ox/O53w152Q3x7Awztcv4mmbfQ==</latexit><latexit sha1_base64="GgDez9hUrLanGjbStvKSML32RnE=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QwWwYWUmSLoRii4cVnB/mA7lDtppg3NJEOSEUrpO7hwq4/hTtz6Cj6Fr2DazsK2Xgh8nHMvnJww4Uwbz/t2cmvrG5tb+e3Czu7e/kHx8KihZaoIrRPJpWqFqClngtYNM5y2EkUxDjlthsPbqd98okozKR7MKKFBjH3BIkbQWOmxgzwZ4I1XrnSLJa/szcZdBT+DEmRT6xZ/Oj1J0pgKQzhq3fa9xARjVIYRTieFTqppgmSIfdq2KDCmOhjPEk/cM6v03Egq+4RxZ+rfizHGWo/i0G7GaAZ62ZuK/3pMywVvMYaJroMxE0lqqCDzFFHKXSPdaTdujylKDB9ZQKKY/YhLBqiQGNtgwTbkL/exCo1K2bd8f1mqXmRd5eEETuEcfLiCKtxBDepAQMALvMKb8+y8Ox/O53w152Q3x7Awztcv4mmbfQ==</latexit><latexit sha1_base64="GgDez9hUrLanGjbStvKSML32RnE=">AAACDnicbZDNSgMxFIXv1L9a/6ou3QwWwYWUmSLoRii4cVnB/mA7lDtppg3NJEOSEUrpO7hwq4/hTtz6Cj6Fr2DazsK2Xgh8nHMvnJww4Uwbz/t2cmvrG5tb+e3Czu7e/kHx8KihZaoIrRPJpWqFqClngtYNM5y2EkUxDjlthsPbqd98okozKR7MKKFBjH3BIkbQWOmxgzwZ4I1XrnSLJa/szcZdBT+DEmRT6xZ/Oj1J0pgKQzhq3fa9xARjVIYRTieFTqppgmSIfdq2KDCmOhjPEk/cM6v03Egq+4RxZ+rfizHGWo/i0G7GaAZ62ZuK/3pMywVvMYaJroMxE0lqqCDzFFHKXSPdaTdujylKDB9ZQKKY/YhLBqiQGNtgwTbkL/exCo1K2bd8f1mqXmRd5eEETuEcfLiCKtxBDepAQMALvMKb8+y8Ox/O53w152Q3x7Awztcv4mmbfQ==</latexit>

(b) д(α f (T1) + (1 − α )f (T2))Figure 6: Combination of existing patternswith latent vectors.

where 0 < αi < 1,∀i are combination coefficients and satisfy∑i αi =

1. However, the diversity topologies generated by such approachmight be limited by the existing pattern complexity. We randomlypick two patterns from existing designs and combine them in thelatent vector space using TCAE. As shown in Figure 6, even we adjustthe combination coefficient with a large step, there are still repeatingtopologies in the reconstructed topology set.

3.2.3 TCAE-Random. Another approach is introducing ran-dom perturbations in the latent vectors. We take Assumption 1 intoconsideration when generating perturbation vectors to avoid illegaltopologies as many as possible. We introduce the concept of featuresensitivity s that statistically defines how easily an legal topologycan be transformed to illegal when manipulating the latent vectornode with everything else unchanged.

Definition 3 (Feature Sensitivity). Let l =[l1 l2 ... ln

]⊤ bethe output of the layer associated with the latent vector space. Thesensitivity si of a latent vector node li is defined as the probability ofreconstructed pattern being invalid when a perturbation ∆li ∈ [−t , t]is added up on li with everything else unchanged.

It can be seen from Definition 3 that a larger si indicates thecorresponding latent vector node li is more likely to create invalidtopologies if a large perturbation is applied. We therefore avoid ma-nipulating such nodes when sampling random perturbation vectorsfrom a Gaussian distribution. The si s are estimated following Algo-rithm 1, which requires a set of legal topologies and trained TCAE.The sensitivity of each latent vector node is estimated individually(lines 1–2). We first obtain the latent vectors of all topologies in T

and feed them into the reconstruction unit along with certain pertur-bation on one latent vector node (lines 3–5). Reconstructed patternsare appended in the corresponding set Ri (line 6). The sensitivity ofthe latent vector node i is given by the fraction of invalid topologiesin Ri (line 8).

After we get the estimated sensitivity of all latent vector nodes,we are able to sample perturbation vectors whose elements are sam-

pled independently from N(0,1si). These perturbation vectors will be

added up to the latent vectors of existing pattern topologies to for-mulate perturbed latent vectors which will be fed into the generationunit to construct new topologies. Because we focus on EUV metallayers in this work, a topology is illegal if and only if it contains anypatterns in Figure 5. That is, illegal topologies can be filtered out bychecking whether shapes appear at any two adjacent tracks.

3.3 Legal Pattern AssessmentTo generate DRC clean patterns, we need legal δx s and δys of allgenerated topologies. We first detect all critical dimensions listed inFigure 2 in each valid topology and then formulate a linear system

Algorithm 1 Estimating feature sensitivity. T = {T1,T2, ...,TN } is aset of valid pattern topologies, f and д are trained recognition unitand generation unit respectively, t determines the perturbation range,and s is the estimated feature sensitivity.Input: T, f ,д, t .Output: s .1: Ri ← ∅,∀i = 1, 2, ...,N ;2: for i = 1, 2, ...,n do3: for λ = −t : t do4: ∆l ← 0,∆li ← λ;5: Ti ← д(f (T) + ∆l);6: Ri ← Ri + Ti ;7: end for8: si ← fraction of invalid topologies in Ri ;9: end for10: return s .

combining all associated constraints, as in Formula (6).

yi+1 − yi =p

2, ∀i, (6a)

xi − x j = tmin, ∀(i, j) ∈ CT 2T , (6b)xi − x j = lmin, ∀(i, j) ∈ CW , (6c)

xi+1 − xi > 0, ∀i, (6d)xmax − x0 = dx ,ymax − y0 = dy . (6e)

where dx , dy , tmin and lmin denote clip width, clip height, minimumtip-to-tip distance and wire length (refer to Figure 2), respectively.Each index pair (i, j) ∈ CT 2T indicates that there exists at least onetip-to-tip pattern at scan lines xi and x j in the clip. CW is definedsimilarly for wire patterns. x0 and y0 define the origin of each clipthat can be any value and do not affect pattern complexities. Certainconstraint values correspond to the minimum critical dimensionswhen no defects are found in EUV simulation under a given processwindow [24]. Note that the system in Equation (6) can be efficientlysolved with vast linear programming algorithms or numerical meth-ods. A solution of δx and δy in together with the associated topologymatrixT formulates a complete squish pattern representation.

3.4 Overall FlowWe summarize the pattern generation flow as in Figure 7, wherekey steps include squish pattern extraction, topology generationand pattern generation. In the topology generation phase, we forcethe TCAE to learn an identity mapping that can capture simple butimportant design rules. Such strategy also allows us to create a largefraction of new legal topologies by perturbing the latent vectors.In the final pattern generation stage, we search critical dimensions

Existing Design

Pattern Library

3.1 Squish Pattern Extraction

3.2 Topology Generation

3.3 Legal Pattern Assessment

Detecting Critical

Dimensions

Applying Constraints

Solving Linear Sys.

Training TCAE

Perturbing Latent Space

Filtering Illegal

Topology

Figure 7: Proposed layout pattern generation flow.

Page 5: DeePattern: Layout Pattern Generation with Transforming ...byu/papers/C86-DAC2019-DeePattern.pdf · 1 INTRODUCTION VLSI layout patterns provide critic resources in various design

that are defined in the design rules in all generated topologies andformulate corresponding linear systems to obtain legal δx s and δy s.

4 EXPERIMENTAL RESULTS4.1 The Dataset and ConfigurationsWe implement the pattern generation flowusingPython andTensorflow[25] library. The framework is tested on a platform with one TeslaP100 Graphic Card. We train the TCAE on a dataset with 1 millionmetal-2 layout clips under 7nm EUV design node. The clip size is192 × 192nm2 and the corresponding squish topology size is zero-padded to 16 × 16 that will be the input size of the neural networks.The initial learning rate is set to 0.001 and decays by 0.7 every 2000iterations. The maximum number of training steps is 10000 with amini-batch size of 64. All neuron weights are initialized with Xavier[26] initializer and regularized with l2 regularizer. The regularizationcoefficients for convolution layers are 0.001 and we chose 0.01 fordensely connected layers. No data augmentation strategies are em-ployed during training and the model at last training step is pickedduring inference stage. Note that we mark topologies with cx > 12and cy > 12 as illegal such that the linear systems associated to legaltopologies always admit at least one solution under the given windowsize, which ensures the quantity and quality of the generated patternlibraries. We adopt industrial solver when generating geometry infor-mation with Equation (6) for new topologies and only one solution iskept for each topology.

4.2 Understanding Features in TCAEIn the first experiment, we study the relationship between auto-learned features and human understandable layout space. Becausethe TCAE is trained to reconstruct input topologies as accurate aspossible, feature vectors derived from the latent vector layer mustattain all geometry informations that include wire tracks, line-endalignments, tip-to-tip distances, shape directions and so on. To showexactly how these auto-learned features affect the topology space,we conduct simple transformations on each individual entry of thelatent vector and keep everything else unchanged. The transformedfeature vectors are then fed into the reconstruction unit for topologyreconstruction. We visualize part of the reconstructed patterns inTable 1, where each row corresponds to the transformation on certainnodes in the latent vector with everything else unchanged. In ourcase, a small perturbation is added up to a specific entry. We caneasily observe that some features extend or pull back line-ends, somefeatures create or destroy geometries and some features controls the

Table 1: Visualizing how are convolutional features reflectedin original topology space.

Transformations Reconstructed Topologies

Extend or pull back line-ends

Create or destroy shapes

Control shape directions

Origin TCAE-Random

:

Figure 8: Contribution of Gaussian perturbation on topologyreconstruction. 1000 topologies (∼400 legal) are created fromone topology randomly picked from the existing pattern li-brary.

directions of shapes. Unlike traditional design rules, auto-learned fea-tures control layout patterns in a more global point of view that somefeature determines spacing, wire length and sometimes geometrydirection as a whole.

Here we show how random perturbations on the latent vectors con-tribute to topology generation. We randomly take one topology fromthe training set and obtain its feature vector through the trained en-coder network. 1000 noise vectors sampled from Gaussian are addedup to the feature vector before it is fed into the decoder network forpattern reconstruction. We visualize the generated topologies in Fig-ure 8. We can observe that perturbations create significantly amountof new topologies where a large fraction of them are consistent withEUV pattern rules (e.g. no bow-tie shapes and unique direction singletrack polygons). Such results also show that deconvolution layershave the ability to learn simple design rules during training. On thecontrary, no valid topology will be generated if the noise are directlyapplied on pattern space.

4.3 Comparison with State-of-the-artWe have shown the manipulation in the latent vector space can gen-erate new topologies. In the last experiment, we will make use of theflow above to augment the pattern space. Pattern library statisticsare listed in Table 2. Column “Method” denotes the approach usedto generate layout patterns, column “Pattern #” denotes the numberof DRC clean patterns that are different from others, and column“Pattern Diversity” corresponds to the Shannon Entropy of each pat-tern library in terms of pattern complexity. Row “TCAE-Random”corresponds to the details of 1M patterns generated by perturbing thefeatures of 1000 patterns in existing design with Gaussian noise. Row“TCAE-Combine” represents patterns generated from 1M differentcombinations of 10 test layout clip features. “Industry Tool” showsthe cataloged results of a test layout generated from a state-of-the-art industry layout generator. The test layout has similar total chiparea (10000 µm2) as “TCAE-Random” (14807 µm2). We also imple-ment a DCGAN [19] that has similar number of trainable parametersas the TCAE designed in this paper. 1M patterns are generated byfeeding random latent vectors in the trained generator networks.“Existing Design” lists the statistics of a pattern library extracted froman industry layout.

Page 6: DeePattern: Layout Pattern Generation with Transforming ...byu/papers/C86-DAC2019-DeePattern.pdf · 1 INTRODUCTION VLSI layout patterns provide critic resources in various design

0 2 4 6 8 10 12 14 160

2

4

6

8

10

12

14

16

0

2

4

6

8

10

(a) Existing Design0 2 4 6 8 10 12 14 16

0

2

4

6

8

10

12

14

16

0

2

4

6

8

10

(b) Industry Tool0 2 4 6 8 10 12 14 16

0

2

4

6

8

10

12

14

16

0

2

4

6

8

10

(c) DCGAN0 2 4 6 8 10 12 14 16

0

2

4

6

8

10

12

14

16

0

2

4

6

8

10

(d) TCAE-Combine0 2 4 6 8 10 12 14 16

0

2

4

6

8

10

12

14

16

0

2

4

6

8

10

(e) TCAE-Random

Figure 9: Visualization of the distribution of layout libraries: (a) Existing layout pattern dataset. (b) Industrial layout generator;(c) Patterns generated by DCGAN; (d) Patterns generated by TCAE-Combine; (e) Patterns generated by TCAE-Random.

Table 2: Statistics of generated patterns.

Method Pattern # Pattern Diversity (H )

Existing Design - 3.101Industry Tool 55408 1.642

DCGAN 1 0TCAE-Combine 1738 2.665TCAE-Random 286898 3.337

Perturbation with Gaussian exhibits greatest pattern generationpower with around 30% generated patterns are unique and DRCclean. Combination of patterns in feature space shows much lessunique pattern count because the generation procedure are restrictedby existing pattern space. Combine more patterns will not affectthe result much which will significantly reduce the count of DRCclean patterns if any two candidate patterns contain unaligned wires.Most GAN generated patterns fail with bow-tie or 2D wires even thetraining procedure has reached the equilibrium point because it isvery hard to learn layout track information with randomly generatedlatent vectors.

Figure 9 compares the distributions of generated patterns and exist-ing layout data set with similar pattern count, where x-axis and y-axisdenote pattern complexity in each direction and the heatmap valueis the total count (log-scale) of the pattern with that complexity.We employ Pattern Diversity to measure the pattern library distribu-tion. We observe that Random perturbation can efficiently expandthe weakly distributed pattern library (large fraction of patterns fallsin certain complexities) with H = 3.337 while the industrial layoutgenerator are still weakly distributed with H = 1.642 compared toexisting designs.

5 CONCLUSIONIn this paper, we address the pattern library requirements in DFMflows/researches under advanced technology nodes. We propose atransforming convolutional auto-encoder framework that can cap-ture layout design rule characteristics. We show individual elementin latent vector instantiation contributes to form the pattern spacelocally or globally, which inspires a pattern generation flow withperturbation of the latent vector space. The experimental resultsshow that our framework outperforms a state-of-the-art industriallayout generation tool in terms of pattern library diversity, which ispromising to facilitate early technology node development and theback-end and sign-off flows.

ACKNOWLEDGMENTThis work is supported in part by The Research Grants Council ofHong Kong SAR (Project No. CUHK24209017).

REFERENCES[1] C. Tabery, Y. Zou, V. Arnoux, P. Raghavan, R.-h. Kim, M. Côté, L. Mattii, Y.-C. Lai,

and P. Hurat, “In-design and signoff lithography physical analysis for 7/5nm,” inSPIE Advanced Lithography, vol. 10147, 2017.

[2] H. Yang, L. Luo, J. Su, C. Lin, and B. Yu, “Imbalance aware lithography hotspotdetection: a deep learning approach,” JM3, vol. 16, no. 3, 2017.

[3] B. Jiang, H. Zhang, J. Yang, and E. F. Young, “A fast machine learning-based maskprintability predictor for opc acceleration,” in Proc. ASPDAC, 2019.

[4] H. Yang, J. Su, Y. Zou, Y. Ma, B. Yu, and E. F. Y. Young, “Layout hotspot detectionwith feature tensor generation and deep biased learning,” IEEE TCAD, 2018.

[5] M. Shin and J.-H. Lee, “Accurate lithography hotspot detection using deep convolu-tional neural networks,” JM3, vol. 15, no. 4, 2016.

[6] H. Yang, P. Pathak, F. Gennari, Y.-C. Lai, and B. Yu, “Detecting multi-layer layouthotspots with adaptive squish patterns,” in Proc. ASPDAC, 2019.

[7] H. Geng, H. Yang, Y. Ma, J. Mitra, and B. Yu, “SRAF insertion via supervised dictio-nary learning,” in Proc. ASPDAC, 2019.

[8] H. Yang, Y. Lin, B. Yu, and E. F. Y. Young, “Lithography hotspot detection: Fromshallow to deep learning,” in Proc. SOCC, 2017.

[9] H. Yang, S. Li, C. Tabery, B. Lin, and B. Yu, “Bridging the gap between layoutpattern sampling and hotspot detection via batch active sampling,” arXiv preprintarXiv:1807.06446, 2018.

[10] Y. Lin, M. Li, Y. Watanabe, T. Kimura, T. Matsunawa, S. Nojima, and D. Z. Pan, “Dataefficient lithography modeling with transfer learning and active data selection,”IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2018.

[11] L. Zhuang, J. Xu, M. Tsai, Q. W. Liu, E. Yang, Y. Zhang, J. Sweis, C. Lai, and H. Ding,“A novel methodology of process weak-point identification to accelerate processdevelopment and yield ramp-up,” in Proc. ICSICT, 2016.

[12] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair,A. Courville, and Y. Bengio, “Generative adversarial nets,” in Proc. NIPS, 2014.

[13] M.-Y. Liu and O. Tuzel, “Coupled generative adversarial networks,” in Proc. NIPS,2016.

[14] J.-Y. Zhu, T. Park, P. Isola, and A. A. Efros, “Unpaired image-to-image translationusing cycle-consistent adversarial networks,” in Proc. ICCV, 2017.

[15] M. Mirza and S. Osindero, “Conditional generative adversarial nets,” arXiv preprintarXiv:1411.1784, 2014.

[16] H. Yang, S. Li, Y. Ma, B. Yu, and E. F. Young, “GAN-OPC: Mask optimization withlithography-guided generative adversarial nets,” in Proc. DAC, 2018.

[17] H. Geng, H. Yang, B. Yu, X. Li, and X. Zeng, “Sparse vlsi layout feature extraction:A dictionary learning approach,” in 2018 IEEE Computer Society Annual Symposiumon VLSI (ISVLSI). IEEE, 2018.

[18] J. Liu, Y. Ding, J. Yang, U. Schlichtmann, and Y. Shi, “Generative adversarial networkbased scalable on-chip noise sensor placement,” in Proc. SOCC, 2017.

[19] A. Radford, L. Metz, and S. Chintala, “Unsupervised representation learning withdeep convolutional generative adversarial networks,” in Proc. ICLR, 2016.

[20] C. E. Shannon, “A mathematical theory of communication,” ACM SIGMOBILE mobilecomputing and communications review, vol. 5, no. 1, 2001.

[21] F. E. Gennari and Y.-C. Lai, “Topology design using squish patterns,” Sep. 9 2014,US Patent 8,832,621.

[22] G. E. Hinton, A. Krizhevsky, and S. D. Wang, “Transforming auto-encoders,” inProc. ICANN. Springer, 2011.

[23] V. Dumoulin and F. Visin, “A guide to convolution arithmetic for deep learning,”arXiv preprint arXiv:1603.07285, 2016.

[24] P. Gupta, “What is process window?” ACM SIGDA Newsletter, vol. 40, no. 8, 2010.[25] M. Abadi, P. Barham, J. Chen, Z. Chen, A. Davis, J. Dean et al., “TensorFlow: A

system for large-scale machine learning,” in Proc. OSDI, 2016.[26] X. Glorot and Y. Bengio, “Understanding the difficulty of training deep feedforward

neural networks,” in Proc. AISTATS, vol. 9, 2010.