KR101996825B1 - 3d 반도체 패키지 디자인 방법 및 컴퓨팅 시스템 - Google Patents
3d 반도체 패키지 디자인 방법 및 컴퓨팅 시스템 Download PDFInfo
- Publication number
- KR101996825B1 KR101996825B1 KR1020130005996A KR20130005996A KR101996825B1 KR 101996825 B1 KR101996825 B1 KR 101996825B1 KR 1020130005996 A KR1020130005996 A KR 1020130005996A KR 20130005996 A KR20130005996 A KR 20130005996A KR 101996825 B1 KR101996825 B1 KR 101996825B1
- Authority
- KR
- South Korea
- Prior art keywords
- layout
- terminals
- algorithm
- terminal
- package
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/06—Arrangements for interconnecting storage elements electrically, e.g. by wiring
-
- 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
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/18—Manufacturability analysis or optimisation for manufacturability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/333—Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Z—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
- G16Z99/00—Subject matter not provided for in other main groups of this subclass
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
3D 반도체 패키지 디자인 방법이 제공된다. 3D 반도체 패키지 디자인 방법은, 제1 패키지에 포함된 복수의 제1 단자에 대한 제1 레이아웃 파라미터, 상기 제1 패키지의 상부 또는 하부에 배치되는 제2 패키지에 포함된 복수의 제2 단자에 대한 제2 레이아웃 파라미터, 및 상기 제1 패키지와 제2 패키지를 전기적으로 접속시키는 복수의 연결 단자에 대한 제3 레이아웃 파라미터를 제공하고, 상기 제1 내지 제3 레이아웃 파라미터에 제1 알고리즘을 사용하여 상기 제1 및 제2 단자와 연결 단자 간의 제1 배선 연결 레이아웃을 구하고, 상기 제1 배선 연결 레이아웃에 상기 제1 알고리즘과 다른 제2 알고리즘을 사용하여 상기 제1 및 제2 단자와 연결 단자 간의 제2 배선 연결 레이아웃을 구하는 것을 포함한다.
Description
본 발명은 3D 반도체 패키지 디자인 방법 및 3D 반도체 패키지를 디자인 하는 컴퓨팅 시스템에 관한 것이다.
일상 생활에서 널리 사용되는 각종 전자 소자들은 일반적으로 반도체 패키지 형태로 제조되고 유통된다. 이러한 반도체 패키지는 예를 들어, 각종 기능을 수행하는 반도체 칩들과, 반도체 칩들이 실장되는 패키지 기판을 포함하게 된다.
패키지 기판의 설계의 진화 과정에서 고속도화와 고집적화의 요구에 부응하여 SiP(System in Package)가 탄생하였으며, 이러한 SiP는 PiP(Package in Package), PoP(Package on Package) 등 여러 가지 형태로 발전되어 가고 있다.
나아가, 시장에서 요구되는 고성능, 고밀도 패키지 기판을 실현하기 위한 방안에 대한 연구개발과 그에 대한 수요가 증가함에 따라 패키지 기판을 형성하는 여러 가지 방법 중에 패키지 기판 위에 패키지 기판을 적층하는 패키지 온 패키지(Package on Package, 이하, PoP라 한다.)가 대안으로 떠오르게 되었다.
PoP를 생산하기 위하여, 요구되는 동작 특성을 신뢰성 있게 구현할 수 있도록 각 패키지 사이의 배선, 즉 넷 할당(net assignment)을 어떻게 디자인할 것인가에 대한 연구가 활발하게 진행되고 있다.
본 발명이 해결하고자 하는 기술적 과제는 최적화된 넷 할당을 저비용으로 신속하게 디자인할 수 있는 3D 반도체 패키지 디자인 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 최적화된 넷 할당을 저비용으로 신속하게 디자인할 수 있는 컴퓨팅 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 3D 반도체 패키지 디자인 방법은, 제1 패키지에 포함된 복수의 제1 단자에 대한 제1 레이아웃 파라미터, 상기 제1 패키지의 상부 또는 하부에 배치되는 제2 패키지에 포함된 복수의 제2 단자에 대한 제2 레이아웃 파라미터, 및 상기 제1 패키지와 제2 패키지를 전기적으로 접속시키는 복수의 연결 단자에 대한 제3 레이아웃 파라미터를 제공하고, 상기 제1 내지 제3 레이아웃 파라미터에 제1 알고리즘을 사용하여 상기 제1 및 제2 단자와 연결 단자 간의 제1 배선 연결 레이아웃을 구하고, 상기 제1 배선 연결 레이아웃에 상기 제1 알고리즘과 다른 제2 알고리즘을 사용하여 상기 제1 및 제2 단자와 연결 단자 간의 제2 배선 연결 레이아웃을 구하는 것을 포함한다.
상기 제1 내지 제3 레이아웃 파라미터 중 적어도 하나는 상기 단자의 크기, 개수, 형상, 배치 형태, 상기 단자 간 피치, 및 상기 제1 또는 제2 패키지의 두께를 포함할 수 있다.
상기 제1 알고리즘을 사용하여 제1 배선 연결 레이아웃을 구하는 것은, 상기 상기 제1 내지 제3 레이아웃 파라미터에 제1 서브 알고리즘을 사용하여 초기해를 구하고, 상기 초기해에 상기 제1 서브 알고리즘과 다른 제2 서브 알고리즘을 사용하여 상기 제1 배선 연결 레이아웃을 구하는 것을 포함할 수 있고, 상기 제1 서브 알고리즘은 그리디(greedy) 알고리즘을 포함하고, 상기 제2 서브 알고리즘은 유전(genetic) 알고리즘을 포함할 수 있고, 상기 제2 서브 알고리즘을 사용하여 상기 제1 배선 연결 레이아웃을 구하는 것은, 상기 제2 서브 알고리즘을 제1 범위 내에서 사용하여 상기 제1 배선 연결 레이아웃을 구하는 것을 포함하고, 상기 제1 범위가 조절될 경우, 상기 제1 배선 연결 레이아웃의 넷 길이(net length)와 바이트 스큐(byte skew)가 조절될 수 있다.
제2 알고리즘은, 상기 제1 배선 연결 레이아웃의 중심에서 제1 기준 벡터를 정하고, 상기 제1 기준 벡터를 시계 방향 또는 반시계 방향으로 회전하여 상기 복수의 제2 단자와 상기 복수의 연결 단자에 차례대로 번호를 매기고, 같은 번호의 상기 제2 단자와 상기 연결 단자를 연결하는 것을 포함할 수 있고, 상기 제1 기준 벡터는, 상기 중심에서 상기 복수의 연결 단자 중에서 CA(control address) 연결 단자를 향하는 방향을 포함할 수 있다.
상기 초기해는 n개이되, 상기 n은 상기 제1 단자의 개수, 상기 제2 단자의 개수 및 상기 연결 단자의 개수 중 가장 작은 수보다 작거나 같은 자연수이고, 상기 제1 배선 연결 레이아웃을 구하는 것은, 상기 n개의 초기해 중에서 m(여기서, m은 m≤n인 자연수)개의 초기해를 선택하고, 상기 m개의 초기해에 상기 제2 서브 알고리즘을 사용하여 상기 제1 배선 레이아웃을 구하는 것을 포함할 수 있고, 상기 n개의 초기해를 구하는 것은, 상기 복수의 연결 단자 중에서 임의의 n개의 연결 단자를 선택하고, 상기 선택된 n개의 연결 단자 각각에 대하여 상기 초기해를 구하는 것을 포함할 수 있다.
상기 초기해를 구하기 전에, 상기 제1 패키지 하부에 배치되는 베이스 기판에 포함된 복수의 제3 단자에 대한 제4 레이아웃 파라미터를 제공하고, 상기 제1 및 제4 레이아웃 파라미터를 이용하여 상기 제1 단자와 상기 제3 단자 사이의 배선을 디자인하는 것을 더 포함할 수 있고, 상기 제3 단자와 상기 연결 단자 사이의 배선을 디자인하는 것은, 그리디 알고리즘을 사용하여 디자인하는 것을 포함할 수 있다.
상기 제1 패키지는 AP(Application Processor) 칩을 포함하고, 상기 제2 패키지는 메모리 칩을 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 컴퓨팅 시스템은, 중앙처리장치 및 상기 중앙처리장치의 연산에 의해, 제1 패키지에 포함된 복수의 제1 단자, 제2 패키지에 포함된 복수의 제2 단자, 및 상기 제1 패키지와 상기 제2 패키지를 연결하는 연결 단자 사이의 3D 넷 할당(net assignment)을 디자인하는 모듈이 저장된 스토리지를 포함하되, 상기 모듈은, 상기 제1 단자에 대한 제1 레이아웃 파라미터, 상기 제2 단자에 대한 제2 레이아웃 파라미터 및 상기 연결 단자 대한 제3 레이아웃 파라미터를 제공받고, 상기 제1 내지 제3 레이아웃 파라미터에 제1 서브 알고리즘을 사용하여 상기 제1 단자, 상기 제2 단자 및 상기 연결 단자 사이의 배선에 대한 초기해를 구하고, 상기 초기해에 제2 서브 알고리즘을 사용하여 제1 배선 연결 레이아웃을 구하고, 제2 알고리즘을 사용하여 상기 제1 배선 연결 레이아웃으로부터 상기 3D 넷 할당을 디자인하는 것을 포함할 수 있다.
상기 초기해는 n개이되, 상기 n은 상기 제1 단자의 개수, 상기 제2 단자의 개수 및 상기 연결 단자의 개수 중 가장 작은 수보다 작거나 같은 자연수이고, 상기 제2 서브 알고리즘을 사용하여 상기 제1 배선 연결 레이아웃을 구하는 것은, 상기 n개의 초기해 중에서 m(여기서, m은 m≤n인 자연수)개의 초기해를 선택하고, 상기 m개의 초기해에 상기 제2 서브 알고리즘을 사용하여 상기 제1 배선 연결 레이아웃을 구하는 것을 포함할 수 있다.
상기 3D 넷 할당을 디자인하는 모듈은, 상기 초기해를 구하기 전에, 상기 제1 패키지 하부에 배치되는 베이스 기판에 포함된 복수의 제3 단자에 대한 제4 레이아웃 파라미터를 제공받고, 상기 제1 및 제4 레이아웃 파라미터를 이용하여 상기 제1 단자와 상기 제3 단자 사이의 배선을 디자인하는 것을 더 포함할 수 있다.
상기 스토리지는 상기 제1 내지 제4 레이아웃 파라미터를 저장할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 3D 반도체 패키지 디자인 방법의 순서도이다.
도 2 내지 도 8은 본 발명의 일 실시예에 따른 3D 반도체 패키지 디자인 방법을 설명하기 위한 도면들이다.
도 9는 본 발명의 다른 실시예에 따른 3D 반도체 패키지 디자인 방법의 순서도이다.
도 10은 본 발명의 다른 실시예에 따른 3D 반도체 패키지 디자인 방법을 설명하기 위한 도면이다.
도 11은 본 발명의 또다른 실시예에 다른 3D 반도체 패키지 디자인 방법의 순서도이다.
도 12 및 도 13은 본 발명의 또다른 실시예에 다른 3D 반도체 패키지 디자인 방법을 설명하기 위한 도면들이다.
도 14는 본 발명의 실시예들에 따라 3D 넷 할당을 디자인하는 모듈이 채용된 컴퓨팅 시스템의 일 예이다.
도 15는 도 14의 컴퓨팅 시스템의 동작을 설명하기 위한 도면이다.
도 2 내지 도 8은 본 발명의 일 실시예에 따른 3D 반도체 패키지 디자인 방법을 설명하기 위한 도면들이다.
도 9는 본 발명의 다른 실시예에 따른 3D 반도체 패키지 디자인 방법의 순서도이다.
도 10은 본 발명의 다른 실시예에 따른 3D 반도체 패키지 디자인 방법을 설명하기 위한 도면이다.
도 11은 본 발명의 또다른 실시예에 다른 3D 반도체 패키지 디자인 방법의 순서도이다.
도 12 및 도 13은 본 발명의 또다른 실시예에 다른 3D 반도체 패키지 디자인 방법을 설명하기 위한 도면들이다.
도 14는 본 발명의 실시예들에 따라 3D 넷 할당을 디자인하는 모듈이 채용된 컴퓨팅 시스템의 일 예이다.
도 15는 도 14의 컴퓨팅 시스템의 동작을 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면에서 표시된 구성요소의 크기 및 상대적인 크기는 설명의 명료성을 위해 과장된 것일 수 있다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭하며, "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
소자(elements) 또는 층이 다른 소자 또는 층의 "위(on)" 또는 "상(on)"으로 지칭되는 것은 다른 소자 또는 층의 바로 위뿐만 아니라 중간에 다른 층 또는 다른 소자를 개재한 경우를 모두 포함한다. 반면, 소자가 "직접 위(directly on)" 또는 "바로 위"로 지칭되는 것은 중간에 다른 소자 또는 층을 개재하지 않은 것을 나타낸다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 소자 또는 구성 요소들과 다른 소자 또는 구성 요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 소자의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들면, 도면에 도시되어 있는 소자를 뒤집을 경우, 다른 소자의 "아래(below)" 또는 "아래(beneath)"로 기술된 소자는 다른 소자의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 소자는 다른 방향으로도 배향될 수 있고, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
비록 제1, 제2 등이 다양한 소자나 구성요소들을 서술하기 위해서 사용되나, 이들 소자나 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자나 구성요소를 다른 소자나 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자나 구성요소는 본 발명의 기술적 사상 내에서 제2 소자나 구성요소 일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1 내지 도 8을 참조하여, 본 발명의 일 실시예에 따른 3D 반도체 패키지 디자인 방법에 대하여 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 3D 반도체 패키지 디자인 방법의 순서도이다.
도 2 내지 도 8은 본 발명의 일 실시예에 따른 3D 반도체 패키지 디자인 방법을 설명하기 위한 도면들이다.
도 1 및 도 2를 참조하면, 먼저, 제1 패키지(30)에 포함된 복수의 제1 단자(31)에 대한 제1 레이아웃 파라미터, 제1 패키지(30)의 상부에 배치되는 제2 패키지(20)에 포함된 복수의 제2 단자(21)에 대한 제2 레이아웃 파라미터, 및 제1 패키지(30)와 제2 패키지(20)를 전기적으로 접속시키는 복수의 연결 단자(13)에 대한 제3 레이아웃 파라미터를 제공한다(S100).
도 2는 실제 제조하고자 하는 PoP의 단면도이다. 도 2를 참조하면, 베이스 기판(10)은 복수의 제3 단자(11) 및 복수의 볼(15)을 포함할 수 있다. 베이스 기판(10)에 포함된 복수의 제3 단자(11)는 베이스 기판(10) 상에 배치된 제1 패키지(30)에 포함된 복수의 제1 단자(31)와 전기적으로 연결된다. 복수의 볼(15)은 베이스 기판(10)이 도 2에 도시되지 않은 다른 패키지 또는 다른 기판과 연결하기 위해 필요할 수 있다.
베이스 기판(10)과 제2 패키지(20)는 복수의 연결 단자(13)를 통해 연결될 수 있다. 제2 패키지(20)는 제1 패키지(30) 상에 배치될 수 있으며, 복수의 제2 단자(21)를 포함할 수 있다. 제2 패키지(20)의 복수의 제2 단자(21)는 복수의 연결 단자(13)와 복수의 제3 단자(11)를 통해서 제1 패키지(30)의 복수의 제1 단자(31)와 연결될 수 있다. 즉, 제2 패키지(20)는 베이스 기판(10)을 통해서 제1 패키지(30)와 연결될 수 있다.
도 2에서는 제1 패키지(30)가 베이스 기판(10)과 제2 패키지(20) 사이에 배치되는 것으로 도시되어 있으나, 본 발명은 이에 제한되는 것은 아니며, 각각의 패키지는 당업자에 의해 다양하게 배치될 수 있다. 예를 들어, 제2 패키지(20)는 제1 패키지(30) 하부에 배치될 수도 있다.
제1 내지 제3 단자(31, 21, 11) 및 연결 단자(13)는 각각의 패키지 사이를 전기적으로 연결할 수 있어야 한다. 예를 들어, 각각의 단자는 볼(ball)일 수 있다. 구체적으로, 제1 단자(31)는 RDL(Re-Distribution Layer) 범프(Bump)이고, 연결 단자(13)는 조인트 볼(joint ball)이고, 제2 단자(21)는 제2 패키지(20)의 볼이고, 제3 단자(11)는 베이스 기판(10)의 볼일 수 있다.
제1 레이아웃 파라미터는 복수의 제1 단자(31)와 제1 패키지(30)에 대한 정보를 포함한다. 예를 들어, 제1 레이아웃 파라미터는 제1 단자(31)의 크기, 개수, 형상, 배치 형태, 복수의 제1 단자(31) 간 피치 및 제1 패키지(30)의 두께 등을 포함할 수 있다.
제2 레이아웃 파라미터는 복수의 제2 단자(21)와 제2 패키지(20)에 대한 정보를 포함한다. 예를 들어, 제2 레이아웃 파라미터는 제2 단자(21)의 크기, 개수, 형상, 배치 형태, 복수의 제2 단자(21) 간 피치 및 제2 패키지(20)의 두께 등을 포함할 수 있다.
제3 레이아웃 파라미터는 복수의 연결 단자(13)에 대한 정보를 포함한다. 예를 들어, 제2 레이아웃 파라미터는 연결 단자(13)의 크기, 개수, 형상, 배치 형태, 복수의 연결 단자(13) 간 피치 및 연결 단자(13)의 두께 등을 포함할 수 있다.
여기서, 제1 패키지(30)와 제2 패키지(20)는 서로 다른 이종의 칩을 포함하는 패키지일 수 있다. 이러한 제1 및 제2 패키지(30, 20)는 도시된 것과 같이 PoP로 패키징될 수 있다. 본 발명의 몇몇 실시예에서, 제1 패키지(30)는 AP(Application Processor) 칩과 같은 프로세서 칩을 포함할 수 있고, 제2 패키지(20)는 DRAM과 같은 메모리 칩을 포함할 수 있으나, 본 발명이 이에 제한되는 것은 아니다.
이어서, 다시 도 1을 참조하면, 제1 내지 제3 레이아웃 파라미터에 제1 알고리즘을 사용하여 제1 및 제2 단자와 연결 단자 간의 제1 배선 연결 레이아웃을 구한다(S200).
도 2를 참조하면, 복수의 제1 단자(31)는 복수의 제3 단자(11)를 통해서 복수의 연결 단자(13)와 연결되고, 복수의 연결 단자(13)는 복수의 제2 단자(21)와 연결된다. 따라서, 제1 단자(31)와 연결 단자(13)를 연결하는 배선과 연결 단자(13)와 제2 단자(21)를 연결하는 배선을 형성할 필요가 있으며, 제1 알고리즘은 제1 단자(31)와 연결 단자(13) 사이, 연결 단자(13)와 제2 단자(21) 사이의 배선을 형성하는데 사용된다. 복수의 제1 단자(31)와 복수의 연결 단자(13)는 일대일 매칭되고, 복수의 제2 단자(21)와 복수의 연결 단자(13)도 일대일 매칭된다. 즉, 하나의 연결 단자(13)에는 하나의 제1 단자(31)와 하나의 제2 단자(21)가 접속되게 된다.
제1 배선 연결 레이아웃을 구하는 과정을 구체적으로 살펴보기로 한다. 도 3을 참조하면, 제1 내지 제3 레이아웃 파라미터에 제1 서브 알고리즘을 사용하여 초기해를 구한다(S210).
제1 서브 알고리즘은 복수의 제1 단자(31)와 복수의 연결 단자(13) 사이, 복수의 제2 단자(21)와 복수의 연결 단자(13) 사이를 어떻게 연결하여 배선을 디자인할지 결정한다. 제1 서브 알고리즘은 제1 내지 제3 레이아웃 파라미터를 이용하여 각각의 단자 사이의 배선을 디자인하며, 초기해는 제1 서브 알고리즘을 사용하여 구한 배선 디자인이다.
예를 들어, 제1 서브 알고리즘은 그리디(greedy) 알고리즘일 수 있다. 복수의 연결 단자(13) 중에서 임의의 연결 단자(13) 하나를 선택하고, 이를 기준으로 그리디 알고리즘을 사용한다. 그리디 알고리즘을 사용하면 기준점에서부터 최단거리로 복수의 제1 단자(31)와 복수의 연결 단자(13) 사이, 복수의 제2 단자(21)와 복수의 연결 단자(13) 사이의 배선이 디자인되어 초기해를 구할 수 있다. 그러나 제1 서브 알고리즘은 그리디 알고리즘으로 제한되는 것은 아니며, 복수의 제1 단자(31)와 복수의 연결 단자(13) 및 복수의 제2 단자(21)와 복수의 연결 단자(13)의 배선을 형성할 수 있는 알고리즘이면 무엇이든 가능하다.
한편, 기준점을 복수개로 잡고서 초기해를 복수개 구할 수 있다. 구체적으로, 도 4를 참조하면, 복수의 연결 단자(13) 중에서 임의의 n개의 연결 단자(131~13n)를 선택한다. 그리고 n개의 연결 단자(131~13n)를 기준으로, n개의 연결 단자(13) 각각에 대하여 n개의 초기해를 구할 수 있다. 여기서, n은 제1 단자(31)의 개수, 제2 단자(21)의 개수 및 연결 단자(13)의 개수 중 가장 작은 수보다 작거나 같은 자연수이다.
그리디 알고리즘을 사용하면 예를 들어, 도 5에 도시된 바와 같이 초기해를 구할 수 있다. 도 5(a)는 제1 기준점(131)을 기준으로 하여 구한 제1 초기해이고, 도 5(b)는 제2 기준점(132)을 기준으로 하여 구한 제2 초기해이고, 도 5(c)는 제3 기준점(133)을 기준으로 하여 구한 제3 초기해이고, 도 5(d)는 제4 기준점을 기준으로 구한 제4 초기해이다.
도 5에서는 도면의 가시성을 위하여 복수의 제1 단자(31) 중 일부, 복수의 제2 단자(21) 중 일부만을 도시하였고, 복수의 제1 단자(31)와 복수의 연결 단자(13) 사이, 복수의 제2 단자(21)와 복수의 연결 단자(13) 사이의 배선도 전부 도시하지 않고 일부만 도시하였다. 이는 이후의 도면에서도 마찬가지이며, 제1 단자(31) 중 일부와, 제2 단자(21) 중 일부와, 배선 중 일부만 도시되어 있더라도 당업자는 본 발명의 전체적인 배선에 대하여 쉽게 이해할 수 있을 것이다.
이어서, 다시 도 3을 참조하면, 제2 서브 알고리즘을 사용하여 제1 배선 연결 레이아웃을 구한다(S220). 구체적으로, 제1 서브 알고리즘을 통해 구한 초기해에 제1 서브 알고리즘과 다른 제2 서브 알고리즘을 사용하여 제1 배선 레이아웃을 구할 수 있다. 초기해는 복수의 연결 단자(13) 중 임의의 기준점을 정하고 기준점을 기준으로 배선을 디자인하였기 때문에 넷 길이(net length), 바이트 스큐(byte skew)를 고려하지 않는다. 따라서, 제2 서브 알고리즘을 통해서 넷 길이와 바이트 스큐를 조절하여 초기해를 최적화한다. 여기서, 초기해를 최적화하면 제1 배선 연결 레이아웃이 된다.
여기서, 넷 길이는 하나의 제1 단자(31), 하나의 연결 단자(13) 및 하나의 제2 단자(21)를 연결한 배선의 평균 길이를 의미하며, 바이트 스큐는 배선을 통해 신호가 전달 될 때 각각의 배선을 통해서 도달하는 신호의 시간차를 의미할 수 있다. 즉, 바이트 스큐는 넷 길이의 표준 편차와 관련이 있으며, 넷 길이의 표준 편차가 적을수록 널 바이트 스큐는 감소할 수 있다.
제2 서브 알고리즘은 예를 들어, 유전(genetic) 알고리즘일 수 있다. 유전 알고리즘은 최적화 기법의 일종으로 초기해를 최적화시킬 수 있다. 그러나 본 발명은 이에 제한되는 것은 아니며 최적화하는데 사용하는 알고리즘이면 무엇이든 제2 서브 알고리즘이 될 수 있다.
유전 알고리즘은 최적화 기법 중 하나로 일정한 결과값을 도출하지 않는다. 따라서, 제2 알고리즘이 유전 알고리즘인 경우, 제2 알고리즘을 사용하여 제2 배선 연결 레이아웃을 구할 때마다 제2 배선 연결 레이아웃의 디자인은 다를 수 있다.
한편, 초기해 전체에 대하여 제2 서브 알고리즘을 적용하여 제1 배선 레이아웃을 구할 수도 있으나, 도 6에 도시된 바와 같이 초기해를 일정 범위로 나누고, 각각의 범위에 대해서 제2 서브 알고리즘을 사용하여 제1 배선 레이아웃을 구할 수 있다. 구체적으로, 도 6을 참조하면, 초기해에서 제1 범위(B1)를 정하여, 제1 범위(B1) 내에서 제2 서브 알고리즘을 사용한다. 제1 범위(B1)에 포함된 복수의 제1 단자(31), 복수의 연결 단자(13) 및 복수의 제2 단자(21) 사이에서만 배선을 디자인한다. 제1 범위(B1)의 넓이는 조절 가능하다.
초기해에서 일정 범위를 정하여 그 범위 내에서 제2 서브 알고리즘을 사용하면, 초기해 전체에 대하여 제2 서브 알고리즘을 사용하는 것보다 신속하고 효율적으로 제1 배선 레이아웃을 구할 수 있다. 또한, 제1 범위(B1)를 조절함으로써, 제1 배선 연결 레이아웃의 넷 길이와 바이트 스큐를 쉽게 조절할 수 있다.
한편, 초기해를 n개 구한 경우에는, n개의 초기해에 제2 서브 알고리즘을 사용하여 제1 배선 연결 레이아웃을 구할 수 있다. 구체적으로, n개의 초기해 중에서 m개의 초기해를 선택한다. 여기서, m은 m≤n인 자연수일 수 있으며, m은 임의로 조절될 수 있다. 선택된 m개의 초기해는 n개의 초기해 중에서 넷 길이 및/또는 바이트 스큐가 상대적으로 우수한 것들일 수 있다.
다음으로, m개의 초기해에 제2 서브 알고리즘을 사용하여 제1 배선 연결 레이아웃을 구한다. m개의 초기해를 일정 범위, 예를 들어 제1 범위(B1)만큼 구분하고 제1 범위(B1) 내에서 넷 길이와 바이트 스큐가 가장 우수한 초기해를 선택할 수 있다. 이러한 방식으로 제1 배선 연결 레이아웃을 구할 수 있다. n개의 초기해를 통하여 제1 배선 연결 레이아웃을 구하면, 초기해가 하나일 때보다 제2 서브 알고리즘의 연산과정이 단순해지므로 빠른 시간에 제1 배선 연결 레이아웃을 구할 수 있다.
지금까지 제1 알고리즘이 제1 서브 알고리즘과 제2 서브 알고리즘을 포함하는 것으로 설명하였으나, 본 발명은 이에 제한되는 것은 아니며, 넷 길이와 바이트 스큐를 최적화하여 제1 배선 연결 레이아웃을 구할 수 있는 알고리즘이면 제1 알고리즘이 될 수 있다.
이어서, 도 1을 참조하면, 제1 배선 연결 레이아웃에 제1 알고리즘과 다른 제2 알고리즘을 사용하여 제1 및 제2 단자(31, 21)와 연결 단자(13) 간의 제2 배선 연결 레이아웃을 구한다(S300). 여기서, 제2 배선 연결 레이아웃은 최종적으로 구하고자 하는 최적화된 넷 할당에 대한 디자인이다.
도 7은 제2 알고리즘을 통해서 제2 배선 연결 레이아웃을 구하는 방법을 도시한다. 구체적으로, 제2 알고리즘은 다음과 같은 방법으로 제2 배선 연결 레이아웃을 구한다. 도 7을 참조하면, 제1 배선 연결 레이아웃의 중심(C)에서 제1 기준 벡터(V1)를 정한다. 다음으로, 제1 기준 벡터(V1)를 시계 방향 방향으로 회전하여 제1 기준 벡터(V1)와 만나는 복수의 제2 단자(21)에 차례대로 번호를 매기고(Q1), 제1 기준 벡터(V1)와 만나는 복수의 연결 단자(13)에 차례대로 번호를 매긴다(Q2). 그리고 나서, 같은 번호의 제2 단자(21)와 연결 단자(13)를 연결한다. 제2 알고리즘은 복수의 연결 단자(13)와 복수의 제2 단자(21) 사이의 배선에만 적용되고 복수의 연결 단자(13)와 복수의 제1 단자(31) 사이에서는 적용되지 않는다.
한편, 도 7에서는 제1 기준 벡터(V1)가 시계 방향으로 회전하는 것으로 도시되어 있으나 이에 제한되는 것은 아니며, 반 시계 방향으로 제1 기준 벡터(V1)를 회전시켜 복수의 제2 단자(21)와 복수의 연결 단자(13)에 차례대로 번호를 매길 수도 있다.
제1 기준 벡터(V1)의 방향은 임의로 정할 수 있다. 예를 들어, 제1 기준 벡터(V1)의 방향은 복수의 연결 단자(13) 중에서 CA(control address) 신호를 전송하는 CA 연결 단자를 향하는 방향일 수 있다. 도 7에서는 우측 하단의 A 구역에 CA 연결 단자가 모여 있으며, CA 연결 단자 중 제1 CA 연결 단자(139)를 향하는 방향으로 제1 기준 벡터(V1)가 향하는 방향을 정하였다. CA 연결 단자가 형성된 구역인 A 구역은 연결 단자(13)와 제2 단자(21) 사이의 배선이 복잡하지 않고 단순하다. 즉, 제1 패키지(10)와 제2 패키지(20)를 연결하는 배선의 수가 적다. 연결 단자(13)와 제2 단자(21) 사이의 배선이 복잡한 부분을 향하여 제1 기준 벡터(V1)의 방향을 정하면, 복수의 연결 단자(13)와 복수의 제2 단자(21)가 몰려있어, 첫번째 순서의 연결 단자(13) 또는 첫번째 순서의 제2 단자(21)를 정하기 어려울 수 있다.
실제 패키지들 사이의 배선을 형성할 때, 배선들은 서로 겹치지 않아야 한다. 배선이 서로 겹치면, 쇼트가 발생하여 신호를 원하는 단자에 정확하게 제공할 수 없기 때문이다. 따라서 다소 넷 길이와 바이트 스큐의 손해를 감수하더라도 배선을 겹치지 않게 디자인하는 것이 필요하다. 도 8을 참조하면, 도 8(a)는 제1 배선 연결 레이아웃을 도시한 도면이고, 도 8(b)는 제2 배선 연결 레이아웃을 도시한 도면이다. 도 8(a)와 도 8(b)를 비교하면, 제2 배선 연결 레이아웃은 제1 배선 연결 레이아웃과 달리 배선이 서로 겹치지 않음을 확인할 수 있다. 결국, 제1 알고리즘과 제2 알고리즘을 거쳐 최종적으로 제2 배선 연결 레이아웃을 구할 수 있다.
본 발명의 일 실시예에 따른 3D 반도체 패키지 디자인 방법을 사용하면, 자동으로 최적화된 넷 할당을 디자인할 수 있이므로, 시간적, 경제적으로 유리하다.
도 2, 도 9 및 도 10을 참조하여, 본 발명의 다른 실시예에 따른 3D 반도체 패키지 디자인 방법을 설명하기로 한다. 상술한 바와 중복되는 내용은 설명을 생략하고 차이점을 위주로 설명하기로 한다.
도 9는 본 발명의 다른 실시예에 따른 3D 반도체 패키지 디자인 방법의 순서도이고, 도 10은 본 발명의 다른 실시예에 따른 3D 반도체 패키지 디자인 방법을 설명하기 위한 도면이다.
도 2 및 도 9를 참조하면, 제1 내지 제4 레이아웃 파라미터를 제공한다(S80). 제4 레이아웃 파라미터는 베이스 기판(10) 에 포함된 복수의 제3 단자(11)에 대한 레이아웃 파라미터이다. 제4 레이아웃 파라미터는 제3 단자(11)의 크기, 개수, 형상, 배치 형태, 제3 단자(11) 간 피치 및 제3 단자(11)의 두께 등을 포함할 수 있다.
이어서, 제1 및 제4 파라미터를 이용하여 제1 단자(31)와 제3 단자(11) 사이의 배선을 디자인한다(S90). 도 10과 같이, 제1 단자(31)와 제3 단자(13)를 연결할 수 있다. 이 때, 제1 단자(31)와 제3 단자(13) 사이의 배선을 디자인하기 위하여 그리디 알고리즘을 사용할 수 있으나 이에 제한되는 것은 아니다.
본 발명의 다른 실시예에 따른 3D 반도체 패키지 디자인 방법은 제1 배선 연결 레이아웃을 구하기 전에, 구체적으로는 초기해를 구하기 전에, 베이스 기판(10)과 제1 패키지(30)를 연결하는 배선을 추가적으로 디자인한다. 이로써, 제1 패키지(30), 제2 패키지(20) 및 베이스 기판(10) 사이의 배선 전부를 자동화하여 디자인할 수 있다.
제1 및 제4 파라미터를 이용하여 제1 단자(31)와 제3 단자(11) 사이의 배선을 디자인한 후에, 제1 배선 연결 레이아웃을 구하는 것(S201)과, 제2 배선 연결 레이아웃을 구하는 것(S301)은 상술한 바와 같으므로 설명을 생략하기로 한다.
도 11 내지 도 13을 참조하여 본 발명의 또다른 실시예에 따른 3D 반도체 패키지 디자인 방법에 대하여 설명하기로 한다. 상술한 바와 중복되는 내용은 설명을 생략하고 차이점을 위주로 설명하기로 한다.
도 11은 본 발명의 또다른 실시예에 다른 3D 반도체 패키지 디자인 방법의 순서도이고, 도 12 및 도 13은 본 발명의 또다른 실시예에 다른 3D 반도체 패키지 디자인 방법을 설명하기 위한 도면들이다.
도 11을 참조하면, 먼저, 제1 내지 제3 레이아웃 파라미터를 제공한다(S111). 이어서, 제1 내지 제3 레이아웃 파라미터에 제2 알고리즘을 사용하여 제3 배선 연결 레이아웃을 구한다(S211). 본 발명의 또다른 실시예에 따른 3D 반도체 패키지 디자인 방법은 본 발명의 일 실시예에 따른 3D 반도체 패키지 디자인 방법과는 달리 제2 알고리즘을 먼저 사용한다. 따라서, 복수의 연결 단자(13)와 복수의 제2 단자(21) 사이의 배선을 먼저 디자인한다. 도 12를 참조하면, 복수의 연결 단자(13) 중심(C)에서 제1 기준 벡터(V1)를 정하고(도 12에서, 제1 기준 벡터(V1)의 방향은 제1 CA 연결 단자(139)를 향하는 방향), 제1 기준 벡터(V1)를 시계 방향 또는 반시계 방향으로 회전하여 복수의 제2 단자(21)와 복수의 연결 단자(13)에 차례대로 번호를 매기고(Q1, Q2), 같은 번호의 제2 단자(21)와 연결 단자(13)를 연결한다. 이러한 방법에 의하여 도 13과 같은 제3 배선 연결 레이아웃을 구할 수 있다.
이어서, 다시 도 11을 참조하면, 제3 배선 연결 레이아웃에 제1 알고리즘을 사용하여 제4 배선 연결 레이아웃을 구한다(S311). 이 때, 제3 배선 연결 레이아웃에서 디자인된 복수의 연결 단자(13)와 복수의 제2 단자(21) 사이의 배선은 유지한 채, 제1 단자(31), 연결 단자(13)와 제2 단자(21) 사이의 넷 길이와 바이트 스큐를 고려하여 제4 배선 연결 레이아웃을 구한다. 제4 배선 연결 레이아웃은 제2 배선 연결 레이아웃과 같이 최적화된 넷 할당을 의미한다. 제1 알고리즘 사용 시, 복수의 연결 단자(13)와 복수의 제2 단자(21) 사이의 배선을 변경하지 않고, 제3 배선 연결 레이아웃에 포함된 복수의 연결 단자(13)와 복수의 제2 단자(21) 사이의 배선을 그대로 사용하는 점만 다를 뿐, 나머지는 본 발명의 일 실시예에 따른 3D 반도체 패키지 디자인 방법의 제1 알고리즘과 동일하게 수행한다.
도 14 및 도 15를 참조하여, 본 발명의 실시예들에 따라 3D 넷 할당을 디자인하는 모듈이 채용된 컴퓨팅 시스템 및 그 동작에 대해 설명하도록 한다.
도 14는 본 발명의 실시예들에 따라 3D 넷 할당을 디자인하는 모듈이 채용된 컴퓨팅 시스템의 일 예이다. 도 15는 도 14의 컴퓨팅 시스템의 동작을 설명하기 위한 도면이다.
먼저, 도 14를 참조하면, 앞서 설명한 본 발명의 실시예들에 따른 3D 반도체 패키지 디자인 방법은 예를 들어, 모듈 등으로 구현되어 도시된 것과 같은 컴퓨팅 시스템(201)에 채용될 수 있다.
본 실시예에서 사용되는 사용되는 '모듈'이라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소로 구현될 수 있다. 이 때 '모듈'은 어떤 역할을 수행한다. 그렇지만 '모듈'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다.
본 실시예에서, '모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다.
도 14를 참조하면, 컴퓨팅 시스템(201)은 중앙처리장치(Central Processing Unit, 200), AGP 장치(Accelerated Graphics Port, 210), 메인 메모리(300), 스토리지(예컨대, SSD, HDD 등, 240), 노오스 브리지(220), 사우스 브리지(230), 키보드 컨트롤러(260), 및 프린터 컨트롤러(250) 등을 포함할 수 있다. 도 14에서는 컴퓨팅 시스템(201)에 포함되는 구성 요소로써 앞서 설명한 구성 요소들만을 도시하였으나, 본 발명이 이에 제한되는 것은 아니며, 컴퓨팅 시스템(201)에 포함되는 구성 요소들은 얼마든지 더 추가되거나, 도 14에 도시된 구성에서 생략될 수 있다.
도 14에 도시된 컴퓨팅 시스템(201)은 반도체 패키지 공정에 이용되는 사무용 컴퓨터 또는 노트북 컴퓨터 등의 블록도일 수 있다. 그러나 본 발명이 이에 제한되는 것은 아니며, 컴퓨팅 시스템(201)의 예시는 얼마든지 변형될 수 있다.
컴퓨팅 시스템(201)에서 중앙처리장치(200), AGP 장치(210), 및 메인 메모리(300) 등은 노오스 브리지(220)에 접속될 수 있다. 그러나, 본 발명이 이에 제한되는 것은 아니며, 노오스 브리지(220)는 중앙처리장치(200)에 포함된 형태로 변형될 수도 있다.
AGP(210)는 3차원 그래픽 표현을 빠르게 구현할 수 있게 해주는 버스 규격일 수 있으며, AGP 장치(210)에는 모니터 이미지를 재생하는 비디오 카드 등이 포함될 수 있다.
중앙처리장치(200)는 컴퓨팅 시스템(201)의 구동에 필요한 각종 연산을 수행하고, 또한 OS 및 응용 프로그램을 실행할 수 있다.
메인 메모리(300)는 스토리지(240)로부터 중앙처리장치(200)의 동작을 수행하는데 필요한 데이터를 로딩하여 저장할 수 있다. 이러한 메인 메모리(300)를 구현하는 메모리의 예시로는, DRAM(Random Access Memory)을 들 수 있으나, 본 발명이 이러한 예시에 제한되는 것은 아니다.
스토리지(240), 키보드 컨트롤러(260), 프린터 컨트롤러(250), 및 각종 주변 장치들(미도시) 등은 사우스 브리지(230)에 접속될 수 있다.
스토리지(240)는 데이터 등을 저장하는 대용량 데이터 저장 장치로서, 예를 들어, HDD, SSD 등 컴퓨터로 판독 가능한 기록 매체로 구현될 수 있으나, 본 발명이 이러한 예시에 제한되는 것은 아니다. 또한, 본 실시예에 따른 컴퓨팅 시스템(201)에서는 스토리지(240)가 사우스 브리지(230)에 접속되는 구조를 도시하고 있으나, 본 발명이 이에 제한되는 것은 아니며, 스토리지(240)가 노스 브리지(220)에 연결되거나, 중앙처리장치(200)에 직접 연결되는 구조로 변형될 수도 있다.
본 실시예에 따른 컴퓨팅 시스템(201)이 예를 들어, 소프트웨어 등으로 구현된 본 발명의 실시예들에 따른 3D 반도체 패키지 디자인 방법을 채용할 경우, 3D 반도체 패키지 방법은 디자인 모듈(249) 또는 프로그램 등으로 스토리지(240)에 저장될 수 있다.
구체적으로, 스토리지(240)에는, 본 발명의 실시예들에 따른 3D 반도체 패키지 디자인 방법을 수행하는, 즉 3D 넷 할당(net assignment)을 디자인하는 디자인 모듈(249)이 저장되어 있을 수 있다.
또한, 스토리지(240)에는 본 발명의 실시예들에 따른 3D 반도체 패키지 디자인 방법을 수행하기 위해 그 입력으로 제공되는, 제1 단자에 대한 제1 레이아웃 파라미터(241), 제2 단자에 대한 제2 레이아웃 파라미터(243), 연결 단자 대한 제3 레이아웃 파라미터(245) 및 제3 단자에 대한 제4 레이아웃 파라미터(247)가 저장되어 있을 수 있다.
이렇게 스토리지(240)에 저장된 디자인 모듈(249)과 제1 내지 제4 파라미터(241~247)는 예를 들어, 메인 메모리(300)에 로딩되어 중앙처리장치(200)의 연산에 의해 처리됨으로써, 제1 패키지에 포함된 복수의 제1 단자, 제2 패키지에 포함된 복수의 제2 단자 및 제1 패키지와 제2 패키지를 연결하는 연결 단자 사이의 3D 넷 할당(net assignment)이 디자인될 수 있다.
이하 도 15를 참조하여, 이러한 동작에 대해 보다 구체적으로 설명하도록 한다.
도 15를 참조하면, 먼저, 스토리지(240)에 저장된 디자인 모듈(249), 제1 레이아웃 파라미터(241), 제4 레이아웃 파라미터(247)가 중앙처리장치(200)에 의해 처리되기 위해 메인 메모리(300)에 로드된다(S11). 이어서, 중앙처리장치(200)는 제1 레이아웃 파라미터(241)와, 제4 레이아웃 파라미터(247)를 입력으로 디자인 모듈(249)에 구현된 프로시저를 수행함으로써, 제1 및 제4 레이아웃 파라미터(241, 247)를 이용하여 제1 패키지에 포함된 복수의 제1 단자와 제1 패키지 하부에 배치되는 베이스 기판에 포함된 복수의 제3 단자 사이의 배선을 디자인한다(S13). 그리고, 이렇게 생성된 복수의 제1 단자와 복수의 제3 단자 사이의 배선은 메인 메모리(300)에서 스토리지(240)로 이동되어 저장된다(S15).
다음, 제1 내지 제3 레이아웃 파라미터(241~245)와 디자인 모듈(249)이 중앙처리장치(200)에 의해 처리되기 위해 메인 메모리(300)에 로드된다(S17). 이어서, 중앙처리장치(200)는 제1 내지 제3 레이아웃 파라미터(241~245)를 입력으로 디자인 모듈(249)에 구현된 프로시저를 수행함으로써, 제2 배선 연결 레이아웃, 즉 3D 넷 할당을 디자인한다. 구체적으로, 먼저, 메인 메모리(300)에 로드된 디자인 모듈(249)은 제1 서브 알고리즘을 사용하여 제1 단자, 제2 단자 및 연결 단자 사이의 배선에 대한 초기해를 구한다(S19). 초기해는 n개일 수 있으며, n은 복수의 제1 단자의 개수, 복수의 제2 단자의 개수 및 복수의 연결 단자의 개수 중 가장 작은 수보다 작거나 같은 자연수이다.
다음, 메인 메모리(300)에 로드되어 있는 초기해에 제2 서브 알고리즘을 사용하여 제1 배선 연결 레이아웃을 구한다(S21). 초기해가 n개인 경우, n개의 초기해 중에서 m(여기서, m은 m≤n인 자연수)개의 초기해를 선택하고, m개의 초기해에 제2 서브 알고리즘을 사용하여 제1 배선 연결 레이아웃을 구할 수 있다. 여기서, m개의 초기해는 n개의 초기해 중에서 넷 길이 및/또는 바이트 스큐 특성이 우수하여 선택된 초기해이다.
한편, n개의 초기해와 제1 배선 연결 레이아웃은 메인 메모리(300)에만 로드되어 있는 것으로 도시되어 있으나, 이들은 스토리지(240)로 이동되어 저장될 수도 있다.
다음, 제1 배선 연결 레이아웃에 제2 알고리즘을 사용하여 제1 배선 연결 레이아웃으로부터 3D 넷 할당을 디자인한다(S23). 이렇게 생성된 3D 넷 할당은 메인 메모리(300)에서 스토리지(240)로 이동되어 저장된다(S25).
이렇게 스토리지(240)에 저장된 3D 넷 할당은, 실제 PoP 사이의 배선을 제조하는데 이용될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
10: 베이스 기판 11: 제3 단자
13: 연결 단자 15: 볼
20: 제2 패키지 21: 제2 단자
30: 제1 패키지 31: 제1 단자
13: 연결 단자 15: 볼
20: 제2 패키지 21: 제2 단자
30: 제1 패키지 31: 제1 단자
Claims (10)
- 제1 패키지에 포함된 복수의 제1 단자에 대한 제1 레이아웃 파라미터, 상기 제1 패키지의 상부 또는 하부에 배치되는 제2 패키지에 포함된 복수의 제2 단자에 대한 제2 레이아웃 파라미터, 및 상기 제1 패키지와 제2 패키지를 전기적으로 접속시키는 복수의 연결 단자에 대한 제3 레이아웃 파라미터를 제공하고,
상기 제1 내지 제3 레이아웃 파라미터에 제1 알고리즘을 사용하여 상기 제1 및 제2 단자와 연결 단자 간의 제1 배선 연결 레이아웃을 구하고,
상기 제1 배선 연결 레이아웃에 상기 제1 알고리즘과 다른 제2 알고리즘을 사용하여 상기 제1 및 제2 단자와 연결 단자 간의 제2 배선 연결 레이아웃을 구하는 것을 포함하되,
상기 제1 알고리즘을 사용하여 제1 배선 연결 레이아웃을 구하는 것은,
상기 제1 내지 제3 레이아웃 파라미터에 제1 서브 알고리즘을 사용하여 초기해를 구하고,
상기 초기해에 상기 제1 서브 알고리즘과 다른 제2 서브 알고리즘을 사용하여 상기 제1 배선 연결 레이아웃을 구하는 것을 포함하는 3D 반도체 패키지 디자인 방법. - 삭제
- 제 1항에 있어서,
상기 제1 서브 알고리즘은 그리디(greedy) 알고리즘을 포함하고, 상기 제2 서브 알고리즘은 유전(genetic) 알고리즘을 포함하는 3D 반도체 패키지 디자인 방법. - 제 3항에 있어서,
상기 제2 서브 알고리즘을 사용하여 상기 제1 배선 연결 레이아웃을 구하는 것은,
상기 제2 서브 알고리즘을 제1 범위 내에서 사용하여 상기 제1 배선 연결 레이아웃을 구하는 것을 포함하고,
상기 제1 범위가 조절될 경우, 상기 제1 배선 연결 레이아웃의 넷 길이(net length)와 바이트 스큐(byte skew)가 조절되는 3D 반도체 패키지 디자인 방법. - 제 1항에 있어서,
상기 제2 알고리즘은,
상기 제1 배선 연결 레이아웃의 중심에서 제1 기준 벡터를 정하고, 상기 제1 기준 벡터를 시계 방향 또는 반시계 방향으로 회전하여 상기 복수의 제2 단자와 상기 복수의 연결 단자에 차례대로 번호를 매기고, 같은 번호의 상기 제2 단자와 상기 연결 단자를 연결하는 것을 포함하는 3D 반도체 패키지 디자인 방법. - 제 1항에 있어서,
상기 초기해는 n개이되, 상기 n은 상기 제1 단자의 개수, 상기 제2 단자의 개수 및 상기 연결 단자의 개수 중 가장 작은 수보다 작거나 같은 자연수이고,
상기 제1 배선 연결 레이아웃을 구하는 것은,
상기 n개의 초기해 중에서 m(여기서, m은 m≤n인 자연수)개의 초기해를 선택하고, 상기 m개의 초기해에 상기 제2 서브 알고리즘을 사용하여 상기 제1 배선 연결 레이아웃을 구하는 것을 포함하고,
상기 n개의 초기해를 구하는 것은,
상기 복수의 연결 단자 중에서 임의의 n개의 연결 단자를 선택하고,
상기 선택된 n개의 연결 단자 각각에 대하여 상기 초기해를 구하는 것을 포함하는 3D 반도체 패키지 디자인 방법. - 제 1항에 있어서,
상기 초기해를 구하기 전에,
상기 제1 패키지 하부에 배치되는 베이스 기판에 포함된 복수의 제3 단자에 대한 제4 레이아웃 파라미터를 제공하고,
상기 제1 및 제4 레이아웃 파라미터를 이용하여 상기 제1 단자와 상기 제3 단자 사이의 배선을 디자인하는 것을 더 포함하는 3D 반도체 패키지 디자인 방법. - 제 7항에 있어서,
상기 제3 단자와 상기 연결 단자 사이의 배선을 디자인하는 것은, 그리디 알고리즘을 사용하여 디자인하는 것을 포함하는 3D 반도체 패키지 디자인 방법. - 중앙처리장치; 및
상기 중앙처리장치의 연산에 의해, 제1 패키지에 포함된 복수의 제1 단자, 제2 패키지에 포함된 복수의 제2 단자, 및 상기 제1 패키지와 상기 제2 패키지를 연결하는 연결 단자 사이의 3D 넷 할당(net assignment)을 디자인하는 모듈이 저장된 스토리지를 포함하되,
상기 모듈은,
상기 제1 단자에 대한 제1 레이아웃 파라미터, 상기 제2 단자에 대한 제2 레이아웃 파라미터 및 상기 연결 단자에 대한 제3 레이아웃 파라미터를 제공받고,
상기 제1 내지 제3 레이아웃 파라미터에 제1 서브 알고리즘을 사용하여 상기 제1 단자, 상기 제2 단자 및 상기 연결 단자 사이의 배선에 대한 초기해를 구하고,
상기 초기해에 제2 서브 알고리즘을 사용하여 제1 배선 연결 레이아웃을 구하고,
제2 알고리즘을 사용하여 상기 제1 배선 연결 레이아웃으로부터 상기 3D 넷 할당을 디자인하는 것을 포함하는 컴퓨팅 시스템. - 제 9항에 있어서,
상기 초기해는 n개이되, 상기 n은 상기 제1 단자의 개수, 상기 제2 단자의 개수 및 상기 연결 단자의 개수 중 가장 작은 수보다 작거나 같은 자연수이고,
상기 제2 서브 알고리즘을 사용하여 상기 제1 배선 연결 레이아웃을 구하는 것은,
상기 n개의 초기해 중에서 m(여기서, m은 m≤n인 자연수)개의 초기해를 선택하고, 상기 m개의 초기해에 상기 제2 서브 알고리즘을 사용하여 상기 제1 배선 연결 레이아웃을 구하는 것을 포함하는 컴퓨팅 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130005996A KR101996825B1 (ko) | 2013-01-18 | 2013-01-18 | 3d 반도체 패키지 디자인 방법 및 컴퓨팅 시스템 |
US13/803,534 US8856714B2 (en) | 2013-01-18 | 2013-03-14 | Method and system for designing 3D semiconductor package |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130005996A KR101996825B1 (ko) | 2013-01-18 | 2013-01-18 | 3d 반도체 패키지 디자인 방법 및 컴퓨팅 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140093510A KR20140093510A (ko) | 2014-07-28 |
KR101996825B1 true KR101996825B1 (ko) | 2019-10-01 |
Family
ID=51208787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130005996A KR101996825B1 (ko) | 2013-01-18 | 2013-01-18 | 3d 반도체 패키지 디자인 방법 및 컴퓨팅 시스템 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8856714B2 (ko) |
KR (1) | KR101996825B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9760666B1 (en) * | 2016-05-31 | 2017-09-12 | Cadence Design Systems, Inc. | Apparatus and method for collaborative adaptation of hierarchically-designed schematics to variant design requirements |
CN110083969B (zh) * | 2019-05-08 | 2022-10-04 | 深圳职业技术学院 | 基于离散优化的数字集成电路布局方法及终端设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007250754A (ja) | 2006-03-15 | 2007-09-27 | Toshiba Corp | 三次元集積回路設計装置および三次元集積回路設計方法 |
US20090194768A1 (en) * | 2002-08-08 | 2009-08-06 | Leedy Glenn J | Vertical system integration |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3653072A (en) * | 1970-01-08 | 1972-03-28 | Texas Instruments Inc | Process for producing circuit artwork utilizing a data processing machine |
US5404033A (en) * | 1992-08-20 | 1995-04-04 | Swift Microelectronics Corporation | Application specific integrated circuit and placement and routing software with non-customizable first metal layer and vias and customizable second metal grid pattern |
US6407434B1 (en) * | 1994-11-02 | 2002-06-18 | Lsi Logic Corporation | Hexagonal architecture |
JP3268740B2 (ja) | 1997-08-20 | 2002-03-25 | 株式会社東芝 | Asicの設計製造方法、スタンダードセル、エンベッテドアレイ、及びマルチ・チップ・パッケージ |
JP3548070B2 (ja) | 2000-01-26 | 2004-07-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 多端子ネットを自動的に発生する方法及び装置並びに多端子ネット自動発生方法を実行するためのプログラムを記憶したプログラム記憶媒体 |
US7036101B2 (en) | 2001-02-26 | 2006-04-25 | Cadence Design Systems, Inc. | Method and apparatus for scalable interconnect solution |
US6875930B2 (en) * | 2002-04-18 | 2005-04-05 | Hewlett-Packard Development Company, L.P. | Optimized conductor routing for multiple components on a printed circuit board |
JP2004047829A (ja) | 2002-07-12 | 2004-02-12 | Toshiba Corp | 半導体装置の接続端子設計装置、半導体装置の接続端子設計方法、及び半導体装置の接続端子設計プログラム |
US7131094B2 (en) | 2003-12-12 | 2006-10-31 | Hewlett-Packard Development Company, Lp. | Method and system for automatically extracting data from a textual bump map |
US7464348B1 (en) | 2005-09-30 | 2008-12-09 | Cadence Design Systems, Inc. | Method and system for mapping source elements to destination elements as interconnect routing assignments |
JP2008077404A (ja) | 2006-09-21 | 2008-04-03 | Shinko Electric Ind Co Ltd | 設計支援装置および設計支援方法 |
US7957824B2 (en) * | 2007-03-02 | 2011-06-07 | Align Technology, Inc. | Method and system for providing automated high scale fabrication of custom items |
JP4398989B2 (ja) | 2007-03-26 | 2010-01-13 | 株式会社東芝 | 三次元集積回路設計方法及び三次元集積回路設計装置 |
US7757196B2 (en) | 2007-04-04 | 2010-07-13 | Cisco Technology, Inc. | Optimizing application specific integrated circuit pinouts for high density interconnect printed circuit boards |
US7884481B2 (en) | 2007-08-02 | 2011-02-08 | Mediatek Inc. | Semiconductor chip package and method for designing the same |
US8370783B2 (en) | 2007-12-03 | 2013-02-05 | Kabushiki Kaisha Toshiba | Systems and methods for probabilistic interconnect planning |
US8291366B2 (en) | 2008-12-04 | 2012-10-16 | Stmicroelectronics Pvt Ltd | Routing system and method using a routing tree rip-up |
US8239808B2 (en) | 2008-12-05 | 2012-08-07 | Stmicroelectronics International N.V. | Routing system |
US8302067B2 (en) | 2009-10-19 | 2012-10-30 | National Chiao Tung University | Pin-out designation method for package-board codesign |
JP2012003460A (ja) | 2010-06-16 | 2012-01-05 | Panasonic Corp | 三次元実装基板用解析方法 |
WO2012061304A1 (en) * | 2010-11-02 | 2012-05-10 | Georgia Tech Research Corporation | Ultra-thin interposer assemblies with through vias |
-
2013
- 2013-01-18 KR KR1020130005996A patent/KR101996825B1/ko active IP Right Grant
- 2013-03-14 US US13/803,534 patent/US8856714B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090194768A1 (en) * | 2002-08-08 | 2009-08-06 | Leedy Glenn J | Vertical system integration |
JP2007250754A (ja) | 2006-03-15 | 2007-09-27 | Toshiba Corp | 三次元集積回路設計装置および三次元集積回路設計方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20140093510A (ko) | 2014-07-28 |
US8856714B2 (en) | 2014-10-07 |
US20140208284A1 (en) | 2014-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220129382A1 (en) | Memory Circuit and Cache Circuit Configuration | |
JP5610403B2 (ja) | スタック型デバイスの再マッピングおよび補修 | |
JP5689801B2 (ja) | 積層装置識別割り当て | |
US8710655B2 (en) | Die packages and systems having the die packages | |
JP2018503262A (ja) | 3d集積回路 | |
US20150286529A1 (en) | Memory device having controller with local memory | |
US9305625B2 (en) | Apparatuses and methods for unit identification in a master/slave memory stack | |
US11841803B2 (en) | GPU chiplets using high bandwidth crosslinks | |
TW201841119A (zh) | 管理揮發性記憶體快取的方法和快取管理器 | |
TW201946235A (zh) | 包含直通塑模穿孔結構的堆疊封裝 | |
NL2012389A (en) | Semiconductor device and semiconductor package. | |
US9830956B2 (en) | Latch circuit and semiconductor apparatus including the same | |
KR101996825B1 (ko) | 3d 반도체 패키지 디자인 방법 및 컴퓨팅 시스템 | |
US8705262B1 (en) | Stacked memory device for a configurable bandwidth memory interface | |
US20190363049A1 (en) | Multiple die package using an embedded bridge connecting dies | |
CN113626374A (zh) | 一种堆叠芯片 | |
US11134030B2 (en) | Device, system and method for coupling a network-on-chip with PHY circuitry | |
KR102426664B1 (ko) | 범프 패드들을 가지는 집적 회로 및 그것을 포함하는 반도체 패키지 | |
US9530756B2 (en) | Semiconductor apparatus having electrical connections with through-via and a metal layer and stacking method thereof | |
JP6207228B2 (ja) | 集積回路装置およびその構成方法 | |
US10020030B2 (en) | Semiconductor apparatus capable of improving efficiency for a circuit configuration and a signal line interconnection | |
WO2023108439A1 (zh) | 一种存储器、其使用方法、制作方法和电子设备 | |
KR20240117593A (ko) | 메모리, 메모리 사용 방법, 메모리 제조 방법 및 전자 장치 | |
CN114446335A (zh) | 堆叠式存储器及堆叠式存储器的存储裸片的重置方法 | |
CN114446334A (zh) | 堆叠式存储器及其制造方法 |
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 |