KR20180121219A - Beol의 공정 변이를 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템 - Google Patents

Beol의 공정 변이를 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템 Download PDF

Info

Publication number
KR20180121219A
KR20180121219A KR1020170055660A KR20170055660A KR20180121219A KR 20180121219 A KR20180121219 A KR 20180121219A KR 1020170055660 A KR1020170055660 A KR 1020170055660A KR 20170055660 A KR20170055660 A KR 20170055660A KR 20180121219 A KR20180121219 A KR 20180121219A
Authority
KR
South Korea
Prior art keywords
wire
timing
integrated circuit
data
delay
Prior art date
Application number
KR1020170055660A
Other languages
English (en)
Other versions
KR102402673B1 (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 KR1020170055660A priority Critical patent/KR102402673B1/ko
Priority to US15/862,296 priority patent/US10902168B2/en
Priority to CN201810160711.3A priority patent/CN108804734B/zh
Priority to CN202311314082.2A priority patent/CN117272924A/zh
Priority to DE102018106914.6A priority patent/DE102018106914A1/de
Priority to TW107113892A priority patent/TWI788345B/zh
Publication of KR20180121219A publication Critical patent/KR20180121219A/ko
Priority to US17/156,738 priority patent/US11475195B2/en
Application granted granted Critical
Publication of KR102402673B1 publication Critical patent/KR102402673B1/ko
Priority to US17/966,993 priority patent/US11861281B2/en

Links

Images

Classifications

    • G06F17/5072
    • 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/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • G06F17/5077
    • 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
    • G06F30/3312Timing analysis
    • 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/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • 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
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/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
    • 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
    • G06F2217/84

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)
  • Networks Using Active Elements (AREA)

Abstract

본 개시는 집적 회로의 설계를 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템을 개시한다. 본 개시의 기술적 사상에 따른 집적 회로의 설계 방법은 집적 회로를 정의하는 표준 셀들을 배치 및 라우팅함으로써, 집적 회로의 레이아웃 데이터와 집적 회로에 포함된 넷에 대응하는 적어도 하나의 와이어의 레벨 정보 및 적어도 하나의 와이어의 물리 정보를 포함하는 와이어 데이터를 생성하고, 넷을 포함하는 타이밍 패쓰에 대하여 와이어 데이터를 기초로 타이밍 분석을 수행함으로써, 적어도 하나의 와이어의 공정 변이를 고려한 타이밍 분석 데이터를 생성한다.

Description

BEOL의 공정 변이를 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템{Computer-implemented method and computing system for designing integrated circuit by considering process variations of Back-End-Of-Line}
본 개시의 기술적 사상은 집적 회로에 관한 것이며, 더욱 상세하게는, BEOL(Back-End-Of-Line)의 공정 변이를 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템에 관한 것이다.
집적 회로는 표준 셀들을 기반으로 설계될 수 있다. 구체적으로, 집적 회로를 정의하는 표준 셀들을 배치하고, 배치된 표준 셀들을 라우팅함으로써 집적 회로의 레이아웃을 생성할 수 있다. 반도체 공정이 미세화됨에 따라, 레이아웃에 포함된 패턴들의 사이즈가 점점 감소할 수 있고, 이에 따라, 설계된 패턴의 사이즈와 하드웨어로 구현된 패턴의 사이즈 사이의 미세한 차이가 집적 회로의 수율 저하를 야기할 수 있다. 특히, BEOL에 해당하는 메탈 레이어의 공정 변이로 인해, 해당 메탈 레이어를 포함하는 타이밍 패쓰를 통한 딜레이가 증가할 수 있고, 이로써, 해당 타이밍 패쓰에서 타이밍 제약 조건 위반이 발생할 수 있다.
본 개시의 기술적 사상은 미세 공정에 따라 제조되는 집적 회로의 수율을 향상시킬 수 있도록, BEOL의 공정 변이를 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템을 제공한다.
본 개시의 기술적 사상에 따른 집적 회로의 설계를 위한 컴퓨터 구현 방법은, 상기 집적 회로를 정의하는 표준 셀들을 배치 및 라우팅함으로써, 상기 집적 회로의 레이아웃 데이터, 및 상기 집적 회로에 포함된 넷에 대응하는 적어도 하나의 와이어의 레벨 정보 및 상기 적어도 하나의 와이어의 물리 정보를 포함하는 와이어 데이터를 생성하는 단계, 및 상기 넷을 포함하는 타이밍 패쓰에 대하여 상기 와이어 데이터를 기초로 타이밍 분석을 수행함으로써, 상기 적어도 하나의 와이어의 공정 변이(variations)를 고려한 타이밍 분석 데이터를 생성하는 단계를 포함한다.
또한, 본 개시의 기술적 사상에 따른 집적 회로의 설계를 위한 컴퓨터 구현 방법은, 상기 집적 회로를 정의하는 표준 셀들을 배치 및 라우팅함으로써, 상기 집적 회로의 레이아웃 데이터를 생성하는 단계, 상기 레이아웃 데이터로부터 상기 집적 회로에 포함된 넷에 대응하는 적어도 하나의 와이어의 기생 성분을 추출하는 단계, 및 상기 넷을 포함하는 타이밍 패쓰에 대하여 상기 적어도 하나의 와이어의 물리 정보를 기초로 타이밍 분석을 수행함으로써, 상기 적어도 하나의 와이어의 공정 변이를 고려한 타이밍 분석 데이터를 생성하는 단계를 포함한다.
또한, 본 개시의 기술적 사상에 따른 집적 회로를 설계하기 위한 컴퓨팅 시스템은, 프로시저들을 포함하는 정보를 저장하는 메모리, 및 상기 메모리에 액세스 가능하고, 상기 프로시저들을 실행하는 프로세서를 포함하고, 상기 프로시저들은, 상기 집적 회로를 정의하는 표준 셀들을 배치하는 배치기, 배치된 상기 복수의 표준 셀들을 라우팅함으로써 상기 집적 회로의 레이아웃 데이터를 생성하고, 상기 집적 회로에 포함된 넷에 대응하는 적어도 하나의 와이어의 레벨 정보 및 상기 적어도 하나의 와이어의 물리 정보를 포함하는 와이어 데이터를 생성하는 라우터, 및 상기 넷을 포함하는 타이밍 패쓰에 대하여 상기 와이어 데이터를 기초로 타이밍 분석을 수행함으로써, 상기 적어도 하나의 와이어의 공정 변이를 고려한 타이밍 분석 데이터를 생성하는 타이밍 분석기를 포함한다.
본 개시의 기술적 사상에 따르면, 집적 회로에 포함된 넷에 대응하는 와이어의 물리 정보를 기초로 상기 넷을 포함하는 타이밍 패쓰에 대한 타이밍 분석을 수행함으로써, 타이밍 분석의 정확도를 향상시킬 수 있고, 타이밍 클로져(closure)에 소요되는 시간을 줄일 수 있다. 또한, 타이밍 분석 결과를 기초로 설계 상의 취약점을 찾아내고, 여기에 선택적인 타이밍 마진의 추가 확보 및 와이어 설계 변경을 수행함으로써 집적 회로의 수율을 향상시킬 수 있다.
도 1은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 2는 본 개시의 일 실시예에 따른 집적 회로를 나타낸다.
도 3a 및 도 3b는 도 2의 집적 회로에 포함된 클럭 트리의 구현 예들을 나타낸다.
도 4는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 5는 본 개시의 일 실시예에 따른 집적 회로를 설계하기 위한 컴퓨팅 시스템을 나타내는 블록도이다.
도 6은 도 5의 집적 회로의 설계 시스템을 더욱 상세하게 나타내는 블록도이다.
도 7은 본 개의 일 실시예에 따라, 도 6의 와이어 데이터를 나타낸다.
도 8은 본 개시의 일 실시예에 따라, 도 7의 넷에 대응하는 메탈 레이어들을 나타낸다.
도 9는 본 개시의 일 실시예에 따라, 도 6의 타이밍 분석기에서 와이어 딜레이 스큐를 계산하기 위해 필요한 파라미터들을 나타내는 표이다.
도 10은 본 개시의 일 실시예에 따른 제m 메탈 레이어의 저항 및 커패시턴스를 나타내는 그래프이다.
도 11은 본 개시의 일 실시예에 따른 타이밍 분석 방법을 나타내는 흐름도이다.
도 12는 본 개시의 일 실시예에 따라, 도 6의 P&R 모듈과 STA 모듈 사이의 동작을 나타내는 흐름도이다.
도 13은 본 개시의 일 실시예에 따른 집적 회로의 타이밍 분석 방법을 나타내는 흐름도이다.
도 14는 본 개시의 일 실시예에 따라 집적 회로의 설계 시스템을 나타내는 블록도이다.
도 15는 본 개시의 일 실시예에 따른 집적 회로를 나타낸다.
도 16은 도 15의 집적 회로에 대한 와이어 데이터를 나타낸다.
도 17a 내지 도 17c는 본 개시의 일 실시예에 따라, 도 15의 집적 회로에 대한 타이밍 분석 결과를 나타낸다.
도 18은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 19는 본 개시의 일 실시예에 따른 반도체 장치의 제조 방법을 나타내는 흐름도이다.
도 20은 본 개시의 일 실시예에 따른 컴퓨터로 독출 가능한 저장 매체를 나타낸다.
이하, 첨부한 도면을 참조하여 본 개시의 실시 예에 대해 상세히 설명한다.
도 1은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 1을 참조하면, 집적 회로의 설계 방법은 집적 회로에 대한 레이아웃을 디자인하는 단계로서, 집적 회로를 설계하기 위한 툴을 이용하여 수행될 수 있다. 이때, 집적 회로를 설계하기 위한 툴은 프로세서에 의해 수행되는 복수의 명령어들을 포함하는 프로그램일 수 있다. 이에 따라, 집적 회로의 설계 방법을 집적 회로의 설계를 위한 컴퓨터 구현(computer implemented) 방법이라고 지칭할 수 있다.
단계 S110에서, 합성 동작을 수행한다. 예를 들어, 단계 S110은 합성 툴을 이용하여 프로세서에 의해 수행될 수 있다. "합성"은 집적 회로에 대한 입력 데이터를, 로직 게이트로 이루어진 하드웨어 형태로 변환함으로써 넷리스트(netlist)를 생성하는 동작으로서, "로직(logic) 합성"이라고 지칭할 수 있다. "입력 데이터"는 집적 회로의 동작(behavior)에 대한 추상적 형태, 예를 들어, RTL(Register Transfer Level)에서 정의된 데이터일 수 있다. "넷리스트"는 표준 셀 라이브러리를 이용하여 RTL 코드로부터 생성될 수 있고, 게이트 레벨의 넷리스트일 수 있다. 일 실시예에서, RTL 코드는 합성 툴에 입력 파일로써 제공될 수 있고, 넷리스트는 합성 툴에서 출력 파일로써 출력될 수 있다.
단계 S120에서, 집적 회로를 정의하는 표준 셀들을 배치 및 라우팅(Placement & Routing, 이하 "P&R")한다. 예를 들어, 단계 S120은 P&R 툴을 이용하여 프로세서에 의해 수행될 수 있다. 구체적으로, 넷리스트에 따라 집적 회로를 정의하는 표준 셀들을 배치하고, 배치된 표준 셀들에 포함된 넷들을 라우팅함으로써, 집적 회로에 대한 레이아웃 데이터를 생성할 수 있다. 예를 들어, 레이아웃 데이터는 GDS(Graphic Design System)II 형식의 데이터일 수 있다. 일 실시예에서, 넷리스트는 P&R 툴에 입력 파일로써 제공될 수 있고, 레이아웃 데이터는 P&R 툴에서 출력 파일로써 출력될 수 있다.
일 실시예에 따르면, 단계 S120에서, 집적 회로에 포함된 넷에 대응하는 와이어(wire)의 레벨 정보 및 와이어의 물리 정보를 포함하는 와이어 데이터(D10)를 더 생성할 수 있다. 여기서, 레벨 정보는 넷을 구현하기 위해 이용되는 와이어 패턴, 다시 말해, BEOL의 레벨을 나타낼 수 있다. 여기서, 물리 정보는 넷을 구현하기 위해 이용되는 와이어 패턴, 다시 말해, BEOL의 레이아웃 사이즈 등을 나타낼 수 있다. 이때, P&R 툴의 출력 파일은 레이아웃 데이터 및 와이어 데이터(D10)일 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일 실시예에 따르면, 단계 S120에서, 집적 회로에 대한 레이아웃 데이터는 와이어 데이터를 포함할 수 있다. 이때, P&R 툴의 출력 파일은 레이아웃 데이터일 수 있다.
여기서, "넷(net)"은 집적 회로의 등가 회로도에서 등전위를 나타내며, 집적 회로의 레이아웃에서 하나의 상호연결(interconnection)에 대응할 수 있다. 하나의 상호연결은 서로 전기적으로 연결된 적어도 하나의 메탈 레이어 및 적어도 하나의 비아를 포함하는 배선 구조에 대응할 수 있다. 따라서, 넷에 대응하는 와이어는, 넷을 구현하기 위해 실제로 이용되는 복수의 메탈 레이어들 및 복수의 비아들을 포함할 수 있다. 본 명세서에서, "와이어"는 BEOL에 대응하며, 메탈 레이어 및 비아를 포괄하는 개념으로 사용하기로 한다. 따라서, 와이어 데이터(D10)는 메탈 레이어 데이터일 수도 있고, 비아 데이터일 수도 있다.
일 실시예에서, 와이어 데이터(D10)는 집적 회로에 포함된 넷에 대응하는 메탈 레이어의 레벨 정보 및 상기 메탈 레이어의 물리 정보를 포함할 수 있다. 예를 들어, 메탈 레이어의 물리 정보는 메탈 레이어의 길이 정보, 너비 정보, 스페이스 정보 또는 쉴딩(shielding) 정보 등을 포함할 수 있다. 메탈 레이어의 길이 정보는 넷을 구현하기 위해 이용되는 메탈 레이어 패턴의 제1 방향에 따른 사이즈일 수 있다. 메탈 레이어의 너비 정보는 넷을 구현하기 위해 이용되는 메탈 레이어 패턴의 제2 방향에 따른 사이즈일 수 있고, 제1 및 제2 방향은 서로 수직일 수 있다. 메탈 레이어의 스페이스 정보는 넷을 구현하기 위해 이용되는 메탈 레이어 패턴과 동일 레벨의 인접 패턴 사이의 간격일 수 있다. 메탈 레이어의 쉴딩 정보는 넷을 구현하기 위해 이용되는 메탈 레이어 패턴에 인접하는 쉴딩 패턴이 존재하는지 여부를 나타낼 수 있다. 예를 들어, 쉴딩 패턴은 메탈 레이어와 동일 레벨의 인접 패턴으로서, 제1 전압(예를 들어, 그라운드 전압)이 인가되는 패턴일 수 있다.
일 실시예에서, 와이어 데이터(D10)는 집적 회로에 포함된 넷에 대응하는 비아의 레벨 정보 및 상기 비아의 물리 정보를 포함할 수 있다. 예를 들어, 비아의 물리 정보는 비아의 종류 또는 비아의 개수 등을 포함할 수 있다. 비아의 종류는 더블 비아, 싱글 비아 또는 바(bar) 비아 등과 같이 공정 상에서 사용되는 다양한 종류를 나타낼 수 있다. 비아의 개수는 서로 다른 레벨에 배치된 비아들의 개수를 나타낸다. 다른 예를 들어, 비아의 물리 정보는 비아의 길이 정보 또는 너비 정보 등을 포함할 수도 있다.
단계 S130에서, 레이아웃 데이터로부터 기생 성분을 추출한다. 예를 들어, 단계 S130은 PEX(Parasitic Extraction) 툴을 이용하여 프로세서에 의해 수행될 수 있다. 구체적으로, 레이아웃 데이터에 포함된 넷의 기생 저항 및 기생 커패시턴스와 같은 기생 성분을 추출하고, SPEF(Standard Parasitic Extraction Format) 파일을 생성할 수 있다. 예를 들어, SPEF 파일은 복수의 메탈 레이어들 각각의 저항 및 커패시턴스를 포함할 수 있다. 예를 들어, SPEF 파일은 복수의 비아들 각각의 저항 및 커패시턴스를 포함할 수 있다. 본 실시예에 따르면, 레이아웃 데이터는 PEX 툴에 입력 파일로써 제공될 수 있고, SPEF 파일은 P&R 툴에서 출력 파일로써 출력될 수 있다.
단계 S140에서, 집적 회로의 타이밍 분석을 수행한다. 예를 들어, 단계 S140은 STA(Static Timing Analysis) 툴을 이용하여 프로세서에 의해 수행될 수 있다. "타이밍 분석"은 집적 회로에 포함된 타이밍 패쓰들(timing paths)이 타이밍 제약 조건(timing constraints)을 만족하는지 여부를 판단하고, 판단 결과에 따라 타이밍 패쓰들 중, 입력(즉, 시작 지점)에서 출력(즉, 종료 지점)까지의 전체 타이밍 딜레이가 타이밍 요구 조건을 초과하는 타이밍 패쓰 또는 집적 회로의 타이밍 크리티컬(critical) 패쓰를 선별하는 동작을 의미한다. 타이밍 제약 조건은 셋업 타이밍 제약 조건 및 홀드 타이밍 제약 조건을 포함할 수 있다.
본 실시예에 따르면, 단계 S140에서, 레이아웃 데이터에 포함된 타이밍 패쓰들에 대하여 와이어 데이터를 기초로 타이밍 분석을 수행함으로써, 와이어의 공정 변이를 고려한 타이밍 분석 데이터를 생성할 수 있다. 일 실시예에 따르면, 와이어 데이터를 포함한 레이아웃 데이터, 또는 레이아웃 데이터 및 와이어 데이터 각각은 STA 툴에 입력 파일로써 제공될 수 있고, 타이밍 분석 데이터는 STA 툴에서 출력 파일로써 출력될 수 있다.
일 실시예에서, 상기 설계 방법은 타이밍 분석 데이터에 따라, ECO(Engineering Change Orders)를 수행하는 단계를 더 포함할 수 있다. 일 실시예에서, 상기 설계 방법은 타이밍 분석 데이터를 이용하여 P&R 동작에 포함되는 클럭 트리 합성(clock tree synthesis, CTS) 또는 최적화(optimization)을 수행하는 단계를 더 포함할 수 있다. 일 실시예예서, 상기 설계 방법은 타이밍 분석 데이터를 이용하여 P&R 동작에 포함되는 메탈 라우팅을 수정하는 단계를 더 포함할 수 있다. 예를 들어, 타이밍 분석 데이터를 기초로 일부 와이어의 길이를 수정하거나 일부 와이어의 레벨을 다른 레벨의 와이어로 수정할 수 있다.
도 2는 본 개시의 일 실시예에 따른 집적 회로(100)를 나타낸다.
도 2를 참조하면, 집적 회로(100)는 제1 내지 제6 셀들(110 내지 160)을 포함할 수 있다. 예를 들어, 제2 셀(120)은 론치(launch) 플립플롭에 대응하고, 제3 셀(130)은 캡쳐(capture) 플립플롭에 대응할 수 있다. 예를 들어, 도 1의 단계 S140에서, 집적 회로(100)에 포함된 타이밍 패쓰들에 대한 타이밍 분석을 수행할 수 있다. 집적 회로(100)의 동작 속도는 타이밍 패쓰를 통한 딜레이에 따라 결정될 수 있으므로, 타이밍 패쓰를 통한 딜레이는 집적 회로(100)의 중요한 매개 변수이다. 셋업 타이밍 패쓰 또는 홀드 타이밍 패쓰는 데이터 패쓰(Data Path, DP), 론치 클럭 패쓰(Launch Clock Path, LCP), 및 캡쳐 클럭 패쓰(Capture Clock Path, CCP)로 구성된다.
데이터 패쓰(DP)는 론치 플립플롭인 제2 셀(120)의 클럭 핀에서 캡쳐 플립플롭인 제3 셀(130)의 데이터 입력 핀까지의 타이밍 패쓰로 정의될 수 있다. 데이터 패쓰(DP)를 통한 딜레이(D)는 아래의 수학식 1과 같이 표시할 수 있다.
[수학식 1]
Figure pat00001
여기서, n은 데이터 패쓰(DP)에 포함된 셀들의 개수이다. 예를 들어, 데이터 패쓰(DP)는 제2, 제4 내지 제6 셀들(120, 140 내지 160)을 포함할 수 있고, 이때, n은 4이다. Dcell은 데이터 패쓰(DP)의 전체 셀 딜레이를 나타내고, 예를 들어, 제2 셀(120)의 딜레이(dcell,0), 제4 셀(140)의 딜레이(dcell,1), 제5 셀(150)의 딜레이(dcell,2) 및 제6 셀(160)의 딜레이(dcell,3)의 합에 대응할 수 있다. Dnet은 데이터 패쓰(DP)의 전체 넷 딜레이를 나타내고, 예를 들어, 제2 셀(120)과 제4 셀(140)을 연결하는 넷(N3)의 딜레이(dnet,0), 제4 셀(140)과 제5 셀(150)을 연결하는 넷(N4)의 딜레이(dnet,1), 제5 셀(150)과 제6 셀(160)을 연결하는 넷(N5)의 딜레이(dnet,2), 및 제6 셀(160)과 제3 셀(130)을 연결하는 넷(N6)의 딜레이(dnet,3)의 합에 대응할 수 있다. 일반적으로, 데이터 패쓰(DP)는 상대적으로 많은 수의 셀들을 포함하므로, 론치 클럭 패쓰(LCP) 및 캡쳐 클럭 패쓰(CCP)에 비해 넷 딜레이, 즉, 와이어 딜레이에 덜 민감할 수 있다.
론치 클럭 패쓰(LCP)는 클럭 트리의 커먼 클럭 핀에서 론치 플립플롭인 제2 셀(120)의 클럭 입력 핀까지의 타이밍 패쓰로 정의할 수 있다. 론치 클럭 패쓰(LCP)를 통한 딜레이(L)는 아래의 수학식 2와 같이 표시할 수 있다.
[수학식 2]
Figure pat00002
여기서, j는 론치 클럭 패쓰(LCP)에 포함된 셀들의 개수이다. 예를 들어, 론치 클럭 패쓰(LCP)는 제1 셀(110)을 포함할 수 있고, 이때, j는 1이다. Lcell은 론치 클럭 패쓰(LCP)의 전체 셀 딜레이를 나타내고, 예를 들어, 제1 셀(110)의 딜레이(lcell,0)에 대응할 수 있다. Lnet은 론치 클럭 패쓰(LCP)의 전체 넷 딜레이를 나타내고, 예를 들어, 제1 셀(110)과 제2 셀(120)을 연결하는 넷(N1)의 딜레이(lnet,0)에 대응할 수 있다. 일반적으로, 론치 클럭 패쓰(LCP)는 상대적으로 적은 수의 셀을 포함하므로, 데이터 패쓰(DP)에 비해 넷 딜레이, 즉, 와이어 딜레이에 더 민감할 수 있다.
캡쳐 클럭 패쓰(CCP)는 클럭 트리의 커먼 클럭 핀에서 캡쳐 플립플롭인 제3 셀(130)의 클럭 입력 핀까지의 타이밍 패쓰로 정의할 수 있다. 캡쳐 클럭 패쓰(CCP)를 통한 딜레이(C)는 아래의 수학식 3과 같이 표시할 수 있다.
[수학식 3]
Figure pat00003
여기서, k는 캡쳐 클럭 패스(CCP)에 포함된 셀들의 개수이다. 예를 들어, 캡쳐 클럭 패쓰(CCP)는 제1 셀(110)을 포함할 수 있고, 이때, k는 1이다. Ccell은 캡쳐 클럭 패쓰(CCP)의 전체 셀 딜레이를 나타내고, 예를 들어, 제1 셀(110)의 딜레이(ccell,0)에 대응할 수 있다. Cnet은 캡쳐 클럭 패쓰(CCP)의 전체 넷 딜레이를 나타내고, 예를 들어, 제1 셀(110)과 제3 셀(130)을 연결하는 넷(N2)의 딜레이(cnet,0)에 대응할 수 있다. 일반적으로, 캡쳐 클럭 패쓰(CCP)는 상대적으로 적은 수의 셀을 포함하므로, 데이터 패쓰(DP)에 비해 넷 딜레이, 즉, 와이어 딜레이에 더 민감할 수 있다.
홀드 타이밍 슬랙(THOLD)은 수학식 1 내지 수학식 3을 이용하여 아래의 수학식 4와 같이 표시할 수 있다.
[수학식 4]
Figure pat00004
여기서, α는 상수이고, 클럭 불확실성, 플립플롭 홀드 마진과 같은 다른 타이밍 파라미터들의 합을 나타낸다. 여기서, Scell는 셀 딜레이로 인한 홀드 슬랙 차이를 나타내고, Swire는 와이어 딜레이로 인한 홀드 슬랙 차이를 나타낸다. 수학식 4에서 Lwire, Dwire, Cwire는 각각 수학식 2의 Lnet, 수학식 1의 Dnet, 수학식 3의 Cnet에 대응할 수 있다.
예를 들어, 집적 회로(100)를 구현하는데 이용되는 메탈 레이어(D1)의 저항이 모델의 타겟 값보다 20% 크게 제조된 경우, 수학식 4에서 셀 딜레이로 인한 홀드 슬랙 차이(Scell)와 α는 동일하고, 와이어 딜레이로 인한 홀드 슬랙 차이(Swire)만 변경된다. 이때, 홀드 타이밍 슬랙 차이(
Figure pat00005
)는 아래의 수학식 5와 같이 표시할 수 있다.
[수학식 5]
Figure pat00006
와이어 딜레이로 인한 홀드 슬랙 차이(Swire)는 와이어 MHC(Model-to-Hardware Correlation) 문제(issue)를 분석하기 위해 중요하다. "MHC"는 설계의 기반이 되는 모델과 실리콘에 실제로 구현된 하드웨어 간의 정합성을 의미한다. 모델이 실리콘에서 측정한 것과 다른 전기적 특정을 가진다면 설계 단계에서 예상한 칩의 성능이 실현되지 않을 수 있다.
특히, "와이어 MHC 미스매치"는 와이어의 모델링된 저항/커패시턴스 값과 실제로 구현된 와이어의 저항/커패시턴스 값의 차이를 의미할 수 있다. 예를 들어, 메탈 레이어 저항 변이, 메탈 레이어 커패시턴스 변이, 또는 비아 변이 등과 같은 BEOL의 공정 변이에 의해 와이어 MHC 미스매치가 야기될 수 있다. 예를 들어, 메탈 레이어의 실제 저항이 모델링된 타겟 저항보다 큰 경우, 해당 메탈 레이어를 포함하는 타이밍 패쓰를 통한 딜레이가 증가할 수 있고, 이에 따라, 해당 타이밍 패쓰에 대한 타이밍 분석 결과 홀드 위반(hold violation)이 발생할 수 있다.
기존의 설계 방법에 따르면, 타이밍 분석 단계에서, 타이밍 패쓰에 포함된 넷에 대한 물리 정보를 알 수 없었다. 다시 말해, 타이밍 분석 단계에서, 넷이 실제로 어떤 메탈 레이어로 구현되는지 알 수 없었다. 이에 따라, 타이밍 분석 단계에서는 와이어의 공정 변이를 반영한 타이밍 분석 데이터를 생성할 수 없었다. 그러나, 본 개시의 실시예들에 따르면, 레이아웃 데이터를 생성하는 단계 또는 기생 성분을 추출하는 단계에서, 집적 회로에 포함된 넷에 대응하는 와이어의 종류 및 와이어에 대한 물리 정보를 포함하는 와이어 데이터를 생성하고, 생성된 와이어 데이터를 이용하여 타이밍 분석을 수행함으로써 타이밍 분석의 정확도를 향상시킬 수 있고, 설계의 취약점을 찾아내어 보완함으로써 양산성을 확보할 수 있다. 구체적인 타이밍 분석 동작에 대해서는 도 6 내지 도 12를 참조하여 자세하게 설명하기로 한다.
도 3a 및 도 3b는 도 2의 집적 회로에 포함된 클럭 트리의 구현 예들(100a, 100b)을 나타낸다.
도 3a를 참조하면, 집적 회로(100a)는 강건한(robust) 클럭 트리를 갖는 구현 예이다. 론치 클럭 패쓰(LCPa)에 포함된 넷(N1a)이 제1 및 제2 메탈 레이어들(D1, D2)로 구현되고, 캡쳐 클럭 패쓰(CCPa)에 포함된 넷(N2a)도 제1 및 제2 메탈 레이어들(D1, D2)로 구현될 수 있다. 예를 들어, 제1 및 제2 메탈 레이어들(D1, D2) 중 제1 메탈 레이어(D1)에서만 변이가 발생하여 제1 메탈 레이어(D1)의 저항이 타겟 값에 비해 증가할 수 있다. 이때, 수학식 4에서 론치 클럭 패쓰(LCPa)를 통한 와이어 딜레이 및 캡쳐 클럭 패쓰(CCPa)를 통한 와이어 딜레이 모두에 동시에 증가하게 되므로, 수학식 5에서 홀드 타이밍 슬랙 차이는 0이 되고, 홀드 위반이 발생하지 않을 수 있다.
도 3b를 참조하면, 집적 회로(100b)는 와이어의 공정 변이에 취약한 클럭 트리를 갖는 구현 예이다. 론치 클럭 패쓰(LCPb)에 포함된 넷(N1b)이 제1 메탈 레이어(D1)로 구현되고, 캡쳐 클럭 패쓰(CCPb)에 포함된 넷(N2b)이 제2 메탈 레이어(D2)로 구현될 수 있다. 예를 들어, 제1 및 제2 메탈 레이어들(D1, D2) 중 제1 메탈 레이어(M1)에서만 변이가 발생하여 제1 메탈 레이어(D1)의 저항이 타겟 값에 비해 증가할 수 있다. 이때, 론치 클럭 패쓰(LCPa)를 통한 딜레이는 증가하고, 캡쳐 클럭 패쓰(CCPa)를 통한 딜레이는 증가하지 않음으로써, 수학식 5에서 홀드 타이밍 슬랙 차이는 0보다 큰 값을 가질 수 있고, 홀드 위반이 발생할 수 있다.
이와 같이, 클럭 트리가 강건한 구조를 갖지 않는 경우에는, 일부 넷에 대응하는 메탈 레이어(예를 들어, D1)의 저항 변이 또는 커패시턴스 변이, 또는 일부 넷에 대응하는 비아 변이 등과 같은 와이어 MHC 미스매치로 인해 홀드 위반이 발생할 수 있다. 따라서, 본 개시에서는, 와이어 MHC에 의해 야기되는 타이밍 위반을 제거하기 위해 메탈 라우팅 구조를 분석하고, 와이어 RC 변동 사양을 이용하여 타이밍 슬랙들을 예측하는 새로운 타이밍 분석 방법을 제안한다.
도 4는 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 4를 참조하면, 본 실시예에 따른 집적 회로의 설계 방법은 와이어 변이를 고려하여 집적 회로의 타이밍 분석을 수행하는 방법으로서 도 1의 일 구현예에 대응할 수 있다. 단계 S210에서, 집적 회로를 정의하는 표준 셀들을 배치 및 라우팅함으로써, 집적 회로의 레이아웃 데이터 및 집적 회로에 포함된 넷에 대응하는 와이어 데이터(D10)를 생성한다. 와이어 데이터(D10)는 집적 회로에 대응하는 넷에 대응하는 적어도 하나의 와이어의 레벨 정보 및 적어도 하나의 와이어의 물리 정보를 포함할 수 있다. 예를 들어, 와이어 데이터(D10)는 와이어의 길이 정보를 포함할 수 있다. 일부 실시예에 따르면, 단계 S210과 단계 S220 사이에, 레이아웃 데이터로부터 기생 성분을 추출하는 단계를 더 포함할 수 있다. 예를 들어, 기생 성분을 추출하는 단계는 도 1의 단계 S130에 대응할 수 있다.
단계 S220에서, 넷을 포함하는 타이밍 패쓰에 대하여 와이어 데이터(D10)를 기초로 타이밍 분석을 수행함으로써, 적어도 하나의 와이어의 공정 변이를 고려한 타이밍 분석 데이터를 생성한다. 일 실시예에서, 적어도 하나의 와이어의 단위 길이 당 딜레이를 나타내는 유닛(unit) 딜레이 정보, 및 적어도 하나의 와이어의 물리 정보를 기초로 타이밍 패쓰에 대한 타이밍 분석을 수행할 수 있다. 일 실시예에서, 적어도 하나의 와이어의 공정 변이에 기초한 시정수 스케일링 팩터, 적어도 하나의 와이어의 단위 길이 당 딜레이를 나타내는 유닛 딜레이 정보, 및 적어도 하나의 와이어의 물리 정보를 기초로 타이밍 패쓰에 대한 와이어 딜레이 스큐를 계산할 수 있다. 이에 대해 도 9 내지 도 12를 참조하여 더욱 자세하게 설명하기로 한다. 일 실시예에서, 상기 설계 방법은 타이밍 분석 데이터에 따라, ECO를 수행하는 단계를 더 포함할 수 있다.
도 5는 본 개시의 일 실시예에 따른 집적 회로를 설계하기 위한 컴퓨팅 시스템(200)을 나타내는 블록도이다.
도 5를 참조하면, 집적 회로를 설계하기 위한 컴퓨팅 시스템(이하 '집적 회로 설계 시스템'이라고 지칭함)(200)은 프로세서(210), 메모리(230), 입출력 장치(250), 저장 장치(270) 및 버스(290)를 포함할 수 있다. 집적 회로 설계 시스템(200)은 도 1의 단계 S110 내지 S140 또는 도 4의 단계 S210 및 단계 S220을 포함하는 집적 회로 설계 동작을 수행할 수 있다. 본 실시예에서, 집적 회로 설계 시스템(200)은 일체화된 디바이스로 구현될 수 있고, 이에 따라, 집적 회로 설계 장치라고 지칭할 수도 있다. 집적 회로 설계 시스템(200)은 반도체 장치의 집적 회로를 설계하기 위한 전용 장치로 제공될 수도 있지만, 다양한 시뮬레이션 툴이나 설계 툴들을 구동하기 위한 컴퓨터일 수도 있다.
프로세서(210)는 집적 회로를 설계하기 위한 다양한 동작 중 적어도 하나를 수행하는 명령어들을 실행하도록 구성될 수 있다. 프로세서(210)는 버스(290)를 통해 메모리(230), 입출력 장치(250) 및 저장 장치(270)와 통신을 수행할 수 있다. 프로세서(210)는 메모리(230)에 로딩된 P&R 모듈(231), PEX 모듈(233) 및 STA 모듈(235)을 구동함으로써, 집적 회로의 설계 동작을 실행할 수 있다.
메모리(230)는 P&R 모듈(231), PEX 모듈(233) 및 STA 모듈(235)을 저장할 수 있다. 또한, 메모리(230)는 합성 모듈을 더 저장할 수도 있다. P&R 모듈(231), PEX 모듈(233) 및 STA 모듈(235)은 저장 장치(270)로부터 메모리(230)로 로딩될 수 있다. 메모리(230)는 SRAM(Static Random Access Memory)이나 DRAM(Dynamic Random Access Memory)과 같은 휘발성 메모리이거나, PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등의 비휘발성 메모리일 수 있다.
P&R 모듈(231)은 예를 들어, 도 1의 단계 S120 또는 도 4의 단계 S210에 따른 P&R 동작을 수행하기 위한 복수의 명령어들을 포함하는 프로그램일 수 있다. PEX 모듈(231)은 예를 들어, 도 1의 단계 S130에 따른 기생 추출 동작을 수행하기 위한 복수의 명령어들을 포함하는 프로그램일 수 있다. STA 모듈(233)은 예를 들어, 도 1의 단계 S140 또는 도 4의 단계 S220에 따른 기생 추출 동작을 수행하기 위한 복수의 명령어들을 포함하는 프로그램일 수 있다.
입출력 장치(250)는 사용자 인터페이스 장치들로부터의 사용자 입력 및 출력을 제어할 수 있다. 예를 들어, 입출력 장치(250)는 키보드, 마우스, 터치패드 등과 같은 입력 장치를 구비하여, 집적 회로를 정의하는 입력 데이터를 입력 받을 수 있다. 일 실시예에서, 입출력 장치(250)는 다양한 사용자 입력, 예를 들어, 메탈 RC 변이 스케일링 팩터를 입력 받을 수 있다. 예를 들어, 입출력 장치(250)는 디스플레이, 스피커 등과 같은 출력 장치를 구비하여, 배치 결과, 라우팅 결과 또는 타이밍 분석 결과 등을 표시할 수 있다. 일 실시예에서, 입출력 장치(250)는 집적 회로에 포함된 넷에 대응하는 와이어에 대하여, 타겟 값에 기초한 제1 와이어 딜레이, 공정 변이에 기초한 제2 와이어 딜레이, 및 제1 및 제2 와이어 딜레이들로부터 생성된 와이어 딜레이 스큐를 표시할 수 있다.
저장 장치(270)는 P&R 모듈(231), PEX 모듈(233) 및 STA 모듈(235)과 관련된 각종 데이터를 저장할 수 있다. 저장 장치(270)는 메모리 카드(MMC, eMMC, SD, MicroSD 등), 솔리드 스테이트 드라이브(solid state drive), 하드 디스크 드라이브(hard disk drive) 등을 포함할 수 있다.
도 6은 도 5의 집적 회로의 설계 시스템을 더욱 상세하게 나타내는 블록도이다.
도 5 및 도 6을 함께 참조하면, 메모리(230)에 저장된 프로그램은 복수의 프로시저들(procedures)을 포함할 수 있고, 여기서, 프로시저는 특정 태스크를 수행하기 위한 일련의 명령어들을 지칭할 수 있다. 프로시저는 함수, 루틴(routine), 서브루틴(subroutine), 서브프로그램 등으로도 지칭될 수 있다. 본 실시예에 따르면, 프로시저들은 배치기(placer)(PLC), 라우터(router)(RT) 및 타이밍 분석기(timing analyzer)(TA)를 포함할 수 있다. 구체적으로, P&R 모듈(231)은 배치기(PLC) 및 라우터(RT)를 포함할 수 있고, STA 모듈(235)은 타이밍 분석기(TA)를 포함할 수 있다. 또한, 프로시저들은 기생 추출기를 더 포함할 수 있고, 기생 추출기는 예를 들어, PEX 모듈(233)에 포함될 수 있다. 본 명세서에서, 도 5의 프로세서(210)가 프로시저(PLC, RT 또는 TA)를 실행함으로써 동작을 수행하는 것은, 프로시저(PLC, RT 또는 TA)가 그러한 동작을 수행하는 것으로도 표현된다.
저장 장치(270)는 셀 라이브러리 데이터베이스(database, 이하 'DB')(271), 레이아웃 DB(273) 및 테크놀로지 파일 DB(275)을 포함할 수 있다. 셀 라이브러리 DB(271)는 집적 회로의 레이아웃을 생성하기 위해 필요한 표준 셀에 대한 정보를 저장할 수 있고, 표준 셀 라이브러리 DB로 지칭할 수 있다. 레이아웃 DB(273)은 프로시저들에서 생성된 레이아웃에 대한 정보, 구체적으로, 레이아웃에 대한 물리적 정보를 저장할 수 있다. 테크놀로지 파일 DB(275)는 집적 회로의 제조 공정에서 사용되는 룰들(rules) 및 물질들(materials)을 저장하는 테크놀로지 파일을 저장할 수 있다. 테크놀로지 파일 DB(275)는 예를 들어, 레이어 정의, 디바이스 정의, 디자인 룰들 등을 저장할 수 있다. 본 실시예에서, 테크놀러지 파일 DB(275)는 복수의 메탈 레이어들 각각에 대응하는 유닛 딜레이들을 저장할 수 있다.
배치기(PLC)는 넷리스트(D20)에 따라 표준 셀들을 배치할 수 있고, 구체적으로, 배치기(PLC)는 저장 장치(270)의 셀 라이브러리 DB(271)에 액세스하여 배치 동작을 수행할 수 있다. 라우터(RT)는 배치기(PLC)에 의해 배치된 표준 셀들에 대해 라우팅을 수행하여 레이아웃 데이터를 생성할 수 있다. 생성된 레이아웃 데이터는 저장 장치(270)의 레이아웃 DB(273)에 저장될 수 있다. 또한, 라우터(RT)는 집적 회로에 포함된 복수의 넷들 각각에 대응하는 적어도 하나의 와이어의 레벨 정보 및 적어도 하나의 와이어의 물리 정보를 포함하는 와이어 데이터(D10)를 생성할 수 있다. 이하에서는 도 7 및 도 8을 참조하여, 와이어 데이터(D10)에 대해 더욱 상세하게 설명하기로 한다.
도 7은 본 개시의 일 실시예에 따라, 도 6의 와이어 데이터(D10)를 나타낸다.
도 7을 참조하면, 와이어 데이터(D10)는 예를 들어, 도 2의 집적 회로(100)에 포함된 넷들(N1 내지 N7)의 각각에 대응하는 적어도 하나의 와이어의 레벨 정보 및 적어도 하나의 와이어의 길이 정보를 포함할 수 있다. 예를 들어, 와이어 데이터(D10)는 도 4의 단계 S210에서 생성될 수 있다. 예를 들어, 넷(N4)에 대응하는 메탈 레이어들은 제2 내지 제5 메탈 레이어들(M2 내지 M5)일 수 있고, 넷(N4)을 구현하는데 이용되는 제2 내지 제5 메탈 레이어들(M2 내지 M5) 각각의 길이는
Figure pat00007
내지
Figure pat00008
일 수 있다.
도 8은 본 개시의 일 실시예에 따라, 도 7의 넷(N4)에 대응하는 메탈 레이어들을 나타낸다.
도 8을 참조하면, 넷(N4)은 제2 내지 제5 메탈 레이어들(M2 내지 M5)을 이용하여 구현될 수 있다. 넷(N4)에 대응하는 전체 와이어 길이(
Figure pat00009
)는 제2 내지 제5 메탈 레이어들(M2 내지 M5) 각각의 길이들(
Figure pat00010
내지
Figure pat00011
)의 합에 대응한다. 따라서, 제4 넷(N4)에 대응하는 전체 와이어 길이(
Figure pat00012
)는 아래의 수학식 6과 같이 나타낼 수 있다.
[수학식 6]
Figure pat00013
여기서,
Figure pat00014
은 각 메탈 라우팅 길이를 나타내고, i는 메탈 라우팅의 순서를 의미하고, m은 메탈 레이어 넘버를 나타낸다.
도 9는 본 개시의 일 실시예에 따라, 도 6의 타이밍 분석기(TA)에서 와이어 딜레이 스큐(
Figure pat00015
)를 계산하는데 필요한 파라미터들을 나타내는 표이다.
도 6 및 도 9를 함께 참조하면, 타이밍 분석기(TA)는 집적 회로에 대해 타이밍 분석을 수행함으로써 타이밍 크리티컬 패쓰를 검색하고, 검색된 타이밍 크리티컬 패쓰에 포함된 셀들에 대한 셀 리스트를 생성하며, 생성된 셀 리스트를 P&R 모듈(231)에 전달할 수 있다. P&R 모듈(231)은 셀 리스트에 포함된 셀들에 연결된 넷들을 검색하고, 검색된 넷에 대한 와이어 데이터(D10)를 STA 모듈(235), 즉, 타이밍 분석기(TA)에 전달할 수 있다. 예를 들어, 와이어 데이터(D10)를 제m 메탈 와이어의 메탈 길이(
Figure pat00016
)를 포함할 수 있다.
이어서, 타이밍 분석기(TA)는 와이어 데이터(D10), 와이어 MHC 스펙(D30) 및 RC 변이 스케일링 팩터(D40)를 기초로 와이어 딜레이 스큐(
Figure pat00017
)를 계산할 수 있다. 구체적으로, 타이밍 분석기(TA)는 저장 장치(270)에 포함된 테크놀러지 파일 DB(275)로부터 제m 메탈 와이어의 유닛 딜레이(
Figure pat00018
)를 포함하는 와이어 MHC 스펙(D30)을 수신할 수 있다. 예를 들어, 제m 메탈 와이어의 유닛 딜레이(
Figure pat00019
)는 실리콘 모니터링 회로에서 생성될 수 있다. 또한, 타이밍 분석기(TA)는 입출력 장치(250)로부터 제m 메탈 레이어의 RC 시정수 변이를 나타내는 RC 변이 스케일링 팩터(
Figure pat00020
, 즉, D40)를 포함하는 사용자 입력을 입력 받을 수 있다. RC 변이 스케일링 팩터(
Figure pat00021
)에 대해서는 도 10을 참조하여 후술하기로 한다.
타이밍 분석기(TA)는 제m 메탈 와이어의 메탈 길이(
Figure pat00022
), 제m 메탈 와이어의 유닛 딜레이(
Figure pat00023
), RC 변이 스케일링 팩터(
Figure pat00024
)를 기초로 특정 넷의 와이어 딜레이(
Figure pat00025
)를 계산할 수 있다. 특정 넷의 와이어 딜레이(
Figure pat00026
)는 타이밍 분석기(TA)에서 출력되는 타이밍 분석 데이터에 포함될 수 있다. 또한, 타이밍 분석기(TA)는 특정 넷의 와이어 딜레이(
Figure pat00027
)를 기초로 와이어 딜레이 스큐()를 계산할 수 있다. 와이어 딜레이 스큐는 타이밍 분석기(TA)에서 출력되는 타이밍 분석 데이터에 포함될 수 있다.
도 10은 본 개시의 일 실시예에 따른 제m 메탈 레이어의 저항 및 커패시턴스를 나타내는 그래프이다.
도 10을 참조하면, 가로축은 제m 메탈 레이어의 저항을 나타내고, 세로축은 제m 메탈 레이어의 커패시턴스를 나타낸다. 도 10의 그래프에서, 점선으로 표시된 박스는 제m 메탈 레이어의 모델링된 RC 값의 허용 범위를 나타낸다. 제m 메탈 레이어의 RC의 코너 값(corner value)(CN)을 기준으로 RC 시정수를 제1 시정수(TC1)로 설정할 수 있다. 제m 메탈 레이어의 공정 변이에 의해 제m 메탈 레이어의 RC가 허용 범위를 초과하는 엑스트라 값(Extra Value)(EV)을 가질 경우, RC 시정수를 제2 시정수(TC2)로 설정할 수 있다. 이때, 제1 시정수(TC1)에 대한 제2 시정수(TC2)의 비율을 RC 변이 스케일링 팩터(
Figure pat00029
)로 정의할 수 있다.
도 11은 본 개시의 일 실시예에 따른 타이밍 분석 방법을 나타내는 흐름도이다.
도 11을 참조하면, 본 실시예에 따른 타이밍 분석 방법은 도 5의 단계 S220의 일 구현 예에 대응할 수 있다. 예를 들어, 본 실시예에 따른 타이밍 분석 방법은 도 5의 집적 회로의 설계 시스템(200)에서 시계열적으로 수행될 수 있다. 이하에서는 도 5 및 도 11을 참조하여 타이밍 분석 방법에 대해 설명하기로 한다.
단계 S310에서, 타이밍 크리티컬 패쓰들을 검색한다. 예를 들어, STA 모듈(235)은 집적 회로에 포함된 타이밍 패쓰들에 대해 타이밍 분석을 수행함으로써, 타이밍 크리티컬 패쓰들을 검색할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예에서, 단계 S310은 P&R 모듈(231)에서 수행될 수도 있다.
단계 S320에서, 타이밍 크리티컬 패쓰들 중 선택된 패쓰에 대하여, 셀 딜레이 및 넷 딜레이를 수집(collect)한다. 예를 들어, STA 모듈(235)은 선택된 패쓰에 포함된 복수의 셀들에 대한 셀 딜레이들, 및 선택된 패쓰에 포함된 복수의 넷들에 대한 넷 딜레이들을 수집함으로써, 선택된 패쓰를 통한 딜레이를 획득할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예에서, 단계 S320은 P&R 모듈(231)에서 수행될 수도 있다.
선택된 패쓰가 데이터 패쓰를 포함하는 경우, 상기 수학식 1에서 설명된 바와 같이, 데이터 패쓰에 포함된 n개의 셀들 각각의 셀 딜레이(dcell,0 내지 dcell,n -1) 및 데이터 패쓰에 포함된 n개의 넷들 각각의 넷 딜레이(dnet,0 내지 dnet,n-1)를 수집할 수 있다. 선택된 패쓰가 론치 패쓰를 포함하는, 상기 수학식 2에서 설명된 바와 같이, 론치 패쓰에 포함된 j개의 셀들 각각의 셀 딜레이(lcell,0 내지 lcell,j -1) 및 선택된 론치 패쓰에 포함된 j개의 넷들 각각의 넷 딜레이(lnet,0 내지 lnet,j-1)를 수집할 수 있다. 선택된 패쓰가 캡쳐 패쓰를 포함하는, 상기 수학식 3에서 설명된 바와 같이, 캡쳐 패쓰에 포함된 k개의 셀들 각각의 셀 딜레이(ccell,0 내지 ccell,k -1) 및 캡쳐 패쓰에 포함된 k개의 넷들 각각의 넷 딜레이(cnet,0 내지 cnet,k-1)를 수집할 수 있다.
단계 S330에서, 선택된 패쓰에 포함된 적어도 하나의 넷에 대응하는 적어도 하나의 와이어에 대한 물리 정보를 수집한다. 일 실시예에서, 선택된 패쓰는 복수의 넷들을 포함할 수 있고, 각 넷에 대응하는 적어도 하나의 와이어에 대한 물리 정보를 수집할 수 있다. 일 실시예에서, 선택된 패쓰는 하나의 넷을 포함할 수 있고, 하나의 넷에 대응하는 적어도 하나의 와이어에 대한 물리 정보를 수집할 수도 있다. 일 실시예에서, 적어도 하나의 와이어는 복수의 메탈 레이어들을 포함할 수 있고, 물리 정보는 각 메탈 레이어의 길이 정보를 포함할 수 있다. 이하에서는, 단계 S330에서, 선택된 패쓰에 포함된 넷에 대응하는 복수의 메탈 레이어들 각각의 길이 정보를 수집하는 실시예를 중심으로 설명하기로 한다.
일 실시예에서, P&R 모듈(231)은 선택된 패쓰에 포함된 넷에 대응하는 복수의 메탈 레이어들의 길이 정보를 수집할 수 있다. 일 실시예에서, PEX 모듈(233)은 선택된 패쓰에 포함된 넷에 대응하는 복수의 메탈 레이어들의 길이 정보를 수집할 수 있다. 일 실시예에서, STA 모듈(235)은 P&R 모듈(231) 또는 PEX 모듈(233)로부터, 선택된 패쓰에 포함된 넷에 대응하는 복수의 메탈 레이어들의 길이 정보를 수신할 수 있다. 일 실시예에서, 단계 S330은 선택된 패쓰에 포함된 모든 넷들에 대해 수행될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일 실시예에서, 단계 S330은 선택된 패쓰에 포함된 일부 넷들에 대해서만 수행될 수도 있다.
단계 S340에서, 넷에 대응하는 적어도 하나의 와이어에 대하여, 적어도 하나의 와이어의 물리 정보를 기초로 와이어 딜레이를 계산한다. 일 실시예에서, 와이어 딜레이는 메탈 레이어의 길이 정보 및 메탈 레이어의 유닛 딜레이 정보를 기초로 계산될 수 있다. 예를 들어, STA 모듈(235)은 제m 메탈 레이어의 길이 정보를 기초로 제m 메탈 레이어의 와이어 딜레이를 계산할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예에서, 단계 S340은 P&R 모듈(231)에서 수행될 수도 있다.
단계 S350에서, 넷에 대응하는 적어도 하나의 와이어에 대하여, 적어도 하나의 와이어의 공정 변이를 기초로 와이어 딜레이를 업데이트한다. 일 실시예에서, 와이어 딜레이는 메탈 레이어의 공정 변이에 따른 RC 스케일링 팩터를 기초로 업데이트될 수 있다. 예를 들어, STA 모듈(235)은 제m 메탈 레이어의 공정 변이에 따른 RC 스케일링 팩터를 기초로 제m 메탈 레이어의 와이어 딜레이를 업데이트할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예에서, 단계 S350은 P&R 모듈(231)에서 수행될 수도 있다.
단계 S360에서, 업데이트된 와이어 딜레이를 이용하여 타이밍 슬랙을 계산한다. 일 실시예에서, 복수의 메탈 레이어들 각각에 대하여, 메탈 레이어의 와이어 딜레이와 업데이트된 와이어 딜레이의 차이에 따른 와이어 딜레이 스큐를 계산하고, 복수의 메탈 레이어들의 와이어 딜레이 스큐들을 이용하여 타이밍 슬랙을 계산할 수 있다. 예를 들어, 타이밍 슬랙은 홀드 슬랙 또는 셋업 슬랙일 수 있다. 예를 들어, STA 모듈(235)은 제m 메탈 레이어의 와이어 딜레이 스큐를 계산하고, 넷에 대응하는 전체 메탈 레이어들의 와이어 딜레이 스큐들을 이용하여 타이밍 슬랙을 계산할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예에서, 단계 S360은 P&R 모듈(231)에서 수행될 수도 있다. 단계 S360 이후에는 검색된 타이밍 크리티컬 패쓰들 중 다음 패쓰에 대해 단계 S320을 수행할 수 있다.
도 12는 본 개시의 일 실시예에 따라, 도 6의 P&R 모듈(231)과 STA 모듈(235) 사이의 동작을 나타내는 흐름도이다.
도 12를 참조하면, 단계 S310 내지 S330, S370 내지 S390은 예를 들어, 도 6의 STA 모듈(235)에서 시계열적으로 수행될 수 있고, 단계 S340 내지 S360은 예를 들어, 도 6의 P&R 모듈(231)에서 시계열적으로 수행될 수 있다. 이하에서는 도 6 내지 도 11을 함께 참조하여 타이밍 분석 동작에 대해 설명하기로 한다.
단계 S410에서, STA 모듈(235)은 집적 회로에 포함된 타이밍 패쓰들에 대해 타이밍 분석을 수행함으로써, 타이밍 크리티컬 패쓰들을 검색한다. 단계 S420에서, STA 모듈(235)은 타이밍 크리티컬 패쓰들 중 하나의 패쓰를 선택하고, 선택된 패쓰에 관련된 셀들을 포함하는 셀 리스트를 생성한다. 단계 S430에서, STA 모듈(235)은 셀 리스트를 P&R 모듈(231)에 전달한다.
단계 S440에서, P&R 모듈(231)은 셀 리스트에 포함된 셀들에 연결된 넷들을 찾는다. 단계 S450에서, P&R 모듈(231)은 넷들에 각각 대응하는 적어도 하나의 와이어의 레벨 정보 및 적어도 하나의 와이어의 물리 정보를 포함하는 와이어 데이터를 생성한다. 일 실시예에서, P&R 모듈(231)은 레이아웃 데이터의 생성 단계에서 복수의 넷들에 각각 대응하는 와이어의 레벨, 즉, 와이어의 종류를 나타내는 와이어 데이터를 생성하고, 단계 S450에서, STA 모듈(235)의 요청에 따른 특정 넷에 대응하는 와이어의 길이를 측정함으로써 특정 넷에 대응하는 와이어 데이터를 생성할 수 있다. 일 실시예에서, P&R 모듈(231)은 레이아웃 데이터의 생성 단계에서 복수의 넷들에 각각 대응하는 와이어의 종류 및 와이어의 길이 정보를 포함하는 전체 와이어 데이터를 생성하고, 단계 S450에서, 전체 와이어 데이터에서 STA 모듈(235)의 요청에 따른 특정 넷에 대응하는 와이어 데이터를 추출할 수 있다. 단계 S460에서, P&R 모듈(231)은 생성된 와이어 데이터를 STA 모듈(235)에 전달한다.
단계 S470에서, STA 모듈(235)은 와이어 데이터, 와이어 MHC 스펙(D30) 및 RC 변이 스케일링 팩터(D40)를 기초로 와이어 딜레이 스큐 및 홀드 슬랙을 계산한다. 단계 S470에 대해서는 도 13을 참조하여 더욱 상세하게 설명하기로 한다. 단계 S480에서, STA 모듈(235)은 타이밍 리포트들을 생성한다. 예를 들어, 타이밍 리포트는 와이어 MHC 슬랙, 워스트 메탈 레이어, 메탈 레이어 별 와이어 딜레이 스큐, 메탈 레이어 별 RC 변이 스케일링 팩터, 메탈 레이어 별 홀드 슬랙 차이 등을 포함할 수 있다. 단계 S490에서, STA 모듈(235)은 마지막 패쓰인지 판단한다. 판단 결과, 마지막 패쓰가 아닌 경우 단계 S320을 수행하고, 마지막 패쓰인 경우 타이밍 분석 동작은 종료한다.
도 13은 본 개시의 일 실시예에 따른 집적 회로의 타이밍 분석 방법을 나타내는 흐름도이다.
도 13을 참조하면, 본 실시예에 따른 타이밍 분석 방법은 도 5의 단계 S220의 일 구현 예에 대응할 수 있다. 예를 들어, 본 실시예에 따른 타이밍 분석 방법은 도 6의 STA 모듈(235)에서 시계열적으로 수행될 수 있다. 이하에서는, 도 6 내지 도 13을 함께 참조하여 타이밍 분석기(TA)에서 넷(N4)에 대응하는 와이어 딜레이를 계산하는 동작에 대해 설명하기로 한다.
단계 S510에서, 와이어의 타겟 값에 기초하여 제1 와이어 딜레이를 계산한다. 일 실시예에서, 넷은 복수의 와이어들에 대응할 수 있고, 단계 S510은 복수의 와이어들 각각에 대하여 수행될 수 있다. 예를 들어, 제m 메탈 레이어 상의 제1 와이어 딜레이(
Figure pat00030
)는 제m 메탈 레이어의 길이(
Figure pat00031
)와 제m 메탈 레이어의 유닛 딜레이(
Figure pat00032
)에 비례하는 것으로 가정할 수 있다. 따라서, 제m 메탈 레이어 상의 제1 와이어 딜레이(
Figure pat00033
)는 다음 수학식 7과 같이 나타낼 수 있다.
[수학식 7]
Figure pat00034
예를 들어, 넷(N4)에 대응하는 제1 전체 와이어 딜레이(
Figure pat00035
)는 제2 내지 제5 메탈 레이어들(M2 내지 M5) 각각의 제1 와이어 딜레이들(
Figure pat00036
내지
Figure pat00037
)의 합에 대응하는 것으로 볼 수 있다(즉,
Figure pat00038
). 따라서, 넷(N4)에 대응하는 제1 전체 와이어 딜레이(
Figure pat00039
)는 아래의 수학식 8과 같이 나타낼 수 있다.
[수학식 8]
Figure pat00040
수학식 8로부터
Figure pat00041
는 아래의 수학식 9와 같이 표시할 수 있다.
[수학식 9]
Figure pat00042
수학식 8과 수학식 9로부터 제m 메탈 레이어 상의 제1 와이어 딜레이(
Figure pat00043
)를 아래의 수학식 10과 같이 표시할 수 있다.
[수학식 10]
Figure pat00044
단계 S520에서, 와이어의 공정 변이에 기초하여 제2 와이어 딜레이를 계산한다. 일 실시예에서, 넷은 복수의 와이어들에 대응할 수 있고, 단계 S520은 복수의 와이어들 각각에 대하여 수행될 수 있다. 구체적으로, 제2 와이어 딜레이를 계산하는 동작은 다양한 수학식들을 이용하여 수행될 수 있다. 일 실시예에서, 제m 메탈 레이어 상의 제2 와이어 딜레이(
Figure pat00045
)를 아래의 수학식 11과 같이 나타낼 수 있다.
[수학식 11]
Figure pat00046
여기서,
Figure pat00047
은 제m 메탈 레이어의 메탈 RC 변이 스케일링 팩터로서, 사용자에 의해 설정될 수 있는 값이다. 또한, 일 실시예에서, 넷에 대응하는 비아의 물리 정보, 예를 들어, 비아의 개수 또는 비아의 종류를 더 고려하여 수학식 11을 수정하고, 수정된 수학식 11을 이용하여 제2 와이어 딜레이(
Figure pat00048
)를 계산할 수도 있다. 나아가, 일 실시예에서, 넷에 대응하는 비아의 RC 변이를 더 고려하여 수학식 11을 수정하고, 수정된 수학식 11을 이용하여 제2 와이어 딜레이(
Figure pat00049
)를 계산할 수도 있다.
일 실시예에서, 제m 메탈 레이어 상의 제2 와이어 딜레이(
Figure pat00050
)를 아래의 수학식 12와 같이 계산할 수도 있다.
[수학식 12]
Figure pat00051
또한, 일 실시예에서, 넷에 대응하는 비아의 물리 정보, 예를 들어, 비아의 개수 또는 비아의 종류에 따른 스케일링 팩터를 더 고려하여 수학식 12를 수정하고, 수정된 수학식 12를 이용하여 제2 와이어 딜레이(
Figure pat00052
)를 계산할 수도 있다. 나아가, 일 실시예에서, 넷에 대응하는 비아의 RC 변이를 더 고려하여 수학식 12를 수정하고, 수정된 수학식 12를 이용하여 제2 와이어 딜레이(
Figure pat00053
)를 계산할 수도 있다.
단계 S530에서, 제1 및 제2 와이어 딜레이들을 기초로 와이어 딜레이 스큐를 계산한다. 일 실시예에서, 넷은 복수의 와이어들에 대응할 수 있고, 단계 S540은 복수의 와이어들 각각에 대하여 수행될 수 있다. 예를 들어, 제2 와이어 딜레이(
Figure pat00054
)가 수학식 11에 따라 계산된 경우, 제1 및 제2 와이어 딜레이들(
Figure pat00055
,
Figure pat00056
)을 기초로 제m 메탈 레이어 상의 와이어 딜레이 스큐(
Figure pat00057
)를 아래의 수학식 13과 같이 표시할 수 있다.
[수학식 13]
Figure pat00058
예를 들어, 제2 와이어 딜레이(
Figure pat00059
)가 수학식 12에 따라 계산된 경우, 제1 및 제2 와이어 딜레이들(
Figure pat00060
,
Figure pat00061
)을 기초로 제m 메탈 레이어 상의 와이어 딜레이 스큐(
Figure pat00062
)를 아래의 수학식 14와 같이 표시할 수 있다.
[수학식 14]
Figure pat00063
예를 들어, 전체 메탈 레이어들 중 제m 메탈 레이어에 대해서만 공정 변이가 발생하고 다른 메탈 레이어들에 대해서는 변이가 발생하지 않은 경우, 전체 와이어 딜레이 스큐는 제m 메탈 레이어 상의 와이어 딜레이 스큐(
Figure pat00064
)와 동일할 수 있다.
단계 S540에서, 넷에 대응하는 복수의 와이어들에 각각 대응하는 와이어 딜레이 스큐들을 기초로, 넷에 대한 타이밍 슬랙을 계산한다. 일 실시예에서, 와이어 딜레이 스큐들에 대하여 RSS(Root Sum Square) 방법을 적용함으로써 타이밍 슬랙을 계산할 수 있다. 예를 들어, 타이밍 슬랙은 아래의 수학식 15와 같이 계산될 수 있다.
[수학식 15]
Figure pat00065
단계 S550에서, 타이밍 슬랙에 따라 타이밍 위반 여부를 판단한다. 일 실시예에서, 판단 결과, 타이밍 위반이 발생하면 해당 타이밍 위반을 제거하기 위해 ECO(Engineering Change Orders)를 수행할 수 있다. 일 실시예에서, 타이밍 위반이 발생하면 P&R 툴 내의 CTS(closk tree synthesis) 또는 최적화(optimization) 등과 같은 타이밍 엔진을 이용하여 타이밍 패쓰에 대한 타이밍 마진을 추가로 확보할 수 있다. 일 실시예에서, 타이밍 위반이 발생하면 메탈 라우팅을 변경할 수도 있다. 예를 들어, 메탈 레이어의 길이를 수정하거나 메탈 레이어를 다른 레벨의 메탈 레이어로 변경할 수도 있다. 판단 결과, 타이밍 위반이 발생하지 않으면 타이밍 분석 동작을 종료할 수 있다.
도 14는 본 개시의 일 실시예에 따른 집적 회로를 설계하기 위한 컴퓨팅 시스템(300)을 나타내는 블록도이다.
도 14를 참조하면, 집적 회로 설계 시스템(300)은 사용자 장치(310), 집적 회로 설계 플랫폼(330) 및 저장 장치(350)를 포함할 수 있다. 집적 회로 설계 시스템(300)은 예를 들어, 도 1의 단계 S110 내지 S140 또는 도 4의 단계 S210 및 S220을 포함하는 집적 회로 설계 동작을 수행할 수 있다. 본 실시예에서, 사용자 장치(310), 집적 회로 설계 플랫폼(330) 및 저장 장치(350) 중 적어도 하나는 별개의 디바이스일 수 있고, 사용자 장치(310), 집적 회로 설계 플랫폼(330) 및 저장 장치(350)는 유무선 통신 또는 네트워크를 통해 연결될 수 있다. 일 실시예에서, 사용자 장치(310), 집적 회로 설계 플랫폼(330) 및 저장 장치(350) 중 적어도 하나는 서로 이격되어 위치할 수 있다.
사용자 장치(310)는 프로세서(311) 및 사용자 인터페이스(User Interface, UI)(313)를 포함할 수 있다. 사용자 인터페이스(313)를 통해 입력되는 사용자 입력에 따라, 프로세서(311)는 집적 회로 설계 플랫폼(330)을 구동할 수 있다. 집적 회로 설계 플랫폼(330)은 집적 회로의 설계를 위한 컴퓨터로 독출 가능한 명령어의 세트로서, P&R 모듈(331), PEX 모듈(333) 및 STA 모듈(335)을 포함할 수 있다. P&R 모듈(331), PEX 모듈(333) 및 STA 모듈(335)은 도 5의 P&R 모듈(231), PEX 모듈(233) 및 STA 모듈(235)에 각각 대응할 수 있다. 저장 장치(350)는 셀 라이브러리 DB(351), 레이아웃 DB(353) 및 테크놀러지 파일 DB(355)를 포함할 수 있다. 셀 라이브러리 DB(351), 레이아웃 DB(353) 및 테크놀러지 파일 DB(355)은 도 6의 셀 라이브러리 DB(271), 레이아웃 DB(273) 및 테크놀러지 파일 DB(275)에 각각 대응할 수 있다.
도 15는 본 개시의 일 실시예에 따른 집적 회로(400)를 나타낸다.
도 15를 참조하면, 집적 회로(400)는 제1 내지 제6 셀들(410 내지 460)을 포함할 수 있다. 캡쳐 클럭 패쓰(CCP)는 제1 및 제2 셀들(410, 420) 및 제1 및 제2 넷들(N1, N2)을 포함할 수 있다. 예를 들어, 캡쳐 클럭 패쓰(CCP)에서 셀 딜레이는 3 ps이고, 넷 딜레이는 3 ps이며, 전체 딜레이는 6 ps일 수 있다. 론치 클럭 패쓰(LCP)는 제3 셀(430) 및 제3 넷(N3)을 포함할 수 있다. 예를 들어, 론치 클럭 패쓰(LCP)에서 셀 딜레이는 1 ps이고, 넷 딜레이는 1 ps이며, 전체 딜레이는 2 ps일 수 있다. 데이터 패쓰(DP)는 제4 및 제5 셀들(440, 450) 및 제4 및 제5 넷들(N4, N5)을 포함할 수 있다. 예를 들어, 데이터 패쓰(DP)에서 셀 딜레이는 2 ps이고, 넷 딜레이는 2 ps이며, 전체 딜레이는 4 ps일 수 있다. 이하에서는 도 14 내지 도 16c를 참조하여 집적 회로(400)에 대한 타이밍 분석 동작에 대해 설명하기로 한다.
도 16은 도 15의 집적 회로(400)에 대한 와이어 데이터(D10')를 나타낸다.
도 16을 참조하면, 제1 넷(N1)은 제1 및 제2 메탈 레이어들(M1, M2)에 대응하고, 제1 넷(N1)을 구현하는데 이용되는 제1 메탈 레이어(M1)의 길이는 λ1이고, 제1 넷(N1)을 구현하는데 이용되는 제2 메탈 레이어(M2)의 길이는 λ2일 수 있다. 제2 및 제3 넷들(N2, N3)은 제3 메탈 레이어(M3)에 대응하고, 제2 넷(N2)을 구현하는데 이용되는 제3 메탈 레이어(M3)의 길이는 λ3a이고, 제3 넷(N3)을 구현하는데 이용되는 제3 메탈 레이어(M3)의 길이는 λ3b일 수 있다. 제4 및 제5 넷들(N4, N5)은 제4 메탈 레이어(M4)에 대응하고, 제4 넷(N4)을 구현하는데 이용되는 제4 메탈 레이어(M4)의 길이는 λ4a이고, 제4 넷(N4)을 구현하는데 이용되는 제4 메탈 레이어(M4)의 길이는 λ4b일 수 있다.
도 17a 내지 도 17c는 본 개시의 일 실시예에 따라, 도 15의 집적 회로(400)에 대한 타이밍 분석 결과를 나타낸다. 예를 들어, 집적 회로(400)에 포함된 제1 내지 제5 넷들(N1 내지 N5)에 대응하는 제1 내지 제4 메탈 레이어들(M1 내지 M4) 중 제1 및 제2 메탈 레이어들(M1, M2)에 대해서만 공정 변이가 발생하고, 제3 및 제4 메탈 레이어들(M3, M4)에 대해서는 공정 변이가 발생하지 않을 수 있다. 이 경우, 제1 및 제2 메탈 레이어들(M1, M2)로 구현되는 제1 넷(N1)에 대해서만 와이어 딜레이가 변동될 수 있다. 예를 들어, 제1 및 제2 메탈 레이어들(M1, M2)의 저항은 모델링된 타겟 값에 비해 각각 15% 증가할 수 있다. 이하에서는, 도 6, 도 15 내지 도 17c를 참조하여 타이밍 분석 동작을 설명하기로 한다.
도 17a는 제1 넷(N1)에 대응하는 제1 와이어 딜레이의 계산 동작을 나타낸다. STA 모듈(235)은 P&R 모듈(231)로부터 제1 메탈 레이어(M1)의 길이(λ1) 및 제2 메탈 레이어(M2)의 길이(λ2)를 포함하는 와이어 데이터(D10')를 수신할 수 있다. 예를 들어, λ1는 40 μm이고, λ2는 60 μm일 수 있다. 또한, STA 모듈(235)은 테크놀러지 파일에 포함된 제1 유닛 딜레이 정보(τ1) 및 제2 유닛 딜레이 정보(τ2)를 수신할 수 있다. 제1 유닛 딜레이 정보(τ1)은 제1 메탈 레이어(M1)의 단위 길이 당 딜레이를 나타내고, 제2 유닛 딜레이 정보(τ2)은 제2 메탈 레이어(M2)의 단위 길이 당 딜레이를 나타낸다. 예를 들어, τ1는 19.3 fs/μm이고, τ2는 3.3 fs/μm일 수 있다.
도 15에 예시된 바와 같이, 제1 넷(N1)의 딜레이가 1 ps인 경우, 상술한 수학식 10로부터, 제1 메탈 레이어(M1)에 대한 제1 와이어 딜레이(δ1)는 795.9 fs(=1000*19.3*40/(19.3*40+3.3*60))로 계산하고, 제2 메탈 레이어(M2)에 대한 제1 와이어 딜레이(δ2)는 204.1 fs(=1000*3.3*60/(19.3*40+3.3*60))로 계산할 수 있다.
도 17b는 제1 넷(N1)에 대응하는 제2 와이어 딜레이의 계산 동작을 나타낸다. STA 모듈(235)은 제1 RC 변이 스케일링 팩터(σ1) 및 제2 RC 변이 스케일링 팩터(σ2)를 사용자 입력으로서 수신할 수 있다. 제1 및 제2 메탈 레이어들(M1, M2)의 저항들이 모델링된 타겟 값에 비해 각각 15% 증가할 경우, 제1 및 제2 RC 변이 스케일링 팩터들(σ1, σ2)은 모두 1.15이다. 예를 들어, 제2 와이어 딜레이는 상기 수학식 11 또는 수학식 12를 이용하여 계산될 수 있다. 이때, 제1 메탈 레이어(M1)에 대한 제2 와이어 딜레이(δ1')는 915.3 fs로 계산되고, 제2 메탈 레이어(M2)에 대한 제2 와이어 딜레이(δ2')는 234.7 fs로 계산될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 제2 와이어 딜레이를 계산하는 수학식은 다양하게 변경될 수 있다.
도 17c는 제1 넷(N1)에 대응하는 와이어 딜레이 스큐의 계산 동작을 나타낸다. 도 17c를 참조하면, 제1 메탈 레이어(M1)에 대응하는 와이어 딜레이 스큐(Δ1)는 -119.4 fs이고, 제2 메탈 레이어(M2)에 대응하는 와이어 딜레이 스큐(Δ2)는 -30.6 fs이다. 예를 들어, 홀드 슬랙은 상기 수학식 15를 이용하여 계산될 수 있다. 이에 따라, 홀드 슬랙은 -125 fs(= -
Figure pat00066
)로 계산될 수 있다.
도 18은 본 개시의 일 실시예에 따른 집적 회로의 설계 방법을 나타내는 흐름도이다.
도 18을 참조하면, 본 실시예에 따른 집적 회로의 설계 방법은 와이어 변이를 고려하여 집적 회로의 타이밍 분석을 수행하는 방법으로서 도 1의 일 구현예에 대응할 수 있다. 본 실시예는 도 4에 예시된 방법의 변형 실시예에 대응할 수 있다. 따라서, 도 4 내지 도 17c를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 중복된 설명은 생략하기로 한다.
단계 S610에서, 집적 회로를 정의하는 표준 셀들을 배치 및 라우팅함으로써, 집적 회로의 레이아웃 데이터를 생성한다. 일 실시예에서, 단계 S610에서, 집적 회로에 포함된 넷에 대응하는 와이어 데이터(D10a)를 더 생성할 수 있다. 와이어 데이터(D10a)는 집적 회로에 대응하는 넷에 대응하는 적어도 하나의 와이어의 레벨 정보 및 적어도 하나의 와이어의 물리 정보를 포함할 수 있다. 예를 들어, 와이어 데이터는 와이어의 길이 정보를 포함할 수 있다.
단계 S620에서, 레이아웃 데이터로부터 기생 성분을 추출한다. 일 실시예에서, 단계 S620에서, 집적 회로에 포함된 넷에 대응하는 와이어 데이터(D10b)를 더 생성할 수 있다. 와이어 데이터(D10b)는 집적 회로에 대응하는 넷에 대응하는 적어도 하나의 와이어의 레벨 정보 및 적어도 하나의 와이어의 물리 정보를 포함할 수 있다. 예를 들어, 와이어 데이터는 와이어의 길이 정보를 포함할 수 있다.
단계 S610에서 생성되는 와이어 데이터(D10a)와, 단계 S520에서 생성되는 와이어 데이터(D10b)는 실질적으로 동일할 수 있다. 따라서, 일 실시예에서, 단계 S610에서 와이어 데이터(D10a)가 생성되는 경우 단계 S620에서 와이어 데이터(D10b)는 생성되지 않을 수 있다. 또한, 일 실시예에서, 단계 S620에서 와이어 데이터(D10b)가 생성되는 경우 단계 S510에서 와이어 데이터(D10a)는 생성되지 않을 수 있다. 이와 같이, 와이어 데이터(D10a)와 와이어 데이터(D10b)는 선택적으로 생성될 수 있다.
단계 S630에서, 와이어의 물리 정보를 기초로 타이밍 분석을 수행함으로써, 와이어의 공정 변이를 고려한 타이밍 분석 데이터를 생성한다. 일 실시예에서, 와이어의 물리 정보는 단계 S610에서 생성된 와이어 데이터(D10a)에 포함될 수 있다. 따라서, 단계 S530은 와이어 데이터(D10a)로부터 물리 정보를 획득할 수 있다. 일 실시예에서, 와이어의 물리 정보는 단계 S520에서 생성된 와이어 데이터(D10b)에 포함될 수도 있다. 따라서, 단계 S630은 와이어 데이터(D10b)로부터 물리 정보를 획득할 수 있다. 일 실시예에서, 와이어의 공정 변이에 기초한 시정수 스케일링 팩터, 와이어의 단위 길이 당 딜레이를 나타내는 유닛 딜레이 정보, 및 물리 정보를 기초로 타이밍 패쓰에 대한 와이어 딜레이 스큐를 계산할 수 있다. 일 실시예에서, 상기 설계 방법은 타이밍 분석 데이터에 따라, ECO를 수행하는 단계를 더 포함할 수 있다. 일 실시예에서, 상기 설계 방법에서, 타이밍 분석 데이터에 따라, P&R 툴 내의 CTS 또는 최적화를 다시 수행할 수도 있다.
도 19는 본 개시의 일 실시예에 따른 반도체 장치의 제조 방법을 나타내는 흐름도이다.
도 19를 참조하면, 반도체 장치의 제조 방법은 집적 회로의 설계 및 집적 회로의 제조 공정으로 구분될 수 있다. 집적 회로의 설계는 단계 S710 내지 S740을 포함하고, 집적 회로의 제조 공정은 단계 S750 및 S760을 포함하고, 레이아웃 데이터를 기초로 집적 회로에 따른 반도체 장치를 제조하는 단계로서, 반도체 공정 모듈에서 수행될 수 있다. 본 실시예에 따른 반도체 장치의 제조 방법은 도 1 내지 도 18을 참조하여 상술된 집적 회로의 설계 방법을 수행함으로써 반도체 장치를 제조할 수 있다. 구체적으로, 단계 S710 내지 S740은 도 1의 S110 내지 S140에 각각 대응할 수 있고, 중복된 설명은 생략하기로 한다.
단계 S750에서, 레이아웃 데이터를 기초로 마스크를 생성한다. 구체적으로, 먼저 레이아웃 데이터를 기초로 OPC(Optical Proximity Correction)를 수행할 수 있는데, OPC는 광 근접 효과에 따른 오차를 반영하여 레이아웃을 변경하는 공정을 지칭한다. 이어서, OPC 수행 결과에 따라 변경된 레이아웃에 따라 마스크를 제조할 수 있다. 이때, OPC를 반영한 레이아웃, 예컨대, OPC가 반영된 GDS(Graphic Data System)II를 이용하여 마스크를 제조할 수 있다.
단계 S760에서, 마스크를 이용하여 집적 회로가 구현된 반도체 장치를 제조한다. 구체적으로, 복수의 마스크들을 이용하여 웨이퍼 등과 같은 반도체 기판 상에 다양한 반도체 공정을 진행하여 집적 회로가 구현된 반도체 장치를 형성한다. 예를 들어, 마스크를 이용하는 공정은 리소그라피 공정을 통한 패터닝 공정을 의미할 수 있다. 이러한 패터닝 공정을 통해 반도체 기판이나 물질층 상에 원하는 패턴을 형성할 수 있다. 한편, 반도체 공정은 증착 공정, 식각 공정, 이온 공정, 세정 공정 등을 포함할 수 있다. 또한, 반도체 공정은 반도체 소자를 PCB 상에 실장하고 밀봉재로 밀봉하는 패키징 공정을 포함할 수도 있고, 반도체 소자나 패키지에 대해 테스트를 하는 테스트 공정을 포함할 수도 있다.
도 20은 본 개시의 일 실시예에 따른 컴퓨터로 독출 가능한 저장 매체(1000)를 나타낸다.
도 20을 참조하면, 저장 매체(1000)는 P&R 프로그램(1100), STA 프로그램(1200), 레이아웃 데이터(1300) 및 와이어 데이터(1400)를 저장할 수 있다. 저장 매체(1000)는 컴퓨터로 읽을 수 있는 저장 매체로서, 컴퓨터에 명령어들 및/또는 데이터를 제공하는데 사용되는 동안 컴퓨터에 의해 읽혀질 수 있는 임의의 저장 매체를 포함할 수 있다. 예를 들면, 컴퓨터로 읽을 수 있는 저장 매체(1000)는 디스크, 테이프, CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW 등과 같은 자기 또는 광학 매체, RAM, ROM, 플래시 메모리 등과 같은 휘발성 또는 비휘발성 메모리, USB 인터페이스를 통해서 엑세스 가능한 비휘발성 메모리, 그리고 MEMS(microelectromechanical systems) 등을 포함할 수 있다. 컴퓨터로 읽을 수 있는 저장 매체는 컴퓨터에 삽입 가능하거나, 컴퓨터 내에 집적되거나, 네트워크 및/또는 무선 링크와 같은 통신 매개체를 통해서 컴퓨터와 결합될 수 있다.
P&R 프로그램(1100)은 본 개시의 예시적인 실시예들에 따른 표준 셀 라이브러리를 사용하여 집적 회로의 레이아웃 데이터를 생성하는 방법을 수행하기 위한 복수의 명령어들을 포함할 수 있다. P&R 프로그램(1100)은 예를 들어, 도 1의 S120, 도 4의 S210, 도 11의 S330, 도 12의 S440 내지 S460, 도 18의 S610, 또는 도 19의 S720을 수행하기 위해 이용될 수 있다.
STA 프로그램(1200)은 본 개시의 예시적인 실시예들에 따른 타이밍 분석 방법을 수행하기 위한 복수의 명령어들을 포함할 수 있다. STA 프로그램(1200)은 예를 들어, 도 1의 S140, 도 4의 S220, 도 12의 S410 내지 S430, S470 내지 S490, 도 11의 S310, S320, S340 내지 S360, 도 13의 S510 내지 S540, 도 18의 S630, 또는 도 19의 S740을 수행하기 위해 이용될 수 있다.
레이아웃 데이터(1300)는 P&R 동작을 통해 생성된 레이아웃에 대한 물리적 정보를 포함할 수 있다. 예를 들어, 레이아웃 데이터(1300)는 시그널 넷을 구성하는 도전 패턴들의 너비 값 및 스페이스 값을 포함할 수 있다. 와이어 데이터(1400)는 집적 회로에 포함된 넷들의 각각에 대응하는 적어도 하나의 와이어의 레벨 정보 및 상기 적어도 하나의 와이어의 물리 정보를 포함할 수 있다. 또한, 와이어 데이터(1400)은 집적 회로에 포함된 넷들의 각각에 대응하는 적어도 하나의 비아의 레벨 정보 및 상기 적어도 하나의 비아의 물리 정보를 더 포함할 수 있다. 예를 들어, 와이어 데이터(1400)는 P&R 프로그램(1100)에 의해 생성될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 와이어 데이터(1400)는 기생 추출 프로그램에 의해 생성될 수도 있다. 도 20에서는 레이아웃 데이터(1300)와 와이어 데이터(1400)를 각각 도시하였으나, 본 발명은 이에 한정되지 않는다. 일부 실시예에서, 레이아웃 데이터(1300)는 와이어 데이터(1400)를 포함할 수도 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100, 100a, 100b, 400: 집적 회로
200, 300: 집적 회로의 설계 시스템

Claims (20)

  1. 집적 회로의 설계를 위한 컴퓨터 구현 방법으로서,
    상기 집적 회로를 정의하는 표준 셀들을 배치 및 라우팅함으로써, 상기 집적 회로의 레이아웃 데이터, 및 상기 집적 회로에 포함된 넷에 대응하는 적어도 하나의 와이어의 레벨 정보 및 상기 적어도 하나의 와이어의 물리 정보를 포함하는 와이어 데이터를 생성하는 단계; 및
    상기 넷을 포함하는 타이밍 패쓰에 대하여 상기 와이어 데이터를 기초로 타이밍 분석을 수행함으로써, 상기 적어도 하나의 와이어의 공정 변이(variations)를 고려한 타이밍 분석 데이터를 생성하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 물리 정보는, 상기 적어도 하나의 와이어의 길이 정보를 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 타이밍 분석 데이터를 생성하는 단계는, 상기 적어도 하나의 와이어의 단위 길이 당 딜레이를 나타내는 유닛 딜레이 정보, 및 상기 물리 정보를 기초로 상기 타이밍 패쓰에 대한 타이밍 분석을 수행하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 타이밍 분석 데이터를 생성하는 단계는, 상기 와이어의 공정 변이에 기초한 시정수 스케일링 팩터, 상기 와이어의 단위 길이 당 딜레이를 나타내는 유닛 딜레이 정보, 및 상기 물리 정보를 기초로 상기 타이밍 패쓰에 대한 와이어 딜레이 스큐를 계산하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 타이밍 분석 데이터를 생성하는 단계는,
    상기 와이어의 타겟 값에 기초하여, 상기 타이밍 패쓰에 대한 제1 와이어 딜레이를 계산하는 단계;
    상기 와이어의 공정 변이에 기초하여, 상기 타이밍 패쓰에 대한 제2 와이어 딜레이를 계산하는 단계; 및
    상기 제1 및 제2 와이어 딜레이들을 기초로, 상기 타이밍 패쓰에 대한 와이어 딜레이 스큐를 계산하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 타이밍 분석 데이터를 생성하는 단계는,
    상기 와이어 딜레이 스큐를 기초로 상기 타이밍 패쓰에서 타이밍 위반 여부를 판단하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 넷은 복수의 와이어들에 대응하고,
    상기 타이밍 분석 데이터를 생성하는 단계는,
    상기 복수의 와이어들에 각각 대응하는 와이어 딜레이 스큐들을 기초로 상기 넷에 대한 타이밍 슬랙을 계산하는 단계를 더 포함하고,
    상기 타이밍 위반 여부를 판단하는 단계는, 상기 타이밍 슬랙을 기초로 상기 타이밍 패쓰에서 타이밍 위반 여부를 판단하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 타이밍 슬랙을 계산하는 단계는, 상기 와이어 딜레이 스큐들에 대하여 RSS(Route Sum Square) 방법을 적용함으로써 상기 타이밍 슬랙을 계산하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 레이아웃 데이터로부터 상기 와이어의 기생 성분을 추출하는 단계를 더 포함하고,
    상기 타이밍 분석 데이터를 생성하는 단계는, 상기 와이어의 단위 길이 당 딜레이를 나타내는 유닛 딜레이 정보, 상기 물리 정보, 및 상기 기생 성분을 기초로 상기 타이밍 패쓰에 대한 타이밍 분석을 수행하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 물리 정보는, 상기 와이어의 너비 정보, 상기 와이어의 스페이스 정보, 또는 와이어의 쉴딩(shielding) 정보를 포함하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 와이어 데이터는, 상기 넷에 대응하는 비아의 레벨 정보 및 상기 비아의 물리 정보를 더 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 비아의 물리 정보는, 상기 비아의 개수 또는 종류를 포함하는 것을 특징으로 하는 방법.
  13. 제11항에 있어서,
    상기 타이밍 분석 데이터를 생성하는 단계는, 상기 비아의 물리 정보를 더 고려함으로써 상기 타이밍 분석 데이터를 생성하는 것을 특징으로 하는 방법.
  14. 제1항에 있어서,
    상기 타이밍 패쓰는, 상기 집적 회로의 타이밍 크리티컬 패쓰인 것을 특징으로 하는 방법.
  15. 집적 회로의 설계를 위한 컴퓨터 구현 방법으로서,
    상기 집적 회로를 정의하는 표준 셀들을 배치 및 라우팅함으로써, 상기 집적 회로의 레이아웃 데이터를 생성하는 단계;
    상기 레이아웃 데이터로부터 상기 집적 회로에 포함된 넷에 대응하는 적어도 하나의 와이어의 기생 성분을 추출하는 단계; 및
    상기 넷을 포함하는 타이밍 패쓰에 대하여 상기 적어도 하나의 와이어의 물리 정보를 기초로 타이밍 분석을 수행함으로써, 상기 적어도 하나의 와이어의 공정 변이를 고려한 타이밍 분석 데이터를 생성하는 단계를 포함하는 방법.
  16. 제15항에 있어서,
    상기 레이아웃 데이터를 생성하는 단계는, 상기 레이아웃 데이터로부터 상기 적어도 하나의 와이어의 레벨 정보 및 상기 적어도 하나의 와이어의 상기 물리 정보를 포함하는 와이어 데이터를 생성하는 단계를 포함하고,
    상기 타이밍 분석 데이터를 생성하는 단계는, 상기 와이어 데이터로부터 상기 물리 정보를 획득하는 것을 특징으로 하는 방법.
  17. 제15항에 있어서,
    상기 기생 성분을 추출하는 단계는, 상기 레이아웃 데이터로부터 상기 적어도 하나의 와이어의 레벨 정보 및 상기 적어도 하나의 와이어의 상기 물리 정보를 포함하는 와이어 데이터를 생성하는 단계를 포함하고,
    상기 타이밍 분석 데이터를 생성하는 단계는, 상기 와이어 데이터로부터 상기 물리 정보를 획득하는 것을 특징으로 하는 방법.
  18. 제15항에 있어서,
    상기 물리 정보는, 상기 적어도 하나의 와이어의 길이 정보를 포함하는 것을 특징으로 하는 방법.
  19. 집적 회로를 설계하기 위한 컴퓨팅 시스템으로서,
    프로시저들을 포함하는 정보를 저장하는 메모리; 및
    상기 메모리에 액세스 가능하고, 상기 프로시저들을 실행하는 프로세서를 포함하고,
    상기 프로시저들은,
    상기 집적 회로를 정의하는 표준 셀들을 배치하는 배치기;
    배치된 상기 복수의 표준 셀들을 라우팅함으로써 상기 집적 회로의 레이아웃 데이터를 생성하고, 상기 집적 회로에 포함된 넷에 대응하는 적어도 하나의 와이어의 레벨 정보 및 상기 적어도 하나의 와이어의 물리 정보를 포함하는 와이어 데이터를 생성하는 라우터; 및
    상기 넷을 포함하는 타이밍 패쓰에 대하여 상기 와이어 데이터를 기초로 타이밍 분석을 수행함으로써, 상기 적어도 하나의 와이어의 공정 변이를 고려한 타이밍 분석 데이터를 생성하는 타이밍 분석기를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  20. 제19항에 있어서,
    상기 물리 정보는, 상기 적어도 하나의 와이어의 길이 정보를 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
KR1020170055660A 2017-04-28 2017-04-28 Beol의 공정 변이를 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템 KR102402673B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020170055660A KR102402673B1 (ko) 2017-04-28 2017-04-28 Beol의 공정 변이를 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템
US15/862,296 US10902168B2 (en) 2017-04-28 2018-01-04 Computer-implemented method and computing system for designing integrated circuit by considering timing delay
CN201810160711.3A CN108804734B (zh) 2017-04-28 2018-02-27 设计集成电路的方法及其系统
CN202311314082.2A CN117272924A (zh) 2017-04-28 2018-02-27 设计集成电路的方法
DE102018106914.6A DE102018106914A1 (de) 2017-04-28 2018-03-23 Computerimplementiertes Verfahren und Berechnungssystem zum Entwerfen einer integrierten Schaltung durch ein Berücksichtigen einer Zeitvorgabeverzögerung
TW107113892A TWI788345B (zh) 2017-04-28 2018-04-24 設計積體電路的方法及其系統
US17/156,738 US11475195B2 (en) 2017-04-28 2021-01-25 Computer-implemented method and computing system for designing integrated circuit by considering timing delay
US17/966,993 US11861281B2 (en) 2017-04-28 2022-10-17 Computer-implemented method and computing system for designing integrated circuit by considering timing delay

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170055660A KR102402673B1 (ko) 2017-04-28 2017-04-28 Beol의 공정 변이를 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템

Publications (2)

Publication Number Publication Date
KR20180121219A true KR20180121219A (ko) 2018-11-07
KR102402673B1 KR102402673B1 (ko) 2022-05-26

Family

ID=63917292

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170055660A KR102402673B1 (ko) 2017-04-28 2017-04-28 Beol의 공정 변이를 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템

Country Status (4)

Country Link
US (2) US10902168B2 (ko)
KR (1) KR102402673B1 (ko)
CN (1) CN108804734B (ko)
TW (1) TWI788345B (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI665573B (zh) * 2018-01-02 2019-07-11 慧榮科技股份有限公司 電路設計方法及相關的電腦程式產品
US10509888B1 (en) * 2018-09-18 2019-12-17 Taiwan Semiconductor Manufacturing Company Ltd. System and method for forming integrated device
TWI714039B (zh) * 2019-03-27 2020-12-21 創意電子股份有限公司 時序模型、時序模型建立方法、與相關的頂層分析方法
US11646305B2 (en) 2019-10-02 2023-05-09 Samsung Electronics Co., Ltd. Semiconductor devices and methods of manufacturing the same
CN112784384A (zh) * 2019-10-23 2021-05-11 长鑫存储技术(上海)有限公司 时序分析方法及装置、电子设备和计算机可读存储介质
KR20210067761A (ko) 2019-11-29 2021-06-08 삼성전자주식회사 나노시트를 포함하는 집적 회로를 제조하기 위한 방법 및 컴퓨팅 시스템
KR20210070892A (ko) 2019-12-04 2021-06-15 삼성전자주식회사 반도체 소자 및 그의 제조 방법
US11080457B1 (en) * 2020-03-18 2021-08-03 Cadence Design Systems, Inc. Layer assignment and routing based on resistance or capacitance characteristic
US11668749B2 (en) * 2020-08-26 2023-06-06 Silicon Motion, Inc. Method for eliminating fake faults in gate-level simulation
CN112069753B (zh) * 2020-08-28 2023-11-10 中国能源建设集团湖南省电力设计院有限公司 正多边形平面螺旋线圈的磁场计算方法
CN112784520A (zh) * 2020-12-31 2021-05-11 成都海光微电子技术有限公司 集成电路时延检测方法、装置、存储介质及电子设备
US11694015B2 (en) * 2021-06-23 2023-07-04 Nxp B.V. Signal routing between memory and memory controller
CN113505554A (zh) * 2021-07-05 2021-10-15 广东工业大学 时效预校准方法及系统
CN113657065B (zh) * 2021-07-20 2023-08-25 长鑫存储技术有限公司 时钟电路、存储器及半导体结构的制作方法
TWI801084B (zh) * 2022-01-07 2023-05-01 瑞昱半導體股份有限公司 用於靜態時序分析的餘量校正方法及餘量校正系統
CN114548017A (zh) 2022-02-24 2022-05-27 长鑫存储技术有限公司 延迟电路单元的版图、延迟电路的版图和半导体存储器
CN115293083B (zh) * 2022-09-30 2022-12-20 深圳鸿芯微纳技术有限公司 集成电路时序预测方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306647A (ja) * 2000-04-21 2001-11-02 Matsushita Electric Ind Co Ltd タイミング検証方法
KR100475014B1 (ko) * 1997-10-14 2005-09-28 삼성전자주식회사 인터콘넥터의 지연 시간 계산방법
US20090254874A1 (en) * 2006-05-18 2009-10-08 Subhasis Bose Methods and systems for placement and routing
KR20120114328A (ko) * 2010-01-29 2012-10-16 시놉시스, 인크. 정의된 패턴들을 이용한 사전-라우트 및 사후-라우트 네트 상관관계 개선
KR20150083014A (ko) * 2014-01-08 2015-07-16 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 상이한 회로 토폴로지를 고려하는 입력 파형 발생을 이용한 셀의 특성화

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572437A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
US5987086A (en) * 1996-11-01 1999-11-16 Motorola Inc. Automatic layout standard cell routing
US6189131B1 (en) * 1998-01-14 2001-02-13 Lsi Logic Corporation Method of selecting and synthesizing metal interconnect wires in integrated circuits
US6145117A (en) * 1998-01-30 2000-11-07 Tera Systems Incorporated Creating optimized physical implementations from high-level descriptions of electronic design using placement based information
US6381730B1 (en) * 1999-07-09 2002-04-30 Sequence Design, Inc. Method and system for extraction of parasitic interconnect impedance including inductance
US6789248B1 (en) * 2002-06-24 2004-09-07 Taiwan Semiconductor Manufacturing Company Method and apparatus to perform resistance and capacitance (RC) parameter customization for better timing closure results in physical synthesis and optimization
US7111268B1 (en) * 2002-08-26 2006-09-19 Xilinx, Inc. Post-layout optimization in integrated circuit design
JP2004110522A (ja) 2002-09-19 2004-04-08 Toshiba Microelectronics Corp 半導体装置設計用のタイミング検証装置およびタイミング検証方法
US20050229142A1 (en) * 2004-04-09 2005-10-13 Zenasis Technologies, Inc. System and method for automated accurate pre-layout estimation of standard cell characteristics
US7526743B2 (en) 2004-07-23 2009-04-28 International Business Machines Corporation Method for routing data paths in a semiconductor chip with a plurality of layers
US7174523B2 (en) * 2004-07-30 2007-02-06 International Business Machines Corporation Variable sigma adjust methodology for static timing
JP2006164132A (ja) * 2004-12-10 2006-06-22 Matsushita Electric Ind Co Ltd 半導体集積回路のネットリスト作成方法およびレイアウト設計方法
US7882464B1 (en) * 2005-02-14 2011-02-01 Cadence Design Systems, Inc. Method and system for power distribution analysis
US8595669B1 (en) * 2007-08-31 2013-11-26 Cadence Design Systems, Inc. Flexible noise and delay modeling of circuit stages for static timing analysis of integrated circuit designs
TWI463344B (zh) * 2005-10-24 2014-12-01 Cadence Design Systems Inc 積體電路時序、雜訊、及功率分析技術
US7882471B1 (en) * 2005-11-15 2011-02-01 Cadence Design Systems, Inc. Timing and signal integrity analysis of integrated circuits with semiconductor process variations
JP2007183932A (ja) 2005-12-09 2007-07-19 Fujitsu Ltd タイミング解析方法及びタイミング解析装置
US7941776B2 (en) * 2006-05-26 2011-05-10 Open-Silicon Inc. Method of IC design optimization via creation of design-specific cells from post-layout patterns
US7937256B2 (en) * 2006-12-02 2011-05-03 Altos Design Automation, Inc. Systems and methods of efficient library characterization for integrated circuit cell libraries
US8504978B1 (en) * 2009-03-30 2013-08-06 Cadence Design Systems, Inc. User interface for timing budget analysis of integrated circuit designs
US7594203B2 (en) 2007-01-24 2009-09-22 Prolific, Inc. Parallel optimization using independent cell instances
JP4803078B2 (ja) 2007-03-07 2011-10-26 富士通セミコンダクター株式会社 半導体集積回路のレイアウト設計方法およびレイアウト設計用プログラム
US7913210B2 (en) * 2007-05-02 2011-03-22 Cadence Design Systems, Inc. Reducing critical cycle delay in an integrated circuit design through use of sequential slack
JP5041882B2 (ja) 2007-06-07 2012-10-03 ルネサスエレクトロニクス株式会社 半導体集積回路の設計方法及び設計支援装置
EP2006784A1 (en) * 2007-06-22 2008-12-24 Interuniversitair Microelektronica Centrum vzw Methods for characterization of electronic circuits under process variability effects
US7669161B2 (en) * 2007-06-22 2010-02-23 Synopsys, Inc. Minimizing effects of interconnect variations in integrated circuit designs
JP2009025914A (ja) * 2007-07-17 2009-02-05 Nec Electronics Corp 半導体集積回路の設計方法及び設計プログラム
JP2009025891A (ja) * 2007-07-17 2009-02-05 Nec Electronics Corp 半導体集積回路の設計方法及び設計プログラム
US8386975B2 (en) * 2007-12-27 2013-02-26 Cadence Design Systems, Inc. Method, system, and computer program product for improved electrical analysis
JP4530049B2 (ja) * 2008-01-10 2010-08-25 ソニー株式会社 半導体装置の設計プログラムおよび半導体装置の設計システム
US7783999B2 (en) * 2008-01-18 2010-08-24 Taiwan Semiconductor Manufacturing Company, Ltd. Electrical parameter extraction for integrated circuit design
JP4938696B2 (ja) 2008-01-24 2012-05-23 ソニー株式会社 半導体装置の設計プログラムおよび半導体装置の設計システム
US8245165B1 (en) * 2008-04-11 2012-08-14 Cadence Design Systems, Inc. Methods and apparatus for waveform based variational static timing analysis
US8255851B1 (en) * 2008-06-24 2012-08-28 Marvell Israel (M.I.S.L) Ltd. Method and system for timing design
US8117568B2 (en) * 2008-09-25 2012-02-14 International Business Machines Corporation Apparatus, method and computer program product for fast simulation of manufacturing effects during integrated circuit design
JP4655240B2 (ja) * 2008-09-26 2011-03-23 日本電気株式会社 タイミング解析支援装置
JP2010165828A (ja) * 2009-01-15 2010-07-29 Renesas Electronics Corp 感度解析システム、感度解析プログラム
US8312406B2 (en) * 2009-06-22 2012-11-13 Cadence Design Systems, Inc. Method and system performing RC extraction
US8762908B1 (en) * 2009-12-04 2014-06-24 Cadence Design Systems, Inc. Static timing analysis with design-specific on chip variation de-rating factors
US8453102B1 (en) * 2010-03-12 2013-05-28 Worldwide Pro Ltd. Hierarchical variation analysis of integrated circuits
US20120011480A1 (en) * 2010-05-25 2012-01-12 Sridhar Srinivasan Logic-Driven Layout Verification
US8473886B2 (en) 2010-09-10 2013-06-25 Synopsys, Inc. Parallel parasitic processing in static timing analysis
US8418112B2 (en) * 2011-03-03 2013-04-09 Taiwan Semiconductor Manufacturing Company, Ltd. Method of generating RC technology file
US8584065B2 (en) * 2011-05-05 2013-11-12 Advanced Micro Devices, Inc. Method and apparatus for designing an integrated circuit
US8797054B2 (en) * 2011-08-03 2014-08-05 Qualcomm Incorporated Thermal and stress gradient based RC extraction, timing and power analysis
US8713498B2 (en) * 2011-08-24 2014-04-29 Freescale Semiconductor, Inc. Method and system for physical verification using network segment current
US8769462B2 (en) * 2011-10-07 2014-07-01 Synopsys, Inc. Parasitic extraction for semiconductors
US20130277804A1 (en) * 2012-04-20 2013-10-24 International Business Machines Corporation Bipolar junction transistors with reduced base-collector junction capacitance
US8806414B2 (en) * 2012-05-31 2014-08-12 Taiwan Semiconductor Manufacturing Co., Ltd. Method and system for layout parasitic estimation
US9418192B1 (en) 2012-12-11 2016-08-16 Atoptech, Inc. Pass eco flow based on reduced timing scope timer
US8788995B1 (en) 2013-03-15 2014-07-22 Cadence Design Systems, Inc. System and method for guiding remedial transformations of a circuit design defined by physical implementation data to reduce needed physical corrections for detected timing violations in the circuit design
US8863052B1 (en) * 2013-07-12 2014-10-14 Cadence Design Systems, Inc. System and method for generating and using a structurally aware timing model for representative operation of a circuit design
US9165105B2 (en) * 2013-12-13 2015-10-20 Taiwan Semiconductor Manufacturing Co., Ltd. Rule checking for confining waveform induced constraint variation in static timing analysis
JP2015166981A (ja) * 2014-03-04 2015-09-24 株式会社ソシオネクスト レイアウト検証方法、検証装置、及び検証プログラム
US9477803B2 (en) * 2014-07-30 2016-10-25 Taiwan Semiconductor Manufacturing Company, Ltd. Method of generating techfile having reduced corner variation value
US9600620B2 (en) * 2015-03-20 2017-03-21 Xpliant Repeater insertions providing reduced routing perturbation caused by flip-flop insertions
US11256846B2 (en) * 2015-03-27 2022-02-22 Samsung Electronics Co., Ltd. System and method of analyzing integrated circuit in consideration of a process variation and a shift
US10372869B2 (en) * 2015-03-27 2019-08-06 Samsung Electronics Co., Ltd. System and method of analyzing integrated circuit in consideration of a process variation
US9589096B1 (en) * 2015-05-19 2017-03-07 Cadence Design Systems, Inc. Method and apparatus for integrating spice-based timing using sign-off path-based analysis
KR102398596B1 (ko) 2015-06-15 2022-05-16 삼성전자주식회사 집적 회로의 수율 예측 방법 및 집적 회로의 설계 최적화 방법
US9904743B2 (en) * 2015-10-29 2018-02-27 Taiwan Semiconductor Manufacturing Co., Ltd. Method for analyzing interconnect process variation
US9875333B1 (en) * 2016-01-19 2018-01-23 Cadence Design Systems, Inc. Comprehensive path based analysis process
US10521538B2 (en) * 2016-04-27 2019-12-31 Taiwan Semiconductor Manufacturing Co., Ltd Method and system for integrated circuit design with on-chip variation and spatial correlation
US10318696B1 (en) * 2016-05-09 2019-06-11 Ampere Computing Llc Efficient techniques for process variation reduction for static timing analysis
KR20170133750A (ko) * 2016-05-26 2017-12-06 삼성전자주식회사 집적 회로의 설계를 위한 컴퓨터 구현 방법
US10755009B1 (en) * 2017-04-20 2020-08-25 Synopsys, Inc. Optimization after allocating potential slacks to clock arrival times
KR102416490B1 (ko) * 2017-06-15 2022-07-04 삼성전자 주식회사 와이어의 공정 변이를 고려한 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100475014B1 (ko) * 1997-10-14 2005-09-28 삼성전자주식회사 인터콘넥터의 지연 시간 계산방법
JP2001306647A (ja) * 2000-04-21 2001-11-02 Matsushita Electric Ind Co Ltd タイミング検証方法
US20090254874A1 (en) * 2006-05-18 2009-10-08 Subhasis Bose Methods and systems for placement and routing
KR20120114328A (ko) * 2010-01-29 2012-10-16 시놉시스, 인크. 정의된 패턴들을 이용한 사전-라우트 및 사후-라우트 네트 상관관계 개선
KR20150083014A (ko) * 2014-01-08 2015-07-16 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 상이한 회로 토폴로지를 고려하는 입력 파형 발생을 이용한 셀의 특성화

Also Published As

Publication number Publication date
CN108804734B (zh) 2023-11-07
CN108804734A (zh) 2018-11-13
US20210173991A1 (en) 2021-06-10
US10902168B2 (en) 2021-01-26
TWI788345B (zh) 2023-01-01
US20180314771A1 (en) 2018-11-01
US11475195B2 (en) 2022-10-18
TW201839641A (zh) 2018-11-01
KR102402673B1 (ko) 2022-05-26

Similar Documents

Publication Publication Date Title
KR102402673B1 (ko) Beol의 공정 변이를 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템
US10418354B2 (en) Integrated circuit and computer-implemented method of manufacturing the same
KR102580947B1 (ko) 추출된 모델 파라미터를 이용하여 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 이를 이용한 집적 회로의 제조 방법
KR102416490B1 (ko) 와이어의 공정 변이를 고려한 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템
US10387606B2 (en) Validating a clock tree delay
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
JP2010218252A (ja) 統計的タイミング解析用セルライブラリ作成装置、統計的タイミング解析装置、統計的タイミング解析用セルライブラリ作成方法および統計的タイミング解析方法
US10424518B2 (en) Integrated circuit designing system and a method of manufacturing an integrated circuit
JP2015166981A (ja) レイアウト検証方法、検証装置、及び検証プログラム
TWI817646B (zh) 用於設計上下文感知電路的方法及系統
TW202219807A (zh) 用於電容值提取的系統、方法及儲存媒體
US20070220465A1 (en) Automatic estimation method, apparatus, and recording medium
TW201826155A (zh) 積體電路、製造其的電腦實施方法以及定義其的標準元件
US8745567B1 (en) Efficient apparatus and method for analysis of RTL structures that cause physical congestion
JP6070337B2 (ja) 物理故障解析プログラム、物理故障解析方法および物理故障解析装置
US11861281B2 (en) Computer-implemented method and computing system for designing integrated circuit by considering timing delay
CN115510802A (zh) 用于预测详细布线拓扑和轨道使用的机器学习模型
JP2007305794A (ja) 回路設計装置、設計方法、およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant