KR20220019023A - 전자 회로들을 위한 곡선형 마스크들에 대한 마스크 규칙 체킹 - Google Patents

전자 회로들을 위한 곡선형 마스크들에 대한 마스크 규칙 체킹 Download PDF

Info

Publication number
KR20220019023A
KR20220019023A KR1020227000436A KR20227000436A KR20220019023A KR 20220019023 A KR20220019023 A KR 20220019023A KR 1020227000436 A KR1020227000436 A KR 1020227000436A KR 20227000436 A KR20227000436 A KR 20227000436A KR 20220019023 A KR20220019023 A KR 20220019023A
Authority
KR
South Korea
Prior art keywords
mask
central axis
distance
geometries
mask rule
Prior art date
Application number
KR1020227000436A
Other languages
English (en)
Other versions
KR102638150B1 (ko
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 시놉시스, 인크.
Publication of KR20220019023A publication Critical patent/KR20220019023A/ko
Application granted granted Critical
Publication of KR102638150B1 publication Critical patent/KR102638150B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0006Industrial image inspection using a design-rule based approach
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/68Analysis of geometric attributes of symmetry
    • 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/30108Industrial image inspection
    • G06T2207/30148Semiconductor; IC; Wafer
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Preparing Plates And Mask In Photomechanical Process (AREA)

Abstract

시스템이 곡선형 형상들에 대한 마스크 규칙 체크들(MRC)을 수행한다. 곡선형 형상의 폭은 그 형상의 상이한 부분들을 따라 상이하다. 곡선형 형상에 대한 중앙 축이 결정된다. 중앙 축은 모서리들로부터 임계 거리 내에 있거나 또는 에지들로부터 너무 먼 부분들을 제외하도록 트리밍된다. 트리밍된 중앙 축은 마스크 규칙들에 대한 폭 체크들을 수행하는데 사용된다. 시스템은 기하학적 형상들 사이의 중앙 축을 생성하고 그것을 두 개의 기하학적 형상들이 적어도 임계 거리만큼 떨어져 있는지의 여부를 결정하는데 사용한다. 시스템은 예리한 모서리들에 대한 예각 체크들을 수행한다. 시스템은 꼭지점들에서부터 임계 거리에 있는 형상의 경계 상의 끝점들까지 그려진 선들을 사용하여 각도들을 결정한다. 이들 각도들은 예각 마스크 규칙 위반들을 체크하는데 사용된다.

Description

전자 회로들을 위한 곡선형 마스크들에 대한 마스크 규칙 체킹
관련 출원에 대한 교차 참조
본 출원은 2019년 6월 7일자로 출원된 미국 특허 출원 제62/858,714호를 우선권 주장하며, 그 내용은 본 명세서에 참조로 포함된다.
본 개시는 대체로 전자 설계 자동화 분야에 관한 것이고, 더 구체적으로는 전자 회로들에 대한 마스크 규칙 체킹(mask rule checking)에 관한 것이다.
전자 설계 자동화(electronic design automation)(EDA) 프로세스는 물리적 검증 스테이지를 포함하며 그 스테이지 동안 레이아웃 설계는 설계 규칙 체크(design rule check)(DRC) 제약조건들, 전기 제약조건들, 및 리소그래피 제약조건들과 같은 제조 제약조건들이 올바른 것임을 보장하기 위해 체크된다. 테이프아웃 스테이지가 리소그래피 마스크들의 생산을 위해 사용될 데이터를 생성한다. 마스크 데이터 준비 동안, 테이프 아웃 데이터는 완성된 집적 회로들을 생산하는데 사용되는 리소그래피 마스크들을 생산하는데 사용된다.
마스크 규칙 체크가 리소그래피 마스크들이 특정한 마스크 규칙들에 부합하는 것을 보장하기 위해 수행된다. 마스크 기입 기술의 발전이 맨해튼(Manhattan) 형상들보다 더 유연한 기하학적 형상들을 사용하는 곡선형 마스크들을 허용한다. 맨해튼 마스크들을 위해 설계된 기존의 마스크 규칙 체킹 기법들은 곡선형 형상들을 포함하는 마스크들을 프로세싱할 수 없다.
개시된 바는 전자 회로들을 위한 마스크들의 마스크 규칙 체킹을 수행하기 위한 구성(예컨대, 시스템, 방법, 프로세서에 의해 실행 가능한 저장된 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체)이다. 마스크 표현은 비맨해튼인 기하학적 형상들(예를 들어, 다각형들), 예를 들어, 조각별(piecewise) 선형 형태로 표현될 수 있는 곡선형 에지들이 있는 기하학적 형상들을 포함할 수 있다.
마스크 규칙 체킹 시스템(또한 시스템이라고 지칭됨)이 전자 회로를 위한 마스크 표현을 수신한다. 마스크 규칙들은 기하학적 형상들이 적어도 임계값 폭을 가질 것을 요구하는 규칙을 포함한다. 곡선형 기하 형상의 폭은 기하학적 형상의 상이한 부분들에서 상이할 수 있다. 또한, 기하학적 형상은 폭이 마스크 규칙들에 의해 특정된 임계값 폭 미만일 수 있는 모서리(corner)들을 포함하지만, 이것들은 유효한 마스크들을 나타내기 때문에 마스크 규칙들의 위반이 아니다.
다음의 단계들은 각각의 기하학적 형상에 대해 수행된다. 중앙 축(medial axis)이 기하학적 형상에 대해 결정된다. 중앙 축은 기하학적 형상의 경계 상에 적어도 두 개의 가장 가까운 점들을 갖는 기하학적 형상 내의 점들을 나타낸다. 따라서, 중앙 축 상의 각각의 점은 그 점에 가장 가까이 있는 기하학적 형상의 경계 상의 적어도 두 개의 점들로부터 등거리에 있다.
시스템은 기하학적 형상의 적어도 하나의 모서리에 가까이 있는 중앙 축의 부분들을 식별한다. 시스템은 기하학적 형상의 임의의 모서리에 가까이 있는 부분들을 제외시킴으로써 중앙 축을 트리밍한다. 시스템은 트리밍된 중앙 축에 해당하는 기하학적 형상의 부분을 사용하여 마스크 규칙 체크들을 수행한다. 시스템은, 예를 들어 사용자 인터페이스를 통해, 검출된 임의의 마스크 규칙 위반들을 보고할 수 있다.
일 실시예에서, 기하학적 형상의 모서리에 가까이 있는 중앙 축의 부분들은 다음과 같이 식별된다. 시스템은 중앙 축 상의 점(P)과 점(P)에 가장 가까운 기하학적 형상의 경계 상의 점들을 나타내는 점 쌍 (P1, P2)을 식별한다. 시스템은 점 쌍 (P1, P2) 사이의 둘레 거리가 둘레 임계값 미만인지의 여부를 결정한다. (P1, P2) 사이의 둘레 거리가 둘레 임계값 미만이면, 시스템은 기하학적 형상의 적어도 모서리에 가까이 있는 것으로서 점(P)을 마킹한다. 따라서, 점(P)은 중앙 축이 트리밍될 때 제외된다.
일 실시예에서, 시스템은 기하학적 형상의 에지들로부터 멀리 있는 중앙 축의 부분들을 추가로 식별한다. 중앙 축은 기하학적 형상의 에지들로부터 멀리 있는 것으로 결정된 중앙 축의 부분들을 제외시킴으로써 추가로 트리밍된다. 남아 있는 트리밍된 중앙 축의 부분들은 폭 마스크 규칙을 위반하는 기하학적 형상들의 부분들을 나타낸다. 마스크 규칙 체킹 시스템은 트리밍된 중앙 축에 해당하는 기하학적 형상의 부분들을 식별하고 그것들을 마스크 규칙 위반들로서 보고한다.
일 실시예에서, 시스템은 기하학적 형상의 모서리들로부터 멀리 있는 중앙 축의 부분들을 다음과 같이 식별한다. 시스템은 중앙 축 상의 한 점을 식별하고 식별된 점과 기하학적 형상의 에지 상의 가장 가까운 점 사이의 거리가 최대 공차 임계값보다 큰지의 여부를 결정한다. 식별된 점과 기하학적 형상의 에지 상의 가장 가까운 점 사이의 거리가 최대 공차 임계값보다 크면, 시스템은 식별된 점을 기하학적 형상의 에지들로부터 멀리 있는 점으로서 마킹한다. 따라서, 그 점은 중앙 축이 트리밍될 때 제외된다.
본 개시에서 설명되는 일부 실시예들은 마스크 표현의 기하학적 형상들이 예리한 모서리들을 포함하는지의 여부를 결정하기 위해 마스크 규칙 체크들을 수행한다. 마스크 규칙들은 기하학적 형상들이 너무 예리하지 않은 모서리들을 가질 것을 요구한다. 예를 들어, 마스크 규칙들은 기하학적 형상들이 임계값보다 작은 예각들을 포함하는 것을 방지한다. 곡선형 형상이 여러 작은 선분들을 포함하는 조각별 선형 표현을 가질 수 있다. 이들 인접한 선분들 사이의 각도들은 그것들이 기하학적 형상의 예리한 모서리를 형성하는 경우에도 둔각일 수 있다. 그 결과, 이들 개별 각도들을 임계값과 비교하면 예리한 모서리가 검출되지 않는다.
시스템은 예리한 모서리들에 대한 마스크 규칙 체크들을 다음과 같이 수행한다. 시스템은 기하학적 형상의 경계 상의 점(예를 들어, 점 P)을 선택한다. 시스템은 그 점(P)으로부터 임계 거리에 있는 기하학적 형상의 경계 상의 끝점들의 쌍을 식별한다. 임계 거리 값은 미리 설정될 수 있다. 시스템은 각각의 끝점을 점(P)에 연결하는 선들에 의해 형성되는 각도를 결정한다. 시스템은 결정된 각도가 예각 마스크 규칙에 의해 특정된 예각 임계값 미만인지의 여부를 결정한다. 시스템이 예각 임계값보다 더 작은 각도를 갖는 하나 이상의 이러한 점들을 식별하면, 시스템은 식별된 점들을 마스크 규칙 위반들로서 보고한다.
일 실시예에서, 꼭지점에 기초하여 각도를 결정하는데 사용되는 끝점들 중 하나는 꼭지점으로부터 시작하여 기하학적 형상의 경계를 따라 시계 방향으로 이동함으로써 획득되고, 다른 하나의 끝점은 꼭지점으로부터 시작하여 기하학적 형상의 경계를 따라 반시계 방향으로 이동함으로써 획득된다.
일 실시예에서, 시스템은 마스크 규칙 위반을 고치기 위해 기하학적 형상을 수정한다. 예를 들어, 시스템은 수정된 기하학적 형상이 폭 마스크 규칙에 부합하도록 폭 마스크 규칙을 위반하는 기하학적 형상의 특정한 부분들에서의 폭을 증가시킬 수 있다. 유사하게, 시스템은 꼭지점에 연관되는 각도를 증가시킬 수 있어서, 수정된 기하학적 형상은 예각 마스크 규칙에 부합한다.
일부 실시예들에서, 시스템은, 기하학적 형상들이 기하학적 형상들 사이의 최소 거리를 유지할 것을 요구하는 거리 마스크 규칙의 위반들을 식별하기 위해 마스크를 분석한다. 시스템은 마스크 표현에서 기하학적 형상들에 대한 중앙 축을 결정한다. 중앙 축은 여러 부분들을 포함하며, 각각의 부분은 기하학적 형상 쌍으로부터 등거리에 있는 점들을 포함한다. 시스템은 그 기하학적 형상 쌍에 연관되는 부분을 선택한다. 시스템은 선택된 부분 상의 점 세트를 샘플링하고 다음의 단계들을 각각의 샘플링된 점들에 대해 수행한다. 시스템은 그 점과 기하학적 형상 쌍으로부터의 각각의 기하학적 형상 사이의 거리를 결정한다. 시스템은 그 점과 기하학적 형상 쌍의 각각의 기하학적 형상 사이의 거리가 임계 거리(TD) 미만인지의 여부를 결정한다. 그 점과 기하학적 형상 쌍의 각각의 기하학적 형상 사이의 거리가 임계 거리(TD) 미만이면, 시스템은 기하학적 형상 쌍을 거리 마스크 규칙을 위반한 것으로서 마킹한다. 시스템은 모든 마스크 규칙 위반들을, 예를 들어, 사용자 인터페이스를 통해 보고할 수 있다.
일 실시예에서, 임계 거리(TD)는 거리 마스크 규칙에 의해 특정되는 기하학적 형상들 사이의 최소 거리 임계값에 기초하여 결정된다.
일 실시예에서, 임계 거리(TD)는 거리 마스크 규칙에 의해 특정되는 기하학적 형상들 사이의 최소 거리 임계값의 절반과 실질적으로 동일한 것으로 결정된다.
일 실시예에서, 시스템은 기하학적 형상 쌍이 거리 마스크 규칙에 의해 특정되는 적어도 최소 임계 거리이도록 기하학적 형상 쌍 사이의 거리를 증가시킨다.
일 실시예에서, 시스템은 결정된 임의의 마스크 위반들을 제거하기 위해 마스크를 수정한다. 시스템은 프로세싱되고 있는 마스크 표현에 대응하는 회로 설계에 기초하여 제작, 예를 들어, 칩의 제작을 위해 수정된 마스크를 전송할 수 있다.
실시예들은 컴퓨터 프로세서에 의해 실행될 때 컴퓨터 프로세서로 하여금 위에서 또는 본 개시의 다른 곳에서 특정된 방법들 중 임의의 것에 따른 단계들을 수행하게 하는 명령어들을 저장하는 비일시적 컴퓨터 판독가능 스토리지를 포함한다.
실시예들은, 컴퓨터 프로세서와, 컴퓨터 프로세서에 의해 실행될 때 컴퓨터 프로세서로 하여금 위에서 또는 본 개시의 다른 곳에서 특정된 방법들 중 임의의 것에 따른 단계들을 수행하게 하는 명령어들을 저장하는 비일시적 컴퓨터 판독가능 스토리지를 포함하는 컴퓨터 시스템을 포함한다.
이 발명의 요약 및 다음의 상세한 설명에서의 특징들 및 장점들은 모두 포함하는 것은 아니다. 많은 추가적인 특징들 및 장점들이 도면들, 명세서, 및 그것의 청구범위에 비추어 본 기술분야의 통상의 기술자에게 명백할 것이다.
개시내용은 아래에 주어지는 상세한 설명과 본 개시의 실시예들의 첨부 도면들로부터 더 완전하게 이해될 것이다. 그 도면들은 본 개시의 실시예들의 지식 및 이해를 제공하기 위해 사용되고 본 개시의 범위를 이들 특정 실시예들로 제한하지 않는다. 더욱이, 그 도면들은 반드시 축척대로 그려지는 않았다.
도 1a는 마스크들의 화소화된 표현으로부터의 곡선형 마스크들의 생성을 예시한다.
도 1b는 곡선형 기하 형상에 대한 폭들을 정의하기 위해 전형적인 에지 대 에지 투영들을 사용함에 있어서의 어려움을 예시하는 예시적인 곡선형 마스크를 도시한다.
도 1c는 곡선형 기하 형상에 대한 예리한 모서리들을 정의하기 위해 각도들을 사용함에 있어서의 어려움을 예시하는 예시적인 곡선형 마스크를 도시한다.
도 2는 일 실시예에 따른 레이아웃 분류 시스템의 시스템 아키텍처의 블록도를 도시한다.
도 3은 본 개시의 일부 실시예들에 따라 집적 회로의 설계 및 제조 동안 사용되는 다양한 프로세스들의 흐름도를 묘사한다.
도 4a는 볼록 모서리들로 연장되는 모든 각도 다각형의 중심에서의 예시적인 중앙 축을 도시한다.
도 4b는 일 실시예에 따른 원래의 다각형의 두 개의 에지들에 연관되는 중앙 축의 개별 섹션의 생성을 예시한다.
도 4c는 중앙 축 상의 한 점이 기하학적 형상 상의 적어도 두 개의 점들에 연관됨을 예시한다.
도 4d는 일 실시예에 따라 마스크의 외부 중앙 축이 내부 중앙 축과 유사하게 취급될 수 있음을 예시한다.
도 4e는 일 실시예에 따른 마스크의 기하학적 형상들에 대응하는 외부 중앙 축을 예시한다.
도 5는 일 실시예에 따라 기하학적 형상의 중앙 축 상의 한 점이 트리밍되는 방법을 예시한다.
도 6a는 일 실시예에 따른 둘레 임계 값의 결정을 예시한다.
도 6b는 일 실시예에 따른 마스크 규칙 체크들을 수행하기 위해 폭이 측정되거나 또는 측정되지 않는 기하학적 형상의 부분들을 예시한다.
도 7은 일 실시예에 따른 최소 폭 또는 공간 위반들이라고 간주되기에는 기하학적 형상의 에지들로부터 너무 멀리 있는 중앙 축 상의 점들을 필터링하는 것을 예시한다.
도 8은 일 실시예에 따른 마스크 규칙들의 위반들을 나타내는 마스크의 부분들을 도시한다.
도 9a는 일 실시예에 따른 예리한 각도(또는 예리한 모서리) 체크들을 예시하기 위한 곡선형 에지들이 있는 기하학적 형상을 도시한다.
도 9b는 일 실시예에 따른 마스크 규칙 체크들을 예시하기 위한 작은 노치(notch)들을 갖는 곡선형 에지들이 있는 다른 기하학적 형상을 도시한다.
도 10은 일 실시예에 따른 곡선형 형상들에 대한 예각 체크들을 수행하기 위한 프로세스를 예시하는 흐름도를 도시한다.
도 11은 일 실시예에 따른 원형 모서리들이 있는 기하학적 형상들에 대한 파라미터들을 예시한다.
도 12는 일 실시예에 따른 타원형 모서리들이 있는 기하학적 형상들에 대한 파라미터들을 예시한다.
도 13은 일 실시예에 따른 폭 위반들을 고치기 위해 마스크를 수정하는 것을 예시한다.
도 14a는 일 실시예에 따른 폭 위반이 고쳐진 수정된 마스크를 도시한다.
도 14b는 일 실시예에 따른 예시적인 각도 위반들 및 각도 위반을 고치기 위한 마스크의 수정을 도시한다.
도 15는 일 실시예에 따른 곡선형 형상들에 대한 거리 체크들을 수행하기 위한 프로세스를 예시하는 흐름도를 도시한다.
도 16은 본 개시의 일부 실시예들에 따라 집적 회로의 설계 및 제조 동안 사용되는 다양한 프로세스들의 흐름도를 묘사한다.
도 17은 본 개시의 실시예들이 동작할 수 있는 예시적인 컴퓨터 시스템의 추상도를 묘사한다.
그 도면들은 본 개시에서 설명되는 다양한 실시예들을 예시만을 목적으로 묘사한다. 본 기술분야의 통상의 기술자는 본 명세서에서 설명되는 구조들 및 방법들의 대체 실시예들이 본 명세서에서 설명되는 본 발명의 원리들로부터 벗어남 없이 채용될 수 있다는 것을 다음의 논의로부터 쉽사리 인식할 것이다.
EDA 프로세스는 마스크들이 특정한 규칙들에 부합함을 보장하기 위한 마스크 규칙 체킹(MRC)을 포함하는 마스크들을 프로세싱하기 위한 단계들을 포함한다. 마스크 규칙 체크들은 집적 회로 및 대응하는 마스크 검사 능력들을 제작하는데 사용되는 장비에 따라 달라진다. 기존의 회로 설계 기법들은 기하학적 형상들의 에지들이 X 및 Y 축들에 평행하고 기하학적 형상들이 직사각형인 맨해튼(Manhattan) 마스크들을 사용한다. 이들 규칙들은 통상적으로 다각형 에지들 사이의 최소 폭들, 다각형들 사이에 허용되는 최소 공간, 및 모서리들 사이의 유사한 메트릭들, 최소 영역들 등과 같은 제약조건들을 체크한다. 45도 에지들도 처리할 수 있는 마스크 기입기들의 경우, 에지들과 모서리들 사이에 특정되는 추가적인 규칙들, 예각 체크들 등이 있다.
마스크 기입 기술의 발전이 맨해튼 형상들보다 더 유연한 기하학적 형상들을 사용하는 곡선형 마스크들을 허용한다. 예를 들어, 곡선형 형상들은 복잡한 다각형들 또는 곡선형 에지들을 허용할 수 있다. 맨해튼 마스크들을 위해 설계되는 기존의 마스크 규칙 체킹 기법들은 곡선형 마스크들을 프로세싱할 수 없다. 예를 들어, 맨해튼 마스크 규칙들은 맨해튼 형상들이 잘 정의되는 폭에 대해 잘 정의되는 폭을 체크한다. 그러나, 곡선형 형상의 폭이 잘 정의되지 않는데 그 폭이 곡선형 형상의 상이한 부분들에서 가변할 뿐만 아니라 폭이 측정되는 각도에 따라 가변한다. 다른 예로서, 맨해튼 마스크 규칙들에 대한 마스크 규칙 체킹 기법들은 예리한 점들 즉, 예리한 모서리들을 발견하기 위해 예각들을 체크한다. 그러나, 곡선형 형상이 다수의 작은 에지들이 있는 다각형으로서 표현될 수 있다. 이러한 형상은 예각을 포함하는 일없이 예리한 모서리를 포함할 수 있지만 예리한 점이 각각의 인접한 에지 쌍이 둔각을 형성하는 다수의 작은 에지들을 사용하여 표현될 수 있기 때문이다.
그 결과, 기존의 마스크 규칙 체킹 기법들은 곡선형 형상들이 마스크 규칙 체크들을 충족시킴을 검증할 수 없다. 맨해튼 마스크 규칙 체킹 기법들은 곡선형 형상들에 적용되면 거짓 양성들 또는 거짓 음성들을 반환할 수 있다. 예를 들어, 이들 기법들은 유효한 곡선형 마스크들에 대한 위반들을 반환하고 실제 위반들을 발견하는데 실패할 수 있다. 따라서, 기존의 마스크 규칙 체킹 기법들은 곡선형 마스크들을 프로세싱하기에는 부적합하다.
마스크 기입 기술은 발전했고 멀티 빔 전자빔 마스크 기입기들(writers)과 같은 머신들은 모든 각도 또는 곡선형 마스크들을 허용한다. 그러나, 곡선형 마스크들에는 머신들에게 제공될 때 어떤 기하학적 구성들이 허용될 것인지에 대한 특정 제한들 및 규칙들이 있다.
마스크 합성 흐름 동안 시스템은 사용자에 의해 특정된 MRC 요건들을 충족시킬 수 있거나 또는 충족시킬 수 없는 마스크를 다양한 중간 스테이지들에서 가질 수 있다. 그러므로, 다양한 실시예들에 따른 시스템은, 마스크를 체크하고 발견되는 임의의 MRC 위반들을 수정한다.
본 개시의 장점들은 곡선형 형상들의 폭 체크들, 곡선형 형상들 사이의 최소 거리 체크, 및 곡선형 형상들에서 예리한 모서리들을 검출하기 위한 체크들과 같은 마스크 규칙 체크들을 포함하는, 곡선형 형상들을 사용하여 마스크들에 대해 마스크 규칙 체크들을 수행하는 것을 비제한적으로 포함한다.
일부 마스크 합성 솔버들의 경우, 마스크는 화소화된 형태로 표현될 수 있다. 예를 들어, 시스템은 마스크 전달 또는 레벨 설정 기능, 또는 다른 표현을 나타내는 그레이 마스크를 저장할 수 있다. 시스템은 화소화된 형태를 다각형 포맷으로 변환하고 출력 마스크를 GDS(graphic design system) 또는 oasis(open artwork system interchange standard) 파일에 기입한다.
도 1a는 마스크의 화소화된 표현으로부터의 곡선형 마스크들의 생성을 예시한다. 시스템은 화소화된 그리드로부터 조각별 선형 다각형들을 특정된 높이에서 절단하여 추출하는 것에 의해 화소화된 표현을 윤곽 지정함으로써 추출을 수행한다. 이는 곡선형 마스크들의 생성을 초래한다.
기존의 마스크 규칙 정의들은 이러한 곡선형 마스크들에 대해 실패했다. 이는 곡선형 형상들이 명확하게 정의된 모서리들을 갖지 않을 수 있기 때문에 그러하다. 또한, 곡선형 마스크들에는 평행한 에지들이 없을 수 있다. 그 결과, 평행한 에지들 사이의 전형적인 에지 대 에지 투영 거리들은 관련이 없다. 따라서, 에지 간 거리들에 기초하여 폭을 특정하는 마스크 규칙들은 곡선형 마스크들에 적용하기 어렵다. 더욱이, 곡선형 마스크들은 다수의 에지들을 갖는 조각별 선형 형태를 사용하여 표현될 수 있다. 곡선형 마스크들에서 에지들의 수는 맨해튼 MRC 프로세스를 압도할 수 있다. 그 결과, 기존의 맨해튼 MRC 프로세스들 종종 너무 많은 마스크 규칙 위반들을 반환하거나 또는 실제 마스크 규칙 위반들을 발견하는데 실패한다.
도 1b는 곡선형 기하 형상에 대한 폭들을 정의하기 위해 전형적인 에지 대 에지 투영들을 사용함에 있어서의 어려움을 예시하는 예시적인 곡선형 마스크를 도시한다. 곡선형 기하 형상(110a)은 맨해튼 규칙들을 따르지 않는다. 따라서, 형상(110a)의 에지는 다양한 각도들로 회전하거나 매끄러운 곡선을 형성할 수 있다. 그 결과, 곡선형 기하 형상의 폭(120)은 곡선형 기하 형상의 상이한 부분들에서 상이할 수 있다. 예를 들어, 하나의 부분에서, 폭은 120a이며, 다른 부분에서, 폭은 120b이고, 다른 부분에서, 폭은 120c이다. 더욱이, 곡률이 더 높은 특정한 부분들에서, 형상의 폭은 폭이 결정되는 각도에 따라 달라질 수 있다. 예를 들어, 폭들(120c 및 120d)은 서로 가까이 있더라도 상이하다. 마스크들에 대한 폭 제약조건들을 검증하는 시스템이 폭을 측정할 곳과 측정 게이지에 사용되어야 하는 배향을 결정해야 한다. 곡선형 기하 형상의 경우 이들 측정들은 잘 정의되지 않는다. 이는 기존의 마스크 규칙 체크들이 곡선형 형상들을 취급하는 것을 어렵게 한다.
다른 예는 예리한 모서리들을 식별할 때 왜 기존의 맨해튼 체크들이 곡선형 형상들에 대해 실패하는지를 예시한다. 모서리가 두 개의 점들 사이의 물리적 거리가 그 점들 사이의 둘레 거리보다 훨씬 작은, 즉, 두 개의 점들 사이의 물리적 거리와 그 점들 사이의 둘레 거리의 비율이 모서리들에 대한 임계 값 미만인 기하학적 형상의 부분을 나타낸다.
도 1b는 곡선형 기하 형상에 대한 예리한 모서리들을 정의하기 위해 각도들을 사용함에 있어서의 어려움을 예시하는 예시적인 곡선형 마스크를 도시한다. 맨해튼 마스크 규칙 체크들은 형상들에서 예각들을 식별함으로써 예리한 모서리들을 식별한다. 전형적인 다각형 기반 예각 체크들은 각도를 정의하기 위해 다각형 꼭지점에서 이웃하는 에지들을 사용한다. 그러나, 곡선형 마스크들의 경우, 예리한 모서리들은 다수의 작은 에지들을 갖는 조각별 선형 형태를 사용하여 표현될 수 있다. 이들 인접한 에지들 중 어느 것도 예각을 형성하지 않는다. 그러므로, 이러한 예각 체크들은 효과적인 예리한 모서리들, 예를 들어, 둥글게 된 타원형의 예리한 모서리를 갖는 곡선형 마스크들의 부분들을 결정할 수 없다.
도 1c는 형상(110b)의 예각으로서 표현되는 예리한 모서리(130)가 다수의 각도들(140a 및 140b)을 사용하여 곡선형 형상(110c)에서 표현됨을 예시한다. 형상(110b)의 각도(130)가 예각이더라도, 형상들(110b 및 110c) 둘 다가 예리한 모서리를 가짐에도 불구하고 각도들(140a 및 140b)의 각각은 둔각이다. 그러므로, 이러한 이웃 대 이웃 각도 체크를 사용하는 대신, 실시예들은 꼭지점(X)에서 각도를 정의하기 위해 X로부터 양 방향들로 연장하는 이웃하는 에지 체인들에 기초한 각도들의 연장된 정의를 사용한다.
더욱이, 실시예들은 MRC 폭들 및 공간들, 즉, 치수 체크들을 정의하기 위해 뼈대들을 사용한다. 더 구체적으로는, 시스템은 일 실시예에 따라 다음의 단계들을 수행한다. 시스템은 치수 위반들을 검출하기 위해 거리들이 측정될 수 있는 기하학적 형상들에 대한 중앙 축(또는 뼈대)을 생성한다. 그 시스템은 특정한 부분들을 제외시키기 위해 그 뼈대를 트리밍한다. 그 시스템은 뼈대를 사용하여 폭 체크들을 수행한다.
도 1a, 도 1b, 도 1c, 및 다른 도면들은 유사한 참조 번호들을 사용하여 유사한 엘리먼트들을 식별한다. "110a"와 같이 참조 번호 뒤의 문자는 텍스트가 해당 특정 참조 번호를 갖는 엘리먼트를 구체적으로 참조함을 나타낸다. 텍스트에서 "110"과 같이 뒤따르는 문자가 없는 참조 번호가 해당 참조 번호를 포함하는 도면들에서의 엘리먼트들 중 임의의 것 또는 모두를 나타낸다(예컨대, 텍스트에서의 "110"은 도면들에서의 참조 번호들 "110a" 및/또는 "110b"를 의미한다).
마스크 규칙 체킹 시스템의 아키텍처
도 2는 일 실시예에 따른 마스크 규칙 체킹 시스템의 시스템 아키텍처의 블록도를 도시한다. 마스크 규칙 체킹 시스템(200)은 곡선형 형상들에 대한 특정한 특정 유형들의 마스크 규칙 체크들을 수행하기 위한 프로세스들을 구현한다. 영역 체크들과 같은 다른 마스크 규칙들이 맨해튼 마스크 규칙들로부터 일반화될 수 있다. 마스크 규칙 체킹 시스템(200)은 중앙 축 생성 컴포넌트(210), 중앙 축 트리밍 컴포넌트(220), 폭 체킹 컴포넌트(230), 각도 체킹 컴포넌트(240), 거리 체킹 컴포넌트(250), 및 마스크 표현 스토어(260)를 포함한다. 다른 실시예들은 본 개시에서 나타낸 것들보다 더 많거나 더 적은 컴포넌트들을 포함할 수 있다. 특정 컴포넌트에 의해 수행되고 있는 것으로서 본 개시에서 나타낸 기능은 본 개시에서 나타낸 것들과는 다른 컴포넌트들에 의해 수행될 수 있다.
중앙 축 생성 컴포넌트(210)는 마스크의 기하학적 형상들에 대한 중앙 축들을 생성한다. 일 실시예에서, 중앙 축 생성 컴포넌트(210)는 마스크를 표현하는 입력 기하학적 형상들의 보로노이 다이어그램(Voronoi diagram)을 결정한다. 각각의 기하학적 형상의 중앙 축 변환은 기하학적 형상 내에 놓이는 선분 보로노이 다이어그램의 부분이다. 기하학적 형상의 중앙 축은 또한 기하학적 형상의 뼈대로서 본 개시에서 지칭된다. 중앙 축 생성 컴포넌트(210)는 중앙 축의 부분들을 생성하는데 책임이 있었던 기하학적 형상들의 대응하는 에지들을 결정하고 저장한다. 중앙 축 생성 컴포넌트(210)는 또한 기하학적 형상들의 중앙 축 상의 점들과 중앙 축 상의 점들에 가장 가까운 에지들 상의 대응 점들 사이의 거리를 결정하고 저장할 수 있다.
기하학적 형상들 내에 놓이는 중앙 축은 내부 중앙 축이라 지칭된다. 내부 중앙 축은 기하학적 형상의 경계 상에 적어도 두 개의 가장 가까운 점들을 갖는 기하학적 형상 내의 점들을 나타낸다. 유사하게, 기하학적 형상들 밖에 있는 중앙 축이 결정될 수 있다. 기하학적 형상들 밖에 있는 중앙 축은 외부 중앙 축이라 지칭된다. 외부 기하학적 축은 기하학적 형상들의 경계 상에 둘 이상의 가장 가까운 점들을 갖는 기하학적 형상들 외부의 점들을 나타낸다. 둘 이상의 가장 가까운 점들은 동일한 기하학적 형상 상에 또는 상이한 기하학적 형상들 상에 있을 수 있다. 그러나, 외부 중앙 축은 전체 마스크가 그것이 기하학적 형상 내에 있고 각각의 원래의 기하학적 형상이 기하학적 형상 내의 홀로서 취급되도록 변환된 것이라고 가정되면 내부 중앙 축과 동일한 것으로 간주될 수 있다. 따라서, 원본 마스크의 외부 중앙 축은 변환된 마스크의 내부 중앙 축이 된다. 도 4d 및 도 4e는 외부 중앙 축과 내부 중앙 축 사이의 관계를 더 자세히 설명한다.
도 4a 내지 도 4c는 중앙 축 생성 컴포넌트(210)에 의해 수행되는 예시적인 기하학적 형상에 대한 중앙 축의 생성을 예시한다. 중앙 축 생성 컴포넌트(210)는 다각형의 각각의 꼭지점에서 시작하고 두 개의 이웃 에지들 사이의 각도를 이등분하는 에지로 뼈대를 안쪽으로 성장시킴으로써 각각의 다각형에 대한 중앙 축을 생성한다. 이등분 에지들은 내부 꼭지점에서 만난다. 이 꼭지점은 그 꼭지점에 인접한 선분들로부터 동일하게 멀리 있는 점을 나타낸다. 셀 내에 포함되는 이등분 에지들 중의 하나는 두 개의 세그먼트들의 이등분선이 내부 꼭지점으로부터 생성되는 동안 제거된다. 이 프로세스는 모든 에지들이 꼭지점들에서 끝나기까지 반복된다.
다른 실시예들에서, 중앙 축 생성 컴포넌트(210)는 선분들의 끝점들을 보존하는 동안 경계로부터 화소들을 연속적으로 제거하는 모폴로지 세선화(thinning)를 수행함으로써 중앙 축을 결정한다. 중앙 축 생성 컴포넌트(210)는 더 이상의 세선화가 가능하지 않을 때까지 이 프로세스를 반복한다. 남아 있는 점들은 입력 형상들의 뼈대를 형성한다.
다른 예로서, 중앙 축 생성 컴포넌트(210)는 이미지로서 특정되는 입력의 거리 변환을 결정한다. 거리 변환은, 영역들 내부의 점들의 세기들이 각각의 점에서부터 가장 가까운 경계까지 자신의 거리에 따른다는 점을 제외하면, 입력 이미지와 유사한 이미지를 생성한다. 중앙 축 생성 컴포넌트(210)는 특이점들(singularities), 즉, 변환된 이미지에서의 곡률 불연속성들을 식별한다. 기하학적 형상들의 중앙 축은 변환된 이미지에서 특이점들을 따라 놓인다.
중앙 축 트리밍 컴포넌트(220)는 중앙 축의 부분들을 트리밍하기 위한 다양한 프로세스들을 수행한다. 모서리들에 가까이 있는 부분들을 제거하기 위한 중앙 축의 트리밍이 도 6에 도시되어 있다. 기하학적 형상의 경계들로부터 멀리 있는 부분들을 제거하기 위한 중앙 축의 트리밍이 도 7에 예시되어 있다.
폭 체킹 컴포넌트(230)는 마스크들의 기하학적 형상들의 폭 체크를 수행한다. 마스크 규칙들은 기하학적 형상들이 특정된 폭 임계값보다 큰 폭 값을 갖는 것이 요구되도록 폭 임계 값을 특정한다. 일부 실시예들에서, 폭 체킹 컴포넌트(230)는 마스크의 기하학적 형상들의 폭 체크를 수행하기 위해 도 3의 흐름도에 예시된 프로세스를 수행한다.
각도 체킹 컴포넌트(240)는 기하학적 형상들의 모든 각도들이 예각 임계값보다 더 큰 것이 되는 것을 요구하는 각도 마스크 규칙을 기하학적 형상들의 임의의 모서리들이 위반하는지의 여부를 결정한다. 일 실시예에서, 각도 체킹 컴포넌트(240)는 도 10에 예시된 프로세스를 수행함으로써 각도 체크를 수행한다.
거리 체킹 컴포넌트(250)는 마스크 표현에서의 기하학적 형상들이 최소 거리 임계값을 유지하는지의 여부를 결정한다. 일 실시예에서, 거리 체킹 컴포넌트(250)는 도 15에 예시된 프로세스를 수행함으로써 거리 체크를 수행한다.
마스크 표현 스토어(260)는 전자 회로들에 대한 마스크들의 표현들을 저장한다. 전자 회로의 마스크 표현은 기하학적 형상들을 포함한다. 일 실시예에서, 그 기하학적 형상들은 다각형들이다. 마스크 규칙 체킹 시스템(200)은 곡선형 형상들을 포함하는 기하학적 형상들에 대한 마스크 규칙 체크들을 수행한다.
일 실시예에서, 마스크 규칙 체킹 시스템(200)은 마스크 규칙 체크의 결과들을 사용자 인터페이스를 통해 사용자에게 제시한다. 마스크 규칙 체킹 시스템(200)은 사용자 인터페이스를 구성하고 프레젠테이션을 클라이언트 디바이스를 통해 사용자에게 전송한다. 마스크 규칙 체킹 시스템(200)과 상호작용하기 위해 사용자에 의해 사용되는 클라이언트 디바이스는 운영 체제, 예를 들어, Microsoft Windows® 호환 운영체제(operating system)(OS), Apple OS X®, 및/또는 리눅스 배포판을 실행하는 개인용 컴퓨터(personal computer)(PC), 데스크톱 컴퓨터, 랩톱 컴퓨터, 노트북, 태블릿 PC일 수 있다.
클라이언트 디바이스들과 마스크 규칙 체킹 시스템(200) 사이의 상호작용들은 통상적으로 네트워크를 통해, 예를 들어, 인터넷을 통해 수행된다. 네트워크는 클라이언트 디바이스와 마스크 규칙 체킹 시스템(200) 사이의 통신들을 가능하게 한다. 하나의 실시예에서, 네트워크는 표준 통신 기술들 및/또는 프로토콜들을 사용한다. 네트워크를 통해 교환되는 데이터는 하이퍼 텍스트 마크업 언어(hypertext markup language)(HTML), 확장가능 마크업 언어(extensible markup language)(XML) 등을 포함하는 기술들 및/또는 포맷들을 사용하여 표현될 수 있다.
마스크 규칙 체킹 프로세스
도 3은 일 실시예에 따른, 곡선형 마스크들에 대한 마스크 규칙 체킹의 전체 프로세스를 예시하는 흐름도를 도시한다. 도 3의 흐름도에서 도시되는 단계들은 흐름도에서 나타낸 것과는 상이한 순서로 수행될 수 있다. 예를 들어, 특정한 단계들은 다른 단계들과는 병렬로 수행될 수 있다. 더욱이, 흐름도에서 도시되는 다양한 단계들은 병렬 또는 분산 시스템을 사용하여 수행될 수 있다.
마스크 규칙 체킹 시스템(200)은 전자 회로에 대한 마스크의 표현을 입력으로서 수신한다(310). 그 마스크 표현은 곡선형 형상들을 포함할 수 있다. 마스크 규칙 체킹 시스템(200)은 마스크 표현의 각각의 기하학적 형상에 대해 다음의 단계들(320, 330, 340)을 수행한다. 마스크 규칙 체킹 시스템(200)은 기하학적 형상의 중앙 축을 결정한다(320). 중앙 축은 기하학적 형상의 경계에서 적어도 두 개의 가장 가까운 점들을 갖는 기하학적 형상 내의 점들을 나타낸다. 기하학적 형상의 중앙 축을 결정하기 위한 프로세스들의 세부사항들은 도 4a 내지 도 4c에 관련하여 설명된다.
마스크 규칙 체킹 시스템(200)은 기하학적 형상에서 모서리들에 너무 가까운 (즉, 가장 근접한) 중앙 축의 부분들을 식별한다(330). 예를 들어, 기하학적 형상의 모서리의 임계 거리 내에 있는 중앙 축의 부분들이 식별될 수 있다. 임계 거리 내에 있는 중앙 축의 부분이 기하학적 형상에서 모서리에 가까이 있는 것으로 간주될 수 있다. 단계 330의 세부사항들은 도 6에 관련하여 설명된다. 일 실시예에서, 마스크 규칙 체킹 시스템은 추가로 기하학적 형상의 모서리들로부터 너무 멀리 있는 중앙 축의 부분들을 식별한다(340). 예를 들어, 기하학적 형상의 모서리의 임계 거리 내에 있지 않은 중앙 축의 부분들은 식별될 수 있다. 기하학적 형상의 모서리의 임계 거리 내에 있지 않은 중앙 축의 부분은 기하학적 형상에서 모서리로부터 너무 멀리 있는 것으로 간주될 수 있다. 단계 340의 세부사항들은 도 7에 관련하여 설명된다.
마스크 규칙 체킹 시스템(200)은 모서리들에 가까이 있는 것으로 결정되는 중앙 축의 부분들과 모서리들로부터 너무 멀리 있는 것으로 결정되는 중앙 축의 부분들을 제외시킴으로써 중앙 축을 트리밍한다. 마스크 규칙 체킹 시스템(200)은 트리밍된 중앙 축에 대해 마스크 규칙 체크들을 수행한다(350). 단계 350의 세부사항들은 도 8에 관련하여 설명된다.
마스크 규칙 체킹 시스템(200)은 모서리들에 너무 가까이 있는 중앙 축의 부분들을 제외시키는데, 이들 부분들이 모서리들에 가까이 있기 때문에 더 작은 폭을 가질 것으로 예상되기 때문이다. 이것들은 마스크 규칙들의 위반들을 나타내지 않는다. 이들 마스크들을 프로세싱하는 시스템들은 이들 부분들에 대한 허용을 포함한다.
일 실시예에서, 마스크 규칙 체킹 시스템(200)은 중앙 축의 두 가지 유형들의 부분들 중 어느 한 유형의 부분들, 예를 들어, 모서리들에 가까운 부분들 또는 에지들로부터 멀리 있는 부분들 중 어느 한쪽을 제외시킴으로써 중앙 축을 트리밍하고 트리밍된 중앙 축에 대해 마스크 규칙 체크들을 수행한다.
일 실시예에서, 마스크 규칙 체킹 시스템(200)은 트리밍된 중앙 축으로부터 후보 점들을 선택한다. 마스크 규칙 체킹 시스템(200)은 트리밍된 중앙 축으로부터 선택되는 각각의 후보 점이 기하학적 형상의 에지들로부터 최소 거리를 위반하는지의 여부를 체크한다. 마스크 규칙 체킹 시스템(200)이 마스크 규칙 위반들을 검출하면, 마스크 규칙 체킹 시스템(200)은 위반들을, 예를 들어, 마스크 규칙 체킹 시스템(200)의 사용자 인터페이스를 통해 디스플레이될 수 있는 보고서로서 보고할 수 있다.
마스크 규칙 체크들 수행
시스템은 중앙 축 변환을 적용함으로써 마스크의 뼈대 표현을 생성한다. 시스템은 뼈대의 특정한 부분들을 트리밍하는데 그 부분들이 특정 마스크 규칙 체크들을 수행하는데 필요하지 않기 때문이다.
도 4a는 볼록 모서리들로 연장되는 모든 각도 다각형의 중심에서의 예시적인 중앙 축을 도시한다. 형상(400)은 예리한 모서리들(415)과 곡선형 에지들(420)을 갖는다. 곡선형 에지가 곡선형 에지를 선형화하는 다수의 세그먼트들을 사용하여 표현될 수 있다. 따라서, 만곡되는 기하학적 형상이 다수의 에지들이 있는 다각형으로서 표현될 수 있다. 중앙 축(430)은 기하학적 형상(400)의 뼈대 표현을 형성한다.
중앙 축은 곡선형 형상을 특정 에지들에 가까이 있는 곡선형 형상 내의 점들을 표현하는 다양한 영역들로 나눈다. 예를 들어, 영역(440a)이 에지(410)에 가까이 있으며, 영역(440b)이 에지(420)에 가까이 있다는 등등이다.
마스크 규칙 체킹 시스템(200)은 전자 회로의 입력 마스크를 형성하는 기하학적 형상들에 대한 중앙 축을 결정한다. 도 4b는 일 실시예에 따른 원래의 다각형의 두 개의 에지들에 연관되는 중앙 축의 개별 섹션의 생성을 예시한다.
도 4c는 중앙 축 상의 한 점이 기하학적 형상 상의 적어도 두 개의 점들에 연관됨을 예시한다. 기하학적 형상의 중앙 축 상의 각각의 점이 기하학적 형상의 적어도 두 개의 점들로부터 등거리에 있다. 예를 들어, 점(450)은 중앙 축 상에 있고 기하학적 형상 상에 놓이는 점들(465 및 470)로부터 등거리이다. 도 4c에 예시된 바와 같이 점(450)은 점들(465 및 470)에 의해 유도된다. 중앙 축을 결정하기 위한 프로세스는 또한 중앙 축의 대응하는 부분들에 연관되는 기하학적 형상들의 에지들의 부분들을 저장한다. 이것들은 중앙 축 상의 점들에 가장 가까운 기하학적 형상들의 에지들의 점들을 나타낸다.
도 4d는 일 실시예에 따라 마스크의 외부 중앙 축이 내부 중앙 축과 유사하게 취급될 수 있음을 예시한다. 입력 마스크가 기하학적 형상들(475a 및 475b)을 포함하는 것으로 가정한다. 입력 마스크의 외부 중앙 축이 선(480)으로서 도시될 수 있다. 마스크는 그 기하학적 형상들을 큰 기하학적 형상(485) 내에 에워싸이게 함으로써 변환될 수 있다. 입력 마스크의 원래의 형상들(475a 및 475b)은 입력 마스크에서의 각각의 기하학적 형상이 기하학적 형상(485) 내의 홀에 해당하도록 변환된다. 따라서, 입력 마스크의 원래의 형상(475a)은 변환된 마스크의 홀(495a)이 되고 입력 마스크의 원래의 형상(475b)은 변환된 마스크의 홀(495b)이 된다. 따라서, 변환된 마스크의 내부 중앙 축(490)은 입력 마스크의 외부 중앙 축과 동일하다. 이 실시예에서, 시스템은 형상(485)에 의해 유도되는 중앙 축의 부분들을 무시하는데, 이 형상이 입력 마스크의 일부가 아니기 때문이다.
따라서, 내부 중앙 축에 기초한 임의의 마스크 규칙 체킹 프로세스가 외부 중앙 축을 사용하는 동등한 마스크 규칙 체크에 적용될 수 있고 반대의 경우도 마찬가지이다. 예를 들어, 기하학적 형상들이 입력 마스크에서 적어도 최소 거리 임계값인지를 체크하는 외부 중앙 축에 기초하는 마스크 규칙 체크가 내부 중앙 축(490)이 기하학적 형상 경계들로부터 적어도 최소 폭 임계값임을 결정하기 위해 위에서 설명된 바와 같이 마스크를 변환하고 내부 중앙 축(490)을 사용하여 폭 체크를 수행함으로써 수행될 수 있다. 대안적으로, 내부 중앙 축(490)이 기하학적 형상 경계들로부터 적어도 최소 폭 임계값임을 결정하기 위해 내부 중앙 축(490)을 사용하는 폭 체크가, 대신에, 기하학적 형상들이 입력 마스크에서 외부 중앙 축(480)으로부터 적어도 최소 거리 임계값 떨어져 있는지를 체크하는 외부 중앙 축에 대한 최소 거리 체크를 수행함으로써 수행될 수 있다.
도 4e는 일 실시예에 따른 마스크의 기하학적 형상들에 대응하는 외부 중앙 축을 예시한다. 외부 중앙 축은 둘 이상의 기하학적 형상들에 의해 유도되는 점들을 가질 수 있다. 중앙 축의 점이 기하학적 형상들 상의 점들로부터 등거리에 있으면 일부 기하학적 형상들에 의해 유도된다. 마스크는 두 개의 기하학적 형상들(478a 및 478b)을 포함한다. 중앙 축의 부분(488a)은 기하학적 형상(478a)의 에지(492a)와 기하학적 형상(478b)의 에지(492b)에 의해 유도된다. 중앙 축의 부분(488b)은 기하학적 형상(478a)의 에지(492c)와 기하학적 형상(478b)의 에지(492d)에 의해 유도된다. 그러나, 부분(488c)은 동일한 기하학적 형상(478a)에 둘 다가 속하는 에지들(492a 및 492c)에 의해 유도된다. 따라서, 중앙 축 상의 점이 하나 이상의 기하학적 형상들에 의해 유도될 수 있다.
둘레 임계값을 사용한 중앙 축 트리밍
도 5는 일 실시예에 따른 기하학적 형상의 중앙 축 상의 한 점이 트리밍되는지의 여부를 결정하기 위한 방법을 예시한다. 예를 들어, 기하학적 형상의 중앙 축 상의 점이 일 실시예에 따른 기하학적 형상의 모서리에 너무 가까우면 트리밍될 수 있다. 마스크 규칙 체킹 시스템(200)은 점(P)이 중앙 축으로부터 트리밍되는지 또는 트리밍 후에 중앙 축의 부분으로서 유지되도록 허용되는지를 결정한다.
마스크 규칙 체킹 시스템(200)은 둘레 임계값을 결정한다. 기하학적 형상의 중앙 축 상의 점(510)에 대해, 마스크 규칙 체킹 시스템(200)은 점(510)에 가장 가까운 기하학적 형상 상의 점들(520 및 530)을 결정한다. 마스크 규칙 체킹 시스템(200)은 점들(520 및 530) 사이의 기하학적 형상의 둘레 거리를 양 방향들에서 측정한다. 기하학적 형상의 경계 상의 두 개의 점들 사이의 둘레 거리는 하나의 점에서부터 기하학적 형상의 경계를 따라 다른 점에 도달하기 위해 이동되어야 할 필요가 있는 거리이다. 예를 들어, 하나의 방향을 따라, 기하학적 형상의 둘레(540)는 둘레 거리 d1을 가지고 다른 방향을 따라, 기하학적 형상의 둘레(550)는 둘레 거리 d2를 갖는다.
마스크 규칙 체킹 시스템(200)은 두 개의 둘레 거리들(d1 및 d2) 중 최소를 결정한다. 두 개의 둘레 거리들 중 최소가 둘레 임계값 미만이면, 마스크 규칙 체킹 시스템(200)은 점(510)이 기하학적 형상의 모서리에 너무 가깝고 트리밍을 위해 마킹되는 것으로 결정한다. 대안적으로, 두 개의 둘레 거리들의 최소가 둘레 임계값보다 크면, 마스크 규칙 체킹 시스템(200)은 점(510)이 기하학적 형상의 모서리에 너무 가깝지는 않고 마스크 규칙 체크들을 더 수행하도록 중앙 축에 유지하기 위해 마킹되는 것으로 결정한다.
다른 실시예들은 다른 기법들을 사용하여 점이 기하학적 형상의 모서리에 너무 가까운지를 결정하는 다른 기법들을 사용할 수 있다. 일부 실시예들에서, 마스크 규칙 체킹 시스템은 마스크 규칙들의 폭 및 공간 체크들의 치수들에 기초하여 둘레를 결정한다. 마스크 규칙 체킹 시스템(200)은 두 개의 점들이 상이한 다각형들 상에 있으면 두 개의 점들 사이의 거리를 무한대로서 설정한다.
도 6a는 일 실시예에 따른 둘레 임계 값의 결정을 예시한다. 마스크 규칙 체킹 시스템은 마스크 규칙들에 의해 특정되는 기하학적 형상들에 대한 최소 폭에 비례하는 값으로서 둘레 임계값을 결정한다. 예를 들어, 둥근 모서리들이 있는 다각형들의 경우, 마크 규칙 체킹 시스템은 둘레 임계값을 πW/2인 것으로 결정할 수 있으며, 여기서 W는 마스크 규칙들에 의해 특정되는 기하학적 형상들에 대한 최소 폭이다. 따라서, 중앙 축 상의 점(P)은 그 점(P)에 가장 가까운 기하학적 형상 상의 점 쌍 (P1, P2)가 서로로부터 πW/2의 둘레 거리 미만에 있으면 트리밍된다.
마스크 규칙 체킹 시스템(200)은 상이한 유형들의 기하학적 형상들에 대해 상이한 둘레 임계 값들을 설정할 수 있다. 따라서, 둘레 임계값은 기하학적 형상의 유형에 따라 다르다. 더 구체적으로는, 마스크 규칙 체킹 시스템(200)은 마스크의 기하학적 형상의 모서리의 허용된 형상에 기초하여 둘레 임계값을 결정할 수 있다. 예를 들어, 원형 모서리들이 있는 기하학적 형상들에 대한 둘레 임계값은 타원형 모서리들 또는 삼각형 모서리들이 있는 기하학적 형상들에 대한 둘레 임계값과는 상이하다. 기하학적 형상들이 원형 또는 타원형으로 간주되더라도, 이들 기하학적 형상들은 다수의 작은 인접한 에지들을 사용하여 선형화된다는 것에 주의한다.
도 6b는 일 실시예에 따른 마스크 규칙 체크들을 수행하기 위해 폭이 측정되거나 또는 측정되지 않는 기하학적 형상의 부분들을 예시한다. 구체적으로, 폭은 모서리(630)에 가까운 것으로 결정되는 영역(610)에서 마스크 규칙 체크들을 위해 측정되지 않고 폭은 어느 모서리에도 가깝지 않은 것으로 결정되는 영역(620)에서 마스크 규칙 체크들을 위해 측정된다.
일부 실시예에서, 마스크 규칙 체킹 시스템(200)은 상이한 타원율(ellipticity)을 갖는 모서리들이 허용되면 마스크 규칙 체크들이 수행될 곳을 특정하기 위해 각도 체크와 연계하여 둘레 임계값을 사용한다.
도 7은 일 실시예에 따른 최소 폭 또는 공간 위반들이라고 간주되기에는 기하학적 형상의 에지들로부터 너무 멀리 있는 중앙 축 상의 점들을 필터링하는 것을 예시한다. 도 7은 기하학적 형상의 에지로부터 거리 d에 있는 중앙 축 상의 점(P)을 도시한다. 마스크 규칙 체킹 시스템(200)은 파라미터인 최대 공차 임계값을 중앙 축 상의 임의의 점이 중앙 축에 포함되기 위해 마스크의 기하학적 형상의 에지로부터 가질 수 있는 최대 거리로서 정의한다. 예를 들어, 마스크 규칙 체킹 시스템(200)은 최대 공차 임계값을 W/2인 것으로 설정할 수 있으며, 여기서 W는 마스크 규칙들에 의해 특정되는 기하학적 형상들에 대한 최소 폭이다.
마스크 규칙 체킹 시스템(200)은 중앙 축 상의 한 점을 식별하고 식별된 점과 기하학적 형상의 에지 상의 가장 가까운 점 사이의 거리가 최대 공차 임계값보다 큰지의 여부를 결정한다. 식별된 점과 기하학적 형상의 에지 상의 가장 가까운 점 사이의 거리가 최대 공차 임계값보다 크면, 마스크 규칙 체킹 시스템(200)은 식별된 점을 기하학적 형상의 에지들로부터 멀리 있는 것으로서 마킹한다. 마스크 규칙 체킹 시스템(200)은 기하학적 형상의 식별된 점들을 제외시킨다. 마스크 규칙 체킹 시스템(200)은 서로로부터 거리 W를 초과하는 마스크의 부분들에 의해 정의되는 중앙 축의 부분들을 제외시킨다.
일 실시예에서, 마스크 규칙 체킹 시스템(200)은 중앙 축의 점들을 샘플링하고 그 점들이 제외될 것인지의 여부를 결정하기 위해 체크들을 수행한다. 마스크 규칙 체킹 시스템(100)은, 예를 들어 임계 거리 미만으로, 서로에게 가까이 있는 점들을 샘플링한다. 따라서, 서로에게 가까운 중앙 축의 두 개의 점들이 중앙 축으로부터 제외되는 것으로 마킹되면, 마스크 규칙 체킹 시스템(100)은 두 개의 점들 사이의 중앙 축의 전체 부분을 제외시킨다.
마스크 규칙 체킹 시스템은 모서리들에 너무 가깝거나 또는 mas의 기하학적 형상들의 에지들로부터 너무 멀리 있는 것으로서 식별되는 중앙 축의 부분들을 제외시킴으로써 중앙 축을 트리밍한다. 마스크 규칙 체킹 시스템(100)은 트리밍된 중앙 축에 대해 마스크 규칙 체크들을 수행한다. 트리밍된 중앙 축의 남아있는 부분들은 동시에 도 5 및 도 7의 요건들을 충족시킨다.
도 8은 일 실시예에 따른 마스크 규칙들의 위반들을 나타내는 마스크의 부분들을 도시한다. 선들(820)은 트리밍된 중앙 축을 나타낸다. 선들(810)은 마스크의 기하학적 형상들의 에지들을 나타낸다. 마스크 규칙 체킹 시스템(200)은 트리밍된 중앙 축의 점들에 가장 가까운 점들을 나타내는 기하학적 형상들의 부분들을 식별한다. 이것들은 도 8에서 에지들(830)로서 도시된다. 마스크 규칙 체킹 시스템(200)은 기하학적 형상들의 식별된 부분들, 즉, 에지들(830)을 마스크 규칙들의 위반들로서 마킹한다.
마스크 규칙 체킹 시스템(200)은, 예를 들어 마스크 규칙 체킹 시스템(200)의 사용자 인터페이스를 통한 디스플레이를 위해, 마스크 규칙들의 위반들로서 마킹되는 기하학적 형상들의 식별된 부분들을 기술하는 정보를 전송할 수 있다. 마스크 규칙 체킹 시스템(200)은 마스크 규칙 위반들을 기술하는 정보를, 예를 들어, 파일에 저장하고 검토를 위해 파일을 제공할 수 있다. 마스크 규칙 체킹 시스템은 수정된 마스크가 임의의 마스크 규칙들을 위반하지 않도록 사용자로부터 수정된 마스크를 수신할 수 있다. 마스크 규칙 체킹 시스템은 마스크 규칙 위반들을 제거하기 위해 마스크들을 자동으로 수정할 수 있다. 마스크 규칙 체킹 시스템은 전자 회로에 기초하여 칩의 제작을 위한 수정된 마스크를 전송할 수 있다.
예리한 각도 마스크 규칙 체크들
본 개시에서 설명되는 실시예들은 기존의 맨해튼 마스크 규칙 체크들을 사용하여 검출될 수 없는 곡선형 형상들의 예리한 각도(또는 예리한 모서리) 체크들을 수행할 수 있다.
도 9a는 일 실시예에 따른 예리한 각도(또는 예리한 모서리) 체크들을 예시하기 위한 곡선형 에지들이 있는 기하학적 형상을 도시한다. 도 9b는 일 실시예에 따른 마스크 규칙 체크들을 예시하기 위한 작은 노치들을 갖는 곡선형 에지들이 있는 다른 기하학적 형상을 도시한다.
본 개시에서 설명되는 바와 같이, 마스크의 기하학적 형상들의 곡선형 에지들은 작은 인접한 많은 에지들을 포함할 수 있는 조각별 선형 표현을 사용하여 표현될 수 있다. 그 결과, 임의의 두 개의 인접한 세그먼트들 사이의 각도들은 기하학적 형상이 도 1b에 도시된 바와 같은 예각과 유사한 예리한 모서리를 형성하더라도 둔각이 될 가능성이 있다. 마스크 규칙 체크는 특정 꼭지각 자체가 예각이지도 예리한 모서리를 나타내지도 않더라도 이러한 기하학적 형상들이 위반을 나타낼 것으로 예상한다. 맨해튼 마스크 규칙 체크가 기하학적 형상이 예리한 각도들을 포함하는지의 여부를 결정하기 위해 인접한 에지들 사이의 각도들을 임계 값들과 단순히 비교한다. 그 결과, 맨해튼 마스크 규칙 체크들은 마스크 표현들의 기하학적 형상들에서 이러한 예리한 모서리들을 검출하는데 실패한다.
기하학적 형상들에는, 예를 들어 도 9b에 도시된 바와 같이, 예각을 갖는 매우 작은 범프들 또는 예리한 에지들이 있을 수 있다. 마스크 규칙 체크들은 에지들의 이들 거친 부분들이 예리한 각도들을 포함하더라도 이들 거친 부분들을 무시해야 하는데 실제 위반들이 에지들에서 이들 작은 범프들보다 더 큰 스케일로 있기 때문이다. 기존의 마스크 규칙 체크들은 이들 부분들을 마스크 규칙 위반들로서 플래깅할 수 있는데 그것들이 각각의 각도와 임계 값을 비교하기 때문이다. 그러나, 실시예들은 이들 마이너 범프들을 마스크 규칙 위반들로서 플래깅하는 일없이 마스크 규칙 체크들을 수행할 수 있다.
도 10은 일 실시예에 따른 곡선형 형상들에 대한 예각 체크들을 수행하기 위한 프로세스를 예시하는 흐름도를 도시한다. 마스크 규칙 체킹 시스템(200)은 마스크 규칙 체크들을 수행하기 위한 전자 회로에 대한 마스크 표현을 수신한다. 마스크 규칙 체킹 시스템(200)은 마스크 표현의 기하학적 형상들을 프로세싱한다.
마스크 규칙 체킹 시스템(200)은 예각 체크들을 위해 마스크 표현으로부터 기하학적 형상을 식별한다(1010). 마스크 규칙 체킹 시스템(200)은 기하학적 형상에서의 모서리들이 예각 체크 마스크 규칙에 의해 정의된 예각 임계값(T) 미만인 유효 각도를 형성하는지의 여부를 체크한다.
마스크 규칙 체킹 시스템(200)은 기하학적 형상의 다수의 점들에 대해 단계들(1020, 1030, 1040, 및 1050)을 수행할 수 있다. 마스크 규칙 체킹 시스템(200)은 예각 체크를 수행하기 위한 점(V)으로서 선택한다(1020). 선택된 점(V)은 꼭지점이라 지칭된다. 마스크 규칙 체킹 시스템(200)은 기하학적 형상의 경계 상의 점 쌍 (Q, R)을 결정한다(1030). 점 쌍으로부터의 각각의 점 (Q, R)은 꼭지점(V)으로부터 임계 거리(A)에 있다. 마스크 규칙 체킹 시스템(200)은 세그먼트들 또는 선들, 예를 들어, Q 및 R의 각각과 꼭지점(V)을 연결함으로써 획득되는 할선들(secant lines)에 의해 형성되는 각도(X)를 결정한다. 따라서, 하나의 할선은 Q와 V를 연결시키고 다른 할선은 R과 V를 연결시킨다.
마스크 규칙 체킹 시스템(200)은 결정된 각도(X)가 예각 임계값(T) 미만인지의 여부를 결정한다(1040). 마스크 규칙 체킹 시스템(200)이 위의 할선들로 형성된 각도에 연관되는 꼭지점들을 예각 임계값(T)보다 작은 것으로서 식별하면, 마스크 규칙 체킹 시스템(200)은 식별된 꼭지점들을 마스크 규칙 위반들으로서 보고한다(1040).
도 9b에 도시된 바와 같이, 각도 체크 파라미터들은 매우 작은 노치들이 검출될 수 있도록 설정될 수 있다. 예를 들어, 임계 거리(T)는 다각형을 나타내기 위한 시스템의 최소 거리, 즉, dbu(database unit)의 일부(fraction)인 매우 작은 값으로 설정된다. 예를 들어, 임계 거리(A)는 값 0.1*dbu로 설정된다. 예각 임계값(T)은 임의의 원하는 값, 예를 들어, 90 도로 설정될 수 있다.
마스크 규칙 체킹 시스템은 이들 작은 노치들을 결정하기 위해 도 10의 프로세스를 실행할 수 있다. 이 체크는 이들 노치들을 식별할 것이지만 기하학적 형상들의 임의의 다른 영역들을 플래깅하지 않을 것인데 그것들이 임계 거리(A)의 상이한 값을 사용하여 체크되기 때문이다. 따라서, 마스크 규칙 체킹 시스템(200)은 임계 거리(A)에 대해 상이한 값들을 설정함으로써 동일한 예각 임계값(T)에 대해 상이한 유형들의 예각 체크들을 수행할 수 있다.
결합식 각도 및 차원수 체크들
도 3에 예시된 프로세스는 폭 체크들로부터 기하학적 형상들의 부분들, 예를 들어 기하학적 형상들의 모서리들을 제외시킨다. 그 결과, 이들 부분들은 폭 위반들에 대해 체크되지 않을 수 있다. 그러나, 이들 부분들에는 다른 유형들의 마스크 규칙 위반들, 이를테면 예각 위반들이 있을 수 있다. 도 10에 예시된 프로세스는 양 유형들의 위반들이 포착되는 것을 보장하기 위해 도 3의 프로세스에 더하여 실행될 수 있다.
마스크 규칙 체크들이 특정한 유형들의 기하학적 형상들을 허용하면, 마스크 규칙 체킹 시스템(200)은 기하학적 형상의 유형에 기초하여 양 프로세스들 (도 3 및 도 10)에 대한 파라미터들을 결정한다.
도 11은 일 실시예에 따른 원형 모서리들이 있는 기하학적 형상들에 대한 파라미터들을 예시한다. 마스크 규칙 체킹 시스템(200)은 둘레 임계값을 값 πW/2인 것으로 선택한다. 더욱이, 마스크 규칙 체킹 시스템(200)은 임계 거리 값(A)을
Figure pct00001
, 즉, 빗변(W)을 갖는 직각삼각형의 변인 것으로 결정한다. 마스크 규칙 체킹 시스템(200)은 모서리들의 원형 형상에 기초하여 예각 임계값(T)을 90 도(직각)인 것으로 결정한다. 마스크 규칙 체킹 시스템(200)은 실질적으로 원형인 형상들이 허용될 것이지만 원형 형상들과는 너무 상이한 형상들이 마스크 규칙 위반들로서 플래깅되도록 할 어떤 허용치를 도입하기 위해 이들 파라미터들을 스케일링할 수 있다.
도 12는 일 실시예에 따른 타원형 모서리들이 있는 기하학적 형상들에 대한 파라미터들을 예시한다. 타원형 모서리들의 경우, 마스크 규칙 체킹 시스템(200)은 둘레 임계값을 KπW/2인 것으로 결정하며, 여기서 K는 1보다 큰 계수이고 모서리들에 대한 마스크 규칙들에 의해 허용되는 타원 형상의 곡률에 따라 달라진다. 예를 들어, 매우 예리한 모서리들을 나타내는 타원들의 경우, K의 값은 더 높고 덜 예리한(즉, 거의 원형 모서리들의) 타원들의 경우, K의 값은 1에 더 가깝다. 임계 거리(A)의 값은 0.5W/sin(θ/2)인 것으로 결정되며 여기서 예각 임계값은 θ이다. θ의 값은 예리한 모서리들을 나타내는 타원 형상들에 대해 90 도 미만이다. 허용된 타원의 곡률은 예각 임계값의 값이 θ라고 결정한다. 따라서, 고도로 만곡된 타원들이 있는 예리한 모서리들은 θ의 작은 값을 가지고 덜 만곡된 타원들이 있는 덜 예리한 모서리들은 θ의 더 높은 값들을 가진다.
마스크 규칙들을 위반하는 기하학적 형상들 고치기
일부 실시예들에서, 마스크 규칙 체킹 시스템(200)은 위반들의 로케이션들을, 예를 들어, 사용자 인터페이스를 통해 또는 메시지를 통해 보고한다. 마스크 규칙 위반들을 설명하는 보고서는 사용자에게 수동 검토를 위해 제시될 수 있다. 그 보고서는 다양한 위반들, 예를 들어, 도 8에 예시된 바와 같은 폭 위반들을 보여주는 기하학적 형상의 에지들의 다양한 부분들 또는 각도 체크들을 위반하는 모서리들을 나타내는 기하학적 형상들의 부분들을 강조하는 마스크의 이미지를 제시할 수 있다.
일부 실시예들에서, 마스크 규칙 체킹 시스템(200)은 마스크 위반들을 제거하기 위해서 기하학적 형상들을 수정한다. 마스크 규칙 체킹 시스템(200)은 수동 검토를 위해 사용자에게 수정된 마스크를 전송하거나 마스크에 대응하는 전자 회로용 칩의 제작을 위한 마스크를 전송할 수 있다.
도 13은 일 실시예에 따른 폭 위반들을 고치기 위해 마스크를 수정하는 것을 예시한다. 도 8에 도시된 바와 같이 마스크 규칙 체킹 시스템(200)은 중앙 축의 부분들과 폭 위반을 갖는 기하학적 형상의 대응하는 경계들을 식별한다. 마스크 규칙 체킹 시스템(200)은 폭 위반에 연관되는 중앙 축 부분(1310)의 사이즈를 특정된 폭, 즉, W/2로 증가시킨다. 마스크 규칙 체킹 시스템(200)은 마스크의 기하학적 형상을 조정하고 확장된 중앙 축을 제거하여 폭 위반을 갖지 않는 기하학적 형상(1320)을 획득한다.
도 14a는 일 실시예에 따른 도 13에 도시된 바와 같은 폭 위반(1310)이 고쳐진(1410) 수정된 마스크를 도시한다. 마스크 규칙 체킹 시스템(200)은 다양한 기법들을 사용하여 각도 위반들을 고칠 수 있다. 각도 위반을 고치기 위해 사용되는 기법은 임계 거리(A)의 각도 및 사이즈에 따라 달라진다. 도 14b는 일 실시예에 따른 예시적인 각도 위반들 및 각도 위반을 고치기 위한 마스크의 수정을 도시한다. 도 14b에 도시된 바와 같은 작은 위반들의 경우 마스크 규칙 체킹 시스템(200)은 모서리의 점에 있는 꼭지점을 제거한다. 도 14b에 도시된 바와 같이, 원본 마스크 형상은 1410이며, 제1 반복 후에 수정된 형상은 1420이고, 제2 반복 후에 수정된 형상은 1430이다.
예를 들어 도 12에 도시된 바와 같은 다각형 단부에서의 제거 때문에 리소그래피 성능에 유해할 수 있는 각도 위반들의 경우, 마스크 규칙 체킹 시스템(200)은 다수의 꼭지점들을 사용하여 비부합 꼭지점을 대체함으로써 마스크 규칙 체크 부합 다각형 모서리로서 재구성한다. 다수의 꼭지점들은 유효 예각을 갖지 않는 매끄러운 모서리를 생성하고 그러므로 각도 마스크 규칙을 위반하지 않는다.
기하학적 형상들 사이의 최소 거리 체크
마스크 규칙들은 기하학적 형상들 사이의 최소 거리(D m )를 요구하는 거리 마스크 규칙을 포함한다. 서로 평행한 두 개의 인접한 맨해튼 형상들은 거리가 측정되는 곳에 상관없이 그것들 사이에 동일한 거리를 갖는다. 따라서 거리 마스크 규칙의 위반에 대한 체킹은 맨해튼 형상들에 대해 간단하다. 그러나, 두 개의 인접한 곡선형 형상들 사이의 거리는 거리가 측정되는 곳에 따라 달라진다. 예를 들어, 두 개의 곡선형 형상들은 하나의 로케이션에서 측정되면 하나의 거리 값을 그리고 다른 로케이션에서 측정되면 다른 거리 값을 가질 수 있다. 그러므로, 맨해튼 형상들에 대한 거리 마스크 규칙의 위반을 검출하는 기존의 기법들은 곡선형 형상들에 대해 작동하지 않는다. 실시예들은 마스크 표현이 임의의 두 개의 기하학적 형상들 사이에 최소 거리(D m )를 유지하는지의 여부를 결정하기 위해 곡선형 형상들의 거리 체크들을 수행한다.
도 15는 일 실시예에 따른 곡선형 형상들에 대한 거리 체크들을 수행하기 위한 프로세스를 예시하는 흐름도를 도시한다. 단계들은 거리 체킹 컴포넌트(250)에 의해 또는 임의의 다른 컴포넌트에 의해 수행될 수 있다.
마스크 규칙 체킹 시스템(200)은 마스크 규칙 체크들을 수행하기 위한 곡선형 형상들을 포함하는 마스크 표현을 수신한다(1510). 마스크 규칙 체킹 시스템(200)은 마스크 표현의 기하학적 형상들 사이의 중앙 축을 결정한다(1520). 중앙 축은 기하학적 형상들 사이에 점들을 포함한다. 중앙 축의 각각의 점은 적어도 두 개의 기하학적 형상들로부터 등거리에 있다. 중앙 축은 마스크를 표현하는 입력 기하학적 형상들의 보로노이 다이어그램을 나타낸다. 중앙 축 생성 컴포넌트(210)는 중앙 축의 각각의 부분을 생성하는 것을 담당했던 기하학적 형상 쌍의 에지들을 결정 및 저장하고 기하학적 형상들로부터의 중앙 축의 점 또는 부분들의 거리를 저장할 수 있다.
마스크 규칙 체킹 시스템(200)은 기하학적 형상 쌍에 연관되는 중앙 축의 각각의 부분에 대해 다음의 단계들을 반복한다. 마스크 규칙 체킹 시스템(200)은 중앙 축의 부분의 점 세트를 샘플링하고 각각의 샘플링된 점에 대해 단계들(1530, 1540, 1550, 및 1560)을 반복한다.
마스크 규칙 체킹 시스템(200)은 두 개의 점들(Px1 및 Px2)에 연관되는 중앙 축 상의 점(Px)을 선택하여서(1530), Px1은 기하학적 형상(S1) 상에 있고 Px2는 기하학적 형상(S2) 상에 있다. 점 Px는 두 개의 점들(Px1 및 Px2)로부터 등거리이다. 마스크 규칙 체킹 시스템(200)은 중앙 축 상의 점(Px)과 기하학적 형상들(S1 및 S2) 사이의 거리를 나타내는, 점(Px)과 두 개의 점들(Px1 and Px2) 사이의 거리(D)를 결정된다(1540).
마스크 규칙 체킹 시스템(200)은 거리(D)를 거리 임계값(T D )과 비교한다. 마스크 규칙 체킹 시스템(200)이 거리(D)가 거리 임계값(T D ) 미만이라고 결정하면, 마스크 규칙 체킹 시스템(200)은 두 개의 기하학적 형상들(S1 및 S2) 사이의 마스크 규칙 위반을 보고한다. 모든 샘플링된 점들에 대해, 거리(D)가 적어도 거리 임계값(T D )이라고 마스크 규칙 체킹 시스템(200)이 결정하면, 마스크 규칙 체킹 시스템(200)은 두 개의 기하학적 형상들 사이에 거리 위반이 없음을 나타내는 정보를 저장할 수 있다.
거리 임계값(T D )은 거리 마스크 규칙에 의해 특정되는 기하학적 형상들 사이의 최소 거리(D m )에 기초하여 결정된다. 일 실시예에서, 거리 임계값(T D )은 거리 마스크 규칙에 의해 특정되는 바와 같은 최소 거리(D m )의 절반과 동일(또는 실질적으로 동일)하며, 즉, 거리 임계값 TD = D m /2이다.
마스크 규칙 체킹 시스템(200)은 마스크 규칙 위반들을 사용자에게, 예를 들어, 메시지 또는 사용자 인터페이스를 통해 제시할 수 있다. 일 실시예에서, 마스크 규칙 체킹 시스템(200)은 기하학적 형상들을 이동하여 거리 마스크 규칙 위반들을 제거함으로써 마스크를 수정한다. 따라서, 마스크 규칙 체킹 시스템(200)은 점 세트의 각각의 점과 기하학적 형상 쌍으로부터의 기하학적 형상들 사이의 거리가 적어도 임계 거리가 되도록 기하학적 형상 쌍 사이의 거리를 증가시킨다.
마스크 규칙 체킹 시스템(200)은 다른 마스크 규칙, 예를 들어 상이한 기하학적 형상 쌍 사이의 거리 마스크 규칙을 위반하는 일없이 기하학적 형상들을 이동시키지 못할 수 있다. 마스크 규칙 체킹 시스템(200)이 기하학적 형상들을 이동시켜 위반들을 제거할 수 없으면, 마스크 규칙 체킹 시스템(200)은 마스크 위반이 없도록 사용자가 마스크를 수동으로 수정할 수 있게 하는 위반들을 기술하는 정보를 사용자에게, 예를 들어, 사용자 인터페이스를 통해 제시한다.
일부 실시예들에서, 최소 거리 체크는 마스크의 기하학적 형상들을 에워싸는 기하학적 형상을 추가하고 마스크의 기하학적 형상들을 추가된 기하학적 형상 안의 홀들로서 취급되도록 반전시키는 것에 의해 도 4d에 관련하여 설명된 바와 같이 마스크를 변환함으로써 수행된다. 마스크 규칙 체킹 시스템(200)은 도 3의 흐름도에 의해 예시된 바와 같이 내부 중앙 축을 사용한 폭 체크를 수행함으로써 기하학적 형상들 사이의 최소 거리 체크를 수행한다.
전자 설계 자동화 프로세스
도 16은 집적 회로를 나타내는 설계 데이터 및 명령어들을 변환하고 검증하기 위해 집적 회로와 같은 제조물품의 설계, 검증, 및 제작 동안 사용되는 예시적인 프로세스들의 세트(1600)를 예시한다. 이들 프로세스들의 각각은 다수의 모듈들 또는 동작들로서 구조화되고 가능화될 수 있다. 'EDA'라는 용어는 'Electronic Design Automation'라는 용어를 의미한다. 이들 프로세스들은 설계자에 의해 공급되는 정보로 제품 아이디어(1610)의 생성을 시작하고, 정보는 EDA 프로세스들의 세트(1612)를 사용하는 제조물품을 생성하도록 변환된다. 설계가 완료될 때, 설계는 테이프 아웃(tape out)되며(1634), 집적 회로에 대한 아트워크(예컨대, 기하학적 패턴들)가 마스크 세트를 제조하기 위한 제작 시설에 보내진 다음, 집적 회로를 제조하는데 사용된다. 테이프 아웃 후, 반도체 다이가 제작되고(1636) 패키징 및 조립 프로세스들(1638)은 완성된 집적 회로(1640)를 생산하도록 수행된다.
회로 또는 전자 구조에 대한 사양들은 저수준 트랜지스터 재료 레이아웃들에서 고수준 디스크립션 언어들까지 다양할 수 있다. 고수준의 추상화가 VHDL, Verilog, SystemVerilog, SystemC, MyHDL 또는 OpenVera와 같은 하드웨어 디스크립션 언어(hardware description language)('HDL')를 사용하여 회로들 및 시스템들을 설계하는데 사용될 수 있다. HDL 디스크립션은 로직 수준 레지스터 전송 수준(register transfer level)('RTL') 디스크립션, 게이트 수준 디스크립션, 레이아웃 수준 디스크립션, 또는 마스크 수준 디스크립션으로 변환될 수 있다. 덜 추상적인 디스크립션인 더 낮은 각각의 추상화 수준은 더 유용한 세부사항, 예를 들어, 디스크립션을 포함하는 모듈들에 대한 더 많은 세부사항들을 설계 디스크립션에 추가한다. 덜 추상적인 디스크립션들인 더 낮은 추상화 수준들은 컴퓨터에 의해 생성, 설계 라이브러리로부터 도출, 또는 다른 설계 자동화 프로세스에 의해 생성될 수 있다. 더 상세한 디스크립션들을 특정하기 위한 더 낮은 추상화 언어 수준에서의 사양 언어의 예가 SPICE이며, 이는 많은 아날로그 컴포넌트들이 있는 회로들의 상세한 설명들을 위해 사용된다. 각각의 추상화 레벨에서의 디스크립션들은 해당 계층의 대응하는 도구들(예컨대, 공식 검증 도구)에 의해 사용될 수 있다. 설계 프로세스가 도 16에 묘사된 시퀀스를 사용할 수 있다. 설명되는 프로세스들은 EDA 제품들(또는 도구들)에 의해 가능화된다.
시스템 설계(1614) 동안, 제조될 집적 회로의 기능이 특정된다. 설계는 소비 전력, 성능, 면적(물리적 및/또는 코드 라인들)과 같은 원하는 특성들, 및 비용의 절감 등을 위해 최적화될 수 있다. 설계의 상이한 유형들의 모듈들 또는 컴포넌트들로의 파티셔닝은 이 스테이지에서 일어날 수 있다.
로직 설계 및 기능 검증(1616) 동안, 회로에서의 모듈들 또는 컴포넌트들은 하나 이상의 디스크립션 언어들에서 특정되고 그 사양은 기능 정확도에 대해 체크된다. 예를 들어, 회로의 컴포넌트들은 설계되고 있는 회로 또는 시스템의 사양의 요건들과 일치하는 출력들을 생성하기 위해 검증될 수 있다. 기능 검증은 시뮬레이터들과, 테스트벤치 생성기들, 정적 HDL 체커들, 및 공식 검증기들과 같은 다른 프로그램들을 사용할 수 있다. 일부 실시예들에서, '에뮬레이터들' 또는 '프로토타입화 시스템들'이라 지칭되는 컴포넌트들의 특수한 시스템들은 기능 검증을 고속화하는데 사용된다.
테스트를 위한 합성 및 설계(1618) 동안, HDL 코드는 넷리스트(netlist)로 변환된다. 일부 실시예들에서, 넷리스트는 그래프 구조의 에지들이 회로의 컴포넌트들을 나타내고 그래프 구조의 노드들이 컴포넌트들이 상호연결되는 방법을 나타내는 그래프 구조일 수 있다. HDL 코드 및 넷리스트 둘 다는 집적 회로가, 제조될 때, 특정된 설계에 따라 수행함을 검증하기 위해 EDA 제품에 의해 사용될 수 있는 계층적 제조품들이다. 넷리스트는 타겟 반도체 제조 기술에 대해 최적화될 수 있다. 추가로, 완성된 집적 회로는 집적 회로가 사양의 요건들을 충족함을 검증하기 위해 테스트될 수 있다.
넷리스트 검증(1620) 동안, 넷리스트는 타이밍 제약조건들에의 부합에 대해 그리고 HDL 코드와의 상응(correspondence)에 대해 체크된다. 설계 계획(1622) 동안, 집적 회로에 대한 전체 평면도가 구성되고 타이밍 및 최상위 수준 라우팅에 대해 분석된다.
레이아웃 또는 물리적 구현(1624) 동안, 물리적 배치(트랜지스터들 또는 커패시터들과 같은 회로 컴포넌트들의 포지셔닝) 및 라우팅(다수의 도체들에 의한 회로 컴포넌트들의 연결)은 일어나고, 특정 로직 기능들을 가능화하기 위한 라이브러리로부터의 셀들의 선택은 수행될 수 있다. 본 개시에서 사용되는 바와 같이, '셀'이란 용어는 부울 로직 함수(예컨대, AND, OR, NOT, XOR) 또는 저장 기능(이를테면 플립플롭 또는 래치)을 제공하는 한 세트의 트랜지스터들, 다른 컴포넌트들, 및 상호연결들을 특정할 수 있다. 본 개시에서 사용되는 바와 같이, 회로 '블록'이 둘 이상의 셀들을 의미할 수 있다. 셀 및 회로 블록 둘 다는 모듈 또는 컴포넌트로서 지칭될 수 있고 물리적 구조들로서 그리고 시뮬레이션들에서 가능하게 된다. 파라미터들은 사이즈와 같은 선택된 셀들에 대해('표준 셀들'에 기초하여) 특정되고 EDA 제품들에 의한 사용을 위해 데이터베이스에서 액세스 가능해진다.
분석 및 추출(1626) 동안, 회로 기능은 레이아웃 수준에서 검증되며, 이는 레이아웃 설계의 리파인먼트(refinement)를 허용한다. 물리적 검증(1628) 동안, 레이아웃 설계는 DRC 제약조건들, 전기 제약조건들, 리소그래피 제약조건들과 같은 제조 제약조건들이 정확함과, 회로 기능이 HDL 설계 사양과 일치함을 보장하기 위해 체크된다. 분해능 향상(1630) 동안, 레이아웃의 기하구조는 회로 설계가 제조되는 방법을 개선하기 위해 변환된다.
테이프 아웃 동안, 데이터는 리소그래피 마스크들의 생산을 위해 (리소그래피 향상들이 적절하다면 적용된 후) 사용되도록 생성된다. 마스크 데이터 준비(1632) 동안, '테이프 아웃' 데이터는 완성된 집적 회로들을 생산하는데 사용되는 리소그래피 마스크들을 생산하는데 사용된다.
컴퓨터 시스템 (이를테면 도 9의 컴퓨터 시스템(900), 또는 도 8의 호스팅 시스템(807))의 저장 서브시스템이 본 개시에서 설명되는 EDA 제품들의 일부 또는 전부에 의해 사용되는 프로그램들과 데이터 구조들과, 라이브러리를 위한 셀들의 개발과 라이브러리를 사용하는 물리적 및 논리적 설계를 위해 사용되는 제품들을 저장하는데 사용될 수 있다.
실시예들은 레이아웃들 및 마스크들의 체크들을 수행하는 전자 설계 자동화 프로세스의 스테이지들 동안, 예를 들어 마스크 규칙 체크들이 수행될 때 테이프 아웃 동안, 회로 설계들을 프로세싱하기 위해 사용될 수 있다.
컴퓨터 아키텍처
도 17은 머신이 본 개시에서 논의되는 수법들 중 임의의 하나 이상을 수행하게 하는 명령어 세트가 실행될 수 있는 컴퓨터 시스템(1700)의 예시적인 머신을 예시한다. 대체 구현예들에서, 머신은 LAN, 인트라넷, 엑스트라넷, 및/또는 인터넷에서 다른 머신들에 연결될 (예컨대, 네트워킹될) 수 있다. 머신은 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 머신의 용량으로, 피어 투 피어(또는 분산) 네트워크 환경에서 피어 머신으로서, 또는 클라우드 컴퓨팅 인프라스트럭처 또는 환경에서 서버 또는 클라이언트 머신으로서 작동할 수 있다.
머신은 개인용 컴퓨터(personal computer)(PC), 태블릿 PC, 셋톱 박스(set-top box)(STB), 개인 정보 단말기(Personal Digital Assistant)(PDA), 셀룰러 전화기, 웹 어플라이언스, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 해당 머신에 의해 취해질 액션들을 특정하는 명령어 세트를 (순차적 또는 다르게) 실행할 수 있는 임의의 머신일 수 있다. 게다가, 단일 머신이 예시되지만, "머신"이란 용어는, 본 명세서에서 논의되는 수법들 중 임의의 하나 이상을 수행하기 위한 명령어들의 세트(또는 다수의 세트들)를 개별적으로 또는 공동으로 실행하는 머신들의 임의의 컬렉션을 포함하도록 또한 취해질 것이다.
예시적인 컴퓨터 시스템(1700)은 프로세싱 디바이스(1702), 메인 메모리(1704)(예컨대, 판독전용 메모리(read-only memory)(ROM), 플래시 메모리, 동적 랜덤 액세스 메모리(dynamic random access memory)(DRAM) 이를테면 동기 DRAM(SDRAM), 정적 메모리(1706)(예컨대, 플래시 메모리, 정적 랜덤 액세스 메모리(static random access memory)(SRAM) 등), 및 데이터 저장 디바이스(1718)를 포함하며, 이것들은 버스(1730)를 통해 서로 통신한다.
프로세싱 디바이스(1702)는 마이크로프로세서, 중앙 프로세싱 유닛 등과 같은 하나 이상의 프로세서들을 나타낸다. 더 상세하게는, 프로세싱 디바이스는 CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computing) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 또는 다른 명령어 세트들을 구현하는 프로세서, 또는 명령어 세트들의 조합을 구현하는 프로세서들일 수 있다. 프로세싱 디바이스(1702)는 또한 주문형 집적회로(application specific integrated circuit)(ASIC), 필드 프로그램가능 게이트 어레이(field programmable gate array)(FPGA), 디지털 신호 프로세서(digital signal processor)(DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 프로세싱 디바이스들을 포함할 수 있다. 프로세싱 디바이스(1702)는 본 개시에서 설명되는 동작들 및 단계들을 수행하기 위한 명령어들(1726)을 실행하도록 구성될 수 있다.
컴퓨터 시스템(1700)은 네트워크(1720)를 통해 통신하기 위해 네트워크 인터페이스 디바이스(1708)를 더 포함할 수 있다. 컴퓨터 시스템(1700)은 또한 비디오 디스플레이 유닛(1710)(예컨대, 액정 디스플레이(liquid crystal display)(LCD) 또는 음극선관(cathode ray tube)(CRT)), 영숫자 입력 디바이스(1712)(예컨대, 키보드), 커서 제어 디바이스(1714)(예컨대, 마우스), 그래픽 프로세싱 유닛(1722), 신호 생성 디바이스(1716)(예컨대, 스피커), 그래픽 프로세싱 유닛(1722), 비디오 프로세싱 유닛(1728), 및 오디오 프로세싱 유닛(1732)을 포함할 수 있다.
데이터 저장 디바이스(1718)는 하나 이상의 명령어 세트(1726) 또는 본 개시에서 설명되는 임의의 하나 이상의 수법들 또는 기능들을 채용하는 소프트웨어가 저장되는 머신 판독가능 저장 매체(1724)(또한 비일시적 컴퓨터 판독가능 매체로서 알려짐)를 포함할 수 있다. 명령어들(1726)은 또한, 컴퓨터 시스템(1700)에 의한 실행 동안 메인 메모리(1704) 내에 및/또는 프로세싱 디바이스(1702) 내에 완전히 또는 적어도 부분적으로 상주할 수 있으며, 메인 메모리(1704) 및 프로세싱 디바이스(1702)는 또한 머신 판독가능 저장 매체를 구성한다.
일부 구현예들에서, 명령어들(1726)은 본 개시에 해당하는 기능을 구현하기 위한 명령어들을 포함한다. 머신 판독가능 저장 매체(1724)가 예시적인 구현예에서 단일 매체인 것으로 도시되지만, "머신 판독가능 저장 매체"라는 용어는 하나 이상의 명령어 세트들을 저장하는 단일 매체 또는 다수의 매체들(예컨대, 집중 또는 분산 데이터베이스, 및/또는 연관된 캐시들 및 서버들)을 포함하는 것으로 취해져야 한다. "머신 판독가능 저장 매체"라는 용어는 또한 머신에 의한 실행을 위한 그리고 머신 및 프로세싱 디바이스(1702)로 하여금 본 개시의 임의의 하나 이상의 수법을 수행하게 하는 명령어 세트를 저장 또는 인코딩할 수 있는 임의의 매체를 포함하도록 취해진다. "머신 판독가능 저장 매체"라는 용어는 따라서 고체 상태 메모리들, 광 매체들, 및 자기 매체들을 비제한적으로 포함하는 것으로 취해져야 한다.
선행하는 상세한 설명들의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 동작들의 알고리즘들 및 심볼 표현들의 측면에서 제시되었다. 이들 알고리즘적 서술들 또는 표현들은 데이터 프로세싱 기술분야에서의 당업자들에 의해 그들의 작업의 실체를 그 기술분야의 다른 숙련자들에게 가장 효과적으로 전달하는데 사용되는 방식들이다. 알고리즘이 원하는 결과로 이어지는 동작들의 시퀀스일 수 있다. 이 동작들은 물리 량들의 물리적 조작들을 요구하는 하는 것들이다. 이러한 양들은 저장, 결합, 비교, 및 아니면 조작될 수 있는 전기적 또는 자기적 신호들의 형태를 취할 수 있다. 이러한 신호들은 비트들, 값들, 엘리먼트들, 심볼들, 캐릭터들, 용어들, 숫자들 등으로서 지칭될 수 있다.
그러나, 이들 및 유사한 용어들의 모두는 적합한 물리량들에 연관될 것이고 이들 양들에 적용되는 단지 편리한 레이블들일뿐이라는 것을 명심해야 한다. 본 개시의 논의로부터 명백하듯이 구체적으로 다르게 언급되지 않는 한, 명세서 전체를 통해, 특정한 용어들은, 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전자적) 양들로서 표현되는 데이터를 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장 디바이스들 내의 물리량들로 유사하게 표현되는 다른 데이터로 조작 및 변환하는 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 액션 및 프로세스들을 지칭한다는 것이 이해된다.
본 개시내용은 또한 본원에서의 동작들을 수행하는 장치에 관련된다. 이 장치는 의도된 목적들을 위해 특별히 구성될 수 있거나, 또는 그것은 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 또는 재구성되는 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 플로피 디스크들, 광 디스크들, CD-ROM들, 광자기 디스크들을 포함하는 임의의 유형의 디스크, 판독전용 메모리들(ROM들), 랜덤 액세스 메모리들(RAM들), EPROM들, EEPROM들, 자기 또는 광 카드들, 또는 전자적 명령어들을 저장하기에 적합하고 컴퓨터 시스템 버스에 각각이 커플링되는 임의의 유형의 매체들과 같지만 그것들로 제한되지는 않는 컴퓨터 판독가능 저장 매체에 저장될 수 있다.
본 개시에서 제시된 알고리즘들 및 디스플레이들은 임의의 특정 컴퓨터 또는 다른 장치에 본질적으로 관련되지 않는다. 다른 다양한 시스템들이 본 개시에서의 교시들에 따른 프로그램들과 함께 사용될 수 있거나, 또는 방법을 수행하기 위한 더욱 특수한 장치를 구성하는데 편리함을 제공할 수 있다. 덧붙여서, 본 개시는 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 다양한 프로그래밍 언어들이 본 개시에서 설명된 바와 같은 개시내용의 교시들을 구현하는데 사용될 수 있다는 것이 이해될 것이다.
본 개시는 본 개시에 따라 프로세스를 수행하기 위해 컴퓨터 시스템(또는 다른 전자 디바이스들)을 프로그래밍하는데 사용될 수 있는 명령어를 저장하는 머신 판독가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품, 또는 소프트웨어로서 제공될 수 있다. 머신 판독가능 매체가 머신(예컨대, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 머신 판독가능(예컨대, 컴퓨터 판독가능) 매체가 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 디바이스들 등과 같은 머신(예컨대, 컴퓨터) 판독가능 저장 매체를 포함한다.
전술한 개시에서, 본 개시의 구현예들은 그것의 예시적인 특정 구현예들을 참조하여 설명되었다. 다양한 수정들이 다음의 청구항들에서 언급되는 본 개시의 더 넓은 정신 및 범위로부터 벗어남없이 본 개시에 대해 이루어질 수 있다는 것이 명백할 것이다. 본 개시가 일부 엘리먼트들을 단수 시제로 언급하는 경우, 하나를 초과하는 엘리먼트는 도면들에서 묘사될 수 있고 비슷한 엘리먼트들이 비슷한 숫자들로 라벨표시된다. 본 명세서와 도면들은, 따라서, 제한하는 의미가 아니라 예시적인 의미로 여겨져야 한다.

Claims (20)

  1. 전자 회로의 마스크 표현에 대한 마스크 규칙 체크들을 수행하는 방법으로서,
    상기 전자 회로의 마스크 표현 ― 상기 마스크 표현은 복수의 기하학적 형상들을 포함함 ― 을 수신하는 단계; 및
    상기 마스크 표현의 복수의 기하학적 형상들 중 기하학적 형상에 대해:
    상기 기하학적 형상의 중앙 축을 결정하는 단계;
    상기 기하학적 형상의 모서리까지 임계 거리 내에 있는 상기 중앙 축의 부분들을 식별하는 단계;
    상기 기하학적 형상의 모서리까지 상기 임계 거리 내에 있도록 식별된 상기 중앙 축의 부분들을 제외시킴으로써 상기 중앙 축을 트리밍하는 단계; 및
    프로세싱 디바이스에 의해, 상기 기하학적 형상의 트리밍된 중앙 축에 대응하는 상기 기하학적 형상의 부분에 기초하여 상기 마스크 규칙 체크들을 수행하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 기하학적 형상의 모서리까지 상기 임계 거리 내에 있는 상기 중앙 축의 부분들을 식별하는 단계는,
    상기 중앙 축 상의 점을 식별하는 단계;
    식별된 점에 가장 가까운 상기 기하학적 형상의 점들을 나타내는 상기 기하학적 형상 상의 점 쌍(a pair of points)을 식별하는 단계;
    상기 점 쌍 사이의 둘레 거리가 둘레 임계 값 미만인지의 여부를 결정하는 단계; 및
    상기 점 쌍 사이의 상기 둘레 거리가 상기 둘레 임계 값 미만이라는 결정에 응답하여, 상기 식별된 점을 상기 기하학적 형상의 모서리까지의 상기 임계 거리 내에 있는 것으로서 마킹하는 단계
    를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 기하학적 형상의 에지들로부터 멀리 있는 상기 중앙 축의 부분들을 식별하는 단계; 및
    상기 기하학적 형상의 에지들로부터 멀리 있는 것으로 결정된 상기 중앙 축의 부분들을 제외시킴으로써 상기 중앙 축을 트리밍하는 단계
    를 더 포함하는, 방법.
  4. 제3항에 있어서, 상기 기하학적 형상의 모서리들로부터 멀리 있는 상기 중앙 축의 부분들을 식별하는 단계는,
    상기 중앙 축 상의 점을 식별하는 단계;
    상기 식별된 점과 상기 기하학적 형상의 에지 상의 가장 가까운 점 사이의 거리가 공차 임계값(clearance threshold)보다 큰지의 여부를 결정하는 단계; 및
    상기 식별된 점과 상기 기하학적 형상의 에지 상의 상기 가장 가까운 점 사이의 상기 거리가 공차 임계값보다 크다는 결정에 응답하여, 상기 식별된 점을 상기 기하학적 형상의 에지들로부터 멀리 있는 것으로서 마킹하는 단계
    를 포함하는, 방법.
  5. 제4항에 있어서,
    상기 마스크 규칙 체크들에 의해 상기 기하학적 형상들의 허용된 폭에 기초하여 상기 공차 임계값을 결정하는 단계를 더 포함하는, 방법.
  6. 제5항에 있어서,
    폭 마스크 규칙에 의해 특정되는 기하학적 형상들의 허용된 폭의 절반과 실질적으로 동일한 값으로서 상기 공차 임계값을 결정하는 단계를 더 포함하는, 방법.
  7. 제6항에 있어서, 상기 마스크 표현의 복수의 기하학적 형상들의 트리밍된 중앙 축들을 사용하여 상기 마스크 규칙 체크들을 수행하는 단계는,
    상기 트리밍된 중앙 축의 점들에 가장 가까운 점들을 나타내는 상기 기하학적 형상들의 부분들을 식별하는 단계; 및
    마스크 규칙들의 위반들로서 상기 기하학적 형상들의 식별된 부분들을 마킹하는 단계
    를 포함하는, 방법.
  8. 제1항에 있어서, 상기 마스크 표현의 복수의 기하학적 형상들의 트리밍된 중앙 축들을 사용하여 마스크 규칙 체크들을 수행하는 단계는,
    상기 트리밍된 중앙 축으로부터 후보 점들을 선택하는 단계; 및
    상기 트리밍된 중앙 축으로부터 선택된 각각의 후보 점에 대해, 상기 후보 점이 상기 기하학적 형상의 에지들로부터 최소 거리를 위반하는지의 여부를 체크하는 단계
    를 포함하는, 방법.
  9. 제1항에 있어서, 상기 마스크 표현의 복수의 기하학적 형상들의 트리밍된 중앙 축들을 사용하여 마스크 규칙 체크들을 수행하는 단계는,
    상기 트리밍된 중앙 축의 점들이 마스크 규칙을 위반하는지의 여부를 결정하는 단계; 및
    디스플레이를 위해, 상기 마스크 규칙의 위반을 기술하는 정보를 전송하는 단계
    를 포함하는, 방법.
  10. 제1항에 있어서,
    기하학적 형상들의 폭을 특정하는 마스크 규칙을 위반하는 기하학적 형상을 식별하는 것에 응답하여, 상기 폭 마스크 규칙을 위반하는 것으로 결정되는 부분들에서의 상기 기하학적 형상의 폭을 증가시키기 위해 상기 기하학적 형상을 수정하여 상기 수정된 기하학적 형상이 상기 폭 마스크 규칙에 부합하게 하는 단계를 더 포함하는, 방법.
  11. 컴퓨터 프로세서에 의해 실행될 때, 상기 컴퓨터 프로세서로 하여금 전자 회로의 마스크 표현에 대한 마스크 규칙 체크들을 수행하기 위한 단계들을 수행하게 하는 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서, 상기 단계들은,
    상기 전자 회로의 상기 마스크 표현 ― 상기 마스크 표현은 복수의 기하학적 형상들을 포함함 ― 을 수신하는 단계;
    상기 복수의 기하학적 형상들 중 기하학적 형상에 대해, 마스크 규칙 체크들을 수행하는 단계 ― 상기 마스크 규칙들은 예각 임계값을 특정하며, 상기 수행하는 단계는,
    상기 기하학적 형상의 경계 상에서 꼭지점을 선택하는 단계;
    상기 기하학적 형상의 상기 경계 상에서 끝점들의 쌍 ― 각각의 끝점은 상기 꼭지점으로부터 등거리에 있음 ― 을 식별하는 단계;
    각각의 끝점을 상기 꼭지점에 연결하는 선들에 의해 형성된 각도를 결정하는 단계; 및
    결정된 각도가 상기 예각 임계값 미만인지의 여부를 결정하는 단계
    를 포함함 ―; 및
    상기 결정된 각도가 상기 예각 임계값 미만이라는 결정에 응답하여, 프로세싱 디바이스에 의해, 선택된 꼭지점을 마스크 규칙 위반으로서 보고하는 단계
    를 포함하는, 비일시적 컴퓨터 판독가능 매체.
  12. 제11항에 있어서, 상기 꼭지점과 끝점 사이의 상기 거리는 상기 꼭지점과 상기 끝점 사이의 일직선을 따라 측정되는, 비일시적 컴퓨터 판독가능 매체.
  13. 제11항에 있어서,
    상기 끝점들 중 하나의 끝점은 상기 꼭지점으로부터 시작하여 상기 기하학적 형상의 경계를 따라 시계 방향으로 이동함으로써 획득되고,
    다른 하나의 끝점은 상기 꼭지점으로부터 시작하여 상기 기하학적 형상의 경계를 따라 반시계 방향으로 이동함으로써 획득되는, 비일시적 컴퓨터 판독가능 매체.
  14. 제11항에 있어서, 상기 예각 임계값은 예각 마스크 규칙에 의해 특정되며, 상기 방법은,
    기하학적 형상이 예각 마스크 규칙을 위반한 것이라는 결정에 응답하여, 상기 꼭지점에 연관되는 각도를 증가시키기 위해 상기 기하학적 형상을 수정하여 상기 수정된 기하학적 형상이 상기 예각 마스크 규칙에 부합하게 하는 단계를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  15. 제11항에 있어서,
    상기 전자 회로의 칩들의 제작을 위한 상기 마스크 표현을 전송하는 단계를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  16. 제11항에 있어서, 각각의 끝점과 상기 꼭지점 사이의 상기 임계 거리는 상기 마스크 규칙들에 의해 허용되는 기하학적 형상의 유형에 기초하여 결정되는, 비일시적 컴퓨터 판독가능 매체.
  17. 전자 회로의 마스크 표현에 대한 마스크 규칙 체크들을 수행하는 방법으로서,
    상기 전자 회로의 상기 마스크 표현 ― 상기 마스크 표현은 복수의 기하학적 형상들을 포함함 ― 을 수신하는 단계;
    상기 복수의 기하학적 형상들에 대한 중앙 축 ― 상기 중앙 축의 부분은 기하학적 형상 쌍에서부터 등거리에 있는 점들을 포함함 ― 을 결정하는 단계; 및
    상기 중앙 축의 부분 상의 점 세트로부터의 각각의 점에 대해:
    상기 점과 상기 기하학적 형상 쌍으로부터의 각각의 기하학적 형상 사이의 거리를 결정하는 단계;
    상기 점과 상기 기하학적 형상 쌍의 각각의 기하학적 형상 사이의 상기 거리가 임계 거리 미만인지의 여부를 결정하는 단계; 및
    상기 점과 상기 기하학적 형상 쌍의 각각의 기하학적 형상 사이의 상기 거리가 임계 거리 미만이라는 결정에 응답하여, 상기 기하학적 형상 쌍을 마스크 규칙의 위반으로서 보고하는 단계
    를 포함하는, 방법.
  18. 제17항에 있어서, 상기 임계 거리는 마스크 규칙에 의해 특정되는 기하학적 형상들 사이의 최소 거리 임계값에 기초하여 결정되는, 방법.
  19. 제17항에 있어서, 상기 임계 거리는 거리 마스크 규칙에 의해 특정되는 기하학적 형상들 사이의 최소 거리 임계값 절반과 실질적으로 동일한 것으로 결정되는, 방법.
  20. 제17항에 있어서,
    상기 기하학적 형상 쌍 사이의 상기 거리가 상기 거리 마스크 규칙에 의해 특정되는 적어도 최소 거리 임계값이 되도록 상기 기하학적 형상 쌍 사이의 상기 거리를 증가시키는 단계를 더 포함하는, 방법.
KR1020227000436A 2019-06-07 2020-06-04 전자 회로들을 위한 곡선형 마스크들에 대한 마스크 규칙 체킹 KR102638150B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962858714P 2019-06-07 2019-06-07
US62/858,714 2019-06-07
US16/892,252 2020-06-03
US16/892,252 US11222160B2 (en) 2019-06-07 2020-06-03 Mask rule checking for curvilinear masks for electronic circuits
PCT/US2020/036157 WO2020247655A1 (en) 2019-06-07 2020-06-04 Mask rule checking for curvilinear masks for electronic circuits

Publications (2)

Publication Number Publication Date
KR20220019023A true KR20220019023A (ko) 2022-02-15
KR102638150B1 KR102638150B1 (ko) 2024-02-16

Family

ID=73651606

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227000436A KR102638150B1 (ko) 2019-06-07 2020-06-04 전자 회로들을 위한 곡선형 마스크들에 대한 마스크 규칙 체킹

Country Status (6)

Country Link
US (3) US11222160B2 (ko)
EP (1) EP3980966A1 (ko)
KR (1) KR102638150B1 (ko)
CN (1) CN114008620A (ko)
TW (1) TWI758742B (ko)
WO (1) WO2020247655A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220020580A (ko) * 2020-08-12 2022-02-21 삼성전자주식회사 곡선 모양을 갖는 마스크 제작 방법 및 반도체 소자 형성 방법
CN113642286B (zh) * 2021-08-12 2023-10-24 长鑫存储技术有限公司 测试图形的验证方法、装置、设备及存储介质
WO2023141080A1 (en) * 2022-01-19 2023-07-27 D2S, Inc. Using machine-trained network to perform drc check
CN117308794B (zh) * 2023-11-30 2024-04-19 杭州汇萃智能科技有限公司 一种线宽量测方法、系统及计算机存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0246145A2 (en) * 1986-05-10 1987-11-19 Fujitsu Limited Pattern inspection system
KR20140112439A (ko) * 2013-03-13 2014-09-23 디2에스, 인코포레이티드 하전 입자 빔 리소그래피를 이용하여 사선 패턴을 형성하기 위한 방법 및 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7796801B2 (en) 1999-08-26 2010-09-14 Nanogeometry Research Inc. Pattern inspection apparatus and method
US8108803B2 (en) * 2009-10-22 2012-01-31 International Business Machines Corporation Geometry based electrical hotspot detection in integrated circuit layouts
NL2006700A (en) 2010-06-04 2011-12-06 Asml Netherlands Bv Method and apparatus for measuring a structure on a substrate, computer program products for implementing such methods & apparatus.
US8881071B2 (en) * 2011-12-29 2014-11-04 Intel Corporation Photolithography mask design simplification
WO2016050584A1 (en) 2014-10-02 2016-04-07 Asml Netherlands B.V. Rule-based deployment of assist features
US10331842B2 (en) * 2014-12-16 2019-06-25 Massachusetts Institute Of Technology Methods and apparatus for automated design of semiconductor photonic devices
US11126093B2 (en) 2016-05-25 2021-09-21 Asml Netherlands B.V. Focus and overlay improvement by modifying a patterning device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0246145A2 (en) * 1986-05-10 1987-11-19 Fujitsu Limited Pattern inspection system
KR20140112439A (ko) * 2013-03-13 2014-09-23 디2에스, 인코포레이티드 하전 입자 빔 리소그래피를 이용하여 사선 패턴을 형성하기 위한 방법 및 시스템

Also Published As

Publication number Publication date
TWI758742B (zh) 2022-03-21
EP3980966A1 (en) 2022-04-13
US20220277130A1 (en) 2022-09-01
US11748553B2 (en) 2023-09-05
US20230129457A1 (en) 2023-04-27
WO2020247655A1 (en) 2020-12-10
KR102638150B1 (ko) 2024-02-16
CN114008620A (zh) 2022-02-01
TW202107200A (zh) 2021-02-16
US11222160B2 (en) 2022-01-11
US20200387660A1 (en) 2020-12-10
US11568127B2 (en) 2023-01-31

Similar Documents

Publication Publication Date Title
KR102638150B1 (ko) 전자 회로들을 위한 곡선형 마스크들에 대한 마스크 규칙 체킹
US20210064977A1 (en) Neural network based mask synthesis for integrated circuits
US20210049315A1 (en) Methods and systems to perform automated integrated fan-out wafer level package routing
TW202145053A (zh) 微影遮罩之開發之佈局的骨架表示
KR20220034216A (ko) 집적 회로 칩들의 랜덤 영역들에 걸친 마스크 합성 일관성 시행
US11361139B2 (en) Continuous global representation of local data using effective areas in integrated circuit layouts
US11449659B2 (en) Lithography-based pattern optimization
US11822232B2 (en) Dose information generation and communication for lithography manufacturing systems
US11720015B2 (en) Mask synthesis using design guided offsets
US11416661B2 (en) Automatic derivation of integrated circuit cell mapping rules in an engineering change order flow
US11651135B2 (en) Dose optimization techniques for mask synthesis tools
US11972192B2 (en) Superseding design rule check (DRC) rules in a DRC-correct interactive router
US11487930B2 (en) Pattern matching using anchors during integrated circuit verification
US11657207B2 (en) Wafer sensitivity determination and communication
US11669667B2 (en) Automatic test pattern generation (ATPG) for parametric faults
US12008303B2 (en) Cell overlap violation diagnostics with machine learning
US12019966B1 (en) Virtual isolated pattern layer: isolated pattern recognition, extraction and compression
US20220300687A1 (en) Propagating Physical Design Information Through Logical Design Hierarchy of an Electronic Circuit
KR20220140578A (ko) 리소그래피 마스크들의 개발을 위한 레이아웃들의 골격 표현
CN113255280A (zh) 用于表示集成电路的布局的系统和方法

Legal Events

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