KR20170133393A - 멀티-다이 패키지들에서의 통신을 위한 방법 및 회로들 - Google Patents

멀티-다이 패키지들에서의 통신을 위한 방법 및 회로들 Download PDF

Info

Publication number
KR20170133393A
KR20170133393A KR1020177030386A KR20177030386A KR20170133393A KR 20170133393 A KR20170133393 A KR 20170133393A KR 1020177030386 A KR1020177030386 A KR 1020177030386A KR 20177030386 A KR20177030386 A KR 20177030386A KR 20170133393 A KR20170133393 A KR 20170133393A
Authority
KR
South Korea
Prior art keywords
data
semiconductor die
die
package
signal
Prior art date
Application number
KR1020177030386A
Other languages
English (en)
Other versions
KR102403705B1 (ko
Inventor
제임스 카프
바실리 키리브
Original Assignee
자일링크스 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 자일링크스 인코포레이티드 filed Critical 자일링크스 인코포레이티드
Publication of KR20170133393A publication Critical patent/KR20170133393A/ko
Application granted granted Critical
Publication of KR102403705B1 publication Critical patent/KR102403705B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/52Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
    • H01L23/538Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames the interconnection structure between a plurality of semiconductor chips being formed on, or in, insulating substrates
    • H01L23/5382Adaptable interconnections, e.g. for engineering changes
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/52Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
    • H01L23/538Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames the interconnection structure between a plurality of semiconductor chips being formed on, or in, insulating substrates
    • H01L23/5386Geometry or layout of the interconnection structure
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/03Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
    • H01L25/04Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
    • H01L25/065Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
    • H01L25/0655Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00 the devices being arranged next to each other
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/18Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different subgroups of the same main group of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N
    • 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 at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1731Optimisation thereof
    • H03K19/1732Optimisation thereof by limitation or reduction of the pin/gate ratio
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/02Bonding areas; Manufacturing methods related thereto
    • H01L2224/04Structure, shape, material or disposition of the bonding areas prior to the connecting process
    • H01L2224/0401Bonding areas specifically adapted for bump connectors, e.g. under bump metallisation [UBM]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/12Structure, shape, material or disposition of the bump connectors prior to the connecting process
    • H01L2224/13Structure, shape, material or disposition of the bump connectors prior to the connecting process of an individual bump connector
    • H01L2224/13001Core members of the bump connector
    • H01L2224/13099Material
    • H01L2224/131Material with a principal constituent of the material being a metal or a metalloid, e.g. boron [B], silicon [Si], germanium [Ge], arsenic [As], antimony [Sb], tellurium [Te] and polonium [Po], and alloys thereof
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L2224/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • H01L2224/161Disposition
    • H01L2224/16151Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/16221Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/16225Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
    • H01L2224/16227Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation the bump connector connecting to a bond pad of the item
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/80Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected
    • H01L2224/81Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected using a bump connector
    • H01L2224/8119Arrangement of the bump connectors prior to mounting
    • H01L2224/81191Arrangement of the bump connectors prior to mounting wherein the bump connectors are disposed only on the semiconductor or solid-state body
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/80Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected
    • H01L2224/81Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected using a bump connector
    • H01L2224/818Bonding techniques
    • H01L2224/81801Soldering or alloying
    • H01L2224/81815Reflow soldering
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/28Encapsulations, e.g. encapsulating layers, coatings, e.g. for protection
    • H01L23/31Encapsulations, e.g. encapsulating layers, coatings, e.g. for protection characterised by the arrangement or shape
    • H01L23/3107Encapsulations, e.g. encapsulating layers, coatings, e.g. for protection characterised by the arrangement or shape the device being completely enclosed
    • H01L23/3121Encapsulations, e.g. encapsulating layers, coatings, e.g. for protection characterised by the arrangement or shape the device being completely enclosed a substrate forming part of the encapsulation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/10Details of semiconductor or other solid state devices to be connected
    • H01L2924/11Device type
    • H01L2924/14Integrated circuits
    • H01L2924/143Digital devices
    • H01L2924/1431Logic devices
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/1517Multilayer substrate
    • H01L2924/15192Resurf arrangement of the internal vias
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/153Connection portion
    • H01L2924/1531Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface
    • H01L2924/15311Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface being a ball array, e.g. BGA
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/153Connection portion
    • H01L2924/1532Connection portion the connection portion being formed on the die mounting surface of the substrate
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/19Details of hybrid assemblies other than the semiconductor or other solid state devices to be connected
    • H01L2924/191Disposition
    • H01L2924/19101Disposition of discrete passive components
    • H01L2924/19107Disposition of discrete passive components off-chip wires

Abstract

다양한 예시적인 구현들은 멀티-다이 집적 회로(IC) 패키지 상의 다이간 통신을 위한 회로들 및 방법들에 관한 것이다. 예시적인 구현에 따라, IC 패키지(200, 400)는 패키지의 각각의 데이터 단자들(218)을 통해 데이터를 통신하기 위한 복수의 통신 회로들을 갖는 제 1 반도체 다이(208, 400)를 포함한다. 패키지는 또한 반도체 다이로의 및 반도체 다이로부터의 데이터를 통신하기 위한 N 개의 콘택들(140, 206)을 갖는 제 2 반도체 다이(102, 410)를 포함한다. 제 2 반도체 다이(102, 410)는 패키지의 하나 또는 그 초과의 다른 반도체 다이들과 M(M>N)개의 병렬 데이터 신호들을 통신하도록 구성된 프로그래밍 가능한 로직 회로(110,412)를 포함한다. 제 2 반도체 다이는 또한 복수의 직렬화기 회로들(130, 414)을 포함하고, 각각의 직렬화기 회로는 복수의 M개의 신호 라인들(120, 416)의 각각의 서브세트로부터의 데이터를 직렬화하여 직렬화된 데이터를 생성하고 직렬화된 데이터를 콘택들(140, 206)의 각각의 콘택에 제공하도록 구성된다.

Description

멀티-다이 패키지들에서의 통신을 위한 방법 및 회로들
본 개시는 일반적으로 데이터 통신에 관한 것으로서, 보다 구체적으로는, 멀티-다이(multi-die) 집적 회로(IC) 패키지 내의 다이들 사이의 데이터의 통신에 관한 것이다.
PLD(programmable logic device)들은 특정된 로직 기능들을 수행하도록 프로그래밍될 수 있는 잘 알려진 타입의 프로그래밍 가능한 IC이다. 하나의 타입의 PLD인 FPGA(field programmable gate array)는 통상적으로 프로그래밍 가능한 타일들의 어레이를 포함한다. 이러한 프로그래밍 가능한 타일들은 예를 들어, 입력/출력 블록(IOB)들, 구성 가능한 로직 블록(CLB)들, 전용 랜덤 액세스 메모리 블록(BRAM)들, 곱셈기들, 디지털 신호 프로세싱 블록(DSP)들, 프로세서들, 클록 관리자들, 지연 동기 루프(DLL), 버스 또는 네트워크 인터페이스들, 예컨대, PCIe(Peripheral Component Interconnect Express) 및 이더넷 등을 포함할 수 있는 다양한 타입들의 로직 블록들을 포함한다.
각각의 프로그래밍 가능한 타일은 통상적으로, 프로그래밍 가능한 상호연결 및 프로그래밍 가능한 로직 둘 다를 포함한다. 프로그래밍 가능한 상호연결은 통상적으로 PIP(programmable interconnect point)들에 의해 상호연결되는 가변 길이들의 매우 다수의 상호연결 라인들을 포함한다. 프로그래밍 가능한 로직은 예를 들어, 함수 생성기들, 레지스터들, 산술 로직 등을 포함할 수 있는 프로그래밍 가능한 엘리먼트들을 사용하여 사용자 설계의 로직을 구현한다.
프로그래밍 가능한 상호연결 및 프로그래밍 가능한 로직은 통상적으로 프로그래밍 가능한 엘리먼트들이 어떻게 구성되는지를 정의하는 구성 데이터의 스트림을 내부 구성 메모리 셀들 내로 로딩함으로써 프로그래밍된다. 구성 데이터는 메모리로부터(예를 들어, 외부 PROM로부터) 판독되거나 외부 디바이스에 의해 FPGA에 기록될 수 있다. 개별 메모리 셀들의 집합적인 상태들이 그 후 FPGA의 기능을 결정한다.
다양한 예시적인 구현들은 멀티-다이 IC 패키지 상의 다이간 통신을 위한 회로들 및 방법들에 관한 것이다. 예시적인 구현에 따라, IC는 M 개의 신호 라인들을 갖는 제 1 반도체 다이 및 반도체 다이 상에, 로직 회로를 포함한다. 로직 회로는 M 개의 신호 라인들을 통해, 제 1 반도체 다이에 통신 가능하게 커플링되는 하나 또는 그 초과의 반도체 다이들과 M 개의 데이터 신호들을 통신하도록 구성된다. IC는 또한 반도체 다이 상의 복수의 콘택들을 포함한다. 복수의 콘택들은 적어도 N 개의 콘택들을 포함하며, 여기서 N은 M 미만이다. 반도체 다이 상의 복수의 직렬화기 회로들은 직렬화된 데이터를 생성하기 위해 복수의 M개의 신호 라인들의 각각의 서브세트로부터의 데이터를 직렬화하도록 구성되고, 각각의 직렬화기 회로는 직렬화된 데이터를 콘택들의 각각의 콘택에 제공한다.
선택적으로, 장치는 하나 또는 그 초과의 반도체 다이들을 더 포함한다. 하나 또는 그 초과의 반도체 다이들 및 제 1 반도체 다이는 IC 패키지로의 및 IC 패키지로부터의 데이터의 통신을 위한 데이터 단자들의 세트를 갖는 집적 회로(IC) 패키지에 배치될 수 있다. 하나 또는 그 초과의 반도체 다이들에 포함된 제 2 반도체 다이는 복수의 통신 회로들을 포함하고, 각각의 통신 회로는 데이터 단자들의 세트의 각각의 데이터 단자를 통해 데이터를 통신하도록 구성된다.
선택적으로, 제 1 반도체 다이는 복수의 비직렬화기(deserializer) 회로들을 더 포함하고, 각각의 비직렬화기 회로는 콘택들의 각각의 콘택으로부터 직렬화된 데이터를 수신하여 비직렬화된 데이터를 생성하며 비직렬화된 데이터를 복수의 M개의 신호 라인들 각각에 분배하도록 구성된다.
선택적으로, 제 2 반도체 다이의 복수의 통신 회로들 중 적어도 하나는 신호 경로들의 각각의 신호 경로로부터 직렬화된 데이터를 수신하도록 커플링되고, 데이터 단자들의 세트의 각각의 데이터 단자를 통해 직렬화된 데이터를 송신하도록 구성된다.
선택적으로, 제 2 반도체 다이는 신호 경로들의 각각의 신호 경로를 통해 제 1 반도체 다이로부터 직렬화된 데이터를 수신하도록 커플링되고, 병렬 데이터 신호들의 세트를 생성하기 위해 직렬화된 데이터를 비직렬화하고 복수의 통신 회로들의 각각의 통신 회로에 병렬 데이터 신호들의 세트의 각각의 데이터 신호를 제공하도록 구성되는 비직렬화기 회로를 더 포함하고, 각각의 통신 회로는 데이터 단자들의 각각의 데이터 단자 상에서 데이터 신호를 송신하도록 구성된다.
선택적으로, 제 2 반도체 다이의 복수의 통신 회로들 중 적어도 하나의 통신 회로는 각각의 데이터 단자로부터 수신된 신호를 복조하여 직렬화된 데이터를 포함하는 복조된 신호를 생성하고 복조된 신호를 신호 경로들의 각각의 신호 경로를 통해 로직 회로에 송신하도록 구성된다.
선택적으로, 복수의 통신 회로들 중 2개 또는 그 초과는 각각의 복조된 신호를 생성하기 위해 각각의 데이터 단자로부터 수신된 각각의 신호를 복조하도록 각각 구성되고 제 2 반도체 다이는 복수의 통신 회로들 중 2개 또는 그 초과에 의해 생성된 복조된 신호를 직렬화하여 각각의 직렬화된 신호를 생성하고 신호 경로들 중 하나를 통해 제 1 반도체 다이에 각각의 직렬화된 신호를 송신하도록 구성되는 직렬화기 회로를 더 포함한다.
선택적으로, 제 1 반도체 다이는 제 1 리소그라피 프로세스 크기를 갖는 복수의 프로그래밍 가능한 로직 자원들을 포함하고 제 2 반도체 다이의 회로들은 제 1 리소그라피 프로세스 크기보다 큰 제 2 리소그라피 프로세스를 갖는다.
선택적으로, IC 패키지는 IC 패키지의 기판 및 기판 상에 있고 제 2 반도체 다이의 콘택들 각각을 복수의 반도체 다이들 중 다른 하나의 각각의 콘택에 커플링하도록 구성되는 인터포저(interposer)를 더 포함한다.
선택적으로, IC 패키지는 기판 상에 있고 제 2 반도체 다이의 콘택들 각각을 복수의 반도체 다이들 중 다른 하나의 각각의 콘택에 커플링하도록 구성되는 하나 또는 그 초과의 배선층들을 더 포함한다.
선택적으로, 제 1 반도체 다이는 X 유닛들2과 동일한 영역을 갖고, 각각의 콘택은 제 1 반도체 다이의 X유닛들2 중 Y 유닛들2을 포함하는 각각의 콘택 영역에 로케이팅되고, N 개의 콘택들의 수는 X/Y 이하이다.
멀티-다이 IC 패키지에서의 다이간 통신을 위한 방법이 또한 개시된다. IC 패키지의 제 1 반도체 다이 상의 로직 회로를 사용하여, M 개의 데이터 신호들은 제 1 반도체 다이 상의 M 개의 신호 라인들을 통해 IC 패키지의 다른 다이들과 병렬로 통신된다. 제 1 반도체 다이 상의 복수의 직렬화기 회로들 각각에 대해, M개의 데이터 신호들의 각각의 제 1 서브세트는 각각의 제 1 직렬화된 데이터 신호를 생성하기 위해 직렬화된다. 각각의 제 1 직렬화된 데이터 신호는 제 1 반도체 다이의 N 개의 콘택들의 각각의 콘택에 제공되며, 여기서 N<M이다. 제 1 반도체 다이 상의 복수의 비직렬화기 회로들 각각에 대해, N 개의 콘택들 중 하나 상의 각각의 제 2 직렬화된 데이터 신호는 M 개의 데이터 신호들의 각각의 제 2 서브세트를 생성하기 위해 비직렬화된다. 각각의 제 2 서브세트의 데이터 신호들은 M개의 신호 라인들의 각각의 신호 라인들에 제공된다.
선택적으로, 방법은 N 개의 콘택들의 각각의 콘택으로부터의 제 1 직렬화된 데이터 신호를 IC 패키지의 제 2 반도체 다이에 제공하는 단계를 더 포함한다.
선택적으로, 제 1 직렬화된 데이터 신호를 제 2 반도체 다이에 제공하는 단계는 인터포저를 통해 제 1 직렬화된 데이터 신호를 제 2 반도체 다이에 통신하는 단계를 포함한다.
선택적으로, 제 1 직렬화된 데이터 신호를 제 2 반도체 다이에 제공하는 단계는 IC 패키지의 기판 상의 신호 라인을 통해 제 1 직렬화된 데이터 신호를 통신하는 단계를 포함한다.
선택적으로, 방법은 제 2 반도체 다이 상의 통신 회로를 사용하여, IC 패키지의 외부 데이터 단자를 통해 제 1 직렬화된 데이터 신호를 송신하는 단계를 더 포함한다.
선택적으로, 방법은, 제 2 반도체 다이 상의 비직렬화기 회로를 사용하여, 복수의 병렬 데이터 신호들을 생성하기 위해 제 1 직렬화된 데이터 신호를 비직렬화하는 단계 및 제 2 반도체 다이 상의 각각의 통신 회로들을 사용하여, IC 패키지의 각각의 데이터 단자들을 통해 복수의 병렬 데이터 신호들을 송신하는 단계를 더 포함한다.
선택적으로, 방법은 제 2 반도체 다이 상의 직렬화기 회로를 사용하여, 제 1 반도체 다이 상의 복수의 비직렬화기 회로들 중 하나에 대한 각각의 제 2 직렬화된 데이터 신호를 생성하기 위해 복수의 데이터 단자들로부터의 데이터 신호들을 직렬화하는 단계를 더 포함한다.
선택적으로, 제 1 반도체 다이의 회로들은 제 1 프로세스 크기를 갖는 리소그라피를 사용하여 형성되고 제 2 반도체 다이의 회로들은 제 1 프로세스 크기보다 큰 제 2 프로세스 크기를 갖는 리소그라피를 사용하여 형성된다. 제 1 반도체 다이는 X 유닛들2과 동일한 영역을 가질 수 있고 N 개의 콘택들 각각은 제 1 반도체 다이의 (X/M) 유닛들2 초과를 포함하는 각각의 콘택 영역에 로케이팅된다.
예시적인 구현에 따라, IC 패키지는 기판 및 기판에 커플링되며, IC 패키지로의 및 IC 패키지로부터의 데이터를 통신하기 위한 데이터 단자들의 세트를 포함한다. IC 패키지는 IC 패키지의 각각의 데이터 단자들을 통해 데이터를 통신하기 위한 복수의 통신 회로들을 갖는 제 1 반도체 다이를 포함한다. IC 패키지는 또한 제 2 반도체 다이로의 및 제 2 반도체 다이로부터의 데이터를 통신하기 위한 N 개의 콘택들을 갖는 제 2 반도체 다이를 포함한다. 제 2 반도체 다이는 패키지의 하나 또는 그 초과의 다른 반도체 다이들과 병렬로 M(M> N)개 데이터 신호들을 통신하도록 구성된 로직 회로를 포함한다. 제 2 반도체 다이는 또한, 복수의 직렬화기 회로들을 포함하며, 각각의 직렬화기 회로는 복수의 M개의 신호들의 각각의 서브세트로부터의 데이터를 직렬화하여 직렬화된 데이터를 생성하고 직렬화된 데이터를 N 개의 콘택들의 각각의 콘택에 제공하도록 구성된다.
다른 특징들은 하기의 상세한 설명 및 청구항들을 고려하여 인지될 것이다.
방법들 및 회로들의 다양한 양상들 및 특징들은 다음의 상세한 설명을 검토하고 도면들을 참조할 때 명백해질 것이다.
도 1은 더 적은 수의 콘택들을 사용하여 다수의 데이터 신호들의 다이간(inter-die) 통신을 위해 구성된 예시적인 반도체 다이를 도시한다.
도 2는 다이간 통신을 위해 구성된 제 1 및 제 2 반도체 다이들을 갖는 제 1 IC 패키지의 단면을 도시한다.
도 3은 다이간 통신을 위해 구성된 제 1 및 제 2 반도체 다이들을 갖는 제 2 IC 패키지의 단면을 도시한다.
도 4는 다이간 통신을 위한 예시적인 회로들의 블록도를 도시한다.
도 5는 멀티-다이 IC 패키지의 반도체 다이로부터 데이터를 통신하기 위한 예시적인 프로세스를 도시한다.
도 6은 멀티-다이 IC 패키지의 반도체 다이로 데이터를 통신하기 위한 예시적인 프로세스를 도시한다.
도 7은 하나 또는 그 초과의 구현들에 따라 구성될 수 있는 프로그래밍 가능한 IC를 도시한다.
이하의 설명에서, 다수의 특정 세부사항들이 본원에서 제시된 특정 예들을 설명하기 위해 기술된다. 그러나 하나 또는 그 초과의 다른 예들 및/또는 이들 예들의 변형들이 이하에 주어진 모든 특정 세부사항들 없이 실시될 수 있다는 것이 당업자에게 자명해져야 한다. 다른 경우들에서, 잘 알려진 특징들은 본원의 예들의 설명을 모호하게 하지 않도록 상세히 설명되지 않았다. 예시의 용이함을 위해, 동일한 참조 번호들은 상이한 도면들에서 동일한 엘리먼트들 또는 동일한 엘리먼트의 부가적인 경우들을 지칭하도록 사용될 수 있다.
멀티-다이 IC 패키지는 함께 커플링되고 단일 패키지 내에 배치되는 복수의 반도체 다이들을 포함한다. 각각의 반도체 다이는 IC 패키지의 각각의 컴포넌트를 구현한다. 일반적으로, 반도체 다이들 중 임의의 하나 내에서 발생하는 제조 결함은 IC 패키지를 작동 불가능하게 한다. IC 패키지의 각각의 컴포넌트들을 구현하기 위한 다수의 반도체 다이들의 사용은 IC 패키지의 최종 조립 이전에 컴포넌트들이 별개로 제조되고 테스트되는 것을 허용한다. 따라서, 결함이 있는 컴포넌트들은 최종 IC 패키지로 조립되기 전에 개별적으로 식별될 수 있다. 이러한 방식으로, IC 패키지의 제조를 위한 생산 수율이 증가될 수 있다.
데이터는 반도체 다이들 상의 각각의 콘택들 사이의 다이간 연결들을 통해 멀티-다이 IC 패키지의 개별 반도체 다이들 사이에서 통신된다. 다이간 연결은 예를 들어, IC 패키지의 기판 및/또는 인터포저 상의 신호 라인들을 포함할 수 있다. 콘택들은 예를 들어, 와이어본드들, C4 솔더 볼들 및/또는 마이크로범프들을 포함하는 다양한 제조 기술들을 사용하여 신호 라인들에 연결될 수 있다. 참조의 용이함을 위해, 예들은 마이크로범프들을 사용하여 반도체 패키지에 장착되고 상호연결되는 반도체 다이들을 참조하여 주로 설명될 수 있지만, 이것으로 제한되지는 않는다.
리소그라피 프로세스의 진보들은 주어진 실리콘 영역에서 인쇄될 수 있는 회로의 밀도를 계속 증가시킨다. 통상적으로, 반도체 다이 상에 통합된 회로의 양이 증가됨에 따라, 데이터의 입력 및 출력을 위한 콘택들의 수가 증가된다. 그러나 현재 제조 기술들의 한계들로 인해, 반도체 다이로의 및/또는 반도체 다이로부터의 데이터의 통신을 위해 원하는 수의 콘택들을 수용하기 위한 충분한 영역이 반도체 다이 상에 없을 수 있다. 예를 들어, 프로그래밍 가능한 IC의 경우, 수천 개의 병렬 데이터 신호들이 프로그래밍 가능한 로직 회로들과 프로그래밍 가능한 로직 회로 외부의 다양한 통신 회로들 사이에서 통신될 필요가 있을 수 있다. 반도체 다이 상에 프로그래밍 가능한 로직 회로들을 형성하기 위해 28nm 리소그라피가 사용되는 경우, 프로그래밍 가능한 로직 회로들로부터의 모든 데이터 신호들을 각각의 신호 라인들에 통신하기 위해 1-2 ㎛ 피치 콘택들이 필요할 수 있다. 그러나 현재 이용 가능한 콘택들은 통상적으로 약 35-40 ㎛의 최소 피치를 갖는다. 따라서, 반도체 다이의 실리콘 영역 내에 데이터 신호들 각각에 대한 각각의 콘택들을 형성하는 것이 가능하지 않을 수 있다.
더 적은 수의 콘택들을 사용하여 멀티-다이 IC 패키지의 반도체 다이로의 및/또는 이로부터의 더 많은 수의 데이터 신호들을 통신하기 위한 회로들 및 방법들이 개시된다. 예시적인 구현에 따라, IC 패키지는 패키지의 하나 또는 그 초과의 다른 반도체 다이들과 병렬로 제 1 수(M)의 데이터 신호들을 통신하도록 구성된 로직 회로를 갖는 제 1 반도체 다이를 포함한다. 제 1 반도체 다이는 데이터 신호들의 수보다 적은 제 2 수(N)의 콘택들을 포함한다. 제 1 반도체 다이는 또한 하나 또는 그 초과의 직렬화기 회로들을 포함한다. 각각의 직렬화기 회로는 M 개의 데이터 신호들의 각각의 서브세트를 직렬화하여 직렬화된 데이터 신호를 생성하고 직렬화된 데이터 신호를 N 개의 콘택들의 각각의 콘택에 제공하도록 구성된다. 직렬화는 단일 신호 경로를 통한 순차적 송신을 위해 M 개의 데이터 신호들의 각각의 비트들을 단일 데이터 신호로 배열한다. 대안적으로 또는 부가적으로, 제 1 반도체 다이는 하나 또는 그 초과의 비직렬화기 회로들을 포함할 수 있다. 각각의 비직렬화기는 M 개의 데이터 신호들의 서브세트를 생성하기 위해 N 개의 콘택들의 각각의 콘택 상의 직렬화된 데이터 신호를 비직렬화하도록 구성된다. 비직렬화는 각각의 신호 라인들 상의 송신을 위해 직렬화된 데이터 신호를 컴포넌트 데이터 신호들로 분리한다. 참조의 용이함을 위해, 직렬화되지 않은 데이터 신호들은 병렬 데이터 신호들 또는 병렬로 통신되는 데이터 신호로서 지칭될 수 있다.
개시된 구현들은 다수의 상호연결된 반도체 다이들에 의해 구현되는 다양한 회로들을 갖는 IC 패키지들에 적용 가능하다. 설명의 용이함을 위해, 본 개시의 예들은 일반적으로 제 1 반도체 다이 상의 프로그래밍 가능한 로직 회로 및 제 2 반도체 다이 상의 하나 또는 그 초과의 통신 회로들을 포함하는 IC 패키지를 참조하여 논의될 수 있다. 제 2 반도체 다이 상의 통신 회로들은, 예를 들어, IC 패키지의 외부 데이터 단자들의 세트를 통해 IC 패키지로의 및/또는 IC 패키지로부터의 데이터를 통신하도록 구성될 수 있다.
일부 구현들에서, 통신 회로들 중 하나 또는 그 초과는 IC 다이로부터의 송신을 위해 제 1 반도체 다이로부터 제 2 반도체 다이로 통신되는 직렬화된 데이터 신호를 인코딩한다. 대안적으로 또는 부가적으로, 제 2 반도체 다이는 병렬 데이터 신호들의 세트를 생성하기 위해 제 1 반도체 다이로부터 제 2 반도체 다이로 통신되는 직렬화된 데이터 신호를 비직렬화하도록 구성되는 비직렬화기 회로를 포함할 수 있다. 병렬 데이터 신호들 각각은 데이터 단자들의 각각의 데이터 단자를 통한 송신을 위해 각각의 통신 회로들에 의해 인코딩될 수 있다. 상이한 통신 회로들은 다양한 통신 프로토콜들을 사용하여 직렬화된 또는 병렬 데이터 신호들을 인코딩할 수 있다. 통신 회로들에 의해 생성되는 변조된 신호들은 IC 패키지의 데이터 단자들의 각각의 데이터 단자들 상에서 통신 회로들에 의해 송신된다.
일부 구현들에서, 제 2 반도체 다이 상의 통신 회로들 중 하나 또는 그 초과는 IC 패키지의 데이터 단자들로부터 수신된 데이터 신호들을 복조하고 복조된 신호들을 직렬화된 데이터로서 제 1 반도체 다이에 통신하도록 구성된다. 일부 통신 회로들의 경우, 복조된 신호는 통신 회로에 의해 제 1 반도체 다이에 직접 통신될 수 있는 직렬화된 데이터를 포함할 수 있다. 일부 다른 통신 회로들의 경우, 복조된 신호들은 직렬화된 데이터를 포함하지 않는다. 일부 구현들에서, 제 2 반도체 다이는 제 1 반도체 다이로의 통신을 위한 직렬화된 데이터 신호를 생성하기 위해 복수의 복조된 신호들을 직렬화하도록 구성되는 직렬화기 회로를 포함할 수 있다.
위에서 표시된 바와 같이, IC 패키지에서 다수의 반도체 다이들의 사용은 IC 패키지의 회로 컴포넌트들이 IC 패키지의 조립 이전에 별개로 제조되고 테스트되는 것을 허용한다. 그러나 반도체 다이들의 실리콘 영역은 반도체 다이들 사이에서 통신되는 데이터 신호들 각각에 대한 각각의 콘택들을 수용하기 위해 증가될 필요가 있을 수 있다. 실리콘 영역의 이러한 증가는 개별 반도체 다이 및 결과적인 IC 패키지의 제조 비용을 증가시킨다.
다이간 통신을 위한 개시된 회로들 및 방법들은 멀티-다이 IC 패키지의 개별 반도체 다이들이 각각의 다이간 데이터 신호에 대한 각각의 콘택을 포함하기 위해 필요했을 그 영역 보다 작은 영역 치수들로 형성되도록 허용한다. 보다 적은 콘택들을 사용하여 데이터 신호들을 통신함으로써, 반도체 다이들의 실리콘 영역이 감소될 수 있다. 따라서, IC 패키지의 회로들은 부가적인 콘택들을 포함하기 위해 실리콘 영역을 증가시킴 없이 다수의 반도체 다이들을 사용하여 구현될 수 있다.
IC 패키지에서 다수의 반도체 다이들의 사용은 또한 상이한 회로들이 상이한 리소그라피 프로세스들을 사용하여 형성되도록 허용한다. 예를 들어, 일부 구현들에서, 프로그래밍 가능한 로직 회로가 보다 작은 리소그라피 프로세스 크기를 사용하여 제 1 반도체 다이에 형성될 수 있고, 데이터의 입력/출력을 위한 통신 회로가 보다 큰 리소그라피 프로세스 크기를 사용하여 제 2 반도체 다이 상에 형성될 수 있다.
이제 도면들을 참조하면, 도 1은 더 적은 수의 콘택들을 사용하여 다수의 데이터 신호들의 다이간 통신을 위해 구성된 예시적인 반도체 다이를 도시한다. 이 예에서, 반도체 다이(102)는 반도체 다이로의 및/또는 반도체 다이로부터의 데이터 신호들의 통신을 위해 복수의 콘택들(140)을 포함한다. 콘택들의 최대수는 반도체 다이의 전체 영역 및 각각의 콘택에 필요한 영역에 의해 제한된다. 예를 들어, 길이 X 유닛들을 갖는 정사각형 반도체 다이 및 길이 Y 유닛들을 갖는 정사각형 콘택들의 경우, 반도체 다이는 X * X 유닛들2의 영역을 갖고 콘택들은 Y * Y 유닛들2을 필요로 한다. 따라서, 반도체 다이(102) 상에 포함될 수 있는 콘택들의 수(N)는 X2/Y2를 초과할 수 없다. 반도체 다이(102)는 패키지의 하나 또는 그 초과의 다른 반도체 다이들과 병렬로, 콘택들(140)의 수보다 큰 수(M)의 데이터 신호들을 통신하도록 구성된 로직 회로(110)를 포함한다. 이 예에서, 로직 회로(110)는 병렬 신호 라인(120)들의 세트의 각각의 병렬 신호 라인을 통해 M 개의 데이터 신호들 각각을 통신하도록 구성된다.
제 1 반도체 다이는 또한, 신호 라인들(120)에 커플링되는 하나 또는 그 초과의 직렬화기 회로들 및/또는 비직렬화기 회로들을 갖는 직렬화 회로(130)를 포함한다. 직렬화 회로(130)의 각각의 직렬화기 회로는, 만약 있다면, 각각의 직렬화된 데이터 신호를 생성하기 위해, 프로그래밍 가능한 로직(110)으로부터 수신된 M개의 데이터 신호들의 각각의 제 1 서브세트를 직렬화하도록 구성된다. 직렬화는 M개의 신호 라인들의 데이터 값들을, 단일 신호 라인을 통해 통신할 수 있는 순차적인 시퀀스로 배열한다. 각각의 직렬화기는 IC 패키지의 하나 또는 그 초과의 다른 다이들로의 송신을 위해 N 개의 콘택들(140)의 각각의 콘택에 각각의 직렬화된 데이터 신호를 제공한다.
다이간 통신 회로(130)의 각각의 비직렬화기 회로는, 만약 있다면, M 개의 데이터 신호들의 각각의 제 2 서브세트를 생성하기 위해 콘택들(140)의 각각의 콘택을 통해 IC 패키지의 다른 다이로부터 수신된 직렬화된 신호를 비직렬화하도록 구성된다. 비직렬화는 통신을 위해 직렬화된 데이터 신호의 M개의 순차적인 데이터 값들을 각각의 신호 라인들 상의 M 개의 병렬 데이터 신호들로서 배열한다. 각각의 제 2 서브세트의 M 개의 데이터 신호들은 신호 라인들(120)의 각각의 신호 라인들에 제공된다.
도 2는 다이간 통신을 위해 구성된 제 1 및 제 2 반도체 다이들을 갖는 제 1 IC 패키지의 단면을 도시한다. IC 패키지(200)는 마이크로범프들(206)의 세트에 의해 기판(202)에 커플링되는 프로그래밍 가능한 로직 다이(102) 및 I/O 다이(208)를 포함한다. 마이크로범프들(206) 각각은, 기판(202)상의 배선층(214)에 연결되는 각각의 콘택(도시되지 않음)에 다이들 중 하나 상의 각각의 콘택(도시되지 않음)을 전기적으로 커플링되는 솔더 볼이다. 배선층(214)은 배선층 상의 다양한 위치들 사이에서 데이터 신호들을 라우팅하기 위한 복수의 각각의 신호 라인들(도 2에 도시되지 않음)을 포함한다. IC 패키지(200)의 제조 동안, 마이크로범프들(206)은 초기에 반도체 다이들(102 및 208) 상의 콘택들에 부착될 수 있다. 마이크로범프들(206)은 그 후 기판(202) 상의 대응하는 콘택들과 정렬될 수 있다. 마이크로범프들(206)은 다이들의 콘택들과 기판(202) 상의 콘택들 사이에 전기적 연결을 형성하도록 재유동된다.
도 1을 참조하여 설명된 바와 같이, 프로그래밍 가능한 로직 다이(102)는 다수의 데이터 신호들을 IC의 다른 다이들과 통신하도록 구성된 프로그래밍 가능한 로직 회로(110)를 포함한다. 프로그래밍 가능한 로직 다이(102)는 또한, 직렬화된 데이터 신호들로서 프로그래밍 가능한 로직 다이(102)와 I/O 다이(208) 사이에서 M개의 데이터 신호들을 통신하기 위한 직렬화기 회로들 및/또는 비직렬화기 회로들을 갖는 다이간 통신 회로(130)를 포함한다. 직렬화된 데이터 신호들 각각은 배선층(214)의 각각의 신호 라인, 프로그래밍 가능한 로직 다이(102)를 신호 라인에 커플링하는 마이크로범프들(206) 중 제 1 마이크로범프 및 I/O 다이(208)를 배선층(214)의 신호 라인에 커플링하는 마이크로범프들(206) 중 제 2 마이크로범프를 포함하는 각각의 다이간 통신 경로 상에서 프로그래밍 가능한 로직 다이(102)와 I/O 다이(208) 사이에서 통신된다.
IC 패키지는 또한 IC 패키지(200)로의 및/또는 IC 패키지(200)로부터의 데이터를 통신하기 위한 복수의 데이터 단자들(218)을 포함한다. 이 예에서, 데이터 단자들(218)은 본드와이어들(214)을 통해 기판(202)상의 배선층(214)에 통신 가능하게 커플링된다. 다른 예로서, 일부 구현들에서, 데이터 단자들은 기판(202) 상에 형성되고 배선층(214)에 직접 연결될 수 있다.
I/O 다이(208)는 데이터 단자들(218)을 통해 IC 패키지로의 또는 IC 패키지로부터의 데이터 신호들을 통신하도록 구성되는 복수의 통신 회로들을 포함한다. 데이터 신호들은 마이크로범프들(206) 중 하나, 배선층(214)의 신호 라인, 본드와이어들(216) 중 하나 및 데이터 단자들(218) 중 하나를 포함하는 신호 경로를 통해 통신 회로에 의해 송신 및/또는 수신된다. 상이한 구현들에서, I/O 다이(208)의 통신 회로들은 직렬화된 또는 비직렬화된 포맷들로 IC 패키지(200)로의 그리고 IC 패키지(200)로부터의 데이터를 통신할 수 있다. 또한, 상이한 통신 회로들은 예를 들어, AXI, PCIe 및/또는 이더넷을 포함하는 다양한 통신 프로토콜을 사용하여 데이터를 송신 또는 수신할 수 있다.
도 2에 도시된 예에서, 프로그래밍 가능한 로직 다이(102) 및 I/O 다이(208)는 마이크로범프들을 통해 기판 배선층(214)에 직접 커플링된다. 일부 구현들에서, 하나 또는 그 초과의 반도체 다이들은 예를 들어, 인터포저를 통해 기판 배선층(214)에 간접적으로 커플링되거나, 또는 반도체 다이들 중 다른 하나 상에 적층되고 커플링될 수 있다.
도 3은 인터포저를 통해 기판에 간접적으로 커플링되는 제 1 및 제 2 반도체들을 갖는 예시적인 IC 패키지의 단면을 도시한다. IC 패키지(300)는 도 2를 참조하여 설명된 바와 같이, 기판(202), 배선층(214), 데이터 단자들(218), 본드와이어들(216), 프로그래밍 가능한 로직 다이(102) 및 I/O 다이(208)를 포함한다. 이 예에서, 프로그래밍 가능한 로직 다이(102) 및 I/O 다이(208)는 인터포저(310) 상에 장착된다. 프로그래밍 가능한 로직 다이(102) 및 I/O 다이(208)의 콘택들은 마이크로범프들(316)의 세트에 의해 인터포저(310) 상의 제 2 배선층(314)에 커플링된다. 직렬화된 데이터 신호들은 각각의 신호 경로들을 통해 프로그래밍 가능한 로직 다이(102)와 I/O 다이(208) 사이에서 통신된다. 프로그래밍 가능한 로직 다이(102)와 I/O 다이(208) 사이의 신호 경로들 각각은 배선층(314)의 각각의 신호 라인, 프로그래밍 가능한 로직 다이(102)를 신호 라인에 커플링하는 각각의 제 1 마이크로범프, 및 I/O 다이(208)를 신호 라인에 커플링하는 각각의 제 2 마이크로범프를 포함한다.
인터포저(310)는 인터포저(310)의 하부측 상의 C4 솔더볼들(312)의 각각의 C4 솔더볼에 배선층(314)의 각각의 신호 라인을 각각 커플링하는 다수의 비아들(도 3에 도시되지 않음)을 포함한다. C4 솔더볼들(312)은 기판(202)상의 배선층(214)의 각각의 신호 라인들 상에 장착되고 거기에 커플링된다. 이 예에서, I/O 다이(208)에 의해 IC 패키지(300)로 및 IC 패키지(300)로부터 통신되는 각각의 데이터 신호는 마이크로범프들 중 하나, 배선층(314)의 신호 라인, 인터포저(310)의 비아, C4 솔더볼들 중 하나, 배선층(214)의 신호 라인, 본드와이어(216), 및 데이터 단자들(218) 중 하나를 통해 각각의 경로 상에서 통신된다.
도 4는 IC 패키지에서 다이간 통신을 위한 예시적인 회로들의 블록도를 도시한다. 이 예에서, IC 패키지(400)는 인터포저(420)에 의해 I/O 다이(440)에 커플링되는 프로그래밍 가능한 로직 다이(410)를 포함한다. 프로그래밍 가능한 로직 다이(410)는 M개의 신호 라인들(416) 상에서 병렬로 M 개의 데이터 신호들을 I/O 다이(440)와 통신하도록 구성되는 프로그래밍 가능한 로직 회로(412)를 포함한다. 프로그래밍 가능한 로직 다이(410)는 또한 프로그래밍 가능한 로직 다이(410)의 콘택들에 커플링되는 인터포저(420)를 통해 N 개의 각각의 신호 경로들(418) 상에서 직렬화된 데이터 신호들로서 M 개의 데이터 신호들을 통신하도록 구성되는 직렬화기/비직렬화기(serdes) 회로(414)를 포함한다. 보다 구체적으로, serdes 회로(414)는 각각의 직렬화된 신호들을 생성하도록 신호 라인들(416)의 각각의 그룹들의 데이터를 직렬화한다. 각각의 직렬화된 신호들 각각은 신호 경로들(418)의 각각의 신호 경로를 통해 I/O 다이(440)에 통신된다. 신호 경로들의 수(N)는 데이터 신호들의 수(M) 미만이다. serdes 회로(414)는 또한 I/O 다이(440)로부터 수신된 각각의 직렬화된 데이터 신호들을, 신호 라인들(416)의 각각의 신호 라인을 통해 프로그래밍 가능한 로직 회로에 각각 제공되는 복수의 병렬 신호들로 비직렬화한다.
I/O 다이(440)는 IC 패키지(400)로의 또는 IC 패키지(400)로부터의 데이터 신호들을 통신하도록 구성된 복수의 통신 회로들(442, 444, 446 및 448)을 포함한다. I/O 다이(440)는 상이한 구성들을 갖는 다양한 통신 회로들을 포함할 수 있다. 일부 구현들에서, 하나 또는 그 초과의 통신 회로들은 직렬화된 데이터 포맷으로 IC 패키지로의 또는 IC 패키지로부터의 데이터를 통신하도록 구성된다. 이 예에서, 제 1 통신 회로(442)는 IC 패키지(400)의 데이터 단자를 통해 프로그래밍 가능한 IC 다이(410)로부터 수신된 직렬화된 데이터 신호를 송신하도록 구성된다. 제 2 통신 회로(444)는 직렬화된 포맷으로 IC 패키지에 입력된 데이터를 수신하고 직렬화된 데이터를 프로그래밍 가능한 로직 다이(410)에 제공하도록 구성된다.
일부 구현들에서, 하나 또는 그 초과의 통신 회로들은 직렬화되지 않은 데이터 포맷으로 IC 패키지로의 또는 IC 패키지로부터의 데이터를 통신하도록 구성된다. 예를 들어, I/O 다이(440)는 병렬 신호들의 세트를 생성하기 위해 프로그래밍 가능한 IC 다이(410)로부터의 직렬화된 데이터 신호를 비직렬화하도록 구성되는 serdes 회로(450)를 포함한다. 병렬 신호들 각각은 각각의 통신 회로(446)에 의해 I/O 다이(440)로부터 송신된다. 반대로, serdes 회로(450)는 신호 라인들(418) 중 하나를 통해 프로그래밍 가능한 IC 다이에 제공되는 직렬화된 데이터 신호를 생성하기 위해 각각의 통신 회로들(448)에 의해 수신된 병렬 신호들을 직렬화하도록 구성될 수 있다.
도 5는 멀티-다이 IC 패키지의 IC 다이로부터 데이터를 통신하기 위한 예시적인 프로세스를 도시한다. 블록(502)에서, 제 1 반도체 다이 상의 프로그래밍 가능한 로직 회로는 제 1 반도체 다이 상의 M 개의 신호 라인들을 통해 동일한 IC 내의 다른 반도체 다이들과 병렬로 M 개의 데이터 신호들을 통신하는데 사용된다. 블록(504)에서, 제 1 반도체 다이 상의 복수의 직렬화기 회로들 각각에 대해, M개의 데이터 신호들의 각각의 제 1 서브세트는 각각의 직렬화된 데이터 신호를 생성하기 위해 직렬화된다. 블록(506)에서, 각각의 직렬화된 데이터 신호는 제 1 반도체 다이의 N 개의 콘택들의 각각의 콘택을 통해 통신된다. 콘택들의 수(N)는 데이터 신호들(M)의 수 미만이다.
도 6은 멀티-다이 IC 패키지의 IC 다이로 데이터를 통신하기 위한 예시적인 프로세스를 도시한다. 블록(602)에서, 직렬화된 데이터 신호는 콘택들의 각각의 콘택들로부터 각각의 비직렬화기 회로들에 제공된다. 블록(604)에서, 각각의 비직렬화기 회로에 제공된 직렬화된 데이터 신호는 M 개의 데이터 신호들의 각각의 제 2 서브세트를 생성하기 위해 비직렬화된다. 블록(606)에서, M 개의 데이터 신호들의 각각의 제 2 서브세트 각각은 M 개의 신호 라인들의 각각의 신호 라인에 제공된다.
위의 예들이 멀티-다이 IC 패키지의 반도체 다이들 사이의 직렬화된 데이터 신호들의 통신을 참조하여 주로 논의되었지만, 일부 구현들은 또한 반도체 다이들 사이에서 병렬 데이터 신호들을 통신할 수 있다. 예를 들어, 도 1을 재차 참조하면, 프로그래밍 가능한 로직 다이(102)는 각각의 콘택들을 통해 병렬로 M 개의 데이터 신호들의 제 1 서브세트를 통신하도록 적응될 수 있다. M개의 데이터 신호들의 제 2 서브세트는 앞서 논의된 바와 같이 직렬화된 포맷으로 직렬화 회로(130)에 의해 통신될 수 있다.
프로그래밍 가능한 로직 다이 상의 직렬화기 및/또는 비직렬화기 회로들은 다이 상의 하드와이어드 회로로서 또는 다이 상의 프로그래밍 가능한 로직 자원들에 의해 구현될 수 있다. 프로그래밍 가능한 로직에 하드와이어드 회로를 구현하는 것은, 다이간 통신 회로가 프로그래밍 가능한 로직으로 구현된 사용자 회로 설계의 통신 요건들에 맞도록 적응되는 것을 허용한다. 일부 구현들에서, 소프트웨어 회로 설계 툴은 프로그래밍 가능한 로직으로 구현되는 사용자 회로 설계로의 및/또는 사용자 회로 설계로부터의 신호들의 통신을 위해 직렬화 및/또는 비직렬화 회로의 생성 및/또는 구성을 보조하도록 구성될 수 있다. 예를 들어, 소프트웨어 회로 설계 툴은 사용자 회로 설계에서 I/O 신호들의 수 및 타겟 프로그래밍 가능한 IC 패키지에서 프로그래밍 가능한 로직 다이의 이용 가능한 I/O 콘택들의 수에 기초하여 직렬화된 포맷으로 통신될 필요가 있는 신호들의 수를 결정할 수 있다. 프로그래밍 가능한 로직 다이의 이용 가능한 I/O 콘택들의 수는 예를 들어, 다양한 프로그래밍 가능한 IC 패키지들에 대한 이용 가능한 I/O 콘택들의 각각의 수를 표시하는 데이터베이스로부터 결정될 수 있다. 직렬화된 포맷으로 통신될 필요가 있는 신호들의 수를 결정한 후에, 소프트웨어 회로 설계 툴은 직렬로 다수의 신호들을 통신하도록 사용자 회로 설계에서 직렬화/비직렬화 회로들을 자동으로 인스턴시에이트(instantiate)할 수 있다.
일부 구현들에서, 소프트웨어 회로 설계 툴은 I/O 신호들의 통신 요건들에 기초하여 직렬화될 사용자 회로 설계의 I/O 신호들 중에서 복수의 I/O 신호들을 선택할 수 있다. 예를 들어, 소프트웨어 설계 툴은 직렬화를 위해 가장 느린 전달 레이트를 갖는 I/O 신호들을 자동으로 선택할 수 있다. 역으로, 가장 높은 전달 레이트를 갖는 I/O 신호들은 직렬화되지 않은 포맷으로 통신되도록 선택될 수 있다. 다른 예로서, 소프트웨어 설계 툴은 I/O 신호들의 요구된 전달 레이트 및 I/O 콘택들의 전달 레이트에 기초하여 함께 직렬화될 I/O 신호들을 그룹핑할 수 있다. 직렬화될 I/O 신호들 중에서 복수의 I/O 신호들을 선택한 후에, 소프트웨어 회로 설계 툴은 선택된 I/O 신호들에 대응하는 신호 라인들을, 사용자 회로 설계에서 인스턴시에이트된 직렬화/비직렬화 회로들에 자동으로 연결할 수 있다.
도 7은 하나 또는 그 초과의 구현들에 따라 구성될 수 있는 프로그래밍 가능한 IC(702)를 도시한다. 프로그래밍 가능한 IC는 또한, 프로세싱 서브-시스템(710) 및 프로그래밍 가능한 로직 서브-시스템(730)을 포함하는 SOC(System On Chip)로서 지칭될 수 있다. 이 예에서, 프로그래밍 가능한 IC는 또한 전력 및/또는 안전 관리를 위한 다양한 회로들을 갖는 서브-시스템(740) 및 외부 회로들과의 데이터의 통신을 위한 입력/출력(I/O) 서브-시스템(750)을 포함한다. 서브-시스템들(710, 730, 740 및 750)은 복수의 반도체 다이들을 사용하여 형성되고, 위의 예들에서 설명된 바와 같이 IC 패키지에서 상호연결될 수 있다.
프로세싱 서브-시스템(710)은 사용자 프로그램의 실행을 통해 사용자 설계의 소프트웨어 부분을 구현하도록 프로그래밍될 수 있다. 프로그램은 구성 데이터 스트림의 부분으로서 특정되거나 온-칩 또는 오프-칩 데이터 저장 디바이스로부터 리트리브될 수 있다. 프로세싱 서브-시스템(710)은 하나 또는 그 초과의 소프트웨어 프로그램들을 실행하기 위한 다양한 회로들(712, 714, 716 및 718)을 포함할 수 있다. 회로들(712, 714, 716 및 718)은 예를 들어, 하나 또는 그 초과의 프로세서 코어들, FPU(floating point unit)들, 인터럽트 프로세싱 유닛, 온-칩 메모리, 메모리 캐시들 및/또는 캐시 코히어런트 상호연결을 포함할 수 있다.
프로그래밍 가능한 IC(702)의 프로그래밍 가능한 로직 서브-시스템(730)은 사용자 설계의 하드웨어 부분을 구현하도록 프로그래밍될 수 있다. 예를 들어, 프로그래밍 가능한 로직 서브-시스템은 구성 데이터 스트림에 특정된 회로들의 세트를 구현하도록 프로그래밍될 수 있는 다수의 프로그래밍 가능한 자원들(732)을 포함할 수 있다. 프로그래밍 가능한 자원들(732)은 프로그래밍 가능한 상호연결 회로들, 프로그래밍 가능한 로직 회로들 및 구성 메모리 셀들을 포함한다. 프로그래밍 가능한 로직은 예를 들어, 함수 생성기들, 레지스터들, 산술 로직 등을 포함할 수 있는 프로그래밍 가능한 엘리먼트들을 사용하여 사용자 설계의 로직을 구현한다. 프로그래밍 가능한 상호연결 회로들은 PIP(programmable interconnect point)들에 의해 상호연결된 가변 길이들의 매우 다수의 상호연결 라인들을 포함할 수 있다.
프로그래밍 가능한 자원들(732)은 프로그래밍 가능한 상호연결 회로들 및 프로그래밍 가능한 로직 회로들이 어떻게 구성되는지를 정의하는 구성 데이터 스트림을 구성 메모리 셀들로 로딩함으로써 프로그래밍될 수 있다. 개별 메모리 셀들의 집합적인 상태들이 그 후 프로그래밍 가능한 자원들(732)의 기능을 결정한다. 구성 데이터는 메모리로부터(예를 들어, 외부 PROM으로부터) 판독되거나 외부 디바이스에 의해 프로그래밍 가능한 IC(702)에 기록될 수 있다. 일부 구현들에서, 구성 데이터는 프로그래밍 가능한 로직 서브-시스템(730)에 포함된 구성 제어기(734)에 의해 구성 메모리 셀들로 로딩될 수 있다. 일부 다른 구현들에서, 구성 데이터는 프로세서 서브-시스템(710)에 의해 실행되는 시동 프로세스에 의해 구성 메모리 셀들로 로딩될 수 있다.
프로그래밍 가능한 IC(702)는 프로그래밍 가능한 로직 서브-시스템(730) 내에 구현된 회로에 프로세싱 서브-시스템(710)을 상호연결하기 위한 다양한 회로들을 포함할 수 있다. 이 예에서, 프로그래밍 가능한 IC(702)는 프로세싱 서브-시스템(710) 및 프로그래밍 가능한 로직 서브-시스템(730)의 다양한 데이터 포트들 사이에서 데이터 신호들을 라우팅할 수 있는 코어 스위치(726)를 포함한다. 코어 스위치(726)는 또한 프로그래밍 가능한 로직 또는 프로세싱 서브-시스템들(710 및 730) 중 어느 하나와, 내부 데이터 버스와 같은 프로그래밍 가능한 IC의 다양한 다른 회로들 사이에서 데이터 신호들을 라우팅할 수 있다. 대안적으로 또는 부가적으로, 프로세싱 서브-시스템(710)은, 코어 스위치(726)를 우회하도록, 프로그래밍 가능한 로직 서브-시스템에 직접 연결되는 인터페이스를 포함할 수 있다. 이러한 인터페이스는 예를 들어, ARM에 의해 공개된 AXI(AMBA AXI Protocol Specification)를 사용하여 구현될 수 있다.
일부 구현들에서, 프로세싱 서브-시스템(710) 및 프로그래밍 가능한 로직 서브-시스템(730)은 또한 메모리 제어기(721)를 통해 온-칩 메모리(722) 또는 오프-칩 메모리(도시되지 않음)의 메모리 위치들에 기록하거나 이로부터 판독할 수 있다. 메모리 제어기(721)는 16-비트, 32-비트, ECC를 갖는 16-비트 등이던지 간에, DDR(Dual Data Rate)2, DDR3, LP(Low Power) DDR2 타입들의 메모리를 포함(그러나 이것으로 제한되지 않음)하는 하나 또는 그 초과의 상이한 타입들의 메모리 회로들과 통신하도록 구현될 수 있다. 메모리 제어기(721)가 통신할 수 있는 상이한 메모리 타입들의 리스트는 단지 예시를 위해 제공되며, 제한으로서 또는 총망라하는 것으로 의도되지 않는다. 도 7에 도시된 바와 같이, 프로그래밍 가능한 IC(702)는, 특정 메모리 위치들에 액세스하기 위해, 서브-시스템들(710 및 730)에 의해 사용되는 가상 메모리 어드레스들을 메모리 제어기(721)에 의해 사용되는 물리적 메모리 어드레스들로 변환하기 위한 변환 룩-어사이드 버퍼(translation look-aside buffer)(724) 및 메모리 관리 유닛(720)을 포함할 수 있다.
이 예에서, 프로그래밍 가능한 IC는 외부 회로들과의 데이터의 통신을 위해 I/O 서브-시스템(750)을 포함한다. I/O 서브-시스템(750)은 예를 들어, 플래시 메모리 타입 I/O 디바이스들, 고성능 I/O 디바이스들, 저성능 인터페이스들, 디버깅 I/O 디바이스들 및/또는 RAM I/O 디바이스들을 포함하는 다양한 타입들의 I/O 디바이스들 또는 인터페이스들을 포함할 수 있다.
I/O 서브-시스템(750)은 760A 및 760B로서 예시된 하나 또는 그 초과의 플래시 메모리 인터페이스들(760)을 포함할 수 있다. 예를 들어, 플래시 메모리 인터페이스들(760) 중 하나 또는 그 초과는 4-비트 통신을 위해 구성된 QSPI(Quad-Serial Peripheral Interface)로서 구현될 수 있다. 플래시 메모리 인터페이스들(760) 중 하나 또는 그 초과는 병렬 8-비트 NOR/SRAM 타입의 인터페이스로서 구현될 수 있다. 플래시 메모리 인터페이스들(760) 중 하나 또는 그 초과는 8-비트 및/또는 16-비트 통신을 위해 구성된 NAND 인터페이스로서 구현될 수 있다. 설명된 특정 인터페이스들은 제한이 아닌 예시를 위해 제공된다는 것이 인지되어야 한다. 상이한 비트 폭들을 갖는 다른 인터페이스들이 사용될 수 있다.
I/O 서브-시스템(750)은 플래시 메모리 인터페이스들(760)보다 높은 성능 레벨을 제공하는 하나 또는 그 초과의 인터페이스들(762)을 포함할 수 있다. 인터페이스들(762A-762C) 각각은 DMA 제어기(764A-764C)에 각각 커플링될 수 있다. 예를 들어, 인터페이스들(762) 중 하나 또는 그 초과는 USB(Universal Serial Bus) 타입의 인터페이스로서 구현될 수 있다. 인터페이스들(762) 중 하나 또는 그 초과는 기가비트 이더넷 타입의 인터페이스로서 구현될 수 있다. 인터페이스들(762) 중 하나 또는 그 초과는 SD(Secure Digital) 타입의 인터페이스로서 구현될 수 있다.
I/O 서브-시스템(750)은 또한, 인터페이스들(762)보다 낮은 성능 레벨을 제공하는, 인터페이스들(766A-766D)과 같은 하나 또는 그 초과의 인터페이스들(766)을 포함할 수 있다. 예를 들어, 인터페이스들(766) 중 하나 또는 그 초과는 GPIO(General Purpose I/O) 타입의 인터페이스로서 구현될 수 있다. 인터페이스들(766) 중 하나 또는 그 초과는 UART(Universal Asynchronous Receiver/Transmitter) 타입의 인터페이스로서 구현될 수 있다. 인터페이스들(766) 중 하나 또는 그 초과는 SPI(Serial Peripheral Interface) 버스 타입의 인터페이스의 형태로 구현될 수 있다. 인터페이스들(766) 중 하나 또는 그 초과는 CAN(Controller-Area-Network) 타입의 인터페이스 및/또는 I2C 타입의 인터페이스의 형태로 구현될 수 있다. 인터페이스들(766) 중 하나 또는 그 초과는 또한, TTC(Triple Timer Counter) 및/또는 WDT(Watchdog Timer) 타입의 인터페이스의 형태로 구현될 수 있다.
I/O 서브-시스템(750)은 프로세서 JTAG(PJTAG) 인터페이스(768A) 및 트레이스 인터페이스(768B)와 같은 하나 또는 그 초과의 디버그 인터페이스들(768)을 포함할 수 있다. PJTAG 인터페이스(768A)는 프로그래밍 가능한 IC(702)에 대한 외부 디버그 인터페이스를 제공할 수 있다. 트레이스 인터페이스(768B)는 프로세싱 서브-시스템(710) 또는 프로그래밍 가능한 로직 서브-시스템(730)으로부터 디버그, 예를 들어, 트레이스 정보를 수신하기 위한 포트를 제공할 수 있다.
도시된 바와 같이, 인터페이스들(760, 762, 766 및 768) 각각은 멀티플렉서(770)에 커플링될 수 있다. 멀티플렉서(770)는, 프로그래밍 가능한 IC(702)의 외부 핀들, 예를 들어, 프로그래밍 가능한 IC(702)가 배치되는 패키지의 볼들에 직접 라우팅되거나 커플링될 수 있는 복수의 출력들을 제공한다. 예를 들어, 프로그래밍 가능한 IC(702)의 I/O 핀들은 인터페이스들(760, 762, 766 및 768) 사이에서 공유될 수 있다. 사용자는, 인터페이스들(760-768) 중 어느 것이 사용되어야 하는지 그리고 이에 따라 멀티플렉서(770)를 통해 프로그래밍 가능한 IC(702)의 I/O 핀에 커플링되어야 하는지를 선택하도록, 구성 데이터 스트림을 통해 멀티플렉서(770)를 구성할 수 있다. I/O 서브-시스템(750)은 또한, 프로그래밍 가능한 로직 서브-시스템의 프로그래밍 가능한 로직 회로들에 인터페이스들(762-768)을 연결하기 위해 패브릭 멀티플렉서 I/O(FMIO) 인터페이스(도시되지 않음)를 포함할 수 있다. 부가적으로 또는 대안적으로, 프로그래밍 가능한 로직 서브-시스템(730)은 프로그래밍 가능한 로직 내에서 하나 또는 그 초과의 I/O 회로들을 구현하도록 구성될 수 있다. 이 예에서, 프로그래밍 가능한 IC(702)는 전력 및/또는 안전 관리를 위한 다양한 회로들을 갖는 서브-시스템(740)을 포함한다. 예를 들어, 서브-시스템(740)은 프로그래밍 가능한 IC(702)의 다양한 서브-시스템들에 전력을 공급하는데 사용되는 하나 또는 그 초과의 전압 도메인들을 모니터링하고 유지하도록 구성된 전력 관리 유닛(746)을 포함할 수 있다. 일부 구현들에서, 전력 관리 유닛(746)은, 유휴일 때, 사용중인 서브-시스템들에 대한 전력을 디스에이블하지 않고 전력 소비를 감소시키기 위해 개별 서브-시스템들의 전력을 디스에이블할 수 있다.
서브-시스템(740)은 또한 올바른 동작을 보장하기 위해 서브-시스템들의 상태를 모니터링하기 위한 안전 회로들을 포함할 수 있다. 예를 들어, 서브-시스템(740)은 (예를 들어, 상태 레지스터들(744)에 표시된 바와 같이) 다양한 서브-시스템들의 상태를 모니터링하도록 구성된 하나 또는 그 초과의 실시간 프로세서들(742)을 포함할 수 있다. 실시간 프로세서들(742)은 에러들의 검출에 대한 응답으로 다수의 태스크들을 수행하도록 구성될 수 있다. 예를 들어, 일부 에러들에 대해, 실시간 프로세서들(742)은 에러의 검출에 대한 응답으로 경보를 생성할 수 있다. 다른 예로서, 실시간 프로세서들(742)은 올바른 동작으로 서브-시스템을 복원하도록 시도하기 위해 서브-시스템을 리셋할 수 있다. 서브-시스템(740)은 다양한 서브-시스템들을 상호연결하는데 사용될 수 있는 스위치 네트워크(748)를 포함한다. 예를 들어, 스위치 네트워크(748)는 I/O 서브-시스템(750)의 다양한 인터페이스들에 다양한 서브-시스템들(710, 730 및 740)을 연결하도록 구성될 수 있다. 일부 애플리케이션들에서, 스위치 네트워크(748)는 또한, 모니터링될 서브-시스템들로부터 실시간 프로세서들(742)을 격리시키는데 사용될 수 있다. 이러한 격리는 실시간 프로세서들(742)이 다른 서브-시스템들에서 발생하는 에러들에 의해 영향을 받지 않는다는 것을 보장하기 위해 특정 애플리케이션 표준들(예를 들어 IEC-61508 SIL3 또는 ISO-26262 표준들)에 의해 요구될 수 있다.
방법들 및 회로들은 다양한 멀티-다이 패키지들에 적용 가능할 것으로 간주된다. 다른 양상들 및 특징들은 명세서를 고려하여 당업자들에게 명백하게 될 것이다. 예를 들어, 양상들 및 특징들이 일부 경우들에서, 개별 도면들에서 설명될 수 있지만, 하나의 도면으로부터의 특징들은, 그 조합이 명시적으로 도시되지 않거나 조합으로서 명시적으로 설명되지 않더라도 다른 도면의 특징들과 조합될 수 있다는 것이 인지될 것이다. 명세서 및 도면들은 단지 예시적인 것으로 고려되도록 의도되며, 본 발명의 진정한 범위는 다음의 청구항들에 의해 표시된다.

Claims (15)

  1. 장치로서,
    제 1 반도체 다이;
    상기 반도체 다이 상의 M 개의 신호 라인들;
    상기 반도체 다이 상의 로직 회로 ― 상기 로직 회로는 상기 M 개의 신호 라인들을 통해 상기 제 1 반도체 다이에 통신 가능하게 커플링되는 하나 또는 그 초과의 반도체 다이들과 M 개의 데이터 신호들을 통신하도록 구성됨 ― ;
    적어도 N 개의 콘택(contact)들을 포함하는, 상기 반도체 다이 상의 복수의 콘택들 ― 상기 N 개의 콘택들의 수는 M 개의 신호 라인들의 수 미만이고, 각각의 콘택은 각각의 신호 경로를 통해 상기 하나 또는 그 초과의 반도체 다이들 중 다른 하나에 커플링됨 ― ; 및
    상기 제 1 반도체 다이 상의 복수의 직렬화기 회로들을 포함하고,
    각각의 직렬화기 회로는 상기 복수의 M개의 신호 라인들의 각각의 서브세트로부터의 데이터를 직렬화하여 직렬화된 데이터를 생성하고 상기 직렬화된 데이터를 상기 콘택들의 각각의 콘택에 제공하도록 구성되는,
    장치.
  2. 제 1 항에 있어서,
    하나 또는 그 초과의 반도체 다이들을 더 포함하고,
    상기 하나 또는 그 초과의 반도체 다이들 및 상기 제 1 반도체 다이는 상기 IC 패키지로의 및 상기 IC 패키지로부터의 데이터의 통신을 위해 데이터 단자들의 세트를 갖는 집적 회로(IC) 패키지에 배치되고;
    상기 하나 또는 그 초과의 반도체 다이들에 포함된 제 2 반도체 다이는 복수의 통신 회로들을 포함하고, 각각의 통신 회로는 상기 데이터 단자들의 세트의 각각의 데이터 단자를 통해 데이터를 통신하도록 구성되는,
    장치.
  3. 제 2 항에 있어서,
    상기 제 1 반도체 다이는 복수의 비직렬화기(deserializer) 회로들을 더 포함하고, 각각의 비직렬화기 회로는 상기 콘택들의 각각의 콘택으로부터 직렬화된 데이터를 수신하여 비직렬화된 데이터를 생성하고 상기 비직렬화된 데이터를 복수의 M개의 신호 라인들 각각에 분배하도록 구성되는,
    장치.
  4. 제 2 항에 있어서,
    상기 제 2 반도체 다이의 복수의 통신 회로들 중 적어도 하나는 상기 신호 경로들의 각각의 신호 경로로부터 직렬화된 데이터를 수신하도록 커플링되고, 상기 데이터 단자들의 세트의 각각의 데이터 단자를 통해 상기 직렬화된 데이터를 송신하도록 구성되는,
    장치.
  5. 제 2 항에 있어서,
    상기 제 2 반도체 다이는 상기 신호 경로들의 각각의 신호 경로를 통해 상기 제 1 반도체 다이로부터 상기 직렬화된 데이터를 수신하도록 커플링된 비직렬화기 회로를 더 포함하고,
    상기 비직렬화기 회로는,
    병렬 데이터 신호들의 세트를 생성하도록 상기 직렬화된 데이터를 비직렬화하고;
    상기 복수의 통신 회로들의 각각의 통신 회로에 상기 병렬 데이터 신호들의 세트의 각각의 데이터 신호를 제공하도록 구성되고,
    상기 각각의 통신 회로는 상기 데이터 단자들의 각각의 데이터 단자 상에서 상기 데이터 신호를 송신하도록 구성되는,
    장치.
  6. 제 2 항에 있어서,
    상기 제 2 반도체 다이의 상기 복수의 통신 회로들 중 적어도 하나의 통신 회로는,
    직렬화된 데이터를 포함하는 복조된 신호를 생성하기 위해 상기 각각의 데이터 단자로부터 수신된 신호를 복조하고;
    상기 신호 경로들의 각각의 신호 경로를 통해 상기 로직 회로에 상기 복조된 신호를 송신하도록 구성되는,
    장치.
  7. 제 2 항에 있어서,
    상기 복수의 통신 회로들 중 2개 또는 그 초과는 각각의 복조된 신호를 생성하기 위해 상기 각각의 데이터 단자로부터 수신된 각각의 신호를 복조하도록 각각 구성되고;
    상기 제 2 반도체 다이는 각각의 직렬화된 신호를 생성하기 위해 상기 복수의 통신 회로들 중 2개 또는 그 초과에 의해 생성된 상기 복조된 신호를 직렬화하고 상기 신호 경로들 중 하나를 통해 상기 제 1 반도체 다이에 상기 각각의 직렬화된 신호를 송신하도록 구성되는 직렬화기 회로를 더 포함하는,
    장치.
  8. 제 2 항에 있어서,
    상기 제 1 반도체 다이는 제 1 리소그라피 프로세스 크기를 갖는 복수의 프로그래밍 가능한 로직 자원들을 포함하고;
    상기 제 2 반도체 다이의 회로들은 상기 제 1 리소그라피 프로세스 크기보다 큰 제 2 리소그라피 프로세스를 가지며;
    상기 제 1 반도체 다이는 X 유닛들2과 동일한 영역을 갖고;
    각각의 콘택은 상기 제 1 반도체 다이의 X 유닛들2 중 Y 유닛들2을 포함하는 각각의 콘택 영역에 로케이팅되고;; 그리고
    N 개의 콘택들의 수는 X/Y 이하인,
    장치.
  9. 제 2 항에 있어서,
    상기 IC 패키지 내의 기판;
    상기 기판 상에 있고 상기 제 2 반도체 다이의 콘택들 각각을 상기 복수의 반도체 다이들 중 다른 하나의 각각의 콘택에 커플링하도록 구성되는 인터포저(interposer); 및
    상기 기판 상에 있고 상기 제 2 반도체 다이의 콘택들 각각을 상기 복수의 반도체 다이들 중 다른 하나의 각각의 콘택에 커플링하도록 구성되는 하나 또는 그 초과의 배선층들을 더 포함하는,
    장치.
  10. 멀티-다이 IC 패키지에서의 다이간 통신을 위한 방법으로서,
    상기 IC 패키지의 제 1 반도체 다이 상의 로직 회로를 사용하여, 상기 제 1 반도체 다이 상의 M 개의 신호 라인들을 통해 상기 IC 패키지의 다른 다이들과 병렬로 M 개의 데이터 신호들을 통신하는 단계; 및
    상기 제 1 반도체 다이 상의 복수의 직렬화기 회로들 각각에 대해:
    각각의 제 1 직렬화된 데이터 신호를 생성하기 위해 상기 M 개의 데이터 신호들의 각각의 제 1 서브세트를 직렬화하는 단계; 및
    각각의 제 1 직렬화된 데이터 신호를 상기 제 1 반도체 다이의 N 개의 콘택들의 각각의 콘택에 제공하는 단계 ― N<M임 ― ; 및
    상기 제 1 반도체 다이 상의 복수의 비직렬화기 회로들 각각에 대해:
    상기 M 개의 데이터 신호들의 각각의 제 2 서브세트를 생성하기 위해 상기 N 개의 콘택들 중 하나 상의 각각의 제 2 직렬화된 데이터 신호를 비직렬화하는 단계; 및
    상기 각각의 제 2 서브세트의 각각의 데이터 신호를 상기 M 개의 신호 라인들의 각각의 신호 라인에 제공하는 단계를 포함하는,
    멀티-다이 IC 패키지에서의 다이간 통신을 위한 방법.
  11. 제 10 항에 있어서,
    상기 N 개의 콘택들의 각각의 콘택으로부터의 제 1 직렬화된 데이터 신호를 상기 IC 패키지의 제 2 반도체 다이에 제공하는 단계를 더 포함하고,
    상기 제 1 직렬화된 데이터 신호를 상기 제 2 반도체 다이에 제공하는 단계는 인터포저를 통해 또는 상기 IC 패키지의 기판 상의 신호 라인을 통해 상기 제 1 직렬화된 데이터 신호를 상기 제 2 반도체 다이에 통신하는 단계를 포함하는,
    멀티-다이 IC 패키지에서의 다이간 통신을 위한 방법.
  12. 제 11 항에 있어서,
    상기 제 2 반도체 다이 상의 통신 회로를 사용하여, 상기 IC 패키지의 외부 데이터 단자를 통해 상기 제 1 직렬화된 데이터 신호를 송신하는 단계를 더 포함하는,
    멀티-다이 IC 패키지에서의 다이간 통신을 위한 방법.
  13. 제 11 항에 있어서,
    상기 제 2 반도체 다이 상의 비직렬화기 회로를 사용하여, 복수의 병렬 데이터 신호들을 생성하기 위해 상기 제 1 직렬화된 데이터 신호를 비직렬화하는 단계; 및
    상기 제 2 반도체 다이 상의 각각의 통신 회로들을 사용하여, 상기 IC 패키지의 각각의 데이터 단자들을 통해 상기 복수의 병렬 데이터 신호들을 송신하는 단계를 더 포함하는,
    멀티-다이 IC 패키지에서의 다이간 통신을 위한 방법.
  14. 제 11 항에 있어서,
    상기 제 2 반도체 다이 상의 직렬화기 회로를 사용하여, 상기 제 1 반도체 다이 상의 복수의 비직렬화기 회로들 중 하나에 대한 각각의 제 2 직렬화된 데이터 신호를 생성하기 위해 복수의 데이터 단자들로부터의 데이터 신호들을 직렬화하는 단계를 더 포함하는,
    멀티-다이 IC 패키지에서의 다이간 통신을 위한 방법.
  15. 제 10 항에 있어서,
    상기 제 1 반도체 다이의 회로들은 제 1 프로세스 크기를 갖는 리소그라피를 사용하여 형성되고;
    상기 제 2 반도체 다이의 회로들은 상기 제 1 프로세스 크기보다 큰 제 2 프로세스 크기를 갖는 리소그라피를 사용하여 형성되고;
    상기 제 1 반도체 다이는 X 유닛들2과 동일한 영역을 갖고;
    상기 N 개의 콘택들 각각은 상기 제 1 반도체 다이의(X/M) 유닛들2 초과를 포함하는 각각의 콘택 영역에 로케이팅되는,
    멀티-다이 IC 패키지에서의 다이간 통신을 위한 방법.
KR1020177030386A 2015-03-31 2015-10-12 멀티-다이 패키지들에서의 통신을 위한 방법 및 회로들 KR102403705B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/674,321 2015-03-31
US14/674,321 US9607948B2 (en) 2015-03-31 2015-03-31 Method and circuits for communication in multi-die packages
PCT/US2015/055081 WO2016160063A1 (en) 2015-03-31 2015-10-12 Method and circuits for communication in multi-die packages

Publications (2)

Publication Number Publication Date
KR20170133393A true KR20170133393A (ko) 2017-12-05
KR102403705B1 KR102403705B1 (ko) 2022-05-27

Family

ID=54364710

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177030386A KR102403705B1 (ko) 2015-03-31 2015-10-12 멀티-다이 패키지들에서의 통신을 위한 방법 및 회로들

Country Status (6)

Country Link
US (1) US9607948B2 (ko)
EP (1) EP3278456B1 (ko)
JP (1) JP6781163B2 (ko)
KR (1) KR102403705B1 (ko)
CN (1) CN107431061B (ko)
WO (1) WO2016160063A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017052575A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Extending multichip package link off package
US10002100B2 (en) 2016-02-02 2018-06-19 Xilinx, Inc. Active-by-active programmable device
US9692448B1 (en) * 2016-09-22 2017-06-27 Qualcomm Incorporated Split chip solution for die-to-die serdes
TW202404049A (zh) 2016-12-14 2024-01-16 成真股份有限公司 標準大宗商品化現場可編程邏輯閘陣列(fpga)積體電路晶片組成之邏輯驅動器
US11625523B2 (en) 2016-12-14 2023-04-11 iCometrue Company Ltd. Logic drive based on standard commodity FPGA IC chips
US10447274B2 (en) 2017-07-11 2019-10-15 iCometrue Company Ltd. Logic drive based on standard commodity FPGA IC chips using non-volatile memory cells
US10957679B2 (en) 2017-08-08 2021-03-23 iCometrue Company Ltd. Logic drive based on standardized commodity programmable logic semiconductor IC chips
US10630296B2 (en) 2017-09-12 2020-04-21 iCometrue Company Ltd. Logic drive with brain-like elasticity and integrality based on standard commodity FPGA IC chips using non-volatile memory cells
US10599603B1 (en) * 2017-12-29 2020-03-24 Barefoot Networks, Inc. Forwarding element integrated circuit chip with separate I/O and switching tiles
US10608642B2 (en) 2018-02-01 2020-03-31 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips comprising non-volatile radom access memory cells
US10623000B2 (en) 2018-02-14 2020-04-14 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips
US10825772B2 (en) 2018-04-30 2020-11-03 Xilinx, Inc. Redundancy scheme for multi-chip stacked devices
US10608638B2 (en) 2018-05-24 2020-03-31 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips
US10892011B2 (en) 2018-09-11 2021-01-12 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips comprising non-volatile random access memory cells
US11309334B2 (en) 2018-09-11 2022-04-19 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips comprising non-volatile random access memory cells
US10656202B1 (en) * 2018-09-21 2020-05-19 Xilinx, Inc. Electronic device including integrated circuit with debug capabilities
US10937762B2 (en) 2018-10-04 2021-03-02 iCometrue Company Ltd. Logic drive based on multichip package using interconnection bridge
US11616046B2 (en) 2018-11-02 2023-03-28 iCometrue Company Ltd. Logic drive based on chip scale package comprising standardized commodity programmable logic IC chip and memory IC chip
US11211334B2 (en) 2018-11-18 2021-12-28 iCometrue Company Ltd. Logic drive based on chip scale package comprising standardized commodity programmable logic IC chip and memory IC chip
US11494542B2 (en) * 2019-01-29 2022-11-08 Taiwan Semiconductor Manufacturing Company, Ltd. Semiconductor device, method of generating layout diagram and system for same
US10985154B2 (en) 2019-07-02 2021-04-20 iCometrue Company Ltd. Logic drive based on multichip package comprising standard commodity FPGA IC chip with cryptography circuits
US11227838B2 (en) 2019-07-02 2022-01-18 iCometrue Company Ltd. Logic drive based on multichip package comprising standard commodity FPGA IC chip with cooperating or supporting circuits
US11887930B2 (en) 2019-08-05 2024-01-30 iCometrue Company Ltd. Vertical interconnect elevator based on through silicon vias
US11637056B2 (en) 2019-09-20 2023-04-25 iCometrue Company Ltd. 3D chip package based on through-silicon-via interconnection elevator
US11600526B2 (en) 2020-01-22 2023-03-07 iCometrue Company Ltd. Chip package based on through-silicon-via connector and silicon interconnection bridge
CN111755437B (zh) 2020-07-01 2022-05-31 无锡中微亿芯有限公司 利用硅连接层形成片上网络的fpga装置
US20220006645A1 (en) * 2021-09-21 2022-01-06 Intel Corporation Post-quantum secure lighteight integrity and replay protection for multi-die connections

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090039492A1 (en) * 2007-08-06 2009-02-12 Samsung Electronics Co., Ltd. Stacked memory device
US20110206381A1 (en) * 2010-02-25 2011-08-25 Samsung Electronics Co., Ltd. Optical serializing/deserializing apparatus and method and method of manufacturing same
US20130336039A1 (en) * 2012-06-05 2013-12-19 Rambus Inc. Memory bandwidth aggregation using simultaneous access of stacked semiconductor memory die
US20140035642A1 (en) * 2012-08-03 2014-02-06 Altera Corporation Techniques for Aligning and Reducing Skew in Serial Data Signals
US8760328B1 (en) * 2012-09-14 2014-06-24 Altera Corporation Interface circuitry for an integrated circuit system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4493164B2 (ja) * 2000-06-16 2010-06-30 富士通マイクロエレクトロニクス株式会社 データ・バースト転送回路、パラレル・シリアル変換回路およびシリアル・パラレル変換回路、発振回路
JP4388903B2 (ja) * 2005-02-09 2009-12-24 富士通マイクロエレクトロニクス株式会社 Jtag試験方式
US8237289B2 (en) * 2007-01-30 2012-08-07 Kabushiki Kaisha Toshiba System in package device
US7919845B2 (en) 2007-12-20 2011-04-05 Xilinx, Inc. Formation of a hybrid integrated circuit device
JP5182041B2 (ja) * 2008-11-27 2013-04-10 日本電気株式会社 ベースバンド信号処理装置およびデータ送受信方法
US8634221B2 (en) * 2011-11-01 2014-01-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Memory system that utilizes a wide input/output (I/O) interface to interface memory storage with an interposer and that utilizes a SerDes interface to interface a memory controller with an integrated circuit, and a method
JP2014038910A (ja) * 2012-08-13 2014-02-27 Toshiba Corp 光電気集積パッケージモジュール
US9106229B1 (en) * 2013-03-14 2015-08-11 Altera Corporation Programmable interposer circuitry
US9297971B2 (en) * 2013-04-26 2016-03-29 Oracle International Corporation Hybrid-integrated photonic chip package with an interposer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090039492A1 (en) * 2007-08-06 2009-02-12 Samsung Electronics Co., Ltd. Stacked memory device
US20110206381A1 (en) * 2010-02-25 2011-08-25 Samsung Electronics Co., Ltd. Optical serializing/deserializing apparatus and method and method of manufacturing same
US20130336039A1 (en) * 2012-06-05 2013-12-19 Rambus Inc. Memory bandwidth aggregation using simultaneous access of stacked semiconductor memory die
US20140035642A1 (en) * 2012-08-03 2014-02-06 Altera Corporation Techniques for Aligning and Reducing Skew in Serial Data Signals
US8760328B1 (en) * 2012-09-14 2014-06-24 Altera Corporation Interface circuitry for an integrated circuit system

Also Published As

Publication number Publication date
EP3278456A1 (en) 2018-02-07
CN107431061A (zh) 2017-12-01
WO2016160063A1 (en) 2016-10-06
US20160293548A1 (en) 2016-10-06
EP3278456B1 (en) 2021-12-08
CN107431061B (zh) 2020-02-14
KR102403705B1 (ko) 2022-05-27
JP2018510512A (ja) 2018-04-12
US9607948B2 (en) 2017-03-28
JP6781163B2 (ja) 2020-11-04

Similar Documents

Publication Publication Date Title
KR102403705B1 (ko) 멀티-다이 패키지들에서의 통신을 위한 방법 및 회로들
US11237998B2 (en) Interface bridge between integrated circuit die
CN110085570B (zh) 可编程中介层电路系统
US9091727B1 (en) Configuration and testing of multiple-die integrated circuits
US8653645B2 (en) Semiconductor device comprising stacked LSI having circuit blocks connected by power supply and signal line through vias
KR101444626B1 (ko) 멀티다이 집적 회로(ic)를 구성하는 방법 및 시스템과 멀티다이 ic
Lewis et al. Testing circuit-partitioned 3D IC designs
TW201507087A (zh) 半導體裝置
KR20150127704A (ko) 아날로그 블록 및 아날로그 블록을 테스트하는 테스트 블록
US9222976B1 (en) Methods and circuits for debugging multiple IC packages
US8020058B2 (en) Multi-chip digital system having a plurality of controllers with self-identifying signal
Li et al. An efficient 3D-IC on-chip test framework to embed TSV testing in memory BIST
CN115589226A (zh) 三维可编程逻辑电路系统和方法
US8786308B1 (en) Method and apparatus for providing signal routing control
JP2023521705A (ja) マルチダイ集積回路をテストするための方法および装置
KR20210108057A (ko) 테스트 시스템 및 그의 구동 방법
Melamed et al. Cool Interconnect: A 1024-bit Wide Bus for Chip-to-Chip Communications in 3-D Integrated Circuits
US7478005B2 (en) Technique for testing interconnections between electronic components
TWI676990B (zh) 內嵌式功能測試模組記憶體晶片的電路拓撲
CN115547404A (zh) 用于先进封装mram存储器的测试架构及方法
Huang et al. Boundary scan test solution for MorPACK platform

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