KR20230109646A - 혼합 높이 셀 라이브러리들에 대한 커스텀-타일 배치 패브릭들에 대한 적응적 행 패턴들 - Google Patents

혼합 높이 셀 라이브러리들에 대한 커스텀-타일 배치 패브릭들에 대한 적응적 행 패턴들 Download PDF

Info

Publication number
KR20230109646A
KR20230109646A KR1020237017888A KR20237017888A KR20230109646A KR 20230109646 A KR20230109646 A KR 20230109646A KR 1020237017888 A KR1020237017888 A KR 1020237017888A KR 20237017888 A KR20237017888 A KR 20237017888A KR 20230109646 A KR20230109646 A KR 20230109646A
Authority
KR
South Korea
Prior art keywords
rows
region
row
height
fabric
Prior art date
Application number
KR1020237017888A
Other languages
English (en)
Inventor
디팍 다트타트라야 쉐어레카르
빅터 모로즈
Original Assignee
시놉시스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 시놉시스, 인크. filed Critical 시놉시스, 인크.
Publication of KR20230109646A publication Critical patent/KR20230109646A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • G06F30/3947Routing global
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

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)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Power Engineering (AREA)
  • Architecture (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

방법은 패브릭의 제1 영역에서 제1 복수의 행들을 인스턴스화하는 단계를 포함한다. 제1 영역은 제1 복수의 행들의 높이들의 합에 대응하는 높이를 가지고 있다. 방법은 또한 패브릭의 제2 영역에서 제2 복수의 행들을 인스턴스화하는 단계를 포함한다. 제2 영역은 패브릭에서의 제1 영역에 수평으로 인접한다. 제2 영역은 제2 복수의 행들의 높이들의 합에 대응하는 높이를 가지고 있다. 방법은 제1 복수의 행들 중의 행이 제2 복수의 행들 중의 행과 오정렬되는지를 결정하는 단계, 및 이에 응답하여 제1 복수의 행들 중의 행과 제2 복수의 행들 중의 행 사이에 전이 영역을 추가하는 단계를 더 포함한다.

Description

혼합 높이 셀 라이브러리들에 대한 커스텀-타일 배치 패브릭들에 대한 적응적 행 패턴들
본 개시내용은 반도체 디바이스 설계에 관한 것으로, 보다 구체적으로는, 상이한 높이의 셀들을 사용하는 셀 기반 설계를 위한 적응적 패브릭들(adaptive fabrics)에 관한 것이다.
반도체 디바이스 설계 프로세스의 한 단계는 트랜지스터 셀들을 칩 설계에 배치하는 것이다. 이 단계는 사용자가 트랜지스터 셀들이 칩의 물리적 경계들 내에 맞는지를 알 수 있게 한다. 트랜지스터 셀들의 배치를 돕기 위해, 사용자는 칩을 트랜지스터 셀들에 맞는 다수의 행들로 분할하는 칩 패브릭을 사용할 수 있다. 이어서, 사용자는 트랜지스터 셀들을 이러한 행들 내에 삽입할 수 있다.
반도체 프로세스들이 스케일링의 끝에 접근함에 따라, 디바이스 성능은 인터커넥트 성능보다 더 빠르게 개선되고 있다. 그 결과, 셀 높이는 금속 피치(MP)보다 빠르게 줄어든다. 평면 노드들에서의 범용 셀 라이브러리는 대략 500 나노미터(nm) 프로세스 노드로부터 28 nm까지의 9 MP 높이였다. 고성능 라이브러리는 12 MP였고, 초고밀도 라이브러리는 7 MP였다. 제1 핀 전계 효과 트랜지스터(finFET) 노드들에서의 셀 높이들은 일반적인 목적을 위해 약 7.5 MP로, 그리고 고성능을 위해 10.5 MP로 떨어졌다. 초고밀도 라이브러리들은, 금속 피치가 콤팩트한 셀 레이아웃들 및 양호한 핀 액세스를 허용하기에 충분히 타이트하지 않았기 때문에 가능하지 않았다. 7 nm로, 범용 라이브러리 높이는 6 MP인 반면, 고성능 라이브러리는 7.5-8 MP였다.
평면으로부터 제1 finFET 노드를 통한 셀 기반 설계들은 블록 내의 셀들이 균일한 높이의 셀 행들을 따르게(conform) 하였다. 더 높은 복합 셀들은 행 높이의 배수들이었고, 단일 높이 셀들과 동일한 행들에 배치되었다. 제약은 공통 전력 및 접지 레일들이 블록 내의 셀들에 의해 공유될 수 있게 하였다.
중요하지 않은 경로들 상의 소형 디바이스들은 전력 소비를 최소화하는 것을 돕는다. 그러나, 이들이 대형 디바이스들 옆에 배치될 때, 이들은 대형 디바이스들의 타이밍 또는 전력 특성들을 변경한다. 더 오래된 노드들에서, 영향은 무시할만하였다. 영향이 더 커짐에 따라, 그것은 상이한 디바이스 크기들을 갖는 셀들을 이격시킴으로써 방지되었다. 제4 또는 제5 세대 finFET 노드들에서의 간격 요구사항은 너무 커서 실용적이지 않고, 이는 행 내의 셀들이 최대 디바이스 크기들을 사용하도록 강제한다. 이러한 제약은 고성능 라이브러리들에서의 전력 소비의 급등을 야기했는데, 그 이유는 이들이 더 큰 디바이스들을 갖는 더 높은 셀들을 이용하기 때문이다.
상이한 높이의 셀 행들의 반복하는 패턴으로 구성된 패브릭을 이용하는 셀-기반 설계는 높은 전력 소비의 문제를 해결하기 위하여 제안되었다. 이러한 패턴들의 예들은 높이 5MP, 7.5MP, 및 10MP의 셀 라이브러리들을 사용할 수 있다. 각각의 셀 행은 블록의 폭에 걸쳐 있고, 메모리들과 같은 계층적 서브블록들 또는 하드 매크로들을 수용하기 위해 행들에서 가능한 단절들을 갖는다. 가장 짧은 가능한 셀들은 하나의 N 핀(fin) 및 하나의 P 핀을 갖는 트랜지스터들을 사용하고, 중간 성능 셀들은 2개의 N 핀 및 2개의 P 핀을 갖는 트랜지스터들을 사용할 수 있다. 고성능 셀들은 더 높은 핀 카운트 디바이스들을 사용할 수 있다. 높이가 더 큰 셀들은 또한 혼잡 설계에서 라우팅하기가 더 쉽다. 칩 상의 블록들은 성능, 전력, 및 라우팅 혼잡의 관점에서 그들의 요구들에 가장 가깝게 일치하는 패턴들을 포함할 수 있다. 따라서, 고성능 블록들 또는 높은 혼잡을 갖는 블록들은 큰 디바이스들을 갖는 높이가 큰 셀 행들의 비율을 더 높게 선택할 수 있는 반면, 라우팅하기 쉬운 더 낮은 성능 블록들은 더 작은 디바이스들을 갖는 짧은 행들의 비율이 더 높은 패턴들을 선택할 수 있다. 이 구성은 finFET 노드들로 제한되지 않고, 더 오래된 평면 노드들에, 그리고 게이트-올 라운드(gate-all round), 포크 시트(fork sheet), 또는 CFET(complementary field effect transistor)과 같은 다른 트랜지스터 아키텍처들을 이용하는 장래의 노드들에 동등하게 효과적으로 적용될 수 있다.
현재의 관행의 중요한 한계는 임의의 주어진 높이의 셀 행들이 블록의 폭을 연장하고, 하드 매크로들을 수용하기 위한 가능한 컷아웃들을 갖는다는 것이다. 이것은 y 차원에서만 상이한 디바이스 크기들(따라서 상이한 높이들)의 셀들에 할당된 공간을 변조하는 능력을 제한한다. 그러나, 반도체 칩들은 2차원이며, 일부 설계들에서는 x 및 y 차원들 양자에서 상이한 높이들의 행들의 비율을 변조하는 능력이 필요하다. 사용자가 밑에 있는 행 패턴에 관계없이 셀들을 배치하면, 블록의 상이한 영역들은 상이한 높이의 셀들의 상이한 비율들을 요구할 것이다. 이러한 영역들은 전체 블록에 걸쳐 2차원으로 분포되고, 전체 블록에 걸쳐 있는 상이한 높이 행들을 갖는 블록의 1차원 타일링에 따르지 않는다.
실시예에 따르면, 칩 패브릭을 설계하기 위한 방법은 패브릭의 제1 영역에서 제1 복수의 행들을 인스턴스화하는 단계를 포함한다. 제1 영역은 제1 복수의 행들의 높이들의 합에 대응하는 높이를 가지고 있다. 방법은 또한 패브릭의 제2 영역에서 제2 복수의 행들을 인스턴스화하는 단계를 포함한다. 제2 영역은 패브릭에서의 제1 영역에 수평으로 인접한다. 제2 영역은 제2 복수의 행들의 높이들의 합에 대응하는 높이를 가지고 있다. 방법은 처리 디바이스에 의해, 제1 복수의 행들 중의 행이 제2 복수의 행들 중의 행과 오정렬되는지를 결정하는 단계, 및 제1 복수의 행들 중의 행이 제2 복수의 행들 중의 행과 오정렬된다고 결정하는 것에 응답하여 제1 복수의 행들 중의 행과 제2 복수의 행들 중의 행 사이에 전이 영역을 추가하는 단계를 더 포함한다.
제2 영역의 높이는 제1 영역의 높이의 적어도 2배일 수 있다. 제2 영역의 제1 부분에서의 제1 복수의 행들 중의 행들의 제1 세트는 제1 폭을 가질 수 있고, 제2 영역의 제2 부분에서의 제1 복수의 행들 중의 행들의 제2 세트는 제1 폭과는 상이한 제2 폭을 가질 수 있다. 제2 영역의 제1 부분의 높이는 제1 영역의 높이와 동일할 수 있다.
방법은 또한 제1 영역 내의 행들의 세트 및 제2 영역 내의 행들의 세트가 정렬된다는 결정에 응답하여 제1 영역 내의 행들의 세트와 제2 영역 내의 행들의 세트 사이의 전이 영역을 제거하는 단계를 포함할 수 있다.
방법은 패브릭의 제3 영역에서 제3 복수의 행들을 인스턴스화하는 단계를 더 포함할 수 있다. 제3 영역은 패브릭에서 제2 영역 위에 있을 수 있다. 제3 영역은 제1 영역의 높이와 동일한 높이를 가질 수 있다. 제3 복수의 행들 중의 행 및 제2 복수의 행들 중의 행은 상이한 높이들을 가질 수 있다.
방법은 또한 트랜지스터들의 세트를 제1 복수의 행들 내로 인스턴스화하는 단계를 포함할 수 있다.
제2 영역의 높이는 제1 영역의 높이의 정수배일 수 있다.
제1 복수의 행들 중의 행은 제2 복수의 행들 중의 행의 높이와는 상이한 높이를 가질 수 있다.
제1 복수의 행들 중 제1 행 내의 제1 셀은 제1 복수의 행들에 로컬인 전력 레일을 사용하여 글로벌 전력 레일에 접속하도록 배열될 수 있고, 제2 복수의 행들 중 제2 행 내의 제2 셀은 제2 복수의 행들에 로컬인 전력 레일을 사용하여 글로벌 전력 레일에 접속하도록 배열될 수 있다.
또 다른 실시예에 따라, 칩 패브릭을 설계하기 위한 시스템은 메모리 및 메모리에 통신가능하게 결합된 하드웨어 프로세서를 포함한다. 하드웨어 프로세서는 패브릭의 제1 영역에서 제1 복수의 행들을 인스턴스화한다. 제1 영역은 제1 복수의 행들의 높이들의 합에 대응하는 높이를 가지고 있다. 하드웨어 프로세서는 또한 패브릭의 제2 영역에서 제2 복수의 행들을 인스턴스화한다. 제2 영역은 패브릭에서의 제1 영역에 수평으로 인접한다. 제2 영역은 제2 복수의 행들의 높이들의 합에 대응하는 높이를 가지고 있다. 하드웨어 프로세서는 또한, 처리 디바이스에 의해, 제1 복수의 행들 중의 행이 제2 복수의 행들 중의 행과 오정렬되는지를 결정하고, 제1 복수의 행들 중의 행이 제2 복수의 행들 중의 행과 오정렬된다고 결정하는 것에 응답하여, 제1 복수의 행들 중의 행과 제2 복수의 행들 중의 행 사이에 전이 영역을 추가한다.
제2 영역의 높이는 제1 영역의 높이의 적어도 2배일 수 있다. 제2 영역의 제1 부분에서의 제1 복수의 행들 중의 행들의 제1 세트는 제1 폭을 가질 수 있고, 제2 영역의 제2 부분에서의 제1 복수의 행들 중의 행들의 제2 세트는 제1 폭과는 상이한 제2 폭을 가질 수 있다. 제2 영역의 제1 부분의 높이는 제1 영역의 높이와 동일할 수 있다.
하드웨어 프로세서는 또한 제1 영역 내의 행들의 세트 및 제2 영역 내의 행들의 세트가 정렬된다는 결정에 응답하여 제1 영역 내의 행들의 세트와 제2 영역 내의 행들의 세트 사이의 전이 영역을 제거할 수 있다.
하드웨어 프로세서는 패브릭의 제3 영역에서 제3 복수의 행들을 추가로 인스턴스화할 수 있고, 제3 영역은 패브릭에서의 제2 영역 위에 있고, 제3 영역은 제1 영역의 높이와 동일한 높이를 가진다. 제3 복수의 행들 중의 행 및 제2 복수의 행들 중의 행은 상이한 높이들을 가질 수 있다.
하드웨어 프로세서는 또한 트랜지스터들의 세트를 제1 복수의 행들 내로 인스턴스화할 수 있다.
제2 영역의 높이는 제1 영역의 높이의 정수배일 수 있다.
제1 복수의 행들 중의 행은 제2 복수의 행들 중의 행의 높이와는 상이한 높이를 가질 수 있다.
또 다른 실시예에 따르면, 비일시적 컴퓨터 판독가능 매체는 프로세서에 의해 실행될 때, 프로세서로 하여금 칩 패브릭을 설계하기 위한 동작을 수행하게 하는 명령어들을 저장한다. 동작은 패브릭의 제1 영역에서 제1 복수의 행들을 인스턴스화하는 단계, 패브릭의 제1 영역에 수평으로 인접한 패브릭의 제2 영역에서 제2 복수의 행들을 인스턴스화하는 단계, 및 제1 복수의 행들 중의 행이 제2 복수의 행들 중의 행과 오정렬되어 있다는 결정에 응답하여 제1 복수의 행들 중의 행과 제2 복수의 행들 중의 행 사이에 전이 영역을 추가하는 단계를 포함한다.
제2 영역의 높이는 제1 영역의 높이의 적어도 2배일 수 있다. 제2 영역의 제1 부분에서의 제1 복수의 행들 중의 행들의 제1 세트는 제1 폭을 가질 수 있고, 제2 영역의 제2 부분에서의 제1 복수의 행들 중의 행들의 제2 세트는 제1 폭과는 상이한 제2 폭을 가질 수 있다.
본 개시내용은 아래에 주어지는 상세한 설명으로부터 그리고 본 개시내용의 실시예들의 첨부 도면들로부터 더 충분히 이해될 것이다. 도면들은 본 개시내용의 실시예들의 지식 및 이해를 제공하기 위해 사용되며, 본 개시내용의 범위를 이러한 특정 실시예들로 제한하지 않는다. 게다가, 도면들이 꼭 축척대로 그려져 있는 것은 아니다.
도 1a, 도 1b, 도 1c, 도 1d, 및 도 1e는 본 개시내용의 일 실시예에 따른, 칩 패브릭을 설계하기 위해 사용되는, 플로어보드(floorboard)들이라 명명되는 예시적인 빌딩 블록들을 나타낸다.
도 2는 본 개시내용의 일 실시예에 따른, 도 1a, 도 1b, 도 1c, 도 1d, 및 도 1e의 플로어보드들로 형성된 상이한 폭 및 높이의 다수의 영역들을 포함하는 예시적인 칩 패브릭을 나타낸다.
도 3a, 도 3b, 및 도 3c는 본 개시내용의 일 실시예에 따른, 칩 패브릭에 대한 예시적인 플로어보드들의 제2 세트를 나타낸다.
도 4a, 도 4b, 및 도 4c는 본 개시내용의 일 실시예에 따른, 칩 패브릭에 대한 예시적인 플로어보드들의 제3 세트를 나타낸다.
도 5a, 도 5b, 도 5c, 도 5d, 도 5e, 및 도 5f는 본 개시내용의 일 실시예에 따른, 칩 패브릭에 대한 예시적인 플로어보드들의 제4 세트를 나타낸다.
도 6은 본 개시내용의 일 실시예에 따른, 서로 나란히 배치되는 플로어보드들의 2개의 인스턴스들에 대한 후면 전력 레일들(BSPR)의 제1 층을 갖는 후면 전력 분배를 나타낸다.
도 7은 본 개시내용의 일 실시예에 따른, BSPR의 제1 층을 접속하는 수직 전력 스트랩들의 제2 층을 갖는 도 6의 후면 전력 분포를 나타낸다.
도 8은 본 개시내용의 일 실시예에 따른, 실리콘 관통 비아(TSV)를 포함하지 않는 다이에 대한 도 7의 후면 전력 분배 스킴의 단면을 나타낸다.
도 9a 및 도 9b는 본 개시내용의 일 실시예에 따른, TSV들을 포함하는 더 두꺼운 다이에 대한 도 7의 후면 전력 분배 스킴을 갖는 예시적인 칩들을 나타낸다.
도 10은 본 개시내용의 일 실시예에 따른, 예시적인 방법의 흐름도이다.
도 11은 본 개시내용의 일부 실시예들에 따른, 집적 회로의 설계 및 제조 동안 사용되는 다양한 프로세스들의 흐름도를 도시한다.
도 12는 본 개시내용의 실시예들이 동작할 수 있는 예시적인 컴퓨터 시스템을 도시한다.
본 개시내용의 양태들은 상이한 높이의 셀들을 사용하는 셀 기반 설계를 위한 적응적 패브릭들에 관한 것이다. 구체적으로, 이 개시내용은 다수의 영역들로 분할되는 칩 패브릭을 기술한다. 각각의 영역은 칩 패브릭에서의 상이한 영역들에서 행 패턴들을 정의하도록 설계되는 호환가능한 플로어보드들의 세트로부터의, 플로어보드로 칭해진 행들의 패턴을 이용할 수 있다. 달리 말하면, 본 개시내용은 동일한 논리 블록에서 상이한 높이의 셀들을 혼합하기 위한 대안적인 맞춤화가능한 패브릭을 설명한다.
일반적으로, 대안적인 패브릭은 동일한 블록 내에서 2차원의 상이한 높이 행들의 비율들의 맞춤화를 허용한다. 패브릭은 사용자가 블록의 상이한 영역들 내의 행 패턴을 맞춤화하여 그 영역 내의 셀들의 배치의 필요들과 일치시키는 것을 가능하게 한다. 이 패브릭은 평면 및 finFET 프로세스들은 물론, 게이트 올 라운드(gate all round) 및 포크 시트(fork-sheet)들과 같은 장래의 프로세스들에 적용가능하다. EDA 시스템(예를 들어, 도 11의 프로세스들(1100)을 수행하도록 구현된 도 12의 컴퓨터 시스템(1200))은 패브릭을 사용하고 본 명세서에 설명된 프로세스들을 수행할 수 있다.
그 결과, 특정 실시예들에서, 대안적인 패브릭은 회로 설계자들이 상이한 디바이스 크기들의 셀들에 할당된 공간을 상이한 차원들에서 변조할 수 있게 한다. 추가적으로, 대안적인 패브릭은 오정렬된 행들을 갖는 인접한 플로어보드들을 분리하는 전이 영역들을 포함할 수 있다. 이러한 방식으로, 상이한 행 높이들을 가지는 플로어보드들이 패브릭에서 서로 인접하게 위치될 수 있다.
상이한 높이들의 행들을 위해서 설계된 셀들로 구현되는 블록을 고려할 때, 다수의 수직으로 접한 행들로 이루어진 상이한 플로어보드들이, 각각의 플로어보드 내의 행들의 높이들의 합이 동일하도록 정의될 수 있을 것이다. 플로어보드 내의 행들은 동일한 높이 또는 상이한 높이들을 가질 수 있다. 도 1a, 도 1b, 도 1c, 도 1d, 및 도 1e는 5MP, 7.5MP 및 10MP 높이들의 행들로 구성되는 높이 30MP의 플로어보드들을 도시하는데, 여기서 MP는 디바이스들 위의 제2 수평 라우팅 층의 피치이다. 도 1a, 도 1b, 및 도 1c의 플로어보드들 내의 모든 행이 동일한 높이를 가지는 한편, 도 1d 및 도 1e의 플로어보드들은 상이한 높이의 행들로 구성된다. 도 1a에 도시된 바와 같이, 플로어보드(100A)는 5MP 높이를 갖는 6개의 행들(102A)을 포함한다. 도 1b에서, 플로어보드(100B)는 7.5MP 높이를 갖는 4개의 행들(102B)을 포함한다. 도 1c에서, 플로어보드(100C)는 10MP 높이의 3개의 행들(102C)을 포함한다. 도 1d에서, 플로어보드(100D)는 5MP 높이의 2개의 행들(102A) 및 10MP 높이의 2개의 행들(102C)을 포함한다. 도 1e에서, 플로어보드(100E)는 5MP 높이의 3개의 행들(102A) 및 7.5MP 높이의 2개의 행들(102B)을 포함한다. 플로어보드들(100A, 100B, 100C, 100D, 및 100E)은 각각 30MP의 높이를 갖는다.
일치하는 높이의 플로어보드들의 주어진 세트에 대해, 블록에 대한 배치 패브릭은 각각이 하나의 플로어보드로부터 구성되는 분리된 직선 영역들(disjoint rectilinear regions)로 구성된다. 직선 영역들은 아래의 제약들을 관찰할 수 있다:
1. 직선 영역의 임의의 세그먼트의 높이는 공통 플로어보드 높이의 정수배이다. 따라서, 직선 영역의 각각의 수직 에지도 공통 플로어보드 높이의 정수배이다.
2. 직선 영역의 임의의 세그먼트의 폭은 프로세스에 의해 부과되는 폭의 입도(granularity)에 따라 상이할 수 있다.
3. 상이한 플로어보드들의 수평으로 인접한 영역들이 전이 영역에 의해서 분리된다. 전이 영역은 확산들, 웰들, 및 전력 및 접지 레일들과 같은 특징들(features)에서의 불일치를 다루기 위해 커스텀 경계 셀들로 구현된다.
도 2는 패브릭(200) 내의 상이한 직선 영역들에 대한 빌딩 블록들로서 도 1a, 도 1b, 도 1c, 도 1d, 및 도 1e의 플로어보드들(100)을 사용하여 구현되는 예시적인 칩 패브릭(200)을 나타낸다. 도 2에서 보여지는 바와 같이, 패브릭(200)은 5개의 상이한 영역들(202A, 202B, 202C, 202D, 및 202E)로 분할되고, 각각은 그것의 행들을 생성하기 위해 상이한 플로어보드(100)를 사용한다. 각각의 영역(202)은 30MP의 정수배인 높이를 갖는다. 영역(202A)은 30MP의 높이에 대해 각각 7.5MP의 4개의 행들(102B)을 포함하는 도 1b의 플로어보드(100B)를 이용한다. 영역(202B)은 각각 7.5MP의 2개의 행들(102B) 및 각각 5MP의 3개의 행들(102A)을 포함하는 도 1e의 플로어보드(100E)를 이용한다. 또한, 영역(202B)은 영역(202B)의 높이가 30MP가 아니라 60MP가 되도록 플로어보드(100E)의 2개의 인스턴스들을 포함한다. 또한, 영역(202B) 내의 플로어보드(100E)의 2개의 인스턴스들은 상이한 폭들을 갖는다. 도 2에 도시된 바와 같이, 영역(202B)의 하반부 상의 플로어보드(100E)는 영역(202B)의 상반부 상의 플로어보드(100E)보다 넓다. 영역(202C)은 30MP의 높이에 대해 각각 5MP의 6개의 행들(102A)을 포함하는 도 1a의 플로어보드(100A)를 포함한다. 영역(202D)은 각각 10MP의 3개의 행들(102C)을 포함하는 도 1c의 플로어보드(100C)를 포함한다. 추가적으로, 영역(202C)은 영역(202C)의 높이가 30MP가 아니라 60MP이도록 플로어보드(100C)의 2개의 인스턴스들을 포함한다. 영역(202E)은 각각 10MP의 2개의 행들(102C) 및 각각 5MP의 2개의 행들(102A)을 포함하는 도 1d의 플로어보드(100D)를 포함한다. 또한, 영역(202E)은 영역(202E)의 높이가 30MP가 아니라 60MP이도록 플로어보드(100D)의 2개의 인스턴스들을 포함한다. 중요하게는, 도 2에 도시된 바와 같이, 영역들(202)은 30MP의 정수배인 높이를 갖는다. 영역들(202)은 임의의 적합한 상대 높이들을 가질 수 있다. 예를 들어, 하나의 영역(202)은 다른 영역(202)의 높이의 2배, 다른 영역(202)의 높이의 3배 또는 그 이상의 높이를 가질 수 있다. 추가적으로, 영역들(202)은 상이하도록 조정되는 폭들을 갖는다.
패브릭(200)은 설계에서 패브릭(200)을 다른 패브릭들로부터 분리하는, 패브릭(200)의 측면들 상의 행 엔드캡(endcap)들(204)을 또한 포함한다. 또한, 패브릭(200)에서의 상이한 영역들(202)은 전이 영역들(206)에 의해 서로로부터 분리될 수 있다. 전이 영역(206A)은 영역들(202B 및 202C)을 영역(202E)으로부터 분리한다. 전이 영역(206B)은 영역(202E)을 영역(202D)으로부터 분리한다. 전이 영역(202C)은 영역(202B)을 영역(202A)으로부터 분리한다. 특정 실시예들에서, EDA 시스템(예를 들어, 도 11의 프로세스들(1100)을 수행하도록 구현된 도 12의 컴퓨터 시스템(1200))은 전이 영역들(206)의 부분들(208)을, 그 부분의 양측의 행들(102)이 정렬될 때(예를 들어, 행들이 동일한 높이이고 동일 선상에 있을 때) 삭제한다. 예를 들어, EDA 시스템은 부분들(208A, 208B, 208C 및 208D)을 삭제할 수 있는데, 그 이유는 이러한 부분들(208A, 208B, 208C 및 208D)의 양측의 행들이 동일한 높이이고 동일 선상에 있어서 이러한 행들이 서로 정렬되기 때문이다.
전이 영역들(206)은 레이아웃 근접 효과들을 설명하기 위해 패터닝 시뮬레이션들 및 디바이스 시뮬레이션들을 사용하여 설계될 수 있다. 전이 영역들(206)의 유효성은 테스트 칩들로 검증될 수 있다. 전이 영역들(206)은, 오정렬된 셀 전력 및 접지 레일들이 적절하게 패터닝되고 글로벌 전력 그리드에 접속되는 것을 허용하는 커스텀 경계 셀들, 및 영역들에 걸쳐 정렬되지 않을 수 있는 더 낮은 레벨들 상의 수평 금속에 대한 패턴들을 갖고서 칩 설계 동안 구현될 수 있다. 경계 셀은 또한 2개의 영역들 사이의 확산과 같이, 디바이스 층들을 전이시키는 역할을 할 수 있다.
전이 영역(206)의 폭은 구현될 전이 패턴들의 요건들에 기초하여 결정된다. 전이 영역들(206)은 설계에 오버헤드를 추가한다. 따라서, 전이 영역들(206)의 크기는 가용 공간의 효율적인 활용을 보장하기 위해 직선 영역들(202)의 최소 폭에 대한 추가적인 제한들을 제안할 수 있다.
직선 영역(202)의 임의의 수직 범위의 높이는 그 영역(202) 내의 플로어보드들(100)의 높이의 배수이다. 영역(202)은 또한 추가적인 프로세스 관련 설계 규칙들을 충족시킬 필요가 있을 수 있다. 예를 들어, 프로세스 규칙들이 각각의 높이의 짝수의 행들을 요구하는 경우, 영역들(202B 및 202D)에서의 플로어보드들(100E 및 100C)은 변경될 필요가 있을 수 있다. 예를 들어, 영역(202B) 내의 플로어보드(100E)는 도 1a의 플로어보드들(100A) 및 도 1b의 플로어보드들(100B)의 세트들로 변경될 필요가 있을 수 있다. 다른 예로서, 영역(202D) 내의 플로어보드(100C)는 각각 10MP의 6개의 행들(102C)을 포함하는 플로어보드(100)로 대체될 수 있다.
임의의 영역(202)의 폭은 또한 프로세스의 요건들을 충족시킬 필요가 있을 수 있다. 예를 들어, 프로세스는 직선 영역(202) 내의 각각의 행 단편이 접촉된 폴리 피치의 짝수 배일 것을 요구할 수 있다.
위의 플로어보드 구성은 디바이스들 위의 제2 수평 층의 금속 피치를 사용하여 나타내진다. 이러한 구성은 이 층의 피치가 상이한 셀 높이들에 걸쳐 동일하다고 가정한다. 이것은 블록 내의 글로벌 신호들의 효율적인 라우팅을 위한 합리적인 가정인데, 그 이유는 그 층에 대한 트랙들이 전체 블록에 걸치는 것을 가능하게 하여, 상이한 높이들의 셀들 내의 핀들에 대한 접속들을 가능하게 하기 때문이다. 유사하게, 글로벌 루트들의 효율을 위해, 셀들 위의 제1 라우팅가능 수평 층은 라우팅가능할 필요가 있을 수 있다. 이 경우, 제1 금속 피치는 또한 상이한 셀 높이들에 대해 동일하다. 패턴은 또한 게이트 피치(예를 들어, 접촉 폴리 피치(CPP))가 또한 상이한 셀 타입들에 대해 동일하다고 가정한다. 이것은 또한 최적의 제조를 위한 합리적인 가정이다. 그러나, 이러한 가정들 중 어느 것도 엄격하게 요구되지 않지만, 프로세스 설계 규칙들 또는 블록 설계를 최적화하는 효율에 의존한다. 예를 들어, 라이브러리 아키텍처가 제2 수평 층이 글로벌 라우팅을 위해 사용될 것을 요구하지 않으면, 제2 수평 층의 피치는 상이한 플로어보드들(100)에서 상이할 수 있다. 패턴 내의 플로어보드들(100)의 절대 높이가 여전히 동일할 수 있거나, 공통 높이의 정수배일 수 있다.
일단 일치하는 높이의 호환가능한 플로어보드들(100)의 세트가 정의되면, 패브릭(200)은 플로어보드들(100)을 사용하여 분리된 직사각형 영역들(202)로 분할될 수 있다. 각각의 영역(202)의 크기 및 형상은 거기에 배치될 것으로 예상되는 셀들의 요구를 충족시키도록 정의된다. 영역들(202)은 단순한 직사각형들 대신에 직선 다각형들일 수 있고, 여기서 직선 다각형의 각각의 수직 레그의 높이는 공통 플로어보드 높이의 정수배이다.
특정 실시예들에서, EDA 시스템은 플로어보드들(100)의 모든 고유한 쌍에 대해 공통 플로어보드 높이와 일치하는 커스텀 전이 셀들 또는 영역들(206)을 사용할 수 있다. 따라서, N개의 플로어보드들(100)이 있다면, 0.5*N*(N-1)개의 전이 셀들 또는 영역들(206)이 있다. 동일한 높이 및 동일한 비율의 상이한 행들(102)을 갖지만 행들(102)의 순서가 상이한 플로어보드들(100)은 별개의 플로어보드들(100)인 것으로 간주된다. 예를 들어, 2개의 10MP 행들(102C) 및 2개의 5MP 행들(102A)을 갖는 도 1d의 플로어보드(100D)를 고려해보라. 행들(102)의 비율이 동일하지만 순서가 상이한 이하의 플로어보드들(100)을 정의할 수 있다: 교번하는 행들(102A 및 102C)(5MP, 10MP, 5MP, 10MP)을 가지는 플로어보드(100), 및 반대 순서의 교번하는 행들(102A 및 102C)(10MP, 5MP, 10MP, 5MP)을 가지는 플로어보드.
도 3a, 도 3b, 도 3c, 도 4a, 도 4b, 도 4c, 도 5a, 도 5b, 도 5c, 도 5d 및 도 5e는 상이한 높이들을 갖는 플로어보드들의 예들을 나타낸다. 이 예들은 임의의 적당한 높이의 플로어보드들이 설명된 패브릭들에서 이용될 수 있다는 것을 보여준다.
도 3a, 도 3b, 및 도 3c는 15MP 높이를 가진 예시적 플로어보드들(300)을 나타낸다. 도 3a의 플로어보드(300A)는 각각 5MP의 3개의 행들(102A)을 포함한다. 도 3b의 플로어보드(300B)는 각각 7.5MP의 2개의 행들(102B)을 포함한다. 도 3c의 플로어보드(300C)는 10MP의 하나의 행(102C) 및 5MP의 하나의 행(102A)을 포함한다.
도 4a, 도 4b, 및 도 4c는 75MP 높이를 가진 예시적 플로어보드들(400)을 나타낸다. 도 4a의 플로어보드(400A)는 각각 5MP의 15개의 행들(102A)을 포함한다. 도 4b의 플로어보드(400B)는 각각 7.5MP의 10개의 행들(102B)을 포함한다. 도 4c의 플로어보드(400C)는 각각 7.5MP의 6개의 행들(102B)과 각각 5MP의 6개의 행들(102A)을 포함한다.
도 5a, 도 5b, 도 5c, 도 5d, 및 도 5e는 50MP 높이를 가진 예시적 플로어보드들(500)을 나타낸다. 도 5a의 플로어보드(500A)는 각각 5MP의 10개의 행들(102A)을 포함한다. 도 5b의 플로어보드(500B)는 각각 7.5MP의 6개의 행들(102B) 및 5MP의 하나의 행(102A)을 포함한다. 도 5c의 플로어보드(500C)는 각각 7.5MP의 4개의 행들(102B) 및 각각 5MP의 4개의 행들(102A)을 포함한다. 도 5d 및 도 5e는 또한 각각 7.5MP의 4개의 행들(102B) 및 각각 5MP의 4개의 행들(102A)을 포함하지만, 행들의 순서는 상이하다. 도 5d의 플로어보드(500D)는 각각 5MP의 4개의 행들(102A)의 상부에 각각 7.5MP의 4개의 행들(102B)을 포함한다. 도 5e의 플로어보드(500E)는 각각 7.5MP의 4개의 행들(102B)의 상부에 각각 5MP의 4개의 행들(102A)을 포함한다. 따라서, 행들의 순열로 인해 새로운 플로어보드들이 얻어진다.
또한, 더 큰 플로어보드들(500)의 높이들이 더 작은 플로어보드들(500)의 높이의 배수이도록, 더 큰 플로어보드들(500)이 더 작은 플로어보드들(500)을 이용하여 설계될 수 있다. 예를 들어, 도 5a, 도 5b, 도 5c, 도 5d, 및 도 5e에 보여진 50MP의 플로어보드 높이가 가장 작은 플로어보드 높이인 경우에, 100MP, 150MP 등의 높이를 가지는 더 큰 플로어보드들이 50MP 플로어보드들을 이용하여 설계될 수 있을 것이다. 도 5f는 도 5a에 보여진 플로어보드(500A) 및 도 5b에 보여진 플로어보드(500B)를 이용하여 형성되는 예시적인 플로어보드(500F)를 나타낸다. 플로어보드(500F)는 각각 5MP의 10개의 행들(102A), 각각 7.5MP의 6개의 행들(102B), 및 5MP의 다른 행(102A)을 갖는다.
칩들의 많은 구현들에서, 수직으로 인접한 행들은 교대로 뒤집히고 접한다. 이것은 수직으로 인접한 행들이 그들 내에 배치된 셀들에 대한 전력 또는 접지 레일들을 공유할 수 있게 한다. 이것은 도 6 및 도 7의 전력 레일들의 경우이다. 행 높이와 마찬가지로, 행 배향은 플로어보드의 구별되는 특징이다. 도 6의 플로어보드에서의 행들의 배향들이 뒤집히는 경우, 패턴의 최상부 및 최하부 레일들은 VSS 대신에 VDD가 된다. 결과적인 패턴은 행 높이들의 동일한 시퀀스를 갖지만, 상이한 행 배향을 가지며, 별개의 플로어보드로 간주된다.
셀들에 전력을 공급하기 위해 종래의 전력 레일들을 사용하는 프로세스들은 래치-업 문제들을 방지하기 위해 주기적인 간격들로 삽입되는 탭 셀들을 포함한다. 이 경우, 탭 셀들을 전이 영역들(206)을 구현하는 커스텀 셀들에 통합하여 전이 영역들(206)의 크기를 더 증가시키는 것이 효율적일 수 있다. 탭 셀들의 범위 및 크기는 직선 영역들(202)의 폭들에 대한 추가적인 고려사항들을 나타낼 수 있다.
도 6, 도 7, 도 8, 도 9a 및 도 9b는 후면 전력 분배 및 매몰된 전력 레일들(BPR)을 사용하는 프로세스들을 나타낸다. 이러한 프로세스들은 탭 접속들을 이루기 위한 전용 셀들을 필요로 하지 않을 수 있다. 그러한 프로세스들에 대해, 전이 영역들(206)은 2개 내지 4개의 그리드들만큼 작을 수 있고, 웰 근접 효과들은 무시할만하다고 가정한다. 작은 전이 영역들(206)에 의해, 제안된 구성은 오버헤드가 거의 없이 훨씬 더 효율적이게 된다. 도 6은 상이한 영역들(202)에서의 셀들에 대한 전력 레일들의 제1 층의 후면 분배를 나타낸다. 도 6에 보여지는 바와 같이, 후면 전력 레일들의 제1 층은 도 5d에서의 플로어보드(500D) 및 도 5e에서의 플로어보드(500E)를 사용하는 영역들(202)에 대응할 수 있다. 도 7은 도 6에서의 전력 레일들을 접속하는 전력 스트랩들을 나타낸다. 도 6 및 도 7에 보여지는 스트랩들 및 후면 전력 레일들은 스트랩들 및 후면 전력 레일들 위에 위치되는 플로어보드들(500D 및 500E)에 로컬이다. 달리 말하면, 플로어보드들(500D 및 500E)에 위치되는 셀들은 로컬 스트랩들 및/또는 후면 전력 레일들에 접속할 수 있다. 도 8, 도 9a 및 도 9b는 제1 층의 후면 전력 레일 및 제2 층의 후면 전력 레일에 접속된 셀을 도시한다. 이러한 셀들은, 이러한 셀들이 위치되는 플로어보드들에 로컬인, 후면 전력 레일들 및 스트랩들의 제1 층에 접속되는 BPR들을 포함한다. 실리콘 관통 비아(TSV)는 BPR을 후면 전력 레일들 및 스트랩들의 제1 층에 접속하기 위해 사용될 수 있다. 후면 전력 레일들의 제1 층은 셀들을 후면 전력 레일들의 제2 층에 접속할 수 있다. 후면 전력 레일들의 제2 층은 후면 전력 레일들의 제1 층과 같이 로컬이기보다는 글로벌일 수 있다(예를 들어, 칩 패브릭의 상이한 영역들에 걸쳐 위치되는 플로어보드들에서의 셀들에 접속됨). 제1 층에서의 후면 전력 레일들은 제2 층에서의 후면 전력 레일들에 직교할 수 있다. 도 8의 예에서, BPR은 제1 후면 VSS에 직접 접속되고, 또 다른 BPR은 제1 후면 VDD에 직접 접속된다. 제1 후면 VSS는 로컬이고, 비아는 제1 후면 VSS를 글로벌인 제2 후면 VSS에 접속한다. 도 9a의 예에서, TSV들은 하나의 BPR을 제1 후면 VSS 및 제2 후면 VSS에 접속하기 위해 사용된다. 제1 후면 VSS는 로컬이고, 제2 후면 VSS는 글로벌 후면 전력 레일이다. 다른 TSV는 다른 BPR을 로컬인 제1 후면 VDD에 접속하기 위해 사용된다. 도 9b의 예에서, BPR들은 로컬인 후면 VSS 비아 및 후면 VDD 비아에 의해 후면 전력 레일들 및 스트랩들에 접속된다. 후면 VSS 비아는 BPR을 글로벌인 후면 VSS에 접속한다.
도 10은 본 개시내용의 실시예에 따른 예시적인 방법(1000)의 흐름도이다. 특정 실시예들에서, 컴퓨터 시스템(예를 들어, 도 12의 컴퓨터 시스템(1200))은 방법(1000)을 수행한다. 방법(1000)을 수행함으로써, 컴퓨터 시스템은 동일한 논리 블록에서 상이한 높이 셀들의 혼합을 허용하는 커스텀 패브릭을 구현한다.
1002에서, 컴퓨터 시스템은 패브릭의 제1 영역에서 행들을 인스턴스화한다. 제1 영역은 제1 영역에서 인스턴스화된 행들의 높이들의 합과 동일한 높이를 가질 수 있다. 1004에서, 컴퓨터 시스템은 패브릭의 제2 영역에서 행들을 인스턴스화한다. 제2 영역은 제1 영역 옆에 있을 수 있다(예를 들어, 제1 영역에 수평으로 인접할 수 있다). 또한, 제2 영역은 제2 영역에서 인스턴스화된 행들의 높이들의 합과 동일한 높이를 가질 수 있다.
1006에서, 컴퓨터 시스템은 제1 영역에서 인스턴스화된 행이 제2 영역에서 인스턴스화된 행과 오정렬되어 있는지를 결정한다. 예를 들어, 컴퓨터 시스템은 제1 영역에서의 행이 제2 영역에서의 행과 부분적으로 중첩하는지 여부를 결정할 수 있다. 또 다른 예로서, 컴퓨터 시스템은 제2 영역에서의 행이 제1 영역에서의 행과 부분적으로 중첩하는지 여부를 결정할 수 있다. 제1 영역 내의 행들이 제2 영역 내의 행들과 정렬되면, 컴퓨터 시스템은 방법(1000)을 종료한다. 제1 영역의 행이 제2 영역의 행과 오정렬되면, 컴퓨터 시스템은 행들을 서로 분리하기 위해 제1 영역의 행과 제2 영역의 행 사이에 전이 영역을 추가한다. 대응적으로, 컴퓨터 시스템이 행들이 정렬되었다고 결정하는 경우, 컴퓨터 시스템은 패브릭의 상이한 영역들 내의 행들 사이의 전이 영역을 제거할 수 있다. 행들 및 전이 영역들이 설정된 후에, 컴퓨터 시스템은 회로 컴포넌트들(예를 들어, 트랜지스터들)을 행들 내로 인스턴스화할 수 있다.
도 11은 집적 회로를 나타내는 설계 데이터 및 명령어들을 변환하고 검증하기 위해 집적 회로와 같은 제조 물품의 설계, 검증, 및 제조 동안 사용되는 프로세스들(1100)의 예시적인 세트를 나타낸다. 이러한 프로세스들 각각은 다수의 모듈들 또는 동작들로서 구조화되고 인에이블될 수 있다. 용어 'EDA'는 용어 '전자 설계 자동화'를 나타낸다. 이러한 프로세스들은 설계자에 의해 공급되는 정보, 즉 EDA 프로세스들(1112)의 세트를 사용하는 제조물을 생성하도록 변환되는 정보를 갖는 제품 아이디어(1110)의 생성으로 시작한다. 설계가 완료될 때, 설계는 테이핑 아웃되고(1134), 이때 집적 회로에 대한 아트워크(예를 들어, 기하학적 패턴들)가 마스크 세트를 제조하기 위해 제조 설비에 전송되고, 이는 이후 집적 회로를 제조하기 위해 사용된다. 테이핑 아웃 후에, 반도체 다이가 제조되고(1136), 패키징 및 조립 프로세스들(1138)이 수행되어 완성된 집적 회로(1140)를 생성한다.
회로 또는 전자 구조체에 대한 사양들은 로우-레벨 트랜지스터 재료 레이아웃들로부터 하이-레벨 디스크립션 언어들까지의 범위일 수 있다. VHDL, Verilog, SystemVerilog, SystemC, MyHDL 또는 OpenVera와 같은 하드웨어 디스크립션 언어('HDL')를 이용하여 회로들 및 시스템들을 설계하기 위해 하이 레벨의 표현이 이용될 수 있다. HDL 디스크립션은 논리 레벨 레지스터 전송 레벨('RTL') 디스크립션, 게이트 레벨 디스크립션, 레이아웃 레벨 디스크립션, 또는 마스크 레벨 디스크립션으로 변환될 수 있다. 더 상세한 디스크립션인 각각의 더 낮은 표현 레벨은 설계 디스크립션에 더 유용한 상세, 예를 들어 디스크립션을 포함하는 모듈들에 대한 더 많은 상세를 추가한다. 더 상세한 디스크립션들인 더 낮은 표현 레벨들은 컴퓨터에 의해 생성되거나, 설계 라이브러리로부터 도출되거나, 다른 설계 자동화 프로세스에 의해 생성될 수 있다. 더 상세한 디스크립션들을 특정하기 위한 표현 언어의 더 낮은 레벨에서의 사양 언어의 예는 SPICE이며, 그것은 많은 아날로그 컴포넌트들을 갖는 회로들의 상세한 설명들에 사용된다. 각각의 표현 레벨에서의 디스크립션들은 그 계층의 대응하는 도구들(예컨대, 정식 검증 도구)에 의한 사용을 위해 인에이블된다. 설계 프로세스는 도 11에 도시된 시퀀스를 이용할 수 있다. 설명된 프로세스들은 EDA 제품들(또는 툴들)에 의해 인에이블된다.
시스템 설계(1114) 동안, 제조될 집적 회로의 기능이 특정된다. 설계는 전력 소비, 성능, 면적(물리적 및/또는 코드 라인들), 및 비용의 감소 등과 같은 원하는 특성들을 위해 최적화될 수 있다. 설계를 상이한 타입들의 모듈들 또는 컴포넌트들로 파티셔닝하는 것은 이 단계에서 발생할 수 있다.
논리 설계 및 기능 검증(1116) 동안, 회로에서의 모듈들 또는 컴포넌트들은 하나 이상의 디스크립션 언어들로 특정되고, 사양은 기능 정확성에 대해 체크된다. 예를 들어, 회로의 컴포넌트들은 설계되는 회로 또는 시스템의 사양의 요건들에 부합하는 출력들을 생성하도록 검증될 수 있다. 기능적 검증은 시뮬레이터들 및 다른 프로그램들 예컨대 테스트벤치 발생기들, 정적 HDL 체커들, 및 공식 검증기들을 사용할 수 있다. 일부 실시예들에서, '에뮬레이터들' 또는 '프로토타이핑 시스템들'로 지칭되는 컴포넌트들의 특수 시스템들은 기능 검증의 속도를 높이는 데 사용된다.
테스트를 위한 합성 및 설계(1118) 동안, HDL 코드는 네트리스트로 변환된다. 일부 실시예들에서, 네트리스트는 그래프 구조일 수 있으며, 그래프 구조의 에지들은 회로의 컴포넌트들을 나타내고, 그래프 구조의 노드들은 컴포넌트들이 어떻게 상호접속되는지를 나타낸다. HDL 코드 및 네트리스트 둘 다는, 제조될 때, 집적 회로가 특정된 설계에 따라 수행하는 것을 검증하기 위해 EDA 제품에 의해 사용될 수 있는 계층적 제조물들이다. 네트리스트는 타겟 반도체 제조 기술에 대해 최적화될 수 있다. 추가적으로, 완성된 집적 회로는 집적 회로가 사양의 요건들을 만족시키는지를 검증하기 위해 테스트될 수 있다.
네트리스트 검증(1120) 동안, 네트리스트는 타이밍 제약에 대한 준수 및 HDL 코드와의 대응에 대해 체크된다. 설계 계획(1122) 동안, 집적 회로에 대한 전체 플로어 플랜이 구성되고 타이밍 및 최상위 레벨 라우팅을 위해 분석된다.
레이아웃 또는 물리적 구현(1124) 동안, 물리적 배치(트랜지스터들 또는 커패시터들과 같은 회로 컴포넌트들의 포지셔닝) 및 라우팅(다수의 전도체들에 의한 회로 컴포넌트들의 접속)이 발생하고, 특정 논리 기능들을 인에이블하기 위한 라이브러리로부터의 셀들의 선택이 수행될 수 있다. 본 명세서에서 사용될 때, 용어 '셀'은 부울 논리 기능(예로서, AND, OR, NOT, XOR) 또는 (플립플롭 또는 래치와 같은) 저장 기능을 제공하는 트랜지스터들, 다른 컴포넌트들 및 상호접속들의 세트를 지정할 수 있다. 본 명세서에서 사용될 때, 회로 '블록'은 둘 이상의 셀을 지칭할 수 있다. 셀 및 회로 블록 둘 다는 모듈 또는 컴포넌트라고 지칭될 수 있고, 물리적 구조체들 및 시뮬레이션들 둘 다로서 인에이블된다. 크기와 같은 파라미터들은 ('표준 셀들'에 기초하여) 선택된 셀들에 대해 지정되고, EDA 제품들에 의한 사용을 위해 데이터베이스에서 액세스 가능하게 된다.
분석 및 추출(1126) 동안, 회로 기능은 레이아웃 레벨에서 검증되고, 이는 레이아웃 설계의 개선을 허용한다. 물리적 검증(1128) 동안, DRC 제약조건, 전기적 제약조건, 리소그래피 제약조건과 같은 제조 제약조건이 올바르고 회로 기능이 HDL 설계 규격과 일치하도록 하기 위해 레이아웃 설계가 검사된다. 해상도 향상(1130) 동안, 레이아웃의 기하 구조는 회로 설계가 어떻게 제조되는지를 개선하도록 변환된다.
테이핑 아웃 동안, 데이터는 리소그래피 마스크들의 생성을 위해 (적절한 경우에 리소그래피 향상들이 적용된 후에) 사용되도록 생성된다. 마스크 데이터 준비(1132) 동안, '테이핑 아웃' 데이터는 완성된 집적 회로들을 생성하는 데 사용되는 리소그래피 마스크들을 생성하는 데 사용된다.
(도 12의 컴퓨터 시스템(1200)과 같은) 컴퓨터 시스템의 저장 서브시스템은 본 명세서에서 설명되는 EDA 제품들의 일부 또는 전부에 의해 사용되는 프로그램들 및 데이터 구조들, 및 라이브러리에 대한 셀들의 개발을 위해 그리고 라이브러리를 사용하는 물리 및 논리 설계를 위해 사용되는 제품들을 저장하는 데 사용될 수 있다.
도 12는 머신으로 하여금 본 명세서에서 설명되는 방법들 중 어느 하나 이상을 수행하게 하기 위한 명령어들의 세트가 실행될 수 있는 컴퓨터 시스템(1200)의 예시적인 머신을 나타낸다. 대안적인 구현들에서, 머신은 LAN, 인트라넷, 엑스트라넷, 및/또는 인터넷에서 다른 머신들에 접속(예를 들어, 네트워킹)될 수 있다. 머신은 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 머신으로서, 피어-투-피어(또는 분산형) 네트워크 환경에서 피어 머신으로서, 또는 클라우드 컴퓨팅 인프라구조 또는 환경에서 서버 또는 클라이언트 머신으로서 동작할 수 있다.
머신은 PC(personal computer), 태블릿 PC, STB(set-top box), PDA(Personal Digital Assistant), 셀룰러 전화, 웹 기기, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 해당 머신에 의해 취해질 액션들을 명시하는 명령어들의 세트(순차적 또는 다른 방식)를 실행할 수 있는 임의의 머신일 수 있다. 또한, 단일 머신이 예시되어 있지만, "머신"이라는 용어는 또한 본 명세서에서 논의된 방법론들 중 임의의 하나 이상을 수행하기 위해 명령어들의 세트(또는 다수의 세트)를 개별적으로 또는 공동으로 실행하는 머신들의 임의의 집합을 포함하는 것으로 간주되어야 한다.
예시적인 컴퓨터 시스템(1200)은, 버스(1230)를 통해 서로 통신하는, 처리 디바이스(1202), 메인 메모리(1204)(예를 들어, 판독 전용 메모리(ROM), 플래시 메모리, 동기식 DRAM(SDRAM)과 같은 동적 랜덤 액세스 메모리(DRAM)), 정적 메모리(1206)(예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM) 등), 및 데이터 저장 디바이스(1218)를 포함한다.
처리 디바이스(1202)는 마이크로프로세서, 중앙 처리 유닛 또는 그와 유사한 것과 같은 하나 이상의 프로세서를 나타낸다. 보다 구체적으로, 처리 디바이스는 CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computing) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 또는 다른 명령어 세트들을 구현하는 프로세서, 또는 명령어 세트들의 조합을 구현하는 프로세서들일 수 있다. 처리 디바이스(1202)는 또한 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 네트워크 프로세서 또는 그와 유사한 것과 같은 하나 이상의 특수 목적 처리 디바이스일 수 있다. 처리 디바이스(1202)는 본 명세서에 설명된 동작들 및 단계들을 수행하기 위한 명령어들(1226)을 실행하도록 구성될 수 있다.
컴퓨터 시스템(1200)은 네트워크(1220)를 통해 통신하기 위해 네트워크 인터페이스 디바이스(1208)를 더 포함할 수 있다. 컴퓨터 시스템(1200)은 또한, 비디오 디스플레이 유닛(1210)(예를 들어, 액정 디스플레이(LCD) 또는 음극선관(CRT)), 영숫자 입력 디바이스(1212)(예를 들어, 키보드), 커서 제어 디바이스(1214)(예를 들어, 마우스), 그래픽 처리 유닛(1222), 신호 생성 디바이스(1216)(예를 들어, 스피커), 그래픽 처리 유닛(1222), 비디오 처리 유닛(1228), 및 오디오 처리 유닛(1232)을 포함할 수 있다.
데이터 저장 디바이스(1218)는, 본 명세서에 설명된 방법론들 또는 기능들 중 임의의 하나 이상을 구현하는 소프트웨어 또는 명령어들(1226)의 하나 이상의 세트가 저장되어 있는 머신 판독가능 저장 매체(1224)(비일시적 컴퓨터 판독가능 매체라고도 알려짐)를 포함할 수 있다. 명령어들(1226)은 또한 컴퓨터 시스템(1200)에 의한 명령어들의 실행 동안 메인 메모리(1204) 내에 그리고/또는 처리 디바이스(1202) 내에 완전히 또는 적어도 부분적으로 상주할 수 있으며, 메인 메모리(1204) 및 처리 디바이스(1202)는 또한 머신 판독가능 저장 매체를 구성한다.
일부 구현들에서, 명령어들(1226)은 본 개시내용에 대응하는 기능성을 구현하기 위한 명령어들을 포함한다. 머신 판독가능 저장 매체(1224)가 예시적인 구현에서 단일 매체인 것으로 보여져 있지만, "머신 판독가능 저장 매체"라는 용어는 명령어들의 하나 이상의 세트를 저장하는 단일 매체 또는 다수의 매체(예를 들어, 중앙집중형 또는 분산형 데이터베이스, 및/또는 연관된 캐시들 및 서버들)를 포함하는 것으로 간주되어야 한다. 용어 "머신 판독가능 저장 매체"는 또한, 머신에 의한 실행을 위한 한 세트의 명령어를 저장 또는 인코딩할 수 있고 머신 및 처리 디바이스(1202)로 하여금 본 개시내용의 방법론들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 간주되어야 한다. 따라서, "머신 판독가능 저장 매체"라는 용어는 고체 상태 메모리들, 광학 매체 및 자기 매체를 포함하지만 이에 제한되지는 않는 것으로 간주되어야 한다.
이전의 상세한 설명들의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 연산들의 알고리즘들 및 심볼 표현들의 관점에서 제시되었다. 이러한 알고리즘 설명들 및 표현들은 데이터 처리 분야의 통상의 기술자가 그들의 작업의 본질을 본 기술분야의 다른 통상의 기술자에게 가장 효과적으로 전달하기 위해 사용되는 방식들이다. 알고리즘은 원하는 결과를 초래하는 동작들의 시퀀스일 수 있다. 동작들은 물리적 양들의 물리적 조작들을 요구하는 것들이다. 이러한 양들은 저장, 결합, 비교, 및 다른 방식으로 조작될 수 있는 전기 또는 자기 신호들의 형태를 취할 수 있다. 이러한 신호들은 비트, 값, 요소, 심볼, 문자, 용어, 숫자 또는 이와 유사한 것으로 지칭될 수 있다.
그러나, 이들 및 유사한 용어들 모두는 적절한 물리적 양들과 연관되고 이들 양에 적용되는 편리한 라벨들일 뿐이라는 점을 명심해야 한다. 본 개시내용으로부터 명백한 바와 같이 구체적으로 달리 언급되지 않는 한, 설명 전반에 걸쳐, 특정 용어들이 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전자적) 양들로서 표현되는 데이터를 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장 디바이스들 내의 물리적 양들로서 유사하게 표현되는 다른 데이터로 조작하고 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스들을 지칭한다는 것이 이해된다.
본 개시내용은 또한 본 명세서에서의 동작들을 수행하기 위한 장치에 관한 것이다. 이 장치는 의도된 목적을 위해 특별히 구성될 수 있거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 각각이 컴퓨터 시스템 버스에 결합되는, 플로피 디스크들, 광학 디스크들, CD-ROM들, 및 자기-광학 디스크들을 포함하는 임의의 타입의 디스크, 판독-전용 메모리(ROM)들, 랜덤 액세스 메모리(RAM)들, EPROM들, EEPROM들, 자기 또는 광학 카드들, 또는 전자 명령어들을 저장하기에 적합한 임의의 타입의 매체와 같은, 그러나 이에 제한되지 않는, 컴퓨터 판독가능 저장 매체에 저장될 수 있다.
본 명세서에 제시된 알고리즘들 및 디스플레이들은 본질적으로 임의의 특정 컴퓨터 또는 다른 장치에 관련되지 않는다. 다양한 다른 시스템들이 본 명세서의 교시들에 따라 프로그램들과 함께 사용될 수 있거나, 또는 방법을 수행하기 위해 더 특수화된 장치를 구성하는 것이 편리한 것으로 판명될 수 있다. 또한, 본 개시내용은 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 다양한 프로그래밍 언어들이 본 명세서에 기술된 바와 같은 개시내용의 교시들을 구현하기 위해 사용될 수 있다는 것이 이해될 것이다.
본 개시내용은 본 개시내용에 따른 프로세스를 수행하도록 컴퓨터 시스템(또는 다른 전자 디바이스들)을 프로그래밍하는 데 사용될 수 있는 명령어들이 저장되어 있는 머신 판독가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품 또는 소프트웨어로서 제공될 수 있다. 머신 판독가능 매체는 머신(예를 들어, 컴퓨터)에 의해 판독가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 머신 판독가능(예를 들어, 컴퓨터 판독가능) 매체는 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 디바이스들 등과 같은 머신(예를 들어, 컴퓨터) 판독가능 저장 매체를 포함한다.
전술한 개시내용에서, 개시내용의 구현예들은 그 특정 예시적인 구현예들을 참조하여 설명되었다. 다음의 청구항들에 제시된 바와 같은 본 개시내용의 구현들의 더 넓은 사상 및 범위를 벗어나지 않고 다양한 수정들이 이루어질 수 있다는 것이 명백할 것이다. 본 개시내용이 단일 시제에서의 일부 요소들을 언급하는 경우, 하나 초과의 요소가 도면들에 묘사될 수 있고 유사한 요소들은 유사한 번호들로 라벨링된다. 따라서, 본 개시내용 및 도면들은 제한적인 의미가 아니라 예시적인 의미로 간주되어야 한다.

Claims (20)

  1. 칩 패브릭(chip fabric)을 설계하기 위한 방법으로서,
    패브릭의 제1 영역에서 제1 복수의 행들을 인스턴스화하는 단계 - 상기 제1 영역은 상기 제1 복수의 행들의 높이들의 합에 대응하는 높이를 가짐 -;
    상기 패브릭의 제2 영역에서 제2 복수의 행들을 인스턴스화하는 단계 - 상기 제2 영역은 상기 패브릭에서의 상기 제1 영역에 수평으로 인접하고, 상기 제2 영역은 상기 제2 복수의 행들의 높이들의 합에 대응하는 높이를 가짐 -;
    처리 디바이스에 의해, 상기 제1 복수의 행들 중의 행이 상기 제2 복수의 행들 중의 행과 오정렬되는지를 결정하는 단계; 및
    상기 제1 복수의 행들 중의 행이 상기 제2 복수의 행들 중의 행과 오정렬된다는 결정에 응답하여 상기 제1 복수의 행들 중의 행과 상기 제2 복수의 행들 중의 행 사이에 전이 영역(transition region)을 추가하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 제2 영역의 높이는 상기 제1 영역의 높이의 적어도 2 배이고, 상기 제2 영역의 제1 부분에서의 상기 제1 복수의 행들 중의 행들의 제1 세트는 제1 폭을 가지고, 상기 제2 영역의 제2 부분에서의 상기 제1 복수의 행들 중의 행들의 제2 세트는 상기 제1 폭과는 상이한 제2 폭을 가지는, 방법.
  3. 제2항에 있어서, 상기 제2 영역의 상기 제1 부분의 높이는 상기 제1 영역의 높이와 동일한, 방법.
  4. 제1항에 있어서, 상기 제1 영역 내의 행들의 세트 및 상기 제2 영역 내의 행들의 세트가 정렬된다는 결정에 응답하여 상기 제1 영역 내의 행들의 세트와 상기 제2 영역 내의 행들의 세트 사이의 전이 영역을 제거하는 단계를 더 포함하는, 방법.
  5. 제1항에 있어서, 상기 패브릭의 제3 영역에서 제3 복수의 행들을 인스턴스화하는 단계를 더 포함하고, 상기 제3 영역은 상기 패브릭에서의 상기 제2 영역 위에 있고, 상기 제3 영역은 상기 제1 영역의 높이와 동일한 높이를 가지는, 방법.
  6. 제5항에 있어서, 상기 제3 복수의 행들 중의 행 및 상기 제2 복수의 행들 중의 행은 상이한 높이들을 가지는, 방법.
  7. 제1항에 있어서, 트랜지스터들의 세트를 상기 제1 복수의 행들 내로 인스턴스화하는 단계를 더 포함하는, 방법.
  8. 제1항에 있어서, 상기 제2 영역의 높이는 상기 제1 영역의 높이의 정수배인, 방법.
  9. 제1항에 있어서, 상기 제1 복수의 행들 중의 행은 상기 제2 복수의 행들 중의 행의 높이와는 상이한 높이를 가지는, 방법.
  10. 제1항에 있어서, 상기 제1 복수의 행들 중 제1 행 내의 제1 셀은 상기 제1 복수의 행들에 로컬인 전력 레일을 사용하여 글로벌 전력 레일에 접속하도록 배열되고, 상기 제2 복수의 행들 중 제2 행 내의 제2 셀은 상기 제2 복수의 행들에 로컬인 전력 레일을 사용하여 상기 글로벌 전력 레일에 접속하도록 배열되는, 방법.
  11. 칩 패브릭을 설계하기 위한 시스템으로서,
    메모리; 및
    상기 메모리에 통신가능하게 결합된 하드웨어 프로세서
    를 포함하고, 상기 하드웨어 프로세서는:
    패브릭의 제1 영역에서 제1 복수의 행들을 인스턴스화하고 - 상기 제1 영역은 상기 제1 복수의 행들의 높이들의 합에 대응하는 높이를 가짐 -;
    상기 패브릭의 제2 영역에서 제2 복수의 행들을 인스턴스화하고 - 상기 제2 영역은 상기 패브릭에서의 상기 제1 영역에 수평으로 인접하고, 상기 제2 영역은 상기 제2 복수의 행들의 높이들의 합에 대응하는 높이를 가짐 -;
    처리 디바이스에 의해, 상기 제1 복수의 행들 중의 행이 상기 제2 복수의 행들 중의 행과 오정렬되는지를 결정하고;
    상기 제1 복수의 행들 중의 행이 상기 제2 복수의 행들 중의 행과 오정렬된다는 결정에 응답하여 상기 제1 복수의 행들 중의 행과 상기 제2 복수의 행들 중의 행 사이에 전이 영역을 추가하도록
    구성된, 시스템.
  12. 제11항에 있어서, 상기 제2 영역의 높이는 상기 제1 영역의 높이의 적어도 2 배이고, 상기 제2 영역의 제1 부분에서의 상기 제1 복수의 행들 중의 행들의 제1 세트는 제1 폭을 가지고, 상기 제2 영역의 제2 부분에서의 상기 제1 복수의 행들 중의 행들의 제2 세트는 상기 제1 폭과는 상이한 제2 폭을 가지는, 시스템.
  13. 제12항에 있어서, 상기 제2 영역의 상기 제1 부분의 높이는 상기 제1 영역의 높이와 동일한, 시스템.
  14. 제11항에 있어서, 상기 하드웨어 프로세서는 상기 제1 영역 내의 행들의 세트 및 상기 제2 영역 내의 행들의 세트가 정렬된다는 결정에 응답하여 상기 제1 영역 내의 행들의 세트와 상기 제2 영역 내의 행들의 세트 사이의 전이 영역을 제거하도록 더 구성되는, 시스템.
  15. 제11항에 있어서, 상기 하드웨어 프로세서는 상기 패브릭의 제3 영역에서 제3 복수의 행들을 인스턴스화하도록 더 구성되고, 상기 제3 영역은 상기 패브릭에서의 상기 제2 영역 위에 있고, 상기 제3 영역은 상기 제1 영역의 높이와 동일한 높이를 가지는, 시스템.
  16. 제15항에 있어서, 상기 제3 복수의 행들 중의 행 및 상기 제2 복수의 행들 중의 행은 상이한 높이들을 가지는, 시스템.
  17. 제11항에 있어서, 상기 하드웨어 프로세서는 트랜지스터들의 세트를 상기 제1 복수의 행들 내로 인스턴스화하도록 더 구성되는, 시스템.
  18. 제11항에 있어서, 상기 제2 영역의 높이는 상기 제1 영역의 높이의 정수배인, 시스템.
  19. 제11항에 있어서, 상기 제1 복수의 행들 중의 행은 상기 제2 복수의 행들 중의 행의 높이와는 상이한 높이를 가지는, 시스템.
  20. 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서
    상기 명령어들은 프로세서에 의해 실행될 때 상기 프로세서로 하여금 칩 패브릭을 설계하기 위한 동작을 수행하게 하고, 상기 동작은:
    패브릭의 제1 영역에서 제1 복수의 행들을 인스턴스화하는 단계;
    상기 패브릭 내의 상기 제1 영역에 수평으로 인접한 상기 패브릭의 제2 영역에서 제2 복수의 행들을 인스턴스화하는 단계; 및
    상기 제1 복수의 행들 중의 행이 상기 제2 복수의 행들 중의 행과 오정렬된다는 결정에 응답하여, 상기 제1 복수의 행들 중의 행과 상기 제2 복수의 행들 중의 행 사이에 전이 영역을 추가하는 단계
    를 포함하는, 비일시적 컴퓨터 판독가능 매체.


KR1020237017888A 2020-12-03 2021-11-29 혼합 높이 셀 라이브러리들에 대한 커스텀-타일 배치 패브릭들에 대한 적응적 행 패턴들 KR20230109646A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063121106P 2020-12-03 2020-12-03
US63/121,106 2020-12-03
PCT/US2021/061021 WO2022119778A1 (en) 2020-12-03 2021-11-29 Adaptive row patterns for custom-tiled placement fabrics for mixed height cell libraries

Publications (1)

Publication Number Publication Date
KR20230109646A true KR20230109646A (ko) 2023-07-20

Family

ID=79164758

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237017888A KR20230109646A (ko) 2020-12-03 2021-11-29 혼합 높이 셀 라이브러리들에 대한 커스텀-타일 배치 패브릭들에 대한 적응적 행 패턴들

Country Status (5)

Country Link
US (1) US12086523B2 (ko)
EP (1) EP4232937A1 (ko)
KR (1) KR20230109646A (ko)
CN (1) CN116547810A (ko)
WO (1) WO2022119778A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10997348B2 (en) * 2018-09-28 2021-05-04 Taiwan Semiconductor Manufacturing Company Ltd. Metal cut region location method and system
US20240266342A1 (en) * 2023-02-06 2024-08-08 Qualcomm Incorporated Column divided multi-height architecture
US20240297167A1 (en) * 2023-03-01 2024-09-05 International Business Machines Corporation Self-aligned backside interconnect structures
EP4432357A1 (en) * 2023-03-08 2024-09-18 Samsung Electronics Co., Ltd. Integrated circuit including backside wiring and method of designing the integrated circuit

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8276109B2 (en) * 2008-12-23 2012-09-25 Broadcom Corporation Mixed-height high speed reduced area cell library
US8631377B2 (en) * 2009-05-14 2014-01-14 Taiwan Semiconductor Manufacturing Company, Ltd. System and method for designing cell rows with differing cell heights
US9007095B2 (en) * 2012-02-17 2015-04-14 Broadcom Corporation Efficient non-integral multi-height standard cell placement
US11216608B2 (en) * 2018-10-31 2022-01-04 Taiwan Semiconductor Manufacturing Company, Ltd. Reduced area standard cell abutment configurations
US11256844B2 (en) * 2020-01-31 2022-02-22 Taiwan Semiconductor Manufacturing Company, Ltd. Cell row arrangement in regions of integrated circuit layout

Also Published As

Publication number Publication date
WO2022119778A1 (en) 2022-06-09
US20220180037A1 (en) 2022-06-09
CN116547810A (zh) 2023-08-04
EP4232937A1 (en) 2023-08-30
US12086523B2 (en) 2024-09-10

Similar Documents

Publication Publication Date Title
US12086523B2 (en) Adaptive row patterns for custom-tiled placement fabrics for mixed height cell libraries
US10997346B2 (en) Conception of a 3D circuit comprising macros
US6209123B1 (en) Methods of placing transistors in a circuit layout and semiconductor device with automatically placed transistors
Panth et al. Shrunk-2-D: A physical design methodology to build commercial-quality monolithic 3-D ICs
US5987086A (en) Automatic layout standard cell routing
US5984510A (en) Automatic synthesis of standard cell layouts
US6006024A (en) Method of routing an integrated circuit
US6473891B1 (en) Wire routing to control skew
US7989849B2 (en) Apparatuses and methods for efficient power rail structures for cell libraries
JP2003528468A (ja) スタンダードブロックを用いた集積回路アーキテクチャ
KR20170109863A (ko) 집적 회로 및 집적 회로의 설계 방법
KR20230041020A (ko) 상보적 전계 효과 트랜지스터(cfet)에서 전기적 단락을 방지하기 위한 자기-제한적 제조 기술들
US8863062B2 (en) Methods and apparatus for floorplanning and routing co-design
US6327696B1 (en) Method and apparatus for zero skew routing from a fixed H trunk
US20220085018A1 (en) Mixed diffusion break for cell design
KR20230041017A (ko) 상보형 전계 효과 트랜지스터(cfet)에서의 소스 및 드레인 재료들의 에피택셜 성장
CN113053886A (zh) 集成电路结构
EP4220471A1 (en) Method of designing layout of semiconductor integrated circuit and design system performing same
US11704467B2 (en) Automated balanced global clock tree synthesis in multi level physical hierarchy
Kahng Research directions for coevolution of rules and routers
US11973497B1 (en) Parameterized superconducting multi-row circuit
US20230267261A1 (en) Design system, design method and method of manufacture of semiconductor device
US20230022615A1 (en) Boundary cell having a common semiconductor type for library cell
CN220984174U (zh) 半导体装置及集成电路
US20230061120A1 (en) Routing of high-speed, high-throughput interconnects in integrated circuits