KR20200119192A - 트랜지스터의 축약 뉴럴 네트워크 모델링 시스템 및 그 방법 - Google Patents

트랜지스터의 축약 뉴럴 네트워크 모델링 시스템 및 그 방법 Download PDF

Info

Publication number
KR20200119192A
KR20200119192A KR1020200028975A KR20200028975A KR20200119192A KR 20200119192 A KR20200119192 A KR 20200119192A KR 1020200028975 A KR1020200028975 A KR 1020200028975A KR 20200028975 A KR20200028975 A KR 20200028975A KR 20200119192 A KR20200119192 A KR 20200119192A
Authority
KR
South Korea
Prior art keywords
neural network
transistor
output
state value
processor
Prior art date
Application number
KR1020200028975A
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 KR20200119192A publication Critical patent/KR20200119192A/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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/045Combinations of networks
    • 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
    • G06N3/0454
    • 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
    • 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
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

트랜지스터 모델링 방법 및 그 시스템이 제공된다. 몇몇 실시예에 따른 트랜지스터 모델링 방법은 컴퓨팅 시스템을 통해, 뉴럴 네트워크 구조를 구성하는 복수의 하이퍼 파라미터들을 초기화하고, 상기 컴퓨팅 시스템을 통해, 상기 복수의 하이퍼 파라미터들과 관련된 상기 뉴럴 네트워크 및 트랜지스터 입력 상태값을 트랜지스터 출력 상태값과 연관시키는 복수의 훈련 데이터들을 훈련하여, 복수의 뉴럴 네트워크 파라미터들을 계산하고, 상기 컴퓨팅 시스템을 통해, 상기 훈련 데이터의 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치하는지 판단하고, 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치하지 않는다고 판단된 경우, 상기 컴퓨팅 시스템을 통해 상기 복수의 하이퍼 파라미터들을 업데이트하고, 상기 컴퓨팅 시스템을 통해 상기 업데이트된 상기 복수의 하이퍼 파라미터들을 기초로 상기 뉴럴 네트워크를 재훈련시키고, 상기 훈련 데이터의 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치한다고 판단된 경우, 상기 컴퓨팅 시스템을 통해, 상기 뉴럴 네트워크를 회로 시뮬레이션 코드로 포팅(porting)하여 포팅된 뉴럴 네트워크를 생성하고, 상기 포팅된 뉴럴 네트워크를 이용하여 테스트 회로를 시뮬레이션함으로써 상기 테스트 회로의 트랜지스터의 동작을 시뮬레이션하여, 시뮬레이션 출력을 생성하고, 상기 컴퓨팅 시스템을 통해, 상기 시뮬레이션 출력의 생성 소요 시간(turnaround time)이 적합한지 판단하고, 상기 시뮬레이션 출력의 생성 소요 시간이 부적합하다고 판단된 경우, 상기 컴퓨팅 시스템을 통해 상기 복수의 하이퍼 파라미터들을 업데이트하고, 상기 컴퓨팅 시스템을 통해 상기 업데이트된 상기 복수의 하이퍼 파라미터들을 기초로 상기 뉴럴 네트워크를 재훈련시키고, 상기 시뮬레이션 출력의 생성 소요 시간이 적합하다고 판단된 경우, 상기 포팅된 뉴럴 네트워크를 상기 트랜지스터의 모델로서 출력하는 것을 포함한다.

Description

트랜지스터의 축약 뉴럴 네트워크 모델링 시스템 및 그 방법{SYSTEM AND METHOD FOR COMPACT NEURAL NETWORK MODELING OF TRANSISTORS}
본 발명에 따른 몇몇 실시예 중 하나는 반도체 장치들을 디자인하는 시스템, 방법, 및 컴퓨터 프로그램을 포함하여, 회로의 트랜지스터들을 모델링하는 것을 포함하는 반도체 장치에 관한 것이다.
전자 회로들의 동작을 시뮬레이션하는 것은 일반적으로, 예를 들어, 트랜지스터의 다양한 단자들에 따른 전류-전압(I-V) 특성과 같은 회로의 요소들 또는 구성들의 동작의 모델들을 이용하는 것을 포함한다. 회로 시뮬레이션은 개별 회로 구성 요소들의 모델들이 회로 시뮬레이터의 내부 루프들 내에서 빈번하게 호출되는 상황과 같이, 회로가 시뮬레이션되는 시간의 1초의 부분들에 대한 실제 시간이 소요되는 것과 같이 계산 집약적인 작업일 수 있다. 따라서, 회로 구성 요소들의 모델들에 대한 실행 스피드는 회로 시뮬레이션을 구동하는 소요 시간 상에 중대한 영향을 미칠 수 있는 요소일 수 있다.
본 발명이 해결하고자 하는 기술적 과제는 집약적이고, 전자 회로의 시뮬레이션에 통합되기 적합한 트랜지스터들의 모델에 기반한 뉴럴 네트워크를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 프로세스 변화들에 의한 성능의 차이를 가지는 트랜지스터들의 모델을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 트랜지스터 모델링 방법은, 컴퓨팅 시스템을 통해, 뉴럴 네트워크 구조를 구성하는 복수의 하이퍼 파라미터들을 초기화하고, 상기 컴퓨팅 시스템을 통해, 상기 복수의 하이퍼 파라미터들과 관련된 상기 뉴럴 네트워크 및 트랜지스터 입력 상태값을 트랜지스터 출력 상태값과 연관시키는 복수의 훈련 데이터들을 훈련하여, 복수의 뉴럴 네트워크 파라미터들을 계산하고, 상기 컴퓨팅 시스템을 통해, 상기 훈련 데이터의 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치하는지 판단하고, 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치하지 않는다고 판단된 경우, 상기 컴퓨팅 시스템을 통해 상기 복수의 하이퍼 파라미터들을 업데이트하고, 상기 컴퓨팅 시스템을 통해 상기 업데이트된 상기 복수의 하이퍼 파라미터들을 기초로 상기 뉴럴 네트워크를 재훈련시키고, 상기 훈련 데이터의 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치한다고 판단된 경우, 상기 컴퓨팅 시스템을 통해, 상기 뉴럴 네트워크를 회로 시뮬레이션 코드로 포팅(porting)하여 포팅된 뉴럴 네트워크를 생성하고, 상기 포팅된 뉴럴 네트워크를 이용하여 테스트 회로를 시뮬레이션함으로써 상기 테스트 회로의 트랜지스터의 동작을 시뮬레이션하여, 시뮬레이션 출력을 생성하고, 상기 컴퓨팅 시스템을 통해, 상기 시뮬레이션 출력의 생성 소요 시간(turnaround time)이 적합한지 판단하고, 상기 시뮬레이션 출력의 생성 소요 시간이 부적합하다고 판단된 경우, 상기 컴퓨팅 시스템을 통해 상기 복수의 하이퍼 파라미터들을 업데이트하고, 상기 컴퓨팅 시스템을 통해 상기 업데이트된 상기 복수의 하이퍼 파라미터들을 기초로 상기 뉴럴 네트워크를 재훈련시키고, 상기 시뮬레이션 출력의 생성 소요 시간이 적합하다고 판단된 경우, 상기 포팅된 뉴럴 네트워크를 상기 트랜지스터의 모델로서 출력하는 것을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 방법은, 상기 트랜지스터를 포함하는 회로를 시뮬레이션하는 것을 포함하되, 상기 트랜지스터를 포함하는 회로를 시뮬레이션하는 것은, 상기 포팅된 뉴럴 네트워크를 이용한 상기 트랜지스터의 출력을 시뮬레이션하는 것을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 방법은, 상기 뉴럴 네트워크는, 상기 트랜지스터 입력 상태값을 수신하는 입력 레이어, 상기 입력 레이어로부터 복수의 활성화(activation)들을 수신하는 제1 히든 레이어(hidden layer)와 최종 히든 레이어를 포함하는 복수의 히든 레이어들, 상기 최종 히든 레이어로부터 수신 받은 복수의 활성화들로부터 출력 특성들(features)을 계산하는 출력 레이어, 및 상기 출력 특성들을 상기 뉴럴 네트워크의 출력으로 변환하는 복수의 변환 함수 유닛들을 포함하되, 상기 뉴럴 네트워크 파라미터들은, 가중치들 및 아핀 변환(affine transformation)과 연관된 상기 뉴럴 네트워크의 인접한 레이어들 사이를 매핑(mapping)하는 바이어스들을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 방법은, 상기 복수의 하이퍼 파라미터들은, 복수의 히든 레이어들을 포함하며, 상기 복수의 히든 레이어들 각각은 복수의 뉴런들과 활성화(activation) 기능을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 방법은, 상기 컴퓨팅 시스템을 통해, 상기 훈련 데이터의 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치하는지 판단하는 것은, 상기 뉴럴 네트워크의 출력이 상기 트랜지스터 출력 상태값의 상응하는 값의 제1 임계값 이하인지를 판단하고, 상기 뉴럴 네트워크의 출력의 제1 도함수가 상기 트랜지스터 출력 상태값의 제1 도함수의 상응하는 값의 제2 임계값 이하인지를 판단하는 것을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 방법은, 상기 뉴럴 네트워크의 출력이 상기 트랜지스터 출력 상태값의 상응하는 값의 제1 임계값 이하가 아니라고 판단되는 경우, 상기 복수의 하이퍼 파라미터들이 상기 복수의 히든 레이어들을 증가시키기 위해 업데이트되거나, 상기 복수의 뉴런들을 증가시키기 위해 업데이트되는 것을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 방법은, 상기 뉴럴 네트워크의 출력의 제1 도함수가 상기 트랜지스터 출력 상태값의 제1 도함수의 상응하는 값의 제2 임계값 이하가 아니라고 판단되는 경우, 상기 복수의 하이퍼 파라미터들이 상기 복수의 히든 레이어들을 감소시키기 위해 업데이트되거나, 상기 복수의 뉴런들을 감소시키기 위해 업데이트되는 것을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 방법은, 상기 시뮬레이션 출력의 생성 소요 시간이 적합하지 않다고 판단되는 경우, 상기 하이퍼 파라미터들이 상기 복수의 히든 레이어들을 감소시키기 위해 업데이트 되거나, 상기 복수의 뉴런들을 감소시키기 위해 업데이트되는 것을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 방법은, 복수의 전자 타겟들과 연관된 상기 뉴럴 네트워크를 재 타겟팅하는 것을 더 포함하되, 상기 복수의 전자 타겟들과 연관된 상기 뉴럴 네트워크를 재 타겟팅하는 것은, 가중치들과 상기 최종 히든 레이어로부터 상기 출력 레이어로 매핑하는 출력 바이어스들을 업데이트하여, 상기 뉴럴 네트워크의 출력을 상기 복수의 전자 타겟에 피팅(fit)시키는 것을 포함하되, 상기 최종 히든 레이어는 상기 복수의 전자 타겟의 숫자보다 더 적은 뉴런들을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 방법은, 상기 트랜지스터의 모델은 프로세스 변화들을 캡쳐하는 것을 포함하며, 상기 훈련 데이터는 복수의 프로세스 변화 요소들과 연관된 복수의 프로세스 변화 코너(corner)들과 연관된 상기 트랜지스터 출력 상태값에 상기 트랜지스터 입력 상태값을 연관시키는 데이터를 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 방법은, 상기 트랜지스터의 모델은, 복수의 프로세스 변화 뉴럴 네트워크들을 훈련하는 것을 포함하되, 상기 복수의 프로세스 변화 뉴럴 네트워크들 각각은 상기 프로세스 변화 코너들과 연관된 훈련 데이터를 기초로 훈련되며, 상기 포팅된 뉴럴 네트워크는 상기 복수의 프로세스 변화 뉴럴 네트워크들을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 방법은, 상기 트랜지스터 입력 상태값은 상기 복수의 프로세스 변화 요소들을 포함하되, 상기 뉴럴 네트워크를 훈련시키는 것은 상기 복수의 프로세스 변화 코너들과 연관된 상기 트랜지스터 출력 상태값에, 상기 트랜지스터 입력 상태값을 연관시키는 상기 훈련 데이터를 기초로 훈련되는 것을 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 트랜지스터 모델링 시스템은, 프로세서; 및 상기 프로세서가 실행될 때, 상기 프로세서가 수행되는 명령들을 저장하는 메모리를 포함하되, 상기 명령들은, 뉴럴 네트워크 구조를 구성하는 복수의 하이퍼 파라미터들을 초기화하고, 상기 복수의 하이퍼 파라미터들과 관련된 상기 뉴럴 네트워크 및 트랜지스터 입력 상태값을 트랜지스터 출력 상태값과 연관시키는 복수의 훈련 데이터들을 훈련하여, 복수의 뉴럴 네트워크 파라미터들을 계산하고, 상기 훈련 데이터의 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치하는지 판단하고, 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치하지 않는다고 판단된 경우, 상기 복수의 하이퍼 파라미터들을 업데이트하고, 상기 업데이트된 상기 복수의 하이퍼 파라미터들을 기초로 상기 뉴럴 네트워크를 재훈련시키고, 상기 훈련 데이터의 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치한다고 판단된 경우, 상기 뉴럴 네트워크를 회로 시뮬레이션 코드로 포팅(porting)하여 포팅된 뉴럴 네트워크를 생성하고, 상기 포팅된 뉴럴 네트워크를 이용하여 테스트 회로를 시뮬레이션함으로써 상기 테스트 회로의 트랜지스터의 동작을 시뮬레이션하여, 시뮬레이션 출력을 생성하고, 상기 시뮬레이션 출력의 생성 소요 시간(turnaround time)이 적합한지 판단하고, 상기 시뮬레이션 출력의 생성 소요 시간이 부적합하다고 판단된 경우, 상기 복수의 하이퍼 파라미터들을 업데이트하고, 상기 업데이트된 상기 복수의 하이퍼 파라미터들을 기초로 상기 뉴럴 네트워크를 재훈련시키고, 상기 시뮬레이션 출력의 생성 소요 시간이 적합하다고 판단된 경우, 상기 포팅된 뉴럴 네트워크를 상기 트랜지스터의 모델로서 출력하는 것을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 시스템은, 상기 메모리에 저장된 명령들은, 상기 프로세서가 실행될 때, 상기 프로세서가 상기 포팅된 뉴럴 네트워크를 이용한 상기 트랜지스터의 출력을 시뮬레이션함으로써 상기 트랜지스터를 포함하는 회로를 시뮬레이션하는 것을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 시스템은, 상기 뉴럴 네트워크는, 상기 트랜지스터 입력 상태값을 수신하는 입력 레이어, 상기 입력 레이어로부터 복수의 활성화(activation)들을 수신하는 제1 히든 레이어(hidden layer)와 최종 히든 레이어를 포함하는 복수의 히든 레이어들, 상기 최종 히든 레이어로부터 수신 받은 복수의 활성화들로부터 출력 특성들(features)을 계산하는 출력 레이어, 및 상기 출력 특성들을 상기 뉴럴 네트워크의 출력으로 변환하는 복수의 변환 함수 유닛들을 포함하되, 상기 뉴럴 네트워크 파라미터들은, 가중치들 및 아핀 변환(affine transformation)과 연관된 상기 뉴럴 네트워크의 인접한 레이어들 사이를 매핑(mapping)하는 바이어스들을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 시스템은, 상기 복수의 하이퍼 파라미터들은, 복수의 히든 레이어들을 포함하며, 상기 복수의 히든 레이어들 각각은 복수의 뉴런들과 활성화(activation) 기능을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 시스템은, 상기 명령들 중, 상기 훈련 데이터의 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치하는지 판단하는 명령은, 상기 뉴럴 네트워크의 출력이 상기 트랜지스터 출력 상태값의 상응하는 값의 제1 임계값 이하인지를 판단하고, 상기 뉴럴 네트워크의 출력의 제1 도함수가 상기 트랜지스터 출력 상태값의 제1 도함수의 상응하는 값의 제2 임계값 이하인지를 판단하는 것을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 시스템은, 상기 메모리에 저장된 명령들은, 상기 프로세서가 실행될 때, 상기 프로세서가 상기 뉴럴 네트워크의 출력이 상기 트랜지스터 출력 상태값의 상응하는 값의 제1 임계값 이하가 아니라고 판단되는 경우, 상기 복수의 하이퍼 파라미터들이 상기 복수의 히든 레이어들을 증가시키기 위해 업데이트되거나, 상기 복수의 뉴런들을 증가시키기 위해 업데이트되는 것을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 시스템은, 상기 메모리에 저장된 명령들은, 상기 프로세서가 실행될 때, 상기 프로세서가 상기 뉴럴 네트워크의 출력의 제1 도함수가 상기 트랜지스터 출력 상태값의 제1 도함수의 상응하는 값의 제2 임계값 이하가 아니라고 판단되는 경우, 상기 복수의 하이퍼 파라미터들이 상기 복수의 히든 레이어들을 감소시키기 위해 업데이트되거나, 상기 복수의 뉴런들을 감소시키기 위해 업데이트되는 것을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 시스템은, 상기 메모리에 저장된 명령들은, 상기 프로세서가 실행될 때, 상기 프로세서가 상기 시뮬레이션 출력의 생성 소요 시간이 적합하지 않다고 판단되는 경우, 상기 하이퍼 파라미터들이 상기 복수의 히든 레이어들을 감소시키기 위해 업데이트 되거나, 상기 복수의 뉴런들을 감소시키기 위해 업데이트되는 것을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 시스템은, 상기 메모리에 저장된 명령들은, 상기 프로세서가 실행될 때, 상기 프로세서가 복수의 전자 타겟들과 연관된 상기 뉴럴 네트워크를 재 타겟팅하는 것을 더 포함하되, 상기 복수의 전자 타겟들과 연관된 상기 뉴럴 네트워크를 재 타겟팅하는 것은, 가중치들과 상기 최종 히든 레이어로부터 상기 출력 레이어로 매핑하는 출력 바이어스들을 업데이트하여, 상기 뉴럴 네트워크의 출력을 상기 복수의 전자 타겟에 피팅(fit)시키는 것을 포함하되, 상기 최종 히든 레이어는 상기 복수의 전자 타겟의 숫자보다 더 적은 뉴런들을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 시스템은, 상기 트랜지스터의 모델은 프로세스 변화들을 캡쳐하는 것을 포함하며, 상기 훈련 데이터는 복수의 프로세스 변화 요소들과 연관된 복수의 프로세스 변화 코너(corner)들과 연관된 상기 트랜지스터 출력 상태값에 상기 트랜지스터 입력 상태값을 연관시키는 데이터를 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 시스템은, 상기 메모리에 저장된 명령들은, 상기 프로세서가 실행될 때, 상기 프로세서가 복수의 프로세스 변화 뉴럴 네트워크들을 훈련하는 것을 포함하되, 상기 복수의 프로세스 변화 뉴럴 네트워크들 각각은 상기 프로세스 변화 코너들과 연관된 훈련 데이터를 기초로 훈련되며, 상기 포팅된 뉴럴 네트워크는 상기 복수의 프로세스 변화 뉴럴 네트워크들을 포함한다.
몇몇 실시예에 따른 트랜지스터 모델링 시스템은, 상기 트랜지스터 입력 상태값은 상기 복수의 프로세스 변화 요소들을 포함하되, 상기 메모리에 저장된 명령들은, 상기 프로세서가 실행될 때, 상기 프로세서가 상기 뉴럴 네트워크를 훈련시키는 것은 상기 복수의 프로세스 변화 코너들과 연관된 상기 트랜지스터 출력 상태값에, 상기 트랜지스터 입력 상태값을 연관시키는 상기 훈련 데이터를 기초로 훈련되는 것을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 몇몇 실시예에 따른 트랜지스터의 성능을 모델링하는 뉴럴 네트워크를 예시적으로 도시한 블록도이다.
도 2는 몇몇 실시예에 따른 모델 정확성 및 시뮬레이션 소요 시간 만족을 달성하기 위한 뉴럴 네트워크에 대한 하이퍼 파라미터들을 자동적으로 선택하는 것을 포함하는, 트랜지스터를 모델링하는 뉴럴 네트워크를 훈련을 예시적으로 도시한 흐름도이다.
도 3a는 몇몇 실시예에 따른 훈련된 뉴럴 네트워크에 의해 계산된 복수의 서로 다른 드레인 전압 바이어스 및 그에 따른 그래프들에서의 타겟 데이터(예를 들어, 기술 컴퓨터 보조 디자인 툴의 출력 또는 실험적으로 측정된 출력)으로부터 드레인 전류-게이트 전압(I-V) 데이터를 도시하는 예시적인 그래프이다.
도 3b는 몇몇 실시예에 따른 훈련된 뉴럴 네트워크에 의해 계산된 복수의 서로 다른 게이트 전압 바이어스(인접 곡선들 사이의 스텝 크기가 0.2V인 최대 2V에서 0.8V까지의 서로 다른 게이트 전압 바이어스) 및 그에 따른 그래프들에서의 타겟 데이터로부터 드레인 전류-드레인 전압(I-V) 데이터를 도시하는 예시적인 그래프이다.
도 4a는 도 3a 및 도 3b의 훈련된 뉴럴 네트워크에 의해 계산된 게이트 바이어스 전압 및 그에 따른 그래프들에 대한 타겟 트랜지스터의 트랜스컨덕턴스(transconductance)를 도시한 예시적인 그래프이다.
도 4b는 도 3a 및 도 3b의 훈련된 뉴럴 네트워크에 의해 계산된 드레인 바이어스 전압 및 그에 따른 그래프들에 따른 타겟 트랜지스터의 출력 컨덕턴스를 도시한 예시적인 그래프이다.
도 5a 내지 도 5d는 룩업 테이블(LUT; Look Up Table) 모델 및 몇몇 실시예에 따른 서로 다른 드레인 전압들(VDD)에 대한 다양한 출력 파라미터들 각각에 대한 다섯개의 뉴럴 네트워크 모델에 의해 예측된 값들을 도시한 예시적인 그래프들이다.
도 6은 룩업 테이블 모델 및 몇몇 실시예에 따른 뉴럴 네트워크 모델들 각각을 이용하여 129 단계 링 오실레이터(RO; Ring oscillator)의 HSPICE 시뮬레이션을 구동하여 측정된 소요 시간을 도시하는 예시적인 그래프들이다.
도 7a는 전자 타겟들 및 몇몇 실시예에 따른 재 타겟팅 이후와 이전의 뉴럴 네트워크 모델의 출력에 따른 데이터 점들을 로그 스케일로 도시한 예시적인 그래프이다.
도 7b는 전자 타겟들 및 몇몇 실시예에 따른 재 타겟팅 이후와 이전의 뉴럴 네트워크 모델의 출력에 따른 데이터 점들을 선형 스케일로 도시한 예시적인 그래프이다.
도 8은 몇몇 실시예에 따른 프로세스 변화들을 설명하기 위해 생성된 시뮬레이션 데이터 세트들을 도시하는 예시적인 도면이다.
도 9는 트랜지스터의 성능을 모델링하고 더 나아가 프로세스 변화들을 입력 레이어에 대한 입력으로서 수신하여 정렬되는 몇몇 실시예에 따른 뉴럴 네트워크를 도시하는 예시적인 블록도이다.
도 10은 TCAD 시뮬레이션 및 몇몇 실시예에 따른 프로세스 변화들을 모델링하는 두 개의 기술들을 바탕으로 훈련된 뉴럴 네트워크들에 의해 예측된 40nm 게이트 길이를 갖는 트랜지스터에 대한 턴 온 전류(Ion)를 uA/um 단위로 도시한 예시적인 그래프이다.
이하의 상세한 설명에서, 본 발명의 몇몇 실시예들이 예시적으로 도시되고 설명된다. 통상의 기술자가 인식할 수 있는 바와 같이, 본 발명의 몇몇 실시예들은 다양하고 많은 형태로 구현될 수 있으며, 본 명세서에 설명된 실시예로 본 발명의 몇몇 실시예들이 제한되는 것으로 해석되지 않는다.
전술한 바와 같이, 회로 시뮬레이션은 전형적으로 수 시간 또는 수 일의 시뮬레이션 시간을 수반하는 계산 집약적인 작업이며, 본 발명의 몇몇 실시예들의 개별 회로 요소의 모델의 실행 속도는 회로를 구동하는 소요 시간(TAT; TurnAround Time)에 상당한 영향을 미칠 수 있다. 감소된 소요 시간은 주어진 설계의 성능을 시뮬레이션 하는 피드백 루프를 단축할 수 있기 때문에, 회로 시뮬레이션이 빠를수록 인간 회로 설계자와 컴퓨터로 구동된 설계 선택에 대한 더 나은 효과를 얻을 수 있다. 따라서, 기술 벤치마킹 및 회로 설계를 위해 빠른 런 타임을 갖는 정확하고 축약된 트랜지스터 모델에 대한 요구가 필요할 수 있다.
회로 구성 요소의 모델링을 위한 비교 기술은 일반적으로 물리적으로 유도된 방정식을 사용할 수 있다. 이러한 물리적으로 유도된 방적식을 기반으로 한 모델(예를 들어, 폐쇄형 방정식)은 일반적으로 축약적이고(예를 들어, 상대적으로 낮은 메모리 요구 사항과 짧은 실행 시간을 가질 수 있다.), 시뮬레이션에서 우수한 런 타임 성능을 가질 수 있다. 그러나, 물리적으로 유도된 방정식을 기반으로 한 모델을 개발하려면 고도의 전문 지식(예를 들어, 반도체 물리에 대한 깊은 이해)와 이러한 물리적으로 유도된 방정식을 기반으로 한 모델의 개발 측면에서 긴 소요시간이 필요하며, 이는 새로운 장치들에 대한 물리적으로 유도된 방정식을 기반으로한 모델의 사용을 제한할 수 있다(예를 들어, 새로운 트랜지스터 설계 등). 게다가, 모델 파라미터 추출 프로세스에서 인간에 의해 수행되어야하는 지식을 사용하면 프로세스를 완전히 자동화하기 어려울 수 있다.
일부 비교 기술은 상술한 물리적으로 유도된 방정식을 기반으로한 방정식 대신 룩 업 테이블(LUT; Look Up Table)을 이용할 수 있다. 그러나, 룩업 테이블 기술은 일반적으로 대규모 회로에 대한 높은 시뮬레이션 소요 시간 및 수렴 문제를 야기할 수 있다. 예를 들어, 룩 업 테이블이 레지스터는 물론 컴퓨터 프로세서의 캐시 메모리에 대응시키기에는 그 사이즈가 너무 크기 때문에, 각 회로 요소의 메인 메모리에서 룩업 테이블을 로드함으로써, 높은 시뮬레이션 소요 시간이 소요될 수 있다. 즉, 시뮬레이션의 각 단계에서 상당한 지연이 발생될 수 있다.
본 발명의 몇몇 실시예들에 따른 트랜지스터 모델링 시스템 및 방법은 인공 뉴럴 네트워크(ANN; Artificial Neural Network) 기판 축약 모델링 시스템 및 방법에 관한 것일 수 있다. 몇몇 실시예들에 따른 트랜지스터 모델링 시스템 및 방법은 소형 뉴럴 네트워크 모델의 자동 개발 방법, 개발된 모델을 리 타겟팅하는 방법, 및 모델에서의 프로세스 변화를 캡쳐하는 방법에 관한 것일 수 있다.
본 발명의 몇몇 실시예들에 따른 트랜지스터 모델링 시스템 및 방법은 재 타겟팅을 수행할 수 있는 능력으로, 비교 기술보다 더 빠른 모델 개발 및 보다 효율적인 모델 파라미터 추출(물리적으로 유도된 방정식을 기반으로 한 모델 방법과 비교하여) 및 더 나은 수렴 및 더 짧은 처리 시간을 가능하게 할 수 있다(룩 업 테이블 기반 방법과 비교하여).
[모델 개발(Model development)]
본 발명의 몇몇 실시예들에 따른 트랜지스터 모델링 시스템 및 방법은 높은 정확성, 견고성 및 빠른 시뮬레이션 소요 시간을 갖는 뉴럴 네트워크 기반 축약 모델을 생성하는 자동화 방법에 관한 것이다. 몇몇 실시예에 따른 트랜지스터 모델링 방법은 초기 데이터 준비 및 뉴럴 네트워크 설정, 뉴럴 네트워크 훈련, 모델 품질 검사, 모델 포팅(porting)(예를 들어, Verilog-A 하드웨어 기술 언어(HDL)와 같은 회로 시뮬레이션을 구현하기 위한 언어 또는 Cadence® Spectre® 회로 시뮬레이터를 함께 사용하는 CMI(Common Model Interface와 같은 회로 시뮬레이션을 구현하기 위한 언어), SPICE(Simulation Program with Integrated Circuit Emphasis) 시뮬레이션 검증 및 소요 시간 검증을 포함할 수 있다.
도 1은 몇몇 실시예에 따른 트랜지스터의 성능을 모델링하는 뉴럴 네트워크를 예시적으로 도시한 블록도이다.
도 1을 참조하면, 뉴럴 네트워크(100)는 하나 이상의 입력 파라미터들(112)를 수신하는 입력 레이어(110), 하나 이상의 히든 레이어들(130), 출력 레이어(150), 및 출력 레이어(150)의 출력 특성들(152)로부터 출력들(190)을 계산하는 하나 이상의 변환 함수 유닛들(170)을 포함한다. 뉴럴 네트워크(100)는 트랜지스터의 상태(예를 들어, 트랜지스터의 단자들에 인가되는 전압 바이어스들)에 따른 입력 파라미터들을 입력받고, 트랜지스터의 현재 상태(예를 들어, 출력 전류 및 전하) 성능을 대변하는 출력들을 생성할 수 있다.
몇몇 실시예들에 따른 입력 파라미터들(112)는 두 종류일 수 있다. 첫번째 종류는 전압 바이어스들(예를 들어, 게이트 소스 전압(VGS), 드레인 소스 전압(VDS), 및 바디 소스 전압(VBS)을 포함하는 4 개의 FET(Field Effect Transistor) 단자들에 대한 바이어스들)일 수 있고, 두번째 종류는 장치 상태 파라미터들(전형적인 FET를 예를 들어, 게이트 길이(Lg), FET 너비(W; width) 및 온도(T)와 관련된 파라미터들, 혹은 FinFET의 경우 핀들의 개수 등)일 수 있다.
도 1에 도시된 몇몇 실시예에 따른 뉴럴 네트워크는 네트워크에 대한 입력 파라미터들(112)은, 트랜지스터 게이트 소스 전압(VGS), 드레인 소스 전압(VDS), 게이트 길이(Lg), 게이트 너비(W), 및 온도(T)를 포함하는 입력 상태값 및 드레인 전류(ID), 게이트 전하(QG), 및 드레인 전하(QD)를 포함하는 트랜지스터 출력 상태값을 포함할 수 있다. 더욱이, 도 1에 도시된 몇몇 실시예에 따른 네트워크(100)의 히든 레이어들(130)은 제1 히든 레이어(132)와 제2 히든 레이어(134)를 포함한다.
몇몇 실시예에서, 레이어의 x값은 완전히 연결된 방식으로 그 다음 레이어의 값으로 매핑(mapping)되는데, 이때 Wx+b 형식의 아핀 변환(affine transformation)에 기초하여 매핑될 수 있다. 예를 들어, 입력 레이어(110)에 대한 입력 파라미터들()은 제1 가중치(W1) 및 제1 바이어스들(b1)에 의해 제1 히든 레이어(132)로 매핑될 수 있다. 유사하게, 제1 히든 레이어(132)의 출력들은 은 제2 가중치(W2) 및 제2 바이어스들(b2)에 의해 제2 히든 레이어(134)의 입력들로 매핑될 수 있고, 제2 히든 레이어(134)의 출력들은 제3 가중치(W3) 및 제3 바이어스들(b3)에 의해 출력 레이어(150)로 매핑될 수 있다. 몇몇 실시예들에 따른 활성 함수(activation function)은 아핀 함수 Wx+b의 출력과 다음 레이어의 입력 사이에 위치할 수 있다. 몇몇 실시예에 따른 활성 함수는 ReLU(Rectified Linear) 함수, 시그 모이드 함수 등을 포함할 수 있으나, 이에 제한되는 것은 아니다. 계층들 사이에서 사용되는 활성 함수의 특정 선택은 후술하는 바와 같이, 네트워크(100)의 하이퍼 파라미터로 설정될 수 있다.
뉴럴 네트워크는 레이어들 사이에 전파되는 값들이 0에 가깝게 정상적으로 분포되는 경우 쉽게 훈련될 수 있다. 따라서, 모델링된 회로 요소들의 예측된 특정 특징들에 따른 뉴럴 네트워크의 출력 특성들(152)(y1, y2, y3, ?)이 물리적 파라미터들로 모델링된 단위들과 일치하지 않을 수 있다. 게다가, 특정 출력값들의 일부는 특히, 특정 입력 파라미터들(112)을 바탕으로 계산될 수 있다. 따라서, 뉴럴 네트워크(100)의 출력 벡터(152)(y1, y2, y3, ?) 또는 출력 특성들(152)(y1, y2, y3, ?)은 트랜지스터의 성능을 나타내는 물리적으로 의미있는 값들(예를 들어, 드레인 전류(ID), 게이트 전류(IG), 소스 전류(IS), 소스 전하(QS), 게이트 전하(QG), 및 드레인 전하(QD))로, 변환 함수 유닛들(170)을 통해 변환될 수 있다. 예를 들어, 변환 함수 유닛(172)은 드레인 전류(ID)에 대응되는 출력 특성(y1)을 아래의 수학식 1과 같은 드레인 전류를 암페어 단위로 예측된 드레인 전류(ID)로 매핑시킬 수 있다.
Figure pat00001
수학식 1
뉴럴 네트워크(100)의 특정 구조는, 복수의 히든 레이어들(130), 복수의 히든 레이어들(130) 각각 내의 복수의 뉴런들(각각의 히든 레이어는 서로 다른 수의 뉴런들을 가질 수 있다)을 포함하는 복수의 하이퍼 파라미터들과 아핀 계산의 출력과 이어지는 레이어의 입력 사이의 활성 함수의 선택을 통해 구체화 시킬 수 있다. 네트워크에 적합한 하이퍼 파라미터들의 특정 선택은 예를 들어, 모델링된 트랜지스터의 물리적 특성의 복잡성을 바탕으로 변할 수 있다. 그러나, 뉴럴 네트워크에 가장 적합한 결과를 얻을 수 있는 하이퍼 파라미터 세트를 예측하는 것은 힘든 작업일 수 있다.
이와 같이, 몇몇 실시예들에 따른 트랜지스터 모델링 시스템 및 방법은 트랜지스터와 같은 회로 구성을 시뮬레이션하는 뉴럴 네트워크에 대한 하이퍼 파라미터들 세트를 자동으로 선택할 수 있다.
도 2는 몇몇 실시예에 따른 모델 정확성 및 시뮬레이션 소요 시간 만족을 달성하기 위한 뉴럴 네트워크에 대한 하이퍼 파라미터들을 자동적으로 선택하는 것을 포함하는, 트랜지스터를 모델링하는 뉴럴 네트워크를 훈련을 예시적으로 도시한 흐름도이다.
몇몇 실시예에 따른 도 2의 다양한 모델링 방법을 참조하면, 적어도 하나의 프로세서 및 적어도 하나의 상기 프로세서가 실행될 때 상기 프로세서가 수행되는 명령들을 저장하는 메모리를 포함하는 컴퓨팅 시스템에 의해 수행될 수 있다. 몇몇 실시예는 하나의 컴퓨터들 혹은 컴퓨팅 클러스터들과 같은 서로 다른 다양한 컴퓨팅 시스템 내에서 수행될 수 있다. 몇몇 실시예들에 따른 컴퓨팅 시스템은 중앙 처리 장치(CPUs; central processing units), 그래픽 처리 장치(GPUs; graphics processing units), 및 다른 벡터 처리 유닛들과 같은 하나 이상의 프로세서들을 포함할 수 있다. 몇몇 실시예들에 따른 컴퓨팅 시스템은 프로세서의 프로세싱 코어로서 동일한 다이 상에 위치한 다중 레벨 캐시 메모리를 포함하는 다중 유형의 메모리, DRAM(dynamic random access memory), 및 동적 대용량 저장 장치(예를 들어, 솔리드 스테이트 플래시 드라이브들 및 하드 디스크 드라이브들)을 포함할 수 있다.
동작(210)에서 몇몇 실시예들에 따른 컴퓨팅 시스템은 트랜지스터와 연관하여 수신된 전류-전압(I-V) 및 전하-전압(Q-V) 훈련 데이터가 모델링 되도록 준비한다. 상술한 훈련 데이터는 Synopsys® TCAD(Technology Computer Aided Design) 툴과 같은 트랜지스터 시뮬레이션 툴로부터 생성될 수 있다. 또는, 상술한 훈련 데이터는 하나 이상의 제조된 물리 장치들(예를 들어, 초기 프로토 타입 장치로부터의 예비 데이터)로부터 실험적으로 측정될 수도 있다. 훈련 데이터를 준비하는 것은 데이터를 정리하고, Google® TensorFlow® 또는 PyTorch와 같은 뉴럴 네트워크 훈련 플랫폼에 적합한 포맷으로 훈련 데이터를 배열하는 것을 포함할 수 있다. 훈련 데이터를 준비하는 것은 또한, 데이터를 훈련 세트, 검증 세트, 및 테스트 세트로 분리하는 것을 포함할 수 있다. 이에 더해서, 동작(210)은 예를 들어, 디폴트들의 세트들 또는 특정 범위 내의 임의의 값의 세트를 바탕으로 뉴럴 네트워크에 대한 초기 하이퍼 파라미터들이 자동적으로 세팅될 수 있다(유사 장치의 뉴럴 네트워크 모델들로부터의 실험 결과들은 초기 하이퍼 파라미터들을 선택하는데 도움이 될 수 있다,).
동작(220)에서 몇몇 실시예들에 따른 컴퓨팅 시스템은 공급된 훈련 데이터를 바탕으로 트랜지스터의 뉴럴 네트워크 모델을 훈련할 수 있다. 상술된 뉴럴 네트워크 모델은 공급된 하이퍼 파라미터들을 바탕으로 구성된 구조를 가질 수 있다(예를 들어, 복수의 히든 레이어들, 상기 복수의 히든 레이어들 내 복수의 뉴런들 등). 몇몇 실시예들에 따른 컴퓨팅 시스템이 뉴럴 네트워크 모델을 훈련시키는 것은 뉴럴 네트워크 훈련 플랫폼(예를 들어, Google® TensorFlow® 또는 PyTorch)을 통해 자동적으로 수행될 수 있다. 여기서, 역전파(backpropagation)와 같은 기술이 뉴럴 네트워크의 가중치(W)와 바이어스들(b)(예를 들어, 도 1에 도시된 W1, W2, 및 W3와 b1, b2, 및 b3) 계산하는데 사용될 수 있다. 몇몇 실시예에 따른 뉴럴 네트워크 모델은 입력 파라미터들(112)를 출력(190)으로 데이터의 훈련 세트와 일치하는 방식으로 매핑시킬 수 있다.
동작(230)에서, 몇몇 실시예에 따른 컴퓨팅 시스템은 뉴럴 네트워크 모델과 공급된 데이터 사이의 핏(fit)이 정확한지 결정할 수 있다. 상술한 결정과 관련된 평가는 공급된 데이터의 검증 세트의 훈련 세트를 이용함으로써 수행될 수 있다. 상기 뉴럴 네트워크 모델과 훈련/검증 세트들이 사이의 핏이 정확하지 않은 경우(예를 들어, 임계 정확성 레벨보다 낮은 경우), 몇몇 실시예에 따른 컴퓨팅 시스템은 동작 (240)에서 하이퍼 파라미터들을 조정할 수 있다. 특히, 도 2의 No (1) 상황에서, 몇몇 실시예에 따른 컴퓨팅 시스템은 복수의 히든 레이어들을 증가시키고/증가시키거나, 트랜지스터의 기본 물리 역학의 복잡성을 모델링하기에 충분한 공간이 없기 때문에 데이터를 핏팅(fitting)하는데 실패한 이전 훈련된 모델이라는 가정 하에서의 각각의 히든 레이어 내의 복수의 뉴런들을 증가시킬 수 있다. 몇몇 실시예에 따른 컴퓨팅 시스템은 이후, 동작(220)으로 돌아와 업데이트된 하이퍼 파라미터들을 바탕으로 새로운 뉴럴 네트워크를 훈련시킬 수 있다.
만약 피팅이 충분히 정확하다고 판명된 경우(예를 들어, 임계 정확성 레벨보다 높은 경우), 동작(250)에서, 몇몇 실시예에 따른 컴퓨팅 시스템은 데이터의 오버피팅이 존재하는지를 결정하기 위해 모델 도함수 검사를 수행할 수 있다. 예를 들어, 뉴럴 네트워크 모델에 의해 생성된 몇몇 실시예들에 따른 I-V 곡선 및 C-V 곡선의 도함수는 실험 데이터를 통한 곡선에 대한 도함수와 비교될 수 있다. 만약, 몇몇 실시예에 따른 컴퓨팅 시스템이 뉴럴 네트워크 모델에 의해 생성된 몇몇 실시예들에 따른 I-V 곡선 및 C-V 곡선의 도함수가 실험 데이터를 통한 곡선에 대한 도함수와의 일치도가 낮다고 판단되는 경우, 몇몇 실시예들에 따른 컴퓨팅 시스템은 동작(240)에서 하이퍼 파라미터들을 조정할 수 있다. 특히, 도 2의 Fail (2) 상황에서, 몇몇 실시예에 다른 컴퓨팅 시스템은 복수의 히든 레이어들을 감소시키고/감소시키거나, 성능을 향상시키기 위해 뉴럴 네트워크 모델 복잡성이 감소될 필요성이 있는(예를 들어, 정규화) 경우에 대한 데이터를 오버핏하는 이전 훈련된 모델을 가정 하에서의 각각의 히든 레이어 내의 복수의 뉴런들을 감소시킬 수 있다.
몇몇 실시예에서, 동작(230)의 피팅 정확성과 동작(250)의 모델 도함수 체크가 모델 훈련 플랫폼에 통합된 기능을 바탕으로 자동적으로 수행될 수 있다. 몇몇 실시예에서, 피팅 에러는 각 훈련 샘플들에 대한 타겟값에 대한 모델값의 상대적인 에러값들의 제곱근으로 계산될 수 있다. 피팅 기준은 트랜지스터 모델의 적용 사례의 요건들에 의해 결정될 수 있다(예를 들어, 몇몇 실시예에서, 트랜지스터의 I-V 및 Q-V 피팅 모두에 대해 1% 미만의 에러 기준이 적용될 수 있다.).
만약, 동작(250)에서 모델 도함수 체크를 패스(pass)한 경우, 동작(260)을 통해, 몇몇 실시예들에 따른 컴퓨팅 시스템이 훈련된 뉴럴 네트워크 모델을 Verilog-A hardware description language (HDL) 또는 Cadence® Spectre® 시뮬레이터와 함께 사용되는 CMI(Common Model Interface)와 같은 회로 시뮬레이션 코드로 포팅(porting)할 수 있다. 몇몇 실시예에 다른 훈련된 뉴럴 네트워크의 파라미터들(레이어 각각에 대한 가중치들(W), 및 바이어스들(b))이 시뮬레이터의 프로그래밍 언어에 적합한 표현 내의 내부 변수로서의 소스 코드 파일(예를 들어, Verilog-A 파일)로 복사될 수 있다. 저장된 파라미터들(예를 들어, 방정식으로서 같은 파일에 저장되거나 방정식으로부터 다른 파일에 저장된 파라미터들)에 상응하는 뉴럴 네트워크 계산들(예를 들어, 행렬 곱 및 시그 모이드와 같은 활성 함수)를 수행하기 위해, 소스 코드 파일(예를 들어, Verilog-A 파일)에 뉴럴 네트워크를 수행하는 상응하는 방정식 세트들이 기록될 수 있다. 시뮬레이터의 프로그래밍 언어 내에 수행된 결과 모델은 전압 바이어스들과 회로 시뮬레이터로부터의 장치 인스턴스(instance) 파라미터들과 같은 입력들을 획득하고, 뉴럴 네트워크 파라미터들을 바탕으로 내부 계산을 수행하고, 단자 전류와 장치의 전하들을 회로 시뮬레이터로 출력할 수 있다.
뉴럴 네트워크 파라미터들의 수로 지칭될 수 있는 모델의 크기는 룩 업 테이블의 사이즈보다 현저하게 작을 수 있다. 따라서, 포팅된 뉴럴 네트워크 모델은 상응하는 룩 업 테이블 기반의 트랜지스터 모델링 기술보다 더 축약될 수 있다. 더욱이, 몇몇 실시예들에 따른 더욱더 축약된 크기의 뉴럴 네트워크 기반의 시스템 및 방법은 예를 들어, 프로세서의 프로세서 레벨 캐시 내부 및/또는 하나 이상의 프로세서의 벡터 레지스터들에 핏팅되도록 만들 수 있다. 따라서, 몇몇 실시예들에 따른 모델을 바탕으로, 컴퓨터 시스템의 메모리 계층의 다중 레벨을 거치지 않고도, 트랜지스터 출력들의 예측 계산을 더욱 빠르게 만들 수 있다.
동작(270)에서, 몇몇 실시예들에 따른 컴퓨팅 시스템은 회로의 적어도 하나의 요소의 동작을 시뮬레이션하는 포팅된 뉴럴 네트워크 모델을 사용하는 회로의 시뮬레이션(예를 들어, SPICE 시뮬레이션)을 구동할 수 있다. 예를 들어, 같은 종류의 다중 회로 요소들이 있는 경우(예를 들어, 같은 종류의 다중 트랜지스터들), 시뮬레이터는 같은 뉴럴 네트워크 모델을 이용하여 회로 요소들(예를 들어, 트랜지스터들) 각각의 성능을 시뮬레이션 할 수 있다. 또한, 시뮬레이션은 다른 회로 요소들의 성능을 시뮬레이션하는 다른 뉴럴 네트워크 모델들을 포함할 수 있다(예를 들어, 서로 다른 종류의 트랜지스터들). 전자 회로의 시뮬레이션을 구동하는 것은 시뮬레이션된 입력 전압 및/또는 전류 파형을 회로의 한 부분에 인가하는 것을 포함할 수 있고, 회로의 다른 부분에 대한 전압들 및/또는 전류들을 포함하는 시뮬레이션 결과들을 계산하는 것을 포함할 수 있다.
동작(280)에서, 몇몇 실시예에 따른 컴퓨팅 시스템은 결과가 적합한지 판단할 수 있다(예를 들어, 만약 벤치마킹되는 회로의 시뮬레이션 소요 시간이 모델 유저들에 의해 제공된 기준 이하인 경우). 만약, 동작(280)에서 몇몇 실시예에 다른 컴퓨팅 시스템이 판단한 결과가 적합하지 않다고 판단된 경우, 몇몇 실시예에 따른 컴퓨팅 시스템은 하이퍼 파라미터들을 조정하기 위해 동작(240)으로 되돌아갈 수 있다. 특히, 도 2의 No (3) 상황에서, 몇몇 실시예에 다른 컴퓨팅 시스템은 복수의 히든 레이어들을 감소시키고/감소시키거나, 시뮬레이션 소요 시간을 증진시키기 위해 이전 훈련된 뉴럴 네트워크 모델 복잡성이 감소될 필요성이 있는(예를 들어, 정규화) 경우를 가정 하여, 각각의 히든 레이어 내의 복수의 뉴런들을 감소시킬 수 있다. 만약, 동작(280)에서 몇몇 실시예에 다른 컴퓨팅 시스템이 판단한 결과가 적합하다고 판단된 경우, 훈련된 모델은 몇몇 실시예에 다른 추가 프로세싱을 위해 또는 개량을 위해 방출될 수 있다(예를 들어, 출력).
도 3a는 몇몇 실시예에 따른 훈련된 뉴럴 네트워크에 의해 계산된 복수의 서로 다른 드레인 전압 바이어스 및 그에 따른 그래프들에서의 타겟 데이터(예를 들어, 기술 컴퓨터 보조 디자인 툴의 출력 또는 실험적으로 측정된 출력)으로부터 드레인 전류-게이트 전압(I-V) 데이터를 도시하는 예시적인 그래프이다. 도 3b는 몇몇 실시예에 따른 훈련된 뉴럴 네트워크에 의해 계산된 복수의 서로 다른 게이트 전압 바이어스(인접 곡선들 사이의 스텝 크기가 0.2V인 최대 2V에서 0.8V까지의 서로 다른 게이트 전압 바이어스) 및 그에 따른 그래프들에서의 타겟 데이터로부터 드레인 전류-드레인 전압(I-V) 데이터를 도시하는 예시적인 그래프이다. 타겟 데이터는 원을 통해 표시되었으며, 훈련된 뉴럴 네트워크를 통해 계산된 곡선은 상응하는 음영으로 나타내어졌다. 도 3a를 참조하면, 타겟 데이터와 곡선은 모두 로그 스케일로 도시되었다(그래프 상의 상측 및 왼측의 타겟 데이터 및 곡선). 또한, 타겟 데이터와 곡선은 선형 스케일(그래프 상의 하측 및 우측의 타겟 데이터 및 곡선)로도 도시되었다. 반면에, 도 3b는 오직 선형 스케일로만 데이터를 도시하였다.
도 3a와 도 3b에 도시된 뉴럴 네트워크 출력은 두 개의 히든 레이어들, 제1 히든 레이어 내 15개의 뉴런들, 제2 히든 레이어 내 10개의 뉴런들, 및 레이어들 사이의 시그 모이드 활성화 함수를 포함하는 뉴럴 네트워크를 이용하여 생성될 수 있다.
도 4a는 도 3a 및 도 3b의 훈련된 뉴럴 네트워크에 의해 계산된 게이트 바이어스 전압 및 그에 따른 그래프들에 대한 타겟 트랜지스터의 트랜스컨덕턴스(transconductance)를 도시한 예시적인 그래프이다. 도 4b는 도 3a 및 도 3b의 훈련된 뉴럴 네트워크에 의해 계산된 드레인 바이어스 전압 및 그에 따른 그래프들에 따른 타겟 트랜지스터의 출력 컨덕턴스를 도시한 예시적인 그래프이다. 뉴럴 네트워크 모델의 I-V 및 C-V 곡선의 도함수들(각각 트랜스컨덕턴스 Gm 및 출력 컨덕턴스 Gds)은 오버피팅과 같은 모델에서 발생하는 잠재적 이슈들을 검출하는데 유용할 수 있다. 몇몇 실시예들에서 트랜스컨덕턴스 Gm과 출력 컨덕턴스 Gds를 계산하는 것은 타겟 I-V 내에서의 스텝보다 작은 Vg 또는 Vd 스텝을 이용하는 것을 포함할 수 있다. 도 4a 및 도 4b에 도시된 바와 같이, 특정 훈련된 뉴럴 네트워크에 의해 출력된 그래프의 도함수들은 매끄럽고 연속적이며, 타겟 데이터와 우수한 핏을 가지며, 따라서 훈련된 뉴럴 네트워크는 도 2를 통해 상술된 동작(250)에서 수행된 체크를 통과할 수 있다.
몇몇 실시예들에 따른 뉴럴 네트워크 기반 트랜지스터 모델링 접근의 성능을 측정하기 위해, 서로 다른 하이퍼 파라미터들을 통해 서로 다른 별개의 뉴럴 네트워크들이 훈련되며, 서로 다른 별개의 뉴럴 네트워크들이 룩 업 테이블을 이용한 베이스 라인 구현과 비교될 수 있다. 특히, 서로 다른 다섯개의 뉴럴 네트워크 모델들이 생성될 수 있는데, 각각의 뉴럴 네트워크들은 두 개의 히든 레이어들을 가질 수 있는데, 두 개의 히든 레이어들 각각에 포함된 뉴런들의 수는 아래의 테이블 1과 같이 서로 다를 수 있다.
도 5a 내지 도 5d는 룩 업 테이블(LUT; Look Up Table) 모델 및 몇몇 실시예에 따른 서로 다른 드레인 전압들(VDD)에 대한 다양한 출력 파라미터들 각각에 대한 다섯개의 뉴럴 네트워크 모델에 의해 예측된 값들을 도시한 예시적인 그래프들이다. 도 5a는 예측된 스위칭 딜레이가 나노초 단위로 도시되었으며, 도 5b는 예측된 누설 전류가 임의 단위로 도시되었으며, 도 5c는 예측된 유효 저항 Reff이 임의의 단위로 도시되었으며, 도 5d는 유효 커패시턴스 Ceff가 임의의 단위로 도시되었다. 도 5a, 5b, 5c, 및 5d에 도시된 바와 같이, 다섯개의 서로 다른 뉴럴 네트워크 모델을 통해 계산된 값들은 서로 근접한 값을 가지며, 상기 다섯개의 서로 다른 뉴럴 네트워크 모델들을 통해 상당히 정확한 값을 계산할 수 있음을 알 수 있다.
도 6은 룩업 테이블 모델 및 몇몇 실시예에 따른 뉴럴 네트워크 모델들 각각을 이용하여 129 단계 링 오실레이터(RO; Ring oscillator)의 HSPICE 시뮬레이션을 구동하여 측정된 소요 시간을 도시하는 예시적인 그래프들이다. 각 시뮬레이션 수행이 측정될 수 있으며, 각 결과들의 에러는 베이스라인 룩 업 테이블 모델과 비교될 수 있다. 도 6에 도시된 바와 같이, 룩 업 테이블 모델을 이용한 시뮬레이션 수행은 120초 이상의 소요 시간을 갖는 반면, 뉴럴 네트워크 모델들을 사용한 시뮬레이션 수행의 소요 시간은 45초보다 작은 값을 가지는 것을 알 수 있다. 도 6을 통해, 더 작은 네트워크들이 더 작은 소요시간과 관련된 것을 볼 수 있으며 가장 작은 네트워크(5번째의, 두 개의 히든 레이어들 각각에 3개의 뉴런들을 포함하는)의 경우 20초 이하의 소요시간을 갖는 것을 볼 수 있다. 이에 더하여, 테이블 1에 보여지는 바와 같이, 비록 더 작은 뉴럴 네트워크에서 에러 발생 빈도가 더 높아지지만, 에러 레벨은 제1 및 제2 히든 레이어 각각에서 모두 5개의 뉴런을 갖는 뉴럴 네트워크의 케이스까지 상대적으로 낮은 에러 발생 빈도를 가짐을 알 수 있다(도 6의 그래프상 N/N(5/5) err:0.2%).
테이블 1
Figure pat00002
따라서, 트랜지스터 모델 내에서 뉴럴 네트워크의 사용은 회로 시뮬레이션을 구동하는 소요 시간을 줄이는 동시에, 룩 업 테이블 기반 모델들과 같은 기술과 비교하여 상대적으로 높은 정확도를 얻을 수 있다.
[모델 재 타겟팅]
상술한 바와 같이 새로운 모델링 기술을 위해 축약된 모델 라이브러리들을 개선할 때(예를 들어, 새로운 트랜지스터의 설계), 모델을 훈련하기 위해 초기 하드웨어 또는 컴퓨터 보조 설계 소프트웨어로부터 측정된 I-V 및 C-V 데이터에 의해 대량의 데이터가 제공될 수 있다. 그러나, 이러한 훈련 데이터는 회로 요소의 최종 설계의 전기적 타겟(ETs; Electrical Targets)과 일치하지 않을 수 있다. 따라서, 몇몇 실시예들에서, 선택된 모델 파라미터들의 하위 세트가 전기적 타겟과 일치하는 훈련된 모델을 출력하기 위해 조정될 수 있다. 이러한 전기적 타겟과 일치시키도록 이전의 훈련된 모델의 파라미터들을 조정하는 프로세스는 모델 재 타겟팅으로 지칭될 수 있다.
뉴럴 네트워크 기반 모델들의 경우, 전기적 타겟들에 피팅하기 위해 뉴럴 네트워크들을 단순히 재 훈련시키는 것은 제한된 숫자의 전기적 타겟들에 의해 오버 피팅될 수 있다(예를 들어, 작은 크기의 전기적 타겟 데이터 세트). 따라서, 몇몇 실시예들에 따른 전기적 타겟을 기반으로 한 훈련된 뉴럴 네트워크의 재 타겟팅 수행을 위한 기술이 오버 피팅 야기를 막을 수 있다.
몇몇 실시예에 따른 도 2에 도시된 바와 같은 훈련된 뉴럴 네트워크의 하이퍼 파라미터들을 제약하여, 전기적 타겟 숫자보다 더 작은 최종 히든 레이어 내 뉴런 숫자들을 가질 수 있다(예를 들어, 최종 히든 레이어 내 뉴런 숫자들이 전기적 타겟 숫자에서 1을 뺀 수를 넘지 않을 수 있다)(전기적 타겟 숫자보다 더 많은 피팅 파라미터들을 가짐으로 인해, 문제가 정의되지 않을 수도 있다.). 예를 들어, 도 2의 동작(210)에서의 초기 하이퍼 파라미터들을 선택하는 것은 전기적 타겟의 숫자보다 작은 수로 최종 히든 레이어에 대한 뉴런 숫자를 선택할 수 있으며, 동작(240)에서의 하이퍼 파라미터들의 조정을 통해. 최종 히든 레이어 내 뉴런들의 숫자가 전기적 타겟들의 숫자보다 하나 적은 숫자보다 더 많아지지 않도록 만들 수 있다.
몇몇 실시예에 따른 뉴럴 네트워크 모델(100)의 재 타겟팅은 I-V 및 C-V 곡선을 바탕으로 훈련될 수 있으며(예를 들어, TCAD 모델 및/또는 실험적인 측정들), 몇몇 실시예들에 따른 뉴럴 네트워크 모델(100)의 재 타겟팅은 전기적 타겟들과 일치시키는 뉴럴 네트워크의 출력 레이어와 연관된 학습된 파라미터들 가중치(W) 및 바이어스들(b)을 조정함으로써 수행될 수 있다(예를 들어, 히든 레이어로부터 출력 레이어(150)로 제3 가중치(W3) 및 제3 바이어스(b3)가 제2 히든 레이어(134)로부터 도 1의 뉴럴 네트워크(100)의 출력 레이어(150)로 매핑되는 예). 이러한 최종 히든 레이어로부터 출력 레이어로 매핑하는 매핑값 파라미터들은 출력 가중치(Woutput) 및 출력 바이어스(boutput)으로 지칭될 수 도 있다.
몇몇 실시예들에서, 전기적 타겟들은 다중 장치 인스턴스들(예를 들어, 서로 다른 게이트 길이들(L))을 포함할 수 있다. 따라서, 출력 가중치(Woutput) 및 출력 바이어스(boutput) 값들 각각은 각각의 장치 인스턴스의 전기적 타겟에 최적으로 핏팅되는 각각의 장치 인스턴스에 대해 동일한 뉴럴 네트워크를 재 타겟팅하기 위해 계산되는 값일 수 있다. 몇몇 실시예들에 따른 뉴럴 네트워크 모델은 장치 인스턴스의 기능으로서 출력 가중치(Woutput) 및 출력 바이어스(boutput) 파라미터들에 적용되기 위한 분석적 또는 테이블 기반 모델을 포함할 수 있다.
도 7a는 전자 타겟들 및 몇몇 실시예에 따른 재 타겟팅 이후와 이전의 뉴럴 네트워크 모델의 출력에 따른 데이터 점들을 로그 스케일로 도시한 예시적인 그래프이다. 도 7b는 전자 타겟들 및 몇몇 실시예에 따른 재 타겟팅 이후와 이전의 뉴럴 네트워크 모델의 출력에 따른 데이터 점들을 선형 스케일로 도시한 예시적인 그래프이다. 점선은 초기 훈련 데이터에 핏팅시키기 위한 뉴럴 네트워크에 의해 계산된 I-V 곡선을 나타낸다. 원은 트랜지스터의 최종 설계의 전기적 타겟들을 나타낸다. 실선은 전기적 타겟들에 피팅시키기 위한 출력 가중치(Woutput) 및 출력 바이어스(boutput) 파라미터들의 조정 후의 재 타겟팅된 뉴럴 네트워크의 출력을 도시한다. 도 7a 및 도 7b에 도시된 곡선들을 생성하기 위해 사용된 특정 뉴럴 네트워크들은 TCAD 데이터를 바탕으로 초기에 훈련된 3 단자 FET을 모델링하기 위해 훈련될 수 있다. 몇몇 실시예들에 따른 뉴럴 네트워크는 두 개의 히든 레이어들을 포함할 수 있는데, 여기서 하나의 히든 레이어는 15개의 뉴런들을 포함하는 크기를 가질 수 있고, 다른 하나의 히든 레이어는 5개의 뉴런들을 포함하는 크기를 가질 수 있으며, 총 131개의 파라미터를 가질 수 있다. 도 7a 및 도 7b에 도시된 바와 같이, 재 타겟팅된 모델로부터의 곡선은 우수한 성능을 나타내는 모양을 나타내며, 데이터를 오버핏하지 않는 것으로 나타난다.
아래의 테이블 2는 모델링된 트랜지스터의 다양한 매트릭스들, 다양한 매트릭스들 각각에 대한 전기적 타겟들, "As fit" 모델에 의해 예측된 값(전기적 타겟으로부터의 편차 - 밀리 볼트 단위의 Vtsat 및 Vtlin에 대한 퍼센테이지로서의 Ioff, Ilow, Ion, 및 Idlin), 및 "재 타겟팅" 모델에 의해 예측된 값(전기적 타겟으로부터의 편차 - 밀리 볼트 단위의 Vtsat 및 Vtlin에 대한 퍼센테이지로서의 Ioff, Ilow, Ion, 및 Idlin)을 나타낸다.
테이블 2
Figure pat00003
따라서, 몇몇 실시예에 따른 재 타겟팅은 초기 TCAD 및 실험 데이터에 기반하여 훈련된 모델과 최종 설계의 전기적 타겟들 사이의 모델의 핏팅 정확도를 향상시킬 수 있다.
프로세스 변화 캡쳐
몇몇 실시예는 프로세스 변화들(예를 들어, 집적 회로들이 제조될 때 트랜지스터들의 속성으로 인해 자연적으로 발생하는 변화들)을 캡쳐하는 것과 관계될 수 있다.
몇몇 실시예들에 따른 트랜지스터 특성 상의 프로세스 변화들의 영향을 측정하는 것의 첫번째 단계는 공칭 장치(예를 들어, TCAD 시뮬레이션 덱(deck))에 대해 우수하게 교정된 트랜지스터 레벨 모델을 획득하는 것인데, 우수하게 교정된 트랜지스터 레벨 모델은 하나 이상의 프로세스 변화(PV; Process Variation) 소스들을 설명하도록 제어될 수 있다.
도 8은 몇몇 실시예에 따른 프로세스 변화들을 설명하기 위해 생성된 시뮬레이션 데이터 세트들을 도시하는 예시적인 도면이다.
도 8을 참조하면, 프로세스 변화 소스들을 지배하는 N 개의 세트들에 대해 식별되어 있다(예를 들어, P1, P2, ..., PN). 전류-전압(I-V) 및 전하-전압(Q-V) 데이터는 트렌지스터 레벨 모델(예를 들어, TCAD 시뮬레이션)의 시뮬레이션을 수행함으로써 자동적으로 생성될 수 있다. 이때, 각각의 시뮬레이션들은 N 개의 서로 다른 프로세스 변화 소스들 중 하나가 극값(예를 들어, 델타Pi=+3σi 또는 델타P=3σi)으로 세팅될 수 있고, 나머지 프로세스 변화 소스들은 0(예를 들어, 델타Pj=0 for j
Figure pat00004
i)으로 세팅될 수 있다. 프로세스 변화 소스들 중 하나가 극값으로 설정되는 경우를 프로세스 변화 코너(820)로 지칭할 수 있다. 이에 더해, 프로세스 변화 소스들이 공칭 조건(델타Pi=0 for all i)(840)으로 세팅되는 경우 시뮬레이션이 수행될 수 있다. 이를 통해, 총 2N+1개의 결과들을 도출할 수 있다. 2N+1 각각에 대해 시뮬레이션된 I-V 및 Q-V 데이터는 이후 뉴럴 네트워크 기반 축약 모델들 내 캡쳐 프로세스 변화들에 적용될 수 있으며, 이에 대해선 아래에서 자세히 살펴보도록 한다.
몇몇 실시예들에서, "방법 1"로 지칭된 경우 프로세스 변화 코너 각각에 대해(예를 들어, 주어진 2N 케이스들 중 하나에 대해), 각각의 뉴럴 네트워크 모델이 훈련된다. 예를 들어, 도 2의 동작(220)을 바탕으로 훈련될 수 있다. 몇몇 실시예들에서, 델타Pi=0이 도 2에 따라 결정된 뉴럴 네트워크에 대한 하이퍼 파라미터들에 사용되는 공칭 조건과 동일한 하이퍼 파라미터들이 프로세스 변화 소스들 중 하나가 변화하는 각각의 2N 케이스들을 훈련하는데 사용될 수 있다.
FET 인스턴스를 프로세스 변화들과 함께 시뮬레이션 하는 경우 시뮬레이션된 FET 인스턴스 내 각각의 프로세스 변화 소스들의 값이 인스턴스 파라미터 모델로서 취득될 수 있다. 프로세스 변화 코너 각각에서의 전류 및 전하는 상응하는 뉴럴 네트워크 모델을 이용하여 계산될 수 있다. 이후, 예를 들어, 2019년 2월 12일에 등록된 US 등록 특허 10,204,188와 제1 저자 Wang의 2015 International Conference on Simulation of Semiconductor Processes and Devices (SISPAD)에 게재된 "A generic approach for capturing process variations in lookup-table-based FET models."에 설명된 방법을 이용하여 FET 인스턴스에 대한 최종 전류 및 전하 값들이 계산될 수 있다. IEEE 2015에거 개시된 전체 내용이 본문에 참조로 포함될 수 있다.
간략히 요약하면, 몇몇 실시예에서 프로세스 변화들의 선형 의존성과 익스포넨셜 의존성이 계산될 수 있다. 프로세스 변화들의 선형 의존성은 아래의 수학식 2와 같이 나타낼 수 있다.
Figure pat00005
수학식 2
프로세스 변화들의 지수 의존성은 아래의 수학식 3과 같이 나타낼 수 있다.
Figure pat00006
수학식 3
여기서, Id0는 공칭 전류 값이고,
Figure pat00007
는 모델 코너 인스턴스 각각에 대한 프로세스 변화 소스 i 번째(σ로 넘버링된)이다. Idi는 아래의 수학식 4와 같다.
Figure pat00008
수학식 4
일반적으로, 주어진 특정 바이어스 포인트(Vgs = 0, Vds = 0)에서, Id는 Vt 변동에 의존되며, 룩 업 테이블로부터 하기의 수학식 5 및 수학식 6을 통해 도출될 수 있다.
Figure pat00009
수학식 5
Figure pat00010
수학식 6
이에 더해, 아래의 수학식 7 및 수학식 8을 통해 평균 값들이 계산될 수 있다.
Figure pat00011
수학식 7
Figure pat00012
수학식 8
그리고, 수학식 9에 따라,
Figure pat00013
가 계산될 수 있는데,
Figure pat00014
수학식 9
지수 의존성(예를 들어, 문턱 전압 이하 Id)에 대해서
Figure pat00015
이며, 선형 의존성(예를 들어, 단 채널에서의 super Vt Id, 커패시턴스)의 경우
Figure pat00016
이다.
최종 전류 Id는 아래의 수학식 10 또는 수학식 11에 따른 선형 결합을 통해 계산될 수 있다.
Figure pat00017
수학식 10
Figure pat00018
수학식 11
여기서,
Figure pat00019
는 I-V 곡선 및 Q-V 곡선의 매끄러운 정도를 조정하기 위해 세팅되는 파라미터이다(예를 들어,
Figure pat00020
=0.6).
몇몇 실시예들에서, "방법 2"로 지칭되는 방법 2에서는 프로세스 변화 소스 각각이 뉴럴 네트워크의 입력 레이어에 뉴런으로서 더해질 수 있다. 도 9는 트랜지스터의 성능을 모델링하고 더 나아가 프로세스 변화들을 입력 레이어에 대한 입력으로서 수신하여 정렬되는 몇몇 실시예에 따른 뉴럴 네트워크를 도시하는 예시적인 블록도이다. 뉴럴 네트워크 모델(900)은 도 2의 동작(220)에 따라 설명된 방법과 유사하게 훈련될 수 있으며, 하나 이상의 프로세스 변화 입력들(PV1, PV2, PV3, ?)을 입력 레이어(110)에 입력할 수 있다. 프로세스 변화 입력들의 어떤 주어진 세트들에 대해서도, 트랜지스터 레벨 시뮬레이션에 의해 생성된 상응하는 I-V 및 Q-V 커브가 프로세스 변화 코너들(820) 및 공칭 케이스(840)의 모든 단일 모델을 훈련하는데 상응하는 출력 데이터(예를 들어, 도 9에 도시된 ID, QD)로서 사용될 수 있다. 따라서, 수정된 뉴럴 네트워크 모델(900)과 함께 시뮬레이션을 수행할 때, 프로세스 변화 각각의 값이 모델 인스턴스 파라미터로 취득될 수 있으며, 상응하는 프로세스 변화들과 함께 트랜지스터의 전류 및 전하에 대한 뉴럴 네트워크 모델의 출력이 될 수 있다.
도 10은 TCAD 시뮬레이션 및 몇몇 실시예에 따른 프로세스 변화들을 모델링하는 두 개의 기술들을 바탕으로 훈련된 뉴럴 네트워크들에 의해 예측된 40nm 게이트 길이를 갖는 트랜지스터에 대한 턴 온 전류(Ion)를 uA/um 단위로 도시한 예시적인 그래프이다. 도 10에 도시된 바와 같이, 방법 1 및 방법 2 모두 다양한 프로세스 변화 컨디션들(Tox 범위 1.6+-0.1nm, Lg 범위 40+-3nm, Nch 범위 5.6*10^18+-10%의 조합 분산)에서의 TCAD 데이터의 예측과 수평 축을 따라 근접하게 일치하는 것을 볼 수 있다. 이와 같이, 몇몇 실시예들에 따른 프로세스 변화를 캡쳐하는 기술은 트랜지스터 성능 상의 프로세스 변화들의 정확하고 축약적인 효과를 가져올 수 있다.
따라서, 몇몇 실시예들에 따른 트랜지스터 모델링 시스템 및 방법은 트랜지스터 성능에 대한 컴팩트한 모델링을 제공할 수 있으며, 모델링된 트랜지스터들의 예측된 성능에 대해 높은 정확도를 유지함과 동시에, 시뮬레이션 성능으로서의 소요 시간을 감축시킬 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 뉴럴 네트워크 110: 입력 레이어
130: 히든 레이어들 150: 출력 레이어

Claims (10)

  1. 프로세서; 및
    상기 프로세서가 실행될 때, 상기 프로세서가 수행되는 명령들을 저장하는 메모리를 포함하되,
    상기 명령들은,
    뉴럴 네트워크 구조를 구성하는 복수의 하이퍼 파라미터들을 초기화하고,
    상기 복수의 하이퍼 파라미터들과 관련된 상기 뉴럴 네트워크 및 트랜지스터 입력 상태값을 트랜지스터 출력 상태값과 연관시키는 복수의 훈련 데이터들을 훈련하여, 복수의 뉴럴 네트워크 파라미터들을 계산하고,
    상기 훈련 데이터의 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치하는지 판단하고,
    상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치하지 않는다고 판단된 경우, 상기 복수의 하이퍼 파라미터들을 업데이트하고, 상기 업데이트된 상기 복수의 하이퍼 파라미터들을 기초로 상기 뉴럴 네트워크를 재훈련시키고,
    상기 훈련 데이터의 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치한다고 판단된 경우, 상기 뉴럴 네트워크를 회로 시뮬레이션 코드로 포팅(porting)하여 포팅된 뉴럴 네트워크를 생성하고,
    상기 포팅된 뉴럴 네트워크를 이용하여 테스트 회로를 시뮬레이션함으로써 상기 테스트 회로의 트랜지스터의 동작을 시뮬레이션하여, 시뮬레이션 출력을 생성하고,
    상기 시뮬레이션 출력의 생성 소요 시간(turnaround time)이 적합한지 판단하고,
    상기 시뮬레이션 출력의 생성 소요 시간이 부적합하다고 판단된 경우, 상기 복수의 하이퍼 파라미터들을 업데이트하고, 상기 업데이트된 상기 복수의 하이퍼 파라미터들을 기초로 상기 뉴럴 네트워크를 재훈련시키고,
    상기 시뮬레이션 출력의 생성 소요 시간이 적합하다고 판단된 경우, 상기 포팅된 뉴럴 네트워크를 상기 트랜지스터의 모델로서 출력하는 것을 포함하는 트랜지스터 모델링 시스템.
  2. 제 1항에 있어서,
    상기 메모리에 저장된 명령들은,
    상기 프로세서가 실행될 때, 상기 프로세서가 상기 포팅된 뉴럴 네트워크를 이용한 상기 트랜지스터의 출력을 시뮬레이션함으로써 상기 트랜지스터를 포함하는 회로를 시뮬레이션하는 것을 포함하는 트랜지스터 모델링 시스템.
  3. 제 1항에 있어서,
    상기 뉴럴 네트워크는,
    상기 트랜지스터 입력 상태값을 수신하는 입력 레이어,
    상기 입력 레이어로부터 복수의 활성화(activation)들을 수신하는 제1 히든 레이어(hidden layer)와 최종 히든 레이어를 포함하는 복수의 히든 레이어들,
    상기 최종 히든 레이어로부터 수신 받은 복수의 활성화들로부터 출력 특성들(features)을 계산하는 출력 레이어, 및
    상기 출력 특성들을 상기 뉴럴 네트워크의 출력으로 변환하는 복수의 변환 함수 유닛들을 포함하되,
    상기 뉴럴 네트워크 파라미터들은, 가중치들 및 아핀 변환(affine transformation)과 연관된 상기 뉴럴 네트워크의 인접한 레이어들 사이를 매핑(mapping)하는 바이어스들을 포함하는 트랜지스터 모델링 시스템.
  4. 제 1항에 있어서,
    상기 복수의 하이퍼 파라미터들은,
    복수의 히든 레이어들을 포함하며,
    상기 복수의 히든 레이어들 각각은 복수의 뉴런들과 활성화(activation) 기능을 포함하는 트랜지스터 모델링 시스템.
  5. 제 4항에 있어서,
    상기 명령들 중, 상기 훈련 데이터의 상기 트랜지스터 출력 상태값이 상기 뉴럴 네트워크의 출력과 일치하는지 판단하는 명령은,
    상기 뉴럴 네트워크의 출력이 상기 트랜지스터 출력 상태값의 상응하는 값의 제1 임계값 이하인지를 판단하고,
    상기 뉴럴 네트워크의 출력의 제1 도함수가 상기 트랜지스터 출력 상태값의 제1 도함수의 상응하는 값의 제2 임계값 이하인지를 판단하는 것을 포함하는 트랜지스터 모델링 시스템.
  6. 제 5항에 있어서,
    상기 메모리에 저장된 명령들은,
    상기 프로세서가 실행될 때, 상기 프로세서가 상기 뉴럴 네트워크의 출력이 상기 트랜지스터 출력 상태값의 상응하는 값의 제1 임계값 이하가 아니라고 판단되는 경우, 상기 복수의 하이퍼 파라미터들이 상기 복수의 히든 레이어들을 증가시키기 위해 업데이트되거나, 상기 복수의 뉴런들을 증가시키기 위해 업데이트되는 것을 포함하는 트랜지스터 모델링 시스템.
  7. 제 5항에 있어서,
    상기 메모리에 저장된 명령들은,
    상기 프로세서가 실행될 때, 상기 프로세서가 상기 시뮬레이션 출력의 생성 소요 시간이 적합하지 않다고 판단되는 경우, 상기 하이퍼 파라미터들이 상기 복수의 히든 레이어들을 감소시키기 위해 업데이트 되거나, 상기 복수의 뉴런들을 감소시키기 위해 업데이트되는 것을 포함하는 트랜지스터 모델링 시스템.
  8. 제 3항에 있어서,
    상기 메모리에 저장된 명령들은,
    상기 프로세서가 실행될 때, 상기 프로세서가 복수의 전자 타겟들과 연관된 상기 뉴럴 네트워크를 재 타겟팅하는 것을 더 포함하되, 상기 복수의 전자 타겟들과 연관된 상기 뉴럴 네트워크를 재 타겟팅하는 것은, 가중치들과 상기 최종 히든 레이어로부터 상기 출력 레이어로 매핑하는 출력 바이어스들을 업데이트하여, 상기 뉴럴 네트워크의 출력을 상기 복수의 전자 타겟에 피팅(fit)시키는 것을 포함하되, 상기 최종 히든 레이어는 상기 복수의 전자 타겟의 숫자보다 더 적은 뉴런들을 포함하는 트랜지스터 모델링 시스템.
  9. 제 1항에 있어서,
    상기 트랜지스터의 모델은 프로세스 변화들을 캡쳐하는 것을 포함하며,
    상기 훈련 데이터는 복수의 프로세스 변화 요소들과 연관된 복수의 프로세스 변화 코너(corner)들과 연관된 상기 트랜지스터 출력 상태값에 상기 트랜지스터 입력 상태값을 연관시키는 데이터를 포함하는 트랜지스터 모델링 시스템.
  10. 제 9항에 있어서,
    상기 트랜지스터 입력 상태값은 상기 복수의 프로세스 변화 요소들을 포함하되,
    상기 메모리에 저장된 명령들은,
    상기 프로세서가 실행될 때, 상기 프로세서가 상기 뉴럴 네트워크를 훈련시키는 것은 상기 복수의 프로세스 변화 코너들과 연관된 상기 트랜지스터 출력 상태값에, 상기 트랜지스터 입력 상태값을 연관시키는 상기 훈련 데이터를 기초로 훈련되는 것을 포함하는 트랜지스터 모델링 시스템.
KR1020200028975A 2019-04-08 2020-03-09 트랜지스터의 축약 뉴럴 네트워크 모델링 시스템 및 그 방법 KR20200119192A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962831038P 2019-04-08 2019-04-08
US62/831,038 2019-04-08
US16/430,219 US11537841B2 (en) 2019-04-08 2019-06-03 System and method for compact neural network modeling of transistors
US16/430,219 2019-06-03

Publications (1)

Publication Number Publication Date
KR20200119192A true KR20200119192A (ko) 2020-10-19

Family

ID=72663069

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200028975A KR20200119192A (ko) 2019-04-08 2020-03-09 트랜지스터의 축약 뉴럴 네트워크 모델링 시스템 및 그 방법

Country Status (3)

Country Link
US (1) US11537841B2 (ko)
KR (1) KR20200119192A (ko)
CN (1) CN111797581A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102285516B1 (ko) * 2021-02-05 2021-08-04 주식회사 알세미 반도체 소자 모델링 방법 및 시스템
KR102561849B1 (ko) * 2022-11-10 2023-08-01 주식회사 알세미 회로 시뮬레이터를 위한 신경망 모델 처리 방법 및 장치

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113841222A (zh) * 2019-05-23 2021-12-24 株式会社半导体能源研究所 半导体元件的电特性预测方法
US11175898B2 (en) * 2019-05-31 2021-11-16 Apple Inc. Compiling code for a machine learning model for execution on a specialized processor
US11120864B2 (en) * 2019-12-09 2021-09-14 International Business Machines Corporation Capacitive processing unit
US11966678B2 (en) * 2020-12-02 2024-04-23 Synopsys, Inc. Modelling timing behavior using augmented sensitivity data for physical parameters
CN112580288B (zh) * 2020-12-03 2022-04-12 复旦大学 基于多梯度神经网络的半导体器件特性建模方法和系统
CN112734008A (zh) * 2020-12-31 2021-04-30 平安科技(深圳)有限公司 分类网络构建方法以及基于分类网络的分类方法
CN112926259B (zh) * 2021-02-05 2024-01-26 西安电子科技大学 一种基于rbf神经网络模型预测半导体器件结温的方法
US20220253579A1 (en) * 2021-02-11 2022-08-11 LynxAI Corp. Hardware and Software Product Development Using Supervised Learning
CN112927013B (zh) * 2021-02-24 2023-11-10 国网数字科技控股有限公司 一种资产价值预测模型构建方法、资产价值预测方法
CN113221460B (zh) * 2021-05-20 2022-09-20 西安电子科技大学 一种基于神经网络回归的单粒子瞬态效应建模方法
WO2023205095A1 (en) * 2022-04-18 2023-10-26 Sri International Simulation of an electronic block
KR20240013343A (ko) * 2022-07-22 2024-01-30 삼성전자주식회사 반도체 설계 과정에서 시뮬레이션을 위한 신경망 모델링 방법, 이를 이용한 시뮬레이션 방법 및 이를 수행하는 반도체 설계 시스템

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903469A (en) 1994-11-08 1999-05-11 Synopsys, Inc. Method of extracting layout parasitics for nets of an integrated circuit using a connectivity-based approach
US20020055193A1 (en) 2000-04-28 2002-05-09 Trw, Inc. Process perturbation to measured-modeled method for semiconductor device technology modeling
US6721922B1 (en) 2000-09-27 2004-04-13 Cadence Design Systems, Inc. System for electronic circuit characterization, analysis, modeling and plan development
US20030188267A1 (en) 2002-03-29 2003-10-02 International Business Machines Corporation Circuit and method for modeling I/O
JP4138613B2 (ja) 2003-09-05 2008-08-27 株式会社東芝 製造工程設計方法及び製造工程設計支援方法
US7617470B1 (en) 2005-10-11 2009-11-10 California Institute Of Technology Reconfigurable integrated circuit and method for increasing performance of a reconfigurable integrated circuit
US7937256B2 (en) 2006-12-02 2011-05-03 Altos Design Automation, Inc. Systems and methods of efficient library characterization for integrated circuit cell libraries
US8302046B1 (en) 2008-11-11 2012-10-30 Cadence Design Systems, Inc. Compact modeling of circuit stages for static timing analysis of integrated circuit designs
US8606557B2 (en) 2010-02-02 2013-12-10 International Business Machines Corporation Table lookup method for physics based models for SPICE-like simulators
US8468482B1 (en) 2010-03-12 2013-06-18 Worldwide Pro Ltd. Modeling and simulating the impact of imperfectly patterned via arrays on integrated circuits
US8849643B2 (en) 2011-05-13 2014-09-30 International Business Machines Corporation Table-lookup-based models for yield analysis acceleration
US8645883B2 (en) 2012-05-08 2014-02-04 Oracle International Corporation Integrated circuit simulation using fundamental and derivative circuit runs
US8924901B2 (en) 2013-02-15 2014-12-30 Synopsys, Inc. Look-up based fast logic synthesis
US8869081B2 (en) 2013-01-15 2014-10-21 International Business Machines Corporation Automating integrated circuit device library generation in model based metrology
GB2523495A (en) 2013-01-17 2015-08-26 Edico Genome Corp Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
WO2014144337A1 (en) 2013-03-15 2014-09-18 On Behalf Of The Regents Of The University Of Colorado, A Body Corporate, Neural network solar irradiance sensor
US8863052B1 (en) 2013-07-12 2014-10-14 Cadence Design Systems, Inc. System and method for generating and using a structurally aware timing model for representative operation of a circuit design
US9009638B1 (en) 2013-12-30 2015-04-14 International Business Machines Corporation Estimating transistor characteristics and tolerances for compact modeling
US10318882B2 (en) * 2014-09-11 2019-06-11 Amazon Technologies, Inc. Optimized training of linear machine learning models

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102285516B1 (ko) * 2021-02-05 2021-08-04 주식회사 알세미 반도체 소자 모델링 방법 및 시스템
KR102561849B1 (ko) * 2022-11-10 2023-08-01 주식회사 알세미 회로 시뮬레이터를 위한 신경망 모델 처리 방법 및 장치

Also Published As

Publication number Publication date
CN111797581A (zh) 2020-10-20
US20200320366A1 (en) 2020-10-08
US11537841B2 (en) 2022-12-27

Similar Documents

Publication Publication Date Title
KR20200119192A (ko) 트랜지스터의 축약 뉴럴 네트워크 모델링 시스템 및 그 방법
US11176447B2 (en) Semiconductor device modeling using input pre-processing and transformed targets for training a deep neural network
US10621494B2 (en) System and method for circuit simulation based on recurrent neural networks
US11386256B2 (en) Systems and methods for determining a configuration for a microarchitecture
US7730433B2 (en) Analog design retargeting
US20220114317A1 (en) Systems, methods, and computer program products for transistor compact modeling using artificial neural networks
US20230195986A1 (en) Method for predicting delay at multiple corners for digital integrated circuit
US20220138496A1 (en) Power estimation using input vectors and deep recurrent neural networks
US20220121800A1 (en) Methods of generating circuit models and manufacturing integrated circuits using the same
CN109791627B (zh) 使用输入预处理和转换目标用于训练深度神经网络的半导体器件建模
US7885798B2 (en) Closed-loop modeling of gate leakage for fast simulators
US8122406B2 (en) Generating models for integrated circuits with sensitivity-based minimum change to existing models
US8676547B2 (en) Parameter extraction method
Chavez et al. Deep learning-based IV Global Parameter Extraction for BSIM-CMG
Smith Data Driven Surrogate Models for Faster SPICE Simulation of Power Supply Circuits
Garg Variability aware transistor stack based regression surrogate models for accurate and efficient statistical leakage estimation
KR102579974B1 (ko) 뉴럴 컴팩트 모델링 방법 및 컴퓨팅 장치
Xia et al. Survey and evaluation of automated model generation techniques for high level modeling and high level fault modeling
Uhlmann et al. LUT-based RRAM Model for Neural Accelerator Circuit Simulation
Zha et al. Deep Learning Enhanced Time-Step Control in Pseudo Transient Analysis for Efficient Nonlinear DC Simulation
Hajian et al. Modeling soft error propagation in near-threshold combinational circuits using neural networks
van Santen et al. The Vital Role of Machine Learning in Developing Emerging Technologies
Choi et al. Enhancement and Expansion of the Neural Network-Based Compact Model Using a Binning Method
Aftabjahani et al. Timing analysis with compact variation-aware standard cell models
Xiong et al. Neural Ordinary Differential Equation Models of Circuits: Capabilities and Pitfalls