Nothing Special   »   [go: up one dir, main page]

KR20010024117A - Design rule checking system and method - Google Patents

Design rule checking system and method Download PDF

Info

Publication number
KR20010024117A
KR20010024117A KR1020007002873A KR20007002873A KR20010024117A KR 20010024117 A KR20010024117 A KR 20010024117A KR 1020007002873 A KR1020007002873 A KR 1020007002873A KR 20007002873 A KR20007002873 A KR 20007002873A KR 20010024117 A KR20010024117 A KR 20010024117A
Authority
KR
South Korea
Prior art keywords
design
calibrated
data
image
calibration
Prior art date
Application number
KR1020007002873A
Other languages
Korean (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
Priority claimed from US08/931,921 external-priority patent/US5858580A/en
Priority claimed from US09/130,996 external-priority patent/US6757645B2/en
Priority claimed from US09/153,783 external-priority patent/US6470489B1/en
Priority claimed from US09/154,397 external-priority patent/US6453452B1/en
Application filed by 뉴메리컬 테크날러쥐스 인코포레이티드 filed Critical 뉴메리컬 테크날러쥐스 인코포레이티드
Publication of KR20010024117A publication Critical patent/KR20010024117A/en

Links

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
    • 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
    • G03F7/00Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
    • G03F7/70Microphotolithographic exposure; Apparatus therefor
    • G03F7/70058Mask illumination systems
    • G03F7/70091Illumination settings, i.e. intensity distribution in the pupil plane or angular distribution in the field plane; On-axis or off-axis settings, e.g. annular, dipole or quadrupole settings; Partial coherence control, i.e. sigma or numerical aperture [NA]
    • G03F7/70116Off-axis setting using a programmable means, e.g. liquid crystal display [LCD], digital micromirror device [DMD] or pupil facets
    • 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
    • G03F7/00Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
    • G03F7/70Microphotolithographic exposure; Apparatus therefor
    • G03F7/70483Information management; Active and passive control; Testing; Wafer monitoring, e.g. pattern monitoring
    • G03F7/70605Workpiece metrology
    • G03F7/70681Metrology strategies
    • G03F7/70683Mark designs
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10DINORGANIC ELECTRIC SEMICONDUCTOR DEVICES
    • H10D89/00Aspects of integrated devices not covered by groups H10D84/00 - H10D88/00
    • H10D89/10Integrated device layouts

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

광학 근접 교정(OPC)으로 교정되거나 다른 방법으로 교정된 설계들에 대해 디자인 룰 체킹을 실현하기 위한 방법이 설명된다. 상기 교정된 설계들은 시뮬레이션 된 이미지(2010)를 생성하기 위해서 억세스 된다. 상기 시뮬레이트된 이미지는 만일 웨이퍼가 교정된 설계(2020)을 통해 광원에 직접적으로 노출된 경우 웨이퍼상에 찍힐 이미지의 시뮬레이션에 해당한다. 광원의 특성들은 리쏘그래피 파라메터들의 세트에 의해 결정된다. 상기 이미지의 생성에서, 추가적인 특징들은 형성공정의 일부분들을 시뮬레이트 하기 위해 사용될 수 있다. 그 다음, 상기 시뮬레이트된 이미지는 디자인 룰 체커에 사용될 수 있다. 상기 시뮬레이트된 이미지는 상기 시뮬레이트된 이미지의 꼭지점들의 숫자를 OPC 교정된 설계 레이아웃(2020)의 꼭지점들의 숫자에 비해 줄이기 위해 처리될 수 있다는 것은 중요하다. 또한, 상기 시뮬레이트된 이미지는 이상적인 레이아웃과 비교될 수 있고, 그 다음, 그 결과는 디자인 룰 체킹을 실행하기 위해서 필요로 하는 정보의 양을 줄이기 위해 사용될 수 있다.A method for realizing design rule checking for designs that have been calibrated with optical proximity calibration (OPC) or otherwise calibrated is described. The revised designs are accessed to produce a simulated image 2010. The simulated image corresponds to the simulation of an image to be taken on the wafer if the wafer is directly exposed to the light source through the calibrated design 2020. The characteristics of the light source are determined by the set of lithographic parameters. In creating the image, additional features can be used to simulate portions of the forming process. The simulated image can then be used in a design rule checker. It is important that the simulated image can be processed to reduce the number of vertices of the simulated image compared to the number of vertices of the OPC calibrated design layout 2020. In addition, the simulated image can be compared to an ideal layout, and the result can then be used to reduce the amount of information needed to perform design rule checking.

Description

디자인 룰 체킹 시스템 및 방법{DESIGN RULE CHECKING SYSTEM AND METHOD}DESIGN RULE CHECKING SYSTEM AND METHOD}

관련 출원Related Applications

본 출원은 발명자가 장 팽-쳉 (Fang-Cheng Chang), 왕 야오-팅(Yao-Ting Wang)과 패티 야곈시 씨. (Yagyensh C. Pati)이며 발명의 명칭이 "마스크 묘사를 위한 데이터 체계 관리 방법 및 장치(Method and Apparatus for Data Hierarchy Maintenance in a System for Mask Description)"인 1998년 9월 16일자 출원된 미국 특허에 관계한다. 본 출원은 발명자가 장 팽-쳉(Fang-Cheng Chang), 왕 야오-팅(Yao-Ting Wang), 패티 야곈시 씨.(Yagyensh C. Pati)이며 발명의 명칭이 "데이터 계층이 진보된 마스크 교정 및 검증 방법 (Data Hierarchy Advanced Mask Correction and Verification Method)인 1997년 12월 12일자의 출원번호 제 60/069,549호의 미국 가 특허 출원 (provisional patent application)의 우선권을 주장하는 출원이다. 또한, 본 출원은 발명자가 장 팽-쳉(Fang-Cheng Chang), 왕 야오-팅(Yao-Ting Wang), 패티 야곈시 씨.(Yagyensh C. Pati)이며 발명의 명칭이 "마스크 검증, 교정 및 디자인 룰 체킹 (Mask verificationm Correction, and Design Rule Checking)"인 1997년 9월 17일자의 출원번호 제 60/059,306 호의 미국 가 특허출원과 그리고 발명자가 장 팽-쳉(Fang-Cheng Chang), 왕 야오-팅(Yao-Ting Wang), 패티 야곈시 씨.(Yagyensh C. Pati)이며 발명의 명칭이 "마스크 검증, 교정 및 디자인 룰 체킹 (Mask verification, Correction, and Design Rule Checking)" 인 1997년 9월 16일자 출원과 관계한다. 본 출원은 또한 발명자가 장 팽-쳉(Fang-Cheng Chang), 왕 야오-팅(Yao-Ting Wang), 패티 야곈시 씨.(Yagyensh C. Pati), 카크린 리나드(Linad Karklin)이며 발명의 명칭이 "시각 검사 및 검증 시스템 (Visual Inspection and Verification)" 인 1998년 8월 7일자출원된 미국 특허출원과 관계한다. 본 출원은 또한 발명자가 왕 야오-팅(Yao-Ting Wang) 및 패티 야곈시 씨.(Yagyensh C. Pati)이며 발명의 명칭이 "위상 시프팅 회로 제조 방법 및 장치(Phase Shifting Circuit Manufacure Method and Apparatus)"인 1997년 9월 17일자의 출원번호 제 08/931,921호의 미국 특허 출원과 관계한다. 상기 특허출원들은 모두 본원의 양수인에게 모두 양도되었다.The present application relates to the inventors of Fang-Cheng Chang, Yao-Ting Wang and Patty Yasheng. (Yagyensh C. Pati), a US patent application filed on September 16, 1998, entitled "Method and Apparatus for Data Hierarchy Maintenance in a System for Mask Description." Related. The present application relates to the inventors of Fang-Cheng Chang, Yao-Ting Wang, Yagyensh C. Pati, and the name of the invention is "Mask with advanced data layer. US Patent No. 60 / 069,549, filed December 12, 1997, a Data Hierarchy Advanced Mask Correction and Verification Method, which claims priority to a provisional patent application. Are the inventors of Fang-Cheng Chang, Yao-Ting Wang, Yagyensh C. Pati, and the invention is named "Mask Verification, Calibration, and Design Rule Checking. US Provisional Patent Application No. 60 / 059,306, filed September 17, 1997, entitled "Mask verificationm Correction, and Design Rule Checking," and inventors Fang-Cheng Chang, Wang Yao-Ting ( Yao-Ting Wang, Yagyensh C. Pati, and the invention is entitled "Mask Verification, Calibration and De "Mask verification, Correction, and Design Rule Checking", filed September 16, 1997. The present application also relates to the inventors of Fang-Cheng Chang, Wang Yao-Ting. -Ting Wang, Yagyensh C. Pati, Linad Karklin, dated August 7, 1998, titled "Visual Inspection and Verification." The present application also relates to inventors Yao-Ting Wang and Yagyensh C. Pati, entitled “Phase Shifting Circuitry Manufacturing Method and US Patent Application No. 08 / 931,921, filed Sep. 17, 1997, "Phase Shifting Circuit Manufacure Method and Apparatus." All of these patent applications have been assigned to the assignee of the present application.

집적회로를 설계하는데 있어, 엔지니어들은 전형적으로 임의의 기능을 수행하도록 서로 결합되는 개별 디바이스들로 구성되는 회로의 개략적인 설계를 생성하는데 기여하는 컴퓨터 시뮬레이션 툴에 의존한다. 반도체 기판에서 이와같은 회로를 실제 시작하기 위해서는 그 회로는 물리적인 표시 즉 레이아웃으로 번역되어야 하며, 이들은 다시 실리콘 표면에 전사될 수 있다. 다시, 컴퓨터 지원 설계 (CAD) 툴은 이산된 회로 소자들을 상기 디바이스들을 자체적으로 완성된 IC로 구현할 형상들로 번역하는데 있어 레이아웃 다자이너들을 지원한다. 이들 형상들은 게이트 전극, 필드 산화 영역, 확산 영역, 금속 연결부등과 같은 회로의 개별 구성요소들을 구성한다.In designing integrated circuits, engineers typically rely on computer simulation tools that contribute to creating a schematic design of circuits consisting of individual devices that are coupled together to perform any function. To actually start such a circuit on a semiconductor substrate, the circuit must be translated into a physical representation, or layout, which can then be transferred to the silicon surface. Again, a computer aided design (CAD) tool supports layout designers in translating the discrete circuit elements into shapes that will be implemented into their own completed IC. These shapes constitute individual components of the circuit, such as gate electrodes, field oxide regions, diffusion regions, metal connections, and the like.

이들 CAD 시스템에 의해서 활용되는 소프트 웨어 프로그램들은 일반적으로 기능적인 회로를 생성하도록 소정의 디자인 룰에 따라 기능하도록 구성된다. 때때로, 이들 룰들은 임의의 처리 및 설계 한정에 의해 결정된다. 예컨대, 디자인 룰 들은 디바이스들과 상호연결 라인들간의 공간 공차를 정의하여, 이 디바이스들 또는 라인들이 어떤 원치않는 방식으로 상호동작하지 않도록 해준다. 디자인 룰 제한들은 흔히 임계 치수(critical dimensions)로 일컬어 진다. 회로의 임계치수는 일반적으로 가장 작은 라인의 폭이나 가장 작은 두 라인들 간의 간격으로써 정의된다. 따라서, 상기 임계치수는 IC의 전체 크기와 집적도를 결정한다. 회로의 임계 치수는 일반적으로 한 라인의 최소 폭 또는 두 라인들간의 최소 공간으로써 정의된다. 결과적으로, 임계 치수는 IC의 전체 싸이즈 및 밀도를 결정한다. 현재의 IC 기술에서, 최첨단 회로에 대한 최소 임계 치수는 라인 폭 및 공간에 있어서 대략 0.25 미크론 이다.Software programs utilized by these CAD systems are generally configured to function according to certain design rules to create functional circuits. Sometimes these rules are determined by any processing and design limitations. For example, design rules define spatial tolerances between devices and interconnect lines so that these devices or lines do not interact in any unwanted way. Design rule restrictions are often referred to as critical dimensions. The critical dimension of a circuit is generally defined as the width of the smallest line or the spacing between the two smallest lines. Thus, the threshold determines the overall size and integration of the IC. The critical dimension of the circuit is generally defined as the minimum width of one line or the minimum space between two lines. As a result, the critical dimension determines the overall size and density of the IC. In current IC technology, the minimum critical dimension for advanced circuits is approximately 0.25 microns in line width and space.

일단 회로의 레이아웃이 생성되면, 집적회로 (IC)를 제조하기위한 다음의 공정은 그 레이아웃을 반도체 기판에 전사하는 것이 된다. 광학 리소그래피는 기하구조적 형상을 실리콘 웨이퍼의 표면에 전사하는 공정으로써 잘 공지되어 있다. 이 광학 리소그래피 공정은 일반적으로 반도체 웨이퍼의 상부면에 포토레지스트 층을 형성하면서 시작된다. 이어서, 일반적으로 크롬으로 형성되는 완전 광 비투과 불투명 영역 및 일반적으로 석영으로 형성되는 완전 광 투과 투명 영역를 갖는 마스크를 포토레지스트로 코팅된 웨이퍼상에 위치시킨다. 그 후, 광을 가시 광원 또는 자외선 광원을 통해 마스크에 비춘다. 이 광은 하나 또는 여러개의 렌즈, 필터 및 미러를 포함하는 광학 렌즈 시스템을 전형적으로 이용하여, 웨이퍼상에 축소된 마스크 영상을 발생하도록 포커싱된다. 이 광은 마스크의 투명 영역을 통과하여 하부 포토레지스트 층을 노광시키며, 마스크의 불투명 영역에 의해 차단되어, 포토레지스트의 하부 부분이 노광되지 않게 된다. 이어서, 노광된 포토레지스트층은 전형적으로 포토 레지스트층의 노광/비노광 영역을 화학적으로 제거함으로써 현상된다. 최종적 결과로써, 반도체 기판에 포토레지스트 층이 코팅되는바, 이 포토레지스트 층은 자신의 기하구조, 특징, 라인, 형상들을 정의하는 원하는 패턴을 나타낸다. 이 패턴은 웨이퍼의 하부 영역들을 에칭하는데 이용될 수 있다.Once the layout of the circuit is created, the next process for manufacturing the integrated circuit (IC) is to transfer the layout to the semiconductor substrate. Optical lithography is well known as a process for transferring geometric shapes to the surface of silicon wafers. This optical lithography process generally begins by forming a photoresist layer on the top surface of a semiconductor wafer. Subsequently, a mask having a fully light transmissive opaque region generally formed of chromium and a completely light transmissive transparent region generally formed of quartz is placed on a photoresist coated wafer. Thereafter, light is directed to the mask through a visible light source or an ultraviolet light source. This light is focused to generate a reduced mask image on the wafer, typically using an optical lens system comprising one or several lenses, filters and mirrors. This light passes through the transparent area of the mask to expose the lower photoresist layer and is blocked by the opaque area of the mask so that the lower portion of the photoresist is not exposed. The exposed photoresist layer is then developed typically by chemically removing the exposed / non-exposed areas of the photoresist layer. As a result, a photoresist layer is coated on the semiconductor substrate, which exhibits a desired pattern defining its geometry, features, lines, shapes. This pattern can be used to etch the lower regions of the wafer.

상기 디자인 룰 이외에, 광학 리소그래피에 사용되는 노광 툴의 해상도 값 또한 직접회로 레이아웃의 디자이너들에 제한 요인이 된다. 노광 툴에 대한 해상도는 노광 툴이 웨이퍼상에 반복적으로 노광을 행할 수 있는 최소의 특성으로서 정의된다. 현재, 가장 진보된 광학 노광툴의 해상도는 약 0.25미크론 이다. 레이아웃의 임계 치수들이 더욱 작아지고 리소그래피 장비의 해상도 값에 근접함에 따라, 마스크와 그리고 포토레지스트에서 현상되는 실질적인 레이아웃 패턴간의 일치성이 상당히 감소된다. 특히, 회로 생김새의 패턴 현상에 있어서의 차이는 서로간의 생김새의 유사성에 좌우된다.In addition to the above design rules, the resolution value of the exposure tool used in optical lithography is also a limiting factor for designers of integrated circuit layout. The resolution for the exposure tool is defined as the minimum characteristic by which the exposure tool can repeatedly expose on the wafer. Currently, the resolution of the most advanced optical exposure tools is about 0.25 micron. As the critical dimensions of the layout become smaller and approach the resolution value of the lithographic equipment, the correspondence between the mask and the actual layout pattern developed in the photoresist is significantly reduced. In particular, the difference in the pattern phenomenon of the circuit appearance depends on the similarity of the appearance between each other.

IC 설계에 있어서의 제한요인들을 생각하면서, 본 발명자들은 IC 패턴을 묘사하는 데이터가 일반적으로 GDS-II 데이터 파일에서 처럼 간결한 계층 방식으로 표시되는 것을 주목한다. 패턴 표시 계층에서의 보다 높은 레벨에서, 특징들은 개념적인 방식으로 나타낸다. 예컨대, 메모리 어레이는 임의의 수의 열 및 행으로 반복되는 소정의 셀을 갖는 것으로 묘사된다. 계층에서의 다음의 낮은 레벨은 서브셀 A 및 B로 구성되는 기본 메모리 셀을 묘사한다. 마지막으로, 최저 레벨에서, 맨 처음의 서브셀들은 기하구조적으로 원시적인 사각형 및 다각형을 포함한다. 물리적인 마스크를 형성하기 위하여, 계층 데이터는 평탄화(flattened)되어, 계층에 묘사된 모든 기하구조적인 경우를 열거해야만 한다. 계층의 평탄화의 전형적인 결과로써 패턴을 나타내는데 요구되는 데이터 저장 크기가 어느정도 증가하게 된다.In view of the limitations in IC design, the inventors note that the data depicting the IC pattern is typically presented in a concise hierarchical manner as in a GDS-II data file. At higher levels in the pattern representation layer, the features are presented in a conceptual manner. For example, a memory array is depicted with certain cells repeated in any number of columns and rows. The next lower level in the layer depicts a basic memory cell consisting of subcells A and B. Finally, at the lowest level, the first subcells contain rectangles and polygons that are geometrically primitive. In order to form a physical mask, the hierarchical data must be flattened, enumerating all the geometry cases depicted in the hierarchical. As a typical result of layer flattening, the amount of data storage required to represent the pattern is somewhat increased.

계층의 평탄화의 결과로 소정 IC 설계를 표시하는 파일의 싸이즈가 크게 증대되기 때문에, 최상의 경우에 마스크 설계가 물리적 제조에 앞서 EB 머신내로 로딩되는 시간인 마스크의 제조에 있어서의 최종 포인트에서 계층을 평탄화하는 것이 바람직하다. 그러나 현재 이러한 평탄화 공정은 일부 복잡한 IC들의 마스크의 제도에 있어서 가장 초기의 단계에서 수행된다. 이 이유는 복잡한 IC들의 초기의 마스크 설계는 전형적으로 설계에 있어서 다수의 동작들중 하나를 수행하기 위해서 초기의 설계가 완료된 후에 처리되기 때문이다. 이들 동작들은 이들 IC의 임계 치수가 광학 리소그래피의 해상도 제한 요인과 근사할 때 복잡한 IC들의 마스크들에서 필요로 되는 정밀도 때문에 수행된다. 현재, 이들 동작들은 초기 설계 데이터들에 대한 어느 정도의 평탄화의 수행을 요하며, 결과적으로 설계 데이터에 대해 원하는 평탄화보다 더 초기에 이루어 지게 된다. 이들 연산들은 논리 연산 수행, 광학 근사 교정치 발생, 위상 시프팅 마스크 발생 및 이들 연산들을 착수한 마스크에 대한 디자인 룰 체크를 포함한다.Since the size of the file representing a given IC design is greatly increased as a result of the flattening of the layer, in the best case the flattening of the layer at the final point in the manufacture of the mask is the time when the mask design is loaded into the EB machine prior to physical fabrication. It is desirable to. At present, however, this planarization process is carried out in the earliest stages of the masking of some complex ICs. This is because the initial mask design of complex ICs is typically processed after the initial design is completed to perform one of a number of operations in the design. These operations are performed because of the precision required in masks of complex ICs when the critical dimensions of these ICs approximate the resolution limiting factor of optical lithography. Currently, these operations require some level of flattening of the initial design data, which results in earlier than the desired flattening of the design data. These operations include performing logical operations, generating optical approximation corrections, generating phase shifting masks, and checking the design rules for the masks undertaking these operations.

특히, 규칙적으로 유한한 복잡성을 가지는 최근의 모든 현대 집적회로는 포토리쏘그래피(photolithography) 후 요구되는 형상이 웨이퍼 상에 정확하게 재연되도록 초기 마스크 설계의 광학적 근접효과에 대한 교정이 요구된다. 근접효과는 아주 근접한 간격의 패턴 상들이 웨이퍼상의 레지스트층(resist layer)으로 리쏘그래픽하게 옮겨질때 발생한다. 근접한 상들의 간격을 지나는 빛의 파장들은 서로 간섭하고, 그 결과 마지막으로 옮겨진 패턴 형상들을 왜곡한다. 형상의 크기들과 간격이 리쏘그래피 툴의 한계 해상도에 접근할때 발생하는 다른 문제는 모서리들(콘캐이브(concave) 와 콘백스(convex))이 각 모서리들에서 에너지의 집중 또는 부족으로 노출과다 또는 노출부족이 일어나는 경향이 있다는 것이다. 다른 종류의 문제점들로 크고 작은 상들이 하나의 마스크 패턴으로 옮겨질때 역시 작은 상에 대한 노출의 과다 또는 부족이 발생한다.In particular, all modern modern integrated circuits with regular finite complexity require correction for the optical proximity effect of the initial mask design so that the desired shape after photolithography is accurately reproduced on the wafer. Proximity effects occur when lithographically transferred pattern images at very close spacing to a resist layer on the wafer. The wavelengths of light across the gaps of adjacent phases interfere with each other, distorting the last shifted pattern shapes. Another problem that arises when shape sizes and spacing approach the lithographic tool's marginal resolution is that corners (concave and convex) are overexposed by the concentration or lack of energy at each corner. Or underexposure tends to occur. Another kind of problem is that oversized or underexposed of the small image also occurs when large and small images are transferred to a mask pattern.

다수의 방법들이 근접효과 문제를 극복하기위해 개발되어 왔다. 이러한 방법에는: 미리 보상한 마스크 라인 폭, 다양한 감광막층의 두께, 다층 감광막을 이용한 공정, 전자 빔 조사와 광학적 조사와의 결합, 그리고 마지막으로 근접효과를 보상하기위한 초기 마스크 패턴에 추가적인 상을 더하는 것이 있다. 이 마지막 방법은 "광학적 근접 교정(Optical Proximity Correction)"(OPC)로 알려져 있다.Many methods have been developed to overcome the proximity effect problem. These methods include: pre-compensated mask line widths, various photoresist layer thicknesses, processes using multilayer photoresist films, combining electron beam irradiation with optical irradiation, and finally adding additional images to the initial mask pattern to compensate for proximity effects. There is. This last method is known as "Optical Proximity Correction" (OPC).

OPC를 적용할 경우 초기 마스크에 추가되는 추가적인 상들은 일반적으로 해상도 미만(즉, 노광기의 해상도보다 작은 치수를 가지는)이고, 이로인해 레지스트층으로 옮겨지지 않는다. 그 대신, 그것들은 초기 패턴과 간섭하여 마지막으로 옮겨지는 패턴을 개선함으로써 근접효과들을 보상한다.The additional images added to the initial mask when applying OPC are generally less than the resolution (ie, having dimensions smaller than the resolution of the exposure machine) and are therefore not transferred to the resist layer. Instead, they compensate for proximity effects by improving the last shifted pattern that interferes with the initial pattern.

최근에는, OPC 소프트웨어가 적용되어 OPC 형상들을 포함하여 마스크를 정의할 수 있는 제품들이 몇가지 알려져 있다. 그러나, 상기한 바와 같은 이유로, 상기 유효한 제품들은 정확함, 속도, 데이터 크기 그리고 OPC 교정된 마스크 설계의 결과물 검증의 측면에서 몇가지 제한을 가지고 있다.Recently, several products are known that can be applied to OPC software to define masks including OPC shapes. However, for the same reason as mentioned above, the valid products have some limitations in terms of accuracy, speed, data size and result verification of OPC calibrated mask design.

OPC에 대한 한가지 문제점은 디자인 룰 체커들이 OPC 교정된 설계를 디자인 룰들로 확인할지를 결정하기 어렵다는 것이다. OPC는 일반적으로 설계에있어서 꼭지점들(vertices)의 수를 엄청나게 증가시키는 다수의 세리프들(serifs)을 도입한다. 꼭지점들의 수가 증가함에 따라, 다자인 룰 검사를 실행하는데 필요한 시간을 증가시킨다. 그러므로 OPC 교정된 설계들에 대한 디자인 룰 체킹은 보다 효율적으로 실시하는 것이 바람직하다.One problem with OPC is that it is difficult for design rule checkers to determine if an OPC revised design is verified with design rules. OPC generally introduces a number of serifs that greatly increase the number of vertices in the design. As the number of vertices increases, the time required to run a design rule check increases. Therefore, it is desirable to perform design rule checking for OPC calibrated designs more efficiently.

따라서, 하고자 하는 것은 OPC 교정된 집적회로 마스크 설계들을 상기 언급한 문제들을 해결하면서 검사는 방법과 장치이다.Accordingly, what is desired is a method and apparatus for inspecting OPC calibrated integrated circuit mask designs while solving the above mentioned problems.

본 발명은 집적회로 제조분야에 관한 것이다. 특히 본 발명은 빠르고 효율적인 집적회로 레이아웃 다지인룰 검사를 가능하게 하기위한 개념들과 실시 기법들에 관한 것이다.The present invention relates to the field of integrated circuit fabrication. In particular, the present invention relates to concepts and implementation techniques for enabling fast and efficient integrated circuit layout multidesign rule checking.

도면들은 본 발명을 예로써 설명할뿐 제한은 아니다. 비슷한 요소들은 동일한 참조번호들로 표기한다.The drawings illustrate the invention by way of example and not by way of limitation. Similar elements are denoted by the same reference numerals.

도 1은 단순한 집적 회로 설계 레이아웃 및 레이아웃의 계층적인 트리 표현을 예시한다.1 illustrates a simple integrated circuit design layout and a hierarchical tree representation of the layout.

도 2는 본 발명의 일 실시예의 시스템 레벨 묘사를 예시한다.2 illustrates a system level depiction of one embodiment of the present invention.

도 3은 도 2의 시스템으로부터 출력될 전형적인 계층 데이터 파일의 단순한 표현을 예시한다.FIG. 3 illustrates a simple representation of a typical hierarchical data file to be output from the system of FIG. 2.

도 4는 설계 레이아웃의 계층적인 구조가 본 발명의 일 실시예에 따라 유지되는 계층적인 집적 회로 설계에 대하여 논리 또는 대수 연산을 수행하는 방법을 플로우챠트 형태로 예시한다.4 illustrates, in flowchart form, a method of performing logic or algebraic operations on a hierarchical integrated circuit design in which the hierarchical structure of the design layout is maintained in accordance with one embodiment of the present invention.

도 5는 도 4의 방법이 본 발명의 일 실시예에 따라 도 1의 부모셀들 중 하나에 대하여 논리 NOT 연산을 제공하는 방법을 예시한다.FIG. 5 illustrates a method in which the method of FIG. 4 provides a logical NOT operation for one of the parent cells of FIG. 1 in accordance with an embodiment of the present invention.

도 6은 도 4의 방법이 본 발명의 일 실시예에 따라 논리 NOT 연산에 대하여 도 1의 부모셀들 중 하나의 델타 평면을 발생시키는 방법을 예시한다.FIG. 6 illustrates a method in which the method of FIG. 4 generates a delta plane of one of the parent cells of FIG. 1 for a logical NOT operation in accordance with one embodiment of the present invention.

도 7은 설계 레이아웃들에 대해 이루어질 수 있는 광학 근접 교정들의 예들을 나타낸다.7 shows examples of optical proximity corrections that can be made for design layouts.

도 8은 본 발명의 일 실시예에 따라 설계 레이아웃에 OPC 교정을 제공하는 시스템을 예시한다.8 illustrates a system for providing OPC calibration to a design layout in accordance with one embodiment of the present invention.

도 9는 도 8 시스템의 일 실시예가 도 1의 셀들 중 하나의 초기 기하구조의 OPC 교정을 제공하는 방법을 예시한다.FIG. 9 illustrates a method in which an embodiment of the FIG. 8 system provides OPC calibration of an initial geometry of one of the cells of FIG. 1.

도 10a 내지 도 10b는 도 4의 방법이 본 발명의 일 실시예에 따라 OPC 동작을 위하여 도 1의 부모셀들 중 하나 내에 있는 오버랩 영역들에 대한 교정층을 발생시키는 방법을 예시한다.10A-10B illustrate a method in which the method of FIG. 4 generates a correction layer for overlap regions within one of the parent cells of FIG. 1 for an OPC operation in accordance with an embodiment of the present invention.

도 11은 도 4의 방법이 본 발명이 일 실시예에 따라 OPC 동작을 위하여 도 1의 부모셀들 중 하나의 델타 평면을 발생시키는 방법을 예시한다.FIG. 11 illustrates a method in which the method of FIG. 4 generates one delta plane of one of the parent cells of FIG. 1 for an OPC operation in accordance with one embodiment of the present invention.

도 12는 본 발명의 일 실시예를 이용하여 집적 회로 설계 레이아웃에 OPC 교정을 제공하는 다른 방법을 예시한다.12 illustrates another method of providing OPC calibration to an integrated circuit design layout using one embodiment of the present invention.

도 13은 입력 설계 레이아웃의 OPC 교정을 제공하기 위하여 본 발명의 일 실시예를 실행하는 컴퓨터 시스템으로부터의 입력 설계 레이아웃의 예시적인 화면 스냅샷을 나타낸 것이다.Figure 13 shows an exemplary screen snapshot of an input design layout from a computer system implementing one embodiment of the present invention to provide OPC calibration of the input design layout.

도 14는 도 13의 입력 설계에 OPC 교정을 제공하기 위하여 본 발명의 일 실시예를 실행하는 컴퓨터 시스템으로부터의 최종 출력의 예시적인 화면 스냅샷을 나타낸 것이다.FIG. 14 shows an exemplary screen snapshot of final output from a computer system implementing one embodiment of the present invention to provide OPC calibration to the input design of FIG. 13.

도 15는 도 14의 최종 출력의 예시적인 화면 스냅샷을 확대하여 나타낸 것이다.15 is an enlarged view of an exemplary screen snapshot of the final output of FIG. 14.

도 16은 OPC 교정을 제공하기 위하여 본 발명의 일 실시예를 실행하는 컴퓨터 시스템으로부터의 -1 OPC 교정층의 예시적인 화면 스냅샷을 나타낸 것이다.16 shows an exemplary screen snapshot of a -1 OPC calibration layer from a computer system implementing one embodiment of the present invention to provide OPC calibration.

도 17은 OPC 교정을 제공하기 위하여 본 발명의 일 실시예를 실행하는 컴퓨터 시스템으로부터의 +1 OPC 교정층의 예시적인 화면 스냅샷을 나타낸 것이다.17 shows an example screen snapshot of a +1 OPC calibration layer from a computer system implementing one embodiment of the present invention to provide OPC calibration.

도 18은 OPC 교정을 제공하기 위하여 본 발명의 일 실시예를 실행하는 컴퓨터 시스템으로부터의 -2 OPC 교정층의 예시적인 화면 스냅샷을 나타낸 것이다.18 shows an exemplary screen snapshot of a -2 OPC calibration layer from a computer system implementing one embodiment of the present invention to provide OPC calibration.

도 19는 본 발명의 일 실시예를 실행하는 컴퓨터 시스템에 의해 OPC 교정된 개별적인 셀들의 예시적인 화면 스냅샷을 나타낸 것이다.19 shows an exemplary screen snapshot of individual cells OPC calibrated by a computer system implementing one embodiment of the present invention.

도 20은 교정된 레이아웃에서 디자인 룰을 검사하는 방법의 예를 도시한 것이다.20 shows an example of a method of checking design rules in a calibrated layout.

도 21은 교정된 레이아웃에서 이상적인 레이아웃을 이용하여 디자인 룰을 검사하는 방법을 예시한 것이다.21 illustrates a method of checking design rules using an ideal layout in a calibrated layout.

도 22는 도 21의 예제를 일반적인 디자인 룰 체커용으로 사용하여 옮길 데이터를 생성하는 방법을 예시한 것이다.FIG. 22 illustrates a method of generating data to be moved using the example of FIG. 21 for a general design rule checker.

도 23은 도 21에 도시된 검사과정의 결과에 기초한 광학적 근접 교정을 실시하는 방법을 예시한 것이다.FIG. 23 illustrates a method of performing optical proximity correction based on the results of the inspection process shown in FIG. 21.

도 24는 검사에 기초한 검사와 교정을 예시한 것이다.24 illustrates inspection and calibration based on inspection.

도 25는 도 21의 검사과정을 통한 디자인 룰 체커 입력의 생성을 예시한 것이자.FIG. 25 illustrates generation of a design rule checker input through the inspection process of FIG. 21.

비록 많은 세부적인 사항들이 설명과 도면에 포함되어 있지만, 본 발명은 청구항들의 범위에 의해 정의된다. 제한들은 본 발명에 대한 상기 청구항들에서만 찾을 수 있다.Although many details are included in the description and drawings, the invention is defined by the scope of the claims. Limitations can only be found in the above claims for the invention.

본 발명의 일시시예는 OPC 교정되거나 다른 방식으로 교정된 설계들을 디자인 룰로 검사할 수 있는 방법을 포함한다. 이 방법은 교정된 설계를 억세싱(accessing)하는 것과 시뮬레이트된(simulated) 이미지를 생성하는 것으로 이루어져 있다. 상기 시뮬레이트된 이미지는 만일 광원으로부터 직접적으로 교정된 설계를 통해 웨이퍼 상에 노광된다면 웨이퍼 상에 전사될 이미지를 시뮬레이트 한 것과 일치한다. 상기 광원의 특성들은 일단의 리쏘그래피 파라메터들에 의해 결정된다. 이미지의 생성에서, 부가적인 특성들은 형성공정의 일부분을 시뮬레이트 하기위해 사용될 수 있다. 어찌했거나, 중요한 것은 시뮬레이트된 이미지의 결과가 생성된다는 것이다. 그 다음, 상기 시뮬레이트된 이미지는 디자인 룰 체커에 사용될 수 있다. 상기 시뮬레이트된 이미지는 OPC 교정된 설계 레이아웃의 꼭지점들과 비교하여 시뮬레이트된 이미지의 꼭지점들 수를 줄이기 위해 실행될 수 있다는 것은 중요하다.One embodiment of the present invention includes a method that can check OPC calibrated or otherwise calibrated designs with design rules. This method consists of accessing the calibrated design and generating a simulated image. The simulated image is consistent with simulating the image to be transferred onto the wafer if exposed on the wafer through a calibrated design directly from the light source. The properties of the light source are determined by a set of lithographic parameters. In the creation of the image, additional properties can be used to simulate part of the forming process. Either way, it is important that the result of the simulated image is generated. The simulated image can then be used in a design rule checker. It is important that the simulated image can be executed to reduce the number of vertices of the simulated image compared to the vertices of the OPC corrected design layout.

어떤 실시예들에서, 상기 교정된 설계의 계층은 상기 과정을 지난 후에도 유지된다. 이는 상기 시뮬레이트된 이미지의 더 효과적인 생성과 더 효과적인 디자인 룰 체킹과정을 가능하게 한다.In some embodiments, the hierarchy of calibrated design is maintained after the process. This allows for a more efficient generation of the simulated image and a more efficient design rule checking process.

다른 실시예들에서, 설계에 교정들을 추가하는 방법이 기술된다. 이러한 실시예들에서, 시뮬레이트된 이미지는 요구되는 이미지와 비교된다. 그 다음, 보상에서 확인된 디자인 룰 오류들은 초기 설계에 교정들(예를 들어 OPC 형 교정들의 추가)을 추가하기 위해서 사용될 수 있다. 어떤 실시예들에서, 설계의 계층은 그에 의해 시스템의 효율을 높이기위해 유지될 수 있다.In other embodiments, a method of adding calibrations to a design is described. In such embodiments, the simulated image is compared with the required image. The design rule errors identified in the compensation can then be used to add corrections (eg, addition of OPC type corrections) to the initial design. In some embodiments, the hierarchy of design can thereby be maintained to increase the efficiency of the system.

다른 실시예들은 OPC, PSM 그리고 그것들의 파생물들과 같은 모든 개선된 마스크들을 단일 공정층에서 검사할 수 있고, 개별 마스크 레이어들간의 전체적인 과정에서 층간 종속 검사가 가능하다. 이 실시예는 초기 마스크 설계(또는 이상적인 레이아웃인 것이 바람직하다)의 모든 패턴들을 스캐닝 하고, 모든 위치들에서 교정된 마스크의 에어리얼(aerial) 이미지 명암을 시뮬레이팅 함으로써 새롭게 교정된 마스크패턴들(또한 교정된 레이아웃인 것이 바람직하다)을 혼합하는 것으로써 시작한다. 에어리얼 이미지 시뮬레이션은 물리적인 마스크가 포토리쏘그래피 스테퍼(stepper)에서 사용될 때 투영된 마스크 패턴이 어떻게 찍힐것인지에 관한 정보를 제공한다. 상기 에어리얼 이미지의 시뮬레이션은 추가적인 예측 정밀도를 제공할 수 있도록 레지스트와 에칭과정을 시뮬레이션 함으로써 강화될 수 있다. 상기 시뮬레이션 과정은 이상적인 레이아웃으로부터 시뮬레이트된 명암의 경계들 또는 감광막 경계들의 비교적이고 절대적인 편차들 모두에 대한 양적인 정보들을 제공한다.Other embodiments can inspect all improved masks such as OPC, PSM and their derivatives in a single process layer, and inter-layer dependent inspection in the overall process between individual mask layers. This embodiment scans all the patterns of the initial mask design (or preferably the ideal layout) and newly corrected mask patterns (also corrects) by simulating the aerial image contrast of the corrected mask at all locations. The preferred layout). Aerial image simulation provides information on how the projected mask pattern will be taken when the physical mask is used in a photolithography stepper. Simulation of the aerial image can be enhanced by simulating resist and etching processes to provide additional prediction accuracy. The simulation process provides quantitative information about both comparative and absolute variations of simulated contrast or photoresist boundaries from the ideal layout.

다음의 발견(heuristic)은 본 실시예의 검사과정을 나타낸다. 만일 교정된 레이아웃이 "정확(correct)"하다면, 리쏘그래피 시뮬레이션으로 부터의 명암 경계 결과는 이상적인 레이아웃의 경계로부터 주어진 거리내에서만 어긋난다. 한편, 만일 이상적인 레이아웃과 교정된 레이아웃의 스테퍼 명암 이미지 간의 모든 경계에서의 편차가 주어진 일단의 허용공차 내 라면, 상기 교정된 레이아웃은 "정확"하다고 여겨질 수 있다.The following heuristics represent the inspection procedure of this embodiment. If the corrected layout is "correct", the contrast boundary results from the lithography simulation will only deviate within a given distance from the boundary of the ideal layout. On the other hand, if the deviation in all boundaries between the ideal layout and the stepper contrast image of the calibrated layout is within a given set of tolerances, the calibrated layout may be considered "accurate".

경계-검사 기술에 기초한 몇가지 부가적인 응용들이 있다. 교정된 레이아웃에서 찍혀진 패턴들의 기하구조는 이제 일반적인 디자인 룰 체커의 입력에 알맞는 포멧(예를 들어 GDS-Ⅱ 레이아웃 포멧)으로 편리하게 생성되고, 이로 인해서 층간 종속 검사의 문제점이 해결된다. 부가적으로, 이러한 검사 능력은 광학적 근접교정들을 두가지 간단한 방법들로 가능하게 한다. 첫번째로, 만일 상기 서술된 검사가 적용될 때 교정된 레이아웃이 이상적인 레이아웃과 동일하다면, 이상적인 레이아웃에서 시뮬레이트된 경계들의 편차 영역들을 표시함으로써 교정들(예를들어 OPC)이 필요한 영역들이 즉시 명확해 진다. 두번째로, 상기 이상적인 레이아웃에 대해 상기 중간 설계 교정들을 반복적으로 검사함으로써 자동 교정들(예를 들어 OPC)을 위한 효율적이고 완전한 방식을 제공한다.There are several additional applications based on the boundary-checking technique. The geometry of the patterns imprinted in the calibrated layout is now conveniently created in a format suitable for input into the general design rule checker (eg GDS-II layout format), thereby solving the problem of inter-layer dependency checking. In addition, this inspection capability enables optical proximity corrections in two simple ways. First, if the corrected layout is the same as the ideal layout when the inspection described above is applied, the areas requiring corrections (e.g. OPC) are immediately apparent by indicating deviation regions of simulated boundaries in the ideal layout. Secondly, repeatedly checking the intermediate design calibrations against the ideal layout provides an efficient and complete way for automatic calibrations (eg OPC).

일실시예에서, 설계된 마스크의 시뮬레이션은 물리적인 이미지에 대해서 설계된 이미지를 생성한다. 상기 설계된 이미지는 교정된 레이아웃(또는 다른 초기 마스크 레이아웃)으로부터 생성된 이미지이다. 상기 물리적 이미지는 물리적 마스크 사진에서 생성된 에어리얼 이미지 시뮬레이션이다. 상기 물리적 마스크의 사진은 예를들어 현미경을 이용하여 얻어진다. 상기 물리적 마스크 사진은 상기 일실시예에서 물리적 마스크의 그레이 스케일(gray scale) 디지털 이미지이다. 그 다음, 상기 물리적 이미지는 설계된 이미지를 생성하기위해 상기와 동일한 기술로 생성될 수 있다. 그 다음, 상기 설계된 이미지는 물리적 이미지에 대해서 비교될 수 있다. 상기 비교의 결과들은 상기 물리적 마스크가 설계된 마스크가 형성하는 것과 동일한 구조들을 생성할 것인지를 알려준다.In one embodiment, the simulation of the designed mask produces an image designed for the physical image. The designed image is an image generated from a calibrated layout (or other initial mask layout). The physical image is an aerial image simulation generated from a physical mask photograph. Photographs of the physical masks are obtained, for example, using a microscope. The physical mask photograph is a gray scale digital image of a physical mask in the embodiment. The physical image can then be created with the same techniques as above to create a designed image. The designed image can then be compared against the physical image. The results of the comparison indicate whether the physical mask will produce the same structures as the designed mask forms.

일실시예에서, 이러한 기술들은 소프트웨어를 사용하는 컴퓨터에서 실행된다. 다양한 실시예들에서, 상기 컴퓨터는 예를들어 선(Sun) 워크스테이션 또는 윈도우 엔티(NT)환경의 개인용 컴퓨터이다. 상기 이상적인 레이아웃의 상기 입력은 GDS-Ⅱ같은 파일 포멧이지만, 다른 실시예들은 다른 레이아웃 묘사(description) 포멧들과 언어들을 이용한다.In one embodiment, these techniques are executed on a computer using software. In various embodiments, the computer is, for example, a personal computer in a Sun workstation or Windows NT environment. The input of the ideal layout is a file format such as GDS-II, but other embodiments use other layout description formats and languages.

비록 많은 세부항목들이 상기 묘사(description) 및 형상들에 포함되어져 있지만, 본 발명은 청구항들의 범위로써 정의된다. 제한들은 본 발명에 대한 청구항들에서만 찾을 수 있다.Although many details are included in the above description and shapes, the invention is defined by the scope of the claims. Limitations can only be found in the claims for the present invention.

디자인 룰 체커에 관해 자세한 설명을 하기에 앞서, 서로다른 종류의 교정들과 검사들의 수행에도 어떻게 설계들의 계층이 유지되는가에 대해 설명한다. 그 다음, 얼마나 간단해진 디자인 룰 체킹이 수행되는지에 관한 설명이 기술된다.Before giving a detailed description of the design rule checker, we describe how the hierarchy of designs is maintained in the performance of different types of calibrations and checks. Next, a description of how simplified design rule checking is performed is described.

a. 설계들의 계층 유지(Maintanance of Hierarchy in Designs)a. Maintenance of Hierarchy in Designs

상기 설명한 바와 같이, 포토리소그래피 마스크 제조시에는, 마스크의 실제 제조시의 최후 포인트에서 IC 설계를 나타내는 데이터를 평탄화하는 것이 바람직하다. 그러나, 어떠한 경우 이러한 평탄화는 바람직한 때보다 더 일찍 일어난다. 이는 복잡한 IC의 초기 레이아웃이 전형적으로, 설계 상에서의 다수의 동작들 중 하나를 수행할 수 있도록 초기 설계가 완료된 후에 처리되기 때문이다. 이러한 동작들은 논리 연산의 수행, 광학 근접 교정의 발생, 위상 시프팅 마스크의 발생, 및 이러한 동작들을 행해지는 마스크들의 디자인 룰 체킹의 수행을 포함한다. 일반적으로, 이러한 동작들은 설계 데이터의 바람직한 평탄화보다 먼저 수행될 수 있도록 초기 설계 데이터 평탄화의 어떠한 소트를 필요로 한다. 이러한 데이터의 초기의 평탄화는 필요한 데이터 기억장치의 크기를 증가시키며 이에 대응하여 이들 동작들의 수행속도를 떨어뜨린다. 또한, 종래의 검증 시스템들은 전형적으로 동일한 입력 데이터 계층들을 필요로 하기때문에, 비-계층적인 방식으로 설계를 변경하는 동작들은, 가능하다면, 이들 변경된 설계들을 검증하는 중요한 단계의 수행을 어렵게 한다.As described above, in manufacturing the photolithography mask, it is preferable to flatten the data representing the IC design at the last point in the actual manufacture of the mask. In some cases, however, this planarization occurs earlier than desired. This is because the initial layout of a complex IC is typically processed after the initial design is completed to be able to perform one of a number of operations on the design. Such operations include performing logical operations, generating optical proximity corrections, generating phase shifting masks, and performing design rule checking of masks that perform these operations. In general, these operations require some sort of initial design data flattening to be performed prior to the desired flattening of the design data. This initial flattening of data increases the size of the data storage required and, in response, slows the performance of these operations. In addition, because conventional verification systems typically require the same input data layers, operations that change the design in a non-hierarchical manner make it difficult to perform the critical steps of verifying these modified designs, if possible.

본 발명은, 설계 초기의 정확한 계층이 유지되도록 입력 계층 IC 상에, 가령 OPC 교정과 같은 동작 성능을 제공함으로써 상기의 문제들을 해결한다. 본 발명의 다양한 실시예들은 집적 회로 제조에 이용되며 설계 레이아웃 상에서의 논리 연산의 수행을 위한 마스크들을 검증 및 교정하기 위한 컴퓨터 시스템을 포함한다. 이들 실시예들은 특정한 마스크의 형태를 정의하는 계층 마스크 정의 데이터를 받아들인다. 이후, 이들 실시예들은 데이터의 출력 세트를 발생시킨다. 일 실시예에서, 이러한 출력 데이터는 OPC 교정된 마스크 정의를 포함한다. 본 발명의 다른 실시예들은 OPC 교정 또는 마스크 검증 기술들을 수행하는 시스템들을 이용하여 발생된 실체 마스크들을 포함한다. 본 발명의 또 다른 실시예들은 OPC 교정 또는 마스크 검증 기술들을 실행하는 컴퓨터 프로그램들을 구비하는 컴퓨터 판독가능 매체들(예를 들어, 하드 디스크들, CD들, 및 다른 컴퓨터 프로그램 저장 툴들)을 포함한다.The present invention solves the above problems by providing operating performance, such as OPC calibration, on the input layer IC such that the correct layer at the beginning of the design is maintained. Various embodiments of the present invention are used in integrated circuit fabrication and include a computer system for verifying and correcting masks for performing logic operations on a design layout. These embodiments accept hierarchical mask definition data that defines the shape of a particular mask. These embodiments then generate an output set of data. In one embodiment, this output data includes an OPC calibrated mask definition. Other embodiments of the present invention include entity masks generated using systems that perform OPC correction or mask verification techniques. Still other embodiments of the present invention include computer readable media (eg, hard disks, CDs, and other computer program storage tools) having computer programs that execute OPC calibration or mask verification techniques.

도면을 참조하여 본 발명을 설명하기 전에, 본 발명 개념의 일 실시예의 개관이 제공된다. 따라서, 본 발명의 일 실시예는 레이아웃의 계층 정의를 수신하기 위하여, 그리고 설계 레이아웃 상에서 동작들을 수행하는 엔진에 의해 제공되는 교정 정보를 계층적으로 포함하는 하나 또는 그 이상의 부가 데이터 층들을 발생시키기 위하여 계층 유지기(hierarchy preserver)를 이용한다. 이후, 이러한 부가적인 층들은 이들이 그 층의 계층 정의내 각 코드와 결합될 수 있도록 저장된다.Before describing the invention with reference to the drawings, an overview of one embodiment of the inventive concept is provided. Accordingly, one embodiment of the present invention is directed to receiving a layer definition of a layout and generating one or more additional data layers hierarchically including calibration information provided by an engine performing operations on a design layout. Use a hierarchy preserver. These additional layers are then stored so that they can be combined with each code in the layer definition of that layer.

본 원에서는 다음과 같은 정의들이 이용된다. 즉, 교정 평면은, 평탄화된 노드에 교정 평면을 적용함으로써 출력이 그 노드에 대하여 교정된 설계가 되도록 계층내의 어떠한 노드(셀)와 결합된다. 델타 평면은 본질적으로 노드의 교정 평면과 그에 인접한 모든 자손 델타 평면들의 합 간의 차이이다. 따라서, 셀의 교정 평면은 그 셀에 대한 델타 평면과 그 셀의 인접한 자손셀들의 델타 평면들을 더한 것과 같다. 계층의 리프셀들은 어떠한 자손셀들도 갖지 않기 때문에, 모든 리프셀에 대한 교정 평면은 그 리프셀의 델타 평면과 같다. 이러한 방식으로, 본 발명의 일 예에서, 레이아웃에 대한 전체적인 교정은 계층 내 각 셀에 대한 델타 평면만을 단지 저장함으로써 제공될 수 있기 때문에 각 셀에 대한 교정 평면은 저장될 필요가 없다.The following definitions are used in this document. That is, the calibration plane is associated with any node (cell) in the hierarchy so that the output is a calibrated design for that node by applying the calibration plane to the flattened node. The delta plane is essentially the difference between the calibration plane of the node and the sum of all descendant delta planes adjacent to it. Thus, the correction plane of a cell is equal to the delta plane for that cell plus the delta planes of adjacent descendent cells of that cell. Since leaf cells of the hierarchy do not have any descendant cells, the calibration plane for all leaf cells is the same as the delta plane of that leaf cell. In this way, in one example of the present invention, the calibration plane for each cell need not be stored because the overall calibration for the layout can be provided by only storing the delta plane for each cell in the hierarchy.

본 발명의 일 실시예의 기본적인 개념은 컴파일 및 링킹을 포함하는 두 단계로 설명된다. 컴파일 단계에서의 교정은 설계 레이아웃 상에서 수행되는 동작에 따라서 계층 내의 모든 초기 기하구조에 대해 발생된다. 링킹 단계에서는, 부모셀들의 자손셀들과 부모셀들의 초기 기하구조와의 광학적인 오버랩으로 인한 여분의 교정이 이루어질 것이다. 따라서, 단지 부가적인 교정만이 저장된다.The basic concept of one embodiment of the present invention is described in two steps, including compilation and linking. Calibration in the compilation phase occurs for all initial geometry in the hierarchy, depending on the operations performed on the design layout. In the linking step, extra correction will be made due to the optical overlap between the descendant cells of the parent cells and the initial geometry of the parent cells. Thus, only additional calibration is saved.

델타 알고리즘은 단지 자손셀의 오버랩들 및 부모의 기하구조와 자손셀들간의 오버랩만을 고려하여 델타/부가 정보를 계산한다. 단지 이들 영역들만이 고려되는데, 이는 단지 오버랩들만이 부모셀에 필요한 부가적인 교정 변경에 영향을 주기 때문이다. 오버랩 영역은 기학구조의 오버랩에 전적으로 한정되지 않고, 근접 오버랩까지도 포함한다. 더 일반적인 정의를 이용함으로써, 모든 근접 효과들/교정들이 고려될 수 있게 된다. 셀에 대한 델타 알고리즘은 이제 델타 평면으로 일컬어질 것이다. 계층 트리의 리프들은 이에 따라 그들의 교정 평면들과 같은 델타 평면들을 갖게 된다.The delta algorithm calculates delta / additional information only considering overlaps of descendant cells and overlap between parent geometry and descendant cells. Only these areas are considered, since only overlaps affect the additional correction change required for the parent cell. The overlap region is not limited to the overlap of the geometry but also includes the proximity overlap. By using a more general definition, all proximity effects / corrections can be considered. The delta algorithm for the cell will now be called the delta plane. The leaves of the hierarchical tree thus have delta planes such as their calibration planes.

컴파일 시, 제공된 평탄화된 데이터에 대한 바람직한 동작을 수행하는 연산 엔진에 각 리프에 대한 원시 기하구조들을 설명하는 평탄화된 데이터를 제공함으로써 모든 리프들에 대한 교정 평면들이 발생될 수 있다. 링크 시, 만일 어떠한 서브셀 오버랩도 없다면, 그 부모셀에 대한 교정 평면은 그의 자손의 델타 평면들의 합과 같게 되며 (그리고 상기 설명한 바와 같이, 그 부모셀에 대하여 저장될 어떠한 부가적인 델타 평면 정보도 없을 것이다.) 만일 오버랩이 있다면, 그 오버랩 영역은 평탄화되고, 그 평탄화된 오버랩 영역에 대한 중간 교정 평면이 발생된다. 결과적으로, 상기 중간 교정 영역은 그 자손의 모든 교정 평면들의 합을 빼는데에 이용되며, 그 차이는 링크되는 셀에 대응하여 계층적으로 저장되는 델타 평면이 된다.At compile time, correction planes for all leaves can be generated by providing the flattened data describing the primitive geometries for each leaf to the computational engine that performs the desired operation on the provided flattened data. At link time, if there is no subcell overlap, the calibration plane for that parent cell is equal to the sum of its descendant delta planes (and, as explained above, any additional delta plane information to be stored for that parent cell). If there is an overlap, the overlap area is flattened, and an intermediate calibration plane for that flattened overlap area is generated. As a result, the intermediate calibration region is used to subtract the sum of all calibration planes of its descendants, the difference being the delta plane stored hierarchically in correspondence with the cells being linked.

현재의 GDS-Ⅱ, 및 완전한 레이아웃을 설명하는 다른 대부분의 설계 데이터베이스 포맷들은 개별적인 층들 상에 다른 마스크와 칩 레벨들을 놓는 것을 포함한다. 본 발명의 다양한 실시예들에 도입되는 것은, 논리(예를 들어, XOR, AND) 및 산술 연산이 가능한 산술층을 기반으로 할 수 있는 층개념에 입각한 트위스트이다. 예를 들어, OPC 연산에 있어서, 특정한 OPC 영역을 나타내는 교정층은 산술층을 기반으로 할 수 있다. 예를 들어, “-1”은 음의 쉐리프를 의미하고, “+1”은 양의 쉐리프를 의미하며, 그리고 “-2”는 한 방향에서의 오버랩이 극미한 종단 버팅(end-butting)을 의미한다. 링킹하는 동안, 구조 전체에 걸쳐 증가 또는 미분 교정들을 계산하는 알고리즘을 이용하여 모든 교정층들이 산술적으로 발생된다. 이들 델타 평면들, 또는 산술층들은 데이터베이스 포맷 내에 별개의 층들(예를 들어, 층들 1, 2, 및 3을 맵핑하는 +1, -1, -2 등)로서 제시된다. 이는 부모셀에 대한 최종적인 교정층이 부모셀의 델타 평면과 리프들의 컴파일-타임 교정층으로부터의 부모셀의 자손 및 손자 및 증손자 등의 증가 합과 같아질 수 있게 한다.The current GDS-II, and most other design database formats describing the complete layout, include placing different mask and chip levels on separate layers. Introduced in various embodiments of the present invention is a layered twist that can be based on arithmetic layers capable of logic (eg, XOR, AND) and arithmetic operations. For example, in an OPC operation, a correction layer representing a particular OPC region may be based on an arithmetic layer. For example, “-1” means negative sheriff, “+1” means positive sheriff, and “-2” means end-butting with minimal overlap in one direction. ). During linking, all correction layers are arithmetically generated using an algorithm that calculates incremental or differential corrections throughout the structure. These delta planes, or arithmetic layers, are presented as separate layers (eg, +1, -1, -2, etc. that map layers 1, 2, and 3) within the database format. This allows the final correction layer for the parent cell to be equal to the increasing sum of the descendants and grandchildren and great-grandchildren of the parent cell from the delta plane of the parent cell and the compile-time correction layer of the leaves.

계층적인 데이터 관리는 상기 설명된 델타 알고리즘 또는 산술층들이 이용되지 않는 본 발명의 변형 실시예에서 교정의 발생시에도 또한 가능하다. 이러한 변형 실시예에서는, 부모셀과 그의 자손셀들의 교정층들 간의 차이를 취하여 저장하는 대신에, 논리 연산이 부모와 그 자손 사이의 교정을 비교하는 데에 이용될 수 있으며, 이렇게 되면 “산술” 차이 대신 “논리” 차이가 부모셀에 저장된다.Hierarchical data management is also possible in the event of correction in a variant embodiment of the present invention in which the delta algorithm or arithmetic layers described above are not used. In this variant embodiment, instead of taking and storing the difference between the correction layers of the parent cell and its descendant cells, a logical operation may be used to compare the correction between the parent and its descendants, thus causing "arithmetic". Instead of the difference, the “logical” difference is stored in the parent cell.

따라서, 상기에서 요약한 바와 같이, 본 발명은 마스크 설명을 위한 시스템 내에서의 데이터 계층 유지 방법 및 장치를 제공한다. 이제 도면들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다. 도 1은 단순한 집적 회로 설계 레이아웃(100) 및 레이아웃(110)의 계층적인 트리 표현을 예시한다. 회로 레이아웃(100)은 부모셀들(B, C 및 D)을 포함하는 목적 셀(A)을 구비한다. 부모셀(C)은 동일한 셀들(G1, G2, G3, G4, G5 및 G6)을 포함한다. 부모셀(D)는 셀(H)과 동일한 셀들(I1 및 I2)을 포함한다. 부모셀(B)은 동일한 부모셀들(E1 및 E2) 및 동일한 부모셀들(F1 및 F2)을 포함한다. 부모셀(E1)은 도 1에 예시된 원시 기하 구조들을 포함하는 리프셀들(J1 및 K1)을 포함한다. 부모셀(E2)은 셀들(J1 및 K1)과 동일한 원시 기하 구조를 포함하는 리프셀들(J2 및 K2)을 포함한다. 부모셀(F1)은 도 1에 예시된 원시 기하 구조를 포함하는 리프셀들(L1 및 M1)을 포함한다. 부모셀(F2)은 셀들(J1 및 K1)과 동일한 원시 기하 구조를 포함하는 리프셀들(L2 및 M2)을 포함한다. 계층적인 트리 레이아웃(110)은 트리의 바닥에는 리프셀들을, 그리고 트리의 꼭대기에는 목표 셀(A)을 갖는 트리 포맷으로 상기언급한 셀들을 설명한다. 또한, 본 원에서 각각의 리프셀들은 종종 리프 노드 또는 자손셀로 언급되며, 본 원에서 상기 리프 노드들 위의 각 셀들은 부모셀 또는 단순히 노드로서 언급된다. 도 1의 집적 회로 설계 레이아웃(100)은 하기에 설명되는 본 발명의 바람직한 실시예에서는 기준 IC 설계로서 제공된다. 도 1에 예시된 단순한 IC는, 예들 들어 하기에 설명되는 본 발명의 실시예와 같이 계층 포맷으로 설명되는 모든 IC에 적용될 수 있다.Thus, as summarized above, the present invention provides a method and apparatus for maintaining data layers in a system for mask description. Reference will now be made in detail to the preferred embodiment of the present invention with reference to the drawings. 1 illustrates a hierarchical tree representation of a simple integrated circuit design layout 100 and layout 110. The circuit layout 100 has a destination cell A comprising parent cells B, C and D. The parent cell C includes the same cells G1, G2, G3, G4, G5, and G6. The parent cell D includes the same cells I1 and I2 as the cell H. The parent cell B includes the same parent cells E1 and E2 and the same parent cells F1 and F2. The parent cell E1 comprises leaf cells J1 and K1 comprising the primitive geometries illustrated in FIG. 1. The parent cell E2 includes leaf cells J2 and K2 that contain the same primitive geometry as the cells J1 and K1. The parent cell F1 includes leaf cells L1 and M1 including the primitive geometry illustrated in FIG. 1. The parent cell F2 includes leaf cells L2 and M2 including the same primitive geometry as the cells J1 and K1. The hierarchical tree layout 110 describes the aforementioned cells in a tree format with leaf cells at the bottom of the tree and target cells A at the top of the tree. In addition, each leaf cell herein is often referred to as a leaf node or descendant cell, and each cell above the leaf nodes herein is referred to as a parent cell or simply a node. The integrated circuit design layout 100 of FIG. 1 is provided as a reference IC design in a preferred embodiment of the present invention described below. The simple IC illustrated in FIG. 1 may be applied to all ICs described in a hierarchical format, for example, as an embodiment of the present invention described below.

도 2는 본 발명의 일 실시예를 통합하는 시스템을 블록도 형태로 예시한다. 설명되는 시스템은, 논리 또는 산술 연산이 계층적으로 설명되는 입력 IC 설계에 대하여 수행될 수 있어, 결과적으로 변형된 IC 설계가 입력 설계의 초기의 정확한 계층을 유지하게 되는 시스템이다. 시스템의 일 실시예의 기본 요소들은 계층 유지기(210)와 연산 엔진(240)을 구비한다. 계층 유지기(210)는 컴파일러(220)와 링커(230)를 구비한다.2 illustrates in block diagram form a system incorporating one embodiment of the present invention. The system described is a system in which logic or arithmetic operations can be performed on an input IC design in which the hierarchical description is performed so that the modified IC design maintains the initial correct hierarchy of the input design. The basic elements of one embodiment of the system include a hierarchy maintainer 210 and a computation engine 240. The hierarchy maintainer 210 includes a compiler 220 and a linker 230.

시스템의 계층 유지기(210)는 집적 회로 설계(200)을 설명하는 계층적인 설계 데이터(205)를 입력으로써 받아들인다. 일 실시예에서, 계층 유지기(210)는 GDS-Ⅱ 포맷으로 계층적인 설계 데이터(205)를 받아들인다. 다른 실시예들에서, 계층 유지기(210)는 모든 계층 파일 포맷으로 설명되는 계층적인 설계 데이터(205)를 받아들인다. 계층 유지기(210)의 컴파일러(220)는 연산 엔진(240)과 함께 작동하여 설계 데이터(205)의 각 노드에 원시 기하구조에 대한 교정 데이터층을 제공한다. 발생된 교정 데이터층들은 하기에서 좀 더 완전하게 설명될 연산 엔진(240)에 의해 수행되는 동작에 따라서 각 노드에서의 원시 기하구조에 대해 행해지는 변경들을 나타낸다. 본 발명의 일 실시예에서, 연산 엔진(240)은 가령 입력 설계 데이터(205)에 대한 AND 또는 NOT과 같은 논리 연산을 수행한다. 본 발명의 다른 실시예에서, 연산 엔진(240)은 입력 설계 데이터(205)에 대하여 광학 근접 교정을 수행한다. 본 발명의 또 다른 실시에에서, 연산 엔진(240)은 입력 설계 데이터(205)의 디자인 룰 체킹을 수행한다.The hierarchical maintainer 210 of the system accepts as input hierarchical design data 205 describing the integrated circuit design 200. In one embodiment, hierarchy maintainer 210 accepts hierarchical design data 205 in GDS-II format. In other embodiments, hierarchy maintainer 210 accepts hierarchical design data 205 described in all hierarchical file formats. Compiler 220 of hierarchy maintainer 210 works with computational engine 240 to provide a calibration data layer for the primitive geometry to each node of design data 205. The generated calibration data layers represent the changes made to the primitive geometry at each node according to the operations performed by the computational engine 240, which will be described more fully below. In one embodiment of the invention, the computational engine 240 performs logical operations, such as AND or NOT, for example on the input design data 205. In another embodiment of the present invention, the computational engine 240 performs optical proximity calibration on the input design data 205. In another embodiment of the present invention, the computational engine 240 performs design rule checking of the input design data 205.

컴파일러(220)가 입력 설계 데이터(205)의 각 노드에 대하여 교정 데이터층을 발생시킨 후, 링커(230)는 연산 엔진(240)과 함께 작동하여 설계의 각 노드에 대한 델타 평면을 발생시킨다. 각 셀에 대한 델타 평면은 특정한 셀에 대한 교정 데이터층 정보와 그 특정 셀의 자손셀들의 모든 교정 데이터층들의 합 간의 차이와 같이 되도록 발생된다. 일 실시예에서, 각 셀에 대한 델타 평면은 각 셀 내의 오버랩 만을 고려함으로써 델타/부가 정보를 계산하는 링커(230)에 의해 처리되는 델타 알고리즘에 의해 발생된다. 일 실시예에서, 이들 오버랩들은 셀의 자손셀들 간의 오버랩과, 그리고 부모셀 자신의 원시 기하구조와 그의 자손셀들의 기하구조 간의 오버랩들로 구성된다. 일 실시예에서, 이들 오버랩 영역들은 기학구조 오버랩에 전적으로 한정되지 않고, 근접 오버랩까지도 포함한다. 링커(230)가 입력 설계(205)의 각 노드에 대한 델타 평면을 발생시키는 과정에 대해 하기에 좀 더 충분하게 설명한다.After compiler 220 generates a calibration data layer for each node of input design data 205, linker 230 works with arithmetic engine 240 to generate a delta plane for each node of the design. The delta plane for each cell is generated to be equal to the difference between the calibration data layer information for a particular cell and the sum of all calibration data layers of the descendant cells of that particular cell. In one embodiment, the delta plane for each cell is generated by a delta algorithm processed by the linker 230 that computes delta / additional information by considering only the overlap in each cell. In one embodiment, these overlaps consist of an overlap between the descendant cells of the cell and an overlap between the parent cell's own primitive geometry and its descendant's geometry. In one embodiment, these overlap regions are not limited to geometric overlap, but also include proximity overlap. The process by which the linker 230 generates the delta plane for each node of the input design 205 is described more fully below.

링커(230)가 델타 평면들을 발생시킨 후, 계층 유지기(210)는 연산 엔진(240)에 의해 수행되는 작동에 따라 변경된 입력 설계(205)을 나타내는 출력 데이터(250)를 발생시키며, 출력 데이터(250)는 입력 설계 데이터(205)의 초기의 확실한 계층을 유지한다. 이 출력 데이터(250)는 초기의 변경되지 않은 계층적인 설계 데이터(205) 및 계층적인 교정 데이터 파일(260)을 포함한다. 계층적인 교정 데이터 파일(260)은 설계 데이터(205)의 각 노드에 대한 델타 평면 데이터를 포함하여, 설계 데이터(205)와 교정 데이터(260)가 결합될 때, 연산 엔진(240)에 의해 초기의 설계 데이터(205)에 대하여 수행되는 동작을 나타내는 변경된 설계가 생성된다.After the linker 230 generates delta planes, the hierarchy maintainer 210 generates output data 250 representing the input design 205 that has changed in accordance with the operations performed by the computational engine 240, and the output data. 250 maintains an initial robust hierarchy of input design data 205. This output data 250 includes the initial unaltered hierarchical design data 205 and the hierarchical calibration data file 260. The hierarchical calibration data file 260 includes delta plane data for each node of the design data 205, which is initially initialized by the computation engine 240 when the design data 205 and the calibration data 260 are combined. An altered design is generated that represents the operation performed on the design data 205 of the.

이렇게 되면 계층 출력 데이터(250)는 다수의 목적들을 위해 이용될 수 있다. 먼저, 상기 계층 출력 데이터(250)는 출력 데이터(250)에 대하여 수행되는 새로운 논리 또는 산술 동작을 위해 온라인(262)을 통하여 계층 유지기(210)에 제공될 수 있다. 또한, 이는 계층 형태이기 때문에, 계층 데이터를 받아들이는 종래의 디자인 룰 체커(270)에 제공될 수 있으며, 이에 따라 새로운 변경 출력 설계가 체크되어 설계되는 특정한 집적 회로에 대한 디자인 룰을 만족시키는 지를 검증할 수 있게 된다. 또한, 출력 데이터(250)는 설계 데이터(205)와 교정 데이터(260)를 결합시켜 최종 데이터 레이아웃(275)를 구성하고, 상기 결합된 데이터 레이아웃(280)을 평탄화한 다음, 상기 평탄화된 데이터를 전자빔 장치에 제공하여 변경된 설계 데이터(285)를 구현하는 실질적인 물리적인 마스크를 제조함으로써 마스크 제조(265)에 이용될 수 있다.The hierarchical output data 250 can then be used for a number of purposes. First, the hierarchical output data 250 may be provided to hierarchical maintainer 210 via online 262 for new logic or arithmetic operations performed on output data 250. Also, since it is hierarchical, it can be provided to a conventional design rule checker 270 that accepts hierarchical data, thereby verifying that the new modified output design is checked to satisfy the design rules for the particular integrated circuit being designed. You can do it. In addition, the output data 250 combines the design data 205 and the calibration data 260 to form a final data layout 275, flatten the combined data layout 280, and then flatten the flattened data. It can be used in mask fabrication 265 by fabricating a substantial physical mask that is provided to the electron beam device to implement modified design data 285.

이제, 설계 데이터(205)의 각 노드들에 대한 교정 데이터층들 및 델타 평면들의 발생에 대해 좀 더 상세히 설명한다. 도 1을 참조하면, 컴파일러(220)의 일 실시예는 최종 부모셀의 각 분기(branch)가 순서대로 액세스되며 각 분기가 그의 리프 노드들로부터 윗쪽으로 액세스되는 깊이에 따른 트래버스(depth wise traverse)를 이용하여 액세스된다. 따라서, 도 1을 참조하면, 컴파일러(220)의 본 실시예는 다음과 같은 순서, 즉 J1, K1, E1, L1, M1, F1, L2, M2, F2, J2, K2, E2, B, G1, G2, G3, G4, G5, G6, C, H, I1, I2, D 및 A의 순서로 집적 회로(100)의 노드들을 액세스한다. 컴파일러(220)가 트리를 트래버스할 때, 컴파일러는 연산 엔진(240)에 각 셀의 원시 기하구조에 해당하는 평탄화된 데이터를 제공한다. 연산 엔진(240)은 평탄화된 데이터에 대한 동작을 수행한 다음, 그 동작에 대한 결과를 계층 유지기(210)에 돌려준다. 예를 들어, 도 1을 참조하여, 만일 리프셀 J1이 컴파일된다면, 연산 엔진(240)은 평탄화된 데이터 J'=J+ΔJ를 돌려줄 것이다. 일 실시예에서, 데이터 저장량은, 상기언급한 방정식을 ΔJ에 대하여 풀고 ΔJ의 값을 셀 J에 대한 교정층으로서 저장하는 계층 유지기(210)에 의해 감소된다. 이러한 과정은 전체 트리가 트래버스될 때 까지 설계 내의 모든 셀에 대해 반복된다. 이후, 설계 데이터(205)는 다음과 같은 방법으로 링커(230)에 의해 링크된다. 트리는 상기 설명된 방법으로 다시 트래버스되며, 각 셀에 대한 오버랩 영역이 발견되어 평탄화된다. 그런 다음, 평탄화된 오버랩 영역은 데이터에 대한 동작을 차례로 수행하여 그 결과를 계층 유지기(210)에 돌려주는 연산 엔진(240)에 입력된다. 링커(230)는 연산 엔진(240)으로부터 반화된 데이터를 이용하여 중간 교정층을 생성하며, 이 중각 교정층은 각 셀에 대한 델타 평면을 발생시키기 위해 링커(230)에 의해 이용된다. 델타 평면의 발생은 도 6 및 도 10을 참조하여 하기에서 좀 더 충분하게 설명할 것이다. 그런 다음, 설계의 각 셀에 대한 델타 평면은 계층적인 교정 데이터 파일(260) 내의 입력 설계 데이터(205)의 것에 해당하는 계층 포맷 내에 저장된다.Now, the generation of calibration data layers and delta planes for each node of design data 205 will be described in more detail. Referring to FIG. 1, one embodiment of the compiler 220 illustrates a depth wise traverse depending on the depth in which each branch of the final parent cell is accessed in sequence and each branch is accessed upward from its leaf nodes. Is accessed using. Thus, referring to FIG. 1, the present embodiment of the compiler 220 is described in the following order, that is, J1, K1, E1, L1, M1, F1, L2, M2, F2, J2, K2, E2, B, G1. The nodes of the integrated circuit 100 are accessed in the order of, G2, G3, G4, G5, G6, C, H, I1, I2, D, and A. As the compiler 220 traverses the tree, the compiler provides the computational engine 240 with flattened data corresponding to the primitive geometry of each cell. The operation engine 240 performs an operation on the flattened data and then returns a result of the operation to the hierarchy maintainer 210. For example, referring to FIG. 1, if leaf cell J1 is compiled, arithmetic engine 240 will return flattened data J '= J + ΔJ. In one embodiment, the amount of data storage is reduced by layer maintainer 210, which solves the above-mentioned equation for ΔJ and stores the value of ΔJ as the calibration layer for cell J. This process is repeated for every cell in the design until the entire tree is traversed. The design data 205 is then linked by the linker 230 in the following manner. The tree is traversed again in the manner described above, where overlap regions for each cell are found and flattened. The flattened overlap region is then input to a computation engine 240 which performs operations on the data in turn and returns the result to the hierarchy maintainer 210. The linker 230 uses the half data from the computational engine 240 to create an intermediate calibration layer, which is used by the linker 230 to generate a delta plane for each cell. Generation of the delta plane will be described more fully below with reference to FIGS. 6 and 10. The delta plane for each cell of the design is then stored in a hierarchical format corresponding to that of the input design data 205 in the hierarchical calibration data file 260.

도 2에 도시된 본 발명의 일 실시예에서, 계층 유지기(210)는 컴파일러(220) 및 링커(230)의 기능을 수행하는 컴퓨터 판독가능 매체들 상에 저장된 프로그램 코드를 실행시키는 컴퓨터 시스템을 구비할 수도 있다. 본 발명의 일 실시예에서, 연산 엔진(240)은 또한 컴퓨터 판독가능 매체들 상에 저장된 프로그램 코드를 실행시키는 컴퓨터 시스템을 구비할 수도 있다. 본 발명의 일 실시예에서, 계층 유지기(210) 및 연산 엔진(240)은 컴파일러(220), 링커(230), 및 연산 엔진(230)의 기능을 함께 수행하는 컴퓨터 판독가능 매체들 상에 저장된 프로그램 코드를 실행시키는 단일 컴퓨터 시스템을 구비한다. 다른 실시예에서, 계층 유지기(210) 및 연산 엔진(240)은 두 개 또는 그 이상의 다른 프로그램 코드들을 실행하는 단일 컴퓨터 시스템, 또는 두 개 또는 그 이상의 다른 프로그램 코드들, 계층 유지기(210)의 기능들을 위한 코드, 및 연산 엔진(240)의 가능들을 위한 개별적인 코드를 실행하는 다수의 개별적인 컴퓨터 시스템을 구비한다. 본 실시예에서, 계층 유지기(210)는 API를 통해 연산 엔진(240)에 데이터를 선택적으로 제공할 수도 있다. 본 실시예에 의해, 본 발명의 계층 유지기(210)는 계층 데이터 출력의 장점을 제공하기 위하여 현재 존재하는 연산 엔진(240)과 통신하여 작동하도록 변경될 수 있다.In one embodiment of the invention shown in FIG. 2, layer maintainer 210 implements a computer system for executing program code stored on computer readable media performing the functions of compiler 220 and linker 230. FIG. It can also be provided. In one embodiment of the invention, the computational engine 240 may also include a computer system for executing program code stored on computer readable media. In one embodiment of the invention, layer maintainer 210 and computational engine 240 are on computer readable media that perform the functions of compiler 220, linker 230, and computational engine 230 together. It has a single computer system for executing stored program code. In another embodiment, hierarchy maintainer 210 and computational engine 240 may be a single computer system that executes two or more different program codes, or two or more other program codes, hierarchy maintainer 210. And a number of separate computer systems for executing the code for the functions of the < RTI ID = 0.0 > In this embodiment, the hierarchy maintainer 210 may optionally provide data to the computation engine 240 via an API. By this embodiment, the layer maintainer 210 of the present invention can be modified to operate in communication with the existing computational engine 240 to provide the advantages of hierarchical data output.

상기 언급된 컴퓨터 판독가능 매체들은, 하드 디스크들, CD들, 플로피 디스크들, 및 서버 메모리를 포함하지만 이에 한정되지 않는 모든 컴퓨터 기억장치 툴을 구비할 수도 있다. 프로그램 코드를 실행하는 컴퓨터 시스템들은, 연산 엔진(240) 및 계층 유지기(210)의 경우, 예를 들어 윈도우즈 NT 작동 시스템 또는 선 소울러리스(solaris) 워크스테이션을 작동하는 탁상용 컴퓨터를 포함하는 모든 적절한 컴퓨터 시스템을 구비한다.The above-mentioned computer readable media may include all computer storage tools, including but not limited to hard disks, CDs, floppy disks, and server memory. Computer systems that execute the program code include, for the computational engine 240 and the hierarchy maintainer 210, all desktop computers including, for example, a Windows NT operating system or a desktop computer operating a Sun Soulris workstation. Have a suitable computer system.

도 3은 도 2 시스템의 일 실시예로부터 출력된 전형적인 계층 데이터의 단순화된 표현이 예시된다. 교정 데이터(320)의 계층 데이터 파일은, 도 2의 시스템이 도 1의 단순화된 집적 회로 레이아웃(100)에 대하여 작동하도록 적용되는 경우 발생되는 교정 데이터의 단순화된 변형을 나타낸다. 상기 설명된 바와 같이, 계층적인 교정 데이터(260)를 제공하기 위해 연산 엔진(240)과 함께 작동하는 계층 유지기(210)에 계층적인 설계 데이터(205)가 제공된다. 본 발명이 동작 수행시 데이터의 증가에 있어서 최소 효과를 가짐을 설명하기 위하여 설계 레이아웃(310)의 단순화된 계층 데이터 파일이 도시된다. 도시된 바와 같이, 교정 데이터(320)의 계층 데이터 파일은 입력 데이터 파일(310)과 일대일로 대응하는 구조 내에 저장될 수 있다. 이는 전체적으로 변경된 설계 상에서, 가령 마스크 제조 및 디자인 룰 체킹과 같은 다른 기능들을 수행하기 위하여 두 개의 데이터 파일(310 및 320)을 빠르게 결합할 수 있다.3 illustrates a simplified representation of typical hierarchical data output from one embodiment of the FIG. 2 system. The hierarchical data file of calibration data 320 represents a simplified variation of calibration data that occurs when the system of FIG. 2 is applied to operate with respect to the simplified integrated circuit layout 100 of FIG. As described above, hierarchical design data 205 is provided to a hierarchical maintainer 210 that operates with computational engine 240 to provide hierarchical calibration data 260. A simplified hierarchical data file of design layout 310 is shown to illustrate that the present invention has a minimal effect on data growth when performing operations. As shown, the hierarchical data file of calibration data 320 may be stored in a structure that corresponds one-to-one with input data file 310. This can quickly combine two data files 310 and 320 to perform other functions, such as mask fabrication and design rule checking, on an overall modified design.

또한, 셀이 계층 유지기(210)에 의해 트래버스될 때, 계층 유지기(210)는 그 셀이 이미 트래버스된 셀과 일치하는 지를 결정한다는 것을 주목하자. 만일 그렇다면, 계층 유지기(210)는 그 셀에 대한 델타 평면을 바로 결정하는 처리 시간을 갖지 않는다. 대신에, 계층 유지기는 정의된 셀의 첫 번째 경우에 대한 포인터를 제공함으로써 확실한 계층을 유지한다. 예를 들어, 이는 도 1에 도시된 바와 같이, 서로 동일한 셀들(F1 및 F2)에 의해 교정 데이터(320)의 계층 데이터 파일로 예시된다. 이전에 설명한 바와 같이, 본 발명의 일 실시예에서, 계층 유지기(210)는 리프 노드들로부터 최종 부모셀까지 깊이에 다른 방법으로 설계 데이터(205)를 트래버스한다. 이러한 방법에 있어서, F1은 F2 이전에 트래버스될 것이며, 이에 따라 교정 데이터 ΔF1은 발생되어 그 셀에 대하여 저장된다. 이는 파일(320) 내에 라벨(325)로 나타내었다. 그러나, 셀 F2가 트래버스될 때, F1에 대한 교정 데이터로의 포인터만이 저장되며 어떠한 교정 데이터도 F2에 대해 처리되지 않는다. 이는 라벨(330)로 나타내었다. 이러한 방식에 있어서, 처리 시간 및 데이터량은 감소된다.Also note that when a cell is traversed by hierarchy maintainer 210, hierarchy maintainer 210 determines whether the cell matches a cell that has already been traversed. If so, hierarchy maintainer 210 does not have the processing time to immediately determine the delta plane for that cell. Instead, the hierarchy maintainer maintains a clear hierarchy by providing a pointer to the first case of a defined cell. For example, this is illustrated as a hierarchical data file of calibration data 320 by the same cells F1 and F2 as shown in FIG. 1. As previously described, in one embodiment of the present invention, hierarchy maintainer 210 traverses design data 205 in different ways in depth from leaf nodes to the final parent cell. In this way, F1 will be traversed before F2, so that calibration data ΔF1 is generated and stored for that cell. This is represented by label 325 within file 320. However, when cell F2 is traversed, only a pointer to calibration data for F1 is stored and no calibration data is processed for F2. This is represented by label 330. In this manner, processing time and data amount are reduced.

도 4는 설계 레이아웃의 계층적인 구조가 본 발명의 일 실시예에 따라 유지되는 계층적인 집적 회로 설계에 대하여 논리 또는 대수 연산을 수행하는 방법을 플로우챠트 형태로 예시한다. 간단히 설명해, 상기 방법은 컴파일 과정, 및 링킹 과정을 포함한다. 블록(400)에서 계층적인 설계 데이터 레이아웃이 제공되며, 블록(410)에서는 상기 도 2 및 도 3에서 설명된 방법으로 설계 트리가 액세스된다. 블록(415)에서는 컴파일 과정이 시작되며, 트리 내의 첫 번째 셀에 대한 계층 데이터가 얻어진다. 그런 다음, 블록(425)에서는 그 셀이 이전에 정의되었는 지를 결정한다. 만일 이전에 정의된 것이라면, 얻어진 셀은 블록(427)에서 이전에 정의된 교정 데이터와 결합되며, 블록(415)에서 트리 내의 다음 셀이 얻어진다. 만일 다음 셀은 이전에 정의된 것이 아니라면, 블록(430)에서 그 셀의 평탄화된 원시 구조 데이터가 얻어져, 블록(435)에 제공되어 평탄화된 원시 데이터에 대하여 산술 또는 논리 연산이 수행된다. 그런 다음, 변경되고 평탄화된 원시 데이터는 블록(440)에 제공되며, 이 데이터는 블록(445)에서 처리되어 도 2의 ΔJ에 대해 이전에 설명한 바와 같이 바람직한 교정 데이터를 분리해낸다. 그런 다음, 분리된 교정 데이터는 블록(450)에서 초기 설계 데이터에 해당하는 계층 포맷으로 저장된다. 블록(455)에서는, 모든 셀들이 트래버스되었는 지를 결정한다. 모든 셀들이 트래버스되었다면, 블록(460)에서 링킹 과정이 시작되고, 모든 셀들이 다 트래버스되지 않았다면, 모든 셀들이 다 트래버스되어 컴파일될 때 까지 블록(415)에서 컴파일 과정을 계속할 것이다.4 illustrates, in flowchart form, a method of performing logic or algebraic operations on a hierarchical integrated circuit design in which the hierarchical structure of the design layout is maintained in accordance with one embodiment of the present invention. Briefly described, the method includes a compilation process and a linking process. At block 400 a hierarchical design data layout is provided, and at block 410 the design tree is accessed in the manner described in FIGS. 2 and 3 above. At block 415 the compilation process begins, with hierarchical data for the first cell in the tree. Next, block 425 determines if the cell has been previously defined. If previously defined, the obtained cell is combined with the previously defined calibration data at block 427, and the next cell in the tree is obtained at block 415. If the next cell is not previously defined, at block 430 the planarized raw structural data of that cell is obtained and provided to block 435 to perform an arithmetic or logical operation on the planarized raw data. The modified and flattened raw data is then provided to block 440, which is processed at block 445 to separate the desired calibration data as previously described for ΔJ in FIG. 2. The separated calibration data is then stored in block 450 in a hierarchical format corresponding to the initial design data. In block 455, determine if all cells have been traversed. If all cells have been traversed, the linking process begins at block 460, and if all cells have not been traversed, the compilation process will continue at block 415 until all cells have been traversed and compiled.

블록(460)에서는 설계 트리를 액세스하는 컴파일 과정과 동일한 방법으로 링킹 과정이 시작된다. 그 과정은 블록(465)에서 계속되며, 트리내 첫 번째 셀에 대한 계층 데이터가 얻어진다. 그런 다음, 블록(470)에서는 그 셀이 이미 정의되었는 지를 결정한다. 만일 이전에 정의된 것이라면, 얻어진 셀은 블록(427)에서 이전에 정의된 교정 데이터와 결합하고, 블록(465)에서 트리내 다음 셀이 얻어진다. 만일 그 셀이 이전에 정의된 것이 아니라면, 도 2에 대해 상기 설명한 바와 같이 블록(475)에서 그 셀의 오버랩을 결정한다. 그런 다음, 이러한 오버랩 영역들은 블록(480)에서 평탄화되며, 이 평탄화된 데이터는 블록(435)에 제공되어 이전에 설명된 바와 같이 평탄화된 데이터에 대한 산술 또는 논리 연산이 수행된다. 이후, 평탄화된 데이터에 대해 수행된 이러한 연산은 블록(483)에서 중간 교정층을 발생시키는 데에 이용되고, 블록(485)에서는 그 셀에 대한 델타 평면이 발생되며, 이는 블록(490)에서 계층적인 데이터 포맷으로 저장된다. 델타 평면은 트리 내에 각 셀을 유지하는 데에 필요한 유일한 데이터이다. 상기 설명한 바와 같이, 부모셀 및 그의 자손셀들이 있다면, 부모셀에 대한 교정 정보와 그의 모든 자손의 교정 데이터의 합 간의 차이는 델타 평면과 같다. 따라서, 이렇게 되면 계층 트리의 리프들은 컴파일시 결정된 그들의 교정 평면들과 같은 델타 평면들을 갖게 된다. 블록(495)에서는, 트리내 모든 셀들이 트래버스되었는 지를 결정한다. 모든 셀들이 트래버스되었다면, 과정은 정지되고 그 출력 데이터는 이전에 설명한 다양한 기능을 위해 이용될 수도 있으며, 모든 셀들이 트래버스되지 않았다면, 단계(465)에서 트리의 모든 셀들이 트래버스될 때 까지 링킹 과정이 계속된다.In block 460, the linking process begins in the same manner as the compilation process for accessing the design tree. The process continues at block 465, where hierarchical data is obtained for the first cell in the tree. Then at block 470 it is determined if the cell has already been defined. If previously defined, the obtained cell is combined with the calibration data previously defined at block 427 and the next cell in the tree is obtained at block 465. If the cell has not been previously defined, determine the overlap of the cell at block 475 as described above with respect to FIG. These overlap regions are then flattened at block 480, and this flattened data is provided to block 435 to perform arithmetic or logical operations on the flattened data as previously described. This operation performed on the flattened data is then used to generate an intermediate calibration layer at block 483, and at 485 a delta plane is generated for that cell, which is layered at block 490. Data format is stored. The delta plane is the only data needed to keep each cell in the tree. As described above, if there is a parent cell and its descendant cells, the difference between the sum of the calibration information for the parent cell and the calibration data of all its descendants is equal to the delta plane. Thus, the leaves of the hierarchical tree will then have the same delta planes as their correction planes determined at compile time. In block 495, it is determined whether all cells in the tree have been traversed. If all cells have been traversed, the process may be stopped and the output data may be used for the various functions described previously, and if all cells have not been traversed, the linking process may be repeated until all cells of the tree have been traversed in step 465. Continues.

도 5는 본 발명의 특정한 실시예가 도 1의 부모셀 F1에 대하여 논리 연산을 어떻게 수행하는 지를 보여준다. 이 경우, 부모셀(F1)에 대하여 논리 NOT 연산을 수행하는 것이 바람직하다고 가정하자. 바람직한 출력은 도 5에서 F1(NOT)으로 나타내었다. 이를 수행하기 위하여, 연산은 도 4의 블록(435)에 대해 상기 설명한 방식으로 도 2의 연산 엔진(240)을 이용하여 리프 L1을 나타내는 평탄화된 데이터에 대한 NOT 연산 및 M1을 나타내는 평탄화된 데이터에 대한 NOT 연산을 바로 수행할 것이다. 이후, 이들 연산의 결과는 계층 형태로 저장되어 교정 데이터가 적절한 노드들에 결합되게 된다. 이러한 결과들은 도 5에 L1(NOT) 및 M1(NOT)으로 도시된다. 그러나, 본 발명의 이론이 없다면, L1(NOT)과 M1(NOT)을 간단히 더해서 얻어지는 바람직한 F1(NOT)을 얻지 못한다. 이는 L1(NOT)과 M1(NOT)을 더해서 얻어지는 부정확한 결과(510)로 나타내었다.FIG. 5 shows how a particular embodiment of the present invention performs a logical operation on the parent cell F1 of FIG. 1. In this case, assume that it is preferable to perform a logical NOT operation on the parent cell F1. Preferred output is shown in FIG. 5 as F1 (NOT). To do this, the operation is performed on the NOT operation on the flattened data representing the leaf L1 and the flattened data representing M1 using the computational engine 240 of FIG. 2 in the manner described above for block 435 of FIG. 4. Will perform the NOT operation on the. The results of these operations are then stored in hierarchical form so that the calibration data is coupled to the appropriate nodes. These results are shown in FIG. 5 as L1 (NOT) and M1 (NOT). However, without the theory of the present invention, it is not possible to obtain the desired F1 (NOT) obtained by simply adding L1 (NOT) and M1 (NOT). This is represented by an inaccurate result 510 obtained by adding L1 (NOT) and M1 (NOT).

본 발명의 일 실시예는 다음과 같이 F1(NOT)의 정확한 결과를 얻도록 작용할 것이다. 도 2를 참조하여, 간단한 예에서는 부모셀(F1)을 나타내는 데이터로 구성된 계층적인 설계 데이터(205)가 계층 유지기(210)의 컴파일러(220)에 제공된다. 컴파일러(220)는 연산 엔진(240)에 리프(L1)를 나타내는 평탄화된 데이터를 제공하며, 상기 연산 엔진(240)은 이 경우 공급된 데이터에 대해 논리 NOT 연산을 수행한 다음 리프(L1)의 NOT을 나타내는 평탄화된 데이터를 돌려준다. 상기 설명한 바와 같이, 컴파일러(220)는 L1에 대한 교정 데이터를 발생시킨 다음 이 데이터를 계층적인 교정 데이터 파일(260)에 저장한다. 동일한 과정이 리프(M1)에 대해 반복된다. 부모셀(F1)에 관련된 어떠한 원시 기하구조도 없을 때, 부모(F1)의 컴파일링은 결과적으로 F1에 대한 어떠한 교정 데이터로 발생시키지 않는다. F1의 컴파일링 후, 링커(230)는 링킹 단계 동안 부모셀(F1)에 대한 델타 평면(520)을 발생시키도록 동작하며, 이에 대해서는 도 6을 참조하여 하기에 좀 더 상세하게 설명한다. 델타 평면(520)이 발생되어, L1(NOT)과 M1(NOT)이 더해질 때, 도 5에 나타낸 바와 같이 바람직하고 정확한 결과인 F1(NOT)이 얻어지게 된다. 그런 다음, 상기 델타 평면 데이터는 계층적인 교정 데이터 파일(260) 내에 계층적으로 저장되어, 부모셀(F1)과 결합된다. 본 예시는 샘플 IC 레이아웃에 대한 특정한 논리 연산의 수행에 있어서의 본 발명의 실시예의 이용을 단지 예시한 것이다. 이와 같이, 본 발명의 실시예가 계층적인 방식으로 설명되는 모든 IC 레이아웃에 대한 모든 논리 연산을 수행하는 데에 이용될 수 있음이 명백해진다.One embodiment of the present invention will act to obtain the exact result of F1 (NOT) as follows. Referring to FIG. 2, in a simple example, hierarchical design data 205 composed of data representing the parent cell F1 is provided to the compiler 220 of the hierarchy maintainer 210. Compiler 220 provides flattened data representing leaf L1 to arithmetic engine 240, which in this case performs a logical NOT operation on the supplied data and then Returns flattened data indicating NOT. As described above, compiler 220 generates calibration data for L1 and then stores this data in hierarchical calibration data file 260. The same process is repeated for the leaf M1. When there is no primitive geometry related to parent cell F1, compilation of parent F1 does not result in any calibration data for F1. After compilation of F1, the linker 230 operates to generate a delta plane 520 for the parent cell F1 during the linking phase, which will be described in more detail below with reference to FIG. When the delta plane 520 is generated and L1 (NOT) and M1 (NOT) are added, F1 (NOT), which is a desirable and accurate result, is obtained as shown in FIG. The delta plane data is then stored hierarchically in the hierarchical calibration data file 260 and combined with the parent cell F1. This example merely illustrates the use of an embodiment of the present invention in performing a particular logical operation on a sample IC layout. As such, it will be apparent that embodiments of the present invention may be used to perform all logical operations on all IC layouts described in a hierarchical manner.

도 6은 도 5의 본 발명의 일 실시예에 따라 델타 평면(520)이 어떻게 발생되는 지를 발견적으로 예시한다. 도 2를 다시 참조하면, 연산 엔진(240)이 컴파일 단계 동안 각각의 리프셀들(L1 및 M1)의 평탄화된 원시 데이터에 대하여 논리 NOT 연산을 수행한 후, 계층 유지기(210)는 부모(F1)이 링키되는 동안 부모셀 내의 오버랩 영역들을 찾아 내고 이들 영역들을 평탄화하도록 작동하며(600), 이는 오버랩 영역(640)을 발생시킨다. 이후, 오버랩 영역(640)에 대한 평탄화된 데이터는 블록(610)에서 연산 엔진(240)에 제공되어, 연산 엔진(240)에 의해 오버랩의 NOT(650)이 발생된다. 이후, 블록(620)에서 논리 NOT 연산이 부모(F1)에 대해 수행되어 평탄화된 형태로 F1(NOT)을 발생시킨다. 마지막으로, 오버랩 영역의 NOT(650)과 평탄화된 F1(NOT) 사이의 차이를 취하고, 이 델타 데이터를 계층적인 교정 데이터 파일(260)에 저장함으로써 델타 평면(520)이 발생된다.6 heuristically illustrates how delta plane 520 is generated in accordance with one embodiment of the invention of FIG. 5. Referring back to FIG. 2, after the computational engine 240 performs a logical NOT operation on the flattened raw data of the respective leaf cells L1 and M1 during the compilation phase, the hierarchy maintainer 210 may execute the parent ( While F1) is linked, it operates to find overlap regions in the parent cell and to planarize these regions (600), which results in an overlap region 640. The flattened data for the overlap area 640 is then provided to the computational engine 240 at block 610, whereby the NOT 650 of overlap is generated by the computational engine 240. Thereafter, a logical NOT operation is performed on the parent F1 at block 620 to generate F1 (NOT) in a flattened form. Finally, the delta plane 520 is generated by taking the difference between the NOT 650 of the overlap area and the flattened F1 (NOT) and storing this delta data in the hierarchical calibration data file 260.

이제, OPC 교정된 레이아웃들을 발생시키는 시스템에서의 본 발명의 이용에 대해 설명한다. 이전에 설명한 바와 같이, 집적 회로 설계의 특성이 점점 작아짐에 따라서, 광학 리소그래피의 해상도 한계는 노광 과정에서 증가 효과를 갖게 되었다. 예를 들어, 회로 영역들의 패턴 현상시의 차이는 서로에 대한 영역의 근접에 달려있음을 알게되었다. 근접 효과들은 매우 밀접하게 위치하는 패턴 영역들이 웨이퍼 상의 저항층에 리소그래피되어 전사될 때에 발생한다. 밀접하게 위치하는 영역들의 광 파장들은 서로 상호작용을 하여, 최종적으로 전사되는 패턴 영역들을 왜곡시킨다. 영역의 크기 및 간격이 리소그래피 툴의 해상도 한계에 가까워지 때에 발생하는 다른 문제점은, 코너들(오목부 및 볼록부)이 각 코너들에서의 에너지의 집중 또는 부족으로 인하여 지나치게 노광되거나 불충분하게 노광되는 경향이 있다는 것이다. 또한, 가령 크고 작은 영역들이 동일한 마스크 패턴으로부터 전사될 때에 작은 영역들의 지나친 노광 또는 불충분한 노광과 같은 다른 형태의 문제점들이 발생한다.The use of the present invention in a system for generating OPC calibrated layouts is now described. As previously described, as the characteristics of integrated circuit designs become smaller and smaller, the resolution limit of optical lithography has an increasing effect during the exposure process. For example, it has been found that the difference in pattern development of circuit regions depends on the proximity of the regions to each other. Proximity effects occur when pattern areas that are very closely located are lithographically transferred to the resistive layer on the wafer. The light wavelengths of the closely located regions interact with each other, distorting the finally transferred pattern regions. Another problem that arises when the size and spacing of an area approaches the resolution limit of a lithography tool is that corners (concave and convex) are overexposed or insufficiently exposed due to concentration or lack of energy at each corner. There is a tendency. In addition, other forms of problems arise, such as excessive or insufficient exposure of small areas, for example when large and small areas are transferred from the same mask pattern.

근접 효과의 문제를 극복하기 위한 많은 방법들이 개발되었다. 이러한 방법들은: 마스크 라인 선폭들의 선교정, 포토레지스트층 두께의 변화, 다중층의 포토레지스트 공정들의 이용, 광학적인 이미징과 함께 전자 빔 이미징의 이용, 그리고 마지막으로 근접 효과를 보상하기 위하여 초기의 마스크 패턴에 부가적인 영역들을 추가를 포함한다. 이 마지막 방법은 “광학 근접 교정(OPC)”으로 공지되어 있다.Many methods have been developed to overcome the problem of proximity effects. These methods include: crossover of mask line widths, variations in photoresist layer thickness, use of multiple photoresist processes, use of electron beam imaging with optical imaging, and finally an initial mask to compensate for proximity effects. Includes adding additional regions to the pattern. This last method is known as “optical proximity calibration” (OPC).

도 7은 설계 레이아웃들에 대해 이루어질 수 있는 광학 근접 교정의 실예를 나타낸 것이다. OPC가 이용될 때 초기 마스크에 추가되는 부가적인 영역들은 전형적으로 서브-리소그래피(즉, 노광 툴의 해상도 이하의 치수를 가지며)이며, 이에 따라 저항층에 전사되지 않는다. 대신에, 이들은 최종적으로 전사되는 패턴을 개선하고 근접 효과를 보상하기 위하여 초기 패턴과 상호작용을 한다. 예를 들어, 도 7에 나타낸 바와 같이, 바람직한 패턴(710)은 근접 효과에 대한 보상없이 리소그래피되어 전사될 때에는 실제 패턴(720)처럼 보이게 된다. OPC 기술들을 이용하여, 양의 쉐리프들(732) 및 음의 쉐리프들(734) 바람직한 패턴(710)에 부가되어 근접 효과를 보상하는 데에 필요한 마스크(730)를 형성할 수도 있다. 유사하게, 도 7에서는, 실질적으로 전사된 패턴들(750 및 752)에 의해 전형적인 바람직한 트랜지스터 게이트 패턴(740)에 대한 근접 왜곡 효과를 나타내었다. 해머헤드(762), 어시스트 바들(764) 및 바이어스 바들(766)로 나타낸 OPC 교정이 초기의 바람직한 마스크 패턴에 부가될 때, 초기의 바람직한 형상이 더 정확하게 전사될 것이다. 트랜지스터 게이트들의 경우, 해머헤드 형상들(762)은 게이트의 폴리실리콘 부분이 액티브 영역(742)을 넘어 연장되도록 보장하기 위하여 라인 단부 쇼트닝 효과를 없애도록 설계된다. 어시스트 바들(764)은 전사된 게이트 패턴의 폭을 감소시키는 경향이 있는 절연 게이트 효과를 보상하도록 설계 된다. 마지막으로, 바이어스 바들(766)은 부가적인 전사 패턴(752)으로 나타낸 빽빽하게 채워진 게이트들의 효과를 없애도록 설계된다. 어떠한 경우, 현재 존재하는 OPC는 주어진 기하구조에 대하여 근접 교정을 발생시키기 위하여 룰-기반 알고리즘을 이용한다. 이러한 타입의 시스템의 경우, 설계 레이아웃은 소정의 레이아웃 패턴들로 분해되며 상기 언급한 타입의 OPC 영역들 중 하나가 설계 레이아웃의 영역에 대해 발생된다. 그러나, 본 발명의 일 실시예와는 달리, 이전의 OPC는 초기 설계 레이아웃의 확실한 계층 데이터 구조를 유지하지 못한다.7 illustrates an example of optical proximity correction that may be made for design layouts. Additional areas added to the initial mask when OPC is used are typically sub-lithography (ie, having dimensions below the resolution of the exposure tool) and are therefore not transferred to the resistive layer. Instead, they interact with the initial pattern to improve the pattern eventually transferred and compensate for the proximity effect. For example, as shown in FIG. 7, the preferred pattern 710 will look like the actual pattern 720 when lithographically transferred without compensating for the proximity effect. Using OPC techniques, positive sheriffs 732 and negative sheriffs 734 may be added to the desired pattern 710 to form a mask 730 necessary to compensate for the proximity effect. Similarly, FIG. 7 shows the effect of near distortion on a typical preferred transistor gate pattern 740 with substantially transferred patterns 750 and 752. When the OPC calibration represented by the hammerhead 762, assist bars 764 and bias bars 766 is added to the initial desired mask pattern, the initial desired shape will be transferred more accurately. For transistor gates, the hammerhead shapes 762 are designed to eliminate the line end shortening effect to ensure that the polysilicon portion of the gate extends beyond the active region 742. The assist bars 764 are designed to compensate for the insulated gate effect, which tends to reduce the width of the transferred gate pattern. Finally, bias bars 766 are designed to eliminate the effect of tightly filled gates represented by additional transfer pattern 752. In some cases, existing OPCs use a rule-based algorithm to generate proximity corrections for a given geometry. For this type of system, the design layout is decomposed into certain layout patterns and one of the above-mentioned types of OPC areas is generated for the area of the design layout. However, unlike one embodiment of the present invention, previous OPCs do not maintain a robust hierarchical data structure of the initial design layout.

초기 설계 레이아웃의 확실한 계층 데이터 구조를 유지하면서 IC 설계 레이아웃에 대한 OPC 교정을 발생시킬 수 있는 본 발명의 실시예가 하기에 도 8을 참조하여 설명된다. 이러한 설명은 상기 도 2 및 도 4의 설명을 참조로 포함하는데, 이는 도 8의 시스템이 이들 도면에서 각각 설명된 시스템 및 방법의 특정한 실시예이기 때문이다.An embodiment of the present invention that can generate OPC calibration for an IC design layout while maintaining a robust hierarchical data structure of the initial design layout is described below with reference to FIG. 8. This description is incorporated by reference to the descriptions of FIGS. 2 and 4 above, as the system of FIG. 8 is a particular embodiment of the systems and methods described in each of these figures.

도 8을 참조하면, 집적 회로 칩 설계(800)은 계층적인 설계 데이터(810)으로 표현되며, 이는 일 실시예에서는 GDS-Ⅱ 데이터 포맷이다. 본 발명의 일 실시예를 통합하는 OPOC 알고리즘(840)을 작동시키는 컴퓨터 시스템의 입력으로서 설계 데이터(810)가 제공된다. 컴퓨터 시스템(840)은 상기 도 2 및 도 4을 참조하여 이전에 설명된 방식으로 계층적인 교정 데이터(845)를 생성하도록 작동한다. 이러한 관점에서, 컴퓨터 시스템(840)은 도 2의 계층 유지기(210) 및 연산 엔진(240)을 구비함을알 수 있으며, 여기서 컴퓨터 시스템(840)의 연산 엔진(240)은 광학 근접 교정을 제공하기 위하여 이력 설계 데이터(810)에 대해 작동하는 특별하게 정의된 OPC 연산 엔진(240)이다.Referring to FIG. 8, integrated circuit chip design 800 is represented by hierarchical design data 810, which in one embodiment is a GDS-II data format. Design data 810 is provided as input to a computer system operating an OPOC algorithm 840 incorporating one embodiment of the present invention. Computer system 840 operates to generate hierarchical calibration data 845 in the manner previously described with reference to FIGS. 2 and 4 above. In this regard, it can be seen that computer system 840 includes hierarchical maintainer 210 and computational engine 240 of FIG. 2, where computational engine 240 of computer system 840 performs optical proximity calibration. A specially defined OPC computation engine 240 that operates on historical design data 810 to provide.

도 8에 도시된 바와 같이, OPC 교정된 설계의 디자인 룰을 체크하기 위하여 출력 계층적인 교정 데이터(845)가 초기 설계 데이터(810)와 함께 종래의 디자인 룰 체커(850)에 제공될 수 있다. 유사하게, 블록(860)에서 나타낸 바와 같이 상기 출력은 설계 데이터(810)와 교정 데이터(845)를 결합함으로써 리소그래피 마스크의 제조에 이용될 수 있다. 이후, 이렇게 결합된 데이터는 블록(865)에서와 같이 평탄화된 다음, EB 장치에 제공되며, 블록(870)에서는 EB 장치가 작동하여 마스크를 제조하게 된다.As shown in FIG. 8, output hierarchical calibration data 845 may be provided to the conventional design rule checker 850 along with the initial design data 810 to check the design rules of the OPC calibrated design. Similarly, as shown at block 860, the output may be used to fabricate a lithographic mask by combining design data 810 and calibration data 845. The combined data is then flattened as in block 865 and then provided to the EB device, where the EB device operates to produce the mask.

도 8의 일 실시예에서, 컴퓨터 시스템(840)은 컴파일러(220), 링커(230), 및 OPC 연산 엔진(240)의 기능들을 수행하는 컴퓨터 판독가능 매체들 상에 저장된 컴퓨터 프로그램 코드를 실행한다. 다른 실시예에서, 컴퓨터 시스템(840)은 두 개 또는 그 이상의 다른 프로그램 코드들을 실행하는 단일 컴퓨터 시스템, 또는 두개 또는 그 이상의 다른 프로그램 코드들, 계층 유지기(210)의 기능들을 위한 프로그램 코드, 및 연산 엔진(240)의 기능들을 개별적인 프로그램 코드를 실행하는 다수의 개별적인 컴퓨터 시스템들을 구비한다.본 실시예에서, 계층 유지기(210)는 API를 통해 연산 엔진(240)에 데이터를 선택적으로 제공할 수도 있다. 본 실시예에 의해, 본 발명의 계층 유지기(210)는 계층 데이터 출력의 장점을 제공하기 위하여 현재 존재하는 연산 엔진(240)과 통신하여 작동하도록 변경될 수 있다.In one embodiment of FIG. 8, computer system 840 executes computer program code stored on computer readable media that performs functions of compiler 220, linker 230, and OPC computation engine 240. . In another embodiment, computer system 840 is a single computer system that executes two or more other program codes, or two or more other program codes, program code for the functions of hierarchy maintainer 210, and The functions of the computational engine 240 include a number of individual computer systems that execute individual program code. In this embodiment, the hierarchy maintainer 210 may selectively provide data to the computational engine 240 via an API. It may be. By this embodiment, the layer maintainer 210 of the present invention can be modified to operate in communication with the existing computational engine 240 to provide the advantages of hierarchical data output.

상기 언급된 컴퓨터 판독가능 매체들은, 하드 디스크들, CD들, 플로피 디스크들, 및 서버 메모리를 포함하지만 이에 한정되지 않는 모든 컴퓨터 기억장치 툴을 구비할 수도 있다. 프로그램 코드를 실행하는 컴퓨터 시스템들은, 연산 엔진(240) 및 계층 유지기(210)의 경우, 예를 들어 윈도우즈 NT 작동 시스템 또는 선 소울러리스 워크스테이션을 작동하는 탁상용 컴퓨터를 포함하는 모든 적절한 컴퓨터 시스템을 구비한다.The above-mentioned computer readable media may include all computer storage tools, including but not limited to hard disks, CDs, floppy disks, and server memory. Computer systems that execute the program code include any suitable computer system, including, for example, a computational engine 240 and a hierarchy maintainer 210, a desktop computer running a Windows NT operating system or a Sun Soulless workstation. It is provided.

OPC 교정에 대하여 주어진 계층 입력을 단순히 제공하는 연산 엔진은 이 분야에 널리 공지되어 있다. 도 8 시스템의 일 실시예에서, OPC 엔진(240)은 시스템의 사용자에 의해 제어될 수 있는 방식으로 OPC 영역들을 발생시킬 수 있는 룰-기반 OPC 엔진이다. 예를 들어, 사용자는 적용되는 교정 룰들 및 설계 레이아웃에 적용되는 영역들의 크기를 정의할 수 있다. 또한, 시스템의 일 실시예에서, 바이어스 라인들(766)의 위치 및 크기는 교정되며, 그리고/또는, 가령 트랜지스터 게이트 영역들과 같은 설계의 중요한 영역들에만 이용되는 것으로 제한되는 IC 패턴 영역들의 크기 및 피치에 달려있다. 또한, 상기 시스템의 다른 실시예에서, OPC 엔진(240)은 어시스트 영역들을(764) 국부화된 방법으로 가령 트랜지스터 게이트들과 같은 중요한 영역들에 적용하거나, 또는 전체 IC 설계에 전체적으로 적용할 수 있다. 또한, 다른 실시예에서, OPC 엔진은 중요한 영역들에만 선택적으로 교정 영역들을 위치시키고, 정확한 회로 수행을 요구하지 않는 영역들에는 이들 교정 영역들을 위치시키지 않을 수 있다. 이러한 실시예의 한 예에서, OPC 엔진은 폴리실리콘 게이트층의 중요하지 않은 상호연결 영역은 교정되지 않은 채로 두면서, 트랜지스터 게이트들에 바이어싱 및 어시스트 영역을 위치시키는 것을 한정할 수 있다. 다른 예에서, OPC 엔진은 중요한 트랜지스터 게이트 라인-단부들을 구별하고, 라인-단부 쇼트닝을 줄이기 위하여 이들 영역들에 해머헤드 교정을 적용한다. 마지막으로, 본 발명의 다른 실시예에서, OPC 연산 엔진은, 가령 본 원의 인용으로서 이전에 참조된 바 있는 장 팽-쳉, 왕 야오-팅 과 패티 야곈시 씨.에 의해 창안되어 1997년 9월 17일 출원된 “위상 변위 회로 제조 방법 및 장치들”이란 명칭의 미국 특허 출원 제08/931,921호에 개시된 위상 시프팅 마스크들의 OPC 교정을 제공할 수 있다Computation engines that simply provide a given layer input for OPC calibration are well known in the art. In one embodiment of the FIG. 8 system, the OPC engine 240 is a rule-based OPC engine that can generate OPC regions in a manner that can be controlled by the user of the system. For example, the user can define the size of the areas applied to the calibration rules and design layout applied. Further, in one embodiment of the system, the position and size of the bias lines 766 are calibrated and / or the size of the IC pattern regions that are limited to being used only in critical areas of the design, such as transistor gate regions, for example. And depends on the pitch. In addition, in another embodiment of the system, OPC engine 240 may apply assist regions 764 in a localized manner to critical regions such as transistor gates, or to the entire IC design as a whole. . Further, in other embodiments, the OPC engine may selectively place calibration regions only in critical regions and not in those regions that do not require accurate circuit performance. In one example of such an embodiment, the OPC engine may define placing biasing and assist regions in transistor gates while leaving the non-critical interconnect regions of the polysilicon gate layer uncorrected. In another example, the OPC engine distinguishes critical transistor gate line-ends and applies hammerhead calibration to these areas to reduce line-end shortening. Finally, in another embodiment of the present invention, the OPC computation engine was created by Mr. Zhang Fang-Sheng, Wang Yao-Ting and Patty Yashun, previously referred to herein as cited herein. OPC calibration of phase shifting masks disclosed in US patent application Ser. No. 08 / 931,921, filed May 17, entitled “Phase Displacement Circuit Fabrication Methods and Apparatuses.”

도 9는 도 8 시스템의 일 실시예가 도 1의 리프셀들(J1 및 K1)의 원시 기하구조들의 OPC 교정을 어떻게 제공하는 지를 보여준다. 도시된 것은 부모셀(E1)의 교정되지 않은 리프셀들(J1 및 K1)이다. J의 평탄화된 원시 기하구조 데이터가 계층 유지기(210)에 제공되며, 컴파일러(220)는 OPC 엔진(240)과 함께 작동하여 도 2에 대해 이전에 설명된 방식으로 교정 평면 ΔJ1을 제공한다. 이 경우, OPC 엔진은 그의 룰 정의들을 기반으로 하여, J1의 원시 기하구조가 마스크가 제조되고 웨이퍼를 노광하는 데에 이용될 때 적절한 결과를 제공하기 위해 양의 쉐리프들(905)를 필요로 하는 지를 결정해왔다. 동일한 과정이 K1의 평탄화된 원시 기하구조에 대해 수행되어, 양의 쉐리프들(905)을 또한 포함하면서 교정 평면 ΔK1을 발생시킨다. 이후, 이들 각각의 셀들은 이전에 설명된 링커(230)에 의해 링크되어 각 셀에 대한 델타 평면을 발생시킨다. 이들 셀들은 리프 노드들이며 어떠한 오버랩 영역도 갖지 않기 때문에, 그들이 개별적인 델타 평면들은 그들의 컴파일된 교정 평면들과 같다. 또한, 교정된 리프셀들(910 및 920)이 도시되는데, 이들은 각각 J1+ΔJ1 및 K1+ΔK1을 나타낸다.FIG. 9 shows how one embodiment of the FIG. 8 system provides OPC calibration of primitive geometries of leaf cells J1 and K1 of FIG. 1. Shown are the uncorrected leaf cells J1 and K1 of the parent cell E1. J's flattened raw geometry data is provided to the hierarchy maintainer 210, and the compiler 220 works with the OPC engine 240 to provide a calibration plane ΔJ1 in the manner previously described with respect to FIG. In this case, the OPC engine, based on its rule definitions, needs positive serifs 905 to provide proper results when J1's primitive geometry is used to mask and manufacture the wafer. I've decided to do it. The same process is performed for the planarized primitive geometry of K1, generating the correction plane ΔK1 while also including the positive serifs 905. Each of these cells are then linked by the linker 230 described previously to generate a delta plane for each cell. Since these cells are leaf nodes and have no overlap area, the individual delta planes are the same as their compiled calibration planes. Also shown are calibrated leaf cells 910 and 920, which represent J1 + ΔJ1 and K1 + ΔK1, respectively.

도 10a 및 도 10b는 도 4의 방법이 본 발명의 일 실시예에 따른 OPC 동작을 위하여 도 1의 부모셀(E1) 내의 오버랩 영역들에 대해 중간 교정층을 어떻게 발생시키는 지를 예시한다. 도 10b는 교정된 리프셀(J1)(910)과 교정된 리프셀(K1)(920) 간의 오버랩 영역(100)을 예시한다. 상기 도 2 및 도 4를 참조하여 상기 설명한 바와 같이, 셀(E1)에 대한 링킹 과정 동안, 이러한 오버랩 영역이 결정되며 이 영역에 해당하는 데이터가 평탄화된다. 그런 다음, 평탄화된 오버랩 영역은, 중간 교정 평면(1020)을 제공하기 위하여 데이터 상에서 작동하는 OPC 연산 엔진(240)에 제공된다. 원시 구조들이 불연속적인 양으로 오버랩되는 본 원에서 설명된 경우에, 음의 쉐리프들(1010)이 중간 교정 평면에 대해 제공됨을 주목하자. 하기에 도 10b를 참조하여 설명되는 경우에서는, 교정된 리프셀들(K1 및 K2)을 각각 910b 및 920b로 나타낸 변형 부모(E1)가 예시된다. 이러한 경우는 두 개의 교정된 원시 기하구조들 간의 극미한 오버랩을 예시한다. 본 발명의 일 실시예에서는, 이들 극미한 오버랩의 경우, 종단 버팅 효과의 보상을 위해 -2층을 제공할 수 있도록 중간 교정 평면(1020b)이 제공된다.10A and 10B illustrate how the method of FIG. 4 generates an intermediate calibration layer for overlap regions in the parent cell E1 of FIG. 1 for an OPC operation in accordance with an embodiment of the present invention. 10B illustrates the overlap region 100 between the calibrated leaf cell J1 910 and the calibrated leaf cell K1 920. As described above with reference to FIGS. 2 and 4, during the linking process for the cell E1, this overlap region is determined and the data corresponding to the region is flattened. The planarized overlap area is then provided to the OPC computation engine 240 operating on the data to provide an intermediate calibration plane 1020. Note that in the case where the primitive structures are described herein where the discrete amounts overlap, negative serifs 1010 are provided for the intermediate calibration plane. In the case described below with reference to FIG. 10B, a modified parent E1 is shown that shows the corrected leaf cells K1 and K2 as 910b and 920b, respectively. This case illustrates a slight overlap between two calibrated primitive geometries. In one embodiment of the present invention, for these slight overlaps, an intermediate calibration plane 1020b is provided to provide -2 layers for compensation of the termination butting effect.

도 11은 도 4의 방법이 본 발명의 일 실시예에 따라 OPC 동작을 위해 도 1의 부모셀(E1)의 델타 평면을 어떻게 발생시키는 지를 예시한다. 블록(1100)에 의해 설명되는 바와 같이, 셀(E1)에 대한 링크 단계에서, E1 내의 오버랩 영역들이 결정되며 영역 데이터는 평탄화된다. 이는 오버랩 영역(1000)으로 예시된다. 이어서, 블록(1110)에 의해 설명되는 바와 같이, 상기 오버랩 영역(1000)에 대한 중간 교정 평면(1020)이 도 10a에 대해 상기 설명한 대로 발생된다. 블록(1120)에서, E1의 모든 자손셀들의 교정 평면들(910 및 920)을 총합하여 총합된 자손 교정 데이터(1140)를 발생시킨다. 블록(1130)으로 설명되는 마지막 단계에서는 셀(E1)에 대한 델타 평면(1150)을 발생시키고 이 데이터를 계층적으로 저장한다. 이는 중간 교정 평면(1020)에서 총합된 자손 교정 데이터(1140)를 빼서 델타 평면(1150)을 얻음으로써 달성된다. 또한, 도 11에는 셀(E1)에 대한 최종 교정 평면(1160)이 도시되는데, 상기 최종 교정 평면(1160)은 상기 설명한 바와 같이 특정한 동작, 여기에서는 셀에 대하여 OPC를 적절하게 적용하기 위하여 셀의 설계 데이터에 적용하는 데에 필요한 총 교정을 나타낸다. 교정 평면(1160)은 자손(J1 및 K1)의 교정 평면들(910 및 920)에 각각과 총합되는 E1의 델타 평면을 구비한다.FIG. 11 illustrates how the method of FIG. 4 generates the delta plane of the parent cell E1 of FIG. 1 for OPC operation in accordance with one embodiment of the present invention. As described by block 1100, in the linking step for cell E1, overlap regions in E1 are determined and region data is flattened. This is illustrated by the overlap area 1000. Subsequently, as described by block 1110, an intermediate calibration plane 1020 for the overlap area 1000 is generated as described above with respect to FIG. 10A. At block 1120, the calibration planes 910 and 920 of all the progeny cells of E1 are summed to generate the summed progeny calibration data 1140. The final step, described by block 1130, generates a delta plane 1150 for cell E1 and stores this data hierarchically. This is accomplished by subtracting the aggregated progeny calibration data 1140 from the intermediate calibration plane 1020 to obtain the delta plane 1150. Also shown in FIG. 11 is a final calibration plane 1160 for cell E1, which has been described above in order to properly apply OPC to the cell in a particular operation, as described above. Represents total calibration needed to apply to design data. The calibration plane 1160 has a delta plane of E1 summed with the calibration planes 910 and 920 of the offspring J1 and K1, respectively.

도 12는 본 발명의 일 실시예를 이용하여 설계 레이아웃에 OPC 교정을 제공하는 다른 방법을 예시한다. 블록(1200)에서는 먼저 집적 회로 레이아웃이 제공된다. 이후, 블록(1205)에서는, 도 8의 시스템에 따라 설계 데이터에 대해 룰 기반 OPC 교정을 수행하는 시스템에 상기 설계층에 해당하는 계층적으로 포맷된 설계 데이터가 제공된다. 도 8의 시스템은 상기 설명한 바와 같이 계층적인 교정 데이터 출력을 발생시키며, 블럭(1210)에 나타낸 바와 같이 상기 교정 데이터는 초기의 설계 데이터와 결합되어 계층적으로 설명되는 룰-기반 OPC 교정된 설계 데이터를 발생시킨다. 이 교정된 설계 데이터를 이용하여, 이 교정된 데이터가 생성하게 될 마스크의 시뮬레이트된 이미지가 블럭(1215)에서 발생된다. 이 시뮬레이션은, 가령 장 팽-쳉, 왕 야오-팅, 그리고 패티 야곈시 씨.에 의해 창안되어 1997년 9월 17일 출원된 “마스크 검증, 교정 및 디자인 룰 체킹”이란 명칭의 미국 가 특허 출원 제60/059,306호와, 장 팽-쳉, 왕 야오-팅, 그리고 패티 야곈시 씨.에 의해 창안되어 1998년 9월 16일 출원된 “마스크 검증, 교정 및 디자인 룰 체킹”이란 명칭의 미국 특허 출원과, 그리고 좀 더 상세하게는 장 팽-쳉, 왕 야오-팅, 패티 야곈시 씨. 그리고 카크린 리나드에 의해 창안되어 1998년 8월 7일 출원된 “시각 검사 및 검증 시스템”이란 명칭의 미국 특허 출원에서 설명된 홉킨스 방정식 기반 시뮬레이션 장치를 이용하여 발생될 수 있으며, 상기 언급된 각각의 특허 출원들은 본 원의 참조로서 이전에 포함되었다.12 illustrates another method of providing OPC calibration to a design layout using one embodiment of the present invention. In block 1200, an integrated circuit layout is first provided. Then, in block 1205, hierarchically formatted design data corresponding to the design layer is provided to the system performing rule-based OPC calibration on the design data according to the system of FIG. The system of FIG. 8 generates a hierarchical calibration data output as described above, and as shown at block 1210, the calibration data is hierarchically described in combination with the initial design data and then rules-based OPC calibrated design data. Generates. Using this corrected design data, a simulated image of a mask from which the corrected data will be generated is generated at block 1215. This simulation was applied, for example, by a US-patented patent titled “Mask Verification, Calibration and Design Rule Checking,” filed on September 17, 1997, by Jean Fang-Sheng, Wang Yao-Ting and Pat. United States Patent No. 60 / 059,306, entitled “Mask Verification, Calibration and Design Rule Checking,” filed September 16, 1998, by Jean Fang-Cheng, Wang Yao-Ting, and Pat. The application, and more specifically, Zhang Feng-cheng, Wang Yao-ting, Patty Yasheng. And generated using the Hopkins equation-based simulation apparatus described in the U.S. Patent Application entitled "Visual Inspection and Verification System," filed August 7, 1998, filed by Kachrin Linard, each of the aforementioned The patent applications of were previously incorporated by reference herein.

이후, 블록(1220)에서, 교정된 마스크의 시뮬레이트된 이미지는 바람직한 설계 이미지와 비교된 다음, 블록(1225)에서 초기의 룰 기반 OPC 교정이 그 설계를 사용자 정의된 한 세트의 파라미터들 내에 있게 하기에 충분한지를 결정한다. 이러한 비교 수행 방법은 상기 언급된 미국 가 특허 출원 “마스크 검증, 교정 및 디자인 룰 체킹”,및 동일 출원인의 미국 특허 출원에 개시된다. 비교의 결과로 만일에 설계 파라미터들이 얻어진다면, 교정된 설계 데이터는 디자인 룰 체커에 입력되며, 이 디자인 룰 체커는 블록(1235)에서 특정한 집적 회로 설계를 위해 정해진 디자인 룰들의 어떠한 위반에 대해 교정된 설계를 분석한다. 만일 교정된 설계가 디자인 룰들 내에 포함된다면, 블록(1245)으로 나타낸 바와 같이 상기 교정된 설계 데이터는 평탄화되며 EB 장치를 이용하여 마스크가 제조된다. 만일 디자인 룰들에 부합되지 못한다면, 블록(1250)에서 마스크의 재설계의 여부가 결정되어야 한다.Then, at block 1220, the simulated image of the corrected mask is compared to the desired design image, and then, at block 1225, initial rule-based OPC correction to ensure that the design is within a user-defined set of parameters. Determine if is enough. Methods of performing such comparisons are disclosed in the aforementioned US Provisional Patent Application “Mask Verification, Calibration and Design Rule Checking,” and the same applicant's US Patent Application. If the design parameters are obtained as a result of the comparison, the corrected design data is entered into the design rule checker, which is corrected for any violation of the design rules specified for the particular integrated circuit design in block 1235. Analyze the design. If a calibrated design is included in the design rules, the calibrated design data is flattened and a mask is fabricated using an EB device, as indicated by block 1245. If the design rules do not match, then at block 1250 a decision should be made whether to redesign the mask.

만일 상기 마스크를 재설계하라는 결정이 아니라 반복적인 교정 과정들을 계속함으로써 상기 문제에 접근하여 해결하라는 결정이 내려진다면, 모델 기반 OPC 알고리즘이 교정된 설계에 대해 작동된다. 유사하게, 만일 초기의 교정 설계 데이터가 블록(1225)의 설계 파라미터들 내에 포함되지 않는 다면, 초기의 교정 설계 데이터는 모델 기반 OPC 알고리즘에 입력된다. 모델 기반 OPC 알고리즘은 블록(1230)으로 나타낸 바와 같이 초기의 교정 설계에 대해 좀 더 명확한 교정을 수행하는 데에 이용된다. 그런 다음, 상기 모델 기반 OPC 교정 설계는 블록(1215)에 제공되며, 블록(1215)에서는 모델 기반 OPC 교정 설계의 시뮬레이트된 이미지가 생성되며 바람직한 이미지와 다시 한번 비교된다. OPC 교정 설계를 설계 분석을 위해 종래의 디자인 룰 체커 제조품에 입력하기 전에, 모델 기반 OPC 교정 설계의 시뮬레이트된 이미지는 종래의 디자인 룰 체커에 의해 수용가능한 포맷으로 처리되어야 한다. 이를 수행하는 한 방법은, 상기언급되었으며 본 원의 인용으로서 이전에 참조된 미국 가 특허 출원 “마스크 검증, 교정 및 디자인 룰 체킹”, 및 동일 출원인의 미국 특허 출원에 좀 더 상세하게 설명되는 경계 체킹 기술을 기반으로 하는 시뮬레이트된 이미지의 맨하탄 기하구조 표현(Manhattan geometry representation)을 발생시키는 것이다. 이러한 모든 과정들은, 사용자 정의 설계 파라미터들 및 회로 지정 디자인 룰들을 만족시키는 교정 설계가 제조될 때 까지 계속될 수 있다.If the decision is made to approach and solve the problem by continuing the iterative calibration procedures rather than the decision to redesign the mask, then the model-based OPC algorithm works on the calibrated design. Similarly, if initial calibration design data is not included in the design parameters of block 1225, the initial calibration design data is input to the model based OPC algorithm. The model-based OPC algorithm is used to perform more explicit calibration for the initial calibration design, as indicated by block 1230. The model-based OPC calibration design is then provided to block 1215, where a simulated image of the model-based OPC calibration design is generated and compared once again with the desired image. Before entering the OPC calibration design into a conventional design rule checker article for design analysis, the simulated image of the model-based OPC calibration design must be processed in a format acceptable by the conventional design rule checker. One way of doing this is the boundary checking described in more detail in the United States patent application “Mask Verification, Calibration and Design Rule Checking” mentioned above and previously referenced by reference herein, and the United States patent application of the same applicant. It generates a Manhattan geometry representation of a simulated image based on technology. All these processes can continue until a calibration design is produced that satisfies user-defined design parameters and circuit specific design rules.

이러한 과정의 일 실시예에서, 모델 기반 OPC 알고리즘은 사용자 지정 입력에 응답할 수 있다. 예를 들어, 일 실시예에서, 사용자는 데이터량 및 전체 과정 속도의 제어에 적용하기를 원하는 교정 레벨의 복잡성을 제어할 수 있다. 유사하게, 다른 실시예에서, 사용자는 모델 기반 알고리즘에 의해 적용되는 교정 영역들의 크기를 제어할 수 있다. 또한, 다른 실시예에서, 사용자는 알고리즘에 의해 적용될 교정 기준을 정할 수 있다.In one embodiment of this process, the model based OPC algorithm may respond to user specified input. For example, in one embodiment, the user can control the complexity of the level of calibration desired to apply to the control of the amount of data and the overall process speed. Similarly, in another embodiment, the user can control the size of the correction regions applied by the model based algorithm. In another embodiment, the user can also determine the calibration criteria to be applied by the algorithm.

나머지 도면들 도 13 내지 도 19는 계층적인 입력 IC 설계 레이아웃에 대해 OPC 교정을 제공하는 본 발명의 일 실시예를 실행하는 컴퓨터 시스템으로부터의 화면 스냅샷을 예시한 것이다. 예를 들어, 도 13은 OPC 교정된 입력 설계 레이아웃의 예시적인 화면 스냅샷을 나타낸다. 설계 프로그램의 사용자 인터페이스(1300)은 교정된 IC 설계 레이아웃이 도시되는 설계 창(1330)을 구비한다. 설계 레이아웃은 확산층(1390), 및 가령 원시 구조(1320)와 같은 폴리실리콘 구조층을 포함한다. 도 1의 샘플 부모셀들(E1 및 F1)과 유사하게, 셀(1310)이 또한 설계 창(1330) 내에 도시된다.Remaining Figures FIGS. 13-19 illustrate screen snapshots from a computer system implementing one embodiment of the present invention providing OPC calibration for hierarchical input IC design layouts. For example, FIG. 13 shows an example screen snapshot of an OPC calibrated input design layout. The user interface 1300 of the design program has a design window 1330 showing the calibrated IC design layout. The design layout includes a diffusion layer 1390 and a polysilicon structure layer, such as the primitive structure 1320. Similar to the sample parent cells E1 and F1 of FIG. 1, cell 1310 is also shown within design window 1330.

도 14는 도 13의 입력 설계에 OPC 교정을 제공하는 본 발명의 일 실시예를 실행하는 컴퓨터 시스템으로부터의 마지막 출력의 예시적인 화면 스냅샷을 나타낸다. 사용자 인터페이스(1300)의 설계 창(330)은 OPC 교정된 원시 구조들(1320)을 포함하는 셀(1310)을 보여준다. 셀(1310)은, 가령 해머헤드들(1410), 어시스트 라인들(1420), 바이어스 라인들(1430), 양의 쉐리프들(1440) 및 음의 쉐리프들(1450)과 같은 OPC 영역들을 포함한다. 도 14에 도시된 출력은 전체 설계에 대하여 모든 OPC 효과들에 대해 보상되어야 하는 모든 교정들을 나타낸다. 따라서, 이들 교정들은 계층 내 셀들간의 모든 오버랩들이 해결되고 보상되는 본 발명의 실시예의 최종적으로 링크된 출력을 나타낸다. 도 14에 도시된 OPC 영역들은 도 14의 예시적인 화면 스냅샷을 확대한 도 15에서 좀 더 상세하게 볼 수 있다. 이 층은 어시스트 라인들(1420), 바이어스 라인들(1430) 및 음의 쉐리프들(1450)을 포함하는 셀(1310)에 대한 교정을 포함한다.FIG. 14 shows an exemplary screen snapshot of the last output from a computer system implementing one embodiment of the present invention providing OPC calibration to the input design of FIG. 13. Design window 330 of user interface 1300 shows cell 1310 containing OPC calibrated primitive structures 1320. The cell 1310 stores OPC regions, such as, for example, hammerheads 1410, assist lines 1420, bias lines 1430, positive serifs 1440 and negative serifs 1450. Include. The output shown in FIG. 14 represents all the calibrations that should be compensated for for all OPC effects for the overall design. Thus, these corrections represent the finally linked output of the embodiment of the present invention in which all overlaps between cells in the layer are resolved and compensated for. The OPC regions shown in FIG. 14 can be viewed in more detail in FIG. 15, which magnifies the example screen snapshot of FIG. 14. This layer includes calibration for cell 1310 including assist lines 1420, bias lines 1430, and negative serifs 1450.

도 16은 OPC 교정들을 제공하기 위해 본 발명의 일실시예를 실행한 컴퓨터 시스템으로 부터의 -1 OPC 교정층의 예제 화면 스냅샷을 도시한다. 이 층은 어시스트 라인들(1420), 바이어스 라인들(1430) 그리고 음의 세리프들(1450)을 포함하는 셀(1310)에 대한 교정들을 가진다.Figure 16 shows an example screen snapshot of the -1 OPC calibration layer from a computer system implementing one embodiment of the present invention to provide OPC calibrations. This layer has calibrations for the cell 1310 including assist lines 1420, bias lines 1430 and negative serifs 1450.

도 17은 OPC 교정들을 제공하기 위해 본 발명의 일실시예를 실행한 컴퓨터 시스템으로 부터의 +1 OPC 교정층의 예제 화면 스냅샷을 도시한 것이다. 이 층은 해머헤드들(1410), 어시스트 라인들(1420) 그리고 양의 세리프들(1440)을 포함하는 셀(1310)에 대한 교정들을 가진다.FIG. 17 illustrates an example screen snapshot of a +1 OPC calibration layer from a computer system implementing one embodiment of the present invention to provide OPC calibrations. This layer has calibrations for the cell 1310 that includes hammerheads 1410, assist lines 1420, and positive serifs 1440.

도 18은 OPC 교정을 수행하는 본 발명의 일 실시예를 실행하는 컴퓨터 시스템으로부터의 -2 OPC 교정층의 예시적인 화면 스냅샷을 도시한다. 이 층은 종단 버팅 교정 영역(1810)을 포함하는 셀(1310)에 대한 교정을 포함한다.Figure 18 shows an exemplary screen snapshot of the -2 OPC calibration layer from a computer system implementing one embodiment of the present invention performing OPC calibration. This layer includes a calibration for cell 1310 that includes termination butting calibration region 1810.

도 19는 본 발명의 일 실시예를 실행하는 컴퓨터 시스템에 의해 OPC 교정된 개별적인 셀(1310)의 예시적인 화면 스냅샷을 도시한다. 설계 창(1330)은 셀(1310)을 포함하며, 셀(1310)의 링크된 교정층이 적용된다. 셀(1310)에 적용된 교정은 해머헤드들(1410), 어시스트 라인들(1420), 양의 쉐리프들(1440), 및 음의 쉐리프들(1450)을 포함한다. 셀(1310)에 대한 교정은 도 14에 도시된 것들과는 다르다는 것을 주목해야하는데, 이는 도 14는 전체 설계에 대한 모든 교정에 대한 표현이며, 도 19는 단지 교정 셀(1310)에 개별적으로 필요한 교정에 대한 표현만을 나타내기 때문이다. 즉, 도 19에 나타낸 교정들은 셀(1310)과 이에 인접하는 다른 셀들간의 상호작용을 고려하지 않는다. 예를 들어, 도 14의 바이어스 라인들은 도 19에는 없다는 것을 유의한다.19 shows an exemplary screen snapshot of an individual cell 1310 calibrated by OPC by a computer system implementing one embodiment of the present invention. Design window 1330 includes cell 1310, to which a linked calibration layer of cell 1310 is applied. Calibration applied to cell 1310 includes hammerheads 1410, assist lines 1420, positive serifs 1440, and negative serifs 1450. It should be noted that the calibration for cell 1310 is different from those shown in FIG. 14, which is a representation of all calibrations for the overall design, and FIG. 19 is only needed individually for calibration cells 1310. This is because only a representation of the calibration is shown. That is, the calibrations shown in FIG. 19 do not take into account the interaction between cell 1310 and other cells adjacent thereto. For example, note that the bias lines of FIG. 14 are not in FIG. 19.

b. 디자인 룰 체킹(Design Rule Checking)b. Design Rule Checking

상기 설명해온 바와 같이, 다양한 기술들이 마스크 검사, 이미지 시뮬레이션, OPC 부가 그리고 디자인 룰 체킹을 하는 동안에도 설계의 계층을 유지하는데 사용될 수 있다. 그러나, 본 발명의 모든 실시예들이 계층적 데이터의 보존을 필요로하는 것은 아니라는 것을 이해하는 것이 중요하다. 본 발명의 몇몇 실시예들에서 중요한 것은 OPC 교정된 설계들과 같이 교정된 설계들에서 디자인 룰 체킹의 실행이 가능하다는 것이다.As discussed above, various techniques can be used to maintain the hierarchy of design during mask inspection, image simulation, OPC addition, and design rule checking. However, it is important to understand that not all embodiments of the present invention require the preservation of hierarchical data. What is important in some embodiments of the present invention is that it is possible to perform design rule checking on calibrated designs, such as OPC calibrated designs.

도 20은 교정된 설계 레이아웃에 대한 디자인 룰 체킹을 실행하는 방법의 일 실시예를 도시한 것이다. 이 부분에서는 설계와 설계 레이아웃과 설계 레이아웃 기하구조라는 용어는 모두 같은 의미를 가진다는 것을 유의한다. 도 20에서, 교정된 설계는 블럭(2010)에서 진행된다. 블럭(2010)은 시뮬레이트된 이미지를 생성한다. 상기 시뮬레이트된 이미지는 만일 웨이퍼가 교정된 설계를 통해 광원에 직접적으로 노출된 경우 웨이퍼상에 찍힐 이미지의 시뮬레이션에 따른다. 광원의 특성들은 리쏘그래피 파라메터들의 세트에 의해 결정된다. 상기 이미지의 생성에서, 추가적인 특징들은 형성공정의 일부분들을 시뮬레이트 하기 위해 사용될 수 있다. 그러나, 중요한 것은 시뮬레이트된 이미지의 결과가 생성된다는 것이다.20 illustrates one embodiment of a method of performing design rule checking for a revised design layout. Note that in this section, the terms design and design layout and design layout geometry all have the same meaning. In FIG. 20, the calibrated design proceeds at block 2010. Block 2010 generates a simulated image. The simulated image follows the simulation of the image to be taken on the wafer if the wafer is directly exposed to the light source through the calibrated design. The characteristics of the light source are determined by the set of lithographic parameters. In creating the image, additional features can be used to simulate portions of the forming process. However, the important thing is that the result of the simulated image is generated.

그 다음, 블럭(2020)에서, 시뮬레이트된 이미지는 경계 검출 방식의 기술을 이용하여 처리될 수 있다. 그래서 상기 처리된 이미지는 상기 시뮬레이트된 이미지 보다 작은 수의 꼭지점들을 가지며, OPC 교정된 설계 레이아웃의 꼭지점들 숫자에 대해 보다 작은 수의 꼭지점들을 가져야만 한다.Then, at block 2020, the simulated image can be processed using a technique of boundary detection. The processed image thus has a smaller number of vertices than the simulated image and must have a smaller number of vertices for the number of vertices of the OPC corrected design layout.

그 다음, 블럭(2030)에서, 상기 처리된 이미지는 표준 디자인 룰 체커에 제공되어질 수 있다.Then, at block 2030, the processed image can be provided to a standard design rule checker.

도 21은 이상적인 레이아웃이 시뮬레이트된 이미지와 비교된 경우 일 실시예에서 사용된 기본적 검사 방법을 도시한다. 일 실시예에서, 시뮬레이트된 이미지의 생성은 리쏘그래피 시뮬레이션에서 빛의 명암에 대한 윤곽을 생성한다. 복수의 윤곽들은 다른 변수들을 검사하는 데에도 사용될 수 있으며, 단순한 명암의 변수(예들 들어 빛의 명암 기울기 또는 대수적 기울기)는 쓰지 않는다. 주어진 시뮬레이트된 이미지에서, ΔO와 ΔI는 상기 빛의 명암에 대한 윤곽(들)이 각각 이상적인 기하구조의 밖과 안의, +ΔO와 -ΔI의 영역 내 인지를 검사하기 위한 외부와 내부 거리이다. 이러한 거리들은 비-절대 측정(예를들어 폭의 백분율 또는 이상적인 기하구조의 치수들에 대한 함수)에서 구체화 될 수 있다. 이런 경계 검사 방법은 멘하탄 기하구조에 의해 제한되지 않는다. 이는 논-멘하탄(non-Manhattan) 기하구조에 확장되고 적용될 수 있다.21 illustrates the basic inspection method used in one embodiment when the ideal layout is compared to the simulated image. In one embodiment, the generation of the simulated image produces an outline for the contrast of light in the lithographic simulation. Multiple contours can also be used to examine other variables and do not use simple contrast variables (eg light gradient or algebraic gradient). In a given simulated image, Δ O and Δ I are outside and inside to examine whether the contour (s) for the light and shade of light are outside and inside the ideal geometry, respectively, in the region of + Δ O and -Δ I. Distance. These distances can be specified in non-absolute measurements (eg a percentage of width or a function of the dimensions of an ideal geometry). This boundary checking method is not limited by the Manhattan geometry. This can be extended and applied to non-Manhattan geometries.

상기 리쏘그래피 시뮬레이터는 일실시예에 있어서, 주어진 마스크 레이아웃의 결과 이미지를 시뮬레이트하기 위해서 홉킨스 방정식을 사용한다. 마스크 레이아웃를 표현하는 상기 입력 데이터는 마스크 레이아웃의 GDS-Ⅱ 표현이 될 수 있고, 물리적 마스크의 디지털 이미지 또는 마스크의 다른 표현이 될 수 있다. 홉킨스 방정식에 사용되는 포토 리쏘그래피 장비의 중요한 파라메터들은 NA- 구경(numerical aperture), 씨그마 - 포토리쏘그래피 시스템에서 빛의 값과 결부된, 그리고 사용되는 빛의 파장이다. 효율적으로, 홉킨스 방정식은 입력 데이터에 적용되는 다수의 저역통과 필터들로 분리된다. 상기 결과 이미지들은 시뮬레이트된 이미지를 생성하기 위하여 더해진다. 몇몇 실시예에서, 포토리쏘그래피 시스템의 광학적 응답은 상기 결과 구조들의 스캔된 이미지와 그러한 구조들을 생성하기 위한 물리적 마스크들에 의해 결정된다. 상기 예제 마스크와 구조 이미지들은 포토리쏘그래피 시스템의 리쏘그래픽 특성들을 결정하기 위해서 비교된다.The lithography simulator, in one embodiment, uses Hopkins equations to simulate the resulting image of a given mask layout. The input data representing the mask layout can be a GDS-II representation of the mask layout and can be a digital image of the physical mask or another representation of the mask. Important parameters of the photolithography equipment used in the Hopkins equation are the NA-numerical aperture, the wavelength of light used and associated with the value of the light in a sigma-photolithography system. Effectively, the Hopkins equations are separated into a number of lowpass filters applied to the input data. The resulting images are added to produce a simulated image. In some embodiments, the optical response of the photolithography system is determined by the scanned image of the resulting structures and the physical masks for producing such structures. The example mask and structural images are compared to determine lithographic characteristics of the photolithography system.

상기 도 21은 이상적인 마스크 레이아웃을 이용하는 기본 마스크 검사 공정의 간략한 기본 플로우차트를 제공한다. 상기 시스템은 스테퍼들(steppers)(포토리쏘그래피 장비)의 파라메터들을 이용하는 입력 레이아웃의 에어리얼(aerial) 이미지를 블럭(2110)에서 시뮬레이트 한다. 블럭(2120)에서, 이상적인 레이아웃의 이미지와 가변적인 빛의 명암들에 대한 교정된 레이아웃 간의 차이가 검사된다. 허용공차는 교정된 레이아웃의 이미지와 이상적인 레이아웃 이미지 사이의 허용할 수 있는 편차 범위를 벗어나는 영역을 결정하기위해 사용된다.(몇몇 실시예들에서, 교정된 레이아웃의 이미지는 이상적인 레이아웃 그자체와 비교된다.) 블럭(2130)에서, 몇몇 실시예들에서 허용공차 레벨 이상의 편차는 표시된다. 그 다음, 상기 교정된 마스크는 자동적으로 또는 수동으로 상기 편차에 대한 보상을 하기위해 변경된다. 블럭(2140)에서, 상기 편차가 허용공차 이내라면, 교정된 마스크의 결과는 마스크 제조 장비또는 다른 툴들에 사용될 수 있는 형태로 전환된다. 대안적으로, 교정된 마스크의 시뮬레이트된 이미지의 결과는 다른 툴들에 사용하기 위하여 레이아웃으로 다시 전환될 수 있다. 이는 시뮬레이트된 이미지의 전환으로 이루어질 수 있다. 상기 시뮬레이트된 이미지는 예를들어, 그레이 스케일 이미지로써 표현되어질 수 있고, 다수의 다각형들로 나타내어질 수 있다. 그 다음, 회로 추출 툴들은 형성된 회로들의 특성들 모델의 더 나은 정밀도를 위해 상기 레이아웃 결과에 사용될 수 있다.Figure 21 provides a simplified basic flowchart of a basic mask inspection process using an ideal mask layout. The system simulates, at block 2110, an aerial image of the input layout using parameters of steppers (photolithography equipment). At block 2120, the difference between the image of the ideal layout and the corrected layout for varying light contrasts is examined. Tolerance is used to determine the area outside the acceptable range of deviation between the image of the corrected layout and the ideal layout image. (In some embodiments, the image of the corrected layout is compared with the ideal layout itself. In block 2130, in some embodiments a deviation above the tolerance level is indicated. The corrected mask is then changed automatically or manually to compensate for the deviation. At block 2140, if the deviation is within tolerance, the result of the corrected mask is converted into a form that can be used in mask fabrication equipment or other tools. Alternatively, the result of the simulated image of the corrected mask can be converted back to the layout for use in other tools. This can be done with the conversion of the simulated image. The simulated image can be represented, for example, as a gray scale image and represented by a number of polygons. Circuit extraction tools can then be used in the layout result for better precision of the properties model of the formed circuits.

도 22는 시뮬레이션의 기하구조가 어떻게 빠르고 쉽게 생성되고, 일반적인 디자인 룰 체커들에 입력되는지를 도시한다(그림 25를 참조할것). 이러한 경우, 명암 경계의 최대 편차는 시뮬레이션의 기하구조를 묘사하기 위해서 찾아진다(블럭 2210,2220 그리고 2230을 볼것). 도 25의 경우에서, 교정된 마스크에 대한 시뮬레이트된 이미지의 결과는 다각형들로 변환된다. 상기 변환된 기하구조가 생성된 후, 이는 디자인 룰 체커(블럭 2240)에 사용되는 포멧이 될 수 있다.Figure 22 shows how the geometry of the simulation is created quickly and easily and entered into the general design rule checkers (see Figure 25). In this case, the maximum deviation of the contrast boundary is found to describe the geometry of the simulation (see blocks 2210, 2220 and 2230). In the case of FIG. 25, the result of the simulated image for the corrected mask is converted to polygons. After the transformed geometry is created, it can be the format used in the design rule checker (block 2240).

도 23은 교정된 설계들(이를테면 OPC 교정된 설계들)은 반복적인 검사와, ΔO및 ΔI(도 24 참조)에 의해 기 설정된 경계들 내에 있지 않은 위치의 플래깅(flagging)과 유사한 방법에 의해 달성되는 것을 도시한다. 블럭(2310)에서, 기본적 검사가 실시된다. 블럭(2320)에서, 이상적인 이미지의 디자인 룰 체크에 필요하다고 여겨지지않는 영역들은 제외된다. 블럭(2330)에서, 플래깅되는 영역의 사이즈와 위치는 레이아웃을 변경하기 위해서 이상적인 레이아웃에서 OPC 형상들은 더하거나 빼기위해 구체화 된다. 그 다음, 상기 변경된 레이아웃은 피드백(fed back)되고, 상기 이상적인 레이아웃에 대해 검사하기위해 사용된다. 전체 레이아웃이 휴효공차 기준을 만족할 때까지 이러한 처리를 반복한다.FIG. 23 shows a method similar to the flagging of calibrated designs (such as OPC calibrated designs) with repetitive inspection and location of flags that are not within preset boundaries by Δ O and Δ I (see FIG. 24). It shows what is achieved by. At block 2310, a basic check is performed. At block 2320, areas that are not considered necessary for the design rule check of the ideal image are excluded. At block 2330, the size and position of the area to be flagged is specified to add or subtract OPC shapes from the ideal layout to change the layout. The modified layout is then fed back and used to check against the ideal layout. This process is repeated until the entire layout satisfies the dead tolerance standard.

도 22와 23의 피드백 화살들은 피드백 제어와 적응 공정의 의미를 전한다는 것을 유의한다.Note that the feedback arrows in FIGS. 22 and 23 convey the meaning of the feedback control and adaptation process.

도 24는 OPC의 몇가지 예제들을 통한 기본적 검사방법을 도시한다. 도면의 좌 상단은 간단한 마스크 레이아웃이다. 그 좌 하단은 상기 마스크 레이아웃의 시뮬레이트된 에어리얼(스테퍼)이미지이다. 그 그림의 상부 중간은 마스크 레이아웃의 외부 라인에 대해 에어리얼 이미지 주위에 그려진 경계선이다(이 경계선은 특정 명암의 레벨에 대한 것일 수 있다). 상기 레이아웃 외곽선으로부터의 명암 윤곽 편차들에서 위치들을 표시함으로써 하단부 중간에 도시한 것과 같이 검사가 끝난다. 다음을 유의해야 하는데, 첫째로, 이상적 경계의 내부 또는 외부에 대한 명암 윤곽 편차는 다른 색깔들과 위치들로 검사되고, 표시된다는 것과 둘째로, 상기 표시된것들의 위치들은 튀어나온 윤곽들이 그 안쪽 경계에 표시되고, 들어간 윤곽들은 경계 바깥에 표시되는 것과 같이 상반되게 위치한다(상부 오른쪽)는 것이다. 이는 이상적 레이아웃에 대한 새로운 설계의 반복적인 검사와, 검사된 결과에 기초한 반복적인 교정으로 광학적 근접교정(하부 오른쪽)을 행하는데 편리하다. 도 24의 상부 오른쪽 패턴은 한번의 반복만으로 얻은 것이다.24 shows a basic inspection method through some examples of OPC. The upper left of the figure is a simple mask layout. The lower left is a simulated aerial (stepper) image of the mask layout. The upper middle of the figure is the border drawn around the aerial image for the outer lines of the mask layout (this border may be for a certain level of contrast). The inspection ends as indicated in the middle of the lower end by indicating positions in the contrast outline deviations from the layout outline. It should be noted that, firstly, the contrast contour deviation with respect to the inside or outside of the ideal boundary is examined and displayed in different colors and positions, and secondly, the positions of the marked outlines indicate that the protruding contours The outlines, which are marked in, are placed oppositely (top right), as indicated outside the boundary. It is convenient to make optical proximity corrections (bottom right) with repeated inspections of the new design for ideal layouts and with repeated calibrations based on the inspected results. The upper right pattern of Figure 24 is obtained with only one iteration.

도 25는 어떻게 시뮬레이트된 이미지로부터의 새로운 기하구조 정보을 일반적인 디자인 룰 체커들에 공급함으로써 내부층 종속적인 검사를 수행할 수 있는 가에 대한 예를 제공한다. 도 21에 묘사된 기본 검사 방법을 반복적으로 적용함으로써, 시뮬레이트된 스테퍼 이미지 명암의 기하구조는 소정 포멧(예를 들어 GDS-Ⅱ)으로 얻어질 수 있다. 이런 포멧은 일반적인 디자인 룰 체킹 툴들과 호환되고 입력으로써 사용될 수도 있다.25 provides an example of how inner layer dependent inspection can be performed by feeding new geometry information from a simulated image to general design rule checkers. By repeatedly applying the basic inspection method depicted in FIG. 21, the geometry of the simulated stepper image contrast can be obtained in any format (eg GDS-II). This format is compatible with common design rule checking tools and can be used as input.

상기 기하구조는 예를들어, 명암 레벨 윤곽을 표현하는 다각형이라는 것을 유의한다. 상기에서 약술한 간단한 검사 방법은 유용하지만, 새로운 설계의 정확성을 설명하기에 충분하지 않을 것이다. 이는 전사된 형상들의 모든 기하구조가 묘사되고, 레이어에 대한 레이어의 디자인 룰들이 검사되기까지 교정된 층은 "정확"하다고 간주될 수 없을 것이다. 도 25에 보인, 새로운 설계 데이터로의 상기 다각형 변환은 변환 과정동안 비교적 미세한 그레뉴러리티(granularity)를 이용한다.(종종, 사용자는 더 거친 그레뉴러리티를 사용하길 원한다.) 이는 다각형들이 많은 점들을 가지게 하고, 디자인 룰 체커들이나 회로 추출 툴들(예를들어 드라큘라(Dracula) 회로 추출 프로그램)과 같은 몇몇 레이아웃 분석 툴들에 과부하를 줄수 있다.Note that the geometry is, for example, a polygon representing contrast level contours. The simple test method outlined above is useful, but will not be sufficient to explain the accuracy of the new design. This means that all geometry of the transferred shapes is depicted and the corrected layer cannot be considered "accurate" until the layer's design rules for the layer are examined. The polygonal transformation into new design data, shown in FIG. 25, uses relatively fine granularity during the transformation process (often the user wants to use coarser granularity). You can have points and overload some layout analysis tools, such as design rule checkers or circuit extraction tools (for example, the Dracula circuit extraction program).

복수 노광 마스크 공정에서(예를 들어 이중 노광(PSM)), 상기 언급한 검사 방법들은 자동 설계 툴(예를들어, 뉴메리컬 테크놀로지스 인코포레이션 (Numerical Technologies, Inc.)의 피에스엠슈링크잇(PSMShrinkItTM))에서 기대되는 레이아웃을 생성하고, 다중 노광 리쏘그래피 시뮬레이션이 검사되는 것으로써 같은 방식으로 동일하게 적용할 수 있다. 일 실시예는 검사가 적용되기 전에 다중 노광 시뮬레이션을 다중 노광 마스크 공정에 합친다. 일 실시예에서, 다중 노광 리쏘그래피 공정의 서로 다른 마스크 레이아웃들로 부터 시뮬레이트된 이미지들은 주어진 최종 시뮬레이트된 이미지에 병합된다. 예를들어, 위상 시프팅 마스크로 부터 시뮬레이트된 이미지와 트림(trim)마스크로 부터 시뮬레이트된 이미지는 최종 시뮬레이트된 이미지를 생성하기 위해서 병합될 수 있다(예를 들어 더해지거나 평균화 된다).In a multiple exposure mask process (e.g., double exposure (PSM)), the above mentioned inspection methods are used in automated design tools (e.g., by Numerical Technologies, Inc.). PSMShrinkIt )) can be applied in the same way, by creating the layout expected and by examining multiple exposure lithography simulations. One embodiment combines multiple exposure simulations into multiple exposure mask processes before inspection is applied. In one embodiment, simulated images from different mask layouts of a multiple exposure lithography process are merged into a given final simulated image. For example, the simulated image from the phase shifting mask and the simulated image from the trim mask can be merged (eg, added or averaged) to produce the final simulated image.

디자인 룰 체커들로의 입력과 서술된 방법들에 의해 생성된 OPD 마스크 설계들에 대해 한가지 더 주의할 것은, 분열된 기하구조와 OPC 형상들의 그리드(grid) 크기는 상기 검사의 스내핑(snapping) 또는 주어진 크기에 대한 OPC 설계 허용공차에 의해 쉽게 조절된다. 그리드 크기를 제어하는 본 발명의 능력은 적어도 두가지 방식들에서 중요하다. 첫째는, 일반적인 디자인 룰 체커에 대한 입력과 OPC 설계들의 데이터 크기는 줄어들 수 있다(예를들자면, 다각형에 보다 적은 숫자의 점들이 있기 때문에). 만일 그리드 크기가 조절되지 않으면, 데이터 크기는 지수적으로 엄청나게 증가할 수 있다. 두번째로, 어떤 목적한 그리드에 대한 OPC 설계들의 스내핑은 마스크 제조공정을 좀더 편리하게 만든다.One more thing to note about the inputs to the design rule checkers and the OPD mask designs generated by the described methods is that the split geometry and grid size of the OPC shapes are a snapping of the check. Or easily adjusted by OPC design tolerance for a given size. The ability of the present invention to control grid size is important in at least two ways. First, the input to the general design rule checker and the data size of OPC designs can be reduced (eg, because there are fewer numbers of points in the polygon). If grid size is not scaled, data size can grow exponentially. Second, snapping OPC designs to any desired grid makes the mask fabrication process more convenient.

c. 결론(Conclusion)c. Conclusion

비록 예증이 되는 본 발명의 실시예들이 여기에서 참고 도면들과 함께 자세히 설명되었지만, 이는 이해를 위해서이며 그러한 정확한 실시예들에 의해 본 발명이 제한되지는 않는다. 그것들은 모조리 규명되거나, 여기에 공개된 정밀한 형태로 본 발명을 제한 하기위함이 아니다. 그와 같은 입장에서, 많은 변형들과 변화들은 다른 사람들에게 명백해진다. 그에따라, 본 발명의 범위는 다음의 청구범위들과 그에 동등한 것들에 의해 정의된다.Although illustrative embodiments of the invention have been described in detail herein with reference figures, this is for understanding and is not intended to limit the invention to such precise embodiments. They are not intended to be exhaustive or to limit the invention to the precise form disclosed herein. In that position, many variations and changes become apparent to others. Accordingly, the scope of the invention is defined by the following claims and their equivalents.

Claims (10)

집적회로를 위해 교정된 레이아웃의 일부인 교정된 설계에서의 디자인 룰 체킹을 수행하는 방법으로서,A method of performing design rule checking in a calibrated design that is part of a calibrated layout for an integrated circuit, the method comprising: 교정된 설계에 엑세싱하는 단계와;Accessing the calibrated design; 상기 교정된 설계를 이용하여 시뮬레이트된 이미지를 생성하는 단계와, 여기서 상기 시뮬레이트된 이미지는 상기 교정된 설계에 대응하는 마스크를 통해 광원을 조사 함으로써 전사될 이미지의 시뮬레이션에 해당하며; 그리고Generating a simulated image using the corrected design, wherein the simulated image corresponds to a simulation of an image to be transferred by irradiating a light source through a mask corresponding to the corrected design; And 상기 시뮬레이트된 이미지에 해당하는 두번째 이미지에 대해 디자인 룰 체킹을 실행하는 단계를 구비하는 것을 특징으로 하는 교정된 설계에서의 디자인 룰 체킹 수행 방법.And performing design rule checking on a second image corresponding to the simulated image. 제 1항에 있어서, 상기 교정된 설계는 교정된 설계에 대한 광학적 근접 교정을 포함하는 것을 특징으로하는 교정된 설계에서의 디자인 룰 체킹 수행 방법.4. The method of claim 1, wherein the calibrated design includes optical proximity calibration for the calibrated design. 제 1항에 있어서, 상기 광원의 특성들은 포토리쏘그래피 파라메터들의 세트에 의해 결정되는 것을 특징으로하는 교정된 설계에서의 디자인 룰 체킹 수행 방법.2. The method of claim 1, wherein the characteristics of the light source are determined by a set of photolithographic parameters. 제 1항에 있어서, 상기 시뮬레이트된 이미지는 집적회로 제조공정 특성들을 이용해서도 생성되는 것을 특징으로 하는 교정된 설계에서의 디자인 룰 체킹 수행 방법.2. The method of claim 1, wherein the simulated image is also generated using integrated circuit fabrication process characteristics. 제 1항에 있어서, 상기 두번째 이미지는 상기 시뮬레이트된 이미지임을 특징으로하는 교정된 설계에서의 디자인 룰 체킹 수행 방법.2. The method of claim 1 wherein the second image is the simulated image. 제 1항에 있어서, 상기 두번째 이미지는 명암 윤곽의 다각형 표시에 해당하고, 상기 명암윤곽은 첫번째 이미지에 해당하는 것을 특징으로 하는 교정된 설계에서의 디자인 룰 체킹 방법.2. The method of claim 1 wherein the second image corresponds to a polygonal representation of the contrast contour and the contrast contour corresponds to the first image. 집적회로 설계 레이아웃의 교정된 레이아웃의 적어도 한 부분에 해당하는 교정된 설계를 생성하는 방법으로서,A method of generating a calibrated design corresponding to at least a portion of a calibrated layout of an integrated circuit design layout, the method comprising: 상기 부분으로부터 시뮬레이트된 이미지를 생성하는 단계와, 여기서 상기 시뮬레이트된 이미지는 집적회로 제조의 이미징 공정에 상기 부분을 노출시켜 형성될 수 있는 이미지에 해당하며;Generating a simulated image from the portion, wherein the simulated image corresponds to an image that can be formed by exposing the portion to an imaging process of integrated circuit fabrication; 상기 시뮬레이트된 이미지와 하나 이상의 디자인 룰들을 이용하여 상기 부분에서 교정될 영역들을 확인하는 단계와; 그리고Identifying areas to be corrected in the portion using the simulated image and one or more design rules; And 상기 확인된 영역들과 상기 부분으로부터 상기 교정된 설계를 생성하는 단계를 구비하는 것을 특징으로 하는 교정된 설계 생성방법.Generating the calibrated design from the identified areas and the portion. 제 7항에 있어서, 상기 교정될 영역들을 구별하는 단계는 기 교정된 설계로부터 두번째 시뮬레이트된 이미지를 생성하는 단계를 포함하고, 상기 기 교정된 설계는 상기 부분의 기 교정된 설계에 해당하며; 그리고 교정될 상기 영역들을 결정하기위해 상기 시뮬레이트된 이미지와 상기 두번째 시뮬레이트된 이미지를 비교하는 단계를 포함하는 것을 특징으로하는 교정된 설계 생성방법.8. The method of claim 7, wherein distinguishing the areas to be corrected includes generating a second simulated image from a pre-calibrated design, the pre-calibrated design corresponding to the pre-calibrated design of the portion; And comparing the simulated image with the second simulated image to determine the regions to be corrected. 제 8항에 있어서, 상기 교정된 설계를 생성하는 단계는 상기 영역의 적어도 일부에 세리프들을 추가하는 단계를 포함하는 것을 특징으로 하는 교정된 설계 생성방법.10. The method of claim 8, wherein generating the calibrated design comprises adding serifs to at least a portion of the area. 제 7항에 있어서, 상기 교정된 설계를 시뮬레이팅, 확인 및 생성하는 단계는 상기 교정된 설계가 기 설정된 허용공차 이내가 될때까지 반복적으로 수행되는 것을 특징으로 하는 교정된 설계 생성방법.8. The method of claim 7, wherein simulating, verifying, and generating the calibrated design is iteratively performed until the calibrated design is within a preset tolerance.
KR1020007002873A 1997-09-17 1998-09-17 Design rule checking system and method KR20010024117A (en)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US5930697P 1997-09-17 1997-09-17
US08/931,921 US5858580A (en) 1997-09-17 1997-09-17 Phase shifting circuit manufacture method and apparatus
US08/931,921 1997-09-17
US60/059,306 1997-09-17
US6954997P 1997-12-12 1997-12-12
US60/069,549 1997-12-12
US09/130,996 US6757645B2 (en) 1997-09-17 1998-08-07 Visual inspection and verification system
US09/130,996 1998-08-07
US09/153,783 US6470489B1 (en) 1997-09-17 1998-09-16 Design rule checking system and method
US09/154,397 US6453452B1 (en) 1997-12-12 1998-09-16 Method and apparatus for data hierarchy maintenance in a system for mask description
US09/154,397 1998-09-16
US09/153,783 1998-09-16
PCT/US1998/019510 WO1999014638A1 (en) 1997-09-17 1998-09-17 Design rule checking system and method

Publications (1)

Publication Number Publication Date
KR20010024117A true KR20010024117A (en) 2001-03-26

Family

ID=27556793

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020007002869A KR20010024113A (en) 1997-09-17 1998-09-17 Method and apparatus for data hierarchy maintenance in a system for mask description
KR1020007002873A KR20010024117A (en) 1997-09-17 1998-09-17 Design rule checking system and method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020007002869A KR20010024113A (en) 1997-09-17 1998-09-17 Method and apparatus for data hierarchy maintenance in a system for mask description

Country Status (5)

Country Link
EP (2) EP1023641A4 (en)
JP (2) JP4624550B2 (en)
KR (2) KR20010024113A (en)
AU (3) AU9775198A (en)
WO (1) WO1999014638A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100494964B1 (en) * 2002-01-08 2005-06-14 미쓰비시덴키 가부시키가이샤 Apparatus for evaluating lithography process margin simulating layout pattern of semiconductor device
KR100649969B1 (en) * 2000-12-26 2006-11-27 주식회사 하이닉스반도체 How to make a mask

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453452B1 (en) 1997-12-12 2002-09-17 Numerical Technologies, Inc. Method and apparatus for data hierarchy maintenance in a system for mask description
JP2004503879A (en) * 2000-06-13 2004-02-05 メンター グラフィックス コーポレイション Integrated verification and manufacturing adaptation tools
US6425113B1 (en) 2000-06-13 2002-07-23 Leigh C. Anderson Integrated verification and manufacturability tool
US7412676B2 (en) 2000-06-13 2008-08-12 Nicolas B Cobb Integrated OPC verification tool
US6978436B2 (en) 2000-07-05 2005-12-20 Synopsys, Inc. Design data format and hierarchy management for phase processing
US6430737B1 (en) * 2000-07-10 2002-08-06 Mentor Graphics Corp. Convergence technique for model-based optical and process correction
JP2002122977A (en) * 2000-10-17 2002-04-26 Sony Corp Method for producing photomask, photomask and exposure method
US6395438B1 (en) 2001-01-08 2002-05-28 International Business Machines Corporation Method of etch bias proximity correction
US6505327B2 (en) 2001-04-13 2003-01-07 Numerical Technologies, Inc. Generating an instance-based representation of a design hierarchy
JP3572053B2 (en) * 2001-05-31 2004-09-29 株式会社東芝 Method of manufacturing exposure mask, method of generating mask substrate information, method of manufacturing semiconductor device, and server
US6560766B2 (en) 2001-07-26 2003-05-06 Numerical Technologies, Inc. Method and apparatus for analyzing a layout using an instance-based representation
US6721928B2 (en) 2001-07-26 2004-04-13 Numerical Technologies, Inc. Verification utilizing instance-based hierarchy management
US6738958B2 (en) 2001-09-10 2004-05-18 Numerical Technologies, Inc. Modifying a hierarchical representation of a circuit to process composite gates
US6735752B2 (en) 2001-09-10 2004-05-11 Numerical Technologies, Inc. Modifying a hierarchical representation of a circuit to process features created by interactions between cells
US6880135B2 (en) 2001-11-07 2005-04-12 Synopsys, Inc. Method of incorporating lens aberration information into various process flows
US7085698B2 (en) 2001-12-18 2006-08-01 Synopsys, Inc. Method for providing flexible and dynamic reporting capability using simulation tools
US7159197B2 (en) 2001-12-31 2007-01-02 Synopsys, Inc. Shape-based geometry engine to perform smoothing and other layout beautification operations
US7293249B2 (en) 2002-01-31 2007-11-06 Juan Andres Torres Robles Contrast based resolution enhancement for photolithographic processing
US7386433B2 (en) 2002-03-15 2008-06-10 Synopsys, Inc. Using a suggested solution to speed up a process for simulating and correcting an integrated circuit layout
US6944844B2 (en) 2002-04-03 2005-09-13 Synopsys, Inc. System and method to determine impact of line end shortening
US6931613B2 (en) 2002-06-24 2005-08-16 Thomas H. Kauth Hierarchical feature extraction for electrical interaction calculations
US6687895B2 (en) 2002-07-03 2004-02-03 Numerical Technologies Inc. Method and apparatus for reducing optical proximity correction output file size
US7069534B2 (en) 2003-12-17 2006-06-27 Sahouria Emile Y Mask creation with hierarchy management using cover cells
US7861207B2 (en) 2004-02-25 2010-12-28 Mentor Graphics Corporation Fragmentation point and simulation site adjustment for resolution enhancement techniques
US7448012B1 (en) 2004-04-21 2008-11-04 Qi-De Qian Methods and system for improving integrated circuit layout
US8799830B2 (en) 2004-05-07 2014-08-05 Mentor Graphics Corporation Integrated circuit layout design methodology with process variation bands
US7240305B2 (en) 2004-06-02 2007-07-03 Lippincott George P OPC conflict identification and edge priority system
JP4266189B2 (en) 2004-07-09 2009-05-20 株式会社東芝 Semiconductor integrated circuit pattern verification method, photomask creation method, semiconductor integrated circuit device manufacturing method, and program for realizing semiconductor integrated circuit pattern verification method
JP4904034B2 (en) * 2004-09-14 2012-03-28 ケーエルエー−テンカー コーポレイション Method, system and carrier medium for evaluating reticle layout data
US7617473B2 (en) * 2005-01-21 2009-11-10 International Business Machines Corporation Differential alternating phase shift mask optimization
US7506285B2 (en) 2006-02-17 2009-03-17 Mohamed Al-Imam Multi-dimensional analysis for predicting RET model accuracy
US7739650B2 (en) 2007-02-09 2010-06-15 Juan Andres Torres Robles Pre-bias optical proximity correction
EP2153376B1 (en) 2007-05-23 2011-10-19 Nxp B.V. Process-window aware detection and correction of lithographic printing issues at mask level
US7805699B2 (en) 2007-10-11 2010-09-28 Mentor Graphics Corporation Shape-based photolithographic model calibration
JP5100405B2 (en) * 2008-01-16 2012-12-19 株式会社東芝 Database creation method and database apparatus
US7975244B2 (en) 2008-01-24 2011-07-05 International Business Machines Corporation Methodology and system for determining numerical errors in pixel-based imaging simulation in designing lithographic masks
US10008422B2 (en) * 2015-08-17 2018-06-26 Qoniac Gmbh Method for assessing the usability of an exposed and developed semiconductor wafer

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0608657A1 (en) * 1993-01-29 1994-08-03 International Business Machines Corporation Apparatus and method for preparing shape data for proximity correction
KR0163471B1 (en) * 1994-07-05 1998-12-15 가네꼬 히사시 Photo-mask manufacturing method used for modified illumination, projection aligner using photo-mask and method of transferring pattern image from photo-mask to photosensitive layer
JPH08297692A (en) * 1994-09-16 1996-11-12 Mitsubishi Electric Corp Device and method for correcting optical proximity, and pattern forming method
US5682323A (en) * 1995-03-06 1997-10-28 Lsi Logic Corporation System and method for performing optical proximity correction on macrocell libraries
JP3409493B2 (en) 1995-03-13 2003-05-26 ソニー株式会社 Mask pattern correction method and correction device
US5553273A (en) * 1995-04-17 1996-09-03 International Business Machines Corporation Vertex minimization in a smart optical proximity correction system
JP2917879B2 (en) * 1995-10-31 1999-07-12 日本電気株式会社 Photomask and manufacturing method thereof
US5705301A (en) * 1996-02-27 1998-01-06 Lsi Logic Corporation Performing optical proximity correction with the aid of design rule checkers
US5801954A (en) * 1996-04-24 1998-09-01 Micron Technology, Inc. Process for designing and checking a mask layout
US5707765A (en) * 1996-05-28 1998-01-13 Microunity Systems Engineering, Inc. Photolithography mask using serifs and method thereof
DE19818440C2 (en) * 1998-04-24 2002-10-24 Pdf Solutions Gmbh Method for generating data for the production of a structure defined by design data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100649969B1 (en) * 2000-12-26 2006-11-27 주식회사 하이닉스반도체 How to make a mask
KR100494964B1 (en) * 2002-01-08 2005-06-14 미쓰비시덴키 가부시키가이샤 Apparatus for evaluating lithography process margin simulating layout pattern of semiconductor device

Also Published As

Publication number Publication date
EP1023639A1 (en) 2000-08-02
AU9396198A (en) 1999-04-05
EP1023639A4 (en) 2009-04-29
WO1999014638A1 (en) 1999-03-25
EP1023641A1 (en) 2000-08-02
JP2003526110A (en) 2003-09-02
JP4624550B2 (en) 2011-02-02
KR20010024113A (en) 2001-03-26
JP2003523545A (en) 2003-08-05
EP1023641A4 (en) 2009-04-22
AU9775198A (en) 1999-04-05
AU9396098A (en) 1999-04-05

Similar Documents

Publication Publication Date Title
KR20010024117A (en) Design rule checking system and method
US6470489B1 (en) Design rule checking system and method
US6453452B1 (en) Method and apparatus for data hierarchy maintenance in a system for mask description
US6370679B1 (en) Data hierarchy layout correction and verification method and apparatus
EP1023640B1 (en) Data hierarchy layout correction and verification method and apparatus
EP1431820B1 (en) Method and system for classifying an integrated circuit for optical proximity correction
US7475383B2 (en) Method of fabricating photo mask
US8102408B2 (en) Computer-implemented methods and systems for determining different process windows for a wafer printing process for different reticle designs
US6425117B1 (en) System and method for performing optical proximity correction on the interface between optical proximity corrected cells
US7172838B2 (en) Chromeless phase mask layout generation
US7646906B2 (en) Computer-implemented methods for detecting defects in reticle design data
US7650587B2 (en) Local coloring for hierarchical OPC
WO1999014636A1 (en) Method and apparatus for data hierarchy maintenance in a system for mask description
US20030023939A1 (en) Method and apparatus for analyzing a layout using an instance-based representation
US20020144230A1 (en) System and method for correcting design rule violations in a mask layout file
JP2009506359A (en) Integrated OPC verification tool
JP2008033277A (en) Correction method and correction system for design data or mask data, validation method and validation system for design data or mask data, yield estimation method for semiconductor integrated circuit, method for improving design rule, method for producing mask, and method for manufacturing semiconductor integrated circuit
CN109559979A (en) Method for manufacturing integrated circuit
KR20230098783A (en) Stochastic Aware Lithography Models for Mask Synthesis
Kahng et al. Subwavelength optical lithography: challenges and impact on physical design
CN110968981A (en) Integrated circuit layout diagram generation method and system
US20050005256A1 (en) Photomask and integrated circuit manufactured by automatically correcting design rule violations in a mask layout file
KR20220092598A (en) Use of Mask Manufacturing Models in Correction of Lithographic Masks
KR20220065769A (en) Lithography Improvement Based on Defect Probability Distributions and Critical Dimension Variations
US6898780B2 (en) Method and system for constructing a hierarchy-driven chip covering for optical proximity correction

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20000317

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid