KR20170113566A - 3d 집적 회로용 폴딩 블록들 및 복제 핀들을 갖는 지적 재산 블록 설계 - Google Patents
3d 집적 회로용 폴딩 블록들 및 복제 핀들을 갖는 지적 재산 블록 설계 Download PDFInfo
- Publication number
- KR20170113566A KR20170113566A KR1020177021965A KR20177021965A KR20170113566A KR 20170113566 A KR20170113566 A KR 20170113566A KR 1020177021965 A KR1020177021965 A KR 1020177021965A KR 20177021965 A KR20177021965 A KR 20177021965A KR 20170113566 A KR20170113566 A KR 20170113566A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- tiers
- integrated circuit
- blocks
- replicated
- Prior art date
Links
- 238000013461 design Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 75
- 230000003362 replicative effect Effects 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 230000004044 response Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000002922 simulated annealing Methods 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 235000012431 wafers Nutrition 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G06F17/5072—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G06F17/5077—
-
- G06F17/5081—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/08—Intellectual property [IP] blocks or IP cores
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices 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/04—Devices 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 the substrate being a semiconductor body
- H01L27/06—Devices 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 the substrate being a semiconductor body including a plurality of individual components in a non-repetitive configuration
- H01L27/0688—Integrated circuits having a three-dimensional layout
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Architecture (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
- Internal Circuitry In Semiconductor Integrated Circuit Devices (AREA)
Abstract
3D(three-dimensional) 집적 회로들에 대한 IP(intellectual property) 블록 설계 방법은, 하나 또는 그 초과의 회로 컴포넌트들을 갖는 적어도 하나의 2D(two-dimensional) 블록을 다수의 티어들을 갖는 3D 블록으로 폴딩하는 단계를 포함하는데, 여기서 폴딩된 2D 블록의 하나 또는 그 초과의 회로 컴포넌트들은 3D 블록의 다수의 티어들 사이에서 분배될 수 있다. 또한, 하나 또는 그 초과의 핀들은 3D 블록의 다수의 티어들에 걸쳐 복제될 수 있고, 하나 또는 그 초과의 복제된 핀들은 3D 블록 내부에 배치된 하나 또는 그 초과의 블록-내 TSV(through-silicon-via)들을 사용하여 서로 연결될 수 있다.
Description
[0001]
본 개시내용은, 일반적으로 집적 회로들(integrated circuits)에 관한 것으로, 특히 저전력 고성능 애플리케이션들을 위해 3-차원 집적 회로 설계에 사용될 지적 재산(IP; intellectual property) 블록들을 생성하는 것에 관한 것이다.
[0002]
전자식 설계 자동화(electronic design automation)에서, IC(integrated circuit) 플로어플랜은 IC와 연관된 주요 기능 블록들의 시험적 배치를 개략적으로 나타낸다. 현대의 전자식 설계 프로세스들에서, 플로어플랜들은 통상적으로 플로어플래닝(floorplanning) 스테이지 동안 생성되는데, 이 스테이지는 칩 설계에 대한 계층적 접근방식에서 초기 스테이지이다. 플로어플래닝은, 예컨대, 오프-칩 연결들을 위한 본딩 패드들의 로케이션을 비롯하여 설계의 기하학적 제약들 중 일부를 고려한다. 또한, 전자식 설계시에, IP(intellectual property) 블록(또는 IP 코어)은 특정 당사자의 지적 재산으로 고려되는 재사용가능한 로직 유닛, 셀, 또는 칩 레이아웃 설계를 지칭한다. 이로써, IP 블록들은 설계에 존재하는 라이센스된 및/또는 자신 소유의 지적 재산(예컨대, 특허들, 소스 코드 저작권들, 영업 비밀들, 노하우 등)을 갖는 당사자들에 의해 IC 설계들 내에서 빌딩 블록들로서 사용될 수 있다. 일반적으로, 2D IP 블록들과 조합하는 3D(three-dimensional) IP 블록들을 사용하여 풀-칩 3D IC 설계들의 전반적인 품질을 향상시키는 것은 다양한 이점들이 존재할 수 있다.
[0003]
예컨대, 3D 반도체 디바이스(또는 적층형 IC 디바이스)는 수직으로 적층된 2개 또는 그 초과의 반도체 디바이스들을 포함할 수 있고 이에 의해 2개 또는 그 초과의 종래에 배열된 반도체 디바이스들보다 더 작은 공간을 점유할 수 있다. 적층형 IC 디바이스는, 단일 디바이스로서 가동하도록 수직으로 인터커넥팅된 실리콘 웨이퍼들 및/또는 IC들을 적층함으로써 구축된 단일 집적 회로이다. 종래에는, 적층형 반도체 디바이스들은 디바이스의 주변부에 그리고/또는 디바이스의 영역에 걸쳐 I/O(input/output) 포트들을 사용하여 함께 배선된다. I/O 포트들은 어셈블리의 길이 및 폭을 약간 증가시킨다. 일부 신규한 3D 스택들에서, TSS(Through Silicon Stacking)로 지칭된 기법은 TSV(through-silicon-via)들을 사용하여, 반도체 디바이스의 본체를 통해 수직 연결을 생성함으로써 에지 배선을 전체적으로 또는 부분적으로 대체하여, 적층형 IC 디바이스들이 상당한 기능을 작은 풋프린트로 패킹할 수 있게 한다. 그러나, 디바이스 스케일링과 인터커넥트 성능의 불일치는 기하급수적으로 증가했으며 앞으로도 계속 증가할 것으로 예상된다. 디바이스와 인터커넥트 성능의 불일치의 이러한 기하급수적인 증가는 설계자들로 하여금 글로벌 인터커넥트들의 과도한 버퍼링과 같은 기법들을 사용하게 하였으며, 이는 칩 면적 및 전력 소모를 증가시켰다.
[0004]
이로써, 2D 블록들을 3D 스택들로 어셈블링하는 것에 초점을 맞춘 현재의 3D 방법들은, 적용가능한 경우, 블록들 내 3D IC를 레버리징하지 않고 그리고 테이블에 추가적인 개선사항들을 남겨두지 않고, 오직 블록-간 네트들을 감소시키는데 도움을 준다. 반면에, 기존의 2D IP 블록에서 시작하면, “블록 폴딩(block folding)”으로 지칭되는 기법은, 3D IP 블록들을 생성하고 이에 의해 최종 3D IP 레이아웃을 구축하기 위해, 티어 분할을 수행할 수 있고 동일한 풋프린트 하에서의 모든 티어들에 대한 배치 및 라우팅을 다시 수행할 수 있다. 그러나, 블록 폴딩을 활용하는 기존 기법들은, 폴딩된 3D IP 블록들에 I/O 핀들을 배치하는 방법을 다루지는 않는데, 이는 블록-간 연결들에 사용되는 배선길이, 면적, 및 TSV들의 수와 관련하여 최종 3D IC 설계 품질에 큰 영향을 줄 수 있다.
[0005]
다음은, 본원에 개시된 하나 또는 그 초과의 양상들 및/또는 실시예들에 관한 간략화된 요약을 제시한다. 이로써, 다음의 요약은 모든 고려된 양상들 및/또는 실시예들에 관한 광범위한 개관으로서 고려되어서는 안되며, 다음의 요약은 또한 모든 고려된 양상들 및/또는 실시예들에 관한 주요 또는 중요 엘리먼트들을 식별하거나 또는 임의의 특정 양상 및/또는 실시예와 연관된 범위를 기술하는 것으로 간주되어서도 안된다. 이에 따라, 다음의 요약은 이하에 제시된 상세한 설명에 선행하여 본원에 개시된 하나 또는 그 초과의 양상들 및/또는 실시예들에 관한 특정 개념들을 단순화된 형태로 제시하는 유일한 목적을 갖는다.
[0006]
다양한 예시적인 양상들에 따르면, 3D(three-dimensional) 집적 회로에 대한 IP(intellectual property) 블록 설계 방법은, 하나 또는 그 초과의 회로 컴포넌트들을 갖는 적어도 하나의 2D(two-dimensional) 블록을, 다수의 티어들을 갖는 3D 블록으로 폴딩하는 단계를 포함할 수 있는데, 여기서 폴딩된 2D 블록의 하나 또는 그 초과의 회로 컴포넌트들은 3D 블록의 다수의 티어들 사이에 분배될 수 있다. 또한, 하나 또는 그 초과의 핀들이 3D 블록의 다수의 티어들에 걸쳐 복제될 수 있고, 하나 또는 그 초과의 복제된 핀들은 (예컨대, 복제된 핀들 사이에 수직적 연결을 제공하기 위해) 3D 블록 내에 위치된 하나 또는 그 초과의 블록-내 TSV(through-silicon-via)들을 사용하여 서로 연결될 수 있다. 또한, 다양한 실시예들에서, 3D 집적 회로에서 하나 또는 그 초과의 다른 블록들은 각각 그와 연관된 티어 로케이션들에 따라 복제된 핀들 중 하나에 연결될 수 있고 그리고 3D 블록 및 하나 또는 그 초과의 다른 블록들은 그후 집적 회로와 연관된 최종 풀-칩 설계에 패킹될 수 있는데, 여기서 3D 블록의 다수의 티어들에 걸쳐 복제된 하나 또는 그 초과의 핀들은 풀-칩 설계(full-chip design)에서 전체 배선길이 및 풋프린트 면적을 최소화시키기 위해 그리고/또는 3D 블록의 다수의 티어들에 걸쳐 이용가능한 공유 공간에 따라 선택될 수 있다.
[0007]
다양한 예시적인 양상들에 따르면, 3D 지적 재산 블록은, 다수의 티어들, 다수의 티어들에 걸쳐 분배된 하나 또는 그 초과의 회로 컴포넌트들, 및 다수의 티어들에 걸쳐 복제된 하나 또는 그 초과의 핀들을 포함할 수 있다. 예컨대, 다양한 실시예들에서, 3D 지적 재산 블록은, 다수의 티어들로 폴딩되고 그리고 3D 지적 재산 블록 내의 다수의 티어들 사이에서 하나 또는 그 초과의 회로 컴포넌트들을 분배하고 인터커넥팅하기 위해 재-구현된 2D 지적 재산 블록을 포함할 수 있다. 또한, 다양한 실시예들에서, 3D 지적 재산 블록은, 다수의 티어들에 걸쳐 복제된 하나 또는 그 초과의 핀들을 연결하고 그리고 하나 또는 그 초과의 복제된 핀들 사이에 수직 연결을 제공하기 위해 3D 블록 내부에 위치된 하나 또는 그 초과의 TSV(through-silicon-via)들을 포함할 수 있다.
[0008]
다양한 예시적인 양상들에 따르면, 3D 집적 회로는 다수의 티어들에 걸쳐 분배된 하나 또는 그 초과의 회로 컴포넌트들 및 다수의 티어들에 걸쳐 복제된 하나 또는 그 초과의 핀들을 갖는 적어도 하나의 3D 블록 및 다수의 티어들 중 하나에 로케이팅된 적어도 하나의 추가 블록을 포함하며, 적어도 하나의 추가 블록은 적어도 하나의 추가 블록이 로케이팅된 적어도 하나의 티어에 따라 적어도 하나의 3D 블록의 복제된 핀들 중 하나에 연결된다. 예컨대, 다양한 실시예들에서, 적어도 하나의 3D 블록은, 다수의 티어들로 폴딩되고 그리고 다수의 티어들 사이에서 하나 또는 그 초과의 회로 컴포넌트들을 분배하고 인터커넥팅하기 위해 재-구현된 2D 블록을 포함할 수 있다. 또한, 다양한 실시예들에서, 적어도 하나의 3D 블록은 하나 또는 그 초과의 복제된 핀들을 연결하는 하나 또는 그 초과의 블록-내 TSV(through-silicon-via)들을 추가적으로 포함할 수 있으며, 여기서 복제된 핀들은 3D 집적 회로와 연관된 전체 배선길이 및 풋프린트 영역을 최소화하도록 선택될 수 있다.
[0009]
본원에 개시된 다양한 양상들 및/또는 실시예들과 연관된 다른 목적들 및 이점들은 첨부된 도면들 및 상세한 설명에 기반하여 당업자들에게 명백하게 될 것이다.
[0010]
본 개시내용의 양상들 및 그에 수반되는 수많은 이점들에 대한 보다 완전한 이해는, 본 개시내용의 한정이 아닌 단지 예시만을 위해 제시된 첨부된 도면들과 관련하여 고려하여 다음의 상세한 설명을 참조함으로써 더 잘 이해되기 때문에 용이하게 달성될 것이다.
[0011] 도 1은, 다양한 양상들에 따라, 하나 또는 그 초과의 3D(three-dimensional) 블록들과 조합하여 하나 또는 그 초과의 2D(two-dimensional) 블록들을 구현하는 예시적인 멀티-티어 3D IC(integrated circuit) 플로어플랜(floorplan)을 도시한다.
[0012] 도 2는, 다양한 양상들에 따라, 전반적인 멀티-티어 3D IC 레이아웃과 연관된 전력, 성능, 및 다른 설계 품질 목적들에 따라 최종 멀티-티어 3D IC 레이아웃으로 후속하여 패킹될 수 있는 하나 또는 그 초과의 기존의 2D 및/또는 3D 블록들을 폴딩하기 위한 예시적인 방법을 도시한다.
[0013] 도 3은, 다양한 양상들에 따라, 풀-칩 멀티-티어 3D IC 설계와 연관된 품질을 향상시키기 위해 하나 또는 그 초과의 2D 및 하나 또는 그 초과의 3D 블록들을 조합하는 멀티-티어 3D IC 레이아웃을 자동으로 플로어플래닝하기 위한 예시적인 방법을 도시한다.
[0014] 도 4는, 다양한 양상들에 따라, 하나 또는 그 초과의 3D 블록들과 하나 또는 그 초과의 2D 블록들을 조합하는 멀티-티어 3D IC에서 핀 할당들을 수행하기 위한 예시적인 방법을 도시한다.
[0015] 도 5는, 다양한 양상들에 따라, 기존의 2D 블록을 폴딩하는 것으로부터 생성된 멀티-티어 3D 블록에서 핀 할당들을 복제하기 위한 예시적인 방법을 도시한다.
[0016] 도 6은, 다양한 양상들에 따라, 기존의 2D 블록을 폴딩하는 것으로부터 생성될 수 있는 복제된 핀들을 갖는 예시적인 멀티-티어 3D 블록을 도시한다.
[0017] 도 7a 내지 도 7c는, 다양한 양상들에 따라, 복제된 핀들을 갖는 예시적인 3D LSU(load store unit)을 도시한다.
[0011] 도 1은, 다양한 양상들에 따라, 하나 또는 그 초과의 3D(three-dimensional) 블록들과 조합하여 하나 또는 그 초과의 2D(two-dimensional) 블록들을 구현하는 예시적인 멀티-티어 3D IC(integrated circuit) 플로어플랜(floorplan)을 도시한다.
[0012] 도 2는, 다양한 양상들에 따라, 전반적인 멀티-티어 3D IC 레이아웃과 연관된 전력, 성능, 및 다른 설계 품질 목적들에 따라 최종 멀티-티어 3D IC 레이아웃으로 후속하여 패킹될 수 있는 하나 또는 그 초과의 기존의 2D 및/또는 3D 블록들을 폴딩하기 위한 예시적인 방법을 도시한다.
[0013] 도 3은, 다양한 양상들에 따라, 풀-칩 멀티-티어 3D IC 설계와 연관된 품질을 향상시키기 위해 하나 또는 그 초과의 2D 및 하나 또는 그 초과의 3D 블록들을 조합하는 멀티-티어 3D IC 레이아웃을 자동으로 플로어플래닝하기 위한 예시적인 방법을 도시한다.
[0014] 도 4는, 다양한 양상들에 따라, 하나 또는 그 초과의 3D 블록들과 하나 또는 그 초과의 2D 블록들을 조합하는 멀티-티어 3D IC에서 핀 할당들을 수행하기 위한 예시적인 방법을 도시한다.
[0015] 도 5는, 다양한 양상들에 따라, 기존의 2D 블록을 폴딩하는 것으로부터 생성된 멀티-티어 3D 블록에서 핀 할당들을 복제하기 위한 예시적인 방법을 도시한다.
[0016] 도 6은, 다양한 양상들에 따라, 기존의 2D 블록을 폴딩하는 것으로부터 생성될 수 있는 복제된 핀들을 갖는 예시적인 멀티-티어 3D 블록을 도시한다.
[0017] 도 7a 내지 도 7c는, 다양한 양상들에 따라, 복제된 핀들을 갖는 예시적인 3D LSU(load store unit)을 도시한다.
[0018]
특정 예시적인 실시예들에 관한 예시들을 보여주기 위해 다음의 설명 및 관련 도면들에서 다양한 양상들이 개시된다. 대안적인 실시예들은, 이 개시내용을 읽을 때 당업자들에게 명백하게 될 것이며, 본 개시내용의 범위 또는 사상으로부터 벗어나지 않고 구성되고 실시될 수 있다. 추가적으로, 잘-알려진 엘리먼트들은 본원에 개시된 양상들 및 실시예들의 관련 세부사항들을 모호하게 하지 않기 위해 상세하게 설명되지 않거나 또는 생략될 수 있다.
[0019]
단어 “예시적인”은 "예, 예시, 또는 예증으로서 기능하는 것"을 의미하도록 본 명세서에서 사용된다. “예시적인” 것으로 본 명세서에 설명된 임의의 실시예가 다른 실시예들에 비해 반드시 바람직하거나 유리한 것으로서 해석될 필요는 없다. 마찬가지로, 용어 “실시예들”은, 모든 실시예들이 논의된 특성, 이점 또는 동작 모드를 포함하도록 요구하지는 않는다.
[0020]
본원에서 사용된 용어는, 오직 특정 실시예들을 설명하고, 본원에 개시된 임의의 실시예들을 제한하는 것으로 해석되어야 한다. 본 명세서에 사용되는 것과 같은 단수 형태는, 문맥이 달리 명확하게 표시하지 않는 한, 복수 형태들도 또한 포함하는 것으로 의도된다. 또한, 용어들 “포함하다(comprises)”, “포함하는(comprising)”, “구비하다(includes)” 및/또는 “구비하는(including”)은, 본 명세서에서 사용될 때, 언급된 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 또는 그 초과의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 이의 그룹들의 존재 또는 부가를 배제하지 않는다는 점이 이해될 것이다.
[0021]
또한, 많은 양상들이, 예컨대, 컴퓨팅 디바이스의 엘리먼트들에 의해 수행될 액션들의 시퀀스들과 관련하여 설명된다. 본원에 설명된 다양한 액션들은, 특정 회로들(예컨대, ASIC(application specific integrated circuit))에 의해, 하나 또는 그 초과의 프로세서들에 의해 실행되는 프로그램 명령들에 의해, 또는 이 둘의 조합에 의해 수행될 수 있다는 점이 인식될 것이다. 추가적으로, 본 명세서에 설명된 이러한 액션들의 시퀀스는 실행시에 관련 프로세서로 하여금 본 명세서에 설명된 기능성을 수행하게 할 컴퓨터 명령들의 대응 세트를 저장하는 임의의 형태의 컴퓨터 판독가능 저장 매체 내에서 완전하게 구현되는 것으로 고려될 수 있다. 따라서, 본 개시내용의 다양한 양상들은 수많은 상이한 형태들로 구현될 수 있으며, 이들 모두는 청구된 청구물의 범위 내에 있는 것으로 고찰되었다. 더욱이, 본 명세서에 설명된 양상 및/또는 실시예 각각의 경우, 대응 형태의 임의의 이러한 양상 및/또는 실시예가, 예컨대, 설명된 액션을 수행하도록 “구성된 로직”으로서 본원에서 설명될 수 있다.
[0022]
다양한 실시예들에 따르면, 도 1은 하나 또는 그 초과의 3D(three-dimensional) 블록들과 조합하여 하나 또는 그 초과의 2D(two-dimensional) 블록들을 구현하는 예시적인 멀티-티어 3D IC(integrated circuit) 플로어플랜(110)을 도시한다. 보다 구체적으로, 전반적인 멀티-티어 3D IC 플로어플랜(110)은, 플로어플랜(110)이 제 1 티어(112), 제 2 티어(114), 및 제 1 티어(112)와 제 2 티어(114)에 걸쳐 있는 3D 블록(130)을 포함한다는 점에서 3D이다. 또한, 도 1에 나타낸 바와 같이, 3D IC 플로어플랜(110)의 나머지 블록들(120a, 120b, 120c, 120d, 120e)은 2D에서 구현되고 그리고 제 1 티어(112) 및 제 2 티어(114) 사이에 분배된다(즉, 2D 블록들(120a, 120b)은 제 1 티어(112)에서 구현되는 한편, 2D 블록들(120c, 120d, 120e)은 제 2 티어(114)에서 구현된다). 또한, 도 1의 화살표(132)는 멀티 티어 3D IC(110)에(예컨대, 적어도 제 1 티어(112)와 제 2 티어(114) 사이에) 통신 경로들을 제공할 수 있는 하나 또는 그 초과의 비아들(예컨대, TSV(through-silicon-via)들)을 갖는 비아 네트워크를 나타낼 수 있다. 다양한 실시예들에서, 도 1에 나타낸 멀티-티어 3D IC 플로어플랜(110)은 최종 멀티-티어 3D IC 레이아웃(110)을 구축하기 위해 하나 또는 그 초과의 기존의 2D 블록들 및/또는 하나 또는 그 초과의 기존의 3D 블록들을 폴딩할 수 있는 적절한 방법에 따라 구축될 수 있다.
[0023]
예컨대, 다양한 실시예들에 따르면, 도 2는, 전반적인 멀티-티어 3D IC 레이아웃(예컨대, 도 1에 나타낸 3D IC 레이아웃(110))과 연관된 전력, 성능, 및 다른 설계 품질 목적들에 따라 최종 멀티-티어 3D IC 레이아웃으로 나중에 함께 패킹될 수 있는 하나 또는 그 초과의 기존의 2D 블록들 및/또는 3D 블록들을 폴딩할 수 있는 예시적인 방법(200)을 도시한다. 일반적으로, 도 2에 나타낸 방법(200)은 개별적인 블록들에 대하여 적용될 수 있고, 3D 플로어플래닝이 그후에 (도 2에 나타낸 방법(200)에 따라 폴딩된 임의의 개별적인 블록들을 포함하는) 다수의 블록들을 최종 멀티-티어 3D IC 설계로 패킹하기 위해 수행될 수 있다.
[0024]
다양한 실시예들에서, 본원에 더욱 상세하게 설명되는 바와 같이, 도 2에 나타낸 방법(200)은 일반적으로, 기존의 개별 2D 블록 및/또는 기존의 개별 3D 블록을, 이후에 전반적인 3D IC 설계와 연관된 전반적인 설계 품질 목적(예컨대, 개별 블록이 멀티-티어 3D 블록으로 분할되고 폴딩된 후 전체 멀티-티어 3D IC와 연관된 전력 및 성능 엔벨로프를 향상시키는지 여부)에 대해 평가될 수 있는 다수의 카운터파트들로 재-특징화하거나 또는 그렇지 않으면 재-구현할 수 있다. 예컨대, 특정 개별 블록들이 다수의 티어들에 걸쳐 폴딩될 때 더 잘 수행할 수 있기 때문에, 도 2에 나타낸 방법(200)은 일반적으로, 폴딩된 블록이 폴딩 이전에 존재했던 구성요소 블록보다 성능이 우수하다고 가정하면, 개별 블록에 대한 티어 분할을 수행하고 동일한 풋프린트 하에서 모든 티어들에 대한 배치 및 라우팅을 재-구현하여 최종 멀티-티어 3D IC 설계를 위해 개별 블록을 더 확대하고 재-구현할 수 있다.
[0025]
다양한 실시예들에서, 방법(200)은 210에서 특정 개별 블록에 대응하는 초기 넷리스트로 시작할 수 있는데, 여기서 개별 블록 초기 넷리스트는 하나 또는 그 초과의 기존의 2D 블록들 및/또는 하나 또는 그 초과의 기존의 3D 블록들(예컨대, 일반 게이트들 또는 프로세스 특정 표준 셀들로서 구현된 논리 함수에 대응하는 부울 대수 표현(Boolean algebra representation))을 포함할 수 있다. 또한, 전반적인 3D IC 레이아웃과 관련하여, 개별 블록은 0보다 크고 N보다 작은 초기 티어 카운트를 가질 수 있는데, 여기서 N은 (예컨대, 4개의 전체 티어들로) 대개 고정된 전반적인 3D IC 레이아웃에서의 티어들의 전체 수를 나타낸다. 이에 따라, 개별 블록과 연관된 초기 티어 카운트는 1 내지 N의 범위에 속할 수 있으며, 여기서 하나의 티어를 점유하는 개별 블록은 2D 블록으로 고려될 수 있고, 1개 보다 많은 티어를 점유하는 개별 티어는 3D 블록일 수 있다. 이로써, 개별 블록에 대해 폴딩을 시도하기 위해, 개별 블록과 연관된 초기 티어 카운트는 220에서 증가될 수 있다. 예컨대, 전반적인 3D IC 레이아웃이 N개의 전체 티어들을 갖고 하나 또는 그 초과의 추가적인 티어들을 부가하는 것이 매우 고가이고 추천되지 않는 경향이 있기 때문에, 개별 블록과 연관된 티어 카운트는 1 내지 N에서 변할 수 있다. 이에 따라, 220에서, 개별 블록과 연관된 증가된 티어 카운트는 1보다 크고 N+1보다 작을 수 있다(즉, 개별 블록이 다수의 티어들을 점유하지만 전반적인 3D IC보다 더 많은 티어들을 점유하지는 않도록 2와 동일하거나 또는 그보다 크고 N과 동일하거나 그보다 작다).
[0026]
다양한 실시예들에서, 초기 넷리스트와 연관된 개별 블록은 그후, 230에서 재-구현될 수 있으며, 여기서 개별 블록을 재-구현하는 것은 다수의 티어들에 걸쳐 초기 넷리스트를 분할하는 것, 동일한 풋프린트 하에서 각각의 티어에서의 배치 및 라우팅을 재-구현하는 것, 및 하나 또는 그 초과의 비아들(예컨대, 고밀도의 티어-간 비아들)을 삽입하는 것을 포함할 수 있다. 다양한 실시예들에서, 분할된 그리고 재-구현된(즉, 폴딩된) 블록과 연관된 품질은 그후, 220에서 추가되었던 추가적인 티어(들)에 걸쳐 개별 블록들을 폴딩하는 것이 전반적인 3D IC 설계 품질을 향상시켰는지 여부를 결정하기 위해 전체 3D IC와 연관된 전체 설계 품질 목적에 대해 평가될 수 있다. 예컨대, 설계 품질 목적이 전반적인 3D IC와 연관된 전체 실리콘 면적, 타이밍, 및 전력의 가중된 합계를 포함할 수 있지만, 당업자들은 다른 적합한 설계 품질 목적들이 240에서 평가될 수 있음을 이해할 것이다. 또한, 분할된(폴딩된) 블록들이 전체 3D IC 설계보다 훨씬 작은 경향이 있기 때문에, 레이아웃-후 타이밍, 전력 및 면적 값들은 정확도를 증가시키기 위해 240에서 전반적인 3D IC 설계 품질 목적을 평가하는데 사용될 수 있다.
[0027]
다양한 실시예들에서, 250에서, 폴딩된 개별 블록과 연관된 품질이 전반적인 3D IC 설계 품질 목적과 관련하여 만족스러운지 여부(즉, 추가적인 티어(들)에 걸쳐 개별 블록을 폴딩하고 재-구현하는 것이 전반적인 3D IC 설계 품질을 개선시켰는지 여부)에 관한 결정이 이루어질 수 있다. 긍정적으로, 260에서, 전반적인 3D IC 레이아웃에 대한 블록 집합체에 폴딩된 개별 블록이 추가될 수 있으며, 여기서 블록 집합체는 통상적으로, 최종 3D IC로 패킹된 다수의 2D 및/또는 3D 블록들을 포함할 것이다. 그러나, 250에서의, 폴딩된 개별 블록과 연관된 품질이 전반적인 3D IC 설계 품질 목적과 관련하여 만족스럽지 않다는 결정에 대한 응답으로, 단계들 220 및 230에서 수행되었던 폴딩은, 이 폴딩이 전반적인 3D IC 설계 품질을 향상시키지 않았기 때문에, 최종 3D IC로의 패킹을 위해 블록 집합체에 부가되지 않을 수 있다. 이에 따라, 250에서 폴딩된 개별 블록과 연관된 품질이 만족스럽지 않다고 여겨지는 경우, 블록을 폴딩하는 것에 대한 다른 접근방식들이 270에서 고려될 수 있다. 예컨대, 하나의 옵션은, 220에서 더 많은 티어들을 추가한 다음 230에서 폴딩을 재-시도하여, 더 많은 티어들을 추가하는 것이 전반적인 3D IC 설계 품질을 향상시키는 폴딩된 블록을 초래하는지 여부를 평가하는 것일 수 있다(만족스럽지 않은 폴딩된 블록이 N개의 티어들을 갖지 않는 한, 이 경우 전반적인 3D IC에서 총 티어 카운트 N을 초과하지 않고서는 추가적인 티어들이 부가될 수 없다). 대안적으로, 다른 옵션은 동일한 티어 카운트로 230에서 상이한 분할을 시도하는 것일 수 있다. 또 다른 대안에서, 개별 블록을 폴딩하는 것이 전반적인 3D IC 설계 품질을 개선시키지 않는다면 방법(200)은 중단될 수 있는데, 이 경우, 시도되었던 폴딩된 블록들보다 전반적인 3D IC 설계 품질에 대하여 초기 블록이 더 만족스러운 것으로 고려될 수 있기 때문에, 210에서 제공된 초기 블록 설계가 최종 3D IC에서 사용될 수 있다. 이에 따라, 방법(200)은 일반적으로, 개별 블록들이 추가적인 티어들에 걸쳐 폴딩될 때 전반적인 3D IC 설계 품질을 향상시키는지 여부에 따라 전반적인 3D IC 레이아웃에 대한 블록 집합체에 개별 블록들을 추가할 수 있는데, 이에 의해 결국 최종 3D IC로 패킹되는 블록 집합체는 개별 블록들을, 추가적인 티어들에 걸쳐 폴딩하는 것을 통해서든 또는 오리지널 블록들을 사용하여서든, 전반적인 3D IC 설계 품질 목적들에 따라 최적화될 수 있다.
[0028]
다양한 실시예들에 따르면, 도 3은, 풀-칩 멀티-티어 3D IC 설계와 연관된 전반적인 품질을 향상시키기 위해 하나 또는 그 초과의 3D 블록들과 하나 또는 그 초과의 2D 블록들을 조합하는 멀티-티어 3D IC 레이아웃을 플로어플래닝하기 위한 예시적인 방법(300)을 도시한다. 더욱 구체적으로, 최종 멀티-티어 3D IC 레이아웃을 구축하기 위해, (예컨대, 도 2의 블록(260)에서 전개된 블록 집합체를 포함하는) 다양한 블록들은 멀티-티어 3D 스택로 플로어플래닝될 수 있고, 여기서 각각의 플로어플래닝된 블록은 가변수의 티어들, 타이밍, 전력, 및 면적 풋프린트들을 갖는 2D 및/또는 3D 구현으로서 시작할 수 있다. 이 목적은 면적 풋프린트, 배선길이 및 딜레이의 가중화된 합계에 의해 결정될 수 있지만, 특정 설계에 따라 다른 파생 목적 함수들이 고려될 수 있다. 출력은, (i) 2D 또는 3D로 각각의 블록을 구현하기 위한 선택 및 (ii) 최종 풀-칩 멀티-티어 3D IC 설계에서 상기 목적 함수를 최소화시킬 수 있는 각각의 블록의 (x, y, z) 좌표들을 포함할 수 있다.
[0029]
다양한 실시예들에서, 도 3에 도시된 방법(300)은 자동화된 3D 플로어플래닝 엔진을 구현할 수 있는 시뮬레이팅된 어닐링 프레임워크에 대응할 수 있고, 여기서 시뮬레이팅된 어닐링은 냉각 금속의 거동에 기반하는 인공 지능 기법을 지칭한다. 그러나, 사실상, 3D 플로어플래닝은 시뮬레이팅된 어닐링을 통해 자동 플로어플래닝을 사용하는 것 대신에 수동으로 수행될 수 있는 경향이 있다. 그 맥락에서, 도 3에 나타낸 방법(300)은 어렵거나 불가능한 조합 최적화 문제들에 대한 솔루션들을 찾아내기 위해, 자동화된 방식으로 3D 플로어플래닝을 수행하기 위한 하나의 예시적인 기법을 제공할 수 있지만, 최종 3D IC 레이아웃으로 다수의 2D 및/또는 3D 블록들을 패킹하는데 사용되는 3D 플로어플래닝 기법들은 수동으로 수행될 수 있어서, 도 3에 나타낸 방법(300)이 단지 본원에 설명된 다양한 양상들 및 실시예들과 함께 사용될 수 있는 하나의 가능한 3D 플로어플래닝 옵션을 표현하는 것임을 당업자들은 이해할 것이다.
[0030]
예컨대, 다양한 실시예들에서, 도 3에 도시된 자동화된 플로어플래닝 방법(300)은 310에서 초기 솔루션을 식별하는 것을 포함할 수 있는데, 이는 글로벌 파라미터 T를 초기 값 T0으로 설정하는 것을 포함할 수 있다. 글로벌 파라미터 T가 일반적으로 온도를 지칭할 수 있지만, T는 반드시 물리적 온도와 관련되는 것은 아니다. 대신에, T는 시뮬레이팅된 어닐링-기반 3D 플로어플래닝 엔진의 발전을 제어하는데 사용되는 글로벌 파라미터를 포함할 수 있다. 다양한 실시예들에서, 초기 솔루션은 320에서 섭동될 수 있고 그후 QoS(quality of service) 파라미터가 최상의 레벨 미만인지 여부를 결정하기 위해 330에서 평가될 수 있다. 예컨대, 다양한 실시예들에서, QoS 파라미터는 상이한 애플리케이션들, 사용자들, 또는 데이터 흐름들에 상이한 우선순위 레벨들을 제공할 수 있거나, 또는 데이터 흐름에 대한 특정 레벨의 성능(예컨대, 요구되는 비트 레이트, 딜레이, 지터, 패킷 손실 확률(packet dropping probability), 비트 에러 레이트 등)을 보장할 수 있다. 다양한 실시예들에서, QoS 파라미터가 그와 관련된 최상의 레벨 미만이 아니라는 330에서의 결정에 대한 응답으로, 솔루션은 T에 비례하는 확률로 340에서 수락될 수 있고, 그후 방법(300)은 360으로 진행할 수 있다. 그렇지 않으면, QoS 파라미터가 최상의 레벨 미만이라는 330에서의 결정에 대한 응답으로, 솔루션은 360으로 진행하기 전에 350에서 수락될 수 있다. 어느 경우에서든, 이동들의 횟수가 주어진 T에 대한 최대 이동들을 초과하는지 여부에 관한 결정이 360에서 이루어질 수 있으며, 여기서 주어진 T에 대한 최대 이동들은 Mmax로 설정될 수 있다. 이동들의 횟수가 Mmax를 초과하지 않는다는 360에서의 결정에 대한 응답으로, 방법(300)은 솔루션이 추가로 섭동될 수 있는 320으로 복귀할 수 있다. 그렇지 않으면, 이동들의 횟수가 Mmax를 초과한다는 360에서의 결정에 대한 응답으로, 370에서 글로벌 파라미터 T는 저하될 수 있고, T의 저하된 값이 Tmin (예컨대, 정지하는 “온도”) 보다 작은지 여부를 결정하기 위한 평가가 380에서 수행될 수 있다. 긍정적으로, T의 저하된 값이 Tmin보다 작은 경우, 방법(300)은 중지될 수 있다. 그렇지 않으면, T의 저하된 값이 Tmin보다 작지 않는다는 380에서의 결정에 대한 응답으로, 방법(300)은 솔루션이 추가로 섭동될 수 있는 320으로 복귀할 수 있다.
[0031]
다양한 실시예들에 따르면, 도 4는, 하나 또는 그 초과의 3D 블록들과 하나 또는 그 초과의 2D 블록들을 조합하는 멀티-티어 3D IC에서 핀 할당들을 수행하기 위한 예시적인 방법(400)을 도시한다. 더욱 구체적으로, 개별 블록과 연관된 넷리스트는 개별 블록이 하드 매크로인지 여부를 결정하기 위해 410에서 평가될 수 있다. 예컨대, 하드 매크로에서, 논리 컴포넌트들 및 이 컴포넌트들 사이의 물리적 경로들 및 배선 패턴들이 특정된다. 이에 따라, 개별 블록이 하드 매크로라는 410에서의 결정에 대한 응답으로, 핀 할당뿐만 아니라 블록 설계가 미리 이루어졌는데, 이 경우 방법(400)은 그 개별 블록에 대해 적절하게 중지될 수 있다. 반면에, 개별 블록이 하드 매크로가 아니라는 410에서의 결정에 대한 응답으로, 개별 블록은 소프트 매크로로서 고려될 수 있는데, 이는 요구되는 논리 컴포넌트들의 인터커넥션들은 특정되었을 수도 있지만 물리적 배선 패턴은 특정되지 않았음을 의미한다. 그러한 이유로, 개별 블록이 소프트 매크로라는(즉, 하드 매크로가 아니라는) 410에서의 결정에 대한 응답으로, 핀들은 420에서 개별 블록의 각각의 티어에 할당될 수 있다. 플로어플랜 솔루션과 블록-간 연결성을 알면, 멀티-티어 3D IC 레이아웃에서의 핀 로케이션들은 이제 고정될 수 있다. 이에 따라, 420에서 결정된 핀 할당들 및 다수의 티어들에 걸쳐 블록을 분할하는 솔루션을 사용하여, 3D 블록이 430에서 구현될 수 있으며, 여기서 분할 솔루션은 2D 방법들, 3D 방법들, 및/또는 이들의 조합들을 사용하여 이루어질 수 있다.
[0032]
일반적으로, 앞서 더 상세히 설명된 블록 폴딩 방법들은 일반적으로 “모놀리식(monolithic)”으로서 알려진 3D 구현 기술들에서의 애플리케이션들을 가질 수 있다. 모놀리식 3D 집적 회로들에서, 전자 컴포넌트들 및 그들의 연결들(예컨대, 배선)은 단일 반도체 웨이퍼 상의 층들에 순차적으로 구축되며, 이는 이후 3D IC들로 다이싱된다. 초기에, 각각의 후속 층은 어떠한 디바이스들도 갖지 않으며, 이는 정렬에 대한 필요성을 제거하거나 또는 실질적으로 감소시킬 수 있으며, 이에 의해 더 큰 집적 밀도를 초래한다. 또한, 고밀도 비아들의 네트워크는 모놀리식 3D IC들에서 티어들 내에 그리고 티어들 사이에 통신 경로들을 제공할 수 있다. 더군다나, 위에 설명된 블록 폴딩 방법들은 모놀리식 3D 집적 기술을 사용하여 구축된 설계들에 사용될 수 있는 신규한 3D IP(intellectual property) 블록들(또는 3D IP 코어들)을 구성하는데 사용될 수 있다. 이에 따라, 신규한 3D IP 블록들은, 사전-설계된 3D IP 블록을 포함하는 더 큰 설계에 사용될 수 있는 재사용가능한 로직, 셀 또는 칩 레이아웃 유닛들로서 활용될 수 있다. 이하의 설명에서, 앞서 설명된 블록 폴딩 방법들은 기존의 2D IP 블록으로부터 생성된 폴딩된 3D IP 블록에 I/O(input/output) 핀들을 배치하는 방법에 대한 예시적인 기법들을 제공하기 위해 확장된다.
[0033]
다양한 실시예들에 따르면, 도 5는 다수의 티어들을 갖는 폴딩된 3D IP 블록에서 핀 할당들을 복제하기 위한 예시적인 방법(500)을 도시한다. 더욱 구체적으로, 510에서 기존의 2D IP 블록이 3D IP 블록으로 폴딩될 수 있고, 여기서 기존의 2D IP 블록을 폴딩하는 것은 (예컨대, 도 1 및 도 2에 나타낸 방법들(100, 200)에 따라) 2D IP 블록을 다수의 티어들로 분할하는 것 및 동일한 풋프린트 하에서 각각의 티어에 대한 배치 및 라우팅을 재-구현하는 것을 포함할 수 있다. 다양한 실시예들에서, 520에서, 하나 또는 그 초과의 핀 로케이션들이 폴딩된 3D IP 블록의 특정 티어에 할당될 수 있고, 여기서 핀 로케이션들은, 전체 배선길이 및 풀-칩 풋프린트 면적을 최소화하기 위해, 폴딩된 3D IP 블록의 다수의 티어들 사이에서 공유되는 공간에 따라 결정된다. 또한, 520에서, 하나 또는 그 초과의 핀들은 각각의 티어(예컨대, 1개, 몇몇 또는 모든 핀들)에서 선택되고 복제될 수 있으며, 이에 의해 복제된 핀들을 1개보다 많은 티어에서 이용가능하게 되며, 복제된 핀들은 폴딩된 3D IP 블록 내부에 위치된 하나 또는 그 초과의 블록-내 TSV(through-silicon-via)들을 사용하거나 또는 폴딩된 3D IP 블록 내부의 임의의 다른 적합한 수직 비아 스택을 사용하여 수직으로 연결될 수 있다. 이에 따라, 530에서, 최종 풀-칩 설계의 하나 또는 그 초과의 다른 2D 및/또는 3D 블록들은 그와 연관된 티어 로케이션에 따라 각 복제된 핀에 연결될 수 있으며, 이는 블록-간 TSV들을 절약할 수 있고 더 엄격한(tighter) 풀-칩 블록-레벨 플로어플래닝을 허용할 수 있다. 다양한 실시예들에서, 540에서, 3D 플로어플래닝은 풀-칩 설계와 연관된 최종 멀티-티어 3D 레이아웃을 생성하도록 수행될 수 있고, 여기서 3D 플로어플래닝은 일반적으로 폴딩된 3D IP 블록 및 임의의 2D IP 블록들을 패킹하는 것을 포함할 수 있다.
[0034]
다양한 실시예들에 따르면, 도 6은 기존의 2D IP 블록을 폴딩하는 것으로부터 생성될 수 있는 복제된 핀들을 갖는 예시적인 멀티-티어 3D IP 블록을 도시하는데, 이는 도 5에 나타내고 앞서 설명된 방법(500)을 사용하여 생성될 수 있다. 보다 구체적으로, 다양한 실시예들에서, 기존의 2D IP 블록(600)은 라인(605)을 중심으로 상부 티어(600_top) 및 하부 티어(600_bot)를 갖는 3D IP 블록으로 분할될 수 있으며, 여기서 상부 티어(600_top) 및 하부 티어(600_bot)는 각각 동일한 풋프린트 하에서 기존의 2D IP 블록(600)과 연관된 배치 및 라우팅을 재-구현할 수 있다. 또한, 기존의 2D IP 블록은 각각의 로케이션들(640_top 및 640_bot)에서 3D IP 블록의 상부 티어(600_top) 및 하부 티어(600_bot)에서 복제될 수 있는 I/O 핀을 로케이션(640)에 가질 수 있다. 이에 따라, 복제된 I/O 핀은 로케이션(640_top)에서 그리고 로케이션(640_bot)에서 이용가능할 수 있고, 이에 의해 복제된 I/O 핀이 상부 티어(600_top) 및 하부 티어(600_bot)에서 이용가능해질 수 있다. 폴딩된 3D IP 블록에서, 로케이션들(640_top 및 640_bot)에서의 복제된 I/O 핀들은 폴딩된 3D IP 블록 내부의 블록-내 TSV(650)를 사용하여 수직으로 연결될 수 있다. 이에 따라, 최종 풀-칩 설계에서 다른 2D 및/또는 3D 블록들은 그와 연관된 티어 로케이션에 따라 로케이션(640_top) 또는 로케이션(640_bot)의 복제된 핀에 연결할 수 있다. 예컨대, 풀-칩 레이아웃에서의 상부 티어(600_top) 또는 더 상위 티어의 2D 및/또는 3D 블록은 로케이션(640_top)의 I/O 핀에 연결될 수 있는 반면, 풀-칩 레이아웃에서의 하부 티어(600_bot) 또는 더 하위 티어의 2D 및/또는 3D 블록은 로케이션(640_bot)에 있는 I/O 핀에 연결될 수 있다. 이로써, 로케이션들(640_top 및 640_bot)에 I/O 핀을 복제하는 것은 폴딩된 3D IP 블록의 1개 초과의 티어에서 I/O 핀을 이용가능하게 하여, 다른 블록들(2D 및 3D)이 I/O 핀에 쉽게 연결될 수 있게 하고, 그리고 블록-내 TSV(650)를 사용하여 복제된 핀을 수직으로 연결하는 것은 블록-간 TSV들을 절약하여 더 엄격한 풀-칩 블록-레벨 플로어플랜을 허용할 수 있다.
[0035]
다양한 실시예들에 따르면, 도 7a-7c는, 도 6에 나타낸 설계를 갖는 멀티-티어 3D IP 블록을 생성하기 위해, 도 5에 나타낸 방법(500)을 사용하여 생성될 수 있는, 복제된 핀들을 갖는 예시적인 3D LSU(load store unit)를 도시한다. 더욱 구체적으로, 도 7a는 프로세서 코어(예컨대, “서버 온 칩(server on a chip)” 아키텍처를 제공하기 위해 단일 칩 상에 핵심 서버 기능들을 통합하고 8개의 코어들을 갖는 OpenSPARC T2 마이크로프로세서에서의 코어) 내의 예시적인 2D LSU(700)를 도시한다. 그러나, 당업자들은, LSU 및 OpenSPARC T2 아키텍쳐들이 오직 예시적인 목적들을 위해 본원에 사용되고, 본원에 설명된 설계 원리들이 폴딩가능한 2D IP 블록들을 갖는 임의의 적합한 집적 회로에 적용될 수 있음을 이해할 것이다.
[0036]
도 7a에 나타낸 바와 같이, 2D LSU(700)는 2D LSU(700) 내 다양한 로케이션들에 배치되고 적절한 배선 라우팅을 통해 인터커넥팅되는 다양한 액티브 엘리먼트들(710, 720, 730)을 포함한다. 이에 따라, 다양한 실시예들에서, 2D LSU(700)는 적어도 상부 티어(700_top) 및 하부 티어(700_bot)를 포함하는 다수의 티어들을 갖는 3D LSU로 분할될 수 있고, 여기서 상부 티어(700_top)는 더 작은 면적의 풋프린트 하에서 다양한 액티브 엘리먼트들(710, 720, 730)과 연관된 배치를 재-구현할 수 있고, 2D LSU(700)와 연관된 재-구현된 라우팅은 상부 티어(700_top) 및 하부 티어(700_bot)에 걸쳐 분배될 수 있다. 이로써, 2D LSU(700)를 멀티-티어 3D LSU로 폴딩하는 것은, 면적 풋프린트(약 50% 더 작음), 배선 길이(약 12% 미만), 버퍼들(약 10% 더 적음), 및 전력 소모(약 7.5% 미만)에 대해 상당한 절감들을 달성할 수 있다. 또한, 도 7a에 나타낸 바와 같이, 3D LSU는 상부 티어(700_top) 및 하부 티어(700_bot)에서 이용가능한 특정 공유 공간을 가질 수 있고, 여기서 공유 공간은 TSV 랜딩 패드들을 배치하기 위한 적합한 로케이션들에 대응할 수 있다.
[0037]
다양한 실시예들에서, 도 7b에 나타낸 바와 같이, 다음으로 하나 또는 그 초과의 I/O 핀 배치들이 결정되어 상부 티어(700_top)의 다양한 액티브 엘리먼트들(710, 720, 730)에 통신 경로들을 제공할 수 있다. 특히, 상부 티어(700_top)는 일반적으로 회로 컴포넌트들이 점유할 수 있는 다양한 사이트들을 각각 갖는 다양한 로우들을 포함할 수 있다. 이에 따라, I/O 핀 배치들은 자유 또는 그렇지 않으면 점유되지 않은 사이트들을 갖는 로우들 사이에서 선택될 수 있는데, 여기서 I/O 핀은 다양한 액티브 엘리먼트들(710, 720, 730)에 통신 경로들을 제공하도록 배치될 수 있다. 예컨대, 제 1 I/O 핀 및 제 2 I/O 핀은 액티브 엘리먼트들(710)에 대한 통신 경로들을 제공하기 위해 로우들(742_top 및 744_top)의 각각의 자유 사이트들에 배치될 수 있고, 제 3 I/O 핀은 액티브 엘리먼트들(730)에 대한 통신 경로들을 제공하기 위해 로우(746_top)의 자유 사이트에 배치될 수 있으며, 제 4 I/O 핀은 액티브 엘리먼트들(720)에 대한 통신 경로들을 제공하기 위해 로우(748_top)의 자유 사이트에 배치될 수 있다. 하부 티어(700_bot)에서, 상부 티어(700_top)의 I/O 핀들은 로우들(742_bot, 744_bot, 746_bot, 및 748_bot) 각각에서 복제될 수 있지만, 당업자들은 하나의, 몇몇의, 또는 모든 I/O 핀들이 복제를 위해 (예컨대, 전체 배선길이 및 풀-칩 풋프린트 면적을 최소화하고자 하는 설계 목표에 따라) 선택될 수 있음을 이해할 것이다. 임의의 경우, 복제된 I/O 핀들은, 다른 2D 및/또는 3D 블록들이 복제된 I/O 핀 중 하나를 통해 3D LSU에 연결할 수 있도록, 블록-내 TSV들(즉, 폴딩된 3D LSU 블록 내부에 배치된 TSV들)을 사용하여 수직으로 연결된다.
[0038]
이에 따라, 도 7c는, 폴딩된 3D LSU 및 하나 또는 그 초과의 다른 블록들을 최종 풀-칩 레이아웃으로 패킹하기 위해 3D 플로어플래닝이 일단 수행되면, 도 7a 및 도 7b로부터 폴딩된 3D LSU를 구현하는 동일한 프로세서 코어와 비교하여, 도 7a로부터 2D LSU(700)를 구현하는 프로세서 코어를 도시한다. 본원에 나타낸 바와 같이, 폴딩된 3D LSU는, 상부 티어(700_top) 또는 하부 티어(700_bot)에서의 블록들이 앞서 더 상세히 설명된 I/O 핀 복제 및 블록-내 TSV 설계 원리들을 통해 3D LSU에 연결되도록 쉽게 허용하고 그리고 2D LSU(700)과 동일한 기능을 제공하면서, 면적 풋프린트, 배선길이, 전력 소모, 및 앞서 언급된 다른 최적화사항들을 실현할 수 있다.
[0039]
당업자들은, 정보 및 신호들이 다양한 상이한 기법들 및 기술들 중 임의의 기법 및 기술을 사용하여 표현될 수 있음을 인식할 것이다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학 필드들 또는 광학 입자들, 또는 이들의 임의의 결합에 의해 표현될 수도 있다.
[0040]
또한, 당업자들은, 본 명세서에 기재된 양상들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 결합들로서 구현될 수도 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그들의 기능 관점들에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션, 및 전체 시스템에 부여된 설계 제약들에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수도 있지만, 그러한 구현 결정들이 본 개시내용의 범위를 벗어나게 하는 것으로서 해석되지는 않아야 한다.
[0041]
본 명세서에 기재된 양상들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에 설명된 기능들을 수행하도록 설계된 이들의 임의의 결합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 결합(예를 들어 DSP와 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 그 초과의 마이크로프로세서들, 또는 임의의 다른 그러한 구성)으로서 구현될 수도 있다.
[0042]
본 명세서에 개시된 양상들과 관련하여 설명된 방법들, 시퀀스들, 및/또는 알고리즘들은 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 결합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM, 플래시 메모리, ROM, EPROM, EEPROM, 레지스터들, 하드디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기입할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수 있다. ASIC는 IoT 디바이스에 상주할 수 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말에서 개별 컴포넌트들로서 상주할 수도 있다.
[0043]
하나 또는 그 초과의 예시적인 양상들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 결합으로 구현될 수도 있다. 소프트웨어로 구현되면, 기능들은 컴퓨터 판독가능 매체 상에 하나 또는 그 초과의 명령들 또는 코드로서 저장되거나 이들을 통해 송신될 수도 있다. 컴퓨터 판독가능 매체들은, 일 장소에서 다른 장소로의 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체들을 포함한 통신 매체들 및 컴퓨터 저장 매체들 둘 모두를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 제한이 아닌 예로서, 그러한 컴퓨터-판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 반송(carry) 또는 저장하는데 사용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속수단(connection)이 컴퓨터-판독가능 매체로 적절히 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선(twisted pair), DSL, 또는 (적외선, 라디오, 및 마이크로파와 같은) 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 (적외선, 라디오, 및 마이크로파와 같은) 무선 기술들이 매체의 정의에 포함된다. 본 명세서에서 사용된 바와 같이, 디스크(disk) 및 디스크(disc)는 CD, 레이저 디스크(disc), 광학 디스크(disc), DVD, 플로피 디스크(disk) 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 일반적으로 데이터를 자기적으로 그리고/또는 레이저들을 이용하여 광학적으로 재생한다. 상기한 것들의 결합들이 또한 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
[0044]
전술한 개시내용이 본 개시내용의 예시적인 양상들을 도시하지만, 다양한 변화들 및 변형들이 첨부된 청구항들에 의해 정의된 바와 같은 본 개시내용의 범위에서 벗어나지 않으면서 본 명세서에서 행해질 수 있음에 유의해야 한다. 본 명세서에 설명된 본 개시내용의 양상들에 따른 방법 청구항들의 기능들, 단계들 및/또는 액션들이 임의의 특정 순서로 수행될 필요는 없다. 또한, 본 개시내용의 엘리먼트들이 단수로 설명 또는 청구될 수도 있지만, 단수로의 제한이 명시적으로 나타나지 않으면, 복수가 고려된다.
Claims (21)
- 집적 회로(integrated circuit)를 설계하기 위한 방법으로서,
하나 또는 그 초과의 회로 컴포넌트들을 갖는 2D(two-dimensional) 블록을 다수의 티어들(tiers)을 갖는 3D(three-dimensional) 블록으로 폴딩(folding)하는 단계 ― 폴딩된 2D 블록의 상기 하나 또는 그 초과의 회로 컴포넌트들은 상기 3D 블록의 상기 다수의 티어들 사이에 분포됨 ―;
상기 3D 블록의 상기 다수의 티어들에 걸쳐 하나 또는 그 초과의 I/O(input/output) 핀 로케이션들을 복제하는 단계; 및
상기 3D 블록 내부에 배치된 하나 또는 그 초과의 블록-내 TSV(through-silicon-via)들을 사용하여 상기 하나 또는 그 초과의 복제된 I/O 핀 로케이션들을 연결시키는 단계를 포함하는,
집적 회로를 설계하기 위한 방법. - 제 1 항에 있어서,
상기 집적 회로의 하나 또는 그 초과의 다른 블록들과 연관된 티어 로케이션들에 따라 상기 복제된 I/O 핀 로케이션들 중 하나에 상기 하나 또는 그 초과의 다른 블록들을 연결시키는 단계를 더 포함하는,
집적 회로를 설계하기 위한 방법. - 제 2 항에 있어서,
상기 3D 블록 및 상기 하나 또는 그 초과의 다른 블록들을 상기 집적 회로와 연관된 풀-칩 설계로 패킹하기 위해 3D 플로어플래닝(floorplanning)을 수행하는 단계를 더 포함하는,
집적 회로를 설계하기 위한 방법. - 제 3 항에 있어서,
상기 풀-칩 설계에서 전체 배선 길이 및 풋프린트 면적을 최소화하기 위해 상기 3D 블록의 상기 다수의 티어들에 걸쳐 복제하기 위한 하나 또는 그 초과의 I/O 핀 로케이션들을 선택하는 단계를 더 포함하는,
집적 회로를 설계하기 위한 방법. - 제 1 항에 있어서,
상기 하나 또는 그 초과의 블록-내 TSV들은 상기 하나 또는 그 초과의 복제된 I/O 핀 로케이션들 사이에 수직 연결을 제공하는,
집적 회로를 설계하기 위한 방법. - 제 1 항에 있어서,
상기 2D 블록 및 상기 3D 블록은 IP(intellectual property) 블록들을 포함하는,
집적 회로를 설계하기 위한 방법. - 제 1 항에 있어서,
상기 2D 블록을 상기 3D 블록으로 폴딩하는 단계는:
상기 2D 블록을 상기 다수의 티어들로 분할하는 단계; 및
상기 3D 블록의 상기 다수의 티어들 사이에 상기 폴딩된 2D 블록의 상기 하나 또는 그 초과의 회로 컴포넌트들을 분포시키기 위해 그리고 상기 3D 블록의 상기 다수의 티어들 사이에 분포된 상기 하나 또는 그 초과의 회로 컴포넌트들을 인터커넥팅하기 위해 상기 2D 블록의 상기 하나 또는 그 초과의 회로 컴포넌트들과 연관된 배치 및 라우팅을 재-구현하는 단계를 더 포함하는,
집적 회로를 설계하기 위한 방법. - 제 7 항에 있어서,
재-구현된 배치 및 재-구현된 라우팅에 따라 상기 3D 블록의 상기 다수의 티어들에 걸쳐 이용가능한 공유 공간을 결정하는 단계; 및
상기 3D 블록의 상기 다수의 티어들에 걸쳐 이용가능한 상기 공유 공간에 따라 상기 하나 또는 그 초과의 복제된 I/O 핀 로케이션들을 배치하는 단계를 더 포함하는,
집적 회로를 설계하기 위한 방법. - 3D(three-dimensional) 지적 재산 블록으로서,
다수의 티어들;
상기 다수의 티어들에 걸쳐 분포된 하나 또는 그 초과의 회로 컴포넌트들; 및
상기 다수의 티어들에 걸쳐 복제된 하나 또는 그 초과의 I/O(input/output) 핀 로케이션들을 포함하는,
3D 지적 재산 블록. - 제 9 항에 있어서,
상기 3D 지적 재산 블록 내부에 배치된 하나 또는 그 초과의 실리콘-관통-비아(through-silicon-via)들을 더 포함하고,
상기 하나 또는 그 초과의 실리콘-관통-비아들은 상기 다수의 티어들에 걸쳐 복제된 상기 하나 또는 그 초과의 I/O 핀 로케이션들을 연결하는,
3D 지적 재산 블록. - 제 10 항에 있어서,
상기 하나 또는 그 초과의 실리콘-관통-비아들은 상기 하나 또는 그 초과의 복제된 I/O 핀 로케이션들 사이에 수직 연결을 제공하는,
3D 지적 재산 블록. - 제 9 항에 있어서,
상기 다수의 티어들에 걸쳐 복제된 상기 하나 또는 그 초과의 I/O 핀 로케이션들은, 상기 3D 지적 재산 블록을 포함하는 3D 집적 회로에서 전체 배선길이 및 풋프린트 면적을 최소화하도록 선택되는,
3D 지적 재산 블록. - 제 9 항에 있어서,
상기 3D 지적 재산 블록은, 상기 다수의 티어들로 폴딩되었고 그리고 상기 3D 지적 재산 블록의 상기 다수의 티어들 사이에 상기 하나 또는 그 초과의 회로 컴포넌트들을 분포하고 인터커넥팅하도록 재-구현되었던 2D(two-dimensional) 지적 재산 블록을 포함하는,
3D 지적 재산 블록. - 제 9 항에 있어서,
상기 하나 또는 그 초과의 복제된 I/O 핀 로케이션들은 상기 다수의 티어들에 걸쳐 이용가능한 공유 공간에 따라 상기 3D 지적 재산 블록에 배치되는,
3D 지적 재산 블록. - 3D(three-dimensional) 집적 회로로서,
다수의 티어들에 걸쳐 분포된 하나 또는 그 초과의 회로 컴포넌트들 및 상기 다수의 티어들에 걸쳐 복제된 하나 또는 그 초과의 I/O(input/output) 핀 로케이션들을 갖는 적어도 하나의 3D 블록; 및
상기 다수의 티어들 중 하나에 로케이팅된 적어도 하나의 추가적인 블록을 포함하고,
상기 적어도 하나의 추가적인 블록은, 상기 적어도 하나의 추가적인 블록이 로케이팅되는 상기 다수의 티어들 중 상기 하나에 따라 상기 적어도 하나의 3D 블록의 복제된 I/O 핀 로케이션들 중 하나에 연결되는,
3D 집적 회로. - 제 15 항에 있어서,
상기 적어도 하나의 3D 블록은, 상기 적어도 하나의 3D 블록의 상기 다수의 티어들에 걸쳐 복제된 상기 하나 또는 그 초과의 I/O 핀 로케이션들을 연결하는 하나 또는 그 초과의 블록-내 실리콘-관통-비아들을 더 포함하는,
3D 집적 회로. - 제 15 항에 있어서,
상기 적어도 하나의 3D 블록의 상기 다수의 티어들에 걸쳐 복제된 상기 하나 또는 그 초과의 I/O 핀 로케이션들은, 상기 3D 집적 회로와 연관된 전체 배선길이 및 풋프린트 면적을 최소화하도록 선택되는,
3D 집적 회로. - 제 15 항에 있어서,
상기 적어도 하나의 3D 블록은, 상기 다수의 티어들로 폴딩되었고 그리고 상기 다수의 티어들 사이에 상기 하나 또는 그 초과의 회로 컴포넌트들을 분포하고 인터커넥팅하도록 재-구현되었던 2D(two-dimensional) 블록을 포함하는,
3D 집적 회로. - 제 15 항에 있어서,
상기 하나 또는 그 초과의 복제된 I/O 핀 로케이션들은 상기 다수의 티어들에 걸쳐 이용가능한 공유 공간에 따라 상기 적어도 하나의 3D 블록에 배치되는,
3D 집적 회로. - 제 15 항에 있어서,
상기 3D 블록 또는 상기 적어도 하나의 추가적인 블록 중 적어도 하나는 IP(intellectual property) 블록을 포함하는,
3D 집적 회로. - 제 15 항에 있어서,
상기 적어도 하나의 추가적인 블록은 2D(two-dimensional) 블록 또는 제 2의 3D 블록 중 하나 또는 그 초과를 포함하는,
3D 집적 회로.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/617,896 | 2015-02-09 | ||
US14/617,896 US9483598B2 (en) | 2015-02-09 | 2015-02-09 | Intellectual property block design with folded blocks and duplicated pins for 3D integrated circuits |
PCT/US2016/014032 WO2016130289A1 (en) | 2015-02-09 | 2016-01-20 | Intellectual property block design with folded blocks and duplicated pins for 3d integrated circuits |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170113566A true KR20170113566A (ko) | 2017-10-12 |
KR102527749B1 KR102527749B1 (ko) | 2023-04-28 |
Family
ID=55310932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177021965A KR102527749B1 (ko) | 2015-02-09 | 2016-01-20 | 3d 집적 회로용 폴딩 블록들 및 복제 핀들을 갖는 지적 재산 블록 설계 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9483598B2 (ko) |
EP (1) | EP3256969A1 (ko) |
JP (1) | JP2018511928A (ko) |
KR (1) | KR102527749B1 (ko) |
CN (1) | CN107209793B (ko) |
BR (1) | BR112017016956A2 (ko) |
SG (1) | SG11201705146YA (ko) |
WO (1) | WO2016130289A1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678985B2 (en) * | 2016-08-31 | 2020-06-09 | Arm Limited | Method for generating three-dimensional integrated circuit design |
KR102393946B1 (ko) * | 2016-10-07 | 2022-05-03 | 엑셀시스 코포레이션 | 직접-접합된 네이티브 상호접속부 및 능동 베이스 다이 |
KR20200112851A (ko) | 2017-12-22 | 2020-10-05 | 보드 오브 리전츠, 더 유니버시티 오브 텍사스 시스템 | 나노스케일 정렬된 삼차원 적층 집적 회로 |
US10599806B2 (en) * | 2018-03-28 | 2020-03-24 | Arm Limited | Multi-tier co-placement for integrated circuitry |
US10810341B1 (en) * | 2019-06-17 | 2020-10-20 | Xilinx, Inc. | Method and system for making pin-to-pin signal connections |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239809B2 (en) * | 2008-09-25 | 2012-08-07 | Kabushiki Kaisha Toshiba | 3-dimensional integrated circuit designing method |
US20120304138A1 (en) * | 2011-05-23 | 2012-11-29 | International Business Machines Corporation | Circuit design checking for three dimensional chip technology |
US20120304142A1 (en) * | 2010-12-09 | 2012-11-29 | Panasonic Corporation | Design support device of three-dimensional integrated circuit and method thereof |
US8381156B1 (en) * | 2011-08-25 | 2013-02-19 | International Business Machines Corporation | 3D inter-stratum connectivity robustness |
US20140149958A1 (en) * | 2012-11-28 | 2014-05-29 | Qualcomm Incorporated | 3d floorplanning using 2d and 3d blocks |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0616530B2 (ja) * | 1985-02-28 | 1994-03-02 | 株式会社東芝 | 半導体集積回路 |
JPS62169355A (ja) * | 1986-01-21 | 1987-07-25 | Sharp Corp | 半導体集積回路素子 |
JPS62281347A (ja) * | 1986-05-29 | 1987-12-07 | Toshiba Corp | 半導体装置およびその製造方法 |
JP3174523B2 (ja) * | 1996-02-21 | 2001-06-11 | 松下電器産業株式会社 | レイアウト入力装置および方法、ならびにレイアウト検証装置および方法 |
JP3564539B2 (ja) * | 2001-07-31 | 2004-09-15 | 独立行政法人産業技術総合研究所 | 超伝導論理集積回路のパタンレイアウト方法 |
JP4534132B2 (ja) * | 2004-06-29 | 2010-09-01 | エルピーダメモリ株式会社 | 積層型半導体メモリ装置 |
US7827519B2 (en) | 2006-12-29 | 2010-11-02 | Cadence Design Systems, Inc. | Method, system, and computer program product for preparing multiple layers of semiconductor substrates for electronic designs |
JP4398989B2 (ja) * | 2007-03-26 | 2010-01-13 | 株式会社東芝 | 三次元集積回路設計方法及び三次元集積回路設計装置 |
JP5024530B2 (ja) * | 2007-05-08 | 2012-09-12 | 大学共同利用機関法人情報・システム研究機構 | 三次元集積電気回路の配線構造及びそのレイアウト方法 |
EP2395602A1 (en) * | 2010-06-08 | 2011-12-14 | Research In Motion Limited | Low frequency dual-antenna diversity system |
TW201225249A (en) * | 2010-12-08 | 2012-06-16 | Ind Tech Res Inst | Stacked structure and stacked method for three-dimensional integrated circuit |
US8448121B2 (en) * | 2011-08-11 | 2013-05-21 | International Business Machines Corporation | Implementing Z directional macro port assignment |
US8984463B2 (en) * | 2012-11-28 | 2015-03-17 | Qualcomm Incorporated | Data transfer across power domains |
CN103327741B (zh) * | 2013-07-04 | 2016-03-02 | 江俊逢 | 一种基于3d打印的封装基板及其制造方法 |
US8972916B1 (en) * | 2013-12-05 | 2015-03-03 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method and system for checking the inter-chip connectivity of a three-dimensional integrated circuit |
-
2015
- 2015-02-09 US US14/617,896 patent/US9483598B2/en active Active
-
2016
- 2016-01-20 WO PCT/US2016/014032 patent/WO2016130289A1/en active Application Filing
- 2016-01-20 JP JP2017540585A patent/JP2018511928A/ja active Pending
- 2016-01-20 KR KR1020177021965A patent/KR102527749B1/ko active IP Right Grant
- 2016-01-20 SG SG11201705146YA patent/SG11201705146YA/en unknown
- 2016-01-20 BR BR112017016956A patent/BR112017016956A2/pt not_active Application Discontinuation
- 2016-01-20 CN CN201680007224.2A patent/CN107209793B/zh active Active
- 2016-01-20 EP EP16703403.2A patent/EP3256969A1/en not_active Ceased
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239809B2 (en) * | 2008-09-25 | 2012-08-07 | Kabushiki Kaisha Toshiba | 3-dimensional integrated circuit designing method |
US20120304142A1 (en) * | 2010-12-09 | 2012-11-29 | Panasonic Corporation | Design support device of three-dimensional integrated circuit and method thereof |
US20120304138A1 (en) * | 2011-05-23 | 2012-11-29 | International Business Machines Corporation | Circuit design checking for three dimensional chip technology |
US8381156B1 (en) * | 2011-08-25 | 2013-02-19 | International Business Machines Corporation | 3D inter-stratum connectivity robustness |
US20140149958A1 (en) * | 2012-11-28 | 2014-05-29 | Qualcomm Incorporated | 3d floorplanning using 2d and 3d blocks |
Also Published As
Publication number | Publication date |
---|---|
US9483598B2 (en) | 2016-11-01 |
CN107209793A (zh) | 2017-09-26 |
CN107209793B (zh) | 2022-02-22 |
EP3256969A1 (en) | 2017-12-20 |
KR102527749B1 (ko) | 2023-04-28 |
JP2018511928A (ja) | 2018-04-26 |
US20160232271A1 (en) | 2016-08-11 |
WO2016130289A1 (en) | 2016-08-18 |
BR112017016956A2 (pt) | 2018-04-03 |
SG11201705146YA (en) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9064077B2 (en) | 3D floorplanning using 2D and 3D blocks | |
KR102423040B1 (ko) | 3차원 집적회로 디자인을 생성하는 방법 | |
KR102527749B1 (ko) | 3d 집적 회로용 폴딩 블록들 및 복제 핀들을 갖는 지적 재산 블록 설계 | |
US8984470B2 (en) | Method and apparatus for performing redundant via insertion during circuit design | |
KR20190024723A (ko) | 집적회로 설계 및/또는 제조 | |
US20150357306A1 (en) | Die-stacked device with partitioned multi-hop network | |
US20160233134A1 (en) | Clock tree synthesis for low cost pre-bond testing of 3d integrated circuits | |
EP3040888A2 (en) | Integrated circuit layout wiring for multi-core chips | |
JP2009140495A (ja) | 確率的相互接続構造設計のためのシステムおよび方法 | |
US20090292828A1 (en) | System-On-Chip (SOC), Design Structure and Method | |
JP2006156929A (ja) | 半導体集積回路及びその設計方法 | |
US10424518B2 (en) | Integrated circuit designing system and a method of manufacturing an integrated circuit | |
US9940422B2 (en) | Methods for reducing congestion region in layout area of IC | |
TWI803481B (zh) | 產生積體電路的電路模塊的佈局的方法,及其電腦程式產品、非暫時性儲存媒體,及積體電路 | |
KR20170094744A (ko) | 집적 회로 및 상기 집적 회로의 제조를 위한 컴퓨터 구현 방법 | |
US7904873B2 (en) | System-on-chip (SOC), design structure and method | |
US8732647B1 (en) | Method for creating physical connections in 3D integrated circuits | |
Milojevic et al. | Pathfinding: A design methodology for fast exploration and optimisation of 3D-stacked integrated circuits | |
Chen et al. | Reshaping System Design in 3D Integration: Perspectives and Challenges | |
US10691861B2 (en) | Integrated circuit design | |
Borga | Physical Design Factors That Contribute to Routing Congestion in Monolithic 3D Integrated Circuits | |
Khalil | Optimization of 3-D VLSI Cell Placement for Reduction in TSVs and Area |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |