KR20220140578A - 리소그래피 마스크들의 개발을 위한 레이아웃들의 골격 표현 - Google Patents

리소그래피 마스크들의 개발을 위한 레이아웃들의 골격 표현 Download PDF

Info

Publication number
KR20220140578A
KR20220140578A KR1020227031168A KR20227031168A KR20220140578A KR 20220140578 A KR20220140578 A KR 20220140578A KR 1020227031168 A KR1020227031168 A KR 1020227031168A KR 20227031168 A KR20227031168 A KR 20227031168A KR 20220140578 A KR20220140578 A KR 20220140578A
Authority
KR
South Korea
Prior art keywords
mask
development process
layout
skeletal
representations
Prior art date
Application number
KR1020227031168A
Other languages
English (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 claimed from PCT/US2021/018034 external-priority patent/WO2021163623A1/en
Publication of KR20220140578A publication Critical patent/KR20220140578A/ko

Links

Images

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F1/00Originals 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/36Masks having proximity correction features; Preparation thereof, e.g. optical proximity correction [OPC] design processes
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F1/00Originals 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/68Preparation processes not covered by groups G03F1/20 - G03F1/50
    • G03F1/70Adapting basic layout or design of masks to lithographic process requirements, e.g., second iteration correction of mask patterns for imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30172Centreline of tubular or elongated structure

Abstract

방법은 다음의 단계들을 포함한다: 리소그래피 마스크 개발 프로세스에서 사용되는 레이아웃이 액세스되고, 예컨대, 레이아웃은 마스크 자체의 레이아웃일 수 있거나 또는 웨이퍼 상의 결과적인 인쇄된 패턴의 레이아웃일 수 있고; 레이아웃은 다수의 분리된 형상들을 포함하고; 레이아웃 내의 분리된 형상들 중 적어도 일부에 대한 골격 표현들이 결정되고; 개별 형상의 골격 표현은 에지들에 의해 연결된 2개 이상의 노드의 요소들을 갖고; 개별 형상의 골격 표현은 또한, 요소들 중 적어도 일부에 대한 크기 파라미터들을 포함하고; 형상들의 골격 표현들은 마스크 개발 프로세스에서 사용된다. 시스템은 방법을 실행하기 위한 프로세서를 포함한다. 비일시적 컴퓨터 판독가능 매체는 방법을 실행하기 위한 저장된 명령어를 포함한다.

Description

리소그래피 마스크들의 개발을 위한 레이아웃들의 골격 표현
관련 출원
본 출원은 2020년 2월 14일자로 출원된 "Skeleton Mask Representation"이라는 미국 가출원 제62/977,020호의 우선권을 주장하고, 이 미국 가출원은 그 전체가 참조로 포함된다.
기술 분야
본 개시내용은, 예컨대, 집적 회로들의 제작에서 사용되는 바와 같은 리소그래피 마스크들의 개발에 관한 것이다.
집적 회로들에 대한 설계들이 더 커지고, 더 조밀해지고, 더 복잡해지고 있음에 따라, 제작에서 사용되는 마스크들을 개발하기 위한 계산 리소그래피 솔루션들에 대한 요구들이 증가되고 있다. 마스크들 상의 피처들은 더 작아지고 덜 직선적이게 되고 있다. 예컨대, 고급 마스크 기입 툴들은 곡선 형상들을 생성할 수 있다. 이는 그들의 시뮬레이션을 더 어렵고 더 계산 집약적이게 만든다. 추가하여, 마스크 상의 피처의 수가 증가되고 있고, 그에 따라, 컴퓨팅 요건들을 더 증가시키고 있다. 리소그래피 프로세스 자체가 또한 더 복잡해지고 있다. 예컨대, 조명 소스들이 더 복잡화되고 있다. 이는 결국 더 정교한 분석을 요구한다. 따라서, 광학 근접 보정(OPC), 인버스 리소그래피 기술(ILT), 및 리소그래피 검증과 같은 마스크 관련 애플리케이션들에 의해 마스크 레이아웃을 프로세싱할 때, 프로세싱 요구들을 감소시키기 위한 단계들을 취하는 것이 바람직하다.
특정 실시예들에서, 방법은 다음의 단계들을 포함한다. 리소그래피 마스크 개발 프로세스에서 사용되는 레이아웃이 액세스된다. 예컨대, 레이아웃은 마스크 자체의 레이아웃일 수 있거나 또는 웨이퍼 상의 결과적인 인쇄된 패턴의 레이아웃일 수 있다. 레이아웃은 다수의 분리된 형상들을 포함한다. 레이아웃 내의 분리된 형상들 중 적어도 일부에 대한 골격 표현들이 결정된다. 개별 형상의 골격 표현은 에지들에 의해 연결된 2개 이상의 노드의 요소들을 갖는다. 이는 또한, 요소들 중 적어도 일부에 대한 크기 파라미터들을 포함한다. 형상들의 골격 표현들은 마스크 개발 프로세스에서 사용된다.
다른 양태들은 구성요소들, 디바이스들, 시스템들, 개선들, 방법들, 프로세스들, 애플리케이션들, 컴퓨터 판독가능 매체들, 및 상기된 것들 중 임의의 것과 관련된 다른 기술들을 포함한다.
본 개시내용은 아래에서 주어지는 상세한 설명 및 본 개시내용의 실시예들의 첨부 도면들로부터 더 완전히 이해될 것이다. 도면들은 본 개시내용의 실시예들의 지식 및 이해를 제공하기 위해 사용되고, 본 개시내용의 범위를 이러한 특정 실시예들로 제한하지 않는다. 게다가, 도면들은 반드시 실척대로 도시된 것은 아니다.
도 1은 본 개시내용의 일부 실시예들에 따른 마스크 개발 프로세스에 대한 흐름도를 도시한다.
도 2a 내지 도 2c는 레이아웃 내의 개별 형상들의 다각형 표현들 및 대응하는 골격 표현들의 예들을 도시한다.
도 3a 및 도 3b는 다각형 표현을 골격 표현으로 변환하는 것을 도시한다.
도 3c 및 도 3d는 골격 표현을 다각형 표현으로 변환하는 것을 도시한다.
도 4a는 형상의 팁의 교란(perturbation)을 도시한다.
도 4b는 형상의 교란의 다른 예를 도시한다.
도 5 및 도 6은 마스크 규칙 체킹(mask rule checking)을 위한 골격 표현들의 사용을 도시한다.
도 7은 본 개시내용의 일부 실시예들에 따른, 집적 회로의 설계 및 제조 동안 사용되는 다양한 프로세스들의 흐름도를 도시한다.
도 8은 본 개시내용의 실시예들이 동작할 수 있는 예시적인 컴퓨터 시스템의 추상도를 도시한다.
본 개시내용의 양태들은 리소그래피 마스크들의 개발을 위한 레이아웃들의 골격 표현들에 관한 것이다. 전통적으로, 마스크 레이아웃들은 다각형들, 더 구체적으로는, 직선 다각형들에 의해 표현된다. 그러나, 리소그래피가 더 복잡해지고 도전적이게 됨에 따라, 마스크 레이아웃들이 또한 더 복잡해지고 있다. 하위 해상도 보조 피처(sub-resolution assist feature)들 및 비직사각형 및 심지어 곡선 형상들의 사용은 직선 다각형들에 기초하는 전통적인 표현을 이상적이지 않게 만든다. 직선 다각형들에 의해 곡선 형상을 표현하는 것은 다수의 다각형들을 요구하고, 여전히, 계단 근사화에 의해 곡선 에지를 표현한다. 비직선 다각형들이 허용되는 경우에도, 곡선 에지는 곡선을 근사화하기 위해 다수의 변들을 갖는 다각형을 여전히 요구할 것이다.
광학 근접 보정(OPC), 인버스 리소그래피 기술(ILT), 및 리소그래피 검증과 같은 마스크들의 개발에서 사용되는 다수의 프로세스들은 이러한 표현들의 분석 또는 조작을 요구한다. 예컨대, 이러한 마스크 개발 프로세스들은 변경들이 유익할 수 있는지 여부를 결정하기 위해 레이아웃들에 약간의 변경들을 도입할 수 있다.
아래에서 설명되는 접근법에서, 레이아웃들은 다각형들이 아니라 골격 표현에 의해 표현된다. 레이아웃들은 마스크 자체의 레이아웃, 웨이퍼 상의 결과적인 인쇄된 패턴의 레이아웃, 마스크에 의해 생성되는 에어리얼 이미지의 2차원 표현, 또는 마스크 개발을 위해 사용되는 다른 타입들의 2차원 이미지들일 수 있다. 레이아웃은 다수의 형상들을 포함하고, 그들은 전통적으로 직선 다각형들에 의해 표현될 수 있다. 여기서, 형상들 중 적어도 일부는 다른 타입들의 표현들 대신에 또는 그들에 추가하여 골격 표현에 의해 표현된다. 개별 형상의 골격 표현은 형상의 축 또는 중심선에 대응하는 "골격"을 포함한다. 골격의 요소들은 에지들에 의해 연결된 2개 이상의 노드를 포함한다. 노드들은 골격의 "관절들"이고, 에지들은 골격의 "뼈들"이다. 골격 표현은 또한, 이러한 요소들 중 적어도 일부에 대한 크기 파라미터들을 포함한다. 이러한 크기 파라미터들은 골격을 따르는 상이한 위치들에서의 형상의 크기에 관한 정보를 제공한다. 예컨대, 골격 표현 내의 에지 요소들에 대한 크기 파라미터들은 이러한 에지들을 따르는 형상의 폭들에 기초할 수 있다. 골격 표현 내의 노드들에 대한 크기 파라미터들은 이러한 노드들에서의 형상의 국부적 반경들에 기초할 수 있다.
골격 표현은 특정 마스크 개발 프로세스들에 대한 레이아웃의 더 콤팩트하고 더 계산 효율적인 표현일 수 있다. 예컨대, 형상의 위치를 이동시키는 것 또는 형상의 두께를 변경하는 것이 요구되는 경우, 이는 대응하는 요소들(노드들 및 에지들)을 수정하는 것 및/또는 그러한 요소들에 대한 다양한 크기 파라미터들을 변경하는 것에 의해 간단히 달성될 수 있다. 결과로서, 계산 속도가 증가되고, 요구되는 계산 리소스들(메모리 및 프로세서 활용)이 감소된다.
도 1은 본 개시내용의 일부 실시예들에 따른 마스크 개발 프로세스에 대한 흐름도를 도시한다. 본 개시내용에서 설명되는 기법들은 다수의 타입들의 마스크 개발 프로세스들(120)에 적용될 수 있다. 이는 마스크 합성 프로세스들(예컨대, 원하는 결과를 달성하도록 마스크를 설계함)과 마스크 검증 프로세스들(예컨대, 마스크 설계가 원하는 결과를 생성하는지 여부를 확인함) 둘 모두를 포함한다. 이는 또한, 순방향 전파 프로세스들(예컨대, 마스크에 의해 생성되는 에어리얼 이미지를 예측함)과 역방향 전파(예컨대, 원하는 에어리얼 이미지로부터 그 에어리얼 이미지를 생성할 마스크를 결정하기 위해 역방향으로 전파됨) 둘 모두를 포함한다. 마스크 개발 프로세스들(120)의 예들은 광학 근접 보정(OPC), 인버스 리소그래피 기술(ILT), 및 리소그래피 검증(마스크 설계 규칙 체크들을 포함함)을 포함한다.
마스크 개발 프로세스(120)에 대한 입력은 다양한 기하학적 형상들의 레이아웃(110)이다. 마스크 개발 프로세스(120)에 대해, 레이아웃(110)은 집적 회로를 제작하는 데 사용되는 마스크의 레이아웃일 수 있지만, 골격 표현은 이러한 예로 제한되지 않는다. 다수의 경우들에서, 레이아웃 내의 형상들은 도 1의 다각형 표현(115)에 도시된 바와 같이 다각형들로서 표현된다.
마스크 개발 프로세스(120)의 결과는 일반적으로 "솔루션"(190)으로 지칭될 것이다. 솔루션은 마스크 개발 프로세스(120)에 따라 결정될 것이다. 아래의 표 1은 일부 예시적인 애플리케이션들을 열거한다. "레이아웃" 열은 마스크 개발 프로세스에 대한 입력이고, "솔루션" 열은 출력이다. 열 "골격 표현"은 어떤 양들이 골격 표현들에 의해 표현될 수 있는지를 표시한다.
[표 1] 일부 예시적인 마스크 개발 프로세스들
Figure pct00001
하나의 접근법에서, 마스크 개발 프로세스(120)는 도 1의 우측에 도시된 바와 같이 형상들 중 적어도 일부에 대해 골격 표현(125)을 사용함으로써 레이아웃 내의 형상들에 적용된다. 레이아웃(110)은 다수의 분리된 형상들을 포함한다. 형상들 중 적어도 일부에 대해 골격 표현이 결정된다(122). 개별 형상의 골격 표현은 에지들에 의해 연결된 2개 이상의 노드의 요소들을 포함한다. 골격 표현은 또한, 요소들 중 적어도 일부에 대한 크기 파라미터들을 포함한다. 이어서, 마스크 개발 프로세스는 형상들의 골격 표현을 사용하여 적용된다(124).
도 2a 내지 도 2c는 레이아웃 내의 개별 형상들의 다각형 표현들 및 대응하는 골격 표현들의 예들을 도시한다. 각각의 도면에서, 좌측은 파선들로 중첩된 골격만을 갖는 다각형 표현을 도시하고, 우측은 크기 파라미터들에 의해 정의된 에지들과 골격 둘 모두를 갖는 골격 표현을 도시한다. 다각형 표현(210)은 형상의 경계의 조각별 선형 근사화이다. 이러한 예들에서, 다각형 표현(210)은 45도 각도들의 경계 세그먼트들에 기초한다. 골격 표현(250)은 노드들 및 에지들의 조각별 연결된 골격(252)을 포함한다. 도면들에서, 노드들은 원들이고, 에지들은 원들을 연결하는 더 두꺼운 라인들이다. 골격(252)은 2차원 마스크 다각형(210)의 표현이지만 "더 낮은" 차원에 있다. 이는 형상(210)의 형태학적 침식(morphological erosion)에 기초할 수 있다.
골격 표현(250)은 추가적인 속성들을 가질 수 있다. 도 2a에서, 노드들 및 에지들은 크기 파라미터들과 연관된다. 노드들(N)은 국부적 반경(R)에 의해 특성화되고, 에지들(E)은 폭(W)에 의해 특성화된다. 이러한 크기 파라미터들은 노드에 의해 정의되는 곡선의 국부적 반경(R) 및 에지에 의해 정의되는 형상의 폭(W)을 표현한다. 노드(N1)는 말단 노드이고(즉, 하나의 다른 노드에만 연결됨), 그에 따라, 형상은 반경(R = R0)을 갖는 팁을 갖는다. 에지들(E1, E2, E3) 모두는 폭(W = W0 = R0)을 갖는다. 노드(N4)는 또한 반경(R = R0)을 갖는 말단 노드이다. 노드들(N2 및 N3)은 내부 노드들이다(2개 이상의 다른 노드에 연결됨). 그들의 반경들(R = R0)은 그 노드들을 중심으로 하는 국부적 곡선 형상의 형상을 정의한다. 이러한 속성들은 팽창(dilation) 또는 사이징 절차를 통해 베이스 골격(252)으로부터 원래의 형상(210)을 재구성하는 데 사용될 수 있다. 사이징 절차는 노드들/에지들에서 정의되는 크기 파라미터들을 사용하여, 베이스 형상(210)의 대응하는 세그먼트를 적절하게 사이징한다. 마스크 표현을 더 낮은 차원으로 감소시키는 것은 더 간단한 알고리즘들이 다양한 기하형상 조작들을 위해 구현되는 것을 허용하고, 도 2a에 도시된 바와 같은 비분지 골격에 의해 잘 표현되고 높은 종횡비들을 갖는 보조 피처들과 같은 마스크 상의 다수의 피처들이 있다.
골격 표현은 분지 골격들을 갖는 것들을 포함하는 더 복잡한 형상들을 표현하기 위해 추가적인 속성들을 포함할 수 있다. 도 2b에서, 형상의 축은 "H" 형상으로 다수의 분지들을 갖고, 그에 따라, 골격(252)은 분지형이다. 이는 노드들(N1 내지 N6) 및 에지들(E1 내지 E5)을 포함한다. 추가하여, 형상의 팁들은 원호들이 아니라 둥근 코너들이다. 이를 캡처하기 위해, 말단 노드(N1)는 2개의 크기 파라미터: R 및 r에 의해 특성화된다. R은 말단 형상의 폭을 정의하고, r은 코너들의 국부적 반경을 정의한다. 따라서, r = 0은 네모진 팁을 지정하고, r = R은 도 2a에 도시된 바와 같은 원형 팁을 지정한다. 도 2b에서, 0 < r < R이고, 팁은 둥근 코너들을 갖는다. 추가하여, 노드들(N2 및 N5)은 "H"의 크로스바를 따르는 내부 코너들의 형상을 지정하기 위해 r의 음의 값들을 가질 수 있다. 다른 파라미터들이 더 많은 자유도들을 제공하기 위해 또한 사용될 수 있다. 예컨대, 노드들에 대응하는 팁들 및 다른 곡선들은 타원형, 다각형, 또는 다른 형상들일 수 있다. 에지들에 대응하는 분지들은 폭이 변화될 수 있는데: 선형적으로 증가 또는 감소되거나, 주기적으로 변화되거나, 또는 다른 방식으로 변화될 수 있다. 이들 및 다른 변동들을 캡처하기 위해 상이한 파라미터들이 사용될 수 있다.
도 2c는 다른 예를 도시하고, 여기서, 골격(252)은 6개의 노드(N1 내지 N6)를 갖지만, 노드들(N1 내지 N3)이 다각형으로서 연결되고, 노드들(N4 내지 N6)도 마찬가지이다. 일부 경우들에서, 형상들은 내부 홀들을 가질 수 있다.
노드들 및 에지들은 또한, 원래의 형상 이외의 정보를 캡처하는 속성들을 가질 수 있다. 일 예는 노드 또는 에지로부터 특정 다각형 피처로의 연관이다. 예컨대, 특정 골격 노드(N) 또는 에지(E)는 특정 다각형 세그먼트(들)와 연관될 수 있다. 이는 OPC 솔버들에서 사용될 수 있고, 여기서, 노드(N) 및 반경과 같은 그의 파라미터들은 시뮬레이트되는 마스크(이는 N 및 다른 골격 노드들에 의해 정의됨)가 다각형 세그먼트 또는 세그먼트 상의 포인트에서의 타깃 상에 있는 이미지를 인쇄할 때까지 조정된다. 다른 예들은 노드/에지의 변위에 대한 제약들, 노드/에지의 크기에 대한 제약들, 및 노드/에지와 연관된 세그먼트 또는 형상에 대한 다른 제약들을 포함한다.
다각형 또는 다른 표현으로부터 골격 표현을 생성하기 위해 상이한 기법들이 사용될 수 있다. 일 예가 도 3a 및 도 3b에 도시된다. 이 예에서, 도 3a에 도시된 바와 같이, 형상의 다각형 표현(310)이 먼저 보로노이 다이어그램(Voronoi diagram)(320)으로 변환된다. 보로노이 다이어그램은 다각형의 중간 축이다. 도 3b에 도시된 바와 같이, 보로노이 다이어그램은 노드들 및 에지들의 골격(330)을 생성하기 위해 트리밍된다. 트리밍은 보로노이 다이어그램 상의 특정 포인트를 정의하는 다각형 경계 상의 포인트들 사이의 거리의 함수들에 기초할 수 있다. 대안적으로, 트리밍은 경계에 대한 중간 축의 근접성에 기초할 수 있다. 이어서, 폭들 및 반경들과 같은 추가적인 속성들 및 어떤 다각형 세그먼트들이 어떤 골격 요소들에 대응하는지가 골격에 부착될 수 있다.
반대 방향으로, 상이한 기법들을 사용하여, 골격 표현이 다각형 표현과 같은 전체 형상으로 변환될 수 있다. 하나의 접근법이 도 3c 및 도 3d에 도시된다. 도 3c는 골격(340)을 도시한다. 골격의 노드들 및 에지들은, 가는 화살표들에 의해 표시된 바와 같이, 그들의 반경들 및 폭들에 따라 확장된다. 대안적으로, 노드들 및 에지들에 대해 다각형들이 생성될 수 있고, 그 후, 도 3d에 도시된 결과적인 다각형(350)으로 다각형들을 병합할 수 있다. 일부 경우들에서, 골격은 다각형들을 생성하기 전에 단순화될 수 있다.
골격 표현이 다른 표현들보다 더 효율적인 다수의 사용 사례들이 있다. 하나의 부류의 사용 사례들에서, 형상 또는 형상의 일부를 형상의 축에 수직인 방향으로 시프트하는 것이 바람직하다. 골격 표현은 자연스럽게 이를 허용한다. 이 사용 사례의 예는 OPC에 대한 교란 테이블들의 사용이다. 교란 테이블들은 마스크(M)의 경계에 대한 교란들이 적용될 때(즉, 형상들의 경계들이 이동될 때), 툴이 마스크(M)로부터 리소그래피 시뮬레이션에 의해 생성되는 솔루션의 변화들을 신속하게 컴퓨팅하는 것을 허용한다. 예컨대, 교란 테이블은 주어진 마스크 교란에 대한 웨이퍼 강도의 변화를 표로 만들 수 있다. 골격들에 대한 교란 테이블들의 사용은 아래에서 설명된다.
일반적인 마스크 합성 문제는 리소그래피 신호(L)(예컨대, 마스크 레이아웃)를 입력으로서 취하고 비용 값(C)을 리턴하는 비용 함수(C(L))의 최적화로서 프레이밍될 수 있다. 상이한 교란들(P)에 대한 C의 기울기가 컴퓨팅될 수 있다. 이러한 기울기들(dC/dP)은 기울기 기반 최적화 방식을 통해 레이아웃을 최적화하는 데 사용될 수 있다.
도 4a는 형상의 단부(490)의 교란을 도시한다. 골격 표현(450)에서, 단부는 노드들(N1, N2) 및 에지(E1)에 의해 표현된다. 노드들(N1, N2)은 반경(R = R0)을 갖고, 에지(E1)는 폭(W = W0 = R0)을 갖는다. 다각형 표현(410)이 사용되는 경우, 팁은 둥근 팁을 근사화하는 7개의 경계 세그먼트(421 내지 427)에 의해 표현된다. 이는 그다지 양호한 근사화가 아니다. 더 정확한 근사화들은 한층 더 많은 경계 세그먼트들을 사용할 것이다.
팁을 교란하는 것은 영향을 받는 경계 세그먼트들 모두를 함께 이동시키는 것을 요구할 것이다. 각각의 개별 경계 세그먼트가 교란됨에 따라, 비용 함수의 결과적인 변화가 측정되고, 주어진 교란(P)에 대해 리소그래피 비용 기울기(dC/dP)가 컴퓨팅될 수 있다. 그러나, 형상에 대한 골격 표현이 사용되는 경우, 기울기(dC/dP)는 골격에 대한 기하학적 파라미터들에 대해 컴퓨팅될 수 있고, 이는 더 간단하고 더 계산 효율적일 수 있다.
예컨대, 관심 교란이 단부(490)의 크기를 증가시키고 있는 것으로 가정한다. 골격 표현의 경우, 이는 노드(N2)의 위치의 약간의 대응하는 이동과 함께 크기 파라미터(W = R)를 증가시키는 것과 동등하다. 교란의 영향은 기울기(dC/dW)에 의해 주어진다. 다각형 표현에서, 7개의 경계 세그먼트(421 내지 428)는 함께 이동되고, 총 기울기는 각각의 경계 세그먼트에 대한 개별 기울기들의 합이다.
이제, 도 4b에 도시된 바와 같은 다른 예를 고려한다. 이 예에서, 노드(N1)는 최적화될 골격 요소이다. 특히, 특정 방향(v)을 따르는 노드(N1)의 위치의 최적화를 고려한다. 먼저, 노드(N1)에 연결된 골격 에지(E1)에 대한 접선인 v = t(N1)을 가정한다. 이는 형상의 축을 따라 그 형상을 신장 및 수축시키는 것을 고려한다. 공식이 이용가능한 경우, 기울기(dC/dNT)가 계산되고 최적화를 위해 사용될 수 있다.
대안적으로, 기울기는 노드(N)와 연관된 다각형 경계 세그먼트들의 집합적 도함수로부터 구성될 수 있다. 이 세트를 D = {Di}로 지칭한다. 골격으로부터의 다각형의 구성으로부터, 세트(D)는 경계 세그먼트들(423 내지 425)을 포함한다. 그러한 세그먼트들(Di) 각각은 비용 변화(dCi)의 자신 고유의 크기를 가질 것이고, 그러한 세그먼트들의 법선들({ni}) 및 길이들({Li})은 방정식 (1)에 따라 비용 변화를 t(N) 상으로 투영하는 데 사용될 수 있다.
Figure pct00002
여기서, 합산은 다각형 세그먼트들(i)(세그먼트들(423 내지 425))에 대한 것이고, ·는 내적이다.
이제, 노드(N1)의 반경(R)의 변화를 고려한다. 노드(N1)에서의 반경의 변화에 대한 도함수(dC/dR)를 컴퓨팅하기 위해, 시스템은 대응하는 다각형 에지들(423 내지 425)의 외향 법선 상으로 투영되는 dCi의 합을 사용할 수 있다.
이제, 에지(E1)의 방향에 수직인 방향으로의 에지(E1)의 이동인 형상의 측방향 시프트를 고려한다. 형상의 측방향 시프트에 대한 도함수를 컴퓨팅하기 위해, 시스템은 에지에 직교하는 방향으로 에지(E1)를 이동시키는 것에 대한 도함수(dC/dE)를 찾을 수 있다.
이를 컴퓨팅하기 위해 다각형 표현이 사용되는 경우, 세그먼트들(D)은 에지(E1)의 법선 벡터(n(E1)) 상으로 투영된다. 이는 방정식 (2)에 의해 주어진다.
Figure pct00003
여기서, 합산은 영향을 받는 다각형 세그먼트들(i)에 대한 것이다. 방정식 (2)의 E1과 연관된 경계 세그먼트들(D)은 방정식 (1)의 노드(N1)와 연관된 것들과 상이한 세트라는 점에 유의한다. 애플리케이션 요구들에 따라 유용할 수 있는 다른 골격 수정들을 허용하기 위해, 이러한 도함수들의 조합들의 다른 변형들이 컴퓨팅될 수 있다.
이러한 기울기들이 컴퓨팅되면, 골격 요소들을 이동시키거나 또는 그들의 파라미터들을 수정함으로써 마스크를 최적화하여 개선된 비용 함수(C)를 달성하기 위해, 기울기 기반 최적화 방식이 사용될 수 있다.
OPC에 대해 위에서 설명된 접근법은 또한, ILT 및 다른 마스크 개발 프로세스들에 대해 사용될 수 있다. ILT에서, 골격 요소들의 최적화는 ILT 비용 함수 및 대응하는 기울기 필드를 사용하고, 이는 도함수 값들(dCi)이 다각형 에지들에서 샘플링될 수 있는 ILT 비용 함수 기울기 필드로부터 컴퓨팅되는 것을 제외하면 위에서 설명된 바와 같이 컴퓨팅될 수 있다. 접선 방향 노드 시프팅, 반경의 수정, 또는 에지 시프팅에 의한 후속 이동은 위에서 설명된 것과 유사할 것이다. 이는 외향 법선이 다각형 에지들에서 크기 = 1을 갖는 레벨 세트 함수에 대해 ILT 기울기가 컴퓨팅되기 때문이다.
리소그래피 비용 기반 최적화 단계들과 유사하게, MRC(마스크 규칙 체킹) 시행이 또한, 마스크 다각형 에지들에 대한 적절한 보정들을 컴퓨팅한 후에, 그들을 위에서 설명된 바와 같은 방식으로 적용하여 골격 요소 위치들 및/또는 파라미터들을 수정함으로써, 이루어질 수 있다. 따라서, 다각형들에 대해 사용될 표준 MRC 체크들이 적용될 수 있고, 그 후, 위반 정보는 MRC 위반들을 해결하기 위해 골격 기하학적 연산들을 안내하는 데 사용될 수 있다. 도 5에서, 다각형 표현(510)의 경계 세그먼트들(512 및 514)은 서로 가장 근접한 2개의 세그먼트이다. 그들은 너무 근접해 있고, 마스크 규칙 위반을 생성한다. 다각형 기반 MRC 체크는 이러한 2개의 경계 세그먼트 및 규칙 위반을 식별한다. 세그먼트(512)는 상단 골격의 노드(N1)와 연관되고, 세그먼트(514)는 하단 골격의 에지(E1)와 연관된다. 이어서, 이러한 골격 요소들(550)은 MRC 위반을 감소 또는 제거하는 방식으로 수정될 수 있다.
추정된 MRC 결과를 컴퓨팅하는 다른 방법은 인접한 골격들 및 골격 요소들 사이의 거리들을 컴퓨팅하는 것이다. 도 6은 2개의 별개의 골격(650 및 655)을 도시한다. 골격(655)은, 예컨대, U자 형상과 같이 맞접힌 형상에 대한 것이다. 그들은 골격들 자체이고 형상들이 아니라는 점에 유의한다. 형상들의 경계는 명확성을 위해 생략된다. 양방향 화살표들은 가능한 MRC 위반들의 위치들을 도시한다. 이러한 위치들에서의 2개의 골격 사이의 거리 및 그들의 대응하는 크기 파라미터들이 주어지면, MRC 간격 위반들이 평가될 수 있다.
이러한 검출은 에지 대 에지 탐색 알고리즘들을 사용함으로써 이루어질 수 있다. 대안적으로, 이는 마스크 골격들(650, 655)의 추가적인 "MRC" 골격들(670, 675)을 생성함으로써 이루어질 수 있다. 이 도면에서, MRC 골격들은 파선들로 도시되고, 이러한 골격들은 어떤 마스크 골격 에지들이 그들에 가장 근접해 있고 그들이 얼마나 멀리 떨어져 있는지에 관한 정보를 포함한다. 이 정보는 MRC 위반 위치들을 컴퓨팅하기 위해 사용될 수 있다. 이는 유용한 기법인데, 그 이유는 골격 생성이 MRC 간격 위반들을 결정하기 위해 골격(655)의 어떤 에지들이 서로 비교될 수 있는지를 자연스럽게 결정하기 때문이다.
도 7은 집적 회로를 표현하는 설계 데이터 및 명령어들을 변환 및 검증하기 위해 집적 회로와 같은 제조 물품의 설계, 검증, 및 제작 동안 사용되는 프로세스들의 예시적인 세트(700)를 예시한다. 이러한 프로세스들 각각은 다수의 모듈들 또는 동작들로서 구조화 및 인에이블될 수 있다. 'EDA'라는 용어는 '전자 설계 자동화'라는 용어를 의미한다. 이러한 프로세스들은 설계자에 의해 공급되는 정보를 갖는 제품 아이디어(710)의 생성으로 시작되고, 정보는 EDA 프로세스들(712)의 세트를 사용하는 제조 물품의 생성을 위해 변환된다. 설계가 완성될 때, 설계는 테이프 아웃되고(734), 이는, 마스크 세트를 제조하기 위해 제작 설비로 집적 회로에 대한 아트워크(artwork)(예컨대, 기하학적 패턴들)가 전송되는 시점이고, 그 마스크 세트는 집적 회로를 제조하기 위해 추후에 사용된다. 테이프 아웃 후에, 반도체 다이가 제작되고(736), 완성된 집적 회로(740)를 생성하기 위해 패키징 및 조립 프로세스들(738)이 수행된다.
회로 또는 전자 구조에 대한 사양들은 낮은 레벨 트랜지스터 재료 레이아웃들로부터 높은 레벨 설명 언어들에 이르는 범위에 있을 수 있다. VHDL, Verilog, SystemVerilog, SystemC, MyHDL, 또는 OpenVera와 같은 하드웨어 설명 언어(‘HDL’)를 사용하여 회로들 및 시스템들을 설계하기 위해 높은 추상화 레벨이 사용될 수 있다. HDL 설명은 논리 레벨 레지스터 전송 레벨('RTL') 설명, 게이트 레벨 설명, 레이아웃 레벨 설명, 또는 마스크 레벨 설명으로 변환될 수 있다. 덜 추상적인 설명인 각각의 더 낮은 추상화 레벨은 설계 설명에 더 유용한 세부사항, 예컨대, 설명을 포함하는 모듈들에 대한 더 많은 세부사항들을 추가한다. 덜 추상적인 설명들인 더 낮은 추상화 레벨들은 컴퓨터에 의해 생성될 수 있거나, 설계 라이브러리로부터 도출될 수 있거나, 또는 다른 설계 자동화 프로세스에 의해 생성될 수 있다. 더 상세한 설명들을 지정하기 위한 더 낮은 추상화 레벨 언어에서의 명세 언어의 예는 SPICE이고, 이는 다수의 아날로그 구성요소들을 갖는 회로들의 상세한 설명들을 위해 사용된다. 각각의 추상화 레벨에서의 설명들은 그 계층의 대응하는 툴들(예컨대, 형식 검증 툴)에 의해 사용하기 위해 인에이블된다. 설계 프로세스는 도 7에 도시된 시퀀스를 사용할 수 있다. 설명되는 프로세스들은 EDA 제품들(또는 툴들)에 의해 가능하게 될 수 있다.
시스템 설계(714) 동안, 제조될 집적 회로의 기능성이 지정된다. 설계는 전력 소비, 성능, 면적(물리적 및/또는 코드 라인들), 및 비용들의 감소 등과 같은 원하는 특성들에 대해 최적화될 수 있다. 상이한 타입들의 모듈들 또는 구성요소들로의 설계의 파티셔닝이 이 스테이지에서 발생할 수 있다.
논리적 설계 및 기능 검증(716) 동안, 회로 내의 모듈들 또는 구성요소들은 하나 이상의 설명 언어들로 지정되고, 사양이 기능 정확성에 대해 체크된다. 예컨대, 회로의 구성요소들은 설계되고 있는 회로 또는 시스템의 사양의 요건들과 매칭하는 출력들을 생성하도록 검증될 수 있다. 기능 검증은 테스트벤치 생성기들, 정적 HDL 체커들, 및 형식 검증기들과 같은 시뮬레이터들 및 다른 프로그램들을 사용할 수 있다. 일부 실시예들에서, '에뮬레이터들' 또는 '프로토타이핑 시스템들'로 지칭되는 구성요소들의 특수 시스템들이 기능 검증의 속도를 높이기 위해 사용된다.
테스트를 위한 합성 및 설계(718) 동안, HDL 코드는 네트리스트로 변환된다. 일부 실시예들에서, 네트리스트는 그래프 구조일 수 있고, 여기서, 그래프 구조의 에지들은 회로의 구성요소들을 표현하고, 그래프 구조의 노드들은 구성요소들이 어떻게 상호연결되는지를 표현한다. HDL 코드와 네트리스트 둘 모두는 집적 회로가 제조될 때 지정된 설계에 따라 수행하는지를 검증하기 위해 EDA 제품에 의해 사용될 수 있는 계층적 제조 물품들이다. 네트리스트는 타깃 반도체 제조 기술에 대해 최적화될 수 있다. 추가적으로, 완성된 집적 회로는 집적 회로가 사양의 요건들을 만족시키는지를 검증하기 위해 테스트될 수 있다.
네트리스트 검증(720) 동안, 네트리스트는 타이밍 제약들에 대한 순응성(compliance) 및 HDL 코드에 대한 대응성(correspondence)에 대해 체크된다. 설계 계획(722) 동안, 집적 회로에 대한 전체 플로어 플랜(floor plan)이 구성되고, 타이밍 및 최상위 레벨 라우팅에 대해 분석된다.
레이아웃 또는 물리적 구현(724) 동안, 물리적 배치(트랜지스터들 또는 커패시터들과 같은 회로 구성요소들을 위치시키는 것) 및 라우팅(다수의 전도체에 의한 회로 구성요소들의 연결)이 발생하고, 특정 논리 함수들을 가능하게 하기 위한 라이브러리로부터의 셀들의 선택이 수행될 수 있다. 본원에서 사용되는 바와 같이, '셀'이라는 용어는 부울 논리 함수(예컨대, AND, OR, NOT, XOR) 또는 저장 기능(이를테면, 플립플롭 또는 래치)을 제공하는 트랜지스터들, 다른 구성요소들, 및 상호연결들의 세트를 지정할 수 있다. 본원에서 사용되는 바와 같이, 회로 '블록'은 2개 이상의 셀을 지칭할 수 있다. 셀과 회로 블록 둘 모두는 모듈 또는 구성요소로 지칭될 수 있고, 물리적 구조들과 시뮬레이션들 둘 모두로 인에이블된다. 크기와 같은 파라미터들이 선택된 셀들에 대해('표준 셀들'에 기초하여) 지정되고, EDA 제품들에 의한 사용을 위해 데이터베이스에서 액세스가능하게 된다.
분석 및 추출(726) 동안, 회로 기능이 레이아웃 레벨에서 검증되고, 이는 레이아웃 설계의 정밀화를 가능하게 한다. 물리적 검증(728) 동안, 레이아웃 설계는 DRC 제약들, 전기적 제약들, 리소그래피 제약들과 같은 제조 제약들이 정확하고 회로부 기능이 HDL 설계 사양과 매칭하는 것을 보장하기 위해 체크된다. 해상도 향상(730) 동안, 레이아웃의 기하형상은 회로 설계가 제조되는 방법을 개선하기 위해 변환된다.
테이프 아웃 동안, 리소그래피 마스크들의 생성을 위해 (적절한 경우 리소그래피 향상들이 적용된 후에) 사용될 데이터가 생성된다. 마스크 데이터 준비(732) 동안, '테이프 아웃' 데이터는 완성된 집적 회로들을 생성하기 위해 사용되는 리소그래피 마스크들을 생성하는 데 사용된다.
컴퓨터 시스템(이를테면, 도 8의 컴퓨터 시스템(800))의 저장 서브시스템은 본원에서 설명되는 EDA 제품들 중 일부 또는 전부에 의해 사용되는 프로그램들 및 데이터 구조들, 및 라이브러리에 대한 셀들의 개발 및 라이브러리를 사용하는 물리적 및 논리적 설계를 위해 사용되는 제품들을 저장하는 데 사용될 수 있다.
도 8은 컴퓨터 시스템(800)의 예시적인 머신을 예시하고, 그 내부에서, 머신으로 하여금 본원에서 논의되는 방법들 중 임의의 하나 이상을 수행하게 하기 위한 명령어들의 세트가 실행될 수 있다. 대안적인 구현들에서, 머신은 LAN, 인트라넷, 익스트라넷, 및/또는 인터넷에서 다른 머신들에 연결(예컨대, 네트워킹)될 수 있다. 머신은 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 머신의 능력으로 동작할 수 있거나, 피어-투-피어(또는 분산) 네트워크 환경에서 피어 머신으로서 동작할 수 있거나, 또는 클라우드 컴퓨팅 기반구조 또는 환경에서 서버 또는 클라이언트 머신으로서 동작할 수 있다.
머신은 개인용 컴퓨터(PC), 태블릿 PC, STB(set-top box), 개인용 디지털 어시스턴트(PDA), 셀룰러 전화, 웹 기기, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 머신에 의해 행해질 액션들을 지정하는 명령어들의 세트를 (순차적으로 또는 다른 방식으로) 실행할 수 있는 임의의 머신일 수 있다. 추가로, 단일 머신이 예시되어 있지만, "머신"이라는 용어는 또한, 본원에서 논의되는 방법들 중 임의의 하나 이상을 수행하도록 명령어들의 세트(또는 다수의 세트)를 개별적으로 또는 집합적으로 실행하는 머신들의 임의의 콜렉션을 포함하는 것으로 이해될 것이다.
예시적인 컴퓨터 시스템(800)은 프로세싱 디바이스(802), 메인 메모리(804)(예컨대, 판독 전용 메모리(ROM), 플래시 메모리, 동적 랜덤 액세스 메모리(DRAM), 이를테면 동기식 DRAM(SDRAM), 정적 메모리(806)(예컨대, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM) 등), 및 데이터 저장 디바이스(818)를 포함하고, 이들은 버스(830)를 통해 서로 통신한다.
프로세싱 디바이스(802)는 마이크로프로세서, 중앙 프로세싱 유닛 등과 같은 하나 이상의 프로세서를 표현한다. 더 구체적으로, 프로세싱 디바이스는 CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computing) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 또는 다른 명령어 세트들을 구현하는 프로세서, 또는 명령어 세트들의 조합을 구현하는 프로세서들일 수 있다. 프로세싱 디바이스(802)는 또한, 하나 이상의 특수 목적 프로세싱 디바이스, 이를테면, 주문형 집적 회로(ASIC), 필드 프로그램가능 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 네트워크 프로세서 등일 수 있다. 프로세싱 디바이스(802)는 본원에서 설명되는 동작들 및 단계들을 수행하기 위한 명령어들(826)을 실행하도록 구성될 수 있다.
컴퓨터 시스템(800)은 네트워크(820)를 통해 통신하기 위해 네트워크 인터페이스 디바이스(808)를 더 포함할 수 있다. 컴퓨터 시스템(800)은 또한, 비디오 디스플레이 유닛(810)(예컨대, 액정 디스플레이(LCD) 또는 음극선관(CRT)), 영숫자 입력 디바이스(812)(예컨대, 키보드), 커서 제어 디바이스(814)(예컨대, 마우스), 그래픽 프로세싱 유닛(822), 신호 생성 디바이스(816)(예컨대, 스피커), 그래픽 프로세싱 유닛(822), 비디오 프로세싱 유닛(828), 및 오디오 프로세싱 유닛(832)을 포함할 수 있다.
데이터 저장 디바이스(818)는 머신 판독가능 저장 매체(824)(비일시적 컴퓨터 판독가능 매체로 또한 알려져 있음)를 포함할 수 있고, 그 머신 판독가능 저장 매체(824) 상에, 본원에서 설명되는 방법들 또는 기능들 중 임의의 하나 이상을 구현하는 소프트웨어 또는 명령어들(826)의 하나 이상의 세트가 저장된다. 명령어들(826)은 또한, 컴퓨터 시스템(800)에 의한 이들의 실행 동안 프로세싱 디바이스(802) 및/또는 메인 메모리(804) 내에 완전히 또는 적어도 부분적으로 상주할 수 있고, 메인 메모리(804) 및 프로세싱 디바이스(802)는 또한, 머신 판독가능 저장 매체들을 구성한다.
일부 구현들에서, 명령어들(826)은 본 개시내용에 대응하는 기능성을 구현하기 위한 명령어들을 포함한다. 머신 판독가능 저장 매체(824)가 예시적인 구현에서 단일 매체인 것으로 도시되어 있지만, "머신 판독가능 저장 매체"라는 용어는 명령들의 하나 이상의 세트들을 저장하는 단일 매체 또는 다수의 매체들(예컨대, 중앙 집중형 또는 분산형 데이터베이스 및/또는 연관된 캐시들 및 서버들)을 포함하는 것으로 이해되어야 한다. "머신 판독가능 저장 매체"라는 용어는 또한, 머신에 의한 실행을 위해 명령어들의 세트를 저장 또는 인코딩할 수 있고, 머신 및 프로세싱 디바이스(802)로 하여금 본 개시내용의 방법들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 이해될 것이다. 따라서, "머신 판독가능 저장 매체"라는 용어는 솔리드 스테이트 메모리들, 광학 매체들, 및 자기 매체들을 포함하지만 이에 제한되지는 않는 것으로 이해될 것이다.
이전의 상세한 설명들의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 동작들의 기호 표현들 및 알고리즘들과 관련하여 제시되었다. 이러한 알고리즘 설명들 및 표현들은, 데이터 프로세싱 기술분야들의 통상의 기술자에 의해, 이들의 작업의 내용을 관련 기술분야의 다른 통상의 기술자에게 가장 효과적으로 전달하기 위해 사용되는 방식들이다. 알고리즘은 원하는 결과를 발생시키는 동작들의 시퀀스일 수 있다. 동작들은 물리적 양들의 물리적 조작들을 요구하는 동작들이다. 이러한 양들은 저장, 조합, 비교, 및 다른 방식으로 조작될 수 있는 전기 또는 자기 신호들의 형태를 취할 수 있다. 이러한 신호들은 비트들, 값들, 요소들, 심볼들, 문자들, 항들, 숫자들 등으로 지칭될 수 있다.
그러나, 이들 및 유사한 용어들 모두는 적절한 물리적 양들과 연관될 것이고, 그리고 단지 이들 양들에 적용되는 편리한 표시들일 뿐이라는 것이 유념되어야 한다. 구체적으로 달리 명시되지 않는 한, 본 개시내용으로부터 명백한 바와 같이, 본 설명 전체에 걸쳐, 특정 용어들은, 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전자적) 양들로서 표현된 데이터를, 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장 디바이스들 내의 물리적 양들로서 유사하게 표현된 다른 데이터로 조작 및 변환하는, 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 액션 및 프로세스들을 지칭하는 것으로 이해된다.
본 개시내용은 또한, 본원의 동작들을 수행하기 위한 장치에 관한 것이다. 이러한 장치는 의도된 목적들을 위해 특별히 구성될 수 있거나, 또는 그 장치는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화 또는 재구성되는 컴퓨터를 포함할 수 있다. 그러한 컴퓨터 프로그램은, 컴퓨터 판독가능 저장 매체, 이를테면, 플로피 디스크들, 광학 디스크들, CD-ROM들 및 자기 광학 디스크들을 포함하는 임의의 타입의 디스크, 판독 전용 메모리(ROM)들, 랜덤 액세스 메모리(RAM)들, EPROM들, EEPROM들, 자기 또는 광학 카드들, 또는 전자 명령어들을 저장하는 데 적합한 임의의 타입의 매체들(그러나 이에 제한되지는 않음)에 저장될 수 있고, 이들 각각은 컴퓨터 시스템 버스에 커플링된다.
본원에서 제공되는 알고리즘들 및 디스플레이들은 임의의 특정한 컴퓨터 또는 다른 장치에 본질적으로 관련되지 않는다. 다양한 다른 시스템들이 본원의 교시들에 따라 프로그램들과 함께 사용될 수 있거나, 또는 방법을 수행하기 위해 더 특수화된 장치를 구성하는 것이 편리한 것으로 입증될 수 있다. 추가하여, 본 개시내용은 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 본원에서 설명되는 바와 같은 본 개시내용의 교시들을 구현하기 위해, 다양한 프로그래밍 언어들이 사용될 수 있다는 것이 인식될 것이다.
본 개시내용은 본 개시내용에 따라 프로세스를 수행하도록 컴퓨터 시스템(또는 다른 전자 디바이스들)을 프로그래밍하기 위해 사용될 수 있는 명령어들이 저장된 머신 판독가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품 또는 소프트웨어로서 제공될 수 있다. 머신 판독가능 매체는 머신(예컨대, 컴퓨터)에 의해 판독가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 예컨대, 머신 판독가능(예컨대, 컴퓨터 판독가능) 매체는 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체들, 광학 저장 매체들, 플래시 메모리 디바이스들 등과 같은 머신(예컨대, 컴퓨터) 판독가능 저장 매체를 포함한다.
전술된 개시내용에서, 본 개시내용의 구현들은 그의 특정 예시적인 구현들을 참조하여 설명되었다. 다음의 청구항들에 제시된 바와 같은 본 개시내용의 구현들의 더 넓은 사상 및 범위로부터 벗어나지 않으면서, 다양한 수정들이 본 개시내용에 대해 이루어질 수 있다는 것이 자명할 것이다. 본 개시내용이 단수의 의미로 일부 요소들을 언급하는 경우, 하나 초과의 요소가 도면들에 도시될 수 있고, 유사한 요소들은 유사한 번호들로 레이블링된다. 따라서, 본 개시내용 및 도면들은 제한적인 의미가 아니라 예시적인 의미로 간주되어야 한다.

Claims (20)

  1. 방법으로서,
    리소그래피 마스크에 대한 마스크 개발 프로세스에서 사용되는 레이아웃에 액세스하는 단계 ― 상기 레이아웃은 복수의 분리된 형상들을 포함함 ―;
    프로세서에 의해, 상기 레이아웃 내의 상기 분리된 형상들 중 적어도 일부에 대한 골격 표현들을 결정하는 단계 ― 개별 형상의 골격 표현은 에지들에 의해 연결된 2개 이상의 노드의 요소들 및 상기 요소들 중 적어도 일부에 대한 크기 파라미터들을 포함함 ―; 및
    상기 마스크 개발 프로세스에서 상기 골격 표현들을 사용하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 개별 형상은 다각형이고,
    상기 개별 형상의 상기 골격 표현을 결정하는 것은,
    상기 다각형에 대한 보로노이 다이어그램(Voronoi diagram)을 결정하는 것; 및
    상기 보로노이 다이어그램으로부터 상기 골격 표현을 결정하는 것
    을 포함하는, 방법.
  3. 제1항에 있어서,
    상기 개별 형상의 상기 골격 표현의 상기 노드들 및 상기 에지들은 상기 개별 형상의 형태학적 침식(morphological erosion)에 기초하는, 방법.
  4. 제1항에 있어서,
    상기 개별 형상은 상기 노드들 및 상기 에지들에 대한 상기 크기 파라미터들에 따른, 상기 개별 형상의 상기 골격 표현의 상기 노드들 및 상기 에지들의 형태학적 팽창(morphological dilation)에 의해 재구성가능한, 방법.
  5. 제1항에 있어서,
    상기 골격 표현들의 상기 에지들에 대한 상기 크기 파라미터들은 그러한 에지들을 따르는 상기 개별 형상들의 폭들에 기초하는, 방법.
  6. 제1항에 있어서,
    상기 골격 표현들의 상기 노드들에 대한 상기 크기 파라미터들은 그러한 노드들에서의 상기 개별 형상들의 국부적 반경들에 기초하는, 방법.
  7. 제1항에 있어서,
    상기 에지들은 상기 개별 형상의 축에 대응하는, 방법.
  8. 제7항에 있어서,
    상기 축은 분지형인, 방법.
  9. 제1항에 있어서,
    상기 마스크 개발 프로세스는 광학 근접 보정과 인버스 리소그래피 기술 중 하나이고,
    상기 마스크 개발 프로세스에서 상기 골격 표현들을 사용하는 단계는,
    상기 골격 표현들의 상기 요소들의 위치들의 변화들로부터 기인하는, 상기 마스크 개발 프로세스에 대한 비용 함수에 대한 영향을 결정하는 단계를 포함하는, 방법.
  10. 제1항에 있어서,
    상기 마스크 개발 프로세스는 광학 근접 보정과 인버스 리소그래피 기술 중 하나이고,
    상기 마스크 개발 프로세스에서 상기 골격 표현들을 사용하는 단계는,
    상기 골격 표현들의 상기 크기 파라미터들의 변화들로부터 기인하는, 상기 마스크 개발 프로세스에 대한 비용 함수에 대한 영향을 결정하는 단계를 포함하는, 방법.
  11. 제1항에 있어서,
    상기 마스크 개발 프로세스는 마스크 규칙 체킹(mask rule checking)이고,
    상기 마스크 개발 프로세스에서 상기 골격 표현들을 사용하는 단계는,
    2개의 형상에 대한 상기 골격 표현들의 상기 요소들 사이의 간격에 기초하여 그리고 상기 요소들의 상기 크기 파라미터들에 기초하여, 상기 레이아웃 내의 상기 2개의 형상 사이의 간격을 결정하는 단계를 포함하는, 방법.
  12. 시스템으로서,
    명령어들을 저장하는 메모리; 및
    상기 메모리와 커플링되고 상기 명령어들을 실행하기 위한 프로세서
    를 포함하고,
    상기 명령어들은, 실행될 때, 상기 프로세서로 하여금,
    리소그래피 마스크에 대한 마스크 개발 프로세스에서 사용되는 레이아웃에 액세스하고 ― 상기 레이아웃은 복수의 분리된 형상들을 포함함 ―,
    상기 레이아웃 내의 상기 분리된 형상들 중 적어도 일부에 대한 골격 표현들을 결정하고 ― 개별 형상의 골격 표현은 에지들에 의해 연결된 2개 이상의 노드의 요소들 및 상기 요소들 중 적어도 일부에 대한 크기 파라미터들을 포함함 ―,
    상기 마스크 개발 프로세스에서 상기 골격 표현들을 사용하게 하는, 시스템.
  13. 제12항에 있어서,
    상기 레이아웃은 상기 마스크 개발 프로세스에 의해 개발되고 있는 마스크에 대한 마스크 레이아웃인, 시스템.
  14. 제12항에 있어서,
    상기 레이아웃은 상기 리소그래피 마스크에 의해 생성된 에어리얼 이미지(aerial image)와 상기 리소그래피 마스크에 의해 웨이퍼 상에 생성된 인쇄된 패턴 중 하나인, 시스템.
  15. 제12항에 있어서,
    상기 개별 형상은 다각형이고,
    상기 개별 형상의 상기 골격 표현을 결정하는 것은,
    상기 다각형에 대한 보로노이 다이어그램을 결정하는 것; 및
    상기 보로노이 다이어그램으로부터 상기 골격 표현을 결정하는 것
    을 포함하는, 시스템.
  16. 제12항에 있어서,
    상기 개별 형상의 상기 골격 표현의 상기 노드들 및 상기 에지들은 상기 개별 형상의 형태학적 침식에 기초하는, 시스템.
  17. 제12항에 있어서,
    상기 개별 형상은 상기 노드들 및 상기 에지들에 대한 상기 크기 파라미터들에 따른, 상기 개별 형상의 상기 골격 표현의 상기 노드들 및 상기 에지들의 형태학적 팽창에 의해 재구성가능한, 시스템.
  18. 비일시적 컴퓨터 판독가능 매체로서,
    저장된 명령어들을 포함하고,
    상기 명령어들은, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    리소그래피 마스크에 대한 마스크 개발 프로세스에서 사용되는 레이아웃에 액세스하고 ― 상기 레이아웃은 복수의 분리된 형상들을 포함함 ―,
    상기 레이아웃 내의 상기 분리된 형상들 중 적어도 일부에 대한 골격 표현들을 결정하고 ― 개별 형상의 골격 표현은 에지들에 의해 연결된 2개 이상의 노드의 요소들 및 상기 요소들 중 적어도 일부에 대한 크기 파라미터들을 포함함 ―,
    상기 마스크 개발 프로세스에서 사용하기 위해 상기 골격 표현들을 제공하게 하는, 비일시적 컴퓨터 판독가능 매체.
  19. 제18항에 있어서,
    상기 마스크 개발 프로세스는 광학 근접 보정과 인버스 리소그래피 기술 중 하나이고,
    상기 마스크 개발 프로세스에서 상기 골격 표현들을 사용하는 것은,
    상기 골격 표현들의 변화들로부터 기인하는, 상기 마스크 개발 프로세스에 대한 비용 함수에 대한 영향을 결정하는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  20. 제18항에 있어서,
    상기 마스크 개발 프로세스는 마스크 규칙 체킹이고,
    상기 마스크 개발 프로세스에서 상기 골격 표현들을 사용하는 것은,
    2개의 형상에 대한 상기 골격 표현들에 기초하여, 상기 레이아웃 내의 상기 2개의 형상 사이의 간격을 결정하는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
KR1020227031168A 2020-02-14 2021-02-12 리소그래피 마스크들의 개발을 위한 레이아웃들의 골격 표현 KR20220140578A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062977020P 2020-02-14 2020-02-14
US62/977,020 2020-02-14
PCT/US2021/018034 WO2021163623A1 (en) 2020-02-14 2021-02-12 Skeleton representation of layouts for the development of lithographic masks

Publications (1)

Publication Number Publication Date
KR20220140578A true KR20220140578A (ko) 2022-10-18

Family

ID=77273788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227031168A KR20220140578A (ko) 2020-02-14 2021-02-12 리소그래피 마스크들의 개발을 위한 레이아웃들의 골격 표현

Country Status (4)

Country Link
US (1) US11860531B2 (ko)
EP (1) EP4073584A1 (ko)
KR (1) KR20220140578A (ko)
CN (1) CN115004107A (ko)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081658A (en) 1997-12-31 2000-06-27 Avant! Corporation Proximity correction system for wafer lithography
US6832364B2 (en) * 2002-10-03 2004-12-14 International Business Machines Corporation Integrated lithographic layout optimization
US6823503B2 (en) * 2002-12-31 2004-11-23 Numerical Technologies, Inc. Method and apparatus for creating a phase-shifting mask for a photolithographic process
US7049652B2 (en) 2003-12-10 2006-05-23 Sandisk Corporation Pillar cell flash memory technology
US7240306B2 (en) 2005-02-24 2007-07-03 International Business Machines Corporation Integrated circuit layout critical area determination using Voronoi diagrams and shape biasing
US7831954B2 (en) 2007-09-25 2010-11-09 Synopsys, Inc. Flash-based updating techniques for high-accuracy high efficiency mask synthesis
US7707539B2 (en) * 2007-09-28 2010-04-27 Synopsys, Inc. Facilitating process model accuracy by modeling mask corner rounding effects
US9561622B2 (en) 2008-05-05 2017-02-07 Georgia Tech Research Corporation Systems and methods for fabricating three-dimensional objects
US8490034B1 (en) * 2010-07-08 2013-07-16 Gauda, Inc. Techniques of optical proximity correction using GPU
US8312394B2 (en) * 2010-11-29 2012-11-13 Synopsys, Inc. Method and apparatus for determining mask layouts for a spacer-is-dielectric self-aligned double-patterning process
US8745556B2 (en) * 2012-06-28 2014-06-03 Taiwan Semiconductor Manufacturing Co., Ltd. Layout method and system for multi-patterning integrated circuits
JP5957357B2 (ja) * 2012-10-15 2016-07-27 株式会社日立ハイテクノロジーズ パターン検査・計測装置及びプログラム
JP6399751B2 (ja) * 2013-12-25 2018-10-03 キヤノン株式会社 マスクパターン作成方法、プログラム、マスク製造方法、露光方法及び物品製造方法
US20170053058A1 (en) * 2015-08-21 2017-02-23 Taiwan Semiconductor Manufacturing Company, Ltd. Model-based rule table generation
US9881870B2 (en) 2015-12-30 2018-01-30 Taiwan Semiconductor Manufacturing Co., Ltd. Semiconductor device and manufacturing method thereof
US10262100B2 (en) 2017-05-24 2019-04-16 Synopsys, Inc. Rule based assist feature placement using skeletons
US10656530B2 (en) 2018-05-08 2020-05-19 Asml Us, Llc Application of FreeForm MRC to SRAF optimization based on ILT mask optimization

Also Published As

Publication number Publication date
CN115004107A (zh) 2022-09-02
US11860531B2 (en) 2024-01-02
EP4073584A1 (en) 2022-10-19
US20210255539A1 (en) 2021-08-19

Similar Documents

Publication Publication Date Title
US20210064977A1 (en) Neural network based mask synthesis for integrated circuits
WO2021163623A1 (en) Skeleton representation of layouts for the development of lithographic masks
US11748553B2 (en) Mask rule checking for curvilinear masks for electronic circuits
US20210049315A1 (en) Methods and systems to perform automated integrated fan-out wafer level package routing
WO2021034495A1 (en) Applying reticle enhancement technique recipes based on failure modes predicted by an artificial neural network
US11694016B2 (en) Fast topology bus router for interconnect planning
US11836425B2 (en) Engineering change orders with consideration of adversely affected constraints
US20210390244A1 (en) System and Method for Synchronizing Net Text Across Hierarchical Levels
KR20220140578A (ko) 리소그래피 마스크들의 개발을 위한 레이아웃들의 골격 표현
TWI836186B (zh) 使用佈局的骨架表示開發微影遮罩之方法、系統、及非暫時性電腦可讀媒體
US11720015B2 (en) Mask synthesis using design guided offsets
US11449659B2 (en) Lithography-based pattern optimization
US11416661B2 (en) Automatic derivation of integrated circuit cell mapping rules in an engineering change order flow
US20230252208A1 (en) Transforming a logical netlist into a hierarchical parasitic netlist
US11644746B1 (en) Inverse etch model for mask synthesis
US11836000B1 (en) Automatic global clock tree synthesis
US11586796B1 (en) Keep-through regions for handling end-of-line rules in routing
US20230126888A1 (en) Computation of weakly connected components in a parallel, scalable and deterministic manner
US20220392191A1 (en) Large scale computational lithography using machine learning models
US20230306180A1 (en) Static timing analysis of multi-die three-dimensional integrated circuits
US20230409791A1 (en) Field-net for placement evaluation
US20220198109A1 (en) Boolean methods for engineering change order (eco) patch identification
US20220382955A1 (en) Constraint file-based novel framework for net-based checking technique
US20220082932A1 (en) Three-dimensional mask simulations based on feature images
KR20230015922A (ko) 계층적 집적 회로 설계에 주입된 가상 파티션 셀을 프로세싱하는 시스템 및 방법