KR20230144396A - 셀 라이브러리, 로컬 레이아웃 효과를 고려한 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 집적 회로 설계 방법 - Google Patents

셀 라이브러리, 로컬 레이아웃 효과를 고려한 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 집적 회로 설계 방법 Download PDF

Info

Publication number
KR20230144396A
KR20230144396A KR1020220043612A KR20220043612A KR20230144396A KR 20230144396 A KR20230144396 A KR 20230144396A KR 1020220043612 A KR1020220043612 A KR 1020220043612A KR 20220043612 A KR20220043612 A KR 20220043612A KR 20230144396 A KR20230144396 A KR 20230144396A
Authority
KR
South Korea
Prior art keywords
change
standard cell
amount
transistor
delay
Prior art date
Application number
KR1020220043612A
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 KR1020220043612A priority Critical patent/KR20230144396A/ko
Priority to US18/149,749 priority patent/US20230325571A1/en
Priority to CN202310348186.9A priority patent/CN116894417A/zh
Priority to TW112112856A priority patent/TW202341000A/zh
Publication of KR20230144396A publication Critical patent/KR20230144396A/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
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/12Sizing, e.g. of transistors or gates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

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)
  • Architecture (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Read Only Memory (AREA)

Abstract

셀 라이브러리, 로컬 레이아웃 효과를 고려한 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 집적 회로 설계 방법이 제공된다. 상기 컴퓨터로 읽을 수 있는 저장 매체에 저장된 셀 라이브러리는, 표준 셀에 포함된 트랜지스터의 임계 전압에 따른 표준 셀의 딜레이 정보, 및 표준 셀에 포함된 트랜지스터의 이동도에 따른 표준 셀의 딜레이 정보가 저장된다.

Description

셀 라이브러리, 로컬 레이아웃 효과를 고려한 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 집적 회로 설계 방법{CELL LIBRARY, COMPUTING SYSTEM AND METHOD FOR DESIGNING THE INTEGRATED CIRCUIT BY CONSIDERING LOCAL LAYOUT EFFECT}
본 발명은 셀 라이브러리, 로컬 레이아웃 효과를 고려한 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 집적 회로 설계 방법에 관한 것이다.
집적 회로는 표준 셀들을 기반으로 설계될 수 있다. 구체적으로, 집적 회로를 정의하는 표준 셀들을 배치하고, 배치된 표준 셀들을 라우팅함으로써 집적 회로의 레이아웃을 생성할 수 있다.
반도체 공정이 미세화 됨에 따라, 복수의 레이어들에 형성된 패턴들을 포함하는 표준 셀은 감소된 크기의 패턴들을 포함할 뿐만 아니라 표준 셀의 크기도 감소할 수 있다. 이에 따라, 집적 회로에 포함된 표준 셀은 그 주변 구조(즉, 레이아웃)로부터 받는 영향이 커질 수 있고, 그러한 주변 레이아웃에 의한 영향은 로컬 레이아웃 효과(Local Layout Effect: LLE) 또는 레이아웃 의존 효과(Layout Dependent Effect: LDE)로 지칭될 수 있다.
본 발명이 해결하고자 하는 기술적 과제는 표준 셀의 트랜지스터의 임계 전압의 변화량에 따른 표준 셀의 딜레이의 변화량 및 표준 셀의 트랜지스터의 이동도의 변화량에 따른 표준 셀의 딜레이의 변화량이 저장된 셀 라이브러리를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 로컬 레이아웃 효과의 종류와 무관하게 집적 회로의 타이밍을 분석할 수 있는 집적 회로를 설계하기 위한 컴퓨팅 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 로컬 레이아웃 효과의 종류와 무관하게 집적 회로의 타이밍을 분석할 수 있는 집적 회로를 설계하는 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 컴퓨터로 읽을 수 있는 저장 매체에 저장된 셀 라이브러리는, 표준 셀에 포함된 트랜지스터의 임계 전압에 따른 표준 셀의 딜레이 정보, 및 표준 셀에 포함된 트랜지스터의 이동도에 따른 표준 셀의 딜레이 정보가 저장된다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 컴퓨팅 시스템은, 표준 셀을 포함하는 집적 회로를 설계하는 프로그램 및 셀 라이브러리가 저장된 메모리, 및 프로세서를 포함하고, 프로세서는 프로그램을 실행하여, 트랜지스터를 포함하는 표준 셀에 대한 입력 데이터를 수신하고, 트랜지스터의 임계 전압의 변화량에 따른 표준 셀의 딜레이의 변화량을 측정하고, 트랜지스터의 이동도의 변화량에 따른 표준 셀의 딜레이의 변화량을 측정하고, 트랜지스터의 임계 전압의 변화량에 따른 표준 셀의 딜레이의 변화량, 및 트랜지스터의 이동도의 변화량에 따른 표준 셀의 딜레이의 변화량을 셀 라이브러리에 저장한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 컴퓨팅 시스템은, 집적 회로를 설계하는 프로그램 및 셀 라이브러리가 저장된 메모리, 및 프로세서를 포함하고, 프로세서는 프로그램을 실행하여, 집적 회로를 정의하는 복수의 표준 셀들을 배치 및 라우팅하여 집적 회로의 레이아웃 데이터를 생성하고, 셀 라이브러리에 저장된, 각각의 복수의 표준 셀들에 포함된 트랜지스터의 임계 전압의 변화량에 따른 각각의 복수의 표준 셀들의 딜레이의 변화량 및 각각의 복수의 표준 셀들에 포함된 트랜지스터의 이동도의 변화량에 따른 각각의 복수의 표준 셀들의 딜레이의 변화량을 이용하여, 집적 회로의 딜레이를 계산한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 집적 회로 설계 방법은, 트랜지스터를 포함하는 표준 셀에 대한 입력 데이터를 수신하고, 입력 데이터에 트랜지스터의 임계 전압 및 트랜지스터의 이동도를 변수로 추가하고, 변수를 변경하여, 트랜지스터의 임계 전압의 변화량에 따른 표준 셀의 딜레이의 변화량 및 트랜지스터의 이동도의 변화량에 따른 표준 셀의 딜레이의 변화량을 측정하고, 트랜지스터의 임계 전압의 변화량에 따른 표준 셀의 딜레이의 변화량 및 트랜지스터의 이동도의 변화량에 따른 표준 셀의 딜레이의 변화량을 셀 라이브러리에 저장하는 것을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 몇몇 실시예에 따라 집적 회로를 설계하기 위한 컴퓨팅 시스템을 설명하기 위한 도면이다.
도 2는 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 도면이다.
도 3은 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 순서도이다.
도 4은 도 3의 S40단계를 설명하기 위한 순서도이다.
도 5는 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 도면이다.
도 6은 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 순서도이다.
도 7 내지 도 15는 도 6의 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 도면들이다.
도 16은 몇몇 실시예에 따라 집적 회로를 설계하기 위한 컴퓨팅 시스템을 설명하기 위한 도면이다.
도 17은 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 도면이다.
도 18은 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 도면이다.
도 19는 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 순서도이다.
도 20은 몇몇 실시예에 따른 반도체 장치의 제조 방법을 설명하기 위한 순서도이다.
도 1은 몇몇 실시예에 따라 집적 회로를 설계하기 위한 컴퓨팅 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 몇몇 실시예에 따른 집적 회로를 설계하기 위한 컴퓨팅 시스템(100)은 프로세서(110), 메모리(130), 입출력 장치(150), 스토리지 장치(170) 및 버스(190)를 포함할 수 있다. 컴퓨팅 시스템(100)은 예를 들어, 일체화된 디바이스로 구현될 수 있다. 컴퓨팅 시스템(100)은 예를 들어 집적 회로를 설계하기 위한 전용 장치로 제공될 수 있다. 컴퓨팅 시스템(100)은 예를 들어 다양한 시뮬레이션 툴 또는 설계 툴을 구동하기 위한 컴퓨터일 수 있다.
프로세서(110)는 집적 회로를 설계하기 위한 다양한 동작 중 적어도 하나를 수행하는 명령어들을 실행하도록 구성될 수 있다. 프로세서(110)는 예를 들어, 마이크로프로세서(micro-processor), AP(Application Processor, DSP(Digital Signal Processor), GPU(Graphic Processing Unit)와 같이, 임의의 명령어들을 실행할 수 있는 코어를 포함할 수 있다.
프로세서(110)는 버스(190)를 통해 메모리(130), 입출력 장치(150) 및 스토리지 장치(170)와 통신을 수행할 수 있다. 프로세서(110)는 메모리(130)에 로딩된 P&R(Placement & Routing) 모듈(210), 시뮬레이션 모듈(220) 및 STA(Static Timing Analysis) 모듈(230)을 구동하여 집적 회로를 설계할 수 있다. P&R(Placement & Routing) 모듈(210), 시뮬레이션 모듈(220) 및 STA(Static Timing Analysis) 모듈(230)은 프로세서(110)에 의해 실행되는 복수의 명령어들을 포함하는 프로그램 또는 소프트웨어 모듈일 수 있고, 컴퓨터로 읽을 수 있는 저장 매체에 저장될 수 있다.
메모리(130)는 P&R 모듈(210), 시뮬레이션 모듈(220) 및 STA 모듈(230)을 저장할 수 있다. P&R 모듈(210), 시뮬레이션 모듈(220) 및 STA 모듈(230)은 예를 들어 스토리지 장치(170)로부터 로딩될 수 있다. 메모리(130)는 SRAM, DRAM 등과 같은 휘발성 메모리이거나, PRAM, MRAM ReRAM, FRAM NOR 플래시 메모리 등의 비휘발성 메모리 일 수 있다.
P&R 모듈(210), 시뮬레이션 모듈(220) 및 STA 모듈(230)은 도 2 내지 도 15를 이용하여 자세히 설명한다.
입출력 장치(150)는 사용자 인터페이스 장치들로부터의 사용자 입력 및 출력을 제어할 수 있다. 예를 들어, 입출력 장치(150)는 키보드, 마우스, 터치패드 등과 같은 입력 장치를 구비하여, 집적 회로를 정의하는 입력 데이터를 입력 받을 수 있다. 예를 들어, 입출력 장치(150)는 디스플레이, 스피커 등과 같은 출력 장치를 구비하여, 배치 결과, 라우팅 결과 또는 타이밍 분석 결과 등을 표시할 수 있다.
스토리지 장치(170)는 P&R 모듈(210), 시뮬레이션 모듈(220) 및 STA 모듈(230)과 관련된 각종 데이터를 저장할 수 있다. 스토리지 장치(170)는 셀 라이브러리를 저장할 수 있다. 스토리지 장치(170)는 예를 들어, 메모리 카드(MMC, eMMC, SD, MicroSD 등), SSD(solid state drive), HDD(hard disk drive) 등을 포함할 수 있다.
도 2는 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 도면이다. 도 3은 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 순서도이다. 도 2는 도 1을 상세하게 나타낸 도면이다.
도 2를 참조하면, P&R 모듈(210)은 배치기(placer, 211)와 라우터(router, 222)를 포함할 수 있다. STA 모듈(230)은 LLE(Local Layout Effect) 계산기(231)와 타이밍 분석기(232)를 포함할 수 있다. 본 명세서에서 도 1의 프로세서(110)가 P&R 모듈(210) 및 STA 모듈(230)을 실행하여 동작을 수행하는 것은, P&R 모듈(210) 및 STA 모듈(230)이 그러한 동작을 수행하는 것으로 표현된다.
스토리지 장치(170)는 셀 라이브러리(270)를 포함할 수 있다. 셀 라이브러리(270)는 특정 환경에서의 각각의 표준 셀들의 딜레이 정보(271), 각각의 표준 셀들의 임계 전압에 따른 딜레이 정보(272), 각각의 표준 셀들의 이동도에 따른 딜레이 정보(273) 및 집적 회로의 레이아웃을 생성하기 위해 필요한 표준 셀들에 대한 정보인 셀 라이브러리 데이터 베이스(274)를 저장할 수 있다.
도 2 및 도 3을 참조하면, 합성 동작을 수행할 수 있다(S10). 합성은 집적 회로에 대한 입력 데이터를 로직 게이트로 이루어진 하드웨어 형태로 변환함으로써 넷리스트(netlist, D10)를 생성하는 동작을 의미할 수 있으며, 로직(logic) 합성이라고 지칭될 수 있다. 입력 데이터는 집적 회로의 동작(behavior)에 대한 추상적 형태, 예를 들어, RTL(Register Transfer Level)에서 정의된 데이터일 수 있다. 넷리스트(D10)는 스토리지 장치(170)에 저장된 셀 라이브러리(270)를 이용하여 RTL 코드로부터 생성될 수 있고, 게이트 레벨의 넷리스트(D10)일 수 있다. 예를 들어, 합성 모듈을 이용하여 프로세서(110)에 의해 수행될 수 있다. 예를 들어, 합성 모듈은 RTL 코드를 입력받아 넷리스트(D10)를 출력할 수 있다.
넷리스트(D10)에 따라 집적 회로를 정의하는 표준 셀들을 배치 및 라우팅(Placement & Routing)하여 집적 회로에 대한 레이아웃 데이터(D20)를 생성할 수 있다(S20). P&R 모듈(210)의 배치기(211)는 셀 라이브러리 데이터 베이스(274)에 액세스하여 넷리스트(D10)에 따라 표준 셀들을 배치할 수 있다. P&R 모듈(210)의 라우터(212)는 배치기(211)에 의해 배치된 표준 셀들에 대해 라우팅을 수행하여 레이아웃 데이터(D20)를 생성할 수 있다. 라우터(212)는 레이아웃 데이터(D20)를 셀 라이브러리(270)에 저장할 수 있다. 레이아웃 데이터(D20)는 예를 들어, GDS(Graphic Design System)II 형식의 데이터일 수 있다.
레이아웃 데이터(D20)로부터 LLE(Local Layout Effect) 파라미터(D30)를 추출할 수 있다(S30). P&R 모듈(210)은 레이아웃 데이터(D20)에 포함된 각각의 표준 셀들로부터 LLE 파라미터(D30)를 추출할 수 있다. P&R 모듈(210)은 각각의 표준 셀들에 포함된 각각의 트랜지스터들에 대해 LLE 파라미터(D30)를 추출할 수 있다. 이 때 P&R 모듈(210)은 각각의 표준 셀들의 바운더리(boundary)에 배치된 각각의 트랜지스터들에 대해 LLE 파라미터(D30)를 추출할 수 있다. P&R 모듈(210)은 넷리스트(D10)를 입력받아 레이아웃 데이터(D20)와 LLE 파라미터(D30)를 출력할 수 있다. P&R 모듈(210)은 LLE 파라미터(D30)를 셀 라이브러리(270)에 저장할 수 있다.
LLE 파라미터(D30)는 표준 셀의 주변에 배치되는 레이아웃들로터 발생하는 로컬 레이아웃 효과를 유발하는 파라미터일 수 있다. LLE 파라미터(D30)는 예를 들어, 표준 셀의 주변에 배치되는 활성 패턴의 유무, 활성 패턴의 형상, 활성 패턴의 크기 및 활성 패턴 까지의 거리 등을 포함할 수 있다. LLE 파라미터(D30)는 예를 들어, 표준 셀로부터 테이퍼 형태(tapered shape)의 활성 패턴 까지의 거리, 표준 셀과 인접하는 활성 패턴의 나노 시트의 폭 등을 포함할 수 있다.
집적 회로의 타이밍 분석을 수행할 수 있다(S40). STA 모듈(230)은 집적 회로에 포함된 표준 셀의 딜레이를 계산할 수 있다. STA 모듈(230)은 표준 셀의 딜레이를 포함하는 타이밍 리포트(D50)를 생성할 수 있다. STA 모듈(230)은 레이아웃 데이터(D20), LLE 파라미터(D30), LLE 모델(D40), 셀 라이브러리에 저장된 딜레이 정보들(271, 272, 273)을 입력받아 타이밍 리포트(D50)를 출력할 수 있다. STA 모듈(230)은 계산된 표준 셀의 딜레이가 설정 조건을 만족하는지를 더 판단하여 타이밍 리포트(D50)를 생성할 수 있다.
집적 회로는 복수의 표준 셀들을 포함할 수 있다. STA 모듈(230)은 집적 회로에 포함된 각각의 표준 셀들의 딜레이를 계산하여 이를 포함하는 타이밍 리포트(D50)를 생성할 수 있다. STA 모듈(230)은 각각의 표준 셀들의 딜레이에 기반하여 집적 회로의 딜레이를 계산할 수 있고, 이를 더 포함하는 타이밍 리포트(D50)를 생성할 수 있다. STA 모듈(230)은 집적 회로의 딜레이가 설정 조건을 만족하는지를 더 판단하여 타이밍 리포트(D50)를 생성할 수 있다. 도 3 및 도 4를 이용하여 자세히 설명한다.
몇몇 실시예에 따른 집적 회로의 설계 방법은, S40단계에서 수행된 타이밍 분석에 따라 ECO(Engineering Change Orders)를 수행하는 단계를 더 포함할 수 있다. 또는 몇몇 실시예에 따른 집적 회로의 설계 방법은, S40단계에서 수행된 타이밍 분석에 따라 S20단계의 표준 셀들의 배치 및 라우팅 동작을 다시 수행할 수 있다. 예를 들어, 표준 셀들의 배치 및 라우팅 동작에 포함되는 클럭 트리 합성(clock tree synthesis) 또는 최적화(optimization)를 수행할 수 있다. 또 다른 예를 들어, 표준 셀들의 배치 및 라우팅 동작에 포함되는 메탈 라우팅을 수정할 수 있다.
도 4은 도 3의 S40단계를 설명하기 위한 순서도이다.
도 2 및 도 4를 참조하면, STA 모듈(230)은 LLE 모델(D40)과 LLE 파라미터(D30)를 수신할 수 있다(S41). STA 모듈(230)은 P&R 모듈(210)로부터 LLE 파라미터(D30)를 수신할 수 있다. STA 모듈(230)은 표준 셀의 바운더리에 배치된 각각의 트랜지스터들에 대해 P&R 모듈(210)로부터 추출된 LLE 파라미터(D30)를 수신할 수 있다.
STA 모듈(230)은 예를 들어, 도 1의 입출력 장치(150)를 통해 LLE 모델(D40)을 수신할 수 있다. 또 다른 예를 들어, STA 모듈(230)은 도 1의 스토리지 장치(170)에 저장된 LLE 모델(D40)을 리드할 수 있다. LLE 모델(D40)은 LLE 파라미터(D30)를 입력받아 LLE 효과에 따른 표준 셀의 물리적 특성의 변동에 관한 정보를 출력할 수 있다. 상기 표준 셀의 물리적 특성의 변동에 관한 정보는 표준 셀의 임계 전압의 변화량 및 표준 셀의 이동도의 변화량을 포함할 수 있다. 표준 셀의 임계 전압의 변화량은, 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량을 포함할 수 있고, 표준 셀의 이동도의 변화량은, 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 이동도의 변화량을 포함할 수 있다.
STA 모듈(230)의 LLE 계산기(231)는 LLE 모델(D40)에 LLE 파라미터(D30)를 입력하여 표준 셀의 임계 전압의 변화량 및 표준 셀의 이동도의 변화량을 계산할 수 있다(S42). 표준 셀의 임계 전압의 변화량은 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량을 포함할 수 있다. 표준 셀들의 이동도의 변화량은 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 이동도의 변화량을 포함할 수 있다.
STA 모듈(230)의 타이밍 분석기(232)는 표준 셀의 딜레이를 계산할 수 있다(S43). 타이밍 분석기(232)는 셀 라이브러리(270)에 저장된, 표준 셀의 특정 환경에서의 딜레이 정보(271), 표준 셀의 임계 전압에 따른 딜레이 정보(272), 표준 셀의 이동도에 따른 딜레이 정보(273)와, S42단계에서 계산된 표준 셀의 임계 전압의 변화량 및 표준 셀의 이동도의 변화량을 이용하여, 표준 셀의 딜레이를 계산할 수 있다. 셀 라이브러리(270)에 저장된 표준 셀의 임계 전압에 따른 딜레이 정보(272)는, 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량에 따른 표준 셀의 딜레이의 변화량을 포함할 수 있다. 셀 라이브러리(270)에 저장된 표준 셀의 이동도에 따른 딜레이 정보(273)는, 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 이동도의 변화량에 따른 표준 셀의 딜레이의 변화량을 포함할 수 있다.
타이밍 분석기(232)는 표준 셀에 대해 수학식 1을 이용하여 표준 셀의 딜레이를 계산할 수 있다. 수학식 1은 하나의 표준 셀의 딜레이(Delay)를 나타낸다. 수학식 1에서 n은 표준 셀의 바운더리에 배치된 트랜지스터의 개수를 의미한다.
(수학식 1)
타이밍 분석기(232)는 특정 환경에서의 표준 셀의 딜레이(Delay orig), 표준 셀의 바운더리에 배치된 각각의 트랜지스터들(tr_i)의 임계 전압의 변화량에 따른 표준 셀의 딜레이의 변화량()과 표준 셀의 바운더리에 배치된 각각의 트랜지스터들(tr_i)의 임계 전압의 변화량()의 곱, 및 표준 셀의 바운더리에 배치된 각각의 트랜지스터들(tr_i)의 이동도의 변화량에 따른 표준 셀의 딜레이의 변화량()과 표준 셀의 바운더리에 배치된 각각의 트랜지스터들(tr_i)의 이동도의 변화량()의 곱을 합하여 표준 셀의 딜레이(Delay)를 계산할 수 있다.
타이밍 분석기(232)는 셀 라이브러리(270)로부터 특정 환경에서의 표준 셀의 딜레이(Delay orig, 271), 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량에 따른 표준 셀의 딜레이의 변화량(, 272) 및 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 이동도의 변화량에 따른 표준 셀의 딜레이의 변화량(, 273)을 수신할 수 있고, LLE 계산기(231)로부터 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량() 및 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 이동도의 변화량()을 수신할 수 있다. LLE 계산기(231)는 LLE 모델에 LLE 파라미터를 입력하여 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량()과 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 이동도의 변화량()을 계산할 수 있다.
집적 회로는 복수의 표준 셀들을 포함할 수 있다. STA 모듈(230)은 각각의 표준 셀들에 대해 S41 내지 S43 단계를 수행할 수 있다. 구체적으로, P&R 모듈(210)은 각각의 표준 셀들의 바운더리에 배치된 각각의 트랜지스터들로부터 LLE 파라미터(D30)를 추출할 수 있고, LLE 계산기(231)는 LLE 모델(D40)을 이용하여 각각의 표준 셀들의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량과 이동도의 변화량을 계산할 수 있다. 타이밍 분석기(232)는 셀 라이브러리(270)에 저장된, 각각의 표준 셀들의 특정 환경에서의 딜레이 정보(271), 각각의 표준 셀들의 임계 전압에 따른 딜레이 정보(272), 각각의 표준 셀들의 이동도에 따른 딜레이 정보(273)와, LLE 계산기(231)에 의해 계산된 각각의 표준 셀들의 임계 전압의 변화량 및 각각의 표준 셀들의 이동도의 변화량을 이용하여, 각각의 표준 셀들의 딜레이를 계산할 수 있다. 셀 라이브러리(270)에 저장된 각각의 표준 셀들의 임계 전압에 따른 딜레이 정보(272)는, 각각의 표준 셀들의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량에 따른 각각의 표준 셀들의 딜레이의 변화량을 포함할 수 있다. 셀 라이브러리(270)에 저장된 각각의 표준 셀들의 이동도에 따른 딜레이 정보(273)는, 각각의 표준 셀들의 바운더리에 배치된 각각의 트랜지스터들의 이동도의 변화량에 따른 각각의 표준 셀들의 딜레이의 변화량을 포함할 수 있다.
도 5는 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 도면이다. 도 6은 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 순서도이다. 도 5는 도 1을 상세하게 나타낸 도면이다.
도 5 및 도 6을 참조하면, 시뮬레이션 모듈(220)은 표준 셀에 대한 입력 데이터(D11)를 수신할 수 있다(S110). 입력 데이터(D11)는 넷리스트일 수 있다.
시뮬레이션 모듈(220)은 입력 데이터(D11)에 각각의 트랜지스터들의 임계 전압 및 각각의 트랜지스터들의 이동도를 변수로 추가할 수 있다(S120). 이 때, 시뮬레이션 모듈(220)은 표준 셀의 바운더리에 배치된 각각의 트랜지스터들에 대해 S120단계를 수행할 수 있다.
시뮬레이션 모듈(220)은 각각의 트랜지스터들의 임계 전압의 변화량에 따른 표준 셀의 딜레이의 변화량과 각각의 트랜지스터들의 이동도의 변화량에 따른 표준 셀의 딜레이의 변화량을 측정할 수 있다(S130). 이 때, 시뮬레이션 모듈(220)은 표준 셀의 바운더리에 배치된 각각의 트랜지스터들에 대해 S130단계를 수행할 수 있다.
시뮬레이션 모듈(220)은 각각의 트랜지스터들의 임계 전압의 변화량에 따른 표준 셀의 딜레이의 변화량과 각각의 트랜지스터들의 이동도의 변화량에 따른 표준 셀의 딜레이의 변화량을 셀 라이브러리(270)에 저장할 수 있다(S140). 각각의 트랜지스터들의 임계 전압의 변화량에 따른 표준 셀의 딜레이의 변화량은 셀 라이브러리(270)의 표준 셀의 임계 전압에 따른 딜레이 정보(272)로 저장될 수 있다. 각각의 트랜지스터들의 이동도의 변화량에 따른 표준 셀의 딜레이의 변화량은 셀 라이브러리(270)의 표준 셀의 이동도에 따른 딜레이 정보(273)로 저장될 수 있다.
몇몇 실시예에 따른 집적 회로의 설계 방법은, 표준 셀의 로컬 레이아웃 효과를 트랜지스터의 임계 전압 및 트랜지스터의 이동도로 특성화(characterization)할 수 있다. 즉, 로컬 레이아웃 효과의 종류와 무관하게 표준 셀의 로컬 레이아웃 효과를 트랜지스터의 임계 전압 및 트랜지스터의 이동도로 특성화할 수 있다. 따라서 로컬 레이아웃 효과의 종류에 따라 표준 셀의 타이밍을 분석하기 위한 방법을 고안할 필요가 없다. 또한 로컬 레이아웃 효과의 종류 별로 특성화 동작이 수행될 필요가 없다.
도 7 내지 도 15는 도 6의 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 도면들이다.
도 7을 참조하면, 표준 셀은 제1 활성 패턴(RX1)과 제2 활성 패턴(RX) 및 표준 셀의 바운더리에 배치된 제1 내지 제4 트랜지스터(tr1, tr2, tr3, tr4)를 포함할 수 있다.
도 7 및 도 8을 참조하면, 입력 데이터(D11)에 제1 트랜지스터(tr1)의 임계 전압(tr1_p_vta)과 제1 트랜지스터(tr1)의 이동도(tr1_u0_mult)를 정의(11)하고, 제2 트랜지스터(tr2)의 임계 전압(tr2_p_vta)과 제2 트랜지스터(tr2)의 이동도(tr2_u0_mult)를 정의(12)하고, 제3 트랜지스터(tr3)의 임계 전압(tr3_p_vta)과 제3 트랜지스터(tr3)의 이동도(tr3_u0_mult)를 정의(13)로 추가하고, 제4 트랜지스터(tr4)의 임계 전압(tr4_p_vta)과 제4 트랜지스터(tr4)의 이동도(tr4_u0_mult)를 정의(14)할 수 있다. 입력 데이터(D11)에 제1 트랜지스터(tr1)의 임계 전압(tr1_p_vta), 제3 트랜지스터(tr3)의 임계 전압(tr3_p_vta), 제4 트랜지스터(tr4)의 임계 전압(tr4_p_vta), 제1 트랜지스터(tr1)의 이동도(tr1_u0_mult), 제2 트랜지스터(tr2)의 이동도(tr2_u0_mult), 제3 트랜지스터(tr3)의 이동도(tr3_u0_mult), 및 제4 트랜지스터(tr4)의 이동도(tr4_u0_mult)를 변수(10)로 추가할 수 있다. 예를 들어, 제1 트랜지스터(tr1)의 임계 전압(tr1_p_vta), 제2 트랜지스터(tr2)의 임계 전압(tr2_p_vta), 제3 트랜지스터(tr3)의 임계 전압(tr3_p_vta) 및 제4 트랜지스터(tr4)의 임계 전압(tr4_p_vta)을 0으로 설정할 수 있고, 제1 트랜지스터(tr1)의 이동도(tr1_u0_mult), 제2 트랜지스터(tr2)의 이동도(tr2_u0_mult), 제3 트랜지스터(tr3)의 이동도(tr3_u0_mult), 및 제4 트랜지스터(tr4)의 이동도(tr4_u0_mult)를 1로 설정할 수 있다.
예를 들어 LVS(Layout Versus Schematic)을 이용하여 입력 데이터(D11)에 변수(10)를 추가할 수 있다.
도 7 및 도 9를 참조하면, 셀 라이브러리(270)는 도 8의 입력 데이터(D11)에 대한 표준 셀의 특정 환경(271e)에서의 딜레이(271)를 저장할 수 있다. 특정 환경(271e)에서의 표준 셀의 딜레이(271)는 예를 들어, 20ps일 수 있다. 특정 환경(271e)은 예를 들어, 표준 셀에 입력되는 전압, 표준 셀의 온도 등을 포함할 수 있다.
도 7 및 도 10을 참조하면, 입력 데이터(D11)의 변수(21)를 변경할 수 있다. 예를 들어 제1 트랜지스터(tr1)의 임계 전압(tr_1_p_vta)을 0에서 50 mV로 변경할 수 있다. 즉, 제1 트랜지스터(tr1)의 임계 전압(tr_1_p_vta)의 변화량은 50mV일 수 있다. 제1 트랜지스터(tr1)의 임계 전압(tr_1_p_vta)의 변화량이 50mV인 경우의 표준 셀의 딜레이의 변화량이 측정될 수 있다.
도 7 및 도 11을 참조하면, 셀 라이브러리(270)에 제1 트랜지스터(tr1)의 임계 전압의 변화량(22)과 이에 따른 표준 셀의 딜레이의 변화량(272_v_tr1)이 저장될 수 있다. 예를 들어 제1 트랜지스터(tr1)의 임계 전압의 변화량(22)이 50mV인 경우, 표준 셀의 딜레이의 변화량(272_v_tr1)은 4ps일 수 있다. 즉 이 경우 표준 셀의 딜레이는 24ps일 수 있다.
도 7 및 도 12를 참조하면, 입력 데이터(D11)의 변수(31)를 변경할 수 있다. 예를 들어, 제1 트랜지스터(tr1)의 이동도(tr1_u0_mult)를 1에서 0.9로 변경할 수 있다. 즉, 제1 트랜지스터(tr1)의 이동도(tr1_u0_mult)의 변화량은 -0.1일 수 있다. 제1 트랜지스터(tr1)의 이동도(tr1_u0_mult)의 변화량이 -0.1인 경우의 표준 셀의 딜레이의 변화량이 측정될 수 있다.
도 7 및 도 13을 참조하면, 셀 라이브러리(270)에 제1 트랜지스터(tr1)의 이동도의 변화량(32)과 이에 따른 표준 셀의 딜레이의 변화량(273_u0_tr1)이 저장될 수 있다. 예를 들어 제1 트랜지스터(tr1)의 이동도의 변화량(32)이 -0.1인 경우, 표준 셀의 딜레이의 변화량(273_u0_tr1)은 3ps일 수 있다. 즉 이 경우 표준 셀의 딜레이는 23ps일 수 있다.
이어서 제2 내지 제4 트랜지스터(tr2, tr3, tr4)에 대해서 임계 전압의 변화량에 따른 표준 셀의 딜레이의 변화량과 이동도의 변화량에 따른 표준 셀의 딜레이의 변화량을 측정하는 것이 반복될 수 있다. 도 7 및 도 14를 참조하면, 셀 라이브러리(270)에 제2 트랜지스터(tr2)의 임계 전압의 변화량(22)이 50mV인 경우의 표준 셀의 딜레이의 변화량(272_v_tr2)과 제2 트랜지스터(tr2)의 이동도의 변화량(32)이 -0.1인 경우의 표준 셀의 딜레이의 변화량(273_u0_tr2)이 저장될 수 있다. 예를 들어 제2 트랜지스터(tr2)의 임계 전압의 변화량(22)이 50mV인 경우, 표준 셀의 딜레이의 변화량(272_v_tr2)은 2ps일 수 있다. 즉 이 경우 표준 셀의 딜레이는 22ps일 수 있다. 예를 들어 제2 트랜지스터(tr2)의 이동도의 변화량(32)이 -0.1인 경우, 표준 셀의 딜레이의 변화량(273_u0_tr2)은 5ps일 수 있다. 즉 이 경우 표준 셀의 딜레이는 25ps일 수 있다.
셀 라이브러리(270)에 제3 트랜지스터(tr3)의 임계 전압의 변화량(22)이 50mV인 경우의 표준 셀의 딜레이의 변화량과 제2 트랜지스터(tr2)의 이동도의 변화량(32)이 -0.1인 경우의 표준 셀의 딜레이의 변화량, 및 제4 트랜지스터(tr4)의 임계 전압의 변화량(22)이 50mV인 경우의 표준 셀의 딜레이의 변화량과 제4 트랜지스터(tr4)의 이동도의 변화량(32)이 -0.1인 경우의 표준 셀의 딜레이의 변화량이 저장될 수 있다.
도 15를 참조하면, 그 결과 셀 라이브러리(270)에 표준 셀의 바운더리에 배치된 제1 내지 제4 트랜지스터(tr1, tr2, tr3, tr4)의 임계 전압의 변화량(22), 표준 셀의 바운더리에 배치된 제1 내지 제4 트랜지스터(tr1, tr2, tr3, tr4)의 이동도의 변화량(32), 각각의 제1 내지 제4 트랜지스터(tr1, tr2, tr3, tr4)의 임계 전압의 변화량(22)에 따른 표준 셀의 딜레이의 변화량(272), 각각의 제1 내지 제4 트랜지스터(tr1, tr2, tr3, tr4)의 이동도의 변화량(32)에 따른 표준 셀의 딜레이의 변화량(273)이 저장될 수 있다. 도 15의 각각의 제1 내지 제4 트랜지스터(tr1, tr2, tr3, tr4)의 임계 전압의 변화량(22)에 따른 표준 셀의 딜레이의 변화량(272)은 도 2의 표준 셀의 임계 전압에 따른 딜레이 정보(272)에 대응될 수 있고, 도 15의 각각의 제1 내지 제4 트랜지스터(tr1, tr2, tr3, tr4)의 이동도의 변화량(32)에 따른 표준 셀의 딜레이의 변화량(273)은 도 2의 표준 셀의 이동도에 따른 딜레이 정보(273)에 대응될 수 있다.
각각의 표준 셀들에 대해 도 6의 S110 내지 S140 동작이 수행될 수 있고, 이는 도 2의 표준 셀의 임계 전압에 따른 딜레이 정보(272) 및 표준 셀의 이동도에 따른 딜레이 정보(273)에 저장될 수 있다. 즉, 각각의 표준 셀들에 대해 도 15와 같이 표준 셀의 임계 전압에 따른 딜레이 정보(272) 및 표준 셀의 이동도에 따른 딜레이 정보(273)가 저장될 수 있다.
도 16은 몇몇 실시예에 따라 집적 회로를 설계하기 위한 컴퓨팅 시스템을 설명하기 위한 도면이다. 설명의 편의 상 도 1 내지 도 15를 이용하여 설명한 것과 다른 점을 중심으로 설명한다.
도 16을 참조하면, 몇몇 실시예에 따른 집적 회로를 설계하기 위한 컴퓨팅 시스템(100)에서 메모리(130)는 파워 분석 모듈(240)을 더 포함할 수 있다. 파워 분석 모듈(240)은 예를 들어 스토리지 장치(170)로부터 로딩될 수 있다.
도 17은 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 도면이다. 도 17은 도 16을 상세하게 나타낸 도면이다.
도 17을 참조하면, 스토리지 장치(170)는 셀 라이브러리(270)를 포함할 수 있다. 셀 라이브러리(270)는 특정 환경에서의 각각의 표준 셀들의 파워 정보(281), 각각의 표준 셀들의 임계 전압에 따른 파워 정보(282), 및 각각의 표준 셀들의 이동도에 따른 파워 정보(283)를 더 포함할 수 있다.
파워 분석 모듈(240)은 집적 회로에 포함된 표준 셀의 파워를 계산할 수 있다. 파워 분석 모듈(240)은 표준 셀의 파워를 포함하는 파워 리포트(D70)를 생성할 수 있다. 파워 분석 모듈(240)은 LLE 계산기(231)로부터 LLE 모델(D40)에 LLE 파라미터(D30)를 입력하여 계산된 표준 셀의 임계 전압의 변화량 및 표준 셀의 이동도의 변화량과, 셀 라이브러리(270)에 저장된 파워 정보들(281, 282, 283)을 입력받아, 파워 리포트(D70)를 출력할 수 있다. 파워 분석 모듈(240)은 계산된 표준 셀의 파워가 설정 조건을 만족하는지를 더 판단하여 파워 리포트(D70)를 생성할 수 있다.
집적 회로는 복수의 표준 셀들을 포함할 수 있다. 파워 분석 모듈(240)은 집적 회로에 포함된 각각의 표준 셀들의 파워를 계산하여 이를 포함하는 파워 리포트(D70)를 생성할 수 있다. 파워 분석 모듈(240)은 각각의 표준 셀들의 파워에 기반하여 집적 회로의 파워를 계산할 수 있고, 이를 더 포함하는 파워 리포트(D70)를 생성할 수 있다. 파워 분석 모듈(240)은 집적 회로의 파워가 설정 조건을 만족하는지를 더 판단하여 파워 리포트(D70)를 생성할 수 있다.
몇몇 실시예에 따른 집적 회로의 설계 방법은, 파워 리포트(D70)에 따라 ECO(Engineering Change Orders)를 수행하는 단계를 더 포함할 수 있다. 또는 몇몇 실시예에 따른 집적 회로의 설계 방법은, 파워 리포트(D70)에 따라 S20단계의 표준 셀들의 배치 및 라우팅 동작을 다시 수행할 수 있다. 예를 들어, 표준 셀들의 배치 및 라우팅 동작에 포함되는 클럭 트리 합성(clock tree synthesis) 또는 최적화(optimization)를 수행할 수 있다. 또 다른 예를 들어, 표준 셀들의 배치 및 라우팅 동작에 포함되는 메탈 라우팅을 수정할 수 있다.
파워 분석 모듈(240)은 표준 셀의 파워를 계산할 수 있다. 파워 분석 모듈(240)은 셀 라이브러리(270)에 저장된, 표준 셀의 특정 환경에서의 파워 정보(281), 표준 셀의 임계 전압에 따른 파워 정보(282), 표준 셀의 이동도에 따른 파워 정보(283)와, LLE 모델(D40)에 LLE 파라미터(D30)를 입력하여 계산된 표준 셀의 임계 전압의 변화량 및 표준 셀의 이동도의 변화량을 이용하여, 표준 셀의 파워를 계산할 수 있다. 셀 라이브러리(270)에 저장된 표준 셀의 임계 전압에 따른 파워 정보(282)는, 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량에 따른 표준 셀의 파워의 변화량을 포함할 수 있다. 셀 라이브러리(270)에 저장된 표준 셀의 이동도에 따른 파워 정보(283)는, 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 이동도의 변화량에 따른 표준 셀의 파워의 변화량을 포함할 수 있다.
파워 분석 모듈(240)은 표준 셀에 대해 수학식 2를 이용하여 표준 셀의 파워를 계산할 수 있다. 수학식 2는 하나의 표준 셀의 파워(Power)를 나타낸다. 수학식 2에서 n은 표준 셀의 바운더리에 배치된 트랜지스터의 개수를 의미한다.
(수학식 2)
파워 분석 모듈(240)은 특정 환경에서의 표준 셀의 파워(Power orig), 표준 셀의 바운더리에 배치된 각각의 트랜지스터들(tr_i)의 임계 전압의 변화량에 따른 표준 셀의 파워의 변화량()과 표준 셀의 바운더리에 배치된 각각의 트랜지스터들(tr_i)의 임계 전압의 변화량()의 곱, 및 표준 셀의 바운더리에 배치된 각각의 트랜지스터들(tr_i)의 이동도의 변화량에 따른 표준 셀의 파워의 변화량()과 표준 셀의 바운더리에 배치된 각각의 트랜지스터들(tr_i)의 이동도의 변화량()의 곱을 합하여 표준 셀의 파워(Power)를 계산할 수 있다.
파워 분석 모듈(240)은 셀 라이브러리(270)로부터 특정 환경에서의 표준 셀의 파워(Power orig, 281), 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량에 따른 표준 셀의 파워의 변화량(, 282) 및 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 이동도의 변화량에 따른 표준 셀의 파워의 변화량(, 283)을 수신할 수 있고, LLE 계산기(231)로부터 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량() 및 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 이동도의 변화량()을 수신할 수 있다. LLE 계산기(231)는 LLE 모델(D40)에 LLE 파라미터(D30)를 입력하여 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량()과 표준 셀의 바운더리에 배치된 각각의 트랜지스터들의 이동도의 변화량()을 계산할 수 있다.
집적 회로는 복수의 표준 셀들을 포함할 수 있다. 파워 분석 모듈(240)은 각각의 표준 셀들에 대해 파워를 계산할 수 있다. 구체적으로, P&R 모듈(210)은 각각의 표준 셀들의 바운더리에 배치된 각각의 트랜지스터들로부터 LLE 파라미터(D30)를 추출할 수 있고, LLE 계산기(231)는 LLE 모델(D40)을 이용하여 각각의 표준 셀들의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량과 이동도의 변화량을 계산할 수 있다. 파워 분석기(242)는 셀 라이브러리(270)에 저장된, 각각의 표준 셀들의 특정 환경에서의 파워 정보(281), 각각의 표준 셀들의 임계 전압에 따른 파워 정보(282), 각각의 표준 셀들의 이동도에 따른 파워 정보(283)와, LLE 계산기(231)에 의해 계산된 각각의 표준 셀들의 임계 전압의 변화량 및 각각의 표준 셀들의 이동도의 변화량을 이용하여, 각각의 표준 셀들의 파워를 계산할 수 있다. 셀 라이브러리(270)에 저장된 각각의 표준 셀들의 임계 전압에 따른 파워 정보(282)는, 각각의 표준 셀들의 바운더리에 배치된 각각의 트랜지스터들의 임계 전압의 변화량에 따른 각각의 표준 셀들의 파워의 변화량을 포함할 수 있다. 셀 라이브러리(270)에 저장된 각각의 표준 셀들의 이동도에 따른 파워 정보(283)는, 각각의 표준 셀들의 바운더리에 배치된 각각의 트랜지스터들의 이동도의 변화량에 따른 각각의 표준 셀들의 파워의 변화량을 포함할 수 있다.
도 18은 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 도면이다. 도 19는 몇몇 실시예에 따른 집적 회로의 설계 방법을 설명하기 위한 순서도이다. 도 18은 도 16을 상세하게 나타낸 도면이다.
도 18 및 도 19를 참조하면, 시뮬레이션 모듈(220)은 표준 셀에 대한 입력 데이터(D11)를 수신할 수 있다(S210). 입력 데이터(D11)는 넷리스트일 수 있다.
시뮬레이션 모듈(220)은 입력 데이터(D11)에 각각의 트랜지스터들의 임계 전압 및 각각의 트랜지스터들의 이동도를 변수로 추가할 수 있다(S220). 이 때, 시뮬레이션 모듈(220)은 표준 셀의 바운더리에 배치된 각각의 트랜지스터들에 대해 S220단계를 수행할 수 있다.
시뮬레이션 모듈(220)은 각각의 트랜지스터들의 임계 전압의 변화량에 따른 표준 셀의 파워의 변화량(282)과 각각의 트랜지스터들의 이동도의 변화량에 따른 표준 셀의 파워의 변화량(283)을 측정할 수 있다(S230). 이 때, 시뮬레이션 모듈(220)은 표준 셀의 바운더리에 배치된 각각의 트랜지스터들에 대해 S230단계를 수행할 수 있다.
시뮬레이션 모듈(220)은 각각의 트랜지스터들의 임계 전압의 변화량에 따른 표준 셀의 파워의 변화량(282)과 각각의 트랜지스터들의 이동도의 변화량에 따른 표준 셀의 파워의 변화량(283)을 셀 라이브러리(270)에 저장할 수 있다(S240).
몇몇 실시예에 따른 집적 회로의 설계 방법은, 표준 셀의 파워를 트랜지스터의 임계 전압 및 트랜지스터의 이동도로 특성화(characterization)할 수 있다.
도 20은 몇몇 실시예에 따른 반도체 장치의 제조 방법을 설명하기 위한 순서도이다. 설명의 편의 상 도 3을 이용하여 설명한 것과 다른 점을 중심으로 설명한다.
도 20을 참조하면, 집적 회로의 타이밍 분석이 수행된 후(S40), 레이아웃 데이터를 기초로 마스크를 생성할 수 있다(S50). 예를 들어, S40단계에서 생성된 타이밍 리포트(도 3의 D50)를 기초로 레이아웃 데이터를 수정할 수 있고, 수정된 레이아웃 데이터에 따라 마스크를 생성할 수 있다. 구체적으로, 레이아웃 데이터를 기초로 광 근접 효과에 따른 오차를 반영하여 레이아웃을 변경하는 OPC(Optical Proximity Correction)를 수행할 수 있다. 이어서, OPC 수행 결과에 따라 변경된 레이아웃에 따라 마스크를 제조할 수 있다. 이때, OPC를 반영한 레이아웃, 예컨대, OPC가 반영된 GDS II를 이용하여 마스크를 제조할 수 있다.
마스크를 이용하여 집적 회로가 구현된 반도체 장치를 제조할 수 있다(S60). 구체적으로, 복수의 마스크들을 이용하여 웨이퍼 등과 같은 반도체 기판 상에 다양한 반도체 공정을 진행하여 집적 회로가 구현된 반도체 장치를 형성할 수 있다. 예를 들어, 마스크를 이용하는 공정은 리소그라피 공정을 통한 패터닝 공정을 의미할 수 있다. 이러한 패터닝 공정을 통해 반도체 기판이나 물질층 상에 원하는 패턴을 형성할 수 있다. 한편, 반도체 공정은 증착 공정, 식각 공정, 이온 공정, 세정 공정 등을 포함할 수 있다. 또한, 반도체 공정은 반도체 소자를 PCB 상에 실장하고 밀봉재로 밀봉하는 패키징 공정을 포함할 수도 있고, 반도체 소자나 패키지에 대해 테스트를 하는 테스트 공정을 포함할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 컴퓨팅 시스템 110: 프로세서
130: 메모리 150: 입출력 장치
170: 스토리지 장치 210: P&R 모듈
220: 시뮬레이션 모듈 230: STA 모듈

Claims (20)

  1. 컴퓨터로 읽을 수 있는 저장 매체에 저장된 셀 라이브러리로,
    표준 셀에 포함된 트랜지스터의 임계 전압에 따른 상기 표준 셀의 딜레이 정보, 및
    상기 표준 셀에 포함된 상기 트랜지스터의 이동도에 따른 상기 표준 셀의 딜레이 정보가 저장된 셀 라이브러리.
  2. 제 1항에 있어서,
    상기 표준 셀에 포함된 상기 트랜지스터의 임계 전압에 따른 상기 표준 셀의 상기 딜레이 정보는,
    상기 표준 셀에 포함된 상기 트랜지스터의 임계 전압의 변화량에 따른 상기 표준 셀의 딜레이의 변화량을 포함하고,
    상기 표준 셀에 포함된 상기 트랜지스터의 이동도에 따른 상기 표준 셀의 상기 딜레이 정보는,
    상기 표준 셀에 포함된 상기 트랜지스터의 이동도의 변화량에 따른 상기 표준 셀의 딜레이의 변화량을 포함하는 셀 라이브러리.
  3. 제 1항에 있어서,
    상기 트랜지스터는, 상기 표준 셀의 바운더리(boundary)에 배치되는 셀 라이브러리.
  4. 제 1항에 있어서,
    상기 표준 셀은 제1 트랜지스터와 제2 트랜지스터를 포함하고,
    상기 표준 셀에 포함된 상기 트랜지스터의 임계 전압에 따른 상기 표준 셀의 상기 딜레이 정보는,
    상기 제1 트랜지스터의 임계 전압에 따른 상기 표준 셀의 딜레이 정보와,
    상기 제2 트랜지스터의 임계 전압에 따른 상기 표준 셀의 딜레이 정보를 포함하고,
    상기 표준 셀에 포함된 트랜지스터의 이동도에 따른 상기 표준 셀의 상기 딜레이 정보는,
    상기 제1 트랜지스터의 이동도에 따른 상기 표준 셀의 딜레이 정보와,
    상기 제2 트랜지스터의 이동도에 따른 상기 표준 셀의 딜레이 정보를 포함하는 셀 라이브러리.
  5. 제 1항에 있어서,
    상기 표준 셀에 포함된 상기 트랜지스터의 임계 전압에 따른 상기 표준 셀의 파워 정보가 더 저장된 셀 라이브러리.
  6. 제 1항에 있어서,
    상기 표준 셀에 포함된 상기 트랜지스터의 이동도에 따른 상기 표준 셀의 파워 정보가 더 저장된 셀 라이브러리.
  7. 제 1항에 있어서,
    특정 환경에서의 상기 표준 셀의 제3 딜레이 정보가 더 저장된 셀 라이브러리.
  8. 제 1항에 있어서,
    상기 표준 셀은, 제1 트랜지스터를 포함하는 제1 표준 셀과 제2 트랜지스터를 포함하는 제2 표준 셀을 포함하고,
    상기 표준 셀에 포함된 상기 트랜지스터의 임계 전압에 따른 상기 표준 셀의 상기 딜레이 정보는,
    상기 제1 표준 셀에 포함된 상기 제1 트랜지스터의 임계 전압에 따른 상기 제1 표준 셀의 딜레이 정보와
    상기 제2 표준 셀에 포함된 상기 제2 트랜지스터의 임계 전압에 따른 상기 제2 표준 셀의 딜레이 정보를 포함하고,
    상기 표준 셀에 포함된 상기 트랜지스터의 이동도에 따른 상기 표준 셀의 상기 딜레이 정보는,
    상기 제1 표준 셀에 포함된 상기 제1 트랜지스터의 이동도에 따른 상기 제1 표준 셀의 딜레이 정보와
    상기 제2 표준 셀에 포함된 상기 제2 트랜지스터의 이동도에 따른 상기 제2 표준 셀의 딜레이 정보를 포함하는 셀 라이브러리.
  9. 표준 셀을 포함하는 집적 회로를 설계하는 프로그램 및 셀 라이브러리가 저장된 메모리; 및
    프로세서를 포함하고,
    상기 프로세서는 상기 프로그램을 실행하여,
    트랜지스터를 포함하는 상기 표준 셀에 대한 입력 데이터를 수신하고,
    상기 트랜지스터의 임계 전압의 변화량에 따른 상기 표준 셀의 딜레이의 변화량을 측정하고,
    상기 트랜지스터의 이동도의 변화량에 따른 상기 표준 셀의 딜레이의 변화량을 측정하고,
    상기 트랜지스터의 임계 전압의 변화량에 따른 상기 표준 셀의 딜레이의 변화량, 및 상기 트랜지스터의 이동도의 변화량에 따른 상기 표준 셀의 딜레이의 변화량을 상기 셀 라이브러리에 저장하는 컴퓨팅 시스템.
  10. 제 9항에 있어서,
    상기 트랜지스터는 상기 표준 셀의 바운더리에 배치되는 컴퓨팅 시스템.
  11. 제 9항에 있어서,
    상기 트랜지스터는 제1 트랜지스터 및 제2 트랜지스터를 포함하고,
    상기 프로세서는,
    상기 제1 트랜지스터의 임계 전압의 변화량에 따른 상기 표준 셀의 딜레이의 변화량, 상기 제1 트랜지스터의 이동도의 변화량에 따른 상기 표준 셀의 딜레이의 변화량, 상기 제2 트랜지스터의 임계 전압의 변화량에 따른 상기 표준 셀의 딜레이의 변화량, 및 상기 제2 트랜지스터의 이동도의 변화량에 따른 상기 표준 셀의 딜레이의 변화량을 측정하고,
    상기 제1 트랜지스터의 임계 전압의 변화량에 따른 상기 표준 셀의 딜레이의 변화량, 상기 제1 트랜지스터의 이동도의 변화량에 따른 상기 표준 셀의 딜레이의 변화량, 상기 제2 트랜지스터의 임계 전압의 변화량에 따른 상기 표준 셀의 딜레이의 변화량, 및 상기 제2 트랜지스터의 이동도의 변화량에 따른 상기 표준 셀의 딜레이의 변화량을 상기 셀 라이브러리에 저장하는 컴퓨팅 시스템.
  12. 제 9항에 있어서,
    상기 셀 라이브러리는, 특정 환경에서의 상기 표준 셀의 딜레이를 저장하고,
    상기 프로세서는,
    상기 특정 환경에서의 상기 표준 셀의 딜레이를 기초로, 상기 트랜지스터의 임계 전압의 변화량에 따른 상기 표준 셀의 딜레이의 변화량, 및 상기 트랜지스터의 이동도의 변화량에 따른 상기 표준 셀의 딜레이의 변화량을 측정하는 컴퓨팅 시스템.
  13. 제 9항에 있어서,
    상기 프로세서는,
    상기 트랜지스터의 임계 전압의 변화량에 따른 상기 표준 셀의 파워의 변화량을 측정하고,
    상기 트랜지스터의 이동도의 변화량에 따른 상기 표준 셀의 파워의 변화량을 측정하고,
    상기 트랜지스터의 임계 전압의 변화량에 따른 상기 표준 셀의 파워의 변화량, 및 상기 트랜지스터의 이동도의 변화량에 따른 상기 표준 셀의 파워의 변화량을 상기 셀 라이브러리에 더 저장하는 컴퓨팅 시스템.
  14. 제 9항에 있어서,
    상기 프로세서는,
    상기 입력 데이터에, 상기 트랜지스터의 임계 전압 및 상기 트랜지스터의 이동도를 변수로 추가하고,
    상기 변수를 변경하여, 상기 트랜지스터의 임계 전압의 변화량에 따른 상기 표준 셀의 딜레이의 변화량, 및 상기 트랜지스터의 이동도의 변화량에 따른 상기 표준 셀의 딜레이의 변화량을 측정하는 컴퓨팅 시스템.
  15. 집적 회로를 설계하는 프로그램 및 셀 라이브러리가 저장된 메모리; 및
    프로세서를 포함하고,
    상기 프로세서는 상기 프로그램을 실행하여,
    상기 집적 회로를 정의하는 복수의 표준 셀들을 배치 및 라우팅하여 상기 집적 회로의 레이아웃 데이터를 생성하고,
    상기 셀 라이브러리에 저장된, 각각의 상기 복수의 표준 셀들에 포함된 트랜지스터의 임계 전압의 변화량에 따른 각각의 상기 복수의 표준 셀들의 딜레이의 변화량 및 각각의 상기 복수의 표준 셀들에 포함된 트랜지스터의 이동도의 변화량에 따른 각각의 상기 복수의 표준 셀들의 딜레이의 변화량을 이용하여, 상기 집적 회로의 딜레이를 계산하는 컴퓨팅 시스템.
  16. 제 15항에 있어서,
    상기 프로세서는,
    LLE 모델을 제공받고,
    각각의 상기 복수의 표준 셀들의 LLE 파라미터를 더 추출하고,
    상기 LLE 모델에 상기 LLE 파라미터를 입력하여, 각각의 상기 복수의 표준 셀들에 포함된 상기 트랜지스터의 임계 전압의 변화량 및 각각의 상기 복수의 표준 셀들에 포함된 상기 트랜지스터의 이동도의 변화량을 더 계산하고,
    상기 각각의 상기 복수의 표준 셀들에 포함된 상기 트랜지스터의 임계 전압의 변화량 및 각각의 상기 복수의 표준 셀들에 포함된 상기 트랜지스터의 이동도의 변화량을 더 이용하여, 상기 집적 회로의 딜레이를 계산하는 컴퓨팅 시스템.
  17. 제 16항에 있어서,
    상기 셀 라이브러리는, 특정 환경에서의 각각의 상기 복수의 표준 셀들의 딜레이를 더 저장하고,
    상기 프로세서는,
    특정 환경에서의 각각의 상기 복수의 표준 셀들의 딜레이를 더 이용하여, 상기 집적 회로의 딜레이를 계산하는 컴퓨팅 시스템.
  18. 제 16항에 있어서,
    상기 LLE 파라미터는, 각각의 복수의 표준 셀들의 주변에 배치된 활성 패턴의 배치 유무, 각각의 복수의 표준 셀들의 주변에 배치된 활성 패턴의 형상, 각각의 복수의 표준 셀들의 주변에 배치된 활성 패턴의 크기, 및 각각의 복수의 표준 셀들과 각각의 복수의 표준 셀들의 주변에 배치된 활성 패턴 사이의 거리 중 적어도 하나를 포함하는 컴퓨팅 시스템.
  19. 제 15항에 있어서,
    상기 프로세서는,
    상기 셀 라이브러리에 저장된, 각각의 상기 복수의 표준 셀들에 포함된 트랜지스터의 임계 전압의 변화량에 따른 각각의 상기 복수의 표준 셀들의 파워의 변화량 및 각각의 상기 복수의 표준 셀들에 포함된 트랜지스터의 이동도의 변화량에 따른 각각의 상기 복수의 표준 셀들의 파워의 변화량을 이용하여, 상기 집적 회로의 파워를 더 계산하는 컴퓨팅 시스템.
  20. 제 19항에 있어서,
    상기 프로세서는,
    LLE 모델을 제공받고,
    각각의 상기 복수의 표준 셀들의 LLE 파라미터를 더 추출하고,
    상기 LLE 모델에 상기 LLE 파라미터를 입력하여, 각각의 상기 복수의 표준 셀들에 포함된 상기 트랜지스터의 임계 전압의 변화량 및 각각의 상기 복수의 표준 셀들에 포함된 상기 트랜지스터의 이동도의 변화량을 더 계산하고,
    상기 각각의 상기 복수의 표준 셀들에 포함된 상기 트랜지스터의 임계 전압의 변화량 및 각각의 상기 복수의 표준 셀들에 포함된 상기 트랜지스터의 이동도의 변화량을 더 이용하여, 상기 집적 회로의 파워를 계산하는 컴퓨팅 시스템.
KR1020220043612A 2022-04-07 2022-04-07 셀 라이브러리, 로컬 레이아웃 효과를 고려한 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 집적 회로 설계 방법 KR20230144396A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020220043612A KR20230144396A (ko) 2022-04-07 2022-04-07 셀 라이브러리, 로컬 레이아웃 효과를 고려한 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 집적 회로 설계 방법
US18/149,749 US20230325571A1 (en) 2022-04-07 2023-01-04 Cell libraries, computing systems, and methods for designing an integrated circuit
CN202310348186.9A CN116894417A (zh) 2022-04-07 2023-04-03 用于设计集成电路的单元库和计算系统
TW112112856A TW202341000A (zh) 2022-04-07 2023-04-06 單元庫以及計算系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220043612A KR20230144396A (ko) 2022-04-07 2022-04-07 셀 라이브러리, 로컬 레이아웃 효과를 고려한 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 집적 회로 설계 방법

Publications (1)

Publication Number Publication Date
KR20230144396A true KR20230144396A (ko) 2023-10-16

Family

ID=88239437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220043612A KR20230144396A (ko) 2022-04-07 2022-04-07 셀 라이브러리, 로컬 레이아웃 효과를 고려한 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 집적 회로 설계 방법

Country Status (4)

Country Link
US (1) US20230325571A1 (ko)
KR (1) KR20230144396A (ko)
CN (1) CN116894417A (ko)
TW (1) TW202341000A (ko)

Also Published As

Publication number Publication date
US20230325571A1 (en) 2023-10-12
TW202341000A (zh) 2023-10-16
CN116894417A (zh) 2023-10-17

Similar Documents

Publication Publication Date Title
US10902173B2 (en) System for designing integrated circuit using extracted model parameter and method of manufacturing integrated circuit using the same
EP1989647B1 (en) Computation of electrical properties of an ic layout
WO2008045900A1 (en) Properties in electronic design automation
US10599130B2 (en) Method and system for manufacturing an integrated circuit in consideration of a local layout effect
US10928442B2 (en) Computer implemented methods and computing systems for designing integrated circuits by considering back-end-of-line
US20170344692A1 (en) Computer-implemented method of designing an integrated circuit
US11651131B2 (en) Glitch source identification and ranking
US10223485B2 (en) Reliability verification based on combining voltage propagation with simulation
US11907631B2 (en) Reset domain crossing detection and simulation
CN106528905B (zh) 评估集成电路的系统及方法
US20230110560A1 (en) Unified framework and method for accurate context-aware timing modeling
US11790150B2 (en) Placement and simulation of cell in proximity to cell with diffusion break
US20230004698A1 (en) Dividing a chip design flow into sub-steps using machine learning
US11494539B2 (en) Dynamic random-access memory pass transistors with statistical variations in leakage currents
KR20230144396A (ko) 셀 라이브러리, 로컬 레이아웃 효과를 고려한 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 집적 회로 설계 방법
US11334698B2 (en) Cell-aware defect characterization by considering inter-cell timing
US11797739B2 (en) Endpoint path margin based integrated circuit design using sub-critical timing paths
US20240232486A1 (en) Using surrogate netlists for variation analysis of process variations
US11334697B1 (en) Methods, systems, and computer program product for characterizing an electronic design with efficient cell cloning
US20220300687A1 (en) Propagating Physical Design Information Through Logical Design Hierarchy of an Electronic Circuit
US20210133383A1 (en) Pattern matching using anchors during integrated circuit verification
US20210042459A1 (en) Automatic derivation of integrated circuit cell mapping rules in an engineering change order flow
WO2021168231A1 (en) Automatic test pattern generation (atpg) for parametric faults
WO2023059915A1 (en) Unified framework and method for accurate context-aware timing modeling
Rittman Nanometer Physical Verification