KR101380881B1 - 셀 라이브러리의 셀 분석 방법 - Google Patents

셀 라이브러리의 셀 분석 방법 Download PDF

Info

Publication number
KR101380881B1
KR101380881B1 KR1020110112969A KR20110112969A KR101380881B1 KR 101380881 B1 KR101380881 B1 KR 101380881B1 KR 1020110112969 A KR1020110112969 A KR 1020110112969A KR 20110112969 A KR20110112969 A KR 20110112969A KR 101380881 B1 KR101380881 B1 KR 101380881B1
Authority
KR
South Korea
Prior art keywords
cell
connectable
pin
layout
location
Prior art date
Application number
KR1020110112969A
Other languages
English (en)
Other versions
KR20120084654A (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 글로벌파운드리즈 인크.
Publication of KR20120084654A publication Critical patent/KR20120084654A/ko
Application granted granted Critical
Publication of KR101380881B1 publication Critical patent/KR101380881B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique

Landscapes

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

Abstract

레이아웃을 발생시키기 위해 사용되는 셀 라이브러리의 셀들을 분석하는 방법 및 시스템이 제공된다. 하나의 예시적인 방법은 레이아웃에 있는 셀의 각각의 인스턴스에 대하여 셀의 핀에 대하여 레이아웃에서 이용된 라우팅 연결 위치를 결정하는 것을 포함한다. 상기 방법은 계속해서 복수의 라우팅 연결 위치들과 상기 핀에 대한 복수의 연결 가능한 위치들을 기반으로 셀의 핀에 대한 이용 메트릭을 결정하고, 이용 메트릭을 디스플레이 디바이스 상에 디스플레이한다.

Description

셀 라이브러리의 셀 분석 방법{METHODS FOR ANALYZING CELLS OF A CELL LIBRARY}
본 발명의 실시예들은 개괄적으로 반도체 디바이스 구조 및 관련 설계 및 제조 방법들에 관한 것이며, 더욱 상세하게는 셀 라이브러리의 셀들이 레이아웃에서 배치되고 라우팅된 후에 셀 라이브러리의 셀들을 분석하는 방법에 관한 것이다.
최신 전자 회로들은 보통 전자 설계 자동화(electronic design automation: EDA) 툴(tool)로 지칭되는 소프트웨어 툴들을 사용하여 흔히들 설계된 다음 제조된다. 전형적으로, 회로 설계자는 회로의 의도된 기능들을 기술하기 위해 소프트웨어 설계 툴 또는 하드웨어 기술 언어(hardware description language)를 이용할 것이다. 높은 수준의 기능적 기술이 합성 툴(synthesis tool)에 제공되며 합성 툴은 의도된 기능들을 네트리스트(netlist)로 변환하고, 네트리스트는 로직 게이트들 및/또는 다른 하드웨어 컴포넌트들의 인스턴스들과 그들의 상응하는 배선(interconnection)들을 나타내며 이들은 구성되었을 때 의도된 기능들을 제공할 것이다. 소프트웨어 배치 툴(software placement tool)은 네트리스트의 로직 게이트들 및/또는 하드웨어 컴포넌트들의 인스턴스들을 최적의 방식으로 배치한다. 종종, 배치 툴은 표준 셀 라이브러리를 사용하여 로직 게이트들 및/또는 하드웨어 컴포넌트들의 인스턴스들을 획득하고 배치하며, 표준 셀 라이브러리는 고정된 치수를 가지도록 표준화된 셀들로서 구성된 특정한 기술로 네트리스트를 구현하는 데 사용될 수 있는 많은 가능한 로직 게이트들 및/또는 하드웨어 컴포넌트들을 포함한다. 배치 후에, 소프트웨어 라우팅 툴(software routing tool)(또는 라우터(router))이 특정한 기술에 대한 디자인 룰(design rule)들을 고려하여 네트리스트를 기반으로 배치된 셀들 사이의 배선들을 최적으로 생성하며, 이는 회로에 대한 완료된 레이아웃을 만든다. 회로나 디바이스에 대하여 완료된 레이아웃은 컴퓨터 판독 가능한 매체 상에서 그래픽 데이터베이스 시스템 Ⅱ(Graphical Database System Ⅱ: GDSⅡ) 포맷과 같은 적합한 파일 포맷으로 인코딩될 수 있으며, 이는 그 뒤에 완료된 레이아웃을 회로를 제조하는 데 사용될 수 있는 포토마스크들(photomasks)로 변환하도록 파운드리(foundry)나 마스크 숍(mask shop)에 제공될 수 있다.
종종, 표준 셀 라이브러리의 표준 셀들은 셀의 각각의 입력/출력 핀(즉 단자)에 대하여 충분한 개수의 가능한 위치들(또는 충분히 큰 영역)을 제공하도록 설계되며, 이 위치들은 디자인 룰들을 위반함이 없이 핀들에 대한 연결들을 형성하고 셀의 배치된 인스턴스들로/로부터 라우팅 툴에 의한 라우팅을 용이하게 하기 위해 사용될 수 있다. 하지만, 각각의 배치된 셀로/로부터 라우팅하는 라우팅 툴의 능력은 레이아웃 내에서 셀의 배치, 그 이웃 셀들, 및 기술에 대한 디자인 룰들과 아울러 다른 인자들에 따라 달라질 것이다. 따라서, 표준 셀 라이브러리의 각각의 표준 셀의 각각의 핀들로/로부터 라우팅하고 연결하는 라우팅 툴의 능력을 철저하게 테스트하는 것은 어렵거나 아니면 비현실적이다. 결과적으로, 표준 셀 라이브러리가 새로운 회로들의 설계를 위해 테스트 환경 외부에 있는 배치 툴 및/또는 라우팅 툴에 의해 이용되고 있을 때까지는 라우팅 가능성(routability) 및/또는 연결 가능성(connectivity)에 관한 문제들을 파악하기가 어려우며, 이 시점에서 라우팅 가능성 및/또는 연결 가능성 문제의 원인이 무엇인지를 디버깅하고 파악하는 것은 어려울 수 있다.
레이아웃(layout)을 발생시키는 데 사용되는 셀 라이브러리(cell library)의 셀을 분석하는 방법이 제공된다. 상기 방법은 상기 레이아웃에 있는 상기 셀의 각각의 인스턴스(instance)에 대하여, 상기 셀의 핀에 대하여 상기 레이아웃에서 이용된 각각의 라우팅 연결 위치(routed connection location)를 결정하는 단계와, 상기 복수의 라우팅 연결 위치들과 상기 핀에 대한 복수의 연결 가능한 위치들을 기반으로 상기 셀의 상기 핀에 대한 이용 메트릭(utilization metric)을 결정하는 단계를 포함한다. 상기 방법은 계속해서 상기 이용 메트릭을 디스플레이 디바이스 상에 디스플레이한다.
또 다른 실시예에서, 레이아웃을 획득하는 데 사용되는 셀 라이브러리의 셀을 분석하는 방법은 상기 레이아웃에 배치된 상기 셀의 각각의 인스턴스를 파악하고, 각각의 배치된 셀에 대하여, 상기 셀의 제1 단자에 연결하기 위해 상기 레이아웃에 의해 이용된 라우팅 연결 위치를 파악하고, 복수의 라우팅 연결 위치들을 결정하는 것을 포함한다. 상기 방법은 계속해서 상기 셀의 상기 제1 단자에 대한 복수의 연결 가능한 위치들의 각각의 연결 가능한 위치에 대하여, 상기 복수의 라우팅 연결 위치들 중에서 상기 각각의 연결 가능한 위치에 대응되는 라우팅 연결 위치들의 개수를 기반으로 상기 각각의 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수를 결정하고, 상기 각각의 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수를 기반으로 상기 셀에 대한 이용 메트릭을 결정하며, 그리고 상기 이용 메트릭을 디스플레이 디바이스 상에 디스플레이한다.
또 다른 실시예에서, 컴퓨터 디바이스에 의해 실행될 수 있는 컴퓨터 실행 가능한 명령어들 또는 데이터가 저장된 컴퓨터 판독 가능한 매체용 장치가 제공된다. 상기 컴퓨터 실행가능한 명령어들은 상기 컴퓨터 디바이스에 의해 실행될 때, 네트리스트(netlist)를 표현하는 레이아웃을 획득하고, 상기 레이아웃에 배치된 상기 네트리스트를 구현하기 위해 상기 레이아웃에 의해 이용된 셀 라이브러리의 제1 셀의 각각의 인스턴스를 파악하고, 상기 제1 셀의 상기 파악된 인스턴스들에 대하여 상기 레이아웃에서 이용된 상기 제1 셀의 핀에 대한 라우팅 연결 위치들을 기반으로 상기 제1 셀에 대한 이용 메트릭을 결정하며, 그리고 상기 이용 메트릭의 그래픽 표현을 상기 컴퓨터 디바이스와 통신시에 연결되는 디스플레이 디바이스 상에 디스플레이하도록 구성된다.
본 발명의 내용은 아래의 상세한 설명에서 더 설명되는 개념들을 선별하여 간략화된 형태로 소개하기 위해 제공된다. 본 발명의 내용은 청구된 발명의 핵심적인 특징들이나 본질적인 특징들을 파악하고자 의도된 것이 아니며, 청구된 발명의 범위를 결정하는 데 보조수단으로서 이용되도록 의도된 것도 또한 아니다.
다음의 도면들과 함께 고려하여 본 발명의 상세한 설명과 특허청구범위를 참조할 때 본 발명을 더욱 완전히 이해할 수 있으며, 도면들 전반에 걸쳐 유사한 참조 번호들은 유사한 요소들을 가리킨다.
도 1은 한 예시적인 실시예에서 전자 디바이스 설계 시스템의 블록도이다.
도 2는 한 예시적인 실시예에서 도 1의 전자 디바이스 설계 시스템과 사용하기에 적합한 표준 셀의 핀 층의 평면도이다.
도 3은 도 2의 표준 셀의 핀 층의 평면도이며 한 실시예에 따라 표준 셀의 핀들에 대한 연결 가능한 위치들을 예시한 것이다.
도 4는 한 예시적인 실시예에서 도 1의 전자 디바이스 설계 시스템과 사용하기에 적합한 예시적인 분석 프로세스의 순서도이다.
도 5는 한 예시적인 실시예에서 도 4의 분석 프로세스와 사용하기에 적합한 예시적인 이용 프로세스의 순서도이다.
도 6은 한 실시예에 따라 도 4의 분석 프로세스와 사용하기에 적합한 도 1의 디스플레이 디바이스 상에서 디스플레이되는 도 2의 표준 셀 및 대응되는 이용 메트릭들의 그래픽 표현의 개략도이다.
도 7은 또 다른 실시예에 따라 도 1의 디스플레이 디바이스 상에서 디스플레이되는 도 2의 표준 셀에 대응되는 이용 메트릭들의 그래픽 표현의 개략도이다.
본래 다음의 상세한 설명은 오로지 예시적인 것이며, 본 발명의 실시예들이나 이러한 실시예들의 응용 및 사용을 제한하고자 의도된 것이 아니다. 본 명세서에서 사용되는 바와 같이, "예시적인"이라는 단어는 "예나 예시로서 역할을 하는"을 의미한다. 본 명세서에서 예시적인 것으로서 설명된 임의의 구현예는 다른 구현예들에 비해 반드시 바람직하거나 유리한 것으로서 이해되지는 않을 것이다. 뿐만 아니라, 전술된 기술분야, 발명의 배경이 되는 기술, 발명의 내용, 또는 다음의 상세한 설명에서 명시적으로나 묵시적으로 제공되는 임의의 이론에 의해 제한되도록 하려는 의도는 없다.
본 명세서에서 설명된 기법 및 기술들은 표준 셀 라이브러리에서 하나 이상의 표준 셀들의 입력/출력 단자들(또는 본 명세서에서는 핀(pin)들이라 한다)에 대하여 소프트웨어 라우팅 툴에 의한 이용을 분석하는 데 이용될 수 있다. 이 점과 관련하여, 사용자는 앞으로의 회로 설계에서 소프트웨어 라우팅 툴에 의해 라우팅될 때 차후에 오류들을 일으킬 수 있는 입력/출력 핀들에 대한 연결부의 설계에 어떠한 문제들이 존재하는지 여부를 확인하기 위해 표준 셀의 입력/출력 핀들에 대한 이용 메트릭(utilization metric)을 분석할 수 있다. 전자 설계 자동화(EDA) 툴들 및 전자 설계 흐름에서 다양한 단계들을 사용하는 용법은 잘 알려져 있으므로, 간결함을 위해 많은 종래의 단계들이나 다른 구현 양상들은 본 명세서에서 단지 간략히 언급되거나 또는 주지의 세부사항들을 제공하지 않고 전체로 생략될 것이다.
도 1은 도 2 내지 도 7과 관련하여 아래에서 더욱 상세히 설명되는 바와 같이 표준 셀 라이브러리에서 표준 셀들의 핀 액세스 가능성(accessibility)(즉, 개개의 입력/출력 핀들에 액세스 및/또는 연결하는 능력)을 분석하기에 적합한 전자 디바이스 설계 시스템(100)의 한 예시적인 실시예를 도시한 것이다. 전자 디바이스 설계 시스템(100)의 예시된 실시예는 사용자 인터페이스(102), 설계 툴(design tool)(104), 합성 툴(synthesis tool)(106), 배치 툴(placement tool)(108), 라우팅 툴(routing tool)(110), 분석 툴(analysis tool)(112), 디스플레이 디바이스(114), 표준 셀 라이브러리(standard cell library)(116), 및 라우터 기술 파일(router technology file)(118)을 제한됨이 없이 포함한다. 한 예시적인 실시예에서, 설계 툴(104), 합성 툴(106), 배치 툴(108), 라우팅 툴(110), 및 분석 툴(112)은 본 명세서에서 설명되는 그들 각각의 작업, 기능, 및/또는 동작들을 수행하도록 컴퓨터 디바이스(120)(예컨대, 컴퓨터, 프로세서 등)에 의해 실행되거나 아니면 구현되는 소프트웨어 모듈(즉, EDA 툴)로서 각각 실현된다. 이 점과 관련하여, 설계 툴(104), 합성 툴(106), 배치 툴(108), 라우팅 툴(110), 및/또는 분석 툴(112)의 기능들은 일시적이지 않은(non-transitory) 임의의 적합한 컴퓨터 판독 가능한 매체(예컨대, 탈착가능한 디스크, CD-ROM, DVD, 플래쉬 메모리, 하드 디스크, 레지스터, RAM 메모리, ROM 메모리, 자기 저장 디바이스(magnetic storage device) 등) 상에서 컴퓨팅 장치(120)에 의해 실행될 때 본 명세서에서 설명된 작업, 기능, 및/또는 동작들을 수행하도록 저장된 컴퓨터 실행 가능한 명령어들이나 데이터로서 저장되거나, 인코딩되거나, 아니면 실시될 수 있다. 유의해야할 점은 비록 도 1이 설계 툴(104), 합성 툴(106), 배치 툴(108), 라우팅 툴(110), 및 분석 툴(112)을 별도의 요소들로서 도시하고 있지만, 일부 실시예들에서, 설계 툴(104), 합성 툴(106), 배치 툴(108), 라우팅 툴(110), 및 분석 툴(112)은 컴퓨터 디바이스(120)에 의해 실행 가능한 단일의 소프트웨어 모듈로 통합될 수 있다는 것이다.
사용자 인터페이스(102)는 컴퓨터 디바이스(120)에 연결되며, 일반적으로 회로 설계자와 같은 사용자가 종래의 방법으로 전자 디바이스 설계 시스템(100)의 설계 툴(104) 및/또는 다른 요소들과 상호 작용할 수 있게 하도록 구성되는 전자 디바이스 설계 시스템(100)의 물리적 컴포넌트(physical component)를 나타낸다. 실시예에 따라, 사용자 인터페이스(102)는 키보드, 마우스, 터치 패드(touch pad), 터치 패널(touch panel)(또는 터치스크린(touchscreen)), 또는 사용자로부터 입력을 받도록 되어 있는 또 다른 적합한 디바이스로서 실현될 수 있다. 컴퓨터 디바이스(120)는 일반적으로 아래에서 더욱 상세히 설명되는 바와 같이 전자 디바이스 설계 시스템(100)의 동작을 지원하기 위해 설계 툴(104), 합성 툴(106), 배치 툴(108), 라우팅 툴(110), 및 분석 툴(112)을 구현하거나 아니면 실행하도록 구성되는 하드웨어 및/또는 펌웨어 컴포넌트(firmware component)들을 나타낸다. 컴퓨터 디바이스(120)는 본 명세서에서 설명되는 기능, 기법, 및 처리 작업들을 수행하도록 구성되는 프로세서 또는 다른 프로세싱 로직(processing logic)으로 구현되거나 실현될 수 있다. 예시적인 실시예에서, 디스플레이 디바이스(114)는 컴퓨터 디바이스(120)와 통신시에 연결되고 분석 툴(112) 및/또는 컴퓨터 디바이스(120)의 제어 하에서 핀 이용 메트릭들 또는 다른 핀 연결 정보를 그래픽으로 디스플레이하도록 구성되는 전자 디스플레이로서 실현된다.
한 예시적인 실시예에서, 설계 툴(104)은 일반적으로 컴퓨터 디바이스(120)에 의해 실행되거나 아니면 구현되는 소프트웨어 모듈을 나타내며, 이는 예를 들어 적합한 하드웨어 기술 언어(예컨대, Verilog, VHDL 등)를 지원함으로써 높은 수준의 기능적 회로 설계를 지원하도록 구성된다. 사용자(예컨대, 회로 설계자)는 생성될 회로의 의도된 기능들을 기술하거나 아니면 정의하기 위하여 설계 툴(104)과 상호 작용하도록 사용자 인터페이스(102)를 이용하거나 아니면 동작시킨다. 합성 툴(106)은 일반적으로 컴퓨터 디바이스(120)에 의해 실행되거나 아니면 구현되는 소프트웨어 모듈을 나타내며, 이는 설계 툴(104)과 상호 작용하도록 구성되고 사용자에 의해 설계 툴(104)에 제공되는 높은 수준의 의도된 기능들을 로직 게이트들 및/또는 다른 하드웨어 컴포넌트들의 인스턴스(instance)들(예컨대, 로직 게이트들 및/또는 컴포넌트들의 유형 및 그 개수) 및 의도된 기능들을 구현하는 데 필요한 상응하는 배선(interconnection)들을 기술하는 설계 네트리스트(design netlist)로 변환하도록 구성된다.
배치 툴(108)은 일반적으로 컴퓨터 디바이스(120)에 의해 실행되거나 아니면 구현되는 소프트웨어 모듈을 나타내며, 이는 합성 툴(106)로부터 설계 네트리스트를 받고, 표준 셀 라이브러리(116)로부터 설계 네트리스트에 의해 특정된 로직 게이트들 및/또는 하드웨어 컴포넌트들을 구현하는 데 필요한 표준 셀들을 선택하고, 선택된 표준 셀들을 최적으로 배치하도록 구성된다. 이 점과 관련하여, 표준 셀 라이브러리(116)는 일반적으로 표준화된 셀들의 모음을 나타내며, 표준 셀 라이브러리(116)의 각각의 셀은 특정한 제조 기술(또는 기술 노드)로 구현될 수 있는 로직 게이트 또는 하드웨어 컴포넌트를 나타내고, 각각의 셀은 표준 셀 라이브러리(116)의 다른 셀들과 동일한(또는 표준) 치수(dimension)를 가진다. 예를 들면, 표준 셀 라이브러리(116)에서 각각의 표준 셀은 특정한 제조 기술에 대하여 최소 폴리 피치(minimum poly pitch)의 배수 또는 수평 라우팅 트랙(horizontal routing track)들의 개수에 해당하는 동일한 셀 높이를 가질 수 있다. 한 실시예에 따르면, 표준 셀 라이브러리(116)에서 각각의 표준 셀은 도 2와 관련하여 아래에서 더욱 상세히 설명되는 바와 같이 2개의 평행한 공급 전압 레일들(voltage rails) 사이에 동일한 거리(또는 셀 높이)를 가진다. 실제로, 표준 셀 라이브러리(116)는 일시적이지 않은 임의의 적합한 컴퓨터 판독 가능한 매체 상에서 배치 툴(108) 및/또는 컴퓨팅 장치(120)에 의해 액세스 및/또는 실행될 수 있도록 저장된 컴퓨터 실행 가능한 명령어들이나 데이터로서 저장되거나, 인코딩되거나, 아니면 실시될 수 있다.
라우팅 툴(110)은 일반적으로 컴퓨터 디바이스(120)에 의해 실행되거나 아니면 구현되는 소프트웨어 모듈을 나타내며, 이는 배치 툴(108)로부터 배치된 표준 셀들을 받도록 구성되고 설계 네트리스트에 의해 기술된 배치 및 라우팅된 회로를 표현하는 그래픽 데이터베이스 시스템 Ⅱ(또는 GDSⅡ) 포맷의 레이아웃 데이터 파일과 같은 레이아웃 데이터 파일을 획득하기 위해 제조 기술에 대한 디자인 룰(design rule)들을 고려하면서 배치된 표준 셀들 사이에서 설계 네트리스트에 의해 특정된 바와 같이 최적으로 배선 및/또는 라우팅하기 위한 하나 이상의 알고리즘들을 구현하도록 구성된다. 한 예시적인 실시예에서, 라우팅 툴(110)은 라우터 기술 파일(118)을 액세스하며, 이는 디자인 룰들을 위반함이 없이 배치된 표준 셀들 사이에 배선 및/또는 라우팅하기 위해 라우팅 툴(110)에 의해 실행되는 알고리즘들에 의해 고려되어야 할 제조 기술에 대한 디자인 룰들을 제공한다. 실제로, 라우터 기술 파일(118)은 일시적이지 않은 임의의 적합한 컴퓨터 판독 가능한 매체 상에서 라우팅 툴(110) 및/또는 컴퓨팅 장치(120)에 의해 액세스 및/또는 실행될 수 있도록 저장된 컴퓨터 실행 가능한 명령어들이나 데이터로서 저장되거나, 인코딩되거나, 아니면 실시될 수 있다. 이 점과 관련하여, 비록 도 1이 라우터 기술 파일(118)을 전자 디바이스 설계 시스템(100)의 별도의 컴포넌트로서 도시하고 있지만, 일부 실시예들에서, 라우터 기술 파일(118)은 라우팅 툴(110)의 컴포넌트일 수 있거나 아니면 라우팅 툴(110)에 의해 구현되거나 및/또는 라우팅 툴(110)과 통합될 수 있다.
예시된 실시예에서, 분석 툴(112)은 일반적으로 컴퓨터 디바이스(120)에 의해 실행되거나 아니면 구현되는 소프트웨어 모듈을 나타내며, 이는 아래에서 더욱 상세히 설명되는 바와 같이 라우팅 툴(110)로부터 완료된 레이아웃 데이터 파일을 획득하고, 표준 셀 라이브러리(116)로부터 배치된 표준 셀들에 대한 이용 메트릭들을 결정하고, 디스플레이 디바이스(114) 상에서 이용 메트릭들을 그래픽으로 디스플레이하거나 아니면 그래픽으로 표현하도록 구성된다. 한 예시적인 실시예에서, 분석 툴(112)은 완료된 레이아웃 내에 배치된 특정한 유형의 표준 셀의 각각의 인스턴스를 파악하기 위해 획득된 완료된 레이아웃을 스캔(scan)하도록 구성된다. 아래에서 더욱 상세히 설명되는 바와 같이, 레이아웃 내의 그 특정한 표준 셀의 각각의 인스턴스에 대하여, 분석 툴(112)은 표준 셀의 그 각각의 인스턴스에 연결하기 위해 라우팅 툴(110)에 의해 선택되었거나 아니면 이용된 그 각각의 인스턴스의 입력/출력 핀들 상의 위치들(이하에서는 라우팅 연결 위치들이라 한다)을 결정한다. 도 4 내지 도 7과 관련하여 아래에서 더욱 상세히 설명되는 바와 같이, 분석 툴(112)은 각각의 입력/출력 핀에 대한 라우팅 연결 위치들(라우팅 툴(110)에 의해 선택되었거나 아니면 이용된 연결 위치들)을 그 각각의 입력/출력 핀에 대한 복수의 연결 가능한 위치들 중 개별 연결 위치로 연관시키고, 각각의 입력/출력 핀에 대하여 각각의 연결 가능한 위치가 이용된 총 횟수를 기반으로 표준 셀의 각각의 입력/출력 핀들에 대한 이용 메트릭들을 결정하고, 디스플레이 디바이스(114) 상에 이용 메트릭들을 디스플레이한다.
도 2는 도 1의 표준 셀 라이브러리(116)에 포함하기에 적합한 표준 셀(220)의 예시적인 실시예를 도시한 것이다. 표준 셀(200)의 예시된 실시예는 2개의 입력을 가지는 로직 게이트를 나타내며, 로직 게이트의 제1 입력에 해당하는 제1 연결부(202), 로직 게이트의 제2 입력에 해당하는 제2 연결부(204), 및 로직 게이트의 출력에 해당하는 출력 연결부(206)를 가진다. 연결부들(202, 204, 206)은 표준 셀(200)의 입력들과 출력들을 접촉하기 위해 라우팅 툴(110)에 대해 액세스 가능한 전도성 물질(예컨대, 금속, 폴리실리콘(polysilicon) 등)의 영역들을 나타낸다. 이런 방식으로, 연결부들(202, 204, 206)은 2개의 입력을 가지는 로직 게이트의 입력/출력 단자들(또는 핀들)을 제공하며, 대체가능한 것으로 연결부들(202, 204, 206)은 본 명세서에서 편의상 그리고 제한됨이 없이 핀들로서 지칭될 수 있다. 유의해야할 점은 도 2는 단지 라우팅 툴(110)에 대해 액세스 가능한 표준 셀(200)의 개개의 층(예컨대, 표준 셀(200)의 최상층)만을 예시한 것이며, 2개의 입력을 가지는 로직 게이트의 논리적 기능들을 구현하도록 구성되는 트랜지스터, 저항, 커패시터, 및/또는 다른 전기적 컴포넌트들은 그 아래에 놓이는 층들(예컨대, 핀들(202, 204, 206) 아래에)에 구현되고 적절한 방식으로 핀들(202, 204, 206)에 전기적으로 연결된다는 것이다. 도시된 바와 같이, 핀들(202, 204, 206)을 포함하는 층은 또한 표준 셀(200)에 대하여 양의 기준 전압(또는 공급 전압)과 음의 기준 전압(또는 접지 전압)에 각각 연결되는 전압 레일들을 제공하도록 구성되는 한 쌍의 연결부들(208, 210)을 포함한다. 전압 레일들(208, 210)은 평행하고 표준 셀 라이브러리(116)에 대한 표준 치수에 해당하는 거리(d)만큼 분리된다. 이 점과 관련하여, 표준 셀 라이브러리(116)의 각각의 표준 셀은 사이의 거리가 동일한(d) 상응하는 평행한 전압 레일들을 포함하며, 따라서 각각의 표준 셀은 동일한 높이를 가진다.
도 2는 설명의 목적에서 그리고 설명이 쉽도록 표준 셀을 간략화하여 표현한 것이고, 도 2는 어떤 방식으로든 본 발명을 제한하고자 의도된 것이 아니라는 점을 이해하여야 한다. 이 점과 관련하여, 비록 본 발명이 본 명세서에서는 2개의 입력을 가지는 로직 게이트에 대한 표준 셀의 맥락에서 서술되지만, 본 발명은 2개의 입력을 가지는 로직 게이트들로만 제한되는 것이 아니고, 임의의 개수의 입력 및/또는 출력 핀들을 가지는 표준 셀들에 대해 이용될 수 있다.
이제 도 3을 보면, 아래에서 더욱 상세히 설명되는 바와 같이, 한 예시적인 실시예에서, 분석 툴(112)은 예를 들어 각각의 핀 연결부(202, 204, 206)를 복수의 개별 세그먼트(segment)들로 세분화함으로써 각각의 핀 연결부(202, 204, 206)에 대한 개별 연결 가능한 위치들의 세트를 결정하거나 아니면 파악하도록 구성되며, 각각의 개별 세그먼트는 연결 가능한 위치를 나타낸다. 한 실시예에 따르면, 분석 툴(112)은 라우팅 툴(110)에 의해 표준 셀(200)로/로부터 라우팅하는 데 사용되고 있는 상부 층에 대한 제한조건들을 기반으로 각각의 핀 연결부(202, 204, 206)를 복수의 핀 연결 가능한 위치들로 세분화한다. 이 점과 관련하여, 도 3은 상부 금속 층이 수평으로(또는 전압 레일들(208, 210)에 평행하게) 이어지고 제조 기술에 대하여 최소 금속-대-금속 간격 거리만큼 분리되도록 제한되는 경우의 실시예를 예시한 것이다. 각각의 핀 연결부(202, 204, 206)에 대하여, 분석 툴(112)은 핀 연결 가능한 위치들을 각각의 핀 연결부(202, 204, 206)와 상부 금속 층이 교차할 수 있는 위치들, 즉 상부 금속 층의 금속 선들(300)이 각각의 핀 연결부(202, 204, 206)와 잠재적으로 포개지거나 및/또는 위에 놓일 수 있는 위치들로서 파악하거나 아니면 결정할 수 있다. 도 3에 예시된 바와 같이, 제1 입력 핀(202)은 2개의 금속 선들(300)이 그 연결부(202)와 포개지거나 및/또는 위에 놓이는 2개의 핀 연결 가능한 위치들(302, 304)을 가지고, 제2 입력 핀(204)은 5개의 금속 선들(300)이 그 연결부(204)와 포개지거나 및/또는 위에 놓이는 5개의 핀 연결 가능한 위치들(306, 308, 310, 312, 314)을 가지고, 출력 핀(206)은 7개의 금속 선들(300)이 그 연결부(206)와 포개지거나 및/또는 위에 놓이는 7개의 핀 연결 가능한 위치들(316, 318, 320, 322, 324, 326, 328)을 가진다. 한 실시예에 따르면, 아래에서 더욱 상세히 설명되는 바와 같이, 분석 툴(112)은 핀 이용 메트릭들을 결정할 때 핀 연결 가능한 위치들을 제거하거나 아니면 제외하도록 구성될 수 있다. 이 점과 관련하여, 디자인 룰들을 기반으로, 핀 연결부의 일부분들은 라우팅 툴에 의해 이용되는 것이 불가능할 수도 있다. 예를 들면, 아래에서 더욱 상세히 설명되는 바와 같이, 표준 셀(200) 내부에 비아(via) 또는 다른 컴포넌트가 존재할 수 있으며, 이들로 인해 핀 연결 위치들(316, 318)은 디자인 룰들(예컨대, 최소 비아 간격 룰)을 위반하지 않고는 라우팅 툴(110)에 의해 이용되지 못한다.
도 3은 설명의 목적에서 그리고 설명이 쉽도록 표준 셀과 상부의 금속 층을 간략화하여 표현한 것이고, 도 3은 어떤 방식으로든 본 발명을 제한하고자 의도된 것이 아니라는 점을 이해하여야 한다. 이 점과 관련하여, 대체가능한 실시예들에서, 상부 금속 층을 기반으로 핀 연결 가능한 위치들을 결정하는 대신에(예컨대, 상부 금속 층이 특정한 방향으로 이어지도록 제한되지 않을 때), 분석 툴(112)은 각각의 핀 연결부(202, 204, 206)를 복수의 동일한 간격의 세그먼트들로 세분화함으로써 핀 연결 가능한 위치들을 파악할 수 있다. 핀 연결부를 세분화할 수 있는 방법들은 무수히 존재하며, 본 발명이 핀 연결 가능한 위치들을 결정하기 위해 핀 연결부들을 세분화하기 위한 임의의 특정한 방식으로만 제한되지 않는다는 것은 인지될 것이다.
이제 도 4를 보면, 한 예시적인 실시예에서, 아래에서 설명되는 바와 같이 전자 디바이스 설계 시스템(100)은 분석 프로세스(400) 및 부가적인 작업, 기능, 및/또는 동작들을 수행하도록 구성될 수 있다. 예시적인 목적에서, 다음의 설명은 도 1 내지 도 3과 관련하여 위에서 언급된 요소들을 참조할 수 있다. 실제로, 상기 작업, 기능, 및 동작들은 설계 툴(104), 합성 툴(106), 배치 툴(108), 라우팅 툴(110), 분석 툴(112), 디스플레이 디바이스(114) 및/또는 컴퓨터 디바이스(120)와 같이 설명된 시스템의 서로 다른 요소들에 의해 수행될 수 있다. 임의의 개수의 부가적인 또는 대체가능한 작업들이 포함될 수 있으며, 본 명세서에서 상세히 설명되지 않은 부가적인 기능들을 가지는 더욱 포괄적인 절차 또는 프로세스로 통합될 수 있다는 것을 인지하여야 한다.
도 1 내지 도 3을 계속해서 참조하여 도 4를 보면, 분석 프로세스(400)는 셀 라이브러리의 하나 이상의 셀들에 대한 핀 이용을 분석하는 데 사용되는 완료된 레이아웃을 획득함으로써 초기화하거나 아니면 시작한다(작업 402). 이 점과 관련하여, 도 1과 관련하여 전술된 바와 같이, 분석 툴(112)은 설계 툴(104), 합성 툴(106), 배치 툴(108), 및 라우팅 툴(110)에 의해 발생된 레이아웃 데이터 파일을 획득한다. 한 예시적인 실시예에서, 레이아웃 데이터 파일은 예를 들어 배치 툴(108)의 기능들, 라우팅 툴(110)의 기능들, 표준 셀 라이브러리(116)의 특정한 개수의 표준 셀들, 라우팅 툴(110)이 표준 셀 라이브러리의 특정한 표준 셀의 개개의 입력/출력 핀들에 액세스 및/또는 연결하는 능력 등과 같이 전자 디바이스 설계 시스템(100)에 의해 구현되는 EDA 툴들의 하나 이상의 양상들을 테스트하려는 의도로 사용자가 생성한 테스트 회로 설계에 해당한다.
완료된 레이아웃을 획득한 후에, 분석 프로세스(400)는 계속해서 획득한 레이아웃 내에 배치된 특정한 유형의 셀에 대하여 핀 이용 메트릭들을 결정한다(작업 404). 한 예시적인 실시예에서, 분석 프로세스(400)는 획득한 레이아웃 내에 배치된 각각의 서로 다른 유형의 셀에 대하여 핀 이용 메트릭들을 결정한다. 예를 들면, 만일 레이아웃이 복수의 2개의 입력을 가지는 NAND 로직 게이트들과 복수의 2개의 입력을 가지는 OR 로직 게이트들을 포함한다면, 분석 프로세스(400)는 2개의 입력을 가지는 NAND 로직 게이트 표준 셀에 대하여 제1 세트의 핀 이용 메트릭들을 결정하고, 2개의 입력을 가지는 OR 게이트 로직 표준 셀에 대하여 제2 세트의 핀 이용 메트릭들을 결정한다. 일부 표준 셀 라이브러리들은 특정한 로직 게이트의 복수의 유형을 포함할 수 있으며(예를 들어, 2개의 입력을 가지는 NAND 로직 게이트에 대하여 서로 다른 구동력(drive strength)을 가지는 표준 셀들), 이러한 실시예들에서 분석 프로세스(400)는 동일한 기능적 로직 게이트의 유형들을 구별하여, 획득한 레이아웃 내에 배치된 각각의 유형의 셀에 대하여 각각의 서로 다른 구동력 변화에 대한 핀 이용 메트릭들을 결정한다(예컨대, 낮은 구동력의 2개의 입력을 가지는 NAND 게이트와 높은 구동력의 2개의 입력을 가지는 NAND 게이트에 대하여 별도의 핀 이용 메트릭들). 도 5와 관련하여 아래에서 더욱 상세히 설명되는 바와 같이, 분석 툴(112)은 각각의 유형의 표준 셀의 각각의 핀에 대하여 하나 이상의 이용 메트릭들을 결정하기 위하여 배치 툴(108)에 의해 레이아웃 안으로 배치된 표준 셀 라이브러리(116)의 각각의 유형의 표준 셀에 대하여 이용 프로세스(utilization process)를 구현하거나, 실행하거나, 아니면 수행할 수 있다. 이 점과 관련하여, 각각의 핀에 대한 이용 메트릭(들)은 라우팅 툴(110)이 각각의 연결부를 이용한 방식을 수치로 표시하거나 아니면 나타낸다.
한 예시적인 실시예에서, 레이아웃에 배치된 각각의 유형의 셀에 대한 이용 메트릭들을 결정한 후에, 분석 프로세스(400)는 계속해서 배치된 셀들에 대한 이용 메트릭들을 디스플레이 디바이스 상에 디스플레이한다(작업 406). 이 점과 관련하여, 도 6 내지 도 7과 관련하여 아래에서 더욱 상세히 설명되는 바와 같이, 분석 툴(112) 및/또는 컴퓨터 디바이스(120)는 디스플레이 디바이스(114) 상에서 표준 셀 라이브러리(116)의 각각의 배치된 표준 셀에 대한 핀 이용 메트릭들의 그래픽 표현을 디스플레이하고 핀 이용 메트릭들과 각각의 유형의 표준 셀이나 각각의 유형의 표준 셀의 각각의 핀들 사이의 연관성을 그래픽으로 표시하도록 구성된다. 따라서, 사용자는 레이아웃에 배치된 표준 셀 라이브러리(116)로부터의 각각의 유형의 표준 셀에 대하여 디스플레이되는 핀 이용 메트릭들을 관찰하고 분석할 수 있으며, 디스플레이되는 핀 이용 메트릭들을 기반으로 임의의 유형의 표준 셀들의 임의의 입력/출력 핀들의 액세스 가능성에 관하여 어떤 문제가 존재할 수 있는지 여부를 판별할 수 있다. 예를 들면, 만일 라우팅 툴(110)이 특정한 유형의 표준 셀의 특정한 핀 연결부를 편중하여 사용한다고 핀 이용 메트릭들이 표시한다면, 그 특정한 핀에 관하여 잠재적인 액세스 가능성 문제들이 있을 수 있으며 후속의 회로 설계에서 그 유형의 표준 셀의 인스턴스들로/로부터 라우팅할 때 오류를 일으킬 수 있다. 따라서, 라우팅 툴(110)이 특정한 유형의 표준 셀의 특정한 핀 연결부를 편중하여 사용한다는 것을 파악하는 것에 응답하여, 사용자는 라우팅 툴(110)에 의해 그 표준 셀의 핀 연결부들이 보다 균형되게 사용되도록 그 특정한 표준 셀이 재설계될(예컨대, 그 표준 셀의 핀 연결부(들)을 재위치시키거나, 크기를 재조정하거나, 아니면 재설계함으로써) 필요가 있다고 결정할 수 있다. 대체가능한 것으로, 사용자는 라우터 기술 파일(118) 및/또는 라우팅 툴(110)에 문제가 있고, 라우터 기술 파일(118) 및/또는 라우팅 툴(110)이 핀 연결부들의 보다 균형된 사용을 제공하도록 수정될 필요가 있을 수 있다고 결정할 수 있다.
이제 도 5를 보면, 한 예시적인 실시예에서, 전자 디바이스 설계 시스템(100)은 아래에서 설명되는 바와 같이 이용 프로세스(500) 및 부가적인 작업, 기능, 및/또는 동작들을 수행하도록 구성될 수 있다. 예시적인 목적에서, 다음의 설명은 도 1 내지 도 4와 관련하여 위에서 언급된 요소들을 참조할 수 있다. 실제로, 상기 작업, 기능, 및 동작들은 분석 툴(112), 디스플레이 디바이스(114) 및/또는 컴퓨터 디바이스(120)와 같이 설명된 시스템의 서로 다른 요소들에 의해 수행될 수 있다. 임의의 개수의 부가적인 또는 대체가능한 작업들이 포함될 수 있으며, 본 명세서에서 상세히 설명되지 않은 부가적인 기능들을 가지는 더욱 포괄적인 절차 또는 프로세스로 통합될 수 있다는 것을 인지하여야 한다.
위에서 설명된 바와 같이, 한 예시적인 실시예에서, 이용 프로세스(500)는 레이아웃 내에 배치된 각각의 서로 다른 유형의 셀에 대한 핀 이용 메트릭들을 결정하기 위해 수행된다. 이 점과 관련하여, 이용 프로세스(500)는 레이아웃 내에서 분석되고 있는 특정한 유형의 셀의 각각의 인스턴스를 파악함으로써 시작한다(작업 502). 예를 들면, 분석 툴(112)은 배치 툴(108)에 의해 레이아웃 안으로 배치된 표준 셀 라이브러리(116)로부터의 2개의 입력을 가지는 로직 게이트의 각각의 인스턴스에 대하여 라우팅 툴(110)로부터 획득된 완료된 레이아웃을 스캔할 수 있다. 분석되고 있는 셀의 각각의 파악된 인스턴스에 대하여, 이용 프로세스(500)는 셀의 그 인스턴스의 각각의 입력/출력 핀에 대한 라우팅 핀 연결 위치들을 결정하거나 아니면 파악한다(작업 504). 위에서 제시된 바와 같이, 셀의 각각의 핀에 대한 라우팅 핀 연결 위치는 그 각각의 핀에 전기적 연결을 제공하거나 아니면 그 각각의 핀과 인터페이스하기 위해 라우팅 툴(110)에 의해 이용된 위치(예컨대, 라우팅 툴(110)이 그 핀과 상부 금속 층 사이에 비아를 생성한 위치)를 가리키는 것으로 이해되어야 한다. 예를 들면, 레이아웃에서 파악된 2개의 입력을 가지는 로직 게이트 표준 셀(200)의 각각의 인스턴스에 대하여, 분석 툴(112)은 표준 셀(200)의 원점에 대하여 상부 금속 층과 제1 입력 핀 연결부(202) 사이에 라우팅 툴(110)에 의해 생성된 전기적 연결 위치에 대한 2차원 좌표들을 결정함으로써 제1 입력 핀(202)에 대한 라우팅 핀 연결 위치를 결정할 수 있다. 유사한 방식으로, 분석 툴(112)은 상부 금속 층과 제2 입력 핀 연결부(204) 사이에 라우팅 툴(110)에 의해 생성된 전기적 연결 위치에 대한 2차원 좌표들을 결정함으로써 제2 입력 핀(204)에 대한 라우팅 핀 연결 위치를 결정할 수 있고, 분석 툴(112)은 상부 금속 층과 출력 핀 연결부(206) 사이에 라우팅 툴(110)에 의해 생성된 전기적 연결 위치에 대한 2차원 좌표들을 결정함으로써 출력 핀(206)에 대한 라우팅 핀 연결 위치를 결정할 수 있다.
한 예시적인 실시예에서, 이용 프로세스(500)는 분석되고 있는 셀의 모든 인스턴스들에 대한 라우팅 핀 연결 위치들을 종합하고 각각의 핀의 각각의 핀 연결 가능한 위치에 대한 핀 이용 메트릭을 결정함으로써 계속된다(작업 506, 508). 이 점과 관련하여, 분석 툴(112)은 2개의 입력을 가지는 로직 게이트 표준 셀(200)의 각각의 핀에 대하여 복수의 라우팅 핀 연결 위치들을 획득한다. 한 예시적인 실시예에서, 분석 툴(112)은 각각의 핀에 대한 핀 연결 가능한 위치들 전반에 걸쳐 그 핀에 대한 라우팅 핀 연결 위치들의 상대적 분포를 기반으로 그 핀에 대한 핀 이용 메트릭들을 결정한다. 하나 이상의 실시예들에 따르면, 분석 툴(112)은 모든 셀들이 고려될 때까지 셀의 각각의 인스턴스에 대한 라우팅 핀 연결 위치들을 카운트(count)하거나 아니면 더하기(add)함으로써 각각의 핀 연결 가능한 위치가 라우팅 툴(110)에 의해 이용된 횟수를 추적한다. 예를 들면, 분석 툴(112)은 제1 핀 연결 위치(302)가 라우팅 툴(110)에 의해 이용된 총 횟수에 해당하는 제1 핀 이용 메트릭을 결정하기 위해 핀 연결 위치(302)에 대응되는 모든 라우팅 핀 연결 위치들을 카운트할 수 있고, 제2 핀 연결 위치(304)가 라우팅 툴(110)에 의해 이용된 총 횟수에 해당하는 제2 핀 이용 메트릭을 결정하기 위해 핀 연결 위치(304)에 대응되는 모든 라우팅 핀 연결 위치들을 카운트할 수 있다. 또 다른 실시예들에서, 분석 툴(112)은 예를 들어 핀 연결 위치(302)가 라우팅 툴(110)에 의해 이용된 총 횟수 대 2개의 입력을 가지는 로직 게이트 표준 셀(200)이 레이아웃에서 이용되거나 및/또는 배치된 총 횟수의 비율을 취함으로써 라우팅 툴(110)이 핀 연결 위치(302)를 이용한 상대적 빈도 또는 백분율에 해당하는 핀 연결 위치(302)에 대한 핀 이용 메트릭을 결정할 수 있다. 유사한 방식으로, 분석 툴(112)은 나머지 핀 연결 가능한 위치들(306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328)에 대한 핀 이용 메트릭들을 결정할 수 있다.
이제 도 1 내지 도 5를 계속해서 참조하여 도 6을 보면, 도 4와 관련하여 위에서 제시된 바와 같이, 핀 이용 메트릭들을 결정한 후에, 분석 프로세스(400)는 레이아웃에 배치된 표준 셀 라이브러리(116)의 각각의 서로 다른 유형의 셀에 대한 핀 이용 메트릭들의 그래픽 표현을 디스플레이 디바이스(114) 상에 디스플레이한다. 이 점과 관련하여, 레이아웃에서 2개의 입력을 가지는 로직 게이트 표준 셀(200)의 각각의 인스턴스를 파악하고, 2개의 입력을 가지는 로직 게이트 표준 셀(200)의 모든 인스턴스들 전반에 걸쳐 라우팅 핀 연결 위치들을 종합하고, 2개의 입력을 가지는 로직 게이트 표준 셀(200)의 핀 연결 위치들에 대한 핀 이용 메트릭들을 결정하기 위해 이용 프로세스(500)를 수행한 후에, 분석 툴(112) 및/또는 분석 프로세스(400)는 그 각각의 핀 연결 위치들과 관련하여 결정된 핀 이용 메트릭들을 디스플레이 디바이스(114) 상에 디스플레이할 수 있다. 예를 들면, 도 6에 예시된 바와 같이, 분석 툴(112) 및/또는 분석 프로세스(400)는 핀 연결부들(202, 204, 206)의 그래픽 표현을 포함하여 표준 셀(200)의 그래픽 표현(600)을 디스플레이 디바이스(114) 상에 디스플레이할 수 있다. 도 6에 예시된 바와 같이, 한 예시적인 실시예에서, 분석 프로세스(400) 및/또는 분석 툴(112)은 예를 들어 핀 연결 가능한 위치들 위에 놓이는 비아들의 그래픽 표현을 디스플레이하거나, 또는 핀 연결 가능한 위치들을 표시하거나 아니면 묘사하기 위해 그래픽으로 동그라미를 그리거나 다른 적합한 표시를 디스플레이함으로써 표준 셀(200)의 핀들(202, 204, 206)에 대한 핀 연결 가능한 위치들을 그래픽으로 표시한다. 한 실시예에 따르면, 분석 프로세스(400) 및/또는 분석 툴(112)은 예를 들어 사용자가 사용되지 않는 핀 연결 가능한 위치들(320, 322, 328)을 더욱 쉽게 파악할 수 있게 하기 위하여 시각적으로 구별할 수 있는 특성(예컨대, 시각적으로 구별할 수 있는 선 유형, 색상, 질감(texture), 무늬(pattern) 등)을 사용하여 사용되지 않는 핀 연결 가능한 위치들(320, 322, 328) 위에 놓이는 비아들의 그래픽 표현들을 디스플레이하거나 렌더링(render)함으로써 사용되지 않는 핀 연결 가능한 위치들(320, 322, 328)을 그래픽으로 표시할 수 있다.
한 예시적인 실시예에서, 분석 프로세스(400) 및/또는 분석 툴(112)은 관련된 핀 연결 가능한 위치에 해당하는 위치들에서 핀 연결부들(202, 204, 206)의 그래픽 표현들 위에 놓이도록 핀 이용 메트릭들의 그래픽 표현들을 디스플레이함으로써 핀 이용 메트릭들과 핀 연결 가능한 위치들 사이의 연관성을 그래픽으로 표시한다. 도 6에 예시된 바와 같이, 한 예시적인 경우에, 라우팅 툴(110)은 제1 입력 핀 연결부(202)의 핀 연결 위치(302)를 20번(또는 대략 59 퍼센트) 이용하였고, 제1 입력 핀 연결부(202)의 핀 연결 위치(304)를 14번(또는 대략 41 퍼센트) 이용하였으며, 이는 제1 입력 핀 연결부(202)의 비교적 균형된 이용을 표시한다. 라우팅 툴(110)은 제2 입력 핀 연결부(204)의 각각의 핀 연결 위치(306, 308, 310, 312, 314)를 적어도 1번 이용하였지만, 핀 연결 위치(314)를 50 퍼센트 넘게 그리고 그 다음으로 많이 이용된 핀 연결 위치(310)보다 2배 넘게 이용하였으며, 이는 제2 입력 핀 연결부(204)의 보다 균형되지 않은 이용을 표시한다. 라우팅 툴(110)은 각각의 핀 연결 위치(316, 318, 320, 322, 324, 326, 328)를 이용하지 못했고, 사실상 핀 연결 가능한 위치들 중 오로지 2개의 연결 위치들(324, 326)만을 사용하였으며, 이는 라우팅 툴(110)에 의한 출력 핀 연결부(206)의 상대적으로 편중된 이용을 표시한다. 이에 따라, 사용자는 제2 입력 핀 연결부(204) 및/또는 출력 핀 연결부(206)에 대하여 라우팅 툴(110)의 거동을 합리적으로 개선하려는 시도를 할 수 있고(예를 들면, 디자인 룰들이나 다른 제한조건들이 편중된 이용의 원인일 수 있다), 만일 사용자가 표준 셀(200)의 레이아웃 및/또는 설계가 제2 입력 핀(204) 및/또는 출력 핀(206)의 편중된 이용의 원인이라고 믿는다면, 사용자는 제2 입력 핀 연결부(204) 및/또는 출력 핀 연결부(206)의 더욱 균형된 이용을 달성하기 위해 표준 셀(200) 내에서 제2 입력 핀 연결부(204) 및/또는 출력 핀 연결부(206)를 재위치시키거나, 크기를 재조정하거나, 아니면 재배치하도록 표준 셀(200)을 재설계할 수 있다. 위에서 설명된 바와 같이, 일부 실시예들에서, 분석 프로세스(400) 및/또는 분석 툴(112)은 위치들(316, 318)을 핀 연결 가능한 위치들로서 달리 표시하거나 아니면 묘사할 표시를 디스플레이하지 못함으로써 위치들(316, 318)이 실제로 핀 연결 가능한 위치들이 아니라고(예컨대, 표준 셀(200)의 다른 컴포넌트들을 기반으로 한 디자인 룰들이나 제한조건들로 인해) 그래픽으로 표시할 수 있다.
이제 도 1 내지 도 6을 계속해서 참조하여 도 7을 보면, 하나 이상의 실시예들에 따라, 핀 이용 메트릭들이 위에 놓이도록 셀의 그래픽 표현을 디스플레이하는 대신에 또는 그에 부가적으로, 분석 프로세스(400) 및/또는 분석 툴(112)은 표준 셀 라이브러리(116)의 하나 이상의 표준 셀들에 대한 이용 메트릭들을 그래픽으로 나타내는 표(700)를 디스플레이 디바이스(114) 상에 디스플레이할 수 있다. 예시된 실시예에서, 표(700)는 표준 셀의 개개의 입력/출력 핀들에 해당하는 엔트리들을 가지는 제1 열(702)과 제1 열(702)에 열거된 각각의 입력/출력 핀들에 대한 핀 이용 메트릭들에 해당하는 엔트리들을 가지는 제2 열(704)을 포함하며, 각각의 핀 이용 메트릭과 그에 해당하는 입력/출력 핀은 그 연관성을 그래픽으로 표시하기 위해 표(700)의 동일한 행에 정렬된다.
한 예시적인 실시예에서, 제2 열(704)은 라우팅 툴(110)에 의해 이용된 각각의 핀에 대한 핀 연결 가능한 위치들의 백분율을 표시하는 핀 이용 메트릭들을 포함한다. 예를 들면, 도 6과 관련하여 위에서 설명된 예시적인 경우에, 라우팅 툴(110)은 제1 입력 핀 연결부(202)의 모든 핀 연결 위치들(302, 304)을 이용하였고, 이로 인해 제1 입력 핀 연결부(202)에 대한 전체 핀 이용 메트릭은 100 퍼센트가 된다. 유사하게, 라우팅 툴(110)은 제2 입력 핀 연결부(204)의 각각의 핀 연결 위치(306, 308, 310, 312, 314)를 적어도 1번 이용하였다. 하지만, 위에서 설명된 바와 같이, 라우팅 툴(110)은 출력 연결부(206)에 대하여 5개의 핀 연결 가능한 위치들(320, 322, 324, 326, 328) 중 단지 2개만을 이용하였으며, 이로 인해 출력 핀 연결부(206)에 대한 전체 핀 이용 메트릭은 40 퍼센트가 된다. 도 7의 예시된 실시예에서, 표(700)는 표준 셀(200)의 모든 핀들을 나타내는 누계 핀 엔트리를 제1 열(702)에 포함하고, 라우팅 툴(110)에 의해 이용된 표준 셀(200)의 총 핀 연결 가능한 위치들의 백분율을 나타내는 누계 핀 이용 메트릭을 제2 열(704)에 포함한다. 이 점과 관련하여, 위에서 설명된 예시적인 경우에 대하여, 라우팅 툴(110)은 표준 셀(200)에 대하여 12개의 핀 연결 가능한 위치들 중 9개를 이용하였고, 따라서 표(700)는 표준 셀(200)에 대한 누계 핀 이용 메트릭을 75 퍼센트로 표시한다. 위에서 설명된 바와 같이, 표(700)를 관찰하고 분석한 후에, 만일 사용자가 표준 셀(200)의 레이아웃 및/또는 설계가 출력 핀 연결부(206)의 상대적으로 낮은 이용의 원인이라고 믿는다면, 사용자는 출력 핀 연결부(206)를 더 많이 이용할 수 있게 하기 위해 출력 핀 연결부(206)를 재위치시키거나, 크기를 재조정하거나, 아니면 재배치하도록 표준 셀(200)을 재설계할 수 있다.
도 7은 설명의 목적으로 표를 간략화하여 표현한 것이고, 도 7은 어떤 방식으로든 본 발명을 제한하고자 의도된 것이 아니라는 점을 인지하여야 한다. 예를 들면, 일부 실시예들에서, 분석 프로세스(400) 및/또는 분석 툴(112)은 표준 셀 라이브러리(116)의 복수의 표준 셀들에 대한 핀 이용 메트릭들을 디스플레이하는 표를 디스플레이할 수 있다. 뿐만 아니라, 일부 실시예들에서, 분석 프로세스(400) 및/또는 분석 툴(112)에 의해 디스플레이되는 표는 표준 셀 라이브러리(116)의 각각의 표준 셀의 각각의 입력/출력 핀에 대하여 각각의 연결 가능한 위치에 대한 엔트리들을 디스플레이할 수 있으며, 핀 이용 메트릭은 각각의 연결 가능한 위치가 라우팅 툴(110)에 의해 이용된 횟수(예컨대, 각각의 연결 가능한 위치에 해당하는 라우팅 연결 위치들의 파악된 개수 또는 라우팅 툴(110)이 핀의 각각의 연결 가능한 위치를 이용한 백분율)를 기반으로 각각의 연결 가능한 위치와 연관되어 디스플레이된다.
간략히 요약하면, 본 명세서에서 설명된 방법들의 한 가지 장점은 사용자가 입력/출력 핀들의 핀 연결부들의 이용을 분석하고 나중에 라우팅 오류를 일으킬 수 있는 임의의 핀 연결부들을 파악할 수 있게 하는 방식으로 표준 셀 라이브러리의 표준 셀들의 입력/출력 핀들에 대한 핀 이용 메트릭들이 결정되고 사용자에게 제공될 수 있다는 것이다. 위에서 설명된 바와 같이, 핀 이용 메트릭들이 핀 연결부가 잘 이용되지 않거나 편중된 방식으로 사용된다고 표시할 때에는, 사용자는 후속 설계들에서 라우팅 오류 가능성을 줄이기 위해 라우팅 툴에 의해 표준 셀의 핀 연결 부들이 더욱 균형되게 이용되도록 표준 셀의 핀 연결부들을 재설계하거나 및/또는 라우팅 툴 및/또는 라우터 기술 파일을 수정할 수 있다.
간결함을 위해, 집적 회로 설계, EDA 설계 순서, 및 시스템(및 시스템의 개개의 동작 컴포넌트들)의 다른 기능적 양상들에 관한 종래의 기법들은 본 명세서에서 상세히 설명되지 않을 수 있다. 본 명세서에서 설명된 본 발명의 물리적 실시예들은 기존의 반도체 제조 기법들과 컴퓨터로 구현되는 설계 툴들을 사용하여 실현될 수 있다. 예를 들면, 본 명세서에서 설명된 본 발명의 실시예들은 일시적이지 않은 임의의 적합한 컴퓨터 판독 가능한 매체 상에서 컴퓨터, 프로세서 등에 의해 실행될 때 표준 셀 라이브러리들을 사용한 전자 회로 설계 및 전자 회로의 완료된 레이아웃에서 이용된 표준 셀들의 분석을 용이하게 하도록 저장된 컴퓨터 실행 가능한 명령어들이나 데이터로서 저장되거나, 인코딩되거나, 아니면 실시될 수 있다.
전술된 상세한 설명에서 적어도 하나의 예시적인 실시예가 제공되었지만, 방대한 수의 변형들이 존재한다는 것을 인지하여야 한다. 또한 본 명세서에서 설명된 예시적인 실시예나 실시예들은 어떤 방식으로든 청구된 발명의 범위, 응용, 또는 구성을 제한하고자 의도된 것이 아니라는 것을 인지하여야 한다. 오히려, 전술된 상세한 설명은 당해 기술 분야의 통상의 기술자들에게 설명된 실시예나 실시예들을 구현하기 위한 편리한 지침을 제공할 것이다. 특허청구범위에서 정해지는 범위를 벗어남이 없이 요소들의 기능 및 배치에 있어서 다양한 변화가 이루어질 수 있으며, 그 범위는 본 특허 출원의 출원 당시에 주지의 균등물들과 예측가능한 균등물들을 포함한다는 것을 이해하여야 한다.

Claims (20)

  1. 레이아웃(layout)을 발생시키는 데 사용되는 셀 라이브러리(cell library)의 셀을 분석하는 방법으로서,
    상기 레이아웃에 있는 상기 셀의 각각의 인스턴스(instance)에 대하여, 상기 셀의 핀에 대하여 상기 레이아웃에서 이용된 각각의 라우팅 연결 위치(routed connection location)를 결정하고, 복수의 라우팅 연결 위치들을 결정하는 단계와;
    상기 복수의 라우팅 연결 위치들과 상기 핀에 대한 복수의 연결 가능한 위치들을 기반으로 상기 셀의 상기 핀에 대한 이용 메트릭(utilization metric)을 결정하는 단계와, 여기서 상기 이용 메트릭을 결정하는 단계는
    상기 레이아웃에 있는 상기 셀의 각각의 인스턴스에 대하여, 상기 핀에 대한 상기 복수의 연결 가능한 위치들 중에서 상기 각각의 라우팅 연결 위치에 대응되는 연결 가능한 위치를 파악하는 것과,
    상기 복수의 연결 가능한 위치들의 각각의 연결 가능한 위치에 대하여, 상기 레이아웃에 있는 상기 셀의 각각의 인스턴스에 대하여 파악된 상기 연결 가능한 위치를 기반으로 상기 각각의 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수를 결정하는 것과, 그리고
    상기 핀에 대한 상기 복수의 연결 가능한 위치들의 각각의 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수를 기반으로 상기 셀의 상기 핀에 대한 상기 이용 메트릭을 결정하는 것을 포함하며; 그리고
    상기 이용 메트릭을 디스플레이 디바이스 상에 디스플레이하는 단계를 포함하는 셀 라이브러리의 셀 분석 방법.
  2. 제1항에 있어서,
    상기 이용 메트릭을 디스플레이하는 단계는
    상기 디스플레이 디바이스 상에 상기 셀의 그래픽 표현을 디스플레이하는 것과, 상기 셀의 상기 그래픽 표현은 상기 핀에 대한 핀 커버리지 영역(pin coverage area)의 그래픽 표현을 포함하며, 그리고
    상기 핀 커버리지 영역 위에 놓이도록 상기 이용 메트릭을 디스플레이하는 것을 포함하는
    셀 라이브러리의 셀 분석 방법.
  3. 제1항에 있어서,
    상기 이용 메트릭을 디스플레이하는 단계는 상기 이용 메트릭과 상기 셀의 상기 핀 사이의 연관성을 그래픽으로 표시하는 것을 포함하는
    셀 라이브러리의 셀 분석 방법.
  4. 제1항에 있어서,
    상기 이용 메트릭을 디스플레이하는 단계는 상기 이용 메트릭과 상기 셀의 상기 핀 사이의 연관성을 표시하는 표를 디스플레이하는 것을 포함하는
    셀 라이브러리의 셀 분석 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 이용 메트릭을 결정하는 단계는 상기 레이아웃에서 이용된 상기 복수의 연결 가능한 위치들의 백분율을 결정하는 것을 포함하는
    셀 라이브러리의 셀 분석 방법.
  7. 제1항에 있어서,
    상기 이용 메트릭을 결정하는 단계는 상기 복수의 연결 가능한 위치들의 각각의 연결 가능한 위치에 대하여 상기 복수의 라우팅 연결 위치들 중에서 상기 각각의 연결 가능한 위치에 대응되는 라우팅 연결 위치들의 개수를 기반으로 상기 각각의 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수를 결정하는 것을 포함하는
    셀 라이브러리의 셀 분석 방법.
  8. 제7항에 있어서,
    디스플레이 디바이스 상에 상기 핀에 대한 핀 커버리지 영역의 그래픽 표현을 포함하는 상기 셀의 그래픽 표현을 디스플레이하는 단계와; 그리고
    각각의 연결 가능한 위치에 대하여, 상기 각각의 연결 가능한 위치에 대응되는 상기 핀 커버리지 영역의 상기 그래픽 표현 상의 위치 위에 놓이도록 상기 각각의 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수를 디스플레이하는 단계
    를 더 포함하는 셀 라이브러리의 셀 분석 방법.
  9. 제7항에 있어서,
    상기 이용 메트릭을 결정하는 단계는 상기 복수의 연결 가능한 위치들의 각각의 연결 가능한 위치에 대하여 상기 각각의 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수와 상기 레이아웃에 있는 상기 셀의 인스턴스들의 개수를 기반으로 이용 백분율을 결정하는 것을 더 포함하는
    셀 라이브러리의 셀 분석 방법.
  10. 제9항에 있어서,
    디스플레이 디바이스 상에 상기 핀에 대한 핀 커버리지 영역의 그래픽 표현을 포함하는 상기 셀의 그래픽 표현을 디스플레이하는 단계와; 그리고
    각각의 연결 가능한 위치에 대하여, 상기 각각의 연결 가능한 위치에 대응되는 상기 핀 커버리지 영역의 상기 그래픽 표현 상의 위치 위에 놓이도록 상기 이용 백분율을 디스플레이하는 단계
    를 더 포함하는 셀 라이브러리의 셀 분석 방법.
  11. 레이아웃을 획득하는 데 사용되는 셀 라이브러리의 셀을 분석하는 방법으로서,
    상기 레이아웃에 배치된 상기 셀의 각각의 인스턴스를 파악하고, 복수의 배치된 셀들을 파악하는 단계와;
    상기 복수의 배치된 셀들의 각각의 배치된 셀에 대하여, 상기 셀의 제1 단자에 연결하기 위해 상기 레이아웃에 의해 이용된 라우팅 연결 위치를 파악하고, 복수의 라우팅 연결 위치들을 결정하는 단계와;
    상기 셀의 상기 제1 단자에 대한 복수의 연결 가능한 위치들의 각각의 연결 가능한 위치에 대하여, 상기 복수의 라우팅 연결 위치들 중에서 상기 각각의 연결 가능한 위치에 대응되는 라우팅 연결 위치들의 개수를 기반으로 상기 각각의 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수를 결정하는 단계와;
    상기 각각의 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수를 기반으로 상기 셀에 대한 이용 메트릭을 결정하는 단계와; 그리고
    상기 이용 메트릭을 디스플레이 디바이스 상에 디스플레이하는 단계
    를 포함하는 셀 라이브러리의 셀 분석 방법.
  12. 제11항에 있어서,
    상기 이용 메트릭을 결정하는 단계는 각각의 연결 가능한 위치에 대하여 연결 위치 이용 메트릭을 결정하는 것을 포함하고,
    상기 이용 메트릭을 디스플레이하는 단계는
    상기 제1 단자의 그래픽 표현을 디스플레이하는 것과,
    각각의 연결 가능한 위치에 대응되는 상기 제1 단자의 상기 그래픽 표현 상의 위치 위에 놓이도록 상기 각각의 연결 가능한 위치에 대한 상기 연결 위치 이용 메트릭의 그래픽 표현을 디스플레이하는 것을 포함하는
    셀 라이브러리의 셀 분석 방법.
  13. 제11항에 있어서,
    상기 이용 메트릭을 결정하는 단계는 상기 복수의 라우팅 연결 위치들의 서로 다른 라우팅 연결 위치들의 개수와 상기 제1 단자에 대한 연결 가능한 위치들의 총 개수를 기반으로 상기 제1 단자에 대한 전체 이용 메트릭을 결정하는 것을 포함하고,
    상기 이용 메트릭을 디스플레이하는 단계는 상기 전체 이용 메트릭과 상기 셀의 상기 제1 단자 사이의 연관성을 그래픽으로 표시하는 것을 포함하는
    셀 라이브러리의 셀 분석 방법.
  14. 제11항에 있어서,
    상기 복수의 배치된 셀들의 각각의 배치된 셀에 대하여 라우팅 연결 위치를 파악하는 단계는 상기 복수의 배치된 셀들의 각각의 배치된 셀에 대하여 상기 셀의 상기 제1 단자로의 연결에 대한 좌표 위치를 결정하는 것을 포함하고,
    상기 각각의 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수를 결정하는 단계는 상기 제1 단자로의 상기 연결에 대한 상기 좌표 위치가 상기 각각의 연결 가능한 위치에 대한 각각의 좌표 위치에 대응되는 상기 복수의 배치된 셀들의 배치된 셀들의 개수를 결정하는 것을 포함하는
    셀 라이브러리의 셀 분석 방법.
  15. 제11항에 있어서,
    상기 복수의 배치된 셀들의 각각의 배치된 셀에 대하여, 상기 셀의 제2 단자에 연결하기 위해 상기 레이아웃에 의해 이용된 제2 라우팅 연결 위치를 파악하고, 제2 복수의 라우팅 연결 위치들을 결정하는 단계와;
    상기 셀의 상기 제2 단자에 대한 복수의 제2 단자 연결 가능한 위치들의 각각의 제2 단자 연결 가능한 위치에 대하여, 상기 제2 복수의 라우팅 연결 위치들 중에서 상기 각각의 제2 단자 연결 가능한 위치에 대응되는 라우팅 연결 위치들의 개수를 기반으로 상기 각각의 제2 단자 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수를 결정하는 단계와;
    각각의 제2 단자 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수를 기반으로 상기 셀의 제2 이용 메트릭을 결정하는 단계와; 그리고
    상기 제2 이용 메트릭을 상기 디스플레이 디바이스 상에 디스플레이하는 단계
    를 더 포함하는 셀 라이브러리의 셀 분석 방법.
  16. 컴퓨터 디바이스에 의해 실행될 수 있는 컴퓨터 실행 가능한 명령어들 또는 데이터가 저장된 컴퓨터 판독 가능한 매체로서,
    상기 명령어들 또는 데이터는:
    네트리스트(netlist)를 표현하며 상기 네트리스트를 구현하기 위하여 셀 라이브러리를 이용하는 레이아웃을 획득하고,
    상기 레이아웃에 배치된 상기 셀 라이브러리의 제1 셀의 각각의 인스턴스를 파악하고;
    상기 제1 셀의 상기 파악된 인스턴스들에 대하여 상기 레이아웃에서 이용된 상기 제1 셀의 핀에 대한 라우팅 연결 위치들을 기반으로 상기 제1 셀에 대한 이용 메트릭을 결정하고;
    상기 이용 메트릭의 그래픽 표현을 상기 컴퓨터 디바이스와 통신시에 연결되는 디스플레이 디바이스 상에 디스플레이하고,
    상기 저장된 컴퓨터 실행가능한 명령어들 또는 데이터는, 상기 레이아웃에 있는 상기 제1 셀의 각각의 파악된 인스턴스에 대하여, 상기 제1 셀의 상기 각각의 인스턴스의 상기 핀에 연결하기 위해 상기 레이아웃에서 이용된 각각의 라우팅 연결 위치를 결정함으로써 복수의 라우팅 연결 위치들을 결정하도록 상기 컴퓨터 디바이스에 의해 더 실행되는 것을 특징으로 하는 컴퓨터 판독 가능한 매체.
  17. 삭제
  18. 제16항에 있어서,
    상기 저장된 컴퓨터 실행 가능한 명령어들 또는 데이터는 상기 복수의 라우팅 연결 위치들과 상기 핀에 대한 복수의 연결 가능한 위치들을 기반으로 상기 이용 메트릭을 결정하도록 상기 컴퓨터 디바이스에 의해 실행될 수 있는
    컴퓨터 판독 가능한 매체.
  19. 제18항에 있어서,
    상기 저장된 컴퓨터 실행 가능한 명령어들 또는 데이터는
    상기 레이아웃에 있는 상기 제1 셀의 각각의 인스턴스에 대하여, 상기 핀에 대한 상기 복수의 연결 가능한 위치들 중에서 상기 각각의 라우팅 연결 위치에 대응되는 연결 가능한 위치를 파악하고,
    상기 복수의 연결 가능한 위치들의 각각의 연결 가능한 위치에 대하여, 상기 레이아웃에 있는 상기 제1 셀의 각각의 인스턴스에 대하여 파악된 상기 연결 가능한 위치를 기반으로 상기 각각의 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수를 결정하고,
    상기 핀에 대한 상기 복수의 연결 가능한 위치들의 각각의 연결 가능한 위치가 상기 레이아웃에서 이용된 횟수를 기반으로 상기 제1 셀의 상기 핀에 대한 상기 이용 메트릭을 결정하도록 상기 컴퓨터 디바이스에 의해 실행될 수 있는
    컴퓨터 판독 가능한 매체.
  20. 제16항에 있어서,
    상기 저장된 컴퓨터 실행 가능한 명령어들 또는 데이터는 상기 제1 셀의 그래픽 표현을 상기 디스플레이 디바이스 상에 디스플레이하고, 상기 이용 메트릭의 상기 그래픽 표현이 상기 제1 셀의 상기 그래픽 표현 위에 놓이도록 디스플레이되도록 상기 컴퓨터 디바이스에 의해 실행될 수 있는
    컴퓨터 판독 가능한 매체.
KR1020110112969A 2011-01-20 2011-11-01 셀 라이브러리의 셀 분석 방법 KR101380881B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/010,391 US8726217B2 (en) 2011-01-20 2011-01-20 Methods for analyzing cells of a cell library
US13/010,391 2011-01-20

Publications (2)

Publication Number Publication Date
KR20120084654A KR20120084654A (ko) 2012-07-30
KR101380881B1 true KR101380881B1 (ko) 2014-04-17

Family

ID=46510984

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110112969A KR101380881B1 (ko) 2011-01-20 2011-11-01 셀 라이브러리의 셀 분석 방법

Country Status (6)

Country Link
US (1) US8726217B2 (ko)
KR (1) KR101380881B1 (ko)
CN (1) CN102609559B (ko)
DE (1) DE102012200822B4 (ko)
SG (1) SG182892A1 (ko)
TW (1) TWI454956B (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9064081B1 (en) * 2013-12-11 2015-06-23 Taiwan Semiconductor Manufacturing Company, Ltd. Generating database for cells routable in pin layer
US10095825B2 (en) 2014-09-18 2018-10-09 Samsung Electronics Co., Ltd. Computer based system for verifying layout of semiconductor device and layout verify method thereof
US9767248B2 (en) 2014-09-18 2017-09-19 Samsung Electronics, Co., Ltd. Semiconductor having cross coupled structure and layout verification method thereof
US9811626B2 (en) 2014-09-18 2017-11-07 Samsung Electronics Co., Ltd. Method of designing layout of semiconductor device
US9704862B2 (en) 2014-09-18 2017-07-11 Samsung Electronics Co., Ltd. Semiconductor devices and methods for manufacturing the same
US10026661B2 (en) 2014-09-18 2018-07-17 Samsung Electronics Co., Ltd. Semiconductor device for testing large number of devices and composing method and test method thereof
US9633163B1 (en) * 2015-01-05 2017-04-25 Cadence Design Systems, Inc. System and method for displaying routing options in an electronic design
US9846759B2 (en) 2015-07-30 2017-12-19 Taiwan Semiconductor Manufacturing Company, Ltd. Global connection routing method and system for performing the same
US9461065B1 (en) * 2016-03-11 2016-10-04 Pdf Solutions, Inc. Standard cell library with DFM-optimized M0 cuts and V0 adjacencies
US10642949B2 (en) * 2017-06-07 2020-05-05 Taiwan Semiconductor Manufacturing Co., Ltd. Cell placement site optimization
US11545495B2 (en) * 2017-06-29 2023-01-03 Taiwan Semiconductor Manufacturing Co., Ltd. Preventing gate-to-contact bridging by reducing contact dimensions in FinFET SRAM
DE102017127276A1 (de) * 2017-08-30 2019-02-28 Taiwan Semiconductor Manufacturing Co., Ltd. Standardzellen und abwandlungen davon innerhalb einer standardzellenbibliothek
US10503859B2 (en) * 2017-08-30 2019-12-10 Arm Limited Integrated circuit design and/or fabrication
US10741539B2 (en) * 2017-08-30 2020-08-11 Taiwan Semiconductor Manufacturing Co., Ltd. Standard cells and variations thereof within a standard cell library
US10339252B2 (en) 2017-08-31 2019-07-02 Oracle International Corporation Automated custom circuit layout enhancement
US10671793B1 (en) * 2018-07-31 2020-06-02 Cadence Design Systems, Inc. Editing of layout designs for fixing DRC violations
US11030372B2 (en) 2018-10-31 2021-06-08 Taiwan Semiconductor Manufacturing Company Ltd. Method for generating layout diagram including cell having pin patterns and semiconductor device based on same
US11010516B2 (en) * 2018-11-09 2021-05-18 Nvidia Corp. Deep learning based identification of difficult to test nodes
US20200201954A1 (en) * 2018-12-21 2020-06-25 Samsung Electronics Co., Ltd. Method of designing a layout for a semiconductor integrated circuit
JP2021015537A (ja) 2019-07-16 2021-02-12 キオクシア株式会社 半導体集積回路の設計方法、回路設計システム及び制御プログラム
US11270056B2 (en) * 2020-08-06 2022-03-08 Bqr Reliability Engineering Ltd. Method and apparatus for verifying electronic circuits

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007026170A (ja) 2005-07-19 2007-02-01 Matsushita Electric Ind Co Ltd 半導体集積回路の自動レイアウト方法、自動レイアウトプログラム、および自動レイアウト装置
US7178123B2 (en) * 2004-10-27 2007-02-13 Springsoft, Inc. Schematic diagram generation and display system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121336A (en) 1988-10-26 1992-06-09 The Boeing Company Method for determining air-bridge post placement
TW451457B (en) 2000-07-17 2001-08-21 Taiwan Semiconductor Mfg Method to optimize the placement design by adjusting the reference routing
US6532577B1 (en) 2001-06-27 2003-03-11 Lsi Logic Corporation Timing driven interconnect analysis
TW540273B (en) * 2002-09-20 2003-07-01 Inventec Corp Method for displaying connection trace status for applying on circuit layout
US7503021B2 (en) * 2002-12-17 2009-03-10 International Business Machines Corporation Integrated circuit diagnosing method, system, and program product
US7627838B2 (en) * 2006-04-25 2009-12-01 Cypress Semiconductor Corporation Automated integrated circuit development
CN101567016A (zh) * 2008-04-22 2009-10-28 英业达股份有限公司 电路布局的绕线方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178123B2 (en) * 2004-10-27 2007-02-13 Springsoft, Inc. Schematic diagram generation and display system
JP2007026170A (ja) 2005-07-19 2007-02-01 Matsushita Electric Ind Co Ltd 半導体集積回路の自動レイアウト方法、自動レイアウトプログラム、および自動レイアウト装置

Also Published As

Publication number Publication date
DE102012200822B4 (de) 2019-03-07
TWI454956B (zh) 2014-10-01
US8726217B2 (en) 2014-05-13
TW201232317A (en) 2012-08-01
DE102012200822A1 (de) 2012-07-26
US20120192135A1 (en) 2012-07-26
KR20120084654A (ko) 2012-07-30
CN102609559A (zh) 2012-07-25
CN102609559B (zh) 2015-06-03
SG182892A1 (en) 2012-08-30

Similar Documents

Publication Publication Date Title
KR101380881B1 (ko) 셀 라이브러리의 셀 분석 방법
CN103544333B (zh) 半导体器件设计方法、系统和计算机程序产品
US9740815B2 (en) Electromigration-aware integrated circuit design methods and systems
US20170147727A1 (en) Temperature-aware integrated circuit design methods and systems
US10817637B2 (en) System and method of designing integrated circuit by considering local layout effect
US20160154924A1 (en) Semiconductor design method and computer-readable recording medium
CN107436965A (zh) 设计集成电路的计算机实现的方法
TW202123056A (zh) 使用帶有金屬線的胞元的電路設計
JP4141322B2 (ja) 半導体集積回路の自動配線方法及び半導体集積回路の設計のプログラム
US8863062B2 (en) Methods and apparatus for floorplanning and routing co-design
CN107808022A (zh) 设计布局的方法
US8086985B2 (en) Automatic alignment of macro cells
JP2008310562A (ja) 回路シミュレーション用の抵抗網作成装置、及び抵抗網作成プログラム
US10163787B2 (en) Semiconductor structure
JP5251639B2 (ja) 半導体装置の設計検証装置
US9293450B2 (en) Synthesis of complex cells
JP5875355B2 (ja) 回路シミュレーション方法
JP5910132B2 (ja) 電子回路のレイアウト作成装置及び方法
JP2013228772A (ja) 配線寄生容量抽出方法、配線寄生容量抽出装置及び配線寄生容量抽出プログラム
JP2605932B2 (ja) 半導体集積回路のレイアウト設計装置
JP2013161439A (ja) 電源配線設計支援方法、電源配線設計支援装置、電源配線設計支援プログラム、および記録媒体
CN113779923A (zh) 具有最佳化胞元布置的装置布局
CN116956807A (zh) 芯片设计的全局布线拥塞图确定方法及相关设备
JP2013025408A (ja) Lsiの回路図復元装置
JP2011060015A (ja) 設計方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee