KR20230092670A - 소자 모델의 생성 방법 및 이를 수행하는 컴퓨팅 장치 - Google Patents

소자 모델의 생성 방법 및 이를 수행하는 컴퓨팅 장치 Download PDF

Info

Publication number
KR20230092670A
KR20230092670A KR1020220013195A KR20220013195A KR20230092670A KR 20230092670 A KR20230092670 A KR 20230092670A KR 1020220013195 A KR1020220013195 A KR 1020220013195A KR 20220013195 A KR20220013195 A KR 20220013195A KR 20230092670 A KR20230092670 A KR 20230092670A
Authority
KR
South Korea
Prior art keywords
values
data
local minimum
value
target parameters
Prior art date
Application number
KR1020220013195A
Other languages
English (en)
Inventor
길광내
박세영
우솔아
이종현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US17/899,101 priority Critical patent/US20230194594A1/en
Priority to CN202211623732.7A priority patent/CN116415409A/zh
Publication of KR20230092670A publication Critical patent/KR20230092670A/ko

Links

Images

Classifications

    • 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/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/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
    • 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]

Landscapes

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

Abstract

소자 모델의 생성을 위해, 반도체 소자의 특성을 측정하여 측정 데이터를 제공하고, 소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 상기 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 출력하는 소자 모델의 복수의 파라미터들 중에서 하나 이상의 타겟 파라미터들을 선택하는 단계, 상기 타겟 파라미터들의 초기 값들의 서로 다른 조합들에 상응하는 복수의 초기 값 세트들을 선택한다. 강화 학습에 기초하여 상기 복수의 초기 값 세트들의 각각에 대한 상기 측정 데이터 및 상기 시뮬레이션 데이터의 차이의 최소 값에 각각 상응하는 복수의 로컬 최소 값들을 결정한다. 상기 복수의 로컬 최소 값들에 기초하여 상기 타겟 파라미터들의 최적 값들을 결정한다. 강화 학습에 기초한 최적화 기법을 이용하여 소자 모델의 파라미터들을 결정함으로써 반도체 소자의 특성을 정확하게 예측할 수 있는 소자 모델을 제공할 수 있다.

Description

소자 모델의 생성 방법 및 이를 수행하는 컴퓨팅 장치{Method of generating a device model and computing device performing the same}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 최적화 기법을 이용한 소자 모델의 생성 방법 및 상기 소자 모델의 생성 방법을 수행하는 컴퓨팅 장치에 관한 것이다.
전자 산업이 발달함에 따라 생산이 가능한 반도체 제품을 설계하기 위해 가능한 공정 수준을 확인하며 설계하는 설계-공정 최적화 활동의 중요성이 커지고 있다. 반도체 산업에서, 설계자(위탁자)가 실제 설계에 앞서 생산자가 목표로 하는 공정 능력에 대한 소자 모델을 제공하며 설계자(위탁자)는 모델을 활용하여 실제 반도체 제품을 설계하고 시뮬레이션을 수행할 수 있다.
이 경우, 생산자가 목표로 했던 공정 수준의 변화는 제공된 소자 모델의 변경을 의미하며 설계자(위탁자)가 제품을 설계하는데 설계 변경이 요구된다. 이는 막대한 시간이 소요되며 이에 따라 설계자(위탁자) 입장에서는 시간 손실이 생산자 입장에서는 비용 손실이 발생할 수 있다.
한편, 목표로 제시한 공정 수준의 잘못된 예측과 이에 따른 시뮬레이션을 수행하는 소자 모델의 정확도가 낮은 경우 반도체 소자의 특성에 대한 부정확한 예측으로 인하여 설계 및 제조되는 반도체 제품의 성능이 저하될 수 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 반도체 소자의 특성을 정확하게 예측할 수 있는 소자 모델의 생성 방법을 제공하는 것이다.
또한 본 발명의 일 목적은, 반도체 소자의 특성을 정확하게 예측할 수 있는 소자 모델의 생성 방법을 수행하는 컴퓨팅 장치를 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 소자 모델의 생성 방법은, 컴퓨터로 판독 가능한 기록 매체에 저장되는 프로그램 코드를 적어도 하나의 프로세서에 의해 실행하여 수행되는 소자 모델의 생성 방법으로서, 반도체 소자의 특성을 측정하여 측정 데이터를 제공하는 단계, 소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 상기 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 출력하는 소자 모델의 복수의 파라미터들 중에서 하나 이상의 타겟 파라미터들을 선택하는 단계, 상기 타겟 파라미터들의 초기 값들의 서로 다른 조합들에 상응하는 복수의 초기 값 세트들을 선택하는 단계, 강화 학습에 기초하여 상기 복수의 초기 값 세트들의 각각에 대한 상기 측정 데이터 및 상기 시뮬레이션 데이터의 차이의 최소 값에 각각 상응하는 복수의 로컬 최소 값들을 결정하는 단계 및 상기 복수의 로컬 최소 값들에 기초하여 상기 타겟 파라미터들의 최적 값들을 결정하는 단계를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 소자 모델의 생성 방법은, 컴퓨터로 판독 가능한 기록 매체에 저장되는 프로그램 코드를 적어도 하나의 프로세서에 의해 실행하여 수행되는 소자 모델의 생성 방법으로서, 반도체 소자의 특성을 측정하여 측정 데이터를 제공하는 단계, 소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 상기 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 출력하는 소자 모델의 복수의 파라미터들 중에서 하나 이상의 타겟 파라미터들을 선택하는 단계, 상기 타겟 파라미터들의 초기 값들의 서로 다른 조합들에 상응하는 복수의 초기 값 세트들을 선택하는 단계, 강화 학습을 수행하여 상기 복수의 초기 값 세트들의 각각에 대한 상기 측정 데이터 및 상기 시뮬레이션 데이터의 차이의 최소 값에 각각 상응하는 복수의 로컬 최소 값들을 결정하는 단계, 유전 알고리즘을 수행하여 상기 복수의 로컬 최소 값들보다 작거나 같고 상기 복수의 로컬 최소 값들에 각각 상응하는 복수의 글로벌 최소 값들을 결정하는 단계 및 상기 복수의 로컬 최소 값들에 기초하여 상기 타겟 파라미터들의 최적 값들을 결정하는 단계를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 컴퓨팅 장치는, 적어도 하나의 프로세서 및 컴퓨터로 판독 가능한 기록 매체를 포함한다.
상기 기록 매체는 소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 제공하는 소자 모델을 생성하도록 상기 적어도 하나의 프로세서에 의해 실행되는 트레이닝 제어 모듈에 상응하는 프로그램 코드를 저장한다.
상기 적어도 하나의 프로세서는 상기 반도체 소자의 특성을 측정하여 제공되는 측정 데이터를 수신하고, 상기 트레이닝 제어 모듈에 상응하는 프로그램 코드를 실행하여, 상기 소자 모델의 복수의 파라미터들 중에서 하나 이상의 타겟 파라미터들을 선택하고, 상기 타겟 파라미터들의 초기 값들의 서로 다른 조합들에 상응하는 복수의 초기 값 세트들을 선택하고, 강화 학습을 수행하여 상기 복수의 초기 값 세트들의 각각에 대한 상기 측정 데이터 및 상기 시뮬레이션 데이터의 차이의 최소 값에 각각 상응하는 복수의 로컬 최소 값들을 결정하고, 상기 복수의 로컬 최소 값들에 기초하여 상기 타겟 파라미터들의 최적 값들을 결정한다.
본 발명의 실시예들에 따른 소자 모델의 생성 방법 및 상기 소자 모델의 생성 방법을 수행하는 컴퓨팅 장치는 강화 학습에 기초한 최적화 기법을 이용하여 소자 모델의 파라미터들을 결정함으로써 반도체 소자의 특성을 정확하게 예측할 수 있는 소자 모델을 제공할 수 있다.
상기 소자 모델의 향상된 예측 성능을 통하여 상기 반도체 소자를 포함하는 반도체 제품의 설계 및 제조의 비용 및 시간을 감소하고 반도체 제품의 성능을 향상시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 소자 모델의 생성 방법을 나타내는 순서도이다.
도 2 및 3은 소자 모델의 최적화를 위한 최소 값의 결정을 설명하기 위한 도면들이다.
도 4는 본 발명의 실시예들에 따른 컴퓨팅 장치를 나타내는 블록도이다.
도 5는 본 발명의 실시예들에 따른 전자 장치를 나타내는 블록도이다.
도 6, 7 및 8은 본 발명의 실시예들에 따른 소자 모델의 생성 방법이 적용되는 복수의 소자 모델들을 나타내는 도면들이다.
도 9는 본 발명의 실시예들에 따른 소자 모델의 생성 방법에서의 데이터들을 나타내는 도면이다.
도 10은 본 발명의 실시예들에 따른 소자 모델의 생성 방법을 수행하는 트레이닝 제어 모듈의 일 실시예를 나타내는 블록도이다.
도 11은 본 발명의 실시예들에 따른 소자 모델의 생성 방법의 최적 값 결정의 일 실시예를 나타내는 순서도이다.
도 12 및 13은 도 11의 최적 값 결정을 설명하기 위한 도면들이다.
도 14는 본 발명의 실시예들에 따른 소자 모델의 생성 방법의 최적 값 결정의 일 실시예를 나타내는 순서도이다.
도 15 및 16은 도 14의 최적 값 결정을 설명하기 위한 도면들이다.
도 17은 도 10의 트레이닝 제어 모듈에 포함되는 강화 학습 모듈의 일 실시예를 나타내는 블록도이다.
도 18은 17의 강화 학습 모듈에 의한 로컬 최소 값의 결정 방법의 일 실시예를 나타내는 순서도이다.
도 19는 도 17의 강화 학습 모듈의 전체적인 동작을 나타내는 순서도이다.
도 20a 및 20b는 인공 신경망 구조의 예를 설명하기 위한 도면들이다.
도 20c는 인공 신경망의 예시적인 노드를 나타내는 도면이다.
도 21은 도 17의 강화 학습 모듈에서의 예비 액션들의 일 실시예를 나타내는 도면이다.
도 22는 도 17의 강화 학습 모듈에 포함되는 인바이런먼트 모듈의 일 실시예를 나타내는 블록도이다.
도 23은 도 22의 인바이런먼트 모듈에 의해 학습되는 예측 네트워크를 나타내는 도면이다.
도 24는 반도체 소자의 전류-전압 곡선 상의 기준 점들의 일 실시예를 나타내는 도면이다.
도 25는 도 24의 기준 점들에 상응하는 소자 데이터의 일 예를 나타내는 도면이다.
도 26, 27 및 28은 도 24의 기준 점들에 대해 본 발명의 실시예들에 따른 소자 모델의 생성 방법을 적용한 결과를 나타내는 도면들이다.
도 29는 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 30은 도 29의 컴퓨팅 시스템에 의해 구현되는 소자 모델의 생성을 수행하는 트레이닝 제어 모듈의 일 실시예를 나타내는 도면이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 소자 모델의 생성 방법을 나타내는 순서도이다. 도 1의 소자 모델의 생성 방법은 컴퓨터로 판독 가능한 기록 매체에 저장되는 프로그램 코드를 적어도 하나의 프로세서에 의해 실행하여 수행될 수 있다.
도 1을 참조하면, 반도체 소자의 특성을 측정하여 측정 데이터를 제공할 수 있다(S100).
측정 데이터는 도 5를 참조하여 후술하는 바와 같은 측정 장비를 이용하여 제공될 수 있다. 예를 들어, 테스트 엘리먼트 그룹(Test element group)을 반도체 장치가 집적된 웨이퍼의 스크라이브 레인(scribe lane)에 배치하고, 상기 테스트 엘리먼트 그룹을 통하여 측정 데이터를 제공할 수 있다.
소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 상기 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 출력하는 소자 모델의 복수의 파라미터들 중에서 하나 이상의 타겟 파라미터들을 선택할 수 있다(S200). 또한, 상기 타겟 파라미터들의 초기 값들의 서로 다른 조합들에 상응하는 복수의 초기 값 세트들을 선택할 수 있다(S300).
도 6 및 7을 참조하여 후술하는 바와 같이 소자 모델은 복수의 공정 데이터들 및 복수의 반도체 제품들에 각각 상응하는 복수의 컴팩트 모델들 중 하나일 수 있다. 일 실시예에서, 컴팩트 모델은 입력되는 소자 데이터 중에서 게이트 전압, 드레인 전압과 같은 동작 전압들에 상응하는 드레인 전류를 시뮬레이션 결과 데이터로서 출력할 수 있다. 이 경우 컴팩트 모델에 입력되는 동작 전압들을 변화시키면서 출력되는 드레인 전류들에 기초하여 전류-전압 곡선을 생성할 수 있다.
타겟 파라미터들 및 타겟 파라미터들의 값들은 랜덤하게 선택할 수도 있고, 반도체 소자의 타겟 특성에 따라서 특정한 파라미터들이 타겟 파라미터들로 선택될 수도 있다.
강화 학습에 기초하여 상기 복수의 초기 값 세트들의 각각에 대한 상기 측정 데이터 및 상기 시뮬레이션 데이터의 차이의 최소 값에 각각 상응하는 복수의 로컬 최소 값들을 결정할 수 있다(S400).
강화 학습(reinforcement learning)이란 알려지지 않은 환경에서 액션을 수행하는 경험을 반복하면서 얻는 보상(reward)을 통해 학습해 나가는 방법을 말한다. 예를 들어, 인공 지능(AI, artificial intelligence)은 심층 강화 학습을 통해 자신의 성능을 점차 향상시킬 수 있다.
심층 강화 학습(deep reinforcement learning)은 강화 학습에 딥 러닝(deep learning)을 적용한 기술을 일컫는다. 심층 강화 학습은 '큐 값 근사(Q-Value approximation)에 심층 신경망(Deep Neural Network)을 사용한 것’이라고 할 수 있으며, 이러한 네트워크를 딥 큐 네트워크(DQN, Deep Q Network)라 한다. 여기서 큐 값은 특정 상태에서 액션을 수행했을 때 예측되는 보상을 나타낸다.
심층 강화 학습은 에이전트(agent)와 환경(environment)의 상호작용으로 구현될 수 있다. 에이전트는 예측되는 보상이 가장 높은 액션을 선택하고, 에이전트가 취한 액션에 의해 상태가 변경된다. 환경은 변경된 상태에서 각각의 액션에 대해 예측되는 보상을 큐 값으로서 제공할 수 있다.
본 발명은 심층 강화 학습을 적용하여 상기 측정 데이터 및 상기 시뮬레이션 데이터의 차이의 최소 값, 즉 로컬 최소 값을 효율적이고도 신속하게 결정하여 소자 모델의 파라미터들을 최적화하는 것이다. 본 명세서에서, 타겟 파라미터들의 값들은 심층 강화 학습의 상태에 해당하고, 타겟 파라미터들의 값들의 변경은 심층 강화 학습의 액션에 해당한다.
상기 복수의 로컬 최소 값들에 기초하여 상기 타겟 파라미터들의 최적 값들을 결정할 수 있다(S500).
일 실시예에서, 도 11 내지 13을 참조하여 후술하는 바와 같이, 상기 복수의 로컬 최소 값들 중에서 최소 값에 해당하는 선택 로컬 최소 값을 결정하고, 상기 선택 로컬 최소 값에 상응하는 상기 타겟 파라미터들의 값들을 상기 타겟 파라미터들의 최적 값들로 결정할 수 있다. 다른 실시예에서, 도 14 내지 16을 참조하여 후술하는 바와 같이, 유전 알고리즘을 수행하여 추가적으로 수행하여 상기 타겟 파라미터들의 최적 값들을 결정할 수 있다.
도 2 및 3은 소자 모델의 최적화를 위한 최소 값의 결정을 설명하기 위한 도면들이다.
도 2에는 1개의 타겟 파라미터(Pa)가 선택된 경우의 측정 데이터와 시뮬레이션 데이터의 차이(DIFF)의 예시적인 분포가 도시되어 있고, 도 3에는 2개의 타겟 파라미터들(P1, P2)이 선택된 경우의 차이(DIFF)의 예시적인 분포가 도시되어 있다.
소자 모델을 정의하는 파라미터들은 관계가 복잡하여 최적 값들을 찾는 일반적인 방법은 존재하지 않는다. 도 2에서와 같이, 타겟 파라미터(Pa)의 값을 최소 값(PVmin)부터 최대 값(PVmax)까지 변화시키면서 로컬 최소 값(LM)을 탐색할 수 있고 로컬 최소 값(LM)에 상응하는 타겟 파라미터(Pa)의 최적 값(P0)을 구할 수 있다. 그러나 이러한 방법은 시간이 너무 오래 걸리고, 도 3과 같이 타겟 파라미터들의 개수가 증가할수록 로컬 최소 값의 탐색 시간이 더욱 증가한다.
본 발명의 실시예들에 따라서, 강화 학습에 기초한 최적화 기법을 이용하여 소자 모델의 파라미터들을 결정함으로써 반도체 소자의 특성을 정확하게 예측할 수 있는 소자 모델을 제공할 수 있다.
도 4는 본 발명의 실시예들에 따른 컴퓨팅 장치를 나타내는 블록도이다.
도 4를 참조하면, 컴퓨팅 장치(100)는 프로세서들(110), 랜덤 액세스 메모리(120), 장치 드라이버(130), 스토리지 장치(140), 모뎀(150) 및 사용자 인터페이스들(160)을 포함할 수 있다.
프로세서들(110) 중 적어도 하나는 소자 모델(CM)(22)을 생성하는 트레이닝 제어 모듈(TCM)(240)을 실행할 수 있다. 트레이닝 제어 모듈(240)은 도 1을 참조하여 설명한 바와 같은 소자 모델의 생성 방법을 수행할 수 있고, 소자 모델(220)의 파라미터들을 최적화할 수 있다.
일 실시예에서, 소자 모델(220) 및 트레이닝 제어 모듈(240)은 프로세서들(110) 중 적어도 하나에 의해 실행되는 명령들(또는 프로그램 코드들)의 형태로 구현될 수 있다. 소자 모델(220) 및 트레이닝 제어 모듈(240)은 컴퓨터로 판독 가능한 기록 매체에 저장될 수 있다. 이때, 적어도 하나의 프로세서는 소자 모델(220) 및 트레이닝 제어 모듈(240)의 명령들(또는 프로그램 코드들)을 랜덤 액세스 메모리(120)에 로드할 수 있다.
다른 실시예에서, 적어도 하나의 프로세서는 소자 모델(220) 및 트레이닝 제어 모듈(240)을 구현하도록 제조될 수 있다. 적어도 하나의 프로세서는 소자 모델(220) 및 트레이닝 제어 모듈(240)에 대응하는 정보를 수신함으로써, 소자 모델(220) 및 트레이닝 제어 모듈(240)을 구현할 수 있다.
프로세서들(110)은, 예를 들어, 중앙 프로세싱 유닛(111)(CPU), 응용 프로세서(AP) 등과 같은 적어도 하나의 범용 프로세서를 포함할 수 있다. 프로세서들(110)은 또한 뉴럴 프로세싱 유닛(113), 뉴로모픽 프로세서(114), 그래픽 프로세싱 유닛(115)(GPU) 등과 같은 적어도 하나의 특수 목적 프로세서를 포함할 수 있다. 프로세서들(110)은 두 개 이상의 동일한 종류의 프로세서들을 포함할 수 있다.
랜덤 액세스 메모리(120)는 프로세서들(110)의 동작 메모리로 사용되고, 컴퓨팅 장치(100)의 주 메모리 또는 시스템 메모리로 사용될 수 있다. 랜덤 액세스 메모리(120)는 동적 랜덤 액세스 메모리 또는 정적 랜덤 액세스 메모리와 같은 휘발성 메모리, 또는 상 변화 랜덤 액세스 메모리, 강유전체 랜덤 액세스 메모리, 자기 랜덤 액세스 메모리, 또는 저항성 랜덤 액세스 메모리와 같은 비휘발성 메모리를 포함할 수 있다.
장치 드라이버(130)는 프로세서들(110)의 요청에 따라 스토리지 장치(140), 모뎀(150), 사용자 인터페이스들(160) 등과 같은 주변 장치들을 제어할 수 있다. 스토리지 장치(140)는 하드 디스크 드라이브, 솔리드 스테이트 드라이브 등과 같은 고정식 스토리지 장치, 또는 외장형 하드 디스크 드라이브, 외장형 솔리드 스테이트 드라이브, 착탈식 메모리 카드 등과 같은 착탈식 스토리지 장치를 포함할 수 있다.
모뎀(150)은 외부의 장치와 원격 통신을 제공할 수 있다. 모뎀(150)은 외부의 장치와 무선 또는 유선 통신을 수행할 수 있다. 모뎀(150)은 이더넷, 와이파이, LTE, 5G 모바일 이동 통신 등과 같은 다양한 통신 형태들 중 적어도 하나를 통해 외부의 장치와 통신할 수 있다.
사용자 인터페이스들(160)은 사용자로부터 정보를 수신하고, 사용자에게 정보를 제공할 수 있다. 사용자 인터페이스들(160)은 디스플레이(161), 스피커(162) 등과 같은 적어도 하나의 사용자 출력 인터페이스, 그리고 마우스(163)(mice), 키보드(164), 터치 입력 장치(165) 등과 같은 적어도 하나의 사용자 입력 인터페이스를 포함할 수 있다.
소자 모델(220) 및 트레이닝 제어 모듈(240)의 명령들(또는 프로그램 코드들)은 모뎀(150)을 통해 수신되어 스토리지 장치(140)에 저장될 수 있다. 소자 모델(220) 및 트레이닝 제어 모듈(240)의 명령들(또는 프로그램 코드들)은 착탈식 스토리지 장치에 저장되고 그리고 컴퓨팅 장치(100)에 결합될 수 있다. 소자 모델(220) 및 트레이닝 제어 모듈(240)의 명령들(또는 프로그램 코드들)은 스토리지 장치(140)로부터 랜덤 액세스 메모리(120)로 로드되어 실행될 수 있다.
컴퓨터 프로그램 명령, 컴팩트 모델 및 트레이닝 제어 모듈(TCM)은 일시적 컴퓨터 판독 가능한 매체 또는 비일시적 컴퓨터 판독 가능한 매체에 저장될 수 있다. 또한, 본 개시의 적어도 일부의 실시예들에서, 프로세서가 수행한 시뮬레이션 결과 값들 또는 프로세서가 수행한 연산 처리의 값들은 일시적 컴퓨터 판독 가능한 매체 또는 비일시적 컴퓨터 판독 가능한 매체에 저장될 수 있다. 또한, 본 개시의 적어도 일부의 실시예들에서, 소자 모델의 생성 또는 최적화를 진행하는 동안 발생하는 중간 값들은 일시적 컴퓨터 판독 가능한 매체 또는 비일시적 컴퓨터 판독 가능한 매체에 저장될 수 있다. 또한, 본 개시의 적어도 일부의 실시예들에서, 공정 데이터, 소자 데이터, 시뮬레이션 결과 데이터, 로컬 최소 값, 파라미터의 최적 값 등은 일시적 컴퓨터 판독 가능한 매체 또는 비일시적 컴퓨터 판독 가능한 매체에 저장될 수 있다. 그러나 본 개시가 이에 제한되지는 않는다.
도 5는 본 발명의 실시예들에 따른 전자 장치를 나타내는 블록도이다.
도 5를 참조하면, 전자 장치(500)는 입력부(11), 저장부(12) 및 프로세서(13)를 포함할 수 있으며, 저장부(12)는 소자 모델 또는 컴팩트 모델(CM) 및 데이터베이스(DB)를 저장할 수 있다. 컴팩트 모델(CM)은 소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 제공할 수 있다.
전자 장치(500), 반도체 제조 장비(31) 및 반도체 측정 장비(32)는 하나의 반도체 시스템으로써 구현될 수도 있다. 한편, 본 발명의 실시예들은 이에 한하지 않으며, 전자 장치(500)는 반도체 제조 장비(31) 및 반도체 측정 장비(32)와 별개의 반도체 시스템으로 구현될 수도 있다.
입력부(11)는 소자 데이터를 수신하여 프로세서(13)로 전달할 수 있으며, 프로세서(13)는 트레이닝 제어 모듈(TCM)(240)을 실행하여 컴팩트 모델(CM)을 생성, 즉 컴팩트 모델(CM)의 파라미터들을 최적화할 수 있다.
프로세서(13)는 컴팩트 모델(CM)을 측정 데이터(MD)에 기초하여 생성 또는 업데이트할 수 있으며, 저장부(12)에 컴팩트 모델(CM)을 저장할 수 있다. 측정 데이터(CM)란 반도체 측정 장비(32)가 실제 측정한 반도체 제품의 전기적/구조적 특성들을 포함하는 데이터일 수 있다. 반도체 측정 장비(32)가 측정하는 반도체 제품은, 반도체 제조 장비(31)가 반도체 제조 데이터에 기반하여 제조된 장치일 수 있다. 반도체 제조 데이터)는 반도체 장치의 제조와 관련된 데이터이거나, 반도체 장치와 유사한 반도체 장치의 제조와 관련된 데이터일 수 있다.
컴팩트 모델(CM)은 반도체 측정 장비(32)에 의해 반도체 제품의 전기적/구조적 특성들이 측정됨에 응답하여 업데이트될 수 있다. 예컨대, 반도체 측정 장비(32)로부터 측정 데이터(MD)를 수신함에 응답하여, 프로세서(13)는 컴팩트 모델(CM)을 최신의 측정 데이터(MD)를 반영하도록 업데이트할 수 있다. 프로세서(13)는 반도체 측정 장비(32)로부터 입력부(11) 또는 통신부를 경유하여 측정 데이터(MD)를 수신할 수 있다.
한편, 저장부(12)는 반도체 제조 장비(31) 및 반도체 측정 장비(32) 중 적어도 하나에 관한 장비 정보를 포함할 수 있다.
예컨대, 반도체 제품은, 반도체 제조 장비(31)의 종류에 따라서 상이한 전기적/구조적 특성들을 가질 수 있다. 또한, 반도체 측정 장비(32)의 종류에 따라서, 반도체 제품의 전기적/구조적 특성들이 상이하게 측정될 수 있다. 반도체 제조 장비(31) 및 반도체 측정 장비(32)의 종류에 따른 오차를 감소시키도록, 저장부(12)는 반도체 제조 장비(31) 및 반도체 측정 장비(32)를 제조한 제조사, 장비의 모델 정보 및 장비의 성능에 관한 다양한 장비 정보를 포함할 수 있다. 프로세서(13)는 저장부(12)에 저장된 장비 정보를 참조하여, 컴팩트 모델(CM)을 업데이트시킬 수 있다.
도 6, 7 및 8은 본 발명의 실시예들에 따른 소자 모델의 생성 방법이 적용되는 복수의 소자 모델들을 나타내는 도면들이다.
도 6 내지 8을 참조하면, 공정 데이터(PR)는 반도체 제품(SP)의 제조 공정을 나타내는 공정 타입(PT) 및 반도체 제품(SP)이 속하는 제품 그룹(PG)의 공정-그룹 조합(PGC)에 따라서 결정될 수 있다. 예를 들어, 공정 타입(PT)은 제조 공정의 임계 치수(CD, critical dimension)를 나타낼 수 있다. 제품 그룹(PG)은 서버향 제품 그룹, 모바일 제품 그룹, 그래픽 제품 그룹, 고대역폭 메모리 제품 그룹 등을 포함할 수 있다.
제1 반도체 제품(SP1)은 제1 공정 타입(PT1) 및 제1 제품 그룹(PG1)의 제1 조합(CB1)에 해당하고 제1 반도체 제품(SP1)의 공정 데이터(PR)는 제1 공정 데이터(PR1)로 결정될 수 있다. 제2 반도체 제품(SP2)은 제1 공정 타입(PT1) 및 제2 제품 그룹(PG2)의 제2 조합(CB2)에 해당하고 제2 반도체 제품(SP2)의 공정 데이터(PR)는 제2 공정 데이터(PR2)로 결정될 수 있다. 제3 반도체 제품(SP3)은 제1 공정 타입(PT1) 및 제3 제품 그룹(PG3)의 제3 조합(CB3)에 해당하고 제3 반도체 제품(SP3)의 공정 데이터(PR)는 제3 공정 데이터(PR3)로 결정될 수 있다.
제4 반도체 제품(SP4)은 제2 공정 타입(PT2) 및 제1 제품 그룹(PG1)의 제4 조합(CB1)에 해당하고 제4 반도체 제품(SP4)의 공정 데이터(PR)는 제4 공정 데이터(PR4)로 결정될 수 있다. 제5 반도체 제품(SP5)은 제2 공정 타입(PT2) 및 제2 제품 그룹(PG2)의 제5 조합(CB5)에 해당하고 제5 반도체 제품(SP5)의 공정 데이터(PR)는 제5 공정 데이터(PR5)로 결정될 수 있다. 제6 반도체 제품(SP6)은 제2 공정 타입(PT2) 및 제3 제품 그룹(PG3)의 제6 조합(CB6)에 해당하고 제6 반도체 제품(SP6)의 공정 데이터(PR)는 제6 공정 데이터(PR6)로 결정될 수 있다.
제7 반도체 제품(SP7)은 제3 공정 타입(PT3) 및 제1 제품 그룹(PG1)의 제7 조합(CB7)에 해당하고 제7 반도체 제품(SP7)의 공정 데이터(PR)는 제7 공정 데이터(PR7)로 결정될 수 있다. 제8 반도체 제품(SP8)은 제3 공정 타입(PT3) 및 제3 제품 그룹(PG3)의 제8 조합(CB8)에 해당하고 제8 반도체 제품(SP8)의 공정 데이터(PR)는 제8 공정 데이터(PR8)로 결정될 수 있다. 제9 반도체 제품(SP8)은 제3 공정 타입(PT3) 및 제2 제품 그룹(PG2)의 제9 조합(CB9)에 해당하고 제9 반도체 제품(SP9)의 공정 데이터(PR)는 제9 공정 데이터(PR9)로 결정될 수 있다.
이와 같은, 반도체 제품들(SP1~SP8)에 대하여 도 5를 참조하여 설명한 바와 같이 측정 데이터(MD)가 제공되고, 측정 데이터(MD)에 기초하여 제1 내지 제8 반도체 제품들(SP1~SP8)에 각각 상응하는 제1 내지 제8 컴팩트 모델들(CM1~CM8)이 생성될 수 있다.
컴팩트 모델은 소자 데이터에 기초한 시뮬레이션을 수행하여 소자 데이터(DV)에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터(SR)를 제공한다. 일반적으로 컴팩트 모델은 특정한 반도체 제품에 대한 공정 데이터에 상응하는 시뮬레이션 결과 데이터(SR)를 출력하도록 구현된다. 도 8에는 복수의 공정 데이터들(PR1~PR8)에 각각 상응하는 복수의 컴팩트 모델(CM1~CM8)이 도시되어 있다.
컴팩트 모델은 회로 설계에 필요한 소자 데이터의 범위에서 반도체 소자의 특성을 제공하여야 하고, 컴팩트 모델의 생성을 위한 측정 데이터의 제공을 위해 테스트 엘리먼트 그룹(Test element group)을 웨이퍼의 스크라이브 레인(scribe lane)에 배치한다. 그러나 스크라이브 레인의 제한적인 면적, 공정 TAT(turnaround time) 등에 따라서 특성 확인에 소요되는 시간이 증대하고 커버리지(coverage) 확보의 어려움이 발생한다.
본 발명의 실시예들에 따라서, 기존에 개발된 이전 세대의 컴팩트 모델들을 이용하여 새로운 반도체 제품에 상응하는 컴팩트 모델을 생성할 수 있다. 즉 본 발명의 실시예들에 따른 소자 모델의 생성 방법을 수행하여, 기존의 컴팩트 모델의 파라미터들을 새로운 반도체 제품의 측정 데이터에 기초하여 최적화함으로써 새로운 반도체 제품에 상응하는 컴팩트 모델을 효율적으로 생성할 수 있다.
상기 복수의 반도체 제품들 및 상기 타겟 반도체 제품은 메모리 장치들일 수 있다. 본 발명의 실시예들은 메모리 장치의 특성 예측에 특히 유용하다. 메모리 메모리 비즈니스에서는 회로 설계 및 소자 공정의 동시 최적화(DTCO, Design Technology Co-optimization)의 중요성이 점점 대두되고 있으며 따라서 차세대 제품에 포함되는 반도체 소자의 특성을 예측하여 설계에 필요한 소자 모델을 신속하게 제공할 필요가 있다. 또한, 메모리 비즈니스의 특성상 동일 또는 유사한 구조의 제품이 축소(shrink)되는 경향이 있으며, 본 발명의 실시예들에 따라서 효율적으로 소자 모델 또는 컴팩트 모델을 생성할 수 있다.
도 9는 본 발명의 실시예들에 따른 소자 모델의 생성 방법에서의 데이터들을 나타내는 도면이다. 도 9에는 예시적으로 반도체 소자가 트랜지스터에 해당하는 경우의 데이터들이 도시되어 있으나, 본 발명의 실시예들이 트랜지스터에 한정되는 것은 아니며 다른 반도체 소자들에 대해서도 본 발명의 실시예들이 적용될 수 있다
도 9를 참조하면, 컴팩트 모델의 입력 데이터는 소자 데이터(DV) 및/또는 공정 데이터(PR)를 포함할 수 있다.
소자 데이터(DV)는 반도체 소자의 구조 및 동작 조건을 나타낼 수 있다. 예를 들어, 소자 데이터(DV)는 트랜지스터의 폭(W), 트랜지스터의 길이(L)와 같은 반도체 소자의 구조에 관한 정보를 포함할 수 있다. 또한, 소자 데이터(DV)는 트랜지스터의 동작 온도(Top), 트랜지스터의 드레인 전압(Vd), 트랜지스터의 게이트 전압(Vg), 트랜지스터의 바디 전압(Vb), 트랜지스터의 소스 전압(Vs) 등과 같은 동작 조건에 관한 정보를 포함할 수 있다.
공정 데이터(PR)는 반도체 소자의 제조 공정의 조건을 나타낼 수 있다. 예를 들어, 공정 데이터(PR)는 이온-임플랜트 공정의 도펀트의 종류(Dk), 도펀트의 농도(Dd), 액티베이션 온도(Tact), 게이트 산화막의 두께(tOG), 트랜지스터의 게이트 구조물 중 하나인 스페이서의 두께(tSP) 등을 포함할 수 있다.
컴팩트 모델의 출력 데이터는 시뮬레이션 결과 데이터(SR)를 포함할 수 있다. 시뮬레이션 결과 데이터(SR) 및 측정 데이터의 비교에 기초하여 전술한 바와 같은 소자 모델의 생성 방법이 수행될 수 있다.
시뮬레이션 결과 데이터(SR)는 반도체 소자의 전기적 특성을 나타낼 수 있다. 예를 들어, 시뮬레이션 결과 데이터(SR)는 트랜지스터의 문턱 전압(Vt), 트랜지스터의 이득(G), 트랜지스터의 파괴(breakdown) 전압(Vbk), 트랜지스터의 드레인 전류(Id) 등을 포함할 수 있다.
도 10은 본 발명의 실시예들에 따른 소자 모델의 생성 방법을 수행하는 트레이닝 제어 모듈의 일 실시예를 나타내는 블록도이다.
도 10을 참조하면, 트레이닝 제어 모듈(TCM)은 제어 모듈(CMDL) 및 강화 학습 모듈(RMDL)을 포함할 수 있다. 실시예들에 따라서, 트레이닝 제어 모듈(TCM)은 유전 알고리즘 모듈(GAMDL)을 더 포함할 수 있다.
제어 모듈(CMDL)은 파라미터 선택부(PSL), 초기 값 선택부(IVSL), 소자 값 선택부(DVSL) 및 최적 값 결정부(OVDM)를 포함할 수 있다. 파라미터 선택부(PSL)는 소자 모델의 복수의 파라미터들 중에서 타겟 파라미터들을 선택하여 제공할 수 있다. 초기 값 선택부(IVSL)는 타겟 파라미터들의 초기 값들의 조합에 상응하는 초기 값 세트를 선택하여 제공할 수 있다. 소자 값 선택부(DVSL)는 소자 데이터의 값들의 조합에 상응하는 소자 값 세트를 선택하여 제공할 수 있다. 최적 값 결정부(OVDM)는 강화 학습 모듈(RLMDL)로부터 제공되는 로컬 최소 값들 또는 유전 알고리즘 모듈(GAMDL)로부터 제공되는 글로벌 최소 값들에 기초하여 타겟 파라미터들의 최적 값들을 결정할 수 있다.
강화 학습 모듈(RMDL) 및 유전 알고리즘 모듈(GAMDL)은 컴팩트 모델(CM)의 출력인 시뮬레이션 데이터(SR)와 측정 데이터의 비교에 기초하여 타겟 파라미터들의 최적 값들을 탐색할 수 있다. 강화 학습 모듈(RMDL)은 전술한 로컬 최소 값을 결정할 수 있다. 강화 학습 모듈(RMDL)의 실시예들에 대해서는 후술한다.
유전 알고리즘 모듈(GAMDL)은 상기 로컬 최소 값에 상응하는 타겟 파라미터들의 최적 값들을 초기 값들로 하여 더욱 최적화된 값들을 탐색할 수 있다.
유전 알고리즘(GL, Genetic Algorithm)은 진화의 핵심 원리인 자연 선택과 유전자의 개념을 이용한 최적화 기법을 말한다. 주어진 문제에 대한 해답을 선택(selection), 교차(crossover), 돌연변이(mutation)과 같은 무작위로 생성한 뒤 이 해답 집단을 진화시켜 좋은 해답(good solution)을 얻는 기법이다. 유전 알고리즘은 집단 기반의 최적화 기법인 진화 알고리즘의 한 종류로 집적 회로 설계, 인공 신경망 학습 등 매우 다양한 분야의 최적화 및 탐색(search) 문제에 적용되고 있다. 유전 알고리즘 모듈(GAMDL)은 당업자에게 알려진 다양한 방법에 의해 구현될 수 있다.
도 11은 본 발명의 실시예들에 따른 소자 모델의 생성 방법의 최적 값 결정의 일 실시예를 나타내는 순서도이고, 도 12 및 13은 도 11의 최적 값 결정을 설명하기 위한 도면들이다.
도 11을 참조하면, 복수의 로컬 최소 값들 중에서 최소 값에 해당하는 선택 로컬 최소 값을 결정하고(S510), 상기 선택 로컬 최소 값에 상응하는 상기 타겟 파라미터들의 값들을 상기 타겟 파라미터들의 최적 값들로 결정할 수 있다(S511).
도 12 및 13에는 예시적으로 초기 값 세트들(ISV)의 개수가 5개인 경우가 도시되어 있다. 제1 내지 제5 포인트들(Pt1~Pt5)은 제1 내지 제5 초기 값 세트들(IV1~IV5)에 각각 상응한다. 각각의 초기 갑 세트는 타겟 파라미터들의 개수에 상응하는 초기 값들을 포함할 수 있다. 제1 내지 제5 포인트들(Pt1~Pt5)은 제1 내지 제5 로컬 최소 값들(LM1~LM5)의 각각 및 상응하는 타겟 파라미터들의 제1 내지 제5 값들(PV1~PV5)의 조합들((PV1,LM1)~(PV5,LM5))로 표현될 수 있다.
도 12 및 13에 도시된 바와 같이, 제1 내지 제5 포인트들(Pt1~Pt5)에 각각 상응하는 제1 로컬 최소 값들(LM1~LM5)은 서로 다를 수 있다. 각각의 초기 값 세트에서부터 시작하여 강화 학습에 기초하여 타겟 파라미터들의 값들을 변화시키면서 각각의 초기 값 세트에 상응하는 각각의 로컬 최소 값이 결정된다. 따라서, 초기 값 세트가 다른 경우 강화 학습의 수행 결과는 달라질 수 있다. 복수의 초기 값 세트들에 대해 강화 학습을 반복하여 수행하여 복수의 로컬 최소 값들을 얻고, 복수의 로컬 최소 값들 중에서 최소 값을 선택 로컬 최소 값으로 결정할 수 있다. 도 12 및 13의 예에서는, 제4 포인트(Pt4)에 상응하는 제4 로컬 최소 값(LM4)이 선택 로컬 최소 값으로 결정되고, 제4 값들(PV4)이 타겟 파라미터들의 최적 값들로 결정될 수 있다.
도 14는 본 발명의 실시예들에 따른 소자 모델의 생성 방법의 최적 값 결정의 일 실시예를 나타내는 순서도이고, 도 15 및 16은 도 14의 최적 값 결정을 설명하기 위한 도면들이다.
도 14를 참조하면, 유전 알고리즘을 수행하여 복수의 로컬 최소 값들보다 작거나 같고 상기 복수의 로컬 최소 값들에 각각 상응하는 복수의 글로벌 최소 값들을 결정할 수 있다(S520). 상기 복수의 글로벌 최소 값들 중에서 최소 값에 해당하는 선택 글로벌 값을 결정하고(S521), 상기 선택 글로벌 최소 값에 상응하는 상기 타겟 파라미터들의 값들을 상기 타겟 파라미터들의 최적 값들로 결정할 수 있다(S522).
예를 들어, 도 12 및 13의 제1 내지 제5 포인트들(Pt1~Pt5)의 각각에 상응하는 유전 알고리즘을 수행하여 제1 내지 제5 포인트들(Pt1~Pt5)을 제1 내지 제5 보정 포인트들(Pt1'~Pt5')로 더욱 최적화할 수 있다. 도 15에는 예시적으로 제5 포인트(Pt5)를 제5 보정 포인트(Pt5')로 더욱 최적화하는 것이 도시되어 있다. 도 15에서, 세모는 타겟 파라미터들의 초기 값 세트에 상응하는 포인트를 나타내고, 원은 강화 학습의 결과에 따른 로컬 최소 값에 상응하는 포인트를 나타내고, 네모는 로컬 최소 값에 기초하여 유전 알고리즘의 결과에 따른 글로벌 최소 값에 상응하는 포인트를 나타낸다. 제1 내지 제5 보정 포인트들(Pt1'~Pt5')은 제1 내지 제5 글로벌 최소 값들(GM1~GM5)의 각각 및 상응하는 타겟 파라미터들의 제1 내지 제5 값들(PV1'~PV5')의 조합들((PV1',LM1')~(PV5',LM5'))로 표현될 수 있다.
일반적으로 유전 알고리즘에 기초한 최소 값 탐색은 상당히 긴 시간이 요구된다. 본 발명의 실시예들에 따라서, 먼저 강화 학습을 수행하여 로컬 최소 값에 상응하는 타겟 파라미터들의 값들을 구하고, 유전 알고리즘을 수행하여 타겟 파라미터들의 값들을 더욱 최적화함으로써 성능이 우수한 소자 모델을 효율적으로 생성할 수 있다.
도 17은 도 10의 트레이닝 제어 모듈에 포함되는 강화 학습 모듈의 일 실시예를 나타내는 블록도이고, 도 18은 17의 강화 학습 모듈에 의한 로컬 최소 값의 결정 방법의 일 실시예를 나타내는 순서도이다.
도 17을 참조하면, 강화 학습 모듈(RLMDL)은 에이전트 모듈(AGML) 및 인바이런먼트 모듈(EMDL)을 포함할 수 있다.
에이전트 모듈(AGMDL)은 각각의 초기 값 세트에 대하여, 현재의 액션에 상응하는 리워드 값에 기초하여 다음의 액션을 결정하는 이터레이션을 반복적으로 수행할 수 있다. 인바이런먼트 모듈(EMDL)은 상기 현재의 액션에 상응하는 타겟 파라미터들의 값들에 기초하여 상기 리워드 값을 생성할 수 있다. 에이전트 모듈(AGMDL)은 상기 이터레이션의 반복에 따른 상기 리워드 값의 변화에 기초하여 상기 각각의 초기 값 세트에 상응하는 각각의 로컬 최소 값을 결정할 수 있다.
일 실시예에서, 강화 학습 모듈(RLMDL)은 도 18에 도시된 바와 같은 심층 강화 학습을 수행할 수 있다.
도 17 및 18을 참조하면, 에이전트 모듈(AGMDL)은 각각의 초기 값 세트에 대하여, 타겟 파라미터들의 값들의 변경을 나타내는 복수의 후보 액션들 중에서 현재의 액션(AC)에 상응하는 리워드 값(RW) 및 복수의 큐 값들(Q)에 기초하여 다음의 액션을 결정하는 이터레이션을 반복적으로 수행할 수 있다(S410).
인바이런먼트 모듈(EMDL)은 현재의 액션(AC)에 상응하는 상기 타겟 파라미터들의 값들에 기초하여 리워드(RW) 값 및 상기 복수의 후보 액션들의 예측 리워드 값들을 나타내는 상기 복수의 큐 값들(Q)을 생성할 수 있다(S411).
에이전트 모듈(AGMDL)은 상기 이터레이션의 반복에 따른 리워드 값(RW)의 변화에 기초하여 상기 각각의 초기 값 세트에 상응하는 각각의 로컬 최소 값을 결정할 수 있다.
도 19는 도 17의 강화 학습 모듈의 전체적인 동작을 나타내는 순서도이다. 복수의 입력 값 세트들의 각각에 대하여 도 19에 도시된 바와 같은 동작이 독립적으로 수행될 수 있다.
에이전트 모듈(AGMDL)은 이전의 액션에 상응하는 리워드 값 및 복수의 큐 값들에 기초하여 현재의 액션을 결정한다(S21).
인바이런먼트 모듈(EMDL)은 상기 현재의 액션에 상응하는 측정 데이터 및 시뮬레이션 데이터의 차이 값(DIFF)에 기초하여 상기 리워드 값을 생성한다(S22). 차이 값(DIFF)은 현재의 액션에 의해 변경된 타겟 파라미터들의 값들에 기초하여 결정된다.
에이전트 모듈(AGMDL)은 로컬 최소 값(LM)의 결정 조건이 만족되었는지를 판단한다(S23). 예를 들어, 에이전트 모듈(AGMDL)은 하기의 수학식에 기초하여 상기 조건이 만족되었는지를 판단할 수 있다.
RWt - RWt-1 < ε
상기의 수학식에서 RWt는 t번째 이터레이션에서 생성되는 현재의 액션에 상응하는 리워드 값을 나타내고, RWt-1은 t-1번째 이터레이션에서 생성되는 이전의 액션에 상응하는 리워드 값을 나타내고, ε는 미리 설정된 기준 값을 나타낸다. 에이전트 모듈(AGMDL)은 일정한 횟수의 이터레이션들에 대하여 상기의 수학식과 같이 인접한 이터레이션들의 리워드 값들(RWt, RWt-1)이 기준 값(ε)보다 작은 경우, 로컬 최소 값(LM)의 결정 조건이 만족되었다고 판단할 수 있다.
로컬 최소 값(LM)의 결정 조건이 만족되었다고 판단된 경우(S23: YES), 에이전트 모듈(AGMDL)은 현재의 타겟 파라미터들의 값들에 상응하는 차이 값(DIFF)을 로컬 최소 값(LM)으로 결정하고(S25) 동작을 중단할 수 있다.
로컬 최소 값(LM)의 결정 조건이 만족되지 않았다고 판단된 경우(S23: NO), 인바이런먼트 모듈(200)은 현재의 액션에 의해 변경된 타겟 파라미터들의 값들에 상응하는 복수의 큐 값들을 생성한다(S24).
이와 같이, 에이전트 모듈(AGMDL)은 로컬 최소 값(LM)의 결정 조건이 만족될 때까지 인바이런먼트 모듈(200)로부터 제공되는 리워드 값(RW) 및 복수의 큐 값들에 기초하여 다음의 액션을 결정하는 이터레이션을 반복적으로 수행할 수 있다.
강화 학습이란 기본적으로 인바이런먼트(environment), 에이전트(agent), 상태(state), 액션(action), 보상(reward)으로 구성된 강화 학습 알고리즘이다. 먼저 에이전트가 액션을 취함으로써 에이전트는 새로운 상태로 움직일 수 있다. 에이전트는 액션에 대해 인바이런먼트로부터 두가지 보상인 즉각적 보상(immediate reward)와 장래의 보상(future reward)를 받게 된다. 즉각적 보상은 에이전트가 취한 행동에 대해 발생하는 즉각적인 보상이고, 장래의 보상은 액션으로 인해 나타나는 미래 인바이런먼트에 대한 보상을 말한다. 전술한 리워드 값(RW)은 즉각적인 보상에 해당하고 큐 값들은 장래의 보상에 해당한다.
결국 에이전트의 최종 목표는 하기의 수학식에 표현된 것과 같이 두 가지 보상을 최대로 받을 수 있도록 큐 값을 업데이트 하는 것이라 할 수 있다.
Figure pat00001
]
상기의 수학식에서, s는 state, a는 action, r은 reward를 지칭한다.
Figure pat00002
는 할인 인자(discount factor)로서 0에서 1사이의 값을 가지며 0에 가까우면 현재, 1에 가까울 수록 미래에 대한 보상의 중요성을 강조하게 된다. 일 실시예에서, 현재 및 미래에 대한 보상을 동등하게 고려하기 위해 할인 인자()는 0.5로 설정될 수 있다.
Figure pat00003
는 학습률(learning rate)로서 0에서 1사이의 값을 가지며 큐 값의 학습 속도를 결정한다. 예를 들어,
Figure pat00004
이면 에이전트는 학습을 수행하지 않는다.
Figure pat00005
이면 가장 최근의 정보를 활용하여 에이전트가 학습하게 된다.
이상 설명한 강화 학습 모듈(RLMDL)은 도 20a 내지 20c를 참조하여 설명하는 바와 같은 적어도 하나의 인공 신경망을 포함할 수 있다.
도 20a 및 20b는 인공 신경망 구조의 예를 설명하기 위한 도면들이다.
도 20a를 참조하면, 일반적인 신경망의 네트워크 구조는 입력 레이어(IL), 복수의 히든 레이어들(HL1, HL2, ..., HLn) 및 출력 레이어(OL)를 포함할 수 있다.
입력 레이어(IL)는 입력 데이터(X)에 상응하는 i(i는 자연수)개의 입력 노드들(x1, x2, ..., xi)을 포함할 수 있고, 길이가 i인 벡터 입력 데이터(X)가 각 입력 노드에 입력될 수 있다.
복수의 히든 레이어들(HL1, HL2, ..., HLn)은 n(n은 자연수)개의 히든 레이어들을 포함하며, 히든 노드들(h1 1, h1 2, h1 3, ..., h1 m, h2 1, h2 2, h2 3, ..., h2 m, hn 1, hn 2, hn 3, ..., hn m)을 포함할 수 있다. 예를 들어, 히든 레이어(HL1)는 m(m은 자연수)개의 히든 노드들(h1 1, h1 2, h1 3, ..., h1 m)을 포함할 수 있고, 히든 레이어(HL2)는 m개의 히든 노드들(h2 1, h2 2, h2 3, ..., h2 m)을 포함할 수 있으며, 히든 레이어(HLn)는 m개의 히든 노드들(hn 1, hn 2, hn 3, ..., hn m)을 포함할 수 있다.
출력 레이어(OL)는 출력 데이터(Y)에 대응하는 j(j는 자연수)개의 출력 노드들(y1, y2, ..., yj)을 포함할 수 있고, 입력 데이터(X)에 상응하는 출력 데이터(Y)를 발생할 수 있다.
도 20a에 도시된 네트워크 구조는, 두 개의 노드들 사이에 직선으로 도시된 노드들 간의 연결(branch)과, 도시되지는 않았지만 각 연결에서 사용되는 가중치(weight) 값들을 포함할 수 있다. 이 때, 하나의 레이어 내의 노드들 간에는 연결이 되지 않을 수 있고, 서로 다른 레이어들에 포함되는 노드들은 완전하게 혹은 부분적으로 연결될 수 있다.
도 6a의 각 노드(예를 들어, h1 1)는 이전 노드(예를 들어, x1)의 출력을 입력 받아 연산할 수 있고, 연산 결과를 이후 노드(예를 들어, h2 1)에 출력할 수 있다. 이 때, 각 노드는 입력된 값을 특정 함수, 예를 들어 비선형 함수에 적용하여 출력할 값을 연산할 수 있다.
일반적으로 인공 신경망의 네트워크 구조는 미리 결정되어 있으며, 노드들 간의 연결에 따른 가중치들은 정답이 알려진 데이터를 이용하여 적절한 값을 산정할 수 있다.
이와 같이 이미 정답이 알려진 데이터들을 '학습 데이터'라고 하고, 가중치를 결정하는 과정을 '교사 학습(supervised learning)'이라고 할 수 있다. 또한, 독립적으로 학습이 가능한 구조와 가중치의 묶음을 '모델'이라고 가정하고, 가중치가 결정된 모델이 입력 데이터가 어느 클래스에 속할지를 예측하여 그 예측값을 출력하는 것을 '테스트' 과정이라고 한다.
한편, 도 20a에 도시된 일반적인 신경망은 각 노드(예를 들어, h11)가 앞쪽 레이어(previous layer)(예를 들어, IL)의 모든 노드들(예를 들어, x1, x2, ..., xi)과 연결되어 있어, 예를 들어, 입력 데이터(X)가 영상(또는 음성)인 경우에 영상의 크기가 증가할수록 필요한 가중치의 개수가 기하급수적으로 증가하며, 따라서 영상을 다루기에 적절하지 않을 수 있다. 이에 따라, 신경망에 필터 기술을 병합하여, 신경망이 2차원 영상을 잘 습득할 수 있도록 구현된 컨볼루션(convolutional) 신경망이 연구되고 있다.
도 20b를 참조하면, 컨볼루션 신경망의 네트워크 구조는 복수의 레이어들(CONV1, RELU1, CONV2, RELU2, POOL1, CONV3, RELU3, CONV4, RELU4, POOL2, CONV5, RELU5, CONV6, RELU6, POOL3, FC)을 포함할 수 있다.
일반적인 신경망과 다르게, 컨볼루션 신경망의 각 레이어는 가로(또는 폭, width), 세로(또는 높이, height), 깊이(depth)의 3개의 차원을 가질 수 있다. 이에 따라, 각 레이어에 입력되는 데이터 또한 가로, 세로, 깊이의 3개의 차원을 가지는 볼륨 데이터일 수 있다.
컨볼루션 레이어들(CONV1, CONV2, CONV3, CONV4, CONV5, CONV6)은 입력에 대한 컨볼루션 연산을 수행할 수 있다. 영상 처리에서 컨볼루션이란 가중치를 갖는 마스크를 이용하여 데이터를 처리하는 것을 의미할 수 있으며, 입력 값과 마스크의 가중치를 곱한 후에 그 합을 출력 값으로 정하는 것을 나타낼 수 있다. 이 때, 마스크를 필터(filter), 윈도우(window) 또는 커널(kernel)이라고 부를 수 있다.
구체적으로, 각 컨볼루션 레이어의 파라미터들은 일련의 학습 가능한 필터들로 이루어져 있을 수 있다. 각 필터는 가로/세로 차원으로는 각 레이어의 전체 크기보다 작지만 깊이 차원으로는 각 레이어의 전체 깊이를 아우를 수 있다.
예를 들어, 각 필터를 입력 볼륨의 가로/세로 차원으로 슬라이딩(정확히는 convolve) 시키며 필터와 입력의 요소들 사이의 내적 연산(dot product)을 수행하여 2차원의 액티베이션 맵(activation map)을 생성할 수 있고, 이러한 액티베이션 맵을 깊이 차원을 따라 쌓아서 출력 볼륨을 생성할 수 있다.
예를 들어, 컨볼루션 레이어(CONV1)가 32*32*3의 크기의 입력 볼륨 데이터(X)에 네 개의 필터들을 제로 패딩(zero-padding)과 함께 적용하면, 컨볼루션 레이어(CONV1)의 출력 볼륨은 32*32*12의 크기를 가질 수 있다 (즉, 깊이 증가).
RELU 레이어들(RELU1, RELU2, RELU3, RELU4, RELU5, RELU6)은 입력에 대한 정정 선형 유닛 연산을 수행할 수 있다. 예를 들어, 정정 선형 유닛 연산은 max(0, x)와 같이 음수에 대해서만 0으로 처리하는 함수를 나타낼 수 있다. 예를 들어, RELU 레이어(RELU1)가 컨볼루션 레이어(CONV1)로부터 제공된 32*32*12의 크기의 입력 볼륨에 정정 선형 유닛 연산을 수행하면, RELU 레이어(RELU1)의 출력 볼륨은 32*32*12의 크기를 가질 수 있다 (즉, 볼륨 유지).
풀링 레이어들(POOL1, POOL2, POOL3)은 입력 볼륨의 가로/세로 차원에 대해 다운 샘플링을 수행할 수 있다. 예를 들어, 2*2 필터를 적용하는 경우에 2*2 영역의 네 개의 입력들을 하나의 출력으로 변환할 수 있다. 구체적으로, 2*2 최대 값 풀링과 같이 2*2 영역의 네 개의 입력들 중 최대 값을 선택하거나, 2*2 평균 값 풀링과 같이 2*2 영역의 네 개의 입력들의 평균 값을 연산할 수 있다. 예를 들어, 풀링 레이어(POOL1)가 32*32*12의 크기의 입력 볼륨에 2*2 필터를 적용하면, 풀링 레이어(POOL1)의 출력 볼륨은 16*16*12의 크기를 가질 수 있다 (즉, 가로/세로 감소, 깊이 유지, 볼륨 감소).
일반적으로 컨볼루션 신경망에서는 하나의 컨볼루션 레이어(예를 들어, CONV1)와 하나의 RELU 레이어(예를 들어, RELU1)가 한 쌍을 형성할 수 있고, 컨볼루션/RELU 레이어들의 쌍이 반복 배치될 수 있으며, 컨볼루션/RELU 레이어들의 쌍이 반복 배치되는 중간 중간에 풀링 레이어를 삽입함으로써, 입력 데이터(X)의 특징을 추출할 수 있다. 컨볼루션 신경망에 포함되는 레이어들의 종류 및 개수는 실시예에 따라서 다양하게 변경될 수 있다.
본 발명의 실시예들이 특정한 인공 신경망에 한정되는 것은 아니다, 인공 신경망은 GAN(Generative Adversarial Network), CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), S-DNN(Stacking-based deep Neural Network), S-SDNN(State-Space Dynamic Neural Network), Deconvolution Network, DBN(Deep Belief Network), RBM(Restricted Boltzman Machine), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network 및 BNN(Bayesian Neural Network) 중 적어도 하나를 포함할 수 있다.
도 20c는 인공 신경망의 예시적인 노드를 나타내는 도면이다.
도 20c는 인공 신경망에 포함되는 하나의 노드(ND)에서 수행되는 연산의 일 예를 나타낸다.
하나의 노드(ND)에 N개의 입력들(a1, a2, a3, ..., aN)이 제공되는 경우에, 노드(ND)는 N개의 입력들(a1, a2, a3, ..., aN) 및 이에 대응하는 N개의 가중치들(w1, w2, w3, ..., wN)을 각각 곱하여 합산하고, 상기 합산된 입력 값에 오프셋(b)을 더하며, 상기 오프셋이 반영된 입력 값을 특정 함수(σ)에 적용하여 하나의 출력 신호를 발생할 수 있다. 트레이닝 데이터에 기초하여 학습 동작을 수행하여 신경망에 포함된 모든 노드들을 갱신할 수 있다.
도 21은 도 17의 강화 학습 모듈에서의 예비 액션들의 일 실시예를 나타내는 도면이다.
도 21에는 예를 들어, 타겟 파라미터들이 3개의 파라미터들, 즉 제1 내지 제3 타겟 파라미터들(p1, p2, p3)를 포함하는 경우가 도시되어 있다. 예를 들어, 복수의 후보 액션들은 제1 내지 제8 예비 액션들(CAC1~CAC8)을 포함할 수 있다. Δp1은 제1 타겟 파라미터(p1)의 변경을 나타내고, Δp2는 제2 타겟 파라미터(p2)의 변경을 나타내고, Δp3는 제3 타겟 파라미터(p3)의 변경을 나타낸다. 도 21에서 '0'은 해당 타겟 파라미터의 값을 단위 값만큼 감소하는 것을 나타내고, '1'은 해당 타겟 파라미터의 값을 단위 값만큼 증가하는 것을 나타낼 수 있다. 상기 단위 값은 Δp1, Δp2 및 Δpc에 대해 동일한 값이 적용될 수도 있고 서로 다른 값들이 적용될 수도 있다.
예를 들어, 제5 예비 액션(CAC5)은 현재의 타겟 파라미터들의 값들에서 제1 타겟 파라미터의 값(p1)을 단위 값만큼 감소시키고, 제2 타겟 파라미터의 값(p2)을 단위 값만큼 증가시키고, 제3 타겟 파라미터의 값(p3)을 단위 값만큼 증가시키는 것을 나타낸다.
도 22는 도 17의 강화 학습 모듈에 포함되는 인바이런먼트 모듈의 일 실시예를 나타내는 블록도이다.
도 22를 참조하면, 인바이런먼트 모듈(EMDL)은 소자 모델 또는 컴팩트 모델(CM), 변환부(SCONV), 제어부(SLC) 및 예측 네트워크(PNW)를 포함할 수 있다.
컴팩트 모델(CM)은 현재의 액션에 상응하는 타겟 파라미터들의 값들(PV) 및 소자 데이터(DV)에 기초하여 시뮬레이션 데이터(SR)를 생성할 수 있다.
변환부(SCONV)는 측정 데이터(MD) 및 시뮬레이션 데이터(SR)의 차이에 기초하여 리워드 값(RW)을 생성할 수 있다. 변환부(SCONV)는 측정 데이터(MD) 및 시뮬레이션 데이터(SR)의 차이가 감소할수록 리워드 값(RW)을 증가할 수 있다. 예를 들어, 리워드 값(RW)은 측정 데이터(MD) 및 시뮬레이션 데이터(SR)의 차이에 반비례할 수 있다.
제어부(SLC)는 현재의 액션(AC)에 상응하는 타겟 파라미터들의 값들(PV) 및 리워드 값(RW)에 기초하여 예측 네트워크(PNW)의 학습을 제어할 수 있다.
일 실시예에서, 제어부(SLC)는 복수의 이터레이션들에 상응하는 액션들, 타겟 파라미터들의 값들 및 리워드 값들을 축적한 축적 정보(ACC)를 저장할 수 있다. 제어부(SLC)는 축적 정보(ACC)에 기초하여 예측 네트워크(PNW)를 학습시킬 수 있다. 축적 정보(ACC)에 기초하여 예측 네트워크(PNW)를 학습시킴으로써 예측 네트워크(PNW)의 학습 과정에서의 편향성(bias)을 방지할 수 있다.
도 23은 도 22의 인바이런먼트 모듈에 의해 학습되는 예측 네트워크를 나타내는 도면이다.
도 23을 참조하면, 예측 네트워크(PNW)는 심층 강화 학습의 상태에 해당하는 타겟 파라미터들의 값들(PV)(예를 들어, 제1 내지 제3 타겟 파라미터들(p1~p3)을 수신하는 입력 레이어(IL) 및 예비 액션들(Δp1, Δp2, Δp3)에 상응하는 큐 값들(Q(Δp1, Δp2, Δp3))을 생성하는 출력 레이어(OL)를 포함할 수 있다. 도 23에는 입력 레이어(IL) 및 출력 레이어(OL) 사이의 히든 레이어들 또는 중간 레이어들은 편의상 도시가 생략되어 있다. 예측 네트워크(PNW)의 구조는 도 20a 내지 20c를 참조하여 설명한 바와 같이 다양하게 설계될 수 있다.
도 24는 반도체 소자의 전류-전압 곡선 상의 기준 점들의 일 실시예를 나타내는 도면이고, 도 25는 도 24의 기준 점들에 상응하는 소자 데이터의 일 예를 나타내는 도면이다.
이하에서는 반도체 소자가 트랜지스터에 해당하고, 전류-전압 곡선은 상기 트랜지스터의 적어도 하나의 게이트-소스 전압(Vg)에 대하여 상기 트랜지스터의 드레인-소스 전압(Vds)의 변화에 따른 상기 트랜지스터의 드레인-소스 전류(Ids)의 변화를 나타내는 실시예에 대하여 설명하지만, 본 발명의 실시예들이 이에 한정되는 것은 아니며 다른 반도체 소자들에 대해서도 본 발명의 실시예들이 적용될 수 있다. 예를 들어, 반도체 소자가 모스 커패시터인 경우, 전류-전압 곡선은 커패시턴스-전압 곡선으로 대체됨으로써 본 발명의 실시예들이 적용될 수 있음을 이해할 수 있을 것이다.
예를 들어, 도 24에 도시된 바와 같이, 전류-전압 곡선은 복수의 게이트-소스 전압들(Vgs=0.0V, Vgs=0.6V, Vgs=1.2V)에 각각 상응하는 복수의 게이트 전압 곡선들을 포함할 수 있다. 복수의 기준 점들이 복수의 게이트 전압 곡선들에 적절하게 분포하도록 추출될 수 있다. 도 24 및 25에는 6개의 기준 점들이 추출되는 예를 도시하고 있으나, 복수의 기준 점들의 개수 및 곡선 상의 위치들은 반도체 소자의 전류-전압 특성을 고려하여 적절하게 결정될 수 있다.
도 24 및 25에 도시된 바와 같이, 6개의 타겟 점들(ET)의 각각은 소자 데이터(DV), 예를 들어, 드레인-소스 전압(Vds) 및 게이트-소스 전압(Vgs)의 서로 다른 다른 조합들에 상응하는 6개의 소자 값 세트들 및 상응하는 타겟 전류들(ET), 즉 소스-드레인 전류들(Idsat, Idsat2, Idmid, Idmid2, Idlin, Idoff)을 나타낼 수 있다. 도 10의 소자 값 선택부(DVSL)은 이와 같은 복수의 소자 값 세트들을 선택하여 강화 학습 모듈(RLMDL) 및 유전 알고리즘 모듈(GAMDL)에 제공할 수 있다.
도 26, 27 및 28은 도 24의 기준 점들에 대해 본 발명의 실시예들에 따른 소자 모델의 생성 방법을 적용한 결과를 나타내는 도면들이다.
도 26에는 도 24 및 25의 6개의 기준 점들에 대하여 전술한 바와 같은 소자 모델의 생성 방법에 따라서 구해진 로컬 최소 값들의 예가 도시되어 있다. 도 26에서, 0~13의 숫자들은 타겟 파라미터들의 서로 다른 14개의 초기 값 세트들을 나타낸다. 각각의 초기 값 세트에 상응하는 최소 로컬 값들은 6개의 기준 점들, 즉 6개의 소자 값 세트들에 각각 상응하는 6개의 특성 로컬 최소 값들을 포함할 수 있다. 도 26에 도시된 바와 같이, 강화 학습의 초기 값 세트가 달라지면 로컬 최소 값들이 달라질 수 있다.
도 26에 도시된 바와 같이, 타겟 전류들(Idsat, Idsat2, Idmid, Idmid2, Idlin, Idoff)에 따라서 로컬 최소 값들의 스케일이 다를 수 있다.
이 경우, 도 10의 최적 값 결정부(OVDM)는 각각의 초기 값 세트에 해당하는 6개의 특성 로컬 최소 값들을 각각 정규화하여 6개의 정규화된(normalized) 특성 로컬 최소 값들을 생성하고, 각각의 초기 값 세트에 대하여 6개의 정규화된 특성 로컬 최소 값들의 합에 상응하는 각각의 로컬 최소 값을 결정할 수 있다. 최적 값 결정부(OVDM)는 이와 같이 정규화를 통하여 결정된 14개의 로컬 최소 값들 중에서 최소 값을 선택 로컬 최소 값으로 결정할 수 있다. 최적 값 결정부(OVDM)는 상기 선택 글로벌 최소 값에 상응하는 상기 타겟 파라미터들의 값들을 상기 타겟 파라미터들의 최적 값들로 결정할 수 있다.
도 27에는 강화 학습(RL)을 수행하여 얻어진 도 26의 14개의 입력 세트 값들에 상응하는 로컬 최소 값들의 각각에 대하여 유전 알고리즘(GA)을 수행하여 글로벌 최소 값들을 구하고, 이 중에서 최소 값에 해당하는 선택 글로벌 최소 값의 일 예가 도시되어 있다. 최적 값 결정부(OVDM)는 이와 같이 결정된 선택 글로벌 최소 값에 상응하는 타겟 파라미터들의 값들을 타겟 파라미터들의 최적 값들로 결정할 수 있다.
도 28의 왼쪽 부분에는 일반적인 방법에 의해 생성된 컴팩트 모델의 측정 데이터(MD) 및 시뮬레이션 데이터(SR)가 도시되어 있고, 도 28의 오른쪽 부분에는 본 발명의 실시예들에 따른 방법에 따라서 강화 학습 및 유전 알고리즘을 수행하여 생성된 컴팩트 모델의 측정 데이터(MD) 및 시뮬레이션 데이터(SR)가 도시되어 있다. 도 28에 도시된 바와 같이, 본 발명의 실시예들에 따른 학습에 기초한 최적화 기법을 이용하여 소자 모델의 파라미터들을 결정함으로써 반도체 소자의 특성을 정확하게 예측할 수 있는 소자 모델을 제공할 수 있다.
도 29는 본 발명의 실시예들에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 29를 참조하면, 컴퓨팅 시스템(1000)은 시스템 온 칩(SOC)과 워킹 메모리(1130), 디스플레이 장치(LCD)(1152), 터치 패널(1154), 저장 장치(1170), 전력 관리 집적 회로(PMIC)(1200) 등을 포함할 수 있다. 시스템 온 칩(SOC)은 프로세서(CPU)(1110), 뉴럴 프로세싱 제어 시스템(NPCS)(1115), 디램 컨트롤러(1120), 성능 제어기(PFMC)(1140), 사용자 인터페이스(UI) 컨트롤러(1150), 스토리지 인터페이스(1160), 가속기(1180), 파워 관리 유닛(PMU)(1144), 클록 관리 유닛(CMU)(1146) 등을 포함할 수 있다. 컴퓨팅 시스템(1000)의 구성 요소들은 도시된 구성 요소들에 국한되지 않음은 잘 이해될 것이다. 예를 들면, 컴퓨팅 시스템(1000)는 영상 데이터를 처리하기 위한 하드웨어 코덱, 보안 블록 등을 더 포함할 수 있다.
프로세서(1110)는 컴퓨팅 시스템(1000)에서 수행될 소프트웨어(응용 프로그램, 운영 체제, 장치 드라이버들)를 실행한다. 프로세서(1110)는 워킹 메모리(1130)에 로드되는 운영 체제(OS)를 실행할 수 있다. 또한 프로세서(1110)는 운영 체제(OS) 기반에서 구동될 다양한 응용 프로그램들(Application Program)을 실행할 수 있다. 프로세서(1110)는 동종 멀티-코어 프로세서(Homogeneous Multi-Core Processor) 또는 이종 멀티-코어 프로세서(Heterogeneous Multi-Core Processor)로 제공될 수 있다. 멀티-코어 프로세서는 적어도 2개의 독립적으로 구동 가능한 프로세서 코어(이하, 코어)들을 갖는 컴퓨팅 컴포넌트(Computing component)이다. 코어들 각각은 프로그램 명령들(Program Instructions)을 독립적으로 읽고 실행할 수 있다.
프로세서(1110)의 프로세서 코어들은 독립된 구동 클록 및/또는 독립된 구동 전압에 의해서 동작하는 복수의 클러스터들로 그룹화될 수 있다. 즉 동일한 클러스터에 속하는 프로세서 코어들은 동일한 클록 신호에 기초하여 동작하는 클록 도메인(clock domain) 및/또는 동일한 구동 전압에 기초하여 동작하는 파워 도메인(Power Domain)에 포함될 수 있다. 멀티-코어들 각각에 공급되는 구동 전압과 구동 클록 신호를 코어 단위로 차단 또는 연결할 수 있다.
운영 체제(OS)의 커널(Kernel)에서는 이러한 방식의 프로세서(1110) 제어를 위해서 런 큐(Run Queue)에 있는 태스크들의 수와 프로세서(1110)의 구동 전압 및 구동 클록을 특정 시간 간격으로 모니터링할 수 있다. 또한, 운영체제(OS)의 커널은 모니터링된 정보를 참조하여 프로세서(1110)의 핫플러그-인(Hotplug-in) 또는 핫플러그-아웃(Hotplug-out)을 제어할 수 있다.
디램 컨트롤러(1120)는 워킹 메모리(130)와 시스템 온 칩(SoC) 사이에서 인터페이싱을 제공한다. 디램 컨트롤러(1120)는 프로세서(1110)나 다른 기능 블록(Intellectual Property: IP)의 요청에 따라 워킹 메모리(1130)를 액세스할 수 있다.
워킹 메모리(1130)에는 부팅시에 운영 체제(OS)나 기본 응용 프로그램들(Application Program)이 로드될 수 있다. 예를 들면, 컴퓨팅 시스템(1000)의 부팅시에 저장 장치(1170)에 저장된 OS 이미지가 부팅 시퀀스에 의거하여 워킹 메모리(1130)로 로드된다. 운영 체제(OS)에 의해서 컴퓨팅 시스템(1000)의 제반 입출력 동작들이 지원될 수 있다. 워킹 메모리(1130)는 SRAM(Static Random Access Memory)이나 DRAM(Dynamic Random Access Memory)과 같은 휘발성 메모리이거나, PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등의 비휘발성 메모리일 수 있다.
성능 제어기(1140)는 운영 체제(OS)의 커널(Kernel)로부터 제공되는 제어 요청에 따라 시스템 온 칩(SOC)의 동작 파라미터들을 조정할 수 있다. 예를 들면, 성능 제어기(1140)는 시스템 온 칩(SOC)의 성능을 높이기 위해서 DVFS의 전력 레벨을 조정할 수 있다. 또는, 성능 제어기(1140)는 커널(Kernel)의 요청에 따라 프로세서(1110)의 프로세서 코어들의 동작 주파수를 각각 제어하기 위해 전술한 바와 같은 주파수 선택 신호들을 생성할 수 있다. 이때, 성능 제어기(1140)는 내부에 구동 전압 및 구동 클록의 동작 주파수를 설정하는 성능 테이블(1142)을 포함할 수 있다. 성능 제어기(1140)는 파워 관리 집적 회로(1200)에 연결된 파워 관리 유닛(PMU)(1144) 및 클록 관리 유닛(CMU)(1146)이 각 파워 도메인에 지정된 구동 전압 및 구동 클록을 제공하도록 제어할 수 있다.
사용자 인터페이스 컨트롤러(1150)는 사용자 인터페이스 장치들로부터의 사용자 입력 및 출력을 제어한다. 예를 들면, 사용자 인터페이스 컨트롤러(1150)는 프로세서(1110)의 제어에 따라 액정 표시 장치(1152)에 데이터를 입력하기 위한 키보드 화면 등을 표시할 수 있다. 또는, 사용자 인터페이스 컨트롤러(1150)는 사용자가 요청한 데이터를 표시하도록 디스플레이 장치(1152)를 제어할 수 있다. 사용자 인터페이스 컨트롤러(1150)는 터치 패널(1154)과 같은 사용자 입력 수단으로부터의 제공되는 데이터를 사용자 입력 데이터로 디코딩할 수 있다.
스토리지 인터페이스(1160)는 프로세서(1110)의 요청에 따라 저장 장치(1170)를 액세스한다. 즉, 스토리지 인터페이스(1160)는 시스템 온 칩(SOC)과 저장 장치(1170) 사이의 인터페이스를 제공한다. 프로세서(1110)에 의해서 처리된 데이터가 스토리지 인터페이스(1160)를 통해 저장 장치(1170)에 저장될 수 있고, 저장 장치(1170)에 저장된 데이터는 스토리지 인터페이스(1160)를 통해 프로세서(1110)에 제공될 수 있다.
저장 장치(1170)는 컴퓨팅 시스템(1000)의 저장 매체(Storage Medium)로서 제공된다. 저장 장치(1170)는 응용 프로그램들(Application Program), 운영 체제 이미지(OS Image) 및 각종 데이터를 저장할 수 있다. 저장 장치(1170)는 메모리 카드(MMC, eMMC, SD, MicroSD 등)로 제공될 수도 있다. 저장 장치(1170)는 대용량의 저장 능력을 가지는 낸드 플래시 메모리(NAND-type Flash memory)를 포함할 수 있다. 또는, 저장 장치(1710)는 PRAM, MRAM, ReRAM, FRAM 등의 차세대 비휘발성 메모리나 NOR 플래시 메모리를 포함할 수도 있다.
가속기(1180)는 멀티미디어 또는 멀티미디어 데이터의 처리 속도를 향상하기 위한 별도의 기능 블록(IP)으로 제공될 수 있다. 예를 들면, 가속기(1180)는 텍스트(Text), 오디오(Audio), 정지 영상들(Still images), 애니메이션(Animation), 비디오(Video), 2차원 데이터, 또는 3차원 데이터의 처리 성능을 향상시키기 위한 기능 블록(IP)으로 제공될 수 있다.
시스템 인터커넥터(1190)는 시스템 온 칩(SoC)의 내부에서 온칩 네트워크를 제공하기 위한 시스템 버스(System Bus)이다. 시스템 인터커넥터(1190)는 예를 들면, 데이터 버스(Data bus), 어드레스 버스(Address bus) 및 컨트롤 버스(Control bus)를 포함할 것이다. 데이터 버스(Data bus)는 데이터가 이동하는 경로이다. 주로, 워킹 메모리(130)이나 저장 장치(170)로의 메모리 접근 경로를 제공될 것이다. 어드레스 버스(Address bus)는 기능 블록들(IPs) 간의 어드레스 교환 경로를 제공한다. 컨트롤 버스(Control bus)는 기능 블록들(IPs) 간의 제어 신호를 전달하는 경로를 제공한다. 하지만, 시스템 인터커넥터(1190)의 구성은 상술한 설명에만 국한되지 않으며, 효율적인 관리를 위한 중재 수단들을 더 포함할 수 있다.
도 30은 도 29의 컴퓨팅 시스템에 의해 구현되는 소자 모델의 생성을 수행하는 트레이닝 제어 모듈의 일 실시예를 나타내는 도면이다.
도 30에는 도 29의 컴퓨팅 시스템(1000)의 예시적인 소프트웨어 구조가 도시되어 있다. 도 30을 참조하면, 워킹 메모리(1130)에 로드되고 프로세서(1110)에 의해서 구동되는 컴퓨팅 시스템(1000)의 소프트웨어 계층 구조는 간략히 응용 프로그램들(1132)과 운영 체제(OS)(1134)의 커널(Kernel, 1135)로 구분될 수 있다. 물론, 운영 체제(OS)에는 메모리나 모뎀, 이미지 처리 장치와 같은 다양한 장치들을 관리하는 장치 드라이버(Device driver)가 더 포함될 수 있다.
응용 프로그램들(1132)은 기본적인 서비스로서 구동되거나, 사용자의 요청에 의해서 구동되는 상위 계층의 소프트웨어이다. 다양한 서비스를 제공하기 위하여 동시에 복수의 응용 프로그램들(App0, App1, App2)이 실행될 수 있다. 실행되는 응용 프로그램들(App0, App1, App2)은 도 30의 워킹 메모리(1130)에 로드된 후에 프로세서(110)에 의해서 실행될 수 있다.
커널(1134)은 운영 체제(OS)의 구성으로, 응용 프로그램(132)과 하드웨어(Hardware) 사이에서 제어 동작을 수행한다. 커널(1134)은 프로그램의 실행, 인터럽트, 멀티 태스킹, 메모리 관리, 파일 시스템, 그리고 장치 드라이버 등을 포함할 수 있다.
본 발명의 실시예들에 따라서, 전술한 트레이닝 제어 모듈(TCM)을 구성하는 에이전트 모듈(AGMDL), 인바이런먼트 모듈(EMDL) 및 제어 모듈(CMDL)은 커널(1134)의 일부로 제공될 수 있다. 이와 같은 트레이닝 제어 모듈(TCM)은 CPU에 해당하는 프로세서(1110) 또는 다른 프로세서(PRC)에 의해 실행될 수 있다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따른 소자 모델의 생성 방법 및 상기 소자 모델의 생성 방법을 수행하는 컴퓨팅 장치는 강화 학습에 기초한 최적화 기법을 이용하여 소자 모델의 파라미터들을 결정함으로써 반도체 소자의 특성을 정확하게 예측할 수 있는 소자 모델을 제공할 수 있다. 상기 소자 모델의 향상된 예측 성능을 통하여 상기 반도체 소자를 포함하는 반도체 제품의 설계 및 제조의 비용 및 시간을 감소하고 반도체 제품의 성능을 향상시킬 수 있다.
본 개시에서 '모듈'이라는 용어는 소프트웨어 또는 FPGA(Field Programmable Gate Array)또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, '모듈'은 어떤 역할들을 수행한다. 그렇지만 '모듈'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '모듈'은 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 '모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '모듈'들로 결합되거나 추가적인 구성요소들과 '모듈'들로 더 분리될 수 있다.
해당 기술 분야의 숙련된 당업자는 본 발명의 실시예들이 시스템, 방법, 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수 있음을 이해할 것이다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다.
본 발명의 실시예들은 반도체 집적 회로의 제조 및 설계에 유용하게 이용될 수 있다. 특히 본 발명의 실시예들은 메모리 카드, 솔리드 스테이트 드라이브(Solid State Drive; SSD), 임베디드 멀티미디어 카드(eMMC, embedded multimedia card), 유니버셜 플래시 스토리지(UFS, universal flash storage), 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular phone), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(internet of things;) 기기, IoE(internet of everything:) 기기, e-북(e-book), VR(virtual reality) 기기, AR(augmented reality) 기기, 서버 시스템, 자율 주행 시스템 등과 같은 전자 기기에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (10)

  1. 컴퓨터로 판독 가능한 기록 매체에 저장되는 프로그램 코드를 적어도 하나의 프로세서에 의해 실행하여 수행되는 소자 모델의 생성 방법으로서,
    반도체 소자의 특성을 측정하여 측정 데이터를 제공하는 단계;
    소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 상기 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 출력하는 소자 모델의 복수의 파라미터들 중에서 하나 이상의 타겟 파라미터들을 선택하는 단계;
    상기 타겟 파라미터들의 초기 값들의 서로 다른 조합들에 상응하는 복수의 초기 값 세트들을 선택하는 단계;
    강화 학습에 기초하여 상기 복수의 초기 값 세트들의 각각에 대한 상기 측정 데이터 및 상기 시뮬레이션 데이터의 차이의 최소 값에 각각 상응하는 복수의 로컬 최소 값들을 결정하는 단계; 및
    상기 복수의 로컬 최소 값들에 기초하여 상기 타겟 파라미터들의 최적 값들을 결정하는 단계를 포함하는 소자 모델의 생성 방법.
  2. 제1 항에 있어서,
    상기 타겟 파라미터들의 최적 값들을 결정하는 단계는,
    상기 복수의 로컬 최소 값들 중에서 최소 값에 해당하는 선택 로컬 최소 값을 결정하는 단계; 및
    상기 선택 로컬 최소 값에 상응하는 상기 타겟 파라미터들의 값들을 상기 타겟 파라미터들의 최적 값들로 결정하는 단계를 포함하는 것을 특징으로 하는 소자 모델의 생성 방법.
  3. 제1 항에 있어서,
    상기 타겟 파라미터들의 최적 값들을 결정하는 단계는,
    유전 알고리즘을 수행하여 상기 복수의 로컬 최소 값들보다 작거나 같고 상기 복수의 로컬 최소 값들에 각각 상응하는 복수의 글로벌 최소 값들을 결정하는 단계;
    상기 복수의 글로벌 최소 값들 중에서 최소 값에 해당하는 선택 글로벌 값을 결정하는 단계; 및
    상기 선택 글로벌 최소 값에 상응하는 상기 타겟 파라미터들의 값들을 상기 타겟 파라미터들의 최적 값들로 결정하는 단계를 포함하는 것을 특징으로 하는 소자 모델의 생성 방법.
  4. 제1 항에 있어서,
    각각의 초기 값 세트에 대하여, 상기 각각의 초기 값 세트에서부터 시작하여 상기 강화 학습에 기초하여 상기 타겟 파라미터들의 값들을 변화시키면서 상기 각각의 초기 값 세트에 상응하는 각각의 로컬 최소 값을 결정하는 것을 특징으로 하는 소자 모델의 생성 방법.
  5. 제4 항에 있어서,
    하나의 초기 값 세트에 상응하는 하나의 로컬 최소 값 및 다른 하나의 초기 값 세트에 상응하는 다른 하나의 로컬 최소 값은 서로 다른 것을 특징으로 하는 소자 모델의 생성 방법.
  6. 제1 항에 있어서,
    상기 복수의 로컬 최소 값들을 결정하는 단계는,
    각각의 초기 값 세트에 대하여, 현재의 액션에 상응하는 리워드 값에 기초하여 다음의 액션을 결정하는 이터레이션을 반복적으로 수행하는 단계;
    상기 현재의 액션에 상응하는 상기 타겟 파라미터들의 값들에 기초하여 상기 리워드 값을 생성하는 단계; 및
    상기 이터레이션의 반복에 따른 상기 리워드 값의 변화에 기초하여 상기 각각의 초기 값 세트에 상응하는 각각의 로컬 최소 값을 결정하는 단계를 포함하는 것을 특징으로 하는 소자 모델의 생성 방법.
  7. 제6 항에 있어서,
    상기 측정 데이터 및 상기 시뮬레이션 데이터의 차이가 감소할수록 상기 리워드 값이 증가하는 것을 특징으로 하는 소자 모델의 생성 방법.
  8. 제1 항에 있어서,
    상기 복수의 로컬 최소 값들을 결정하는 단계는,
    각각의 초기 값 세트에 대하여, 상기 타겟 파라미터들의 값들의 변경을 나타내는 복수의 후보 액션들 중에서 현재의 액션에 상응하는 리워드 값 및 복수의 큐 값들에 기초하여 다음의 액션을 결정하는 이터레이션을 반복적으로 수행하는 단계;
    상기 현재의 액션에 상응하는 상기 타겟 파라미터들의 값들에 기초하여 상기 리워드 값 및 상기 복수의 후보 액션들의 예측 리워드 값들을 나타내는 상기 복수의 큐 값들을 생성하는 단계; 및
    상기 이터레이션의 반복에 따른 상기 리워드 값의 변화에 기초하여 상기 각각의 초기 값 세트에 상응하는 각각의 로컬 최소 값을 결정하는 단계를 포함하는 것을 특징으로 하는 소자 모델의 생성 방법.
  9. 제1 항에 있어서,
    상기 소자 데이터의 값들의 서로 다른 조합들에 상응하는 복수의 소자 값 세트들을 선택하는 단계를 더 포함하고,
    상기 복수의 로컬 최소 값들을 결정하는 단계는,
    각각의 초기 값 세트에 대하여, 상기 복수의 소자 값 세트들에 각각 상응하는 복수의 특성 로컬 최소 값들을 결정하는 단계; 및
    상기 복수의 특성 로컬 최소 값들에 기초하여 상기 각각의 초기 값 세트에 상응하는 각각의 로컬 최소 값을 결정하는 단계를 포함하는 것을 특징으로 하는 소자 모델의 생성 방법.
  10. 적어도 하나의 프로세서; 및
    소자 데이터에 기초한 시뮬레이션을 수행하여 상기 소자 데이터에 상응하는 반도체 소자의 특성을 나타내는 시뮬레이션 결과 데이터를 제공하는 소자 모델을 생성하도록 상기 적어도 하나의 프로세서에 의해 실행되는 트레이닝 제어 모듈에 상응하는 프로그램 코드를 저장하는 컴퓨터로 판독 가능한 기록 매체를 포함하고,
    상기 적어도 하나의 프로세서는 상기 반도체 소자의 특성을 측정하여 제공되는 측정 데이터를 수신하고, 상기 트레이닝 제어 모듈에 상응하는 프로그램 코드를 실행하여,
    상기 소자 모델의 복수의 파라미터들 중에서 하나 이상의 타겟 파라미터들을 선택하고,
    상기 타겟 파라미터들의 초기 값들의 서로 다른 조합들에 상응하는 복수의 초기 값 세트들을 선택하고,
    강화 학습을 수행하여 상기 복수의 초기 값 세트들의 각각에 대한 상기 측정 데이터 및 상기 시뮬레이션 데이터의 차이의 최소 값에 각각 상응하는 복수의 로컬 최소 값들을 결정하고,
    상기 복수의 로컬 최소 값들에 기초하여 상기 타겟 파라미터들의 최적 값들을 결정하는 컴퓨팅 장치.
KR1020220013195A 2021-12-17 2022-01-28 소자 모델의 생성 방법 및 이를 수행하는 컴퓨팅 장치 KR20230092670A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/899,101 US20230194594A1 (en) 2021-12-17 2022-08-30 Method of generating device model and computing device performing the same
CN202211623732.7A CN116415409A (zh) 2021-12-17 2022-12-16 生成装置模型的方法和执行其的计算装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210181283 2021-12-17
KR1020210181283 2021-12-17

Publications (1)

Publication Number Publication Date
KR20230092670A true KR20230092670A (ko) 2023-06-26

Family

ID=86947470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220013195A KR20230092670A (ko) 2021-12-17 2022-01-28 소자 모델의 생성 방법 및 이를 수행하는 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR20230092670A (ko)

Similar Documents

Publication Publication Date Title
CN111465944B (zh) 用于生成对象的结构化表示的图形神经网络系统
US11853677B2 (en) Generating integrated circuit placements using neural networks
Yang Multiobjective firefly algorithm for continuous optimization
US20200184137A1 (en) Layout design system and layout design method
US20210374611A1 (en) Artificial intelligence-driven quantum computing
CN112313672A (zh) 用于无模型强化学习的堆叠的卷积长短期记忆
JP7488457B2 (ja) 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
US20190065962A1 (en) Systems And Methods For Determining Circuit-Level Effects On Classifier Accuracy
US20230062600A1 (en) Adaptive design and optimization using physics-informed neural networks
Brimberg et al. Heuristics for location models
Chand et al. A two-tiered global path planning strategy for limited memory mobile robots
KR20230027585A (ko) 딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치
KR20230092670A (ko) 소자 모델의 생성 방법 및 이를 수행하는 컴퓨팅 장치
KR20230057673A (ko) 딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치
CN116682506A (zh) 数据处理方法、训练方法、确定方法、设计方法和装置
JP2021005282A (ja) 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
US20230194594A1 (en) Method of generating device model and computing device performing the same
KR20230052450A (ko) 딥 러닝 기반의 반도체 소자의 특성 예측 방법 및 이를 수행하는 컴퓨팅 장치
JP7323796B2 (ja) 最適化装置、最適化方法及び最適化プログラム
JP2022094510A (ja) 最適化プログラム、最適化方法及び情報処理装置
Monfared et al. Generalized intelligent Water Drops algorithm by fuzzy local search and intersection operators on partitioning graph for path planning problem
KR20230036229A (ko) 심층 강화 학습 기반의 뉴럴 프로세싱 제어 시스템 및 방법
KR20230027588A (ko) 딥 러닝 모델의 생성 방법 및 이를 수행하는 컴퓨팅 장치 장치
Wang et al. Dynamic Grey Wolf Optimization Algorithm Based on Quasi-Opposition Learning
EP4310720A1 (en) Modeling method of neural network for simulation in semiconductor design process, and simulation method in semiconductor design process using the same