[go: up one dir, main page]

KR102719332B1 - 반도체 소자에서의 전압 강하 예측 방법 및 장치 - Google Patents

반도체 소자에서의 전압 강하 예측 방법 및 장치 Download PDF

Info

Publication number
KR102719332B1
KR102719332B1 KR1020210184730A KR20210184730A KR102719332B1 KR 102719332 B1 KR102719332 B1 KR 102719332B1 KR 1020210184730 A KR1020210184730 A KR 1020210184730A KR 20210184730 A KR20210184730 A KR 20210184730A KR 102719332 B1 KR102719332 B1 KR 102719332B1
Authority
KR
South Korea
Prior art keywords
input
voltage drop
map
resistance
semiconductor device
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020210184730A
Other languages
English (en)
Other versions
KR20230095344A (ko
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 KR1020210184730A priority Critical patent/KR102719332B1/ko
Publication of KR20230095344A publication Critical patent/KR20230095344A/ko
Application granted granted Critical
Publication of KR102719332B1 publication Critical patent/KR102719332B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • G01R31/2855Environmental, reliability or burn-in testing
    • G01R31/286External aspects, e.g. related to chambers, contacting devices or handlers
    • G01R31/2868Complete testing stations; systems; procedures; software aspects
    • G01R31/287Procedures; Software aspects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/003Measuring mean values of current or voltage during a given time interval
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/165Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values
    • G01R19/16528Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values using digital techniques or performing arithmetic operations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/165Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values
    • G01R19/16566Circuits and arrangements for comparing voltage or current with one or several thresholds and for indicating the result not covered by subgroups G01R19/16504, G01R19/16528, G01R19/16533
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • G01R31/2855Environmental, reliability or burn-in testing
    • G01R31/2872Environmental, reliability or burn-in testing related to electrical or environmental aspects, e.g. temperature, humidity, vibration, nuclear radiation
    • G01R31/2879Environmental, reliability or burn-in testing related to electrical or environmental aspects, e.g. temperature, humidity, vibration, nuclear radiation related to electrical aspects, e.g. to voltage or current supply or stimuli or to electrical loads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

전압 강하 예측 장치가 반도체 소자의 전류 파형에 기초해서 반도체 소자에서의 전류 소모를 나타내는 전류 소모 맵을 생성하고, 반도체 소자에서의 저항을 나타내는 저항 맵을 생성하고, 전류 소모 맵과 저항 맵을 포함하는 복수의 채널의 입력 특성 맵 각각을 복수의 입력 클립으로 분할한다. 전압 강하 예측 장치는 복수의 입력 클립 중 일부 입력 클립을 선택하고, 선택한 입력 클립을 기계 학습 모델에 입력하여서 전압 강하 값을 가지는 출력 클립을 생성한다.

Description

반도체 소자에서의 전압 강하 예측 방법 및 장치{METHOD AND APPARATUS FOR PREDICTING VOLTAGE DROP IN SEMICONDUCTOR DEVICE}
본 발명은 반도체 소자에서의 전압 강하 예측 방법 및 장치에 관한 것이다.
동적 전압 강하 분석은 특정 제약 조건, 예를 들면 공급 전압의 10%를 초과하는 전압 강하가 있는지를 확인하는 것을 목표로 한다. 그러나 동적 전압 강하 분석은 긴 시뮬레이션 시간 동안 모든 게이트의 스위칭 활동을 고려하기 때문에 시간이 너무 많이 소요된다. 예를 들면, 10ns 시간 동안 16,000,000 노드의 회로를 분석하는 데 10일이 걸릴 수 있다.
분석 시간을 줄이기 위해 기계 학습 기술이 연구되고 있다. 한 연구에서는 위반을 수정한 후 동적 전압 강하를 업데이트하기 위해 XGBoost 모델을 사용하고 있다. 이 경우, XGBoost 모델은 주어진 회로에 대해 적어도 한 번 훈련되어야 한다. 다른 연구에서는 회로와 독립적으로 동적 전압 강하를 모델링하는 컨볼루션 신경망(convolutional neural network, CNN)을 사용하고 있지만, 파워 패드에서 각 게이트까지의 배선 저항을 고려하지 않아 정확도가 떨어진다. 또한 두 방법 모두 모든 게이트에 대해 하나씩 예측을 반복하므로 실행 시간을 줄이는데 한계가 있다.
Y.-C. Fang et al., "Machine-learning-based dynamic IR drop prediction for ECO," in Proc. Int. Conf. on Computer-Aided Design, Nov. 2018, pp. 1-7. Z. Xie et al., "PowerNet: Transferable dynamic IR drop estimation via maximum convolutional neural network," in Proc. Asia and South Pacific Design Automation Conf., Jan. 2020, pp. 13-18.
본 발명의 어떤 실시예는 전압 강하의 예측 시간을 줄일 수 있는 전압 강하 예측 장치 및 방법을 제공할 수 있다.
본 발명의 한 실시예에 따르면, 컴퓨팅 장치에 의해 수행되는, 반도체 소자의 전압 강하를 예측하는 방법이 제공될 수 있다. 상기 방법은, 상기 반도체 소자의 전류 파형에 기초해서 상기 반도체 소자에서의 전류 소모를 나타내는 전류 소모 맵을 생성하는 단계, 상기 반도체 소자에서의 저항을 나타내는 저항 맵을 생성하는 단계, 상기 전류 소모 맵과 상기 저항 맵을 포함하는 복수의 채널의 입력 특성 맵 각각을 복수의 입력 클립으로 분할하는 단계, 상기 복수의 입력 클립 중 일부 입력 클립을 선택하는 단계, 그리고 상기 선택한 입력 클립을 기계 학습 모델에 입력하여서 전압 강하 값을 가지는 출력 클립을 생성하는 단계를 포함할 수 있다.
어떤 실시예에서, 각 입력 특성 맵은 복수의 픽셀을 포함할 수 있다.
어떤 실시예에서, 상기 방법은 시뮬레이션 시간을 복수의 시간 윈도우로 분할하는 단계를 더 포함할 수 있다. 또한, 상기 전류 소모 맵을 생성하는 단계는 각 시간 윈도우에서 상기 전류 파형에 기초해서 상기 전류 소모 맵을 생성하는 단계를 포함할 수 있다.
어떤 실시예에서, 각 시간 윈도우에서 상기 전류 소모 맵을 생성하는 단계는 각 시간 윈도우에서 상기 반도체 소자의 각 게이트의 전류 파형의 평균 전류를 계산하는 단계, 그리고 각 게이트의 상기 평균 전류에 기초해서 각 게이트에 해당하는 픽셀의 전류 소모 값을 기록하는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 전류 소모 값을 기록하는 단계는 타겟 게이트가 복수의 픽셀과 겹치는 경우, 상기 평균 전류를 상기 복수의 픽셀에 분배하는 단계, 타겟 픽셀이 복수의 게이트를 포함하는 경우, 상기 복수의 게이트 중에서 상기 타겟 픽셀에서 가장 큰 영역을 차지하는 게이트의 상기 평균 전류를 상기 타겟 픽셀에 할당하는 단계, 또는 타겟 픽셀이 게이트를 포함하지 않는 경우, 상기 타겟 픽셀에 0을 할당하는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 일부 입력 클립을 선택하는 단계는 상기 복수의 시간 윈도우와 상기 복수의 입력 클릭의 조합 중에서 일부 조합을 선택하는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 일부 조합을 선택하는 단계는 상기 저항 맵에 기초해서 상기 복수의 입력 클립 중 i번째 입력 클립의 저항 중 최대 저항을 선택하는 단계, 상기 전류 소모 맵에 기초해서 상기 복수의 시간 윈도우 중 j번째 시간 윈도우 동안 상기 i번째 입력 클립의 r번째 행의 픽셀에서의 평균 전류의 합을 계산하는 단계, 상기 최대 저항과 상기 평균 전류의 합의 곱으로 전압 강하를 추정하는 단계, 상기 전압 강하가 소정의 제약 조건을 초과하는 경우, 상기 i번째 입력 클립과 상기 j번째 시간 윈도우의 조합을 위반 후보로 결정하는 단계, 그리고 상기 i, j 및 r의 조합을 변경하면서 상기 위반 후보로 결정되는 상기 입력 클립과 상기 시간 윈도우의 조합을 선택하는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 저항 맵을 생성하는 단계는 상기 반도체 소자의 PDN(power delivery network)을 상기 반도체 소자의 파워 패드에 연결되는 제1 전류 소스와 상기 반도체 소자의 타겟 게이트의 파워 레일과 접지단을 연결하는 제2 전류 소스를 포함하는 저항 네트워크로 모델링하는 단계, 그리고 상기 타겟 게이트에 가장 인접한 두 개의 파워 비아, 상기 제1 전류 소스 및 상기 제2 전류 소스에 기초해서 PDN 저항을 계산하는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 PDN 저항을 계산하는 단계는 상기 두 개의 파워 비아에서 상기 제1 전류 소스까지의 도선을 각각 제1 저항과 제2 저항으로 모델링하는 단계, 상기 두 개의 파워 비아에서 상기 제2 전류 소스까지의 도선을 각각 제3 저항과 제4 저항으로 모델링하는 단계, 그리고 상기 제1 저항, 상기 제2 저항, 상기 제3 저항 및 상기 제4 저항에 기초해서 상기 PDN 저항을 계산하는 단계를 포함할 수 있다.
어떤 실시예에서, 상기 방법은 상기 반도체 소자의 각 게이트에서 파워 패드까지의 거리를 나타내는 파워 패드 거리 맵을 생성하는 단계를 더 포함할 수 있다. 또한 상기 복수의 채널의 입력 특성 맵은 상기 파워 패드 거리 맵을 더 포함할 수 있다.
어떤 실시예에서, 상기 기계 학습 모델은 U-net 모델을 포함할 수 있다.
어떤 실시예에서, 상기 기계 학습 모델은 직렬로 연결되는 복수의 컨볼루션 레이어와 복수의 디컨볼루션 레이어를 포함할 수 있다. 이 경우, 상기 복수의 채널의 각 입력 클립이 상기 복수의 컨볼루션 레이어 중 첫 번째 컨볼루션 레이어에 입력되고, 상기 복수의 디컨볼루션 레이어 중 마지막 디컨볼루션 레이어에서 상기 출력 클립이 출력될 수 있다.
어떤 실시예에서, 상기 복수의 컨볼루션 레이어 중에서 n번째 컨볼루션 레이어의 출력과 상기 복수의 디컨볼루션 레이어 중에서 (N-n)번째 디컨볼루션 레이어의 출력 사이에 스킵 연결이 형성될 수 있다.
어떤 실시예에서, 상기 기계 학습 모델은 비용 함수에 기초해서 훈련되고, 상기 비용 함수는 실제 전압 강하 값을 가중치로 가지는 비용 함수일 수 있다.
어떤 실시예에서, 상기 비용 함수는 상기 기계 학습 모델이 예측한 전압 강하 값과 상기 실제 강하 값 사이의 오차의 제곱의 가중 평균에 기초해서 결정될 수 있다.
본 발명의 다른 실시예에 따르면, 하나 이상의 명령어를 저장하는 메모리, 그리고 프로세서를 포함하는 전압 강하 예측 장치가 제공될 수 있다. 상기 프로세서는 상기 명령어를 실행함으로써, 반도체 소자의 전류 파형에 기초해서 상기 반도체 소자에서의 전류 소모를 나타내는 전류 소모 맵을 생성하고, 반도체 소자에서의 저항을 나타내는 저항 맵을 생성하고, 전류 소모 맵과 저항 맵을 포함하는 복수의 채널의 입력 특성 맵 각각을 복수의 입력 클립으로 분할하고, 상기 복수의 입력 클립 중 일부 입력 클립을 선택하고, 상기 선택한 입력 클립을 기계 학습 모델에 입력하여서 전압 강하 값을 가지는 출력 클립을 생성할 수 있다.
본 발명의 또 다른 실시예에 따르면, 컴퓨팅 장치에 의해 실행되며, 기록 매체에 저장되어 있는 컴퓨터 프로그램이 제공될 수 있다. 상기 컴퓨터 프로그램은 상기 컴퓨팅 장치가, 상기 반도체 소자의 전류 파형에 기초해서 상기 반도체 소자에서의 전류 소모를 나타내는 전류 소모 맵을 생성하는 단계, 상기 반도체 소자에서의 저항을 나타내는 저항 맵을 생성하는 단계, 상기 전류 소모 맵과 상기 저항 맵을 포함하는 복수의 채널의 입력 특성 맵 각각을 복수의 입력 클립으로 분할하는 단계, 상기 복수의 입력 클립 중 일부 입력 클립을 선택하는 단계, 그리고 상기 선택한 입력 클립을 기계 학습 모델에 입력하여서 전압 강하 값을 가지는 출력 클립을 생성하는 단계를 실행하도록 할 수 있다.
도 1은 본 발명의 한 실시예에 따른 전압 강하 예측 시스템의 예시 블록도이다.
도 2는 본 발명의 한 실시예에 따른 전압 강하 예측 장치의 예시 블록도이다.
도 3은 본 발명의 한 실시예에 따른 전압 강하 예측 방법의 예시 흐름도이다.
도 4는 한 실시예에 따른 전압 강하 예측 방법에 사용되는 반도체 소자의 PDN 구조의 한 예를 나타내는 도면이다.
도 5는 본 발명의 한 실시예에 따른 전압 강하 예측 방법에서 근사화된 저항 네트워크의 한 예를 나타내는 도면이다.
도 6은 본 발명의 한 실시예에 따른 전압 강하 예측 방법에서 입력 특성 맵의 분할의 한 예를 나타내는 도면이다.
도 7은 본 발명의 한 실시예에 따른 전압 강하 예측 방법에서 기계 학습 모델의 한 예를 나타내는 도면이다.
도 8은 본 발명의 한 실시예에 따른 컴퓨팅 장치의 한 예를 나타내는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
아래 설명에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
아래 설명에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.
도 1은 본 발명의 한 실시예에 따른 전압 강하 예측 시스템의 예시 블록도이며, 도 2는 본 발명의 한 실시예에 따른 전압 강하 예측 장치의 예시 블록도이다.
도 1을 참고하면, 전압 강하 예측 시스템(100)은 반도체 소자(110), 측정 장치(120) 및 전압 강하 예측 장치(130)을 포함한다.
반도체 소자(110)는 전압 강하 예측의 대상이 되는 객체이다. 예를 들면, 반도체 소자(110)는 회로 영역(111)과 파워 패드(112)를 포함할 수 있다. 회로 영역(111)은 복수의 게이트를 포함하고, 파워 패드(112)는 회로 영역을 둘러싸고 회로 영역에 파워를 공급할 수 있다. 어떤 실시예에서, 반도체 소자(110)는 테이프아웃(tapeout) 전의 사인오프(signoff) 단계의 반도체 소자일 수 있다.
측정 장치(120)는 반도체 소자(110)의 회로 영역(111)의 전류 파형을 측정한다. 전압 강하 예측 장치(130)는 측정 장치(120)는 측정한 전류 파형에 기초해서 반도체 소자(110)의 전압 강하를 예측한다. 어떤 실시예에서, 전압 강하는 IR 강하(IR drop)일 수 있다.
도 2을 참고하면, 전압 강하 예측 장치(130)는 전류 소모 맵 생성부(131), 저항 맵 생성부(132), 분할부(134), 선택부(135) 및 기계 학습 모델(136)을 포함한다.
전류 소모 맵 생성부(131)는 반도체 소자의 전류 파형에 기초해서 반도체 소자에서의 전류 소모를 나타내는 전류 소모 맵을 입력 특성 맵으로 생성한다. 어떤 실시예에서, 전류 소모 맵 생성부(131)는 시뮬레이션 시간을 복수의 시간 윈도우로 분할하고, 각 시간 윈도우에서 전류 파형에 기초해서 전류 소모 맵을 생성할 수 있다. 어떤 실시예에서, 전류 소모 맵 생성부(131)는 각 시간 윈도우에서 반도체 소자의 각 게이트의 전류 파형의 평균 전류를 계산하고, 각 게이트의 평균 전류에 기초해서 각 게이트에 해당하는 픽셀의 전류 소모 값을 기록할 수 있다. 어떤 실시예에서, 타겟 게이트가 복수의 픽셀과 겹치는 경우, 평균 전류가 복수의 픽셀에 분배될 수 있다. 타겟 픽셀이 복수의 게이트를 포함하는 경우, 복수의 게이트 중에서 타겟 픽셀에서 가장 큰 영역을 차지하는 게이트의 평균 전류가 타겟 픽셀에 할당될 수 있다. 타겟 픽셀이 게이트를 포함하지 않는 경우, 타겟 픽셀에 0이 할당될 수 있다.
저항 맵 생성부(132)는 반도체 소자에서의 저항을 나타내는 저항 맵을 입력 특성 맵으로 생성한다. 어떤 실시예에서, 저항 맵 생성부(132)는 반도체 소자의 PDN(power delivery network)을 반도체 소자의 파워 패드에 연결되는 제1 전류 소스와 반도체 소자의 타겟 게이트의 파워 레일과 접지단을 연결하는 제2 전류 소스를 포함하는 저항 네트워크로 모델링하고, 타겟 게이트에 가장 인접한 두 개의 파워 비아, 제1 전류 소스 및 제2 전류 소스에 기초해서 PDN 저항을 계산할 수 있다. 어떤 실시예에서, 저항 맵 생성부(132)는 두 개의 파워 비아에서 제1 전류 소스까지의 도선을 각각 제1 저항과 제2 저항으로 모델링하고, 두 개의 파워 비아에서 제2 전류 소스까지의 도선을 각각 제3 저항과 제4 저항으로 모델링하고, 제1 저항, 제2 저항, 제3 저항 및 제4 저항에 기초해서 PDN 저항을 계산할 수 있다.
어떤 실시예에서, 전압 강하 예측 장치(130)는 거리 맵 생성부(133)를 더 포함할 수 있다. 거리 맵 생성부(133)는 반도체 소자의 각 게이트에서 파워 패드까지의 거리를 나타내는 파워 패드 거리 맵을 입력 특성 맵으로 생성할 수 있다.
분할부(134)는 각 입력 특성 맵을 복수의 입력 클립으로 분할한다.
선택부(135)는 복수의 입력 클립 중 일부 입력 클립을 선택한다. 어떤 실시예에서, 선택부(135)는 복수의 시간 윈도우와 복수의 입력 클릭의 조합 중에서 일부 조합을 선택할 수 있다. 어떤 실시예에서, 선택부(135)는 저항 맵에 기초해서 i번째 입력 클립의 저항 중 최대 저항을 선택하고, 전류 소모 맵에 기초해서 j번째 시간 윈도우 동안 i번째 입력 클립의 r번째 행의 픽셀에서의 평균 전류의 합을 계산하고, 최대 저항과 평균 전류의 합의 곱으로 전압 강하를 추정하고, 전압 강하가 소정의 제약 조건을 초과하는 경우, i번째 입력 클립과 j번째 시간 윈도우의 조합을 위반 후보로 결정할 수 있다. 선택부(1350)는 i, j 및 r의 조합을 변경하면서 위반 후보로 결정되는 입력 클립과 시간 윈도우의 조합을 선택할 수 있다.
기계 학습 모델(136)은 선택한 입력 클립을 입력 받아서 전압 강하 값을 가지는 출력 클립을 생성한다. 어떤 실시예에서, 기계 학습 모델(136)은 영상 대 영상 변환 신경망(image-to-image neural network) 모델일 수 있다. 어떤 실시예에서, 영상 대 영상 변환 신경망 모델은 프라이부르크 대학(University of Freiburg)의 컴퓨터 공학과(Computer Science Department)에서 생물 의학 영상 분할(biomedical image segmentation)을 위해 개발한 U-net 모델일 수 있다. 어떤 실시예에서, 기계 학습 모델(136)은 직렬로 연결되는 복수의 컨볼루션 레이어와 복수의 디컨볼루션 레이어를 포함할 수 있다. 이 경우, 복수의 채널의 각 입력 클립이 복수의 컨볼루션 레이어 중 첫 번째 컨볼루션 레이어에 입력되고, 복수의 디컨볼루션 레이어 중 마지막 디컨볼루션 레이어에서 출력 클립이 출력될 수 있다.
도 3은 본 발명의 한 실시예에 따른 전압 강하 예측 방법의 예시 흐름도이다. 도 4는 한 실시예에 따른 전압 강하 예측 방법에 사용되는 반도체 소자의 PDN 구조의 한 예를 나타내는 도면이며, 도 5는 본 발명의 한 실시예에 따른 전압 강하 예측 방법에서 근사화된 저항 네트워크의 한 예를 나타내는 도면이다. 도 6은 본 발명의 한 실시예에 따른 전압 강하 예측 방법에서 입력 특성 맵의 분할의 한 예를 나타내는 도면이며, 도 7은 본 발명의 한 실시예에 따른 전압 강하 예측 방법에서 기계 학습 모델의 한 예를 나타내는 도면이다.
도 3을 참고하면, 전압 강하 예측 장치는 반도체 소자의 회로 레이아웃과 게이트를 통해 흐르는 전류 파형에 기초해서 복수의 입력 특성 맵을 추출한다. 어떤 실시예에서, 각 특성 맵은 복수의 픽셀을 포함하는 픽셀 어레이를 구성될 수 있다. 어떤 실시예에서, 픽셀의 높이는 반도체 소자의 표준 셀의 높이와 동일할 수 있다. 이 경우, 픽셀은 반도체 소자의 최하위 금속층(bottom metal layer, M1) 파워 레일(power rail)뿐만 아니라 표준 셀의 영역을 포함할 수 있다.
반도체 소자에서 게이트의 소모 전류는 전압 강하를 계산하는 중요한 요소이다. 인근에 존재하는 게이트들은 전원에서 흐르는 전류의 경로를 공유하기 때문에, 동시 전류 흐름은 심각한 전압 강하 문제를 일으킬 수 있다. 이에 따라, 전압 강하 예측 장치는 반도체 소자에서의 전류 소모를 나타내는 전류 소모 맵을 생성한다(S310). 전압 강하 예측 장치는 측정 장치(예를 들면, 도 1의 120)를 사용하여 주어진 시뮬레이션 시간 동안 반도체 소자(예를 들면, 도 1의 110)의 모든 게이트의 전류 파형을 추출할 수 있다. 어떤 실시예에서, 전압 강하 예측 장치는 시뮬레이션 시간을 복수의 시간 윈도우(time window)로 분할할 수 있으며, 이에 따라 전류 파형도 분할될 수 있다. 전압 강하 예측 장치는 각 시간 윈도우에서 각 게이트의 전류 파형의 평균(평균 전류)을 계산하고, 평균 전류에 기초해서 각 게이트에 해당하는 픽셀의 전류 소모 값을 기록할 수 있다. 어떤 실시예에서, 게이트가 여러 픽셀과 겹치는 경우, 전압 강하 예측 장치는 평균 전류를 균등하게 분할하여 여러 픽셀에 분배할 수 있다. 어떤 실시예에서, 픽셀이 여러 개의 게이트를 포함하는 경우, 전압 강하 예측 장치는 여러 개의 게이트 중에서 픽셀에서 가장 큰 영역을 차지하는 게이트의 평균 전류를 해당 픽셀에 할당할 수 있다. 픽셀에 게이트가 없으면, 전압 강하 예측 장치는 해당 픽셀을 0으로 설정할 수 있다.
또한, 전압 강하 예측 장치는 반도체 소자에서 저항을 유도하여 저항 맵을 생성한다(S320). 어떤 실시예에서, 저항은 PDN 저항일 수 있다. PDN 저항은 반도체 소자의 파워 패드에서 게이트까지의 저항일 수 있다.
도 4를 참고하면, 반도체 소자는 복수의 금속층, 예를 들면 여섯 개의 금속층을 포함한다. 이 경우, 여섯 개의 금속층은 최하위 금속층부터 최상위 금속층의 순으로 M1, M2, M3, M4, M5 및 M6로 표현된다. PDN은 M1 금속층, M5 금속층 및 M1 금속층과 M5 금속층 사이의 적층된 비아(stacked via)을 포함할 수 있다. 적층된 비아는 M2, M3 및 M4 금속층과 다른 층을 포함할 수 있다. M5 금속층은 M6 금속층에 연결되고, M6 금속층은 파워 패드(411, 412)에 연결될 수 있다. 또한 M1 금속층에는 게이트(420)와 파워 비아(power via)(431, 432)가 형성될 수 있다. 각 금속층에는 저항 성분이 형성될 수 있다.
어떤 실시예에서, 도 5에 도시한 것처럼, 전압 강하 예측 장치는 PDN 저항을 유도하기 위해 PDN을 두 개의 전류 소스가 있는 저항 네트워크로 모델링할 수 있다. 두 개의 전류 소스는 가상 파워 소스(510)와 다른 전류 소스(520)를 포함할 수 있다. 가상 파워 소스(510)는 파워 패드(예를 들면, 도 4의 411, 412)에 연결된 전류 소스이고, 전류 소스(520)는 게이트(530)의 M1 파워 레일과 접지단을 연결하는 전류 소스일 수 있다. 또한, 파워 비아(예를 들면, 도 4의 431, 432) 사이의 도선 및 파워 비아와 전류 소스(510 또는 520) 사이의 도선은 저항으로 모델링될 수 있다. 이 경우, 저항의 끝은 네트워크의 노드로 정의된다.
실효 PDN 저항을 계산하기 위해, 전압 강하 예측 장치는 타겟 게이트(530)에 가장 인접한 두 개의 파워 비아(541, 542)를 찾고, 두 개의 파워 비아(541, 542)와 전류 소스(510, 520)로 저항 네트워크를 구축할 수 있다. 이 경우, 가장 인접한 두 개의 파워 비아(541, 542)를 제외하고, M1 금속층의 노드에 연결된 다른 저항은 제거될 수 있다. 그러면 타겟 게이트(530)에서 인접한 두 파워 비아(541, 542)로의 도선은 각각 저항(r1, r2)으로 모델링되고, 파워 비아(541, 542)와 가상 파워 소스(510) 사이의 도선은 각각 저항(Rv1, Rv2)으로 모델링될 수 있다. 그러면 전압 강하 예측 장치는 타겟 게이트(530)의 실효 저항(PDN 저항)(Rgate)을 수학식 1처럼 계산할 수 있다. 어떤 실시예에서, 주변 노드를 분리한 후에, 저항(Rv1, Rv2)의 접점에 임의의 전류를 주입하여서 실효 저항(Rgate)이 측정될 수 있다. 전압 강하 예측 장치는 반도체 소자의 각 게이트에 대해서 이러한 절차를 수행해 PDN 저항을 계산할 수 있다. 이와 같이, 저항을 근사화하여 계산하더라도, M1 파워 레일의 높은 저항으로 인해 대부분의 전류가 가장 가까운 두 개의 전원 비아를 통해 흐르기 때문에 오류를 최소화할 수 있다.
또한, 반도체 소자에서 상대적으로 저항이 작은 상위 금속층에서도 축적된 큰 전류로 인해 전압 강하가 발생할 수 있다. 즉, 실효 PDN 저항이 작더라도, 전류가 상위 금속층의 긴 도선을 따라 흐르는 경우, 높은 전하 강하가 발생할 수 있다. 따라서, 어떤 실시예에서, 전압 강하 예측 장치는 각 게이트에서 파워 패드까지의 거리에 기초해서 파워 패드 거리 맵을 추가로 생성할 수 있다(S330). 어떤 실시예에서, 전압 강하 예측 장치는 각 픽셀에서 복수의 파워 패드 중심까지의 유클리드 거리를 x, y 좌표로 각각 측정하고, 가장 작은 거리를 선택하여 맵의 픽셀에 기록할 수 있다. 전압 강하 예측 장치는 모든 픽셀에 대해 이 절차를 반복하여 파워 패드 거리 맵을 완성할 수 있다. 어떤 실시예에서, 파워 패드 거리 맵은 전류 소모 맵과 저항 맵에 의해 계산되는 전압 강하의 가중치로 작용할 수 있다.
다음, 도 6에 도시한 것처럼, 전압 강하 예측 장치는 각 입력 특성 맵(610)을 복수의 입력 클립(611)으로 분할한다(S340). 각 입력 클립(611)은 이웃하는 특성을 고려할 수 있도록 전압 강하 맵(620)에 포함되는 출력 클립(621)의 주변 영역(marginal region)을 포함하도록 설정될 수 있다. 이를 위해, 전압 강하 예측 장치는 입력 특성 맵(610)의 경계 주변에 제로 패딩(zero-padding)(612)을 입력할 수 있다.
어떤 실시예에서, 전압 강하 예측 장치는 입력 클립과 시간 윈도우의 조합(351)을 선택할 수 있다(S350). 어떤 실시예에서, 실행 시간을 줄이기 위해 전압 강하 예측 장치는 입력 클립과 시간 윈도우의 전체 조합이 아니라 일부 조합을 전압 강하 예측을 위해 선택할 수 있다. 어떤 실시예에서, 전압 강하 예측 장치는 실제 위반(violation)을 놓치지 않기 위해 전압 강하의 비관적인 추정(pessimistic estimation)에 기초해서 일부 조합(351)을 선택할 수 있다. 예를 들면, 전압 강하 예측 장치는 저항 맵에 기초해서 i번째 입력 클립의 저항 중 최대 저항(Rmax,i)을 선택하고, 전류 소모 맵에 기초해서 j번째 시간 윈도우 동안 i번째 입력 클립의 r번째 행의 픽셀에서의 평균 전류의 합(Ij,r)을 계산할 수 있다. 전압 강하 예측 장치는 최대 저항(Rmax,i)과 평균 전류의 합(Ij,r)의 곱으로 전압 강하를 추정하고, 전압 강하가 소정의 제약 조건을 초과하는지, 즉 위반 후보(violation candidate)가 존재하는지를 판단할 수 있다. 전압 강하 예측 장치는 i, j, r의 모든 조합에 대해서 이 과정을 반복하여서 적어도 하나의 위반 후보가 관찰되면, 위반 후보에 해당하는 입력 클립과 시간 윈도우의 조합(351)을 전압 강하 예측을 위해 선택할 수 있다.
다음, 전압 강하 예측 장치는 선택한 조합을 기계 학습 모델, 즉 전압 강하 예측 모델에 입력하여 전압 강하 값을 가지는 출력 클립(361)을 출력한다(S360). 선택된 복수의 입력 클립에 의해 생성되는 복수의 출력 클립(361)에 의해 반도체 소자의 복수의 픽셀에서의 전압 강하 값을 각각 나타내는 동적 전압 강하 맵이 생성될 수 있다. 어떤 실시예에서, 전압 강하 예측 모델은 영상 대 영상 변환 신경망 모델일 수 있다. 어떤 실시예에서, 영상 대 영상 변환 신경망 모델은 U-net 모델일 수 있다. 아래에서는 설명의 편의상 전압 강하 예측 모델을 U-net 모델로 설명한다.
어떤 실시예에서, 전압 강하 예측 모델은 직렬로 연결되는 복수의 컨볼루션 레이어(convolutional layer)와 복수의 디컨볼루션 레이어(deconvolutional layer)를 포함할 수 있다. 예를 들면, 전압 강하 예측 모델은 7개의 컨볼루션 레이어와 6개의 디컨볼루션 레이어를 포함할 수 있다. 각 컨볼루션 레이어는 컨볼루션 연산을 위한 커널 세트를 포함하고, 각 디컨볼루션 레이어는 디컨볼루션 연산을 위한 커널 세트를 포함할 수 있다. 전압 강하 예측 모델은 입력 클립을 입력 받아서 전압 강하 값을 가지는 출력 클립을 출력할 수 있다.
도 7에 도시한 것처럼, 세 개의 입력 특성 맵이 사용되므로, 전압 강하 예측 모델에 입력되는 클립(710)은 세 개의 채널을 가진다. 예를 들면, 전압 강하 예측 모델에는 384×384 크기(즉, 384의 폭, 384의 높이)의 세 개의 입력 클립(710)이 입력될 수 있다. 각 컨볼루션 레이어에서, 각 커널은 해당 컨볼루션 레이어의 입력 클립을 스윕하여 단일 출력 클립을 출력할 수 있다. 즉, 입력 클립의 모든 윈도우(또는 수용 필드(receptive field))에 대해, 커널(또는 컨볼루션 필터)과 겹치는 픽셀과 커널 사이의 컨볼루션 연산이 수행되어 해당 레이어의 출력 클립의 단일 픽셀로 저장될 수 있다. 이 과정은 컨볼루션 레이어를 통해 중간 클립의 크기를 줄일 수 있다. 각 디컨볼루션 레이어에서는 해당 레이어의 입력 클립의 픽셀이 커널의 각 값과 곱해져서 결과가 출력 클립의 윈도우 형태로 저장될 수 있다. 이에 따라, 디컨볼루션 레이어에서는 출력 클립의 크기가 증가할 수 있다. 겹치는 윈도우의 픽셀은 디컨볼루션 중에 창에 여러 값이 누적될 수 있다. 스트라이드(stride)는 마지막 컨볼루션 레이어를 제외한 모든 레이어에서 2로 설정되고, 마지막 컨볼루션 레이어에서는 1로 설정될 수 있다. 이러한 스트라이드는 각각 업 샘플링과 다운 샘플링의 양을 결정할 수 있다.
예를 들면, 도 7에 도시한 것처럼, 첫 번째 컨볼루션 레이어에는 384×384 크기의 세 개의 입력 클릭(710)이 입력되어, 192×192 크기의 64개의 출력 클립(중간 클립)(711)이 출력될 수 있다. 이 경우, 커널 세트로 64개의 5×5 크기의 커널(731)이 사용될 수 있다. 마찬가지로, 두 번째 컨볼루션 레이어에 192×192 크기의 64개의 입력 클립이 입력되어 96×96 크기의 128개의 출력 클립(중간 클립)이 출력될 수 있다. 또한, 세 번째 컨볼루션 레이어에 96×96 크기의 128개의 입력 클립이 입력되어 48×48 크기의 128개의 출력 클립(중간 클립)이 출력되고, 네 번째 컨볼루션 레이어에 48×48 크기의 128개의 입력 클립이 입력되어 24×24 크기의 128개의 출력 클립(중간 클립)이 출력될 수 있다. 또한, 다섯 번째 컨볼루션 레이어에 24×24 크기의 128개의 입력 클립이 입력되어 12×12 크기의 256개의 출력 클립(중간 클립)(715)이 출력되고, 여섯 번째 컨볼루션 레이어에 12×12 크기의 256개의 입력 클립(715)이 입력되어 6×6 크기의 256개의 출력 클립(중간 클립)(716)이 출력될 수 있다. 두 번째 내지 여섯 번째 컨볼루션 레이어에서도 5×5 크기의 커널 세트가 사용될 수 있다. 마지막 컨볼루션 레이어에 6×6 크기의 256개의 입력 클립(716)이 입력되어 4×4 크기의 256개의 출력 클립(중간 클립)(717)이 출력될 수 있다. 이를 위해, 마지막 컨볼루션 레이어에서는 3×3 크기의 커널 세트가 사용되고, 스트라이드가 1로 설정될 수 있다.
또한, 첫 번째 디컨볼루션 레이어에는 마지막 컨볼루션 레이어의 출력인 4×4 크기의 256개의 클립(717)이 입력되어, 8×8 크기의 256개의 출력 클립(중간 클립)(721)이 출력될 수 있다. 이 경우, 커널 세트로 5×5 크기의 커널이 사용될 수 있다. 마찬가지로, 두 번째 디컨볼루션 레이어에 8×8 크기의 256개의 입력 클립(721)이 입력되어 16×16 크기의 128개의 출력 클립(중간 클립)이 출력될 수 있다. 또한, 세 번째 디컨볼루션 레이어에 16×16 크기의 128개의 입력 클립이 입력되어 32×32 크기의 128개의 출력 클립(중간 클립)이 출력되고, 네 번째 디컨볼루션 레이어에 32×32 크기의 128개의 입력 클립이 입력되어 64×64 크기의 128개의 출력 클립(중간 클립)이 출력될 수 있다. 또한, 다섯 번째 디컨볼루션 레이어에 64×64 크기의 128개의 입력 클립이 입력되어 128×128 크기의 64개의 출력 클립(중간 클립)(725)이 출력되고, 마지막 디컨볼루션 레이어에 128×128 크기의 64개의 입력 클립(725)이 입력되어 256×256 크기의 단일 출력 클립(720)이 출력될 수 있다. 두 번째 내지 여섯 번째 디컨볼루션 레이어에서도 5×5 크기의 커널 세트(732)가 사용될 수 있다.
어떤 실시예에서, 컨볼루션 레이어와 디컨볼루션 레이어 사이에 스킵 연결(skip connection)이 형성될 수 있다. 이 경우, n번째 컨볼루션 레이어의 출력과 상기 복수의 디컨볼루션 레이어 중에서 (6-n)번째 디컨볼루션 레이어의 출력 사이에 스킵 연결이 형성될 수 있다. 그러면 컨볼루션 레이어의 중간 클립의 일부가 디컨볼루션 레이어로 전달될 수 있다. 예를 들어, 첫 번째 컨볼루션의 출력인 192×192 크기의 64개의 중간 클립(711)에서 각 클립의 중심에 있는 128×128 픽셀은 다섯 번째 디컨볼루션 레이어의 출력 클립(725)과 연결될 수 있다. 또한, 두 번째 컨볼루션의 출력이 96×96 크기의 64개의 중간 클립에서 각 클립의 중심에 있는 64×64 픽셀은 네 번째 디컨볼루션 레이어의 출력 클립과 연결되고, 세 번째 컨볼루션의 출력이 48×48 크기의 128개의 중간 클립에서 각 클립의 중심에 있는 32×32 픽셀은 세 번째 디컨볼루션 레이어의 출력 클립과 연결될 수 있다. 또한, 네 번째 컨볼루션의 출력이 24×24 크기의 128개의 중간 클립에서 각 클립의 중심에 있는 16×16 픽셀은 두 번째 디컨볼루션 레이어의 출력 클립과 연결되고, 다섯 번째 컨볼루션의 출력이 12×12 크기의 256개의 중간 클립(715)에서 각 클립의 중심에 있는 8×8 픽셀은 첫 번째 디컨볼루션 레이어의 출력 클립(721)과 연결될 수 있다. 이러한 스킵 연결에서 기초해서 디컨볼루션 레이어는 연속되는 다운 샘플링 프로세스 동안 손실될 수 있는 입력 클립의 기하학적 정보를 고려할 수 있다.
이러한 과정을 통해 전압 강하 예측 모델은 전압 강하 값을 가지는 출력 클립, 예를 들면 256×256 크기의 출력 클립을 출력할 수 있다. 즉, 전압 강하 예측 모델에 의해 입력 특성 맵이 전압 강하 맵으로 생성되므로, 반도체 소자의 전압 강하 값이 예측될 수 있다.
어떤 실시예에서, 전압 강하 예측 모델은 입력 클립에 실제 전압 강하 값이 태깅되어 있는 훈련 데이터에 기초해서 훈련될 수 있다. 전압 강하 예측 모델의 과정 동안, 커널의 값은 비용 함수가 최소화되도록 최적화될 수 있다. 어떤 실시예에서, 전압 강하 예측 모델의 비용 함수로 픽셀 단위(pixel-wise) 평균 제곱 오차(mean squared error, MSE)가 사용될 수 있다. 그러나 MSE는 높은 전압 강하 영역의 오차와 낮은 전압 강하 영역의 오차가 동일하게 취급하지만, 실제로는 높은 전압 강하 영역의 오차가 더 중요하므로, MSE로는 커널의 값이 최적화되지 않을 수 있다. 어떤 실시예에서, 높은 전압 강하 영역의 오차에 가중치를 줄 수 있도록, 비용 함수로 실제 전압 강하를 가중치로 사용하는 픽셀의 제곱 오차의 가중 평균이 사용될 수 있다. 예를 들면, 비용 함수(Cost)가 수학식 2와 같이 주어질 수 있다. 수학식 2와 같이 픽셀 단위 MSE를 기반으로 수정된 비용 함수는 실제 전압 강하는 가중치로 사용할 수 있다.
수학식 2에서, N은 출력 클립의 픽셀 수이고, 은 실제 전압 강하 값이며, In은 전압 강하 예측 모델에서 예측된 전압 강하 값이다.
이와 같이, 전압 강하 예측 모델에서 예측한 전압 강하 값과 실제 전압 강하 값의 오차가 역전파되어서, 오차에 기초한 비용 함수가 최소화되도록 커널 값이 갱신될 수 있다. 이러한 과정의 반복을 통해서 전압 강하 예측 모델이 학습될 수 있다.
이상에서 설명한 것처럼, 전압 강하 예측 장치는 유효 PDN 저항을 근사화하여 저항 맵을 생성함으로써 전압 강하 예측 시간을 단축시킬 수 있다. 어떤 실시예에서, 전압 강하 예측 장치는 높은 전압 강하를 유발하는 것으로 추정되는 시간 윈도우 또는 클립만 선택하여 분석을 수행함으로써 예측 시간을 추가로 단축시킬 수 있다. 이러한 예측 시간의 단축은 컴퓨팅 장치의 컴퓨팅 자원의 소모를 줄일 수 있다. 어떤 실시예에서, 전압 강하 예측 장치는 전류 소모와 저항뿐만 아니라 파워 패드 거리도 고려함으로써 상위 금속층의 긴 도선을 따라 흐르는 전류에 의해 발생하는 전압 강하도 예측할 수 있다.
어떤 실시예에서, 위에서 설명한 전압 강하 예측 장치 또는 방법의 효과는 본 발명자가 발표한 논문(Y Kwon et al., "Dynamic IR Drop Prediction Using Image-to-Image Translation Neural Network," 2021 IEEE International Symposium on Circuits and Systems (ISCAS), May 22-28, 2021)으로부터 확인할 수 있다.
다음, 본 발명의 한 실시예에 따른 전압 강하 예측 장치 또는 전압 강하 예측 방법을 구현할 수 있는 예시적인 컴퓨팅 장치(800)에 대하여 도 8을 참고로 하여 설명한다.
도 8은 본 발명의 한 실시예에 따른 컴퓨팅 장치의 한 예를 나타내는 도면이다.
도 8을 참고하면, 컴퓨팅 장치(800)는 프로세서(810), 메모리(820), 저장 장치(830), 통신 인터페이스(840) 및 버스(850)를 포함한다. 컴퓨팅 장치(800)는 다른 범용적인 구성 요소를 더 포함할 수 있다.
프로세서(810)는 컴퓨팅 장치(800)의 각 구성의 전반적인 동작을 제어한다. 프로세서(810)는 CPU(central processing unit), MPU(microprocessor unit), MCU(micro controller unit), GPU(graphic processing unit) 등의 다양한 프로세싱 유닛 중 적어도 하나로 구현될 수 있으며, 병렬 프로세싱 유닛으로 구현될 수도 있다. 또한, 프로세서(810)는 위에서 설명한 전압 강하 예측 방법을 실행하기 위한 프로그램에 대한 연산을 수행할 수 있다.
메모리(820)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(820)는 위에서 설명한 전압 강하 예측 방법을 실행하기 위하여 저장 장치(830)로부터 컴퓨터 프로그램을 로드할 수 있다. 저장 장치(830)는 프로그램을 비임시적으로 저장할 수 있다. 저장 장치(830)는 비휘발성 메모리로 구현될 수 있다.
통신 인터페이스(840)는 컴퓨팅 장치(800)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(840)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다.
버스(850)는 컴퓨팅 장치(800)의 구성 요소간 통신 기능을 제공한다. 버스(850)는 주소 버스(address bus), 데이터 버스(data bus) 및 제어 버스(control bus) 등 다양한 형태의 버스로 구현될 수 있다.
컴퓨터 프로그램은 메모리(820)에 로드될 때 프로세서(810)로 하여금 전압 강하 예측 방법을 수행하도록 하는 명령어(instructions)를 포함할 수 있다. 즉, 프로세서(810)는 명령어를 실행함으로써, 전압 강하 예측 방법을 위한 동작을 수행할 수 있다.
위에서 설명한 본 발명의 한 실시예에 따른 전압 강하 예측 방법은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 컴퓨터 프로그램으로 구현될 수 있다. 한 실시예에서, 컴퓨터가 읽을 수 있는 매체는 이동형 기록 매체이거나 고정식 기록 매체일 수 있다. 다른 실시예에서, 컴퓨터가 읽을 수 있는 매체에 기록된 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 다른 컴퓨팅 장치에 설치되어 실행될 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (19)

  1. 컴퓨팅 장치에 의해 수행되는, 반도체 소자의 전압 강하를 예측하는 방법으로서,
    상기 반도체 소자의 전류 파형에 기초해서 상기 반도체 소자에서의 전류 소모를 나타내는 전류 소모 맵을 생성하는 단계,
    상기 반도체 소자에서의 저항을 나타내는 저항 맵을 생성하는 단계,
    상기 전류 소모 맵과 상기 저항 맵을 포함하는 복수의 채널의 입력 특성 맵 각각을 복수의 입력 클립으로 분할하는 단계,
    상기 복수의 입력 클립 중 일부 입력 클립을 선택하는 단계, 그리고
    상기 선택한 입력 클립을 기계 학습 모델에 입력하여서 전압 강하 값을 가지는 출력 클립을 생성하는 단계
    를 포함하는 방법.
  2. 제1항에서,
    각 입력 특성 맵은 복수의 픽셀을 포함하는, 방법.
  3. 제1항에서,
    시뮬레이션 시간을 복수의 시간 윈도우로 분할하는 단계를 더 포함하며,
    상기 전류 소모 맵을 생성하는 단계는 각 시간 윈도우에서 상기 전류 파형에 기초해서 상기 전류 소모 맵을 생성하는 단계를 포함하는
    방법.
  4. 제3항에서,
    각 시간 윈도우에서 상기 전류 소모 맵을 생성하는 단계는
    각 시간 윈도우에서 상기 반도체 소자의 각 게이트의 전류 파형의 평균 전류를 계산하는 단계, 그리고
    각 게이트의 상기 평균 전류에 기초해서 각 게이트에 해당하는 픽셀의 전류 소모 값을 기록하는 단계
    를 포함하는 방법.
  5. 제4항에서,
    상기 전류 소모 값을 기록하는 단계는,
    타겟 게이트가 복수의 픽셀과 겹치는 경우, 상기 평균 전류를 상기 복수의 픽셀에 분배하는 단계,
    타겟 픽셀이 복수의 게이트를 포함하는 경우, 상기 복수의 게이트 중에서 상기 타겟 픽셀에서 가장 큰 영역을 차지하는 게이트의 상기 평균 전류를 상기 타겟 픽셀에 할당하는 단계, 또는
    타겟 픽셀이 게이트를 포함하지 않는 경우, 상기 타겟 픽셀에 0을 할당하는 단계
    를 포함하는 방법.
  6. 제3항에서,
    상기 일부 입력 클립을 선택하는 단계는 상기 복수의 시간 윈도우와 상기 복수의 입력 클립의 조합 중에서 일부 조합을 선택하는 단계를 포함하는, 방법.
  7. 제6항에서,
    상기 일부 조합을 선택하는 단계는,
    상기 저항 맵에 기초해서 상기 복수의 입력 클립 중 i번째 입력 클립의 저항 중 최대 저항을 선택하는 단계,
    상기 전류 소모 맵에 기초해서 상기 복수의 시간 윈도우 중 j번째 시간 윈도우 동안 상기 i번째 입력 클립의 r번째 행의 픽셀에서의 평균 전류의 합을 계산하는 단계,
    상기 최대 저항과 상기 평균 전류의 합의 곱으로 전압 강하를 추정하는 단계,
    상기 전압 강하가 소정의 제약 조건을 초과하는 경우, 상기 i번째 입력 클립과 상기 j번째 시간 윈도우의 조합을 위반 후보로 결정하는 단계, 그리고
    상기 i, j 및 r의 조합을 변경하면서 상기 위반 후보로 결정되는 상기 입력 클립과 상기 시간 윈도우의 조합을 선택하는 단계
    를 포함하는 방법.
  8. 제1항에서,
    상기 저항 맵을 생성하는 단계는,
    상기 반도체 소자의 PDN(power delivery network)을 상기 반도체 소자의 파워 패드에 연결되는 제1 전류 소스와 상기 반도체 소자의 타겟 게이트의 파워 레일과 접지단을 연결하는 제2 전류 소스를 포함하는 저항 네트워크로 모델링하는 단계, 그리고
    상기 타겟 게이트에 가장 인접한 두 개의 파워 비아, 상기 제1 전류 소스 및 상기 제2 전류 소스에 기초해서 PDN 저항을 계산하는 단계
    를 포함하는 방법.
  9. 제8항에서,
    상기 PDN 저항을 계산하는 단계는
    상기 두 개의 파워 비아에서 상기 제1 전류 소스까지의 도선을 각각 제1 저항과 제2 저항으로 모델링하는 단계,
    상기 두 개의 파워 비아에서 상기 제2 전류 소스까지의 도선을 각각 제3 저항과 제4 저항으로 모델링하는 단계, 그리고
    상기 제1 저항, 상기 제2 저항, 상기 제3 저항 및 상기 제4 저항에 기초해서 상기 PDN 저항을 계산하는 단계
    를 포함하는 방법.
  10. 제1항에서,
    상기 반도체 소자의 각 게이트에서 파워 패드까지의 거리를 나타내는 파워 패드 거리 맵을 생성하는 단계를 더 포함하며,
    상기 복수의 채널의 입력 특성 맵은 상기 파워 패드 거리 맵을 더 포함하는
    방법.
  11. 제1항에서,
    상기 기계 학습 모델은 U-net 모델을 포함하는, 방법.
  12. 제1항에서,
    상기 기계 학습 모델은 직렬로 연결되는 복수의 컨볼루션 레이어와 복수의 디컨볼루션 레이어를 포함하며,
    상기 복수의 채널의 각 입력 클립이 상기 복수의 컨볼루션 레이어 중 첫 번째 컨볼루션 레이어에 입력되고,
    상기 복수의 디컨볼루션 레이어 중 마지막 디컨볼루션 레이어에서 상기 출력 클립이 출력되는
    방법.
  13. 제12항에서,
    상기 복수의 컨볼루션 레이어 중에서 n번째 컨볼루션 레이어의 출력과 상기 복수의 디컨볼루션 레이어 중에서 (N-n)번째 디컨볼루션 레이어의 출력 사이에 스킵 연결이 형성되어 있는, 방법.
  14. 제1항에서,
    상기 기계 학습 모델은 비용 함수에 기초해서 훈련되었으며,
    상기 비용 함수는 실제 전압 강하 값을 가중치로 가지는 비용 함수인
    방법.
  15. 제14항에서,
    상기 비용 함수는 상기 기계 학습 모델이 예측한 전압 강하 값과 상기 실제 전압 강하 값 사이의 오차의 제곱의 가중 평균에 기초해서 결정되는, 방법.
  16. 하나 이상의 명령어를 저장하는 메모리, 그리고
    프로세서를 포함하며,
    상기 프로세서는 상기 명령어를 실행함으로써,
    반도체 소자의 전류 파형에 기초해서 상기 반도체 소자에서의 전류 소모를 나타내는 전류 소모 맵을 생성하고,
    반도체 소자에서의 저항을 나타내는 저항 맵을 생성하고,
    전류 소모 맵과 저항 맵을 포함하는 복수의 채널의 입력 특성 맵 각각을 복수의 입력 클립으로 분할하고,
    상기 복수의 입력 클립 중 일부 입력 클립을 선택하고,
    상기 선택한 입력 클립을 기계 학습 모델에 입력하여서 전압 강하 값을 가지는 출력 클립을 생성하는
    전압 강하 예측 장치.
  17. 제16항에서,
    상기 프로세서는, 상기 반도체 소자의 각 게이트에서 파워 패드까지의 거리를 나타내는 파워 패드 거리 맵을 생성하고,
    상기 복수의 채널의 입력 특성 맵은 상기 파워 패드 거리 맵을 더 포함하는
    전압 강하 예측 장치.
  18. 컴퓨팅 장치에 의해 실행되며, 기록 매체에 저장되어 있는 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은 상기 컴퓨팅 장치가,
    반도체 소자의 전류 파형에 기초해서 상기 반도체 소자에서의 전류 소모를 나타내는 전류 소모 맵을 생성하는 단계,
    상기 반도체 소자에서의 저항을 나타내는 저항 맵을 생성하는 단계,
    상기 전류 소모 맵과 상기 저항 맵을 포함하는 복수의 채널의 입력 특성 맵 각각을 복수의 입력 클립으로 분할하는 단계,
    상기 복수의 입력 클립 중 일부 입력 클립을 선택하는 단계, 그리고
    상기 선택한 입력 클립을 기계 학습 모델에 입력하여서 전압 강하 값을 가지는 출력 클립을 생성하는 단계
    를 실행하도록 하는 컴퓨터 프로그램.
  19. 제18항에서,
    상기 컴퓨터 프로그램은 상기 컴퓨팅 장치가 상기 반도체 소자의 각 게이트에서 파워 패드까지의 거리를 나타내는 파워 패드 거리 맵을 생성하는 단계를 더 실행하도록 하며,
    상기 복수의 채널의 입력 특성 맵은 상기 파워 패드 거리 맵을 더 포함하는
    컴퓨터 프로그램.
KR1020210184730A 2021-12-22 2021-12-22 반도체 소자에서의 전압 강하 예측 방법 및 장치 Active KR102719332B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210184730A KR102719332B1 (ko) 2021-12-22 2021-12-22 반도체 소자에서의 전압 강하 예측 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210184730A KR102719332B1 (ko) 2021-12-22 2021-12-22 반도체 소자에서의 전압 강하 예측 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20230095344A KR20230095344A (ko) 2023-06-29
KR102719332B1 true KR102719332B1 (ko) 2024-10-18

Family

ID=86946190

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210184730A Active KR102719332B1 (ko) 2021-12-22 2021-12-22 반도체 소자에서의 전압 강하 예측 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102719332B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040124859A1 (en) 2002-09-19 2004-07-01 Georg Muller Semiconductor device testing apparatus, semiconductor device testing system, and semiconductor device testing method for measuring and trimming the output impedance of driver devices
US20110221421A1 (en) 2007-08-08 2011-09-15 Williams Richard K Method Of Sensing Magnitude Of Current Through Semiconductor Power Device
JP2013113799A (ja) 2011-11-30 2013-06-10 Ricoh Co Ltd 電流検知装置、電流検知素子および電流検知方法
US20210004519A1 (en) 2018-09-28 2021-01-07 Taiwan Semiconductor Manufacturing Co., Ltd. Static voltage drop (sir) violation prediction systems and methods

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6201401B1 (en) * 1994-08-29 2001-03-13 Imec Method for measuring the electrical potential in a semiconductor element
KR101938700B1 (ko) * 2011-06-17 2019-01-16 삼성전자주식회사 반도체 집적회로 및 반도체 집적 회로의 전원 공급 방법
EP3627162B1 (en) * 2018-09-21 2023-06-07 Maschinenfabrik Reinhausen GmbH Analyzing an operation of a power semiconductor device
KR102774102B1 (ko) * 2019-03-20 2025-03-04 삼성전자주식회사 인공 신경망을 처리하는 방법 및 이를 위한 전자 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040124859A1 (en) 2002-09-19 2004-07-01 Georg Muller Semiconductor device testing apparatus, semiconductor device testing system, and semiconductor device testing method for measuring and trimming the output impedance of driver devices
US20110221421A1 (en) 2007-08-08 2011-09-15 Williams Richard K Method Of Sensing Magnitude Of Current Through Semiconductor Power Device
JP2013113799A (ja) 2011-11-30 2013-06-10 Ricoh Co Ltd 電流検知装置、電流検知素子および電流検知方法
US20210004519A1 (en) 2018-09-28 2021-01-07 Taiwan Semiconductor Manufacturing Co., Ltd. Static voltage drop (sir) violation prediction systems and methods

Also Published As

Publication number Publication date
KR20230095344A (ko) 2023-06-29

Similar Documents

Publication Publication Date Title
US8954917B1 (en) Method and system for performing fast electrical analysis and simulation of an electronic design for power gates
US8103996B2 (en) Method and apparatus for thermal analysis of through-silicon via (TSV)
US6523154B2 (en) Method for supply voltage drop analysis during placement phase of chip design
US5933358A (en) Method and system of performing voltage drop analysis for power supply networks of VLSI circuits
US9779192B2 (en) Multi-rate parallel circuit simulation
US20070133245A1 (en) SPICE optimized for arrays
US7844928B2 (en) Method and apparatus for evaluating integrated circuit design performance using enhanced basic block vectors that include data dependent information
US20210357560A1 (en) Method and System for Hierarchical Circuit Simulation Using Parallel Processing
US11675951B2 (en) Methods and systems for congestion prediction in logic synthesis using graph neural networks
US10268787B2 (en) Hybrid timing analysis method and associated system and non-transitory computer readable medium
US8595677B1 (en) Method and system for performing voltage-based fast electrical analysis and simulation of an electronic design
CN104111871B (zh) 一种用于执行电路仿真中动态负载平衡的方法及装置
US20230034245A1 (en) Lbm-based fluid analysis simulation device, method, and computer program
US9031825B1 (en) Statistical circuit simulation
KR20080079558A (ko) 회로 모델 축소 해석 방법 및 컴퓨터로 읽을 수 있는 매체
CN111026603B (zh) 片上网络温度预测方法及装置、设备、存储介质
KR102719332B1 (ko) 반도체 소자에서의 전압 강하 예측 방법 및 장치
US8091052B2 (en) Optimization of post-layout arrays of cells for accelerated transistor level simulation
US10216887B1 (en) Methods, systems, and computer program products for implementing an electronic design with time varying resistors in power gating analysis
US20200327207A1 (en) Transient Sensitivity Analysis
US20190370426A1 (en) Method and System for Hierarchical Circuit Simulation Using Parallel Processing
CN106709116A (zh) 一种生成rtl级ip核方法及装置
Kwon et al. Fast prediction of dynamic ir-drop using recurrent u-net architecture
Huang et al. Routability-driven power/ground network optimization based on machine learning
Eguia et al. General behavioral thermal modeling and characterization for multi-core microprocessor design

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20211222

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20240105

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20240719

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20241015

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20241015

End annual number: 3

Start annual number: 1

PG1601 Publication of registration