KR20170109863A - 집적 회로 및 집적 회로의 설계 방법 - Google Patents
집적 회로 및 집적 회로의 설계 방법 Download PDFInfo
- Publication number
- KR20170109863A KR20170109863A KR1020160033995A KR20160033995A KR20170109863A KR 20170109863 A KR20170109863 A KR 20170109863A KR 1020160033995 A KR1020160033995 A KR 1020160033995A KR 20160033995 A KR20160033995 A KR 20160033995A KR 20170109863 A KR20170109863 A KR 20170109863A
- Authority
- KR
- South Korea
- Prior art keywords
- cell
- color
- row
- patterns
- shift
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 239000003086 colorant Substances 0.000 claims abstract description 31
- 238000000059 patterning Methods 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims 1
- 239000004065 semiconductor Substances 0.000 description 24
- 230000008569 process Effects 0.000 description 19
- 238000003860 storage Methods 0.000 description 19
- 238000013461 design Methods 0.000 description 16
- 239000002184 metal Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000000354 decomposition reaction Methods 0.000 description 6
- CIWBSHSKHKDKBQ-JLAZNSOCSA-N Ascorbic acid Chemical compound OC[C@H](O)[C@H]1OC(=O)C(O)=C1O CIWBSHSKHKDKBQ-JLAZNSOCSA-N 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004040 coloring Methods 0.000 description 3
- 239000012535 impurity Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000009087 cell motility Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000005137 deposition process Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 150000002500 ions Chemical class 0.000 description 2
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 2
- 229920005591 polysilicon Polymers 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 238000001459 lithography Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920002120 photoresistant polymer Polymers 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000003566 sealing material Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000004528 spin coating Methods 0.000 description 1
- 238000004544 sputter deposition Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G06F17/5045—
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03F—PHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
- G03F7/00—Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
- G03F7/70—Microphotolithographic exposure; Apparatus therefor
- G03F7/70425—Imaging strategies, e.g. for increasing throughput or resolution, printing product fields larger than the image field or compensating lithography- or non-lithography errors, e.g. proximity correction, mix-and-match, stitching or double patterning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03F—PHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
- G03F1/00—Originals for photomechanical production of textured or patterned surfaces, e.g., masks, photo-masks, reticles; Mask blanks or pellicles therefor; Containers specially adapted therefor; Preparation thereof
- G03F1/62—Pellicles, e.g. pellicle assemblies, e.g. having membrane on support frame; Preparation thereof
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03F—PHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
- G03F7/00—Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
- G03F7/70—Microphotolithographic exposure; Apparatus therefor
- G03F7/70425—Imaging strategies, e.g. for increasing throughput or resolution, printing product fields larger than the image field or compensating lithography- or non-lithography errors, e.g. proximity correction, mix-and-match, stitching or double patterning
- G03F7/70433—Layout for increasing efficiency or for compensating imaging errors, e.g. layout of exposure fields for reducing focus errors; Use of mask features for increasing efficiency or for compensating imaging errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/18—Manufacturability analysis or optimisation for manufacturability
-
- G06F2217/64—
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
본 개시에 따른 집적 회로를 설계하기 위한 컴퓨터 구현 방법은, 복수의 로우들에 대응하는 멀티 하이트 셀인 제1 셀의 일 레이어에 해당하는 패턴들에 MPT를 적용하도록, 패턴들에 대해 복수의 컬러들을 할당하고, 제1 셀에 대하여, 로우 별로 패턴들에 대한 컬러 리맵핑이 수행된 복수의 쉬프트 셀들을 생성하며, 제1 셀 및 복수의 쉬프트 셀들을 포함하는 셀 세트를 표준 셀 라이브러리에 저장한다.
Description
본 개시의 기술적 사상은 집적 회로에 관한 것으로, 더욱 상세하게는, 집적 회로, 집적 회로의 설계 방법, 및 반도체 장치의 제조 방법에 관한 것이다.
반도체 집적 회로의 설계는, 반도체 시스템으로부터 얻고자 하는 동작을 기술하는 칩에 대한 행위(behavior) 모델을, 필요한 구성 요소들 간의 연결을 기술하는 구체적인 구조 모델로 변환하는 작업이다. 이러한 반도체 집적 회로의 설계 과정에서 반도체 집적 회로에 포함되는 셀들에 대한 라이브러리(library)를 생성하고, 생성된 라이브러리를 이용하여 반도체 집적 회로를 구현하는 경우 반도체 집적 회로의 설계 및 구현에 소요되는 시간과 비용을 줄일 수 있는 장점이 있다.
본 개시의 기술적 사상이 해결하고자 하는 과제는 멀티 하이트 셀을 포함하는 복수의 셀들에 대한 컬러 리맵핑 동작의 효율성을 향상시킬 수 있는 집적 회로를 설계하기 위한 컴퓨터 구현 방법을 제공하는 데에 있다.
본 개시의 기술적 사상에 따른 집적 회로를 설계하기 위한 컴퓨터 구현 방법은, 복수의 로우들(rows)에 대응하는 멀티 하이트 셀(multi height cell)인 제1 셀의 일 레이어에 해당하는 패턴들에 MPT(Multi Patterning Technology)를 적용하도록, 상기 패턴들에 대해 복수의 컬러들을 할당하는 단계; 상기 제1 셀에 대하여, 로우 별로 상기 패턴들에 대한 컬러 리맵핑(color remapping)이 수행된 복수의 쉬프트 셀들을 생성하는 단계; 및 상기 제1 셀 및 상기 복수의 쉬프트 셀들을 포함하는 셀 세트를 표준 셀 라이브러리에 저장하는 단계를 포함한다.
또한, 본 개시의 다른 기술적 사상에 따른 집적 회로를 설계하기 위한 컴퓨터 구현 방법은, 제1 및 제2 로우들을 포함하는 다수의 로우들에 대응하는 멀티 하이트 셀 및 상기 제1 로우에 대응하는 싱글 하이트 셀을 상기 제1 로우에 배치하는 단계; 상기 멀티 하이트 셀과 상기 싱글 하이트 셀 사이에서 컬러 위반의 발생 여부를 판단하는 단계; 및 컬러 위반이 발생한 경우, 각 셀의 동일 레이어에 해당하고 서로 다른 컬러들이 할당된 패턴들에 대해 로우 별로 컬러 리맵핑이 수행된 적어도 하나의 쉬프트 셀을 저장하는 표준 셀 라이브러리를 이용하여, 상기 멀티 하이트 셀 또는 상기 싱글 하이트 셀에 대하여 컬러 리맵핑을 수행하는 단계를 포함한다.
본 개시의 기술적 사상에 따르면, 멀티 하이트 셀에 대해 로우 별로 컬러 리맵핑을 수행할 수 있으므로, 집적 회로의 설계에 소요되는 시간 및 비용을 감소시킬 수 있고, 컬러 리맵핑 동작의 효율성을 향상시킬 수 있다.
도 1은 본 개시의 일 실시예에 따른 반도체 장치의 제조 방법을 나타내는 흐름도이다.
도 2a 및 도 2b는 본 개시의 일 실시예에 따른 집적 회로의 레이아웃들이다.
도 3은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 4는 싱글 하이트 셀 및 상기 싱글 하이트 셀에 대한 쉬프트 셀의 레이아웃들이다.
도 5는 도 4의 싱글 하이트 셀을 더욱 상세하게 나타내는 레이아웃이다.
도 6은 멀티 하이트 셀 및 상기 멀티 하이트 셀에 대한 쉬프트 셀들의 레이아웃들이다.
도 7a은 셀에 대한 네이밍 규칙의 일 예를 나타내고, 도 7b는 셀에 대한 다양한 네이밍 규칙들에 나타내는 표이다.
도 8은 도 6의 멀티 하이트 셀을 더욱 상세하게 나타내는 레이아웃이다.
도 9는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 10a 내지 도 10c는 도 9의 방법에 따라 배치된 셀들을 나타낸다.
도 11은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 12는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 13a는 본 개시의 실시예들에 따라 배치된 레이아웃을 나타낸다.
도 13b는 본 개시의 실시예들에 대한 비교예에 따라 컬러 리맵핑 동작이 수행된 레이아웃을 나타낸다.
도 13c는 본 개시의 실시예들에 따라 컬러 리맵핑 동작이 수행된 레이아웃을 나타낸다.
도 14는 본 개시의 일 실시예에 따른 멀티 하이트 셀에 대한 컬러 리맵핑 동작의 예들을 나타낸다.
도 15는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 16은 본 개시의 일 실시예에 따른 저장 매체를 나타내는 블록도이다.
도 17은 본 개시의 일 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 2a 및 도 2b는 본 개시의 일 실시예에 따른 집적 회로의 레이아웃들이다.
도 3은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 4는 싱글 하이트 셀 및 상기 싱글 하이트 셀에 대한 쉬프트 셀의 레이아웃들이다.
도 5는 도 4의 싱글 하이트 셀을 더욱 상세하게 나타내는 레이아웃이다.
도 6은 멀티 하이트 셀 및 상기 멀티 하이트 셀에 대한 쉬프트 셀들의 레이아웃들이다.
도 7a은 셀에 대한 네이밍 규칙의 일 예를 나타내고, 도 7b는 셀에 대한 다양한 네이밍 규칙들에 나타내는 표이다.
도 8은 도 6의 멀티 하이트 셀을 더욱 상세하게 나타내는 레이아웃이다.
도 9는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 10a 내지 도 10c는 도 9의 방법에 따라 배치된 셀들을 나타낸다.
도 11은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 12는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 13a는 본 개시의 실시예들에 따라 배치된 레이아웃을 나타낸다.
도 13b는 본 개시의 실시예들에 대한 비교예에 따라 컬러 리맵핑 동작이 수행된 레이아웃을 나타낸다.
도 13c는 본 개시의 실시예들에 따라 컬러 리맵핑 동작이 수행된 레이아웃을 나타낸다.
도 14는 본 개시의 일 실시예에 따른 멀티 하이트 셀에 대한 컬러 리맵핑 동작의 예들을 나타낸다.
도 15는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 16은 본 개시의 일 실시예에 따른 저장 매체를 나타내는 블록도이다.
도 17은 본 개시의 일 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 벗어나지 않으면서, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
집적 회로는 복수의 셀들로서 정의될 수 있고, 구체적으로, 복수의 셀들의 특성 정보를 포함하는 셀 라이브러리를 이용하여 설계될 수 있다. 여기서, 셀 라이브러리에는 셀의 명칭, 치수, 게이트 폭, 핀(pin), 딜레이(delay) 특성, 누설 전류, 임계 전압, 기능 등이 정의될 수 있다. 일반적인 셀 라이브러리는 AND, OR, NOR, 인버터 등과 같은 기본 셀(basic cell), OAI(OR/AND/INVERTER) 및 AOI(AND/OR/INVERTER) 등과 같은 복합 셀(complex cell), 그리고 마스터-슬레이브 플립플롭(master-slaver flip-flop) 및 래치(latch) 등과 같은 저장 요소(storage element)를 포함할 수 있다.
이하에서 후술되는 본 발명의 실시예들에서, 셀 라이브러리는 표준 셀 라이브러리일 수 있다. 표준 셀 방식은, 여러 기능을 갖는 논리회로 블록(또는 셀)을 미리 준비하고, 이 셀을 임의로 조합시켜 고객이나 이용자의 명세에 맞춘 전용의 대규모 집적 회로(LSI)를 설계하는 방식이다. 셀은 미리 설계와 검증이 행해져서 컴퓨터에 등록되며, 컴퓨터 지원 설계(Computer Aided Design, CAD)를 사용하여 셀을 조합시킨 논리 설계, 배치(placement), 배선(routing)이 행해 진다.
구체적으로, 대규모 집적 회로를 설계/제작하는 경우에 어느 규모의 표준화된 논리회로 블록들(또는 셀)이 이미 라이브러리에 보존되어 있으면, 현재의 설계 목적에 맞는 논리회로 블록을 이 중에서 꺼내어, 이것을 칩 상에 복수 개의 셀 로우들로 배치하고, 셀과 셀 사이의 배선 공간에 배선 길이가 가장 짧아지는 최적 배선을 하여 전체 회로를 만들어 나갈 수 있다. 라이브러리에 보존되어 있는 셀의 종류가 풍부할수록 설계에 융통성이 생기고, 그만큼 칩의 최적 설계의 가능성도 커진다.
도 1은 본 개시의 일 실시예에 따른 반도체 장치의 제조 방법을 나타내는 흐름도이다.
도 1을 참조하면, 본 실시예에 따른 반도체 장치의 제조 방법은 집적 회로의 설계(S10) 및 집적 회로의 제조 공정(S20)으로 구분될 수 있다. 집적 회로의 설계(S10)는 단계 S110 및 S120을 포함하고, 집적 회로에 대한 레이아웃을 디자인하는 단계로서, 집적 회로를 설계하기 위한 툴에서 수행될 수 있다. 이때, 집적 회로를 설계하기 위한 툴은 프로세서에서 수행되는 복수의 명령어들을 포함하는 프로그램일 수 있다. 이에 따라, 집적 회로의 설계(S10)는 집적 회로 설계를 위한 컴퓨터 구현(computer implemented) 방법이라고 지칭할 수 있다. 한편, 집적 회로의 제조 공정(S20)은 디자인된 레이아웃을 기초로 집적 회로에 따른 반도체 장치를 제조하는 단계로서, 반도체 공정 모듈에서 수행될 수 있다.
S110에서, 표준 셀 라이브러리를 제공한다. 여기서, 표준 셀 라이브러리는 복수의 표준 셀들에 대한 정보를 포함할 수 있고, 컴퓨터로 읽을 수 있는 저장매체에 저장될 수 있다. 표준 셀 라이브러리는 표준 셀의 레이아웃 정보 및 타이밍 정보 등을 포함할 수 있다. 일 실시예에서, 표준 셀 라이브러리를 제공하는 단계는 표준 셀 라이브러리를 생성하는 단계, 더욱 상세하게는, 표준 셀을 설계하는 단계를 포함할 수 있다.
표준 셀 또는 표준 셀에 따라 형성된 반도체 장치는 복수의 레이어들(layers)이 적층된 구조를 포함할 수 있고, 복수의 레이어들 각각은 복수의 패턴들을 포함할 수 있다. 집적 회로의 집적도를 향상시키기 위해, 인접한 패턴들 사이의 간격이 감소될 것이 요구된다. 이에 따라, 일 레이어에에 해당하는 복수의 패턴들은 패터닝 레졸루션(patterning resolution)을 고려하여, 단일 마스크가 아닌 복수의 마스크들을 이용하여 형성될 수 있다.
이와 같이, 복수의 마스크들을 이용한 패터닝 기술은 멀티 패터닝 기술(Multi Patterning Technology, MPT)이라고 지칭한다. 예를 들어, 두 장의 마스크들을 이용하여 복수의 패턴들을 형성하는 기술은 DPT(Double Patterning Technology)라고 하고, 세 장의 마스크들을 이용하여 복수의 패턴들을 형성하는 기술은 TPT(Triple Patterning Technology)라고 하며, 네 장의 마스크들을 이용하여 복수의 패턴들을 형성하는 기술은 QPT(Quadruple Patterning Technology)라고 한다.
일 실시예에서, 표준 셀을 설계하는 단계는, 복수의 마스크들에 각각 대응되는 복수의 컬러들을 이용하여 복수의 패턴들을 디자인하는 컬러 디컴포지션(color decomposition) 단계를 포함할 수 있다. 이때, 컬러 디컴포지션 단계는 컬러링(coloring) 단계라고 지칭할 수도 있고, 복수의 패턴들과 복수의 마스크들 사이의 대응 관계를 포함하는 데이터는 컬러링 정보라고 지칭될 수 있다. 구체적으로, 컬러 디컴포지션 단계를 통해, 표준 셀의 일 레이어에 해당하는 복수의 패턴들에 복수의 컬러들을 할당할 수 있다. 이에 따라, 동일한 컬러를 가지는 패턴들은 동일한 마스크를 이용하여 형성될 수 있고, 상이한 컬러를 가지는 패턴들은 상이한 마스크들을 이용하여 형성될 수 있다.
본 실시예에서, 표준 셀 라이브러리는 표준 셀 및 그에 대응하는 적어도 하나의 쉬프트 셀(shift cell)을 저장할 수 있다. 여기서, 쉬프트 셀은 표준 셀의 일 레이어에 해당하는 복수의 패턴들에 할당된 복수의 컬러들에 대해, 로우 별로 컬러 리맵핑(color remapping)이 수행된 셀을 지칭한다. 여기서, 컬러 리맵핑은 패턴들에 미리 할당된 서로 다른 제1 및 제2 컬러들을 스왑핑하는 동작으로서, 컬러 스왑핑(color swapping) 또는 컬러 인버팅(color invering)이라고 지칭할 수도 있다. 컬러 리맵핑 동작에 대해서는 도 4 및 도 6을 참조하여 더욱 상세하게 설명하기로 한다.
단계 S120에서, 표준 셀 라이브러리를 사용하여 표준 셀들을 배치 및 배선(place and routing, P&R)함으로써 레이아웃을 설계한다. 구체적으로, 먼저, 집적 회로를 정의하는 입력 데이터를 수신한다. 여기서, 입력 데이터는 집적 회로의 동작(behavior)에 대한 추상적 형태, 예컨대 RTL(Register Transfer Level)에서 정의된 데이터로부터, 표준 셀 라이브러리를 이용하여 합성(synthesis)에 의해서 생성된 데이터일 수 있다. 예를 들면, 입력 데이터는 VHDL(VHSIC Hardware Description Language) 및 Verilog와 같은 HDL(Hardware Description Language)로서 정의된 집적 회로가 합성됨으로써 생성된 비트스트림(bitstream) 또는 네트리스트(netlist)일 수 있다.
이어서, 표준 셀 라이브러리를 저장하는 저장매체를 액세스하고, 표준 셀 라이브러리에 저장된 복수의 표준 셀들 중 입력 데이터에 따라 선택된 표준 셀들을 배치 및 배선한다. 여기서, 배치 및 배선이란 선택된 표준 셀들을 배치시키고, 배치된 표준 셀들을 연결시키는 작업을 말한다. 배치 및 배선이 완료됨으로써, 집적 회로에 대한 레이아웃이 생성될 수 있다.
이와 같이, 집적 회로의 설계(S10)는 상술한 단계 S110 및 S120을 포함할 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 표준 셀 라이브러리의 수정, 레이아웃 검증, 포스트 시뮬레이션 등과 같은 일반적인 집적 회로의 설계 방법에 따른 다양한 단계들을 더 포함할 수 있다.
단계 S130에서, 레이아웃을 기초로 마스크를 제조한다. 구체적으로, 먼저 레이아웃을 기초로 OPC(Optical Proximity Correction)를 수행할 수 있는데, OPC는 광 근접 효과에 따른 오차를 반영하여 레이아웃을 변경하는 공정을 말한다. 이어서, OPC 수행 결과에 따라 변경된 레이아웃에 따라 마스크를 제조할 수 있다. 이때, OPC를 반영한 레이아웃, 예컨대, OPC가 반영된 그래픽 디자인 시스템(Graphic Design System, GDS)을 이용하여 마스크를 제조할 수 있다. 여기서, 제조된 마스크의 개수는 레이아웃에 포함된 패턴들에 할당된 컬러들의 개수에 대응할 수 있다.
단계 S140에서, 제조된 마스크를 이용하여 반도체 장치를 형성한다. 마스크를 이용하여 웨이퍼 등과 같은 반도체 기판 상에 다양한 반도체 공정을 진행하여 반도체 장치를 형성한다. 예를 들어, 마스크를 이용하는 공정은 리소그라피(lithography) 공정을 통한 패터닝 공정을 의미할 수 있다. 이러한 패터닝 공정을 통해 반도체 기판이나 물질층 상에 원하는 패턴을 형성할 수 있다. 한편, 반도체 공정은 증착 공정, 식각 공정, 이온 공정, 세정 공정 등을 포함할 수 있다. 여기서, 증착 공정은 CVD, 스퍼터링, 스핀 코팅 등 다양한 물질층 형성 공정을 포함할 수 있다. 이온 공정은 이온 주입, 확산, 열처리 등의 공정을 포함할 수 있다. 또한, 반도체 공정은 반도체 소자를 PCB 상에 실장하고 밀봉재로 밀봉하는 패키징 공정을 포함할 수도 있고, 반도체 소자나 패키지에 대해 테스트를 하는 테스트 공정을 포함할 수도 있다.
도 2a 및 도 2b는 본 개시의 일 실시예에 따른 집적 회로의 레이아웃들(20a, 20b)이다.
도 2a를 참조하면, 집적 회로(20a)는 DPT를 이용하여 형성될 수 있고, 이에 따라, 집적 회로(20a)는 두 장의 마스크들에 기초하여 형성될 수 있다. 구체적으로, 집적 회로(20a)는 제1 컬러가 할당된 제1 패턴들(21, 22) 및 제2 컬러가 할당된 제2 패턴(23)을 포함할 수 있고, 제1 및 제2 패턴들(21 내지 23)은 동일 레이어에 해당하는 패턴들이다. 이때, 제1 컬러와 제2 컬러는 서로 다른 컬러들일 수 있고, 이에 따라, 제1 패턴들(21, 22)과 제2 패턴(23)은 서로 다른 두 장의 마스크들을 이용하여 각각 형성될 수 있다.
구체적으로, 제1 컬러를 갖는 제1 패턴들(21, 22)은 제1 마스크로 전사(transfer)될 것이고, 제2 컬러를 갖는 제2 패턴(23)은 제2 마스트로 전사될 것이다. 제1 및 제2 마스크들은 광 투과를 허용하는 투명 패턴들 및 광을 차단하는 불투명 패턴들을 갖는 리소그래피 마스크들이다. 제1 및 제2 마스크들은 서로 결합하여 더블 패터닝 마스트 세트를 형성하고, 동일한 레벨의 동일한 타입의 패턴에 대한 포토 레지스트(photo resist)를 노출하는데 이용될 수 있다.
도 2b를 참조하면, 집적 회로(20b)는 TPT를 이용하여 형성될 수 있고, 이에 따라, 집적 회로(20b)는 세 장의 마스크들에 기초하여 형성될 수 있다. 구체적으로, 집적 회로(20b)는 제1 컬러가 할당된 제1 패턴들(21, 22), 제2 컬러가 할당된 제2 패턴(23) 및 제3 컬러가 할당된 제3 패턴들(24, 25)을 포함할 수 있고, 제1 내지 제3 패턴들(21 내지 25)은 동일 레이어에 해당하는 패턴들이다. 이때, 제1 내지 제3 컬러들은 서로 다른 컬러들일 수 있고, 이에 따라, 제1 패턴들(21, 22), 제2 패턴(23) 및 제3 패턴들(24, 25)은 서로 다른 세 장의 마스크들을 이용하여 각각 형성될 수 있다.
도 2a 및 도 2b를 참조하면, 제1 컬러가 할당된 두 개의 제1 패턴들(21, 22)은 제1 스페이스 조건을 만족해야 한다. 다시 말해, 제1 컬러가 할당된 두 개의 제1 패턴들(21, 22) 사이의 간격은 동일 컬러로 할당된 패턴들 사이의 최소 간격인 제1 스페이스(S1) 이상이어야 한다. 일 실시예에서, 제1 패턴들(21, 22) 및 제2 패턴(23)은 하나의 셀 내에 포함될 수 있다. 다른 실시예에서, 제1 패턴(21)은 제1 셀 내에 포함되고, 제1 패턴(22) 및 제2 패턴(23)은 제2 셀 내에 포함될 수 있다. 이와 같이, 집적 회로(20a)에서는 동일 셀에 대해서도, 그리고, 인접한 셀들에 대해서도 제1 스페이스 조건을 만족하도록 제1 패턴들(21, 22)을 배치해야 한다.
도 3은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 3을 참조하면, 본 실시예에 따른 집적 회로의 설계 방법은 표준 셀 라이브러리를 생성하는 동작으로서, 예를 들어, 도 1의 단계 S110의 일 구현예에 대응할 수 있다. 따라서, 도 1을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 중복된 설명은 생략하기로 한다.
단계 S210에서, 제1 셀의 동일 레벨에 해당하는 패턴들에 대해 복수의 컬러들을 할당한다. 단계 S210은 도 1을 참조하여 상술된 컬러 디컴포지션 동작 또는 컬러링 동작이라고 지칭할 수 있다. 일 실시예에서, 제1 셀은 하나의 셀 배치 로우(cell placement row)(이하, "로우"라고 지칭함)에 대응하는 싱글 하이트 셀(single height cell)일 수 있다. 다시 말해, 싱글 하이트 셀은 하나의 로우에 걸쳐 배치될 수 있고, 싱글 하이트 셀에 대해서는 도 4 및 도 5를 참조하여 상술하기로 한다. 일 실시예에서, 제1 셀은 복수의 로우들에 대응하는 멀티 하이트 셀(multi-height cell)일 수 있다. 다시 말해, 멀티 하이트 셀은 복수의 로우들에 걸쳐 배치될 수 있고, 멀티 하이트 셀에 대해서는 도 6 내지 도 8을 참조하여 상술하기로 한다.
단계 S220에서, 제1 셀에 대하여, 로우 별로 패턴들에 대한 컬러 리맵핑이 수행된 쉬프트 셀들을 생성한다. 이때, 쉬프트 셀들의 개수는 제1 셀에 대응하는 로우의 개수를 기초로 결정될 수 있다. 제1 셀에 대응하는 로우의 개수가 N개인 경우, 제1 셀에 대응하는 쉬프트 셀들의 개수는 2N-1개일 수 있다. 단계 S230에서, 제1 셀 및 쉬프트 셀들을 포함하는 셀 세트(cell set)를 표준 셀 라이브러리에 저장한다.
도 4는 싱글 하이트 셀(SHC) 및 상기 싱글 하이트 셀에 대한 쉬프트 셀(SHCa)의 레이아웃들이다.
도 4를 참조하면, 일 실시예에서, 도 3의 제1 셀은 싱글 하이트 셀(SHC)일 수 있다. 예를 들어, 싱글 하이트 셀(SHC)은 제1 로우(ROW1)에 걸쳐 배치될 수 있다. 도 4에 예시된 제1 및 제2 패턴들(41, 42)은 싱글 하이트 셀(SHC)의 동일 레이어를 구성하는 패턴들일 수 있다.
구체적으로, 싱글 하이트 셀(SHC)은 일 레이어에 해당하는 제1 패턴(41) 및 제2 패턴(42)을 포함할 수 있다. 제1 패턴(41)은 제1 컬러를 가질 수 있고, 제2 패턴(42)은 제2 컬러를 가질 수 있다. 그러므로, 제1 및 제2 패턴들(41, 42)은 서로 다른 마스크들을 이용하여 형성될 수 있다. 본 실시예에서, 제1 패턴(41)은 좌측 바운더리에 인접하게 배치되고, 제2 패턴(42)은 우측 바운더리에 인접하게 배치될 수 있다. 도 4에서는 편의상 두 개의 패턴들(41, 42)만을 도시하였으나, 싱글 하이트 셀(SHC)은 일 레이어에 해당하는 더 많은 수의 패턴들을 포함할 수 있다.
쉬프트 셀(SHCa)은 싱글 하이트 셀(SHC)에 포함된 제1 및 제2 패턴들(41, 42)에 할당된 서로 다른 제1 및 제2 컬러들에 대한 컬러 리맵핑 동작에 따라 생성될 수 있다. 즉, 쉬프트 셀(SHCa)은 싱글 하이트 셀(SHC)에 포함된 제1 및 제2 패턴들(41, 42)에 할당된 서로 다른 제1 및 제2 컬러들을 인버팅, 즉, 스와핑함으로써 생성될 수 있다. 이에 따라, 쉬프트 셀(SHCa)은 좌측 바운더리에 인접한 제1 인버팅된(inverted) 패턴(41') 및 우측 바운더리에 인접한 제2 인버팅된(inverted) 패턴(42')을 포함할 수 있다.
도 5는 도 4의 싱글 하이트 셀(SHC)을 더욱 상세하게 나타내는 레이아웃이다.
도 5를 참조하면, 싱글 하이트 셀(SHC)은 셀 바운더리(CB)에 의해 한정되고, 복수의 핀들(FN), 제1 및 제2 액티브(active) 영역들(AR1, AR2), 복수의 게이트 라인들(gate lines)(GL) 및 복수의 제1 금속 라인들(M1)을 포함할 수 있다. 셀 바운더리(CB)는 표준 셀, 즉, 싱글 하이트 셀(SHC)을 한정하는 아웃라인으로, 배치 및 배선 툴은 셀 바운더리(CB)를 이용하여 싱글 하이트 셀(SHC)을 인식할 수 있다. 셀 바운더리(CB)는 네 개의 바운더리 라인들로 구성된다.
복수의 핀들(FN)은 제1 방향(예를 들어, X 방향)으로 연장되고, 제1 방향에 수직인 제2 방향(예를 들어, Y 방향)을 따라 서로 평행하게 배치될 수 있다. 제1 액티브 영역(AR1)과 제2 액티브 영역(AR2)은 서로 평행하게 배치될 수 있으며, 서로 다른 도전형을 가질 수 있다. 구체적으로, 본 실시예에서는, 제1 및 제2 액티브 영역들(AR1, AR2) 각각에 3개의 핀들(FN)이 배치될 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 제1 및 제2 액티브 영역들(AR1, AR2) 각각에 배치된 핀들(FN)의 개수는 다양하게 변경될 수 있다.
이때, 제1 및 제2 액티브 영역들(AR1, AR2)에 배치되는 복수의 핀들(FN)은 액티브 핀들이라고 지칭할 수 있다. 도 5에서는 액티브 핀들만을 도시하였으나, 본 발명은 이에 한정되지 않으며, 싱글 하이트 셀(SHC)은 셀 바운더리(CB)와 제1 액티브 영역(AR1), 제1 및 제2 액티브 영역들(AR1, AR2) 사이의 영역, 또는 제2 액티브 영역(AR2)과 셀 바운더리(CB) 사이의 영역에 배치되는 더미(dummy) 핀들을 더 포함할 수 있다.
복수의 게이트 라인들(GL)은 제2 방향(예를 들어, Y 방향)으로 연장될 수 있고, 제1 방향(예를 들어, X 방향)을 따라 서로 평행하게 배치될 수 있다. 이때, 게이트 라인들(GL)은 전기 전도성을 갖는 임의의 물질로 구성될 수 있으며, 예를 들어, 폴리 실리콘, 금속, 금속 함금 등을 포함할 수 있다. 도 5에서는 싱글 하이트 셀(SHC)이 세 개의 게이트 라인들(GL)을 포함하는 것으로 도시되었으나, 이는 일 실시예에 불과하고, 싱글 하이트 셀(SHC)은 제2 방향으로 연장되고 제1 방향을 따라 서로 평행하게 배치되는 4개 이상의 게이트 라인들을 포함할 수 있다.
복수의 제1 금속 라인들(M1)은 복수의 게이트 라인들(GL)의 상부에 배치되는 일 레이어를 구성할 수 있다. 복수의 제1 금속 라인들(M1)은 제1 패턴(41) 및 제2 패턴(42)을 포함할 수 있다. 다시 말해, 복수의 제1 금속 라인들(M1)에 포함된 복수의 패턴들(41, 42)에 두 개의 컬러들이 할당되는 컬러 디컴포지션 동작이 수행될 수 있다.
도 6은 멀티 하이트 셀(MHC) 및 상기 멀티 하이트 셀에 대한 쉬프트 셀들(MHCa, MHCb, MHCc)의 레이아웃들이다.
도 6을 참조하면, 일 실시예에서, 도 3의 제1 셀은 멀티 하이트 셀(MHC)일 수 있다. 예를 들어, 멀티 하이트 셀(MHC)은 제1 및 제2 로우들(ROW1, ROW2)에 걸쳐 배치될 수 있다. 도 6에 예시된 제1 및 제2 패턴들(61 내지 64)은 멀티 하이트 셀(MHC)의 동일 레이어를 구성하는 패턴들일 수 있다.
구체적으로, 멀티 하이트 셀(MHC)은 일 레이어에 해당하는 제1 패턴들(61, 63) 및 제2 패턴들(62, 64)을 포함할 수 있다. 제1 패턴들(61, 63)은 제1 컬러를 가질 수 있고, 제2 패턴들(62, 64)은 제2 컬러를 가질 수 있다. 그러므로, 제1 패턴들(61, 63) 및 제2 패턴들(62, 64)은 서로 다른 마스크들을 이용하여 형성될 수 있다. 본 실시예에서, 제1 로우(ROW1)에서, 제1 패턴(61)은 좌측 바운더리에 인접하게 배치되고, 제2 패턴(62)은 우측 바운더리에 인접하게 배치될 수 있고, 제2 로우(ROW2)에서, 제2 패턴(64)은 좌측 바운더리에 인접하게 배치되고, 제1 패턴(63)은 우측 바운더리에 인접하게 배치될 수 있다. 도 6에서는 편의상 네 개의 패턴들(61 내지 64)만을 도시하였으나, 멀티 하이트 셀(MHC)은 일 레이어에 해당하는 더 많은 수의 패턴들을 포함할 수 있다.
제1 쉬프트 셀(MHCa)은 멀티 하이트 셀(MHC)의 제1 로우(ROW1)에 대응하는 제1 및 제2 패턴들(61, 62)에 할당된 서로 다른 제1 및 제2 컬러들에 대한 컬러 리맵핑 동작에 따라 생성될 수 있다. 즉, 제1 쉬프트 셀(MHCa)은 멀티 하이트 셀(MHC)의 제1 로우(ROW1)에 대응하는 제1 및 제2 패턴들(61, 62)에 할당된 서로 다른 제1 및 제2 컬러들을 인버팅, 즉, 스와핑함으로써 생성될 수 있다. 이때, 멀티 하이트 셀(MHC)의 제2 로우(ROW2)에 대응하는 제1 및 제2 패턴들(63, 64)에 할당된 서로 다른 제1 및 제2 컬러들은 인버팅되지 않는다. 이에 따라, 제1 쉬프트 셀(MHCa)은 제1 로우(ROW1)에 대응하는 제1 인버팅된 패턴(61') 및 제2 인버팅된 패턴(62'), 그리고, 제2 로우(ROW2)에 대응하는 제1 패턴(63) 및 제2 패턴(64)을 포함할 수 있다.
제2 쉬프트 셀(MHCb)은 멀티 하이트 셀(MHC)에서 제2 로우(ROW2)에 대응하는 제1 및 제2 패턴들(63, 64)에 할당된 서로 다른 제1 및 제2 컬러들에 대한 컬러 리맵핑 동작에 따라 생성될 수 있다. 즉, 제2 쉬프트 셀(MHCb)은 멀티 하이트 셀(MHC)에서 제2 로우(ROW2)에 대응하는 제1 및 제2 패턴들(63, 64)에 할당된 서로 다른 제1 및 제2 컬러들을 인버팅, 즉, 스와핑함으로써 생성될 수 있다. 이때, 멀티 하이트 셀(MHC)의 제1 로우(ROW1)에 대응하는 제1 및 제2 패턴들(61, 62)에 할당된 서로 다른 제1 및 제2 컬러들은 인버팅되지 않는다. 이에 따라, 제2 쉬프트 셀(MHCb)은 제1 로우(ROW1)에 대응하는 제1 패턴(61) 및 제2 패턴(62), 그리고, 제2 로우(ROW2)에 대응하는 제1 인버팅된 패턴(63') 및 제2 인버팅된 패턴(64')을 포함할 수 있다.
제3 쉬프트 셀(MHCc)은 멀티 하이트 셀(MHC)에서 제1 로우(ROW1) 및 제2 로우(ROW2)에 대응하는 제1 및 제2 패턴들(61, 62)에 할당된 서로 다른 제1 및 제2 컬러들에 대한 컬러 리맵핑 동작에 따라 생성될 수 있다. 즉, 제3 쉬프트 셀(MHCc)은 멀티 하이트 셀(MHC)에서 제1 로우(ROW1) 및 제2 로우(ROW2)에 대응하는 제1 및 제2 패턴들(61, 62)에 할당된 서로 다른 제1 및 제2 컬러들을 인버팅, 즉, 스와핑함으로써 생성될 수 있다. 이에 따라, 제3 쉬프트 셀(MHCc)은 제1 로우(ROW1)에 대응하는 제1 인버팅된 패턴(61') 및 제2 인버팅된 패턴(62'), 그리고, 제2 로우(ROW2)에 대응하는 제1 인버팅된 패턴(63') 및 제2 인버팅된 패턴(64')을 포함할 수 있다.
도 7a은 셀에 대한 네이밍 규칙의 일 예를 나타내고, 도 7b는 셀에 대한 다양한 네이밍 규칙들에 나타내는 표이다.
도 7a를 참조하면, 일 실시예에서, 네이밍 규칙에 따라 표준 셀 및 쉬프트 셀들의 이름들을 생성하고, 생성된 이름들에 각각 대응하는 표준 셀 및 쉬프트 셀들을 표준 셀 라이브러리에 저장할 수 있다. 이때, 네이밍 규칙에 따른 표준 셀 및 쉬프트 셀들의 이름은 표준 셀 라이브러리의 제공자와 배치 및 배선 툴의 사용자 사이에서 공유될 수 있다. 따라서, 배치 및 배선 툴의 사용자는 컬러 리맵핑 과정 중 특정 로우의 컬러를 리맵핑하는 경우, 네이밍 규칙에 따라 인스턴스(instance)를 생성할 수 있고, 표준 셀 라이브러리 제공자는 인스턴스에 응답하여 해당 로우의 컬러가 리맵핑된 쉬프트 셀을 제공할 수 있다.
일 실시예에 따른 네이밍 규칙에 따르면, 셀의 네임(예를 들어, A), 컬러 스왑핑된 인스턴스 인디케이터(예를 들어, SHIFT), 각 로우 별로 컬러 리맵핑 정보를 나타내는 플래그의 순서로, 표준 셀 및 쉬프트 셀들의 이름들을 생성할 수 있다. 일 실시예에서, 셀에 대응하는 로우의 개수가 N개인 경우, 플래그는 N비트로 표시할 수 있다. 일 실시예에서, 각 로우에 대응하는 패턴들에 대해 컬러 리맵핑이 수행되지 않은 경우, 즉, 오리지널 패턴인 경우, 해당 비트는 0으로 표시하고, 각 로우에 대응하는 패턴들에 대해 컬러 리맵핑이 수행된 경우, 해당 비트는 1로 표시할 수 있다. 예를 들어, 제1 로우(ROW1)에 대응하는 패턴들에 대해 컬러 인버팅이 수행되고, 제2 로우(ROW2)에 대응하는 패턴들에 대해 컬러 인버팅이 수행되지 않은 경우 플래그는 10으로 표시할 수 있다.
도 7b를 참조하면, 본 개시의 다양한 실시예들에 따른 네이밍 규칙들에 따라, 도 6에 예시된 멀티 하이트 셀(MHC)과 제1 내지 제3 쉬프트 셀들(MHCa 내지 MHCc)에 대해 생성된 이름들이 예시되었다.
제1 케이스(CASE1)에서, 각 로우 별로 컬러 리맵핑 정보를 나타내는 플래그는, 셀에 대응하는 로우들의 개수(즉, N)에 따른 N비트로 표시할 수 있다. 이때, 오리지널 셀인 멀티 하이트 셀(MHC)에 대해서는 제1 및 제2 로우들(ROW1, ROW2)에 대응하는 패턴들에 대해 컬러 인버팅이 수행되지 않았으므로, 멀티 하이트 셀(MHC)의 이름은 "A_SHIFT_00"으로 생성될 수 있다. 제1 쉬프트 셀(MHCa)에 대해서는 제1 로우(ROW1)에 대응하는 패턴들에 대해 컬러 리맵핑이 수행되고, 제2 로우(ROW2)에 대응하는 패턴들에 대해 컬러 리맵핑이 수행되지 않았으므로, 제1 쉬프트 셀(MHCa)의 이름은 "A_SHIFT_10"으로 생성될 수 있다. 제2 쉬프트 셀(MHCb)에 대해서는 제1 로우(ROW1)에 대응하는 패턴들에 대해 컬러 리맵핑이 수행되지 않고, 제2 로우(ROW2)에 대응하는 패턴들에 대해 컬러 리맵핑이 수행되었으므로, 제2 쉬프트 셀(MHCb)의 이름은 "A_SHIFT_01"로 생성될 수 있다. 제3 쉬프트 셀(MHCc)에 대해서는 제1 및 제2 로우들(ROW1, ROW2)에 대응하는 패턴들에 대해 컬러 리맵핑이 수행되었으므로, 제3 쉬프트 셀(MHCc)의 이름은 "A_SHIFT_11"로 생성될 수 있다.
제2 케이스(CASE2)에서, 각 로우 별로 컬러 리맵핑 정보를 나타내는 플래그는, 한 글자의 알파벳으로 표시할 수 있다. 예를 들어, 멀티 하이트 셀(MHC)의 이름은 "A_SHIFT_a"로 생성될 수 있고, 제1 쉬프트 셀(MHCa)의 이름은 "A_SHIFT_b"로 생성될 수 있으며, 제2 쉬프트 셀(MHCb)의 이름은 "A_SHIFT_c"로 생성될 수 있고, 제3 쉬프트 셀(MHCc)의 이름은 "A_SHIFT_d"로 생성될 수 있다.
제3 케이스(CASE3)에서, 각 로우 별로 컬러 리맵핑 정보를 나타내는 플래그는, 숫자로 표시할 수 있다. 예를 들어, 멀티 하이트 셀(MHC)의 이름은 "A_SHIFT_1"로 생성될 수 있고, 제1 쉬프트 셀(MHCa)의 이름은 "A_SHIFT_2"로 생성될 수 있으며, 제2 쉬프트 셀(MHCb)의 이름은 "A_SHIFT_3"로 생성될 수 있고, 제3 쉬프트 셀(MHCc)의 이름은 "A_SHIFT_4"로 생성될 수 있다.
도 8은 도 6의 멀티 하이트 셀(MHC)을 더욱 상세하게 나타내는 레이아웃이다.
도 8을 참조하면, 멀티 하이트 셀(MHC)은 셀 바운더리(CB)에 의해 한정되고, 복수의 핀들(FN), 제1 내지 제4 액티브 영역들(AR1 내지 AR4), 복수의 게이트 라인들(GL) 및 복수의 제1 금속 라인들(M1)을 포함할 수 있다. 셀 바운더리(CB)는 표준 셀, 즉, 멀티 하이트 셀(MHC)을 한정하는 아웃라인으로, 배치 및 배선 툴은 셀 바운더리(CB)를 이용하여 멀티 하이트 셀(MHC)을 인식할 수 있다. 셀 바운더리(CB)는 네 개의 바운더리 라인들로 구성된다.
복수의 핀들(FN)은 제1 방향(예를 들어, X 방향)으로 연장되고, 제1 방향에 수직인 제2 방향(예를 들어, Y 방향)을 따라 서로 평행하게 배치될 수 있다. 제1 내지 제4 액티브 영역들(AR1 내지 AR4)은 서로 평행하게 배치될 수 있다. 예를 들어, 제1 및 제4 액티브 영역들(AR1, AR4)은 제1 도전형을 가진 불순물들을 도핑함으로써 형성될 수 있고, 제2 및 제3 액티브 영역들(AR2, AR3)은 제1 도전형과 다른 제2 도전형을 가진 불순물들을 도핑함으로써 형성할 수 있다. 본 실시예에서는, 제1 내지 제4 액티브 영역들(AR1 내지 AR4) 각각에 3개의 핀들(FN)이 배치될 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 제1 내지 제4 액티브 영역들(AR1 내지 AR4) 각각에 배치된 핀들(FN)의 개수는 다양하게 변경될 수 있다.
이때, 제1 내지 제4 액티브 영역들(AR1 내지 AR4)에 배치되는 복수의 핀들(FN)은 액티브 핀들이라고 지칭할 수 있다. 도 8에서는 액티브 핀들만을 도시하였으나, 본 발명은 이에 한정되지 않으며, 멀티 하이트 셀(MHC)은 셀 바운더리(CB)와 제1 액티브 영역(AR1), 제1 및 제2 액티브 영역들(AR1, AR2) 사이의 영역, 제2 및 제3 액티브 영역들(AR2, AR3) 사이의 영역, 제3 및 제4 액티브 영역들(AR3, AR4) 사이의 영역 또는 제4 액티브 영역(AR4)과 셀 바운더리(CB) 사이의 영역에 배치되는 더미 핀들을 더 포함할 수 있다.
복수의 게이트 라인들(GL)은 제2 방향(예를 들어, Y 방향)으로 연장될 수 있고, 제1 방향(예를 들어, X 방향)을 따라 서로 평행하게 배치될 수 있다. 이때, 게이트 라인들(GL)은 전기 전도성을 갖는 임의의 물질로 구성될 수 있으며, 예를 들어, 폴리 실리콘, 금속, 금속 함금 등을 포함할 수 있다.
복수의 제1 금속 라인들(M1)은 복수의 게이트 라인들(GL)의 상부에 배치되는 일 레이어를 구성할 수 있다. 복수의 제1 금속 라인들(M1)은 제1 패턴들(61, 63) 및 제2 패턴들(62, 64)을 포함할 수 있다. 다시 말해, 복수의 제1 금속 라인들(M1)에 포함된 복수의 패턴들(61 내지 64)에 두 개의 컬러들이 할당되는 컬러 디컴포지션 동작이 수행될 수 있다.
도 9는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 9를 참조하면, 본 실시예에 따른 집적 회로의 설계 방법은 표준 셀들의 배치 및 배선 동작으로서, 예를 들어, 도 1의 단계 S120의 일 구현예에 대응할 수 있다. 따라서, 도 1을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 중복된 설명은 생략하기로 한다. 또한, 본 실시예에 따른 집적 회로의 설계 방법은 도 3의 단계 S230 이후에 수행될 수 있다. 따라서, 도 3 내지 도 8을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 중복된 설명은 생략하기로 한다.
단계 S240에서, 제1 셀 및 제2 셀이 제1 방향으로 서로 인접하도록 제1 및 제2 셀들을 배치한다. 이에 따라, 제1 셀과 제2 셀은 제1 바운더리에서 서로 인접하도록 배치될 수 있다. 단계 S240은 도 1을 참조하여 상술된 배치 동작이라고 지칭할 수 있다. 이때, 제1 방향은 로우 방향(예를 들어, 도 10a 및 도 10b의 X 방향)일 수 있다. 일 실시예에서, 제1 셀은 좌측에 배치된 셀이고, 제2 셀은 우측에 배치된 셀일 수 있다. 일 실시예에서, 컬러 리맵핑 방향은 제1 셀에서 제2 셀의 방향일 수 있다. 일 실시예에서, 컬러 리맵핑 방향은 제2 셀에서 제1 셀의 방향일 수 있다.
일 실시예에서, 제1 셀은 멀티 하이트 셀이고, 제2 셀은 싱글 하이트 셀일 수 있으며, 이에 대해 도 10a를 참조하여 상술하기로 한다. 일 실시예에서, 제1 셀은 싱글 하이트 셀이고, 제2 셀은 멀티 하이트 셀일 수 있으며, 이에 대해 도 10b를 참조하여 상술하기로 한다. 일 실시예에서, 제1 및 제2 셀들은 모두 멀티 하이트 셀일 수 있고, 이에 대해 도 10c를 참조하여 상술하기로 한다. 그러나, 본 발명은 이에 한정되지 않으며, 제1 및 제2 셀들은 모두 싱글 하이트 셀일 수도 있다.
단계 S250에서, 컬러 위반(violation)의 발생 여부를 판단한다. 여기서, 컬러 위반은 동일 컬러가 할당된 패턴들 사이의 간격이 제1 스페이스 조건을 만족하지 않는 경우를 말하며, 컬러 위반은 컬러 컨플릭트(conflict)라고 지칭할 수도 있다. 여기서, 제1 스페이스 조건은 동일 컬러가 할당된 패턴들 사이의 최소 간격이고, 제1 스페이스 조건에 따르면 동일 컬러가 할당된 패턴들 사이의 간격은 제1 스페이스 이상이어야 한다.
구체적으로, 제1 셀에서 제1 바운더리에 인접한 패턴과 제2 셀에서 제1 바운더리에 인접한 패턴 사이의 간격이, 동일 컬러로 할당된 패턴들 사이의 최소 간격인 제1 스페이스 이상인지 판단할 수 있다. 이때, 간격이 제1 스페이스 미만인 경우, 즉, 제1 스페이스 조건을 만족하지 못하는 경우, 제1 셀과 제2 셀 사이에서 컬러 위반이 발생한 것으로 판단할 수 있다. 판단 결과, 컬러 위반이 발생한 경우 단계 S260을 수행하고, 컬러 위반이 발생하지 않은 경우 본 방법은 종료된다.
단계 S260에서, 컬러 리맵핑 동작을 수행한다. 일 실시예에서, 컬러 위반이 발생한 특정 로우에 대응하는 패턴들에 대해 컬러 리맵핑을 수행할 수 있다. 이때, 특정 로우에 대응하는 패턴들에 대한 컬러 리맵핑을 지시하는 인스턴스를 생성할 수 있고, 표준 셀 라이브러리에 저장된 복수의 쉬프트 셀들 중 해당 인스턴스에 따라 선택된 쉬프트 셀을 이용하여 컬러 리맵핑을 수행할 수 있다.
도 10a 내지 도 10c는 도 9의 방법에 따라 배치된 셀들을 나타낸다.
도 10a를 참조하면, 도 9의 단계 S240에 따른 셀 배치(101)는 제1 셀(111) 및 제2 셀(112)을 포함한다. 제1 셀(111)은 제1 및 제2 로우들(ROW1, ROW2)에 대응하는 멀티 하이트 셀이고, 제2 셀(112)은 제1 로우(ROW1)에 대응하는 싱글 하이트 셀이다. 본 실시예에서, 컬러 리맵핑 방향은 제1 셀(111)에서 제2 셀(112)의 방향일 수 있다. 도 9의 단계 S250에 따른 컬러 위반의 발생 여부의 판단 결과, 제1 로우(ROW1)에서, 제1 셀(111)에 포함된 제1 패턴(111a)과 제2 셀(112)에 포함된 제1 패턴(112a) 사이에서 컬러 위반이 발생된 것으로 판단될 수 있다.
도 9의 단계 S260에 따른 컬러 리맵핑 동작이 수행된 셀 배치(101')는 제1 셀(111) 및 제2 인버팅된 셀(112')을 포함한다. 다시 말해, 컬러 리맵핑 동작에 따라, 셀 배치(101)에 포함된 제2 셀(112)을 제2 인버팅된 셀(112')로 대체할 수 있다. 여기서, 제2 인버팅된 셀(112')은 제2 셀(112)의 제1 로우(ROW1)에 대응하는 패턴들에 대해 컬러 리맵핑이 수행된 쉬프트 셀일 수 있고, 표준 셀 라이브러리로부터 수신할 수 있다.
도 10b를 참조하면, 도 9의 단계 S240에 따른 셀 배치(102)는 제1 셀(113) 및 제2 셀(114)을 포함한다. 제1 셀(113)은 제1 로우(ROW1)에 대응하는 싱글 하이트 셀이고, 제2 셀(114)은 제1 및 제2 로우들(ROW1, ROW2)에 대응하는 멀티 하이트 셀이다. 본 실시예에서, 컬러 리맵핑 방향은 제1 셀(113)에서 제2 셀(114)의 방향일 수 있다. 도 9의 단계 S250에 따른 컬러 위반의 발생 여부의 판단 결과, 제1 로우(ROW1)에서, 제1 셀(113)에 포함된 제2 패턴(113a)과 제2 셀(114)에 포함된 제2 패턴(114a) 사이에서 컬러 위반이 발생된 것으로 판단될 수 있다.
도 9의 단계 S260에 따른 컬러 리맵핑 동작이 수행된 셀 배치(102')는 제1 셀(113) 및 제2 인버팅된 셀(114')을 포함한다. 다시 말해, 컬러 리맵핑 동작에 따라, 셀 배치(102)에 포함된 제2 셀(114)을 제2 인버팅된 셀(114')로 대체할 수 있다. 여기서, 제2 인버팅된 셀(114')은 제2 셀(114)의 제1 로우(ROW1)에 대응하는 패턴들에 대해 컬러 리맵핑이 수행된 쉬프트 셀일 수 있고, 표준 셀 라이브러리로부터 수신할 수 있다.
도 10c를 참조하면, 도 9의 단계 S240에 따른 셀 배치(103)는 제1 셀(115) 및 제2 셀(116)을 포함한다. 제1 셀(115)은 제1 및 제2 로우들(ROW1, ROW2)에 대응하는 멀티 하이트 셀이고, 제2 셀(116)은 제1 및 제2 로우들(ROW1, ROW2)에 대응하는 멀티 하이트 셀이다. 본 실시예에서, 컬러 리맵핑 방향은 제1 셀(115)에서 제2 셀(116)의 방향일 수 있다. 도 9의 단계 S250에 따른 컬러 위반의 발생 여부의 판단 결과, 제1 로우(ROW1)에서, 제1 셀(115)에 포함된 제1 패턴(115a)과 제2 셀(116)에 포함된 제1 패턴(116a) 사이에서 컬러 위반이 발생된 것으로 판단될 수 있다.
도 9의 단계 S260에 따른 컬러 리맵핑 동작이 수행된 셀 배치(103')는 제1 셀(115) 및 제2 인버팅된 셀(116')을 포함한다. 다시 말해, 컬러 리맵핑 동작에 따라, 셀 배치(103)에 포함된 제2 셀(116)을 제2 인버팅된 셀(116')로 대체할 수 있다. 여기서, 제2 인버팅된 셀(116')은 제2 셀(116)의 제1 로우(ROW1)에 대응하는 패턴들에 대해 컬러 리맵핑이 수행되고, 제2 로우(ROW2)에 대응하는 패턴들에 대해 컬러 리맵핑이 수행되지 않은 쉬프트 셀일 수 있고, 표준 셀 라이브러리로부터 수신할 수 있다.
도 11은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 11을 참조하면, 본 실시예에 따른 집적 회로의 설계 방법은 표준 셀들을 배치하는 동작으로서, 예를 들어, 도 1의 단계 S120의 일 구현예에 대응할 수 있다. 따라서, 도 1을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 중복된 설명은 생략하기로 한다.
단계 S310에서, 멀티 하이트 셀 및 싱글 하이트 셀을 제n 로우에 배치한다. 여기서, 0 또는 양의 정수이다. 구체적으로, 멀티 하이트 셀과 싱글 하이트 셀은 제1 방향으로 서로 인접하도록 배치하고, 이에 따라, 멀티 하이트 셀과 싱글 하이트 셀은 제1 바운더리에서 서로 인접하도록 배치될 수 있다. 이때, 제1 방향은 로우 방향(예를 들어, 도 10a 내지 도 10c의 X 방향)일 수 있다.
일 실시예에서, 컬러 리맵핑 방향은 제1 방향을 따를 수 있다. 일 실시예에서, 멀티 하이트 셀이 좌측에 배치되고, 싱글 하이트 셀이 우측에 배치될 수 있고, 이때, 멀티 하이트 셀과 싱글 하이트 셀 사이에서 컬러 위반이 발생하면 싱글 하이트 셀에 대해 컬러 리맵핑을 수행할 수 있다(예를 들어, 도 10a 참조). 일 실시예에서, 싱글 하이트 셀이 좌측에 배치되고, 멀티 하이트 셀이 우측에 배치될 수 있고, 이때, 싱글 하이트 셀과 멀티 하이트 셀 사이에서 컬러 위반이 발생하면 멀티 하이트 셀에 대해 컬러 리맵핑을 수행할 수 있다(예를 들어, 도 10b 참조).
단계 S320에서, 컬러 위반의 발생 여부를 판단한다. 여기서, 컬러 위반은 동일 컬러가 할당된 패턴들 사이의 간격이 제1 스페이스 조건을 만족하지 않는 경우를 말하며, 컬러 위반은 컬러 컨플릭트라고 지칭할 수도 있다. 여기서, 제1 스페이스 조건은 동일 컬러가 할당된 패턴들 사이의 최소 간격이고, 제1 스페이스 조건에 따르면 동일 컬러가 할당된 패턴들 사이의 간격은 제1 스페이스 이상이어야 한다.
구체적으로, 제1 셀에서 제1 바운더리에 인접한 패턴과 제2 셀에서 제1 바운더리에 인접한 패턴 사이의 간격이, 동일 컬러로 할당된 패턴들 사이의 최소 간격인 제1 스페이스 이상인지 판단할 수 있다. 이때, 간격이 제1 스페이스 미만인 경우, 즉, 제1 스페이스 조건을 만족하지 못하는 경우, 제1 셀과 제2 셀 사이에서 컬러 위반이 발생한 것으로 판단할 수 있다. 판단 결과, 컬러 위반이 발생한 경우 단계 S330을 수행하고, 컬러 위반이 발생하지 않은 경우 단계 S340을 수행한다.
단계 S330에서, 멀티 하이트 셀 또는 싱글 하이트 셀에 대하여 컬러 리맵핑을 수행한다. 일 실시예에서, 컬러 리맵핑 방향은 멀티 하이트 셀에서 싱글 하이트 셀의 방향일 수 있고, 이때, 싱글 하이트 셀에 대해 컬러 리맵핑을 수행한다. 구체적으로, 싱글 하이트 셀을, 싱글 하이트 셀에 포함된 패턴들에 대해 컬러 리맵핑이 수행된 쉬프트 셀로 대체함으로써 컬러 리맵핑을 수행할 수 있다. 일 실시예에서, 컬러 리맵핑 방향은 싱글 하이트 셀에서 멀티 하이트 셀의 방향일 수 있고, 이때, 멀티 하이트 셀에 대해 컬러 리맵핑을 수행한다. 구체적으로, 멀티 하이트 셀을, 멀티 하이트 셀과 싱글 하이트 셀이 인접한 로우에 대응하는 패턴들에 대해 컬러 리맵핑이 수행된 쉬프트 셀로 대체함으로써 컬러 리맵핑을 수행할 수 있다.
단계 S340에서, 제n+1 로우에 셀들을 배치한다. 단계 S310 내지 단계 330에서 제n 로우에 셀들을 배치하고, 제n 로우에 배치된 셀들에 대한 컬러 리맵핑 동작이 완료되면, 이어서, 제n+1 로우에 셀들을 배치할 수 있고, 제n+1 로우에 배치된 셀들에 대한 컬러 리맵핑 동작을 수행할 수 있다.
도 12는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 12를 참조하면, 본 실시예에 따른 집적 회로의 설계 방법은 표준 셀들의 배치 및 배선 동작으로서, 예를 들어, 도 1의 단계 S120의 일 구현예에 대응할 수 있다. 따라서, 도 1을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 중복된 설명은 생략하기로 한다.
단계 S410에서, 다음 로우를 로딩한다. 구체적으로, 표준 셀 라이브러리에 액세스하여, 해당 로우에 대응하는 복수의 셀들을 배치한다. 단계 S420에서, 다음 셀을 체크한다. 구체적으로, 로딩된 로우에 대응하는 복수의 셀들에 대해 제1 방향에 따라 셀 체크 동작을 수행한다.
단계 S430에서, 컬러 컨플릭트의 발생 여부를 판단한다. 판단 결과, 인접하게 배치된 제1 및 제2 셀들 사이에서 컬러 컨플릭트가 발생한 경우 단계 S440을 수행한다. 한편, 인접하게 배치된 제1 및 제2 셀들 사이에서 컬러 컨플릭트가 발생하지 않은 경우 단계 S450을 수행한다.
단계 S440에서, 컬러 리맵핑을 수행한다. 이때, 단계 S420에서 체크된 셀에 대해 컬러 리맵핑을 수행할 수 있다. 구체적으로, 표준 셀 라이브러리에 저장된 복수의 쉬프트 셀들 중, 컬러 컨플릭트가 발생한 특정 로우에 대응하는 패턴들에 대해 컬러 인버팅이 수행된 쉬프트 셀을 선택하고, 체크된 셀을 쉬프트 셀로 대체함으로써 컬러 리맵핑을 수행할 수 있다.
단계 S450에서, 해당 로우의 종료 여부를 판단한다. 판단 결과, 해당 로우가 종료되어 더 이상이 체크할 셀이 존재하지 않으면 단계 S460을 수행한다. 한편, 해당 로우가 종료되지 않아 체크할 셀이 더 존재하면 단계 S420을 수행한다. 단계 S460에서, 해당 로우가 마지막 로우인지 판단한다. 판단 결과, 해당 로우가 마지막 로우가 아니면 단계 S410을 수행한다. 한편, 해당 로우가 마지막 로우이면 본 방법은 종료된다.
도 13a는 본 개시의 실시예들에 따라 배치된 레이아웃(131)을 나타낸다.
도 13a를 참조하면, 레이아웃(131)은 제1 로우(ROW1) 및 제2 로우(ROW2)에 대한 셀 배치 동작을 수행함으로써 배치된 제1 내지 제6 셀들(A 내지 F)을 포함할 수 있다. 이때, 제1 및 제4 셀들(A, D)은 제1 및 제2 로우들(ROW1, ROW2)에 걸쳐 배치된 멀티 하이트 셀, 더욱 상세하게는, 더블 하이트 셀이다. 또한, 제2 및 제3 셀들(B, C)은 제1 로우(ROW1)에 배치된 싱글 하이트 셀이고, 제5 및 제6 셀들(E, F)은 제2 로우(ROW2)에 배치된 싱글 하이트 셀이다.
제1 로우(ROW1)에서, 제1 셀(A)에 포함된 패턴(1311)과 제2 셀(B)에 포함된 패턴(1312) 사이의 간격이 제1 스페이스 미만일 수 있고, 이에 따라, 제1 셀(A)과 제2 셀(B) 사이에서 컬러 위반이 발생할 수 있다. 또한, 제1 로우(ROW1)에서, 제2 셀(B)에 포함된 패턴(1313)과 제3 셀(C)에 포함된 패턴(1314) 사이의 간격이 제1 스페이스 미만일 수 있고, 이에 따라, 제2 셀(B)과 제3 셀(C) 사이에서 컬러 위반이 발생할 수 있다. 나아가, 제1 로우(ROW1)에서, 제3 셀(C)에 포함된 패턴(1315)과 제4 셀(D)에 포함된 패턴(1316) 사이의 간격이 제1 스페이스 미만일 수 있고, 이에 따라, 제3 셀(C)과 제4 셀(D) 사이에서 컬러 위반이 발생할 수 있다.
제2 로우(ROW2)에서, 제4 셀(D)에 포함된 패턴(1317)과 제5 셀(E)에 포함된 패턴(1318)은 서로 다른 컬러를 가지므로, 제4 셀(D)과 제5 셀(E) 사이에서 컬러 위반이 발생하지 않을 수 있다. 또한, 제5 셀(E)에 포함된 패턴(1319)과 제6 셀(F)에 포함된 패턴(1320)은 서로 다른 컬러를 가지므로, 제5 셀(E)과 제6 셀(F) 사이에서 컬러 위반이 발생하지 않을 수 있다. 나아가, 제6 셀(F)에 포함된 패턴(1321)과 제1 셀(A)에 포함된 패턴(1322)은 서로 다른 컬러를 가지므로, 제6 셀(F)과 제1 셀(A) 사이에서 컬러 위반이 발생하지 않을 수 있다.
도 13b는 본 개시의 실시예들에 대한 비교예에 따라 컬러 리맵핑 동작이 수행된 레이아웃(132)을 나타낸다.
도 13b를 참조하면, 레이아웃(132)은 도 13a에 예시된 레이아웃(131)에 대해 컬러 리맵핑 동작을 수행함으로써 생성될 수 있다. 구체적으로, 레이아웃(131)에 대해 컬러 리맵핑 방향에 따라 셀 체크 동작을 수행하고, 컬러 리맵핑 동작을 수행함으로써 레이아웃(132)을 생성할 수 있다.
먼저, 제2 셀(B)을 제2 인버팅된 셀(B')로 대체할 수 있다. 제2 인버팅된 셀(B')은 제2 셀(B)에 포함된, 제1 로우(ROW1)에 대응하는 패턴들에 대해 컬러 인버팅이 수행된 쉬프트 셀일 수 있다. 이에 따라, 제2 인버팅된 셀(B')과 제3 셀(C) 사이에서 컬리 위반이 발생하지 않을 수 있다. 이어서, 제4 셀(D)을 제4 인버팅된 셀(D')로 대체할 수 있다. 제4 인버팅된 셀(D')은 제4 셀(D)에 포함된, 제1 및 제2 로우들(ROW1, ROW2)에 대응하는 패턴들 모두에 대해 컬러 인버팅이 수행된 쉬프트 셀일 수 있다.
제2 로우(ROW2)에서, 제4 인버팅된 셀(D')에 포함된 패턴(1317')과 제5 셀(E)에 포함된 패턴(1318) 사이의 간격이 제1 스페이스 미만일 수 있고, 이에 따라, 제4 인버팅된 셀(D')과 제5 셀(E) 사이에서 컬러 위반이 발생할 수 있다. 이때, 제5 셀(E)을 제5 인버팅된 셀(E')로 대체할 수 있다. 제5 인버팅된 셀(E')은 제5 셀(E)에 포함된, 제2 로우(ROW2)에 대응하는 패턴들에 대해 컬러 인버팅이 수행된 쉬프트 셀일 수 있다.
제2 로우(ROW2)에서, 제5 인버팅된 셀(E')에 포함된 패턴(1319')과 제6 셀(F)에 포함된 패턴(1320) 사이의 간격이 제1 스페이스 미만일 수 있고, 이에 따라, 제5 인버팅된 셀(E')과 제6 셀(F) 사이에서 컬러 위반이 발생할 수 있다. 이때, 제6 셀(F)을 제6 인버팅된 셀(F')로 대체할 수 있다. 제6 인버팅된 셀(F')은 제6 셀(F)에 포함된, 제2 로우(ROW2)에 대응하는 패턴들에 대해 컬러 인버팅이 수행된 쉬프트 셀일 수 있다.
이에 따라, 제6 인버팅된 셀(F')에 포함된 패턴(1321')과 제1 셀(A)에 포함된 패턴(1322) 사이의 간격이 제1 스페이스 미만일 수 있고, 이에 따라, 제6 인버팅된 셀(F')과 제1 셀(A) 사이에서 컬러 위반이 발생할 수 있다. 이와 같이, 제1 및 제2 로우들(ROW1, ROW2)에 배치된 셀들에 대해, 제1 셀(A)을 시작으로 컬러 리맵핑 동작 수행 결과, 다시 제1 셀(A)에 도달했을 때 컬러 위반이 발생하는 결과가 발생하게 된다.
도 13a에 예시된 레이아웃(131)에서는 제2 로우(ROW2)에 배치된 제4 내지 제6 셀들(D, E, F) 및 제1 셀(A)에 대해서 컬러 위반이 발생하지 않았다. 그러나, 도 13b에서 제4 셀(D)을 제4 인버팅된 셀(D')로 대체함으로써 제2 로우(ROW2)에 배치된 셀들(D', E', F', A)에 대해서 컬러 위반이 발생하게 된다.
제1 로우(ROW1)에서, 멀티 하이트 셀인 제1 셀(A)로부터 컬러 리맵핑 방향에 따라 컬러 리맵핑을 수행하는 경우, 다른 멀티 하이트 셀인 제4 셀(D)을 만나면, 제2 로우(ROW2)에서, 처음 컬러 리맵핑을 시작한 제1 셀(A)의 방향으로 컬러 리맵핑을 수행하게 된다. 이때, 처음 컬러 리맵핑을 시작한 제1 셀(A)에 도달했을 때, 컬러 컨플릭트가 발생할 수 있는데, 이러한 현상을 "오드 사이클(odd cycle)"이라고 지칭할 수 있다.
오드 사이클 문제를 해결하기 위해서는 멀티 하이트 셀들 사이의 셀들 중 일부를 다른 위치로 이동시키는 방법, 또는 멀티 하이트 셀과 인접한 셀 사이에 패딩 스페이스(padding space)를 추가하는 방법을 사용할 수 있다. 그러나, 이때, 셀의 이동에 따른 타이밍 변경과 이로 인한 개발 시간의 증가 등과 같은 문제가 발생할 수 있다.
도 13c는 본 개시의 실시예들에 따라 컬러 리맵핑 동작이 수행된 레이아웃(133)을 나타낸다.
도 13c를 참조하면, 레이아웃(133)은 도 13a에 예시된 레이아웃(131)에 대해 본 개시의 실시예들에 따라 컬러 리맵핑 동작을 수행함으로써 생성될 수 있다. 구체적으로, 레이아웃(131)에 대해 컬러 리맵핑 방향에 따라 셀 체크 동작을 수행하고, 로우 별로 컬러 리맵핑이 수행된 쉬프트 셀을 이용하여 컬러 리맵핑 동작을 수행함으로써 레이아웃(133)을 생성할 수 있다.
먼저, 제2 셀(B)을 제2 인버팅된 셀(B')로 대체할 수 있다. 제2 인버팅된 셀(B')은 제2 셀(B)에 포함된, 제1 로우(ROW1)에 대응하는 패턴들에 대해 컬러 인버팅이 수행된 쉬프트 셀일 수 있다. 이에 따라, 제2 인버팅된 셀(B')과 제3 셀(C) 사이에서 컬리 위반이 발생하지 않을 수 있다. 이어서, 본 실시예에 따르면, 제4 셀(D)을 제4 인버팅된 셀(D")로 대체할 수 있다. 제4 인버팅된 셀(D")은 제4 셀(D)에 포함된, 제1 로우(ROW1)에 대응하는 패턴들에 대해 컬러 인버팅이 수행되고, 제2 로우(ROW2)에 대응하는 패턴들에 대해서는 컬러 인버팅이 수행되지 않은 쉬프트 셀일 수 있다.
이에 따라, 제2 로우(ROW2)에서, 제4 인버팅된 셀(D")에 포함된 패턴(1317)과 제5 셀(E)에 포함된 패턴(1318)은 서로 다른 컬러를 가지므로, 제4 인버팅된 셀(D")과 제5 셀(E) 사이에서 컬러 위반이 발생하지 않을 수 있다. 또한, 제5 셀(E)에 포함된 패턴(1319)과 제6 셀(F)에 포함된 패턴(1320)은 서로 다른 컬러를 가지므로, 제5 셀(E)과 제6 셀(F) 사이에서 컬러 위반이 발생하지 않을 수 있다. 나아가, 제6 셀(F)에 포함된 패턴(1321)과 제1 셀(A)에 포함된 패턴(1322)은 서로 다른 컬러를 가지므로, 제6 셀(F)과 제1 셀(A) 사이에서 컬러 위반이 발생하지 않을 수 있다.
도 14는 본 개시의 일 실시예에 따른 멀티 하이트 셀(MHC)에 대한 컬러 리맵핑 동작의 예들을 나타낸다.
도 14를 참조하면, 일 실시예에서, 멀티 하이트 셀(MHC)에 대한 셀 체크 동작의 결과, 제1 로우(ROW1)에 대해 컬러 위반이 발생하면 멀티 하이트 셀(MHC)을 제1 쉬프트 셀(MHCa)로 대체할 수 있다. 이때, 제1 쉬프트 셀(MHCa)은 제1 로우(ROW1)에 포함된 패턴들에 대해서만 컬러 인버팅이 수행된 셀로서, 표준 셀 라이브러리로부터 획득할 수 있다. 일 실시예에서, 멀티 하이트 셀(MHC)에 대한 셀 체크 동작의 결과, 제2 로우(ROW2)에 대해 컬러 위반이 발생하면 멀티 하이트 셀(MHC)을 제2 쉬프트 셀(MHCb)로 대체할 수 있다. 이때, 제2 쉬프트 셀(MHCb)은 제2 로우(ROW2)에 포함된 패턴들에 대해서만 컬러 인버팅이 수행된 셀로서, 표준 셀 라이브러리로부터 획득할 수 있다. 일 실시예에서, 멀티 하이트 셀(MHC)에 대한 셀 체크 동작의 결과, 제1 및 제2 로우들(ROW1, ROW2)에 대해 컬러 위반이 발생하면 멀티 하이트 셀(MHC)을 제3 쉬프트 셀(MHCc)로 대체할 수 있다. 이때, 제3 쉬프트 셀(MHCc)은 제1 및 제2 로우들(ROW1, ROW2)에 포함된 패턴들 모두에 대해 컬러 인버팅이 수행된 셀로서, 표준 셀 라이브러리로부터 획득할 수 있다.
도 15는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 15를 참조하면, 본 실시예에 따른 집적 회로의 설계 방법은 예를 들어, 도 1의 단계 S120의 일 구현예에 대응할 수 있다. 따라서, 도 1을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 중복된 설명은 생략하기로 한다.
단계 S510에서, 표준 셀들로서 집적 회로를 정의하는 입력 데이터를 수신한다. 단계 S520에서, 표준 셀 라이브러리를 저장하는 저장 매체를 액세스한다. 단계 S530에서, 표준 셀들을 배치 및 배선한다. 일 실시예에서, 단계 S530은 단계 S531 내지 S535를 포함할 수 있다. 단계 S531에서, 표준 셀들을 배치하고, 컬러 위반 발생 여부를 판단한다. 단계 S533에서, 컬러 위반 셀에 대하여, 로우 별로 컬러 리맵핑이 수행된 쉬프트 셀들을 기초로 컬러 리맵핑을 수행한다. 단계 S535에서, 표준 셀들에 대한 배선을 수행한다.
단계 S540에서, 집적 회로를 정의하는 출력 데이터를 생성한다. 구체적으로, 표준 셀 라이브러리에 저장된 쉬프트 셀들에 기초하여 집적 회로에 포함된 표준 셀들을 배치 및 배선하는 단계(S530)에 따라 배치 및 배선된 표준 셀들을 포함하는 집적 회로를 정의하는 출력 데이터가 생성될 수 있다. 본 발명의 예시적 실시예에 따라, 출력 데이터는 표준 셀들의 모든 레이아웃 정보, 즉 모든 레이어들에서 패턴 정보를 포함하는 형식, 예컨대 GDS 형식을 가질 수도 있고, 또는 표준 셀의 핀과 같이 표준 셀의 외부 정보를 포함하는 형식, 예컨대 LEF 형식 또는 Milkyway 형식을 가질 수도 있다.
도 16은 본 개시의 일 실시예에 따른 저장 매체(1000)를 나타내는 블록도이다.
도 16을 참조하면, 저장 매체(1000)는 컴퓨터로 읽을 수 있는 저장 매체로서, 컴퓨터에 명령어들 및/또는 데이터를 제공하는데 사용되는 동안 컴퓨터에 의해 읽혀질 수 있는 임의의 저장 매체를 포함할 수 있다. 예를 들면, 컴퓨터로 읽을 수 있는 저장 매체(1000)는 디스크, 테이프, CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW 등과 같은 자기 또는 광학 매체, RAM, ROM, 플래시 메모리 등과 같은 휘발성 또는 비휘발성 메모리, USB 인터페이스를 통해서 엑세스 가능한 비휘발성 메모리, 그리고 MEMS(microelectromechanical systems) 등을 포함할 수 있다. 컴퓨터로 읽을 수 있는 저장 매체는 컴퓨터에 삽입 가능하거나, 컴퓨터 내에 집적되거나, 네트워크 및/또는 무선 링크와 같은 통신 매개체를 통해서 컴퓨터와 결합될 수 있다.
도 16에 도시된 바와 같이, 컴퓨터로 읽을 수 있는 저장 매체(1000)는 배치 및 배선 프로그램(1100), 라이브러리(1200), 분석 프로그램(1300), 데이터 구조(1400)를 포함할 수 있다.
배치 및 배선 프로그램(1100)은 본 발명의 예시적 실시예에 따른 표준 셀 라이브러리를 사용하여 집적 회로를 설계하는 방법을 수행하기 위하여 복수개의 명령어들을 포함할 수 있다. 예를 들면, 컴퓨터로 읽을 수 있는 저장 매체(1000)는 선행하는 도면들 중 하나 이상에서 도시된 표준 셀을 포함하는 표준 셀 라이브러리를 이용하여 집적 회로를 설계하기 위한 임의의 명령들을 포함하는 배치 및 배선 프로그램(1100)을 저장할 수 있다.
일 실시예에서, 배치 및 배선 프로그램(1100)은 배치 단계에서 컬러 위반의 발생 여부, 즉, 컬러 컨플릭트의 발생 여부를 판단하기 위한 명령어들을 포함할 수 있다. 또한, 일 실시예에서, 배치 및 배선 프로그램(1100)은 배치 단계에서 컬러 리맵핑 동작을 수행하기 위한 명령어들을 포함할 수 있다. 또한, 일 실시예에서, 배치 및 배선 프로그램(110)은 컬러 컨플릭트가 발생한 해당 로우에 대응하는 패턴들에 대해서만 컬러 리맵핑 동작이 수행된 쉬프트 셀을 선택하기 위한 인스턴스를 생성하기 위한 명령어들을 포함할 수 있다.
라이브러리(1200)는 집적 회로를 구성하는 단위인 표준 셀에 대한 정보를 포함할 수 있다. 본 실시예에서, 라이브러리(1200)는 표준 셀 라이브러리라고 지칭할 수 있고, 표준 셀 및 상기 표준 셀에 대응하는 적어도 하나의 쉬프트 셀을 포함할 수 있다. 여기서, 쉬프트 셀은 표준 셀의 일 레이어에 해당하는 패턴들에 대해 각 로우 별로 컬러 리맵핑이 수행된 셀이다. 표준 셀이 N개의 로우에 대응하는 경우, 쉬프트 셀의 개수는 2N-1개이며, 이때, N은 1 이상의 정수이다.
일 실시예에서, 라이브러리(1200)는 본 개시의 실시예들에 따른 다양한 네이밍 규칙에 따라 표준 셀 및 상기 표준 셀에 대응하는 적어도 하나의 쉬프트 셀의 이름들을 저장할 수 있다. 일 실시예에서, 라이브러리(1200)는 배치 및 배선 툴에서 수신된 인스턴스에 응답하여, 복수의 쉬프트 셀들 중 하나를 선택하고, 선택된 쉬프트 셀을 배치 및 배선 툴에 제공할 수 있다.
분석 프로그램(1300)은 집적 회로를 정의하는 데이터에 기초하여 집적 회로를 분석하는 방법을 수행하는 복수개의 명령어들을 포함할 수 있다. 데이터 구조(1400)는 라이브러리(1200)에 포함된 표준 셀 라이브러리를 사용하거나, 라이브러리(1200)에 포함된 표준 셀 라이브러리로부터 특정 정보를 추출하거나, 또는 분석 프로그램(1300)에 의해서 집적 회로의 특성을 분석하는 과정에서 생성된 데이터를 관리하기 위한 저장 공간 등을 포함할 수 있다.
도 17은 본 개시의 일 실시예에 따른 컴퓨팅 시스템(2000)을 나타내는 블록도이다.
도 17을 참조하면, 컴퓨팅 시스템(2000)은 프로세서(2100), 메모리 장치(2200), 스토리지 장치(2300), 파워 서플라이(2400) 및 입출력 장치(2500)를 포함할 수 있다. 한편, 도 17에는 도시되지 않았지만, 컴퓨팅 시스템(2000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다.
이와 같이, 컴퓨팅 시스템(2000)에 포함된 프로세서(2100), 메모리 장치(2200), 스토리지 장치(2300), 파워 서플라이(2400) 및 입출력 장치(2500)는, 본 개시의 기술적 사상에 의한 실시예들에 따른 표준 셀 및 표준 셀을 포함하는 집적 회로를 포함할 수 있다. 일 실시예에서, 프로세서(2100), 메모리 장치(2200), 스토리지 장치(2300), 파워 서플라이(2400) 및 입출력 장치(2500)에 포함된 복수의 반도체 소자들 중 적어도 하나의 반도체 소자는, 표준 셀의 로우 별로 컬러 리맵핑이 수행된 쉬프트 셀을 이용하여 컬러 리맵핑을 수행함으로써 생성된 레이아웃에 따라 형성될 수 있다.
프로세서(2100)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 구체적으로, 프로세서(2100)는 본 개시의 예시적인 실시예들에 따른 방법들 중 적어도 하나를 수행하는 명령어들을 실행하도록 구성될 수 있다. 일 실시예에서, 프로세서(2100)은 집적 회로의 레이아웃에 포함된 하나의 레이어에 형성되는 복수의 패턴들을 복수의 마스크들에 각각 대응시키는 동작, 즉, 컬러 디컴포지션 동작 또는 컬러링 동작을 수행하는 복수의 명령어들을 수행할 수 있다. 일 실시예에서, 프로세서(2100)는 각 로우 별로 셀들을 배치하는 배치 동작을 수행하는 복수의 명령어들을 수행할 수 있다. 일 실시예에서, 프로세서(2100)는 배치된 셀들에 대해 컬러 위반 여부를 판단하는 복수의 명령어들을 수행할 수 있다. 일 실시예에서, 프로세서(2100)는 컬러 위반된 셀에 대해 컬러 리맵핑 동작을 수행하는 복수의 명령어들을 수행할 수 있다.
예를 들어, 프로세서(2100)는 도 1의 단계들(S110, S120), 도 3의 단계들(S210, S220, S230), 도 9의 단계들(S420, S250, S260), 도 11의 단계들(S310, S320, S330, S340), 도 12의 단계들(S410, S420, S430, S440, S450, S460) 및 도 14의 단계들(S510, S520, S530, S540)은 프로세서(2100)에 의하여 수행될 수 있다.
실시예에 따라, 프로세서(2100)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 프로세서(2100)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(2600)를 통하여 메모리 장치(2200), 스토리지 장치(2300) 및 입출력 장치(2500)와 통신을 수행할 수 있다. 실시예에 따라, 프로세서(2100)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
메모리 장치(2200)는 컴퓨팅 시스템(2000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(2200)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다. 스토리지 장치(2300)는 솔리드 스테이트 드라이브(solid state drive), 하드 디스크 드라이브(hard disk drive), 씨디롬(CD-ROM) 등을 포함할 수 있다.
본 실시예에서, 메모리 장치(2200)는 집적 회로의 레이아웃을 저장할 수 있으며, 배치 및 배선 프로그램(예를 들어, 도 16의 1100), 라이브러리(예를 들어, 도 16의 1200), 분석 프로그램(예를 들어, 도 16의 1300), 데이터 구조(예를 들어, 도 16의 1400), 컬러 디컴포지션 프로그램 또는 설계 규칙 등을 저장할 수 있다. 프로세서(2100)는 메모리 장치(2200)에 저장된 배치 및 배선 프로그램, 라이브러리, 분석 프로그램, 데이터 구조, 컬러 디컴포지션 프로그램 또는 설계 규칙 등을 이용하여, 본 실시예에 따른 집적 회로의 설계 방법을 수행하기 위한 명령어들을 실행할 수 있다. 따라서, 컴퓨터 시스템(2000)은 프로세서(2100)에 의해 자동으로 집적 회로를 설계, 즉, 집적 회로의 레이아웃을 설계할 수 있다.
입출력 장치(2500)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(2400)는 컴퓨팅 시스템(2000)의 동작에 필요한 동작 전압을 공급할 수 있다.
상술한 본 발명의 실시예들에 따른 집적 회로 및 집적 회로에 따른 반도체 장치는 다양한 형태들의 패키지로 구현될 수 있다. 예를 들어, 집적 회로의 적어도 일부의 구성들은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
MHC: 멀티 하이트 셀, MHCa, MHCb, MHCc: 쉬프트 셀들
SHC: 싱글 하이트 셀, SHCa: 쉬프트 셀
SHC: 싱글 하이트 셀, SHCa: 쉬프트 셀
Claims (10)
- 집적 회로를 설계하기 위한 컴퓨터 구현 방법으로서,
복수의 로우들(rows)에 대응하는 멀티 하이트 셀(multi height cell)인 제1 셀의 일 레이어에 해당하는 패턴들에 MPT(Multi Patterning Technology)를 적용하도록, 상기 패턴들에 대해 복수의 컬러들을 할당하는 단계;
상기 제1 셀에 대하여, 로우 별로 상기 패턴들에 대한 컬러 리맵핑(color remapping)이 수행된 복수의 쉬프트 셀들을 생성하는 단계; 및
상기 제1 셀 및 상기 복수의 쉬프트 셀들을 포함하는 셀 세트를 표준 셀 라이브러리에 저장하는 단계를 포함하는 방법. - 제1항에 있어서,
상기 제1 셀 및 제2 셀이 제1 방향으로 서로 인접하도록 상기 제1 및 제2 셀들을 배치하는 단계;
상기 제1 및 제2 셀들 사이에서 컬러 위반의 발생 여부를 판단하는 단계; 및
컬러 위반이 발생한 경우, 컬러 리맵핑을 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 제2항에 있어서,
상기 제2 셀은, 제1 로우에 대응하는 싱글 하이트 셀이고,
상기 컬러 리맵핑은 상기 제1 셀에서 상기 제2 셀의 방향으로 수행되며,
상기 컬러 리맵핑을 수행하는 단계는, 상기 제2 셀을, 상기 제2 셀에 포함된 패턴들에 대해 컬러 리맵핑이 수행된 쉬프트 셀로 대체하는 것을 특징으로 하는 방법. - 제2항에 있어서,
상기 제2 셀은, 제1 로우에 대응하는 싱글 하이트 셀이고,
상기 컬러 리맵핑은 상기 제2 셀에서 상기 제1 셀의 방향으로 수행되며,
상기 컬러 리맵핑을 수행하는 단계는, 상기 제1 셀을, 상기 제1 셀에 포함된 패턴들 중 상기 제1 로우에 대응하는 패턴들에 대한 컬러 리맵핑이 수행된 쉬프트 셀로 대체하는 것을 특징으로 하는 방법. - 제2항에 있어서,
상기 표준 셀 라이브러리에 저장하는 단계는, 상기 제1 셀 및 상기 복수의 쉬프트 셀들을, 로우 별로 컬러 리맵핑 정보를 나타내는 플래그를 포함하도록 네이밍하는 단계를 포함하는 것을 특징으로 하는 방법. - 제5항에 있어서,
상기 네이밍하는 단계는, 상기 제1 셀이 N개의 로우들에 대응하는 경우, 상기 플래그가 N개의 비트를 포함하도록 상기 제1 셀 및 상기 복수의 쉬프트 셀들을 네이밍하고, N은 2 이상의 정수인 것을 특징으로 하는 방법. - 제2항에 있어서,
상기 컬러 위반의 발생 여부를 판단하는 단계는,
상기 제1 셀에 포함된 패턴과 상기 제2 셀에 포함된 패턴 사이의 간격이, 동일 컬러로 할당된 패턴들 사이의 최소 간격인 제1 스페이스 이상인지 판단하는 단계; 및
상기 간격이 상기 제1 스페이스 미만인 경우 컬러 위반이 발생한 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 제1 셀이 N개의 로우들에 대응하는 경우, 상기 셀 세트는 상기 제1 셀 및 2N-1개의 상기 쉬프트 셀들을 포함하고, N은 2 이상의 정수인 것을 특징으로 하는 방법. - 집적 회로를 설계하기 위한 컴퓨터 구현 방법으로서,
제1 및 제2 로우들을 포함하는 다수의 로우들에 대응하는 멀티 하이트 셀 및 상기 제1 로우에 대응하는 싱글 하이트 셀을 상기 제1 로우에 배치하는 단계;
상기 멀티 하이트 셀과 상기 싱글 하이트 셀 사이에서 컬러 위반의 발생 여부를 판단하는 단계; 및
컬러 위반이 발생한 경우, 각 셀의 동일 레이어에 해당하고 서로 다른 컬러들이 할당된 패턴들에 대해 로우 별로 컬러 리맵핑이 수행된 적어도 하나의 쉬프트 셀을 저장하는 표준 셀 라이브러리를 이용하여, 상기 멀티 하이트 셀 또는 상기 싱글 하이트 셀에 대하여 컬러 리맵핑을 수행하는 단계를 포함하는 방법. - 제9항에 있어서,
상기 컬러 리맵핑이 상기 싱글 하이트 셀에서 상기 멀티 하이트 셀의 방향으로 수행되는 경우, 상기 컬러 리맵핑을 수행하는 단계는, 상기 멀티 하이트 셀을, 상기 멀티 하이트 셀의 동일 레이어에 해당하는 패턴들에 대하여, 로우 별로 컬러 리맵핑이 수행된 복수의 쉬프트 셀들 중 하나로 대체하고,
상기 컬러 리맵핑이 상기 멀티 하이트 셀에서 상기 싱글 하이트 셀의 방향으로 수행되는 경우, 상기 컬러 리맵핑을 수행하는 단계는, 상기 싱글 하이트 셀을, 상기 싱글 하이트 셀의 동일 레이어에 해당하는 패턴들에 대해 컬러 리맵핑이 수행된 쉬프트 셀로 대체하는 것을 특징으로 하는 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160033995A KR102514044B1 (ko) | 2016-03-22 | 2016-03-22 | 집적 회로 및 집적 회로의 설계 방법 |
US15/351,545 US10216883B2 (en) | 2016-03-22 | 2016-11-15 | Integrated circuit and method of designing integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160033995A KR102514044B1 (ko) | 2016-03-22 | 2016-03-22 | 집적 회로 및 집적 회로의 설계 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170109863A true KR20170109863A (ko) | 2017-10-10 |
KR102514044B1 KR102514044B1 (ko) | 2023-03-24 |
Family
ID=59897076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160033995A KR102514044B1 (ko) | 2016-03-22 | 2016-03-22 | 집적 회로 및 집적 회로의 설계 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10216883B2 (ko) |
KR (1) | KR102514044B1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9934347B2 (en) * | 2014-10-01 | 2018-04-03 | Samsung Electronics Co., Ltd. | Integrated circuit and method of designing layout of integrated circuit |
US9641161B1 (en) | 2016-05-02 | 2017-05-02 | Taiwan Semiconductor Manufacturing Co., Ltd. | Flip-flop with delineated layout for reduced footprint |
KR102636095B1 (ko) * | 2016-12-16 | 2024-02-13 | 삼성전자주식회사 | 쿼드러플 패터닝 리소그래피를 위한 집적 회로, 상기 집적 회로의 설계를 위한 컴퓨팅 시스템 및 컴퓨터 구현 방법 |
DE102017127276A1 (de) * | 2017-08-30 | 2019-02-28 | Taiwan Semiconductor Manufacturing Co., Ltd. | Standardzellen und abwandlungen davon innerhalb einer standardzellenbibliothek |
DE102018108836B4 (de) | 2017-11-14 | 2023-10-05 | Taiwan Semiconductor Manufacturing Co. Ltd. | Halbleitervorrichtungen mit standardzellen |
US11011545B2 (en) * | 2017-11-14 | 2021-05-18 | Taiwan Semiconductor Manufacturing Co., Ltd. | Semiconductor device including standard cells |
KR102373540B1 (ko) * | 2018-04-19 | 2022-03-11 | 삼성전자주식회사 | 표준 셀들을 포함하는 집적 회로, 이를 제조하기 위한 방법 및 컴퓨팅 시스템 |
US10796064B2 (en) * | 2018-08-14 | 2020-10-06 | International Business Machines Corporation | Autonomous placement to satisfy self-aligned double patterning constraints |
US10930675B2 (en) | 2018-11-20 | 2021-02-23 | Samsung Electronics Co., Ltd. | Semiconductor device |
US11010529B2 (en) * | 2019-09-16 | 2021-05-18 | Taiwan Semiconductor Manufacturing Company Limited | Integrated circuit layout validation using machine learning |
KR20220003360A (ko) * | 2020-07-01 | 2022-01-10 | 삼성전자주식회사 | 상이한 높이들의 셀들을 포함하는 집적 회로 및 이를 설계하는 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327301B2 (en) * | 2009-02-03 | 2012-12-04 | Taiwan Semiconductor Manufacturing Company, Ltd. | Routing method for double patterning design |
US20130086536A1 (en) * | 2011-09-30 | 2013-04-04 | Samsung Electronics Co., Ltd. | Method of generating standard cell library for dpl process and methods of producing a dpl mask and circuit pattern using the same |
US20140040847A1 (en) * | 2012-08-01 | 2014-02-06 | Lsi Corporation | System and method for generating physical deterministic boundary interconnect features for dual patterning technologies |
US9934347B2 (en) * | 2014-10-01 | 2018-04-03 | Samsung Electronics Co., Ltd. | Integrated circuit and method of designing layout of integrated circuit |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255837B2 (en) | 2009-02-03 | 2012-08-28 | Taiwan Semiconductor Manufacturing Company, Ltd. | Methods for cell boundary isolation in double patterning design |
JP5311407B2 (ja) | 2009-09-17 | 2013-10-09 | 株式会社フジシール | 積層ラベル |
US8584052B2 (en) | 2010-12-22 | 2013-11-12 | Taiwan Semiconductor Manufacturing Company, Ltd. | Cell layout for multiple patterning technology |
US8726215B2 (en) | 2011-08-02 | 2014-05-13 | Synopsys, Inc. | Standard cell placement technique for double patterning technology |
US8745556B2 (en) | 2012-06-28 | 2014-06-03 | Taiwan Semiconductor Manufacturing Co., Ltd. | Layout method and system for multi-patterning integrated circuits |
US8850378B2 (en) | 2012-10-31 | 2014-09-30 | International Business Machines Corporation | Hierarchical design of integrated circuits with multi-patterning requirements |
US9026958B1 (en) | 2013-03-11 | 2015-05-05 | Cadence Design Systems, Inc. | Method and system for double patterning technology (DPT) odd loop visualization for an integrated circuit layout |
US9141752B2 (en) | 2013-03-14 | 2015-09-22 | Taiwan Semiconductor Manufacturing Co., Ltd. | EDA tool and method for conflict detection during multi-patterning lithography |
US20150302129A1 (en) | 2014-04-17 | 2015-10-22 | Qualcomm Incorporated | Mask assignment technique for m1 metal layer in triple-patterning lithography |
US10311194B2 (en) * | 2014-11-20 | 2019-06-04 | Samsung Electronics Co., Ltd. | Method of resolving multi-patterned color conflicts for multi-row logic cells |
-
2016
- 2016-03-22 KR KR1020160033995A patent/KR102514044B1/ko active IP Right Grant
- 2016-11-15 US US15/351,545 patent/US10216883B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327301B2 (en) * | 2009-02-03 | 2012-12-04 | Taiwan Semiconductor Manufacturing Company, Ltd. | Routing method for double patterning design |
US20130086536A1 (en) * | 2011-09-30 | 2013-04-04 | Samsung Electronics Co., Ltd. | Method of generating standard cell library for dpl process and methods of producing a dpl mask and circuit pattern using the same |
US20140040847A1 (en) * | 2012-08-01 | 2014-02-06 | Lsi Corporation | System and method for generating physical deterministic boundary interconnect features for dual patterning technologies |
US9934347B2 (en) * | 2014-10-01 | 2018-04-03 | Samsung Electronics Co., Ltd. | Integrated circuit and method of designing layout of integrated circuit |
Also Published As
Publication number | Publication date |
---|---|
US10216883B2 (en) | 2019-02-26 |
KR102514044B1 (ko) | 2023-03-24 |
US20170277819A1 (en) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102514044B1 (ko) | 집적 회로 및 집적 회로의 설계 방법 | |
KR102434991B1 (ko) | 집적 회로 및 집적 회로의 설계 방법 | |
US8881083B1 (en) | Methods for improving double patterning route efficiency | |
JP4761859B2 (ja) | 半導体集積回路のレイアウト設計方法 | |
KR102257031B1 (ko) | 반도체 집적 회로 설계 방법 | |
CN105488244B (zh) | 用于设计半导体装置的方法和系统 | |
US12086523B2 (en) | Adaptive row patterns for custom-tiled placement fabrics for mixed height cell libraries | |
US10831973B2 (en) | Semiconductor process modeling to enable skip via in place and route flow | |
KR20170133750A (ko) | 집적 회로의 설계를 위한 컴퓨터 구현 방법 | |
KR20180028252A (ko) | 집적 회로 설계 시스템 및 집적 회로의 제조 방법 | |
US20220085018A1 (en) | Mixed diffusion break for cell design | |
KR101697343B1 (ko) | 집적 회로의 레이아웃 설계 방법 및 상기 집적 회로의 제조 방법 | |
KR102636094B1 (ko) | 트리플 패터닝 리소그래피를 위한 집적 회로, 상기 집적 회로의 설계를 위한 컴퓨팅 시스템 및 컴퓨터 구현 방법 | |
US20220171912A1 (en) | Poly-bit cells | |
US20230267261A1 (en) | Design system, design method and method of manufacture of semiconductor device | |
US11387144B2 (en) | Semiconductor device and method of manufacturing the same | |
CN220984174U (zh) | 半导体装置及集成电路 | |
US11836000B1 (en) | Automatic global clock tree synthesis | |
KR102718979B1 (ko) | Beol을 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템 | |
KR102717096B1 (ko) | 집적 회로 및 상기 집적 회로의 제조를 위한 컴퓨터 구현 방법 | |
KR102434992B1 (ko) | 로컬 레이아웃 효과를 고려하여 집적 회로를 제조하는 방법 및 시스템 | |
WO2024118404A1 (en) | Modeling mandrel tolerance in a design of a semiconductor device | |
KR20230173904A (ko) | 반도체 집적 회로 설계 방법 및 장치 | |
KR20170094744A (ko) | 집적 회로 및 상기 집적 회로의 제조를 위한 컴퓨터 구현 방법 |
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 |