KR102285516B1 - Semiconductor device modeling method and system - Google Patents
Semiconductor device modeling method and system Download PDFInfo
- Publication number
- KR102285516B1 KR102285516B1 KR1020210016591A KR20210016591A KR102285516B1 KR 102285516 B1 KR102285516 B1 KR 102285516B1 KR 1020210016591 A KR1020210016591 A KR 1020210016591A KR 20210016591 A KR20210016591 A KR 20210016591A KR 102285516 B1 KR102285516 B1 KR 102285516B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- semiconductor device
- neural network
- charge
- capacitance
- 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/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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G06N3/0454—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/06—Structured ASICs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S706/00—Data processing: artificial intelligence
- Y10S706/902—Application using ai with detail of the ai system
- Y10S706/919—Designing, planning, programming, CAD, CASE
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
Description
본 발명은 반도체 소자 모델링 방법 및 시스템에 관한 것으로, 상세하게는 신경망을 이용한 반도체 소자 모델링 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for modeling a semiconductor device, and more particularly, to a method and system for modeling a semiconductor device using a neural network.
하나의 반도체 칩은 복수의 트랜지스터들로 구현된다. 상기 하나의 반도체 칩을 설계하는 과정에서 트랜지스터들, 캐패시터들, 및 저항들 사이의 접속을 서술(description of the connectivity)하는 넷리스트(netlist)가 생성된다. 상기 넷리스트와 컴팩 모델(compact model)은 상기 트랜지스터들 각각의 동작을 시뮬레이션하기 위해 SPICE(Simulation Program for Integrated Circuit Emphasis)와 같은 시뮬레이터(simulator)에서 이용된다. One semiconductor chip is implemented with a plurality of transistors. In the process of designing the single semiconductor chip, a netlist describing the connectivity between transistors, capacitors, and resistors is created. The netlist and compact model are used in a simulator such as a Simulation Program for Integrated Circuit Emphasis (SPICE) to simulate the operation of each of the transistors.
상기 컴팩 모델은 하나의 반도체 칩을 구성하는 회로 소자들의 행동(behavior)의 간단한 수식적 서술(simple mathematical descriptions)이다. 상기 컴팩 모델은 전류-전압(I-V), 또는 커패시턴스-전압(C-V)와 관련하여 회로 소자들의 단자 행위(terminal behavior)를 서술한다. 종래의 컴팩 모델에서는 소자의 동작을 물리적으로 해석하여 수식이 생성되고, 소자의 파라미터들이 추출된다. 종래의 컴팩 모델은 상기 수식의 생성과 파라미터들의 추출에 오랜 시간이 걸린다는 단점이 있었다. 또한, 반도체 소자의 사이즈가 작아지고, 새로운 반도체 물질들이 사용됨에 따라 종래의 컴팩 모델을 이용하여 추출된 파라미터들을 정확하게 추출하기 더 어려워졌다는 문제점이 있었다. The compact model is simple mathematical descriptions of the behavior of circuit elements constituting one semiconductor chip. The compact model describes the terminal behavior of circuit elements in terms of current-voltage (I-V), or capacitance-voltage (C-V). In the conventional compact model, an equation is generated by physically analyzing the operation of the device, and parameters of the device are extracted. The conventional compact model has a disadvantage in that it takes a long time to generate the equation and extract the parameters. In addition, as the size of the semiconductor device becomes smaller and new semiconductor materials are used, there is a problem in that it is more difficult to accurately extract parameters extracted using the conventional compact model.
본 발명이 이루고자 하는 기술적인 과제는 종래의 복잡한 수식을 이용한 컴팩 모델 대신에 신경망을 이용한 컴팩 모델을 생성하는 반도체 소자 모델링 방법 및 시스템을 제공하는 것이다. An object of the present invention is to provide a semiconductor device modeling method and system for generating a compact model using a neural network instead of a conventional compact model using a complex equation.
본 발명의 실시 예에 따른 명령들을 저장하는 메모리와 상기 명령들을 실행하는 프로세서를 포함하는 반도체 소자 모델링 시스템의 반도체 소자 모델링 방법은 상기 프로세서는 제1신경망(neural network)을 훈련시키기 위해 제1반도체 소자의 복수의 제1전압 데이터 세트들과, 제1전기용량(capacitance) 데이터, 제1전류 데이터, 또는 제1전하 데이터를 포함하는 제1훈련 데이터를 수신하는 단계, 상기 프로세서는 상기 복수의 제1전압 데이터 세트들을 상기 제1신경망의 입력에 적용하여 제2전기용량 데이터, 제2전류 데이터, 또는 제2전하 데이터를 결정하는 단계, 상기 프로세서는 상기 수신된 제1전기용량 데이터, 상기 수신된 제1전류 데이터, 또는 상기 제1전하 데이터와, 상기 결정된 제2전기용량 데이터, 상기 결정된 제2전류 데이터, 또는 상기 결정된 제2전하 데이터의 비교에 따라 상기 제1신경망의 파라미터들(parameters)을 업데이트하는 단계, 상기 프로세서는 제2신경망에서 상기 제1신경망의 업데이트된 파라미터들 중 적어도 어느 하나를 재사용(reuse)하기 위해 상기 파라미터들 중 적어도 어느 하나를 상기 제2신경망으로 전달하는 단계, 상기 프로세서는 상기 제2신경망을 훈련시키기 위해 제2반도체 소자의 복수의 제2전압 데이터 세트들과, 제3전기용량 데이터, 제3전류 데이터, 또는 제3전하 데이터를 포함하는 제2훈련 데이터 세트들을 수신하는 단계, 상기 프로세서는 상기 복수의 제2전압 데이터 세트들을 상기 제2신경망의 입력에 적용하여 제4전기용량 데이터, 제4전류 데이터, 또는 제4전하 데이터를 결정하는 단계, 및 상기 프로세서는 상기 수신된 제3전기용량 데이터, 상기 수신된 제3전류 데이터, 또는 상기 수신된 제3전하 데이터와, 상기 결정된 제4전기용량 데이터, 상기 결정된 제4전류 데이터, 또는 상기 결정된 제4전하 데이터의 비교에 따라 상기 제2신경망의 파라미터들을 업데이트하는 단계를 포함한다. In the semiconductor device modeling method of a semiconductor device modeling system including a memory for storing instructions and a processor for executing the instructions according to an embodiment of the present invention, the processor is configured to train a first semiconductor device in order to train a first neural network. receiving first training data comprising a plurality of first voltage data sets of applying voltage data sets to an input of the first neural network to determine second capacitive data, second current data, or second charge data, wherein the processor is configured to: Update parameters of the first neural network according to comparison of first current data, or the first charge data, and the determined second capacitance data, the determined second current data, or the determined second charge data transmitting, by the processor, at least one of the parameters to the second neural network in order to reuse at least one of the updated parameters of the first neural network in a second neural network, the processor Receiving a plurality of second voltage data sets of a second semiconductor device and second training data sets including third capacitance data, third current data, or third charge data to train the second neural network step, the processor determining a fourth capacitive data, a fourth current data, or the fourth charge data by applying a plurality of the second voltage data set at the input of said second neural network, and wherein the processor is the Comparison of the received third capacitance data, the received third current data, or the received third charge data, and the determined fourth capacitance data, the determined fourth current data, or the determined fourth charge data and updating the parameters of the second neural network according to
상기 수신된 제3전기용량 데이터와 상기 결정된 제4전기용량 데이터 각각은 전압의 변화에 대한 전하의 변화율로 표현된다. 상기 전압의 변화에 대한 전하의 변화율로 표현된 상기 수신된 제3전기용량 데이터와 상기 결정된 제4전기용량 데이터의 비교에 따라 상기 제2신경망의 파라미터들이 업데이트된다.Each of the received third capacitive data and the determined fourth capacitive data is expressed as a rate of change of electric charge with respect to change of voltage. The parameters of the second neural network are updated according to the comparison of the received third capacitive data expressed as a rate of change of charge with respect to the change of voltage and the determined fourth capacitive data.
일 실시 예에 따라 상기 반도체 소자 모델링 시스템의 반도체 소자 모델링 방법은 상기 프로세서는 상기 제1신경망, 또는 상기 제2신경망의 하이퍼파라미터를 자동으로 설정하기 위해 목표 함수와, 상기 하이퍼파라미터 변수에 따른 상기 목표 함수의 표준편차를 나타내는 획득 함수를 설정하는 단계, 상기 프로세서는 상기 하이퍼파라미터 변수를 임의로 선택하여 임의의 선택된 하이퍼파라미터 변수를 상기 제1신경망, 또는 상기 제2신경망에 적용하여 출력된 출력값과 목표값의 차이를 의미하는 손실값을 출력하는 출력 동작을 수행하는 단계, 상기 프로세서는 상기 획득 함수에서 상기 임의의 선택된 하이퍼파라미터 변수에 따른 상기 목표 함수의 표준편차를 계산하는 계산 동작을 수행하는 단계, 상기 프로세서는 상기 출력된 손실값과 상기 획득 함수에서 계산된 표준편차에 따라 상기 목표 함수를 수정하는 수정 동작을 수행하는 단계, 및 상기 프로세서는 수렴할 때까지 상기 출력 동작, 상기 계산 동작, 및 상기 수정 동작을 반복적으로 수행하고 수행 결과, 상기 손실값이 최소일 때의 하이퍼파라미터 변수를 상기 제1신경망, 또는 상기 제2신경망의 하이퍼파라미터로 설정하는 단계를 더 포함한다. According to an embodiment, in the semiconductor device modeling method of the semiconductor device modeling system, the processor includes a target function to automatically set a hyperparameter of the first neural network or the second neural network, and the target according to the hyperparameter variable. setting an acquisition function representing the standard deviation of a function, wherein the processor arbitrarily selects the hyperparameter variable and applies the randomly selected hyperparameter variable to the first neural network or the second neural network to output an output value and a target value performing an output operation of outputting a loss value indicating a difference of performing, by a processor, a correction operation for modifying the target function according to the output loss value and the standard deviation calculated in the acquisition function, and the processor performs the output operation, the calculation operation, and the correction until convergence The method further includes the step of repeatedly performing the operation and, as a result of the execution, setting a hyperparameter variable when the loss value is minimum as a hyperparameter of the first neural network or the second neural network.
상기 전압의 변화에 대한 전하의 변화율로 표현된 상기 수신된 제3전기용량 데이터와 상기 결정된 제4전기용량 데이터의 비교에 따라 업데이트된 상기 제2신경망을 통해 전하 데이터가 추론된다. Charge data is inferred through the updated second neural network according to the comparison of the received third capacitance data and the determined fourth capacitance data expressed as a rate of change of charge with respect to the change in voltage.
상기 파라미터들은 가중치 행렬과 편향 벡터를 포함한다. The parameters include a weight matrix and a bias vector.
상기 제1신경망에 포함된 가중치 행렬들과 편향 벡터들의 일부와 상기 제2신경망에 포함된 가중치 행렬들과 편향 벡터들의 일부는 공통된다. A part of weight matrices and bias vectors included in the first neural network and a part of weight matrices and bias vectors included in the second neural network are common.
상기 반도체 소자 모델링 시스템의 사용자에 의해 상기 제1전기용량 데이터, 상기 제1전류 데이터, 및 상기 제1전하 데이터 중 적어도 하나 이상이 선택된다. At least one of the first capacitance data, the first current data, and the first charge data is selected by a user of the semiconductor device modeling system.
상기 반도체 소자 모델링 시스템의 반도체 소자 모델링 방법은, 상기 프로세서는 상기 제2신경망의 훈련이 끝난 후 상기 제2신경망에 상기 제2반도체 소자의 복수의 제3전압 데이터 세트들을 적용하여 상기 제2신경망에서 제5전류 데이터, 또는 제5전하 데이터를 추론하는 단계, 및 상기 프로세서는 상기 제2반도체 소자의 복수의 제3전압 데이터 세트들과, 제5전류 데이터, 또는 제5전하 데이터의 관계를 나태는 룩업 테이블을 생성하고 상기 룩업 테이블에 기반하여 신경망이 적용된 컴팩 모델로 출력하는 단계를 더 포함한다. In the semiconductor device modeling method of the semiconductor device modeling system, the processor applies a plurality of third voltage data sets of the second semiconductor device to the second neural network after training of the second neural network is completed in the second neural network. inferring fifth current data, or fifth charge data, and the processor indicating a relationship between a plurality of third voltage data sets of the second semiconductor device and fifth current data, or fifth charge data The method further includes generating a lookup table and outputting it as a compact model to which a neural network is applied based on the lookup table.
실시 예에 따라 상기 반도체 소자 모델링 시스템의 반도체 소자 모델링 방법은 상기 프로세서는 상기 제2신경망의 훈련이 끝난 후 상기 제2신경망에 상기 제2반도체 소자의 복수의 제3전압 데이터 세트들을 적용하여 상기 제2신경망에서 제5전류 데이터, 또는 제5전하 데이터를 추론하는 단계, 및 상기 프로세서는 상기 제2반도체 소자의 복수의 제3전압 데이터 세트들과, 제5전류 데이터, 또는 제5전하 데이터의 관계를 나타내는 결과물을 신경망이 적용된 컴팩 모델로 출력하는 단계를 더 포함할 수 있다. According to an embodiment, in the method of modeling a semiconductor device of the semiconductor device modeling system, the processor applies a plurality of third voltage data sets of the second semiconductor device to the second neural network after training of the second neural network is completed to apply the second voltage data set. inferring fifth current data or fifth charge data in a second neural network, and the processor relates to a plurality of third voltage data sets of the second semiconductor device and fifth current data or fifth charge data The method may further include outputting a result representing ? as a compact model to which a neural network is applied.
실시 예에 따라 상기 반도체 소자 모델링 시스템의 반도체 소자 모델링 방법은, 상기 프로세서는 상기 제1신경망, 또는 상기 제2신경망을 훈련시키기 위해 상기 제1반도체 소자의 특성 데이터 세트들, 또는 상기 제2반도체 소자의 특성 데이터 세트들을 수신하는 단계, 상기 프로세서는 상기 수신된 상기 제1반도체 소자의 상기 복수의 제1전압 데이터 세트들과 상기 제1반도체 소자의 특성 데이터 세트들을 이용하여 상기 제2전기 용량 데이터, 상기 제2전류 데이터, 또는 제2전하 데이터를 결정하는 단계, 및 상기 프로세서는 상기 수신된 제2반도체 소자의 상기 복수의 제2전압 데이터 세트들과 상기 제2반도체 소자의 특성 데이터 세트들을 이용하여 상기 제4전기 용량 데이터, 상기 제4전류 데이터, 또는 제4전하 데이터를 결정하는 단계를 더 포함할 수 있다.According to an embodiment, in the semiconductor device modeling method of the semiconductor device modeling system, the processor configures the characteristic data sets of the first semiconductor device or the second semiconductor device to train the first neural network or the second neural network. receiving, by the processor, the second capacitance data using the plurality of first voltage data sets of the received first semiconductor device and the characteristic data sets of the first semiconductor device; determining the second current data or second charge data, and the processor using the plurality of second voltage data sets of the received second semiconductor device and characteristic data sets of the second semiconductor device The method may further include determining the fourth capacitance data, the fourth current data, or the fourth charge data.
본 발명의 실시 예에 따른 반도체 소자 모델링 시스템은 명령들을 저장하는 메모리, 및 상기 명령들을 실행하는 프로세서를 포함한다. A semiconductor device modeling system according to an embodiment of the present invention includes a memory for storing instructions, and a processor for executing the instructions.
상기 명령들은 제1신경망을 훈련시키기 위해 제1반도체 소자의 복수의 제1전압 데이터 세트들과, 제1전기용량 데이터, 제1전류 데이터, 또는 제1전하 데이터를 포함하는 제1훈련 데이터 세트들을 수신하며, 상기 복수의 제1전압 데이터 세트들을 상기 제1신경망의 입력에 적용하여 제2전기용량 데이터, 제2전류 데이터, 또는 제2전하 데이터를 결정하며, 상기 수신된 제1전기용량 데이터, 상기 수신된 제1전류 데이터, 또는 상기 제1전하 데이터와, 상기 결정된 제2전기용량 데이터, 상기 결정된 제2전류 데이터, 또는 상기 결정된 제2전하 데이터의 비교에 따라 상기 제1신경망의 파라미터들을 업데이트하며, 제2신경망에서 상기 제1신경망의 업데이트된 파라미터들 중 적어도 어느 하나를 재사용하기 위해 상기 파라미터들 중 적어도 어느 하나를 상기 제2신경망으로 전달하며, 상기 제2신경망을 훈련시키기 위해 제2반도체 소자의 복수의 제2전압 데이터 세트들과, 제3전기용량 데이터, 제3전류 데이터, 또는 제3전하데이터를 포함하는 제2훈련 데이터 세트들을 수신하며, 상기 복수의 제2전압 데이터 세트들을 상기 제2신경망의 입력에 적용하여 제4전기용량 데이터, 제4전류 데이터, 또는 제4전하 데이터를 결정하며, 상기 수신된 제3전기용량 데이터, 상기 수신된 제3전류 데이터, 또는 상기 수신된 제3전하 데이터와, 상기 결정된 제4전기용량 데이터, 상기 결정된 제4전류 데이터, 또는, 상기 결정된 제4전하 데이터의 비교에 따라 상기 제2신경망의 파라미터들을 업데이트하도록 구현된다.The instructions include a plurality of first voltage data sets of a first semiconductor device and first training data sets including first capacitance data, first current data, or first charge data to train a first neural network. receiving, applying the plurality of first voltage data sets to an input of the first neural network to determine second capacitive data, second current data, or second charge data, the received first capacitive data; updating parameters of the first neural network according to a comparison of the received first current data, or the first charge data, with the determined second capacitance data, the determined second current data, or the determined second charge data In order to reuse at least one of the updated parameters of the first neural network in a second neural network, at least one of the parameters is transferred to the second neural network, and a second semiconductor is used to train the second neural network. Receive a second training data set comprising a plurality of second voltage data sets of a device and a third capacitance data, a third current data, or a third charge data, wherein the plurality of second voltage data sets are applied to an input of a second neural network to determine a fourth capacitive data, a fourth current data, or a fourth charge data, wherein the received third capacitive data, the received third current data, or the received first and update parameters of the second neural network according to a comparison of three charge data, the determined fourth capacitance data, the determined fourth current data, or the determined fourth charge data.
상기 명령들은 상기 제1신경망, 또는 상기 제2신경망의 하이퍼파라미터를 자동으로 설정하기 위해 목표 함수와, 상기 하이퍼파라미터 변수에 따른 상기 목표 함수의 표준편차를 나타내는 획득 함수를 설정하며, 상기 하이퍼파라미터 변수를 임의로 선택하여 상기 임의로 선택된 하이퍼파라미터 변수를 상기 제1신경망, 또는 상기 제2신경망에 적용하여 출력된 출력값과 목표값의 차이를 의미하는 손실값을 출력하는 출력 동작을 수행하며, 상기 획득 함수에서 임의의 선택된 하이퍼파라미터 변수에 따른 상기 목표 함수의 표준편차를 계산하는 계산 동작을 수행하며, 상기 출력된 손실값과 상기 획득 함수에서 계산된 표준편차에 따라 상기 목표 함수를 수정하는 수정 동작을 수행하며, 수렴할 때까지 상기 출력 동작, 상기 계산 동작, 및 상기 수정 동작을 반복적으로 수행하고 수행 결과, 상기 손실값이 최소일 때의 하이퍼파라미터 변수를 상기 제1신경망, 또는 상기 제2신경망의 하이퍼파라미터로 설정하도록 구현된다.The instructions set a target function for automatically setting a hyperparameter of the first neural network or the second neural network, and an acquisition function representing a standard deviation of the target function according to the hyperparameter variable, the hyperparameter variable arbitrarily selects and applies the arbitrarily selected hyperparameter variable to the first neural network or the second neural network to perform an output operation of outputting a loss value indicating a difference between an output value and a target value, and in the acquisition function performing a calculation operation of calculating the standard deviation of the target function according to an arbitrary selected hyperparameter variable, and performing a correction operation of correcting the target function according to the output loss value and the standard deviation calculated by the acquisition function; , the output operation, the calculation operation, and the correction operation are repeatedly performed until convergence, and as a result of the execution, the hyperparameter variable when the loss value is the minimum is set as a hyperparameter of the first neural network or the second neural network. It is implemented to set
상기 수신된 제3전기용량 데이터(CT2, 또는 CT3)와 상기 결정된 제4전기용량 데이터 각각은 전압의 변화에 대한 전하의 변화율로 표현되며, 상기 전압의 변화에 대한 전하의 변화율로 표현된 상기 수신된 제3전기용량 데이터와 상기 결정된 제4전기용량 데이터의 비교에 따라 상기 제2신경망의 파라미터들이 업데이트된다. Each of the received third capacitive data CT2 or CT3 and the determined fourth capacitive data is expressed as a rate of change of charge with respect to a change in voltage, and the reception expressed as a rate of change of charge with respect to a change of voltage. The parameters of the second neural network are updated according to the comparison of the determined third capacitive data with the determined fourth capacitive data.
상기 명령들은 상기 제2신경망의 훈련이 끝난 후 상기 제2신경망에 상기 제2반도체 소자의 복수의 제3전압 데이터 세트들을 적용하여 상기 제2신경망에서 제5전류 데이터, 또는 제5전하 데이터를 추론하며, 상기 제2반도체 소자의 복수의 제3전압 데이터 세트들과, 제5전류 데이터, 또는 제5전하 데이터의 관계를 나타내는 결과물을 신경망이 적용된 컴팩 모델로 출력하도록 구현된다. The commands apply a plurality of third voltage data sets of the second semiconductor device to the second neural network after training of the second neural network is completed to infer fifth current data or fifth charge data from the second neural network. and outputting a result representing a relationship between a plurality of third voltage data sets of the second semiconductor device, fifth current data, or fifth charge data as a compact model to which a neural network is applied.
실시 예에 따라 상기 명령들은 상기 제1신경망, 또는 상기 제2신경망을 훈련시키기 위해 상기 제1반도체 소자의 특성 데이터 세트들, 또는 상기 제2반도체 소자의 특성 데이터 세트들을 수신하며, 상기 수신된 상기 제1반도체 소자의 상기 복수의 제1전압 데이터 세트들과 상기 제1반도체 소자의 특성 데이터 세트들을 이용하여 상기 제2전기 용량 데이터, 상기 제2전류 데이터, 또는 제2전하 데이터를 결정하며, 상기 수신된 제2반도체 소자의 상기 복수의 제2전압 데이터 세트들과 상기 제2반도체 소자의 특성 데이터 세트들을 이용하여 상기 제4전기 용량 데이터, 상기 제4전류 데이터, 또는 제4전하 데이터를 결정하도록 구현된다. According to an embodiment, the instructions receive characteristic data sets of the first semiconductor device or characteristic data sets of the second semiconductor device for training the first neural network or the second neural network, wherein the received determining the second capacitance data, the second current data, or the second charge data using the plurality of first voltage data sets of a first semiconductor device and characteristic data sets of the first semiconductor device, to determine the fourth capacitance data, the fourth current data, or the fourth charge data using the received plurality of second voltage data sets of the second semiconductor device and the characteristic data sets of the second semiconductor device. is implemented
본 발명의 실시 예에 따른 반도체 소자 모델링 방법 및 시스템은 신경망을 적용한 컴팩 모델을 생성함으로써 종래의 복잡한 수식의 생성과 파라미터 추출에 오랜 시간이 걸리는 컴팩 모델의 단점들을 극복할 수 있다는 효과가 있다. The semiconductor device modeling method and system according to an embodiment of the present invention has the effect of overcoming the disadvantages of the conventional compact model, which takes a long time to generate complex equations and to extract parameters, by generating a compact model to which a neural network is applied.
또한, 본 발명의 실시 예에 따른 반도체 소자 모델링 방법 및 시스템은 훈련된 하나의 신경망 모델에서 생성된 지식을 새로운 신경망 모델에 이전함으로써 많은 데이터가 필요하지 않고, 훈련 시간 감소, 더 나은 성능을 기대할 수 있다는 효과가 있다. In addition, the semiconductor device modeling method and system according to an embodiment of the present invention does not require a lot of data by transferring the knowledge generated from one trained neural network model to a new neural network model, and it is possible to expect a reduction in training time and better performance. there is an effect that
또한, 본 발명의 실시 예에 따른 반도체 소자 모델링 방법 및 시스템은 훈련된 하나의 신경망 모델에서 생성된 지식을 새로운 신경망 모델에 이전함으로써 측정하기 어려운 전하의 추출도 가능하다는 효과가 있다. In addition, the semiconductor device modeling method and system according to an embodiment of the present invention has an effect that it is possible to extract electric charges that are difficult to measure by transferring knowledge generated from one trained neural network model to a new neural network model.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 반도체 소자 모델링 시스템의 블록도를 나타낸다.
도 2는 본 발명의 실시 예에 따른 반도체 소자 모델링 방법을 설명하기 위한 블록도를 나타낸다.
도 3(a) 부터 도 3(f)는 도 2에 도시된 학습 환경 매니저에서 수행되는 자동으로 하이퍼파라미터를 설정하는 동작을 설명하기 위한 블록도를 나타낸다.
도 4은 도 2에 도시된 기반 모델(base model)의 블록도를 나타낸다.
도 5은 도 2에 도시된 기반 모델에서 제1향상 모델(enhancement model)로의 전이 학습의 동작을 설명하기 위한 블록도를 나타낸다.
도 6은 도 2에 도시된 기반 모델에서 지식이 전달되지 않고 신경망이 학습된 뒤 추론 그래프와 지식이 전달되고 신경망이 학습된 후 추론 그래프를 나타낸다.
도 7은 도 2에 도시된 제1향상 모델로부터 추론된 전기용량 데이터에 관한 그래프와 도 2에 도시된 제2향상 모델로부터 추론된 전하 데이터에 관한 그래프를 나타낸다.
도 8은 도 2에 도시된 제1향상 모델로부터 추론된 전하 데이터에 관한 그래프와 도 2에 도시된 제2향상 모델로부터 추론된 전기용량 데이터에 관한 그래프를 나타낸다. In order to more fully understand the drawings recited in the Detailed Description of the Invention, a detailed description of each drawing is provided.
1 is a block diagram of a semiconductor device modeling system according to an embodiment of the present invention.
2 is a block diagram illustrating a method for modeling a semiconductor device according to an embodiment of the present invention.
3(a) to 3(f) are block diagrams for explaining an operation of automatically setting hyperparameters performed in the learning environment manager shown in FIG. 2 .
FIG. 4 shows a block diagram of the base model shown in FIG. 2 .
FIG. 5 is a block diagram illustrating an operation of transfer learning from the base model shown in FIG. 2 to a first enhancement model.
6 shows an inference graph after the neural network is trained without knowledge being transferred in the base model shown in FIG. 2 and an inference graph after the knowledge is transferred and the neural network is trained.
FIG. 7 shows a graph regarding capacitance data deduced from the first enhancement model shown in FIG. 2 and a graph regarding charge data deduced from the second enhancement model illustrated in FIG. 2 .
FIG. 8 shows a graph regarding charge data deduced from the first enhancement model shown in FIG. 2 and a graph regarding capacitance data deduced from the second enhancement model illustrated in FIG. 2 .
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are only exemplified for the purpose of explaining the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention are It may be implemented in various forms and is not limited to the embodiments described herein.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention may have various changes and may have various forms, the embodiments will be illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes all modifications, equivalents, or substitutes included in the spirit and scope of the present invention.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one element from another element, for example, without departing from the scope of the present invention, a first element may be called a second element, and similarly The second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” or “connected” to another component, it is understood that the other component may be directly connected or connected to the other component, but other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that no other element is present in the middle. Other expressions describing the relationship between elements, such as "between" and "immediately between" or "neighboring to" and "directly adjacent to", should be interpreted similarly.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used herein are used only to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprises" or "have" are intended to designate that the described features, numbers, steps, operations, components, parts, or combinations thereof exist, and include one or more other features or numbers. , it is to be understood that it does not preclude the possibility of the presence or addition of steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. does not
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail by describing preferred embodiments of the present invention with reference to the accompanying drawings.
도 1은 본 발명의 실시 예에 따른 반도체 소자 모델링 시스템의 블록도를 나타낸다. 1 is a block diagram of a semiconductor device modeling system according to an embodiment of the present invention.
도 1을 참고하면, 반도체 소자 모델링 시스템(10)은 종래의 복잡한 수식을 이용한 컴팩 모델 대신에 신경망을 적용한 컴팩 모델을 도출하고 도출된 컴팩 모델을 SPICE와 같은 시뮬레이터에 적용할 수 있는 시스템이다. 반도체 소자 모델링 시스템(10)은 서버, 컴퓨터, 노트북, 태블릿 PC 또는 개인용 PC와 같은 전자 장치일 수 있다. 반도체 소자 모델링 시스템(10)은 프로세서(11)와 메모리(13)를 포함한다. 프로세서(11)는 반도체 소자 모델 방법이 구현된 명령들을 실행한다. 메모리(13)는 상기 반도체 소자 모델 방법이 구현된 명령들을 저장한다. 이하, 구체적인 반도체 소자 모델 방법이 개시된다. Referring to FIG. 1 , the semiconductor
도 2는 본 발명의 실시 예에 따른 반도체 소자 모델링 방법을 설명하기 위한 블록도를 나타낸다. 2 is a block diagram illustrating a method for modeling a semiconductor device according to an embodiment of the present invention.
도 1과 도 2를 참고하면, 머신러닝 매니저(140)는 각각의 모델(150, 170, 또는 180)에 포함된 신경망을 훈련시키기 위해 기반 모델(base model; 150), 제1향상 모델(enhancement model; 170), 및 제2향상 모델(180)을 포함한다. 프로세서(11)에 의해 기반 모델(base model; 150), 제1향상 모델(enhancement model; 170), 및 제2향상 모델(180) 중 어느 하나의 모델이 선택된다. 상기 선택은 반도체 소자 모델링 시스템(10)의 사용자가 반도체 소자 모델링 시스템(10)의 인터페이스에서 특정 옵션을 누름으로써 수행될 수 있다. Referring to FIGS. 1 and 2 , the
기반 모델(150)은 인공 신경망(artificial neural network)를 포함하는 모델이다. 제1향상 모델(170)은 기반 모델(150)에서 지식(153)이 전달된 모델이다. 지식(153)은 제1향상 모델(170)에서 훈련된 파라미터들의 일부일 수 있다. 제1향상 모델(170)도 인공 신경망을 포함한다. 제2향상 모델(180)은 제1향상 모델(170)과 유사하게 기반 모델(150)에서 지식(153)이 전달된 모델이다. 다만, 제2향상 모델(180)에는 미분값이 이용된다. 하지만, 제1향상 모델(170)에서는 미분값이 이용되지 않는다. 본 발명에서는 기반 모델(150), 제1향상 모델(170), 또는 제2향상 모델(180)이라고 호칭하였으나, 실시 예에 따라 다양한 용어들로 호칭될 수 있다. The
이하, 반도체 소자 모델링 시스템(10)의 사용자에 의해 기반 모델(150)이 선택될 때, 기반 모델(150)에 포함된 인공 신경망의 훈련 단계(training phase)에 대해 설명한다. Hereinafter, when the
기반 모델(150)에 포함된 신경망을 훈련시키기 위해 반도체 소자 모델링 시스템(10)에 훈련 데이터 세트들(110)이 입력된다. 훈련 데이터 세트들(110)은 TCAD(Technology CAD)로부터 획득되거나, 측정을 통해 획득될 수 있다. 훈련 데이터 세트들(110)은 트랜지스터와 같은 반도체 소자의 전류 데이터(I), 전기용량 데이터(C), 또는 전하 데이터(Q)를 포함한다. 구체적으로, 훈련 데이터 세트들(110)은 트랜지스터와 같은 반도체 소자의 전류의 값, 전기용량의 값, 또는 전하의 값에 관한 정보를 포함한다. 실시 예에 따라 훈련 데이터 세트들(110)은 상기 반도체 소자의 특성 데이터 세트들을 더 포함할 수 있다. 구체적으로, 훈련 데이터 세트들(110)은 상기 반도체 소자의 폭(width), 길이(length), 온도(temperature), 산화물(oxide), 또는 두께를 나타내는 물리적 특성 데이터 세트들, 또는 상기 반도체 소자의 스트레인(strain), 또는 도핑(doping) 농도를 나타내는 물성적 특성 데이터 세트들일 수 있다. 훈련 데이터 세트들(110)은 상기 반도체 소자의 폭(width)의 값, 길이(length)의 값, 온도(temperature)의 값, 산화물의 값, 두께의 값, 스트레인의 값, 또는 도핑 농도의 값에 관한 정보를 포함할 수 있다. 반도체 소자 모델링 시스템(10)의 사용자에 의해 반도체 소자의 전류 데이터(IT, IT2, 또는 IT3), 전기용량 데이터(CT, CT2, 또는 CT3), 또는 전하 데이터(QT, QT2, 또는 QT3)에 대한 신경망이 훈련된다. 반도체 소자 모델링 시스템(10)의 사용자가 반도체 소자의 전하 데이터(QT, QT2, 또는 QT3)를 선택할 때, 전하 데이터(QT, QT2, 또는 QT3)에 대한 신경망이 훈련된다. 실시 예에 따라 반도체 소자 모델링 시스템(10)의 사용자에 의해 반도체 소자의 전류 데이터(IT, IT2, 또는 IT3), 전기용량 데이터(CT, CT2, 또는 CT3), 및 전하 데이터(QT, QT2, 또는 QT3) 중에서 2개 이상의 데이터(예컨대, 전류 데이터와 전기용량 데이터)에 대한 신경망이 훈련될 수도 있다. Training data sets 110 are input to the semiconductor
또한, 훈련 데이터 세트들(110)은 신경망을 훈련시키기 위해 상기 반도체 소자의 복수의 전압들의 데이터 세트들을 포함할 수 있다. 상기 반도체 소자가 트랜지스터일 때, 상기 복수의 전압들의 데이터 세트들은 드레인(drain) 전압 데이터, 게이트(gate) 전압 데이터, 및 소스(source) 전압 데이터를 포함할 수 있다. 실시 예에 따라 상기 복수의 전압들의 데이터 세트들은 바디(body) 전압을 더 포함할 수 있다. Also, the
실시 예에 따라 훈련 데이터 세트들(110)은 신경망을 훈련시키기 위해 상기 반도체 소자의 복수의 전압들의 데이터 세트들과, 상기 반도체 소자의 특성 데이터 세트들을 포함할 수 있다. 상기 특성 데이터 세트들은 상기 반도체 소자의 폭(width), 길이(length), 온도(temperature), 산화물(oxide), 또는 두께를 나타내는 물리적 특성 데이터 세트들, 또는 상기 반도체 소자의 스트레인(strain), 또는 도핑(doping) 농도를 나타내는 물성적 특성 데이터 세트들을 포함할 수 있다. 기반 모델(150)에 포함된 신경망을 훈련시키기 위한 훈련 데이터 세트들(110)은 제1훈련 데이터 세트들로 호칭될 수 있다. 또한, 상기 반도체 소자는 제1반도체 소자로 호칭될 수 있다. 상기 전기용량 데이터는 제1전기용량 데이터로 호칭될 수 있다. 상기 전류 데이터는 제1전류 데이터로 호칭될 수 있다. 상기 전하 데이터는 제1전하 데이터로 호칭될 수 있다. 상기 복수의 전압 데이터 세트들은 복수의 제1전압 데이터 세트들로 호칭될 수 있다. According to an embodiment, the
데이터 컨버터(120)는 훈련 데이터 세트들(110)을 전처리한다. 구체적으로, 데이터 컨버터(120)는 훈련 데이터 세트들(110)을 미리 정해진 데이터(110)의 속성 순서(예컨대, 순서대로 드레인 전압, 게이트 전압, 소스 전압, 바디 전압, 또는 전하)에 따라 행렬 형태로 재정렬한다. 반도체 소자 모델링 시스템(10)에 입력되는 훈련 데이터 세트들(110)은 행렬 형태가 아니다. The
학습 환경 매니저(130)는 신경망의 훈련 과정을 제어하는데 사용되는 하이퍼파라미터(hyperparameter)를 선택한다. 예컨대, 상기 하이퍼파라미터는 은닉층의 개수, 각 은닉층에서 노드들의 개수, 학습률(learning rate), 학습률 감쇠도, 또는 활성화 함수일 수 있다. 상기 하이퍼파라미터는 사용자에 의해 수동으로 설정되거나, 자동으로 설정될 수 있다.The learning
이하, 상기 하이퍼파라미터가 자동으로 설정되는 동작에 대해 설명된다.Hereinafter, an operation in which the hyperparameter is automatically set will be described.
도 3(a) 부터 도 3(f)는 도 2에 도시된 학습 환경 매니저에서 수행되는 자동으로 하이퍼파라미터를 설정하는 동작을 설명하기 위한 블록도를 나타낸다. 3(a) to 3(f) are block diagrams for explaining an operation of automatically setting hyperparameters performed in the learning environment manager shown in FIG. 2 .
도 1 부터 도 3(f)를 참고하면, 목표 함수(f(θ))가 최대값을 가질 때, 하이퍼파라미터(θ*)는 자동으로 설정된다. 자동으로 설정되는 하이퍼파라미터(θ*)는 아래의 수학식과 같이 표현될 수 있다. 1 to 3( f ), when the target function f(θ) has a maximum value, the hyperparameter θ * is automatically set. The automatically set hyperparameter (θ * ) may be expressed as the following equation.
[수학식 1][Equation 1]
상기 θ*는 자동으로 설정되는 하이퍼파라미터를, 상기 θ는 하이퍼파라미터 변수를 나타낸다. 상기 argmax은 목표 함수(f(θ))가 최대값을 가질 때, 변수의 값을 나타낸다. 목표 함수(f(θ))가 최대값을 가질 때, 하이퍼파라미터 변수(θ)는 하이퍼파라미터의 최적의 값이며, 하이퍼파라미터(θ*)는 자동으로 설정된다. The θ * denotes a hyperparameter that is automatically set, and the θ denotes a hyperparameter variable. The argmax represents a value of a variable when the target function f(θ) has a maximum value. When the target function f(θ) has a maximum value, the hyperparameter variable θ is the optimal value of the hyperparameter, and the hyperparameter θ * is automatically set.
목표 함수는 알려져 있지 않다. 하지만 하이퍼파라미터가 자동으로 설정되는 동작을 설명하기 위해 목표 함수를 미리 안다고 가정하고, 도 3(a), 도 3(c), 및 도 3(e)의 그래프에서 목표 함수가 도시된다. 도 3(a), 도 3(c), 및 도 3(e)의 그래프에서 도시된 목표 함수의 x축은 하이퍼파라미터 변수(θ)를, y축은 목표 함수(f(θ))의 값을 나타낸다. The goal function is unknown. However, it is assumed that the target function is known in advance in order to explain the operation in which the hyperparameter is automatically set, and the target function is shown in the graphs of FIGS. 3(a), 3(c), and 3(e). The x-axis of the target function shown in the graphs of FIGS. 3(a), 3(c), and 3(e) represents the hyperparameter variable (θ), and the y-axis represents the value of the target function (f(θ)). .
도 3에서 목표 함수가 도시되었지만, 목표 함수를 모른다고 가정할 때, 목표 함수에 대한 대리 함수(surrogate model)가 요구된다. 상기 대리 함수는 가우시안 프로세스가 이용된다. 즉, 상기 대리 함수는 상기 가우시안 프로세스로 핏(fit)된다. 실시 예에 따라 상기 대리 함수는 랜덤 포레스트(random forest) 등 다양한 함수들이 이용될 수 있다. Although the objective function is shown in Fig. 3, a surrogate model for the objective function is required, assuming that the objective function is not known. The surrogate function uses a Gaussian process. That is, the surrogate function is fitted to the Gaussian process. According to an embodiment, various functions such as a random forest may be used as the surrogate function.
상기 목표 함수에서 최대값이 어디인지 판단하기 위해서는 획득 함수(acquisition function)가 필요하다. In order to determine where the maximum value is in the target function, an acquisition function is required.
상기 획득 함수는 기대된 향상 함수(Expected improvement function)으로 구현될 수 있다. 상기 기대된 향상 함수는 아래의 수학식으로 표현될 수 있다. The acquisition function may be implemented as an expected improvement function. The expected enhancement function may be expressed by the following equation.
[수학식 2][Equation 2]
상기 EI(x)는 기대된 향상 함수이며, 상기μ(x)는 상기 대리 함수에 대한 평균을, 상기 f(x+)는 현재까지의 최대값을, 상기 ξ는 작은 양수를, 상기 Φ(Z)는 누적 분포 함수(Cumulative distribution function)을, 상기 σ는 표준편차를, 상기 ø(Z)는 확률 밀도 함수(Probability density function)을 나타낸다. 도 3(b), 도 3(d), 및 도 3(f)의 그래프에서 획득 함수가 도시된다. 도 3(b), 도 3(d), 및 도 3(f)의 그래프에서 도시된 획득 함수의 x축은 하이퍼파라미터의 변수(θ)를, y축은 대리 함수에서 이용된 가우시안 프로세스의 표준편차의 값을 나타낸다.The EI(x) is the expected enhancement function, the μ(x) is the average for the surrogate function, the f(x + ) is the maximum to date, the ξ is a small positive number, and the Φ( Z) represents a cumulative distribution function, σ represents a standard deviation, and ø(Z) represents a probability density function. The acquisition function is shown in the graphs of Figs. 3(b), 3(d), and 3(f). The x-axis of the acquisition function shown in the graphs of Figs. 3(b), 3(d), and 3(f) is the hyperparameter variable (θ), and the y-axis is the standard deviation of the Gaussian process used in the surrogate function. represents a value.
상기 Z는 아래의 수학식으로 표현될 수 있다. The Z can be expressed by the following equation.
[수학식 3][Equation 3]
프로세서(11)는 베이스 모델(150)의 제1신경망, 제1향상 모델(170)의 제2신경망, 또는 제2향상 모델(180)의 신경망의 하이퍼파라미터(θ*)를 자동으로 설정하기 위해 가우시안 프로세스가 이용된 대리 함수와, 상기 하이퍼파라미터 변수(θ)에 따른 상기 가우시안 프로세스의 표준편차를 나타내는 상기 획득 함수를 설정한다. The
프로세서(11)는 하이퍼파라미터 변수(θ)를 임의로 선택한다. 프로세서(11)는 상기 임의의 선택된 하이퍼파라미터 변수(θ)를 베이스 모델(150)의 제1신경망, 제1향상 모델(170)의 제2신경망, 또는 제2향상 모델(180)의 신경망에 적용하여 출력된 출력값과 목표값의 차이에 음수를 붙인 것을 의미하는 음수의 손실값을 출력하는 출력 동작을 수행한다. 상기 음수의 손실값은 목표 함수(f(θ))의 실제 값이다. 실시 예에 따라 프로세서(11)는 상기 임의의 선택된 하이퍼파라미터 변수(θ)를 베이스 모델(150)의 제1신경망, 제1향상 모델(170)의 제2신경망, 또는 제2향상 모델(180)의 신경망에 적용하여 출력된 출력값과 목표값의 차이를 의미하는 손실값을 출력하는 출력 동작을 수행할 수 있다. The
도 3(a), 도 3(c), 및 도 3(e)에서 점들은 목표 함수(f(θ))의 실제 값들을 나타낸다. In Figs. 3(a), 3(c), and 3(e), dots represent actual values of the target function f(θ).
프로세서(11)는 상기 획득 함수에서 상기 임의의 선택된 하이퍼파라미터 변수(θ)에 따른 상기 가우시안 프로세스의 표준편차(σ)를 계산하는 계산 동작을 수행한다. 도 3(b), 도 3(d), 및 도 3(f)의 그래프에서 하이퍼파라미터 변수(θ)에 따른 표준편차(σ)를 나타내는 획득 함수가 개시된다. The
프로세서(11)는 상기 출력된 음수의 손실값과 상기 획득 함수에서 계산된 표준편차(σ)에 따라 상기 대리 함수를 L-BFGS 알고리즘을 통해 수정하는 수정 동작을 수행한다. 실시 예에 따라 프로세서(11)는 상기 출력된 손실값과 상기 획득 함수에서 계산된 표준편차(σ)에 따라 상기 대리 함수를 L-BFGS 알고리즘을 통해 수정하는 수정 동작을 수행할 수 있다.The
도 3(a)의 그래프에 도시된 대리 함수에서 도 3(c)의 그래프에 도시된 대리 함수로 수정되었다. The surrogate function shown in the graph of Fig. 3(a) has been modified to the surrogate function shown in the graph of Fig. 3(c).
프로세서(11)는 수렴할 때까지 상기 출력 동작, 상기 계산 동작, 및 상기 수정 동작을 반복적으로 수행하고 수행 결과, 상기 음수의 손실값이 최대일 때의 하이퍼파라미터 변수(θ)를 베이스 모델(150)의 제1신경망, 제1향상 모델(170)의 제2신경망, 또는 제2향상 모델(180)의 신경망의 하이퍼파라미터(θ*)로 설정한다. 실시 예에 따라 프로세서(11)는 수렴할 때까지 상기 출력 동작, 상기 계산 동작, 및 상기 수정 동작을 반복적으로 수행하고 수행 결과, 상기 손실값이 최소일 때의 하이퍼파라미터 변수(θ)를 베이스 모델(150)의 제1신경망, 제1향상 모델(170)의 제2신경망, 또는 제2향상 모델(180)의 신경망의 하이퍼파라미터(θ*)로 설정할 수 있다. The
도 4은 도 2에 도시된 기반 모델(base model)의 블록도를 나타낸다. FIG. 4 shows a block diagram of the base model shown in FIG. 2 .
도 1, 도 2, 및 도 4을 참고하면, 기반 모델(150)은 신경망(160)과 손실 함수(151)를 포함한다. 신경망(160)은 입력층(input layer, 161), 은닉층(hidden layer, 163), 및 출력층(output layer, 165)을 포함한다. 1, 2, and 4 , the
입력층(161)에는 데이터 컨버터(120)로부터 출력된 복수의 전압 데이터 세트들(V1, V2, 및 V3)이 입력된다. 복수의 전압 데이터 세트들(V1, V2, 및 V3) 각각은 드레인 전압 데이터, 게이트 전압 데이터, 바디 전압 데이터, 또는 소스 전압 데이터일 수 있다. 입력층(161)에 입력되는 복수의 전압 데이터 세트들(V1, V2, 및 V3)은 상기 복수의 제1전압 데이터 세트들이다. 실시 예에 따라 입력층(161)에는 복수의 전압 데이터 세트들(V1, V2, 및 V3)과, 반도체 소자의 특성 데이터 세트들이 입력될 수 있다. A plurality of voltage data sets V 1 , V 2 , and V 3 output from the
입력층(161)은 복수의 노드들을 포함한다. 실시 예에 따라 입력층(161)의 노드들의 개수는 다양할 수 있다. The
은닉층(163)은 복수의 노드들을 포함한다. 상기 복수의 노드들 각각에서 활성화 함수(activation function)의 연산이 수행된다. 상기 활성화 함수는 시그모이드(sigmoid) 함수, ReLU(Rectified Linear Unit), 쌍곡선 함수(hyperbolic function), 또는 ELU(Exponential Linear Unit)일 수 있다. 상기 활성화 함수의 입력으로 입력층(161)에 포함된 복수의 노드들의 전압 데이터 세트들, 가중치 행렬, 및 편향 벡터(bias vector)가 사용된다. 상기 복수의 노드들과 입력층(161)에 포함된 복수의 노드들은 풀리 커넥티드(fully connected)된다. 실시 예에 따라 은닉층의 노드들의 개수는 다양할 수 있다. 실시 예에 따라 은닉층의 개수는 다양할 수 있다. The
출력층(165)은 1개의 노드를 포함한다. 상기 노드는 은닉층(163)에 포함된 복수의 노드들과 연결된다. 상기 노드에서 상기 활성화 함수의 연산이 수행된다. 상기 활성화 함수의 연산 결과, 전기용량 데이터(CO), 전류 데이터(IO), 또는 전하 데이터(QO)가 출력된다. 반도체 소자 모델링 시스템(10)의 사용자에 의해 전기용량 데이터가 선택될 때, 출력층(165)에서 전기용량 데이터(CO)가 출력된다. 반도체 소자 모델링 시스템(10)의 사용자에 의해 전류 데이터가 선택될 때, 출력층(165)에서 전류 데이터(IO)가 출력된다. 반도체 소자 모델링 시스템(10)의 사용자에 의해 전하 데이터가 선택될 때, 출력층(165)에서 전하 데이터(QO)가 출력된다. 상기 활성화 함수를 통해 출력되는 전기용량 데이터(CO), 전류 데이터(IO), 또는 전하 데이터(QO)는 제2전기용량 데이터(CO), 제2전류 데이터(IO), 또는 제2전하 데이터(QO)로 호칭될 수 있다. 즉, 프로세서(11)는 복수의 제1전압 데이터 세트들(V1, V2, 및 V3)을 신경망(160)의 입력에 적용하여 제2전기용량 데이터(CO), 제2전류 데이터(IO), 또는 제2전하 데이터(QO)를 결정한다. 실시 예에 따라 프로세서(11)는 복수의 제1전압 데이터 세트들(V1, V2, 및 V3)과, 상기 반도체 소자의 특성 데이터 세트들을 신경망(160)의 입력에 적용하여 제2전기용량 데이터(CO), 제2전류 데이터(IO), 또는 제2전하 데이터(QO)를 결정할 수 있다. The
신경망(160)을 훈련시키기 위해 손실 함수(151)가 이용된다. 손실 함수(151)를 이용하여 파라미터들이 업데이트된다. 상기 파라미터들은 신경망(160)에 포함된 가중치 행렬들과 편향 벡터들을 포함한다. 손실 함수(151)에 출력층(165)에서 출력된 제2전기용량 데이터(CO), 제2전류 데이터(IO), 또는 제2전하 데이터(QO)가 입력된다. 또한, 손실 함수(151)에 데이터 컨버터(120)로부터 출력된 제1전기용량 데이터(CT), 제1전류 데이터(IT), 또는 제1전하 데이터(QT)가 입력된다. 제1전기용량 데이터(CT), 제1전류 데이터(IT), 또는 제1전하 데이터(QT)는 목표 데이터(152)로 반도체 소자 모델링 시스템(10)에 입력된 제1훈련 데이터 세트들(110)에 포함된 데이터이다. A
손실 함수(151)에 제1전기용량 데이터(CT)와 제2전기용량 데이터(CO)가 입력될 때, 프로세서(11)는 제1전기용량 데이터(CT)와 제2전기용량 데이터(CO)를 비교하고 비교 결과에 따라 신경망(160)의 파라미터들을 업데이트한다. 프로세서(11)는 손실 함수(151)의 기울기를 계산하고, 제1전기용량 데이터(CT)와 제2전기용량 데이터(CO)의 차이를 최소화하기 위해 신경망(160)의 파라미터들을 업데이트한다. 손실 함수(151)에 제1전류 데이터(IT)와 상기 제2전류 데이터(IO)가 입력될 때, 프로세서(11)는 제1전류 데이터(IT)와 제2전류 데이터(IO)를 비교하고 비교 결과에 따라 신경망(160)의 파라미터들을 업데이트할 수 있다. 손실 함수(151)에 제1전하 데이터(QT)와 제2전하 데이터(QO)가 입력될 때, 프로세서(11)는 제1전하 데이터(QT)와 제2전하 데이터(QO)를 비교하고 비교 결과에 따라 신경망(160)의 파라미터들을 업데이트할 수 있다. 즉, 프로세서(11)는 반도체 소자 모델링 시스템(10)에 입력된 제1전기용량 데이터(CT), 제1전류 데이터(IT), 또는 제1전하 데이터(QT)와, 신경망(160)을 통해 결정된 제2전기용량 데이터(CO), 제2전류 데이터(IO), 또는 제2전하 데이터(QO)의 비교에 따라 신경망(160)의 파라미터들을 업데이트한다. When the first capacitive data C T and the second capacitive data C O are input to the
이하, 반도체 소자 모델링 시스템(10)의 사용자에 의해 제1향상 모델(170)이 선택될 때, 제1향상 모델(170)에 포함된 신경망의 훈련 단계에 대해 설명한다. Hereinafter, when the
도 5은 도 2에 도시된 기반 모델에서 제1향상 모델(enhancement model)로의 전이 학습의 동작을 설명하기 위한 블록도를 나타낸다. FIG. 5 is a block diagram illustrating an operation of transfer learning from the base model shown in FIG. 2 to a first enhancement model.
도 1, 2, 및 도 5을 참고하면, 제1향상 모델(170)의 구조는 도 4에 도시된 기반 모델(150)의 구조는 동일하거나 유사하다. 다만, 기반 모델(150)의 신경망(160)의 구조, 또는 파라미터들의 값과, 제1향상 모델(170)의 신경망(175)의 구조, 또는 파라미터들의 값은 다를 수 있다. 도 5에 도시된 소스 모델(203)은 도 1에 도시된 기반 모델(150)과 대응되며, 도 5에 도시된 신경망(160)은 도 4에 도시된 기반 모델(150)의 신경망(160)과 대응된다. 도 5에 도시된 타겟 모델(209)은 도 1에 도시된 제1향상 모델(170), 또는 제2향상 모델(180)과 대응된다. 제1향상 모델(170)은 신경망(175)을 포함한다. 제2향상 모델(180)은 신경망(185)을 포함한다. 1, 2, and 5 , the structure of the first
이하, 기반 모델(150)의 신경망(160)은 제1신경망으로, 제1향상 모델(170)의 신경망(175)은 제2신경망으로 호칭될 수 있다. 도 5에 도시된 소스 데이터(201)는 도 4에 도시된 복수의 제1전압 데이터 세트들(V1, V2, 및 V3)과 대응된다. 실시 예에 따라 도 5에 도시된 소스 데이터(201)는 제1반도체 소자(101)의 특성 데이터 세트들을 더 포함할 수 있다. Hereinafter, the
도 5에 도시된 소스 레이블(205)은 반도체 소자 모델링 시스템(10)에 입력된 제1전기용량 데이터(CT), 제1전류 데이터(IT), 또는 제1전하 데이터(QT)이다. 소스 데이터(201)와 소스 레이블(205)은 제1반도체 소자(101)에 관한 정보를 포함한다. The
도 5에 도시된 타겟 데이터(207)는 제1향상 모델(170)의 제2신경망(175)에 입력되는 복수의 제2전압 데이터 세트들(V4, V5, 및 V6)이다. 복수의 제2전압 데이터 세트들(V4, V5, 및 V6) 각각은 제2반도체 소자(103)의 드레인 전압 데이터, 게이트 전압 데이터, 바디 전압 데이터, 또는 소스 전압 데이터를 나타낼 수 있다. 도 5에 도시된 소스 데이터(201)는 제1반도체 소자(101)의 특성 데이터 세트들을 더 포함할 때, 도 5에 도시된 타겟 데이터(207)는 제2반도체 소자(103)의 특성 데이터 세트들을 더 포함할 수 있다. The
도 5에 도시된 타겟 레이블(211)은 제1향상 모델(170)의 신경망(175)을 훈련시키기 위해 반도체 소자 모델링 시스템(10)에 입력되는 제2반도체 소자(103)의 제3전기용량 데이터(CT2), 제3전류 데이터(IT2), 또는 제3전하 데이터(QT2)이다. 제2반도체 소자(103)는 제1반도체 소자(101)와는 다른 반도체 소자이다. The
소스 데이터(201)의 양과 소스 레이블(205)의 양은 타겟 데이터(207)의 양과 타겟 레이블(211)의 양보다 많다. 즉, 타겟 데이터(207)의 양과 타겟 레이블(211)의 양은 소스 데이터(201)의 양과 소스 레이블(205)의 양보다 적아서 제1향상 모델(170)의 신경망(175)인 타겟 모델(209)에서 소요되는 계산 시간이 감소될 수 있다. The amount of the
프로세서(11)는 제1향상 모델(170)의 신경망(175)에서 기반 모델(150)의 신경망(160)의 업데이트된 파라미터들 중 적어도 어느 하나를 재사용(reuse)하기 위해 상기 파라미터들 중 적어도 어느 하나를 제1향상 모델(170)의 신경망(175)으로 전달할 수 있다. 예컨대, 제1향상 모델(170)의 신경망(175)의 가중치 행렬들과 편향 벡터들의 일부와 기반 모델(150)의 신경망(160)의 가중치 행렬들과 편향 벡터들의 일부는 같다. 또한, 실시 예에 따라 제1향상 모델(170)의 신경망의 가중치 행렬들과 편향 벡터들과 기반 모델(150)의 신경망(160)의 가중치 행렬들과 편향 벡터들은 같을 수 있다. 지식 전달(153)은 기반 모델(150)의 신경망(160)의 업데이트된 파라미터들 중 적어도 어느 하나를 나타낸다. The
프로세서(11)는 복수의 제2전압 데이터 세트들(V4, V5, 및 V6)을 제2신경망(175)의 입력에 적용하여 제4전기용량 데이터, 제4전류 데이터, 또는 제4전하 데이터를 결정한다. 실시 예에 따라 프로세서(11)는 제2반도체 소자(103)의 특성 데이터 세트들도 같이 제2신경망(175)의 입력에 적용하여 제4전기용량 데이터, 제4전류 데이터, 또는 제4전하 데이터를 결정할 수 있다. The
프로세서(11)는 수신된 제3전기용량 데이터(CT2), 또는 수신된 제3전류 데이터(IT2)와, 상기 결정된 제4전기용량 데이터, 또는 상기 결정된 제4전류 데이터의 비교에 따라 제2신경망(175)의 파라미터들을 업데이트한다. The
도 6은 도 2에 도시된 기반 모델에서 지식이 전달되지 않고 신경망이 학습된 뒤 추론 그래프와 지식이 전달되고 신경망이 학습된 후 추론 그래프를 나타낸다. 도 6(a)는 도 2에 도시된 기반 모델(150)에서 지식(153)이 전달되지 않고 신경망(도 5에서 175, 또는 185)이 학습된 뒤 추론 그래프를, 도 6(b)는 도 2에 도시된 기반 모델(150)에서 지식(153)이 전달되고 신경망(도 5에서 175, 또는 185)이 학습된 후 추론 그래프를 나타낸다. 도 6(a)과 도 6(b)에서 X축은 드레인-소스 전압인 Vds, Y축은 드레인-소스 전류인 Ids를 나타낸다.6 shows an inference graph after the neural network is trained without knowledge being transferred in the base model shown in FIG. 2 and an inference graph after the knowledge is transferred and the neural network is trained. FIG. 6(a) is an inference graph after the neural network (175, or 185 in FIG. 5) is trained without
도 6(a)를 참고하면, 드레인-소스 전압(Vds)이 0.2μV에서 1.2μV 사이일 때, 실제 드레인-소스 전류(Ids)와 추론된 드레인-소스 전류(Ids) 사이에는 오차가 발생함을 알 수 있다. 도 5에 도시된 신경망(175, 또는 185)은 기반 모델(150)로부터 지식(153)을 전달받지 못한다고 가정할 때, 신경망(175, 또는 185)의 타겟 데이터(207)만으로는 신경망(175, 또는 185)을 충분히 학습시킬 수 없기 때문이다. Referring to FIG. 6( a ), when the drain-source voltage Vds is between 0.2 μV and 1.2 μV, an error occurs between the actual drain-source current Ids and the inferred drain-source current Ids. can be known Assuming that the
도 6(b)를 참고하면, 전압(Vds)이 0.2μV에서 1.2μV 사이일 때, 도 6(a)과 달리 실제 드레인-소스 전류(Ids)와 추론된 드레인-소스 전류(Ids) 사이에는 오차가 발생하지 않음을 알 수 있다. 신경망(175, 또는 185)의 타겟 데이터(207)가 부족하더라도 기반 모델(150)로부터 지식(153)을 전달받음으로써 신경망(175, 또는 185)을 충분히 학습시킬 수 있기 때문이다. 즉, 신경망(175, 또는 185)의 타겟 데이터(207)가 부족하더라도 기반 모델(150)의 제1신경망(160)의 파라미터들 중 적어도 어느 하나를 재사용함으로써 신경망(175, 또는 185)을 충분히 학습시킬 수 있기 때문이다. 지식(153)의 전달을 통해 적은 타겟 데이터(207)만으로도 신경망(175, 또는 185)을 충분히 학습시킬 수 있음을 알 수 있다. Referring to FIG. 6(b), when the voltage Vds is between 0.2 μV and 1.2 μV, unlike FIG. 6(a), there is a difference between the actual drain-source current Ids and the inferred drain-source current Ids. It can be seen that no error occurs. This is because, even if the
이하, 반도체 소자 모델링 시스템(10)의 사용자에 의해 제2향상 모델(180)이 선택될 때, 제2향상 모델(180)에 포함된 신경망의 훈련 단계에 대해 설명한다. Hereinafter, when the
도 5는 도 2에 도시된 기반 모델에서 제2향상 모델(enhancement model)로의 전이 학습의 동작을 설명하기 위한 블록도를 나타낼 수도 있다. FIG. 5 may be a block diagram for explaining an operation of transfer learning from the base model shown in FIG. 2 to a second enhancement model.
도 1, 도 2, 도 4 , 및 도 5를 참고하면, 제2향상 모델(180)의 구조는 도 4에 도시된 기반 모델(150)의 구조와 동일하거나 유사하다. 기반 모델(150)의 신경망(160)의 구조, 또는 파라미터들의 값과, 제2향상 모델(180)의 신경망(185)의 구조, 또는 파라미터들의 값은 다를 수 있다. 즉, 제1향상 모델(170)과 제2향상 모듈(180)은 동일하거나 유사하다. 다만, 제2향상 모델(180)에는 미분값이 이용되지만, 제1향상 모델(170)에서는 미분값이 이용되지 않는다. 제2향상 모델(180)의 구조와 제1향상 모델(170)의 구조는 동일하거나 유사하므로, 제2향상 모델(180)에 대한 자세한 설명은 생략한다. 1 , 2 , 4 , and 5 , the structure of the
도 5에 도시된 타겟 데이터(207)는 제2향상 모델(180)의 신경망(185)에 입력되는 복수의 전압 데이터 세트들(V7, V8, 및 V9)이다. 복수의 전압 데이터 세트들(V7, V8, 및 V9) 각각은 제2반도체 소자(103), 또는 제2반도체 소자(103)와는 다른 제3반도체 소자(105)의 드레인 전압 데이터, 게이트 전압 데이터, 바디 전압 데이터, 또는 소스 전압 데이터를 나타낼 수 있다. 실시 예에 따라 제2향상 모델(180)의 신경망(185)도 제2신경망으로 호칭될 수 있다. 또한, 실시 예에 따라 복수의 전압 데이터 세트들(V7, V8, 및 V9)은 복수의 제2전압 데이터 세트들로 호칭될 수 있다. 실시 예에 따라 도 5에 도시된 타겟 데이터(207)는 제3반도체 소자(105)의 특성 데이터 세트들을 더 포함할 수 있다. The
도 5에 도시된 타겟 레이블(211)은 제2향상 모델(180)의 신경망(185)을 훈련시키기 위해 반도체 소자 모델링 시스템(10)에 입력되는 제2반도체 소자(103), 또는 제3반도체 소자(105)의 전기용량 데이터(CT3), 전류 데이터(IT3), 또는 전하 데이터(QT3)이다. 실시 예에 따라, 전기용량 데이터(CT3), 전류 데이터(IT3), 또는 전하 데이터(QT3)는 제3전기용량 데이터, 제3전류 데이터, 또는 제3전하 데이터로 호칭될 수 있다. The
프로세서(11)는 제1향상 모델(170)의 신경망(175)에서 기반 모델(150)의 신경망(160)의 업데이트된 파라미터들 중 적어도 어느 하나를 재사용하기 위해 상기 파라미터들 중 적어도 어느 하나를 제2향상 모델(180)의 신경망(185)으로 전달할 수 있다.The
프로세서(11)는 복수의 전압 데이터 세트들(V7, V8, 및 V9)을 신경망(185)의 입력에 적용하여 제2반도체 소자(103), 또는 제3반도체 소자(105)의 전기용량 데이터(미도시), 전류 데이터(미도시), 또는 전하 데이터(미도시)를 결정한다. 실시 예에 따라, 상기 결정된 전기용량 데이터, 상기 결정된 전류 데이터, 또는 상기 결정된 전하 데이터는 제4전기용량 데이터, 제4전류 데이터, 또는 제4전하 데이터로 호칭될 수 있다. 실시 예에 따라 프로세서(11)는 제3반도체 소자(105)의 특성 데이터 세트들을 신경망(185)의 입력에 같이 적용하여 제2반도체 소자(103), 또는 제3반도체 소자(105)의 전기용량 데이터(미도시), 전류 데이터(미도시), 또는 전하 데이터(미도시)를 결정할 수 있다. The
프로세서(11)는 제2반도체 소자(103), 또는 제3반도체 소자(105)의 수신된 전기용량 데이터(CT2), 또는 수신된 전류 데이터(IT2)와, 제2반도체 소자(103), 또는 제3반도체 소자(105)의 상기 결정된 전기용량 데이터, 또는 상기 결정된 전류 데이터의 비교에 따라 제2향상 모델(180)의 신경망(185)의 파라미터들을 업데이트한다. 즉, 신경망(185)이 훈련된다. The processor 11 includes the received capacitance data C T2 , or the received current data I T2 of the
전기용량은 다음의 수학식과 같이 표현될 수 있다. The capacitance can be expressed as the following equation.
[수학식 4] [Equation 4]
C=dq/dvC=dq/dv
상기 C는 전기용량을, 상기 dq는 전하의 변화를 , 상기 dv는 전압의 변화를 나타낸다. Wherein C denotes capacitance, dq denotes a change in charge, and dv denotes a change in voltage.
즉, 전기용량은 전압의 변화에 대한 전하의 변화율로 표현될 수 있다. 전하는 매우 작아서 측정하기 어렵다. That is, capacitance can be expressed as a rate of change of electric charge with respect to change of voltage. The charge is very small and difficult to measure.
제2향상 모델(180)의 신경망(185)의 파라미터들을 업데이트하기 위해 제2반도체 소자(103), 또는 제3반도체 소자(105)의 수신된 전기용량 데이터(CT2)와, 제2반도체 소자(103), 또는 제3반도체 소자(105)의 상기 결정된 전기용량 데이터를 비교한다. 이때, 비교를 위해 입력되는 수신된 전기용량 데이터(CT2)와 상기 결정된 전기용량 데이터 각각은 전압의 변화에 대한 전하의 변화율로 표현될 수 있다. 즉, 수신된 전기용량 데이터(CT2)와 상기 결정된 전기용량 데이터 각각은 미분 형태일 수 있다. The received capacitance data C T2 of the
상기 전압의 변화에 대한 전하의 변화율로 표현된 상기 수신된 전기용량 데이터(CT2)와 상기 결정된 전기용량 데이터의 비교에 따라 신경망(185)의 파라미터들이 업데이트된다. The parameters of the
신경망(185)의 훈련이 종료된 후, 업데이트된 신경망(185)에서 전하에 대한 정보가 추론될 수 있다. 즉, 전기용량의 미분값을 학습함으로써 측정하기 매우 어려운 전하 데이터가 추론될 수 있다. 전하 데이터를 직접적으로 이용하여 신경망(185)을 훈련시키지 않더라도 전하 데이터의 추론이 가능하다. After the training of the
제2반도체 소자(103), 또는 제3반도체 소자(105)에 대한 전하 데이터가 제2향상 모델(180)의 신경망(185)으로부터 추론될 수 있다.Charge data for the
또한, 전하는 아래의 수학식과 같이 표현될 수 있다. In addition, the electric charge can be expressed as the following equation.
[수학식 5] [Equation 5]
Q=∫CdvQ=∫Cdv
상기 Q는 전하를, 상기 ∫는 적분 기호를, 상기 C는 전기용량을, 상기 dv는 전압의 변화를 나타낸다. 즉, 전하는 전기용량의 적분으로 표현될 수 있다.Wherein Q denotes a charge, ∫ denotes an integral symbol, C denotes capacitance, and dv denotes a change in voltage. That is, the electric charge can be expressed as the integral of the capacitance.
제2향상 모델(180)의 신경망(185)의 파라미터들을 업데이트하기 위해 제2반도체 소자(103), 또는 제3반도체 소자(105)의 수신된 전하 데이터(QT2)와, 제2반도체 소자(103), 또는 제3반도체 소자(105)의 상기 결정된 전하 데이터를 비교한다. 이때, 비교를 위해 입력되는 수신된 전하 데이터(QT2)와 상기 결정된 전하 데이터 각각은 전기용량의 적분 식으로 표현될 수 있다. 즉, 수신된 전하 데이터(QT2)와 상기 결정된 전하 데이터 각각은 적분 형태일 수 있다. In order to update the parameters of the
상기 적분 형태로 표현된 상기 수신된 전하 데이터(QT2)와 상기 결정된 전하 데이터의 비교에 따라 신경망(185)의 파라미터들이 업데이트된다. The parameters of the
신경망(185)의 훈련이 종료된 후, 업데이트된 신경망(185)에서 전기용량에 대한 정보가 추론될 수 있다. 전기용량 데이터를 직접적으로 이용하여 신경망(185)을 훈련시키기 않더라도 전기용량 데이터의 추론이 가능하다. After the training of the
프로세서(11)는 제2신경망(175)의 훈련이 끝난 후 제2신경망(175)에 제2반도체 소자(103)의 복수의 제3전압 데이터 세트들을 적용하여 제2신경망(175)에서 제5전류 데이터, 또는 제5전하 데이터를 출력한다. 즉, 신경망의 추론 단계가 수행된다. After the training of the second
실시 예에 따라 프로세서(11)는 제2신경망(175)의 훈련이 끝난 후 제2신경망(175)에 제2반도체 소자(103)의 복수의 제3전압 데이터 세트들과, 제2반도체 소자(103)의 특성 데이터 세트들을 적용하여 제2신경망(175)에서 제5전류 데이터, 또는 제5전하 데이터를 출력할 수 있다. According to an embodiment, after the training of the second
실시 예에 따라 프로세서(11)는 제1신경망(160)의 훈련이 끝난 후 제1신경망(160)에 제1반도체 소자(101)의 복수의 전압 데이터 세트들을 적용하여 제1신경망(160)에서 전류 데이터, 또는 전하 데이터를 출력할 수 있다. According to an embodiment, the
실시 예에 따라 프로세서(11)는 제1신경망(160)의 훈련이 끝난 후 제1신경망(160)에 제1반도체 소자(101)의 복수의 전압 데이터 세트들과, 제1반도체 소자(101)의 특성 데이터 세트들을 적용하여 제1신경망(160)에서 전류 데이터, 또는 전하 데이터를 출력할 수 있다. According to an embodiment, after the training of the first
또한, 실시 예에 따라 프로세서(11)는 신경망(185)의 훈련이 끝난 후 신경망(185)에 제3반도체 소자(105)의 복수의 전압 데이터 세트들을 적용하여 신경망(185)에서 전류 데이터, 또는 전하 데이터를 출력할 수 있다. In addition, according to an embodiment, the
실시 예에 따라 프로세서(11)는 신경망(185)의 훈련이 끝난 후 신경망(185)에 제3반도체 소자(105)의 복수의 전압 데이터 세트들과, 제3반도체 소자(105)의 특성 데이터 세트들을 적용하여 신경망(185)에서 전류 데이터, 또는 전하 데이터를 출력할 수 있다. According to an embodiment, after the training of the
컴팩 모델 매니저(190)는 LUT(Look Up Table) 생성기(191), OMI(Open Model Interface) 생성기(192), 및 베릴로그(Verilog)-A 생성기(193)를 포함한다. LUT 생성기(191)는 머신러닝 매니저(140)로부터 출력되는 결과물을 테이블 형태로 변환한다. 상기 결과물은 가중치 바이너리(weight binary)이다. LUT 생성기(191)는 제2반도체 소자(103)의 상기 복수의 제3전압 데이터 세트들과, 상기 제5전류 데이터, 또는 상기 제5전하 데이터의 관계를 나태는 룩업 테이블을 생성한다. 실시 예에 따라 LUT 생성기(191)는 제1반도체 소자(101)의 상기 복수의 전압 데이터 세트들과, 상기 전류 데이터, 또는 상기 전하 데이터의 관계를 나타내는 룩업 테이블을 생성할 수 있다. 또한, 실시 예에 따라 LUT 생성기(191)는 제3반도체 소자(105)의 상기 복수의 전압 데이터 세트들과, 상기 전류 데이터, 또는 상기 전하 데이터의 관계를 나타내는 룩업 테이블을 생성할 수 있다. 상기 룩업 테이블에 기반하여 컴팩 모델(220)이 출력될 수 있다. The
OMI 생성기(192)는 머신러닝 매니저(140)로부터 출력된 결과물, 또는 LUT 생성기(191)에 의해 생성된 룩업 테이블을 SPICE 시뮬레이터가 이해할 수 있게 OMI(Open Model Interface)로 생성하여 컴팩 모델(220)로 제공한다. OMI 생성기(192)는 제3반도체 소자(105)의 상기 복수의 전압 데이터 세트들과, 상기 전류 데이터, 또는 상기 전하 데이터의 관계를 나타내는 결과물을 OMI(Open Model Interface)로 생성하고 신경망이 적용된 컴팩 모델로 출력한다. OMI 생성기(192)는 상기 룩업 테이블을 OMI로 생성할 때, 제1컴팩 모델(221)이 제공된다. OMI 생성기(192)는 머신러닝 매니저(140)로부터 출력된 결과물을 OMI로 생성할 때, 제2컴팩 모델(223)이 제공된다. 제1컴팩 모델(221), 또는 제2컴팩 모델(223)은 컴팩 모델(220)의 여러 종류들 중 하나이다. 베릴로그-A 생성기(193)는 SPICE 시뮬레이터가 이해할 수 있게 LUT 생성기(191)에서 생성된 룩업 테이블, 또는 머신러닝 매니저(140)로부터 출력된 결과물을 베릴로그-A로 구현된 인터페이스로 생성하여 컴팩 모델(220)로 제공한다. 베릴로그-A 생성기(193)는 제3반도체 소자(105)의 상기 복수의 전압 데이터 세트들과, 상기 전류 데이터, 또는 상기 전하 데이터의 관계를 나타내는 결과물을 베릴로그-A로 구현된 인터페이스로 생성하고 신경망이 적용된 컴팩 모델로 출력한다.The
머신러닝 매니저(140)로부터 출력된 결과물은 가중치 바이너리(weight binary)로 표현된다. 베릴로그-A 생성기(193)는 상기 룩업 테이블을 베릴로그-A로 구현된 인터페이스로 생성할 때, 제3컴팩 모델(225)이 제공된다. 베릴로그-A 생성기(193)는 머신러닝 매니저(140)로부터 출력된 결과물을 베릴로그-A로 구현된 인터페이스로 생성할 때, 제4컴팩 모델(227)이 제공된다. 제3컴팩 모델(225), 또는 제4컴팩 모델(227)은 컴팩 모델(220)의 여러 종류들 중 하나이다. 실시 예에 따라 컴팩 모델(220)은 여러 가지 형태들(221, 223, 225, 또는 227) 중 어느 하나로 제공될 수 있다. The output output from the
본 발명에서의 데이터 컨버터(120), 학습 환경 매니저(130), 머신러닝 매니저(140), 및 컴팩 모델(190)의 동작은 프로세서(11)에 의해 수행되는 것으로 이해하여야한다. It should be understood that operations of the
도 7은 도 2에 도시된 제1향상 모델로부터 추론된 전기용량 데이터에 관한 그래프와 도 2에 도시된 제2향상 모델로부터 추론된 전하 데이터에 관한 그래프를 나타낸다. FIG. 7 shows a graph regarding capacitance data deduced from the first enhancement model shown in FIG. 2 and a graph regarding charge data deduced from the second enhancement model illustrated in FIG. 2 .
도 7(a)은 도 2에 도시된 제1향상 모델로부터 추론된 전기용량 데이터에 관한 그래프를 나타낸다. 그래프에서 X축은 게이트-소스 전압(Vgs)을, Y축은 전기용량을 나타낸다. FIG. 7( a ) shows a graph regarding capacitance data inferred from the first improvement model shown in FIG. 2 . In the graph, the X-axis represents the gate-source voltage (Vgs) and the Y-axis represents the capacitance.
도 2, 도 5, 및 도 7(a)을 참고하면, 제1향상 모델(170)의 신경망(175)이 훈련된 후, 임의의 반도체 소자의 전기용량 데이터에 대한 추론 값들을 나타낸다. 상기 임의의 반도체 소자는 제2반도체 소자(103), 제3반도체 소자(105), 또는 다른 반도체 소자일 수 있다. Referring to FIGS. 2, 5, and 7A , after the
도 7(a)를 참고하면, 실제 전기용량 데이터와 추론된 전기용량 데이터가 일치함을 알 수 있다. 즉, 전기용량 데이터가 정확하게 추론된다. Referring to FIG. 7A , it can be seen that the actual capacitance data and the inferred capacitance data match. That is, the capacitance data is accurately inferred.
7(b)는 도 2에 도시된 제2향상 모델로부터 추론된 전하 데이터에 관한 그래프를 나타낸다. 그래프에서 X축은 게이트-소스 전압(Vgs)을, Y축은 전하를 나타낸다. 7(b) shows a graph regarding charge data deduced from the second improvement model shown in FIG. 2 . In the graph, the X-axis represents the gate-source voltage (Vgs), and the Y-axis represents the charge.
도 2, 도 5, 및 도 7(b)을 참고하면, 제2향상 모델(180)의 신경망(185)이 훈련된 후, 상기 임의의 반도체 소자의 전하 데이터에 대한 추론 값들을 나타낸다. 상기 임의의 반도체 소자는 제2반도체 소자(103), 제3반도체 소자(105), 또는 다른 반도체 소자일 수 있다. 제2향상 모델(180)의 신경망(185)은 전압의 변화에 대한 전하의 변화율로 표현된 전기용량 데이터들을 비교하여 신경망(185)이 학습된다. 즉, 미분의 형태로 신경망(185)이 학습된다. 도 7(b)를 참고하면, 측정하기 매우 어려운 전하 데이터가 추론됨을 수 있다.2, 5, and 7(b) , after the
도 8은 도 2에 도시된 제1향상 모델로부터 추론된 전하 데이터에 관한 그래프와 도 2에 도시된 제2향상 모델로부터 추론된 전기용량 데이터에 관한 그래프를 나타낸다. FIG. 8 shows a graph regarding charge data deduced from the first enhancement model shown in FIG. 2 and a graph regarding capacitance data deduced from the second enhancement model illustrated in FIG. 2 .
도 8(a)은 도 2에 도시된 제1향상 모델로부터 추론된 전하 데이터에 관한 그래프를 나타낸다. 그래프에서 X축은 게이트-소스 전압(Vgs)을, Y축은 전하를 나타낸다. FIG. 8( a ) shows a graph regarding charge data deduced from the first improvement model shown in FIG. 2 . In the graph, the X-axis represents the gate-source voltage (Vgs), and the Y-axis represents the charge.
도 2, 도 5, 및 도 8(a)을 참고하면, 제1향상 모델(170)의 신경망(175)이 훈련된 후, 임의의 반도체 소자의 전기용량 데이터에 대한 추론 값들을 나타낸다. 상기 임의의 반도체 소자는 제2반도체 소자(103), 제3반도체 소자(105), 또는 다른 반도체 소자일 수 있다. 2, 5, and 8 (a), after the
도 8(a)를 참고하면, 실제 전하 데이터와 추론된 전하 데이터가 일치함을 알 수 있다. 즉, 전하 데이터가 정확하게 추론된다. 전하는 매우 작아서 측정하기 어렵지만, TCAD(Technology CAD)로부터 획득될 수 있다. Referring to FIG. 8( a ), it can be seen that the actual charge data and the inferred charge data match. That is, the charge data is accurately inferred. The charge is very small and difficult to measure, but it can be obtained from TCAD (Technology CAD).
8(b)는 도 2에 도시된 제2향상 모델로부터 추론된 전기용량 데이터에 관한 그래프를 나타낸다. 그래프에서 X축은 게이트-소스 전압(Vgs)을, Y축은 전하를 나타낸다. 8(b) shows a graph regarding capacitance data inferred from the second improvement model shown in FIG. 2 . In the graph, the X-axis represents the gate-source voltage (Vgs), and the Y-axis represents the charge.
도 2, 도 5, 및 도 8(b)을 참고하면, 제2향상 모델(180)의 신경망(185)이 훈련된 후, 상기 임의의 반도체 소자의 전기용량 데이터에 대한 추론 값들을 나타낸다. 상기 임의의 반도체 소자는 제2반도체 소자(103), 제3반도체 소자(105), 또는 다른 반도체 소자일 수 있다. 제2향상 모델(180)의 신경망(185)은 전하의 전기용량의 적분으로 표현된 전하 데이터들을 비교하여 신경망(185)이 학습된다. 즉, 적분의 형태로 신경망(185)이 학습될 수 있다. 2, 5, and 8(b) , after the
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those of ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.
10: 반도체 소자 모델링 시스템;
11: 프로세서;
13: 메모리;
110: 데이터;
120: 데이터 컨버터;
130: 학습 환경 매니저;
140: 머신러닝 매니저;
150: 기반 모델;
170: 제1향상 모델;
180: 제2향상 모델; 10: semiconductor device modeling system;
11: processor;
13: memory;
110: data;
120: data converter;
130: learning environment manager;
140: machine learning manager;
150: base model;
170: first improvement model;
180: second enhancement model;
Claims (22)
상기 프로세서(11)는 제1신경망(neural network; 150)을 훈련시키기 위해 제1반도체 소자의 복수의 제1전압 데이터 세트들(V1, V2, V3)과, 제1전기용량(capacitance) 데이터(CT), 제1전류 데이터(IT), 또는 제1전하 데이터(QT)를 포함하는 제1훈련 데이터 세트들(110)을 수신하는 단계;
상기 프로세서는 상기 복수의 제1전압 데이터 세트들(110)을 상기 제1신경망(150)의 입력에 적용하여 제2전기용량 데이터(CO), 제2전류 데이터(IO), 또는 제2전하 데이터(QO)를 결정하는 단계;
상기 프로세서는 상기 수신된 제1전기용량 데이터(CT), 상기 수신된 제1전류 데이터(IT), 또는 상기 제1전하 데이터(QT)와, 상기 결정된 제2전기용량 데이터(CO), 상기 결정된 제2전류 데이터(IO), 또는 상기 결정된 제2전하 데이터(QO)의 비교에 따라 상기 제1신경망(150)의 파라미터들(parameters)을 업데이트하는 단계;
상기 프로세서는 제2신경망(175, 185)에서 상기 제1신경망(150)의 업데이트된 파라미터들 중 적어도 어느 하나를 재사용(reuse)하기 위해 상기 파라미터들 중 적어도 어느 하나를 상기 제2신경망(175, 185)으로 전달하는 단계;
상기 프로세서는 상기 제2신경망(175, 185)을 훈련시키기 위해 제2반도체 소자의 복수의 제2전압 데이터 세트들(V4,V5,V6,또는 V7, V8, V9)과, 제3전기용량 데이터(CT2, 또는 CT3), 제3전류 데이터(IT2, 또는 IT3), 또는 제3전하 데이터(QT2, 또는 QT3)를 포함하는 제2훈련 데이터 세트들을 수신하는 단계;
상기 프로세서는 상기 복수의 제2전압 데이터 세트들을 상기 제2신경망(175, 185)의 입력에 적용하여 제4전기용량 데이터(미도시), 제4전류 데이터(미도시), 또는 제4전하 데이터(미도시)를 결정하는 단계; 및
상기 프로세서는 상기 수신된 제3전기용량 데이터(CT2, 또는 CT3), 상기 수신된 제3전류 데이터(IT2, 또는 IT3), 또는 상기 수신된 제3전하 데이터(QT2, 또는 QT3)와, 상기 결정된 제4전기용량 데이터(미도시), 상기 결정된 제4전류 데이터(미도시), 또는 상기 결정된 제4전하 데이터의 비교에 따라 상기 제2신경망(175, 또는 185)의 파라미터들을 업데이트하는 단계를 포함하는 반도체 소자 모델링 시스템의 반도체 소자 모델링 방법.In the semiconductor device modeling method of the semiconductor device modeling system (10) comprising a memory (13) for storing instructions and a processor (11) for executing the instructions,
The processor 11 includes a plurality of first voltage data sets V 1 , V 2 , V 3 of a first semiconductor device to train a first neural network 150 , and a first capacitance ) receiving first training data sets 110 including data C T , first current data I T , or first charge data Q T ;
The processor applies the plurality of first voltage data sets 110 to the input of the first neural network 150 to obtain second capacitance data C O , second current data I O , or a second determining charge data (Q O );
The processor includes the received first capacitance data (C T ), the received first current data ( IT ), or the first charge data (Q T ), and the determined second capacitance data (C O ) ), updating the parameters of the first neural network 150 according to the comparison of the determined second current data (I O ), or the determined second charge data (Q O );
The processor converts at least one of the parameters to the second neural network (175, 185) in order to reuse (reuse) at least one of the updated parameters of the first neural network (150) in the second neural network (175, 185) 185);
The processor is configured to train the second neural networks 175 and 185 with a plurality of second voltage data sets V 4 , V 5 , V 6 , or V 7 , V 8 , V 9 of a second semiconductor device and , third capacitive data (C T2 , or C T3 ), third current data (I T2 , or I T3 ), or third charge data (Q T2 , or Q T3 ). receiving;
Wherein the processor is a fourth capacitive data (not shown), a fourth current data (not shown), or the fourth charge is applied to the input of said second neural network (175, 185) to the plurality of second voltage data set determining data (not shown); and
The processor is configured to configure the received third capacitive data C T2 , or C T3 , the received third current data I T2 , or I T3 , or the received third charge data Q T2 , or Q T3 ) and the determined fourth capacitance data (not shown), the determined fourth current data (not shown), or the determined fourth charge data according to the comparison of the parameters of the second neural network 175 or 185 A method for modeling a semiconductor device in a semiconductor device modeling system, comprising updating them.
상기 프로세서는 상기 제1신경망, 또는 상기 제2신경망의 하이퍼파라미터를 자동으로 설정하기 위해 목표 함수와, 하이퍼파라미터 변수에 따른 상기 목표 함수의 표준편차를 나타내는 획득 함수를 설정하는 단계;
상기 프로세서는 상기 하이퍼파라미터 변수를 임의로 선택하여 임의의 선택된 하이퍼파라미터 변수를 상기 제1신경망, 또는 상기 제2신경망에 적용하여 출력된 출력값과 목표값의 차이를 의미하는 손실값을 출력하는 출력 동작을 수행하는 단계;
상기 프로세서는 상기 획득 함수에서 상기 임의의 선택된 하이퍼파라미터 변수에 따른 상기 목표 함수의 표준편차를 계산하는 계산 동작을 수행하는 단계;
상기 프로세서는 상기 출력된 손실값과 상기 획득 함수에서 계산된 표준편차에 따라 상기 목표 함수를 수정하는 수정 동작을 수행하는 단계; 및
상기 프로세서는 수렴할 때까지 상기 출력 동작, 상기 계산 동작, 및 상기 수정 동작을 반복적으로 수행하고 수행 결과, 상기 손실값이 최소일 때의 하이퍼파라미터 변수를 상기 제1신경망, 또는 상기 제2신경망의 하이퍼파라미터로 설정하는 단계를 더 포함하는 반도체 소자 모델링 시스템의 반도체 소자 모델링 방법.The method of claim 1 , wherein the semiconductor device modeling method of the semiconductor device modeling system comprises:
setting, by the processor, a target function to automatically set a hyperparameter of the first neural network or the second neural network, and an acquisition function representing a standard deviation of the target function according to a hyperparameter variable;
The processor arbitrarily selects the hyperparameter variable and applies the randomly selected hyperparameter variable to the first neural network or the second neural network to output a loss value indicating a difference between an output value and a target value. performing;
performing, by the processor, a calculation operation of calculating a standard deviation of the target function according to the arbitrary selected hyperparameter variable in the acquisition function;
performing, by the processor, a correction operation of modifying the target function according to the output loss value and the standard deviation calculated by the acquisition function; and
The processor repeatedly performs the output operation, the calculation operation, and the correction operation until convergence, and as a result of the execution, the hyperparameter variable when the loss value is the minimum of the first neural network or the second neural network A semiconductor device modeling method of a semiconductor device modeling system further comprising the step of setting a hyperparameter.
전압의 변화에 대한 전하의 변화율로 표현되며,
상기 전압의 변화에 대한 전하의 변화율로 표현된 상기 수신된 제3전기용량 데이터와 상기 결정된 제4전기용량 데이터의 비교에 따라 상기 제2신경망의 파라미터들이 업데이트되는 반도체 소자 모델링 시스템의 반도체 소자 모델링 방법.The method according to claim 1, wherein each of the received third capacitive data (CT2, or CT3) and the determined fourth capacitive data comprises:
It is expressed as the rate of change of charge with respect to change of voltage,
A method for modeling a semiconductor device in a semiconductor device modeling system in which parameters of the second neural network are updated according to a comparison of the received third capacitance data and the determined fourth capacitance data expressed as a change rate of charge with respect to a change in voltage .
전기용량의 적분으로 표현되며,
상기 전기용량의 적분으로 표현된 상기 수신된 제3전하 데이터와 상기 결정된 제4전하 데이터의 비교에 따라 상기 제2신경망의 파라미터들이 업데이트되는 반도체 소자 모델링 시스템의 반도체 소자 모델링 방법.According to claim 1, wherein each of the received third charge data and the determined fourth charge data,
It is expressed as the integral of the capacitance,
A method for modeling a semiconductor device in a semiconductor device modeling system in which parameters of the second neural network are updated according to a comparison between the received third charge data expressed as an integral of the capacitance and the determined fourth charge data.
가중치 행렬과 편향 벡터를 포함하며,
상기 제1신경망에 포함된 가중치 행렬들과 편향 벡터들의 일부와 상기 제2신경망에 포함된 가중치 행렬들과 편향 벡터들의 일부는 공통되는 반도체 소자 모델링 시스템의 반도체 소자 모델링 방법.The method of claim 1 , wherein the parameters are
contains a weight matrix and a bias vector,
A method for modeling a semiconductor device in a semiconductor device modeling system in which a part of weight matrices and bias vectors included in the first neural network and a part of weight matrices and bias vectors included in the second neural network are common.
상기 프로세서는 상기 제2신경망의 훈련이 끝난 후 상기 제2신경망에 상기 제2반도체 소자의 복수의 제3전압 데이터 세트들을 적용하여 상기 제2신경망에서 제5전류 데이터, 또는 제5전하 데이터를 추론하는 단계; 및
상기 프로세서는 상기 제2반도체 소자의 복수의 제3전압 데이터 세트들과, 제5전류 데이터, 또는 제5전하 데이터의 관계를 나타내는 룩업 테이블을 생성하고 상기 룩업 테이블에 기반하여 신경망이 적용된 컴팩 모델로 출력하는 단계를 더 포함하는 반도체 소자 모델링 시스템의 반도체 소자 모델링 방법.The method of claim 1 , wherein the semiconductor device modeling method of the semiconductor device modeling system comprises:
After training of the second neural network is finished, the processor applies a plurality of third voltage data sets of the second semiconductor device to the second neural network to infer fifth current data or fifth charge data from the second neural network. to do; and
The processor generates a lookup table representing a relationship between a plurality of third voltage data sets of the second semiconductor device, fifth current data, or fifth charge data, and based on the lookup table, a neural network is applied as a compact model. A semiconductor device modeling method of a semiconductor device modeling system further comprising the step of outputting.
상기 프로세서는 상기 제2신경망의 훈련이 끝난 후 상기 제2신경망에 상기 제2반도체 소자의 복수의 제3전압 데이터 세트들을 적용하여 상기 제2신경망에서 제5전류 데이터, 또는 제5전하 데이터를 추론하는 단계; 및
상기 프로세서는 상기 제2반도체 소자의 복수의 제3전압 데이터 세트들과, 제5전류 데이터, 또는 제5전하 데이터의 관계를 나타내는 결과물을 신경망이 적용된 컴팩 모델로 출력하는 단계를 더 포함하는 반도체 소자 모델링 시스템의 반도체 소자 모델링 방법.The method of claim 1 , wherein the semiconductor device modeling method of the semiconductor device modeling system comprises:
After training of the second neural network is finished, the processor applies a plurality of third voltage data sets of the second semiconductor device to the second neural network to infer fifth current data or fifth charge data from the second neural network. to do; and
and outputting, by the processor, a result representing a relationship between a plurality of third voltage data sets of the second semiconductor device, fifth current data, or fifth charge data as a compact model to which a neural network is applied. A method of modeling a semiconductor device in a modeling system.
상기 프로세서는 상기 제1신경망, 또는 상기 제2신경망을 훈련시키기 위해 상기 제1반도체 소자의 특성 데이터 세트들, 또는 상기 제2반도체 소자의 특성 데이터 세트들을 수신하는 단계;
상기 프로세서는 상기 수신된 상기 제1반도체 소자의 상기 복수의 제1전압 데이터 세트들과 상기 제1반도체 소자의 특성 데이터 세트들을 이용하여 상기 제2전기 용량 데이터, 상기 제2전류 데이터, 또는 제2전하 데이터를 결정하는 단계; 및
상기 프로세서는 상기 수신된 제2반도체 소자의 상기 복수의 제2전압 데이터 세트들과 상기 제2반도체 소자의 특성 데이터 세트들을 이용하여 상기 제4전기 용량 데이터, 상기 제4전류 데이터, 또는 제4전하 데이터를 결정하는 단계를 더 포함하는 반도체 소자 모델링 시스템의 반도체 소자 모델링 방법.The method of claim 1 , wherein the semiconductor device modeling method of the semiconductor device modeling system comprises:
receiving, by the processor, characteristic data sets of the first semiconductor device or characteristic data sets of the second semiconductor device to train the first neural network or the second neural network;
The processor is configured to use the received plurality of first voltage data sets of the first semiconductor device and characteristic data sets of the first semiconductor device to obtain the second capacitance data, the second current data, or a second determining charge data; and
The processor is configured to use the plurality of second voltage data sets of the received second semiconductor device and characteristic data sets of the second semiconductor device to generate the fourth capacitance data, the fourth current data, or a fourth charge. The method of modeling a semiconductor device of a semiconductor device modeling system further comprising the step of determining the data.
상기 명령들을 실행하는 프로세서를 포함하며,
상기 명령들은,
제1신경망(neural network; 150)을 훈련시키기 위해 제1반도체 소자의 복수의 제1전압 데이터 세트들(V1, V2, V3)과, 제1전기용량(capacitance) 데이터(CT), 제1전류 데이터(IT), 또는 제1전하 데이터(QT)를 포함하는 제1훈련 데이터 세트들(110)을 수신하며,
상기 복수의 제1전압 데이터 세트들(110)을 상기 제1신경망(150)의 입력에 적용하여 제2전기용량 데이터(CO), 제2전류 데이터(IO), 또는 제2전하 데이터(QO)를 결정하며,
상기 수신된 제1전기용량 데이터(CT), 상기 수신된 제1전류 데이터(IT), 또는 상기 제1전하 데이터(QT)와, 상기 결정된 제2전기용량 데이터(CO), 상기 결정된 제2전류 데이터(IO), 또는 상기 결정된 제2전하 데이터(QO)의 비교에 따라 상기 제1신경망(150)의 파라미터들(parameters)을 업데이트하며,
제2신경망(175, 185)에서 상기 제1신경망(150)의 업데이트된 파라미터들 중 적어도 어느 하나를 재사용(reuse)하기 위해 상기 파라미터들 중 적어도 어느 하나를 상기 제2신경망(175, 185)으로 전달하며,
상기 제2신경망(175, 185)을 훈련시키기 위해 제2반도체 소자의 복수의 제2전압 데이터 세트들(V4,V5,V6,또는 V7, V8, V9)과, 제3전기용량 데이터(CT2, 또는 CT3), 제3전류 데이터(IT2, 또는 IT3), 또는 제3전하 데이터(QT2, 또는 QT3)를 포함하는 제2훈련 데이터 세트들을 수신하며,
상기 복수의 제2전압 데이터 세트들을 상기 제2신경망(175, 185)의 입력에 적용하여 제4전기용량 데이터(미도시), 제4전류 데이터(미도시), 또는 제4전하 데이터(미도시)를 결정하며,
상기 수신된 제3전기용량 데이터(CT2, 또는 CT3), 상기 수신된 제3전류 데이터(IT2, 또는 IT3), 또는 상기 수신된 제3전하 데이터(QT2, 또는 QT3)와, 상기 결정된 제4전기용량 데이터(미도시), 상기 결정된 제4전류 데이터(미도시), 또는 상기 결정된 제4전하 데이터의 비교에 따라 상기 제2신경망(175, 또는 185)의 파라미터들을 업데이트하도록 구현된 반도체 소자 모델링 시스템.a memory storing instructions; and
a processor for executing the instructions;
The commands are
In order to train a first neural network 150 , a plurality of first voltage data sets V 1 , V 2 , V 3 of a first semiconductor device and a first capacitance data C T ) , a first current data ( IT ), or a first charge data (Q T ) to receive the first training data sets 110 including,
By applying the plurality of first voltage data sets 110 to the input of the first neural network 150, second capacitance data (C O ), second current data ( IO ), or second charge data ( Q O ) is determined,
The received first capacitance data (C T ), the received first current data (I T ), or the first charge data (Q T ), the determined second capacitance data (C O ), the Updating the parameters of the first neural network 150 according to the comparison of the determined second current data (I O ), or the determined second charge data (Q O ),
In order to reuse at least one of the updated parameters of the first neural network 150 in the second neural networks 175 and 185, at least one of the parameters is transferred to the second neural networks 175 and 185. convey,
In order to train the second neural networks 175 and 185, a plurality of second voltage data sets V 4 , V 5 , V 6 , or V 7 , V 8 , V 9 of a second semiconductor device and a third receiving second training data sets comprising capacitive data (C T2 , or C T3 ), third current data (I T2 , or I T3 ), or third charge data (Q T2 , or Q T3 ),
By applying the plurality of second voltage data sets to the inputs of the second neural networks 175 and 185, fourth capacitance data (not shown), fourth current data (not shown), or fourth charge data (not shown) ) to determine
The received third capacitive data (C T2 , or C T3 ), the received third current data (I T2 , or I T3 ), or the received third charge data (Q T2 , or Q T3 ) and , to update the parameters of the second neural network 175 or 185 according to a comparison of the determined fourth capacitance data (not shown), the determined fourth current data (not shown), or the determined fourth charge data. Implemented semiconductor device modeling system.
상기 제1신경망, 또는 상기 제2신경망의 하이퍼파라미터를 자동으로 설정하기 위해 목표 함수와, 하이퍼파라미터 변수에 따른 상기 목표 함수의 표준편차를 나타내는 획득 함수를 설정하며,
상기 하이퍼파라미터 변수를 임의로 선택하여 상기 임의로 선택된 하이퍼파라미터 변수를 상기 제1신경망, 또는 상기 제2신경망에 적용하여 출력된 출력값과 목표값의 차이를 의미하는 손실값을 출력하는 출력 동작을 수행하며,
상기 획득 함수에서 임의의 선택된 하이퍼파라미터 변수에 따른 상기 목표 함수의 표준편차를 계산하는 계산 동작을 수행하며,
상기 출력된 손실값과 상기 획득 함수에서 계산된 표준편차에 따라 상기 목표 함수를 수정하는 수정 동작을 수행하며,
수렴할 때까지 상기 출력 동작, 상기 계산 동작, 및 상기 수정 동작을 반복적으로 수행하고 수행 결과, 상기 손실값이 최소일 때의 하이퍼파라미터 변수를 상기 제1신경망, 또는 상기 제2신경망의 하이퍼파라미터로 설정하도록 구현되는 반도체 소자 모델링 시스템.13. The method of claim 12, wherein the instructions:
setting a target function to automatically set hyperparameters of the first neural network or the second neural network, and an acquisition function representing a standard deviation of the target function according to hyperparameter variables,
arbitrarily selecting the hyperparameter variable and applying the arbitrarily selected hyperparameter variable to the first neural network or the second neural network to output a loss value indicating a difference between an output value and a target value;
performing a calculation operation of calculating a standard deviation of the target function according to an arbitrary selected hyperparameter variable in the acquisition function;
performing a correction operation of correcting the target function according to the output loss value and the standard deviation calculated in the acquisition function,
The output operation, the calculation operation, and the correction operation are repeatedly performed until convergence, and as a result of the execution, the hyperparameter variable when the loss value is minimum is used as a hyperparameter of the first neural network or the second neural network. A semiconductor device modeling system implemented to set up.
전압의 변화에 대한 전하의 변화율로 표현되며,
상기 전압의 변화에 대한 전하의 변화율로 표현된 상기 수신된 제3전기용량 데이터와 상기 결정된 제4전기용량 데이터의 비교에 따라 상기 제2신경망의 파라미터들이 업데이트되는 반도체 소자 모델링 시스템.13. The method of claim 12, wherein each of the received third capacitive data (CT2, or CT3) and the determined fourth capacitive data comprises:
It is expressed as the rate of change of charge with respect to change of voltage,
A semiconductor device modeling system in which parameters of the second neural network are updated according to a comparison of the received third capacitive data expressed as a rate of change of electric charge with respect to the change of voltage and the determined fourth capacitive data.
전기용량의 적분으로 표현되며,
상기 전기용량의 적분으로 표현된 상기 수신된 제3전하 데이터와 상기 결정된 제4전하 데이터의 비교에 따라 상기 제2신경망의 파라미터들이 업데이트되는 반도체 소자 모델링 시스템.The method of claim 12, wherein each of the received third charge data and the determined fourth charge data comprises:
It is expressed as the integral of the capacitance,
A semiconductor device modeling system in which parameters of the second neural network are updated according to a comparison between the received third charge data expressed as an integral of the capacitance and the determined fourth charge data.
가중치 행렬과 편향 벡터를 포함하며,
상기 제1신경망에 포함된 가중치 행렬들과 편향 벡터들의 일부와 상기 제2신경망에 포함된 가중치 행렬들과 편향 벡터들의 일부는 공통되는 반도체 소자 모델링 시스템.13. The method of claim 12, wherein the parameters are
contains a weight matrix and a bias vector,
A semiconductor device modeling system in which parts of weight matrices and bias vectors included in the first neural network and parts of weight matrices and bias vectors included in the second neural network are common.
상기 제2신경망의 훈련이 끝난 후 상기 제2신경망에 상기 제2반도체 소자의 복수의 제3전압 데이터 세트들을 적용하여 상기 제2신경망에서 제5전류 데이터, 또는 제5전하 데이터를 추론하며,
상기 제2반도체 소자의 복수의 제3전압 데이터 세트들과, 제5전류 데이터, 또는 제5전하 데이터의 관계를 나타내는 룩업 테이블을 생성하고 상기 룩업 테이블에 기반하여 신경망이 적용된 컴팩 모델로 출력하도록 구현되는 반도체 소자 모델링 시스템.13. The method of claim 12, wherein the instructions:
After the training of the second neural network is finished, inferring fifth current data or fifth charge data from the second neural network by applying a plurality of third voltage data sets of the second semiconductor device to the second neural network,
A lookup table representing the relationship between a plurality of third voltage data sets of the second semiconductor device, fifth current data, or fifth charge data is generated, and based on the lookup table, it is implemented to output as a compact model to which a neural network is applied. semiconductor device modeling system.
상기 제2신경망의 훈련이 끝난 후 상기 제2신경망에 상기 제2반도체 소자의 복수의 제3전압 데이터 세트들을 적용하여 상기 제2신경망에서 제5전류 데이터, 또는 제5전하 데이터를 추론하며,
상기 제2반도체 소자의 복수의 제3전압 데이터 세트들과, 제5전류 데이터, 또는 제5전하 데이터의 관계를 나타내는 결과물을 신경망이 적용된 컴팩 모델로 출력하도록 구현되는 반도체 소자 모델링 시스템.13. The method of claim 12, wherein the instructions:
After the training of the second neural network is finished, inferring fifth current data or fifth charge data from the second neural network by applying a plurality of third voltage data sets of the second semiconductor device to the second neural network,
A semiconductor device modeling system configured to output a result representing a relationship between a plurality of third voltage data sets of the second semiconductor device, fifth current data, or fifth charge data as a compact model to which a neural network is applied.
상기 제1신경망, 또는 상기 제2신경망을 훈련시키기 위해 상기 제1반도체 소자의 특성 데이터 세트들, 또는 상기 제2반도체 소자의 특성 데이터 세트들을 수신하며,
상기 수신된 상기 제1반도체 소자의 상기 복수의 제1전압 데이터 세트들과 상기 제1반도체 소자의 특성 데이터 세트들을 이용하여 상기 제2전기 용량 데이터, 상기 제2전류 데이터, 또는 제2전하 데이터를 결정하며,
상기 수신된 제2반도체 소자의 상기 복수의 제2전압 데이터 세트들과 상기 제2반도체 소자의 특성 데이터 세트들을 이용하여 상기 제4전기 용량 데이터, 상기 제4전류 데이터, 또는 제4전하 데이터를 결정하도록 구현되는 반도체 소자 모델링 시스템.13. The method of claim 12, wherein the instructions:
receiving characteristic data sets of the first semiconductor device or characteristic data sets of the second semiconductor device for training the first neural network or the second neural network;
The second capacitance data, the second current data, or the second charge data are generated using the received plurality of first voltage data sets of the first semiconductor device and characteristic data sets of the first semiconductor device. decide,
Determine the fourth capacitance data, the fourth current data, or the fourth charge data by using the plurality of second voltage data sets of the received second semiconductor device and characteristic data sets of the second semiconductor device A semiconductor device modeling system implemented to do so.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210016591A KR102285516B1 (en) | 2021-02-05 | 2021-02-05 | Semiconductor device modeling method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210016591A KR102285516B1 (en) | 2021-02-05 | 2021-02-05 | Semiconductor device modeling method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR102285516B1 true KR102285516B1 (en) | 2021-08-04 |
KR102285516B9 KR102285516B9 (en) | 2022-04-11 |
Family
ID=77314765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210016591A KR102285516B1 (en) | 2021-02-05 | 2021-02-05 | Semiconductor device modeling method and system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102285516B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102512102B1 (en) | 2022-05-24 | 2023-03-21 | 주식회사 알세미 | System and method for semiconductor device compact modeling using multiple artificial neural networks specialized in each semiconductor device operation region |
KR102561849B1 (en) | 2022-11-10 | 2023-08-01 | 주식회사 알세미 | Method and device for processing neural network model for circuit simulator |
KR102579974B1 (en) | 2022-09-27 | 2023-09-19 | 주식회사 알세미 | Neural compact modeling method and computing device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100080331A (en) | 2008-12-29 | 2010-07-08 | 인터내셔널 비지네스 머신즈 코포레이션 | Extracting consistent compact model parameters for related devices |
KR20120129670A (en) * | 2011-05-20 | 2012-11-28 | 한국전자통신연구원 | Method and apparatus for modeling of transistor |
US20190385047A1 (en) * | 2018-06-19 | 2019-12-19 | Hong Kong Applied Science and Technology Research Institute Company, Limited | Semiconductor Device Modeling Using Input Pre-Processing and Transformed Targets for Training a Deep Neural Network |
KR20200030428A (en) * | 2018-09-11 | 2020-03-20 | 삼성전자주식회사 | Standard cell design system, standard cell design optimization operation thereof, and semiconductor design system |
KR20200119192A (en) * | 2019-04-08 | 2020-10-19 | 삼성전자주식회사 | System and method for compact neural network modeling of transistors |
-
2021
- 2021-02-05 KR KR1020210016591A patent/KR102285516B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100080331A (en) | 2008-12-29 | 2010-07-08 | 인터내셔널 비지네스 머신즈 코포레이션 | Extracting consistent compact model parameters for related devices |
KR20120129670A (en) * | 2011-05-20 | 2012-11-28 | 한국전자통신연구원 | Method and apparatus for modeling of transistor |
US20190385047A1 (en) * | 2018-06-19 | 2019-12-19 | Hong Kong Applied Science and Technology Research Institute Company, Limited | Semiconductor Device Modeling Using Input Pre-Processing and Transformed Targets for Training a Deep Neural Network |
KR20200030428A (en) * | 2018-09-11 | 2020-03-20 | 삼성전자주식회사 | Standard cell design system, standard cell design optimization operation thereof, and semiconductor design system |
KR20200119192A (en) * | 2019-04-08 | 2020-10-19 | 삼성전자주식회사 | System and method for compact neural network modeling of transistors |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102512102B1 (en) | 2022-05-24 | 2023-03-21 | 주식회사 알세미 | System and method for semiconductor device compact modeling using multiple artificial neural networks specialized in each semiconductor device operation region |
KR102579974B1 (en) | 2022-09-27 | 2023-09-19 | 주식회사 알세미 | Neural compact modeling method and computing device |
KR102561849B1 (en) | 2022-11-10 | 2023-08-01 | 주식회사 알세미 | Method and device for processing neural network model for circuit simulator |
Also Published As
Publication number | Publication date |
---|---|
KR102285516B9 (en) | 2022-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102285516B1 (en) | Semiconductor device modeling method and system | |
Yang et al. | Online approximate optimal control for affine non‐linear systems with unknown internal dynamics using adaptive dynamic programming | |
Zhang et al. | Dynamic extreme learning machine and its approximation capability | |
KR20190052604A (en) | System and method for circuit simulation based on recurrent neural networks | |
Papageorgiou et al. | A weight adaptation method for fuzzy cognitive map learning | |
KR20200119192A (en) | System and method for compact neural network modeling of transistors | |
Yang et al. | Adaptive dynamic programming for robust neural control of unknown continuous‐time non‐linear systems | |
Wang | On the abstraction of conventional dynamic systems: from numerical analysis to linguistic analysis | |
Zhang et al. | A new finite-time varying-parameter convergent-differential neural-network for solving nonlinear and nonconvex optimization problems | |
Veerasamy et al. | Load flow analysis using generalised Hopfield neural network | |
Nguyen et al. | Fast transient simulation of high-speed channels using recurrent neural network | |
Rosenbaum et al. | Machine learning for circuit aging simulation | |
Hallawa et al. | Evolving instinctive behaviour in resource-constrained autonomous agents using grammatical evolution | |
Santacruz et al. | Learning the sub-optimal graph edit distance edit costs based on an embedded model | |
US20190384871A1 (en) | Generating hybrid models of physical systems | |
McCaughan et al. | Multiplexed gradient descent: Fast online training of modern datasets on hardware neural networks without backpropagation | |
Vargas et al. | Relu-based activations: Analysis and experimental study for deep learning | |
Wu et al. | A generalized procedure in designing recurrent neural network identification and control of time-varying-delayed nonlinear dynamic systems | |
CN109697511B (en) | Data reasoning method and device and computer equipment | |
Ye et al. | Randomized neural networks based decentralized multi-task learning via hybrid multi-block ADMM | |
CN111274374B (en) | Data processing method and device, computer storage medium and electronic equipment | |
Han et al. | Stochastic Dynamics of Discrete‐Time Fuzzy Random BAM Neural Networks with Time Delays | |
KR100552639B1 (en) | Method for providing error information concerning inconsistencies in a system of differential equations | |
De Lozzo et al. | Multilayer perceptron for the learning of spatio-temporal dynamics—application in thermal engineering | |
Harmati et al. | On the convergence of input-output fuzzy cognitive maps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Re-publication after modification of scope of protection [patent] |