KR20220060214A - 반도체 설계 자동화 시스템 및 이를 포함하는 컴퓨팅 시스템 - Google Patents
반도체 설계 자동화 시스템 및 이를 포함하는 컴퓨팅 시스템 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/31—Design entry, e.g. editors specifically adapted for circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/18—Details relating to CAD techniques using virtual or augmented reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/02—Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/18—Manufacturability analysis or optimisation for manufacturability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/20—Design 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
본 발명은 반도체 설계 자동화 시스템 및 이를 포함하는 컴퓨팅 시스템에 관한 것이다.
반도체가 고집적화, 및 미세화됨에 따라, 반도체 소자를 설계하고 제조하는 각 단계의 요인들이 복합적으로 작용하여, 반도체 소자에서 의도치 않은 다양한 전기적 특성이 발생할 수 있다. 따라서, 반도체 공정 및 소자의 한계를 극복하고 현상에 대한 이해 및 실험 비용 절감을 위해 물리적 시뮬레이션에 기반을 둔 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는 몇몇 실시예들에 따른 반도체 설계 자동화 시스템을 포함하는 컴퓨팅 시스템을 설명하기 위한 예시적인 블록도이다.
도 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: 가상 시각화 모듈
200: 데이터 베이스
300: 정합성 유지 모듈
400: 가상 시각화 모듈
Claims (20)
- 시뮬레이션 데이터를 생성하는 시뮬레이터;
상기 시뮬레이션 데이터의 샘플링 오류를 회복하여 회복 시뮬레이션 데이터를 생성하는 리커버리 모듈;
실물 데이터를 생성하는 하드웨어 데이터 모듈;
상기 실물 데이터를 전처리하여 전처리 실물 데이터를 생성하는 전처리 모듈;
상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터를 저장하는 데이터베이스;
상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터의 기계 학습 모델을 생성하고 그로부터 예측 실물 데이터를 생성하는 자동 시뮬레이션 생성기를 포함하는 제1 그래픽 유저 인터페이스; 및
상기 기계 학습 모델로부터 예측 실물 데이터와 시각화된 가상 공정 결과를 생성하는 시각화 유닛을 포함하는 제2 그래픽 유저 인터페이스를 포함하는 반도체 설계 자동화 시스템. - 제 1항에 있어서,
상기 회복 시뮬레이션 데이터를 수신받아 파싱(parsing)을 수행하는 파서(parser)를 더 포함하는 반도체 설계 자동화 시스템. - 제 1항에 있어서,
상기 제1 그래픽 유저 인터페이스는,
상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터를 비교하여, 상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터 사이의 오차가 임계값보다 작다고 판단되면 상기 데이터베이스의 상기 회복 시뮬레이션 데이터를 업데이트하는 자동 칼리브레이터(calibrator)를 더 포함하는 반도체 설계 자동화 시스템. - 제 1항에 있어서,
상기 전처리 실물 데이터를 주기적으로 수신하여, 상기 데이터베이스에 상기 전처리 실물 데이터를 주기적으로 전송하는 데이터 로더를 더 포함하는 반도체 설계 자동화 시스템. - 제 1항에 있어서,
상기 제1 그래픽 유저 인터페이스는,
상기 예측 실물 데이터를 상기 전처리 실물 데이터와 비교하여, 상기 예측 실물 데이터와 상기 전처리 실물 데이터 사이의 오차가 임계값보다 작다고 판단되면 상기 데이터베이스의 상기 회복 시뮬레이션 데이터를 업데이트하는 자동 분류 블록을 더 포함하는 반도체 설계 자동화 시스템. - 제 1항에 있어서,
상기 예측 실물 데이터를 수신하고, 상기 제2 그래픽 유저 인터페이스에 전송하는 시뮬레이션 덱(deck)을 더 포함하는 반도체 설계 자동화 시스템. - 제 1항에 있어서,
상기 시각화 유닛은 상기 예측 실물 데이터의 포맷을 상기 가상 공정 결과를 시각화할 포맷으로 변경하는 컨버터를 더 포함하는 반도체 설계 자동화 시스템. - 제 1항에 있어서,
상기 제2 그래픽 유저 인터페이스는,
상기 예측 실물 데이터를 바탕으로 가상 공정을 수행하는 가상 프로세싱 유닛을 더 포함하는 반도체 설계 자동화 시스템. - 시뮬레이션 데이터를 생성하는 시뮬레이터와, 상기 시뮬레이션 데이터의 샘플링 오류를 회복하여 회복 시뮬레이션 데이터를 생성하는 리커버리 모듈과, 실물 데이터를 생성하는 하드웨어 데이터 모듈과, 상기 실물 데이터를 전처리하여 전처리 실물 데이터를 생성하는 전처리 모듈을 포함하는 자동화 모듈;
상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터를 저장하는 데이터베이스;
상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터의 기계 학습 모델을 생성하고 그로부터 예측 실물 데이터를 생성하는 자동 시뮬레이션 생성기를 포함하는 제1 그래픽 유저 인터페이스를 포함하는 정합성 유지 모듈; 및
상기 기계 학습 모델로부터 예측 실물 데이터와 시각화된 가상 공정 결과를 생성하는 제2 그래픽 유저 인터페이스를 포함하는 가상 시각화 모듈을 포함하는 반도체 설계 자동화 시스템. - 제 9항에 있어서,
상기 회복 시뮬레이션 데이터를 수신받아 파싱(parsing)을 수행하는 파서(parser)를 더 포함하는 반도체 설계 자동화 시스템. - 제 9항에 있어서,
상기 제1 그래픽 유저 인터페이스는,
상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터를 비교하여, 상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터 사이의 오차가 임계값보다 작다고 판단되면 상기 데이터베이스의 상기 회복 시뮬레이션 데이터를 업데이트하는 자동 칼리브레이터(calibrator)를 더 포함하는 반도체 설계 자동화 시스템. - 제 11항에 있어서,
상기 전처리 실물 데이터를 주기적으로 수신하여, 상기 데이터베이스에 상기 전처리 실물 데이터를 주기적으로 전송하는 데이터 로더를 더 포함하는 반도체 설계 자동화 시스템. - 제 9항에 있어서,
상기 제1 그래픽 유저 인터페이스는,
상기 예측 실물 데이터를 상기 전처리 실물 데이터와 비교하여, 상기 예측 실물 데이터와 상기 전처리 실물 데이터 사이의 오차가 임계값보다 작다고 판단되면 상기 데이터베이스의 상기 회복 시뮬레이션 데이터를 업데이트하는 자동 분류 블록을 더 포함하는 반도체 설계 자동화 시스템. - 제 9항에 있어서,
상기 예측 실물 데이터를 수신하고, 상기 제2 그래픽 유저 인터페이스에 전송하는 시뮬레이션 덱(deck)을 더 포함하는 반도체 설계 자동화 시스템. - 제 9항에 있어서,
상기 시각화 유닛은 상기 예측 실물 데이터의 포맷을 상기 가상 공정 결과를 시각화할 포맷으로 변경하는 컨버터를 더 포함하는 반도체 설계 자동화 시스템. - 제 9항에 있어서,
상기 제2 그래픽 유저 인터페이스는,
상기 예측 실물 데이터를 바탕으로 가상 공정을 수행하는 가상 프로세싱 유닛을 더 포함하는 반도체 설계 자동화 시스템. - 사용자의 입력 및 출력을 제어하는 입출력 장치;
상기 입출력 장치를 버스를 통해 제어하는 프로세서;
반도체 설계 자동화 시뮬레이션 프로그램이 저장된 메모리를 포함하되,
상기 반도체 설계 자동화 시뮬레이션 프로그램은,
시뮬레이션 데이터를 생성하는 시뮬레이터;
상기 시뮬레이션 데이터의 샘플링 오류를 회복하여 회복 시뮬레이션 데이터를 생성하는 리커버리 모듈;
실물 데이터를 생성하는 하드웨어 데이터 모듈;
상기 실물 데이터를 전처리하여 전처리 실물 데이터를 생성하는 전처리 모듈;
상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터를 저장하는 데이터베이스;
상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터의 기계 학습 모델을 생성하고 그로부터 예측 실물 데이터를 생성하는 자동 시뮬레이션 생성기를 포함하는 제1 그래픽 유저 인터페이스; 및
상기 기계 학습 모델로부터 예측 실물 데이터와 시각화된 가상 공정 결과를 생성하는 제2 그래픽 유저 인터페이스를 포함하는 컴퓨팅 시스템. - 제 17항에 있어서,
상기 회복 시뮬레이션 데이터를 수신받아 파싱(parsing)을 수행하는 파서(parser)를 더 포함하는 컴퓨팅 시스템. - 제 17항에 있어서,
상기 제1 그래픽 유저 인터페이스는,
상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터를 비교하여, 상기 회복 시뮬레이션 데이터와 상기 전처리 실물 데이터 사이의 오차가 임계값보다 작다고 판단되면 상기 데이터베이스의 상기 회복 시뮬레이션 데이터를 업데이트하는 자동 칼리브레이터(calibrator)를 더 포함하는 컴퓨팅 시스템. - 제 17항에 있어서,
상기 전처리 실물 데이터를 주기적으로 수신하여, 상기 데이터베이스에 상기 전처리 실물 데이터를 주기적으로 전송하는 데이터 로더를 더 포함하는 컴퓨팅 시스템.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116341471B (zh) * | 2023-03-30 | 2023-11-24 | 广西中科蓝谷半导体科技有限公司 | 一种半导体功率器件特性的版图结构仿真设计方法 |
Family Cites Families (13)
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 |
-
2020
- 2020-11-04 KR KR1020200145942A patent/KR20220060214A/ko active Search and Examination
-
2021
- 2021-08-06 US US17/395,594 patent/US11687696B2/en active Active
- 2021-11-02 CN CN202111289296.XA patent/CN114444249A/zh active Pending
-
2023
- 2023-05-12 US US18/316,405 patent/US20230281375A1/en active Pending
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 |