KR20220048941A - 인공 신경망을 이용한 트랜지스터 컴팩트 모델링 시스템, 방법 및 컴퓨터 프로그램 제품 - Google Patents

인공 신경망을 이용한 트랜지스터 컴팩트 모델링 시스템, 방법 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR20220048941A
KR20220048941A KR1020210132476A KR20210132476A KR20220048941A KR 20220048941 A KR20220048941 A KR 20220048941A KR 1020210132476 A KR1020210132476 A KR 1020210132476A KR 20210132476 A KR20210132476 A KR 20210132476A KR 20220048941 A KR20220048941 A KR 20220048941A
Authority
KR
South Korea
Prior art keywords
neural network
value
training
modeled
model
Prior art date
Application number
KR1020210132476A
Other languages
English (en)
Inventor
징 왕
최우성
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20220048941A publication Critical patent/KR20220048941A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Abstract

반도체 디바이스의 성능을 결정하기 위한 컴퓨터 구현 방법이 제공된다. 방법은 입력 상태 값 및 트레이닝 커패시턴스 값을 포함하는 트레이닝 데이터를 컴퓨터 시스템에서 실행하는 신경망에 제공하는 단계; 모델링된 전하 값을 생성하기 위해 신경망을 통해 입력 상태 값을 처리하는 단계; 모델링된 전하 값을 모델링된 커패시턴스 값으로 변환하는 단계; 컴퓨터 시스템에 의해, 모델링된 전하 값을 생략하는 손실 함수를 이용하여 트레이닝 데이터의 트레이닝 커패시턴스 값이 모델링된 커패시턴스 값의 임계값 내에 있는지 여부를 결정하는 단계; 및 트레이닝 데이터의 트레이닝 커패시턴스 값이 모델링된 커패시턴스 값의 임계값 내에 있다고 결정한 것에 응답하여, 컴퓨터 시스템에 의해 신경망을 회로 시뮬레이션 코드로 변환하여 변환된 신경망을 생성하는 단계를 포함한다.

Description

인공 신경망을 이용한 트랜지스터 컴팩트 모델링 시스템, 방법 및 컴퓨터 프로그램 제품{SYSTEMS, METHODS, AND COMPUTER PROGRAM PRODUCTS FOR TRANSISTOR COMPACT MODELING USING ARTIFICIAL NEURAL NETWORKS}
본 발명의 개념은 일반적으로 회로의 트랜지스터를 모델링하는 것을 포함하여, 반도체 장치 및 회로를 설계하기 위한 반도체 장치 및 시스템, 방법, 및 컴퓨터 프로그램 제품에 관한 것이다.
트랜지스터 컴팩트 모델은 집적 회로(IC)의 효율적인 분석 및 설계에 자주 사용되는 회로 시뮬레이션에 유용하다. 전계 효과 트랜지스터(FET)의 표준 컴팩트 모델은 물리 기반 방정식으로 구성되며 IC 제품 설계를 위한 (프로세스 설계 키트 (PDK)에 널리 채택되었다. 이러한 모델의 예로는 버클리 쇼트 채널 IGFET 모델(BSIM) 및 펜 스테이트 필립스(PSP) 모델이 있다. BSIM은 예를 들어 제41회 반도체 회로에 관한 유럽 회의(ESSCIRC), 2015년 9월, pp. 196-201, J. P. Duarte 외, "BSIM-CMG: 고급 회로 설계를 위한 표준 FinFET 컴팩트 모델"에서 논의된다. PSP는 예를 들어 IEEE Trans. 전기 Dev., vol. 53, no. 9, 1979-1993년, 2006년 9월, G. Gildenblat 외, "PSP: 회로 시뮬레이션을 위한 고급 표면 전위 기반 MOSFET 모델"에서 논의된다.
CMOS 기술이 스케일링 한계에 접근함에 따라, 다양한 새로운 장치 옵션은 빠른 처리 시간(TAT)으로 설계 기술 공동 최적화(DTCO) 활동 중에 평가되어야 한다. 이 시나리오에서 표준 FET 컴팩트 모델을 사용하게 되면 두 가지 문제에 직면할 수 있다. 첫째, 새로운 장치는 표준 FET 모델로 잘 포착되지 않는 전기적 특성을 나타낼 수 있으며 새로운 물리적 현상에 대한 물리학 기반 모델 방정식을 개발하려면 높은 전문 지식과 긴 TAT가 필요할 수 있다. 둘째, 방정식 기반 모델의 경우, 매우 높은 피팅 정확도를 달성하면서 모델 매개변수 추출 프로세스를 완전히 자동화하는 것은 여전히 어려운 일이다.
본 개시의 실시예는 반도체 디바이스의 컴팩트 신경망(NN) 모델에 관한 것이다. 본 개시의 일부 실시예는 시뮬레이션 또는 실제 장치로부터의 C-V(커패시턴스-전압) 데이터로부터 생성될 수 있는 NN 모델에 관한 것이다. 본 개시의 일부 실시예는 I-V(전류-전압) 기반 NN에 대한 입력을 개선할 수 있는 NN 모델에 관한 것이다.
본 발명의 일부 실시 예는 반도체 장치의 성능을 분석하기 위한 컴퓨터 구현 방법에 관한 것으로, 상기 방법은: 컴퓨터 시스템에서 실행되는 신경망에 입력 상태 값 및 훈련 커패시턴스 값을 포함하는 훈련 데이터를 제공하는 단계; 모델링된 전하 값을 생성하기 위해 상기 신경망을 통해 상기 입력 상태 값을 처리하는 단계; 상기 모델링된 전하 값을 모델링된 커패시턴스 값으로 변환하는 단계; 상기 컴퓨터 시스템에 의해, 상기 모델링된 전하 값을 생략하는 손실 함수를 이용하여 상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 임계값 내에 있는지 여부를 결정하는 단계; 및 상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 상기 임계값 내에 있다는 결정에 응답하여, 상기 컴퓨터 시스템에 의해, 상기 신경망을 회로 시뮬레이션 코드로 변환하여 변환된 신경망을 생성하는 단계를 포함한다.
일부 실시 예에서, 상기 방법은 상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 상기 임계값 내에 있지 않다는 결정에 응답하여, 상기 컴퓨터 시스템에 의해 상기 신경망의 매개변수를 조정하고 상기 신경망을 통해 상기 입력 상태 값을 처리하는 단계를 반복하는 단계를 더 포함한다.
일부 실시 예에서, 상기 방법은 상기 변환된 신경망을 사용하여 시뮬레이션 출력을 생성하기 위해 테스트 반도체 장치의 동작을 시뮬레이션하는 단계; 상기 컴퓨터 시스템에 의해, 상기 시뮬레이션 출력을 생성하는 단계의 처리 시간이 만족스러운지 여부를 결정하는 단계; 및 상기 처리 시간이 만족스럽지 않다는 결정에 응답하여, 상기 컴퓨터 시스템에 의해 상기 신경망의 크기를 조정하고 상기 신경망을 통해 상기 입력 상태 값을 처리하는 단계를 반복하는 단계를 더 포함한다.
일부 실시 예에서, 상기 반도체 장치는 트랜지스터이다.
일부 실시 예에서,상기 입력 상태 값은 복수의 바이어스 값 및 복수의 인스턴스 값을 포함하고, 상기 컴퓨터 구현 방법은: 상기 복수의 인스턴스 값의 각 인스턴스 값에 대해 추가 신경망을, 상기 인스턴스 값을 일정하게 유지하고 상기 복수의 바이어스 값을 상기 추가 신경망에 대한 상기 입력 상태 값으로 상기 추가 신경망에 제공함으로써, 생성하는 단계를 더 포함한다.
일부 실시 예에서, 상기 방법은 상기 반도체 장치의 제 1 인스턴스를 제조하는 단계; 상기 반도체 장치의 상기 제 1 인스턴스의 특성 및/또는 성능을 측정하는 단계; 및 상기 반도체 장치의 상기 제 1 인스턴스의 상기 측정된 특성 및/또는 성능에 기초하여 상기 훈련 데이터를 생성하는 단계를 더 포함한다.
일부 실시 예에서, 상기 방법은 상기 변환된 신경망을 기반으로 하드웨어 기술 언어(HDL) 모델을 구축하는 단계; 및 상기 HDL 모델을 기반으로 상기 반도체 장치의 제 2 인스턴스를 제조하는 단계를 더 포함한다.
일부 실시 예에서, 상기 모델링된 전하 값을 모델링된 커패시턴스 값으로 변환하는 단계는 상기 모델링된 전하 값의 수학 도함수를 생성하는 단계를 포함한다.
일부 실시 예에서, 상기 훈련 데이터의 상기 훈련 커패시턴스 값은 기술 컴퓨터 보조 디자인(TCAD) 시스템 시뮬레이션에 의해 생성된다.
일부 실시 예에서, 상기 훈련 데이터를 제공하는 단계는 상기 훈련 커패시턴스 값의 수학 적분을 수행하지 않고 수행된다.
본 발명의 일부 실시 예는 반도체 소자의 성능을 분석하기 위한 시스템에 관한 것으로, 상기 시스템은: 프로세서; 및 실행시, 상기 프로세서로 하여금: 상기 프로세서에서 실행되는 신경망에 입력 상태 값 및 훈련 커패시턴스 값을 포함하는 훈련 데이터를 제공하는 동작; 모델링된 전하 값을 생성하기 위해 상기 신경망을 통해 상기 입력 상태 값을 처리하는 동작; 상기 모델링된 전하 값을 모델링된 커패시턴스 값으로 변환하는 동작; 상기 프로세서에 의해, 상기 모델링된 전하 값을 생략하는 손실 함수를 이용하여 상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 임계값 내에 있는지 여부를 결정하는 동작; 및 상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 상기 임계값 내에 있다는 결정에 응답하여, 상기 프로세서에 의해, 상기 신경망을 회로 시뮬레이션 코드로 변환하여 변환된 신경망을 생성하는 동작을 포함하는 동작을 실행하도록 하는 컴퓨터 판독 가능 코드를 저장하는 메모리를 포함한다.
일부 실시 예에서, 상기 동작은 상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 상기 임계값 내에 있지 않다는 결정에 응답하여, 상기 프로세서에 의해, 상기 신경망의 매개변수를 조정하고 상기 신경망을 통해 상기 입력 상태 값을 처리하는 동작을 반복하는 동작을 더 포함한다.
일부 실시 예에서, 상기 동작은: 상기 변환된 신경망을 사용하여 시뮬레이션 출력을 생성하기 위해 테스트 반도체 장치의 동작을 시뮬레이션하는 동작; 상기 프로세서에 의해, 상기 시뮬레이션 출력을 생성하는 단계의 처리 시간이 만족스러운지 여부를 결정하는 동작; 및 상기 처리 시간이 만족스럽지 않다는 결정에 응답하여, 상기 프로세서에 의해, 상기 신경망의 크기를 조정하고 상기 신경망을 통해 상기 입력 상태 값을 처리하는 단계를 반복하는 동작를 더 포함한다.
일부 실시 예에서, 상기 입력 상태 값은 복수의 바이어스 값 및 복수의 인스턴스 값을 포함하고, 상기 동작은: 상기 복수의 인스턴스 값의 각 인스턴스 값에 대해 추가 신경망을, 상기 인스턴스 값을 일정하게 유지하고 상기 복수의 바이어스 값을 상기 추가 신경망에 대한 상기 입력 상태 값으로 상기 추가 신경망에 제공함으로써, 생성하는 동작을 더 포함한다.
일부 실시 예에서, 상기 동작은: 상기 반도체 장치의 제 1 인스턴스를 제조하는 동작; 상기 반도체 장치의 상기 제 1 인스턴스의 특성 및/또는 성능을 측정하는 동작; 및 상기 반도체 장치의 상기 제 1 인스턴스의 상기 측정된 특성 및/또는 성능에 기초하여 상기 훈련 데이터를 생성하는 동작를 더 포함한다.
일부 실시 예에서, 상기 동작은: 상기 변환된 신경망을 기반으로 하드웨어 기술 언어(HDL) 모델을 구축하는 동작; 및 상기 HDL 모델을 기반으로 상기 반도체 장치의 제 2 인스턴스를 제조하는 동작를 더 포함한다.
일부 실시 예에서, 상기 모델링된 전하 값을 모델링된 커패시턴스 값으로 변환하는 동작은 상기 모델링된 전하 값의 수학 도함수를 생성하는 동작을 포함한다.
일부 실시 예에서, 상기 훈련 데이터의 상기 훈련 커패시턴스 값은 기술 컴퓨터 보조 디자인(TCAD) 시스템 시뮬레이션에 의해 생성된다.
일부 실시 예에서, 상기 훈련 데이터를 제공하는 동작은 상기 훈련 커패시턴스 값의 수학 적분을 수행하지 않고 수행되는, 시스템.
본 발명의 일부 실시 예는 컴퓨터 프로그램 제품에 관한 것으로, 상기 제품은: 전자 장치의 프로세서에 의해 실행될 때, 상기 프로세서로 하여금: 상기 프로세서에서 실행되는 신경망에 입력 상태 값 및 훈련 커패시턴스 값을 포함하는 훈련 데이터를 제공하는 동작; 모델링된 전하 값을 생성하기 위해 상기 신경망을 통해 상기 입력 상태 값을 처리하는 동작; 상기 모델링된 전하 값을 모델링된 커패시턴스 값으로 변환하는 동작; 상기 프로세서에 의해, 상기 모델링된 전하 값을 생략하는 손실 함수를 이용하여 상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 임계값 내에 있는지 여부를 결정하는 동작; 및 상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 상기 임계값 내에 있다는 결정에 응답하여, 상기 프로세서에 의해, 상기 신경망을 회로 시뮬레이션 코드로 변환하여 변환된 신경망을 생성하는 동작을 포함하는 동작을 실행하도록 하는 컴퓨터 판독 가능 프로그램 코드를 저장하는 비 일시적 컴퓨터 판독 가능 저장 매체를 포함한다.
본 발명의 일부 실시 예는 트랜지스터의 성능을 분석하기 위한 컴퓨터 구현 방법에 관한 것으로, 상기 방법은 입력 상태 값 및 출력 상태 값을 포함하는 훈련 데이터를 컴퓨터 시스템에서 실행되는 신경망에 제공하는 단계 - 상기 입력 상태 값은 트랜지스터의 전압 데이터를 포함함 - ; 상기 평활화된 전압 데이터를 생성하기 위해 상기 전압 데이터를 조정하는 단계; 상기 컴퓨터 시스템에 의해, 상기 평활화된 전압 데이터를 포함하는 상기 훈련 데이터에 기초하여 상기 신경망을 훈련시켜 상기 훈련 데이터의 상기 입력 상태 값을 상기 훈련 데이터의 상기 출력 상태 값과 관련시키는 복수의 신경망 매개변수를 계산하는 단계; 상기 컴퓨터 시스템에 의해, 상기 훈련 데이터의 상기 출력 상태 값이 상기 신경망의 출력과 일치하는지 여부를 결정하는 단계; 및 상기 훈련 데이터의 상기 출력 상태 값이 상기 신경망의 출력과 일치한다는 결정에 응답하여, 상기 컴퓨터 시스템에 의해 상기 신경망을 회로 시뮬레이션 코드로 변환하여 변환된 신경망을 생성하는 단계를 포함한다.
일부 실시 예에서, 상기 전압 데이터는 게이트-소스 전압 Vgs 및 드레인-소스 전압 Vds를 포함하고, 상기 평활화된 전압 데이터는 Vgs와 상이한 값을 갖는 평활화된 게이트-소스 전압 및 Vds와 상이한 값을 갖는 평활화된 드레인-소스 전압을 포함한다.
일부 실시 예에서, 상기 상기 평활화된 드레인-소스 전압은 수학식:
Figure pat00001
에 의해 생성되고, 상기 평활화된 게이트-소스 전압은 수학식
Figure pat00002
에 의해 생성되고, Vds_sm은 평활화된 드레인-소스 전압이고, Vgs_sm은 평활화된 게이트-소스 전압이고, ε은 1보다 크거나 같은 제 1 상수이고, η는 1보다 크거나 같은 제 2 상수이다.
일부 실시 예에서, 상기 방법은 상기 트랜지스터의 제 1 인스턴스를 제조하는 단계를 더 포함하고, 상기 신경망에 제공되는 상기 훈련 데이터는 상기 트랜지스터의 상기 제 1 인스턴스의 특성 및/또는 성능에 기초한다.
일부 실시 예에서, 상기 방법은 상기 변환된 신경망을 기반으로 상기 트랜지스터의 상기 제 1 인스턴스의 하드웨어 기술 언어(HDL) 모델을 구축하는 단계; 및 상기 HDL 모델을 기반으로 상기 트랜지스터의 제 2 인스턴스를 제조하는 단계를 더 포함한다.
일부 실시 예에서, 상기 훈련 데이터의 상기 전압 데이터는 기술 컴퓨터 보조 디자인(TCAD) 시스템 시뮬레이션에 의해 생성된다.
일 실시 예와 관련하여 설명된 본 발명의 개념의 측면은 그에 대해 구체적으로 설명되지는 않았지만 다른 실시예에 통합될 수 있음에 유의한다. 즉, 임의의 실시예의 모든 실시예 및/또는 특징은 임의의 방식 및/또는 조합으로 조합될 수 있다. 본 발명의 이러한 및 다른 목적 및/또는 측면은 후술하는 명세서에서 상세히 설명된다.
도 1a는 본 개시의 일부 실시 예에 따른, 피드백을 사용하여 적응되는 가중치 값에 기초하여 트랜지스터의 성능을 모델링하기 위해 컴퓨터 시스템에서 사용될 수 있는 신경망 모델의 블록도이다.
도 1b는 본 개시의 일부 실시 예에 따른, FET에 대한 콤팩트 모델로서 ANN을 사용하는 예를 도시하는 블록도이다.
도 2a는 본 개시의 일부 실시 예에 따른 ANN 모델을 생성하는 방법의 흐름도이고, 도 2b는 본 개시의 일부 실시 예에 따른 ANN 모델을 훈련시키는 방법의 흐름도이다.
도 3a, 3b, 3c 및 3d는 본 개시의 일부 실시 예에 따라 훈련된 신경망에 의해 계산된, 다양한 바이어스 조건에서 고급 n형 FET에 대한 ANN I-V 모델 피팅 결과를 도시하는 그래프이다.
도 4a 및 4b는 본 개시의 일부 실시 예에 따라 훈련된 신경망에 의해 계산된, ANN I-V 모델에 대한 결과를 예시하는 그래프이다.
도 5a 내지 도 5c는 본 개시의 일부 실시 예에 따라 훈련된 신경망에 의해 계산된 고조파 균형 시뮬레이션 결과에서 ANN I-V 모델의 성능을 예시한다.
도 6a, 6b, 6c, 6d, 6e 및 6f는 본 발명의 일부 실시 예에 따른 훈련된 신경망에 의해 계산된 고급 n형 FET의 QV(전하 전압) 및 CV 특성에 대한 ANN 모델 결과를 나타내는 그래프이다. 폭로.
도 7a 및 도 7b는 Q-V 데이터를 사용하여 훈련된 모델과 비교하여 본 개시의 일부 실시 예에 따른 C-V 데이터를 사용하여 훈련된 모델의 성능을 나타내는 그래프이다.
도 8a, 8b, 8c 및 8d는 본 개시의 일부 실시 예에 따른 ANN 훈련을 촉진하기 위해 초기 ANN 가중치로 시작 모델을 사용하는 예를 나타내는 그래프이다.
도 9는 본 개시의 일부 실시 예에 따른 17 단계 RO 대 ANN 크기 표시자(ASI)에 대한 SPICE 시뮬레이션 TAT의 그래프이다.
도 10은 본 개시내용의 일부 실시 예에 따른 컴퓨터 시스템을 예시한다.
다음의 상세한 설명에서, 본 발명의 특정 예시적인 실시 예만이 예시로서 도시되고 설명된다. 당업자가 인식하는 바와 같이, 본 발명은 많은 상이한 형태로 구현될 수 있고 여기에 설명된 실시 예로 제한되는 것으로 해석되어서는 안 된다.
위에서 언급한 바와 같이, 반도체 장치에 대한 방정식 기반 컴팩트 모델은 반도체 장치를 모델링하는 데 부적절할 수 있다. J. Wang, N. Xu, W. Choi, K. -H. Lee 및 Y. Park, "룩업 테이블 기반 FET 모델에서 프로세스 변화를 포착하기 위한 일반적인 접근 방식", 2015 반도체 공정 및 장치 시뮬레이션에 관한 국제 회의(SISPAD), 워싱턴 DC, 2015년 9월, pp. 309-312에서 설명되고, 2019년 2월 12일에 발행된 미국 특허 제 10,204,188호에서 설명된 바와 같이, 방정식 기반 컴팩트 모델의 대안으로 LUT(look-up-table) 기반 방법이 제안되었으며, 그 전체 개시 내용이 본 명세서에 참고로 포함된다. 그러나 이 방법에 의하면 집적 회로 강조된 시뮬레이션 프로그램(SPICE; Simulation Program with Integrated Circuit Emphasis) 시뮬레이션 TAT가 크고 대규모 회로에 대한 수렴 문제가 크다는 문제가 있다. 또한 LUT 기반 모델에는 (예: 모델 리타게팅 및 가변성 모델링을 위한) 모델의 출력 특성을 조작하는 데 사용할 수 있는 모델 노브가 없으며, 이는 고급 기술 평가를 위한 LUT 기반 모델의 적용을 제한할 수 있다. 또한, LUT 모델은 모델링된 장치의 Q-V(충전 전압) 데이터를 기반으로 할 수 있다. Q-V 데이터는 일반적으로 시뮬레이션 프로그램(예: 기술 컴퓨터 지원 설계(TCAD) 시스템)에서 제공되지 않으며 하드웨어 측정에서 얻기 어려울 수 있다. 대신, Q-V 데이터는 TCAD 시스템 및/또는 하드웨어 측정에서 더 쉽게 얻을 수 있는 C-V 데이터에서 파생될 수 있다. 예를 들어, Q-V 데이터는 측정/시뮬레이션된 커패시턴스 및/또는 장치의 전압을 통합하여 파생될 수 있다. 이것은 예를 들어 R. A. Thakker 등의, "FinFET 회로의 설계를 위한 새로운 테이블 기반의 접근방법", IEEE Trans에서 논의된다. 집적 회로 및 시스템의 컴퓨터 지원 설계, vol. 28, no. 7, 2009년 7월 7일에 기술되어 있으며, 그 전체 개시 내용은 참고로 여기에 포함된다. 통합된 Q 값은 게이트 전압/드레인 전압 공간의 통합 경로에 따라 달라지며, 결과적으로 Q-V LUT 모델은 C-V 통합으로 인해 부정확성을 겪을 수 있다. LUT 기술은 또한 일반적으로 대규모 회로에 대해 높은 시뮬레이션 TAT 및 수렴 문제를 나타낸다. 예를 들어, 룩업 테이블이 너무 커서 그 레지스터는 고사하고 컴퓨터 프로세서의 캐시 메모리에 맞지 않을 수 있기 때문에 시뮬레이션 TAT는 클 수 있고, 시뮬레이션의 각 단계에서 각 회로 요소에 대해 주 메모리의 룩업 테이블을 로드하면 상당한 지연이 발생할 수 있다.
인공 신경망(ANN) 기반의 컴팩트 모델링 방법이 최근 주목받고 있다. 본 명세서에서는 모델 품질과 ANN 기반 컴팩트 모델의 훈련/시뮬레이션 TAT를 크게 향상시킬 수 있는 혁신적인 방법이 개시된다.
ANN은 무선 주파수(RF) 장치 응용 분야에서 특히 성공을 거두면서 반도체 장치에 대한 컴팩트 모델의 역할을 한 이력이 있다. 최근 몇 년 동안 기계 학습 응용 프로그램이 급증함에 따라, 고 성능 GPU 서버와 ANN 훈련을 위한 효율적인 소프트웨어 플랫폼이 컴팩트 모델링 커뮤니티에서 널리 사용 가능하게 되었다 (예를 들어, A. Paszke 등에 의해 논의된 PyTorch, "PyTorch: 명령형 고성능 딥러닝 라이브러리" in Advances in Neural Information Processing Systems 32, H. Wallach 외의 ed., Curran Associates, Inc., 2019, pp. 8024-8035, 및 예를 들어 M. Abadi 외에 의해 논의된 TensorFlow, "Tensorflow: 대규모 머신 러닝을 위한 시스템", USENIX Symp. Operating Sys. Des. Implement (OSDI), 2016년 11월, pp. 265-283). 이러한 이유로, 고급 FET 모델링을 위한 ANN 기반 방법론의 잠재력은 장치 모델링에 추가적인 개선을 제공할 수 있다.
본 개시는 다음 측면을 포함하는, 고급 FET 모델링의 맥락에서 ANN 기반 컴팩트 모델링 방법론에 관한 것이다: 모델 피팅 기능(정확도), 모델 생성(예: ANN 훈련) TAT 및/또는 SPICE 시뮬레이션 TAT. ANN 기반 컴팩트 모델링 방법론에 여러 유용한 요소를 도입함으로써 높은 모델 정확도, 빠른 ANN 훈련 TAT 및 효율적인 SPICE 시뮬레이션 TAT를 달성할 수 있다. 본 명세서에서 설명된 결과는 ANN 기반 컴팩트 모델링 방법론이 고급 기술 DTCO 및 경로 찾기 활동에서 효과적인 응용 프로그램을 찾을 수 있음을 보여준다.
본 개시의 일부 실시 예에 따르면, (예를 들어, 제조된 장치의 하드웨어 측정 또는 기술 컴퓨터 지원 설계(TCAD) 시뮬레이션에서 얻은) C-V(커패시턴스-전압) 데이터를 직접 사용하여 Q-V(충전 전압) NN 모델을 훈련할 수 있는 방법이 제공된다. 이 방법은 C-V 통합으로 인한 Q-V 모델의 부정확성을 제거할 수 있으며, 이는 C-V 데이터를 Q-V 데이터로 변환하는 데 유용할 수 있다.
본 개시의 일부 실시 예에 따르면, NN 모델 훈련을 위한 초기 가중치로 사전 훈련된 NN 모델의 NN 가중치를 사용하는 초기 가중치 설정(IWS) 옵션이 제공된다. 모델링할 디바이스와 유사한 특성을 가진 디바이스의 사전 훈련된 NN 모델을 선택하여, IWS 옵션은 I-V(전류-전압) 및 Q-V NN 모델 모두에 대한 훈련 TAT를 크게 줄이는 데 사용할 수 있다.
본 개시의 일부 실시 예에 따르면, ANN 기반 컴팩트 모델에 대한 로컬 피팅 방법론이 도입되고, 이는 여러 장치 인스턴스가 있는 NN 모델에 대한 훈련 TAT 및 시뮬레이션 TAT 모두에서 개선으로 이어질 수 있다.
본 개시의 일부 실시 예에 따르면, I-V NN 모델의 입력으로 사용하기 전에 드레인-소스 전압(Vds) 및 게이트-소스 전압(Vgs) 값을 수정하는 방법이 제공된다. 그렇게 함으로써, I-V NN 모델은 Gummel 대칭 테스트(GST) 및 고조파 균형(HB) 시뮬레이션에 대해 매우 개선된 결과를 제공할 수 있는데, 이는 무선 주파수(RF) 회로 시뮬레이션 및 설계에 유용하다.
본 명세서에 기재된 본 개시의 실시 예에 의해 적어도 다음의 이점이 제공된다. 본 발명의 일부 실시 예에 따르면, C-V 훈련 데이터를 직접 이용하여 Q-V NN 모델을 훈련시키는 것이 가능해지고, 이는 C-V 통합으로 인한 Q-V 모델의 부정확성을 줄이거나 제거할 수 있다. 일부 실시 예에서, NN 모델의 훈련 TAT는 IWS 옵션을 사용하고 모델링될 장치와 유사한 특성을 갖는 장치의 사전 훈련된 모델을 선택함으로써 상당히 감소될 수 있다. 일부 실시 예에서, 훈련 TAT 및 SPICE 시뮬레이션 TAT 둘 모두는 다중 장치 인스턴스를 갖는 NN 모델에 대해 크게 개선될 수 있다. 일부 실시 예에서, Vds에 대한 고차 드레인-소스 전류(Ids) 도함수의 평활도는 Vds=0V 부근에서 크게 개선될 수 있으며, 이는 GST 및 HB 시뮬레이션에 대해 훨씬 더 나은 결과로 이어질 수 있다.
도 1a는 본 개시내용의 일부 실시 예에 따른, 피드백을 사용하여 적응되는 가중치 값에 기초하여 트랜지스터의 성능을 모델링하기 위해 컴퓨터 시스템에서 사용될 수 있는 신경망 모델(102)의 블록도이다.
도 1a를 참조하면, 신경망 모델(102)은 복수의 입력 노드 I1 내지 IN을 갖는 입력 계층, 각각 복수의 가중치 노드(예를 들어, 도 1a에서 1 내지 X)를 포함하는 신경망 계층의 시퀀스(계층 1 내지 Z가 도 1a에 도시됨), 및 적어도 하나의 출력 노드를 포함하는 출력 계층을 포함한다. 도 1a의 특정한 비제한적인 예에서, 입력 계층은 입력 노드 I1 내지 IN(여기서 N은 임의의 복수의 정수임)을 포함한다. 신경망 계층 시퀀스의 제 1 계층은 가중치 노드 N1L1(여기서 "1L1"은 계층 1의 제 1 가중치 노드를 나타냄)에서 NXL1(여기서 X는 임의의 복수 정수임)을 포함하다. 신경망 계층 시퀀스의 마지막 계층("Z")은 가중치 노드 N1LZ(Z는 임의의 복수 정수)에서 NYLZ(Y는 임의의 복수 정수)까지 포함한다. 출력층은 복수의 출력 노드 O1 내지 OM(여기서 M은 임의의 복수 정수임)을 포함한다.
신경망 모델(102)은 하나 이상의 출력(예를 들어, 출력 노드 O1 내지 OM)을 생성하기 위해 상이한 입력(예를 들어, 입력 노드 I1 내지 IN)을 통해 복수의 트랜지스터 특성을 처리하도록 동작될 수 있다. 서로 다른 입력 노드 I1 내지 IN을 통해 동시에 처리할 수 있는 트랜지스터 특성은 예를 들어, 트랜지스터(또는 시뮬레이션된 트랜지스터)의 다양한 입력에 적용된 전압 바이어스, 트랜지스터(또는 시뮬레이션된 트랜지스터)의 게이트 길이 L, 트랜지스터(또는 시뮬레이션된 트랜지스터)의 게이트 너비 W, 작동 온도 T 등 중 임의의 하나 이상을 포함할 수 있다. (예를 들어, 출력 노드 O1 내지 OM을 통해) 출력될 수 있는 트랜지스터 성능은 전하 데이터, 전류 데이터 등을 포함할 수 있다.
신경망 모델(102)의 동작 및/또는 훈련 동안, 신경망 계층의 다양한 가중치는 실제(또는 시뮬레이션된) 성능의 데이터에 대한 예측된 트랜지스터 성능의 비교에 기초하여 조정될 수 있다. 비교는 예를 들어 손실 함수를 통해 수행될 수 있다. 손실 함수는 모델이 예측하고 있는 값과 출력할 것으로 예측되는 실제 값을 비교하여 훈련 모델의 성능이 얼마나 저조한지를 계산하는 메커니즘을 제공할 수 있다. 입력 노드, 신경망 계층의 가중치 노드 및 출력 노드 간의 상호 연결된 구조는 주어진 트랜지스터 특성이 동시에 처리되는 다른 모든 트랜지스터 특성에 대해 생성된 트랜지스터 성능 데이터에 영향을 미칠 수 있다. 이에 의해 신경망 모델(102)에 의해 생성된 트랜지스터 성능 데이터는 트랜지스터 특성 중 어느 것이 트랜지스터 성능에 더 높고 더 낮은 영향을 제공하는지에 대한 비교 우선순위를 식별할 수 있다.
도 1a의 신경망 모델(102)은 일 실시 예의 예시 및 설명을 용이하게 하기 위해 제공된 예이다. 다른 실시 예는 0이 아닌 수의 입력 노드를 갖는 0이 아닌 수의 입력 계층, 다수의 가중치 노드를 갖는 0이 아닌 수의 신경망 층, 및 0이 아닌 수의 출력 노드를 갖는 0이 아닌 수의 출력 층을 포함할 수 있다. 동시에 처리해야 하는 입력값의 개수에 따라 입력 노드의 개수를 선택할 수 있으며, 출력 노드의 수는 그로부터 동시에 생성될 출력 특성의 수에 기초하여 유사하게 선택될 수 있다.
ANN 모델 아키텍처 및 결과
도 1b는 본 개시의 일부 실시 예에 따른, FET에 대한 콤팩트 모델로서 ANN을 사용하는 예를 예시하는 블록도이다. 도 1b에 도시된 바와 같이, 신경망(202)은 하나 이상의 입력 매개변수(212), 하나 이상의 은닉층(230), 출력층(250), 및 출력 계층(250)의 출력 특징(252)으로부터 출력(290)을 계산하도록 구성된 하나 이상의 변환 함수(270)를 포함한다. 일반적으로, 신경망(202)은 트랜지스터의 상태에 대응하는 입력 매개변수(예를 들어, 트랜지스터의 단자에 인가된 전압 바이어스)를 취하고 현재 상태에서 트랜지스터의 동작을 나타내는 출력(예를 들어, 출력 전류 및 전하)을 생성한다.
일부 실시 예에서, 입력 매개변수(212)는 두 가지 유형을 포함하다: 전압 바이어스 (예를 들어, 4단자 FET의 경우 게이트-소스 전압 Vgs, 드레인-소스 전압 Vds, 바디-소스 전압 Vbs 포함) 및 장치 인스턴스 매개변수(일반적인 FET의 경우 여기에는 게이트 길이 L, FET 폭 W, 온도 T 등이 포함됨).
도 1b에 도시된 특정 예시적인 신경망에서, 신경망에 대한 입력 매개변수(212)는 게이트-소스 전압 Vgs, 드레인-소스 전압 Vds, 게이트 길이 L, 게이트 폭 W 및 온도 T를 포함하는 트랜지스터 입력 상태 값을 포함하고, 출력은 단자 전류 IM(예를 들어, I1, I2 등)와 단자 전하 QM(예: Q1, Q2 등)의 비율을 포함하는 트랜지스터 출력 상태 값을 포함한다.
신경망(202)에 제공될 수 있고 모델을 처리하는데 이용될 수 있는 다른 트랜지스터 상태 값은, 게이트에 인가된 전압에 대한 게이트의 커패시턴스(Cgg), 드레인에 인가된 전압에 대한 게이트에서의 커패시턴스(Cgd), 게이트에 인가된 전압에 대한 드레인에서의 커패시턴스(Cdg), 드레인에 인가된 전압에 대한 드레인에서의 커패시턴스(Cdd), 게이트에 인가된 전압에 대한 소스에서의 커패시턴스(Csg), 드레인에 인가된 전압에 대한 소스에서의 커패시턴스(Csd)와 같은, 입력 매개변수(212)와 연관된 커패시턴스 데이터를 또한 포함한다. 커패시턴스 데이터는 신경망(202)의 훈련 동안 이용가능하게 된 훈련 데이터의 일부로서 제공될 수 있다.
또한, 도 1b에 도시된 신경망(202)의 은닉층(230)은 2개의 계층을 포함한다: N1개의 뉴런을 갖는 제 1 은닉층(232) 및 N2개의 뉴런을 갖는 제 2 은닉층(234).
본 개시의 일부 실시 예에 따르면, 계층의 값은 Wx+b 형식의 아핀 변환을 기반으로 완전히 연결된 방식의 다음 계층의 값에 매핑된다. 예를 들어, 입력 계층(210)에 대한 입력 매개변수는 제 1 가중치(W1) 및 제 1 바이어스(b1)에 의해 제 1 은닉층(232)에 매핑된다. 유사하게, 제 1 은닉층(232)의 출력은 제 2 가중치(W2) 및 제 2 바이어스(b2)에 의해 제 2 은닉층(234)의 입력에 매핑되고, 제 2 은닉층(234)의 출력은 제3 가중치(W3) 및 제3 바이어스(b3)에 의해 출력층(250)에 매핑된다. 본 개시의 일부 실시 예에서, 활성화 함수는 아핀 함수 Wx+b의 출력과 다음 계층의 입력 사이에 배치된다. 활성화 함수의 예로는 정류 선형(ReLU) 함수, 시그모이드 함수 등이 있다. 계층 간에 사용되는 활성화 함수의 특정 선택은 신경망(202)의 ANN 설정(예: 하이퍼 매개변수)으로 설정될 수 있다.
신경망은 계층 사이에서 전파되는 값이 0에 가까운 평균으로 정규 분포될 때 더 쉽게 훈련될 수 있다. 따라서, 모델링된 회로 요소의 특정 예측 특성에 대응하는 신경망의 출력 특징(252)(y1, y2, y3, ...)은 이들이 모델링하는 물리적 매개변수의 단위와 일치하지 않을 수 있다. 또한, 출력 값의 일부는 특정 입력 매개변수(212)에 부분적으로 기초하여 계산될 수 있다. 따라서, 신경망(202)의 출력 특징 또는 특징 벡터(252)(y1, y2, y3, ...)는 변환 함수(270)에 의해 트랜지스터의 동작을 나타내는 물리적으로 의미 있는 값(예를 들어, 단자 전류 IM, 단자 전하 QM, 또는 둘의 비율 IM/QM)으로 변환된다. 다른 예시적인 출력은 드레인 전류 Id, 게이트 전류 Ig, 소스 전류 Is, 드레인 전하 Qd, 게이트 전하 Qg, 소스 전하 Qs, 및 바디 전하 Qb를 포함한다.
신경망(202)의 특정 구조는 은닉층(230)의 수, 각각의 은닉층(각 은닉층은 다른 수의 뉴런을 가질 수 있음)에 있는 뉴런의 수, 및/또는 아핀 계산의 출력과 다음 층의 입력 사이의 활성화 함수의 선택을 포함하여, 다수의 ANN 설정(예를 들어, 하이퍼매개변수)을 통해 지정될 수 있다. 네트워크에 적합한 ANN 설정의 특정 선택은 예를 들어 모델링되는 트랜지스터의 물리적 특성의 복잡성에 따라 달라질 수 있다.
입력층(210)의 뉴런은 FET 단자 및 인스턴스 매개변수(예를 들어, L, W, T)에 인가된 전압 바이어스를 위한 것이다. ANN의 은닉층(230)(즉, 완전 연결)의 수 및 각 은닉층의 뉴런 수는 최적의 모델 정확도와 SPICE 시뮬레이션 TAT를 달성하기 위해 조정할 수 있는 ANN 설정이다(본 명세서에서 더 자세히 논의됨). 출력층(250)의 각 뉴런은 단자 전류(I) 또는 단자 전하(Q)에 대응할 수 있다. 일부 단자 전류 또는 전하가 FET 동작 동안 많은 크기만큼 변할 수 있기 때문에, 변환 함수(270)는 ANN 모델 피팅 정확도를 개선하기 위해 도입될 수 있다.
도 1b에서, 2개의 은닉층(232, 234)이 도시되어 있으나, 이에 한정되는 것은 아니다. 일부 실시 예에서, 은닉층(230)의 수는 조정가능할 수 있다. 제 1 및 제 2 은닉층(232, 234)의 뉴런의 수는 각각 N1 및 N2로 표시된다. Wi 및 bi(i=1, 2, 3)는 ANN 가중치(배 정밀도, 부동 소수점 형식)를 나타내고, ANN의 출력 특징(252)(예를 들어, y1, y2, y3, …)은 변환 함수(270)를 사용하여 단자 전류 I 또는 단자 전하 Q로 변환될 수 있다.
이와 같이, 본 개시의 실시 예의 일부 예는 C-V 데이터로부터 트랜지스터와 같은 회로 요소를 시뮬레이션하기 위한 시스템, 방법, 및/또는 컴퓨터 프로그램 제품에 관한 것이다.
개선된 ANN 모델을 생성하기 위한 자동화된 흐름
도 2a는 본 개시의 일부 실시 예에 따른 ANN 모델을 생성하기 위한 방법(300)의 흐름도이다. 도 2a에 도시된 방법의 다양한 동작은 적어도 하나의 프로세서 및 프로세서에 의해 실행될 때 프로세서가 설명된 동작을 수행하게 하는 명령어를 저장하는 메모리를 포함하는 컴퓨팅 시스템에 의해 수행될 수 있다. 본 발명의 실시 예는 단일 컴퓨터 및 컴퓨팅 클러스터와 같은 다양한 상이한 컴퓨팅 시스템에서 구현될 수 있다. 컴퓨팅 시스템은 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU) 및 기타 벡터 처리 장치와 같은 하나 이상의 프로세서를 포함할 수 있다. 컴퓨팅 시스템은 또한 프로세서의 프로세싱 코어와 동일한 다이에 위치한 여러 레벨의 캐시 메모리, 동적 랜덤 액세스 메모리(DRAM) 및 영구 대용량 저장 장치(예: 솔리드 스테이트 플래시 드라이브 및 하드 디스크 드라이브)를 포함하여, 여러 유형의 메모리를 포함할 수 있다.
단계 310에서, 컴퓨팅 시스템은 모델링될 트랜지스터에 관해 수신된 I-V 및/또는 C-V 훈련 데이터를 준비한다. 이러한 훈련 데이터는 Synopsys® TCAD 도구와 같은 트랜지스터 시뮬레이션 도구에서 생성되거나 하나 이상의 제조된 물리적 장치에서 실험적으로 측정될 수 있다(예를 들어, 장치의 초기 프로토타입에서 얻은 예비 데이터). 데이터 준비는 데이터를 정리하고 Google® TensorFlow® 또는 PyTorch와 같은 신경망 교육 플랫폼에 허용되는 형식으로 데이터를 정렬하는 작업이 포함될 수 있다. 데이터 준비는 또한 데이터를 훈련 세트, 검증 세트 및 테스트 세트로 분리하는 작업을 포함할 수도 있다. 또한, 동작 310에서 신경망에 대한 초기 ANN 설정(예를 들어, 은닉층의 수, 각 은닉층의 뉴런의 수 등)이 설정될 수 있다. 일부 실시 예에서, ANN 설정은 예를 들어 디폴트 세트에 기초하여 자동으로 설정되거나 특정 범위 내의 랜덤 값으로 설정될 수 있다. 일부 실시 예에서, 본 명세서에서 더 논의되는 바와 같이, ANN 설정은 사전 훈련된 ANN 모델에 기초하여 설정될 수 있다.
C-V 데이터는 예를 들어, Cgg, Cgd, Cdg, Cdd, Csg, Csd를 포함할 수 있다. 본 명세서에서 더 논의되는 바와 같이, 커패시턴스 데이터와 전하 데이터 사이에는 수학적 관계가 있다. 예를 들어, Cgg는 게이트 전압에 대한 게이트 단자 전하의 도함수와 같고(dQg/dVg), Cgd는 드레인 전압에 대한 게이트 단자 전하의 도함수와 같고(dQg/dVd), Cdg는 게이트 전압에 대한 드레인 단자 전하의 도함수와 같고(dQd/dVg), Cdd는 드레인 전압에 대한 드레인 단자 전하의 도함수와 같고(dQd/dVd), Csg는 게이트 전압에 대한 소스 단자 전하의 도함수와 같고(dQs/dVg), Csd는 드레인 전압에 대한 소스 단자 전하의 도함수와 같다(dQs/dVd).
동작 320에서, 컴퓨팅 시스템은 공급된 훈련 데이터(예를 들어, C-V 데이터)에 기초하여 트랜지스터의 신경망 모델을 훈련한다. 훈련은 신경망 훈련 플랫폼(예: Google® TensorFlow® 또는 PyTorch)에 의해 자동으로 수행될 수 있으며, 이 때 역전파(backpropagation)와 같은 기술을 사용하여 신경망의 가중치 W 및 편향 b(예: W1, W2 및 W2 및 b1, b2 및 b3)를 계산하므로, 모델은 데이터의 훈련 세트와 일치하는 방식으로 입력 매개변수(212)를 출력(290)에 매핑하도록 한다.
높은 ANN 모델 정확도를 달성하기 위해, ANN 훈련을 위한 적절한 손실 함수를 정의하는 것이 중요하다. 손실 함수의 예는 다음과 같다:
Figure pat00003
수학식 1에서, M은 모델링된 소자의 단자 전류 또는 단자 전하(예: 드레인 전류 Id, 게이트 전하 Qg, 드레인 전하 Qd 또는 소스 전하 Qs)를 나타내며, NS는 훈련 샘플의 수이고, i는 i번째 훈련 샘플이고, d1 및 d2(0≤d2≤d1≤1)는 모델 피팅을 위한 Vgs 및 Vds에 대한 M의 도함수의 중요성을 나타내는 데 사용되는 가중치이고, err()은 타겟에 대한 모델 값의 상대적 피팅 오차를 계산하는 공식을 나타낸다. 하나의 ANN 모델을 사용하여 여러 단자 전류 및/또는 전하를 맞추는 경우. ANN 훈련에 사용되는 총 손실 함수는 모든 관련 손실(M) 함수의 합이어야 하다.
예를 들어, Qg가 모델링되는 경우 손실 함수는 방정식과 일치할 수 있다:
Figure pat00004
C-V 데이터에만 매핑하기 위해서, d1은 1로 설정되고, 이에 의하면 다음 방정식이 생성된다:
Figure pat00005
다른 단자 전하(예: Qd 또는 Qs)에 대해서도 유사한 방정식이 사용될 수 있다. error() 항을 생성하기 위해서, ANN 모델에서 모델링된 전하 출력은 훈련 데이터의 일부로 제공된 커패시턴스 값과 비교될 수 있다. 예를 들어, 모델링된 전하 값(예를 들어, Qg, Qd 및/또는 Qs)의 도함수를 취해 모델링된 전하 값으로부터 모델링된 커패시턴스 값(예를 들어, Cgg, Cgd, Cdg, Cdd, Csg, 및/또는 Csd)을 생성할 수 있다. 모델링된 커패시턴스 값은 손실 함수의 error() 항을 생성하기 위해 훈련 데이터 커패시턴스 값과 비교될 수 있다.
손실 방정식에서 d1을 1로 설정하는 것으로, 충전 단자 자체에 대한 생성 또는 error() 항, 예를 들어 error(Qn)는 필요하지 않다. 일부 모델링 시스템에서, 이 error() 항을 생성하는 것은 모델링된 전하 값(예: Qg, Qd 및/또는 Qs)과 목표 전하 값을 포함하는 훈련 데이터 간의 비교를 포함할 수 있다. 그러한 시스템에서, 목표 전하 값을 포함하는 훈련 데이터를 제공하는 단계는 시뮬레이션 및/또는 시스템 측정으로부터 취한 목표 커패시턴스 값의 적분을 수행하는 단계를 수반할 수 있다. 이러한 통합은 손실 함수에 부정확성을 유발할 수 있다. 본 개시의 일부 실시 예에서는 손실 함수로부터 전하 값의 비교를 배제함으로써 이러한 부정확성이 방지된다. 따라서, 본 개시의 일부 실시 예에서, 신경망의 훈련은 커패시턴스 데이터의 수학적 적분을 수행하지 않고 수행된다.
도 2b는 본 개시의 일부 실시 예에 따른 ANN 모델을 훈련하기 위한 동작 320의 예시적인 실시 예를 도시하는 흐름도이다. 도 2b를 참조하면, 동작 321에서 입력 상태 값 및 훈련 커패시턴스 값이 신경망에 제공될 수 있다. 입력 상태 값 및 훈련 커패시턴스 값은 도 2a에 도시된 과정의 동작 310에서 준비된 것과 동일하거나 유사할 수 있다. 훈련 커패시턴스 값은 TCAD 시뮬레이션 및/또는 하드웨어 측정에서 생성된 커패시턴스 값을 포함할 수 있다.
동작 322에서, 입력 상태 값(예: Vgs, Vds 및/또는 Vbs와 같은 전압 바이어스 및/또는 L, W 및/또는 T와 같은 장치 인스턴스 매개변수)은 신경망에 의해 처리되어 모델링된 전하 값(예: Qg, Qd 및/또는 Qs)을 생성할 수 있다. 입력 상태 값은 신경망 계층과 관련된 가중치에 따라 복수의 신경망 계층을 통해 처리될 수 있다.
동작 323에서, 모델링된 전하 값(예를 들어, Qg, Qd 및/또는 Qs)은 모델링된 커패시턴스 값으로 변환될 수 있다. 예를 들어, 모델링된 전하 값을 변환하는 단계는 모델링된 전하 값으로부터 모델링된 커패시턴스 값(예를 들어, Cgg, Cgd, Cdg, Cdd, Csg, 및/또는 Csd)을 생성하기 위해 모델링된 전하 값의 하나 이상의 도함수를 취하는 단계를 수반할 수 있다.
동작 324에서, 모델링된 커패시턴스 값은 훈련 데이터로부터의 커패시턴스 값과 비교될 수 있다. 비교는 예를 들어 본 명세서에서 설명된 손실 함수 중 하나와 같은 손실 함수에 의해 수행될 수 있다. 손실 함수는 커패시턴스 값을 포함할 수 있지만 모델링된 전하 값을 생략 및/또는 제외할 수 있다. 따라서, 전하 값 없이 비교가 수행될 수 있다.
동작 325에서, 모델링된 커패시턴스 값과 훈련 커패시턴스 값 사이의 비교 결과는 임계값과 비교될 수 있다. 비교는 예를 들어 본 명세서에서 논의된 손실 함수 방정식과 같은 손실 함수를 이용하여 수행될 수 있다. 일부 실시 예에서, 손실 함수는 전하 값이 없도록 또는 손실 함수에서 전하 값을 생략하도록 하여 구성될 수 있다. 예를 들어, 손실 함수는 모델링된 전하 값보다 모델링된 커패시턴스 값을 활용할 수 있다. 비교 결과가 임계값 이내이면 신경망 훈련이 종료될 수 있다. 비교 결과가 임계값 이내가 아닌 경우, 신경망의 매개변수(예: 신경망 계층의 가중치)는 동작 326에서 조정될 수 있고 동작 322(입력 상태 값으로부터 모델링된 전하 값의 생성)가 반복될 수 있다.
다시 도 2a를 참조하면, 동작 330에서, 컴퓨팅 시스템은 모델과 제공된 데이터 간의 맞춤(예: 피팅 값)이 정확한지(예: 임계값 수준을 초과하는지)를 결정하다. 일반적으로 이 평가는 제공된 데이터의 훈련 세트와 검증 세트를 사용하여 수행된다. 모델과 훈련/검증 세트 간의 맞춤이 정확하지 않은 경우(예: 임계 정확도 수준 미만), 컴퓨팅 시스템은 ANN의 크기를 조정(예: 증가)할 수 있다. 특히, 이 조건(330: 도 2a에서 아니오)인 경우, 컴퓨터 시스템은 이전에 훈련된 모델이 데이터를 맞추는 데 실패했다는 가정하에 은닉층의 수를 늘리거나 각 은닉층의 뉴런 수를 늘릴 수 있는데, 이는 트랜지스터의 기본 물리적 역학의 복잡성을 모델링하기에 충분한 크기를 갖지 않기 때문이다. 그 다음, 컴퓨팅 시스템은 새로운 ANN 설정에 기초하여 새로운 신경망을 훈련시키기 위해 동작 320으로 돌아간다.
일부 실시 예에서, 동작 330의 피팅 정확도는 모델 훈련 플랫폼에 통합된 기능에 기초하여 자동으로 수행된다. 일부 실시 예에서, 피팅 오차는 각각의 훈련 샘플에 대한 목표 값에 대한 모델 값의 상대 오차의 제곱근으로 계산된다. 적합 기준은 트랜지스터 모델의 응용 사례 요구 사항에 따라 결정된다 (예를 들어, 일부 실시 예에서, <1% 오차의 기준이 트랜지스터의 I-V 및 Q-V 피팅 모두에 사용됨).
피팅이 동작 330에서 충분히 정확한 것으로 밝혀졌다면, 동작 360에서, 컴퓨팅 시스템은 Cadence® Spectre® Circuit Simulator와 함께 사용하기 위해 Verilog-A 하드웨어 기술 언어(HDL) 또는 공통 모델 인터페이스(CMI)와 같은 회로 시뮬레이션 코드로 훈련된 신경망 모델을 변환한다. 일부 실시 예에서, 훈련된 신경망의 매개변수(각 계층에 대한 가중치 W 및 편향 b)는 시뮬레이터의 프로그래밍 언어에 적합한 표현으로 내부 변수로 소스 코드 파일(예: Verilog-A 파일)에 복사된다. 신경망을 구현하는 해당 방정식 세트는 소스 코드 파일(예: Verilog-A 파일)에 작성된다. 저장된 매개변수에 따라 신경망 계산(예: 행렬 곱셈 및 시그모이드와 같은 활성화 함수)을 수행하다. (매개변수는 방정식과 동일한 파일에 저장하거나 방정식과 다른 파일에 저장할 수 있다.) 시뮬레이터의 프로그래밍 언어로 구현된 최종 모델은 회로 시뮬레이터에서 전압 바이어스 및 장치 인스턴스 매개변수와 같은 입력을 가져오고, 신경망 매개변수를 기반으로 내부 계산을 수행하고, 예를 들어 장치의 단자 전류 및 전하를 회로 시뮬레이터로 출력한다.
신경망 매개변수의 수와 관련하여 모델의 크기는, 룩업 테이블(LUT)의 크기보다 상당히 작다. 따라서 변환된 신경망 모델은 트랜지스터를 모델링하기 위한 해당 LUT 기반 기술보다 더 컴팩트하다. 또한, 본 발명의 실시 예에 따른 신경망 기반 모델의 보다 컴팩트한 크기는 신경망 기반 모델이 예를 들어 프로세서의 프로세서 레벨 캐시 및/또는 프로세서의 하나 이상의 벡터 레지스터에 맞추도록 하고, 이에 의해 컴퓨터 시스템의 메모리 계층 구조의 여러 수준을 가로지르지 않고 모델을 기반으로 예측된 트랜지스터 출력을 더 빠르게 계산하는 것을 가능하게 한다.
동작 370에서, 컴퓨팅 시스템은 회로의 시뮬레이션(예를 들어, SPICE 시뮬레이션)을 실행하고, 여기서 시뮬레이션은 변환된 신경망 모델을 사용하여 회로의 적어도 하나의 요소의 동작을 시뮬레이션하다. 예를 들어, 같은 종류의 회로 소자가 여러 개 있는 경우(예를 들어, 같은 종류의 트랜지스터가 여러 개), 시뮬레이터는 동일한 신경망 모델을 사용하여 각 회로 요소(예: 트랜지스터)의 동작을 시뮬레이션할 수 있다. 또한, 시뮬레이션은 다른 회로 요소(예: 다른 유형의 트랜지스터)의 동작을 시뮬레이션하는 다른 신경망 모델을 포함할 수 있다. 전기 회로의 시뮬레이션을 실행하는 단계는 시뮬레이션된 입력 전압 및/또는 전류 파형을 회로의 한 부분에 공급하고 회로의 다른 부분에서의 전압 및/또는 전류를 포함하는 시뮬레이션 결과를 계산하는 단계를 포함할 수 있다.
동작 380에서, 컴퓨팅 시스템은 결과가 만족스러운지 여부를 결정한다 (예를 들어, 벤치마크 회로의 시뮬레이션 TAT가 모델 사용자가 제공한 기준 미만인 경우). 그렇지 않다면, 컴퓨팅 시스템은 ANN 설정(예를 들어, ANN 하이퍼매개변수)을 조정하기 위해 동작(320)으로 돌아간다. 특히, 이 조건(380: 도 2a의 아니오)에서서, 컴퓨터 시스템은 시뮬레이션 TAT를 개선하기 위해 이전에 훈련된 모델의 복잡성을 감소(예: 정규화)해야 한다는 가정 하에서, 은닉층의 수 및/또는 각 은닉층의 뉴런의 수를 줄일 수 있다. 결과가 만족스러우면, 동작 390에서, 훈련된 모델은 배포를 위해 또는 본 개시의 실시 예의 다른 측면에 따른 추가 처리를 위해 해제(예를 들어, 출력)될 수 있다. 예를 들어, 훈련된 모델은 트랜지스터를 포함하는 것과 같은 추가 반도체 장치의 제조의 일부로 검증 프로세스의 일부로 사용될 수 있다.
본 명세서에서 더 논의될 바와 같이, ANN 크기를 조정할 때, ANN 모델 정확도와 SPICE 시뮬레이션 TAT 간에 트레이드오프가 존재한다. 따라서 각 모델링 작업에 대한 최적의 ANN 구성을 결정하기 위해 자동화된 흐름을 개발하는 것이 매우 유리하다. 도 2a는 초기 데이터 준비 및 ANN 설정(동작 310), ANN 훈련(동작 320), 모델 정확도/품질 검사(동작 330), 모델 변환(예: Verilog-A로)(동작 360), SPICE(또는 기타 시뮬레이션) 검증(동작 370) 및 TAT 검증(동작 380)을 포함하는 흐름을 예시한다. 이 과정에서 모델 정확도가 만족스럽지 않으면 ANN 크기가 증가하고, SPICE 시뮬레이션 TAT가 모델 사용자의 기대를 충족하지 못하면 감소한다. 이 자동화된 흐름을 사용하여 정확하고 효율적인 SPICE 시뮬레이션에 중요한 모델 정확도와 TAT의 균형이 좋은 개선된 ANN 모델을 얻을 수 있다.
FET I-V 특성에 대한 ANN 모델
도 3a, 3b, 3c 및 3d는 본 개시의 일부 실시 예에 따라 훈련된 신경망에 의해 계산된, 다양한 바이어스 조건에서 고급 n형 FET에 대한 ANN I-V 모델 피팅 결과를 예시하는 그래프이다. 도 3a 내지 3d는 고급 n형 FET에 대한 ANN 모델 결과 대 타겟을 예시한다. 도 3a는 본 개시의 일부 실시 예에 따른, Id 대 Vgs의 그래프이다. 도 3b는 본 개시의 일부 실시 예에 따른 Id 대 Vds의 그래프이다. 도 3c는 본 개시의 일부 실시 예에 따른 트랜스컨덕턴스 Gm 대 Vgs의 그래프이다. 도 3d는 Gds 대 Vds의 그래프이다. 타겟 데이터는 원으로 표시되고 본 발명의 일부 실시 예에 따라 훈련된 신경망에 의해 계산된 곡선은 해당 음영의 선으로 표시된다. 도 3a 내지 도 3d는 높은 모델 정확도가 Vgs 및 Vds(즉, Gm 및 Gds)에 대한 도함수 뿐만 아니라 드레인 전류 Id에 대해 달성되었음을 보여준다.
예를 들어, 도 3a는 C-V 데이터를 사용하는 훈련된 신경망에 의해 예측된 Id 대 Vgs가 로그 및 선형 척도를 모두 보여주는 그래프로, 0.04V, 0.2V, 0.4V, 0.6V 및 0.8V의 Vds 값에 대한 목표에 매우 가깝게 추적한다는 것을 예시한다. 유사하게, 도 3b는 C-V 데이터를 사용하는 훈련된 신경망에 의해 예측된 바와 같은 Id 대 Vds가 0.08V 단차로 0.8V에서 0.4V까지(예: 0.4V, 0.48V, 0.56V, 0.64V, 0.72V 및 0.8V) Vgs 값에 대한 목표에 매우 가깝게 추적한다는 것을 보여준다. 도 3c는 C-V 데이터를 사용하여 훈련된 신경망에서 예측한 트랜스컨덕턴스 Gm 대 Vgs는 (로그 및 선형 척도로 표시된) 0.04V, 0.2V, 0.4V, 0.6V 및 0.8V의 Vds 값에 대한 목표에 매우 근접하게 추적한다는 것을 보여준다. 도 3d는 C-V 데이터를 사용하여 훈련된 신경망에서 예측된 바와 같은 Gds(로그 스케일) 대 Vds가 0.08V 단차로 0.8V에서 0.4V 까지 (예: 0.4V, 0.48V, 0.56V, 0.64V, 0.72V 및 0.8V) Vgs 값에 대한 목표에 매우 가깝게 추적한다는 것을 보여준다.
변환 함수의 선택은 I-V 모델의 높은 정확도를 달성하는 데 중요하다. 이 경우 채널(드레인-소스) 전류에 대해 다음 변환 함수가 사용된다,
Figure pat00006
수학식 2에서, I0는 정규화 인자(예를 들어, 1pA/V)이고, y는 ANN 출력 계층의 해당 뉴런의 출력이다(도 1b 참조). 이 변환 함수는 Vds=0V일 때 0의 Ids를 보장하고 FET 작동 중에 Ids가 수십 배의 크기로 변하는 경우에도 y의 범위를 제한하다. (단순화를 위해, FET의 게이트 누설 전류 및 기판 전류는 포함되지 않는다. 따라서 드레인 전류 Id는 채널 전류 Ids와 같다.)
ANN FET 모델이 RF 왜곡 시뮬레이션에 사용되는 경우, I-V 모델이 Vds=0V에서 Gummel 대칭 테스트(GST)를 통과하도록 하는 것이 유용할 수 있다. 본 발명의 실시 예는 각각 Vds 및 Vgs 각각에 대한 다음과 같은 전압 평활 함수를 제안한다.
Figure pat00007
Figure pat00008
수학식 3에서, ε 및 η는 상수(즉, ε≥1 및 η≥0)이고, 수정된 전압 바이어스(즉, Vds_sm 및 Vgs_sm)는 ANN 모델의 입력으로 사용된다. 표준 FET 모델의 규칙에 따라, FET가 역 모드일 때(즉, NFET에 대해 Vds<0, PFET에 대해 Vds>0), FET의 소스 단자와 드레인 단자는 전압 바이어스 계산을 위해 교환된다.
도 4a 및 4b는 본 개시의 일부 실시 예에 따라 훈련된 신경망에 의해 계산된, ANN I-V 모델에 대한 결과를 예시하는 그래프이다. 도 4a는 전압 평활 함수(즉, Vds_sm = Vds 및 Vgs_sm = Vgs)가 없는 ANN I-V 모델의 결과를 예시한다. 도 4b는 전압 평활 함수에 대해 ε=2 및 η=0.1인 ANN I-V 모델의 결과를 예시하다. Vds에 대한 Ids의 정규화된 도함수는 4차까지 표시된다. 도 4a 및 4b는 전압 평활화 기능을 도입하고 ε=2 및 η=0.1로 설정함으로써(도 4b), ANN 모델은 Vds에 대한 Ids의 평활화 도함수를 최소한 4차까지 제공할 수 있으며, 이는 전압 평활화가 없는 경우에 비해 GST 결과의 상당한 개선을 의미하다(도 4a). ANN 모델의 하위 임계값 전류(예를 들어, Vgs=0.1V에서)는 ε=2 및 η=0.1인 Vds에 대한 단조로운 의존성을 갖는 것으로 확인되었다.
도 5a 내지 도 5c는 본 개시의 일부 실시 예에 따른 훈련된 신경망에 의해 계산된, 고조파 균형 시뮬레이션 결과에서 ANN I-V 모델의 성능을 예시한다.
도 5a는 고조파 균형(HB) HSPICE 시뮬레이션의 성능을 위해 활용되는 테스트 회로의 개략도이다. 이 시뮬레이션에 대해서, Vg는 0.8V, Vs 및 Vb는 0V 였다. Vrf의 진폭은 1mV ~ 50mV이고 DC 오프셋은 0 이다. Vd는 Vrf와 동일하게 설정된다. 도 5b 및 도 5c는 시뮬레이션 결과의 그래프이다. 도 5b에서, 본 명세서에서 설명된 평활화된 Vds 및 Vgs 기술은 그 결과가 예시되는 신경망에서 활용되지 않았다. 도 5c에서, Vds 및 Vgs 평활화가 생성된 신경망에서 수행되었다(ε=2, η=0.1). 도 5b를 참조하면, Vds 및 Vgs 평활화 없이 이상적인 Id-Vrf 기울기와 유리하게 비교되는 최고 차수의 고조파는 제 2 고조파이다. 도 5c에 도시된 바와 같이, Vds 및 Vgs 평활화의 사용은 제 5 고조파까지 이상적인 기울기와 유리하게 비교되는 Id-Vrf 기울기를 제공할 수 있다. 이 유익한 성능은 RF 왜곡 분석에 중요할 수 있다.
위에서 언급한 전압 평활 기능은 Q-V ANN 모델보다는 I-V ANN 모델에 적용될 수 있다는 점에 유의해야 하다. 그렇지 않으면, ANN 모델의 C-V 특성이 타겟 C-V 데이터에 맞추기 어려울 정도로 왜곡될 수 있다.
FET Q-V(C-V) 특성에 대한 ANN 모델
과도 회로 시뮬레이션에서, 트랜지스터 컴팩트 모델은 각각의 주어진 전압 바이어스에서 디바이스의 단자 전하(예: Qg, Qd, Qs)를 제공할 수 있다. 그러나 Q-V 데이터는 TCAD 시뮬레이션 또는 하드웨어 측정에서 직접 사용할 수 없다. 대신, C-V 데이터는 Q-V 모델 보정에 사용될 수 있다. LUT 기반 모델의 경우, Vds 및 Vgs 공간에 대한 C-V 데이터를 통합하여 단자 전하를 계산하는 방법이 이전에 제안되었다. 그러나 계산된 적분은 적분 경로에 따라 달라지므로 제안된 방법은 특정 바이어스 조건에서 오류가 발생할 수 있다. 본 개시는 C-V 데이터를 이용하여 ANN 기반 Q-V 모델의 교정이 잘 수행될 수 있음을 예시하고, 이는 LUT 기반 모델에 비해 본 개시의 실시 예에 따른 ANN 모델의 상당한 이점이 된다.
도 6a, 6b, 6c, 6d, 6e 및 6f는 본 개시의 일부 실시 예에 따른 훈련된 신경망에 의해 계산된, 고급 n형 FET의 Q-V 및 C-V 특성에 대한 ANN 모델 결과를 예시하는 그래프이다. 타겟 데이터는 원으로 표시되고 훈련된 신경망에 의해 계산된 곡선은 해당 음영의 선으로 표시된다. 손실 함수(수학식 1 참조) 계산에 사용된 d1 및 d2 값은 각 경우에 대해 나열된다. 도 6a는 본 발명의 일부 실시 예에 따른, Qg 대 Vgs(d1=0.5, d2=0.25)를 나타내는 그래프이다. 도 6b는 본 발명의 일부 실시 예에 따른 Cgg(=dQg/dVgs) 대 Vgs(d1=0.5, d2=0.25)를 나타내는 그래프이다. 도 6c는 본 발명의 일부 실시 예에 따른 Qg 대 Vgs(d1=1.0, d2=0.5)를 나타내는 그래프이다. 도 6d는 본 발명의 일부 실시 예에 따른 Cgg(=dQg/dVgs) 대 Vgs(d1=1.0, d2=0.5)를 나타내는 그래프이다. 도 6e는 본 발명의 일부 실시 예에 따른 Cgd(=dQg/dVds) 대 Vds(d1=1.0, d2=0.5)를 나타내는 그래프이다. 도 6f는 본 발명의 일부 실시 예에 따른 Cdd(=dQd/dVds) 대 Vds(d1=1.0, d2=0.5)를 나타내는 그래프이다.
비교 목적을 위해, 도 6a 내지 도 6f에 도시된 타겟은 BSIM-CMG 모델로부터 생성되므로, Q 및 C 값이 일치한다. 설명된 실시 예는 손실 함수(수학식 1 참조) 계산을 위해 초기에 d1=0.5 및 d2=0.25로 설정하였다. 이렇게 함으로써, Q(예를 들어, Qg) 타겟과 C(예를 들어, Cgg, Cgd) 타겟이 모두 본 개시의 실시 예의 Q-V ANN 모델을 훈련하기 위해 사용된다. 도 6a 및 도 6b에 도시된 바와 같이, 본 개시의 실시 예에 따라 획득된 ANN 모델은 이 경우 Qg-Vgs 및 Cgg-Vgs 타겟 모두에 잘 맞출 수 있다. 다음으로, d1=1.0 및 d2=0.5로 설정하면, Q 타겟은 손실 함수 계산에서 제외된다(즉, 수학식 1의 err(M(i)) 항이 0이 됨). 도 6d, 6e 및 6f는 이 설정을 갖는 본 개시의 실시 예에 따른 훈련된 ANN 모델이 장치의 C-V 특성을 정확하게 캡처할 수 있는 반면, 이 모델의 Q 값은 Q 타겟으로부터 일정한 오프셋을 가질 수 있음을 보여준다. 회로 시뮬레이션의 관점에서 시뮬레이션 결과에 영향을 미치는 것은 전하 값 자체가 아니라 전압 바이어스에 대한 장치 단자 전하의 도함수이다. (이것은 본 명세서에서 설명되는, 링 발진기(RO) 시뮬레이션에 의해 검증되었다.) 따라서, 수학식 1의 손실 함수를 적용하고 d1=1.0(0<d2<d1)으로 설정하면, Q-V ANN 모델의 훈련은 TCAD 시뮬레이션 또는 하드웨어 측정에서 직접 얻을 수 있는 C-V 데이터만으로 잘 수행될 수 있다.
링 발진기 시뮬레이션
ANN IV 및 QV 모델의 훈련 후에, ANN 가중치(예를 들어, 도 1b에 도시된 W1, b1, W2, b2, W3, b3)는 회로 시뮬레이션을 위한 Verilog-A 모델로 변환될 수 있다. (이 프로세스는 파이썬 스크립트를 사용하여 자동화할 수 있다.) 도 7a 및 도 7b는 Q 데이터를 사용하여 훈련된 모델과 비교하여 본 개시의 일부 실시 예에 따른 C-V 데이터를 사용하여 훈련된 모델의 성능을 나타내는 그래프이다. 도 7a는 본 개시의 일부 실시 예에 따라 훈련된 신경망에 의해 계산된, 기준 BSIM-CMG 모델 뿐만 아니라 ANN 모델을 사용하여 시뮬레이션된 17 단계 RO의 전압 파형을 도시한다. 도 7a에서, BSIM-CMG 모델은 점선으로 도시되어 있고, ANN-1 모델은 점선으로 표시되고, ANN-2 모델은 실선으로 표시된다. RO Delay, Ceff(유효 커패시턴스), Reff(유효 저항)와 같은 주요 회로 메트릭은 시뮬레이션 결과에서 추출되며, ANN 모델 결과와 참조 사이의 차이는 도 7a의 삽입 테이블에 요약되어 있다. NFET 및 PFET의 I-V 및 Q-V 타겟 데이터는 참조 모델에서 생성되고, ANN I-V 및 Q-V 모델은 관련 타겟 데이터로 훈련된다. 도 7a에서 도시된 ANN-1과 ANN-2 모델의 차이는, ANN-1의 QV 모델이 손실 함수(d1=0.5, d2=0.25)에 Q 값을 포함하여 본 발명의 실시 예에 따라 훈련되는 반면, ANN-2에 있는 것들은 C-V 데이터(d1=1.0, d2=0.5)만으로 본 발명의 실시 예들에 따라 훈련된다. 결과는 ANN 모델이 참조 모델과 비교하여 RO 시뮬레이션에 대해 매우 높은 정확도(즉, Delay, Ceff 및 Reff에 대해 1% 미만의 오류)를 제공하며, C-V 데이터만으로 훈련된 Q-V 모델을 사용하는 ANN-2는 ANN-1과 동등하게 성능을 발휘한다는 것을 보여준다.
도 7b는 훈련을 위해 Q-V 데이터를 사용하는 모델에서 전하 통합으로 인해 발생할 수 있는 오류를 예시하다. 도 7b에서, 모델 A는 C-V 데이터로 직접 훈련된 Q-V NN 모델이다. 모델 B는 C-V 데이터에서 통합된 Q-V 데이터로 훈련된 Q-V NN 모델이다. (LUT 기반 Q-V 모델은 모델 B와 매우 유사한 결과를 제공한다.) 도 7b에서, Model A는 실선으로 도시되어 있고 Model B는 점선으로 도시되어 있다. RO 지연, Ceff(유효 커패시턴스), Reff(유효 저항)와 같은 주요 회로 메트릭은 시뮬레이션 결과에서 추출되며, ANN 모델 결과 간의 차이점은 도 7b의 삽입 테이블에 요약되어 있다. 결과는 C-V 데이터에 따라 훈련된 모델 A가 각 범주에서 모델 B(Q-V-훈련된 NN 모델)보다 개선되었음을 보여준다. 예를 들어, Model B는 Model A와 비교하여 Delay이 16.2% 증가, Ceff이 17.9% 증가 및 Reff이 1.2% 감소를 보여준다.
고급 기능
모델 능력 및 모델 생성(즉, ANN 훈련) 효율성을 개선하기 위한 추가 요소가 ANN 기반 컴팩트 모델링 방법론에 도입될 수 있다.
훈련 TAT 개선을 위한 초기 가중치 설정
ANN 훈련의 경우, 초기 ANN 가중치(즉, Wi, bi)는 일반적으로 특정 분포로부터 생성된 난수에 할당되며, 다음에 이들 값은 손실 함수 값을 최소화하기 위해 학습 과정에서 점진적으로 조정된다. 컴팩트 모델 개발의 실행에서 유사한 특성을 가진 장치에 맞춘 모델이 모델 매개변수 추출이 수행되기 전에 이미 사용 가능한 경우가 가능하다. 이 경우 사전에 맞춘 모델을 시작 모델로 사용하면 매개변수 추출 프로세스의 속도를 효과적으로 높일 수 있다. 본 개시의 일부 실시 예에서, 이 아이디어는 사전 훈련된 ANN 모델을 ANN 훈련 프로세스의 초기 가중치로 로드하는 옵션을 도입함으로써 ANN 기반 컴팩트 모델링의 맥락에서 적용될 수 있다.
도 8a, 8b, 8c 및 8d는 본 발명의 일부 실시 예에 따르면 ANN 훈련을 촉진하기 위해 초기 ANN 가중치로 시작 모델을 사용하는 예를 나타내는 그래프이다. 도 8a 내지 도 8d는 고급 n형 FET의 Id 대 Vds 및 Gds 대 Vds 특성에 대한 ANN 모델 결과(선) 대 타겟(원)을 도시한다. ANN 모델은 두 가지 설정으로 학습된다: 무작위 초기 ANN 가중치를 갖는 경우 I(도 8a 및 8b) 및 초기 ANN 가중치가 시작 모델을 기반으로 설정되는 경우 II(도 8c 및 8d). 두 경우 모두 5,000 에포크 이후에 ANN 훈련이 중지된다. 도 8b의 결과는 획득된 ANN 모델이 Gds 피팅에 대해 상당한 오류를 표시함을 보여주며, 이는 더 나은 모델 정확도를 달성하기 위해 더 많은 훈련 에포크가 필요함을 의미하다. 경우 II(도 8c 및 8d)에서, 초기 ANN 가중치는 모델링하고자 하는 장치와 I-V 특성이 유사한 장치에 맞춘 시작 모델을 이용하여 설정하였다. (예를 들어, 두 장치 간의 턴 온 Ion 차에서 임계 전압 Vth와 온 전류는 각각 ~80mV 및 ~20%임). 5,000 에포크를 실행한 후, 이 경우 본 개시의 일부 실시 예에 따른 훈련된 ANN 모델은 Id(도 8c) 및 Gds(도 8d) 모두에 대해 높은 피팅 정확도, 즉 경우 I에 비해 상당한 개선을 보여준다. (무작위 초기 ANN 가중치를 사용하는 경우 경우 II와 동일한 수준의 모델 정확도를 달성하려면 약 200,000~500,000 에포크가 필요하다. 이는 적절한 시작 ANN 모델을 선택하면 ANN 훈련 효율성을 ~40~100배 향상시키는 데 도움이 될 수 있음을 의미하다.) DTCO 활동에서는, 실행마다 장치 특성에 대한 점진적인 업데이트가 대부분 예상된다. 따라서, 초기 ANN 가중치 설정을 위한 시작 모델로 초기 버전의 ANN 모델을 채택함으로써 본 발명의 일부 실시 예에 따른 ANN 훈련 효율을 크게 향상시킬 수 있다.
글로벌 피팅 대 로컬 피팅
다중 장치 인스턴스(예: W, L 및 T)에 대한 컴팩트 모델을 생성할 때 두 가지 방식이 사용될 수 있다: 1) 모든 장치 인스턴스에 대한 데이터에 맞는 하나의 단일 모델 생성(글로벌 피팅이라고 함) 및 2) 각 장치 인스턴스에 대해 별도의 모델을 생성하다(로컬 피팅이라고 함). 글로벌 피팅의 경우, 입력 데이터는 인스턴스(예: W, L, T 등) 데이터와 바이어스(Vgs, Vds 등) 데이터를 모두 포함할 수 있다. 로컬 피팅의 경우, 입력 데이터는 바이어스(Vgs, Vds 등) 데이터만을 포함할 수 있다(예를 들어, 장치 인스턴스를 정의하는 인스턴스 데이터가 미리 설정됨). 글로벌 피팅 대 로컬 피팅 방식은 본 개시의 일부 실시 예에 따른 ANN 모델 생성 및 시뮬레이션과 관련하여 여기에서 비교된다.
표 1은 36개의 장치 인스턴스(즉, W/L/T)가 있는 테스트 경우에 대한 글로벌 피팅 대 로컬 피팅 비교 결과를 요약하고 있다.
글로벌 피팅 대 로컬 피팅(피팅될 36개 장치 인스턴스, W/L/T)
글로벌 피팅 로컬 피팅
ANN 모델의 수 1
(모든 36개의 장치 인스턴스에 대해 단일의 ANN 모델)
36
(각각의 장치 인스턴스에 대해 하나의 개별적인 ANN 모델)
ANN 크기 N1=20, N2=15 N1=10, N2=5
에포크 당 TAT(PyTorch) ~0.015초 ~0.004초
필요한 에포크의 수 ~2,000,000 ~50,000
총 훈련 TAT ~8 시간 ~200초 (모델 당)
36 모델 전체에 대해 (순차적으로 훈련됨) ~2 시간이 병렬화될 수 있음
SPICE 시뮬레이션 TAT ~5x 1x(참조)
동일한 수준의 모델 정확도를 달성하기 위해, 전역 모델의 ANN 크기(즉, N1=20, N2=15)는 로컬 모델(즉, N1=10, N2=5)보다 클 수 있는데, 이는 더 많은 조정 가능한 매개변수(즉, ANN 가중치)가 단순히 하나가 아닌 모든 장치 인스턴스의 데이터를 맞추는 데에 사용되기 때문이다. 글로벌 피팅에 대한 더 큰 ANN 크기와 더 많은 수의 훈련 샘플(예: 36x)은 로컬 피팅(즉, PyTorch를 사용하여 0.015초 대 0.004초)보다 에포크 당 훈련 TAT가 훨씬 더 길어질 수 있다. 또한 더 많은 훈련 샘플로 더 큰 ANN을 훈련하는 데 더 많은 반복이 필요하기 때문에, 글로벌 피팅을 위한 ANN 훈련에 더 많은 에포크가 사용된다. 이러한 이유로 글로벌 모델(즉, ~8시간)에 대한 총 훈련 TAT는 로컬 모델에 대해서보다 상당히 크다 (즉, 36개의 로컬 모델을 모두 순차적으로 교육하는 경우 ~2시간). 다른 로컬 모델의 교육은 독립적이므로 계산 자원이 허용하는 경우 여러개의 (예: 36개) 작업을 병렬로 실행하여 로컬 모델 교육이 더욱 가속화될 수 있다.마지막으로, 결과는 ANN 모델의 SPICE 시뮬레이션 TAT가 ANN 크기에 크게 의존하기 때문에 글로벌 모델에 대한 SPICE 시뮬레이션 TAT가 로컬 모델에 대한 것의 ~5x임을 보여주며, 이에 대해서는 본 명세서에서 더욱 설명될 것이다. 이러한 결과에 기초하여, 본 개시의 일부 실시 예에 따른 ANN 기반 모델링에 대해 로컬 피팅 방식을 사용하는 것이 유리하다고 결론지을 수 있으며, 이는 글로벌 피팅 방식보다 훨씬 더 나은 ANN 훈련 TAT와 더 빠른 SPICE 시뮬레이션 TAT를 제공할 수 있다.
ANN 크기의 함수로서의 SPICE 시뮬레이션 TAT
컴팩트 모델의 계산 효율성은 회로(SPICE) 시뮬레이션 TAT에 직접적인 영향을 미칠 것이다. 따라서 새로운 컴팩트 모델을 개발할 때 일부 벤치마크 회로의 SPICE 시뮬레이션 TAT를 측정하는 것이 중요하다. 본 개시의 일부 실시 예에 따른 ANN 모델에서, 계산(예를 들어, 곱셈, 활성화 함수 평가)의 수는 은닉층의 수(NHL)와 각 은닉층의 뉴런 수로 측정된 바와 같이, ANN 크기에 의해 결정된다. 일반적으로, 더 큰 ANN은 더 많은 수의 피팅 매개변수(즉, ANN 가중치)로 인해 더 높은 피팅 기능을 제공할 수 있다. 반면에, ANN 크기가 클수록 SPICE 시뮬레이션 TAT가 저하될 것으로 예상된다. ANN 크기에 대한 SPICE 시뮬레이션 TAT의 양적 의존성을 탐구하기 위한 연구가 본 명세서에서 설명되고, 모델 정확도와 SPICE 시뮬레이션 TAT를 모두 고려하여 개선된 ANN 모델을 생성하기 위한 지침이 제공된다.
원칙적으로 NHL은 조정 가능한 ANN 설정이지만, 본 발명자들은 NHL=2가 선호될 수 있다는 것을 발견했는데, 이는 NHL>2일 때 ANN 모델이 더 큰 훈련 및 SPICE 시뮬레이션 TAT를 겪을 수 있는 반면, NHL=1일 때 ANN 모델의 피팅 능력이 저하될 수 있기 때문이다. 이러한 이유로, 본 개시는 2개의 은닉층을 갖는 ANN 모델에 초점을 맞추지만, 본 발명의 실시 예가 이에 한정되는 것은 아니다. 다양한 수의 뉴런(즉, N1/N2 = 15/10, 10/10, 10/5, 5/5, 3/3)을 갖는 본 발명의 일부 실시 예에 따른 5개의 ANN 모델이 생성되었으며, 17 단계 RO 회로의 SPICE 시뮬레이션이 각 ANN 모델 옵션을 사용하여 수행되었다. ANN 크기를 정량적으로 나타내기 위해서, ANN 가중치(ASI-W)의 수, 뿐만 아니라 하나의 ANN 모델 추론에서 곱셈의 수(ASI-M) 및 활성화 함수 평가의 수(ASI-A)를 기준으로 하여 3개의 ANN 크기 표시자(ASI)가 도입되었다.
도 9는 본 개시의 일부 실시 예에 따른, 17 단계 RO에 대한 SPICE 시뮬레이션 TAT 대 ASI의 그래프이다. 도 9는 RO에 대해 정규화된 SPICE 시뮬레이션 TAT 대 3개의 ASI를 플로팅한다. 각 ASI에 대한 정의와 공식은 삽입된 표에 요약되어 있다. 여기서 Ni, N1, N2 및 No는 각각 ANN의 입력층, 제 1 은닉층, 제 2 은닉층 및 출력층의 뉴런 수에 대한 것이다. RO 시뮬레이션 TAT와 각 ASI 간의 상관 계수는 플롯에 표시된다. 도 9를 참조하면, RO 시뮬레이션 TAT는 세 표시자 모두와 거의 완벽한 상관 관계를 가지고 있어, 이들 ASI 표시자는 실제 ANN 모델 훈련 및 SPICE 시뮬레이션을 수행할 필요 없이 ANN 크기의 함수로 SPICE 시뮬레이션 TAT를 추정하는 데 효과적인 것을 암시하다. (일부 실시 예에서, RO SPICE 시뮬레이션의 메모리 사용량은 ANN 모델 크기에 둔감한 것으로 발견된다.)
모델 정확도에 대한 ANN 크기의 영향을 조사하기 위해, 본 개시의 일부 실시 예에 따른 5개의 ANN 모델 옵션으로부터의 시뮬레이션된 RO 지연을 참조 모델로부터의 지연과 비교하였다. ANN 크기가 가장 작은 것(N1=3, N2=3)을 제외한 모든 경우에 대해, 0.5% 미만의 오류가 달성되고, 이는 1.4% 오류로 이어진다. 실제로 모델 정확도 목표가 결정되면, 최상의 SPICE 시뮬레이션 TAT로 충분히 정확한 ANN 모델을 제공하는 데 사용할 수 있는 ANN 크기가 있어야 하다.
다른 컴팩트 모델 유형과의 비교
표 II는 본 개시내용의 일부 실시 예에 따라 훈련된 신경망에 의해 계산된 ANN 기반 FET 모델의 주요 속성과 LUT 모델뿐만 아니라 표준 물리 방정식 기반 FET 모델의 주요 속성의 비교를 제시하다.
ANN, 표준 및 LUT 모델 간의 비교
표준 LUT ANN
모델 방정식 형성 긴 TAT, 전문지식 필요 필요 없음 필요 없음
모델 매개변수 추출 긴 TAT, 전문시직 필요a 필요 없음 짧은 TAT, 전체 자동화
데이터 조건 중간 매우 높음 높음
다양성 모델링 능력 높음 낮음 중간
SPICE 시뮬레이션 TAT 고속 저속 중간b
a 어느 정도 자동화될 수 있지만 완전히 자동화된 흐름으로 매우 높은 모델 정확도를 얻는 것은 어려울 수 있다. b Verilog-A 기반 ANN 모델을 손으로 코딩한 C 코드로 변환하여 더욱 개선할 수 있다.
본 개시의 일부 실시 예들에 따른 ANN 모델은 모델 매개변수 추출(즉, ANN 훈련)에서의 적당한 오버헤드를 제외하고는 대부분의 양상들에서 LUT 대응물보다 유리하다. 추가적으로, 본 명세서에서 설명된 결과는 본 개시의 일부 실시 예에 따른 ANN 모델이 LUT보다 더 높은 Q-V 모델 정확도를 제공할 수 있음을 나타낸다. 이러한 이유로, ANN 훈련을 위한 하드웨어 및 소프트웨어 기반구조가 이용 가능하다면, 본 개시의 일부 실시 예에 따라 훈련된 ANN은 데이터 기반 컴팩트 모델링을 위한 LUT보다 우수한 옵션이라고 결론지을 수 있다.
표준 FET 모델과 비교할 때, 본 개시의 일부 실시 예에 따라 훈련된 ANN 모델은 모델 방정식 생성 및 매개변수 추출의 효율성에서 명백한 이점을 보유하는 반면, 표준 모델은 물리 기반 특성으로 인해 더 빠른 SPICE 시뮬레이션 TAT, 더 높은 가변성 모델링 기능 및 더 적은 데이터 요구 사항을 제공하다. 이러한 이유로, 본 발명의 일부 실시 예에 따라 훈련된 ANN 기반 FET 모델은 우수한 모델 생성 효율 및 적합성으로 인해 고급 DTCO 및 경로 찾기 활동에서 우월함을 발견할 수 있다.
이하, 본 명세서에 설명된 일부 실시 예에 따른 컴퓨터 시스템을 도시하는, 도 10을 참조한다. 컴퓨터 또는 컴퓨터 시스템은 일반적으로 계산을 수행할 수 있는 모든 시스템일 수 있다. 구체적으로, 컴퓨터 시스템은 마이크로프로세서, 특정 애플리케이션 집적 회로, 분산 컴퓨팅 시스템, 클라우드 컴퓨팅 시스템, 또는 현재 알려졌거나 나중에 개발되는 임의의 다른 컴퓨팅 시스템일 수 있다. 일부 실시 예에서, 컴퓨터 시스템(802)은 프로세서(804), 메모리(806), 및 스토리지(808)를 포함한다. 컴퓨터 시스템(802)은 디스플레이(814), 키보드(810), 포인팅 장치(812), 및 장치 분석기(822)와 연결될 수 있다. 저장소(808)는 일반적으로 데이터를 저장할 수 있는 임의의 장치일 수 있다. 구체적으로, 저장 장치는 자기, 광학 및/또는 광자기 저장 장치일 수 있고/있거나 플래시 메모리 및/또는 배터리 백업 메모리를 기반으로 할 수 있다. 저장소(808)는 애플리케이션(816), 운영 체제(818), 및 데이터(820)를 저장할 수 있다.
애플리케이션(816)은 컴퓨터 시스템(802)에 의해 실행될 때 컴퓨터 시스템(802)이 본 개시에서 암시적으로 또는 명시적으로 설명된 하나 이상의 프로세스를 수행하게 하는 명령을 포함할 수 있다. 데이터(820)는 애플리케이션(816)에 입력되거나 애플리케이션(816)에 의해 출력되는 임의의 데이터를 포함할 수 있다. 예를 들어, 데이터(820)는 반도체 장치의 공칭 성능에 대응하는 기술 컴퓨터 지원 설계 데이터 세트를 포함할 수 있다. 일부 실시 예에서, 이러한 데이터는 장치 분석기(822)로부터 수신되고 제조된 장치와 관련될 수 있다.
일부 실시 예에서, 프로세서(804)는 데이터(820)에 기초하여 본 개시의 실시 예에 따라 ANN을 훈련시키기 위해 애플리케이션(816)을 실행할 수 있다. 일부 실시 예에서, 데이터(820) 및/또는 애플리케이션(816)은 본 개시의 실시 예에 따라 훈련된 ANN을 포함할 수 있고, 프로세서(804)는 ANN을 활용하여 본 명세서에서 설명된 방법에 기초하여 트랜지스터의 성능을 추정하는 출력을 제공할 수 있다.
고급 FET 모델링을 위한 ANN 기반 컴팩트 모델링 방법론이 본 개시의 실시 예에 따라 본 명세서에서 설명되었다. 설명된 결과는 ANN 기반 FET 모델이 모델링된 장치의 I-V 및 C-V 특성을 잘 재현한다는 것을 보여주고, ANN 모델을 기반으로 한 SPICE 시뮬레이션 결과는 1% 미만의 오차를 갖는 RO 지연 목표와 일치하다. 모델 리타게팅 및 가변성 모델링을 위한 ANN 모델의 기능이 확장되었으며, ANN 훈련 TAT 및 SPICE 시뮬레이션 TAT를 개선하기 위한 몇 가지 핵심 기술이 도입되었다. ANN 크기가 ANN 모델 정확도 및 SPICE 시뮬레이션 TAT에 미치는 영향에 대해서도 설명했으며, 최적의 ANN 모델 생성을 위한 자동화된 흐름을 제안했다. 본 개시의 실시 예들에 따르면, ANN 기반 컴팩트 모델링 방법론은 고급 DTCO 및 경로 찾기 활동에 대한 약속을 보여준다.
위에 도시된 바와 같이, 본 명세서에서 개시된 실시 예는 C-V 데이터를 기반으로 프로세스 변동을 고려하기 위한 개선된 ANN 기반 모델을 제공함으로써 반도체 장치 및/또는 반도체 장치를 포함하는 전기 회로를 분석 및/또는 설계하는 기존의 방법에 비해 계산 효율성을 제공할 수 있다.
본 개시의 실시 예는 예시적인 실시 예가 도시된 첨부 도면을 참조하여 위에서 설명되었다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 본 명세서에서 설명하는 실시 예에 한정되지 않는다. 오히려, 이들 실시 예는 본 개시가 철저하고 완전할 수 있고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 본 발명의 범위를 충분히 전달할 수 있도록 제공된다. 도면 및 명세서 전반에 걸쳐 동일한 번호는 동일한 요소를 지칭한다. 본 명세서에 사용된 바와 같이 "및/또는"이라는 표현은 하나 이상의 연관된 나열된 항목의 임의의 및 모든 조합을 포함한다.
하나의 요소가 다른 요소에 "연결된" 또는 "결합된" 또는 "위에 위치하는"으로 언급되는 경우, 그것은 다른 요소에 직접 연결되거나 다른 요소에 결합되거나 위에 위치할 수 있거나 중간 요소가 사이에 존재할 수도 있다는 것이 이해될 것이다. 대조적으로, 요소가 다른 요소에 "직접 연결", "직접 결합" 또는 "직접 위에 위치하는"으로 언급되는 경우에는, 중간 요소가 사이에 존재하지 않는다. 요소 간의 관계를 설명하는 데 사용되는 다른 단어는 유사한 방식으로 해석되어야 하다 (즉, "사이에" 대 "사이에 직접", "인접한" 대 "바로 인접한" 등).
본 명세서에 사용된 용어는 단지 특정 실시 예를 설명하기 위한 것으로 본 발명을 제한하려는 의도가 아니다. 본 명세서에 사용된 바와 같이, 단수 형태는 문맥이 명백하게 달리 나타내지 않는 한, 복수 형태도 포함하는 것으로 의도된다. 본 명세서에서 사용될 때 "포함하다", "포함하는", "구비하다" 및/또는 "구비하는"이라는 용어는 명시된 특징, 요소 및/또는 구성요소의 존재를 지정하지만, 하나 이상의 다른 특징, 요소, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는다는 것이 더욱 이해될 것이다.
본 발명의 다양한 실시 예는 본 발명의 다양한 실시 예에 따른 방법, 장치 및 컴퓨터 프로그램 제품을 예시하는 블록도를 참조하여 위에서 설명되었다. 블록도 및/또는 동작 예시의 각 블록, 및 블록도 및/또는 동작 예시의 블록 조합은 아날로그 및/또는 디지털 하드웨어, 및/또는 컴퓨터 프로그램 명령에 의해 구현될 수 있음을 이해할 것이다. 이러한 컴퓨터 프로그램 명령은 범용 컴퓨터, 특수 목적 컴퓨터, 용도 특정 집적 회로(ASIC) 및/또는 기타 프로그래밍 가능한 데이터 처리 장치의 프로세서에 제공될 수 있다. 컴퓨터 및/또는 다른 프로그램 가능한 데이터 처리 장치의 프로세서를 통해 실행되는 명령이 블록도 및/또는 작동 예시에 지정된 기능/동작을 구현하기 위한 수단을 생성하도록 한다. 따라서, 블록도 및 동작 예시가 장치, 방법 및 컴퓨터 프로그램 제품을 지원한다는 것이 이해될 것이다.
본 명세서에서 설명된 기능은 개별 하드웨어 구성요소, 하나 이상의 ASIC 및/또는 하나 이상의 특수 목적 디지털 프로세서 및/또는 컴퓨터를 사용하여, 적어도 부분적으로 구현될 수 있다는 것이 더욱 이해될 것이다.
모든 실시 예는 임의의 방식 및/또는 조합으로 조합될 수 있다.
도면 및 명세서에서, 본 발명의 개념의 전형적인 실시 예가 개시되며, 특정 용어가 사용되지만, 그것들은 제한의 목적이 아니라 일반적이고 설명적인 의미로만 사용되며, 본 발명의 개념의 범위는 다음 특허청구범위에 설명되어 있다.

Claims (26)

  1. 반도체 장치의 성능을 분석하기 위한 컴퓨터 구현 방법에 있어서,
    상기 방법은,
    컴퓨터 시스템에서 실행되는 신경망에, 입력 상태 값 및 훈련 커패시턴스 값을 포함하는 훈련 데이터를 제공하는 단계;
    모델링된 전하 값을 생성하기 위해 상기 신경망을 통해 상기 입력 상태 값을 처리하는 단계;
    상기 모델링된 전하 값을 모델링된 커패시턴스 값으로 변환하는 단계;
    상기 컴퓨터 시스템에 의해, 상기 모델링된 전하 값을 생략하는 손실 함수를 이용하여 상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 임계값 내에 있는지 여부를 결정하는 단계; 및
    상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 상기 임계값 내에 있다는 결정에 응답하여, 상기 컴퓨터 시스템에 의해, 상기 신경망을 회로 시뮬레이션 코드로 변환하여 변환된 신경망을 생성하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 상기 임계값 내에 있지 않다는 결정에 응답하여, 상기 컴퓨터 시스템에 의해 상기 신경망의 매개변수를 조정하고 상기 신경망을 통해 상기 입력 상태 값을 처리하는 단계를 반복하는 단계를 더 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 변환된 신경망을 사용하여 시뮬레이션 출력을 생성하기 위해 테스트 반도체 장치의 동작을 시뮬레이션하는 단계;
    상기 컴퓨터 시스템에 의해, 상기 시뮬레이션 출력을 생성하는 단계의 처리 시간이 만족스러운지 여부를 결정하는 단계; 및
    상기 처리 시간이 만족스럽지 않다는 결정에 응답하여, 상기 컴퓨터 시스템에 의해 상기 신경망의 크기를 조정하고 상기 신경망을 통해 상기 입력 상태 값을 처리하는 단계를 반복하는 단계를 더 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 반도체 장치는 트랜지스터인, 방법.
  5. 제 1 항에 있어서,
    상기 입력 상태 값은 복수의 바이어스 값 및 복수의 인스턴스 값을 포함하고,
    상기 컴퓨터 구현 방법은,
    상기 복수의 인스턴스 값의 각 인스턴스 값에 대해 추가 신경망을, 상기 인스턴스 값을 일정하게 유지하고 상기 복수의 바이어스 값을 상기 추가 신경망에 대한 상기 입력 상태 값으로 상기 추가 신경망에 제공함으로써, 생성하는 단계를 더 포함하는, 방법.
  6. 제 1 항에 있어서,
    상기 반도체 장치의 제 1 인스턴스를 제조하는 단계;
    상기 반도체 장치의 상기 제 1 인스턴스의 특성과 성능 중 적어도 하나를 측정하는 단계; 및
    상기 반도체 장치의 상기 제 1 인스턴스의 상기 측정된 특성과 성능 중 적어도 하나에 기초하여 상기 훈련 데이터를 생성하는 단계를 더 포함하는, 방법.
  7. 제 6 항에 있어서,
    상기 변환된 신경망을 기반으로 하드웨어 기술 언어(HDL) 모델을 구축하는 단계; 및
    상기 HDL 모델을 기반으로 상기 반도체 장치의 제 2 인스턴스를 제조하는 단계를 더 포함하는, 방법.
  8. 제 1 항에 있어서,
    상기 모델링된 전하 값을 모델링된 커패시턴스 값으로 변환하는 단계는 상기 모델링된 전하 값의 수학 도함수를 생성하는 단계를 포함하는, 방법.
  9. 제 1 항에 있어서,
    상기 훈련 데이터의 상기 훈련 커패시턴스 값은 기술 컴퓨터 보조 디자인(TCAD) 시스템 시뮬레이션에 의해 생성되는, 방법.
  10. 제 9 항에 있어서,
    상기 훈련 데이터를 제공하는 단계는 상기 훈련 커패시턴스 값의 수학 적분(mathematical integration)을 수행하지 않고 수행되는, 방법.
  11. 반도체 소자의 성능을 분석하기 위한 시스템에 있어서,
    상기 시스템은,
    프로세서; 및
    실행시, 상기 프로세서로 하여금,
    상기 프로세서에서 실행되는 신경망에 입력 상태 값 및 훈련 커패시턴스 값을 포함하는 훈련 데이터를 제공하는 동작;
    모델링된 전하 값을 생성하기 위해 상기 신경망을 통해 상기 입력 상태 값을 처리하는 동작;
    상기 모델링된 전하 값을 모델링된 커패시턴스 값으로 변환하는 동작;
    상기 프로세서에 의해, 상기 모델링된 전하 값을 생략하는 손실 함수를 이용하여 상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 임계값 내에 있는지 여부를 결정하는 동작; 및
    상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 상기 임계값 내에 있다는 결정에 응답하여, 상기 프로세서에 의해, 상기 신경망을 회로 시뮬레이션 코드로 변환하여 변환된 신경망을 생성하는 동작을 포함하는 동작을 실행하도록 하는 컴퓨터 판독 가능 코드를 저장하는 메모리를 포함하는, 시스템.
  12. 제 11 항에 있어서,
    상기 동작은 상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 상기 임계값 내에 있지 않다는 결정에 응답하여, 상기 프로세서에 의해, 상기 신경망의 매개변수를 조정하고 상기 신경망을 통해 상기 입력 상태 값을 처리하는 동작을 반복하는 동작을 더 포함하는, 시스템.
  13. 제 11 항에 있어서,
    상기 동작은,
    상기 변환된 신경망을 사용하여 시뮬레이션 출력을 생성하기 위해 테스트 반도체 장치의 동작을 시뮬레이션하는 동작;
    상기 프로세서에 의해, 상기 시뮬레이션 출력을 생성하는 단계의 처리 시간이 만족스러운지 여부를 결정하는 동작; 및
    상기 처리 시간이 만족스럽지 않다는 결정에 응답하여, 상기 프로세서에 의해, 상기 신경망의 크기를 조정하고 상기 신경망을 통해 상기 입력 상태 값을 처리하는 단계를 반복하는 동작을 더 포함하는, 시스템.
  14. 제 11 항에 있어서,
    상기 입력 상태 값은 복수의 바이어스 값 및 복수의 인스턴스 값을 포함하고,
    상기 동작은,
    상기 복수의 인스턴스 값의 각 인스턴스 값에 대해 추가 신경망을, 상기 인스턴스 값을 일정하게 유지하고 상기 복수의 바이어스 값을 상기 추가 신경망에 대한 상기 입력 상태 값으로 상기 추가 신경망에 제공함으로써, 생성하는 동작을 더 포함하는, 시스템.
  15. 제 11 항에 있어서,
    상기 동작은,
    상기 반도체 장치의 제 1 인스턴스를 제조하는 동작;
    상기 반도체 장치의 상기 제 1 인스턴스의 특성과 성능 중 적어도 하나를 측정하는 동작; 및
    상기 반도체 장치의 상기 제 1 인스턴스의 상기 측정된 특성과 성능 중 적어도 하나에 기초하여 상기 훈련 데이터를 생성하는 동작을 더 포함하는, 시스템.
  16. 제 15 항에 있어서,
    상기 동작은,
    상기 변환된 신경망을 기반으로 하드웨어 기술 언어(HDL) 모델을 구축하는 동작; 및
    상기 HDL 모델을 기반으로 상기 반도체 장치의 제 2 인스턴스를 제조하는 동작을 더 포함하는, 시스템.
  17. 제 11 항에 있어서,
    상기 모델링된 전하 값을 모델링된 커패시턴스 값으로 변환하는 동작은 상기 모델링된 전하 값의 수학 도함수를 생성하는 동작을 포함하는, 시스템.
  18. 제 11 항에 있어서,
    상기 훈련 데이터의 상기 훈련 커패시턴스 값은 기술 컴퓨터 보조 디자인(TCAD) 시스템 시뮬레이션에 의해 생성되는, 시스템.
  19. 제 18 항에 있어서,
    상기 훈련 데이터를 제공하는 동작은 상기 훈련 커패시턴스 값의 수학 적분을 수행하지 않고 수행되는, 시스템.
  20. 컴퓨터 프로그램 제품에 있어서,
    전자 장치의 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    상기 프로세서에서 실행되는 신경망에 입력 상태 값 및 훈련 커패시턴스 값을 포함하는 훈련 데이터를 제공하는 동작;
    모델링된 전하 값을 생성하기 위해 상기 신경망을 통해 상기 입력 상태 값을 처리하는 동작;
    상기 모델링된 전하 값을 모델링된 커패시턴스 값으로 변환하는 동작;
    상기 프로세서에 의해, 상기 모델링된 전하 값을 생략하는 손실 함수를 이용하여 상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 임계값 내에 있는지 여부를 결정하는 동작; 및
    상기 훈련 데이터의 상기 훈련 커패시턴스 값이 상기 모델링된 커패시턴스 값의 상기 임계값 내에 있다는 결정에 응답하여, 상기 프로세서에 의해, 상기 신경망을 회로 시뮬레이션 코드로 변환하여 변환된 신경망을 생성하는 동작을 포함하는 동작을 실행하도록 하는 컴퓨터 판독 가능 프로그램 코드를 저장하는 비 일시적 컴퓨터 판독 가능 저장 매체를 포함하는, 제품.
  21. 트랜지스터의 성능을 분석하기 위한 컴퓨터 구현 방법에 있어서,
    입력 상태 값 및 출력 상태 값을 포함하는 훈련 데이터를 컴퓨터 시스템에서 실행되는 신경망에 제공하는 단계로, 상기 입력 상태 값은 트랜지스터의 전압 데이터를 포함하는 단계;
    평활화된 전압 데이터를 생성하기 위해 상기 전압 데이터를 조정하는 단계;
    상기 컴퓨터 시스템에 의해, 상기 평활화된 전압 데이터를 포함하는 상기 훈련 데이터에 기초하여 상기 신경망을 훈련시켜 상기 훈련 데이터의 상기 입력 상태 값을 상기 훈련 데이터의 상기 출력 상태 값과 관련시키는 복수의 신경망 매개변수를 계산하는 단계;
    상기 컴퓨터 시스템에 의해, 상기 훈련 데이터의 상기 출력 상태 값이 상기 신경망의 출력과 일치하는지 여부를 결정하는 단계; 및
    상기 훈련 데이터의 상기 출력 상태 값이 상기 신경망의 출력과 일치한다는 결정에 응답하여, 상기 컴퓨터 시스템에 의해 상기 신경망을 회로 시뮬레이션 코드로 변환하여 변환된 신경망을 생성하는 단계를 포함하는, 방법.
  22. 제 21 항에 있어서,
    상기 전압 데이터는 게이트-소스 전압 Vgs 및 드레인-소스 전압 Vds를 포함하고,
    상기 평활화된 전압 데이터는 Vgs와 상이한 값을 갖는 평활화된 게이트-소스 전압 및 Vds와 상이한 값을 갖는 평활화된 드레인-소스 전압을 포함하는, 방법.
  23. 제 22 항에 있어서,
    상기 평활화된 드레인-소스 전압은,
    수학식:
    Figure pat00009

    에 의해 생성되고,
    상기 평활화된 게이트-소스 전압은
    수학식:
    Figure pat00010

    에 의해 생성되고,
    Vds_sm은 평활화된 드레인-소스 전압이고, Vgs_sm은 평활화된 게이트-소스 전압이고, ε은 1보다 크거나 같은 제 1 상수이고, η는 1보다 크거나 같은 제 2 상수인, 방법.
  24. 제 21 항에 있어서,
    상기 트랜지스터의 제 1 인스턴스를 제조하는 단계를 더 포함하고, 상기 신경망에 제공되는 상기 훈련 데이터는 상기 트랜지스터의 상기 제 1 인스턴스의 특성과 성능 중 적어도 하나에 기초하는 것인, 방법.
  25. 제 24 항에 있어서,
    상기 변환된 신경망을 기반으로 상기 트랜지스터의 상기 제 1 인스턴스의 하드웨어 기술 언어(HDL) 모델을 구축하는 단계; 및
    상기 HDL 모델을 기반으로 상기 트랜지스터의 제 2 인스턴스를 제조하는 단계
    를 더 포함하는, 방법.
  26. 제 21 항에 있어서,
    상기 훈련 데이터의 상기 전압 데이터는 기술 컴퓨터 보조 디자인(TCAD) 시스템 시뮬레이션에 의해 생성되는, 방법.
KR1020210132476A 2020-10-13 2021-10-06 인공 신경망을 이용한 트랜지스터 컴팩트 모델링 시스템, 방법 및 컴퓨터 프로그램 제품 KR20220048941A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063091067P 2020-10-13 2020-10-13
US63/091,067 2020-10-13
US17/465,361 2021-09-02
US17/465,361 US20220114317A1 (en) 2020-10-13 2021-09-02 Systems, methods, and computer program products for transistor compact modeling using artificial neural networks

Publications (1)

Publication Number Publication Date
KR20220048941A true KR20220048941A (ko) 2022-04-20

Family

ID=81079242

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210132476A KR20220048941A (ko) 2020-10-13 2021-10-06 인공 신경망을 이용한 트랜지스터 컴팩트 모델링 시스템, 방법 및 컴퓨터 프로그램 제품

Country Status (2)

Country Link
US (1) US20220114317A1 (ko)
KR (1) KR20220048941A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102512102B1 (ko) * 2022-05-24 2023-03-21 주식회사 알세미 반도체 소자의 동작 영역 별로 특화된 다수의 인공 신경망을 이용한 컴팩트 모델링 방법 및 시스템

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240013343A (ko) * 2022-07-22 2024-01-30 삼성전자주식회사 반도체 설계 과정에서 시뮬레이션을 위한 신경망 모델링 방법, 이를 이용한 시뮬레이션 방법 및 이를 수행하는 반도체 설계 시스템
CN116151174A (zh) * 2023-04-14 2023-05-23 四川省华盾防务科技股份有限公司 一种通用器件模型优化方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567891B1 (en) * 2000-09-29 2009-07-28 Cadence Design Systems, Inc. Hot-carrier device degradation modeling and extraction methodologies
US20140244193A1 (en) * 2013-02-24 2014-08-28 Fairchild Semiconductor Corporation Battery state of charge tracking, equivalent circuit selection and benchmarking
CN104467441B (zh) * 2014-12-24 2017-04-05 全天自动化能源科技(东莞)有限公司 一种光伏逆变器用辅助电源电路
CN105488589A (zh) * 2015-11-27 2016-04-13 江苏省电力公司电力科学研究院 一种基于遗传模拟退火算法的电网线损管理评价方法
CN106096106B (zh) * 2016-06-03 2019-04-23 江苏科技大学 静电除尘用高频高压变压器优化设计方法
JP6774884B2 (ja) * 2017-01-27 2020-10-28 富士通株式会社 電源装置及び電源装置の制御方法
US11635462B2 (en) * 2020-08-27 2023-04-25 Siemens Industry Software Inc. Library cell modeling for transistor-level test pattern generation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102512102B1 (ko) * 2022-05-24 2023-03-21 주식회사 알세미 반도체 소자의 동작 영역 별로 특화된 다수의 인공 신경망을 이용한 컴팩트 모델링 방법 및 시스템

Also Published As

Publication number Publication date
US20220114317A1 (en) 2022-04-14

Similar Documents

Publication Publication Date Title
US11537841B2 (en) System and method for compact neural network modeling of transistors
KR20220048941A (ko) 인공 신경망을 이용한 트랜지스터 컴팩트 모델링 시스템, 방법 및 컴퓨터 프로그램 제품
US10621494B2 (en) System and method for circuit simulation based on recurrent neural networks
US7730433B2 (en) Analog design retargeting
WO2019241937A1 (en) Semiconductor device modeling using input pre-processing and transformed targets for training a deep neural network
US11120193B2 (en) Analysis of coupled noise for integrated circuit design
US20090119085A1 (en) Method and system for modeling dynamic behavior of a transistor
WO2008109337A2 (en) Noise model method of predicting mismatch effects on transient circuit behaviors
US8050895B2 (en) Variation simulation system
US8594989B2 (en) Compensating for variations in device characteristics in integrated circuit simulation
US8813009B1 (en) Computing device mismatch variation contributions
US8010930B2 (en) Extracting consistent compact model parameters for related devices
US20220121800A1 (en) Methods of generating circuit models and manufacturing integrated circuits using the same
US20080177517A1 (en) Techniques for calculating circuit block delay and transition times including transistor gate capacitance loading effects
US20130305201A1 (en) Integrated circuit simulation using fundamental and derivative circuit runs
US7885798B2 (en) Closed-loop modeling of gate leakage for fast simulators
US10169509B2 (en) Efficient deployment of table lookup (TLU) in an enterprise-level scalable circuit simulation architecture
US8650008B2 (en) Method and system of developing corner models for various classes on nonlinear systems
Gupta et al. STEAM: Spline-based tables for efficient and accurate device modelling
US20110257943A1 (en) Node-based transient acceleration method for simulating circuits with latency
WO2020053277A1 (en) Computer-implemented method and electronic device for detecting influential components in a netlist representing an electrical circuit
Smith Data Driven Surrogate Models for Faster SPICE Simulation of Power Supply Circuits
Alia et al. A Differential Evolution based Methodology for Parameter Extraction of Behavioral Models of Electronic Components
US9684758B2 (en) Generating asserted sensitivities for statistical timing
US20050251376A1 (en) Simulating operation of an electronic circuit