KR102320823B1 - Integrated circuit and method of designing layout thereof - Google Patents

Integrated circuit and method of designing layout thereof Download PDF

Info

Publication number
KR102320823B1
KR102320823B1 KR1020150059103A KR20150059103A KR102320823B1 KR 102320823 B1 KR102320823 B1 KR 102320823B1 KR 1020150059103 A KR1020150059103 A KR 1020150059103A KR 20150059103 A KR20150059103 A KR 20150059103A KR 102320823 B1 KR102320823 B1 KR 102320823B1
Authority
KR
South Korea
Prior art keywords
patterns
pattern
layout
integrated circuit
mask
Prior art date
Application number
KR1020150059103A
Other languages
Korean (ko)
Other versions
KR20160051532A (en
Inventor
김진태
김하영
서재우
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US14/926,128 priority Critical patent/US9946828B2/en
Publication of KR20160051532A publication Critical patent/KR20160051532A/en
Application granted granted Critical
Publication of KR102320823B1 publication Critical patent/KR102320823B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

본 개시의 일실시예에 따른 컴퓨터 시스템 또는 프로세서에 의하여 구현되는 집적 회로의 레이아웃을 설계하는 방법은, 입력 레이아웃 데이터를 수신하는 단계, 복수의 패턴들에 대하여 설계 규칙을 체크하는 단계, 설계 규칙을 위반한 제1 및 제2 패턴 중 제1 패턴을 제1 패턴과 동일한 네트에 연결된 제3 패턴과 병합하는 단계 및 출력 레이아웃 데이터를 생성하는 단계를 포함할 수 있다.A method for designing a layout of an integrated circuit implemented by a computer system or processor according to an embodiment of the present disclosure includes the steps of receiving input layout data, checking a design rule with respect to a plurality of patterns, and merging the first of the violating first and second patterns with a third pattern connected to the same net as the first pattern and generating output layout data.

Description

집적 회로 및 그것의 레이아웃을 설계하는 방법{INTEGRATED CIRCUIT AND METHOD OF DESIGNING LAYOUT THEREOF}INTEGRATED CIRCUIT AND METHOD OF DESIGNING LAYOUT THEREOF

본 발명의 기술적 사상은 집적 회로에 관한 것으로서, 자세하게는 집적 회로 및 집적 회로의 레이아웃을 설계하는 방법에 관한 것이다.TECHNICAL FIELD The present invention relates to an integrated circuit, and more particularly, to an integrated circuit and a method for designing a layout of the integrated circuit.

반도체 제조 공정 기술이 발전함에 따라, 트랜지스터의 크기는 점점 작아지고 있으며, 이에 따라 보다 많은 수의 트랜지스터들이 반도체 장치에 집적되고 있다. 예를 들면, 하나의 칩에 컴퓨터나 다른 전자 시스템의 모든 구성부품들을 포함하는 집적 회로(Integrated Circuit; IC)를 말하는 시스템-온-칩(System-On-Chip; SOC)은 다양한 어플리케이션에 널리 사용되고 있으며, 어플리케이션의 성능이 향상됨에 따라 보다 많은 구성부품들을 포함하는 반도체 장치가 요구되고 있다.As semiconductor manufacturing process technology develops, the size of transistors is getting smaller and, accordingly, a larger number of transistors are being integrated into semiconductor devices. For example, System-On-Chip (SOC), which refers to an integrated circuit (IC) that includes all the components of a computer or other electronic system on a single chip, is widely used in various applications. In addition, as the performance of the application is improved, a semiconductor device including more components is required.

한편, 반도체 장치에 집적되는 트랜지스터의 크기가 점점 작아짐에 따라 반도체 장치를 제조하는 공정의 난이도가 높아지고 있다. 이를 위하여, 반도체 제조 공정 기술의 진보뿐만 아니라, 반도체 장치를 설계하는 단계에서 반도체 제조 공정을 고려하고 보다 용이한 반도체 제조 공정을 사용하기 위한 제조를 고려한 설계(Design For Manufacturing; DFM)의 중요성이 커지고 있다.Meanwhile, as the size of a transistor integrated in a semiconductor device becomes smaller and smaller, the difficulty of a process for manufacturing a semiconductor device increases. To this end, as well as advances in semiconductor manufacturing process technology, the importance of design for manufacturing (DFM) in consideration of the semiconductor manufacturing process in the stage of designing a semiconductor device and using a more convenient semiconductor manufacturing process is increasing. have.

본 개시의 기술적 사상은, 집적 회로 및 집적 회로의 레이아웃을 설계하는 방법에 관한 것으로서, 집적 회로 및 그것의 레이아웃 설계를 위한 컴퓨터 구현 방법을 제공한다.The technical idea of the present disclosure relates to an integrated circuit and a method for designing a layout of the integrated circuit, and to provide an integrated circuit and a computer implemented method for designing the layout thereof.

본 개시의 기술적 사상의 일측면에 따른 하나의 레이어에 복수의 패턴들을포함하는 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법은, 상기 복수의 패턴들의 배치 정보 및 상기 복수의 패턴들 중 각각을 복수의 마스크들 중 하나의 마스크에 대응시킨 컬러링 정보를 포함하는 입력 레이아웃 데이터를 수신하는 단계, 상기 복수의 패턴들에 대하여 상기 레이어의 설계 규칙(design rule)을 체크하는 단계, 상기 복수의 패턴들 중 상기 설계 규칙을 위반한 제1 및 제2 패턴에 대하여, 상기 제1 패턴이 상기 제1 패턴과 동일한 네트에 연결된 제3 패턴과 병합되도록 상기 배치 정보를 변경하는 단계, 및 상기 제1 및 제3 패턴으로부터 병합된 패턴이 상기 제3 패턴에 대응하는 마스크에 대응되도록 상기 컬러링 정보를 갱신하는 단계를 포함할 수 있다.A computer implemented method for layout design of an integrated circuit including a plurality of patterns in one layer according to an aspect of the technical concept of the present disclosure includes arrangement information of the plurality of patterns and each of the plurality of patterns in a plurality of receiving input layout data including coloring information corresponding to one of the masks; checking a design rule of the layer with respect to the plurality of patterns; For the first and second patterns that violate the design rule, changing the arrangement information so that the first pattern is merged with a third pattern connected to the same net as the first pattern, and the first and third patterns The method may include updating the coloring information so that the merged pattern corresponds to the mask corresponding to the third pattern.

본 개시의 기술적 사상의 일측면에 따른 하나의 레이어에 복수의 패턴들을 포함하는 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법은, 상기 복수의 패턴들의 배치 정보를 포함하는 입력 레이아웃 데이터를 수신하는 단계, 상기 복수의 패턴들 각각을 복수의 마스크들 중 하나의 마스크에 대응시킨 컬러링 정보를 생성하는 단계, 및 상기 컬러링 정보를 포함하는 출력 레이아웃 데이터를 생성하는 단계를 포함할 수 있고, 상기 컬러링 정보를 생성하는 단계는, 상기 복수의 패턴들 중 동일한 네트에 연결된 적어도 2개의 패턴들이 병합되도록 상기 배치 정보를 변경하는 단계, 및 상기 복수의 패턴들 및 상기 적어도 2개의 패턴들로부터 병합된 패턴이 상기 복수의 마스크들 중 하나의 마스크에 대응되도록 상기 컬러링 정보를 생성하는 단계를 포함할 수 있다.According to an aspect of the technical concept of the present disclosure, a computer implemented method for layout design of an integrated circuit including a plurality of patterns in one layer includes: receiving input layout data including arrangement information of the plurality of patterns; generating coloring information in which each of the plurality of patterns corresponds to one mask among a plurality of masks, and generating output layout data including the coloring information, wherein the coloring information is generated Changing the arrangement information so that at least two patterns connected to the same net among the plurality of patterns are merged, and the plurality of patterns and a pattern merged from the at least two patterns are combined with the plurality of patterns. The method may include generating the coloring information to correspond to one of the masks.

본 개시의 기술적 사상의 일측면에 따른 컴퓨터로 읽을 수 있는 비일시적인 저장 매체는, 상기 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법을 실행하기 위한 복수의 명령들을 저장할 수 있다.A computer-readable non-transitory storage medium according to an aspect of the inventive concept may store a plurality of instructions for executing a computer-implemented method for designing a layout of the integrated circuit.

본 개시의 기술적 사상에 따른 집적 회로의 레이아웃을 설계하는 방법에 의하면, 멀티 마스크를 이용한 패터닝 기법이 용이하게 활용될 수 있고, 결과적인 집적 회로의 레이아웃의 집적도를 향상시킬 수 있다.According to the method of designing the layout of an integrated circuit according to the technical spirit of the present disclosure, a patterning technique using a multi-mask can be easily utilized, and the degree of integration of the resulting layout of the integrated circuit can be improved.

또한, 본 개시의 기술적 사상에 따른 집적 회로의 레이아웃을 설계하는 방법에 의하면, 집적 회로의 레이아웃을 설계하는데 걸리는 시간을 단축할 수 있다.In addition, according to the method for designing the layout of the integrated circuit according to the technical spirit of the present disclosure, it is possible to shorten the time required for designing the layout of the integrated circuit.

도 1은 본 개시의 예시적 실시예에 따른 집적 회로의 레이아웃을 설계하는 방법을 나타내는 순서도이다.
도 2는 멀티 마스크 패터닝을 개략적으로 나타내는 도면이다.
도 3은 복수의 패턴들을 포함하는 집적 회로의 레이아웃을 나타내는 평면도이다.
도 4는 설계 규칙을 위반한 패턴들을 포함하는 집적 회로의 레이아웃을 나타내는 평면도이다.
도 5a 및 도 5b는 본 개시의 예시적 실시예에 따른 집적 회로의 레이아웃을 설계하는 방법이 집적 회로의 레이아웃에 적용되는 과정을 나타내는 도면이다.
도 6은 본 개시의 예시적 실시예에 따라 도 1의 단계 S40의 예시를 나타내는 순서도이다.
도 7은 본 개시의 예시적 실시예에 따라 도 1의 단계 S60의 예시를 나타내는 순서도이다.
도 8은 복수의 표준 셀들을 포함하는 집적 회로의 레이아웃을 나타내는 평면도이다.
도 9a 및 도 9b는 본 개시의 예시적 실시예에 따른 집적 회로의 레이아웃을 설계하는 방법이 집적 회로의 레이아웃에 적용되는 과정을 나타내는 도면이다.
도 10은 본 개시의 예시적 실시예에 따라 도 7의 단계 S62의 예시를 나타내는 순서도이다.
도 11a 및 도 11b는 본 개시의 예시적 실시예에 따른 집적 회로의 레이아웃을 설계하는 방법이 집적 회로의 레이아웃에 적용되는 과정을 나타내는 도면이다.
도 12는 본 개시의 예시적 실시예에 따른 집적 회로의 레이아웃을 설계하는 방법을 나타내는 순서도이다.
도 13은 본 개시의 예시적 실시예에 따라 도 12의 단계 S140의 예시를 나타내는 순서도이다.
도 14는 본 개시의 예시적 실시예에 따른 컴퓨터로 읽을 수 있는 저장 매체를 도시하는 블록도이다.
도 15은 본 개시의 예시적 실시예에 따른 컴퓨터 시스템을 도시하는 블록도이다.
1 is a flowchart illustrating a method of designing a layout of an integrated circuit according to an exemplary embodiment of the present disclosure.
2 is a diagram schematically illustrating multi-mask patterning.
3 is a plan view illustrating a layout of an integrated circuit including a plurality of patterns.
4 is a plan view illustrating a layout of an integrated circuit including patterns that violate a design rule.
5A and 5B are diagrams illustrating a process in which a method for designing a layout of an integrated circuit according to an exemplary embodiment of the present disclosure is applied to the layout of the integrated circuit.
6 is a flowchart illustrating an example of step S40 of FIG. 1 according to an exemplary embodiment of the present disclosure.
7 is a flowchart illustrating an example of step S60 of FIG. 1 according to an exemplary embodiment of the present disclosure.
8 is a plan view illustrating a layout of an integrated circuit including a plurality of standard cells.
9A and 9B are diagrams illustrating a process in which a method for designing a layout of an integrated circuit according to an exemplary embodiment of the present disclosure is applied to the layout of the integrated circuit.
10 is a flowchart illustrating an example of step S62 of FIG. 7 according to an exemplary embodiment of the present disclosure.
11A and 11B are diagrams illustrating a process in which a method for designing a layout of an integrated circuit according to an exemplary embodiment of the present disclosure is applied to the layout of the integrated circuit.
12 is a flowchart illustrating a method of designing a layout of an integrated circuit according to an exemplary embodiment of the present disclosure.
13 is a flowchart illustrating an example of step S140 of FIG. 12 according to an exemplary embodiment of the present disclosure.
14 is a block diagram illustrating a computer-readable storage medium according to an exemplary embodiment of the present disclosure.
15 is a block diagram illustrating a computer system according to an exemplary embodiment of the present disclosure.

이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The embodiments of the present invention are provided to more completely explain the present invention to those of ordinary skill in the art. Since the present invention may have various changes and may have various forms, specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to the specific disclosed form, it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals are used for like elements. In the accompanying drawings, the dimensions of the structures are enlarged or reduced than the actual size for clarity of the present invention.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It is to be understood that it does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.

또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 벗어나지 않으면서, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Also, terms such as first and second may be used to describe various elements, but the elements should not be limited by the terms. The above terms may be used for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be termed a second component, and similarly, a second component may also be termed a first component.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 아니하는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having meanings consistent with the meanings in the context of the related art, and unless explicitly defined in the present application, they should be interpreted in an ideal or excessively formal meaning. doesn't happen

도 1은 본 개시의 예시적 실시예에 따른 집적 회로의 레이아웃을 설계하는 방법을 나타내는 순서도이다. 집적 회로 또는 집적 회로의 레이아웃은 복수의 레이어들이 적층된 구조를 포함할 수 있고, 복수의 레이어 각각에 형성된 복수개의 패턴들을 포함할 수 있다. 패턴은 반도체 제조 공정에 따라 형성된 물질의 형상을 지칭할 수 있고, 하나의 레이어에 복수의 패턴들이 형성될 수 있다. 예를 들면, 패턴은 서로 다른 레이어에 형성된 도전체들을 전기적으로 연결시키는 비아(via)를 형성하기 위하여 특정 레이어에 형성될 수도 있고, 하나의 레이어에서 전기적 신호를 이동시키는 라인을 형성할 수도 있다. 패턴은 마스크 공정, 식각 공정, 및/또는 퇴적 공정 등을 통해서 형성될 수 있다.1 is a flowchart illustrating a method of designing a layout of an integrated circuit according to an exemplary embodiment of the present disclosure. The integrated circuit or the layout of the integrated circuit may include a structure in which a plurality of layers are stacked, and may include a plurality of patterns formed in each of the plurality of layers. The pattern may refer to a shape of a material formed according to a semiconductor manufacturing process, and a plurality of patterns may be formed on one layer. For example, the pattern may be formed on a specific layer to form a via that electrically connects conductors formed on different layers, or a line for moving an electrical signal in one layer may be formed. The pattern may be formed through a mask process, an etching process, and/or a deposition process.

집적 회로의 집적도를 높이기 위하여, 패턴의 크기 또는 서로 다른 패턴들 사이의 간격이 감소될 것이 요구된다. 이에 따라, 하나의 레이어에 포함된 패턴들을 형성하기 위해 단일 마스크가 아닌 복수의 마스크들을 사용하는 멀티 마스크 패터닝(multi-mask patterning)이 사용될 수 있다. 멀티 마스크 패터닝에 따라, 하나의 레이어에 포함된 복수의 패턴들 중 각각은 복수의 마스크들 중 하나의 마스크에 대응될 수 있고, 대응되는 마스크에 기초하여 형성될 수 있다. 예를 들면, 하나의 레이어에 형성하고자 하는 2개의 패턴들은 하나의 마스크에 기초하여 형성될 때보다 서로 다른 2개의 마스크들에 각각 기초하여 형성될 때 서로 더 근접하게 배치될 수 있다. 멀티 마스크 패터닝에 대한 자세한 내용은 도 2를 참조하여 후술될 것이다.In order to increase the degree of integration of an integrated circuit, a size of a pattern or an interval between different patterns is required to be reduced. Accordingly, multi-mask patterning using a plurality of masks instead of a single mask may be used to form patterns included in one layer. According to multi-mask patterning, each of the plurality of patterns included in one layer may correspond to one of the plurality of masks, and may be formed based on the corresponding mask. For example, two patterns to be formed on one layer may be disposed closer to each other when they are respectively formed based on two different masks than when they are formed based on one mask. Details of the multi-mask patterning will be described later with reference to FIG. 2 .

하나의 레이어에 형성될 복수의 패턴들 중 각각을 복수의 마스크들 중 하나에 대응시키는 것은 복수의 패턴들을 컬러링하는 것으로서 지칭될 수 있고, 복수의 패턴들 및 복수의 마스크들 사이의 대응관계를 포함하는 데이터는 컬러링 정보로서 지칭될 수 있다. 즉, 동일한 컬러를 가지는 패턴들은 동일한 마스크에 기초하여 형성될 수 있고, 상이한 컬러를 가지는 패턴들은 상이한 마스크에 기초하여 형성될 수 있다. 본 개시의 예시적 실시예에 따른 집적 회로의 레이아웃을 설계하는 방법은 복수의 패턴들에 대한 컬러링을 효과적으로 수행함으로써 멀티 마스크 패터닝이 용이하게 활용되도록 하고, 이에 따라 집적 회로의 집적도를 향상시킬 수 있다. 뿐만 아니라, 집적 회로의 레이아웃을 설계하는 데 걸리는 시간을 단축시킬 수도 있다.Corresponding each of the plurality of patterns to be formed in one layer to one of the plurality of masks may be referred to as coloring the plurality of patterns, and includes a correspondence between the plurality of patterns and the plurality of masks. The data to be used may be referred to as coloring information. That is, patterns having the same color may be formed based on the same mask, and patterns having different colors may be formed based on different masks. The method for designing a layout of an integrated circuit according to an exemplary embodiment of the present disclosure enables multi-mask patterning to be easily utilized by effectively performing coloring on a plurality of patterns, thereby improving the degree of integration of the integrated circuit. . In addition, the time required to design the layout of the integrated circuit may be reduced.

이하의 도면들에서 도시된 집적 회로의 레이아웃들은 집적 회로의 레이아웃을 정의하는 레이아웃 데이터로부터 도출된 그래픽 데이터일 수 있다. 또한, 이하의 설명에서 집적 회로의 레이아웃에 포함된 구성요소들은 레이아웃 데이터로부터 정의되는 것으로서, 레이아웃 데이터를 변경함으로써 생성, 제거 또는 변형될 수 있다.
The layouts of the integrated circuit shown in the drawings below may be graphic data derived from layout data defining the layout of the integrated circuit. In addition, in the following description, components included in the layout of the integrated circuit are defined from the layout data, and may be created, removed, or modified by changing the layout data.

도 1을 참조하면, 단계 S20에서, 입력 레이아웃 데이터를 수신하는 동작이 수행될 수 있다. 입력 레이아웃 데이터는, 예컨대 GDSII(Graphic Data System II)와 같이 집적 회로의 레이아웃에 대한 기하학적 정보를 포함할 수 있다. 예를 들면, 입력 레이아웃 데이터는 하나의 레이어에 형성된 복수의 패턴들에 대한 배치 정보를 포함할 수 있고, 배치 정보는 복수의 패턴들 중 각각의, 위치, 크기 및 연결된 네트에 관한 정보를 포함할 수 있다. 또한 본 실시예에서, 입력 레이아웃 데이터는 컬러링 정보를 포함할 수 있다. 입력 레이아웃 데이터에 포함된 컬러링 정보는 집적 회로의 레이아웃 생성시 디폴트로 정의된 것일 수도 있고, 집적 회로의 레이아웃에 기초하여 반도체 설계 툴의 컬러링 알고리즘에 의해 생성된 것일 수도 있다.Referring to FIG. 1 , in step S20, an operation of receiving input layout data may be performed. The input layout data may include geometric information about the layout of the integrated circuit, such as Graphic Data System II (GDSII). For example, the input layout data may include arrangement information for a plurality of patterns formed in one layer, and the arrangement information may include information about a location, size, and a connected net of each of the plurality of patterns. can Also, in this embodiment, the input layout data may include coloring information. The coloring information included in the input layout data may be defined as a default when the layout of the integrated circuit is generated, or may be generated by a coloring algorithm of a semiconductor design tool based on the layout of the integrated circuit.

단계 S40에서, 복수의 패턴들에 대하여 설계 규칙을 체크하는 동작이 수행될 수 있다. 설계 규칙(design rule)은 주어진 반도체 제조 공정에 기초하여 집적 회로의 레이아웃을 설계하는 과정에서 준수하여야 할 복수의 수치들을 포함할 수 있다. 예를 들면, 설계 규칙은 패턴의 최소 폭을 포함할 수 있고, 하나의 레이어에 형성되는 2개의 패턴들 사이의 최소 간격을 포함할 수도 있다. 또한, 설계 규칙은 멀티 마스크 패터닝에서 동일한 마스크에 기초하여 형성되는 패턴들 사이의 최소 거리 및 상이한 마스크들에 기초하여 각각 형성되는 패턴들 사이의 최소 거리를 포함할 수 있다. 본 실시예에서, 복수의 패턴들은 동일한 레이어에서 형성된 것들일 수 있고, 복수의 패턴들에 대하여 설계 규칙을 준수하는지 여부가 판단될 수 있다.In operation S40 , an operation of checking design rules for a plurality of patterns may be performed. A design rule may include a plurality of numerical values to be observed in a process of designing a layout of an integrated circuit based on a given semiconductor manufacturing process. For example, a design rule may include a minimum width of a pattern, and may include a minimum spacing between two patterns formed in one layer. In addition, the design rule may include a minimum distance between patterns formed based on the same mask in multi-mask patterning and a minimum distance between patterns each formed based on different masks. In the present embodiment, the plurality of patterns may be formed on the same layer, and it may be determined whether a design rule is complied with with respect to the plurality of patterns.

단계 S60에서, 설계 규칙을 위반한 제1 및 제2 패턴 중 제1 패턴을 제3 패턴과 병합하는 동작이 수행될 수 있다. 예를 들면, 제1 및 제2 패턴은 동일한 마스크에 대응할 수 있고, 제1 및 제2 패턴 사이의 거리가, 설계 규칙에 따른 동일한 마스크에 기초하여 형성되는 패턴들 사이의 최소 거리보다 작을 수 있다. 제3 패턴은 제1 패턴과 동일한 네트(net)에 연결된 패턴으로서, 제1 패턴은 제3 패턴과 병합될 수 있다. 네트는 집적 회로의 레이아웃과 동등한 회로도에서 노드(node)에 대응하는 것으로서, 동일한 네트에 연결된 패턴들은 집적 회로의 동작시 동일한 전위(또는, 기생 저항에 기인하여 거의 유사한 전위)를 가질 수 있다. In operation S60 , an operation of merging the first pattern among the first and second patterns violating the design rule with the third pattern may be performed. For example, the first and second patterns may correspond to the same mask, and the distance between the first and second patterns may be smaller than a minimum distance between patterns formed based on the same mask according to a design rule. . The third pattern is a pattern connected to the same net as the first pattern, and the first pattern may be merged with the third pattern. The net corresponds to a node in the circuit diagram equivalent to the layout of the integrated circuit, and patterns connected to the same net may have the same potential (or substantially similar potential due to parasitic resistance) during operation of the integrated circuit.

제1 및 제3 패턴으로부터 병합된 패턴은 제3 패턴에 대응하는 마스크에 대응될 수 있다. 이에 따라, 제1 및 제2 패턴에 대하여 위반된 설계 규칙은 제1 및 제3 패턴으로부터 병합된 패턴 및 제2 패턴에 대하여 준수될 수 있다. 제1 및 제3 패턴의 병합은 입력 레이아웃 데이터에서 제1 및 제3 패턴에 대응하는 배치 정보를 삭제하고, 병합된 패턴에 대응하는 배치 정보를 생성함으로써 실현될 수 있다. 또한, 컬러링 정보를 갱신함으로써 병합된 패턴은 제3 패턴이 대응하던 마스크에 대응될 수 있다.The merged pattern from the first and third patterns may correspond to a mask corresponding to the third pattern. Accordingly, the violated design rule for the first and second patterns may be observed for the merged pattern and the second pattern from the first and third patterns. Merging of the first and third patterns may be realized by deleting arrangement information corresponding to the first and third patterns from the input layout data, and generating arrangement information corresponding to the merged pattern. Also, by updating the coloring information, the merged pattern may correspond to the mask to which the third pattern corresponds.

제1 및 제2 패턴이 설계 규칙에 위반되는 경우, 이를 극복하기 위하여 제1 또는 제2 패턴이 대응하는 마스크가 변경될 수 있다. 그러나, 만약 제1 패턴에 대응하는 마스크가 변경되는 경우, 제1 패턴 및 제1 패턴에 인접한 패턴들 사이에 대하여 설계 규칙이 위반될 수 있고, 이를 극복하기 위해 또 다른 패턴에 대응하는 마스크를 변경하는 동작이 반복될 수 있다. 이와 다르게, 제1 및 제2 패턴이 설계 규칙을 준수하도록 제1 또는 제2 패턴의 위치가 변경될 수 있다. 그러나, 만약 제1 패턴의 위치가 변경되는 경우, 제1 패턴의 이동에 따른 다른 패턴들(예컨대, 제1 패턴과 동일한 레이어에 있는 패턴 또는 다른 레이어에 있는 패턴)의 연쇄적인 이동이 발생할 수 있고, 불필요하게 낭비되는 공간이 발생할 수 있다. 따라서, 본 개시의 예시적 실시예에 따른 집적 회로의 레이아웃을 설계하는 방법은 컬러링을 용이하게 수행할 수 있게 함으로써 집적 회로의 레이아웃을 설계하는데 걸리는 시간을 단축할 수 있다. 단계 S40에서 복수의 패턴들이 설계 규칙을 만족하는 경우 단계 S60은 생략될 수 있고, 단계 S80이 단계 S40에 후속하여 수행될 수 있다.When the first and second patterns violate a design rule, the mask to which the first or second patterns correspond may be changed in order to overcome this. However, if the mask corresponding to the first pattern is changed, the design rule may be violated between the first pattern and the patterns adjacent to the first pattern, and to overcome this, the mask corresponding to another pattern is changed action may be repeated. Alternatively, the position of the first or second pattern may be changed such that the first and second patterns conform to the design rule. However, if the position of the first pattern is changed, a chain movement of other patterns (eg, a pattern in the same layer as the first pattern or a pattern in a different layer) may occur according to the movement of the first pattern, and , space may be wasted unnecessarily. Accordingly, the method for designing the layout of the integrated circuit according to the exemplary embodiment of the present disclosure can reduce the time required for designing the layout of the integrated circuit by enabling coloring to be easily performed. When the plurality of patterns satisfy the design rule in step S40, step S60 may be omitted, and step S80 may be performed subsequent to step S40.

단계 S80에서, 출력 레이아웃 데이터를 생성하는 동작이 수행될 수 있다. 예를 들면, 단계 S60에서 변경된 배치 정보 또는 갱신된 컬러링 정보를 포함하는 출력 레이아웃 데이터가 생성될 수 있다. 출력 레이아웃 데이터는 복수의 패턴들의 배치 정보뿐만 아니라 컬러링 정보를 포함함으로써, 출력 레이아웃 데이터에 기초하여 집적 회로의 제조를 위한 반도체 제조 공정이 도출될 수 있다.
In step S80, an operation of generating output layout data may be performed. For example, output layout data including the changed arrangement information or updated coloring information may be generated in step S60. Since the output layout data includes not only arrangement information of a plurality of patterns but also coloring information, a semiconductor manufacturing process for manufacturing an integrated circuit may be derived based on the output layout data.

도 2는 멀티 마스크 패터닝을 개략적으로 나타내는 도면이다. 전술한 바와 같이, 하나의 레이어에 형성되는 복수의 패턴들이 복수의 마스크들에 기초하여 형성됨으로써 집적 회로의 집적도가 향상될 수 있다.2 is a diagram schematically illustrating multi-mask patterning. As described above, since the plurality of patterns formed on one layer is formed based on the plurality of masks, the degree of integration of the integrated circuit may be improved.

도 2를 참조하면, 복수의 패턴들(P1 내지 P4)은 복수의 마스크들(101 내지 103)에 기초하여 형성될 수 있다. 즉, 제1 레이어(L1) 위에 위치하는 레이어에서 형성된(또는 제1 레이어(L1) 위에 위치하는 레이어에 포함되는) 복수의 패턴들(P1 내지 P4) 각각은 복수의 마스크들(101 내지 103) 중 하나에 기초하여 형성될 수 있다. 예를 들면, 제1 및 제2 패턴(P1, P2)은 제1 마스크(101)에 기초하여 형성될 수 있고, 제3 패턴(P3)은 제2 마스크(102)에 기초하여 형성될 수 있고, 제4 패턴(P4)은 제3 마스크(103)에 기초하여 형성될 수 있다.Referring to FIG. 2 , a plurality of patterns P1 to P4 may be formed based on a plurality of masks 101 to 103 . That is, each of the plurality of patterns P1 to P4 formed in the layer positioned on the first layer L1 (or included in the layer positioned on the first layer L1) is a plurality of masks 101 to 103 . It may be formed based on one of the For example, the first and second patterns P1 and P2 may be formed based on the first mask 101 , and the third pattern P3 may be formed based on the second mask 102 , , the fourth pattern P4 may be formed based on the third mask 103 .

멀티 마스크 패터닝에 따라 하나의 레이어에서 형성되는 패턴들의 집적도가 향상될 수 있다. 예를 들면, 도 2에서 제1 패턴 및 제3 패턴은 서로 다른 마스크들(101, 102)에 기초하여 각각 형성됨으로써, 동일한 마스크로 형성될 때 보다 가까운 거리만큼 서로 이격될 수 있다. 하나의 레이어에 형성되는 복수의 패턴들을 형성하기 위해 사용되는 마스크들의 개수는 반도체 제조 공정에 기초하여 결정될 수 있고, 집적 회로를 제조하는데 걸리는 시간이 마스크들의 개수를 결정하는데 고려될 수 있다.According to the multi-mask patterning, the degree of integration of patterns formed in one layer may be improved. For example, in FIG. 2 , the first pattern and the third pattern may be respectively formed based on different masks 101 and 102 , and thus may be spaced apart from each other by a closer distance than when the same mask is formed. The number of masks used to form a plurality of patterns formed in one layer may be determined based on a semiconductor manufacturing process, and a time taken for manufacturing an integrated circuit may be considered in determining the number of masks.

도 2에서 복수의 패턴들(P1 내지 P4)을 형성하기 위한 복수의 마스크들(101 내지 103)만이 도시하였으나, 복수의 패턴들(P1 내지 P4)은 추가적으로 수행되는 퇴적 공정 및/또는 식각 공정에 따라 형성될 수 있다. 또한, 도 2에서 복수의 패턴들(P1 내지 P4)은 제1 레이어(L1) 상에 돌출된 형상으로 도시되었으나, 본 개시의 예시적 실시예들에 따라 하나의 레이어에서 형성되는 복수의 패턴들은 홀(hole) 또는 비아(via)를 형성하는 패턴일 수도 있다.
Although only the plurality of masks 101 to 103 for forming the plurality of patterns P1 to P4 are illustrated in FIG. 2 , the plurality of patterns P1 to P4 are additionally performed in the deposition process and/or etching process. can be formed according to In addition, although the plurality of patterns P1 to P4 in FIG. 2 are illustrated as protruding on the first layer L1, the plurality of patterns formed in one layer according to exemplary embodiments of the present disclosure is It may be a pattern for forming a hole or a via.

도 3은 복수의 패턴들을 포함하는 집적 회로의 레이아웃을 나타내는 평면도이다. 구체적으로 도 3은 도 2에 도시된 멀티 마스크 패터닝에 기초하여 형성된 복수의 패턴들(P1 내지 P4)의 평면도를 나타내고, 복수의 패턴들(P1 내지 P4)은 제1 레이어(L1) 위에 위치하는 레이어에서 형성될 수 있다.3 is a plan view illustrating a layout of an integrated circuit including a plurality of patterns. Specifically, FIG. 3 shows a plan view of a plurality of patterns P1 to P4 formed based on the multi-mask patterning shown in FIG. 2 , and the plurality of patterns P1 to P4 is located on the first layer L1. It can be formed in layers.

전술한 바와 같이, 설계 규칙은 동일한 마스크에 기초하여 하나의 레이어에 형성되는 2개의 패턴들 사이의 최소 간격인 D_same을 포함할 수 있고, 상이한 마스크들에 기초하여 하나의 레이어에 형성되는 2개의 패턴들 사이의 최소 간격인 D_diff를 포함할 수 있다. 멀티 마스크 패터닝의 효과에 의해서 D_diff는 D_same 보다 작을 수 있다. 입력 레이아웃 데이터에 따른 집적 회로의 레이아웃에서 복수의 패턴들 사이의 거리는 D_diff보다 크거나 같을 수 있다. 상이한 마스크들에 기초하여 형성되는 패턴들 사이의 거리는 주어진 반도체 제조 공정으로부터 구현이 가능한 최소의 거리일 수 있고, 이에 따라 입력 레이아웃 데이터에서 하나의 레이어에 형성된 복수의 패턴들 사이의 거리가 D_diff보다 크거나 같도록 설계될 수 있다. 서로 D_diff이상 이격된 복수의 패턴들 중 각각을 복수의 마스크들 중 하나를 대응시키는 컬러링 동작이 수행되고, 컬러링 정보가 생성될 수 있다.As described above, the design rule may include D_same, which is the minimum spacing between two patterns formed in one layer based on the same mask, and two patterns formed in one layer based on different masks. It may include D_diff, which is the minimum distance between them. Due to the effect of multi-mask patterning, D_diff may be smaller than D_same. In the layout of the integrated circuit according to the input layout data, a distance between the plurality of patterns may be greater than or equal to D_diff. The distance between the patterns formed based on different masks may be the minimum distance achievable from a given semiconductor manufacturing process, and accordingly, the distance between the plurality of patterns formed in one layer in the input layout data is greater than D_diff. or may be designed to be the same. A coloring operation of matching each of the plurality of patterns spaced apart from each other by D_diff or more to one of the plurality of masks may be performed, and coloring information may be generated.

도 2 및 도 3을 함께 참조하면, 서로 다른 마스크들(101, 102)에 기초하여 각각 형성되는 제1 패턴(P1) 및 제3 패턴(P3) 사이의 거리(D1)는 설계 규칙에 따른 D_diff보다 클 수 있다(즉, D1 > D_diff). 만약, D1이 D_diff보다 작다면, 제1 패턴(P1) 및 제3 패턴(P3)은 설계 규칙을 위반한 패턴들로서 분류될 수 있다. 마찬가지로, 서로 다른 마스크들(101, 103)에 기초하여 각각 형성되는 제1 패턴(P1) 및 제3 패턴(P3) 사이의 거리(D3)도 설계 규칙에 따른 D_diff보다 클 수 있다(즉, D3 > D_diff). 동일한 마스크, 즉 제1 마스크(101)에 기초하여 형성되는 제1 패턴(P1) 및 제2 패턴(P2) 사이의 거리(D2)는 설계 규칙에 따른 D_same보다 클 수 있다(즉, D2 > D_same). 이와 같이, 컬러링된 패턴들에 의해 설계 규칙이 위반되는 것은 컬러 충돌(color conflict)로서 지칭될 수 있다.
2 and 3 together, the distance D1 between the first pattern P1 and the third pattern P3 formed based on different masks 101 and 102, respectively, is D_diff according to the design rule. may be greater than (ie, D1 > D_diff). If D1 is smaller than D_diff, the first pattern P1 and the third pattern P3 may be classified as patterns that violate the design rule. Similarly, the distance D3 between the first pattern P1 and the third pattern P3 respectively formed based on the different masks 101 and 103 may be greater than D_diff according to the design rule (ie, D3 ). > D_diff). The distance D2 between the first pattern P1 and the second pattern P2 formed based on the same mask, that is, the first mask 101 may be greater than D_same according to the design rule (ie, D2 > D_same). ). As such, a violation of a design rule by colored patterns may be referred to as a color conflict.

도 4는 설계 규칙을 위반한 패턴들을 포함하는 집적 회로의 레이아웃을 나타내는 평면도이다. 전술한 바와 같이, 하나의 레이어에 형성되는 복수의 패턴들은 컬러링에 의해서 복수의 마스크들 중 하나에 대응될 수 있고, 컬러링 정보는 집적 회로의 레이아웃을 생성할 때 디폴트로 정의될 수도 있고, 집적 회로의 레이아웃에 기초하여 반도체 설계 툴의 컬러링 알고리즘에 의해서 생성될 수도 있다. 도 4에서, 제1, 제2, 제6 및 제7 패턴들(10_1, 10_2, 10_6, 10_7)은 제1 마스크에 기초하여 형성될 수 있고, 제3 및 제8 패턴들(10_3, 10_8)은 제2 마스크에 기초하여 형성될 수 있고, 제4 및 제5 패턴들(10_4, 10_5)은 제3 마스크에 기초하여 형성될 수 있다.4 is a plan view illustrating a layout of an integrated circuit including patterns that violate a design rule. As described above, the plurality of patterns formed in one layer may correspond to one of the plurality of masks by coloring, and the coloring information may be defined as a default when generating the layout of the integrated circuit, and the integrated circuit It may be generated by a coloring algorithm of a semiconductor design tool based on the layout of . In FIG. 4 , first, second, sixth, and seventh patterns 10_1 , 10_2 , 10_6 , and 10_7 may be formed based on a first mask, and third and eighth patterns 10_3 and 10_8 . may be formed based on the second mask, and the fourth and fifth patterns 10_4 and 10_5 may be formed based on the third mask.

도 4를 참조하면, 집적 회로의 레이아웃(10)은 하나의 레이어에서 형성되는 복수의 패턴들(10_1 내지 10_8)을 포함할 수 있다. 제1 마스크에 기초하여 형성되는 제1 패턴(10_1) 및 제2 패턴(10_2)은 Dx만큼 이격될 수 있고, Dx가 설계 규칙에 따른 D_same보다 작은 경우 제1 패턴(10_1) 및 제2 패턴(10_2)은 설계 규칙을 위반한 패턴으로 분류될 수 있다.Referring to FIG. 4 , the layout 10 of the integrated circuit may include a plurality of patterns 10_1 to 10_8 formed in one layer. The first pattern 10_1 and the second pattern 10_2 formed based on the first mask may be spaced apart by Dx, and when Dx is smaller than D_same according to the design rule, the first pattern 10_1 and the second pattern 10_1 and the second pattern ( 10_2) can be classified as a pattern that violates the design rule.

설계 규칙을 준수하기 위한 한 방법으로서, 제1 패턴(10_1)을 제1 마스크와 다른 마스크, 예컨대 제2 마스크에 대응시키는 경우, 제1 패턴(10_1) 및 제3 패턴(10_3)은 설계 규칙에 따른 D_same에 기인하여 설계 규칙을 위반할 수 있다. 또한, 제1 패턴(10_1)을 제3 마스크에 대응시키는 경우, 제1 패턴(10_1) 및 제4 패턴(10_4)은 설계 규칙에 따른 D_same에 기인하여 설계 규칙을 위반할 수 있다. 이와 같이, 위반된 패턴들 중 하나를 다른 마스크에 대응시키는 것은 설계 규칙을 위반한 새로운 패턴들을 생성할 수 있다.As a method for complying with the design rule, when the first pattern 10_1 corresponds to a mask different from the first mask, for example, a second mask, the first pattern 10_1 and the third pattern 10_3 conform to the design rule. Design rules may be violated due to D_same. Also, when the first pattern 10_1 corresponds to the third mask, the first pattern 10_1 and the fourth pattern 10_4 may violate the design rule due to D_same according to the design rule. As such, mapping one of the violating patterns to another mask may create new patterns that violate the design rule.

설계 규칙을 준수하기 위한 다른 방법으로서, 제1 패턴(10_1)이 제2 패턴(10_2)으로부터 D_same보다 멀리 이격되도록 제1 패턴(10_1)을 이동시키는 경우, 제1 패턴(10_1)과 제1 패턴(10_1)에 인접한 다른 패턴들, 예컨대 제4 패턴(10_4) 또는 제5 패턴(10_5) 사이의 거리가 감소함에 따라, 설계 규칙에 따른 D_diff에 기인하여 설계 규칙을 위반할 수 있다. 이와 같이, 위반된 패턴들 중 하나의 위치를 이동시키는 것은 설계 규칙을 위반한 새로운 패턴들을 생성할 수 있다.
As another method for complying with the design rule, when the first pattern 10_1 is moved so that the first pattern 10_1 is spaced apart from the second pattern 10_2 further than D_same, the first pattern 10_1 and the first pattern As the distance between other patterns adjacent to (10_1), for example, the fourth pattern 10_4 or the fifth pattern 10_5 decreases, the design rule may be violated due to D_diff according to the design rule. As such, moving the position of one of the violated patterns may create new patterns that violate the design rule.

도 5a 및 도 5b는 본 개시의 예시적 실시예에 따른 집적 회로의 레이아웃을 설계하는 방법이 집적 회로의 레이아웃에 적용되는 과정을 나타내는 도면이다. 구체적으로, 도 5a 및 도 5b는 도 4의 집적 회로의 레이아웃(10)에서 설계 규칙을 위반한 제1 및 제2 패턴들(10_1, 10_2)에 대하여 설계 규칙의 위반을 해소하는 과정을 나타내는 도면이다. 도 4와 유사하게, 도 5a 및 도 5b에서 집적 회로의 레이아웃(10')은 동일한 레이어에서 형성된 복수의 패턴들(10_1' 내지 10_8')을 포함할 수 있고, 제1 및 제2 패턴들(10_1', 10_2')은 동일한 마스크(즉, 제1 마스크)에 기초하여 형성되고, 제1 및 제2 패턴들(10_1', 10_2') 사이의 거리는 D_same보다 작을 수 있다.5A and 5B are diagrams illustrating a process in which a method for designing a layout of an integrated circuit according to an exemplary embodiment of the present disclosure is applied to the layout of the integrated circuit. Specifically, FIGS. 5A and 5B are diagrams illustrating a process of resolving the violation of the design rule with respect to the first and second patterns 10_1 and 10_2 that violate the design rule in the layout 10 of the integrated circuit of FIG. 4 . am. 4 , the layout 10 ′ of the integrated circuit in FIGS. 5A and 5B may include a plurality of patterns 10_1 ′ to 10_8 ′ formed in the same layer, and the first and second patterns 10_1 ′ to 10_8 ′ 10_1' and 10_2' are formed based on the same mask (ie, the first mask), and a distance between the first and second patterns 10_1' and 10_2' may be smaller than D_same.

본 개시의 예시적 실시예에 따라, 설계 규칙을 위반한 제1 및 제2 패턴들(10_1', 10_2')에 인접한 패턴들 중, 제1 또는 제2 패턴(10_1', 10_2')과 동일한 네트에 연결된 패턴이 선택될 수 있다. 예를 들면, 도 5a에 도시된 바와 같이, 제1 패턴(10_1')과 제3 패턴(10_3')이 동일한 네트, 예컨대 전원 네트에 연결된 경우, 제3 패턴(10_3')이 선택될 수 있다. 도 5a에서 그룹 G로 도시된 바와 같이, 동일한 네트에 연결된 제1 패턴(10_1') 및 제3 패턴(10_3')은 그룹핑될 수 있다.According to an exemplary embodiment of the present disclosure, among the patterns adjacent to the first and second patterns 10_1 ′ and 10_2 ′ that violate the design rule, the same as the first or second pattern 10_1 ′, 10_2 ′ A pattern connected to the net can be selected. For example, as shown in FIG. 5A , when the first pattern 10_1 ′ and the third pattern 10_3 ′ are connected to the same net, for example, a power supply net, the third pattern 10_3 ′ may be selected. . As shown as a group G in FIG. 5A , the first pattern 10_1 ′ and the third pattern 10_3 ′ connected to the same net may be grouped.

본 개시의 예시적 실시예에 따라, 그룹핑된 패턴들은 병합될 수 있다. 즉, 그룹핑된 복수의 패턴들은 하나의 패턴으로 병합될 수 있다. 예를 들면, 도 5b에 도시된 바와 같이, 도 5a의 제1 패턴(10_1') 및 제3 패턴(10_3')은 병합될 수 있고, 이에 따라 제1 패턴(10_1') 및 제3 패턴(10_3')으로부터 병합된 패턴(10_13)이 생성될 수 있다. 병합된 패턴(10_13)은 제1 패턴(10_1') 및/또는 제3 패턴(10_3')을 연장함으로써 형성될 수 있다. 병합된 패턴(10_13)은 복수의 마스크들 중 하나에 대응될 수 있고, 예컨대 제3 패턴(10_3')에 대응하는 마스크(즉, 제2 마스크)에 병합된 패턴(10_13)이 대응되도록 컬러링 정보가 갱신될 수 있다.According to an exemplary embodiment of the present disclosure, grouped patterns may be merged. That is, a plurality of grouped patterns may be merged into one pattern. For example, as shown in FIG. 5B , the first pattern 10_1 ′ and the third pattern 10_3 ′ of FIG. 5A may be merged, and accordingly, the first pattern 10_1 ′ and the third pattern 10_1 ′ and the third pattern 10_3 ′ may be merged. A merged pattern 10_13 may be generated from 10_3'). The merged pattern 10_13 may be formed by extending the first pattern 10_1' and/or the third pattern 10_3'. The merged pattern 10_13 may correspond to one of a plurality of masks, for example, coloring information such that the merged pattern 10_13 corresponds to a mask (ie, the second mask) corresponding to the third pattern 10_3'. can be updated.

도 5b를 참조하면, 제2 마스크에 대응된 병합된 패턴(10_13)에 기인하여 설계 규칙은 준수될 수 있다. 즉, 병합된 패턴(10_13)이 제2 마스크에 대응됨으로써 제1 마스크에 대응하는 제2 패턴(10_2') 및 병합된 패턴(10_13) 사이의 거리는 설계 규칙에 따른 D_diff와 비교될 수 있고, 제2 패턴(10_2') 및 병합된 패턴(10_13) 사이의 거리는 D_diff보다 클 수 있다. 이에 따라, 도 5a의 제1 패턴(10_1') 및 제2 패턴(10_2') 사이에 발생된 컬러 충돌은 용이하게 해소될 수 있다. Referring to FIG. 5B , the design rule may be observed due to the merged pattern 10_13 corresponding to the second mask. That is, since the merged pattern 10_13 corresponds to the second mask, the distance between the second pattern 10_2' corresponding to the first mask and the merged pattern 10_13 may be compared with D_diff according to the design rule, The distance between the two patterns 10_2' and the merged pattern 10_13 may be greater than D_diff. Accordingly, the color collision generated between the first pattern 10_1 ′ and the second pattern 10_2 ′ of FIG. 5A may be easily resolved.

비록 도 5a 및 도 5b는 2개의 패턴들이 병합되는 예시를 도시하였으나, 본 개시의 기술적 사상이 이에 제한되지 아니하는 점은 이해될 것이다. 즉, 도 5a의 그룹(G)은 제1 패턴(10_1') 및 제3 패턴(10_3')뿐만 아니라 제1 패턴(10_1')과 동일한 네트에 연결된 다른 패턴을 더 포함할 수 있고, 그룹(G)에 의해 그룹핑된 패턴들은 병합될 수 있다.
Although FIGS. 5A and 5B show an example in which two patterns are merged, it will be understood that the technical spirit of the present disclosure is not limited thereto. That is, the group G in FIG. 5A may further include other patterns connected to the same net as the first pattern 10_1' as well as the first pattern 10_1' and the third pattern 10_3', and the group ( The patterns grouped by G) can be merged.

도 6은 본 개시의 예시적 실시예에 따라 도 1의 단계 S40의 예시를 나타내는 순서도이다. 도 1을 참조하여 전술한 바와 같이, 도 1의 단계 S40에서 하나의 레이어에 형성된 복수의 패턴들에 대하여 설계 규칙을 체크하는 동작이 수행될 수 있다. 즉, 컬러 충돌의 발생 여부가 체크될 수 있다. 도6은 도 1의 단계 S40에서 복수의 패턴들 중 제1 마스크에 대응하는 제1 패턴 및 제2 패턴에 대하여 설계 규칙이 위반된 상태를 바탕으로 설명될 것이다. 즉, 도 6에서 제1 패턴 및 제2 패턴 사이의 거리는 설계 규칙에 따른 D_same보다 작을 수 있다.6 is a flowchart illustrating an example of step S40 of FIG. 1 according to an exemplary embodiment of the present disclosure. As described above with reference to FIG. 1 , in step S40 of FIG. 1 , an operation of checking a design rule for a plurality of patterns formed in one layer may be performed. That is, whether a color collision occurs may be checked. FIG. 6 will be described based on a state in which the design rule is violated with respect to the first pattern and the second pattern corresponding to the first mask among the plurality of patterns in step S40 of FIG. 1 . That is, in FIG. 6 , the distance between the first pattern and the second pattern may be smaller than D_same according to the design rule.

본 개시의 예시적 실시예에 따라, 도 1의 단계 S60가 수행되기 전에 설계 규칙을 위반한 패턴을 다른 마스크에 대응시키는 동작이 단계 S40에서 수행될 수 있다. 즉, 단계 S60에 의해서 제1 패턴과 동일한 네트에 연결된 제3 패턴을 선택하고 제1 패턴과 제3 패턴을 병합하기 전에, 제1 및 제2 패턴에 인접한 패턴들에 대한 영향 없이 제1 또는 제2 패턴만을 다른 마스크에 대응시킴으로써 설계 규칙이 준수될 수 있는지 여부가 판단될 수 있다. 즉, 제1 또는 제2 패턴만을 다른 마스크에 대응시킴으로써 설계 규칙이 준수되지 못하는 경우, 단계 S60에 의해서 제1 패턴 및 제3 패턴이 병합될 수 있다. 이하에서, 도 6을 참조하여 도 1의 단계 S40의 예시가 상술될 것이다.According to an exemplary embodiment of the present disclosure, before step S60 of FIG. 1 is performed, an operation of matching a pattern violating a design rule to another mask may be performed in step S40. That is, before selecting the third pattern connected to the same net as the first pattern by step S60 and merging the first pattern and the third pattern, the first or second pattern without affecting the patterns adjacent to the first and second patterns By matching only the two patterns to the other masks, it can be judged whether the design rule can be complied with. That is, when the design rule is not complied with by matching only the first or second pattern to the other mask, the first pattern and the third pattern may be merged by step S60 . Hereinafter, an example of step S40 of FIG. 1 will be described in detail with reference to FIG. 6 .

도 6을 참조하면, 도 1의 단계 S20에 후속하여 수행되는 단계 S41에서, 제1 또는 제2 패턴을 제1 마스크와 다른 마스크에 대응시키는 동작이 수행될 수 있다. 즉, 제1 또는 제2 패턴을 제1 마스크와 상이한 마스크에 대응시킬 수 있다. 단계 S43에서, 제1 및 제2 패턴에 인접한 패턴들(예컨대, 제1 및 제2 패턴으로부터 미리 정해진 거리 이하만큼 이격된 패턴들)과, 제1 및 제2 패턴에 대하여 설계 규칙을 체크하는 동작이 수행될 수 있다. 단계 S41에 기인하여 제1 또는 제2 패턴에 대응하는 마스크가 변경됨에 따라, 제1 및 제2 패턴에 인접한 패턴들과 제1 및 제2 패턴이 설계 규칙을 준수하는지 판단될 수 있다.Referring to FIG. 6 , in step S41 performed subsequent to step S20 of FIG. 1 , an operation of matching the first or second pattern to a mask different from the first mask may be performed. That is, the first or second pattern may correspond to a mask different from the first mask. In step S43, an operation of checking design rules for patterns adjacent to the first and second patterns (eg, patterns spaced apart from the first and second patterns by a predetermined distance or less) and the first and second patterns This can be done. As the mask corresponding to the first or second pattern is changed due to operation S41, it may be determined whether patterns adjacent to the first and second patterns and the first and second patterns comply with the design rule.

단계 S45에서, 제1 및 제2 패턴에 인접한 패턴들, 제1 및 제2 패턴이 설계 규칙을 통과하는지 판단하는 동작이 수행될 수 있다. 설계 규칙이 통과된 경우, 단계 S49에서 컬러링 정보를 갱신하는 동작이 수행될 수 있다. 즉, 제1 또는 제2 패턴에 대응하는 마스크가 변경되도록 컬러링 정보가 갱신될 수 있다. 갱신된 컬러링 정보를 포함하는 출력 레이아웃 데이터를 생성하는 도 1의 단계 S80이 단계 S49에 후속하여 수행될 수 있다.In operation S45, an operation of determining whether patterns adjacent to the first and second patterns and the first and second patterns pass a design rule may be performed. If the design rule is passed, an operation of updating the coloring information may be performed in step S49. That is, the coloring information may be updated so that the mask corresponding to the first or second pattern is changed. Step S80 of FIG. 1 for generating output layout data including the updated coloring information may be performed subsequent to step S49.

단계 S45에서 설계 규칙이 통과되지 아니한 경우, 단계 S47에서 제1 또는 제2 패턴에 대응시킬 또 다른 마스크가 존재하는지 여부를 판단하는 동작이 수행될 수 있다. 전술한 바와 같이, 하나의 레이어에 형성된 복수의 패턴들을 위하여 사용 가능한 마스크들의 개수는 미리 정해질 수 있고, 단계 S41에 의해서 제1 또는 제2 패턴에 대응시킨 마스크들 외 다른 마스크가 존재하는지 여부가 단계 S45에서 판단될 수 있다. 제1 또는 제2 패턴에 대응시킬 또 다른 마스크가 존재하는 경우, 단계 S41이 단계 S47에 후속하여 수행될 수 있다. 반면, 제1 또는 제2 패턴에 대응시킬 마스크가 존재하지 아니한 경우, 제1 패턴을 및 제3 패턴과 병합하는 도 1의 단계 S60이 단계 S47에 후속하여 수행될 수 있다.
If the design rule is not passed in step S45, an operation of determining whether another mask to correspond to the first or second pattern exists in step S47 may be performed. As described above, the number of masks usable for the plurality of patterns formed in one layer may be predetermined, and it is determined by step S41 whether there are other masks other than the masks corresponding to the first or second pattern. It may be determined in step S45. When there is another mask to correspond to the first or second pattern, step S41 may be performed subsequent to step S47. On the other hand, when there is no mask corresponding to the first or second pattern, step S60 of FIG. 1 of merging the first pattern and the third pattern may be performed following step S47.

도 7은 본 개시의 예시적 실시예에 따라 도 1의 단계 S60의 예시를 나타내는 순서도이다. 도 1을 참조하여 전술한 바와 같이, 도 1의 단계 S60에서 설계 규칙을 위반한 제1 및 제2 패턴 중 제1 패턴을 제3 패턴과 병합하는 동작이 수행될 수 있다. 도 7은 도 1의 단계 S60에서 복수의 패턴들 중 제1 마스크에 대응하는 제1 패턴 및 제2 패턴에 대하여 설계 규칙이 위반된 상태를 바탕으로 설명될 것이다.7 is a flowchart illustrating an example of step S60 of FIG. 1 according to an exemplary embodiment of the present disclosure. As described above with reference to FIG. 1 , an operation of merging the first pattern among the first and second patterns violating the design rule with the third pattern may be performed in step S60 of FIG. 1 . FIG. 7 will be described based on a state in which a design rule is violated with respect to the first pattern and the second pattern corresponding to the first mask among the plurality of patterns in step S60 of FIG. 1 .

도 7을 참조하면, 단계 S62에서, 제1 및 제3 패턴이 병합되도록 입력 레이아웃 데이터의 배치 정보를 변경하는 동작이 수행될 수 있다. 제3 패턴은 제1 패턴이 연결된 네트와 동일한 네트에 연결된 패턴으로서, 단계 S62에서 입력 레이아웃 데이터에 포함된 배치 정보는 제1 패턴 및 제3 패턴이 병합되도록 변경될 수 있다. 예를 들면, 제1 패턴 및 제3 패턴에 대응하는 배치 정보는 삭제되고 제1 패턴 및 제3 패턴으로부터 병합된 패턴에 대응하는 배치 정보가 생성될 수 있다. 단계 S62의 예시는 도 10을 참조하여 상술될 것이다.Referring to FIG. 7 , in operation S62 , an operation of changing arrangement information of input layout data so that the first and third patterns are merged may be performed. The third pattern is a pattern connected to the same net as the net to which the first pattern is connected, and in step S62 , arrangement information included in the input layout data may be changed so that the first pattern and the third pattern are merged. For example, arrangement information corresponding to the first pattern and the third pattern may be deleted, and arrangement information corresponding to the merged pattern may be generated from the first pattern and the third pattern. An example of step S62 will be described in detail with reference to FIG. 10 .

단계 S64에서, 제1 및 제3 패턴으로부터 병합된 패턴이 제3 패턴에 대응하는 마스크에 대응되도록 컬러링 정보를 갱신하는 동작이 수행될 수 있다. 병합된 패턴이 제3 패턴에 대응하는 마스크에 대응됨으로써 병합된 패턴 및 제2 패턴에 대하여 설계 규칙이 준수될 수 있다.
In operation S64 , an operation of updating the coloring information so that the merged pattern from the first and third patterns corresponds to a mask corresponding to the third pattern may be performed. Since the merged pattern corresponds to the mask corresponding to the third pattern, the design rule may be observed with respect to the merged pattern and the second pattern.

도 8은 복수의 표준 셀들을 포함하는 집적 회로의 레이아웃(20)을 나타내는 평면도이다. 표준 셀은 그 레이아웃에서 크기가 미리 정해진 규칙을 만족하는 집적 회로의 단위를 지칭할 수 있다. 예를 들면, 표준 셀의 레이아웃의 높이(즉, 레이아웃의 적층 방향과 수직인 제1 방향의 길이)는 일정할 수 있고, 표준 셀의 폭(즉, 레이아웃의 적층 방향 및 제1 방향과 수직인 제2 방향의 길이)은 표준 셀에 따라 상이할 수 있다. 표준 셀은 적어도 하나의 입력 핀 및/또는 적어도 하나의 출력 핀을 포함할 수 있고, 입력 핀으로 수신되는 입력 신호를 처리하고, 출력 핀을 통해서 출력 신호를 출력할 수 있다.8 is a plan view illustrating a layout 20 of an integrated circuit including a plurality of standard cells. A standard cell may refer to a unit of an integrated circuit whose size satisfies a predetermined rule in its layout. For example, the height of the layout of the standard cells (ie, the length in the first direction perpendicular to the stacking direction of the layout) may be constant, and the width of the standard cells (ie, the stacking direction of the layout and perpendicular to the first direction) may be constant. The length in the second direction) may be different depending on the standard cell. The standard cell may include at least one input pin and/or at least one output pin, process an input signal received through the input pin, and output an output signal through the output pin.

집적 회로는 복수의 표준 셀들로서 정의될 수 있고, 집적 회로를 설계하기 위한 툴은 복수의 표준 셀들에 대한 정보를 포함하는 표준 셀 라이브러리를 사용하여 집적 회로를 설계, 즉 집적 회로의 레이아웃을 완성할 수 있다. 집적 회로를 설계하기 위한 툴은 표준 셀에 포함된 핀(즉, 입력 핀 및 출력 핀)에 비아(via)를 배치함으로써, 표준 셀이 형성된 레이어와 다른 레이어에 형성되는 패턴과 핀을 연결할 수 있다. 즉, 표준 셀의 핀에 비아가 배치됨으로써 표준 셀의 입력 신호 또는 출력 신호가 이동할 수 있다.An integrated circuit may be defined as a plurality of standard cells, and a tool for designing the integrated circuit may use a standard cell library containing information about the plurality of standard cells to design the integrated circuit, that is, complete the layout of the integrated circuit. can Tools for designing integrated circuits can connect pins and patterns formed in layers different from those in which the standard cell is formed by placing vias on pins (i.e., input pins and output pins) included in standard cells. . That is, an input signal or an output signal of the standard cell may move by placing a via in the pin of the standard cell.

비아는 패턴에 의해 형성된 비아 홀(via hole) 및 비아 홀을 채우는 비아 플러그(via plug)에 의해서 형성될 수 있다. 집적 회로의 레이아웃(20)을 설계하는 과정에서 설계 규칙은 비아들 사이의 간격을 규정할 수 있다. 예를 들면, 설계 규칙은 비아-투-비아 스페이스 룰(via-to-via space rule)을 포함할 수 있고, 비아-투-비아 스페이스 룰은 비아들 사이의 최소 간격을 포함할 수 있다. 비아-투-비아 스페이스 룰은 반도체 제조 공정에서 비아를 형성하기 위한 공정들, 예컨대 비아를 형성하기 위한 패턴을 형성하는 마스크 공정, 에칭 공정 및/또는 식각 공정 등에 기초하여 결정될 수 있다.The via may be formed by a via hole formed by a pattern and a via plug filling the via hole. In the process of designing the layout 20 of the integrated circuit, a design rule may define a spacing between vias. For example, the design rule may include a via-to-via space rule, and the via-to-via space rule may include a minimum spacing between vias. The via-to-via space rule may be determined based on processes for forming vias in a semiconductor manufacturing process, for example, a mask process for forming a pattern for forming vias, an etching process, and/or an etching process.

멀티 마스크 패터닝에 따라, 복수의 비아들 각각을 형성하기 위한 패턴들은 복수의 마스크들 중 하나에 기초하여 형성될 수 있다. 즉, 복수의 비아들 중 각각은 복수의 마스크들 중 하나에 기초하여 형성될 수 있다. 이에 따라, 하나의 레이어에서 형성되는 복수의 패턴들을 컬러링하는 동작은, 복수의 비아들을 컬러링하는 동작을 포함할 수 있다. 또한, 복수의 패턴들에 대하여 설계 규칙을 체크하는 것과 마찬가지로 복수의 비아들에 대하여 설계 규칙이 체크될 수 있고, 설계 규칙을 위반한 비아들이 발생할 수 있다. 이하에서, 비아들이 설계 규칙을 위반한 것은 비아들을 형성하기 위한 패턴들이 설계 규칙을 위반한 것으로 이해될 수 있고, 비아들을 컬러링 하는 것은 비아들을 형성하기 위한 패턴들을 컬러링하는 것으로 이해될 수 있다.According to multi-mask patterning, patterns for forming each of the plurality of vias may be formed based on one of the plurality of masks. That is, each of the plurality of vias may be formed based on one of the plurality of masks. Accordingly, the operation of coloring the plurality of patterns formed in one layer may include the operation of coloring the plurality of vias. Also, similarly to checking a design rule for a plurality of patterns, a design rule may be checked for a plurality of vias, and vias violating a design rule may occur. Hereinafter, it may be understood that vias violate a design rule as patterns for forming vias violate a design rule, and coloring vias may be understood as coloring patterns for forming vias.

도 8을 참조하면, 집적 회로의 레이아웃(20)은 복수의 표준 셀들(21 내지 24)을 포함할 수 있고, 복수의 표준 셀들(21 내지 24)은 복수의 핀들(21_5, 21_6, 22_5, 22_6, 23_5, 23_6, 24_5, 24_6) 및 복수의 비아들(21_1, 21_2, 22_1, 22_2, 23_1, 23_2, 24_1, 24_2)을 각각 포함할 수 있다. Referring to FIG. 8 , the layout 20 of the integrated circuit may include a plurality of standard cells 21 to 24 , and the plurality of standard cells 21 to 24 may include a plurality of pins 21_5 , 21_6 , 22_5 , and 22_6 . , 23_5, 23_6, 24_5, and 24_6) and a plurality of vias 21_1, 21_2, 22_1, 22_2, 23_1, 23_2, 24_1, and 24_2, respectively.

도 8에 도시된 예시에서, 제1 표준 셀(21)에 포함된 비아(21_1) 및 제4 표준 셀(24)에 포함된 비아(24_1)은 설계 규칙을 위반할 수 있다. 구체적으로, 비아(21_1) 및 비아(24_1)는 동일한 마스크(즉, 제1 마스크)에 대응될 수 있고, 동일한 마스크에서 비아들 사이의 거리를 규정하는 비아-투-비아 스페이스 룰을 위반할 수 있다. 비아-투-비아 스페이스 룰을 준수하기 위하여, 비아(21_1) 또는 비아(24_1)를 제1 마스크와 다른 마스크에 대응시키는 것은 전술한 바와 같이 비아(21_1) 또는 비아(24_1)에 인접한 다른 비아들을 다시 컬러링하는 작업을 유발할 수 있다. 또한, 비아-투-비아 스페이스 룰을 준수하기 위하여, 비아(21_1) 및 비아(24_1) 사이의 거리를 증가시키기 위하여 비아(21_1) 또는 비아(24_1)를 이동시키는 것은, 제1 표준 셀(21) 또는 제4 표준 셀(24)의 이동을 유발하거나, 비아(21_1) 또는 비아(24_1)에 인접한 다른 비아들이 비아-투-비아 스페이스 룰을 위반하는 것을 유발할 수 있다. 본 개시의 예시적 실시예에 따라 2개 이상의 비아들을 병합함으로써 설계 규칙의 위반, 즉 컬러 충돌을 해소할 수 있고, 이에 대한 상세한 내용은 이하에서 도 9a 및 도 9b를 참조하여 설명될 것이다.
In the example illustrated in FIG. 8 , the via 21_1 included in the first standard cell 21 and the via 24_1 included in the fourth standard cell 24 may violate a design rule. Specifically, the via 21_1 and the via 24_1 may correspond to the same mask (ie, the first mask), and may violate a via-to-via space rule that defines a distance between vias in the same mask. . In order to comply with the via-to-via space rule, associating the via 21_1 or via 24_1 with a mask different from the first mask causes the via 21_1 or other vias adjacent to the via 24_1 to be separated as described above. This can cause re-coloring. In addition, in order to comply with the via-to-via space rule, moving the via 21_1 or the via 24_1 to increase the distance between the via 21_1 and the via 24_1 is performed in the first standard cell 21 . ) or the fourth standard cell 24 , or may cause the via 21_1 or other vias adjacent to the via 24_1 to violate the via-to-via space rule. By merging two or more vias according to an exemplary embodiment of the present disclosure, a violation of a design rule, that is, a color collision, may be resolved, and details thereof will be described below with reference to FIGS. 9A and 9B .

도 9a 및 도 9b는 본 개시의 예시적 실시예에 따른 집적 회로의 레이아웃을 설계하는 방법이 집적 회로의 레이아웃에 적용되는 과정을 나타내는 도면이다. 구체적으로, 도 9a 및 도 9b는 도 8의 집적 회로의 레이아웃(20)에서 설계 규칙을 위반한 비아들(21_1, 24_1)에 대하여 설계 규칙의 위반을 해소하는 과정을 나타내는 도면이다. 도 8과 유사하게, 도 9a 및 도 9b에서 집적 회로의 레이아웃(20')은 복수의 메모리 셀들(21' 내지 24')의 핀들(21_5', 21_6', 22_5', 22_6', 23_5', 23_6', 24_5', 24_6')에 연결된 비아들(21_1', 21_2', 22_1', 22_2', 23_1', 23_2', 24_1', 24_2')을 포함할 수 있다. 비아(21_1') 및 비아(24_1')는 동일한 마스크(즉, 제1 마스크)에 대응하고, 비아(21_1') 및 비아(24_1')는 동일한 마스크에 대응하는 비아들 사이의 거리를 규정하는 비아-투-비아 스페이스 룰을 위반할 수 있다.9A and 9B are diagrams illustrating a process in which a method for designing a layout of an integrated circuit according to an exemplary embodiment of the present disclosure is applied to the layout of the integrated circuit. Specifically, FIGS. 9A and 9B are diagrams illustrating a process of resolving the violation of the design rule with respect to the vias 21_1 and 24_1 violating the design rule in the layout 20 of the integrated circuit of FIG. 8 . Similarly to FIG. 8 , in FIGS. 9A and 9B , the layout 20' of the integrated circuit shows the pins 21_5', 21_6', 22_5', 22_6', 23_5' of the plurality of memory cells 21' to 24', and vias 21_1', 21_2', 22_1', 22_2', 23_1', 23_2', 24_1', and 24_2' connected to 23_6', 24_5', 24_6'. Via 21_1' and via 24_1' correspond to the same mask (ie, the first mask), and via 21_1' and via 24_1' define a distance between vias corresponding to the same mask. Via-to-via space rules may be violated.

본 개시의 예시적 실시예에 따라, 설계 규칙을 위반한 비아들(21_1', 24_1')에 인접한 패턴들 중, 비아들(21_1', 24_1') 중 하나와 동일한 네트에 연결된 패턴이 선택될 수 있다. 예를 들면, 도 9a에 도시된 바와 같이 제2 표준 셀(22')의 핀(22_5')에 연결된 비아(22_1')는, 비아(21_1')에 연결된 도선(29)에 연결될 수 있다. 즉, 비아(22_1')은 비아(21_1')과 동일한 네트에 연결될 수 있다.According to an exemplary embodiment of the present disclosure, among the patterns adjacent to the vias 21_1 ′ and 24_1 ′ that violate the design rule, a pattern connected to the same net as one of the vias 21_1 ′ and 24_1 ′ is selected. can For example, as shown in FIG. 9A , the via 22_1 ′ connected to the pin 22_5 ′ of the second standard cell 22 ′ may be connected to the conductive line 29 connected to the via 21_1 ′. That is, the via 22_1 ′ may be connected to the same net as the via 21_1 ′.

본 개시의 예시적 실시예에 따라, 동일한 네트에 연결된 도 9a의 비아들(21_1') 및 비아(22_1')는 병합될 수 있다. 예를 들면, 도 9b에 도시된 바와 같이 도 9a의 비아들(21_1', 22_1')로부터 병합된 비아(20_12)가 생성될 수 있고, 병합된 비아(20_12)는 바-유형 비아(bar-type via)를 형성할 수 있다. 병합된 비아(20_12)는 복수의 마스크들 중 하나에 대응될 수 있고, 예컨대 도 9a의 비아(22_1')에 대응하는 마스크(즉, 제2 마스크)에 병합된 패턴(20_12)이 대응되도록 컬러링 정보가 갱신될 수 있다.According to an exemplary embodiment of the present disclosure, the vias 21_1 ′ and the via 22_1 ′ of FIG. 9A connected to the same net may be merged. For example, as shown in FIG. 9B , a merged via 20_12 may be created from the vias 21_1 ′ and 22_1 ′ of FIG. 9A , and the merged via 20_12 is a bar-type via. type via) can be formed. The merged via 20_12 may correspond to one of a plurality of masks, and for example, the merged pattern 20_12 is colored to correspond to the mask (ie, the second mask) corresponding to the via 22_1 ′ of FIG. 9A . Information may be updated.

도 9b를 참조하면, 제2 마스크에 대응된 병합된 비아(20_12)에 기인하여 설계 규칙은 준수될 수 있다. 즉, 병합된 비아(20_12)가 제2 마스크에 대응됨으로써 제1 마스크에 대응하는 비아(24_1') 및 병합된 비아(20_12) 사이의 거리는 상이한 마스크에 대응하는 비아들 사이의 거리를 규정하는 비아-투-비아 스페이스 룰이 적용될 수 있다. 이에 따라, 비아(24_1') 및 병합된 비아(20_12)는 설계 규칙을 준수할 수 있다.
Referring to FIG. 9B , a design rule may be observed due to the merged via 20_12 corresponding to the second mask. That is, the merged via 20_12 corresponds to the second mask such that the distance between the via 24_1 ′ corresponding to the first mask and the merged via 20_12 defines a distance between vias corresponding to different masks. The -to-via space rule may be applied. Accordingly, the via 24_1 ′ and the merged via 20_12 may conform to the design rule.

도 10은 본 개시의 예시적 실시예에 따라 도 7의 단계 S62의 예시를 나타내는 순서도이다. 도 7을 참조하여 전술한 바와 같이, 도 7의 단계 S62에서 제1 및 제3 패턴이 병합되도록 입력 레이아웃 데이터의 배치 정보를 변경하는 동작이 수행될 수 있다. 여기서 제1 패턴은 제2 패턴과 동일한 마스크에 대응할 수 있고, 제1 패턴 및 제2 패턴은 설계 규칙을 위반할 수 있다. 또한 제3 패턴은 제1 패턴이 연결된 네트와 동일한 네트에 연결될 수 있다.10 is a flowchart illustrating an example of step S62 of FIG. 7 according to an exemplary embodiment of the present disclosure. As described above with reference to FIG. 7 , in step S62 of FIG. 7 , an operation of changing the arrangement information of the input layout data so that the first and third patterns are merged may be performed. Here, the first pattern may correspond to the same mask as the second pattern, and the first pattern and the second pattern may violate a design rule. Also, the third pattern may be connected to the same net as the net to which the first pattern is connected.

도 10을 참조하면, 단계 S62_2에서 전원 네트에 공통으로 연결되고 동일한 마스크에 대응하는 제1 및 제3 패턴을 선택할 수 있다. 전원 네트는 집적 회로의 전체 또는 일부에 전원 전압, 예컨대 VDD 또는 접지 전압을 공급하기 위한 네트로서, 집적 회로의 레이아웃에서 전체적으로 또는 국소적으로 복수의 패턴들과 연결될 수 있다. 따라서, 본 예시에서 설계 규칙을 위반한 제1 패턴 및 제2 패턴 중 제1 패턴이 전원 네트에 연결된 경우, 전원 네트에 연결된 제3 패턴이 선택될 수 있다. 예를 들면, 도 9a에 도시된 예시에서 도선(29) 및 비아들(21_1', 22_1')이 연결된 네트는 전원 네트일 수 있다.Referring to FIG. 10 , in step S62_2 , first and third patterns commonly connected to the power net and corresponding to the same mask may be selected. The power supply net is a net for supplying a power supply voltage, eg, VDD or a ground voltage, to all or a part of the integrated circuit, and may be connected to a plurality of patterns entirely or locally in the layout of the integrated circuit. Accordingly, in this example, when the first pattern among the first pattern and the second pattern that violates the design rule is connected to the power supply net, the third pattern connected to the power supply net may be selected. For example, in the example shown in FIG. 9A , the net to which the conductive wire 29 and the vias 21_1' and 22_1' are connected may be a power supply net.

단계 S62_4에서, 제1 및 제2 패턴을 연장함으로써 병합된 패턴을 생성하는 동작이 수행될 수 있다. 예를 들면, 도 9b에 도시된 바와 같이, 도 9a의 비아들(21_1', 22_1')이 병합됨으로써 바-유형 비아가 형성될 수 있다. 그 다음에, 단계 S62_6에서 집적 회로의 레이아웃이 병합된 패턴을 포함하도록 배치 정보를 변경하는 동작이 수행될 수 있다. 즉, 제1 패턴 및 제3 패턴에 대응하는 배치 정보를 입력 레이아웃 데이터로부터 삭제하고, 병합된 패턴의 배치 정보를 입력 레이아웃 데이터에 추가할 수 있다.
In step S62_4 , an operation of generating a merged pattern by extending the first and second patterns may be performed. For example, as shown in FIG. 9B , the vias 21_1 ′ and 22_1 ′ of FIG. 9A may be merged to form a bar-type via. Then, in step S62_6, an operation of changing the layout information so that the layout of the integrated circuit includes the merged pattern may be performed. That is, arrangement information corresponding to the first pattern and the third pattern may be deleted from the input layout data, and arrangement information of the merged pattern may be added to the input layout data.

도 11a 및 도 11b는 본 개시의 예시적 실시예에 따른 집적 회로의 레이아웃을 설계하는 방법이 집적 회로의 레이아웃에 적용되는 과정을 나타내는 도면이다. 구체적으로, 도 11a 및 도 11b는 배치 정보를 포함하지만 컬러링 정보를 포함하지 아니하는 입력 레이아웃 데이터에서 복수의 패턴들을 컬러링하는 방법을 나타낸다. 이하에서, 집적 회로의 레이아웃을 설계하는 방법은 도 11a 및 도 11b를 참조하여 복수의 비아들을 컬러링하는 것으로서 설명되나, 복수의 비아들을 형성하기 위한 패턴들을 컬러링하는 것으로 이해될 것이다.11A and 11B are diagrams illustrating a process in which a method for designing a layout of an integrated circuit according to an exemplary embodiment of the present disclosure is applied to the layout of the integrated circuit. Specifically, FIGS. 11A and 11B show a method of coloring a plurality of patterns in input layout data including layout information but not coloring information. Hereinafter, a method of designing a layout of an integrated circuit is described as coloring a plurality of vias with reference to FIGS. 11A and 11B , but it will be understood as coloring patterns for forming a plurality of vias.

본 개시의 예시적 실시예에 따라 복수의 비아들을 컬러링하기 전에 동일한 네트에 연결된 비아들을 병합하는 동작이 수행될 수 있다. 이에 따라 비아들의 개수가 감소할 수 있고, 비아들을 컬러링하는 동작은 용이하게 수행될 수 있다.Before coloring a plurality of vias, an operation of merging vias connected to the same net may be performed according to an exemplary embodiment of the present disclosure. Accordingly, the number of vias may be reduced, and an operation of coloring the vias may be easily performed.

도 11a를 참조하면, 집적 회로의 레이아웃(30)은 복수의 표준 셀들(31 내지 34)을 포함할 수 있고, 복수의 표준 셀들(31 내지 34)의 핀들에 연결된 복수의 비아들(31_1, 31_2, 32_1, 32_2, 33_1, 33_2, 34_1, 34_2)을 포함할 수 있다. 비아들(31_1, 32_1)은 도선(39)에 연결될 수 있고, 이에 따라 동일한 네트에 연결될 수 있다. 예를 들면, 도선(39)이 표준 셀들(31 내지 34)에 전원 전압을 공급하기 위한 파워 라인인 경우, 표준 셀들(31 내지 34) 각각은 적어도 하나의 비아를 통해서 도선(39)에 연결될 수 있다.Referring to FIG. 11A , the layout 30 of the integrated circuit may include a plurality of standard cells 31 to 34 , and a plurality of vias 31_1 and 31_2 connected to pins of the plurality of standard cells 31 to 34 . , 32_1, 32_2, 33_1, 33_2, 34_1, 34_2). The vias 31_1 and 32_1 may be connected to the conductive line 39 , and thus may be connected to the same net. For example, when the conductive line 39 is a power line for supplying a power supply voltage to the standard cells 31 to 34, each of the standard cells 31 to 34 may be connected to the conductive line 39 through at least one via. have.

도 11b를 참조하면, 동일한 네트에 연결된 도 11a의 비아들(31_1, 32_1)이 병합됨으로서 병합된 비아(30_12)가 생성될 수 있다. 전술한 바와 같이, 병합된 비아(30_12)는 바-유형 비아일 수 있고, 도선(39)와 연결될 수 있다. 이에 따라, 집적 회로의 레이아웃(30)에서 컬러링 동작의 대상이 되는 비아들은 1개 감소할 수 있고, 비아들을 컬리링하는 동작은 용이하게 수행될 수 있다.
Referring to FIG. 11B , the merged vias 30_12 may be generated by merging the vias 31_1 and 32_1 of FIG. 11A connected to the same net. As described above, the merged vias 30_12 may be bar-type vias and may be connected to the conductors 39 . Accordingly, in the layout 30 of the integrated circuit, the number of vias subjected to the coloring operation may be reduced by one, and the operation of curling the vias may be easily performed.

도 12는 본 개시의 예시적 실시예에 따른 집적 회로의 레이아웃을 설계하는 방법을 나타내는 순서도이다. 구체적으로 도 12에 도시된 실시예는 컬러링 정보를 생성하는 방법을 나타내는 순서도이다. 12 is a flowchart illustrating a method of designing a layout of an integrated circuit according to an exemplary embodiment of the present disclosure. Specifically, the embodiment shown in FIG. 12 is a flowchart illustrating a method of generating coloring information.

단계 S120에서, 입력 레이아웃 데이터를 수신하는 동작이 수행될 수 있다. 도 12에 도시된 실시예에서, 입력 레이아웃 데이터는 복수의 패턴들의 배치 정보를 포함할 수 있으나, 복수의 패턴들의 컬러링 정보는 포함되지 아니할 수 있다.In step S120, an operation of receiving input layout data may be performed. In the embodiment shown in FIG. 12 , the input layout data may include arrangement information of a plurality of patterns, but may not include coloring information of the plurality of patterns.

단계 S140에서, 복수의 패턴들 각각을 복수의 마스크들 중 하나의 마스크에 대응시킨 컬러링 정보를 생성하는 동작이 수행될 수 있다. 단계 S140은 도 14를 참조하여 상술될 것이다. 그 다음에, 단계 S180에서, 단계 S140에 의해서 생성된 컬러링 정보를 포함하는 출력 레이아웃 데이터를 생성할 수 있다.
In operation S140 , an operation of generating coloring information in which each of the plurality of patterns corresponds to one mask among the plurality of masks may be performed. Step S140 will be described in detail with reference to FIG. 14 . Then, in step S180, output layout data including the coloring information generated by step S140 may be generated.

도 13은 본 개시의 예시적 실시예에 따라 도 12의 단계 S140의 예시를 나타내는 순서도이다. 도 11a 및 도 11b를 참조하여 전술한 바와 같이, 복수의 패턴들을 컬러링하기 전에 동일한 네트에 연결된 패턴들을 병합하는 동작이 수행될 수 있다.13 is a flowchart illustrating an example of step S140 of FIG. 12 according to an exemplary embodiment of the present disclosure. As described above with reference to FIGS. 11A and 11B , before coloring a plurality of patterns, an operation of merging patterns connected to the same net may be performed.

도 13을 참조하면, 단계 S142에서, 복수의 패턴들 중 동일한 네트에 연결된 적어도 2개의 패턴들이 병합되도록 배치 정보를 변경하는 동작이 수행될 수 있다. 예를 들면, 입력 레이아웃 데이터에 포함된 배치 정보에 기초하여, 하나의 레이어에 형성된 복수의 패턴들 중에서 미리 정해진 거리 이하만큼 서로 이격된 패턴 쌍들을 추출할 수 있고, 추출된 패턴 쌍들 중 동일한 네트에 연결된 패턴들을 포함하는 패턴 쌍이 선택될 수 있고, 선택된 패턴 쌍의 패턴들이 병합될 수 있다. 집적 회로의 레이아웃이 병합된 패턴을 포함하도록 입력 레이아웃 데이터의 배치 정보는 변경될 수 있다. 그 결과, 집적 회로의 레이아웃에서 하나의 레이어에 형성된 복수의 패턴들의 개수는 감소할 수 있다.Referring to FIG. 13 , in operation S142 , an operation of changing the arrangement information so that at least two patterns connected to the same net among the plurality of patterns are merged may be performed. For example, based on the arrangement information included in the input layout data, it is possible to extract pattern pairs spaced apart from each other by a predetermined distance or less from among a plurality of patterns formed in one layer, and among the extracted pattern pairs, to the same net. A pattern pair including connected patterns may be selected, and patterns of the selected pattern pair may be merged. The arrangement information of the input layout data may be changed so that the layout of the integrated circuit includes the merged pattern. As a result, the number of the plurality of patterns formed in one layer in the layout of the integrated circuit may be reduced.

단계 S144에서, 복수의 패턴들 및 병합된 패턴 각각을 복수의 마스크들 중 하나의 마스크에 대응시킨 컬러링 정보를 생성하는 동작이 수행될 수 있다. 단계 S142에 의해서 감소된 개수의 패턴들에 대하여 컬러링 동작이 수행됨으로써 컬러링 정보를 생성하는데 걸리는 시간은 단축될 수 있다.
In operation S144 , an operation of generating coloring information in which each of the plurality of patterns and the merged pattern corresponds to one of the plurality of masks may be performed. Since the coloring operation is performed on the reduced number of patterns in step S142, the time taken to generate the coloring information can be shortened.

도 14는 본 개시의 예시적 실시예에 따른 컴퓨터로 읽을 수 있는 저장 매체(200)를 도시하는 블록도이다. 컴퓨터로 읽을 수 있는 저장 매체(200)는 컴퓨터에 명령어들 및/또는 데이터를 제공하는데 사용되는 동안 컴퓨터에 의해 읽혀질 수 있는 임의의 저장 매체를 포함할 수 있다. 예를 들면, 컴퓨터로 읽을 수 있는 저장 매체(200)는 디스크, 테이프, CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW 등과 같은 자기 또는 광학 매체, RAM, ROM, 플래시 메모리 등과 같은 휘발성 또는 비휘발성 메모리, USB 인터페이스를 통해서 엑세스 가능한 비휘발성 메모리, 그리고 MEMS(microelectromechanical systems) 등을 포함할 수 있다. 컴퓨터로 읽을 수 있는 저장 매체는 컴퓨터에 삽입 가능하거나, 컴퓨터 내에 집적되거나, 네트워크 및/또는 무선 링크와 같은 통신 매개체를 통해서 컴퓨터와 결합될 수 있다. 도 14를 참조하면, 컴퓨터로 읽을 수 있는 저장 매체(200)는 위치 및 배선 프로그램(220), 컬러링 프로그램(240), 설계 규칙(260) 및 데이터 구조(280)를 포함할 수 있다.14 is a block diagram illustrating a computer-readable storage medium 200 according to an exemplary embodiment of the present disclosure. Computer-readable storage medium 200 may include any storage medium that can be read by a computer while being used to provide instructions and/or data to a computer. For example, the computer-readable storage medium 200 may include a magnetic or optical medium such as a disk, tape, CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW, RAM, and the like. , ROM, volatile or non-volatile memory such as flash memory, non-volatile memory accessible through a USB interface, microelectromechanical systems (MEMS), and the like. The computer-readable storage medium may be inserted into, integrated into, or coupled to the computer through a communication medium such as a network and/or a wireless link. Referring to FIG. 14 , the computer-readable storage medium 200 may include a location and wiring program 220 , a coloring program 240 , a design rule 260 , and a data structure 280 .

위치 및 배선 프로그램(220)은 집적 회로의 레이아웃에 포함된 표준 셀들을 배치하고 도선을 통해서 연결하는 동작을 수행하는 복수의 명령어들을 포함할 수 있다. 또한, 위치 및 배선 프로그램(220)은 본 개시의 예시적 실시예들 중 하나에 따른 집적 회로의 레이아웃을 설계하는 방법을 수행하기 위한 복수의 명령어들을 포함할 수 있다.The location and wiring program 220 may include a plurality of instructions for arranging standard cells included in the layout of the integrated circuit and connecting them through conductive wires. Also, the location and wiring program 220 may include a plurality of instructions for performing a method of designing a layout of an integrated circuit according to one of exemplary embodiments of the present disclosure.

컬러링 프로그램(240)은 하나의 레이어에 형성되는 복수의 패턴들 중 각각을 복수의 마스크들 중 하나에 대응시키는 동작, 즉 복수의 패턴들을 컬러링하는 동작을 수행하는 복수의 명령어들을 포함할 수 있다. 또한, 위치 및 배선 프로그램(220)은 본 개시의 예시적 실시예들 중 하나에 따른 집적 회로의 레이아웃을 설계하는 방법을 수행하기 위한 복수의 명령어들을 포함할 수 있다.The coloring program 240 may include a plurality of instructions for performing an operation of matching each of the plurality of patterns formed on one layer to one of the plurality of masks, that is, an operation of coloring the plurality of patterns. Also, the location and wiring program 220 may include a plurality of instructions for performing a method of designing a layout of an integrated circuit according to one of exemplary embodiments of the present disclosure.

본 개시의 예시적 실시예에 따라, 컴퓨터로 읽을 수 있는 저장 매체(200)는 선행하는 도면들 중 하나 이상에서 도시된 순서도들의 일부나 전부를 수행하는 임의의 명령들을 포함하는 위치 및 배선 프로그램(220)과 컬러링 프로그램(240)을 저장할 수 있다. 도 14의 예시에서, 위치 및 배선 프로그램(220)과 컬러링 프로그램(240)은 개별적으로 도시되었으나, 하나의 프로그램으로서 컴퓨터로 읽을 수 있는 저장 매체(200)에 저장될 수도 있다.According to an exemplary embodiment of the present disclosure, the computer-readable storage medium 200 is a location and wiring program ( 220) and a coloring program 240 may be stored. In the example of FIG. 14 , the location and wiring program 220 and the coloring program 240 are shown separately, but may be stored in the computer-readable storage medium 200 as one program.

설계 규칙(260)은 집적 회로를 제조하는 반도체 제조 공정에 기초하여 집적회로의 레이아웃이 준수해야 할 복수의 수치들을 포함할 수 있다. 위치 및 배선 프로그램(220)과 컬러링 프로그램(240)은 설계 규칙(260)에 포함된 수치를 참조하여 집적 회로의 레이아웃을 설계할 수 있다. The design rule 260 may include a plurality of values that the layout of the integrated circuit must comply with based on a semiconductor manufacturing process for manufacturing the integrated circuit. The location and wiring program 220 and the coloring program 240 may design the layout of the integrated circuit with reference to the numerical values included in the design rule 260 .

데이터 구조(280)는 위치 및 배선 프로그램(220)과 컬러링 프로그램(240)이 실행되는 과정에서 생성된 데이터를 관리하기 위한 저장 공간 등을 포함할 수 있다.
The data structure 280 may include a storage space for managing data generated while the location and wiring program 220 and the coloring program 240 are executed.

도 15은 본 개시의 예시적 실시예에 따른 컴퓨터 시스템(300)을 도시하는 블록도이다. 도 15에 도시된 바와 같이, 컴퓨터 시스템(300)은 프로세서(320), 메모리(340) 및 다양한 주변 장치들(360)을 포함할 수 있다. 프로세서(320)는 메모리(340) 및 주변 장치들(360)과 연결될 수 있다.15 is a block diagram illustrating a computer system 300 according to an exemplary embodiment of the present disclosure. As shown in FIG. 15 , the computer system 300 may include a processor 320 , a memory 340 , and various peripheral devices 360 . The processor 320 may be connected to the memory 340 and peripheral devices 360 .

프로세서(320)는 이상에서 설명된 본 개시의 예시적 실시예들에 따른 방법들 중 적어도 하나를 수행하는 명령어들을 실행하도록 구성될 수 있다. 예를 들면, 프로세서(320)은 집적 회로의 레이아웃에 포함된 하나의 레이어에 형성되는 복수의 패턴들 중 각각을 복수의 마스크들 중 하나에 대응시키는 동작, 즉 복수의 패턴들을 컬러링하는 동작을 수행하는 복수의 명령어들을 수행할 수 있다. 즉, 도 1의 단계들(S20, S40, S60 및 S80) 및 도 12의 단계들(S120, S140 및 S160)은 프로세서(320)에 의하여 수행될 수 있다.The processor 320 may be configured to execute instructions for performing at least one of the methods according to the exemplary embodiments of the present disclosure described above. For example, the processor 320 performs an operation of matching each of a plurality of patterns formed on one layer included in the layout of the integrated circuit to one of a plurality of masks, that is, an operation of coloring the plurality of patterns. A plurality of commands can be executed. That is, steps S20 , S40 , S60 and S80 of FIG. 1 and steps S120 , S140 , and S160 of FIG. 12 may be performed by the processor 320 .

본 개시의 예시적 실시예에 따라, 프로세서(320)는 임의의 명령어 세트(예컨대, IA-32(Intel Architecture-32), 64 비트 확장 IA-32, x86-64, PowerPC, Sparc, MIPS, ARM, IA-64 등)를 실행할 수 있다. 또한, 컴퓨터 시스템(300)은 하나 이상의 프로세서를 포함할 수도 있다.In accordance with an exemplary embodiment of the present disclosure, the processor 320 may include any instruction set (eg, IA-32 (Intel Architecture-32), 64-bit extended IA-32, x86-64, PowerPC, Sparc, MIPS, ARM , IA-64, etc.). Further, computer system 300 may include one or more processors.

프로세서(320)는 임의의 방식으로 메모리(340) 및 주변 장치들(360)과 연결될 수 있다. 예를 들면, 프로세서(320)는 메모리(340) 및/또는 주변 장치들(360)과 다양한 상호연결들을 통해서 연결될 수 있다. 뿐만 아니라, 하나 이상의 브릿지 칩들이 프로세서(320), 메모리(340) 및 주변 장치들(360) 사이에 다중 연결들을 생성하면서 이러한 구성부품들을 연결하는데 사용될 수 있다.The processor 320 may be coupled to the memory 340 and peripheral devices 360 in any manner. For example, the processor 320 may be coupled to the memory 340 and/or peripheral devices 360 through various interconnections. In addition, one or more bridge chips may be used to connect these components while creating multiple connections between the processor 320 , memory 340 and peripherals 360 .

메모리(340)는 임의의 유형의 메모리 시스템을 포함할 수 있다. 예를 들면, 메모리(340)는DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), 모바일 DRAM, DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), LPDDR (Low Power DDR) SDRAM, GDDR (Graphic DDR) SDRAM, RDRAM(Rambus Dynamic Random Access Memory) 등과 같은 휘발성 메모리(volatile memory) 및/또는 EEPROM (non-volatile memory such as a Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(flash memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM (Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM (Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 등과 같은 불휘발성 메모리(non-volatile memory) 등을 포함할 수 있다. 메모리 컨트롤러가 메모리(340)에 인터페이스하기 위하여 포함될 수 있으며, 그리고/또한 프로세서(320)가 그 메모리 컨트롤러를 포함할 수 있다. 메모리(340)는 이상에서 설명된 집적 회로의 레이아웃을 설계하는 방법의 적어도 일부를 수행하는 명령어들 및 프로세서(320)에 의해 처리되는 데이터를 저장할 수 있다.Memory 340 may include any type of memory system. For example, the memory 340 may include Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Mobile DRAM, Double Data Rate Synchronous Dynamic Random Access Memory (DDR SDRAM), Low Power DDR (LPDDR) SDRAM, GDDR (Graphic DDR) volatile memory such as SDRAM, Rambus Dynamic Random Access Memory (RDRAM) and/or non-volatile memory such as a Electrically Erasable Programmable Read-Only Memory, flash memory; Such as Phase Change Random Access Memory (PRAM), Resistance Random Access Memory (RRAM), Nano Floating Gate Memory (NFGM), Polymer Random Access Memory (PoRAM), Magnetic Random Access Memory (MRAM), Ferroelectric Random Access Memory (FRAM), etc. It may include a non-volatile memory (non-volatile memory) and the like. A memory controller may be included to interface to the memory 340 , and/or the processor 320 may include the memory controller. The memory 340 may store data processed by the processor 320 and instructions for performing at least a part of the method for designing a layout of an integrated circuit described above.

메모리(340)는 집적 회로의 레이아웃을 저장할 수 있으며, 위치 및 배선 프로그램(220), 컬러링 프로그램(240), 설계 규칙(260) 및 데이터 구조(280)를 저장할 수 있다. 프로세서(320)은 메모리(340)에 저장된 위치 및 배선 프로그램(220), 컬러링 프로그램(240), 설계 규칙(260) 및 데이터 구조(280)를 이용하여, 상기 집적 회로의 레이아웃에 포함된 하나의 레이어에 형성되는 복수의 패턴들 중 각각을 복수의 마스크들 중 하나에 대응시키는 동작, 즉 복수의 패턴들을 컬러링하는 동작을 수행하는 복수의 명령어들을 수행할 수 있다. 따라서, 컴퓨터 시스템(300)은 프로세서(320)에 의하여 자동으로 집적 회로의 레이아웃을 설계할 수 있다.The memory 340 may store a layout of the integrated circuit, and may store a location and wiring program 220 , a coloring program 240 , a design rule 260 , and a data structure 280 . The processor 320 uses the location and wiring program 220 , the coloring program 240 , the design rule 260 , and the data structure 280 stored in the memory 340 , and uses the one included in the layout of the integrated circuit. A plurality of commands may be performed to correspond to each of the plurality of patterns formed on the layer to one of the plurality of masks, that is, to perform an operation of coloring the plurality of patterns. Accordingly, the computer system 300 may automatically design the layout of the integrated circuit by the processor 320 .

주변 장치들(360)은 컴퓨터시스템(300)에 포함되거나 결합될 수 있는 임의의 유형의 하드웨어 장치들, 예컨대 저장 장치 또는 입출력 장치(비디오 하드웨어, 오디오 하드웨어, 사용자 인터페이스 장치들, 네트워킹 하드웨어 등) 등을 포함할 수 있다.
Peripheral devices 360 include any type of hardware device that may be included or coupled to computer system 300 , such as a storage device or input/output device (video hardware, audio hardware, user interface devices, networking hardware, etc.), etc. may include.

이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 발명의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.Exemplary embodiments have been disclosed in the drawings and specification as described above. Although the embodiments have been described using specific terms in the present specification, these are only used for the purpose of explaining the technical idea of the present invention and not used to limit the meaning or the scope of the present invention described in the claims . Therefore, it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible therefrom. Accordingly, the true technical protection scope of the present invention should be defined by the technical spirit of the appended claims.

Claims (10)

하나의 레이어에 형성된 복수의 패턴들을 포함하는 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법으로서,
상기 복수의 패턴들의 배치 정보 및 상기 복수의 패턴들 중 각각을 복수의 마스크들 중 하나의 마스크에 대응시킨 컬러링 정보를 포함하는 입력 레이아웃 데이터를 수신하는 단계;
상기 복수의 패턴들에 대하여 상기 레이어의 설계 규칙(design rule)을 체크하는 단계;
상기 복수의 패턴들 중 상기 설계 규칙을 위반한 제1 및 제2 패턴에 대하여, 상기 제1 패턴 및 상기 제1 패턴과 동일한 네트에 연결된 제3 패턴 중 적어도 하나를 연장함으로써 상기 제1 패턴 및 상기 제3 패턴이 병합되도록 상기 배치 정보를 변경하는 단계; 및
상기 제1 및 제3 패턴으로부터 병합된 패턴이 상기 제3 패턴에 대응하는 마스크에 대응되도록 상기 컬러링 정보를 갱신하는 단계를 포함하는 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법.
A computer implemented method for designing a layout of an integrated circuit including a plurality of patterns formed in one layer, the method comprising:
receiving input layout data including arrangement information of the plurality of patterns and coloring information in which each of the plurality of patterns corresponds to one of the plurality of masks;
checking a design rule of the layer with respect to the plurality of patterns;
With respect to the first and second patterns that violate the design rule among the plurality of patterns, by extending at least one of the first pattern and a third pattern connected to the same net as the first pattern, the first pattern and the changing the arrangement information so that a third pattern is merged; and
and updating the coloring information so that a merged pattern from the first and third patterns corresponds to a mask corresponding to the third pattern.
제1항에 있어서,
상기 제1 및 제2 패턴은 제1 마스크에 대응하고,
상기 제3 패턴은 상기 제1 마스크와 다른 제2 마스크에 대응하고,
상기 컬러링 정보를 갱신하는 단계는, 상기 병합된 패턴이 상기 제2 마스크에 대응되도록 상기 컬러링 정보를 갱신하는 것을 특징으로 하는 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법.
According to claim 1,
The first and second patterns correspond to the first mask,
The third pattern corresponds to a second mask different from the first mask,
The updating of the coloring information comprises updating the coloring information so that the merged pattern corresponds to the second mask.
제2항에 있어서,
상기 설계 규칙을 체크하는 단계는,
상기 제1 또는 제2 패턴을 복수의 마스크들 중 상기 제1 마스크와 다른 마스크에 대응시키는 단계; 및
상기 제1 및 제2 패턴에 인접한 패턴들, 상기 제1 및 제2 패턴에 대하여 상기 설계 규칙을 체크하는 단계를 포함하는 것을 특징으로 하는 직접 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법.
3. The method of claim 2,
The step of checking the design rule comprises:
matching the first or second pattern to a mask different from the first mask among a plurality of masks; and
and checking the design rule against patterns adjacent to the first and second patterns, the first and second patterns.
제1항에 있어서,
상기 집적 회로는 적어도 하나의 핀을 포함하는 복수의 표준 셀들을 포함하고,
상기 입력 레이아웃 데이터의 상기 배치 정보에서, 상기 제1 내지 제3 패턴들은 상기 복수의 표준 셀들 중 서로 다른 표준 셀에 포함된 핀들에 각각 배치된 것을 특징으로 하는 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법.
According to claim 1,
wherein the integrated circuit comprises a plurality of standard cells comprising at least one pin;
In the arrangement information of the input layout data, the first to third patterns are respectively arranged on pins included in different standard cells among the plurality of standard cells. .
제1항에 있어서,
상기 복수의 패턴들 중 각각은 비아(via)를 형성하기 위하여 상기 레이어에 형성되는 패턴이고,
상기 병합된 패턴은 바-유형(bar-type) 비아를 형성하기 위하여 상기 레이어에 형성되는 패턴인 것을 특징으로 하는 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법.
According to claim 1,
Each of the plurality of patterns is a pattern formed on the layer to form a via,
and the merged pattern is a pattern formed in the layer to form bar-type vias.
제1항에 있어서,
상기 배치 정보를 변경하는 단계는,
상기 집적 회로의 전원 네트에 공통으로 연결되고 동일한 마스크에 대응하는 상기 제1 및 제3 패턴을 선택하는 단계;
상기 레이어에서 상기 제1 및 제3 패턴을 각각 연장함으로써 상기 병합된 패턴을 생성하는 단계; 및
상기 레이아웃이 병합된 패턴을 포함하도록 상기 배치 정보를 변경하는 단계를 포함하는 것을 특징으로 하는 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법.
According to claim 1,
Changing the arrangement information comprises:
selecting the first and third patterns commonly connected to a power net of the integrated circuit and corresponding to the same mask;
generating the merged pattern by extending each of the first and third patterns in the layer; and
and changing the layout information so that the layout includes a merged pattern.
제1항에 있어서,
상기 설계 규칙은,
상기 복수의 패턴들 중 동일한 마스크에 대응하는 2개의 패턴들 사이의 간격을 정의하는 제1 규칙; 및
상기 복수의 패턴들 중 상이한 마스크들에 대응하는 2개의 패턴들 사이의 간격을 정의하는 제2 규칙을 포함하고,
상기 제1 규칙에서 정의하는 간격은 상기 제2 규칙에서 정의하는 간격보다 큰 것을 특징으로 하는 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법.
According to claim 1,
The design rule is
a first rule defining an interval between two patterns corresponding to the same mask among the plurality of patterns; and
a second rule defining an interval between two patterns corresponding to different masks of the plurality of patterns;
The computer implemented method for layout design of an integrated circuit, characterized in that the interval defined by the first rule is larger than the interval defined by the second rule.
제1항에 있어서,
변경된 상기 배치 정보 및 갱신된 상기 컬러링 정보를 포함하는 출력 레이아웃 데이터를 생성하는 단계를 더 포함하는 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법.
According to claim 1,
The computer implemented method for designing a layout of an integrated circuit further comprising generating output layout data including the changed layout information and the updated coloring information.
하나의 레이어에 형성된 복수의 패턴들을 포함하는 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법으로서,
상기 복수의 패턴들의 배치 정보를 포함하는 입력 레이아웃 데이터를 수신하는 단계;
상기 복수의 패턴들 각각을 복수의 마스크들 중 하나의 마스크에 대응시킨 컬러링 정보를 생성하는 단계; 및
상기 컬러링 정보를 포함하는 출력 레이아웃 데이터를 생성하는 단계를 포함하고,
상기 컬러링 정보를 생성하는 단계는, 상기 복수의 패턴들 중 동일한 네트에 연결된 적어도 2개의 패턴들 중 적어도 하나를 연장함으로써 상기 적어도 2개의 패턴들이 병합되도록 상기 배치 정보를 변경하는 단계; 및
상기 복수의 패턴들 및 상기 적어도 2개의 패턴들로부터 병합된 패턴이 상기 복수의 마스크들 중 하나의 마스크에 대응되도록 상기 컬러링 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법.
A computer implemented method for designing a layout of an integrated circuit including a plurality of patterns formed in one layer, the method comprising:
receiving input layout data including arrangement information of the plurality of patterns;
generating coloring information in which each of the plurality of patterns corresponds to one of the plurality of masks; and
generating output layout data including the coloring information;
The generating of the coloring information may include: changing the arrangement information so that the at least two patterns are merged by extending at least one of the at least two patterns connected to the same net among the plurality of patterns; and
and generating the coloring information such that the plurality of patterns and a pattern merged from the at least two patterns correspond to one of the plurality of masks. How to implement a computer.
제9항에 있어서,
상기 배치 정보를 변경하는 단계는,
상기 집적 회로의 전원 네트에 공통으로 연결되는 제1 및 제2 패턴을 선택하는 단계;
상기 레이어에서 상기 제1 및 제2 패턴을 각각 연장함으로써 병합된 패턴을 생성하는 단계; 및
상기 레이아웃이 병합된 패턴을 포함하도록 상기 배치 정보를 변경하는 단계를 포함하는 것을 특징으로 하는 집적 회로의 레이아웃 설계를 위한 컴퓨터 구현 방법.
10. The method of claim 9,
Changing the arrangement information comprises:
selecting first and second patterns commonly connected to a power net of the integrated circuit;
generating a merged pattern by extending each of the first and second patterns in the layer; and
and changing the layout information so that the layout includes a merged pattern.
KR1020150059103A 2014-10-30 2015-04-27 Integrated circuit and method of designing layout thereof KR102320823B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/926,128 US9946828B2 (en) 2014-10-30 2015-10-29 Integrated circuit and method of designing layout thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462072494P 2014-10-30 2014-10-30
US62/072,494 2014-10-30

Publications (2)

Publication Number Publication Date
KR20160051532A KR20160051532A (en) 2016-05-11
KR102320823B1 true KR102320823B1 (en) 2021-11-02

Family

ID=56026245

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150059103A KR102320823B1 (en) 2014-10-30 2015-04-27 Integrated circuit and method of designing layout thereof

Country Status (1)

Country Link
KR (1) KR102320823B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9842185B2 (en) * 2015-08-21 2017-12-12 Qualcomm Incorporated Systems and methods for group constraints in an integrated circuit layout
US10366200B2 (en) 2016-09-07 2019-07-30 Taiwan Semiconductor Manufacturing Company, Ltd. System for and method of manufacturing a layout design of an integrated circuit
KR102661932B1 (en) * 2016-12-16 2024-04-29 삼성전자주식회사 Integrated circuit for multiple patterning lithography, computing system and computer-implemented method for designing integrated circuit
KR102636094B1 (en) * 2016-12-16 2024-02-13 삼성전자주식회사 Integrated circuit for triple patterning lithography, computing system and computer-implemented method for designing integrated circuit
KR102358481B1 (en) 2017-06-08 2022-02-04 삼성전자주식회사 Semiconductor device and method for manufacturing the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050275043A1 (en) 2004-06-10 2005-12-15 Chien-Chao Huang Novel semiconductor device design
US20110219341A1 (en) 2010-03-08 2011-09-08 Cadence Design Systems, Inc. Method, system, and program product for interactive checking for double pattern lithography violations

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8359556B1 (en) * 2011-06-29 2013-01-22 International Business Machines Corporation Resolving double patterning conflicts

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050275043A1 (en) 2004-06-10 2005-12-15 Chien-Chao Huang Novel semiconductor device design
US20110219341A1 (en) 2010-03-08 2011-09-08 Cadence Design Systems, Inc. Method, system, and program product for interactive checking for double pattern lithography violations

Also Published As

Publication number Publication date
KR20160051532A (en) 2016-05-11

Similar Documents

Publication Publication Date Title
US20210034807A1 (en) Method of designing a device
KR102320823B1 (en) Integrated circuit and method of designing layout thereof
US20210173991A1 (en) Computer-implemented method and computing system for designing integrated circuit by considering timing delay
US11048841B2 (en) System, method and associated computer readable medium for designing integrated circuit with pre-layout RC information
US9946828B2 (en) Integrated circuit and method of designing layout thereof
US10418354B2 (en) Integrated circuit and computer-implemented method of manufacturing the same
US10817637B2 (en) System and method of designing integrated circuit by considering local layout effect
US10621300B2 (en) Computing system for performing colorless routing for quadruple patterning lithography
US10928442B2 (en) Computer implemented methods and computing systems for designing integrated circuits by considering back-end-of-line
US9424384B2 (en) Method of density-controlled floorplan design for integrated circuits and integrated circuits
US10599130B2 (en) Method and system for manufacturing an integrated circuit in consideration of a local layout effect
US10990741B2 (en) Multiple patterning method and system for implementing the method
KR102419645B1 (en) Computer-implemented method and computing system for designing integrated circuit and method of manufacturing integrated circuit
US10331838B2 (en) Semiconductor device with fill cells
TW202002166A (en) Integrated device and method of forming the same
US20180336307A1 (en) Method for designing an integrated circuit, and method of manufacturing the integrated circuit
US10424518B2 (en) Integrated circuit designing system and a method of manufacturing an integrated circuit
US10430546B2 (en) Integrated circuit, and computing system and computer-implemented method for designing integrated circuit
KR20170094744A (en) Integrated circuit and computer-implemented method for manufacturing the same
TW201935289A (en) Method for cell swapping
KR102093638B1 (en) A method of mask generation for integrated circuit fabrication
US10872817B2 (en) Semiconductor device and method of manufacturing the same
KR102434992B1 (en) Method and system for manufacturing integrated circuit by considering local layout effect
KR20200079173A (en) Method of designing a layout for a semiconductor integrated circuit
JP2011107762A (en) Timing verification device, timing verification method, program for the same and recording medium recording the program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant