KR20220060214A - 반도체 설계 자동화 시스템 및 이를 포함하는 컴퓨팅 시스템 - Google Patents

반도체 설계 자동화 시스템 및 이를 포함하는 컴퓨팅 시스템 Download PDF

Info

Publication number
KR20220060214A
KR20220060214A KR1020200145942A KR20200145942A KR20220060214A KR 20220060214 A KR20220060214 A KR 20220060214A KR 1020200145942 A KR1020200145942 A KR 1020200145942A KR 20200145942 A KR20200145942 A KR 20200145942A KR 20220060214 A KR20220060214 A KR 20220060214A
Authority
KR
South Korea
Prior art keywords
data
real data
simulation
recovery
user interface
Prior art date
Application number
KR1020200145942A
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 KR1020200145942A priority Critical patent/KR20220060214A/ko
Priority to US17/395,594 priority patent/US11687696B2/en
Priority to CN202111289296.XA priority patent/CN114444249A/zh
Publication of KR20220060214A publication Critical patent/KR20220060214A/ko
Priority to US18/316,405 priority patent/US20230281375A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/31Design entry, e.g. editors specifically adapted for circuit design
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/18Details relating to CAD techniques using virtual or augmented reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/20Design reuse, reusability analysis or reusability optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

시뮬레이션 데이터와 실물 데이터를 자동으로 적재하는 데이터베이스를 기반으로 기계 학습(Machine learning)을 수행함으로써, 생성되는 반도체 공정 모델과 반도체 공정 예측 모델의 신뢰성과 생성 속도를 향상시키는 반도체 설계 자동화 시스템과, 이를 포함하는 컴퓨팅 시스템, 그리고 반도체 설계 자동화 방법이 제공된다. 몇몇 실시예에 따른 반도체 설계 자동화 시스템은, 시뮬레이션 데이터를 생성하는 시뮬레이터, 시뮬레이션 데이터의 샘플링 오류를 회복하여 회복 시뮬레이션 데이터를 생성하는 리커버리 모듈, 실물 데이터를 생성하는 하드웨어 데이터 모듈, 실물 데이터를 전처리하여 전처리 실물 데이터를 생성하는 전처리 모듈, 회복 시뮬레이션 데이터와 전처리 실물 데이터를 저장하는 데이터베이스, 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터의 기계 학습 모델을 생성하고 그로부터 예측 실물 데이터를 생성하는 자동 시뮬레이션 생성기를 포함하는 제1 그래픽 유저 인터페이스, 및 기계 학습 모델로부터 예측 실물 데이터와 시각화된 가상 공정 결과를 생성하는 시각화 유닛을 포함하는 제2 그래픽 유저 인터페이스를 포함한다.

Description

반도체 설계 자동화 시스템 및 이를 포함하는 컴퓨팅 시스템 {Semiconductor design automation system and computing system comprising the same}
본 발명은 반도체 설계 자동화 시스템 및 이를 포함하는 컴퓨팅 시스템에 관한 것이다.
반도체가 고집적화, 및 미세화됨에 따라, 반도체 소자를 설계하고 제조하는 각 단계의 요인들이 복합적으로 작용하여, 반도체 소자에서 의도치 않은 다양한 전기적 특성이 발생할 수 있다. 따라서, 반도체 공정 및 소자의 한계를 극복하고 현상에 대한 이해 및 실험 비용 절감을 위해 물리적 시뮬레이션에 기반을 둔 TCAD(Technology Computer Aided Design) 공정-소자 시뮬레이션 환경에 대한 반도체 업계의 수요가 더욱 증대되고 있다. 또한, 반도체 소자의 정확한 제품 사양(specification) 제공을 위해서는 반도체 소자의 특성을 예측하여 시뮬레이션할 필요가 있다.
본 발명이 해결하고자 하는 기술적 과제는 시뮬레이션 데이터와 실물 데이터를 자동으로 적재하는 데이터베이스를 기반으로 기계 학습(Machine learning)을 수행함으로써, 생성되는 반도체 공정 모델과 반도체 공정 예측 모델의 신뢰성과 생성 속도를 향상시키는 반도체 설계 자동화 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 기술적 과제는 시뮬레이션 데이터와 실물 데이터를 자동으로 적재하는 데이터베이스를 기반으로 기계 학습(Machine learning)을 수행함으로써, 생성되는 반도체 공정 모델과 반도체 공정 예측 모델의 신뢰성과 생성 속도를 향상시키는 반도체 설계 자동화 시스템을 포함하는 컴퓨팅 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 기술적 과제는 시뮬레이션 데이터와 실물 데이터를 자동으로 적재하는 데이터베이스를 기반으로 기계 학습(Machine learning)을 수행함으로써, 생성되는 반도체 공정 모델과 반도체 공정 예측 모델의 신뢰성과 생성 속도를 향상시키는 반도체 설계 자동화 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 반도체 설계 자동화 시스템은, 시뮬레이션 데이터를 생성하는 시뮬레이터, 시뮬레이션 데이터의 샘플링 오류를 회복하여 회복 시뮬레이션 데이터를 생성하는 리커버리 모듈, 실물 데이터를 생성하는 하드웨어 데이터 모듈, 실물 데이터를 전처리하여 전처리 실물 데이터를 생성하는 전처리 모듈, 회복 시뮬레이션 데이터와 전처리 실물 데이터를 저장하는 데이터베이스, 회복 시뮬레이션 데이터와 전처리 실물 데이터의 기계 학습 모델을 생성하고 그로부터 예측 실물 데이터를 생성하는 자동 시뮬레이션 생성기를 포함하는 제1 그래픽 유저 인터페이스, 및 기계 학습 모델로부터 예측 실물 데이터와 시각화된 가상 공정 결과를 생성하는 시각화 유닛을 포함하는 제2 그래픽 유저 인터페이스를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 반도체 설계 자동화 시스템은, 시뮬레이션 데이터를 생성하는 시뮬레이터와, 시뮬레이션 데이터의 샘플링 오류를 회복하여 회복 시뮬레이션 데이터를 생성하는 리커버리 모듈과, 실물 데이터를 생성하는 하드웨어 데이터 모듈과, 실물 데이터를 전처리하여 전처리 실물 데이터를 생성하는 전처리 모듈을 포함하는 자동화 모듈, 회복 시뮬레이션 데이터와 전처리 실물 데이터를 저장하는 데이터베이스, 회복 시뮬레이션 데이터와 전처리 실물 데이터의 기계 학습 모델을 생성하고 그로부터 예측 실물 데이터를 생성하는 자동 시뮬레이션 생성기를 포함하는 제1 그래픽 유저 인터페이스를 포함하는 정합성 유지 모듈, 및 기계 학습 모델로부터 예측 실물 데이터와 시각화된 가상 공정 결과를 생성하는 제2 그래픽 유저 인터페이스를 포함하는 가상 시각화 모듈을 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 컴퓨팅 시스템은, 사용자의 입력 및 출력을 제어하는 입출력 장치, 입출력 장치를 버스를 통해 제어하는 프로세서, 반도체 설계 자동화 시뮬레이션 프로그램이 저장된 메모리를 포함하되, 반도체 설계 자동화 시뮬레이션 프로그램은, 시뮬레이션 데이터를 생성하는 시뮬레이터, 시뮬레이션 데이터의 샘플링 오류를 회복하여 회복 시뮬레이션 데이터를 생성하는 리커버리 모듈, 실물 데이터를 생성하는 하드웨어 데이터 모듈, 실물 데이터를 전처리하여 전처리 실물 데이터를 생성하는 전처리 모듈, 회복 시뮬레이션 데이터와 전처리 실물 데이터를 저장하는 데이터베이스, 시뮬레이션 데이터와 전처리 실물 데이터의 기계 학습 모델을 생성하고 그로부터 예측 실물 데이터를 생성하는 자동 시뮬레이션 생성기를 포함하는 제1 그래픽 유저 인터페이스, 및 기계 학습 모델로부터 예측 실물 데이터와 시각화된 가상 공정 결과를 생성하는 제2 그래픽 유저 인터페이스를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 반도체 설계 자동화 방법은, 시뮬레이터를 통해, 시뮬레이션 데이터를 생성하고, 리커버리 모듈을 통해, 시뮬레이션 데이터의 샘플링 오류를 회복하여 회복 시뮬레이션 데이터를 생성하고, 하드웨어 데이터 모듈을 통해, 실물 데이터를 생성하고, 전처리 모듈을 통해, 실물 데이터를 전처리하여 전처리 실물 데이터를 생성하고, 데이터베이스를 통해, 회복 시뮬레이션 데이터와 전처리 실물 데이터를 저장하고, 자동 시뮬레이션 생성기를 포함하는 제1 그래픽 유저 인터페이스를 통해, 시뮬레이션 데이터와 전처리 실물 데이터의 기계 학습 모델을 생성하고 그로부터 예측 실물 데이터를 생성하고, 제2 그래픽 유저 인터페이스를 통해, 기계 학습 모델로부터 예측 실물 데이터와 시각화된 가상 공정 결과를 생성하는 것을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1 및 도 2는 몇몇 실시예들에 따른 반도체 설계 자동화 시스템을 설명하기 위한 예시적인 블록도이다.
도 3은 몇몇 실시예들에 따른 리커버리 동작을 설명하기 위한 예시적인 흐름도이다.
도 4는 몇몇 실시예들에 따른 파서를 통해 저장되는 데이터의 종류를 설명하기 위한 예시적인 도면이다.
도 5는 몇몇 실시예들에 따른 제1 그래픽 유저 인터페이스를 설명하기 위한 예시적인 블록도이다.
도 6은 몇몇 실시예들에 따른 자동 칼리브레이터의 동작을 설명하기 위한 예시적인 흐름도이다.
도 7은 몇몇 실시예들에 따른 제2 그래픽 유저 인터페이스를 설명하기 위한 예시적인 블록도이다.
도 8은 몇몇 실시예들에 따른 시각화 유닛을 설명하기 위한 예시적인 블록도이다.
도 9 및 도 10은 몇몇 실시예들에 따른 시각화 유닛을 통해 시각화된 반도체 장치를 예시적으로 도시한 도면이다.
도 11 및 도 12는 몇몇 실시예들에 따른 데이터베이스를 재사용하는 동작을 설명하기 위한 예시적인 흐름도이다.
도 13은 몇몇 실시예들에 따른 시각화 및 가상화 동작을 설명하기 위한 예시적인 흐름도이다.
도 14는 몇몇 실시예들에 따른 반도체 설계 자동화 시스템을 포함하는 컴퓨팅 시스템을 설명하기 위한 예시적인 블록도이다.
도 1 및 도 2는 몇몇 실시예들에 따른 반도체 설계 자동화 시스템을 설명하기 위한 예시적인 블록도이다.
도 1 및 도 2를 참조하면, 몇몇 실시예들에 따른 반도체 설계 자동화 시스템(10)은 자동화 모듈(100), 데이터베이스(200), 정합성 유지 모듈(300), 가상 시각화 모듈(400), 그리고 사용자(500)를 포함한다.
몇몇 실시예들에 따른 반도체 설계 자동화 시스템(10)이 자동적으로 설계하는 반도체 소자는 예를 들면, FinFET 반도체 소자, DRAM 반도체 소자, NAND 반도체 소자, VNAND 반도체 소자 등일 수 있으나, 이는 예시적인 것으로 이에 한정되지 않는다.
몇몇 실시예들에 따른 반도체 설계 자동화 시스템(10)은 일체화된 바이스로 구현될 수 있고, 이에 따라, 집적 회로 설계 자동화 장치라고 지칭할 수도 있다. 반도체 설계 자동화 시스템(10)은 반도체 장치의 집적 회로를 설계하기 위한 전용 장치로 제공될 수도 있지만, 다양한 시뮬레이션 툴이나 설계 툴들을 구동하기 위한 컴퓨터일 수도 있다. 반도체 설계 자동화 시스템(10)은 데스크탑 컴퓨터, 워크스테이션, 서버 등과 같이 고정형 컴퓨팅 시스템일 수도 있고, 랩탑 컴퓨터 등과 같이 휴대형 컴퓨팅 시스템일 수도 있다.
자동화 모듈(100)은 시뮬레이터(110), 리커버리 모듈(120), 파서(parser)(130), 하드웨어 데이터 모듈(140), 전처리 모듈(150), 데이터 로더(160)를 포함한다.
시뮬레이터(110)는 반도체 소자 모델링을 수행할 수 있다. 반도체 소자 모델링은 예를 들어, TCAD(Technology Computer Aided Design)를 이용하여 수행될 수 있다. 반도체 소자 모델링은 예를 들어, 반도체 소자의 제조 공정을 모델링한 프로세스 TCAD가 사용될 수 있으나, 이에 한정되지 않으며, 반도체 소자의 동작을 모델링한 디바이스 TCAD도 함께 사용될 수 있다. 예를 들면, TCAD를 수행하기 위한 TCAD 툴은 Synopsys, Silvaco, Crosslight, Cogenda Software|VisualTCAD, Global TCAD Solutions, 또는 Tiberlab 등일 수 있다.
또한, 시뮬레이터(110)는 반도체 소자의 전기적 특성뿐 아니라 기계적 특성 및 물성적 특성을 시뮬레이션할 수 있다. 시뮬레이터(110)에 의한 시뮬레이션 결과는 소자 시뮬레이션, 또는 소자-회로 통합 시뮬레이션의 입력으로도 사용될 수 있다. 공정-소자-회로 특성의 통합 시뮬레이션 시, 소자의 대상은 단일 소자 또는 복수 개의 소자가 될 수도 있다.
반도체 소자 모델링은 반도체 레이아웃을 기초로, 물리기반 박막 증착 공정 모사 및 에칭 공정 모사를 통하여 수행될 수 있으며, 모델링된 반도체 소자를 구현할 수 있다. 여기에서 반도체 소자 모델링이란, 반도체 소자를 이루는 각 구성 요소의 배치와 같은 구조, 반도체 소자를 이루는 각 구성 요소가 가지는 수치들(예를 들면, 박막의 두께, 에칭 공정을 통하여 제거된 부분의 깊이, 포함된 물질의 물리적 특성 등)을 포괄하는 의미로, 타겟 스펙(target spec.)이라고도 호칭될 수 있다. 여기에서 각 구성 요소가 가지는 수치들은 고정된 상수만을 의미하는 것이 아니고, 물리기반 박막 증착 공정 모사 및 에칭 공정 모사에서 선택되거나 변경될 수 있는 공정 변수들을 의미할 수도 있다.
리커버리 모듈(120)은 시뮬레이터(110)를 통해 생성된 복수의 샘플링 표본들에 대한 오류를 자동으로 회복시킨다. 예를 들어, 리커버리 모듈(120)은 로그(Log) 또는 상태(Status) 분석 등을 이용하여 시뮬레이터(110)를 통해 생성된 복수의 샘플링 표본들에 대한 오류를 회복시켜, 파서(130)로 전달하거나 다시 시뮬레이터(110)로 전달할 수 있다.
파서(130)는 리커버리 모듈(120)로부터 수신받은 회복 시뮬레이션 데이터(예를 들어, 오류가 회복된 복수의 샘플링 표본들)을 수신받아 파싱(parsing)을 수행할 수 있다. 파서(130)는 예를 들어, 컴파일러의 일부로서 회복 시뮬레이션 데이터에 대한 컴파일링을 수행할 수 있다.
이하에서, 도 3을 통해, 시뮬레이터(110), 리커버리 모듈(120), 그리고 파서(130)를 통해 시뮬레이션 데이터에 대한 자동 오류 회복 동작을 흐름도로 살펴본다.
도 3은 몇몇 실시예들에 따른 리커버리 동작을 설명하기 위한 예시적인 흐름도이다.
도 1 내지 도 3을 참조하면, 시뮬레이터(110)를 통해 수행된 반도체 소자 모델링을 통하여 구현된 모델링된 반도체 형상에 대하여, 물리기반 박막 증착 공정 모사 및 에칭 공정 모사에 사용되는 공정 변수들을 결합하여 시뮬레이션 데이터(예를 들어, 복수의 샘플링 표본)을 추출한다(S100).
예를 들면, 시뮬레이션 데이터(예를 들어, 복수의 샘플링 표본)은 물리기반 박막 증착 공정 모사 및 에칭 공정 모사에 사용되는 공정 변수들의 독립적인 선형 결합을 통하여 추출될 수 있다. 예를 들면, 복수의 샘플링 표본은 라틴 하이퍼큐브 샘플링(Latin Hypercube Sampling, LHS)에 의하여 추출될 수 있다.
시뮬레이션 데이터(예를 들어, 복수의 샘플링 표본)은, 모든 공정 단계의 모사에 사용되는 공정 변수들을 결합하지 않고, 일부 선정된 공정 단계들의 모사에 사용되는 공정 변수들만을 결합하여 추출할 수 있다. 복수의 샘플링 표본을 추출하기 위하여 선정되는 공정 단계들 및 공정 변수들은 반도체 형상을 결정하는 데에 지배적인(dominant) 공정 단계들 및 공정 변수들일 수 있다. 일부 실시 예에서, 복수의 샘플링 표분을 추출하기 위하여 선정되는 공정 단계들은 완성된 반도체 소자를 이루는 각 구성 요소를 형성하는 물질막을 형성하는 박막 증착 공정, 형성된 물질막의 일부를 제거하는 에칭 공정이나 CMP(Chemical Mechanical Polishing) 공정일 수 있고, 공정 변수들은 박막 증착 공정의 증착 시간 및/또는 그 결과인 형성되는 박막의 두께, 에칭 공정의 에칭 시간 및/또는 결과인 에칭 깊이, CMP 공정의 수행 시간 및/또는 결과인 제거된 두께나 잔류 두께일 수 있다.
추출된 시뮬레이션 데이터(예를 들어, 복수의 샘플링 표본)은 다른 공정 변수들에 대하여 반도체 형상 모델링을 통하여 구현된 복수의 모델링된 반도체 형상일 수 있다. 예를 들면, 추출된 복수의 샘플링 표본은 박막의 두께 또는 박막의 증착 시간, 에칭 깊이 또는 에칭 시간 등과 같은 공정 변수를 다르게 하여 반도체 형상 모델링을 통하여 구현된 복수의 모델링된 반도체 형상일 수 있다.
이후, 리커버리 모듈(120)은 시뮬레이션 데이터(예를 들어, 복수의 샘플링 표본)의 상태를 확인하여, 오류가 발생했는지(Fail), 오류가 발생하지 않았는지(Success) 확인할 수 있다.(S122).
만약, 리커버리 모듈(120)이 시뮬레이션 데이터에 오류가 발생하지 않았다고 판단(Success)하면, 시뮬레이션 데이터를 파서(130)로 전송할 수 있다.
그렇지 않고, 리커버리 모듈(120)이 시뮬레이션 데이터에 오류가 발생했다고 판단(Fail)하면, 시뮬레이션 데이터에 발생된 오류가 어떤 종류인지 판단한다(S124).
리커버리 모듈(120)이 판단하는 오류의 종류에는 비정상적 구조 생성 (Abnormal Structure), 통신 장애(Communication Error), 실행 장애(Action Failure), 시스템 장애(System Failure) 등이 존재할 수 있다.
리커버리 모듈(120)은 시뮬레이션 데이터에 발생된 오류를 판단한 후, 오류를 회복시켜, 한번 더 오류가 회복되었는지를 판단한다(S126). 리커버리 모듈(120)은 시뮬레이션 데이터에 발생된 오류가 회복되었다고 판단하면(Success), 시뮬레이션 데이터를 파서(130)에 전송한다.
그렇지 않고, 리커버리 모듈(120)이 여전히 시뮬레이션 데이터에 오류가 발생했다고 판단(Fail)하면, 시뮬레이터(110)를 통해, 시뮬레이션 데이터를 다시 생성할 수 있다.
다시 도 1 및 도 2를 참조하면, 시뮬레이터(110)를 통해 오류가 회복된 시뮬레이션 데이터는 파서(130)를 통해 파싱된 후, 데이터베이스(200)에 적재될 수 있다. 파서(130)를 통해 파싱된 시뮬레이션 데이터의 종류를 도 4를 통해 설명한다.
도 4는 몇몇 실시예들에 따른 파서를 통해 저장되는 데이터의 종류를 설명하기 위한 예시적인 도면이다.
도 4를 참조하면, 오류가 회복된 시뮬레이션 데이터는 파서(130)를 통해 파싱된 후, 데이터베이스(200)에 장치 정보, 툴 체인 정보, 파일 로케이션, 생성 정보, 프로세스 칼리브레이션 파라미터, 프로세스 시뮬레이션 스크립트, MTS 변수들, 임플란테이션 변수들, 장치 칼리브레이션 파라미터, 장치 시뮬레이션 스크립트, 장치 관련 변수들, 1D/2D/3D 구조, 1D/2D/3D 프로파일, 커브 데이터, 또는 시뮬레이션 결과 출력 변수 리스트 등으로 적재될 수 있다.
데이터베이스(200)에 장치 정보는 예를 들어, 반도체 소자를 포함하는 제품, 반도체 소자, 설계 방향(Scheme), 또는 모듈일 수 있다. 툴 체인 정보는 예를 들어, 툴 플로우, 툴 라벨, 또는 툴 버전 등일 수 있다. 생성 정보는 예를 들어, 생성자 정보, 생성 날짜, 수행 시간 등일 수 있다. 프로세스 칼리브레이션 파라미터는 물질의 고유 특성 정보(Material Parameter) 와 확산성(Diffusivity), 기타 공정 시뮬레이션에 사용되는 특성(Segregation, Reaction, Defect) 관련 항목 등일 수 있다. 프로세스 시뮬레이션 스크립트는 예를 들어, 증착, 에치, 포토, 노광, 에치 레이트, 증착 두께 등의 반도체 레시피 정보일 수 있다. MTS 변수들은 예를 들어, 반도체 소자의 구조 관련 정보, 길이, 폭, 두께 등일 수 있다. 임플란테이션 변수들은 도우즈(dose), 임플란트 에너지 등일 수 있다. 장치 칼리브레이션 파라미터는 반도체 소자 내 전하의 이동도, 트랩, 전하, 워피지, 엡실론, 저항도, 필드, 깊이 등일 수 있다. 1D/2D/3D 프로파일은 불순물 도핑 농도, 전류, 필드, 스트레스, 온도 등일 수 있다. 커브 데이터는 드레인 전류-드레인 전압 그래프, 드레인 전류-게이트 전압, Vt 스펙트럼 등일 수 있다.
다시 도 1 및 도 2를 참조하면, 하드웨어 데이터 모듈(140)은, 실제로 제작된 반도체 소자와 관련된 실물 데이터들을 수집한다.
전처리 모듈(150)은 하드웨어 데이터 모듈(140)로부터 수신한 실물 데이터들을 전처리하여 시뮬레이션을 통해 활용 가능한 형태로 가공할 수 있다.
전처리 모듈(150)을 통해 전처리된 실물 데이터들은 데이터 로더(160)로 전송될 수 있다. 데이터 로더(160)는 전처리된 실물 데이터들을 저장할 수 있다. 데이터 로더(160)는 저장된 실물 데이터들을 데이터베이스(200)에 주기적으로 전송할 수 있다.
데이터베이스(200)는 실물 데이터들과 시뮬레이션 데이터들을 저장할 수 있다. 데이터베이스(200)는 반도체 장치의 제조 과정에서 생성된 혹은 측정된 실물 데이터를 저장한다.
즉, 데이터베이스(200)는 실제 제조 과정 상의 공정 및 측정 데이터를 저장할 수 있다. 데이터베이스(200)는 실제 제조 과정에서 생성되어 혹은 측정되어 알려진 변동 파라미터들 및 실제 제조 후 출력 데이터(예컨대, on 전류, off 전류)의 산포를 나타내는 총 변동 데이터를 포함할 수 있다.
또한, 데이터베이스(200)는 규격(spec)이나 표준 관련 데이터를 저장할 수 있다. 예컨대, 데이터베이스(200)는 제품 규격 데이터, 시뮬레이션 중간 단계의 규격 데이터, 표준 공정에 대한 정보 등을 포함할 수 있다. 여기서, 규격 데이터는 각 변수 또는 출력 특성 데이터에 대하여 미리 정의된 정량적 범위를 말한다. 예컨대, 규격 데이터는 구조 데이터가 가져야 할 정량적 범위를 포함할 수 있다. 표준 공정에 대한 정보는 공정 시뮬레이션에 반드시 포함되어야 할 단계, 각 단계의 순서 정보를 포함할 수 있다.
정합성 유지 모듈(300)은 제1 그래픽 유저 인터페이스(310), 시뮬레이션 덱(deck)(320), TCAD 블록(330), 및 실리콘 모델 블록(340)을 포함할 수 있다.
제1 그래픽 유저 인터페이스(310)의 구조를 도 5를 통해 자세히 살펴본다.
도 5는 몇몇 실시예들에 따른 제1 그래픽 유저 인터페이스를 설명하기 위한 예시적인 블록도이다.
도 2 및 도 5를 참조하면, 제1 그래픽 유저 인터페이스(310)는 자동 칼리브레이터(calibrator)(312), 자동 시뮬레이션 생성기(314), 기계 학습 블록(316), 및 자동 분류 블록(318)을 포함한다.
자동 칼리브레이터(312)는 자동 칼리브레이션(calibration) 기능을 통해 데이터베이스(200)에 적재된 실물 데이터와 시뮬레이션 데이터를 비교하여, 실물 데이터와 시뮬레이션 데이터 사이의 정합성을 유지할 수 있다.
자동 시뮬레이션 생성기(314)는 회복 시뮬레이션 데이터와 전처리 실물 데이터의 기계 학습 모델을 생성하고 그로부터 예측 실물 데이터를 생성할 수 있다.
기계 학습 블록(316)은 전처리된 데이터를 이용하여 기계 학습을 수행할 수 있다. 기계 학습은 예를 들어, 결정 트리 학습법(decision tree learning), 연관 규칙 학습법(association rule learning), 인공신경망(Artificial Neural Network, ANN), 유전 알고리즘(genetic algorithm), 귀납적 학습법(inductive learning), 서포트 벡터 머신(Support Vector Machine, SVM), 클러스터 분석(cluster analysis), 베이즈 네트워크((bayesian network), 강화 학습법(reinforcement learning) 등과 같은 기계 학습을 이용하거나, 심층 신경망(Deep Neural Network, DNN), 합성곱 신경망(Convolutional Neural Network, CNN), 순환 신경망(Recurrent Neural Network, RNN), 제한 볼츠만 머신 (Restricted Boltzmann Machine, RBM), 심층 신뢰 신경망 (Deep Belief Network, DBN), 심층 Q-네트워크(Deep Q-Networks) 등과 같은 딥 러닝을 이용하여 수행될 수 있다.
자동 분류 블록(318)은 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터와 실물 데이터 사이의 정합성을 유지시킬 수 있다. 더 자세히는, 기계 학습 블록(316)을 통해 도출된 모델이 사용자가 설정한 기준을 만족할 때까지 자동으로 윈도우 쉬프트(Window shift) 또는 재-샘플링(Re-Sampling) 등과 같은 동작을 수행한다.
상술된 자동 칼리브레이터(312)의 동작을 도 6을 통해 자세히 살펴본다.
도 6은 몇몇 실시예들에 따른 자동 칼리브레이터의 동작을 설명하기 위한 예시적인 흐름도이다.
도 6을 참조하면, 반도체 설계 변수의 값에 대응하는 칼리브레이션 파라미터를 로딩한다(S310). 또한, 실물 데이터를 로딩한다(S320). 로딩된 칼리브레이션 파라미터는 칼리브레이션 DOE(Design Of Experiment)로 시뮬레이션될 수 있다(S330). 이후, 칼리브레이션 DOE 시뮬레이션 데이터와 실물 데이터 사이의 오차를 계산하여, 사용자가 지정한 임계값보다 작은지 판단한다(S340). 만약, 칼리브레이션 DOE 시뮬레이션 데이터와 실물 데이터 사이의 오차가 임계값보다 작다고 판단되지 않는다면(No), 다시 칼리브레이션 파라미터를 로딩한다. 그렇지 않고, 칼리브레이션 DOE 시뮬레이션 데이터와 실물 데이터 사이의 오차가 임계값보다 작다고 판단된다면(Yes), 칼리브레이션 DOE 시뮬레이션 데이터를 도 2의 데이터베이스(200)에 업데이트한다.
다시 도 1 및 도 2를 참조하면, 시뮬레이션 덱(deck)(320)은 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터를 저장할 수 있다. TCAD 블록(330)은 시뮬레이션 데이터를 바탕으로 기계 학습이 수행된 데이터들을 저장할 수 있다. 실리콘 모델 블록(340)은 실물 데이터를 바탕으로 기계 학습이 수행된 데이터들을 저장할 수 있다.
가상 시각화 모듈(400)은 결정 블록(410)과 제2 그래픽 유저 인터페이스(420)를 포함한다.
결정 블록(410)은 TCAD 블록(330)으로부터 시뮬레이션 데이터를 바탕으로 기계 학습이 수행된 데이터들을 수신하고, 실리콘 모델 블록(340)으로부터 실물 데이터를 바탕으로 기계 학습이 수행된 데이터들을 수신하여 저장한다.
이하의 도 7을 통해, 제2 그래픽 유저 인터페이스(420)를 자세히 설명한다.
도 7은 몇몇 실시예들에 따른 제2 그래픽 유저 인터페이스를 설명하기 위한 예시적인 블록도이다.
도 7을 참조하면, 제2 그래픽 유저 인터페이스(420)는 시각화 유닛(421), 가상 프로세싱 유닛(423), TCAD 예측 유닛(425), 결정 생성 유닛(427), 실리콘 데이터 예측 유닛(429)을 포함한다.
시각화 유닛(421)을 도 8을 통해 자세히 설명한다.
도 8은 몇몇 실시예들에 따른 시각화 유닛을 설명하기 위한 예시적인 블록도이다.
도 8을 참조하면, 시각화 유닛(421)은 컨버터(4211), 상호 작용 뷰어(4212), 3D 프린터(4213), 홀로그램 장치(4214), VR/AR 장치(4215), 및 상호 작용 도큐먼트(4216) 등을 포함한다. 시각화 유닛(421)은 기계 학습 모델로부터 예측 실물 데이터와 시각화된 가상 공정 결과를 생성할 수 있다.
컨버터(4211)는 시뮬레이션 덱(320)에 저장된 시뮬레이션 데이터의 포맷을 시각화를 위한 포맷으로 변경할 수 있다.
예를 들어, 컨버터(4211)는 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터의 포맷을 CAD 포맷(예를 들어, vtk 또는 stl)으로 변경하여 Abaqus, Ansys 등과 같은 기계 해석이 가능하게끔 만들 수 있다.
예를 들어, 컨버터(4211)는 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터의 포맷을 Web GL 포맷으로 변경하여, 상호 작용 뷰어(4212)를 통해 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터를 시각화할 수 있다.
다른 예를 들어, 컨버터(4211)는 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터의 포맷을 3D 프린팅 포맷으로 변경하여, 3D 프린터(4213)를 통해 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터를 시각화할 수 있다.
이하의 도 9를 통해, 컨버터(4211)를 통해, 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터의 포맷을 Web GL 포맷으로 변경하여, 상호 작용 뷰어(4212)를 통해 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터를 시각화한 예시적인 도면을 설명한다. 또한, 도 10을 통해, 컨버터(4211)를 통해, 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터의 포맷을 3D 프린팅 포맷으로 변경하여, 3D 프린터(4213)를 통해 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터를 시각화한 예시적인 도면을 설명한다.
도 9 및 도 10은 몇몇 실시예들에 따른 시각화 유닛을 통해 시각화된 반도체 장치를 예시적으로 도시한 도면이다.
도 8 및 도 9를 참조하면, 컨버터(4211)를 통해, 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터의 포맷을 Web GL 포맷으로 변경하여, 상호 작용 뷰어(4212)를 통해 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터를 시각화한 예시적인 반도체 장치에 대한 도면이다.
도 8 및 도 10을 참조하면, 컨버터(4211)를 통해, 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터의 포맷을 3D 프린팅 포맷으로 변경하여, 3D 프린터(4213)를 통해 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터를 시각화한 예시적인 반도체 장치에 대한 도면이다.
다시 도 8을 참조하면, 예를 들어, 컨버터(4211)는 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터의 포맷을 홀로그램용 포맷으로 변경하여, 홀로그램 장치(4214)를 통해 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터를 홀로그램으로 시각화할 수 있다.
다른 예를 들어, 컨버터(4211)는 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터의 포맷을 가상 현실/증강 현실용 포맷으로 변경하여, VR/AR 장치(4215)를 통해 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터를 가상 현실 및/또는 증강 현실로 시각화할 수 있다.
다른 예를 들어, 컨버터(4211)는 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터의 포맷을 PDF 3D용 포맷으로 변경하여, 상호 작용 도큐먼트(4216)를 통해 자동 시뮬레이션 생성기(314)를 통해 생성된 시뮬레이션 데이터를 PDF 3D로 시각화할 수 있다.
다시 도 7을 참조하면, 가상 프로세싱 유닛(423)은 시뮬레이션 덱(320)에 저장된 시뮬레이션 데이터를 이용하여 가상 공정을 수행할 수 있다. TCAD 예측 유닛(425)은 TCAD 블록(330)을 통해, 시뮬레이션 데이터를 바탕으로 기계 학습이 수행된 데이터들을 바탕으로 TCAD 시뮬레이션을 수행하여, 반도체 장치에 대한 예측 시뮬레이션을 수행할 수 있다. 결정 생성 유닛(427)은 결정 블록(410)에 저장된, TCAD 블록(330)으로부터 시뮬레이션 데이터를 바탕으로 기계 학습이 수행된 데이터들과, 실리콘 모델 블록(340)으로부터 실물 데이터를 바탕으로 기계 학습이 수행된 데이터들을 이용하여, 시뮬레이션 대상 데이터를 결정할 수 있다. 실리콘 데이터 예측 유닛(429)은 실리콘 모델 블록(340)에 저장된, 실물 데이터를 바탕으로 기계 학습이 수행된 데이터들을 바탕으로 실물 반도체 공정을 수행할 수 있다.
도 11 및 도 12는 몇몇 실시예들에 따른 데이터베이스를 재사용하는 동작을 설명하기 위한 예시적인 흐름도이다.
도 2 및 도 11을 참조하면, 몇몇 실시예들에 따른 반도체 설계 자동화 시스템(10)의 데이터베이스(200)에 저장된 데이터를 다른 반도체 장치를 설계하는데 재사용할 수 있다.
먼저, 재사용이 필요한 반도체 장치가 데이터베이스(200)에 저장된 데이터들과 유사한지 판단하고, 일정 기준 이상의 유사도를 가졌다면(Yes), 바로 자동 칼리브레이션 프로세스를 진행한다(S420). 그렇지 않다면, 리커버리 모듈(120)을 통해 데이터베이스(200)에 저장된 데이터들에 대한 오류 회복 프로세스를 수행한다(S410). 리커버리 모듈(120)을 통해 데이터베이스(200)에 저장된 데이터들에 대한 오류가 회복된 데이터들에 대해 자동 칼리브레이션 프로세스를 진행한다(S420).
이후, 도 2 및 도 12를 참조하면, 도 11에서 자동 칼리브레이션 프로세스가 진행된 데이터에 대한 유효성을 검증하여, 기준 이상의 유효성이 존재한다고 판단되면(Yes) 해당 데이터로 시각화를 수행하고, 그렇지 않다면(No) 기계 학습을 수행한다(S510). 그 후, 기계 학습이 수행된 데이터로 시각화가 수행될 수 있다.
도 13은 몇몇 실시예들에 따른 시각화 및 가상화 동작을 설명하기 위한 예시적인 흐름도이다.
도 13을 참조하면, 제2 사용자 인터페이스를 통해 시각화 및 가상화 동작을 수행하기 위해, 실물 데이터와 시뮬레이션 데이터를 로딩하여, 시각화 및 가상화를 수행하려는 반도체 장치의 조건을 갖는 데이터를 찾는다(S600). 이후, 해당 데이터를 통해 자동 시뮬레이션을 생성한다(S610).
도 14는 몇몇 실시예들에 따른 반도체 설계 자동화 시스템을 포함하는 컴퓨팅 시스템을 설명하기 위한 예시적인 블록도이다.
도 14를 참조하면, 몇몇 실시예들에 따른 반도체 설계 자동화 시스템을 포함하는 컴퓨팅 시스템(1000)은 프로세서(1100), 메모리(1300), 입출력 장치(1200), 저장 장치(1400) 및 버스(1900)를 포함할 수 있다. 예를 들어, 컴퓨팅 시스템(1000)은 도 1 내지 도 13을 통해 상술된, 반도체 설계 자동화 동작이 수행될 수 있다. 본 개시에 따른 실시예에서, 컴퓨팅 시스템(1000)은 일체화된 디바이스로 구현될 수 있고, 이에 따라, 집적 회로 설계 장치라고 지칭할 수도 있다. 컴퓨팅 시스템(1000)은 반도체 장치의 집적 회로를 설계하기 위한 전용 장치로 제공될 수도 있지만, 다양한 시뮬레이션 툴이나 설계 툴들을 구동하기 위한 컴퓨터일 수도 있다. 컴퓨팅 시스템(1000)은 데스크탑 컴퓨터, 워크스테이션, 서버 등과 같이 고정형 컴퓨팅 시스템일 수도 있고, 랩탑 컴퓨터 등과 같이 휴대형 컴퓨팅 시스템일 수도 있다.
프로세서(1100)는 집적 회로를 설계하기 위한 다양한 동작들 중 적어도 하나를 수행하는 명령어들을 실행하도록 구성될 수 있다. 프로세서(1100)는 버스(1900)를 통해 메모리(1300), 입출력 장치(1200) 및 저장 장치(1400)와 통신할 수 있다. 프로세서(1100)는 메모리(1300)에 로드된 응용 프로그램들(Application Program)을 실행할 수 있다. 예를 들어, 프로세서(1100)는 메모리(1300)에 시뮬레이션 프로그램(1310)을 실행할 수 있고, 시뮬레이션 프로그램(1310)은 반도체 소자 및 상기 반도체 소자가 포함된 회로의 전기적 특성을 추출할 수 있다.
메모리(1300)는 집적 회로의 설계를 위한 레이아웃 디자인, 및 디자인된 레이아웃에 따른 시뮬레이션을 수행하기 위한 명령어들을 포함하는 프로그램을 저장할 수 있다. 일 실시예에서, 메모리(1300)는 집적 회로를 구성하는 반도체 소자 및 상기 반도체 소자가 포함된 회로의 전기적 특성을 추출하는 시뮬레이션 프로그램(1310) 및 모델 파라미터 파일(1320)이 로딩될 수 있다. 예를 들어, 반도체 소자의 전기적 특성은 트랜지스터의 문턱 전압, 트랜지스터의 온-전류, 및 트랜지스터의 전류-전압 특성 등을 포함할 수 있다.
메모리(1300)는 이외에도 시뮬레이션 툴 등의 다양한 툴들을 더 저장할 수 있다. 메모리(1300)는 SRAM(Static Random Access Memory)이나 DRAM(Dynamic RAM)과 같은 휘발성 메모리이거나, PRAM(Phase-change RAM), MRAM(Magnetic RAM), ReRAM(Resistive RAM), FRAM(Ferroelectrics RAM), 플래시 메모리 등의 비휘발성 메모리 일 수 있다.
입출력 장치(1200)는 사용자 인터페이스 장치들로부터의 사용자 입력 및 출력을 제어할 수 있다. 예를 들어, 입출력 장치(1200)는 키보드, 마우스, 터치패드 등과 같은 입력 장치를 구비하여, 집적 회로 설계 데이터를 입력 받을 수 있다. 예를 들어, 입출력 장치(1200)는 디스플레이, 스피커 등과 같은 출력 장치를 구비하여, 레이아웃 데이터 및 시뮬레이션 결과 등을 표시할 수 있다.
저장 장치(1400)는 시뮬레이션 프로그램(1310) 등의 프로그램 및 모델 파라미터 파일(1320)을 저장할 수 있으며, 프로그램이 프로세서(1100)에 의해서 실행되기 이전에 저장 장치(1400)로부터 프로그램 또는 그것의 적어도 일부가 메모리(1300)로 로딩될 수 있다. 저장 장치(1400)는 또한 프로세서(1100)에 의해서 처리될 데이터 또는 프로세서(1100)에 의해 처리된 데이터를 저장할 수 있다. 예를 들어, 저장 장치(1400)는 시뮬레이션 프로그램(1310)에 의해 처리될 데이터, 예를 들어, 실물 데이터 및/또는 시뮬레이션 데이터들이 저장된 모델 파라미터 파일(1320) 등 및 시뮬레이션 프로그램(1310)에 의해 생성된 반도체 소자의 특성 데이터를 저장할 수 있다. 시뮬레이션 프로그램(1310)은 저장 장치(1400)에 저장된 모델 파라미터 파일의 모델 파라미터에 대한 정보에 기초하여, 집적 회로에 포함된 반도체 소자의 전기적 특성을 추출할 수 있다.
저장 장치(1400)는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리, PRAM, RRAM, MRAM, FRAM 등과 같은 비휘발성 메모리를 포함할 수도 있고, 메모리 카드(MMC, eMMC, SD, MicroSD 등), SSD(Solid State Drive), HDD(Hard Disk Drive), 자기 테이프, 광학 디스크, 자기 디스크와 같은 저장 매체를 포함할 수도 있다. 또한, 저장 장치(1400)는 집적 회로 설계를 위한 컴퓨팅 시스템(1000)으로부터 탈착 가능할 수도 있다.
버스(1900)는 컴퓨터 시스템의 내부에서 네트워크를 제공하기 위한 시스템 버스(System Bus)일 수 있다. 버스(1900)를 통해서 프로세서(1100), 메모리(1300), 입출력 장치(1200), 및 저장 장치(1400)가 전기적으로 연결되고 상호 데이터를 교환할 수 있다. 하지만, 버스(1900)의 구성은 상술한 설명에만 국한되지 않으며, 효율적인 관리를 위한 중재 수단들을 더 포함할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 자동화 모듈
200: 데이터 베이스
300: 정합성 유지 모듈
400: 가상 시각화 모듈

Claims (20)

  1. 시뮬레이션 데이터를 생성하는 시뮬레이터;
    상기 시뮬레이션 데이터의 샘플링 오류를 회복하여 회복 시뮬레이션 데이터를 생성하는 리커버리 모듈;
    실물 데이터를 생성하는 하드웨어 데이터 모듈;
    상기 실물 데이터를 전처리하여 전처리 실물 데이터를 생성하는 전처리 모듈;
    상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터를 저장하는 데이터베이스;
    상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터의 기계 학습 모델을 생성하고 그로부터 예측 실물 데이터를 생성하는 자동 시뮬레이션 생성기를 포함하는 제1 그래픽 유저 인터페이스; 및
    상기 기계 학습 모델로부터 예측 실물 데이터와 시각화된 가상 공정 결과를 생성하는 시각화 유닛을 포함하는 제2 그래픽 유저 인터페이스를 포함하는 반도체 설계 자동화 시스템.
  2. 제 1항에 있어서,
    상기 회복 시뮬레이션 데이터를 수신받아 파싱(parsing)을 수행하는 파서(parser)를 더 포함하는 반도체 설계 자동화 시스템.
  3. 제 1항에 있어서,
    상기 제1 그래픽 유저 인터페이스는,
    상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터를 비교하여, 상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터 사이의 오차가 임계값보다 작다고 판단되면 상기 데이터베이스의 상기 회복 시뮬레이션 데이터를 업데이트하는 자동 칼리브레이터(calibrator)를 더 포함하는 반도체 설계 자동화 시스템.
  4. 제 1항에 있어서,
    상기 전처리 실물 데이터를 주기적으로 수신하여, 상기 데이터베이스에 상기 전처리 실물 데이터를 주기적으로 전송하는 데이터 로더를 더 포함하는 반도체 설계 자동화 시스템.
  5. 제 1항에 있어서,
    상기 제1 그래픽 유저 인터페이스는,
    상기 예측 실물 데이터를 상기 전처리 실물 데이터와 비교하여, 상기 예측 실물 데이터와 상기 전처리 실물 데이터 사이의 오차가 임계값보다 작다고 판단되면 상기 데이터베이스의 상기 회복 시뮬레이션 데이터를 업데이트하는 자동 분류 블록을 더 포함하는 반도체 설계 자동화 시스템.
  6. 제 1항에 있어서,
    상기 예측 실물 데이터를 수신하고, 상기 제2 그래픽 유저 인터페이스에 전송하는 시뮬레이션 덱(deck)을 더 포함하는 반도체 설계 자동화 시스템.
  7. 제 1항에 있어서,
    상기 시각화 유닛은 상기 예측 실물 데이터의 포맷을 상기 가상 공정 결과를 시각화할 포맷으로 변경하는 컨버터를 더 포함하는 반도체 설계 자동화 시스템.
  8. 제 1항에 있어서,
    상기 제2 그래픽 유저 인터페이스는,
    상기 예측 실물 데이터를 바탕으로 가상 공정을 수행하는 가상 프로세싱 유닛을 더 포함하는 반도체 설계 자동화 시스템.
  9. 시뮬레이션 데이터를 생성하는 시뮬레이터와, 상기 시뮬레이션 데이터의 샘플링 오류를 회복하여 회복 시뮬레이션 데이터를 생성하는 리커버리 모듈과, 실물 데이터를 생성하는 하드웨어 데이터 모듈과, 상기 실물 데이터를 전처리하여 전처리 실물 데이터를 생성하는 전처리 모듈을 포함하는 자동화 모듈;
    상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터를 저장하는 데이터베이스;
    상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터의 기계 학습 모델을 생성하고 그로부터 예측 실물 데이터를 생성하는 자동 시뮬레이션 생성기를 포함하는 제1 그래픽 유저 인터페이스를 포함하는 정합성 유지 모듈; 및
    상기 기계 학습 모델로부터 예측 실물 데이터와 시각화된 가상 공정 결과를 생성하는 제2 그래픽 유저 인터페이스를 포함하는 가상 시각화 모듈을 포함하는 반도체 설계 자동화 시스템.
  10. 제 9항에 있어서,
    상기 회복 시뮬레이션 데이터를 수신받아 파싱(parsing)을 수행하는 파서(parser)를 더 포함하는 반도체 설계 자동화 시스템.
  11. 제 9항에 있어서,
    상기 제1 그래픽 유저 인터페이스는,
    상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터를 비교하여, 상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터 사이의 오차가 임계값보다 작다고 판단되면 상기 데이터베이스의 상기 회복 시뮬레이션 데이터를 업데이트하는 자동 칼리브레이터(calibrator)를 더 포함하는 반도체 설계 자동화 시스템.
  12. 제 11항에 있어서,
    상기 전처리 실물 데이터를 주기적으로 수신하여, 상기 데이터베이스에 상기 전처리 실물 데이터를 주기적으로 전송하는 데이터 로더를 더 포함하는 반도체 설계 자동화 시스템.
  13. 제 9항에 있어서,
    상기 제1 그래픽 유저 인터페이스는,
    상기 예측 실물 데이터를 상기 전처리 실물 데이터와 비교하여, 상기 예측 실물 데이터와 상기 전처리 실물 데이터 사이의 오차가 임계값보다 작다고 판단되면 상기 데이터베이스의 상기 회복 시뮬레이션 데이터를 업데이트하는 자동 분류 블록을 더 포함하는 반도체 설계 자동화 시스템.
  14. 제 9항에 있어서,
    상기 예측 실물 데이터를 수신하고, 상기 제2 그래픽 유저 인터페이스에 전송하는 시뮬레이션 덱(deck)을 더 포함하는 반도체 설계 자동화 시스템.
  15. 제 9항에 있어서,
    상기 시각화 유닛은 상기 예측 실물 데이터의 포맷을 상기 가상 공정 결과를 시각화할 포맷으로 변경하는 컨버터를 더 포함하는 반도체 설계 자동화 시스템.
  16. 제 9항에 있어서,
    상기 제2 그래픽 유저 인터페이스는,
    상기 예측 실물 데이터를 바탕으로 가상 공정을 수행하는 가상 프로세싱 유닛을 더 포함하는 반도체 설계 자동화 시스템.
  17. 사용자의 입력 및 출력을 제어하는 입출력 장치;
    상기 입출력 장치를 버스를 통해 제어하는 프로세서;
    반도체 설계 자동화 시뮬레이션 프로그램이 저장된 메모리를 포함하되,
    상기 반도체 설계 자동화 시뮬레이션 프로그램은,
    시뮬레이션 데이터를 생성하는 시뮬레이터;
    상기 시뮬레이션 데이터의 샘플링 오류를 회복하여 회복 시뮬레이션 데이터를 생성하는 리커버리 모듈;
    실물 데이터를 생성하는 하드웨어 데이터 모듈;
    상기 실물 데이터를 전처리하여 전처리 실물 데이터를 생성하는 전처리 모듈;
    상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터를 저장하는 데이터베이스;
    상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터의 기계 학습 모델을 생성하고 그로부터 예측 실물 데이터를 생성하는 자동 시뮬레이션 생성기를 포함하는 제1 그래픽 유저 인터페이스; 및
    상기 기계 학습 모델로부터 예측 실물 데이터와 시각화된 가상 공정 결과를 생성하는 제2 그래픽 유저 인터페이스를 포함하는 컴퓨팅 시스템.
  18. 제 17항에 있어서,
    상기 회복 시뮬레이션 데이터를 수신받아 파싱(parsing)을 수행하는 파서(parser)를 더 포함하는 컴퓨팅 시스템.
  19. 제 17항에 있어서,
    상기 제1 그래픽 유저 인터페이스는,
    상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터를 비교하여, 상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터 사이의 오차가 임계값보다 작다고 판단되면 상기 데이터베이스의 상기 회복 시뮬레이션 데이터를 업데이트하는 자동 칼리브레이터(calibrator)를 더 포함하는 컴퓨팅 시스템.
  20. 제 17항에 있어서,
    상기 전처리 실물 데이터를 주기적으로 수신하여, 상기 데이터베이스에 상기 전처리 실물 데이터를 주기적으로 전송하는 데이터 로더를 더 포함하는 컴퓨팅 시스템.
KR1020200145942A 2020-11-04 2020-11-04 반도체 설계 자동화 시스템 및 이를 포함하는 컴퓨팅 시스템 KR20220060214A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200145942A KR20220060214A (ko) 2020-11-04 2020-11-04 반도체 설계 자동화 시스템 및 이를 포함하는 컴퓨팅 시스템
US17/395,594 US11687696B2 (en) 2020-11-04 2021-08-06 Semiconductor design automation system and computing system including the same
CN202111289296.XA CN114444249A (zh) 2020-11-04 2021-11-02 半导体设计自动化系统和包括其的计算系统
US18/316,405 US20230281375A1 (en) 2020-11-04 2023-05-12 Semiconductor design automation system and computing system including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200145942A KR20220060214A (ko) 2020-11-04 2020-11-04 반도체 설계 자동화 시스템 및 이를 포함하는 컴퓨팅 시스템

Publications (1)

Publication Number Publication Date
KR20220060214A true KR20220060214A (ko) 2022-05-11

Family

ID=81362757

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200145942A KR20220060214A (ko) 2020-11-04 2020-11-04 반도체 설계 자동화 시스템 및 이를 포함하는 컴퓨팅 시스템

Country Status (3)

Country Link
US (2) US11687696B2 (ko)
KR (1) KR20220060214A (ko)
CN (1) CN114444249A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116341471B (zh) * 2023-03-30 2023-11-24 广西中科蓝谷半导体科技有限公司 一种半导体功率器件特性的版图结构仿真设计方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7792595B1 (en) 2004-03-30 2010-09-07 Synopsys, Inc. Method and system for enhancing the yield in semiconductor manufacturing
US7949618B2 (en) 2007-03-28 2011-05-24 Tokyo Electron Limited Training a machine learning system to determine photoresist parameters
US8453102B1 (en) 2010-03-12 2013-05-28 Worldwide Pro Ltd. Hierarchical variation analysis of integrated circuits
US8515724B2 (en) 2010-06-22 2013-08-20 International Business Machines Corporation Technology computer-aided design (TCAD)-based virtual fabrication
US8468471B2 (en) 2011-09-23 2013-06-18 Kla-Tencor Corp. Process aware metrology
US10489212B2 (en) 2013-09-26 2019-11-26 Synopsys, Inc. Adaptive parallelization for multi-scale simulation
US10452793B2 (en) 2014-08-26 2019-10-22 International Business Machines Corporation Multi-dimension variable predictive modeling for analysis acceleration
US10387596B2 (en) 2014-08-26 2019-08-20 International Business Machines Corporation Multi-dimension variable predictive modeling for yield analysis acceleration
US10943036B2 (en) 2016-03-08 2021-03-09 Az, Llc Virtualization, visualization and autonomous design and development of objects
US10678973B2 (en) 2017-03-15 2020-06-09 Taiwan Semiconductor Manufacturing Co., Ltd. Machine-learning design enablement platform
US10248747B1 (en) 2017-05-05 2019-04-02 Cadence Design Systems, Inc. Integrated circuit simulation with data persistency for efficient memory usage
US10691864B2 (en) 2017-11-14 2020-06-23 Taiwan Semiconductor Manufacturing Co., Ltd. Method of post optical proximity correction (OPC) printing verification by machine learning
US10735115B2 (en) * 2018-07-31 2020-08-04 Nxp B.V. Method and system to enhance accuracy and resolution of system integrated scope using calibration data

Also Published As

Publication number Publication date
US20220138397A1 (en) 2022-05-05
US11687696B2 (en) 2023-06-27
CN114444249A (zh) 2022-05-06
US20230281375A1 (en) 2023-09-07

Similar Documents

Publication Publication Date Title
JP7097757B2 (ja) 仮想半導体デバイス製作環境におけるキーパラメータ識別、プロセスモデル較正、及び変動性解析のためのシステムと方法
Mirhoseini et al. A graph placement methodology for fast chip design
US11520956B2 (en) Systems and methods for automatically realizing models for co-simulation
US11544604B2 (en) Adaptive model insights visualization engine for complex machine learning models
CN110728096B (zh) 制造集成电路的方法和设计集成电路的计算系统
US10402520B2 (en) First principles design automation tool
US20190339670A1 (en) System and method for lattice structure design for additive manufacturing
US20180173822A1 (en) Corner Database Generator
US20230281375A1 (en) Semiconductor design automation system and computing system including the same
US8869081B2 (en) Automating integrated circuit device library generation in model based metrology
US20240020536A1 (en) Processor architecture and model exploration system for deep learning
US20200201955A1 (en) Design system and method employing three-dimensional (3d) emulation of in-kerf optical macros
US11842130B1 (en) Model-based simulation result predictor for circuit design
EP4356168A1 (en) Systems and methods for mapping seismic data to reservoir properties for reservoir modeling
CN115803710A (zh) 用于在工程系统中生成工程设计的方法和系统
Kumar et al. Machine Learning Techniques for VLSI Chip Design
WO2020056107A1 (en) Automated simulation pipeline for fast simulation driven computer aided design
JP7489876B2 (ja) モデル解析装置、モデル解析方法、及びプログラム
US20240311679A1 (en) Attention-based neural networks for quantum computing simulations
US20240152669A1 (en) Physics-enhanced deep surrogate
US20240303536A1 (en) Machine Learning with Data Driven Optimization Using Iterative Neighborhood Selection
US20240303178A1 (en) Proactively identifying errors in technical documentation code
US20240330093A1 (en) Estimating propagation time for an injected fault
US20240143864A1 (en) APPLICATION OF nD-ROMs ON A RESTRICTED GEOMETRY FOR REAL-TIME TOPOLOGY OPTIMIZATION
KR20240059092A (ko) 반도체 설계 과정에서 데이터베이스 기반의 자동 시뮬레이션 방법, 이를 수행하는 자동 시뮬레이션 생성 장치 및 반도체 설계 자동화 시스템

Legal Events

Date Code Title Description
A201 Request for examination