KR20230130833A - 기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 전자 장치의 동작 방법 - Google Patents

기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 전자 장치의 동작 방법 Download PDF

Info

Publication number
KR20230130833A
KR20230130833A KR1020220027906A KR20220027906A KR20230130833A KR 20230130833 A KR20230130833 A KR 20230130833A KR 1020220027906 A KR1020220027906 A KR 1020220027906A KR 20220027906 A KR20220027906 A KR 20220027906A KR 20230130833 A KR20230130833 A KR 20230130833A
Authority
KR
South Korea
Prior art keywords
image
layout
semiconductor
wafer
density
Prior art date
Application number
KR1020220027906A
Other languages
English (en)
Inventor
이수용
양재원
나경조
김지홍
여상철
이혁
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020220027906A priority Critical patent/KR20230130833A/ko
Priority to US18/060,260 priority patent/US20230281792A1/en
Priority to CN202310176787.6A priority patent/CN116705790A/zh
Publication of KR20230130833A publication Critical patent/KR20230130833A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/02System on chip [SoC] design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/10Processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30148Semiconductor; IC; Wafer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Image Analysis (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 본 기재의 실시 예에 따른 전자 장치의 동작 방법은, 프로세서에 의해 실행되는 반도체 레이아웃 시뮬레이션 모듈이 레이아웃 이미지를 수신하는 단계, 최종 레이아웃 이미지에 기반하여 반도체 집적 회로를 제조하는 반도체 제조 장치의 제조 장치 정보 이미지 및 레이아웃 이미지에 기반하여 웨이퍼 이미지를 추론하는 단계, 웨이퍼 이미지가 수용 가능하지 않으면, 레이아웃 이미지를 수정하는 단계, 그리고 웨이퍼 이미지가 수용 가능하면, 레이아웃 이미지를 최종 레이아웃 이미지로 확정하는 단계를 포함한다.

Description

기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 전자 장치의 동작 방법{OPERATING METHOD OF ELECTRONIC DEVICE INCLUDING PROCESSOR EXECUTING SEMICONDUCTOR SIMULATION MODULE BASED ON MACHINE LEARNING}
본 기재는 전자 장치에 관한 것으로, 더 상세하게는 기계 학습에 기반하여 반도체 집적 회로의 이미지를 추론하는 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 전자 장치의 동작 방법에 관한 것이다.
반도체 집적 회로는 실리콘 웨이퍼 상에 다양한 회로 패턴들을 생성함으로써 구현된다. 반도체 집적 회로의 제조 과정은 OPC(Optical Proximity Correction) 및 PPC(Process Proximity Correction)을 포함할 수 있다. OPC는 포토 레지스트 패턴들을 제조하는 과정에서 발생하는 오차들을 보정할 수 있다. PPC는 식각 공정에서 발생하는 오차들을 보정할 수 있다.
OPC 또는 PPC는 반도체 패턴의 CD(Critical Dimension)을 기반으로 수행되거나, 또는 반도체 패턴의 윤곽선(contour)을 기반으로 수행될 수 있다. 그러나 CD 또는 윤곽선 기반의 OPC 또는 PPC는 많은 연샨량을 필요로 하며, 반도체 패턴들의 정보 중 일부만을 사용하므로 오류를 가질 수 있다.
본 기재의 목적은 기계 학습에 기반하여 픽셀 기반으로 반도체 집적 회로를 시뮬레이션하는 방법을 제공하는 데에 있다. 또한, 본 기재의 목적은 EUV(Extreme UltraViolet) 기반의 반도체 제조 장치의 고유한 특성 및 원거리(long range) 레이아웃을 반영한 반도체 집적 회로의 시뮬레이션 방법을 제공하는 데에 있다.
기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 본 기재의 실시 예에 따른 전자 장치의 동작 방법은, 프로세서에 의해 실행되는 반도체 레이아웃 시뮬레이션 모듈이 레이아웃 이미지를 수신하는 단계, 최종 레이아웃 이미지에 기반하여 반도체 집적 회로를 제조하는 반도체 제조 장치의 제조 장치 정보 이미지 및 레이아웃 이미지에 기반하여 웨이퍼 이미지를 추론하는 단계, 웨이퍼 이미지가 수용 가능하지 않으면, 레이아웃 이미지를 수정하는 단계, 그리고 웨이퍼 이미지가 수용 가능하면, 레이아웃 이미지를 최종 레이아웃 이미지로 확정하는 단계를 포함한다.
기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 본 기재의 실시 예에 따른 전자 장치의 동작 방법은, 프로세서에 의해 실행되는 반도체 레이아웃 시뮬레이션 모듈이 목표 웨이퍼 이미지를 수신하는 단계, 그리고 밀도 이미지 및 목표 웨이퍼 이미지에 기반하여 레이아웃 이미지를 추론하는 단계를 포함하고, 밀도 이미지는 레이아웃 이미지를 포함하며 레이아웃 이미지보다 넓은 영역의 패턴들의 밀도의 정보를 포함한다.
기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 본 기재의 실시 예에 따른 전자 장치의 동작 방법은, 프로세서에 의해 실행되는 반도체 레이아웃 시뮬레이션 모듈이 목표 웨이퍼 이미지를 수신하는 단계, 최종 레이아웃 이미지에 기반하여 반도체 집적 회로를 제조하는 반도체 제조 장치의 제조 장치 정보 이미지, 밀도 이미지 및 목표 웨이퍼 이미지 중 적어도 두 개에 기반하여 레이아웃 이미지를 추론하는 단계, 제조 장치 정보 이미지, 밀도 이미지 및 레이아웃 이미지 중 적어도 두 개에 기반하여 웨이퍼 이미지를 추론하는 단계, 웨이퍼 이미지가 수용 가능하지 않으면, 레이아웃 이미지를 수정하는 단계, 그리고 웨이퍼 이미지가 수용 가능하면, 레이아웃 이미지를 최종 레이아웃 이미지로 확정하는 단계를 포함하고, 밀도 이미지는 레이아웃 이미지를 포함하며 레이아웃 이미지보다 넓은 영역의 패턴들의 밀도의 정보를 포함한다.
본 기재에 따르면, 기계 학습에 기반하여 픽셀 기반으로 반도체 집적 회로의 시뮬레이션이 수행된다. 또한, EUV 반도체 제조 장치의 슬릿의 영향 및 원거리 레이아웃의 특성이 반도체 집적 회로의 시뮬레이션에 반영된다. 따라서, 반도체 시뮬레이션의 정확도가 향상되고, 반도체 제조 장치의 수율이 향상될 수 있다.
도 1은 본 기재의 실시 예에 따른 전자 장치를 보여주는 블록도이다.
도 2는 반도체 레이아웃 시뮬레이션 모듈의 예를 더 상세히 보여준다.
도 3은 프로세서들에 의해 실행되는 반도체 레이아웃 시뮬레이션 모듈의 동작 방법을 보여준다.
도 4는 다채널 이미지들의 예들을 보여준다.
도 5는 본 기재의 실시 예에 따른 전자 장치를 보여주는 블록도이다.
도 6은 도 5의 전자 장치의 동작 방법의 예를 보여준다.
도 7은 본 기재의 실시 예에 따른 전자 장치를 보여주는 블록도이다.
도 8은 반도체 레이아웃 시뮬레이션 모듈의 예를 더 상세히 보여준다.
도 9는 프로세서들에 의해 실행되는 반도체 레이아웃 시뮬레이션 모듈의 동작 방법을 보여준다.
도 10은 다채널 이미지들의 예들을 보여준다.
도 11은 본 기재의 실시 예에 따른 전자 장치를 보여주는 블록도이다.
도 12는 도 11의 전자 장치의 동작 방법의 예를 보여준다.
도 13은 본 기재의 실시 예에 따른 전자 장치를 보여주는 블록도이다.
도 14는 도 13의 전자 장치의 동작 방법의 예를 보여준다.
도 15는 반도체 집적 회로를 제조하는 반도체 제조 시스템의 예를 보여준다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다. 아래에서, '그리고/또는'의 용어는 해당 용어와 연관되어 나열된 항목들의 어느 하나, 그리고 연관되어 나열된 항목들 중 일부 또는 전부의 조합을 포함하는 것으로 해석된다.
도 1은 본 기재의 실시 예에 따른 전자 장치(100)를 보여주는 블록도이다. 도 1을 참조하면, 전자 장치(100)는 프로세서들(110), 랜덤 액세스 메모리(120), 장치 드라이버(130), 스토리지 장치(140), 모뎀(150), 그리고 사용자 인터페이스들(160)을 포함할 수 있다.
프로세서들(110)은, 예를 들어, 중앙 프로세싱 유닛(111)(CPU), 응용 프로세서(AP) 등과 같은 적어도 하나의 범용 프로세서를 포함할 수 있다. 프로세서들(110)은 또한 뉴럴 프로세싱 유닛(113), 뉴로모픽 프로세서(114), 그래픽 프로세싱 유닛(115)(GPU) 등과 같은 적어도 하나의 특수 목적 프로세서를 포함할 수 있다. 프로세서들(110)은 두 개 이상의 동일한 종류의 프로세서들을 포함할 수 있다.
프로세서들(110) 중 적어도 하나는 반도체 레이아웃 시뮬레이션 모듈(200)을 구동할 수 있다. 예를 들어, 반도체 레이아웃 시뮬레이션 모듈(200)은 프로세서들(110) 중 적어도 하나에 의해 실행되는 명령들(또는 코드들)의 형태로 구현될 수 있다. 이때, 적어도 하나의 프로세서는 반도체 레이아웃 시뮬레이션 모듈(200)의 명령들(또는 코드들)을 랜덤 액세스 메모리(120)에 로드할 수 있다.
다른 예로서, 프로세서들(110) 중 적어도 하나(또는 적어도 다른 하나)의 프로세서는 반도체 레이아웃 시뮬레이션 모듈(200)을 구현하도록 제조될 수 있다. 예를 들어, 적어도 하나의 프로세서는 반도체 레이아웃 시뮬레이션 모듈(200)의 기능들을 하드웨어적으로 구현하는 전용 프로세서일 수 있다.
랜덤 액세스 메모리(120)는 프로세서들(110)의 동작 메모리로 사용되고, 전자 장치(100)의 주 메모리 또는 시스템 메모리로 사용될 수 있다. 랜덤 액세스 메모리(120)는 동적 랜덤 액세스 메모리 또는 정적 랜덤 액세스 메모리와 같은 휘발성 메모리, 또는 상 변화 랜덤 액세스 메모리, 강유전체 랜덤 액세스 메모리, 자기 랜덤 액세스 메모리, 또는 저항성 랜덤 액세스 메모리와 같은 불휘발성 메모리를 포함할 수 있다.
랜덤 액세스 메모리(120)는 반도체 레이아웃 시뮬레이션 모듈(200)의 학습에 필요한 이미지들을 저장할 수 있다. 예를 들어, 랜덤 액세스 메모리(120)는 스토리지 장치(140)로부터 또는 외부의 장치(예를 들어, 데이터베이스)로부터 모뎀(150)을 통해 이미지들을 수신할 수 있다.
장치 드라이버(130)는 프로세서들(110)의 요청에 따라 스토리지 장치(140), 모뎀(150), 사용자 인터페이스들(160) 등과 같은 주변 장치들을 제어할 수 있다. 스토리지 장치(140)는 하드 디스크 드라이브, 솔리드 스테이트 드라이브 등과 같은 고정식 스토리지 장치, 또는 외장형 하드 디스크 드라이브, 외장형 솔리드 스테이트 드라이브, 착탈식 메모리 카드 등과 같은 착탈식 스토리지 장치를 포함할 수 있다.
스토리지 장치(140)는 반도체 레이아웃 시뮬레이션 모듈(200)의 학습에 필요한 이미지들을 저장할 수 있다. 스토리지 장치(140)에 저장된 이미지들은 메모리(120)에 로드되어 반도체 레이아웃 시뮬레이션 모듈(200)의 학습에 사용될 수 있다.
모뎀(150)은 외부의 장치와 원격 통신을 제공할 수 있다. 모뎀(150)은 외부의 장치와 무선 또는 유선 통신을 수행할 수 있다. 모뎀(150)은 이더넷, 와이파이, LTE, 5G 모바일 이동 통신 등과 같은 다양한 통신 형태들 중 적어도 하나를 통해 외부의 장치와 통신할 수 있다. 모뎀(150)은 외부의 장치, 예를 들어 데이터베이스로부터 반도체 레이아웃 시뮬레이션 모듈(200)의 학습에 필요한 이미지들을 수신할 수 있다. 모뎀(150)은 수신된 이미지들을 메모리(120)에 로드할 수 있다.
사용자 인터페이스들(160)은 사용자로부터 정보를 수신하고, 그리고 사용자에게 정보를 제공할 수 있다. 사용자 인터페이스들(160)은 디스플레이(161), 스피커(162) 등과 같은 적어도 하나의 사용자 출력 인터페이스, 그리고 마우스(163)(mouse), 키보드(164), 터치 입력 장치(165) 등과 같은 적어도 하나의 사용자 입력 인터페이스를 포함할 수 있다.
반도체 레이아웃 시뮬레이션 모듈(200)의 명령들(또는 코드들)은 모뎀(150)을 통해 수신되어 스토리지 장치(140)에 저장될 수 있다. 반도체 레이아웃 시뮬레이션 모듈(200)의 명령들(또는 코드들)은 착탈식 스토리지 장치에 저장되고 그리고 전자 장치(100)에 결합될 수 있다. 반도체 레이아웃 시뮬레이션 모듈(200)의 명령들(또는 코드들)은 스토리지 장치(140)로부터 랜덤 액세스 메모리(120)로 로드되어 실행될 수 있다.
반도체 레이아웃 시뮬레이션 모듈(200)은 웨이퍼 이미지 생성기(210), 웨이퍼 이미지 판별기(220), 그리고 갱신기(230)를 포함할 수 있다. 웨이퍼 이미지 생성기(210)는 반도체 집적 회로의 제조를 위한 레이아웃 이미지(예를 들어, OPC 또는 PPC가 반영되지 않은 원본 레이아웃 이미지, 또는 OPC 또는 PPC가 반영된 수정 레이아웃 이미지)로부터, 레이아웃 이미지에 기반하여 반도체 집적 회로를 제조한 경우에 제조될 것으로 예상되는 웨이퍼 이미지를 생성하도록 학습될 수 있다.
웨이퍼 이미지 판별기(220)는 반도체 집적 회로의 웨이퍼 이미지(예를 들어, 반도체 웨이퍼 상에 반도체 집적 회로를 제조한 후에 SEM(Scanning Electron Microscope)와 같은 촬영 장치를 이용하여 촬영된 영상) 및 웨이퍼 이미지 생성기(210)에 의해 생성된 웨이퍼 이미지 중에서 어느 것이 진짜이고 어느 것이 가짜인지 판별할 수 있다. 갱신기(230)는 웨이퍼 이미지 판별기(220)의 판별 결과에 따라 웨이퍼 이미지 생성기(210) 및 웨이퍼 이미지 판별기(220)를 학습시킬 수 있다.
예시적으로, 웨이퍼 이미지 생성기(210), 웨이퍼 이미지 판별기(220), 그리고 갱신기(230)는 GAN(Generative Adversarial Network) 또는 CGAN(Conditional GAN)에 기반하여 구현될 수 있다. 예시적으로, 웨이퍼 이미지 생성기(210), 웨이퍼 이미지 판별기(220), 그리고 갱신기(230)는 메모리(120)에 저장된 이미지들에 기반하여 학습을 수행할 수 있다.
도 2는 반도체 레이아웃 시뮬레이션 모듈(200)의 예를 더 상세히 보여준다. 도 1 및 도 2를 참조하면, 반도체 레이아웃 시뮬레이션 모듈(200)은 메모리(120)로부터 다채널 이미지들(CI[1:n]) 및 제1 웨이퍼 이미지(WI1)를 수신할 수 있다. 제1 웨이퍼 이미지(WI1)는 반도체 집적 회로의 제조 후에 촬영된 SEM 이미지일 수 있다. 예를 들어, 제1 웨이퍼 이미지(WI1)는 원본 웨이퍼 이미지로부터 크롭된 일부분일 수 있다.
다채널 이미지들(CI[1:n])은 복수의 이미지들을 포함할 수 있다. 다채널 이미지들(CI[1:n])은 제1 내지 제n 이미지들을 포함할 수 있다. 제1 내지 제n 이미지들의 각각은 반도체 집적 회로의 제조 과정에 영향을 주는 다양한 요인들의 영향들을 포함할 수 있다. 다채널 이미지들(CI[1:n]) 중 하나는 반도체 집적 회로의 제조를 위한 레이아웃 이미지를 포함할 수 있다. 레이아웃 이미지는 원본 레이아웃 이미지로부터 크롭된 일부분, 예를 들어 제1 웨이퍼 이미지(WI1)에 대응하는 부분일 수 있다.
웨이퍼 이미지 생성기(210)는 다채널 이미지들(CI[1:n])로부터 제2 웨이퍼 이미지(WI2)를 생성할 수 있다. 예를 들어, 웨이퍼 이미지 생성기(210)는 내부 파라미터들을 이용하여 다채널 이미지들(CI[1:n])로부터 제2 웨이퍼 이미지(WI2)를 생성할 수 있다.
웨이퍼 이미지 판별기(220)는 제1 웨이퍼 이미지(WI1) 및 제2 웨이퍼 이미지(WI2)를 수신할 수 있다. 웨이퍼 이미지 판별기(220)는 제1 웨이퍼 이미지(WI1) 및 제2 웨이퍼 이미지(WI2) 중 어느 것이 진짜(예를 들어, 촬영된) 웨이퍼 이미지이고 어느 것이 가짜(예를 들어, 생성된 또는 추론된) 웨이퍼 이미지인지 판별할 수 있다. 예를 들어, 웨이퍼 이미지 판별기(220)는 내부 파라미터들을 이용하여 제1 웨이퍼 이미지(WI1) 및 제2 웨이퍼 이미지(WI2) 중 어느 것이 진짜 웨이퍼 이미지이고 어느 것이 가짜 웨이퍼 이미지인지 판별할 수 있다.
갱신기(230)는 웨이퍼 이미지 판별기(220)의 판별 결과를 수신할 수 있다. 갱신기(230)는 판별 결과에 기반하여 웨이퍼 이미지 생성기(210) 및 웨이퍼 이미지 판별기(220)를 각각 동시에 또는 순차적으로 학습시킬 수 있다. 예를 들어, 갱신기(230)는 웨이퍼 이미지 생성기(210)의 내부 파라미터들을 갱신함으로써 웨이퍼 이미지 생성기(210)를 학습시킬 수 있다. 갱신기(230)는 웨이퍼 이미지 판별기(220)의 내부 파라미터들을 갱신함으로써 웨이퍼 이미지 판별기(220)를 학습시킬 수 있다.
도 3은 프로세서들(110)에 의해 실행되는 반도체 레이아웃 시뮬레이션 모듈(200)의 동작 방법을 보여준다. 도 1, 도 2 및 도 3을 참조하면, S110 단계에서, 프로세서들(110)은 다채널 이미지들(CI[1:n]) 및 제1 웨이퍼 이미지(WI1)를 수신할 수 있다. 예를 들어, 프로세서들(110)은 다채널 이미지들(CI[1:n]) 및 제1 웨이퍼 이미지(WI1)를 메모리(120)로부터 수신할 수 있다.
S120 단계에서, 프로세서들(110)은 다채널 이미지들(CI[1:n])을 반도체 레이아웃 시뮬레이션 모듈(200)의 웨이퍼 이미지 생성기(210)에 입력하여 제2 웨이퍼 이미지(WI2)를 생성할 수 있다.
S130 단계에서, 프로세서들(110)은 제1 웨이퍼 이미지(WI1) 및 제2 웨이퍼 이미지(WI2)를 반도체 레이아웃 시뮬레이션 모듈(200)의 웨이퍼 이미지 판별기(220)에 입력하여, 진짜 이미지 및 거짓 이미지를 판별할 수 있다.
S140 단계에서, 프로세서들(110)은 반도체 레이아웃 시뮬레이션 모듈(200)의 갱신기(230)를 실행하여, 판별 결과에 기반하여 웨이퍼 이미지 생성기(210) 그리고/또는 웨이퍼 이미지 판별기(220)를 갱신할 수 있다. 예를 들어, 갱신기(230)는 판별 결과가 올바른지 올바르지 않은지에 기반하여 손실 함수를 계산할 수 있다. 갱신기(230)는 손실 함수에 기반하여 웨이퍼 이미지 생성기(210) 그리고/또는 웨이퍼 이미지 판별기(220)를 갱신할 수 있다.
예시적으로, 전자 장치(100)의 프로세서들(110)은 웨이퍼 이미지 및 그에 대응하는 다채널 이미지들(CI[1:n])을 각각 포함하는 세트들을 이용하여 반도체 레이아웃 시뮬레이션 모듈(200)을 반복적으로 학습시킬 수 있다. 전자 장치(100)의 프로세서들(110)은 정해진 수의 이미지들의 세트들에 기반한 판별 결과들을 수집하고, 그리고 수집된 판별 결과들에 기반하여 웨이퍼 이미지 생성기(210) 그리고/또는 웨이퍼 이미지 판별기(220)의 내부 파라미터들을 갱신할 수 있다.
반도체 집적 회로의 집적도가 증가하고 선폭이 감소함에 따라, 반도체 집적 회로를 위한 전체 레이아웃 이미지를 포함하는 다채널 이미지들(CI[1:n])에 기반하여 전체 웨이퍼 이미지를 생성(또는 추론)하는 것은 실질적으로 불가능할 수 있다. 따라서, 웨이퍼 이미지의 생성(또는 추론) 및 판별은 전체 레이아웃 이미지로부터 크롭(crop)된 레이아웃 이미지를 포함하는 다채널 이미지들(CI[1:n]) 그리고/또는 전체 웨이퍼 이미지 중 대응하는 부분(예를 들어, 크롭된 부분)에 기반하여 수행될 수 있다.
이러한 결함 검출 과정에 따라, 반도체 레이아웃 시뮬레이션 모듈(200)이 기계 학습을 수행하는데 사용되는 제1 웨이퍼 이미지(WI1)는 원본 웨이퍼 이미지로부터 크롭된 이미지일 수 있다. 또한, 반도체 레이아웃 시뮬레이션 모듈(200)이 기계 학습을 수행하는데 사용되는 다채널 이미지들(CI[1:n])은 대응하는 원본 이미지들 상에서 제1 웨이퍼 이미지(WI1)에 대응하는 위치에서 크롭된 이미지들일 수 있다.
도 4는 다채널 이미지들(CI[1:n])의 예들을 보여준다. 예시적으로, 다채널 이미지들(CI[1:n])은 4개의 이미지들을 포함할 수 있으며, 'n'은 4일 수 있다. 그러나 'n'의 값은 한정되지 않는다. 도 2 및 도 4를 참조하면, 다채널 이미지들(CI[1:4])은 레이아웃 이미지(LI), 하부 레이아웃 이미지(ULI), 제조 장치 정보 이미지(MDI) 및 밀도 이미지(DI)로부터 크롭될 수 있다.
반도체 집적 회로는 순차적으로 적층되는 복수의 레이어들을 포함할 수 있다. 레이아웃 이미지(LI)는 현재 레이어의 제조를 위한 레이아웃 이미지(예를 들어, OPC 또는 PPC가 반영되지 않은 원본 레이아웃 이미지, 또는 OPC 또는 PPC가 반영된 수정 레이아웃 이미지)일 수 있다. 레이아웃 이미지(LI) 중에서 기계 학습을 위한 목표 레이아웃 이미지(TLI)가 다채널 이미지들(CI[1:4]) 중 하나로 선택될 수 있다.
하부 레이아웃 이미지(ULI)는 하부 레이어의 제조 시에 사용되는 레이아웃 이미지(예를 들어, OPC 또는 PPC가 반영되지 않은 원본 레이아웃 이미지 또는 SEM 이미지)일 수 있다. 하부 레이아웃 이미지(ULI) 중에서 기계 학습을 위한 목표 하부 레이아웃 이미지(TULI)가 다채널 이미지들(CI[1:4]) 중 하나로 선택될 수 있다. 하부 레이아웃 이미지(ULI) 상의 목표 하부 레이아웃 이미지(TULI)의 위치는 레이아웃 이미지(LI) 상의 목표 레이아웃 이미지(TLI)의 위치에 대응(예를 들어, 동일)할 수 있다.
제조 장치 정보 이미지(MDI)는 반도체 집적 회로의 제조 장치가 반도체 집적 회로의 제조 과정에 영향을 주는 정보를 포함할 수 있다. 예를 들어, 레이아웃 이미지(LI) 상의 위치에 따라 서로 다른 영향을 주는 반도체 제조 장치의 영향의 정보가 제조 장치 정보 이미지(MDI)에 포함될 수 있다.
예를 들어, EUV(Extreme UltraViolet) 기반의 반도체 제조 장치의 슬릿(Slit)은 레이아웃 이미지(LI) 상의 위치에 따라 반도체 집적 회로에 서로 다른 영향을 줄 수 있다. 제조 장치 정보 이미지(MDI)는 슬릿의 영향 정보 이미지를 포함할 수 있다.
제조 장치 정보 이미지(MDI) 중에서 기계 학습을 위한 목표 제조 장치 정보 이미지(TMDI)가 다채널 이미지들(CI[1:4]) 중 하나로 선택될 수 있다. 제조 장치 정보 이미지(MDI) 상의 목표 제조 장치 정보 이미지(TMDI)의 위치는 레이아웃 이미지(LI) 상의 목표 레이아웃 이미지(TLI)의 위치에 대응(예를 들어, 동일)할 수 있다. 예를 들어, 목표 제조 장치 정보 이미지(TMDI)의 픽셀들의 값들은 제1 방향을 따라 동일하고, 그리고 제2 방향을 따라 연속적으로(또는 순차적으로) 일관되게 증가 또는 감소할 수 있다.
밀도 이미지(DI)는 레이아웃 이미지(LI)로부터 생성될 수 있다. 밀도 이미지(DI)는 레이아웃 이미지(LI) 상의 패턴들의 밀도 또는 공간들의 밀도에 대한 정보를 포함할 수 있다. 예를 들어, 밀도 이미지(DI)는 레이아웃 이미지(LI)에 대해 가우시안 콘볼루션(Gaussian convolution) 또는 블러링을 수행함으로써 생성될 수 있다. 가우시안 콘볼루션은 가우시안 분포에 대응하는 값들을 갖는 2차원 필터와 레이아웃 이미지(LI)의 콘볼루션 연산을 수행하는 것을 포함할 수 있다.
밀도 이미지(DI) 중에서 관심 범위(ROI)(Range of Interest)가 선택될 수 있다. 관심 범위(ROI)는 목표 레이아웃 이미지(TLI)에 대응하는 부분의 제조 시에 목표 레이아웃 이미지(TLI)에 영향을 줄 것으로 여겨지는 영역들을 포함할 수 있다. 밀도 이미지(DI) 상의 관심 범위(ROI)의 위치는 레이아웃 이미지(LI) 상의 목표 레이아웃 이미지(TLI)의 위치에 대응(예를 들어, 포함)할 수 있다. 관심 범위(ROI)의 사이즈는 목표 레이아웃 이미지(TLI)의 사이즈보다 클 수 있다.
관심 범위(ROI)의 사이즈는 목표 레이아웃 이미지(TLI)대응하는 사이즈로 다운스케일(DS)될 수 있다. 다운스케일된 목표 밀도 이미지(TDI)는 다채널 이미지들(CI[1:4]) 중 하나로 선택될 수 있다. 예시적으로, 다운스케일(DS)은 생략되고, 관심 범위(ROI)가 목표 밀도 이미지(TDI)로 선택될 수 있다.
본 기재의 실시 예들에 따르면, 제2 웨이퍼 이미지(WI2)를 추론하기 위한 학습 시에, 현재 레이어의 목표 레이아웃 이미지(TLI)뿐 아니라, 하부 레이어의 영향을 반영하는 목표 하부 레이아웃 이미지(TULI), 원거리(long range) 영향을 반영하는 목표 밀도 이미지(TDI), 그리고 반도체 제조 장치의 위치에 따른 영향을 반영하는 목표 제조 장치 정보 이미지(TMDI)가 반영된다. 따라서, 제2 웨이퍼 이미지(WI2)가 더 정확하게 추론(또는 예측)될 수 있다. 또한, 본 기재의 실시 예들에 따르면, OPC 및 PPC를 구별하지 않고, 레이아웃 이미지(LI)로부터 제2 웨이퍼 이미지(WI2)를 추론(또는 예측 또는 생성)하는 학습이 수행될 수 있다. 따라서, 학습 시간이 단축될 수 있다.
도 5는 본 기재의 실시 예에 따른 전자 장치(300)를 보여주는 블록도이다. 도 5를 참조하면, 전자 장치(300)는 프로세서들(310), 랜덤 액세스 메모리(320), 장치 드라이버(330), 스토리지 장치(340), 모뎀(350), 그리고 사용자 인터페이스들(360)을 포함할 수 있다.
프로세서들(310)은, 예를 들어, 중앙 프로세싱 유닛(311)(CPU), 응용 프로세서(AP) 등과 같은 적어도 하나의 범용 프로세서를 포함할 수 있다. 프로세서들(310)은 또한 뉴럴 프로세싱 유닛(313), 뉴로모픽 프로세서(314), 그래픽 프로세싱 유닛(315)(GPU) 등과 같은 적어도 하나의 특수 목적 프로세서를 포함할 수 있다. 프로세서들(310)은 두 개 이상의 동일한 종류의 프로세서들을 포함할 수 있다.
프로세서들(310) 중 적어도 하나는 반도체 레이아웃 시뮬레이션 모듈(400)을 구동할 수 있다. 예를 들어, 반도체 레이아웃 시뮬레이션 모듈(400)은 프로세서들(310) 중 적어도 하나에 의해 실행되는 명령들(또는 코드들)의 형태로 구현될 수 있다. 이때, 적어도 하나의 프로세서는 반도체 레이아웃 시뮬레이션 모듈(400)의 명령들(또는 코드들)을 랜덤 액세스 메모리(320)에 로드할 수 있다.
다른 예로서, 프로세서들(310) 중 적어도 하나(또는 적어도 다른 하나)의 프로세서는 반도체 레이아웃 시뮬레이션 모듈(400)을 구현하도록 제조될 수 있다. 예를 들어, 적어도 하나의 프로세서는 반도체 레이아웃 시뮬레이션 모듈(400)의 기능들을 하드웨어적으로 구현하는 전용 프로세서일 수 있다.
랜덤 액세스 메모리(320)는 프로세서들(310)의 동작 메모리로 사용되고, 전자 장치(300)의 주 메모리 또는 시스템 메모리로 사용될 수 있다. 랜덤 액세스 메모리(320)는 동적 랜덤 액세스 메모리 또는 정적 랜덤 액세스 메모리와 같은 휘발성 메모리, 또는 상 변화 랜덤 액세스 메모리, 강유전체 랜덤 액세스 메모리, 자기 랜덤 액세스 메모리, 또는 저항성 랜덤 액세스 메모리와 같은 불휘발성 메모리를 포함할 수 있다.
랜덤 액세스 메모리(320)는 반도체 레이아웃 시뮬레이션 모듈(400)이 웨이퍼 이미지를 추론(또는 예측 또는 생성)하는데 필요한 이미지들을 저장할 수 있다. 예를 들어, 랜덤 액세스 메모리(320)는 스토리지 장치(340)로부터 또는 외부의 장치(예를 들어, 데이터베이스)로부터 모뎀(350)을 통해 이미지들을 수신할 수 있다.
장치 드라이버(330)는 프로세서들(310)의 요청에 따라 스토리지 장치(340), 모뎀(350), 사용자 인터페이스들(360) 등과 같은 주변 장치들을 제어할 수 있다. 스토리지 장치(340)는 하드 디스크 드라이브, 솔리드 스테이트 드라이브 등과 같은 고정식 스토리지 장치, 또는 외장형 하드 디스크 드라이브, 외장형 솔리드 스테이트 드라이브, 착탈식 메모리 카드 등과 같은 착탈식 스토리지 장치를 포함할 수 있다.
스토리지 장치(340)는 반도체 레이아웃 시뮬레이션 모듈(400)이 웨이퍼 이미지를 추론(또는 예측 또는 생성)하는데 필요한 이미지들을 저장할 수 있다. 스토리지 장치(340)에 저장된 이미지들은 메모리(320)에 로드되어 반도체 레이아웃 시뮬레이션 모듈(400)의 추론(또는 예측 또는 생성)에 사용될 수 있다.
모뎀(350)은 외부의 장치와 원격 통신을 제공할 수 있다. 모뎀(350)은 외부의 장치와 무선 또는 유선 통신을 수행할 수 있다. 모뎀(350)은 이더넷, 와이파이, LTE, 5G 모바일 이동 통신 등과 같은 다양한 통신 형태들 중 적어도 하나를 통해 외부의 장치와 통신할 수 있다. 모뎀(350)은 외부의 장치, 예를 들어 데이터베이스로부터 반도체 레이아웃 시뮬레이션 모듈(400)이 웨이퍼 이미지를 추론(또는 예측 또는 생성)하는데 필요한 이미지들을 수신할 수 있다. 모뎀(350)은 수신된 이미지들을 메모리(320)에 로드할 수 있다.
사용자 인터페이스들(360)은 사용자로부터 정보를 수신하고, 그리고 사용자에게 정보를 제공할 수 있다. 사용자 인터페이스들(360)은 디스플레이(361), 스피커(362) 등과 같은 적어도 하나의 사용자 출력 인터페이스, 그리고 마우스(363)(mouse), 키보드(364), 터치 입력 장치(365) 등과 같은 적어도 하나의 사용자 입력 인터페이스를 포함할 수 있다.
반도체 레이아웃 시뮬레이션 모듈(400)의 명령들(또는 코드들)은 모뎀(350)을 통해 수신되어 스토리지 장치(340)에 저장될 수 있다. 반도체 레이아웃 시뮬레이션 모듈(400)의 명령들(또는 코드들)은 착탈식 스토리지 장치에 저장되고 그리고 전자 장치(300)에 결합될 수 있다. 반도체 레이아웃 시뮬레이션 모듈(400)의 명령들(또는 코드들)은 스토리지 장치(340)로부터 랜덤 액세스 메모리(320)로 로드되어 실행될 수 있다.
반도체 레이아웃 시뮬레이션 모듈(400)은 웨이퍼 이미지 생성기(410)를 포함할 수 있다. 웨이퍼 이미지 생성기(410)는 도 2, 도 3 및 도 4를 참조하여 설명된 웨이퍼 이미지 생성기(210)와 동일하게, 다채널 이미지들(CI[1:n])로부터 웨이퍼 이미지를 생성할 수 있다. 예를 들어, 전자 장치(100)에서 학습이 완료된 웨이퍼 이미지 생성기(210)가 반도체 레이아웃 시뮬레이션 모듈(400)에 포함될 수 있다. 도 4를 참조하여 설명된 바와 같이, 다채널 이미지들(CI[1:n])은 목표 레이아웃 이미지(TLI), 목표 하부 레이아웃 이미지(TULI), 목표 제조 장치 정보 이미지(TMDI) 및 목표 밀도 이미지(TDI)를 포함할 수 있다.
도 6은 도 5의 전자 장치(300)의 동작 방법의 예를 보여준다. 도 5 및 도 6을 참조하면, S210 단계에서, 프로세서들(310)은 다채널 이미지들(CI[1:n])을 수신할 수 있다. 예를 들어, 프로세서들(310)은 다채널 이미지들(CI[1:n])을 메모리(320)로부터 수신할 수 있다.
S220 단계에서, 프로세서들(310)은 다채널 이미지들(CI[1:n])을 반도체 레이아웃 시뮬레이션 모듈(400)의 웨이퍼 이미지 생성기(410)에 입력하여 웨이퍼 이미지(WI)를 생성할 수 있다.
S230 단계에서, 프로세서들(310)은 웨이퍼 이미지(WI)가 수용 가능한지 판단할 수 있다. 예를 들어, 웨이퍼 이미지(WI)에 결함이 존재하거나 또는 웨이퍼 이미지(WI) 상의 패턴들의 형태들이 원본 레이아웃 이미지의 패턴들의 형태들과 다를 때(예를 들어, 원본 레이아웃 이미지의 패턴들의 형태들과 웨이퍼 이미지(WI) 상의 패턴들의 형태들의 차이가 문턱값보다 클 때), 웨이퍼 이미지(WI)는 수용 불가능할 수 있다. 웨이퍼 이미지(WI)가 수용 불가능한 것으로 판단되면, S240 단계에서, 프로세서들(310)은 다채널 이미지들(CI[1:n]) 중에서 레이아웃 이미지를 수정할 수 있다.
예를 들어, 프로세서(310)는 패턴들 또는 공간들을 세그먼트들로 분할하고, 그리고 세그먼트들 각각의 위치를 조절할 수 있다. 패턴들 또는 공간들의 경계선들이 교차하는 엣지에서 세그먼트들이 구분될 수 있다.
예를 들어, 웨이퍼 이미지(WI)에 결함이 존재하지 않거나 또는 웨이퍼 이미지(WI) 상의 패턴들의 형태들이 원본 레이아웃 이미지의 패턴들의 형태들과 유사할 때(예를 들어, 원본 레이아웃 이미지의 패턴들의 형태들과 웨이퍼 이미지(WI) 상의 패턴들의 형태들의 차이가 문턱값 이하일 때), 웨이퍼 이미지(WI)는 수용 가능할 수 있다. 웨이퍼 이미지(WI)가 수용 가능한 것으로 판단되면, S250 단계에서, 프로세서들(310)은 현재의 레이아웃 이미지를 최종 레이아웃 이미지로 확정할 수 있다.
본 기재의 실시 예들에 따르면, 현재 레이어의 목표 레이아웃 이미지뿐 아니라, 하부 레이어의 영향을 반영하는 목표 하부 레이아웃 이미지, 원거리 영향을 목표 밀도 이미지, 그리고 반도체 제조 장치의 위치에 따른 영향을 반영하는 목표 제조 장치 정보 이미지가 반영된다. 따라서, 웨이퍼 이미지가 더 정확하게 추론될 수 있다. 또한, 본 기재의 실시 예들에 따르면, OPC 및 PPC를 구별하지 않고, 레이아웃 이미지로부터 웨이퍼 이미지가 추론(또는 예측 또는 생성)된다. 따라서, 추론 시간이 감소할 수 있다.
도 7은 본 기재의 실시 예에 따른 전자 장치(500)를 보여주는 블록도이다. 도 7을 참조하면, 전자 장치(500)는 프로세서들(510), 랜덤 액세스 메모리(520), 장치 드라이버(530), 스토리지 장치(540), 모뎀(550), 그리고 사용자 인터페이스들(560)을 포함할 수 있다.
프로세서들(510)은, 예를 들어, 중앙 프로세싱 유닛(511)(CPU), 응용 프로세서(AP) 등과 같은 적어도 하나의 범용 프로세서를 포함할 수 있다. 프로세서들(510)은 또한 뉴럴 프로세싱 유닛(513), 뉴로모픽 프로세서(514), 그래픽 프로세싱 유닛(515)(GPU) 등과 같은 적어도 하나의 특수 목적 프로세서를 포함할 수 있다. 프로세서들(510)은 두 개 이상의 동일한 종류의 프로세서들을 포함할 수 있다. 프로세서들(510) 중 적어도 하나는 반도체 레이아웃 시뮬레이션 모듈(600)을 구동할 수 있다. 예를 들어, 반도체 레이아웃 시뮬레이션 모듈(600)은 프로세서들(510) 중 적어도 하나에 의해 실행되는 명령들(또는 코드들)의 형태로 구현될 수 있다. 이때, 적어도 하나의 프로세서는 반도체 레이아웃 시뮬레이션 모듈(600)의 명령들(또는 코드들)을 랜덤 액세스 메모리(520)에 로드할 수 있다. 프로세서들(510)은 도 1을 참조하여 설명된 프로세서들(110)과 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
랜덤 액세스 메모리(520)는 프로세서들(510)의 동작 메모리로 사용되고, 전자 장치(500)의 주 메모리 또는 시스템 메모리로 사용될 수 있다. 랜덤 액세스 메모리(520)는 반도체 레이아웃 시뮬레이션 모듈(600)의 학습에 필요한 이미지들을 저장할 수 있다. 예를 들어, 랜덤 액세스 메모리(520)는 스토리지 장치(540)로부터 또는 외부의 장치(예를 들어, 데이터베이스)로부터 모뎀(550)을 통해 이미지들을 수신할 수 있다. 랜덤 액세스 메모리(520)는 도 1을 참조하여 설명된 랜덤 액세스 메모리(120)와 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
장치 드라이버(530)는 프로세서들(510)의 요청에 따라 스토리지 장치(540), 모뎀(550), 사용자 인터페이스들(560) 등과 같은 주변 장치들을 제어할 수 있다. 장치 드라이버(530)는 도 1을 참조하여 설명된 장치 드라이버(130)와 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
스토리지 장치(540)는 반도체 레이아웃 시뮬레이션 모듈(600)의 학습에 필요한 이미지들을 저장할 수 있다. 스토리지 장치(540)에 저장된 이미지들은 메모리(520)에 로드되어 반도체 레이아웃 시뮬레이션 모듈(600)의 학습에 사용될 수 있다. 스토리지 장치(540)는 도 1을 참조하여 설명된 스토리지 장치(140)와 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
모뎀(550)은 외부의 장치와 원격 통신을 제공할 수 있다. 모뎀(550)은 외부의 장치, 예를 들어 데이터베이스로부터 반도체 레이아웃 시뮬레이션 모듈(600)의 학습에 필요한 이미지들을 수신할 수 있다. 모뎀(550)은 수신된 이미지들을 메모리(520)에 로드할 수 있다. 모뎀(550)은 도 1을 참조하여 설명된 모뎀(150)과 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
사용자 인터페이스들(560)은 사용자로부터 정보를 수신하고, 그리고 사용자에게 정보를 제공할 수 있다. 사용자 인터페이스들(560)은 디스플레이(561), 스피커(562) 등과 같은 적어도 하나의 사용자 출력 인터페이스, 그리고 마우스(563)(mouse), 키보드(564), 터치 입력 장치(565) 등과 같은 적어도 하나의 사용자 입력 인터페이스를 포함할 수 있다. 사용자 인터페이스들(560)은 도 1을 참조하여 설명된 사용자 인터페이스들(160)과 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
반도체 레이아웃 시뮬레이션 모듈(600)은 레이아웃 이미지 생성기(610), 레이아웃 이미지 판별기(620), 그리고 갱신기(630)를 포함할 수 있다. 레이아웃 이미지 생성기(610)는 웨이퍼 이미지(예를 들어, 웨이퍼의 SEM(Scanning Electron Microscope) 이미지, 또는 웨이퍼 상에 형성하고자 하는 반도체 패턴들의 목표 이미지에 대응하는 OPC 및 PPC가 적용되지 않은 원본 레이아웃 이미지)로부터, 웨이퍼 이미지의 제조를 위해 OPC 및 PPC가 적용된 수정 레이아웃 이미지를 생성하도록 학습될 수 있다.
레이아웃 이미지 판별기(620)는 반도체 집적 회로의 제조를 위한 레이아읏 이미지(예를 들어, 목표 레이아웃 이미지) 및 레이아웃 이미지 생성기(610)에 의해 생성된 레이아웃 이미지 중에서 어느 것이 진짜이고 어느 것이 가짜인지 판별할 수 있다. 갱신기(630)는 레이아웃 이미지 판별기(620)의 판별 결과에 따라 레이아웃 이미지 생성기(610) 및 레이아웃 이미지 판별기(620)를 학습시킬 수 있다.
예시적으로, 레이아웃 이미지 생성기(610), 레이아웃 이미지 판별기(620), 그리고 갱신기(630)는 GAN(Generative Adversarial Network) 또는 CGAN(Conditional GAN)에 기반하여 구현될 수 있다. 예시적으로, 레이아웃 이미지 생성기(610), 레이아웃 이미지 판별기(620), 그리고 갱신기(630)는 메모리(520)에 저장된 이미지들에 기반하여 학습을 수행할 수 있다.
도 8은 반도체 레이아웃 시뮬레이션 모듈(600)의 예를 더 상세히 보여준다. 도 7 및 도 8을 참조하면, 반도체 레이아웃 시뮬레이션 모듈(600)은 메모리(520)로부터 다채널 이미지들(CI[1:n]) 및 제1 레이아웃 이미지(LI1)를 수신할 수 있다. 제1 레이아웃 이미지(LI1)는 반도체 집적 회로의 제조를 위한 수정 레이아읏 이미지(예를 들어, 원본 레이아웃 이미지에 OPC 및 PPC가 적용된 레이아웃 이미지)일 수 있다. 예를 들어, 제1 레이아웃 이미지(LI1)는 수정 레이아웃 이미지로부터 크롭된 일부분일 수 있다.
다채널 이미지들(CI[1:n])은 복수의 이미지들을 포함할 수 있다. 다채널 이미지들(CI[1:n])은 제1 내지 제n 이미지들을 포함할 수 있다. 제1 내지 제n 이미지들의 각각은 반도체 집적 회로의 제조 과정에 영향을 주는 다양한 요인들의 영향들을 포함할 수 있다. 다채널 이미지들(CI[1:n]) 중 하나는 반도체 집적 회로의 웨이퍼 이미지를 포함할 수 있다. 웨이퍼 이미지는 원본 웨이퍼 이미지로부터 크롭된 일부분, 예를 들어 제1 레이아웃 이미지(LI1)에 대응하는 부분일 수 있다.
레이아웃 이미지 생성기(610)는 다채널 이미지들(CI[1:n])로부터 제2 레이아웃 이미지(LI2)를 생성할 수 있다. 예를 들어, 레이아웃 이미지 생성기(610)는 내부 파라미터들을 이용하여 다채널 이미지들(CI[1:n])로부터 제2 레이아웃 이미지(LI2)를 생성할 수 있다.
레이아웃 이미지 판별기(620)는 제1 레이아웃 이미지(LI1) 및 제2 레이아웃 이미지(LI2)를 수신할 수 있다. 레이아웃 이미지 판별기(620)는 제1 레이아웃 이미지(LI1) 및 제2 레이아웃 이미지(LI2) 중 어느 것이 진짜 레이아웃 이미지이고 어느 것이 가짜 레이아웃 이미지인지 판별할 수 있다. 예를 들어, 레이아웃 이미지 판별기(620)는 내부 파라미터들을 이용하여 제1 레이아웃 이미지(LI1) 및 제2 레이아웃 이미지(LI2) 중 어느 것이 진짜 레이아웃 이미지이고 어느 것이 가짜 레이아웃 이미지인지 판별할 수 있다.
갱신기(630)는 레이아웃 이미지 판별기(620)의 판별 결과를 수신할 수 있다. 갱신기(630)는 판별 결과에 기반하여 레이아웃 이미지 생성기(610) 및 레이아웃 이미지 판별기(620)를 각각 동시에 또는 순차적으로 학습시킬 수 있다. 예를 들어, 갱신기(630)는 레이아웃 이미지 생성기(610)의 내부 파라미터들을 갱신함으로써 레이아웃 이미지 생성기(610)를 학습시킬 수 있다. 갱신기(630)는 레이아웃 이미지 판별기(620)의 내부 파라미터들을 갱신함으로써 레이아웃 이미지 판별기(620)를 학습시킬 수 있다.
도 9는 프로세서들(510)에 의해 실행되는 반도체 레이아웃 시뮬레이션 모듈(600)의 동작 방법을 보여준다. 도 7, 도 8 및 도 9를 참조하면, S310 단계에서, 프로세서들(510)은 다채널 이미지들(CI[1:n]) 및 제1 레이아웃 이미지(LI1)를 수신할 수 있다. 예를 들어, 프로세서들(510)은 다채널 이미지들(CI[1:n]) 및 제1 레이아웃 이미지(LI1)를 메모리(520)로부터 수신할 수 있다.
S320 단계에서, 프로세서들(510)은 다채널 이미지들(CI[1:n])을 반도체 레이아웃 시뮬레이션 모듈(600)의 레이아웃 이미지 생성기(610)에 입력하여 제2 레이아웃 이미지(LI2)를 생성할 수 있다.
S330 단계에서, 프로세서들(510)은 제1 레이아웃 이미지(LI1) 및 제2 레이아웃 이미지(LI2)를 반도체 레이아웃 시뮬레이션 모듈(600)의 레이아웃 이미지 판별기(620)에 입력하여, 진짜 이미지 및 거짓 이미지를 판별할 수 있다.
S340 단계에서, 프로세서들(510)은 반도체 레이아웃 시뮬레이션 모듈(600)의 갱신기(630)를 실행하여, 판별 결과에 기반하여 레이아웃 이미지 생성기(610) 그리고/또는 레이아웃 이미지 판별기(620)를 갱신할 수 있다. 예를 들어, 갱신기(230)는 판별 결과가 올바른지 올바르지 않은지에 기반하여 손실 함수를 계산할 수 있다. 갱신기(230)는 손실 함수에 기반하여 웨이퍼 이미지 생성기(210) 그리고/또는 웨이퍼 이미지 판별기(220)를 갱신할 수 있다.
예시적으로, 전자 장치(500)의 프로세서들(510)은 웨이퍼 이미지 및 그에 대응하는 다채널 이미지들(CI[1:n])을 각각 포함하는 세트들을 이용하여 반도체 레이아웃 시뮬레이션 모듈(600)을 반복적으로 학습시킬 수 있다. 전자 장치(500)의 프로세서들(510)은 정해진 수의 이미지들의 세트들에 기반한 판별 결과들을 수집하고, 그리고 수집된 판별 결과들에 기반하여 레이아웃 이미지 생성기(610) 그리고/또는 레이아웃 이미지 판별기(620)의 내부 파라미터들을 갱신할 수 있다.
도 10은 다채널 이미지들(CI[1:n])의 예들을 보여준다. 예시적으로, 다채널 이미지들(CI[1:n])은 4개의 이미지들을 포함할 수 있으며, 'n'은 4일 수 있다. 그러나 'n'의 값은 한정되지 않는다. 도 8 및 도 10을 참조하면, 다채널 이미지들(CI[1:4])은 웨이퍼 이미지(WI), 하부 레이아웃 이미지(ULI), 제조 장치 정보 이미지(MDI) 및 밀도 이미지(DI)로부터 크롭될 수 있다.
반도체 집적 회로는 순차적으로 적층되는 복수의 레이어들을 포함할 수 있다. 웨이퍼 이미지(WI)는 현재 레이어의 제조를 위한 레이아웃 이미지(원본 레이아웃 이미지 또는 수정 레이아웃 이미지)에 기반하여 제조된 반도체 집적 회로의 웨이퍼 이미지일 수 있다. 웨이퍼 이미지(WI) 중에서 기계 학습을 위한 목표 웨이퍼 이미지(TWI)가 다채널 이미지들(CI[1:4]) 중 하나로 선택될 수 있다.
하부 레이아웃 이미지(ULI)는 하부 레이어의 레이아웃 이미지(예를 들어, 하부 레이어의 원본 레이아웃 이미지 또는 하부 레이어의 SEM 이미지)일 수 있다. 하부 레이아웃 이미지(ULI) 중에서 기계 학습을 위한 목표 하부 레이아웃 이미지(TULI)가 다채널 이미지들(CI[1:4]) 중 하나로 선택될 수 있다. 하부 레이아웃 이미지(ULI) 상의 목표 하부 레이아웃 이미지(TULI)의 위치는 웨이퍼 이미지(WI) 상의 목표 웨이퍼 이미지(TWI)의 위치에 대응(예를 들어, 동일)할 수 있다.
제조 장치 정보 이미지(MDI)는 반도체 집적 회로의 제조 장치가 반도체 집적 회로의 제조 과정에 영향을 주는 정보를 포함할 수 있다. 예를 들어, 웨이퍼 이미지(WI) 상의 위치에 따라 서로 다른 영향을 주는 반도체 제조 장치의 영향의 정보가 제조 장치 정보 이미지(MDI)에 포함될 수 있다.
예를 들어, EUV(Extreme UltraViolet) 기반의 반도체 제조 장치의 슬릿(Slit)은 웨이퍼 이미지(WI) 상의 위치에 따라 반도체 집적 회로에 서로 다른 영향을 줄 수 있다. 제조 장치 정보 이미지(MDI)는 슬릿의 영향 정보 이미지를 포함할 수 있다.
제조 장치 정보 이미지(MDI) 중에서 기계 학습을 위한 목표 제조 장치 정보 이미지(TMDI)가 다채널 이미지들(CI[1:4]) 중 하나로 선택될 수 있다. 제조 장치 정보 이미지(MDI) 상의 목표 제조 장치 정보 이미지(TMDI)의 위치는 웨이퍼 이미지(WI) 상의 목표 웨이퍼 이미지(TWI)의 위치에 대응(예를 들어, 동일)할 수 있다. 예를 들어, 목표 제조 장치 정보 이미지(TMDI)의 픽셀들의 값들은 제1 방향을 따라 동일하고, 그리고 제2 방향을 따라 연속적으로(또는 순차적으로) 일관되게 증가 또는 감소할 수 있다.
밀도 이미지(DI)는 웨이퍼 이미지(WI)로부터 생성될 수 있다. 밀도 이미지(DI)는 웨이퍼 이미지(WI) 상의 패턴들의 밀도 또는 공간들의 밀도에 대한 정보를 포함할 수 있다. 예를 들어, 밀도 이미지(DI)는 웨이퍼 이미지(WI)에 대해 가우시안 콘볼루션(Gaussian convolution) 또는 블러링을 수행함으로써 생성될 수 있다. 가우시안 콘볼루션은 가우시안 분포에 대응하는 값들을 갖는 2차원 필터와 웨이퍼 이미지(WI)의 콘볼루션 연산을 수행하는 것을 포함할 수 있다.
밀도 이미지(DI) 중에서 관심 범위(ROI)(Range of Interest)가 선택될 수 있다. 관심 범위(ROI)는 목표 웨이퍼 이미지(TWI)에 대응하는 부분의 제조 시에 목표 웨이퍼 이미지(TWI)에 영향을 줄 것으로 여겨지는 영역들을 포함할 수 있다. 밀도 이미지(DI) 상의 관심 범위(ROI)의 위치는 웨이퍼 이미지(WI) 상의 목표 웨이퍼 이미지(TWI)의 위치에 대응(예를 들어, 포함)할 수 있다. 관심 범위(ROI)의 사이즈는 목표 웨이퍼 이미지(TWI)의 사이즈보다 클 수 있다.
관심 범위(ROI)의 사이즈는 목표 웨이퍼 이미지(TWI)대응하는 사이즈로 다운스케일(DS)될 수 있다. 다운스케일된 목표 밀도 이미지(TDI)는 다채널 이미지들(CI[1:4]) 중 하나로 선택될 수 있다. 예시적으로, 다운스케일(DS)은 생략될 수 있다.
본 기재의 실시 예들에 따르면, 제2 레이아웃 이미지(LI2)를 추론하기 위한 학습 시에, 현재 레이어의 목표 웨이퍼 이미지(TWI)뿐 아니라, 하부 레이어의 영향을 반영하는 목표 하부 레이아웃 이미지(TULI), 원거리(long range) 영향을 반영하는 목표 밀도 이미지, 그리고 반도체 제조 장치의 위치에 따른 영향을 반영하는 목표 제조 장치 정보 이미지(TMDI)가 반영된다. 따라서, 제2 레이아웃 이미지(LI2)가 더 정확하게 추론(또는 예측)될 수 있다.
또한, 본 기재의 실시 예들에 따르면, OPC 및 PPC를 구별하지 않고, 웨이퍼 이미지(WI)로부터 제2 레이아웃 이미지(LI2)를 추론(또는 예측 또는 생성)하는 학습이 수행될 수 있다. 따라서, 힉습 시간이 감소할 수 있다.
도 11은 본 기재의 실시 예에 따른 전자 장치(700)를 보여주는 블록도이다. 도 11을 참조하면, 전자 장치(700)는 프로세서들(710), 랜덤 액세스 메모리(720), 장치 드라이버(730), 스토리지 장치(740), 모뎀(750), 그리고 사용자 인터페이스들(760)을 포함할 수 있다.
프로세서들(710)은, 예를 들어, 중앙 프로세싱 유닛(711)(CPU), 응용 프로세서(AP) 등과 같은 적어도 하나의 범용 프로세서를 포함할 수 있다. 프로세서들(710)은 또한 뉴럴 프로세싱 유닛(713), 뉴로모픽 프로세서(714), 그래픽 프로세싱 유닛(715)(GPU) 등과 같은 적어도 하나의 특수 목적 프로세서를 포함할 수 있다. 프로세서들(710)은 두 개 이상의 동일한 종류의 프로세서들을 포함할 수 있다. 프로세서들(710) 중 적어도 하나는 반도체 레이아웃 시뮬레이션 모듈(800)을 구동할 수 있다. 이때, 적어도 하나의 프로세서는 반도체 레이아웃 시뮬레이션 모듈(800)의 명령들(또는 코드들)을 랜덤 액세스 메모리(720)에 로드할 수 있다. 프로세서들(710)은 도 5를 참조하여 설명된 프로세서들(310)과 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
랜덤 액세스 메모리(720)는 프로세서들(710)의 동작 메모리로 사용되고, 전자 장치(700)의 주 메모리 또는 시스템 메모리로 사용될 수 있다. 랜덤 액세스 메모리(720)는 반도체 레이아웃 시뮬레이션 모듈(800)이 레이아웃 이미지를 추론(또는 예측 또는 생성)하는데 필요한 이미지들을 저장할 수 있다. 예를 들어, 랜덤 액세스 메모리(720)는 스토리지 장치(540)로부터 또는 외부의 장치(예를 들어, 데이터베이스)로부터 모뎀(750)을 통해 이미지들을 수신할 수 있다. 랜덤 액세스 메모리(720)는 도 5를 참조하여 설명된 랜덤 액세스 메모리(320)와 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
장치 드라이버(730)는 프로세서들(710)의 요청에 따라 스토리지 장치(740), 모뎀(750), 사용자 인터페이스들(760) 등과 같은 주변 장치들을 제어할 수 있다. 장치 드라이버(730)는 도 5를 참조하여 설명된 장치 드라이버(330)와 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
스토리지 장치(740)는 반도체 레이아웃 시뮬레이션 모듈(800)이 레이아웃 이미지를 추론(또는 예측 또는 생성)하는데 필요한 이미지들을 저장할 수 있다. 스토리지 장치(740)에 저장된 이미지들은 메모리(720)에 로드되어 반도체 레이아웃 시뮬레이션 모듈(800)의 추론(또는 예측 또는 생성)에 사용될 수 있다. 스토리지 장치(740)는 도 5를 참조하여 설명된 스토리지 장치(340)와 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
모뎀(750)은 외부의 장치와 원격 통신을 제공할 수 있다. 모뎀(750)은 외부의 장치, 예를 들어 데이터베이스로부터 반도체 레이아웃 시뮬레이션 모듈(800)이 레이아웃 이미지를 추론(또는 예측 또는 생성)하는데 필요한 이미지들을 수신할 수 있다. 모뎀(750)은 수신된 이미지들을 메모리(720)에 로드할 수 있다. 모뎀(750)은 도 5를 참조하여 설명된 모뎀(350)과 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
사용자 인터페이스들(760)은 사용자로부터 정보를 수신하고, 그리고 사용자에게 정보를 제공할 수 있다. 사용자 인터페이스들(760)은 디스플레이(761), 스피커(762) 등과 같은 적어도 하나의 사용자 출력 인터페이스, 그리고 마우스(763), 키보드(764), 터치 입력 장치(765) 등과 같은 적어도 하나의 사용자 입력 인터페이스를 포함할 수 있다. 사용자 인터페이스들(760)은 도 5를 참조하여 설명된 사용자 인터페이스들(160)과 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
반도체 레이아웃 시뮬레이션 모듈(800)의 명령들(또는 코드들)은 모뎀(750)을 통해 수신되어 스토리지 장치(740)에 저장될 수 있다. 반도체 레이아웃 시뮬레이션 모듈(800)의 명령들(또는 코드들)은 착탈식 스토리지 장치에 저장되고 그리고 전자 장치(700)에 결합될 수 있다. 반도체 레이아웃 시뮬레이션 모듈(800)의 명령들(또는 코드들)은 스토리지 장치(740)로부터 랜덤 액세스 메모리(720)로 로드되어 실행될 수 있다.
반도체 레이아웃 시뮬레이션 모듈(800)은 레이아웃 이미지 생성기(810)를 포함할 수 있다. 레이아웃 이미지 생성기(810)는 도 8, 도 9 및 도 10을 참조하여 설명된 레이아웃 이미지 생성기(610)와 동일하게, 다채널 이미지들(CI[1:n])로부터 레이아웃 이미지를 생성할 수 있다. 예를 들어, 전자 장치(500)에서 학습이 완료된 레이아웃 이미지 생성기(610)가 반도체 레이아웃 시뮬레이션 모듈(800)에 포함될 수 있다. 도 10을 참조하여 설명된 바와 같이, 다채널 이미지들(CI[1:n])은 목표 웨이퍼 이미지(TWI), 목표 하부 레이아웃 이미지(TULI), 목표 제조 장치 정보 이미지(TMDI) 및 목표 밀도 이미지(TDI)를 포함할 수 있다.
도 12는 도 11의 전자 장치(700)의 동작 방법의 예를 보여준다. 도 11 및 도 12를 참조하면, S410 단계에서, 프로세서들(710)은 다채널 이미지들(CI[1:n])을 수신할 수 있다. 예를 들어, 프로세서들(710)은 다채널 이미지들(CI[1:n])을 메모리(720)로부터 수신할 수 있다.
S420 단계에서, 프로세서들(710)은 다채널 이미지들(CI[1:n])을 반도체 레이아웃 시뮬레이션 모듈(800)의 레이아웃 이미지 생성기(810)에 입력하여 레이아웃 이미지(LI)를 생성할 수 있다.
S430 단계에서, 프로세서들(710)은 생성된 레이아웃 이미지(LI)를 최종 레이아웃 이미지로 확정할 수 있다.
본 기재의 실시 예들에 따르면, 현재 레이어의 목표 웨이퍼 이미지뿐 아니라, 하부 레이어의 영향을 반영하는 목표 하부 레이아웃 이미지, 원거리 영향을 반영하는 목표 밀도 이미지, 그리고 반도체 제조 장치의 위치에 따른 영향을 반영하는 목표 제조 장치 정보 이미지가 반영된다. 따라서, 레이아웃 이미지(LI)가 더 정확하게 추론될 수 있다. 또한, 본 기재의 실시 예들에 따르면, OPC 및 PPC를 구별하지 않고, 웨이퍼 이미지로부터 레이아웃 이미지가 추론(또는 예측 또는 생성)된다. 따라서, 추론 시간이 감소할 수 있다.
도 13은 본 기재의 실시 예에 따른 전자 장치(900)를 보여주는 블록도이다. 도 13을 참조하면, 전자 장치(900)는 프로세서들(910), 랜덤 액세스 메모리(920), 장치 드라이버(930), 스토리지 장치(940), 모뎀(950), 그리고 사용자 인터페이스들(960)을 포함할 수 있다.
프로세서들(910)은, 예를 들어, 중앙 프로세싱 유닛(911)(CPU), 응용 프로세서(AP) 등과 같은 적어도 하나의 범용 프로세서를 포함할 수 있다. 프로세서들(910)은 또한 뉴럴 프로세싱 유닛(913), 뉴로모픽 프로세서(914), 그래픽 프로세싱 유닛(915)(GPU) 등과 같은 적어도 하나의 특수 목적 프로세서를 포함할 수 있다. 프로세서들(910)은 두 개 이상의 동일한 종류의 프로세서들을 포함할 수 있다. 프로세서들(910) 중 적어도 하나는 반도체 레이아웃 시뮬레이션 모듈(1000)을 구동할 수 있다. 이때, 적어도 하나의 프로세서는 반도체 레이아웃 시뮬레이션 모듈(1000)의 명령들(또는 코드들)을 랜덤 액세스 메모리(920)에 로드할 수 있다. 프로세서들(910)은 도 5를 참조하여 설명된 프로세서들(310)과 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
랜덤 액세스 메모리(920)는 프로세서들(910)의 동작 메모리로 사용되고, 전자 장치(900)의 주 메모리 또는 시스템 메모리로 사용될 수 있다. 랜덤 액세스 메모리(920)는 반도체 레이아웃 시뮬레이션 모듈(1000)이 레이아웃 이미지 그리고/또는 웨이퍼 이미지를 추론(또는 예측 또는 생성)하는데 필요한 이미지들을 저장할 수 있다. 예를 들어, 랜덤 액세스 메모리(920)는 스토리지 장치(540)로부터 또는 외부의 장치(예를 들어, 데이터베이스)로부터 모뎀(950)을 통해 이미지들을 수신할 수 있다. 랜덤 액세스 메모리(920)는 도 5를 참조하여 설명된 랜덤 액세스 메모리(320)와 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
장치 드라이버(930)는 프로세서들(910)의 요청에 따라 스토리지 장치(940), 모뎀(950), 사용자 인터페이스들(960) 등과 같은 주변 장치들을 제어할 수 있다. 장치 드라이버(930)는 도 5를 참조하여 설명된 장치 드라이버(330)와 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
스토리지 장치(940)는 반도체 레이아웃 시뮬레이션 모듈(1000)이 레이아웃 이미지 그리고/또는 웨이퍼 이미지를 추론(또는 예측 또는 생성)하는데 필요한 이미지들을 저장할 수 있다. 스토리지 장치(940)에 저장된 이미지들은 메모리(920)에 로드되어 반도체 레이아웃 시뮬레이션 모듈(1000)의 추론(또는 예측 또는 생성)에 사용될 수 있다. 스토리지 장치(940)는 도 5를 참조하여 설명된 스토리지 장치(340)와 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
모뎀(950)은 외부의 장치와 원격 통신을 제공할 수 있다. 모뎀(950)은 외부의 장치, 예를 들어 데이터베이스로부터 반도체 레이아웃 시뮬레이션 모듈(1000)의 추론(또는 예측 또는 생성)에 필요한 이미지들을 수신할 수 있다. 모뎀(950)은 수신된 이미지들을 메모리(920)에 로드할 수 있다. 모뎀(950)은 도 5를 참조하여 설명된 모뎀(950)과 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
사용자 인터페이스들(960)은 사용자로부터 정보를 수신하고, 그리고 사용자에게 정보를 제공할 수 있다. 사용자 인터페이스들(960)은 디스플레이(961), 스피커(962) 등과 같은 적어도 하나의 사용자 출력 인터페이스, 그리고 마우스(963), 키보드(964), 터치 입력 장치(965) 등과 같은 적어도 하나의 사용자 입력 인터페이스를 포함할 수 있다. 사용자 인터페이스들(960)은 도 5를 참조하여 설명된 사용자 인터페이스들(360)과 유사하게(또는 동일하게) 동작하고 그리고/또는 구성될 수 있다.
반도체 레이아웃 시뮬레이션 모듈(1000)의 명령들(또는 코드들)은 모뎀(950)을 통해 수신되어 스토리지 장치(940)에 저장될 수 있다. 반도체 레이아웃 시뮬레이션 모듈(1000)의 명령들(또는 코드들)은 착탈식 스토리지 장치에 저장되고 그리고 전자 장치(900)에 결합될 수 있다. 반도체 레이아웃 시뮬레이션 모듈(1000)의 명령들(또는 코드들)은 스토리지 장치(940)로부터 랜덤 액세스 메모리(920)로 로드되어 실행될 수 있다. 반도체 레이아웃 시뮬레이션 모듈(1000)은 레이아웃 이미지 생성기(1010) 및 웨이퍼 이미지 생성기(1020)를 포함할 수 있다.
레이아웃 이미지 생성기(810)는 도 8, 도 9 및 도 10을 참조하여 설명된 레이아웃 이미지 생성기(610)와 동일하게, 제1 다채널 이미지들(CI1[1:n])(도 14 참조)로부터 레이아웃 이미지를 생성할 수 있다. 예를 들어, 전자 장치(500)에서 학습이 완료된 레이아웃 이미지 생성기(610)가 반도체 레이아웃 시뮬레이션 모듈(1000)에 레이아웃 이미지 생성기(1010)로 포함될 수 있다. 도 10을 참조하여 설명된 바와 같이, 제1 다채널 이미지들(CI1[1:n])은 목표 웨이퍼 이미지(TWI), 목표 하부 레이아웃 이미지(TULI), 목표 제조 장치 정보 이미지(TMDI) 및 목표 밀도 이미지(TDI)를 포함할 수 있다.
웨이퍼 이미지 생성기(1020)는 도 2, 도 3 및 도 4를 참조하여 설명된 웨이퍼 이미지 생성기(210)와 동일하게, 제2 다채널 이미지들(CI2[1:n])(도 14 참조)로부터 웨이퍼 이미지를 생성할 수 있다. 예를 들어, 전자 장치(100)에서 학습이 완료된 웨이퍼 이미지 생성기(210)가 반도체 레이아웃 시뮬레이션 모듈(1000)에 웨이퍼 이미지 생성기(1020)로 포함될 수 있다. 도 4를 참조하여 설명된 바와 같이, 제2 다채널 이미지들(CI2[1:n])은 목표 레이아웃 이미지(TLI), 목표 하부 레이아웃 이미지(TULI), 목표 제조 장치 정보 이미지(TMDI) 및 목표 밀도 이미지(TDI)를 포함할 수 있다.
도 14는 도 13의 전자 장치(900)의 동작 방법의 예를 보여준다. 도 13 및 도 14를 참조하면, S510 단계에서, 프로세서들(910)은 제1 다채널 이미지들(CI1[1:n])을 수신할 수 있다. 예를 들어, 프로세서들(910)은 제1 다채널 이미지들(CI1[1:n])을 메모리(920)로부터 수신할 수 있다. 제1 다채널 이미지들(CI1[1:n])은 목표 웨이퍼 이미지, 목표 하부 레이아웃 이미지, 목표 제조 장치 정보 이미지, 그리고 목표 밀도 이미지를 포함할 수 있다. 예를 들어, 목표 웨이퍼 이미지는 원본 레이아웃 이미지로부터 크롭될 수 있다.
S520 단계에서, 프로세서들(910)은 제1 다채널 이미지들(CI1[1:n])을 반도체 레이아웃 시뮬레이션 모듈(1000)의 레이아웃 이미지 생성기(1010)에 입력하여 레이아웃 이미지(LI)를 생성할 수 있다. 레이아웃 이미지(LI)는 제1 다채널 이미지들(CI1[1:n])의 패턴들 그리고/또는 공간들의 형태들에 대응하는 반도체 패턴들을 반도체 웨이퍼 상에 제조하는데 적합하다고 레이아웃 이미지 생성기(1010)에 의해 추론(또는 예측 또는 생성)된 결과일 수 있다.
생성된 레이아웃 이미지(LI)는 제1 다채널 이미지들(CI1[1:n])에 포함된 목표 하부 레이아웃 이미지, 목표 제조 장치 정보 이미지, 그리고 목표 밀도 이미지와 함께 제2 다채널 이미지들(CI2[1:n])을 형성할 수 있다. 제2 다채널 이미지들(CI2[1:n])은 메모리(920)에 저장될 수 있다.
S530 단계에서, 프로세서들(910)은 제2 다채널 이미지들(CI2[1:n])을 반도체 레이아웃 시뮬레이션 모듈(1000)의 웨이퍼 이미지 생성기(1020)에 입력하여 웨이퍼 이미지(WI)를 생성할 수 있다. 웨이퍼 이미지(WI)는 레이아웃 이미지(LI)를 이용하여 반도체 패턴들을 반도체 웨이퍼 상에 제조할 때에 반도체 웨이퍼 상에 형성될 것으로 웨이퍼 이미지 생성기(1020)에 의해 추론(또는 예측 또는 생성)된 반도체 패턴들일 수 있다.
S540 단계에서, 프로세서들(910)은 웨이퍼 이미지(WI)가 수용 가능한지 판단할 수 있다. 예를 들어, 웨이퍼 이미지(WI)에 결함이 존재하거나 또는 웨이퍼 이미지(WI) 상의 패턴들의 형태들이 원본 레이아웃 이미지의 패턴들의 형태들과 다를 때(예를 들어, 원본 레이아웃 이미지의 패턴들의 형태들과 웨이퍼 이미지(WI) 상의 패턴들의 형태들의 차이가 문턱값보다 클 때), 웨이퍼 이미지(WI)는 수용 불가능할 수 있다. 웨이퍼 이미지(WI)가 수용 불가능한 것으로 판단되면, S550 단계에서, 프로세서들(910)은 제2 다채널 이미지들(CI2[1:n]) 중에서 레이아웃 이미지를 수정할 수 있다.
예를 들어, 프로세서(910)는 패턴들 또는 공간들을 세그먼트들로 분할하고, 그리고 세그먼트들 각각의 위치를 조절할 수 있다. 패턴들 또는 공간들의 경계선들이 교차하는 엣지에서 세그먼트들이 구분될 수 있다.
예를 들어, 웨이퍼 이미지(WI)에 결함이 존재하지 않거나 또는 웨이퍼 이미지(WI) 상의 패턴들의 형태들이 원본 레이아웃 이미지의 패턴들의 형태들과 유사할 때(예를 들어, 원본 레이아웃 이미지의 패턴들의 형태들과 웨이퍼 이미지(WI) 상의 패턴들의 형태들의 차이가 문턱값 이하일 때), 웨이퍼 이미지(WI)는 수용 가능할 수 있다. 웨이퍼 이미지(WI)가 수용 가능한 것으로 판단되면, S560 단계에서, 프로세서들(910)은 현재의 레이아웃 이미지(LI)를 최종 레이아웃 이미지로 확정할 수 있다.
도 15는 반도체 집적 회로(1200)를 제조하는 반도체 제조 시스템(1100)의 예를 보여준다. 도 15를 참조하면, 반도체 제조 시스템(1100)은 데이터베이스(1110), 시뮬레이션 장치(1120), 그리고 반도체 제조 장치들(1130)을 포함할 수 있다.
데이터베이스(1110)는 반도체 집적 회로(1200)의 제조를 위한 복수의 레이어들의 레이아웃 이미지들(LI), 제조 장치 정보 이미지(MDI), 그리고 복수의 레이어들에 대응하는 밀도 이미지들(DI)을 저장할 수 있다. 데이터베이스(1110)는 레이아웃 이미지들(LI), 제조 장치 정보 이미지(MDI), 그리고 밀도 이미지들(DI)을 시뮬레이션 장치(1120)에 제공할 수 있다.
시뮬레이션 장치(1120)는 데이터베이스(1110)로부터 레이아웃 이미지들(LI), 제조 장치 정보 이미지(MDI), 그리고 밀도 이미지들(DI)을 수신할 수 있다. 시뮬레이션 장치(1120)는 도 6, 도 12 그리고/또는 도 14를 참조하여 설명된 방법에 따라 복수의 레이어들에 대응하는 최종 레이아웃 이미지들(FLI)을 생성할 수 있다.
반도체 제조 장치들(1130)은 최종 레이아웃 이미지들(FLI)에 기반하여 반도체 집적 회로(1200)를 제조할 수 있다. 예를 들어, 반도체 제조 장치들(1130)은 노광, 식각, 증착, 세척, 베이킹(baking)을 위한 다양한 장치들을 포함할 수 있다.
상술된 실시 예들에서, 제1, 제2, 제3 등의 용어들을 사용하여 본 발명의 기술적 사상에 따른 구성 요소들이 설명되었다. 그러나 제1, 제2, 제3 등과 같은 용어들은 구성 요소들을 서로 구별하기 위해 사용되며, 본 발명을 한정하지 않는다. 예를 들어, 제1, 제2, 제3 등과 같은 용어들은 순서 또는 임의의 형태의 수치적 의미를 내포하지 않는다.
상술된 실시 예들에서, 블록들을 사용하여 본 발명의 실시 예들에 따른 구성 요소들이 참조되었다. 블록들은 IC (Integrated Circuit), ASIC (Application Specific IC), FPGA (Field Programmable Gate Array), CPLD (Complex Programmable Logic Device) 등과 같은 다양한 하드웨어 장치들, 하드웨어 장치들에서 구동되는 펌웨어, 응용과 같은 소프트웨어, 또는 하드웨어 장치와 소프트웨어가 조합된 형태로 구현될 수 있다. 또한, 블록들은 IC 내의 반도체 소자들로 구성되는 회로들 또는 IP(Intellectual Property)로 등록된 회로들을 포함할 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100, 300, 500, 700, 900: 전자 장치
200, 400, 600,800, 1000: 반도체 레이아웃 시뮬레이션 모듈
210, 410, 1020: 웨이퍼 이미지 생성기
220: 웨이퍼 이미지 판별기
230: 갱신기
610, 1010: 레이아웃 이미지 생성기
620: 레이아웃 이미지 판별기
630: 갱신기

Claims (20)

  1. 기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 전자 장치의 동작 방법에 있어서:
    상기 프로세서에 의해 실행되는 상기 반도체 레이아웃 시뮬레이션 모듈이 레이아웃 이미지를 수신하는 단계;
    최종 레이아웃 이미지에 기반하여 반도체 집적 회로를 제조하는 반도체 제조 장치의 제조 장치 정보 이미지 및 상기 레이아웃 이미지에 기반하여 웨이퍼 이미지를 추론하는 단계;
    상기 웨이퍼 이미지가 수용 가능하지 않으면, 상기 레이아웃 이미지를 수정하는 단계; 그리고
    상기 웨이퍼 이미지가 수용 가능하면, 상기 레이아웃 이미지를 최종 레이아웃 이미지로 확정하는 단계를 포함하는 동작 방법.
  2. 제1항에 있어서,
    상기 제조 장치 정보 이미지는 EUV(Extreme UltraViolet) 장치의 슬릿(slit)의 영향에 대한 정보를 포함하는 동작 방법.
  3. 제2항에 있어서,
    상기 제조 장치 정보 이미지의 픽셀들의 값들은 제1 방향을 따라 균일하고, 그리고 제2 방향을 따라 연속적으로 증가 또는 감소하는 동작 방법.
  4. 제1항에 있어서,
    상기 레이아웃 이미지는 현재 레이어 레이아웃 이미지 및 하부 레이어 레이아웃 이미지를 포함하는 동작 방법.
  5. 제1항에 있어서,
    상기 웨이퍼 이미지를 추론하는 단계는:
    상기 제조 장치 정보 이미지, 상기 레이아웃 이미지, 그리고 밀도 이미지에 기반하여 상기 웨이퍼 이미지를 추론하는 단계를 포함하고,
    상기 밀도 이미지는 상기 레이아웃 이미지를 포함하며 상기 레이아웃 이미지보다 넓은 영역의 패턴들의 밀도의 정보를 포함하는 동작 방법.
  6. 제5항에 있어서,
    상기 반도체 집적 회로의 전체 레이아웃에 대해 가우시안 콘볼루션을 수행하여 전체 밀도 이미지를 생성하는 단계; 그리고
    상기 전체 밀도 이미지에서 상기 레이아웃 이미지와 연관된 부분을 상기 밀도 이미지로 선택하는 단계를 더 포함하는 동작 방법.
  7. 제6항에 있어서,
    상기 레이아웃 이미지와 연관된 부분은 상기 밀도 이미지에 대응하는 부분을 포함하고, 그리고
    상기 레이아웃 이미지의 사이즈는 상기 레이아웃 이미지와 연관된 부분의 사이즈보다 작은 동작 방법.
  8. 제7항에 있어서,
    상기 전체 밀도 이미지에서 상기 레이아웃 이미지와 연관된 부분을 상기 밀도 이미지로 선택하는 단계는:
    상기 레이아웃 이미지와 연관된 부분을 다운스케일하여 상기 밀도 이미지를 생성하는 단계를 포함하는 동작 방법.
  9. 기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 전자 장치의 동작 방법에 있어서:
    상기 프로세서에 의해 실행되는 상기 반도체 레이아웃 시뮬레이션 모듈이 목표 웨이퍼 이미지를 수신하는 단계; 그리고
    밀도 이미지 및 상기 목표 웨이퍼 이미지에 기반하여 레이아웃 이미지를 추론하는 단계를 포함하고,
    상기 밀도 이미지는 상기 목표 웨이퍼 이미지를 포함하며 상기 목표 웨이퍼 이미지보다 넓은 영역의 패턴들의 밀도의 정보를 포함하는 동작 방법.
  10. 제9항에 있어서,
    상기 반도체 집적 회로의 전체 웨이퍼 이미지에 대해 가우시안 콘볼루션을 수행하여 전체 밀도 이미지를 생성하는 단계; 그리고
    상기 전체 밀도 이미지에서 상기 목표 웨이퍼 이미지와 연관된 부분을 상기 밀도 이미지로 선택하는 단계를 더 포함하는 동작 방법.
  11. 제10항에 있어서,
    상기 목표 웨이퍼 이미지와 연관된 부분은 상기 밀도 이미지에 대응하는 부분을 포함하고, 그리고
    상기 목표 웨이퍼 이미지의 사이즈는 상기 목표 웨이퍼 이미지와 연관된 부분의 사이즈보다 작은 동작 방법.
  12. 제11항에 있어서,
    상기 전체 밀도 이미지에서 상기 레이아웃 이미지와 연관된 부분을 상기 밀도 이미지로 선택하는 단계는:
    상기 목표 웨이퍼 이미지와 연관된 부분을 다운스케일하여 상기 밀도 이미지를 생성하는 단계를 포함하는 동작 방법.
  13. 제9항에 있어서,
    상기 레이아웃 이미지를 추론하는 단계는:
    상기 레이아웃 이미지에 기반하여 반도체 집적 회로를 제조하는 반도체 제조 장치의 제조 장치 정보 이미지, 상기 밀도 이미지 및 상기 목표 레이아웃 이미지에 기반하여 상기 레이아웃 이미지를 추론하는 단계를 포함하는 동작 방법.
  14. 제13항에 있어서,
    상기 제조 장치 정보 이미지는 EUV(Extreme UltraViolet) 장치의 슬릿(slit)의 영향에 대한 정보를 포함하는 동작 방법.
  15. 제14항에 있어서,
    상기 제조 장치 정보 이미지의 픽셀들의 값들은 제1 방향을 따라 균일하고, 그리고 제2 방향을 따라 연속적으로 증가 또는 감소하는 동작 방법.
  16. 기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 전자 장치의 동작 방법에 있어서:
    상기 프로세서에 의해 실행되는 상기 반도체 레이아웃 시뮬레이션 모듈이 목표 웨이퍼 이미지를 수신하는 단계;
    최종 레이아웃 이미지에 기반하여 반도체 집적 회로를 제조하는 반도체 제조 장치의 제조 장치 정보 이미지, 밀도 이미지 및 상기 목표 웨이퍼 이미지 중 적어도 두 개에 기반하여 레이아웃 이미지를 추론하는 단계;
    상기 제조 장치 정보 이미지, 상기 밀도 이미지 및 상기 레이아웃 이미지 중 적어도 두 개에 기반하여 웨이퍼 이미지를 추론하는 단계;
    상기 웨이퍼 이미지가 수용 가능하지 않으면, 상기 레이아웃 이미지를 수정하는 단계; 그리고
    상기 웨이퍼 이미지가 수용 가능하면, 상기 레이아웃 이미지를 최종 레이아웃 이미지로 확정하는 단계를 포함하고,
    상기 밀도 이미지는 상기 레이아웃 이미지를 포함하며 상기 레이아웃 이미지보다 넓은 영역의 패턴들의 밀도의 정보를 포함하는 동작 방법.
  17. 제16항에 있어서,
    상기 제조 장치 정보 이미지는 EUV(Extreme UltraViolet) 장치의 슬릿(slit)의 영향에 대한 정보를 포함하는 동작 방법.
  18. 제17항에 있어서,
    상기 제조 장치 정보 이미지의 픽셀들의 값들은 제1 방향을 따라 균일하고, 그리고 제2 방향을 따라 연속적으로 증가 또는 감소하는 동작 방법.
  19. 제18항에 있어서,
    상기 반도체 집적 회로의 전체 레이아웃에 대해 가우시안 콘볼루션을 수행하여 전체 밀도 이미지를 생성하는 단계; 그리고
    상기 전체 밀도 이미지에서 상기 레이아웃 이미지와 연관된 부분을 다운스케일하여 상기 밀도 이미지를 생성하는 단계를 포함하는 동작 방법.
  20. 제16항에 있어서,
    상기 레이아웃 이미지는 현재 레이어 레이아웃 이미지 및 하부 레이어 레이아웃 이미지를 포함하는 동작 방법.
KR1020220027906A 2022-03-04 2022-03-04 기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 전자 장치의 동작 방법 KR20230130833A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220027906A KR20230130833A (ko) 2022-03-04 2022-03-04 기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 전자 장치의 동작 방법
US18/060,260 US20230281792A1 (en) 2022-03-04 2022-11-30 Operating method of electronic device including processor executing semiconductor layout simulation module based on machine learning
CN202310176787.6A CN116705790A (zh) 2022-03-04 2023-02-28 包括处理器的电子装置的操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220027906A KR20230130833A (ko) 2022-03-04 2022-03-04 기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 전자 장치의 동작 방법

Publications (1)

Publication Number Publication Date
KR20230130833A true KR20230130833A (ko) 2023-09-12

Family

ID=87834614

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220027906A KR20230130833A (ko) 2022-03-04 2022-03-04 기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 전자 장치의 동작 방법

Country Status (3)

Country Link
US (1) US20230281792A1 (ko)
KR (1) KR20230130833A (ko)
CN (1) CN116705790A (ko)

Also Published As

Publication number Publication date
CN116705790A (zh) 2023-09-05
US20230281792A1 (en) 2023-09-07

Similar Documents

Publication Publication Date Title
TWI233149B (en) Pattern-forming method and manufacturing method of semiconductor device
KR20210133364A (ko) 반도체 장치의 제조를 위한 방법 및 컴퓨팅 장치
JP2013125906A (ja) フレアマップ計算方法、フレアマップ算出プログラムおよび半導体装置の製造方法
JPH11102062A (ja) マスクデータ作成方法及びその作成装置、マスクデータ補正方法及びマスクデータ補正装置コンピュータ読み取り可能な記録媒体
CN114388380A (zh) 用于检测晶片上的缺陷的设备和方法
CN114609857A (zh) 光学临近效应修正方法及系统和掩膜版
JP2011002722A (ja) フレア補正方法およびフレア補正プログラム
WO2022093529A1 (en) Prediction and metrology of stochastic photoresist thickness defects
CN114254579A (zh) 用于对半导体制造工艺进行建模的系统和方法
WO2008103208A1 (en) Simulation site placement for lithographic process models
JP5071785B2 (ja) マスクパターン形成方法
JP2000214577A (ja) パタ―ン歪検出方法、パタ―ン歪検出装置およびその記録媒体
KR20230130833A (ko) 기계 학습 기반의 반도체 레이아웃 시뮬레이션 모듈을 실행하는 프로세서를 포함하는 전자 장치의 동작 방법
US20230069493A1 (en) Method, electronic device and operating method of electronic device and manufacture of semiconductor device
US20230214990A1 (en) Electronic device including processor executing defect detection module, operating method of electronic device, and method for fabricating semiconductor integrated circuit
CN115701863A (zh) 用于制造半导体器件的电子设备及电子设备的操作方法
JP2020060695A (ja) マスクパターン検証モデル作成時の指標値の表示方法及びそのプログラム
CN114063383A (zh) 基于深度学习在掩模上形成形状的方法、以及使用在掩模上形成形状的方法的掩模制造方法
US20220382249A1 (en) Method and computing device for manufacturing semiconductor device
TW202328802A (zh) 用於製造半導體裝置的電子裝置的操作方法
US20230314957A1 (en) Process proximity correction method and computing device for the same
CN115630599B (zh) 用于版图处理的方法、设备和介质
JP6123398B2 (ja) 欠陥箇所予測装置、識別モデル生成装置、欠陥箇所予測プログラムおよび欠陥箇所予測方法
US20230359805A1 (en) Layout method for semiconductor chip, method of manufacturing semiconductor chip using the same, and computing device
US20230197460A1 (en) Image-based semiconductor device patterning method using deep neural network