KR20210066628A - 집적 회로의 에이징을 추정하기 위한 방법 및 장치 - Google Patents

집적 회로의 에이징을 추정하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20210066628A
KR20210066628A KR1020190156117A KR20190156117A KR20210066628A KR 20210066628 A KR20210066628 A KR 20210066628A KR 1020190156117 A KR1020190156117 A KR 1020190156117A KR 20190156117 A KR20190156117 A KR 20190156117A KR 20210066628 A KR20210066628 A KR 20210066628A
Authority
KR
South Korea
Prior art keywords
aging
pdk
integrated circuit
circuit
netlist
Prior art date
Application number
KR1020190156117A
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 KR1020190156117A priority Critical patent/KR20210066628A/ko
Priority to US16/919,157 priority patent/US11972185B2/en
Publication of KR20210066628A publication Critical patent/KR20210066628A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/04Ageing analysis or optimisation against ageing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

집적 회로의 에이징(aging)을 추정하기 위한 방법은, 본 개시의 예시적 실시예에 따라, 집적 회로가 제조되는 공정이 제공하는 복수의 소자들에 대응하는 복수의 제1 소자 모델들을 포함하는 제1 PDK(Process Design Kit)를 획득하는 단계, 집적 회로를 정의하는 네트리스트 및 제1 PDK에 기초하여 제1 회로 시뮬레이션을 수행함으로써, 네트리스트에 포함된 소자 인스턴스들의 에이징 파라미터들의 값들을 획득하는 단계, 및 에이징 파라미터들의 값들 및 네트리스트에 기초하여 제2 회로 시뮬레이션을 수행함으로써, 집적 회로의 에이징 데이터를 획득하는 단계를 포함할 수 있고, 복수의 제1 소자 모델들 각각은, 에이징 파라미터를 계산하기 위하여 제1 회로 시뮬레이션에서 실행되는 적어도 하나의 측정 커맨드를 포함할 수 있다.

Description

집적 회로의 에이징을 추정하기 위한 방법 및 장치{METHOD AND APPARATUS FOR ESTIMATING AGING OF INTEGRATED CIRCUIT}
본 개시의 기술적 사상은 집적 회로에 관한 것으로서, 자세하게는 집적 회로의 에이징을 추정하기 위한 방법 및 장치에 관한 것이다.
반도체 공정에 의해서 제조되는 집적 회로는 높은 신뢰도를 가질 것이 요구될 수 있다. 예를 들면, 집적 회로는 가전 기기뿐만 아니라 운송수단, 통신 기기, 의료 기기 등에 포함될 수 있고, 낮은 신뢰도의 집적 회로는 중대한 문제를 유발할 수도 있다. 집적 회로에 포함되는 소자들은 시간이 흐름에 따라 다양한 원인들에 기인하여 열화될 수 있고, 이러한 집적 회로의 에이징은 집적 회로의 신뢰도를 저하시킬 수 있다. 이에 따라, 원하는 신뢰도를 가지는 집적 회로를 제조하기 위하여, 집적 회로의 설계 과정에서 집적 회로의 에이징을 정확하게 추정하는 것이 중요할 수 있다. 또한, 집적 회로의 에이징을 효율적으로 추정하는 것은 신뢰도가 개선된 집적 회로를 재설계하는 시간을 단축시킬 수 있고, 결과적으로 집적 회로의 TTM(Time-to-Market)을 감소시킬 수 있다.
본 개시의 기술적 사상은, 집적 회로의 에이징을 정확하고 효율적으로 추정하기 위한 방법, 시스템 및 비일시적인 저장매체를 제공한다.
본 개시의 기술적 사상의 일측면에 따라, 집적 회로의 에이징(aging)을 추정하기 위한 시스템은, 적어도 하나의 프로세서, 및 적어도 하나의 프로세서에 의해서 실행가능한 명령어들을 저장하고, 적어도 하나의 프로세서가 접근가능한 비일시적인 저장 매체를 포함할 수 있고, 적어도 하나의 프로세서가 명령어들을 실행함으로써 수행되는 동작은, 집적 회로가 제조되는 공정이 제공하는 복수의 소자들에 대응하는 복수의 제1 소자 모델들을 포함하는 제1 PDK(Process Design Kit)를 획득하는 단계, 집적 회로를 정의하는 네트리스트 및 제1 PDK에 기초하여 제1 회로 시뮬레이션을 수행함으로써, 네트리스트에 포함된 소자 인스턴스들의 에이징 파라미터들의 값들을 획득하는 단계, 및 에이징 파라미터들의 값들 및 네트리스트에 기초하여 제2 회로 시뮬레이션을 수행함으로써, 집적 회로의 에이징 데이터를 획득하는 단계를 포함할 수 있고, 복수의 제1 소자 모델들 각각은, 에이징 파라미터를 계산하기 위하여 제1 회로 시뮬레이션에서 실행되는 적어도 하나의 측정 커맨드를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따라, 집적 회로의 에이징을 추정하기 위한 방법은, 집적 회로가 제조되는 공정이 제공하는 복수의 소자들에 대응하는 복수의 제1 소자 모델들을 포함하는 제1 PDK를 획득하는 단계, 집적 회로를 정의하는 네트리스트 및 제1 PDK에 기초하여 제1 회로 시뮬레이션을 수행함으로써, 네트리스트에 포함된 소자 인스턴스들의 에이징 파라미터들의 값들을 획득하는 단계, 및 에이징 파라미터들의 값들 및 네트리스트에 기초하여 제2 회로 시뮬레이션을 수행함으로써, 집적 회로의 에이징 데이터를 획득하는 단계를 포함할 수 있고, 복수의 제1 소자 모델들 각각은, 에이징 파라미터를 계산하기 위하여 제1 회로 시뮬레이션에서 실행되는 적어도 하나의 측정 커맨드를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따라, 집적 회로의 에이징을 추정하기 위한 방법은, 집적 회로가 제조되는 공정이 제공하는 복수의 소자들에 대응하는 복수의 제1 소자 모델들을 포함하는 제1 PDK를 획득하는 단계, 및 집적 회로를 정의하는 네트리스트 및 제1 PDK에 기초하여 제1 회로 시뮬레이션을 수행함으로써, 네트리스트에 포함된 소자 인스턴스들의 에이징 파라미터들의 값들을 획득하는 단계를 포함할 수 있고, 제1 PDK를 획득하는 단계는, 복수의 소자들의 동작 특성들을 정의하는 모델 파라미터들을 각각 포함하는 복수의 제2 소자 모델들을 포함하는 제2 PDK를 획득하는 단계, 에이징 파라미터들을 계산하기 위하여, 제1 회로 시뮬레이션에서 실행되고 복수의 소자들에 대응하는 복수의 측정 커맨드들을 포함하는 에이징 라이브러리를 획득하는 단계, 및 제2 PDK 및 에이징 라이브러리에 기초하여, 복수의 제2 소자 모델들 각각에 적어도 하나의 측정 커맨드를 추가함으로써, 제1 PDK를 생성하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따라, 컴퓨터 접근가능한 비일시적인 저장 매체는, 집적 회로의 에이징을 추정하기 위하여 컴퓨터 실행가능한 명령어들을 저장할 수 있고, 컴퓨터가 명령어들을 실행함으로써 수행되는 동작은, 집적 회로가 제조되는 공정이 제공하는 복수의 소자들에 대응하는 복수의 제1 소자 모델들을 포함하는 제1 PDK를 획득하는 단계, 집적 회로를 정의하는 네트리스트 및 제1 PDK에 기초하여 제1 회로 시뮬레이션을 수행함으로써, 네트리스트에 포함된 소자 인스턴스들의 에이징 파라미터들의 값들을 획득하는 단계, 및 에이징 파라미터들의 값들 및 네트리스트에 기초하여 제2 회로 시뮬레이션을 수행함으로써, 집적 회로의 에이징 데이터를 획득하는 단계를 포함할 수 있고, 복수의 제1 소자 모델들 각각은, 에이징 파라미터를 계산하기 위하여 제1 회로 시뮬레이션에서 실행되는 적어도 하나의 측정 커맨드를 포함할 수 있다.
본 개시의 예시적 실시예에 따른 방법 및 장치에 의하면, 감소된 계산 복잡도에 기인하여 집적 회로의 에이징을 추정하는 과정에서 오류 발생이 제거되거나 현저하게 감소할 수 있다.
또한, 본 개시의 예시적 실시예에 따른 방법 및 장치에 의하면, 감소된 계산 복잡도에 기인하여 집적 회로의 에이징을 추정하는데 소요되는 시간이 현저하게 감소할 수 있다.
또한, 본 개시의 예시적 실시예에 따른 방법 및 장치에 의하면, 집적 회로의 에이징이 회로 시뮬레이터에 독립적으로 추정될 수 있으므로 높은 유용성이 달성될 수 있다.
본 개시의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 기재로부터 본 개시의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1은 본 개시의 예시적 실시예에 따라 집적 회로의 에이징을 추정하기 위한 방법을 나타내는 순서도이다.
도 2는 본 개시의 예시적 실시예에 따라 집적 회로의 에이징을 추정하기 위한 방법을 나타내는 순서도이다.
도 3은 본 개시의 예시적 실시예에 따른 에이징 PDK의 예시를 나타내는 도면이다.
도 4a는 본 개시의 예시적 실시예에 따른 에이징 PDK의 예시를 나타내는 도면이고, 도 4b는 본 개시의 예시적 실시예에 따른 에이징 라이브러리의 예시를 나타내는 도면이다.
도 5a는 본 개시의 예시적 실시예에 따른 에이징 PDK의 예시를 나타내는 도면이고, 도 5b는 본 개시의 예시적 실시예에 따른 변수 설정 라이브러리를 나타내는 도면이며, 도 5c는 본 개시의 예시적 실시예에 따른 에이징 라이브러리를 나타내는 도면이다.
도 6은 본 개시의 예시적 실시예에 따른 에이징 라이브러리를 나타내는 도면이다.
도 7은 본 개시의 예시적 실시예에 따른 집적 회로의 에이징을 추정하기 위한 방법을 나타내는 순서도이다.
도 8은 본 개시의 예시적 실시예에 따른 에이징 파라미터들의 인스턴스들을 나타내는 도면이다.
도 9는 본 개시의 예시적 실시예에 따라 집적 회로의 에이징을 추정하기 위한 방법을 나타내는 순서도이다.
도 10은 본 개시의 예시적 실시예에 따라 집적 회로의 에이징을 추정하기 위한 방법을 나타내는 순서도이다.
도 11은 본 개시의 예시적 실시예에 따른 에이징된 PDK의 예시를 나타내는 도면이다.
도 12는 본 개시의 예시적 실시예에 따른 집적 회로의 제조 방법을 나타내는 순서도이다.
도 13은 본 개시의 예시적 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 14는 본 개시의 예시적 실시예에 따른 저장 매체를 나타내는 블록도이다.
도 1은 본 개시의 예시적 실시예에 따라 집적 회로의 에이징을 추정하기 위한 방법을 나타내는 순서도이다. 도 1에 도시된 바와 같이, 집적 회로의 에이징을 추정하기 위한 방법은 단계 S20, 단계 S40 및 단계 S60을 포함할 수 있다. 집적 회로의 에이징을 추정하는 방법은 다양한 방식으로 수행될 수 있고, 일부 실시예들에서, 도 13에 도시된 바와 같이, 컴퓨팅 시스템에 의해서 수행될 수 있다. 또한, 일부 실시예들에서, 도 7 등을 참조하여 후술되는 바와 같이, 집적 회로의 에이징을 수행하는 방법은 에이징 분석기에 의해서 수행될 수도 있고, 에이징 분석기 및 회로 시뮬레이터 모두에 의해서 수행될 수도 있다.
집적 회로는 반도체 공정에 의해서 제조되는 복수의 소자들을 포함할 수 있고, 집적 회로에 포함된 소자들은 시간이 흐름에 따라 다양한 원인들에 기인하여 열화(degradation)될 수 있다. 예를 들면, 트랜지스터의 특성들 중 문턱 전압, 드레인 전류 등은 다양한 에이징 현상들, 예컨대 BTI(Bias Temperature Instability), HCI(Hot Carrier Injection), TDDB(Time Dependent Dielectric Breakdown), 자가 발열(self-heating) 등에 기인하여 시간이 흐름에 따라 열화될 수 있다. 이와 같은 집적 회로의 에이징은 집적 회로의 성능을 감소시킬 뿐만 아니라, 오동작을 유발할 수도 있다. 이에 따라, 높은 신뢰도의 집적 회로를 제조하기 위하여, 집적 회로의 설계 단계에서 집적 회로의 수명, 즉 집적 회로의 에이징에도 불구하고 집적 회로가 바람직한 성능을 제공할 수 있는 기간을 정확하게 예측하는 것이 중요할 수 있다.
사인-오프(sign-off)는 집적 회로 설계의 최종 단계로서, 설계된 집적 회로를 다양한 방식을 검증하는 동작들을 포함할 수 있고, 집적 회로의 검증이 완료된 경우, 즉 사인-오프가 성공적으로 완료된 경우 집적 회로의 제조를 위한 단계들이 후속할 수 있다. 사인-오프는 집적 회로의 수명이, 요구되는 기준을 만족하는지 여부를 검증하는 동작을 포함할 수 있고, 집적 회로의 수명을 예측하기 위하여 집적 회로의 에이징이 추정될 수 있다. 집적 회로의 에이징은, 전술된 바와 같이 높은 정확도를 가질 것이 요구될 뿐만 아니라, 높은 효율성을 가질 것이 요구될 수 있다. 예를 들면, 시스템-온-칩(System-on-Chip; SoC)과 같이, 높은 복잡도를 가지는 집적 회로의 에이징을 추정하는 것은 높은 계산 능력(computing power)을 요구할 수 있고, 이에 따라 집적 회로의 에이징을 효율적으로 추정하는 것은 사인-오프에 소요되는 시간을 단축시킬 뿐만 아니라, 집적 회로의 재설계 기간을 단축시킴으로써 집적 회로의 TTM(Time-to-Market)을 현저하게 감소시킬 수 있다.
이하에서 도면들을 참조하여 후술되는 바와 같이, 본 개시의 예시적 실시예들에 따른 집적 회로의 에이징을 추정하기 위한 방법 및 장치에 의하면, 집적 회로를 정의하는 네트리스트의 플래트닝(flattening)이 생략될 수 있고, 이에 따라 플래트닝된(flattened) 네트리스트를 사용하는 과정에서 발생할 수 있는 오류들이 제거될 뿐만 아니라 집적 회로의 에이징을 추정하는데 요구되는 시간 및 리소스들(예컨대, 저장 공간, 대역폭 등)이 현저하게 감소할 수 있다. 또한, 회로 시뮬레이터에 대한 감소된 의존성에 기인하여, 다양한 회로 시뮬레이터들에서도 가능한 집적 회로의 에이징 추정이 달성될 수 있다.
도 1을 참조하면, 단계 S20에서, 에이징 PDK(PDK1)를 획득하는 동작이 수행될 수 있다. 공정 설계 키트(Process Design Kit 또는 Process Development Kit; PDK)는 집적 회로가 제조되는 공정을 모델링하기 위한 데이터를 지칭할 수 있다. 예를 들면, 공정 설계 키트는 공정이 제공하는 복수의 소자들에 대응하는 복수의 소자 모델들(본 명세서에서 복수의 제2 소자 모델들로서 지칭될 수 있다)을 포함할 수 있고, 복수의 소자 모델들 각각은 소자의 동작 특성들을 나타내는 복수의 모델 파라미터들을 포함할 수 있다. 공정 설계 키트는 반도체 제조 플랜트(semiconductor fabrication plant)(또는 팹(FAB), 파운드리(foundry))에 의해서 제공될 수 있고, 집적 회로의 설계자는 공정 설계 키트를 사용하여 집적 회로 설계를 검증함으로써 집적 회로를 설계할 수 있다. 본 명세서에서, 공정 설계 키트는 에이징과 관련된 정보(예컨대 에이징 파라미터)가 생략된 데이터를 지칭할 수 있고, 후술되는 에이징 PDK 및 에이징된(aged) PDK와 구분될 수 있으며, 본 명세서에서 제2 PDK로서 지칭될 수도 있다.
에이징 PDK(PDK1)는 공정 설계 키트에 포함된 정보 및 집적 회로의 에이징을 추정하기 위한 정보를 포함할 수 있다. 예를 들면, 도 3을 참조하여 후술되는 바와 같이, 에이징 PDK(PDK1)는 에이징 파라미터를 정의하는 함수, 즉 에이징 함수를 포함할 수 있고, 에이징 함수의 결과를 측정하도록 회로 시뮬레이터에 지시하는 측정 커맨드를 포함할 수 있다. 에이징 PDK(PDK1)는 공정이 제공하는 복수의 소자들에 각각 대응하는 복수의 에이징 파라미터들을 정의할 수 있고, 하나의 소자의 에이징을 추정하기 위하여 복수의 에이징 파라미터들이 정의될 수도 있다. 또한, 도 3 등을 참조하여 후술되는 바와 같이, 에이징 함수 및 측정 커맨드는 소자 모델 내부에 존재할 수 있고, 이에 따라 집적 회로의 에이징을 추정하는 과정에서 네트리스트(NET)의 플래트닝이 생략될 수 있다. 에이징 PDK(PDK1)는 적어도 하나의 측정 커맨드를 각각 포함하는 복수의 소자 모델들(본 명세서에서 복수의 제1 소자 모델들로서 지칭될 수 있다)을 포함할 수 있으며, 본 명세서에서 에이징 PDK(PDK1)는 제1 PDK로서 지칭될 수 있다. 단계 S20의 예시는 도 2를 참조하여 설명될 것이다.
단계 S40에서, 제1 회로 시뮬레이션이 수행될 수 있다. 도 1에 도시된 바와 같이, 제1 회로 시뮬레이션은 집적 회로를 정의하는 네트리스트(NET) 및 에이징 PDK(PDK1)에 기초하여 수행될 수 있다. 네트리스트(NET)는 집적 회로에 포함된 소자들 및 소자들 사이 연결들에 대한 정보를 포함할 수 있다. 네트리스트(NET) 및 에이징 PDK(PDK1)가 회로 시뮬레이터에 제공될 수 있고, 회로 시뮬레이터는 에이징 PDK(PDK1)를 참조하여 네트리스트(NET)에 의해서 정의된 집적 회로를 시뮬레이션할 수 있다. 회로 시뮬레이터는 아날로그 전자 회로 시뮬레이터로서 SIPCE(Simulation Program with Integrated Circuit Emphasis)로서 지칭될 수 있고, 비제한적인 예시로서 Synopsys사의 HSPICE 및 FineSim, Cadence사의 PSPICE 및 Spectre 등을 포함할 수 있다. 이하에서 본 개시의 예시적 실시예들은 HSPICE를 주로 참조하여 설명될 것이나, 본 개시의 실시예들이 이에 제한되지 아니하는 점이 유의된다.
집적 회로에 포함된 소자의 에이징은 소자에 가해지는 전기적 스트레스에 의존할 수 있다. 예를 들면, 에이징 현상 중 하나로서 HCI는 전자들 및/또는 정공들의 이동도(mobility)의 변화에 관련될 수 있고, FET(Field Effect Transistor)에 가해지는 드레인-소스 전압(Vds)이 증가할수록 악화될 수 있다. 또한, 에이징 현상 중 하나로서 NBIT는 트랜지스터의 문턱 전압 이동(shift)을 유발할 수 있고, FET에 가해지는 게이트-소스 전압(Vgs)의 절대 크기가 증가할수록 악화될 수 있다. 전술된 HCI 및 BTI는 전기적 스트레스뿐만 아니라 집적 회로의 온도가 증가할수록 악화될 수 있다. 이에 따라, 소자의 에이징을 추정하기 위하여, 집적 회로에 포함된 소자들에 가해지는 전기적 스트레스(예컨대 전압 및/또는 전류) 및 열 등을 분석하는 것이 요구될 수 있고, 이를 위하여 네트리스트(NET)에 기초한 회로 시뮬레이션이 수행될 수 있다.
집적 회로를 정의하는 네트리스트(NET)는 계층적으로 연결된 복수의 서브회로들을 포함할 수 있다. 서브회로(subcircuit)는 소프트웨어의 서브루틴 또는 함수와 같이 특정 회로가, 외부와 연결되는 노드들 및 특성들을 정의하는 파라미터들을 가지는 하나의 객체로서 정의된 것을 지칭할 수 있다. 예를 들면, 서브회로는 HSPICE에서 ".subckt"로 시작하여 ".ends"로 종료할 수 있고, ".subckt" 및 ".ends" 사이에 서브회로를 정의하는 내용을 포함할 수 있다. 서브회로는 소프트웨어의 함수 호출(function call)과 같이 다른 서브회로를 인용할 수 있고, 인용된 서브회로는 인용하는 서브회로의 일부로서 실제 집적 회로에 구현될 수 있다. 네트리스트(NET)는 스스로 정의한 서브회로를 포함할 수도 있고, 공정 설계 키트가 제공하는 서브회로들을 인용할 수도 있다. 예를 들면, 공정 설계 키트에 포함된 복수의 소자 모델들은 복수의 서브회로들로서 각각 정의될 수 있다. 이에 따라, 네트리스트(NET)는 계층적으로 연결된 복수의 서브회로들을 포함할 수 있으며, 서브회로들을 인용함으로써 네트리스트(NET)에 포함된 회로들은 서브회로들의 인스턴스(instance)들로서 지칭될 수 있고, 특히 공정 설계 키트에 의해서 정의된 소자 모델들을 인용함으로써 네트리스트(NET)에 포함된 회로들은 소자 인스턴스들로서 지칭될 수 있다.
전술된 바와 같이, 단계 S20에서 생성된 에이징 PDK(PDK1)는 소자 모델 내부에 측정 커맨드를 포함할 수 있고, 이에 따라 네트리스트(NET)에서 소자 모델을 인용하는 경우, 단계 S40에서, 소자 모델 내부에 포함된 측정 커맨드가 회로 시뮬레이터에 의해서 실행될 수 있다. 예를 들면, 도 3을 참조하여 후술되는 바와 같이, ".subckt" 및 ".ends" 사이에서 서브회로에 포함된 측정 커맨드 ".meas"가 제1 회로 시뮬레이션이 수행되는 동안 회로 시뮬레이터에 의해서 실행될 수 있다. 이에 따라, 단계 S40에서, 네트리스트(NET)에 포함된 소자 인스턴스에 가해지는 전기적 스트레스 및/또는 열이 분석됨과 동시에 에이징 함수에 의해서 소자 인스턴스의 에이징 파라미터의 값이 계산될 수 있다. 예를 들면, 네트리스트(NET)에 포함된 제1 소자 인스턴스 및 제2 소자 인스턴스는 동일한 소자 모델, 예컨대 동일한 NFET(n-channel FET)에 대응함에도 불구하고, 집적 회로의 동작시 가해지는 상이한 전기적 스트레스 및/또는 열에 기인하여 제1 소자 인스턴스의 에이징 파라미터의 값은 제2 소자 인스턴스의 에이징 파라미터의 값과 상이할 수 있다.
제1 회로 시뮬레이션을 수행함으로써 획득되는 제1 시뮬레이션 데이터는 에이징 파라미터들의 값들을 포함할 수 있고, 본 명세서에서 제1 시뮬레이션 데이터에 포함되고 값을 가지는 에이징 파라미터는, 에이징 파라미터들의 인스턴스들로서 지칭될 수 있다. 이에 따라, 도 1에 도시된 바와 같이, 단계 S40이 수행됨으로써 에이징 파라미터들의 인스턴스들(A_PAR)이 획득될 수 있고, 본 명세서에서 단계 S40은 에이징 파라미터들의 인스턴스들(A_PAR) 또는 에이징 파라미터의 값들을 획득하는 단계로서 지칭될 수도 있다. 단계 S40의 예시는 도 7을 참조하여 후술될 것이다.
단계 S60에서, 제2 회로 시뮬레이션을 수행하는 동작이 수행될 수 있다. 도 1에 도시된 바와 같이, 제2 회로 시뮬레이션은 집적 회로를 정의하는 네트리스트(NET), 집적 회로의 연식(A_IN) 및 에이징 파라미터들의 인스턴스들(A_PAR)에 기초하여 수행될 수 있다. 집적 회로의 연식(A_IN)은 사용자, 예컨대 집적 회로의 설계자 혹은 집적 회로의 설계를 검증하는 자가 테스트하고자 하는 집적 회로의 연식을 지칭할 수 있다. 예를 들면, 사용자는 2년 후의 집적 회로의 성능을 검증하기 위하여, 집적 회로의 연식(A_IN)으로서 "2년"을 입력할 수 있고, 제2 회로 시뮬레이션의 결과(제2 시뮬레이션 데이터 또는 에이징 데이터로서 지칭될 수 있다)를 참조하여 집적 회로의 성능 저하가 적절한 수준인지 여부를 체크할 수 있다.
일부 실시예들에서, 단계 S40에서 획득된 에이징 파라미터들의 인스턴스들(A_PAR)은 단위 기간에서의 에이징 정도를 나타낼 수 있다. 예를 들면, FET는 에이징 현상에 기인하여 문턱 전압 이동, 드레인 전류 감소 등이 발생할 수 있고, FET 인스턴스의 에이징된 파라미터들(또는 에이징 파라미터들의 값들)은 단위 기간 동안 문턱 전압 이동, 단위 기간 동안 드레인 전류 감소를 각각 나타낼 수 있다. 이에 따라, 사용자가 입력한 집적 회로의 연식(A_IN)에 따라 FET 인스턴스의 에이징이 판정될 수 있고, 에이징된 FET 인스턴스를 포함하는 집적 회로가 단계 S60에서 시뮬레이션될 수 있다. 도 1에 도시된 바와 같이, 제2 회로 시뮬레이션이 수행됨으로써 에이징 데이터(A_DAT)가 생성될 수 있고, 본 명세서에서 단계 S60은 에이징 데이터(A_DAT)를 획득하는 단계로서 지칭될 수도 있다. 에이징 데이터(A_DAT)는 집적 회로의 연식(A_IN)에 따라 에이징된 집적 회로의 동작을 나타내는 정보들을 포함할 수 있고, 집적 회로의 신뢰도를 평가하는데 이용될 수 있다. 단계 S60의 예시는 도 9를 참조하여 후술될 것이다.
도 1에 도시된 바와 상이하게, 네트리스트(NET)에 포함된 소자 인스턴스들에 각각에 가해지는 전기적 스트레스들 및 열을 분석하기 위하여, 네트리스트(NET)를 플래트닝(flattening)하고, 플래트닝된(flattened) 네트리스트에 기초하여 회로 시뮬레이션을 수행하는 방식이 고려될 수 있다. 플래트닝은 네트리스트(NET)에서 서브회로들의 계층을 제거하는 동작을 지칭할 수 있고, 이에 따라 플래트닝된 네트리스트에서는 서브회로가 인용되는 대신, 네트리스트(NET)에서 인용된 서브회로의 내용이 서브회로의 인스턴스에 맞게 변형되어 플래트닝된 네트리스트에 포함될 수 있다. 그러나, 집적 회로의 복잡도가 증가함에 따라 네트리스트(NET)의 계층 구조 역시 높은 복잡도 및 높이를 가질 수 있으며, 이에 따라 플래트닝된 네트리스트를 위하여 방대한 저장 공간이 요구될 수 있고, 플래트닝된 네트리스트를 생성, 저장, 처리하는 과정에서 많은 오류들이 발생할 수 있을 뿐만 아니라 많은 시간이 소요될 수 있다. 또한, 플래트닝된 네트리스트를 통해 획득한 전기적 스트레스에 기초하여 소자 인스턴스들 각각의 에이징들, 즉 에이징 파라미터들이 별개로 계산될 필요가 있고, 계산된 에이징 파라미터들이 반영된 새로운 플래트닝된 네트리스트가 생성됨으로써 많은 오류들 및 시간 소비가 유발될 수 있다.
도 1을 참조하여 전술된 바와 같이, 에이징 PDK(PDK1)는 집적 회로를 정의하는 네트리스트(NET)에 독립적으로 생성될 수 있고, 제1 회로 시뮬레이션을 통해서 전기적 스트레스를 반영한 에이징 파라미터들의 값들, 즉 에이징 파라미터들의 인스턴스들(A_PAR)이 획득될 수 있다. 이에 따라, 네트리스트(NET)의 플래트닝이 생략될 수 있고, 네트리스트(NET)의 플래트닝에 기인하는 전술된 문제점들이 제거될 수 있다. 또한, 도 9등을 참조하여 후술되는 바와 같이, 에이징 파라미터들의 인스턴스들(A_PAR)은 에이징된 집적 회로의 시뮬레이션, 즉 제2 회로 시뮬레이션에 단순하게 적용될 수 있다. 결과적으로, 본 개시의 예시적 실시예에 따른 집적 회로의 에이징 추정은 낮은 복잡도에 기인하여 향상된 정확도 및 효율성을 동시에 제공할 수 있다.
도 2는 본 개시의 예시적 실시예에 따라 집적 회로의 에이징을 추정하기 위한 방법을 나타내는 순서도이다. 구체적으로, 도 2의 순서도는 도 1의 단계 S20의 예시를 나타낸다. 도 1을 참조하여 전술된 바와 같이, 도 2의 단계 S20'에서 에이징 PDK(PDK1)을 획득하는 동작이 수행될 수 있고, 도 2에 도시된 바와 같이, 단계 S20'은 단계 S22, 단계 S24 및 단계 S26을 포함할 수 있다. 이하에서 도 2는 도 1을 참조하여 설명될 것이다.
단계 S22에서, 공정 설계 키트(PDK2)를 획득하는 동작이 수행될 수 있다. 도 1을 참조하여 전술된 바와 같이, 공정 설계 키트(PDK2)는 복수의 소자 모델들(또는 복수의 제1 소자 모델들)을 포함할 수 있고, 반도체 제조 플랜트로부터 제공될 수 있다. 일부 실시예들에서, 공정 설계 키트(PDK2)는 공정 설계 키트(PDK2)가 저장된 저장 매체로부터 로딩함으로써 획득될 수 있다.
단계 S24에서, 에이징 라이브러리(A_LIB)를 획득하는 동작이 수행될 수 있다. 에이징 라이브러리(A_LIB)는 집적 회로가 제조되는 공정이 제공하는 복수의 소자들의 에이징 특성들을 나타내는 정보들을 포함할 수 있다. 예를 들면, 에이징 라이브러리(A_LIB)는 소자의 에이징 파라미터, 에이징 파라미터를 계산하기 위한 에이징 함수 및 에이징 함수를 계산하는데 필요한 인수들(arguments)을 정의할 수 있다. 에이징 라이브러리(A_LIB)는 임의의 형식을 가질 수 있고, 일부 실시예들에서, 회로 시뮬레이터의 입력 양식에 따라 작성될 수 있다. 에이징 라이브러리(A_LIB)의 예시들은 도 4b 및 도 5c를 참조하여 후술될 것이다.
일부 실시예들에서, 에이징 라이브러리(A_LIB)는 연속 함수를 포함하는 에이징 함수를 포함할 수 있다. 예를 들면, 복수의 상이한 회로 시뮬레이터들에 의해서 지원가능한 연속 함수가 정의될 수 있고, 에이징 파라미터는 연속 함수를 사용하여 정의될 수 있다. 이에 따라, 에이징 PDK(PDK1)는 회로 시뮬레이터의 종류와 무관하게 사용될 수 있다.
단계 S26에서, 공정 설계 키트(PDK2)에 측정 커맨드를 추가함으로써 에이징 PDK(PDK1)를 생성하는 동작이 수행될 수 있다. 일부 실시예들에서, 공정 설계 키트(PDK2)에 포함된 소자 모델에 대응하는 에이징 파라미터, 에이징 함수 및 인수들이 에이징 라이브러리(A_LIB)에서 검색될 수 있고, 검색된 정보들을 측정하거나 계산하기 위한 측정 커맨드가 소자 모델 내부에 추가될 수 있다. 일부 실시예들에서, 측정 커맨드가 공정 설계 키트(PDK2)에 직접 추가될 수도 있다. 일부 실시예들에서, 에이징 라이브러리(A_LIB)에서 소자 모델에 대응하는 부분을 가리키는 경로가 공정 설계 키트(PDK2)에 추가됨으로써 측정 커맨드가 간접적으로 추가될 수도 있다. 또한, 일부 실시예들에서, 에이징 함수는 공정 조정을 반영하기 위하여 공정 의존성 변수를 포함할 수 있고, 공정 의존성 변수를 설정하는 부분이 측정 커맨드 앞에 추가될 수도 있다.
도 3은 본 개시의 예시적 실시예에 따른 에이징 PDK의 예시를 나타내는 도면이다. 구체적으로 도 3은 에이징 PDK(PDK1')에 포함된 하나의 소자 모델을 나타낸다. 도 2를 참조하여 전술된 바와 같이, 에이징 PDK(PDK1')는 공정 설계 키트(PDK2)에 측정 커맨드를 추가함으로써 생성될 수 있고, 에이징 PDK(PDK1')은 직접적으로 추가된 측정 커맨드를 포함할 수 있다.
도 3을 참조하면, 에이징 PDK(PDK1')는 소자 모델로서, 라인 L11 내지 라인 L42에서 정의된 NFET 모델을 포함할 수 있고, 라인 L21 내지 라인 L23에서 NFET의 특성들을 정의하는 모델 파라미터들이 설정될 수 있다. 예를 들면, NFET는 BSIM(Berkeley Short-channel IGFET Model)이 제공하는 모델 파라미터들로서 "delvtrand", "u0mult", "ids0mult", "dtemp" 등을 포함할 수 있다. "detvtrand"는 문턱 전압 이동을 나타낼 수 있고, "u0mult"는 이동도(mobility)에 대한 승수(multiplier)를 나타낼 수 있고, "ids0mult"는 소스-드레인 채널 전류에 대한 승수를 나타낼 수 있으며, "dtemp"는 소자 온도 이동(shift)을 나타낼 수 있다. 도 10 및 도 11을 참조하여 후술되는 바와 같이, 소자 인스턴스에서 전술된 모델 파라미터들 중 적어도 하나가 에이징된 값으로 설정될 수 있고, 이에 따라 에이징된 집적 회로가 시뮬레이션(즉, 제2 회로 시뮬레이션)될 수 있다.
에이징 PDK(PDK1')는 라인 L31 및 라인 L32에서 추가된 측정 커맨드들, 즉 ".meas"를 포함할 수 있다. 라인 L31을 참조하면, NFET의 제1 에이징 파라미터 "aging1_nfet"가 게이트-소스 전압 "v(g,s)" 및 드레인-소스 전압 "v(d, s)"의 곱(product)을 적분한 값으로서 정의될 수 있고, 측정 커맨드 ".meas"는 회로 시뮬레이터가 제1 회로 시뮬레이션 동안 제1 에이징 파라미터 "aging1_nfet"를 계산(또는 측정)하도록 지시할 수 있다. 유사하게, 라인 L32에서 NFET의 제2 에이징 파라미터 "aging2_nfet"가 정의될 수 있고, 측정 커맨드 ".meas"는 회로 시뮬레이터가 제1 회로 시뮬레이션 동안 제2 에이징 파라미터 "aging2_nfet"를 계산(또는 측정)하도록 지시할 수 있다.
도 4a는 본 개시의 예시적 실시예에 따른 에이징 PDK의 예시를 나타내는 도면이고, 도 4b는 본 개시의 예시적 실시예에 따른 에이징 라이브러리의 예시를 나타내는 도면이다. 구체적으로, 도 4a는 측정 커맨드가 간접적으로 추가된 에이징 PDK(PDK1a)를 나타내고, 도 4b는 간접적으로 추가되는 측정 커맨드를 포함하는 에이징 라이브러리(A_LIBa)를 나타낸다. 이하에서 도 4a 및 도 4b에 대한 설명 중 도 3에 대한 설명과 중복되는 내용은 생략될 것이다.
도 4a를 참조하면, 에이징 PDK(PDK1a)는 소자 모델로서, 라인 L11 내지 라인 L41에서 정의된 NFET 모델을 포함할 수 있다. 또한, 에이징 PDK(PDK1a)는 라인 L31에서 도 4b의 에이징 라이브러리(A_LIBa)에서 NFET 모델에 대응하는 부분을 가리키는 경로를 포함할 수 있다. 예를 들면, 도 4b의 에이징 라이브러리(A_LIBa)의 파일명이 "agingpar.lib"일 수 있고, 도 4a의 라인 L31에서 "./agingpar.lib"은 에이징 라이브러리(A_LIBa)의 경로를 나타낼 수 있다. 또한, 도 4a의 라인 L31에서 "aging_nfet"은 에이징 라이브러리(A_LIBa)에서 NFET 모델에 대응하는 부분의 인덱스일 수 있다. 예를 들면, 도 4b에 도시된 바와 같이, 에이징 라이브러리(A_LIBa)는 라인 L11 내지 라인 L31에서 인덱스 "aging_nfet"로 정의된 부분을 포함할 수 있고, 라인 L21 및 라인 L22에서 측정 커맨드들을 포함할 수 있다. 이에 따라, 도 4b의 측정 커맨드들이 도 4a의 라인 L31에서 간접적으로 추가될 수 있다.
도 5a는 본 개시의 예시적 실시예에 따른 에이징 PDK의 예시를 나타내는 도면이고, 도 5b는 본 개시의 예시적 실시예에 따른 변수 설정 라이브러리를 나타내는 도면이며, 도 5c는 본 개시의 예시적 실시예에 따른 에이징 라이브러리를 나타내는 도면이다. 구체적으로, 도 5a는 공정 의존성 변수를 설정하는 부분이 측정 커맨드 앞에 추가된 에이징 PDK(PDK1b)를 나타내고, 도 5b는 공정 의존성 변수를 설정하는 변수 설정 라이브러리(S_LIB)를 나타내며, 도 5c는 공정 의존성 변수를 사용하여 에이징 파라미터를 정의하는 에이징 라이브러리(A_LIBb)를 나타낸다. 이하에서, 도 5a, 도 5b 및 도 5c에 대한 설명 중, 도 3, 도 4a 및 도 4b에 대한 설명과 중복되는 내용은 생략될 것이다.
도 5a를 참조하면, 에이징 PDK(PDK1b)는 소자 모델로서, 라인 L11 내지 라인 L42에서 정의된 NFET 모델을 포함할 수 있고, 라인 L32에서 도 5c의 에이징 라이브러리(A_LIBb)를 가리키는 경로를 포함할 수 있다. 또한, 에이징 PDK(PDK1b)는 라인 L31에서 변수 설정 라이브러리(S_LIB)를 가리키는 경로를 포함할 수 있다. 예를 들면, 도 5b의 변수 설정 라이브러리(S_LIB)의 파일명이 "setvar.lib"일 수 있고, 도 5a의 라인 L31에서 "./setvar.lib"은 변수 설정 라이브러리(S_LIB)의 경로를 나타낼 수 있다. 또한, 도 5a의 라인 L31에서 "set_nfet"은 변수 설정 라이브러리(S_LIB)에서 NFET 모델에 대응하는 부분의 인덱스일 수 있다. 예를 들면, 도 5b에 도시된 바와 같이, 변수 설정 라이브러리(S_LIB)는 라인 L11 내지 라인 21에서 인덱스 "set_nfet"로 정의된 부분을 포함할 수 있고, 라인 L12 및 라인 L13에서 공정 의존성 변수들 "dg1" 및 "dg2"를 설정할 수 있다.
집적 회로를 제조하는 공정은 다양한 목적으로 조정될 수 있고, 조정된 공정에 의해서 제조되는 소자들은 변경된 특성들을 가질 수 있다. 이러한 변경된 특성들을 고려하기 위하여, 에이징 함수는 공정 의존성 변수를 포함할 수 있다. 예를 들면, 도 5c에 도시된 바와 같이, 에이징 라이브러리(A_LIBb)는 라인 L21 및 라인 L22에서 측정 커맨드들, 즉 ".meas"를 포함할 수 있다. 라인 L21을 참조하면, NFET의 제1 에이징 파라미터 "aging1_nfet"는 게이트-소스 전압 "v(g,s)" 및 드레인-소스 전압 "v(d, s)"의 곱에 공정 의존성 변수 "dg1"를 승산한 값을 적분한 값으로서 정의될 수 있다. 이에 따라, 제1 에이징 파라미터 "aging1_nfet"가 계산되기 전에 공정 의존성 변수 "dg1"이 정의되는 것이 요구될 수 있고, 도 5a에 도시된 바와 같이, 에이징 라이브러리(A_LIBb)의 앞에(즉 측정 커맨드 앞에), 공정 의존성 변수 "dg1"를 설정하는 변수 설정 라이브러리(S_LIB)가 추가될 수 있다. 이에 따라, 집적 회로가 제조되는 공정이 조정되는 경우, 도 5b의 변수 설정 라이브러리(S_LIB)에서 공정 의존성 변수들의 값이 변경될 수 있고, 조정된 공정이 제공하는 소자의 에이징을 나타내는 에이징 파라미터가 정의될 수 있다.
도 6은 본 개시의 예시적 실시예에 따른 에이징 라이브러리를 나타내는 도면이다. 구체적으로, 도 6의 에이징 라이브러리(A_LIBc)는 도 4a 및 도 4b를 참조하여 전술된 바와 같이, 간접적으로 추가되는 측정 커맨드를 포함할 수 있고, 에이징 함수의 인수를 측정하기 위한 측정 커맨드를 포함할 수 있다. 이하에서, 도 6에 대한 설명 중 도 3, 도 4b 및 도 5c에 대한 설명과 중복되는 내용은 생략될 것이다.
도 6을 참조하면, 에이징 라이브러리(A_LIBc)는 라인 L11 내지 라인 L31에서 인덱스 "aging_nfet"로 정의된 부분을 포함할 수 있다. 또한, 에이징 라이브러리(A_LIBc)는 라인 L21 내지 라인 L23에서 측정 커맨드 ".meas"를 각각 포함할 수 있다. 회로 시뮬레이터는, 일부 실시예들에서 측정 커맨드에 후속하는 사용자 정의 함수에서 사용되는 인수들의 종류를 제한할 수도 있고, 일부 실시예들에서 측정 커맨드에 후속하는 미리 정의된 함수들의 사용을 제한할 수도 있다. 이에 따라, 에이징 라이브러리(A_LIBc)는 에이징 함수의 인수들 중 일부를 먼저 측정하기 위한 측정 커맨드(본 명세서에서 제1 측정 커맨드로서 지칭될 수 있다)를 에이징 함수를 정의하는 측정 커맨드(본 명세서에서 제2 측정 커맨드로서 지칭될 수 있다) 앞에 포함할 수 있다. 예를 들면, 도 6에 도시된 바와 같이, 라인 L21에서 변수 "vdavg"가 드레인 전압 "v(d)"의 평균으로 정의될 수 있고, 측정 커맨드 ".meas"는 회로 시뮬레이터가 제1 회로 시뮬레이션 동안 변수 "vdavg"를 측정하도록 지시할 수 있다. 또한, 라인 L23에서, 제2 에이징 파라미터 "aging2_nfet"는 공정 의존성 변수 "dg2" 및 변수 "vdavg"의 곱으로 정의될 수 있고, 측정 커맨드 ".meas"는 회로 시뮬레이터가 제1 회로 시뮬레이션 동안 제2 에이징 파라미터 "aging2_nfet"를 측정하도록 지시할 수 있다. 또한, 일부 실시예들에서, 도 3을 참조하여 전술된 바와 같이, 제1 측정 커맨드 및 제2 측정 커맨드가 도 2의 공정 설계 키트(PDK2)에 직접적으로 추가될 수도 있다.
도 7은 본 개시의 예시적 실시예에 따른 집적 회로의 에이징을 추정하기 위한 방법을 나타내는 순서도이다. 구체적으로, 도 7은 도 1의 단계 S40의 예시를 나타낸다. 일부 실시예들에서, 도 1의 단계 S40은 도 7의 단계 S42, 단계 S44 및 단계 S46을 포함할 수 있고, 에이징 분석기(71)에 의해서 수행될 수 있다. 일부 실시예들에서, 도 1의 단계 S40은 도 7의 단계 S42, 단계 S44 및 단계 S46뿐만 아니라 S50을 더 포함할 수 있고, 에이징 분석기(71) 및 회로 시뮬레이터(72)에 의해서 수행될 수 있다. 이하에서, 도 7은 도 1을 참조하여 설명될 것이다.
에이징 분석기(71) 및 회로 시뮬레이터(72) 각각은, 별개의 컴퓨팅 시스템을 지칭할 수도 있고, 하나의 컴퓨팅 시스템에서 실행되는 프로그램으로서 소프트웨어를 지칭할 수도 있다. 예를 들면, 에이징 분석기(71) 및 회로 시뮬레이터(72)가 별개의 컴퓨팅 시스템들에 각각 대응하는 경우, 데이터는 컴퓨팅 시스템들 사이 통신 채널을 통해서 에이징 분석기(71) 및 회로 시뮬레이터(72) 사이에서 전송되고 수신될 수 있다. 또한, 에이징 분석기(71) 및 회로 시뮬레이터(72)가 하나의 컴퓨팅 시스템에 구현된 경우, 데이터는 컴퓨팅 시스템 내부에서 저장 매체를 통해서 에이징 분석기(71) 및 회로 시뮬레이터(72) 사이에서 전송되고 수신될 수 있다.
도 7을 참조하면, 단계 S42에서 에이징 분석기(71)는 네트리스트(NET) 및 에이징 PDK(PDK1)를 회로 시뮬레이터(72)에 제공할 수 있다. 도 1 및 도 2를 참조하여 전술된 바와 같이, 네트리스트(NET)는 집적 회로를 정의할 수 있고, 에이징 PDK(PDK1)는 네트리스트(NET)에 독립적으로 에이징 파라미터들을 정의할 수 있고, 에이징 파라미터들은 소자 모델 내부에서 정의될 수 있다.
단계 S50에서, 회로 시뮬레이터(72)는 제1 회로 시뮬레이션을 수행할 수 있다. 회로 시뮬레이터(72)는 네트리스트(NET)에서 정의된 서브회로들 및 인용된 서브회로들을 에이징 PDK(PDK1)를 참조하여 시뮬레이션할 수 있고, 에이징 PDK(PDK1)를 참조하는 과정에서, 에이징 PDK(PDK1)에 포함된 측정 커맨드를 실행할 수 있다. 이에 따라, 회로 시뮬레이터(72)는 소자 인스턴스들의 전기적 스트레스를 계산하는 동시에 에이징 파라미터들을 계산할 수 있고, 에이징 파라미터들의 값들을 포함하는 제1 시뮬레이션 데이터를 생성할 수 있다.
단계 S44에서, 에이징 분석기(71)는 회로 시뮬레이터(72)로부터 제1 시뮬레이션 데이터를 획득할 수 있다. 제1 시뮬레이션 데이터는 에이징 파라미터들의 값들, 즉 에이징 파라미터들의 인스턴스들의 리스트를 포함할 수 있다.
단계 S46에서, 에이징 분석기(71)는 에이징 파라미터들의 인스턴스들을 추출하는 동작이 수행될 수 있다. 제1 시뮬레이션 데이터는 에이징 파라미터들의 값들뿐만 아니라 집적 회로를 시뮬레이션함으로써 생성된 다양한 정보들을 포함할 수 있으므로, 에이징 분석기(71)는 제1 시뮬레이션 데이터에서 에이징 파라미터들의 값들, 즉 에이징 파라미터들의 인스턴스들을 추출할 수 있다. 추출된 에이징 파라미터의 인스턴스들의 예시가 도 8을 참조하여 후술될 것이다.
도 8은 본 개시의 예시적 실시예에 따른 에이징 파라미터들의 인스턴스들을 나타내는 도면이다. 구체적으로, 도 8은 도 3의 에이징 PDK(PDK1')에 기초하여 수행된 제1 회로 시뮬레이션에 의해서 생성된 제1 시뮬레이션 데이터로부터 추출된 에이징 파라미터들의 인스턴스들을 나타낸다. 도 1 및 도 7을 참조하여 전술된 바와 같이, 에이징 파라미터들의 인스턴스들은 제1 회로 시뮬레이션에 의해서 값들을 가지는 에이징 파라미터들을 지칭할 수 있다.
도 8을 참조하면, 에이징 파라미터의 인스턴스는, 소자 인스턴스의 계층 주소, 소자 인스턴스의 에이징 파라미터 및 에이징 파라미터의 값을 포함할 수 있다. 예를 들면, 도 8의 에이징 파라미터들의 인스턴스들(A_PAR')의 라인 L21에서, "xinv1"은 NFET의 상위 서브회로를 나타내고, "xfet_01"은 NFET의 인스턴스 명칭을 나타낸다. 이에 따라 제1 에이징 파라미터 "aging1_nfet"이 어느 NFET 인스턴스의 것인지가 계층 주소, 즉 "xinv1.xfet_01"에 의해서 특정될 수 있다. 도 8에 도시된 바와 같이, 서브회로 "xinv1"에 포함된 NFET 인스턴스 "xfet_01"의 제1 에이징 파라미터 "aging1_nfet"의 값은 "0.01"일 수 있다. 유사하게, 에이징 파라미터들의 인스턴스들(A_PAR')의 라인 L22에서, 서브회로 "xinv1"에 포함된 NFET 인스턴스 "xfet_01"의 제2 에이징 파라미터 "aging2_nfet"의 값은 "0.21"일 수 있다. 도 8에 도시된 바와 같이, 에이징 파라미터의 값이, 네트리스트(NET)에서 계층적으로 연결된 서브회로들 중 어느 서브회로인지를 나타내는 계층 주소에 의해서 특정될 수 있고, 이에 따라 도 10 및 도 11을 참조하여 후술되는 바와 같이, 에이징된 집적 회로의 시뮬레이션, 즉 제2 회로 시뮬레이션이 용이하게 수행될 수 있다.
도 9는 본 개시의 예시적 실시예에 따라 집적 회로의 에이징을 추정하기 위한 방법을 나타내는 순서도이다. 구체적으로, 도 9는 도 1의 단계 S60의 예시를 나타낸다. 일부 실시예들에서, 도 1의 단계 S60은 도 9의 단계 S62, 단계 S64, 단계 S66 및 단계 S69을 포함할 수 있고, 에이징 분석기(91)에 의해서 수행될 수 있다. 일부 실시예들에서, 도 1의 단계 S60은 도 9의 단계 S62, 단계 S64, 단계 S66 및 단계 S69뿐만 아니라 단계 S70을 더 포함할 수 있고, 에이징 분석기(91) 및 회로 시뮬레이터(92)에 의해서 수행될 수 있다. 이하에서, 도 9는 도 1을 참조하여 설명될 것이며, 도 9에 대한 설명 중 도 7에 대한 설명과 중복되는 내용은 생략될 것이다.
도 9를 참조하면, 단계 S62에서 에이징 분석기(91)는 집적 회로의 연식(A_IN)을 획득하는 동작을 수행할 수 있다. 에이징 분석기(91)는 임의의 방식으로 집적 회로의 연식(A_IN)을 획득할 수 있다. 예를 들면, 에이징 분석기(91)는 키보드, 마우스, 터치스크린 등과 같은 입력 장치를 통해서 사용자로부터 집적 회로의 연식(A_IN)을 획득할 수도 있고, 사용자에 의해서 미리 작성된 스크립트에 의해서 집적 회로의 연식(A_IN)을 획득할 수도 있다.
단계 S64에서, 에이징 분석기(91)는 에이징된(aged) PDK를 생성할 수 있다. 에이징된 PDK는 에이징 파라미터들의 인스턴스들(A_PAR)에 기초하여 단계 S62에서 획득된 집적 회로의 연식(A_IN)이 반영된 값들을 가지는 모델 파라미터들, 즉 모델 파라미터들의 인스턴스들을 포함할 수 있다. 즉, 에이징된 PDK는 에이징된 집적 회로에 포함된 소자들 각각의 변화된 특성들을 나타내는 모델 파라미터들의 값들을 포함할 수 있고, 본 명세서에서 제3 PDK로서 지칭될 수 있다. 단계 S64의 예시는 도 10을 참조하여 후술될 것이다.
단계 S66에서, 에이징 분석기(91)는 네트리스트(NET) 및 에이징된 PDK를 회로 시뮬레이터(92)에 제공할 수 있다. 네트리스트(NET)는 집적 회로를 정의할 수 있고, 에이징된 PDK는 집적 회로의 연식(A_IN)이 반영된 값들을 가지는 모델 파라미터들을 포함할 수 있다. 또한, 일부 실시예들에서, 네트리스트(NET) 및 에이징된 PDK와 함께 공정 설계 키트가 회로 시뮬레이터(92)에 제공될 수 있다.
단계 S70에서, 회로 시뮬레이터(92)는 제2 회로 시뮬레이션을 수행할 수 있다. 회로 시뮬레이터(92)는 네트리스트(NET)에 포함된 소자 인스턴스들을 에이징된 PDK에 포함된 모델 파라미터들의 값들에 기초하여 시뮬레이션할 수 있다. 이에 따라, 회로 시뮬레이터(92)는 집적 회로의 연식(A_IN)에 따라 에이징된 집적 회로를 시뮬레이션할 수 있고, 에이징된 집적 회로의 동작을 나타내는 정보를 포함하는 제2 시뮬레이션 데이터를 생성할 수 있다. 제2 시뮬레이션 데이터는 에이징 데이터(A_DAT)로서 지칭될 수 있다.
단계 S68에서, 에이징 분석기(91)는 회로 시뮬레이터(92)로부터 에이징 데이터(A_DAT)로서 제2 시뮬레이션 데이터를 획득할 수 있다. 일부 실시예들에서 단계 S68에 후속하여, 에이징 데이터(A_DAT)에 기초하여 집적 회로의 신뢰도를 평가하는 동작이 수행될 수 있다. 만일 평가된 신뢰도가 기준치 이상인 경우, 공정에 의해서 집적 회로를 제조하는 동작들이 후속하여 수행될 수 있다.
도 10은 본 개시의 예시적 실시예에 따라 집적 회로의 에이징을 추정하기 위한 방법을 나타내는 순서도이다. 구체적으로, 도 10의 순서도는 도 9의 단계 S64의 예시를 나타낸다. 도 9를 참조하여 전술된 바와 같이, 도 10의 단계 S64'에서 에이징된 PDK를 생성하는 동작이 수행될 수 있다. 도 10에 도시된 바와 같이, 단계 S64'는 단계 S64_2 및 단계 S64_4를 포함할 수 있고, 이하에서 도 10은 도 9를 참조하여 설명될 것이다.
단계 S64_2에서, 소자 인스턴스의 모델 파라미터의 값을 계산하는 동작이 수행될 수 있다. 도 10에 도시된 바와 같이, 에이징 파라미터들의 인스턴스들(A_PAR)로부터 소자 인스턴스의 에이징 파라미터의 값이 획득될 수 있고, 에이징 파라미터의 획득된 값 및 집적 회로의 연식(A_IN)에 기초하여 소자 인스턴스의 모델 파라미터의 값이 계산될 수 있다. 일부 실시예들에서, 모델 파라미터의 값은 적어도 하나의 에이징 파라미터의 값 및 집적 회로의 연식(A_IN)의 함수로서 계산될 수 있다. 예를 들면, NFET의 제1 에이징 파라미터 "aging1_nfet"는 단위 시간 동안 문턱 전압 이동을 나타낼 수 있고, 단위 시간이 1년이고, 집적 회로의 연식(A_IN)이 10년인 경우, 도 8의 소자 인스턴스 "xinv1.xfet_01"의 모델 파라미터 "delvtrand"는 "0.1"일 수 있다(0.1 = 0.01*10). 일부 실시예들에서, 모델 파라미터의 값은 2이상의 에이징 파라미터들의 값들로부터 계산될 수도 있다.
단계 S64_4에서, 소자 인스턴스의 모델 파라미터의 초기값을 치환하는 커멘드를 추가하는 동작이 수행될 수 있다. 공정 설계 키트(PDK2)에서 소자 모델은 에이징이 고려되지 아니한 초기값을 가지는 모델 파라미터를 포함할 수 있고, 네트리스트(NET)의 소자 인스턴스들 역시 초기값을 가지는 모델 파라미터들을 포함할 수 있다. 또한, 공정 설계 키트(PDK2) 또는 네트리스트(NET)에서 초기값이 정의되지 아니한 모델 파라미터는, 예컨대 BSIM이 정의하는 디폴트 값을 가질 수도 있다. 이에 따라, 소자 인스턴스의 모델 파라미터의 초기값을 단계 S64_2에서 계산된 값으로 치환하기 위하여, 회로 시뮬레이터에 의해서 실행되는 커맨드를 추가함으로써 에이징된 PDK가 생성될 수 있다. 이에 따라, 회로 시뮬레이터는 제2 회로 시뮬레이션에서 소자 인스턴스들의 모델 파라미터의 값을 에이징된 PDK가 제공하는 값으로 인식할 수 있고, 이에 따라 에이징된 소자 인스턴스가 시뮬레이션될 수 있다. 에이징된 PDK의 예시는 도 11을 참조하여 후술될 것이다.
도 11은 본 개시의 예시적 실시예에 따른 에이징된 PDK의 예시를 나타내는 도면이다. 도 9를 참조하여 전술된 바와 같이 에이징된 PDK는 소자 인스턴스의 모델 파라미터의 값, 즉 모델 파라미터들의 인스턴스를 포함할 수 있다. 또한, 도 10을 참조하여 전술된 바와 같이, 에이징된 PDK는 모델 파라미터의 초기값을 치환하기 위한 커맨드를 포함할 수 있다.
도 11을 참조하면, 에이징된 PDK(PDK3)는 라인 L11에서 커맨드 ".defparam"을 포함할 수 있고, 커맨드 ".defparam"은 후속하는 파라미터를 치환하도록 회로 시뮬레이터에 지시할 수 있다. 예를 들면, 커맨드 ".defparam"은, 라인 L11에서 소자 인스턴스 "xinv1.xfet_01"의 모델 파라미터 "ids0mult"의 값을 "0.90"으로 치환하는 것을 지시할 수 있고, 라인 L12에서 소자 인스턴스 "xinv1.xfet_01"의 모델 파라미터 "delvtrand"의 값을 "-0.02"로 치환하는 것을 지시할 수 있으며, 라인 L13에서 소자 인스턴스 "xinv1.xfet_01"의 모델 파라미터 "dtemp"의 값을 "9.0"으로 치환하는 것을 지시할 수 있다. 회로 시뮬레이터(예컨대, 도 9의 92)는 네트리스트(NET)와 함께 에이징된 PDK(PDK3)에 기초하여 시뮬레이션을 수행할 수 있고, 결과적으로 에이징된 집적 회로의 동작을 나타내는 에이징 데이터(A_DAT)를 생성할 수 있다.
도 12는 본 개시의 예시적 실시예에 따른 집적 회로의 제조 방법을 나타내는 순서도이다. 도 12에 도시된 바와 같이, 집적 회로(IC)를 제조하는 방법은 복수의 단계들(S100, S200, S300, S500, S700, S900)을 포함할 수 있다.
단계 S100에서, 회로 설계가 수행될 수 있다. 예를 들면, 목표 성능을 충족시키기 위하여 다양한 소자들(예컨대, 트랜지스터 등) 중 일부가 선택될 수 있고, 선택된 소자들이 상호 연결될 수 있다. 일부 실시예들에서, 회로 설계는 설계자에게 사용자 인터페이스를 제공하는 회로 설계 툴에서 수행될 수 있다. 도 3에 도시된 바와 같이, 회로 설계는 단계 S200에서 수행되는 회로 시뮬레이션의 결과를 참조하여 수행될 수 있다. 예를 들면, 설계된 집적 회로(IC)의 신뢰도를 검증하기 위하여, 도 7을 참조하여 전술된 바와 같이, 집적 회로(IC)를 정의하는 네트리스트(NET) 및 에이징 PDK(PDK1)에 기초하여 제1 회로 시뮬레이션이 수행될 수 있고, 도 9를 참조하여 전술된 바와 같이, 네트리스트(NET) 및 에이징된 PDK(PDK3)에 기초하여 제2 회로 시뮬레이션이 수행될 수 있다. 시뮬레이션 결과, 설계된 집적 회로(IC)의 신뢰도가 평가될 수 있고, 신뢰도가 기준치 이상인 경우 회로 설계가 완료될 수 있다. 결과적으로, 원하는 신뢰도를 가지는 집적 회로(IC)가 용이하게 설계될 수 있다.
단계 S300에서, 레이아웃 설계가 수행될 수 있다. 예를 들면, 단계 S100에서 설계된 집적 회로(IC)를 정의하는 네트리스트에 기초하여 집적 회로(IC)의 레이아웃이 설계될 수 있고, 집적 회로(IC)의 레이아웃을 정의하는 데이터, 즉 레이아웃 데이터가 생성될 수 있다. 레이아웃 데이터는 집적 회로(IC)에 포함되는 패턴들의 기하학적 정보를 포함할 수 있고, 일부 실시예들에서 GDSII 포맷을 가질 수 있다. 일부 실시예들에서, 레이아웃 설계는 레이아웃 설계 툴에서 수행될 수 있다. 도 3에 도시된 바와 같이, 레이아웃 설계는 단계 S200에서 수행되는 회로 시뮬레이션의 결과를 참조하여 수행될 수 있다. 예를 들면, 레이아웃이 패턴이 가지는 기생 성분을 고려하여 회로 시뮬레이션이 수행될 수 있다. 시뮬레이션 결과에 따라 집적 회로(IC)의 레이아웃이 수정될 수 있고, 단계 S100에서 회로의 재설계가 수행될 수도 있다.
단계 S500에서, OPC(Optical Proximity Correction)가 수행될 수 있다. OPC는 집적 회로(IC)를 제조하기 위한 반도체 공정에 포함되는 포토리소그래피에서 빛의 특성에 기인하는 굴절 등의 왜곡 현상을 보정함으로써 원하는 모양의 패턴을 형성하기 위한 작업을 총괄적으로 지칭할 수 있고, 레이아웃 데이터에 OPC가 적용됨으로써 마스크상의 패턴이 결정될 수 있다. 일부 실시예들에서, 집적 회로(IC)의 레이아웃은 단계 S500에서 제한적으로 변형될 수 있고, 단계 S500에서 집적 회로(IC)를 제한적으로 변형하는 것은 집적 회로(IC)의 구조를 최적화하기 위한 후처리로서, 디자인 폴리싱(design polishing)으로 지칭될 수 있다.
단계 S700에서, 마스크를 제작(manufacturing)하는 동작이 수행될 수 있다. 예를 들면, 레이아웃 데이터에 OPC를 적용함에 따라, 복수의 패턴들을 형성하기 위한 마스크상의 패턴들이 정의될 수 있고, 복수의 레이어들 각각의 패턴들을 형성하기 위한 적어도 하나의 마스크(예컨대, 포토마스크)가 제작될 수 있다.
단계 S900에서, 집적 회로(IC)를 제조(fabricating)하는 동작이 수행될 수 있다. 예를 들면, 단계 S700에서 제작된 적어도 하나의 마스크를 사용하여 복수의 레이어들이 패터닝됨으로써 집적 회로(IC)가 제조될 수 있다. 도 12에 도시된 바와 같이, 단계 S900은 단계들(S910, S920)을 포함할 수 있다.
단계 S910에서, FEOL(front-end-of-line) 공정이 수행될 수 있다. FEOL은 집적 회로(IC)의 제조 과정에서 개별 소자들, 예컨대 트랜지스터, 캐패시터, 저항 등을 기판에 형성하는 과정을 지칭할 수 있다. 예를 들면, FEOL은 웨이퍼를 평탄화(planarization)하고 세정(cleaning)하는 단계, 트랜치(trench)를 형성하는 단계, 웰(well)을 형성하는 단계, 게이트(gate) 라인을 형성하는 단계, 소스 및 드레인을 형성하는 단계 등을 포함할 수 있다.
단계 S920에서, BEOL(back-end-of-line) 공정이 수행될 수 있다. BEOL은 집적 회로(IC)의 제조 과정에서 개별 소자들, 예컨대 트랜지스터, 캐패시터, 저항 등을 상호연결하는 과정을 지칭할 수 있다. 예를 들면, BEOL은 게이트, 소스 및 드레인 영역을 실리사이드화(silicidation)하는 단계, 유전체를 부가하는 단계, 평탄화 단계, 홀을 형성하는 단계, 금속층을 부가하는 단계, 비아를 형성하는 단계, 패시베이션(passivation)층을 형성하는 단계 등을 포함할 수 있다. 그 다음에, 집적 회로(IC)는 반도체 패키지에 패키징될 수 있고, 다양한 어플리케이션들의 부품으로서 사용될 수 있다.
도 13은 본 개시의 예시적 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다. 본 개시의 예시적 실시예들에 따른 집적 회로의 에이징을 추정하기 위한 방법에 포함되는 단계들 중 적어도 일부는 컴퓨팅 시스템(100)에서 수행될 수 있다.
컴퓨팅 시스템(100)은 데스크탑 컴퓨터, 워크스테이션, 서버 등과 같이 고정형(stationary) 컴퓨팅 시스템일 수도 있고, 랩탑 컴퓨터 등과 같이 휴대형(mobile) 컴퓨팅 시스템일 수도 있다. 도 13에 도시된 바와 같이, 컴퓨팅 시스템(100)은 적어도 하나의 프로세서(110), 입출력 장치들(120), 네트워크 인터페이스(130), RAM(random access memory)(140), ROM(read only memory)(150) 및 저장 장치(160)를 포함할 수 있다. 적어도 하나의 프로세서(110), 입출력 장치들(120), 네트워크 인터페이스(130), RAM(140), ROM(150) 및 저장 장치(160)는 버스(170)에 연결될 수 있고, 버스(170)를 통해서 서로 통신할 수 있다.
적어도 하나의 프로세서(110)는 프로세싱 유닛으로 지칭될 수 있고, 예컨대 마이크로프로세서(micro-processor), AP(application processor), DSP(digital signal processor), GPU(graphic processing unit)과 같이 임의의 명령어 세트(예컨대, IA-32(Intel Architecture-32), 64 비트 확장 IA-32, x86-64, PowerPC, Sparc, MIPS, ARM, IA-64 등)를 실행할 수 있는 적어도 하나의 코어를 포함할 수 있다. 예를 들면, 적어도 하나의 프로세서(110)는 버스(170)를 통해서 메모리, 즉 RAM(140) 또는 ROM(150)에 액세스할 수 있고, RAM(140) 또는 ROM(150)에 저장된 명령어들을 실행할 수 있다.
RAM(140)은 본 개시의 예시적 실시예에 따른 방법을 수행하기 위한 프로그램(142) 또는 그것의 적어도 일부를 저장할 수 있고, 프로그램(142)은 적어도 하나의 프로세서(110)로 하여금, 본 개시의 예시적 실시예에 따른 집적 회로의 에이징을 추정하는 방법에 포함되는 단계들 중 적어도 일부를 수행하도록 할 수 있다. 프로그램(142)은 적어도 하나의 프로세서(110)에 의해서 실행 가능한 복수의 명령어들을 포함할 수 있고, 프로그램(142)에 포함된 복수의 명령어들은 적어도 하나의 프로세서(110)로 하여금, 도면들을 참조하여 전술된 집적 회로의 에이징을 추정하기 위한 방법에 포함된 단계들 중 적어도 일부를 수행하도록 할 수 있다. 일부 실시예들에서, 프로그램(142)은 도 7 및 도 9의 에이징 분석기들(71, 91) 및 회로 시뮬레이터들(72, 92) 중 적어도 하나를 포함할 수 있다.
저장 장치(160)는 컴퓨팅 시스템(100)에 공급되는 전력이 차단되더라도 저장된 데이터를 소실하지 아니할 수 있다. 예를 들면, 저장 장치(160)는 플래시 메모리와 같은 비휘발성 메모리 장치를 포함할 수도 있고, 자기 테이프, 광학 디스크, 자기 디스크와 같은 저장 매체를 포함할 수도 있다. 또한, 저장 장치(160)는 휴대가 가능할 수도 있고, 컴퓨팅 시스템(100)으로부터 탈착 가능할 수도 있다. 저장 장치(160)는 본 개시의 예시적 실시예에 따른 프로그램(142)을 저장할 수도 있으며, 프로그램(142)이 적어도 하나의 프로세서(110)에 의해서 실행되기 이전에 저장 장치(160)로부터 프로그램(142) 또는 그것의 적어도 일부가 RAM(140)으로 로딩될 수도 있다. 다르게는, 저장 장치(160)는 프로그램 언어로 작성된 파일을 저장할 수 있고, 파일로부터 컴파일러 등에 의해서 생성된 프로그램(142) 또는 그것의 적어도 일부가 RAM(140)으로 로딩될 수 있다.
도 13에 도시된 바와 같이, 저장 장치(160)는 데이터베이스(162)를 저장할 수 있고, 데이터베이스(162)는 본 개시의 예시적 실시예에 따른 집적 회로의 에이징을 추정하기 위한 방법을 수행하는데 필요한 데이터를 포함할 수 있다. 예를 들면, 데이터베이스(162)는 도 1의 네트리스트(NET) 및 에이징 PDK(PDK1) 중 적어도 하나를 포함할 수 있고, 도 2의 공정 설계 키트(PDK2) 및 에이징 라이브러리(A_LIB)를 포함할 수도 있다. 또한, 데이터베이스(162)는 본 개시의 예시적 실시예에 따른 집적 회로의 에이징을 추정하기 위한 방법을 수행하는 과정에서 생성된 데이터를 저장할 수도 있다. 즉, 적어도 하나의 프로세서(110)는 프로그램(142)에 따라, 저장 장치(160)에 저장된 데이터를 처리함으로써 데이터를 생성할 수 있고, 생성된 데이터를 저장 장치(160)에 저장할 수도 있다. 예를 들면, 데이터베이스(162)는 도 1의 에이징 파라미터들의 인스턴스들(A_PAR) 및 에이징 데이터(A_DAT) 중 적어도 하나를 포함할 수 있고, 도 11의 에이징된 PDK(PDK3)를 포함할 수도 있다.
입출력 장치들(120)은 키보드, 포인팅 장치 등과 같은 입력 장치를 포함할 수 있고, 디스플레이 장치, 프린터 등과 같은 출력 장치를 포함할 수 있다. 예를 들면, 사용자는 입출력 장치들(120)을 통해서, 적어도 하나의 프로세서(110)에 의해 프로그램(142)의 실행을 트리거할 수도 있고, 집적 회로의 연식(A_IN)을 입력할 수도 있으며, 에이징 데이터(A_DAT)를 확인할 수도 있다.
네트워크 인터페이스(130)는 컴퓨팅 시스템(100) 외부의 네트워크에 대한 액세스를 제공할 수 있다. 예를 들면, 네트워크는 다수의 컴퓨팅 시스템들 및 통신 링크들을 포함할 수 있고, 통신 링크들은 유선 링크들, 광학 링크들, 무선 링크들 또는 임의의 다른 형태의 링크들을 포함할 수 있다. 본 개시의 예시적 실시예에 따른 집적 회로의 에이징을 추정하기 위한 방법에 포함된 단계들 중 적어도 일부가 네트워크 인터페이스(130)를 통해서 통신가능하게 연결된 다른 컴퓨팅 시스템에 의해서 수행되는 경우, 네트워크 인터페이스(130)를 통해서 데이터의 송수신이 수행될 수 있다.
도 14는 본 개시의 예시적 실시예에 따른 저장 매체(200)를 나타내는 블록도이다. 저장 매체(200)는 비일시적으로 정보를 저장할 수 있고, 컴퓨터에 의해서 액세스가능할 수 있다. 또한, 저장 매체(200)는 비휘발적으로 정보를 저장할 수 있으며, 비제한적인 예시로서 비휘발성 메모리를 포함하거나 자기 광학 디스크, 자기 디스크와 같은 매체를 포함할 수도 있다. 또한, 저장 매체(200)는 휴대 가능할 수도 있고, 컴퓨팅 시스템(예컨대, 도 13의 100)에 접속되어 저장된 정보를 컴퓨팅 시스템에 제공할 수 있다.
도 14에 도시된 바와 같이, 저장 매체(200)는 회로 시뮬레이터(2200 및 에이징 분석기(240)를 저장할 수 있다. 일부 실시예들에서, 도 14에 도시된 바와 상이하게, 저장 매체(200)는 에이징 분석기(240)만을 포함할 수도 있다. 저장 매체(200)는 프로세서 또는 컴퓨팅 시스템으로부터 액세스될 수 있고, 프로세서 또는 컴퓨팅 시스템은 저장 매체(200)에 저장된 회로 시뮬레이터(220) 및/또는 에이징 분석기(240)를 실행함으로써, 본 개시의 예시적 실시예에 따른 집적 회로의 에이징을 추정하는 방법에 포함된 단계들 중 적어도 일부를 수행할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.

Claims (20)

  1. 집적 회로의 에이징(aging)을 추정하기 위한 시스템으로서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 의해서 실행가능한 명령어들을 저장하고, 상기 적어도 하나의 프로세서가 접근가능한 비일시적인 저장 매체를 포함하고,
    상기 적어도 하나의 프로세서가 상기 명령어들을 실행함으로써 수행되는 동작은,
    상기 집적 회로가 제조되는 공정이 제공하는 복수의 소자들에 대응하는 복수의 제1 소자 모델들을 포함하는 제1 PDK(Process Design Kit)를 획득하는 단계;
    상기 집적 회로를 정의하는 네트리스트 및 상기 제1 PDK에 기초하여 제1 회로 시뮬레이션을 수행함으로써, 상기 네트리스트에 포함된 소자 인스턴스들의 에이징 파라미터들의 값들을 획득하는 단계; 및
    상기 에이징 파라미터들의 값들 및 상기 네트리스트에 기초하여 제2 회로 시뮬레이션을 수행함으로써, 상기 집적 회로의 에이징 데이터를 획득하는 단계를 포함하고,
    상기 복수의 제1 소자 모델들 각각은, 에이징 파라미터를 계산하기 위하여 상기 제1 회로 시뮬레이션에서 실행되는 적어도 하나의 측정 커맨드를 포함하는 것을 특징으로 하는 시스템.
  2. 청구항 1에 있어서,
    상기 제1 PDK를 획득하는 단계는,
    상기 복수의 소자들의 동작 특성들을 정의하는 모델 파라미터들을 각각 포함하는 복수의 제2 소자 모델들을 포함하는 제2 PDK를 획득하는 단계;
    상기 복수의 소자들에 대응하는 복수의 측정 커맨드들을 포함하는 에이징 라이브러리를 획득하는 단계; 및
    상기 제2 PDK 및 상기 에이징 라이브러리에 기초하여, 상기 복수의 제2 소자 모델들 각각에 적어도 하나의 측정 커맨드를 추가함으로써, 상기 제1 PDK를 생성하는 단계를 포함하는 것을 특징으로 하는 시스템.
  3. 청구항 1에 있어서,
    상기 에이징 파라미터들의 값들을 획득하는 단계는,
    회로 시뮬레이터에 상기 네트리스트 및 상기 제1 PDK를 제공하는 단계;
    상기 회로 시뮬레이터로부터 제1 시뮬레이션 데이터를 획득하는 단계; 및
    상기 제1 시뮬레이션 데이터에서 에이징 파라미터들의 인스턴스들을 추출하는 단계를 포함하는 것을 특징으로 하는 시스템.
  4. 청구항 3에 있어서,
    상기 네트리스트는, 계층적으로 연결된 복수의 서브회로들을 포함하고,
    상기 에이징 파라미터들의 인스턴스들 각각은, 소자 인스턴스의 계층 주소, 상기 소자 인스턴스의 에이징 파라미터 및 상기 에이징 파라미터의 값을 포함하는 것을 특징으로 하는 시스템.
  5. 청구항 1에 있어서,
    상기 에이징 데이터를 획득하는 단계는,
    상기 집적 회로의 연식을 획득하는 단계; 및
    상기 에이징 파라미터의 값들 및 상기 연식에 기초하여 상기 소자 인스턴스들의 모델 파라미터들 중 적어도 하나의 값을 갱신하는 제3 PDK를 생성하는 단계;
    회로 시뮬레이터에 상기 네트리스트 및 상기 제3 PDK를 제공하는 단계; 및
    상기 회로 시뮬레이터로부터 상기 에이징 데이터로서 제2 시뮬레이션 데이터를 획득하는 단계를 포함하는 것을 특징으로 하는 시스템.
  6. 청구항 5에 있어서,
    상기 제3 PDK를 생성하는 단계는,
    상기 에이징 파라미터의 값들 및 상기 연식에 기초하여 소자 인스턴스의 모델 파라미터의 에이징된 값을 계산하는 단계; 및
    상기 소자 인스턴스의 모델 파라미터의 초기값을 상기 에이징된 값으로 치환(override)하는 커맨드를 추가하는 단계를 포함하는 것을 특징으로 하는 시스템.
  7. 집적 회로의 에이징(aging)을 추정하기 위한 방법으로서,
    상기 집적 회로가 제조되는 공정이 제공하는 복수의 소자들에 대응하는 복수의 제1 소자 모델들을 포함하는 제1 PDK(Process Design Kit)를 획득하는 단계;
    상기 집적 회로를 정의하는 네트리스트 및 상기 제1 PDK에 기초하여 제1 회로 시뮬레이션을 수행함으로써, 상기 네트리스트에 포함된 소자 인스턴스들의 에이징 파라미터들의 값들을 획득하는 단계; 및
    상기 에이징 파라미터들의 값들 및 상기 네트리스트에 기초하여 제2 회로 시뮬레이션을 수행함으로써, 상기 집적 회로의 에이징 데이터를 획득하는 단계를 포함하고,
    상기 복수의 제1 소자 모델들 각각은, 에이징 파라미터를 계산하기 위하여 상기 제1 회로 시뮬레이션에서 실행되는 적어도 하나의 측정 커맨드를 포함하는 것을 특징으로 하는 방법.
  8. 청구항 7에 있어서,
    상기 제1 PDK를 획득하는 단계는,
    상기 복수의 소자들의 동작 특성들을 정의하는 모델 파라미터들을 각각 포함하는 복수의 제2 소자 모델들을 포함하는 제2 PDK를 획득하는 단계;
    상기 복수의 소자들에 대응하는 복수의 측정 커맨드들을 포함하는 에이징 라이브러리를 획득하는 단계; 및
    상기 제2 PDK 및 상기 에이징 라이브러리에 기초하여, 상기 복수의 제2 소자 모델들 각각에 적어도 하나의 측정 커맨드를 추가함으로써, 상기 제1 PDK를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 청구항 8에 있어서,
    상기 제1 PDK를 생성하는 단계는, 상기 에이징 라이브러리의 경로 및 제2 소자 모델에 대응하는 상기 에이징 라이브러리의 부분의 인덱스를 상기 제2 소자 모델에 삽입하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 청구항 8에 있어서,
    상기 에이징 라이브러리는, 적어도 하나의 공정 의존성 변수를 포함하고,
    상기 제1 PDK를 생성하는 단계는, 추가된 상기 적어도 하나의 측정 커맨드 앞에 상기 적어도 하나의 공정 의존성 변수의 값을 설정하는 부분을 추가하는 단계를 포함하는 것을 특징으로 하는 방법.
  11. 청구항 7에 있어서,
    상기 적어도 하나의 측정 커맨드는, 제1 소자 모델에서 측정된 전압 및/또는 전류를 적어도 하나의 인수(argument)로서 포함하고 에이징 파라미터를 정의하는, 에이징 함수의 결과를 측정하도록 지시하는 것을 특징으로 하는 방법.
  12. 청구항 11에 있어서,
    상기 에이징 함수는, 복수의 회로 시뮬레이터들에 의해서 지원되는 연속 함수인 것을 특징으로 하는 방법.
  13. 청구항 7에 있어서,
    상기 에이징 파라미터들의 값들을 획득하는 단계는,
    회로 시뮬레이터에 상기 네트리스트 및 상기 제1 PDK를 제공하는 단계;
    상기 회로 시뮬레이터로부터 제1 시뮬레이션 데이터를 획득하는 단계; 및
    상기 제1 시뮬레이션 데이터에서 에이징 파라미터들의 인스턴스들을 추출하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 청구항 13에 있어서,
    상기 네트리스트는, 계층적으로 연결된 복수의 서브회로들을 포함하고,
    상기 에이징 파라미터들의 인스턴스들 각각은, 소자 인스턴스의 계층 주소, 상기 소자 인스턴스의 에이징 파라미터 및 상기 에이징 파라미터의 값을 포함하는 것을 특징으로 하는 방법.
  15. 청구항 7에 있어서,
    상기 에이징 데이터를 획득하는 단계는,
    상기 집적 회로의 연식을 획득하는 단계; 및
    상기 에이징 파라미터의 값들 및 상기 연식에 기초하여 상기 소자 인스턴스들의 모델 파라미터들 중 적어도 하나의 값을 갱신하는 제3 PDK를 생성하는 단계;
    회로 시뮬레이터에 상기 네트리스트 및 상기 제3 PDK를 제공하는 단계; 및
    상기 회로 시뮬레이터로부터 상기 에이징 데이터로서 제2 시뮬레이션 데이터를 획득하는 단계를 포함하는 것을 특징으로 하는 방법.
  16. 청구항 15에 있어서,
    상기 제3 PDK를 생성하는 단계는,
    상기 에이징 파라미터의 값들 및 상기 연식에 기초하여 소자 인스턴스의 모델 파라미터의 에이징된 값을 계산하는 단계; 및
    상기 소자 인스턴스의 모델 파라미터의 초기값을 상기 에이징된 값으로 치환(override)하는 커맨드를 추가하는 단계를 포함하는 것을 특징으로 하는 방법.
  17. 청구항 7에 있어서,
    상기 에이징 데이터에 기초하여 상기 집적 회로의 신뢰도를 평가하는 단계; 및
    상기 신뢰도가 기준치 이상인 경우, 상기 공정에 의해서 상기 집적 회로를 제조하는 단계를 더 포함하는 방법.
  18. 집적 회로의 에이징(aging)을 추정하기 위한 방법으로서,
    상기 집적 회로가 제조되는 공정이 제공하는 복수의 소자들에 대응하는 복수의 제1 소자 모델들을 포함하는 제1 PDK(Process Design Kit)를 획득하는 단계; 및
    상기 집적 회로를 정의하는 네트리스트 및 상기 제1 PDK에 기초하여 제1 회로 시뮬레이션을 수행함으로써, 상기 네트리스트에 포함된 소자 인스턴스들의 에이징 파라미터들의 값들을 획득하는 단계를 포함하고,
    상기 제1 PDK를 획득하는 단계는,
    상기 복수의 소자들의 동작 특성들을 정의하는 모델 파라미터들을 각각 포함하는 복수의 제2 소자 모델들을 포함하는 제2 PDK를 획득하는 단계;
    에이징 파라미터들을 계산하기 위하여, 상기 제1 회로 시뮬레이션에서 실행되고 상기 복수의 소자들에 대응하는 복수의 측정 커맨드들을 포함하는 에이징 라이브러리를 획득하는 단계; 및
    상기 제2 PDK 및 상기 에이징 라이브러리에 기초하여, 상기 복수의 제2 소자 모델들 각각에 적어도 하나의 측정 커맨드를 추가함으로써, 상기 제1 PDK를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  19. 청구항 18에 있어서,
    상기 적어도 하나의 측정 커맨드는,
    상기 적어도 하나의 측정 커맨드는, 제1 소자 모델에서 측정된 전압 및/또는 전류를 적어도 하나의 인수(argument)로서 포함하고 에이징 파라미터를 정의하는, 에이징 함수의 결과를 측정하도록 지시하는 것을 특징으로 하는 방법.
  20. 청구항 19에 있어서,
    상기 에이징 함수는, 복수의 회로 시뮬레이터들에 의해서 지원되는 연속 함수인 것을 특징으로 하는 방법.
KR1020190156117A 2019-11-28 2019-11-28 집적 회로의 에이징을 추정하기 위한 방법 및 장치 KR20210066628A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190156117A KR20210066628A (ko) 2019-11-28 2019-11-28 집적 회로의 에이징을 추정하기 위한 방법 및 장치
US16/919,157 US11972185B2 (en) 2019-11-28 2020-07-02 Method and apparatus for estimating aging of integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190156117A KR20210066628A (ko) 2019-11-28 2019-11-28 집적 회로의 에이징을 추정하기 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210066628A true KR20210066628A (ko) 2021-06-07

Family

ID=76091680

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190156117A KR20210066628A (ko) 2019-11-28 2019-11-28 집적 회로의 에이징을 추정하기 위한 방법 및 장치

Country Status (2)

Country Link
US (1) US11972185B2 (ko)
KR (1) KR20210066628A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113392608B (zh) * 2021-06-25 2023-08-29 成都海光集成电路设计有限公司 电路生成方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7292968B2 (en) 2000-09-29 2007-11-06 Cadence Design Systems, Inc. Hot carrier circuit reliability simulation
JP4989261B2 (ja) 2007-03-14 2012-08-01 オンセミコンダクター・トレーディング・リミテッド 回路シミュレーション方法
US8099269B2 (en) 2007-10-09 2012-01-17 Globalfoundries Inc. Two-step simulation methodology for aging simulations
US9141735B2 (en) 2010-06-18 2015-09-22 Taiwan Semiconductor Manufacturing Company, Ltd. Circuit device reliability simulation system
US20120123745A1 (en) 2010-11-16 2012-05-17 Taiwan Semiconductor Manufacturing Company, Ltd. Adaptive Content-aware Aging Simulations
US8327310B1 (en) 2011-07-07 2012-12-04 Apple Inc. Method and software tool for analyzing and reducing the failure rate of an integrated circuit
CN103310028B (zh) 2012-03-07 2017-08-15 飞思卡尔半导体公司 考虑器件老化的设计集成电路的方法
CN104849647A (zh) 2014-02-17 2015-08-19 飞思卡尔半导体公司 对于电路可靠性老化的方法和装置
KR20170043371A (ko) 2015-10-13 2017-04-21 삼성전자주식회사 에이징에 따른 공정 산포를 고려한 회로 설계 방법 및 시뮬레이션 방법
US10216879B1 (en) 2017-08-22 2019-02-26 Taiwan Semiconductor Manufacturing Co., Ltd. Method for establishing aging model of device and analyzing aging state of device with aging model

Also Published As

Publication number Publication date
US11972185B2 (en) 2024-04-30
US20210165940A1 (en) 2021-06-03

Similar Documents

Publication Publication Date Title
US11188699B2 (en) Placement and routing of cells using cell-level layout-dependent stress effects
US7941768B1 (en) Photolithographic process simulation in integrated circuit design and manufacturing
JP4979142B2 (ja) Icレイアウトの電気特性の計算
US8694950B2 (en) Methods, systems, and articles of manufacture for implementing electronic circuit designs with electrical awareness
US8635580B2 (en) Preconditioning for EDA cell library
JP4874207B2 (ja) 回路シミュレーション方法、回路シミュレーション装置、及びプログラム
US8914760B2 (en) Electrical hotspot detection, analysis and correction
US10289780B1 (en) Systems and methods for performing electromigration and voltage drop verification in electronic circuit designs
US20060265680A1 (en) Method and system for chip design using physically appropriate component models and extraction
CN114600111A (zh) 机器学习增强型编译器
US8010930B2 (en) Extracting consistent compact model parameters for related devices
US20060265677A1 (en) Method and system for increased accuracy for extraction of electrical parameters
US20210248297A1 (en) Integrated circuit design method, system and computer program product
KR20210066628A (ko) 집적 회로의 에이징을 추정하기 위한 방법 및 장치
US7885798B2 (en) Closed-loop modeling of gate leakage for fast simulators
Gupta et al. Lithography simulation-based full-chip design analyses
KR102089083B1 (ko) 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법
JP7466665B2 (ja) リーク電流に統計的ばらつきをもつダイナミックランダムアクセスメモリパストランジスタの設計
US10803222B1 (en) Methods, systems, and computer program product for implementing an electronic design having embedded circuits
Maricau et al. Background on ic reliability simulation
Martins et al. An Essay on the Next Generation of Performance-driven Analog/RF IC EDA Tools: The Role of Simulation-based Layout Optimization
KR20230144396A (ko) 셀 라이브러리, 로컬 레이아웃 효과를 고려한 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 집적 회로 설계 방법
Martins et al. AIDA-L: Architecture and Integration

Legal Events

Date Code Title Description
A201 Request for examination