KR20230162610A - 자동화된 표준 셀 설계를 위한 방법 - Google Patents

자동화된 표준 셀 설계를 위한 방법 Download PDF

Info

Publication number
KR20230162610A
KR20230162610A KR1020237032296A KR20237032296A KR20230162610A KR 20230162610 A KR20230162610 A KR 20230162610A KR 1020237032296 A KR1020237032296 A KR 1020237032296A KR 20237032296 A KR20237032296 A KR 20237032296A KR 20230162610 A KR20230162610 A KR 20230162610A
Authority
KR
South Korea
Prior art keywords
segments
transistor
minimum number
terminal
electrical circuit
Prior art date
Application number
KR1020237032296A
Other languages
English (en)
Inventor
라르스 리브만
Original Assignee
도쿄엘렉트론가부시키가이샤
도쿄 일렉트론 유.에스. 홀딩스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/219,539 external-priority patent/US11714945B2/en
Application filed by 도쿄엘렉트론가부시키가이샤, 도쿄 일렉트론 유.에스. 홀딩스, 인크. filed Critical 도쿄엘렉트론가부시키가이샤
Publication of KR20230162610A publication Critical patent/KR20230162610A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • 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)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Architecture (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

실시형태에서, 방법은, 디바이스, 입력부, 출력부, 및 전원의 배치를 포함하는 전기 회로를 나타내는 데이터를 수신하는 단계; 수신된 데이터를 기초로 세그먼트의 최소의 수를 결정하는 단계; 디바이스들을 2개 이상의 디바이스들 사이에서 공유되는 공통 특징부(feature)를 기초로 N개(N은 세그먼트의 최소의 수와 동일함)의 세그먼트로 그룹화하는 단계; 및 그룹화된 디바이스의 구분된 부분들을 생성하여 전기 회로의 물리적 발현(manifestation)을 나타내는 물리적 레이아웃을 형성함으로써, 구분된 부분들이 하나로 통합될 때 이들이 전기 회로의 물리적 발현을 형성하도록 하는 단계를 포함한다.

Description

자동화된 표준 셀 설계를 위한 방법
관련 출원에 대한 상호-참조
본원은 2021년 3월 31일자로 출원된 미국 출원 번호 제17/219,539호의 우선권을 주장하며, 상기 출원은 2020년 12월 15일자로 출원된 미국 정규 특허 출원 번호 제17/122,689호의 부분계속 출원이고, 2020년 4월 9일자로 출원된 미국 가출원 제63/007,705호의 이익을 주장한다. 이들 출원은 그 전체가 본원에 참조로 포함된다.
기술분야
본 개시 내용은 일반적으로 반도체 디바이스 및 방법, 그리고 특정 실시형태에서, 자동화된 표준 셀 설계를 위한 방법에 관한 것이다.
집적 회로는 하나 이상의 타입의 트랜지스터를 포함할 수 있다. 평면형 트랜지스터는 매우 일반적인 트랜지스터 기술이다. 평면형 트랜지스터는 통상적인 평면형(층별) 제조 프로세스를 이용하여 제조되고, 여기서 트랜지스터 접합부가 하나의 평면 내에서 반도체 표면에 도달한다. 예를 들어, 도 1은 예시적인 평면형 트랜지스터(100)를 도시한다.
3차원(3D) 트랜지스터로도 지칭되는 비-평면형 트랜지스터는, 트랜지스터 접합부가, 상이한 평면들 내의 반도체 표면으로서 예컨대, 예를 들어 트리-게이트 트랜지스터로 예시되는 상승된 소스-대-드레인 채널, 또는 예를 들어 Fin 전계효과-트랜지스터(FET)(FinFET)로 예시되는 소스로부터 드레인으로의 상승된 채널(Fin으로 지칭됨)에 도달하는 트랜지스터이다. FinFET은, 이중 게이트 구조물을 형성하는, 채널의 2개, 3개, 또는 4개의 측면에 배치된 또는 채널을 감싸는 게이트를 갖는다. 도 2a 및 도 2b는 예시적인 3D 트리-게이트 트랜지스터(200), 및 FinFET(250)을 도시한다.
비-평면형 트랜지스터의 다른 예는 나노시트(NS) 트랜지스터((LGAA(lateral gate all around) 트랜지스터로도 알려짐)이다. 도 3에 예시적인 것이 도시되어 있다.
상보적인 FET(CFET)는, 수평 채널을 형성하는 수직 공통 게이트를 갖는, 예를 들어 2개의 FET(예를 들어, nFET 및 pFET)가 수직으로 적층되는, 다른 타입의 비-평면형 3D 트랜지스터이다. 예를 들어, 도 4는 예시적인 CFET(400)을 도시한다. 도 4에서 확인될 수 있는 바와 같이, CFET은 FET 단자에 대한 단순화된 접속을 초래하는 장점을 가지며, 이는 더 작은 레이아웃을 초래할 수 있다.
도 5는, 각각의 트랜지스터의 소스-게이트-드레인이 수직으로 적층되는, 예시적인 수직 트랜지스터(VFET)(500)를 도시한다. 도 5에 도시된 바와 같이, 채널이 수직이기 때문에, VFET는 수직 트랜지스터로 지칭된다.
실시형태에 따라, 방법은, 디바이스, 입력부, 출력부, 및 전원의 배치를 포함하는 전기 회로를 나타내는 데이터를 수신하는 단계; 수신된 데이터를 기초로 세그먼트의 최소의 수를 결정하는 단계; 디바이스들을 2개 이상의 디바이스들 사이에서 공유되는 공통 특징부(feature)를 기초로 N개(N은 세그먼트의 최소의 수와 동일함)의 세그먼트로 그룹화하는 단계; 및 그룹화된 디바이스의 구분된 부분들을 생성하여 전기 회로의 물리적 발현을 나타내는 물리적 레이아웃을 형성함으로써, 구분된 부분들이 하나로 통합될 때 전기 회로의 물리적 발현을 형성하도록 하는 단계를 포함한다.
실시형태에 따라, 표준 셀 라이브러리를 위한 표준 셀 레이아웃을 생성하기 위한 컴퓨팅 디바이스는, 프로세서; 및 프로세서에 커플링되고 프로세서에 의해서 실행될 수 있는 프로그램을 저장하는 비-일시적 컴퓨터-판독 가능 저장 매체를 포함하고, 프로그램은 명령어를 포함하고, 명령어는, 디바이스, 입력부, 출력부, 및 전원의 배치를 포함하는 전기 회로를 나타내는 데이터를 수신하고; 수신된 데이터를 기초로 세그먼트의 최소의 수를 결정하고; 디바이스들을 2개 이상의 디바이스들 사이에서 공유되는 공통 특징부를 기초로 N개(N은 세그먼트의 최소의 수와 동일함)의 세그먼트로 그룹화하고; 그룹화된 디바이스의 구분된 부분들을 생성하여 전기 회로의 물리적 발현을 나타내는 물리적 레이아웃을 형성함으로써, 구분된 부분들이 하나로 통합될 때 전기 회로의 물리적 발현을 형성하도록 한다.
실시형태에 따라, 방법은, 디바이스, 입력부, 출력부, 및 전원의 배치를 포함하는 전기 회로를 나타내는 데이터를 수신하는 단계로서, 전기 회로는 복수의 노드를 포함하고, 디바이스는 복수의 n-타입 전계효과 트랜지스터(nFET) 및 복수의 p-타입 전계효과 트랜지스터(pFET)를 포함하는, 단계; 전기 회로의 pFET 및 nFET를 수신된 데이터로부터 식별하는 단계; 수신된 데이터를 기초로 복수의 노드 중 상이한 노드들을 식별하는 단계; 수신된 데이터를 기초로 단자 카운트를 식별된 노드의 각각에 할당하여, 복수의 단자 카운트(terminal count)를 형성하는 단계로서, 각각의 단자 카운트는 식별된 노드의 각각의 노드에 커플링된 디바이스의 단자의 수를 나타내는, 단계; 홀수 카운트를 갖는 복수의 단자 카운트의 단자 카운트 수를 기초로 세그먼트의 최소의 수를 결정하는 단계; 디바이스들을 2개 이상의 디바이스들 사이에서 공유되는 공통 특징부를 기초로 N개(N은 세그먼트의 최소의 수와 동일함)의 세그먼트로 그룹화하는 단계; 및 그룹화된 디바이스의 구분된 부분들을 생성하여 전기 회로의 물리적 발현을 나타내는 물리적 레이아웃을 형성함으로써, 구분된 부분들이 하나로 통합될 때 전기 회로의 물리적 발현을 형성하도록 하는 단계를 포함한다.
본 발명 및 그 장점의 보다 완전한 이해를 위해서, 이제, 첨부 도면과 함께 이루어지는 이하의 설명을 참조한다.
도 1은 예시적인 평면형 트랜지스터를 도시한다.
도 2a는 예시적인 3D 트리-게이트 트랜지스터를 도시한다.
도 2b는 예시적인 FinFET를 도시한다.
도 3은 예시적인 NS 트랜지스터를 도시한다.
도 4는 예시적인 CFET를 도시한다.
도 5는 예시적인 VFET를 도시한다.
도 6은 예시적인 반도체 기술 설계 흐름의 흐름도를 도시한다.
도 7a는 본 발명의 실시형태에 따른, 실시형태 반도체 기술 설계 흐름의 흐름도를 도시한다.
도 7b는 본 발명의 실시형태에 따른, 컴퓨팅 디바이스를 도시한다.
도 8a 내지 도 8d는 본 발명의 실시형태에 따른, 반-가산기 셀(half-adder cell)의 4개의 상이한 도면을 도시한다.
도 9는 본 발명의 실시형태에 따른, 넷리스트(netlist)를 기초로 하는 표준 셀의 물리적 레이아웃을 자동적으로 생성하기 위한 실시형태 방법의 흐름도를 도시한다.
도 10은 본 발명의 실시형태에 따른, 도 7a의 표준 셀 라이브러리를 이용하여 집적 회로를 설계 및 제조하기 위한 실시형태 방법의 흐름도를 도시한다.
도 11a 내지 도 11l은 본 발명의 실시형태에 따른, 비-적층형 FinFET 기술을 이용하여 도 8c의 넷리스트를 물리적 레이아웃으로 변환하기 위한 도 9의 방법의 수행을 도시한다.
도 12a 내지 도 12d는 본 발명의 실시형태에 따른, 비-적층형 CFET 기술을 이용하여 도 11g에 도시된 클러스터의 배치를 물리적 레이아웃으로 변환하기 위한 도 9의 방법의 단계의 수행을 도시한다.
도 13a 내지 도 13k는 본 발명의 실시형태에 따른, CFET 기술을 이용하여 도 8c의 넷리스트(반-가산기)를 물리적 레이아웃으로 변환하기 위한 도 9의 방법의 수행을 도시한다.
도 14는 본 발명의 실시형태에 따른, 트랜지스터의 클러스터를 생성하기 위한 실시형태 방법의 흐름도를 도시한다.
도 15a 내지 도 15i는 본 발명의 실시형태에 따른, 도 14의 방법의 수행의 다양한 가능한 출력을 도시한다.
도 16은 본 발명의 실시형태에 따른, 트랜지스터의 클러스터를 생성하기 위한 실시형태 방법의 흐름도를 도시한다.
도 17은 본 발명의 실시형태에 따른, 2개의 행으로 배치된 도 15g의 세그먼트를 도시한다.
달리 표시되지 않는 한, 상이한 도면들 내의 대응하는 참조부호들 및 심볼들은 일반적으로 대응하는 부품들을 나타낸다. 도면들은 바람직한 실시형태의 관련 양태들을 명확하게 예시하기 위해 도시되지만, 반드시 실제 축척대로 도시된 것은 아니다.
개시된 실시형태의 제조 및 이용을 이하에서 구체적으로 설명한다. 그러나, 본 발명은, 매우 다양한 특정 상황에서 구현될 수 있는 많은 적용 가능한 발명적 개념을 제공한다는 것을 이해하여야 한다. 논의된 특정 실시형태는 단지 본 발명을 만들고 사용하기 위한 특정 방법을 예시하는 것일 뿐이며, 본 발명의 범위를 제한하는 것은 아니다.
이하의 설명은 설명에 따른 몇몇 예시적인 실시형태의 심층적인 이해를 제공하기 위해 다양한 구체적인 상세 사항을 예시한다. 실시형태는 구체적인 상세 사항 중 하나 이상 없이, 또는 다른 방법, 구성요소, 재료 등을 사용하여 얻어질 수 있다. 다른 경우에, 실시형태의 여러 양태를 불명료하게 하지 않기 위해서, 공지된 구조, 재료, 또는 동작이 구체적으로 도시되거나 설명되지 않는다. 이러한 설명에서 "실시형태"에 대한 언급은, 실시형태와 관련하여 설명된 특정 구성, 구조, 또는 특징이 적어도 하나의 실시형태에 포함된다는 것을 나타낸다. 결과적으로, 본 설명의 상이한 곳들에서 나타날 수 있는, "실시형태에서"와 같은 문구가 반드시 정확히 동일한 실시형태를 언급하는 것은 아니다. 또한, 구체적인 형성, 구조, 또는 특징들이 하나 이상의 실시형태에서 임의의 적절한 방식으로 조합될 수 있다.
본 발명의 실시형태는, FinFET 디바이스, CFET 디바이스, 또는 3D CFET 디바이스에서 표준 로직 셀 설계를 생성하기 위한 방법의 특정 맥락으로 설명될 것이다. 본 발명의 실시형태는, 예를 들어 VFET 및 트리게이트 트랜지스터와 같은 다른 타입의 3D 트랜지스터와 같은, 다른 타입의 트랜지스터 기술에서 이용될 수 있다.
본 발명의 실시형태에서, 전기 회로 설계는 회로 넷리스트를 기초로 대응 물리적 레이아웃으로 자동적으로 변환된다. 일부 실시형태에서, 물리적 레이아웃으로의 변환 전에 표준 셀에 대응하는 넷리스트를 기초로, 표준 셀의 배치 및 라우팅이 자동적으로 생성되고 최적화된다. 최적화된 방식으로 표준 셀 내의 넷리스트에 따라 디바이스(예를 들어, 트랜지스터)를 자동적으로 배치 및 라우팅한 후에, 표준 셀의 물리적 레이아웃이 생성된다.
새로운 반도체 기술 노드, 예를 들어 10 nm 노드(N10), 7 nm 노드(N7), 또는 5 nm 노드(N5)를 개발하는 것은, 회로 및 디바이스가 새로운 노드로 설계될 수 있도록 모델 및 셀 라이브러리를 생성하는 것을 포함한다. 예를 들어, 도 6은 예시적인 반도체 기술 설계 흐름(600)의 흐름도를 도시한다.
단계(602) 중에, 반도체 기술 노드가 규정된다. 예를 들어, 단계(602) 중에, 기술 노드를 위해서 구현하고자 하는 기본 표준 셀 및 비트 셀의 타입이 선택되고, 연결성(예를 들어, 트랙 계획, 와이어 적층, 및 전력 전달 네트워크) 및 설계 규칙, 윤곽 및 아크 라우팅(arc routing)이 식별된다.
단계(604) 중에, 프로세스 설계 키트(PDK)가 반도체 노드에 대해서 수작업으로 생성된다. PDK는, 특정 반도체 기술 노드를 이용하여 회로 및 디바이스를 설계할 수 있게 하는 라이브러리 및 연관 데이터의 세트, 예를 들어 모델 파일, 물리적 변경 규칙 파일 등이다. 단계(604) 중에, 예를 들어, 설계 규칙 수작업(DRM) 파일 및 설계 규칙 체크(DRC) 파일이 생성된다.
단계(606) 중에, 단계(602) 중에 식별된 기본 표준 셀을 수작업으로 배치하여 표준 셀 라이브러리(608)를 생성한다. 표준 셀 라이브러리는 일반적으로, 예를 들어 셀이 최소량의 공간을 차지하고 단계(622) 중에 배치 및 라우팅(PNR) 툴에 의해서 이용될 수 있도록, 단계(606) 중에 수작업으로 최적화된다.
단계(610) 중에, 표준 셀의 성능이 테스트벤치 시뮬레이션 환경에서 에뮬레이트된다. 단계(610) 중에 표준 셀을 에뮬레이트하는 것은 유리하게는 반도체 노드 개발 사이클에서 초기에 표준 셀을 테스트할 수 있게 한다.
단계(612) 중에, 표준 셀의 기생 추출(parasitic extraction)이 수행되고, 단계(614) 중에 기생 추출로부터의 결과를 기초로 PDK가 업데이트된다. 예를 들어, 단계(614) 중에, PDK는 프론트-엔드-오프-라인(front-end-of-line)(FEOL)으로 업데이트되고, 기생 저항 및 커패시턴스를 포함한다.
단계(616) 중에, 기생 추출로부터의 결과를 포함하는 표준 셀의 넷리스트가 생성된다.
단계(618) 중에, 기술 컴퓨터-보조 설계(TCAD)를 이용하여 Spice 모델을 생성한다. 단계(620) 중에, 단계(618) 중에 생성된 Spice 모델을 단계(616) 중에 생성된 넷리스트와 함께 이용하여, 예를 들어 프로세스, 전압, 및 온도(PVT) 변동에 걸쳐 표준 셀을 특성화한다.
단계(622) 중에, (예를 들어, Verilog 또는 VHDL로 기록된) 설계 넷리스트에 의해서 형성된 디지털 회로가, 표준 셀 라이브러리(608)로부터의 표준 셀을 이용하여 (단계(602)로부터의) 연결성 정보를 기초로 동기화되고(레이아웃 내에 배치되고) 라우팅된다.
단계(624) 중에, 전력-성능-면적(PPA) 평가가, 예를 들어 최적화 목적을 위해서, 단계(622) 중에 수신된 설계 넷리스트를 이용하여 설계된 블록에 대해서 이루어진다.
방법(600)을 이용하여 새로운 반도체 노드를 개발할 때, 피드백 루프가 다양한 단계 주위에 존재할 수 있다. 예를 들어, 단계(604 및 606)의 수행 후에 많은 수의 DRC 오류가 있는 경우에, 라이브러리의 아키텍처가 변화되어야 할 수 있다. 표준 셀 라이브러리(608)를 구축할 때 수용 가능한 배치 밀도를 달성하는 것이 또한 반복적인 프로세스일 수 있다. 예를 들어, 표준 셀 라이브러리의 제1 버전은, 단계(606)의 한번 이상의 반복 후에 최종적인 더 높은 배치 밀도(예를 들어, 75%)를 달성하기 전에, 낮은 배치 밀도(예를 들어, 60%)를 달성할 수 있다.
단계(620)로부터의 결과를 기초로, 설계 규칙 및 프로세스 수정이 또한 이루어질 필요가 있을 수 있고, PPA 목표가 단계(624) 중에 만족되지 않는 경우에 부가적인 변화가 이루어질 필요가 있을 수 있다. 결과적으로, 일부 경우에, 방법(600)을 수행하는 것이 몇 달, 예를 들어 6개월 이상 지속될 수 있다. 일부 단계를 위한 리드 타임(lead time)이 길어지면, 피드백 루프의 일부가 생략되어, 표준 셀의 설계가 수행 후에 효과적으로 고정되게 하며, 이는 덜 최적화된 해결책을 초래할 수 있고 제한적인 설계 규칙을 요구할 수 있다.
반도체 노드가 점점 더 작은 크기로(예를 들어, N7 로부터 N5로, N3로, 그리고 더 작게) 진행함에 따라, 라우팅 혼잡이 증가될 수 있고, 이는 표준 셀 라이브러리 설계의 복잡성을 증가시킬 수 있다. 반도체 노드가 더 작은 노드로 이동함에 따라, 비-평면형 트랜지스터의 이용뿐만 아니라 (예를 들어, 임의의 타입의, 예를 들어 트랜지스터 적층을 이용한) 3D 집적의 이용이 또한 마찬가지로 점점 증가되고 있다. 적층형 트랜지스터 및/또는 비-평면형 트랜지스터의 레이아웃 및 라우팅의 수행은, 예를 들어 자동화된 라우팅 툴에 의한 높은 배치 밀도 및/또는 용이한 배치와 함께, 최적의 레이아웃을 달성하기 위해서 다수의 배치 및 라우팅 옵션을 고려할 필요가 있을 수 있다. 따라서, 반도체 기술 노드가 더 작아지기 시작함에 따라, 표준 셀의 레이아웃을 최적화하기 위해서 모든 레이아웃 옵션을 수작업으로 평가하고 표준 라이브러리의 표준 셀을 수작업으로 설계하는 것은 너무 복잡하고, 너무 비용이 많이 들고, 및/또는 너무 시간 소모적이어서 효과적으로 또는 실용적으로 수행할 수 없을 수 있다. 따라서, 디바이스가 작아진 것이 보다 양호한 스케일링(scaling), 전력, 성능, 및/또는 비용을 보장하지 못할 수 있다.
본 발명의 실시형태에서, 표준 셀 라이브러리가 기술 규정(technology definition)을 기초로 최적화된 레이아웃으로 자동적으로 생성된다. 일부 실시형태에서, 표준 셀의 레이아웃을 자동적으로 생성하는 것에 의해서, 새로운 반도체 기술 노드가, 수작업으로 표준 셀의 레이아웃을 수행하는 것에 비해서 실질적으로 짧은 시간(예를 들어, 몇 주 대 몇 달)에, 예를 들어 스케일링, 전력, 성능 및 비용을 결정하기 위한 배치 및 라우팅의 맥락에서(배치 및 라우팅 전의 절연에서의 맥락 대신) 생성된 표준 셀을 기초로 평가될 수 있다. 예를 들어, 도 7a는 본 발명의 실시형태에 따른, 실시형태 반도체 기술 설계 흐름(700)의 흐름도를 도시한다.
도 7a에 도시된 바와 같이, 설계 흐름(700)은 설계 흐름(600)과 유사하나, 표준 셀의 자동적 생성을 위한 단계(702)를 포함한다. 표준 로직 셀을 자동적으로 생성함으로써, 일부 실시형태는 유리하게는, 예를 들어 단계(604, 606, 및 614) 중 하나 이상의 수행을 생략하는 것, 그리고, 그 대신, 단계(702) 중에 표준 셀 라이브러리 및 연관된 PDK를 자동적으로 생성하는 것에 의해서, 최적화된 표준 셀 라이브러리를 생성하기 위한 시간량을 (예를 들어, 몇 달에서 몇 주로) 실질적으로 단축한다.
예를 들어, 일부 실시형태에서, PDK(단계(604))에서의 설계 규칙이 (단계(702) 중에) 표준 셀 자동 생성을 위한 명령어(예를 들어, 규칙)로 대체된다. 일부 실시형태에서, (단계(702)에서) 표준 셀의 자동 생산을 위한 명령어(예를 들어, 프로그래밍 명령어)의 거동이 단계(606) 중에 셀 레이아웃을 수작업으로 수행하는 인간 설계자보다 훨씬 더 예측 가능할 수 있기 때문에, (예를 들어, 실질적으로) 더 적은 규칙이 필요할 수 있다. 또한, 진보된 기술 노드가 매우 제한적일 수 있다. 따라서, 일부 실시형태에서, 표준 셀의 레이아웃을 설계하라고 (단계(702)에서) 자동 표준 셀 생성 시스템에 지시하는 것이, 예를 들어 진보된 노드의 제한을 준수하기 위해서 수작업 레이아웃 설계(단계(606)) 중에 피해야 하는 광범위한 규칙의 목록을 인간에게 지시하는 것 보다, 더 효과적일 수 있다.
따라서, 일부 실시형태에서, 표준 셀이 구성에 의해서 정확하게 생성될 수 있기 때문에, PDK 내의 설계 규칙 체크 데크(DRC)가 제거될 수 있다. 예를 들어, 일부 실시형태에서, 표준 셀의 자동 셀 생성은 최적화되고 반도체 노드 요건을 준수하는 레이아웃을 정확하고 체계적으로 생성할 수 있다. 따라서, 일부 실시형태에서, 표준 셀을 수작업으로 배치하는 것(단계(606))을 제거하고 단계(702) 중에 표준 셀을 자동적으로 배치하는 단계로 대체하는 것은 유리하게는 (예를 들어, 실질적으로) 더 짧은 시간 프레임 내에서 반도체 노드의 요건을 준수하는 표준 셀의 최적화되고 정확한 레이아웃을 가능하게 한다.
일부 실시형태에서, 에뮬레이션(단계(610))에서 직접적으로 저항 및 커패시턴스 추출을 실행함으로써, 단계(614)가 제거될 수 있다. 일부 실시형태에서, 단계(610) 중에 그러한 기생 추출을 수행하는 것은 유리하게는, 예를 들어, 단계(702) 중에 생성된 출력의 일관성에 의해서 가능해진다. 일부 실시형태에서 단계(610) 중에 기생 추출을 수행하는 것이 단계(614) 중에 추상화된(abstracted) 추출 데크를 실행하는 것 보다 더 시간 소모적일 수 있지만, 단계(610) 중에 기생 추출을 수행하는 것이 초기의 반복 최적화를 위한 효율성을 유리하게 제공할 수 있다.
(예를 들어, 표준 라이브러리(608 및 708)의) 표준 셀은 표준화된 Boolean 로직 함수의 물리적 표상이다. 표준 셀의 예로서 반-가산기가 있고, 이는 2개의 2진수를 가산하도록 구성된다. 표준 셀의 다른 예는 NAND 게이트, NOR 게이트, D-플립-플롭, 산술 로직 유닛(ALU) 등을 포함한다. 일부 실시형태에서, 표준 셀 라이브러리는 예를 들어 50개 초과의 표준 셀, 예를 들어 50개 내지 100개의 표준 셀, 예를 들어 80개의 표준 셀을 포함할 수 있다.
일부 실시형태에서, 방법(700)은 프로세스에 의해서 실행될 수 있는 프로그램을 저장하기 위한 메모리에 커플링된 컴퓨팅 디바이스에서 구현될 수 있고, 여기서 프로그램은 방법(700)을 수행하기 위한 명령어를 포함한다. 예를 들어, 도 7b는 본 발명의 실시형태에 따른, 컴퓨팅 디바이스(750)를 도시한다. 도시된 바와 같이, 컴퓨팅 디바이스(752)는, 메모리(754) 디스플레이(756)에 커플링된 프로세서(752), 및 통신 인터페이스(758)를 포함한다. 일부 실시형태에서, 프로세서(752)는, 메모리(754)에 저장된 명령어를 해석 및 실행할 수 있는, 범용 프로세서, 주문형 집적 회로(ASIC), 마이크로프로세서 또는 다른 처리 로직으로 구현될 수 있다.
디스플레이(756)는 예를 들어 (예를 들어, 단계(702) 중에 생성된) 레이아웃 도면을 디스플레이하도록 구성된다. 디스플레이(756)는 컴퓨터 모니터일 수 있고, 당업계에 알려진 임의의 방식으로 구현될 수 있다.
메모리(754)는 예를 들어 방법(700)을 수행하기 위한 명령어를 포함하는 프로그램을 저장하도록 구성된다. 메모리(754)는 또한, 예를 들어 표준 셀 라이브러리(708)의 레이아웃 정보를 포함하는 디지털 파일과 같이, 방법(700) 중에, 예를 들어 단계(702) 중에 생성된 중간 또는 최종 출력의 디지털 파일을 일시적으로 또는 영구적으로 저장하도록 구성된다. 메모리(754)는 당업계에 알려진 임의의 방식으로 예를 들어 비-휘발성 메모리로 구현될 수 있다.
통신 인터페이스(758)는, 예를 들어 표준 셀 라이브러리(708)의 레이아웃 정보를 포함하는 디지털 파일과 같이, 방법(700) 중에, 예를 들어 단계(702) 중에 생성된 중간 또는 최종 출력을, 예를 들어 다른 컴퓨팅 디바이스 및/또는 다른 저장 매체에 전송하도록 구성된다.
일부 실시형태에서, 방법(700)의 하나 이상의 단계가 상이한 컴퓨팅 디바이스들에서 구현될 수 있다.
도 8a 내지 도 8d는 본 발명의 실시형태에 따른, 반-가산기 셀의 4개의 상이한 도면을 도시한다. 도 8a는 반-가산기의 진리표(truth table)를 도시하고, 여기서 A 및 B는 각각 제1 및 제2 입력이고, C 및 S는 각각 출력 캐리(output carry) 및 합계이다. 도 8b는, CMOS 회로에서 도 8a의 진리표를 구현하는 개략도(800)를 도시한다.
도 8c는 회로(800)를 구현하는 넷리스트를 도시한다. 일부 실시형태에서, 연결성 목록은, 예를 들어 디지털 파일에 저장될 수 있는 표준 셀 설계에 대한 희망 로직 거동을 구현하는 데 필요한 전기 구성요소의 설계 또는 레이아웃에 대한 추상적 표상이다.
도 8c에 도시된 바와 같이, 넷리스트는, 각각의 트랜지스터를 위한 게이트, 입력, 및 출력 신호를 특정하는, 회로(800)의 모든 구성요소(이러한 예에서 트랜지스터)를 포함한다. 넷리스트는 또한 전원(VDD 및 VSS)에 대한 참조도 포함하고, 여기서 전원은 전력을 트랜지스터에 전달할 수 있는 노드 또는 레일로서 이해될 수 있다. 일부 실시형태에서, (연결성 목록으로도 지칭되는) 넷리스트는 트랜지스터를 위한 입력부, 출력부, 및 게이트-신호를 위한 연결을 참조하는 트랜지스터 명칭을 포함한다. 예를 들어, M13 트랜지스터는, VSS(GND), 노드(N4), 및 캐리 출력에 연결된, 도 8b의 맨 오른쪽에 위치된 NMOS 트랜지스터이다. 도 8b에 도시된 바와 같이, 노드(N4)는 트랜지스터들(M3, M4, M5, M6, M8, 및 M12) 사이에서 공통되는 전기 특성, 특징, 또는 연결을 제공한다. 나머지 노드는 도 8b에 도시된 트랜지스터들 사이의 공통 연결을 나타낸다. 일부 실시형태에서, 도 8c의 넷리스트는, 예를 들어, 트랜지스터의 타입(n-타입 또는 p-타입)과 같은, 다른 회로 상세 내용을 포함하도록 확장될 수 있다.
도 8d는, 5.5T(즉, 셀 높이 = 5.5 금속 트랙) FinFET 설계에서, 회로(800)의 예시적인 물리적 레이아웃을 도시한다. 일부 실시형태에서, (예를 들어, 도 8c에 도시된 바와 같은) 넷리스트는 단계(702)를 수행하기 위해서 사용된 입력 데이터이다. 예를 들어, 일부 실시형태에서, 넷리스트를 생성하는 것은 이론적인 또는 가상의 모델(예를 들어, 도 8b)로 존재하는 회로 설계를 물리적 발현 또는 물리적 레이아웃(예를 들어, 도 8d)으로 변환하기 위한 제1 단계이다.
도 9는 본 발명의 실시형태에 따른, 넷리스트를 기초로 하는 표준 셀의 물리적 레이아웃을 자동적으로 생성하기 위한 실시형태 방법(900)의 흐름도를 도시한다. 단계(702)는 방법(900)으로서 수행될 수 있고, 컴퓨팅 디바이스(750)에 의해서 구현될 수 있다.
방법(900)은, 디바이스 배치 단계(단계(902, 904, 906, 908, 910, 912, 914, 및 918)), 및 디바이스 라우팅 단계(단계(916 및 920))를 포함하는 방법으로 이해될 수 있다. 일부 실시형태에서, 디바이스 배치 단계는 (방법(900)에서 설명된 바와 같이) 자동적으로 수행될 수 있는 한편, 배치 단계는 통상적인 방식으로 수생될 수 있다. 일부 실시형태에서, 디바이스 라우팅 단계는 (방법(900)에서 설명된 바와 같이) 자동적으로 수행될 수 있는 한편, 배치 단계는 통상적인 방식으로 수생될 수 있다.
단계(902) 중에, 넷리스트가 수신되고, 제1 타입의 공유된 연결(예를 들어, 함께 연결된 게이트들)을 가지는 트랜지스터 페어가 식별된다. 일부 실시형태에서, 제1 타입의 연결이 자유 연결일 있고, 여기서 자유 연결이라는 용어는, 배치에 의해서 만들어 질 수 있고 라우팅 노력이 없는 연결로 이해될 수 있다. 일부 실시형태에서, 제1 타입의 연결은 가장 중요한 자유 연결로 지칭될 수 있다. 일부 실시형태에서, 평면형 트랜지스터, FinFET 및 트리게이트 트랜지스터에서와 같이, 상보적인 트랜지스터들의 게이트들은 제1 타입의 자유 연결이고, 여기서 단일 폴리-게이트가 p-타입 및 n-타입 트랜지스터 모두를 스위칭한다. 다른 실시형태에서, 헤테로 시퀀셜 3D 통합을 기초로 하는 아키텍처에서와 같이, 제1 타입의 자유 연결은 (예를 들어, 소스/드레인과 같이) 게이트와 상이할 수 있다. 일부 실시형태는 하나 초과의 자유 연결을 나타낼 수 있다. 예를 들어, 적층형 트랜지스터 아키텍처에서, 제1 타입의 자유 연결은 동일 적층 층 내의 트랜지스터들 사이의 수평 연결성을 지칭할 수 있고, 제2 타입의 자유 연결은 적층체의 상이한 층들 내의 트랜지스터들 사이의 수직 연결성을 지칭할 수 있다.
단계(904) 중에, 단계(902)에서 식별된 트랜지스터 페어의 각각에 대한 객체가 형성되고, 각각의 객체는 입력 및 출력(예를 들어, 공통 게이트 입력뿐만 아니라, nFET 및 pFET 입력 및 출력)에 의해서 식별된다. 일부 실시형태에서, 객체는, 예를 들어 텐서(tensor)의 객체 지향형 데이터 구조, 매트릭스, 또는 벡터와 같은, 프로그래밍 객체이다. 일부 실시형태에서, 단계(904) 중에 형성된 객체는 신호 흐름 방향으로 특정하지 않고, 그러한 신호 흐름은 기능성의 변화 없이 (예를 들어, 드레인과 소스 사이에서) 반전될 수 있다.
단계(906) 중에, 단계(904) 중에 생성된 트랜지스터-페어 객체는 트랜지스터-페어 객체의 공통 입력/출력을 기초로 클러스터링된다. 예를 들어, 각각의 트랜지스터-페어 객체의 입력 및 출력을 식별한 후에, 2개의 트랜지스터-페어 객체가 공통 연결을 공유할 때(예를 들어, 트랜지스터-페어 객체들이 동일 노드에 연결될 때), 그러한 2개의 트랜지스터-페어 객체가 함께 클러스터링된다. 일부 실시형태에서, 클러스터링은, 예를 들어 (예를 들어, 트랜지스터-페어 객체에 저장된) 포인터 또는 예를 들어 메모리(754)에 저장된 데이터베이스 표를 이용하여, 트랜지스터-페어 객체들을 연관시키는 것에 의해서 수행된다. 일부 실시형태에서, 당업계에 알려진 다른 프로그래밍 기술이 이용될 수 있다.
단계(908) 중에, 트랜지스터-페어 객체들을 뒤집어 트랜지스터-페어 객체의 공통 입/출력을 정렬시키고 그에 따라 공통 입/출력을 공유할 때 그러한 뒤집힌 트랜지스터-페어 객체들을 클러스터링시킨다. 일부 실시형태에서, 뒤집기는 예를 들어 데이터 구조, 벡터, 또는 매트릭스 변환에 의해서 수행된다. 일부 실시형태에서, 당업계에 알려진 다른 프로그래밍 기술이 이용될 수 있다. 일부 실시형태에서, 단계(906) 및 단계(908)가 함께 수행될 수 있다.
단계(910) 중에, 공통 입/출력을 중첩시키는 것에 의해서, 트랜지스터-페어 객체 및 트랜지스터-페어 객체의 클러스터를 더 큰 클러스터로 병합한다. 일부 실시형태에서, 병합은, 예를 들어, 포인터 또는 데이터베이스 표를 이용하여, 예를 들어 트랜지스터-페어 객체의 입/출력을 연관시키는 것에 의해서 수행된다. 일부 실시형태에서, 당업계에 알려진 다른 프로그래밍 기술이 이용될 수 있다. 일부 표준 셀에서, 전체 로직 기능이 단계(910) 중에 단일 클러스터에서 렌더링될 수 있다. 일부 표준 셀에서, 하나 초과의 클러스터를 이용하여 전체 로직 기능을 렌더링할 수 있다.
단계(912) 중에, (폐쇄 내부 노드 또는 완성된 노드로도 지칭되는) 불필요한 내부 노드가 식별되어 제거된다. 일부 실시형태에서, 불필요한 내부 노드의 제거는 예를 들어 노드에 대한 참조를 메모리(754)에 저장된 개방 노드의 세트로부터 제거하는 것에 의해서 수행된다. 추가적인 연결성을 필요로 하는 노드(예를 들어, 다른 노드에 연결되어야 하나, 단계(910) 중에 클러스터링되는 것으로 연결되지 않은 노드)가 식별된다.
단계(914) 중에, 클러스터는, 예를 들어, 최종 물리적 레이아웃 렌더링과 유사하도록, 클러스터 맵 내의 기술-특정 와이어 트랙 계획에 따라 배치된다. 일부 실시형태에서, 트랙 계획은 배선 규칙(예를 들어, 최소 금속 길이, 연결 제한 등)뿐만 아니라 트랙의 수를 포함한다. 예를 들어, 일부 실시형태에서, 기술-특정 와이어 트랙 계획은 단일 행을 필요로 할 수 있고, 그에 따라, 클러스터들은 그러한 기술에서 단일 행으로 배치된다. 다른 기술은 (다수-행 높이 셀로 지칭될 수 있는), 2개, 4개, 또는 그 초과와 같은, 복수의 행을 허용할 수 있다. 일부 실시형태에서, 클러스터는, 20개 이상의 열(column)과 같이, 단일 열을 넘어서 연장될 수 있다. 일부 실시형태에서, 클러스터 맵 생성은, 트랙 계획의 상이한 트랙 및 열에 대한 게이트, 소스, 및 드레인 콘택의 위치와 같은, 트랙 계획과 관련하여 넷리스트에서 식별된 구성요소의 위치 정보를 포함하는 디지털 파일의 생성을 포함한다.
일부 실시형태에서, 예를 들어 셀-내부 배선 혼잡 감소를 기초로, 배치를 보상하기 위해서 비용 함수가 이용될 수 있다. 일부 실시형태에서, 기계 학습 훈련 모델이, 예를 들어 비용 함수를 기초로, 배치의 최적화(예를 들어, 셀-내부 배선 혼잡의 감소)를 위해서 사용될 수 있다.
단계(916) 중에, 개방 노드(예를 들어, 단계(912 또는 914) 후에 연결을 여전히 필요로 하는 노드)가 클러스터 맵에서 식별된다. 예를 들어, 외부 회로(예를 들어, 핀(pin))에 연결되는 노드 또는 클러스터 내의 다른 노드에 연결되는 노드가 개방 노드로서 식별될 수 있다. 일부 실시형태에서, 개방 노드의 식별은, 예를 들어 노드가 연결을 필요로 하는지의 여부를 나타내는 메모리(754) 내의 레지스터 또는 데이터 구조 내의 비트를 이용하여, 수행될 수 있다.
단계(918) 중에, 기술-특정 배선 트랙 계획의 각각의 열이 미리 규정된 기술 구성의 세트로부터의 미리 규정된 기술 구성 내로 맵핑된다. 미리 규정된 기술 구성의 세트는 특정한 기술-특정 배선 트랙 계획에서의 기본 디바이스(예를 들어, pFET 및 nFET)의 유한한 수의 가능한 구현예(예를 들어, 모든 가능한 구현예)를 포함할 수 있다. 일부 실시형태에서, 미리 규정된 기술 구성의 세트가 수작업으로 생성될 수 있다. 예를 들어, 예를 들어 도 11k와 관련하여 이하에서 더 구체적으로 설명되는 바와 같이, 일부 실시형태에서, 각각의 구성은 레이아웃 형태로 이용될 수 있다. 일부 실시형태에서, 맵핑된 레이아웃 구성은 (예를 들어, 부분적인) 물리적 반도체 레이아웃의 형태로 디지털 파일 내에 저장된다. 일부 실시형태에서, (예를 들어, 도 11i에 도시된 바와 같이) 트랙 계획을 물리적 레이아웃으로 맵핑하기 위해서, 도 11k에 도시된 구성 대신 다른 구성의 세트가 이용될 수 있다.
단계(914)의 출력에 따른 미리 규정된 기술 구성의 선택 및 배치 후에, 나머지 개방 노드의 라우팅이 예를 들어 규격품 라우팅 툴을 이용하여 수행된다. 단계(920)의 출력은 최종 레이아웃이고, 이는 예를 들어 모니터 상에서 렌더링될 수 있고/있거나 종이 또는 다른 매체에 프린트될 수 있고/있거나, 예를 들어 반도체 디바이스의 제조를 위한 대응 마스크의 생성을 위해서 전달될 수 있고, 여기서 반도체 디바이스의 제조는 포토레지스트를 도포하고 생성된 마스크를 기초로 기판을 패터닝하는 것에 의해서 수행될 수 있다.
일부 실시형태에서, 단계(902, 904, 906, 908, 910, 912, 914, 916, 918, 및/또는 920) 중에 중간 단계와 연관된 파일이 (예를 들어, 일시적 또는 영구적으로) 메모리(754) 내에 저장될 수 있고, 단계(902, 904, 906, 908, 910, 912, 914, 916, 918, 및/또는 920) 중에 메모리(754)로부터 판독될 수 있다. 예를 들어, 일부 실시형태에서, 트랜지스터-페어 객체, 트랜지스터-페어 클러스터, 트랜지스터 페어의 뒤집힌 클러스터와 같은 객체가, 객체가 생성되는 단계 중에 또는 그 이후의 임의의 단계 중에 메모리(754)에 저장될 수 있고 그로부터 판독될 수 있다. (예를 들어, 단계(914, 916, 918, 및/또는 920) 중에 생성된) 트랙 계획, 라우팅, 배치, 및 레이아웃과 연관된 정보를 포함하는 디지털 파일이 또한 메모리(754)에 저장될 수 있고, 파일이 생성되는 단계 또는 그 이후의 임의의 단계 중에 메모리(754)로부터 판독될 수 있다. 임의의 단계(902, 904, 906, 908, 910, 912, 914, 916, 918, 및/또는 920) 중에 생성되거나 사용되는 (예를 들어, 디지털 파일 내에 저장된) 객체 및/또는 정보의 표상이, 객체 또는 정보가 생성되거나 이용되는 단계 또는 그 이후의 임의의 단계 중에, 디스플레이(756)에서 디스플레이될 수 있다.
일부 실시형태에서, (예를 들어, 하나 이상의) 표준 셀의 (또는 ,예를 들어 전체 표준 셀 라이브러리(708)의) (예를 들어, 메모리(754) 내의 디지털 파일 내에 저장될 수 있는) 결과적인 물리적 레이아웃이 (단계(612) 중에) RC 추출을 위해서 사용될 수 있고, 셀 특성화(620)를 수행하기 위한 기생(단계(616))을 포함하는 대응 넷리스트의 생성을 가능하게 할 수 있다.
일부 실시형태에서, 단계(902, 904, 906, 908, 910, 912, 914, 916, 및/또는 918)의 하나 이상을 수행하는 것이, 유리하게는, 예를 들어 특정 트랙 계획을 위한 최적의 레이아웃을 달성하는 데 소요되는 시간을 줄이는 것에 의해서, 예를 들어 표준 셀 레이아웃 라이브러리를 위한 표준 셀 레이아웃을 생성하는 디바이스를 개선하고, 이는 유리하게는 설계 단계에서 조기에 기술 노드를 평가할 수 있게 한다.
도 10은 본 발명의 실시형태에 따른, 표준 셀 라이브러리(708)를 이용하여 집적 회로를 설계 및 제조하기 위한 실시형태 방법(1000)의 흐름도를 도시한다.
단계(1002) 중에, 집적 회로 설계 넷리스트의 합성, 배치 및 라우팅이 표준 셀 라이브러리(708)의 표준 셀을 이용하여 수행된다. 단계(1004) 중에, (예를 들어, 전체) 설계 시뮬레이션이 단계(1002) 중에 생성된 집적 회로 레이아웃을 기초로 수행된다. 단계(1006) 중에, 단계(1002) 중에 생성된 레이아웃에 대응하는 마스크를 갖는 마스크 세트가 제조된다. 마스크 세트는, 집적 회로의 구성요소를 구성하는 금속, 산화물, 또는 반도체 층의 패턴에 대응하는 기하형태적 형상을 포함하는 마스크의 세트를 포함한다. 마스크 세트는, 예를 들어 포토리소그래픽 프로세스를 이용하는, 집적 회로 제조를 위한 단계(1008) 중에 반도체 파운드리로 전달된다.
도 11a 내지 도 11l은 본 발명의 실시형태에 따른, 비-적층형 FinFET 기술을 이용하여 도 8c의 넷리스트(반-가산기)를 물리적 레이아웃으로 변환하기 위한 방법(900)의 수행을 도시한다. 예를 들어, 도 11a, 도 11b, 도 11c, 도 11d, 도 11e, 도 11f는 단계(902, 904, 906, 908, 910, 및 912)를 각각 도시한다. 단계(914)가 도 11g 및 도 11i에 도시되어 있다. 단계(916)가 도 11i에 도시되어 있고, 단계(918 및 920)가 도 11j 및 도 11l에 각각 도시되어 있다.
도 11a는 본 발명의 실시형태에 따른, 공통 게이트를 가지는 상보적인 트랜지스터를 페어링하는 것(단계 (902))을 도시한다. 예를 들어, 도 8c의 넷리스트는 pMOS 트랜지스터(M0, M1, M2, M3, M4, M5, 및 M6), 그리고 nMOS 트랜지스터(M7, M8, M9, M10, M11, M12, 및 M13)를 포함한다. 도 11a에 도시된 바와 같이, 공통 게이트를 갖는 pMOS-nMOS 페어가 식별되고 함께 페어링된다. 예를 들어, pMOS 트랜지스터(M0) 및 nMOS 트랜지스터(M7)는 공통 게이트를 공유한다(트랜지스터(M0 및 M7)의 게이트가 노드(N1)에 연결된다). PMOS 트랜지스터(M1) 및 nMOS 트랜지스터(M9)는 공통 게이트를 공유한다(노드(B)에 연결된다). PMOS 트랜지스터(M2) 및 nMOS 트랜지스터(M10)는 공통 게이트를 공유한다(노드(A)에 연결된다). PMOS 트랜지스터(M3) 및 nMOS 트랜지스터(M8)는 공통 게이트를 공유한다(노드(N4)에 연결된다). PMOS 트랜지스터(M4) 및 nMOS 트랜지스터(M11)는 공통 게이트를 공유한다(노드(A)에 연결된다). PMOS 트랜지스터(M5) 및 nMOS 트랜지스터(M12)는 공통 게이트를 공유한다(노드(B)에 연결된다). PMOS 트랜지스터(M6) 및 nMOS 트랜지스터(M13)는 공통 게이트를 공유한다(노드(N4)에 연결된다).
도 11a가 FinFET 디바이스에 적용되는 것으로 단계(902)를 도시하나, 유사하거나 동일한 단계가 CFET 디바이스와 같은 다른 기술을 위해서 수행될 수 있다.
일부 실시형태에서, 도 11a에서 식별된 각각의 상보적인 트랜지스터 페어는 도 11b에 도시된 바와 같이 객체가 된다. 객체는 데이터 구조, 텐서의 벡터, 또는 기타일 수 있다. 예를 들어, 도 11b에 도시된 바와 같이, 도 11(단계(902))에서 식별된 객체는 트랜지스터 아이콘으로 표시될 수 있다. 예를 들어, 상보적인 트랜지스터 페어(M0/M7)는, (트랜지스터(M0 및 M7)의 게이트에 연결된) 게이트 입력(N1) 및 입/출력 단자(VDD, VSS, 및 Sum)를 가지는, 객체(1102)로서 표시된다. 상보적인 트랜지스터 페어(M1/M9)는, (트랜지스터(M1 및 M9)의 게이트에 연결된) 게이트 입력(B) 및 입/출력 단자(VDD, VSS, N0 및 N2)를 가지는, 객체(1104)로서 표시된다. 상보적인 트랜지스터 페어(M2/M10)는, (트랜지스터(M2 및 M10)의 게이트에 연결된) 게이트 입력(A) 및 입/출력 단자(N0, VSS, N1 및 N2)를 가지는, 객체(1106)로서 표시된다. 상보적인 트랜지스터 페어(M3/M8)는, (트랜지스터(M3 및 M8)의 게이트에 연결된) 게이트 입력(N4) 및 입/출력 단자(VDD, N2 및 N1)를 가지는, 객체(1108)로서 표시된다. 상보적인 트랜지스터 페어(M4/M11)는, (트랜지스터(M4 및 M11)의 게이트에 연결된) 게이트 입력(A) 및 입/출력 단자(VDD, VSS, N4 및 N3)를 가지는, 객체(1110)로서 표시된다. 상보적인 트랜지스터 페어(M5/M12)는, (트랜지스터(M5 및 M12)의 게이트에 연결된) 게이트 입력(B) 및 입/출력 단자(VDD, N3 및 N4)를 가지는, 객체(1112)로서 표시된다. 상보적인 트랜지스터 페어(M6/M13)는, (트랜지스터(M6 및 M13)의 게이트에 연결된) 게이트 입력(N4) 및 입/출력 단자(VDD, VSS, 및 Carry)를 가지는, 객체(1114)로서 표시된다.
일부 실시형태에서, (예를 들어, 도 11b에 도시된 바와 같은) 식별된 객체의 트랜지스터 아이콘이 디스플레이(756)에서 디스플레이될 수 있다.
도 11b가 FinFET 디바이스에 적용되는 것으로 단계(904)를 도시하나, 유사하거나 동일한 단계가 CFET 디바이스와 같은 다른 기술을 위해서 수행될 수 있다.
도 11c 내지 도 11f는, 예를 들어 FinFET로 구현된 바와 같은 전기 설계 구성 내의 트랜지스터 페어 객체의 배치를 최적화하고/하거나 수정하기 위한, 예를 들어, 전기 설계 구성요소의 결과적인 물리적 레이아웃 또는 배치가, 예를 들어, 더 작고/작거나 라우팅하기에 용이하며 전기 설계(이러한 예에서, 반-가산기)의 실작업이 가능하도록 하는, 방법(900)의 단계를 도시한다.
도 11c는 본 발명의 실시형태에 따른, 공통 입/출력 연결(단계(906))를 기초로, 트랜지스터-페어 객체를 클러스터 내로 연관시키는 것을 도시한다. 예에서, 트랜지스터-페어(1102 및 1114)는 공통 입/출력(VDD 및 VSS)을 공유한다. 트랜지스터-페어(1112, 1110)는 공통 입/출력(VDD, N3 및 N4)을 공유한다. 트랜지스터-페어(1110, 1104)는 공통 입/출력(VDD 및 VSS)을 공유한다. 트랜지스터-페어(1104 및 1106)는 공통 입/출력(N0 및 VSS)을 공유한다. 도 11c에 도시된 바와 같이, 3개의 클러스터(1122, 1124, 및 1126)가 식별된다.
일부 실시형태에서, 트랜지스터-페어 객체는, 기능성의 변화가 없이, y-축을 중심으로 완전히 또는 부분적으로 거울 대칭일 수 있다. 따라서, 도 11c에 도시된 바와 같이, (예를 들어, 공유 연결로 인해서) 뒤집기로부터 이점을 취할 수 있는 트랜지스터-페어의 트랜지스터가 식별된다. 도 11c에 도시된 바와 같이, 이러한 예에서, 트랜지스터(M0, M7, M12, M4, M11, 및 M10)가 뒤집기에 대해서 식별된다.
도 11c에서 확인될 수 있는 바와 같이, 다른 클러스터 및 트랜지스터-페어 연관이 가능하다(예를 들어, 객체(1108 및 1106)가 공통 노드(N1 및 N2)를 기초로 연관될 수 있다). 도 11c에서 또한 확인될 수 있는 바와 같이, 다른 트랜지스터 뒤집기가 식별될 수 있다(예를 들어, 공유된 연결(VDD)을 기초로 하는 트랜지스터(1112) 뒤집기 및 트랜지스터(1110) 뒤집기 없음의 식별). 일부 실시형태에서, 트랜지스터-페어의 모든 가능한 연관 및 치환(permutation)이 평가되고, 더 적은 수의 클러스터를 초래하는 연관이 선택된다.
일부 실시형태에서, 트랜지스터-페어 및 트랜지스터 뒤집기의 모든 가능한 연관 및 치환이 평가되고, 더 적은 수의 클러스터를 초래하고/하거나 노드들 사이의 거리를 최소화하는 것이 연관이 선택된다.
도 11d는 본 발명의 실시형태에 따른, 공통 입/출력 연결(단계(908))를 기초로 하는, (도 11c에서 식별된 바와 같은) 클러스터 연관 및 트랜지스터 뒤집기 후의 트랜지스터-페어 객체를 도시한다.
도 11e는 본 발명의 실시형태에 따른, 단계(908) 후의 (예를 들어, 중복 공유된) 노드들의 병합(단계(910))을 도시한다. 예를 들어, (예를 들어, 도 11d에 도시된 바와 같은) 트랜지스터-페어 객체의 각각은 (상보적인 트랜지스터들의 게이트들에 연결되는) 게이트 노드, 2개의 입력, 및 (상보적인 트랜지스터의 각각을 위한) 2개의 출력을 포함한다. 단계(910) 중에, 중복 공유된 노드들이 병합되고, 결과적인 클러스터는 그 조합된 트랜지스터 페어의 입/출력의 수보다 적은 수를 가질 수 있다. 예를 들어, 게이트 노드(N1 및 N4)에 더하여, 클러스터(1122)는 4개의 입/출력 노드(Sum, VDD, VSS, 및 Carry)를 포함하고, 이는 도 1d의 클러스터(1122)에 대해서 도시된 6개의 입/출력 노드보다 적다. 클러스터(1124)에서, (트랜지스터들(M5 및 M4) 사이의) N4 노드, (트랜지스터들(M12 및 M11) 사이의) N3 노드, (트랜지스터들(M4 및 M1) 사이의) VDD 노드, (트랜지스터들(M11 및 M9) 사이의) VSS 노드, (트랜지스터들(M1 및 M2) 사이의) N0 노드, 및 (트랜지스터들(M9 및 M10) 사이의) N2 노드가 각각 병합된다. 노드(N1)가 클러스터(1126)로부터 병합된다. 일부 실시형태에서, (도 11e에 도시된 바와 같이) 병합된 클러스터의 트랜지스터 아이콘이 디스플레이(756)에서 디스플레이된다.
도 11f는 본 발명의 실시형태에 따른, 클러스터에 대해서 단지 국소적이고 내부적인 또는 다른 클러스터(단계(912))에 대한 외부 연결성을 필요로 하지 않는, 노드의 제거를 도시한다. 예를 들어, 클러스터(1122)에서, Sum 및 Carry가 표준 셀의 외부 핀이기 때문에, VDD 및 VSS는 전력 공급 노드이고 노드(N1 및 N4)는 게이트 노드이고, 어떠한 노드도 제거되지 않는다. 클러스터(1124)에서, 노드(N3 및 N0)는 클러스터(1124)에 대해서 국소적이고 그에 따라 제거된다. 노드(N4)는 (트랜지스터(M12)의 전류 경로 단자와 트랜지스터(M5)의 전류 경로 단자 사이의) 추가적인 내부 연결성을 필요로 하고, 그에 따라 제거되지 않는다(노드(N4)는 또한 다른 클러스터에 연결되고, 그에 따라 그러한 이유로 또한 유지된다). 노드(N2 및 N1)는 클러스터(1122 및/또는 1126)에 연결되고 그에 따라 제거되지 않는다. 노드(A 및 B)는 표준 셀의 외부 핀이고 그에 따라 제거되지 않는다. 클러스터(1126)에서, 노드는 제거되지 않는다. 일부 실시형태에서, (도 11f에 도시된 바와 같이) 결과적인 클러스터의 트랜지스터 아이콘이 디스플레이(756)에서 디스플레이된다.
도 11g는 본 발명의 실시형태에 따른, 기술-특정 와이어 트랙 계획(단계(914)에서의 클러스터(1122, 1124 및 1126)의 배치를 도시한다. 이러한 예에서, 와이어 트랙 계획은 상보적인 트랜지스터-페어의 단일 행으로 구속되고, 그에 따라, 클러스터(1122, 1124 및 1126)는 (도 11g에 도시된 바와 같이) 단일 행으로 배치된다. 일부 실시형태에서, (도 11g에 도시된 바와 같이) 결과적인 클러스터 배치의 트랜지스터 아이콘이 디스플레이(756)에서 디스플레이된다.
도 11h는 본 발명의 실시형태에 따른, 비-적층형 FinFET에 대한 기술 특정 와이어 트랙 계획의 3D 도면을 도시한다. 도 11h에 도시된 바와 같이, 트랙 계획은 4개의 신호 트랙(1136, 1138, 1140 및 1142)을 포함한다. 신호 트랙(1134 및 1136)은 콘택을 이용하여 pFET의 게이트 또는 소스/드레인을 라우팅할 수 있다. 신호 트랙(1140 및 1142)은 콘택을 이용하여 nFET의 게이트 또는 소스/드레인을 라우팅할 수 있다. 도 11h에 도시된 3D 도면이 (이러한 예에서, 도 11k에 도시된 구성(1193)에 대응하는) 트랙 계획에서의 디바이스의 특정 배치에 대응하는 비제한적인 예라는 것, 그리고 예를 들어 콘택 및 다른 연결의 배치가 상이할 수 있고, (예를 들어, 도 11k에 도시된 다양한 구성에 의해서 도시된 바와 같이) 만들어지는 특정 연결에 따라 상이한 노드들을 연결할 수 있거나 생략될 수 있다는 것을 이해할 수 있을 것이다.
도 11h에 도시된 트랙 계획이 가능한 트랙 계획의 비제한적인 예라는 것을 이해할 수 있을 것이다. 예를 들어, 상이한 수의 트랙들을 갖는 또는 트랙에 대한 상이한 접속을 갖는 트랙 계획이 또한 이용될 수 있다. 예를 들어, 일부 실시형태에서, 트랙 계획은 예를 들어 3개 또는 2개와 같은, 4개 미만의 신호 트랙을 포함할 수 있다. 일부 실시형태에서, 트랙 계획은, 5개, 6개, 8개, 또는 그 초과의 트랙과 같은 4개 초과의 트랙을 포함한다.
도 11i는 본 발명의 실시형태에 따른, 예를 들어 도 11g에 도시된 바와 같은 클러스터 배치를 도 11h에 도시된 기술-특정 와이어 트랙 계획 내로 맵핑하는 것(예를 들어, 단계(914))을 도시한다. 도시된 바와 같이, 와이어 트랙 계획은, 트랙(1132, 1134, 1136, 1140, 및 1142)을 포함하는 트랙의 하나의 행을 포함한다. 트랙(1132 및 1144)은 전력-레일(VDD 및 VSS(또는 접지))에 각각 대응한다. 트랙(1138)은 신호 라우팅에서 이용되지 않을 때 nMOS와 pFET 사이의 분리를 도시한다(이러한 예에서, pFET은 트랙(1138) 위의 상단 절반 내에 위치되고 nFET은 트랙(1138) 아래의 하단 절반 내에 위치된다). 트랙(1134, 1136, 1140, 및 1142)은 라우팅을 위해서 사용될 수 있는 이용 가능 신호 배선 트랙이다.
도 11i에 도시된 각각의 열은, 확산 중단부(diffusion break)와 같은, 노드 또는 전기 절연 구조물의 가능한 위치를 나타낸다. 확산 중단부는, 예를 들어 하나의 트랜지스터의 출력이 이웃 트랜지스터의 입력이 되도록 트랜지스터가 배치될 수 없을 때, 절연 목적을 위해서 사용될 수 있다. 예를 들어, 열(1131, 1133, 1135, 및 1137)은 더미 폴리(dummy poly)로 충진될 수 있는 확산 중단부를 나타낸다. 일부 실시형태에서, 그러한 확산 중단부는 클러스터들을 분리할 뿐만 아니라, 반-가산기 셀을 인접 셀로부터 분리한다. 일부 실시형태에서, 확산 중단부는 클러스터들을 분리한다. 예를 들어, 도 11i에서, 확산 중단부(1133 및 1135)는 클러스터들(1122, 1124, 및 1126)을 분리하고, 확산 중단부(1131 및 1137)는 반-가산기 셀을 인접 셀로부터 분리한다.
열(1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161, 1163, 1165, 1167, 1169, 1171, 및 1173)은 트랜지스터 노드에 대응하고, 도 11g에 또한 도시되어 있다. 따라서, 열(1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161, 1163, 1165, 1167, 1169, 1171, 및 1173)과 행(1132, 1134, 1136, 1140, 1142, 및 1144)의 교차부에 위치되는 셀은 가능한 트랜지스터 노드 위치에 대응한다. 예를 들어, 열(1141)은 (행(1132), 열(1141)에서 VDD에 연결된) 트랜지스터(M5) 및 (행(1142), 열(1141)에서 노드(N4)에 연결된) 트랜지스터(M12)의 전류 경로 노드를 포함하고; 열(1143)은 (행(1134), 열(1143)에서 노드(B)에 연결된) 트랜지스터(M5) 및 (행(1142), 열(1143)에서, 그리고 행(1134), 열(1143)에서 셀에 연결된) 트랜지스터(M12)의 게이트 노드를 포함하고; 열(1145)은 (행(1134), 열(1145)에 위치되는) 트랜지스터(M5) 및 (행(1136), 열(1145)에서, 그리고 행(1134), 열(1145)에서 노드(N4)에 그리고 트랜지스터(M5)의 전류 경로에 연결된) 트랜지스터(M4) 및 (행(1142), 열(1145)에서, 그리고 행(1142), 열(1143)에서 트랜지스터(M5)의 게이트에 연결된) 트랜지스터(M11)의 전류 경로 노드를 포함하는 등이다.
도 11i는 또한 기술-특정 와이어 트랙 계획에서의 개방 노드의 식별(단계(916))을 도시한다. 예를 들어, 노드(B 및 N1)는 클러스터(1124)의 트랙(1134)에서 식별된다. 노드(N4)는 클러스터(1124)의 트랙(1136)에서 식별된다. 노드(A)는 클러스터(1124)의 트랙(1140)에서 식별된다. 노드(N4 및 N2)는 클러스터(1124)의 트랙(1142)에서 식별된다. 노드(N1)는 클러스터(1126)의 트랙(1134)에서 식별된다. 노드(N4)는 클러스터(1126)의 트랙(1136)에서 식별된다. 노드(N2)는 클러스터(1126)의 트랙(1142)에서 식별된다. 노드(N1)는 클러스터(1122)의 트랙(1134)에서 식별된다. 노드(N4)는 클러스터(1122)의 트랙(1136)에서 식별된다. 노드(C(Carry))는 클러스터(1122)의 트랙(1140)에서 식별된다. 노드(S(Sum))는 클러스터(1122)의 트랙(1142)에서 식별된다. 예를 들어 더 높은 레벨의 금속에서 만들어 질 수 있는 각각의 클러스터 내부의 개방 연결도 식별된다. 예를 들어, 클러스터(1124)의 트랙(1136 및 1142) 내의 노드들(N4)이 금속(M1)(예를 들어, 반도체 기판의 상단부 위의 금속의 제1 층)을 이용하여 서로 연결될 수 있다.
도 11i에서 확인될 수 있는 바와 같이, 열(1141) 및 행(1142)에 위치되는 셀은 트랜지스터(M12)의 노드(N4)에 대응한다. 열(1143) 및 행(1134)에 위치되는 셀은 트랜지스터(M5)의 노드(B)에 대응한다. 열(1145) 및 행(1136)에 위치되는 셀은 트랜지스터(M5)의 노드(N4)에 대응한다. 열(1147) 및 행(1140)에 위치되는 셀은 트랜지스터(M11)의 노드(A)에 대응한다(게이트 노드들이 상보적인 셀들 사이에서 공유된다). 열(1151) 및 행(1134)에 위치되는 셀은 트랜지스터(M1)의 노드(B)에 대응한다. 열(1153) 및 행(1142)에 위치되는 셀은 트랜지스터(M9)의 노드(N2)에 대응한다. 열(1155) 및 행(1140)에 위치되는 셀은 트랜지스터(M10)의 노드(A)에 대응한다. 열(1157) 및 행(1134)에 위치되는 셀은 트랜지스터(M2)의 노드(N1)에 대응한다. 열(1159) 및 행(1142)에 위치되는 셀은 트랜지스터(M8)의 노드(N2)에 대응한다. 열(1161) 및 행(1136)에 위치되는 셀은 트랜지스터(M3)의 노드(N4)에 대응한다. 열(1163) 및 행(1134)에 위치되는 셀은 트랜지스터(M3)의 노드(N1)에 대응한다. 열(1165) 및 행(1142)에 위치되는 셀은 트랜지스터(M7)의 노드(S(Sum))에 대응한다. 열(1167) 및 행(1134)에 위치되는 셀은 트랜지스터(M0)의 노드(N1)에 대응한다. 열(1171) 및 행(1136)에 위치되는 셀은 트랜지스터(M6)의 노드(N4)에 대응한다. 열(1173) 및 행(1136)에 위치되는 셀은 트랜지스터(M13)의 노드(C(Carry))에 대응한다.
VDD로 식별된 전력 레일(1132)에 위치되는 셀(열(1141, 1149, 1159, 1169)에 위치되는 셀)은 (예를 들어, 외부 연결를 위한) VDD 노드에 대응한다. VSS로 식별된 전력 레일(1144)에 위치되는 셀(열(1149, 1157, 1169)에 위치되는 셀)은 (예를 들어, 외부 연결를 위한) VSS(접지) 노드에 대응한다.
도 11i에서 확인될 수 있는 바와 같이, 일부 노드는 1개 초과의 셀 사이에서 공유된다. 따라서, 일부 실시형태에서, 1개 초과의 셀이 연결을 라우팅하기 위해서 사용될 수 있다(예를 들어, 열(1145), 행(1134 및 1136)에 위치되는 셀들 모두가 노드(N4)를 연결하기 위해서 이용될 수 있다). 일부 실시형태에서, 모든 가능한 셀 선택이 평가되고, 가장 짧은 배선(가장 짧은 연결)을 초래하는 셀이 선택된다(이러한 예에서, 열(1145), 행(1136)에 위치되는 셀은 열(1141), 행(1142)에 위치되는 셀에 대한 더 짧은 연결을 초래하고, 그에 따라 선택된다). 일부 실시형태에서, 유사한 노드가 동일 트랙에 할당된다(이러한 예에서, 노드(N4)는 트랙(1136)을 이용하여 라우팅된다).
일부 실시형태에서, 예를 들어 도 11i에 도시된 바와 같은, 트랙 계획의 표상이 (예를 들어, 도 11i에 도시된 바와 같이) 디스플레이(756)에서 디스플레이된다.
도 11j는 본 발명의 실시형태에 따른, 기술 특정 와이어 트랙 계획에서의 각각의 열(예를 들어, 도 11i에 도시된 바와 같은, 열(1131, 1133, 1135, 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161, 1163, 1165, 1167, 1169, 1171, 및 1173)을 미리 규정된 기술 구성(단계(918))의 세트로부터의 (예를 들어, 도 11k에 도시된 바와 같이, 디바이스 레이아웃 구성으로도 지칭되는) 미리 규정된 기술 구성으로 맵핑하는 것을 도시한다. 구성들 사이의 갭이 도 11j에 도시되어 있지만, 이러한 갭은 레이아웃 내의 구성의 실제 배치에서 나타나지 않을 수 있다.
미리 규정된 기술 구성의 세트는 특정한 기술-특정 배선 트랙 계획에서의 기본 디바이스(예를 들어, 트랜지스터)의 유한한 수의 가능한 구현예(예를 들어, 모든 가능한 구현예)를 포함할 수 있다. 예를 들어, 도 11k는 본 발명의 실시형태에 따른, 도 11a 내지 도 11l에 도시된 5.5T FinFET 기술에 대한 소스/드레인 및 게이트 연결을 갖는 미리 규정된 기술 구성의 세트를 도시한다. 예를 들어, 구성(1170)은 (예를 들어, 열(1131, 1133, 1135, 및 1137) 내에 구현된) 확산 중단부에 대응한다. 구성(1170 내지 1193)은, 소스, 게이트, 및 드레인 연결을 위한 상이한 가능한 위치들을 포함하는, 배선 계획에서의 pFET 및 nFET의 가능한 구현에 대응한다. 예를 들어, 구성(1171, 1172, 1173, 및 1174)은 상보적인 트랜지스터의 가능한 게이트 연결에 대응하고, 여기서 공유된 게이트 콘택은 각각 트랙(1134, 1136, 1140, 또는 1142) 상에 위치된다. 구성(1175)은 각각 pFET 및 nFET에 대한 VDD 및 VSS 연결에 대응한다. 구성(1176)은 pFET에 대한 VDD 연결에 대응한다. 구성(1177)은 트랙(1140) 상의 pFET 및 nFET 신호 콘택에 대한 VDD 연결에 대응한다. 구성(1178)은 트랙(1142) 상의 pFET 및 nFET 신호 콘택에 대한 VDD 연결에 대응한다. 구성(1180)은 트랙(1134) 상의 nFET 및 pFET 신호 콘택에 대한 VSS 연결에 대응한다. 구성(1181)은 트랙(1136) 상의 nFET 및 pFET 신호 콘택에 대한 VSS 연결에 대응한다. 구성(1182)은 연결이 없는 폐쇄 노드에 대응한다. 구성(1183 내지 1186)은 각각 트랙(1134, 1136, 1140, 및 1142) 상의 pFET 신호 콘택에 대응한다. 구성(1187 내지 1190)은 각각 pFET 및 nFET 소스/드레인을 트랙(1134, 1136, 1140, 및 1142) 상에서 신호 콘택을 가지는 연결과 연결하는 것에 대응한다. 구성(1191)은 다른 연결을 가지지 않는 pFET 및 nFET 소스/드레인을 연결하는 것에 대응한다. 구성(1191)은 분할 게이트(독립적으로 접촉된 pFET 및 nFET의 게이트)에 대응한다. 구성(1193)은 트랙(1134) 상의 pFET 신호 콘택 및 트랙(1142) 상의 nFET 신호 콘택에 대응한다.
열(1143, 1151, 및 1167)은 구성(1171)으로 구현된다. 열(1161 및 1171)은 구성(1172)으로 구현된다. 열(1147 및 1155)은 구성(1173)으로 구현된다. 다른 열은 다른 구성으로 구현된다. 예를 들어, 열(1141 및 1159)은 구성(1177)으로 구현되고; 열(1145)는 구성(1184)으로 구현되고; 열(1149 및 1169)은 구성(1175)으로 구현되고; 열(1153)은 구성(1186)으로 구현되고; 열(1157)은 구성(1180)으로 구현되고; 열(1163)은 구성(1187)으로 구현되고; 열(1165)은 구성(1190)으로 구현되고; 열(1173)은 구성(1189)으로 구현된다.
일부 실시형태에서, (예를 들어 도 11j에 도시된 바와 같은) 구성을 이용하는 트랙 계획의 표상이 (예를 들어, 도 11j에 도시된 바와 같이) 디스플레이(756)에서 디스플레이된다.
도 11l은 본 발명의 실시형태에 따른, 반-가산기의 최종 레이아웃을 도시하고, 여기서 구성들 사이의 개방 노드의 라우팅은 규격품 툴을 이용하여 수행된다(단계(920)). 도 11l에 도시된 바와 같이, 신호 배선 트랙은 열(1143)과 열(1151) 사이의 트랙(1134)에서 라우팅되고, 그에 따라 입력(B)에 대한 열(1143 및 1151)에 접촉한다. 신호 배선 트랙이 열(1157)과 열(1167) 사이의 트랙(1134)에서 라우팅되고, 그에 따라 노드(N1)에 대한 열(1157, 1163, 및 1167)에 접촉한다. 신호 배선 트랙이 열(1145)과 열(1155) 사이의 트랙(1140)에서 라우팅되고, 그에 따라 반-가산기의 입력(A)에 대한 열(1147 및 1155)에 접촉한다. 신호 배선 트랙이 열(1153)과 열(1159) 사이의 트랙(1142)에서 라우팅되고, 그에 따라 노드(N2)에 대한 열(1153 및 1159)에 접촉한다.
일부 실시형태에서, 예를 들어 도 11l에 도시된 바와 같은, 최종 레이아웃의 표상이 (예를 들어, 도 11l에 도시된 바와 같이) 디스플레이(756)에서 디스플레이된다.
도 11a 내지 도 11l에 도시된 바와 같이, 방법(900)은 (예를 들어, 도 3에 도시된 타입의) 비-적층형 FinFET 트랜지스터에서 구현될 수 있다. 유사하거나 동일한 방법이 다른 타입의 비-적층형 트랜지스터 아키텍처에서, 예를 들어 (예를 들어, 도 1에 도시된 타입의) 비-적층형 평면형 트랜지스터에서, (예를 들어, 도 2a에 도시된 타입의) 비-적층형 트리게이트 트랜지스터에서, 그리고 (예를 들어, 도 3에 도시된 타입의) 비-적층형 NS 트랜지스터에서 구현될 수 있다. 방법(900)의 유사한 구현이 (예를 들어, 도 4에 도시된 타입의) 비-적층형 CFET 및 (예를 들어, 도 5에 도시된 타입의) 비-적층형 VFET을 위해서 수행될 수 있다. 도 12a 내지 도 12d는 본 발명의 실시형태에 따른, 비-적층형 CFET 기술을 이용하여 도 11g에 도시된 클러스터의 배치를 물리적 레이아웃으로 변환하기 위한 단계(914, 916, 918, 및 920)의 수행을 도시한다.
도 12a 및 도 12b는 본 발명의 실시형태에 따른, CFET의 단일 적층체에 대한 기술 특정 와이어 트랙 계획의 3D 도면을 도시한다.
도 12a 및 도 12b에 도시된 트랙 계획에서, 도 12a에 도시된 구성에서 구현될 때, pFET은 트랙(1134 및 1136)을 연결할 수 있고, nFET은 트랙(1140 및 1142)을 연결할 수 있으며, nFET은 트랙(1134 및 1136)을 연결할 수 있고 pFET은 트랙(1140 및 1142)을 연결할 수 있다. 도 12a 및 도 12b에 도시된 바와 같이, CFET을 위한 트랙 계획은 또한, 층 내에서 수평으로 라우팅하는 것에 의해서, 콘택을 이용하지 않고 소스/드레인을 연결할 수 있고, 여기서 소스/드레인은 국소적인 인터커넥트의 2개의 층 중 하나를 이용하여 위치된다.
도 12c는 본 발명의 실시형태에 따른, (예를 들어 도 11g에 도시된 바와 같은) 디바이스 배치를 도 12a 및 도 12b에 도시된 기술-특정 와이어 트랙 계획 내로 맵핑하는 것(예를 들어, 단계(914))을 도시한다. 도시된 바와 같이, 비-적층형 CFET과 관련하여 도 12c에 도시된 맵핑은 비-적층형 FinFET와 관련하여 도 11i에 도시된 맵핑과 매우 유사하다. 그러나, 도 12c의 맵핑은 더 높은 레벨의 금속을 이용하여 열(1141 및 1145)에서 노드(N4)를 연결하지 않는데, 이는 국소적인 인터커넥트가 그러한 연결을 위해서 사용될 수 있기 때문이다. 도 12는 또한, 각각 확산 중단부(1133 및 1135)에 대응하는 확산 중단부(1233 및 1235)는 (클러스터(1124)와 클러스터(1126) 사이의) 노드(N2)의 그리고 (클러스터(1124), 클러스터(1126), 및 클러스터(1122) 사이의) 노드(N4)의 클러스터들 사이의 연결을 하용하기 위해서 전체 열로 확장되지 않는다는 것을 보여 준다.
도 12d는 본 발명의 실시형태에 따른, 도 12c에 도시된 바와 같이 맵핑된, 도 12a 및 도 12b에 도시된 트랙 계획의 반-가산기의 최종 레이아웃을 도시한다. 도 12d에 도시된 바와 같이, 신호 배선 트랙은 열(1143)과 열(1151) 사이의 트랙(1134)에서 라우팅되고, 그에 따라 입력(B)에 대한 열(1143 및 1151)에 접촉한다. 신호 배선 트랙이 열(1157)과 열(1167) 사이의 트랙(1134)에서 라우팅되고, 그에 따라 노드(N1)에 대한 열(1157, 1163, 및 1167)에 접촉한다. 신호 배선 트랙이 열(1145)과 열(1155) 사이의 트랙(1140)에서 라우팅되고, 그에 따라 반-가산기의 입력(A)에 대한 열(1147 및 1155)에 접촉한다. 신호 배선 트랙이 열(1153)과 열(1159) 사이의 트랙(1142)에서 라우팅되고, 그에 따라 노드(N2)에 대한 열(1153 및 1159)에 접촉한다.
방법(900)은 또한, 적층형 평면형 트랜지스터, 적층형 FinFET, 적층형 트리게이트 트랜지스터, 적층형 NS 트랜지스터, 적층형 CFET, 및 적층형 VFET와 같은, 트랜지스터의 적층체를 갖는 트랜지스터 기술에서 구현될 수 있다. 예를 들어, 도 13a 내지 도 13j는 본 발명의 실시형태에 따른, 적층형 CFET 기술을 이용하여 도 8c의 넷리스트(반-가산기)를 물리적 레이아웃으로 변환하기 위한 방법(900)의 수행을 도시한다. 유사하거나 동일한 방법이 다른 적층형 트랜지스터 아키텍처에 적용될 수 있다.
도 13a 및 도 13b는 각각 단계(902, 904)를 도시한다. 도 13c 및 도 13d는 단계(906)를 도시하고, 예를 들어 서로 상하로 적층된 트랜지스터의 2단(two-tier)에 의해서 표시된 바와 같은, 기술의 적층형 특성을 도시한다. 도 13e는 단계(908)를 도시한다. 도 13f 및 도 13h는 단계(910)를 도시하고, 적층형 트랜지스터 기술에 의해서 가능해진 부가적인 수직 라우팅 경로를 도시한다. 단계(912)가 도 13h에 도시되어 있다. 이하에서 더 구체적으로 설명되는 바와 같이, 도 13a 내지 도 13j에 도시된 실시형태에서, (예를 들어, 라우팅되는 개방 노드가 남지 않은 경우) 단계(916 및 920)가 생략될 수 있다.
도 13a는 본 발명의 실시형태에 따른, 공통 게이트를 가지는 상보적인 트랜지스터를 페어링하는 것(단계 (902))을 도시한다. 도 13b는 본 발명의 실시형태에 따른, 단계(902) 중에 수행되는 페어링에 대응하는 트랜지스터-페어 객체(단계(904))를 도시한다. 도 13a 및 도 13b에 도시된 바와 같이, (예를 들어, 각각 도 11a 및 도 11b에 대해서 도시되고 설명된 바와 같이) 비-적층형 FinFET 디바이스와 같은 비-적층형 디바이스에 대한 것과 유사하거나 동일한 방식으로, 적층형 CFET 디바이스에 대해서 단계(902 및 904)가 수행될 수 있다.
도 13c 내지 도 13h는, 예를 들어 적층형 CFET로 구현된 바와 같은 전기 설계 구성 내의 트랜지스터 페어 객체의 배치를 최적화하고/하거나 수정하기 위한, 예를 들어, 전기 설계 구성요소의 결과적인 물리적 레이아웃 또는 배치가, 예를 들어, 더 작고/작거나 라우팅하기에 용이하며 전기 설계(이러한 예에서, 반-가산기)의 실작업이 가능하도록 하는, 방법(900)의 단계를 도시한다. 바라도 13c 및 도 13d는 본 발명의 실시형태에 따른, 공통 연결(단계(906))를 기초로, 트랜지스터-페어 객체를 클러스터 내로 연관시키는 것을 도시한다.
이하에서 더 구체적으로 설명되는 바와 같이, 적층형 트랜지스터 아키텍처, 예를 들어 적층형 CFET가 트랜지스터의 수직 적층(예를 들어, CFET의 적층)을 가능하게 하기 때문에, 트랙 계획은 트랜지스터들 사이의(예를 들어, 2개의 CFET 사이의) 게이트 연결의 수직 공유를 허용할 수 있다. 따라서, 일부 실시형태에서, 트랜지스터-페어 객체를 클러스터에 연관시키는 것은, 공통 입/출력 연결에 더하여, 이중-행 트랙 계획에서 (예를 들어, CFET의 게이트들을 수직으로 연결하는 것에 의해서) 행들에 걸쳐 공유될 수 있는 공통 게이트를 기초로 한다. 예를 들어, 도 13c 및 도 13d에 도시된 바와 같이, 트랜지스터-페어(1304 및 1306)는 공통 노드(N0 및 N2)를 공유하고, 트랜지스터-페어(1304 및 1312)는 공통 노드(B)를 공유하고, 트랜지스터-페어(1306 및 1310)는 노드(A)를 공유하고, 트랜지스터-페어(1312 및 1310)는 노드(VDD 및 N3)를 공유하고, 트랜지스터-페어(1314 및 1308)는 노드(N4)를 공유하고, 트랜지스터-페어(1302 및 1314)는 노드(VDD 및 VSS)를 공유하고, 트랜지스터-페어(1302 및 1308)는 공통 노드(N1)를 공유한다. 도 13c 및 도 13d에 도시된 바와 같이, 하나의 클러스터(1322)가 식별된다.
도 13d에 도시된 바와 같이, 트랜지스터(M10, M0, M7, M5, M12, M11, M3, 및 M8)가 뒤집기에 대해서 식별된다. 도 13e는 본 발명의 실시형태에 따른, 공통 입/출력 게이트 연결(단계(908))을 기초로 하는, (도 13c 및 도 13d에서 식별된 바와 같은) 클러스터 연관 및 트랜지스터 뒤집기 후의 트랜지스터-페어 객체를 도시한다.
일부 실시형태에서, 수평 연결에 더하여, 수직 연결의 수행 가능성은 최적의 결과를 달성하기 위한 배치 노력의 복잡성을 실질적으로 증가시킬 수 있다.
도 13f 내지 도 13h는 본 발명의 실시형태에 따른, 단계(908) 후의 (예를 들어, 중복 공유된) 노드들의 병합(단계(910))을 도시한다. 도 13f에 도시된 바와 같이, 최적화를 위한 추가적인 기회가 병합 작업 전에 먼저 식별된다. 예를 들어, 도 13f에 도시된 바와 같이, 개방 노드가 먼저 식별된다. 예를 들어, 트랜지스터-페어(1314, 1312 및 1310) 모두가 노드(N4)를 개방 노드로서 갖는다. 트랜지스터 페어(1314 및 1308)는 노드(N2)가 개방되어 있다. 트랜지스터 페어(1306, 1302 및 1308)는 노드(N1)가 개방되어 있다.
개방 노드를 기초로, 도 13g에 도시된 바와 같이, 트랜지스터-페어(1304 및 1312)가 교환되고, 트랜지스터 페어(1306 및 1310)가 교환된다. 일부 실시형태에서, 트랜지스터-페어 및 트랜지스터 뒤집기의 모든 가능한 연관 및 치환이 평가되고, 더 적은 수를 초래하는 이러한 연관 및 또는 노드들 사이의 거리의 최소화한다.
도 13h는 본 발명의 실시형태에 따른, 병합 단계(단계(910)) 후의 그리고 클러스터에 대해서 단지 국소적이고 내부적인 또는 다른 클러스터(단계(912))에 대한 외부 연결성을 필요로 하지 않는 노드의 제거 후의 클러스터(1322)를 도시한다. 도 13h는 또한, 확산 중단부(1324 및 1326)를 형성하는 더미 폴리실리콘 필름과 같은, 전기 절연 구조물을 도시한다.
도 13i는 본 발명의 실시형태에 따른, 2단 적층형 CFET에 대한 기술 특정 와이어 트랙 계획의 3D 도면을 도시한다. 도 13h에 도시된 바와 같이, 트랙 계획은 4개의 상단 신호 트랙(1334, 1336, 1340 및 1342) 및 2개의 하단 신호 트랙(1348 및 1356)을 포함한다. 일부 실시형태에서, 신호 트랙(1334 및 1336)은 콘택을 이용하여 상단 nFET의 상단 게이트 또는 소스/드레인을 라우팅할 수 있다. 일부 실시형태에서, 신호 트랙(1340 및 1342)은 콘택을 이용하여 pFET의 상단 게이트 또는 소스/드레인을 라우팅할 수 있다. 일부 실시형태에서, 신호 트랙(1348)은 콘택을 이용하여 하단 pFET의 하단 게이트 또는 소스/드레인을 라우팅할 수 있다. 일부 실시형태에서, 신호 트랙(1356)은 콘택을 이용하여 nFET의 하단 게이트 또는 소스/드레인을 라우팅할 수 있다. 일부 실시형태에서, 상단 게이트는, 상단 게이트와 하단 게이트 사이의 절연 층의 제거(예를 들어, 형성하지 않는 것)에 의해서, 하단 게이트에 연결될 수 있다. 도 13i에 도시된 3D 도면이 트랙 계획에서의 디바이스의 특정 배치에 대응하는 비제한적인 예라는 것, 그리고 예를 들어 디바이스의 배치가 변화될 수 있다는 것(예를 들어, pFET 및 nFET가 뒤집힐 수 있다는 것), 그리고 연결이 상이할 수 있다는 것(예를 들어, 뒤집힐 수 있다는 것)을 이해할 수 있을 것이다.
도 13j는 본 발명의 실시형태에 따른, (예를 들어 도 13h에 도시된 바와 같은) 디바이스 배치를 도 13i에 도시된 기술-특정 와이어 트랙 계획 내로 맵핑하는 것(예를 들어, 단계(914))을 도시한다. 도시된 바와 같이, 와이어 트랙 계획은, 트랙의 상단(트랙(1332, 1334, 1336, 1340, 1342, 및 1342)), 및 하단(트랙(1346, 1348, 1356, 및 1358))을 포함하는 2개의 트랙의 행을 포함한다. 트랙(1332 및 1344)은 상단 전력-레일(VDD 및 VSS(또는 접지))에 각각 대응한다. 트랙(1346 및 1358)은 하단 전력-레일(VDD 및 VSS(또는 접지))에 각각 대응한다. 트랙(1338 및 1352)은 nMOS와 pFET 사이의 분리를 도시하고, 신호의 라우팅을 위해서 사용되지 않는다. 트랙(1350 및 1354)은 사용되지 않는다. 트랙(1334, 1336, 1340, 및 1342)은, 상단 내의 CFET로부터 신호를 라우팅을 위해서 사용될 수 있는 이용 가능 신호 배선 트랙이다. 트랙(1348 및 1356)은, 하단 내의 CFET로부터 신호를 라우팅을 위해서 사용될 수 있는 이용 가능 신호 배선 트랙이다.
도 13i에 도시된 각각의 열은, 확산 중단부와 같은, 노드 또는 전기 절연 구조물의 가능한 위치를 나타낸다. 열(1341, 1343, 1345, 1347, 1349, 1351, 1353, 1355, 1357, 및 1359)은 트랜지스터 노드에 대응하고, 도 13g에 또한 도시되어 있다.
도 13i는 기술-특정 와이어 트랙 계획에서의 개방 노드(단계(916))뿐만 아니라 트랙을 이용하는 노드 연결 및 (예를 들어, 상단 게이트와 하단 게이트 사이의 절연 층의 제거에 의한) 수직 단 간의 게이트 연결의 식별을 도시한다.
맵핑된 트랙 계획으로부터, 예를 들어 도 13j에 도시된 바와 같이, 최종 레이아웃은, 도 13j의 트랙 계획의 열을 기초로 미리 규정된 기술 구성을 배치하는 것(단계(918)) 그리고 이어서 예를 들어 통상적인 라우팅 툴을 이용하여 개방 노드(존재하는 경우)를 라우팅하는 것에 의해서 생성될 수 있다. 도 13k는 본 발명의 실시형태에 따른, 2단 적층형 CFET 기술에 대한 소스/드레인 및 게이트 연결을 갖는 미리 규정된 기술 구성의 세트의 일부를 도시한다. 도 13k에 도시된 세트 내의 구성은, 예를 들어 도 11i 내지 도 11l와 관련하여 예시한 것과 유사한 방식으로, 도 13j에 도시된 트랙 계획을 최종 레이아웃 내로 맵핑하기 위해서 사용된다.
도 14는 본 발명의 실시형태에 따른, 트랜지스터의 클러스터를 생성하기 위한 실시형태 방법(1400)의 흐름도를 도시한다. 일부 실시형태에서, 단계(906, 908, 910, 및 912)가 방법(1400)으로서 수행될 수 있다. 따라서, 일부 실시형태에서, 넷리스트로부터 물리적 레이아웃에 도달하는 것은, 예를 들어 방법/단계(902, 904, 1400, 914, 916, 918, 및 920)를 수행하는 것을 포함할 수 있다. 방법(1400)은 컴퓨팅 디바이스(750)에 의해서 구현될 수 있다.
일부 실시형태에서, 방법(1400)의 수행은, 매칭 소스/드레인 단자들을 결합시키는 것에 의한, 특정 넷리스트를 위한, nFET 및 pFET의 가장 짧은 스트링의 생성을 초래한다. 일부 실시형태에서, 그러한 nFET 및 pFET의 가장 짧은 스트링들이 이어서 페어링되어, 공통 게이트들 사이의 연결의 수를 최대화한다.
도 15a 내지 도 15i는 본 발명의 실시형태에 따른, 방법(1400) 수행의 다양한 가능한 출력을 도시한다. 도 14는 도 15a 내지 도 15i를 고려할 때 이해될 수 있을 것이다.
단계(1402) 중에, 도 8c의 넷리스트(반-가산기)의 항목들과 같은, 넷리스트의 항목들이 nFET 및 pFET로 분류된다. 예를 들어, 도 15a는 본 발명의 실시형태에 따른, 도 8c의 넷리스트의 분류된 pFET 넷리스트(1502) 및 분류된 nFET 넷리스트(1504)를 도시한다.
단계(1404) 중에, 각각의 연결(노드)에 연관된 소스/드레인(SD) 단자의 수가 카운트된다. 카운팅은 nFET 넷리스트 및 pFET 넷리스트에 대해서 수행된다. 예를 들어, 도 15b는 각각 pFET 넷리스트 및 nFET 넷리스트의 각각의 연결과 연관된 카운트를 가지는 목록(1512 및 1514)을 도시한다.
단계(1406) 중에, 총 연결 및 홀수 카운트를 가지는 총 연결의 수가 (예를 들어, 단계(1404)의 출력을 기초로) 단계(1402) 중에 생성된 분류된 목록의 각각에 대해서 결정된다. 예를 들어, 도 15c는 분류된 pFET 넷리스트(1502) 및 분류된 nFET 넷리스트(1504)에 대한 총 연결 및 홀수 카운트를 가지는 총 연결을 도시한다.
도 15c에 도시된 바와 같이, pFET 넷리스트(1502)는 (1의 카운트를 가지는) Sum, 및 (1의 카운트를 가지는) Carry에 대응하는 2개의 홀수 소스/드레인 카운트를 포함하고, nFET 넷리스트(1504)는 (1의 카운트를 가지는) N1, 및 (3의 카운트를 가지는) N2, (1의 카운트를 가지는) N4, 및 (1의 카운트를 가지는) Sum, 및 (1의 카운트를 가지는) Carry에 대응하는 6개의 홀수 소스/드레인 카운트를 포함한다. 도 15c에 도시된 바와 같이, 일부 실시형태에서, 공급 레일(예를 들어, VDD/VSS)과 연관된 홀수 카운트(들)의 수는 무시되고/되거나 결정되지 않는다.
일부 실시형태에서, 단계(1402 및 1404)는 생략될 수 있고, 단계(1406) 중에 생성되는 카운트가, 예를 들어, 넷리스트의 각각의 항목을 모두 반복하고 각각의 연결에 대해서 독립적인 카운터를 유지하는 것에 의한 것과 같이, 넷리스트를 직접적으로 처리하는 것(예를 들어, 도 8c의 넷리스트를 직접적으로 처리하는 것)에 의해서, 얻어질 수 있다.
단계(1408) 중에, (트랜지스터 스트링으로도 지칭되는) 세그먼트의 최소의 수, 세그먼트들 사이의 중단부의 최소의 수, 및 셀의 최소 폭이 결정된다. 예를 들어, 일부 실시형태에서, 세그먼트의 최소의 수(Segmin)가 이하에 의해서 결정되고
(1)
여기서, OddCountpFET 및 OddCountnFET은, 예를 들어 단계(1406) 중에 결정된 바와 같은, pFET 및 nFET 각각에 대해 홀수 카운트를 갖는 총 연결에 대응한다. 예를 들어, 도 15c에 도시된 실시형태에서, . 따라서, 방법(1400)이 도 8c의 넷리스트에 적용될 때, 트랜지스터의 3개의 클러스터가 생성될 수 있다. 일부 실시형태에서, 세그먼트의 최소의 수(Seg m in)는 목표 세그먼트 수로 간주된다.
일부 실시형태에서, 세그먼트들 사이의 내부 중단부(예를 들어, 확산 중단부 또는 예를 들어 활성 채널 내의 다른 차단부)의 최소의 수(Breaksmin)가 이하에 의해서 결정된다
(2)
예를 들어, 도 15c에 도시된 실시형태에서, . 일부 실시형태에서, 수학식 2는, 예를 들어 단일 확산 중단부(예를 들어, 확산 중단부 당 단지 하나의 더미 폴리)를 이용하는 기술에서 사용될 수 있다. 이중 확산 중단부 기술에서, 내부 중단부의 최소의 수는 수학식 2의 결과에 2를 곱하는 것에 의해서 결정될 수 있다.
일부 실시형태에서, 셀의 최소의 폭(cellWidth min)은 이하에 의해서 결정되고,
(3)
여기서, num pFET num nFET 는 pFET 및 nFET 넷리스트 내의 트랜지스터의 총 수이고, Break edge 는 (예를 들어, 일반적으로 1과 동일한) 셀의 측면 상의 연부와 연관된 중단부의 수이고, d는 기술을 위한 확산 중단부 당 더미 폴리의 수와 동일하고(예를 들어, 단일 확산 중단부 기술에서 d = 1이고, 이중 확산 중단부 기술에서 d = 2이다), Breaks pmin Breaks nmin 는 각각 pFET 및 nFET에 대한 내부 중단부의 최소의 수이고, Breaks pmin Breaks nmin 은 이하에 의해서 결정된다.
(4)
(5)
예를 들어, 도 15c에 도시된 실시형태에서, 그리고 단일 확산 중단부 기술에서, 이다. 따라서, 도 8c의 셀이 10개의 폴리 트랙(예를 들어, 트랜지스터 당 1개의 폴리, 내부 확산 중단부 당 1개의 폴리, 셀의 좌측 연부 상의 절반의 폴리, 및 셀의 우측 연부 상의 절반의 폴리)을 갖는 단일 확산 중단부 기술에서 렌더링될 수 있다.
일부 실시형태에서, 단계(1408) 중에 결정된 세그먼트의 최소의 수는 레이아웃 내에서 넷리스트(예를 들어, 도 8c의 넷리스트)를 구현하는 데 필요한 세그먼트의 이론적인 최소의 수에 대응한다. 일부 실시형태에서, 단계(1408) 중에 결정된 중단부의 최소의 수는 레이아웃 내에서 넷리스트(예를 들어, 도 8c의 넷리스트)를 구현하는 데 필요한 중단부의 이론적인 최소의 수에 대응한다. 일부 실시형태에서, 단계(1408) 중에 결정된 최소 셀 폭은 레이아웃 내에서 넷리스트(예를 들어, 도 8c의 넷리스트)를 구현하는 데 필요한 이론적인 최소 셀 폭에 대응한다.
단계(1410) 중에, (예를 들어, 단계(1406) 중에 결정된 바와 같은) 소스/드레인 카운트가 2인 것과 연관된 소스/드레인 단자들이 병합된다. 따라서, 일부 실시형태에서, 단계(1410) 중에 생성되는 출력은, 트랜지스터의 페어, 트랜지스터의 페어의 스트링, 및/또는 단일 트랜지스터를 포함하는 트랜지스터 배치를 포함한다. 예를 들어, 도 15d는 본 발명의 실시형태에 따른, 트랜지스터의 스트링으로 배치된 도 8c의 넷리스트의 트랜지스터를 도시하고, 여기서 (예를 들어, 도 15b에 도시된 바와 같은) 소스/드레인 카운트가 2인 것과 연관된 소스/드레인 단자들이 병합된다.
도 15d에 도시된 바와 같이, 도 15b에서 카운트가 2인 소스/드레인 단자들(pFET에 대한 SD 단자(N0, N1, 및 N4), 및 pFET에 대한 SD 단자(N3))이 병합된다. 도 15e와 관련하여 후술되는 바와 같이, 일부 실시형태에서, 단계(1410) 중에 병합된 트랜지스터의 일부가 (예를 들어, 공통 게이트를 기초로 하는) 다른 연결을 위해서 병합되지 않을 수 있다.
단계(1412) 중에, 가능한 세그먼트의 단부 지점이 식별된다. 예를 들어, 일부 실시형태에서, 1의 카운트와 연관된 연결을 갖는 모든 소스/드레인 단자가 세그먼트의 단부 지점으로서 식별된다. 예를 들어, 도 15b에 도시된 실시형태에서, pFET에서, Sum 및 Carry에 연결된 소스/드레인 단자가 가능한 단부 지점으로 식별되고, nFET에서, 노드(N1, N4, Sum, 및 Carry)에 연결된 소스/드레인 단자가 가능한 단부 지점으로 식별된다.
단계(1414) 중에, 목표 수의 세그먼트에 도달하도록, 단계(1412) 중에 생성된 트랜지스터 그룹들이 함께 더 스트링화된다. 예를 들어, 일부 실시형태에서, 단계(1412) 중에 생성된 트랜지스터 그룹들이 포괄적 탐색을 이용하여 목표 세그먼트의 수로 함께 스트링화된다. 선택적인 해결책(예를 들어, 가장 작은 셀 크기, 내부 연결을 위해서 사용되는 더 적은 수의 금속 층을 갖는 셀, 하나 이상의 특정 노드에 대한 가장 작은 기생 등)이 포괄적 탐색 접근 방식을 이용하여 획득된 가능한 해결책들로부터 선택된다. 일부 실시형태에서, 단계(1412) 중에 생성된 트랜지스터 그룹들이 함께 스트링화될 수 있는 모든 가능한 방식의 포괄적 탐색을 수행하는 것은, 원래의 넷리스트의 트랜지스터들이 함께 연결될 수 있는 모든 가능한 방식을 평가하는 것보다 덜 복잡하다. 예를 들어, 도 15a 및 도 15d로부터 확인될 수 있는 바와 같이, 도 15d의 트랜지스터 그룹들의 모든 가능한 배치를 평가하는 것(여기서, pFET의 4개의 그룹 및 nFET의 6개의 그룹이 있다)은, 목표로 하는 3개의 세그먼트에 도달하기 위해서 도 15a의 트랜지스터들의 모든 가능한 배치(여기서, 7개의 pFET 및 7개의 nFET가 있다)를 평가하는 것보다 덜 복잡하다.
일부 실시형태에서, 단계(1414)의 수행 후에, 단계(914, 916, 918, 및 920)가 예를 들어 방법(900)에 대해서 설명된 것과 같이 수행될 수 있다.
일부 실시형태에서, 세그먼트의 목표 수에 도달하기 위해서 단계(1412) 중에 생성된 트랜지스터 그룹들을 어떻게 함께 스트링화할 지를 결정하는 것은 이하를 포함한다:
공통 게이트를 공유하는 pFET 및 nFET을 연결하는 것;
홀수 카운트 및 세그먼트의 시작 및/또는 종료와 연관된 소스/드레인 단자를 배치하는 것;
동일 개방 노드들에 연결된 소스/드레인 단자들을 서로 근접 배치하는 것; 및
함께 인버터를 형성하는 pFET 및 nFET을 연결하는 것. 예를 들어, 일부 실시형태에서, 단계(1414)를 수행하는 것은 단계(1416)를 수행하는 것을 포함한다.
단계(1416) 중에, 단계(1412) 중에 생성된 트랜지스터 그룹들은 공통 게이트의 공유를 기초로 더 그룹화되고, 그룹화된 트랜지스터가 양립 가능 트랜지스터 스트링을 형성하도록 배치된다. 일부 실시형태에서, 세그먼트의 시작 및/또는 종료 소스/드레인 단자는 (단계(1406)으로부터의) 홀수 카운트와 연관된 소스/드레인 단자의 그룹으로부터 선택된다. 일부 실시형태에서, 예를 들어 트랜지스터 또는 트랜지스터 배치를 뒤집는 것에 의한, 추가적인 개선을 수행하여, 목표 수의 세그먼트에 도달하고/하거나 트랜지스터 배치를 더 최적화한다.
일부 실시형태에서, 단계(1416)를 수행할 때, 다수의 트랜지스터 배치가 가능하다. 일부 실시형태에서, 선택적인 해결책(예를 들어, 가장 작은 셀 크기, 내부 연결을 위해서 사용되는 더 적은 수의 금속 층을 갖는 셀, 하나 이상의 특정 노드에 대한 가장 작은 기생 등)이 포괄적 탐색 접근 방식을 이용하여 단계(1416)를 수행할 때 획득된 가능한 트랜지스터 배치로부터 선택된다. 일부 실시형태에서, 단계(1416)를 수행한 후에 획득된 모든 가능한 트랜지스터 배치의 포괄적 탐색을 수행하는 것은, 단계(1412) 중에 생성된 트랜지스터 그룹들이 함께 연결될 수 있는 모든 가능한 방식을 평가하는 것보다 덜 복잡하다.
도 15e 내지 도 15h는 본 발명의 실시형태에 따른, (단계(1408) 중에 결정된 바와 같은) 3개의 목표 세그먼트를 형성하기 위해 (도 15d에 도시된 바와 같은) 단계(1410) 중에 생성된 트랜지스터 배치에서 단계(1416)를 수행하는 것을 도시한다. 도 15e에 도시된 바와 같이, 트랜지스터 배치(1546, 1548, 1560, 및 1562)는 그 공통 게이트를 기초로, 예를 들어 클러스터(1122)로서 함께 그룹화될 수 있다. 일부 실시형태에서, 이러한 그룹화에 도달하는 것은, 트랜지스터 배치(1546, 1548, 1560, 및 1562)가 (예를 들어, 출력) 인버터를 형성하는 것에 관한 결정을 기초로 할 수 있다. 일부 실시형태에서, 이러한 그룹화에 도달하는 것은, M0 및 M7이 공통 게이트(N7)를 공유한다는 것, 트랜지스터(M6 및 M13)가 공통 게이트(N4)를 공유한다는 것, 그리고 노드(Carry 및 Sum) 모두가 홀수 카운트와 연관되고 그에 따라 세그먼트의 단부 지점에 배치될 수 있다는 것에 관한 결정을 기초로 할 수 있다.
도 15f에 도시된 바와 같이, 트랜지스터 배치(1546, 1548, 1560, 및 1562)를 그룹화한 후에, 제2 세그먼트(클러스터(1126))를 형성하기 위해서 트랜지스터 배치(1554)가 선택된다. 도 15f에 도시된 바와 같이, 트랜지스터(M8)는 트랜지스터(M3)와 함께 그룹화되어 클러스터(1126)를 형성한다. 일부 실시형태에서, 이러한 그룹화에 도달하는 것은, M8 및 M3이 공통 게이트(N4)를 공유한다는 것, 및 노드(N1 및 N2) 모두가 홀수 카운트와 연관되고 그에 따라 세그먼트의 단부 지점에 배치될 수 있다는 것에 관한 결정을 기초로 할 수 있다. 일부 실시형태에서, 이러한 그룹화에 도달하는 것은, 남은 nFET 트랜지스터 그룹화(1552, 1554, 1556, 및 1558)로부터, M8(1554)이 입력 노드(A 및 B)와 연관되지 않는 유일한 트랜지스터라는 결정을 기초로 할 수 있다. 따라서, 트랜지스터(M8)를 갖는 클러스터를 형성하는 것에 의해서, 입력(A 및 B)은 다수의 세그먼트들 사이에서 분할되지 않는다.
도 15e에 도시된 바와 같이, 클러스터(1126)의 형성은, (트랜지스터(M8 및 M3)에 의해서 공유되는 공통 게이트를 위해서 트랜지스터(M3 및 M2)를 병합 해제하는 것에 의해서) 트랜지스터 배치(1542)가 트랜지스터(M3)를 잃어서 트랜지스터 배치(1543)가 되게 한다. 따라서, 도 15e는, 단계(1416) 중에, 목표 수의 세그먼트에 도달하기 전에, 다수의 가능한 배치가 평가될 수 있다는 것을 도시한다.
도 15g는 본 발명의 실시형태에 따른, 3개의 목표 세그먼트에 도달하기 위한 양립 가능한 트랜지스터 스트링의 형성을 도시한다. 도 15g에 도시된 바와 같이, 공급 레일(VDD 및 VSS)은 병합 목적을 위해서 이러한 단계에서 고려된다. 또한 도 15g에 도시된 바와 같이, 트랜지스터 스트링의 트랜지스터 순서를 결정할 때, 공통 게이트(A)를 공유하는 트랜지스터(M2 및 M10), 공통 게이트(B)를 공유하는 트랜지스터(M1 및 M9), 공통 게이트(A)를 공유하는 트랜지스터(M4 및 M11), 및 공통 게이트(B)를 공유하는 트랜지스터(M5 및 M12)에 의해서 도시된 바와 같이, 공통 게이트가 고려된다.
양립 가능 트랜지스터 스트링이 형성되면, 도 15h에 도시된 바와 같이, 공통 게이트들을 연결하는 것에 의해서 제3 클러스터가 형성된다. 도 15h에 도시된 바와 같이, 도 15d에 도시된 트랜지스터 배치에서 단계(1416)를 수행하는 것에 의해서, 클러스터(1524, 1122, 및 1126)가 생성될 수 있다. 도 11g에 도시된 바와 같이, 클러스터(1122, 1124, 및 1126)와 같은, 다른 3-클러스터 구성이 또한, 도 15d에 도시된 트랜지스터 배치에서 수행될 때, 단계(1416) 중에 생성될 수 있다.
단계(1418) 중에, 단계(1414) 중에 얻어진 세그먼트의 수는 (예를 들어, 단계(1408) 중에 결정된) 세그먼트의 최소의 수와 비교된다. 단계(1414) 중에 얻어진 세그먼트의 수가 세그먼트의 최소의 수보다 많은 경우, (예를 들어, 상이한 가능한 트랜지스터 배치를 시도하는 것에 의해서) 단계(1414)가 다시 수행된다. 단계(1414) 중에 획득된 세그먼트의 수가 세그먼트의 최소의 수와 동일한 경우, 단계(1414) 중에 생성된 세그먼트들이 단계(1420) 중에 단일 행으로 배치된다. 예를 들어, 도 15i는 본 발명의 실시형태에 따른, 단일 행으로 배치된 (도 15g에 도시된 바와 같은) 세그먼트(1524, 1122, 및 1124)를 도시한다.
단계(1422) 중에, (예를 들어, 단계(1420)로부터의) 단일 행으로 배치된 세그먼트를 기초로, 셀의 폭이 결정된다. 셀의 폭이 (예를 들어, 단계(1408)로부터의) 셀의 최소 폭보다 넓은 경우, (예를 들어, 상이한 가능한 트랜지스터 배치를 시도하는 것에 의해서) 단계(1414)가 다시 수행된다. 셀의 폭이 셀의 최소 폭과 동일한 경우에, (예를 들어, 단계(914, 916, 918, 및 920) 중에) 단계(1420) 중에 생성된 세그먼트를 더 처리하여 물리적 레이아웃을 획득한다.
도 15i에 도시된 바와 같이, 도 15i에 도시된 셀은 10개의 폴리 트랙을 갖는다. 예를 들어, 도 15i에 도시된 셀은 (열(1573, 1575, 1577, 1579, 1583, 1585, 및 1591)에 의해서 도시된 바와 같이) 트랜지스터와 연관된 7개의 폴리 트랙, (열 (1581 및 1589)에 의해서 도시된 바와 같이) 내부 확산 중단부와 연관된 2개의 폴리 트랙, 및 (인접 셀들과 공유되고 그에 따라 각각 절반 폴리 트랙으로서 카운트되는, 열 (1571 및 1593)에 의해서 도시된 바와 같이) 셀의 연부와 연관된 1개의 폴리 트랙을 갖는다. 도 15i에 도시된 셀이, 도 8c의 넷리스트에 대해서 단계(1408) 중에 결정된 셀의 최소 폭과 동일한, 10개의 폴리 트랙을 가지기 때문에, 도 15i에 도시된 셀은 추가로 처리되고, 예를 들어, 단계(914)가 다음에 수행된다.
도 14에 도시된 바와 같이, 셀의 세그먼트의 수가 세그먼트의 최소의 수보다 많은 경우 또는 셀의 폭이 셀의 최소 폭보다 넓은 경우, 단계(1414)가 반복적으로 수행될 수 있다. 일부 실시형태에서, 중단부의 수가 중단부의 최소의 수보다 많을 때, 단계(1414)가 또한 반복적으로 수행된다. 도 15i에 도시된 실시형태에서, 도 8c의 넷리스트에 대해서 단계(1408) 중에 결정된 중단부의 최소의 수와 동일한 2개의 중단부가 도시되어 있기 때문에, 도 15i에 도시된 셀이 추가로 처리되고, 예를 들어, 단계(914)가 다음에 수행된다.
일부 실시형태에서, 단계(1414) 수행 후에 세그먼트의 최소의 수보다 많은 세그먼트의 수, 셀의 최소 폭보다 넓은 셀의 폭, 또는 중단부의 최소의 수보다 많은 중단부의 수를 가지는 것은, 더 작은 셀 설계가 가능하다는 것(그리고 그에 따라, 단계(1414)가 다시 수행될 수 있다는 것)을 나타낸다.
일부 실시형태에서, 방법(1400)을 수행하는 것은 유리하게는 (예를 들어, 특정 셀 설계의 특성을 단계(1408) 중에 결정된 목표 특성과 비교하는 것에 의해서) 특정 셀 설계가 더 개선될 수 있는 지의 여부를 결정할 수 있게 한다.
일부 실시형태에서, 방법(1400)을 수행하는 것은 유리하게는, 포괄적 탐색을 이용하여, 넷리스트의 모든 가능한 트랜지스터 배치를 평가할 필요가 없이, 셀 설계를 최적화할 수 있게(예를 들어, 셀의 크기를 감소 또는 최소화할 수 있게) 한다. 그러한 장점은 셀의 크기가 증가될 때 더욱 명확해질 수 있다.
방법(1400)이 1단 설계에 대해서 설명되었지만, 방법(1400)은 2단 설계와 같은 복수의 단으로 구현된 설계에 적용될 수 있다. 예를 들어, 도 16는 본 발명의 실시형태에 따른, 트랜지스터의 클러스터를 생성하기 위한 실시형태 방법(1600)의 흐름도를 도시한다. 방법(1600)은, 방법(1400)에서와 유사한 방식으로 수행될 수 있는, 단계(1402, 1404, 1406, 1408, 1410, 1412, 1414 (그리고 예를 들어 1416), 1418, 1420, 및 1422)를 포함한다.
단계(1418 및 1422)의 수행 후에, 단계(1414)의 추가적인 반복이 수행되지 않는다는 것이 결정된 경우(예를 들어, 단계(1418)의 출력 = "아니오" 및 단계(1422)의 출력 = "아니오"), 설계 내의 단의 수가 단계(1524) 중에 결정된다. 도 16에 도시된 바와 같이, 1단 설계에서, 방법(1600)은 방법(1400)과 동일할 수 있다. 2 단 설계에서, 단계(1414) 중에 생성된 세그먼트는 단계(1526) 중에 2-행 배치로 배치되고, 이어서 단계(914)가 수행될 수 있다.
일부 실시형태에서, 세그먼트의 배치가 단계(1526) 중에 포괄적 탐색 접근방식을 이용하여 결정될 수 있다. 일부 실시형태에서, 단계(1526) 중의 세그먼트의 배치가 이하의 단계를 포함할 수 있다:
확산 중단부를 상단 내에 배치하는 단계; 및
전력 탭을 하단의 전력 탭 상에 적층하는 것, 또는 전력 탭을 부가적인 신호 연결을 필요로 하지 않는 노드 위에 적층하는 것을 포함하는, 전력 탭을 상단 내에 배치하는 단계. 예를 들어, 도 17은 본 발명의 실시형태에 따른, 2개의 행으로 배치된 (도 15g에 도시된 바와 같은) 세그먼트(1524, 1122, 및 1124)를 도시한다.
도 17에 도시된 바와 같이, 확산 중단부는 (트랜지스터(M4) 위에서) 상단 내에 위치된다. 도 17에 또한 도시된 바와 같이, 상단의 전력 탭(VDD/VSS)은 (클러스터(1126)의 뒤집힌 버전인 클러스터(1726)에 의해서 도시된 바와 같이) 하단의 전력 탭의 상단부에, 또는 (클러스터(1122)에 의해서 도시된 바와 같이) 부가적인 신호 연결을 필요로 하지 않는 노드의 상단부에 위치된다.
일부 실시형태의 장점은, 특정 셀 설계가 더 최적화될 수 있다는 것을 나타내는 메트릭(metric)을 제공한다는 것, 그리고 특정 셀이 더 최적화될 수 있다는 것을 이러한 메트릭이 더 이상 나타내지 않는 셀 설계의 도달에 대해서 평가될 수 있는 가능한 트랜지스터 배치의 수를 줄이기 위한 단계를 제공한다는 것을 포함한다.
본 발명의 예시적인 실시형태를 여기에 요약한다. 다른 실시형태가 또한 출원된 명세서 및 청구범위의 전체로부터 이해될 수 있을 것이다.
실시예 1. 디바이스, 입력부, 출력부, 및 전원의 배치를 포함하는 전기 회로를 나타내는 데이터를 수신하는 단계; 상기 수신된 데이터를 기초로 세그먼트의 최소의 수를 결정하는 단계; 상기 디바이스들을 2개 이상의 디바이스들 사이에서 공유되는 공통 특징부를 기초로 N개(N은 세그먼트의 최소의 수와 동일함)의 세그먼트로 그룹화하는 단계; 및 그룹화된 디바이스의 구분된 부분들을 생성하여 상기 전기 회로의 물리적 발현을 나타내는 물리적 레이아웃을 형성함으로써, 구분된 부분들이 하나로 통합될 때 이들이 전기 회로의 물리적 발현을 형성하도록 하는 단계를 포함하는 방법.
실시예 2. 실시예 1에 있어서, 상기 전기 회로는 복수의 노드를 포함하고, 상기 디바이스의 단자는 상기 복수의 노드에 커플링되고, 상기 방법은, 상기 수신된 데이터를 기초로 복수의 노드 중 상이한 노드들을 식별하는 단계; 및 상기 수신된 데이터를 기초로 단자 카운트를 상기 식별된 노드의 각각에 할당하여, 복수의 단자 카운트를 형성하는 단계를 추가로 포함하고, 각각의 단자 카운트는 상기 식별된 노드의 각각의 노드에 커플링된 디바이스의 단자의 수를 나타내고, 상기 세그먼트의 최소의 수를 결정하는 단계는 홀수 카운트를 갖는 상기 복수의 단자 카운트의 단자 카운트 수를 기초로 상기 세그먼트의 최소의 수를 결정하는 단계를 포함하는, 방법.
실시예 3. 실시예 1 또는 실시예 2 중 어느 한 실시예에 있어서, 상기 디바이스는 복수의 n-타입 전계효과 트랜지스터(nFET) 및 복수의 p-타입 전계효과 트랜지스터(pFET)를 포함하고, 상기 방법은 상기 수신된 데이터로부터 전기 회로의 pFET 및 nFET를 식별하는 단계를 추가로 포함하고, 복수의 단자 카운트를 형성하는 단계는 복수의 pFET 단자 카운트 및 복수의 nFET 단자 카운트를 형성하는 단계를 포함하고, 상기 세그먼트의 최소의 수를 결정하는 단계는, 에 의해서 세그먼트의 최소의 수를 결정하는 단계를 포함하고, 여기서 Seg min은 세그먼트의 최소의 수를 나타내고, OddCount pFET는 홀수 카운트를 갖는 pFET 단자 카운트의 수를 나타내며, OddCount nFET는 홀수 카운트를 갖는 nFET 단자 카운트의 수를 나타내는, 방법.
실시예 4. 실시예 1 내지 실시예 3 중 어느 한 실시예에 있어서, 단자 카운트가 2인 것과 연관된 상기 디바이스들의 단자들을 병합하는 단계를 추가로 포함하는 방법.
실시예 5. 실시예 1 내지 실시예 4 중 어느 한 실시예에 있어서, 홀수 단자 카운트와 연관된 디바이스의 단자를 식별하는 단계를 추가로 포함하고, 상기 디바이스들을 N개의 세그먼트로 그룹화하는 단계는, 상기 식별된 단자로부터 제1 단자를 선택하는 단계; 및 상기 N 개의 세그먼트 중 상기 제1 단자를 단부 단자로서 가지는 제1 세그먼트를 형성하는 단계를 포함하는, 방법.
실시예 6. 실시예 1 내지 실시예 5 중 어느 한 실시예에 있어서, 상기 세그먼트의 최소의 수를 기초로 활성 채널의 차단부의 최소의 수를 결정하는 단계를 추가로 포함하고, 상기 디바이스를 N개의 세그먼트로 그룹화하는 단계는 상기 디바이스를 M개(M은 상기 세그먼트의 최소의 수와 동일함)의 중단부를 가지는 N개의 세그먼트로 그룹화하는 단계를 추가로 포함하는 방법.
실시예 7. 실시예 1 내지 실시예 6 중 어느 한 실시예에 있어서, 상기 수신된 데이터를 기초로 폴리 트랙의 최소의 수를 결정하는 단계를 추가로 포함하고, 상기 디바이스를 N개의 세그먼트로 그룹화하는 단계는 상기 디바이스를 L개(L은 상기 폴리 트랙의 최소의 수와 동일함)의 폴리 트랙을 갖는 N개의 세그먼트로 그룹화하는 단계를 추가로 포함하는 방법.
실시예 8. 실시예 1 내지 실시예 7 중 어느 한 실시예에 있어서, 상기 디바이스는 복수의 n-타입 전계효과 트랜지스터(nFET) 및 복수의 p-타입 전계효과 트랜지스터(pFET)를 포함하고, 상기 폴리 트랙의 최소의 수를 결정하는 단계는 에 의해서 상기 폴리 트랙의 최소의 수를 결정하는 단계를 포함하고, 여기서 CellWidth min은 상기 폴리 트랙의 최소의 수를 나타내고, num pFET 는 상기 전기 회로 내의 pFET의 총 수를 나타내고, num nFET 는 상기 전기 회로 내의 nFET의 총 수를 나타내며, Breaks p min은 상기 전기 회로의 pFET와 연관된 내부 중단부의 최소의 수를 나타내고, Breaks n min은 상기 전기 회로의 nFET와 연관된 내부 중단부의 최소의 수를 나타내는, 방법.
실시예 9. 실시예 1 내지 실시예 8 중 어느 한 실시예에 있어서, 상기 형성된 물리적 레이아웃을 기초로 마스크 세트를 제조하는 단계, 및 상기 마스크 세트를 이용하여 집적 회로를 제조하는 단계를 추가로 포함하는 방법.
실시예 10. 실시예 1 내지 실시예 9 중 어느 한 실시예에 있어서, 상기 구분된 부분들이, 확산 중단부, 소스-드레인 구성, 또는 게이트 구성 중 하나 이상을 나타내는, 방법.
실시예 11. 실시예 1 내지 실시예 10 중 어느 한 실시예에 있어서, 상기 소스-드레인 구성은 상기 게이트 구성에 대한 게이트 연결 또는 전원에 대한 전력 연결을 포함하는, 방법.
실시예 12. 실시예 1 내지 실시예 11 중 어느 한 실시예에 있어서, 상기 게이트 구성은 상기 소스-드레인 구성에 대한 소스-드레인 연결 또는 전원에 대한 전력 연결을 포함하는, 방법.
실시예 13. 실시예 1 내지 실시예 12 중 어느 한 실시예에 있어서, 상기 확산 중단부가 폴리실리콘 필름을 포함하는, 방법.
실시예 14. 실시예 1 내지 실시예 13 중 어느 한 실시예에 있어서, 상기 소스-드레인 구성은 n-타입 영역 또는 p-타입 영역을 포함하는, 방법.
실시예 15. 실시예 1 내지 실시예 14 중 어느 한 실시예에 있어서, 상기 물리적 발현은 전계효과-트랜지스터(CFET) 트랜지스터를 포함하는, 방법.
실시예 16. 실시예 1 내지 실시예 15 중 어느 한 실시예에 있어서, 목표 트랙 계획을 기초로, 상기 N개의 세그먼트를 목표 물리적 레이아웃 렌더링으로 맵핑하는 단계를 추가로 포함하는 방법.
실시예 17. 실시예 1 내지 실시예 16 중 어느 한 실시예에 있어서, 상기 목표 트랙 계획은 단일 행 높이를 포함하는, 방법.
실시예 18. 실시예 1 내지 실시예 16 중 어느 한 실시예에 있어서, 상기 목표 트랙 계획은 2개 이상의 행 높이를 포함하는, 방법.
실시예 19. 실시예 1 내지 실시예 16 또는 실시예 18 중 어느 한 실시예에 있어서, 상기 N개의 세그먼트를 2개의 행으로 배치하는 단계를 추가로 포함하고, 상기 2개의 행은 상단 행 및 하단 행을 포함하고, 상기 N개의 세그먼트를 2개의 행으로 배치하는 단계는, 상기 N개의 세그먼트 중 단지 하나의 세그먼트를 상기 하단 행 내에 배치하는 단계; 세그먼트들을 분리하기 위한 모든 확산 중단부를 상기 상단 행 내에 배치하는 단계; 및 상기 상단 행의 세그먼트의 디바이스의 전원 단자를 상기 하단 행의 단지 하나의 세그먼트의 디바이스의 전원 단자의 상단부에 배치하는 단계를 포함하는, 방법.
실시예 20. 표준 셀 라이브러리를 위한 표준 셀 레이아웃을 생성하기 위한 컴퓨팅 디바이스로서, 프로세서; 및 상기 프로세서에 커플링되고 상기 프로세서에 의해서 실행될 수 있는 프로그램을 저장하는 비-일시적 컴퓨터-판독 가능 저장 매체를 포함하고, 상기 프로그램은 명령어를 포함하고, 상기 명령어는, 디바이스, 입력부, 출력부, 및 전원의 배치를 포함하는 전기 회로를 나타내는 데이터를 수신하고; 상기 수신된 데이터를 기초로 세그먼트의 최소의 수를 결정하고; 상기 디바이스들을 2개 이상의 디바이스들 사이에서 공유되는 공통 특징부를 기초로 N개(N은 세그먼트의 최소의 수와 동일함)의 세그먼트로 그룹화하고; 상기 그룹화된 디바이스의 구분된 부분들을 생성하여 상기 전기 회로의 물리적 발현을 나타내는 물리적 레이아웃을 형성함으로써, 상기 구분된 부분들이 하나로 통합될 때 전기 회로의 물리적 발현을 형성하도록 하는, 컴퓨팅 디바이스.
실시예 21. 실시예 20에 있어서, 상기 프로그램은, 상기 물리적 레이아웃을 비-일시적 컴퓨터-판독 가능 저장 매체 내에 저장하고; 집적 회로의 제조를 위한 마스크의 세트를 생성하도록, 상기 저장된 물리적 레이아웃을 전송하도록 하는 명령어를 추가로 포함하는, 컴퓨팅 디바이스.
실시예 22. 실시예 20 또는 실시예 21에 있어서, 디스플레이를 추가로 포함하고, 상기 프로그램은 아이콘을 이용하여 상기 디바이스를 상기 디스플레이에서 디스플레이하기 위한 명령어를 추가로 포함하는, 컴퓨팅 디바이스.
실시예 23. 디바이스, 입력부, 출력부, 및 전원의 배치를 포함하는 전기 회로를 나타내는 데이터를 수신하는 단계로서, 상기 전기 회로는 복수의 노드를 포함하고, 상기 디바이스는 복수의 n-타입 전계효과 트랜지스터(nFET) 및 복수의 p-타입 전계효과 트랜지스터(pFET)를 포함하는, 단계; 상기 전기 회로의 pFET 및 nFET를 수신된 데이터로부터 식별하는 단계; 상기 수신된 데이터를 기초로 복수의 노드 중 상이한 노드들을 식별하는 단계; 상기 수신된 데이터를 기초로 단자 카운트를 상기 식별된 노드의 각각에 할당하여, 복수의 단자 카운트를 형성하는 단계로서, 각각의 단자 카운트는 상기 식별된 노드의 각각의 노드에 커플링된 디바이스의 단자의 수를 나타내는, 단계; 홀수 카운트를 갖는 복수의 단자 카운트의 단자 카운트의 수를 기초로 상기 세그먼트의 최소의 수를 결정하는 단계; 상기 디바이스들을 2개 이상의 디바이스들 사이에서 공유되는 공통 특징부를 기초로 N개(N은 세그먼트의 최소의 수와 동일함)의 세그먼트로 그룹화하는 단계; 상기 그룹화된 디바이스의 구분된 부분들을 생성하여 상기 전기 회로의 물리적 발현을 나타내는 물리적 레이아웃을 형성함으로써, 상기 구분된 부분들이 하나로 통합될 때 전기 회로의 물리적 발현을 형성하도록 하는 단계를 포함하는 방법.
예시적인 실시형태를 참조하여 본 발명에 대해 설명하였지만, 이러한 설명이 제한적인 의미로 해석되도록 의도되는 것은 아니다. 본 발명의 다른 실시형태뿐만 아니라, 예시적인 실시형태의 다양한 수정 및 조합이, 상세한 설명을 참조할 때 당업자에 있어 명백할 것이다. 따라서, 첨부된 청구범위는 임의의 그러한 수정 또는 실시형태를 포함하는 것으로 의도된다.

Claims (20)

  1. 디바이스, 입력부, 출력부, 및 전원의 배치를 포함하는 전기 회로를 나타내는 데이터를 수신하는 단계;
    상기 수신된 데이터를 기초로 세그먼트의 최소의 수를 결정하는 단계;
    상기 디바이스들을 2개 이상의 디바이스들 사이에서 공유되는 공통 특징부를 기초로 N개(N은 세그먼트의 최소의 수와 동일함)의 세그먼트로 그룹화하는 단계; 및
    그룹화된 디바이스의 구분된 부분들을 생성하여 상기 전기 회로의 물리적 발현을 나타내는 물리적 레이아웃을 형성함으로써, 상기 구분된 부분들이 하나로 통합될 때 전기 회로의 물리적 발현을 형성하도록 하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 전기 회로는 복수의 노드를 포함하고, 상기 디바이스의 단자는 상기 복수의 노드에 커플링되고,
    상기 방법은,
    상기 수신된 데이터를 기초로 복수의 노드 중 상이한 노드들을 식별하는 단계; 및
    상기 수신된 데이터를 기초로 단자 카운트를 상기 식별된 노드의 각각에 할당하여, 복수의 단자 카운트를 형성하는 단계를 추가로 포함하고,
    각각의 단자 카운트는 상기 식별된 노드의 각각의 노드에 커플링된 디바이스의 단자의 수를 나타내고, 상기 세그먼트의 최소의 수를 결정하는 단계는 홀수 카운트를 갖는 상기 복수의 단자 카운트의 단자 카운트 수를 기초로 상기 세그먼트의 최소의 수를 결정하는 단계를 포함하는, 방법.
  3. 제2항에 있어서,
    상기 디바이스는 복수의 n-타입 전계효과 트랜지스터(nFET) 및 복수의 p-타입 전계효과 트랜지스터(pFET)를 포함하고,
    상기 방법은 상기 수신된 데이터로부터 전기 회로의 pFET 및 nFET를 식별하는 단계를 추가로 포함하고, 복수의 단자 카운트를 형성하는 단계는 복수의 pFET 단자 카운트 및 복수의 nFET 단자 카운트를 형성하는 단계를 포함하고, 상기 세그먼트의 최소의 수를 결정하는 단계는, 에 의해서 세그먼트의 최소의 수를 결정하는 단계를 포함하고,
    여기서 Seg min은 세그먼트의 최소의 수를 나타내고, OddCount pFET 는 홀수 카운트를 갖는 pFET 단자 카운트의 수를 나타내며, OddCount nFET 는 홀수 카운트를 갖는 nFET 단자 카운트의 수를 나타내는, 방법.
  4. 제2항에 있어서,
    단자 카운트가 2인 것과 연관된 상기 디바이스들의 단자들을 병합하는 단계를 추가로 포함하는 방법.
  5. 제1항에 있어서,
    홀수 단자 카운트와 연관된 디바이스의 단자를 식별하는 단계를 추가로 포함하고,
    상기 디바이스들을 N개의 세그먼트로 그룹화하는 단계는,
    상기 식별된 단자로부터 제1 단자를 선택하는 단계; 및
    상기 N 개의 세그먼트 중 상기 제1 단자를 단부 단자로서 가지는 제1 세그먼트를 형성하는 단계를 포함하는, 방법.
  6. 제1항에 있어서,
    상기 세그먼트의 최소의 수를 기초로 활성 채널의 차단부의 최소의 수를 결정하는 단계를 추가로 포함하고,
    상기 디바이스를 N개의 세그먼트로 그룹화하는 단계는 상기 디바이스를 M개(M은 상기 세그먼트의 최소의 수와 동일함)의 중단부를 가지는 N개의 세그먼트로 그룹화하는 단계를 추가로 포함하는 방법.
  7. 제1항에 있어서,
    상기 수신된 데이터를 기초로 폴리 트랙의 최소의 수를 결정하는 단계를 추가로 포함하고,
    상기 디바이스를 N개의 세그먼트로 그룹화하는 단계는 상기 디바이스를 L개(L은 상기 폴리 트랙의 최소의 수와 동일함)의 폴리 트랙을 갖는 N개의 세그먼트로 그룹화하는 단계를 추가로 포함하는 방법.
  8. 제7항에 있어서,
    상기 디바이스는 복수의 n-타입 전계효과 트랜지스터(nFET) 및 복수의 p-타입 전계효과 트랜지스터(pFET)를 포함하고, 상기 폴리 트랙의 최소의 수를 결정하는 단계는 에 의해서 상기 폴리 트랙의 최소의 수를 결정하는 단계를 포함하고,
    여기서 CellWidth min은 상기 폴리 트랙의 최소의 수를 나타내고, num pFET 는 상기 전기 회로 내의 pFET의 총 수를 나타내고, num nFET 는 상기 전기 회로 내의 nFET의 총 수를 나타내며, Breaks p min은 상기 전기 회로의 pFET와 연관된 내부 중단부의 최소의 수를 나타내고, Breaks n min은 상기 전기 회로의 nFET와 연관된 내부 중단부의 최소의 수를 나타내는, 방법.
  9. 제1항에 있어서,
    상기 형성된 물리적 레이아웃을 기초로 마스크 세트를 제조하는 단계, 및 상기 마스크 세트를 이용하여 집적 회로를 제조하는 단계를 추가로 포함하는 방법.
  10. 제1항에 있어서,
    상기 구분된 부분들이, 확산 중단부, 소스-드레인 구성, 또는 게이트 구성 중 하나 이상을 나타내는, 방법.
  11. 제10항에 있어서,
    상기 소스-드레인 구성은 상기 게이트 구성에 대한 게이트 연결 또는 전원에 대한 전력 연결을 포함하는, 방법.
  12. 제10항에 있어서,
    상기 게이트 구성은 상기 소스-드레인 구성에 대한 소스-드레인 연결 또는 전원에 대한 전력 연결을 포함하는, 방법.
  13. 제10항에 있어서,
    상기 확산 중단부가 폴리실리콘 필름을 포함하는, 방법.
  14. 제10항에 있어서,
    상기 소스-드레인 구성은 n-타입 영역 또는 p-타입 영역을 포함하는, 방법.
  15. 제1항에 있어서,
    상기 물리적 발현은 전계효과-트랜지스터(CFET) 트랜지스터를 포함하는, 방법.
  16. 제1항에 있어서,
    목표 트랙 계획을 기초로, 상기 N개의 세그먼트를 목표 물리적 레이아웃 렌더링으로 맵핑하는 단계를 추가로 포함하는 방법.
  17. 제16항에 있어서,
    상기 목표 트랙 계획은 단일 행 높이를 포함하는, 방법.
  18. 제16항에 있어서,
    상기 목표 트랙 계획은 2개 이상의 행 높이를 포함하는, 방법.
  19. 제18항에 있어서,
    상기 N개의 세그먼트를 2개의 행으로 배치하는 단계를 추가로 포함하고, 상기 2개의 행은 상단 행 및 하단 행을 포함하고,
    상기 N개의 세그먼트를 2개의 행으로 배치하는 단계는,
    상기 N개의 세그먼트 중 단지 하나의 세그먼트를 상기 하단 행 내에 배치하는 단계;
    세그먼트들을 분리하기 위한 모든 확산 중단부를 상기 상단 행 내에 배치하는 단계; 및
    상기 상단 행의 세그먼트의 디바이스의 전원 단자를 상기 하단 행의 단지 하나의 세그먼트의 디바이스의 전원 단자의 상단부에 배치하는 단계를 포함하는, 방법.
  20. 표준 셀 라이브러리를 위한 표준 셀 레이아웃을 생성하기 위한 컴퓨팅 디바이스로서,
    프로세서; 및
    상기 프로세서에 커플링되고 상기 프로세서에 의해서 실행될 수 있는 프로그램을 저장하는 비-일시적 컴퓨터-판독 가능 저장 매체
    를 포함하고,
    상기 프로그램은 명령어를 포함하고, 상기 명령어는,
    디바이스, 입력부, 출력부, 및 전원의 배치를 포함하는 전기 회로를 나타내는 데이터를 수신하고;
    상기 수신된 데이터를 기초로 세그먼트의 최소의 수를 결정하고;
    상기 디바이스들을 2개 이상의 디바이스들 사이에서 공유되는 공통 특징부를 기초로 N개(N은 세그먼트의 최소의 수와 동일함)의 세그먼트로 그룹화하고;
    상기 그룹화된 디바이스의 구분된 부분들을 생성하여 상기 전기 회로의 물리적 발현을 나타내는 물리적 레이아웃을 형성함으로써, 상기 구분된 부분들이 하나로 통합될 때 전기 회로의 물리적 발현을 형성하도록 하는, 컴퓨팅 디바이스.
KR1020237032296A 2021-03-31 2022-03-29 자동화된 표준 셀 설계를 위한 방법 KR20230162610A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/219,539 2021-03-31
US17/219,539 US11714945B2 (en) 2020-04-09 2021-03-31 Method for automated standard cell design
PCT/US2022/022348 WO2022212375A1 (en) 2021-03-31 2022-03-29 Method for automated standard cell design

Publications (1)

Publication Number Publication Date
KR20230162610A true KR20230162610A (ko) 2023-11-28

Family

ID=83456784

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237032296A KR20230162610A (ko) 2021-03-31 2022-03-29 자동화된 표준 셀 설계를 위한 방법

Country Status (3)

Country Link
KR (1) KR20230162610A (ko)
TW (1) TW202305946A (ko)
WO (1) WO2022212375A1 (ko)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2798055B2 (ja) * 1996-05-30 1998-09-17 日本電気株式会社 半導体集積回路のレイアウト方法
US6910199B2 (en) * 2001-04-23 2005-06-21 Telairity Semiconductor, Inc. Circuit group design methodologies
KR102198499B1 (ko) * 2013-12-31 2021-01-05 주식회사 아이씨티케이 홀딩스 디지털 값 처리 장치 및 방법
US9268894B2 (en) * 2014-05-16 2016-02-23 Stmicroelectronics International N.V. Area optimized driver layout
US10808333B2 (en) * 2018-01-08 2020-10-20 Totic Technology Inc. Method and apparatus for performing layout designs using stem cells
US11550985B2 (en) * 2020-04-09 2023-01-10 Tokyo Electron Limited Method for automated standard cell design
US11714945B2 (en) * 2020-04-09 2023-08-01 Tokyo Electron Limited Method for automated standard cell design

Also Published As

Publication number Publication date
TW202305946A (zh) 2023-02-01
WO2022212375A1 (en) 2022-10-06

Similar Documents

Publication Publication Date Title
US9691768B2 (en) Nanowire or 2D material strips interconnects in an integrated circuit cell
US10256223B2 (en) Cells having transistors and interconnects including nanowires or 2D material strips
US10037397B2 (en) Memory cell including vertical transistors and horizontal nanowire bit lines
US9378320B2 (en) Array with intercell conductors including nanowires or 2D material strips
KR101904417B1 (ko) 반도체 집적 회로 및 그 설계 방법
US20210406439A1 (en) Metal zero power ground stub route to reduce cell area and improve cell placement at the chip level
US10396063B2 (en) Circuit with combined cells and method for manufacturing the same
US20160063163A1 (en) Arrays with compact series connection for vertical nanowires realizations
US9928333B2 (en) Methods of designing a layout of a semiconductor device including field effect transistor and methods of manufacturing a semicondutor device using the same
US20150370948A1 (en) Memory cells having transistors with different numbers of nanowires or 2d material strips
TWI814029B (zh) 積體電路裝置及製造積體電路裝置的方法
US20240037309A1 (en) Multiplexer
US20230325574A1 (en) Method for Automated Standard Cell Design
US9436792B2 (en) Method of designing layout of integrated circuit and method of manufacturing integrated circuit
KR101697343B1 (ko) 집적 회로의 레이아웃 설계 방법 및 상기 집적 회로의 제조 방법
US11392743B2 (en) Multiplexer
US11550985B2 (en) Method for automated standard cell design
Shi et al. Routability in 3D IC design: Monolithic 3D vs. Skybridge 3D CMOS
KR20170094744A (ko) 집적 회로 및 상기 집적 회로의 제조를 위한 컴퓨터 구현 방법
KR20230162610A (ko) 자동화된 표준 셀 설계를 위한 방법
Schneider Transistor-Level Layout of Integrated Circuits
US20240128257A1 (en) Integrated circuit including standard cells and method of designing the same
Cadareanu et al. A predictive process design kit for three-independent-gate field-effect transistors