CN109564914A - 用于堆叠硅互连(ssi)技术集成的独立接口 - Google Patents

用于堆叠硅互连(ssi)技术集成的独立接口 Download PDF

Info

Publication number
CN109564914A
CN109564914A CN201780050182.5A CN201780050182A CN109564914A CN 109564914 A CN109564914 A CN 109564914A CN 201780050182 A CN201780050182 A CN 201780050182A CN 109564914 A CN109564914 A CN 109564914A
Authority
CN
China
Prior art keywords
tube core
port
programmable
hbm
intermediary layer
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201780050182.5A
Other languages
English (en)
Other versions
CN109564914B (zh
Inventor
R·C·卡马洛塔
S·艾哈迈德
M·纽曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/237,384 external-priority patent/US10784121B2/en
Priority claimed from US15/346,512 external-priority patent/US9911465B1/en
Priority claimed from US15/616,004 external-priority patent/US10916516B2/en
Application filed by Xilinx Inc filed Critical Xilinx Inc
Publication of CN109564914A publication Critical patent/CN109564914A/zh
Application granted granted Critical
Publication of CN109564914B publication Critical patent/CN109564914B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/522Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames including external interconnections consisting of a multilayer structure of conductive and insulating layers inseparably formed on the semiconductor body
    • H01L23/525Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames including external interconnections consisting of a multilayer structure of conductive and insulating layers inseparably formed on the semiconductor body with adaptable interconnections
    • 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/5383Multilayer substrates
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L24/00Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
    • H01L24/93Batch processes
    • H01L24/95Batch processes at chip-level, i.e. with connecting carried out on a plurality of singulated devices, i.e. on diced chips
    • H01L24/97Batch processes at chip-level, i.e. with connecting carried out on a plurality of singulated devices, i.e. on diced chips the devices being connected to a common substrate, e.g. interposer, said common substrate being separable into individual assemblies after connecting
    • 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
    • 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
    • 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
    • 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
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/00014Technical content checked by a classifier the subject-matter covered by the group, the symbol of which is combined with the symbol of this group, being disclosed without further technical details
    • 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/1015Shape
    • H01L2924/10155Shape being other than a cuboid
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

本公开描述了用于将一个或多个结构(例如,高带宽存储器(HBM))添加到现有合格的堆叠硅互连(SSI)技术可编程IC管芯(例如,超级逻辑域(SLR))而不改变可编程IC管芯的方法和装置。一个示例性集成电路(IC)封装(200)通常包括封装衬底(202);设置在封装衬底(202)上方并包括多条互连线(310、312)的至少一个中介层(204);设置在中介层(204)上方的可编程IC管芯(302);设置在中介层(204)上方的固定结构管芯(304);以及接口管芯(306),接口管芯设置在中介层(204)上方并被配置为使用第一组互连线(310)和第二组互连线(312)将可编程IC管芯(302)耦接至固定结构管芯(304),第一组互连线通过被布线在可编程IC管芯(302)和接口管芯(306)之间的中介层(204),第二组互连线被布线通过接口管芯(306)和固定结构管芯(304)之间的中介层(204)。

Description

用于堆叠硅互连(SSI)技术集成的独立接口
技术领域
本公开的示例一般涉及集成电路,更具体地,涉及使用堆叠硅互连(SSI)技术的集成电路封装。
背景技术
电子设备(例如,计算机、膝上型电脑、平板电脑、复印机、数码相机、智能电话等)通常使用集成电路(IC,也称为“芯片”)。这些集成电路通常被实现为封装在集成电路封装中的半导体管芯。半导体管芯可包括存储器、逻辑和/或各种其他合适电路类型中的任何一种。
许多集成电路和其他半导体器件利用诸如球栅阵列(BGA)之类的凸块的布置来将表面安装封装安装到电路板(例如,印刷电路板(PCB))上。诸如可控塌陷芯片连接(C4)凸块或微凸块(比如,在堆叠硅互连(SSI)应用中使用的凸块)的各种合适封装引脚结构中的任何一种可用于在集成电路(IC)管芯(或其他封装器件)上的通道和封装被安装在其上的电路板之间传导电信号。
发明内容
本公开的一个示例是一种集成电路(IC)封装。所述IC封装通常包括封装衬底;设置在所述封装衬底上方并包括多条互连线的至少一个中介层;设置在所述中介层的可编程IC管芯上方;设置在所述中介层上方的固定结构管芯;以及接口管芯,所述接口管芯设置在所述中介层上方并被配置为使用第一组互连线和第二组互连线将所述可编程IC管芯耦接至所述固定结构管芯,所述第一组互连线被布线或路由(routed)通过所述可编程IC管芯和所述接口管芯之间的所述中介层,所述第二组互连线被布线通过所述接口管芯和所述固定结构管芯之间的所述中介层路。
可选地,所述可编程IC管芯和所述接口管芯可共享相同的晶片级衬底,。
可选地,所述可编程IC管芯和所述接口管芯可通过切割线在所述晶片级衬底上分离。
可选地,所述封装还可包括多个微凸块,所述多个微凸块将被布线通过所述中介层的所述互连线与所述可编程IC管芯、所述接口管芯和所述固定结构管芯中的电路电连接。
可选地,所述接口管芯与用于所述可编程IC管芯的所述微凸块的第一图案和第一组互连线兼容,并还与用于所述固定结构管芯的所述微凸块的第二图案和第二组互连线兼容。
可选地,所述可编程IC管芯可包括现场可编程门阵列FPGA管芯,所述固定结构管芯可包括高带宽存储器HBM管芯,且所述接口管芯可包括HBM缓冲管芯。
可选地,所述第二组互连线可符合HBM JEDEC标准。
可选地,所述固定结构管芯可包括专用集成电路ASIC。
可选地,除了通过被布线通过所述中介层的所述互连线之外,在所述可编程IC管芯和所述接口管芯之间可没有电连接。
本公开的另一个示例是一种制造集成电路封装的方法。所述方法通常包括为与接口管芯配对的可编程IC管芯提供掩模,所述接口管芯用于将所述可编程IC管芯耦接至固定结构管芯;使用所述掩模生成具有多个配对的可编程IC和接口管芯的晶片;切割所述晶片以分离包括所述多个配对的可编程IC和接口管芯中的一个的晶片部分;以及将所述晶片部分设置在包括多个互连线的中介层上方,其中,所述多个互连线中的第一组被布线通过所述中介层,用于电连接所述晶片部分中的所述配对的可编程IC和所述接口管芯,并且,所述多个互连线中的第二组被布线通过所述中介层,用于电连接所述接口管芯和所述固定结构管芯。
可选地,所述方法还包括将所述固定结构管芯设置在所述中介层上方。
可选地,所述方法还包括将所述中介层设置在封装衬底上方,并封装所述固定结构管芯、所述晶片部分、所述中介层和所述封装衬底的至少一部分,以形成所述集成电路封装。
可选地,所述方法还包括将多个微凸块设置在所述中介层上方,其中,所述多个微凸块将被布线通过所述中介层的所述互连线与所述可编程IC管芯、所述接口管芯和所述固定结构管芯中的电路电连接。
可选地,所述晶体部分中的所述接口管芯与用于所述可编程IC管芯的所述微凸块的第一图案和第一组互连线兼容,并与用于所述固定结构管芯的所述微凸块的第二图案和第二组互连线兼容。
可选地,所述方法还可包括在所述配对的可编程IC和所述接口管芯中的每个中的所述可编程IC管芯和所述接口管芯之间形成切割线。
可选地,所述晶片部分中的所述配对的可编程IC管芯和所述接口管芯可共享相同的晶片级衬底。
可选地,所述固定结构管芯可包括高带宽存储器HBM管芯,且所述接口管芯可包括HBM缓冲管芯。
可选地,所述固定结构管芯可包括专用集成电路ASIC。
本公开的又一个示例是一种集成电路封装。所述封装通常包括封装衬底;设置在所述封装衬底上方并包括多条互连线的至少一个中介层;设置在所述中介层上方的可编程IC管芯;设置在所述中介层上方的至少一个现场可编程门阵列FPGA;设置在所述中介层上方的一个或多个高带宽存储器HBM管芯;以及HBM缓冲管芯,所述HBM缓冲管芯设置在所述中介层上方并被配置为使用第一组互连线和第二组互连线将所述FPGA管芯耦接至所述一个或多个HBM管芯,所述第一组互连线被布线通过所述FPGA管芯和所述HBM缓冲管芯之间的所述中介层,所述第二组互连线被布线通过所述HBM缓冲管芯和所述一个或多个HBM管芯之间的所述中介层。对于一些示例,所述FPGA管芯和所述HBM缓冲器管芯共享相同的晶片级衬底。对于一些示例,所述FPGA管芯和所述HBM缓冲管芯通过切割线在晶片级衬底上分离。
本公开的又一个示例是一种晶片。所述晶片通常包括多个逻辑区域,其中,每个逻辑区域包括与接口管芯配对的可编程IC管芯,所述接口管芯用于将所述可编程IC管芯耦接至所述固定结构管芯。
可选地,所述可编程IC管芯可通过切割线与所述接口管芯分离。
本公开的又一个示例是一种IC封装。所述IC封装通常包括封装衬底;设置在所述封装衬底上方的至少一个中介层;设置在所述中介层上方的可编程IC区域;设置在所述中介层上方的至少一个固定结构管芯;以及接口区域,所述接口区域设置在所述中介层上方并被配置为通过第一组互连线和第二组互连线将所述可编程IC区域耦接至所述固定结构管芯,所述第一组互连线被布线通过所述接口区域的第一多个端口和所述固定结构管芯之间的所述中介层,所述第二组互连线被布线通过所述接口区域的第二多个端口和所述可编程IC区域之间的所述中介层。
可选地,所述接口区域可被配置为所述第一多个端口和所述第二多个端口之间的交换网络。
可选地,所述交换网络可在所述第一多个端口中的每个端口和所述第二多个端口中的每个端口之间提供完全可寻址性,从而所述第二多个端口中的每个端口可访问所述第一多个端口中的任何一个端口。
可选地,所述交换网络可提供旁路模式,其中,所述第二多个端口中的每个端口可访问所述第一多个端口中的一个不同的端口。
可选地,所述交换网络可实现为包括多个全连接交叉交换网络的分层交换网络。
可选地,所述交换网络可实现为高级可扩展接口AXI型交换网络
可选地,所述交换网络可实现为分组协议型交换网络。
可选地,所述可编程IC区域和所述接口区域是单片管芯的一部分,所述第二组互连线被布线通过所述单片管芯的至少一个金属化层。
可选地,所述第二组互连线中没有一条可被布线通过所述中介层。
可选地,所述第二组互连线的至少一部分可被布线通过中介层,所述可编程IC区域和所述接口区域可共享相同的晶片级衬底,并可通过切割线在所述晶片级衬底上分离。
可选地,所述可编程IC区域可包括现场可编程门阵列FPGA区域,所述固定结构管芯可包括高带宽存储器HBM管芯,所述接口区域可包括HBM缓冲区域,且所述第一多个端口可包括HBM通道。
本公开的又一个示例是一种制造IC封装的方法。所述方法通常包括为与接口区域配对的可编程IC区域提供掩模,所述接口区域用于将所述可编程IC区域耦接至至少一个固定结构管芯;使用所述掩模生成具有多个所述配对的可编程IC和接口区域的晶片;切割所述晶片以分离包括所述多个配对的可编程IC和接口区域中的一个的晶片部分;以及将所述晶片部分设置在中介层上方,其中,第一组互连线被布线通过所述中介层,用于电耦接所述接口区域的第一多个端口和所述固定结构管芯,并且,第二组互连线将所述接口区域的第二多个端口电耦接至所述晶片部分中的所述配对的可编程IC和接口区域中的可编程IC区域。
可选地,所述方法还可包括:将所述至少一个固定结构管芯设置在所述中介层上方,将所述中介层设置在封装衬底上方并封装所述至少一个固定结构管芯、所述晶片部分、所述中介层和所述封装衬底的至少一部分,以形成所述集成电路封装。
可选地,所述接口区域能够被配置为所述第一多个端口和所述第二多个端口之间的交换网络。
可选地,所述交换网络可在所述第一多个端口中的每个端口和所述第二多个端口中的每个端口之间提供完全可寻址性,从而所述第二多个端口中的每个端口可访问所述第一多个端口中的任何一个端口。
可选地,所述交换网络可提供旁路模式,在所述旁路模式中,所述第二多个端口中的每个可访问所述第一多个端口中的一个不同的端口。
可选地,所述方法还可包括在所述配对的可编程IC和接口区域中的每个中的所述可编程IC区域和所述接口区域之间形成切割线。
可选地,所述固定结构管芯可包括高带宽存储器HBM管芯,所述接口区域可包括HBM缓冲区域,且所述第一多个端口可包括HBM通道。
本公开的又一个示例是一种晶片。所述晶片通常包括多个逻辑区域,其中,每个逻辑区域包括与接口区域配对的可编程IC区域,所述接口区域用于将所述可编程IC区域耦接至所述固定结构管芯,并包括对应于所述固定结构管芯的第一多个端口和对应于所述可编程IC区域的第二多个端口。
可选地,所述可编程IC区域和所述接口区域可以是单片管芯的一部分,所述晶片还可包括多个互连线,所述多个互连线被布线通过所述第二多个端口和所述可编程IC区域之间的所述单片管芯的至少一个金属化层。
本公开的又一个示例是一种装置。所述装置通常包括可编程IC区域和接口区域,所述接口区域被配置为通过第一多个端口和第二多个端口将所述可编程IC区域耦接至至少一个固定结构管芯,所述第一多个端口与所述至少一个固定结构管芯相关,所述第二多个端口与所述可编程IC区域相关,其中,所述接口区域被配置为所述第一多个端口和所述第二多个端口之间的交换网络,并且,所述交换网络包括多个全交叉交换网络(fullcrossbar switch network)。
可选地,所述全交叉交换网络中的每个包括所述第一多个端口的子集和所述第二多个端口的子集。所述第二多个端口的子集中的每个端口能够访问所述第一多个端口的子集中的任何端口。
可选地,所述第一多个端口的子集可包括四个端口,并且所述第二多个端口的子集可包括四个端口。
可选地,所述多个全交叉交换网络中的每个相邻对可通过多个交叉耦接连接连接在一起。
可选地,所述多个交叉耦接连接可包括至少两个出站连接和至少两个入站连接。
可选地,所述至少两个入站连接中的每个能够访问所述第一多个端口的子集中的任何端口和所述出站连接中的至少一个。
可选地,所述第二多个端口的子集中的每个端口能够访问所述第一多个端口的子集中的任何端口和所述多个交叉耦接连接中的至少一个。
可选地,与所述多个全交叉交换网络中的第二个相比,所述多个全交叉交换网络中的第一个可包括在所述第一多个端口的子集或所述第二多个端口的子集中的至少一个中的不同数量的端口。
可选地,所述可编程IC区域可被配置为实现多个分路器,所述多个分路器中的每个被配置为访问所述多个全交叉交换网络中的每个中的所述第二多个端口的指定端口。
可选地,所述多个全交叉交换网络可包括四个全交叉交换网络。所述第二多个端口可包括十六个端口,所述多个分路器可包括两个分路器,从而所述两个分路器中的每个可被配置为访问所述第二多个端口中的四个指定端口。
可选地,所述交换网络可被配置为高级可扩展接口AXI类型交换网络或分组协议类型交换网络中的至少一个。
本公开的又一个示例是一种IC封装。所述IC封装通常包括可编程IC区域和接口区域,所述接口区域被配置为通过第一多个端口和第二多个端口将所述可编程IC区域耦接至至少一个固定结构管芯,所述第一多个端口与所述至少一个固定结构管芯相关,所述第二多个端口与所述可编程IC区域相关。所述接口区域被配置为所述第一多个端口和所述第二多个端口之间的交换网络,所述交换网络可包括多个全交叉交换网络。所述IC封装还包括封装衬底和至少一个设置在所述封装衬底上方的中介层。所述至少一个固定结构管芯可设置在所述中介层上方。所述可编程IC区域和接口区域设置在所述中介层上方。所述接口区域被配置为通过第一组互连线和第二组互连线将所述可编程IC区域耦接至所述至少一个固定结构管芯,所述第一组互连线被布线通过所述接口区域的第一多个端口和所述至少一个固定结构管芯之间的所述中介层,所述第二组互连线被布线在所述接口区域的第二多个端口和所述可编程IC区域之间。
可选地,所述可编程IC区域和所述接口区域是单片管芯的一部分,所述第二组互连线被布线通过所述单片管芯的至少一个金属化层。
可选地,所述第二组互连线中没有一条可被布线通过所述中介层。
可选地,所述第二组互连线中的至少一部分可被布线通过所述中介层。所述可编程IC区域和所述接口区域可共享相同的晶片级衬底,并可通过切割线在所述晶片级衬底上分离。
可选地,所述可编程IC区域可包括现场可编程门阵列FPGA区域,所述至少一个固定结构管芯可包括至少一个高带宽存储器HBM管芯,所述接口区域可包括HBM缓冲区域,且所述第一多个端口可与多个HBM通道相关。
本公开的又一个示例是一种制造IC封装的方法。所述方法通常包括为与接口区域配对的可编程IC区域提供掩模,所述接口区域用于将所述可编程IC区域耦接至至少一个固定结构管芯;使用所述掩模生成具有多个所述配对的可编程IC和接口区域的晶片;切割所述晶片以分离包括所述多个配对的可编程IC和接口区域中的一个的晶片部分;以及将所述晶片部分设置在中介层上方,其中,第一组互连线被布线通过所述中介层,用于电耦接所述接口区域的第一多个端口和所述固定结构管芯,第二组互连线将所述接口区域的第二多个端口电耦接至所述晶片部分中的所述配对的可编程IC和接口区域中的可编程IC区域;其中,所述接口区域能够被配置为所述第一多个端口和所述第二多个端口之间的交换网络;并且,所述交换网络包括多个全交叉交换网络。
本公开的又一个示例是一种晶片。所述晶片通常包括多个逻辑区域,其中,每个逻辑区域包括与接口区域配对的可编程IC区域,所述接口区域用于将所述可编程IC区域耦接至至少一个固定结构管芯,并包括第一多个端口和第二多个端口,所述第一多个端口与所述至少一个固定结构管芯相关,所述第二多个端口与所述可编程IC区域相关,其中,所述接口区域被配置为所述第一多个端口和所述第二多个端口之间的交换网络,并且,所述交换网络包括多个全交叉交换网络。
本公开的又一个示例是一种用于在装置和固定结构管芯之间路由信号的方法,所述装置包括可编程IC区域和接口区域,所述接口区域被配置为将所述可编程IC区域耦接至所述固定结构管芯。所述方法通常包括在所述接口区域的第一端口处从所述可编程IC区域接收具有地址部分和数据部分的信号,所述第一端口与所述可编程IC区域相关;以及基于地址部分,通过所述接口区域至少将所述信号的数据部分路由至所述接口区域的第二端口,所述第二端口与所述固定结构管芯相关,其中,所述接口区域被配置为所述第一端口和所述第二端口之间的交换网络,并且,所述交换网络包括多个全交叉交换网络。
可选地,所述可编程IC区域可包括现场可编程门阵列FPGA区域,所述固定结构管芯可包括高带宽存储器HBM管芯,所述接口区域可包括HBM缓冲区域,且所述第二端口可与HBM通道相关。
可选地,所述路由可包括使用高级可扩展接口AXI协议或分组协议中的至少一种。
可选地,所述方法还可包括通过分路器路由所述信号,所述分路器在所述可编程IC区域中实现并被配置为访问所述接口区域的第一端口。
参考以下详细描述可以理解这些和其他方面。
附图说明
为了能够详细理解本公开的上述特征的方式,可通过参考示例来对上面简要概述的本公开的更具体描述进行描述,其中一些示例在附图中示出。然而,要注意的是,附图仅示出了本公开的典型示例,因此不应被视为限制其范围,因为本公开可允许其他等效的示例。
图1是示出可编程器件的示例性架构的框图。
图2是根据现有技术,利用堆叠硅互连(SSI)技术的示例性集成电路(IC)封装的截面图,
图3A和3B根据本公开的示例,分别示出了示例性IC封装的一部分的俯视图和截面图,该IC封装包括通过接口管芯耦接至固定结构管芯的可编程IC管芯。
图4根据本公开的一个示例,示出了一对逻辑区域的示例性掩模,每个逻辑区域包括可编程IC管芯和高带宽存储器(HBM)缓冲管芯。
图5A是根据本公开的一个示例,具有与HBM缓冲管芯配对的可编程IC管芯的晶片的俯视图,示出了切割线切口,在该切割线切口处HBM缓冲管芯与可编程IC管芯分离以创建逻辑区域。
图5B是根据本公开的一个示例,图5A的俯视图,其示出了晶片被结合处的切割线切口,其中将HBM缓冲管芯与可编程IC管芯配对以创建具有HBM接口的逻辑区域。
图6根据本公开的一个示例,示出了利用SSI技术的示例IC封装的一部分的俯视图,该封装包括第一逻辑区域、具有HBM接口的第二逻辑区域和HBM管芯。
图7是根据本公开的一个示例的示例性HBM缓冲管芯的框图。
图8是根据本公开的一个示例的用于制造IC封装的示例性操作流程图。
图9是根据本公开的一个示例的示例性HBM缓冲区域的框图,其中,每个可编程IC互连通道连接到一个且仅一个HBM通道。
图10是根据本公开的一个示例的示例性HBM缓冲区域的框图,其中,一个可编程IC互连通道可访问所有的HBM通道。
图11是根据本公开的一个示例的示例性HBM缓冲区域的框图,其中,每个可编程IC互连通道可访问所有的HBM通道。
图12是根据本公开的一个示例的示例性HBM缓冲区域的框图,该缓冲区域具有在可编程IC互连通道和HBM通道之间的交换网络的分层实施方式。
图13是根据本公开的一个示例的耦接至HBM管芯的示例性HBM缓冲区域的框图,HBM缓冲区域在可编程IC互连通道和HBM通道之间具有交换网络,这些HBM通道耦接至HBM管芯中的HBM存储控制器。
图14是根据本公开的一个示例的耦接至两个HBM管芯的图13中的示例性HBM缓冲区域的框图,其示出了交换网络的示例性分层实施方式。
图14A和14B根据本公开的一个示例,示出了在图14的分层实施方式中从不同的全交叉交换中的主单元访问从单元的示例。
图15A-15H根据本公开的一个示例,示出了在图14的实施方式中示例性全交叉交换机中的每个主单元(MU)的不同访问能力。
图16是根据本公开的一个示例的定义图15A-15H所示的每个MU的不同访问能力的示例表。
图17根据本公开的一个示例,示出了与示例性HBM缓冲区域连接的多个分路器的框图,该缓冲区域具有在可编程IC互连通道和HBM通道之间的交换网络的分层实施方式。
图18是根据本公开的一个示例用于路由信号的示例性操作的流程图。
具体实施方式
本公开的示例提供了用于将一个或多个结构(例如,高带宽存储器(HBM))添加到现有合格的堆叠硅互连(SSI)技术逻辑电路(例如,可编程集成电路(IC),比如,超级逻辑域(SLR))而不改变该逻辑电路的方法(例如,添加或移除块)和装置。应用接口和对逻辑电路的插入添加(例如,HBM缓冲器和控制器)可设计在相同的掩模组上,就像它们是单个管芯一样,使用标准切割线将逻辑电路管芯的应用插入部分与接口管芯分开。可使用中介层互连在切割线器上进行应用插入和接口管芯之间的连接。
示例性集成电路封装
集成电路(IC)管芯通常设置在封装中,用于与电路板(例如,印刷电路板(PCB))电连接。该封装可保护集成电路管芯免受潜在的物理损坏和可能导致腐蚀的潮湿的影响。
图2是利用堆叠硅互连(SSI)技术的示例性IC封装200的截面图。IC封装200包括封装衬底202、设置在衬底202上方的中介层204、设置在中介层204上方的多个IC管芯206,以及封装材料(未示出)。该封装材料可以是用于封装和保护IC管芯206的各种合适物质中的任何一种(例如,树脂)。IC管芯206可包括各种合适的管芯中的任何一种,包括高度可制造的现场可编程门阵列(FPGA)管芯切片,称为超级逻辑域(SLR)。在图2的示例性IC封装200中示出了四个IC管芯206(IC0至IC3),但是封装可包括多于或少于四个IC管芯。SSI技术还允许不同类型或硅工艺的管芯在中介层204上互连。
中介层204用作互连载具,IC管芯206并排设置在互连载具上并互连。例如,中介层204可以是无源硅中介层。尽管在图2中仅示出了一个中介层204,但是对于一些示例,IC封装200可用多个中介层来代替中介层204来实现。中介层204可包括多个互连线208,该互连线可通过中介层204提供高带宽、低延迟的连接。多个微凸块210可设置在中介层204上方,用于将IC管芯206的导电焊盘连接到互连线208。中介层204还可包括多个硅通孔(TSV)212,用于在IC管芯206和多个共晶凸块214(例如,可控塌陷芯片连接(C4)凸块)之间布线或路由(routing)连接,该多个共晶凸块214设置在中介层204和封装衬底202之间。TSV 212可提供IC管芯206和衬底202之间的连接,用于并行和串行I/O、电源/接地、时钟、配置信号等。多个共晶凸块214将中介层204电连接到衬底202,更具体地,电连接至衬底表面上的导电元件和通孔中的导电元件。
IC封装200还具有设置在封装衬底202下方的多个焊球216。例如,焊球216可布置成行和列的阵列,用于与布置在电路板(例如,PCB)表面上的导电焊盘的匹配布置进行电接触。
示例性可编程集成电路
许多不同类型的集成电路(IC)管芯206可设置在中介层204上并封装在IC封装200中。一种合适类型的IC是可编程IC,例如现场可编程门阵列(FPGA)。FPGA通常包括可编程单元块(tile)阵列。这些可编程单元块可包括,例如,输入/输出块(IOB)、可配置逻辑块(CLB)、专用随机存取存储块(BRAM)、多路复用器、数字信号处理块(DSP)、处理器、时钟管理器、延迟锁定环(DLL)等等。另一种类型的可编程IC是复杂可编程逻辑器件,或CPLD。CPLD包括通过互连开关矩阵连接在一起并被连接到输入/输出(I/O)资源的两个或更多个“功能块”。CPLD的每个功能块包括两级AND/OR结构,该结构类似于可编程逻辑阵列(PLA)和可编程阵列逻辑(PAL)器件中使用的结构。其他可编程IC通过应用处理层(比如,金属层)来编程,该处理层可编程地互连器件上的各种元件。这些可编程IC称为掩模可编程器件。短语“可编程IC”还可包括仅部分可编程的器件,比如,专用集成电路(ASIC)。
图1是示出用于可编程器件的示例架构100的框图,该器件可实现在图2的IC封装200中。例如,架构100可在现场可编程门阵列(FPGA)内实现。如图所示,架构100包括几种不同类型的可编程电路,例如逻辑,块。例如,架构100可包括大量不同的可编程单元块,包括多千兆位收发器(MGT)101、可配置逻辑块(CLB)102、随机存取存储器块(BRAM)103、输入/输出块(IOB)104、配置及定时逻辑(CONFIG/CLOCKS)105、数字信号处理(DSP)块106、专用I/O块(I/O)107(例如,配置端口和时钟端口)及其他可编程逻辑108,比如数字时钟管理器、模数转换器(ADC)、系统监控逻辑等等。
在一些FPGA中,每个可编程单元块包括可编程互连元件(INT)111,该元件具有去到和来自每个相邻单元块中的相应INT 111的标准化连接。因此,INT 111一起实现所示FPGA的可编程互连结构。每个INT 111还包括去到和来自同一单元块内的可编程逻辑元件的连接,如图1最右侧所包括的示例所示。
例如,CLB 102可包括可配置逻辑元件(CLE)112加上单个INT 111,CLE 112可经编程以实施用户逻辑。除了一个或多个INT 111外,BRAM 103还可包括BRAM逻辑元件(BRL)113。一般来说,单元块中包括的INT 111的数量取决于单元块的宽度。在所示示例中,BRAM单元块具有如同五个CLB的宽度,但也可使用其他数量(例如,四个)。除了适当数量的INT111外,DSP块106还可包括DSP逻辑元件(DSPL)114。例如,除了INT 111的一个实例外,IOB104还可包括I/O逻辑元件(IOL)115的两个实例。如本领域技术人员将清楚的那样,连接到例如IOL 115的实际I/O焊盘通常不限于IOL 115的区域。
在图1所示的示例性架构100中,在管芯中心附近的水平区域(图1中阴影部分所示)用于配置、时钟和其他控制逻辑(CONFIG/CLOCKS105)。从该中心区域延伸的其他垂直区域109可用来在FPGA的整个宽度上分配时钟和配置信号。
一些使用图1所示架构100的FPGA包括附加逻辑块,其破坏构成FPGA大部分的正规行状结构。附加逻辑块可为可编程块和/或专用电路。例如,标示为PROC 110的处理器块跨过几个行的CLB 102和BRAM 103。
PROC 110可实现为硬连线处理器,该处理器被制造为实现FPGA的可编程电路的管芯的一部分。PROC 110可表示各种不同处理器类型和/或系统中的任何一种,这些不同处理器类型和/或系统的复杂程度从单个处理器(例如,能够执行程序代码的单核)到具有一个或多个核、模块、协处理器、接口等的整个处理系统。
在更复杂的布置中,例如,PROC 110可包括一个或多个核(例如,中央处理单元)、高速缓冲存储器、存储器控制器、单向和/或双向接口,该单向和/或双向接口可配置以直接耦接至IC的I/O引脚(例如,I/O焊盘)和/或耦接至FPGA的可编程电路。短语“可编程电路”可指IC内的可编程电路元件(例如,本文所述的各种可编程或可配置电路块或单元块)以及互连电路,该互连电路根据加载到FPGA中的配置数据而选择性地耦接各种电路块、单元块和/或元件。例如,图1所示在PROC 110外部的部分可认为是FPGA的可编程电路或其一部分。
图1旨在示出可用于实现包括可编程电路(例如,可编程结构(fabric))和处理系统的FPGA的示例性架构100。例如,一行逻辑块的数量、这些行的相对宽度、这些行的数量和顺序、这些行中包括的逻辑块类型、逻辑块的相对大小以及图1右侧所包括的互连/逻辑实施方式是示例性的。在实际的FPGA中,例如,在CLB出现的任何地方通常包括多于一个的相邻行CLB 102,以便于有效实现用户电路设计。但是,相邻CLB行的数量可随FPGA的总体大小而变化。此外,PROC 110在FPGA内的尺寸和/或定位仅用于说明的目的,并不旨在限制本公开的一个或多个示例。
用于SSI技术集成的示例性独立接口
如上所述,堆叠硅互连(SSI)技术器件使用比传统IC封装技术或PCB技术中可用的那些更密集的精细微凸块和金属迹线来通过中介层将多个集成电路(IC)管芯连接在一起。可能希望通过比使用连接至PCB上的封装引脚的传统I/O允许的连接更加密集和快速的连接,将具有附加能力的固定结构管芯(例如,ASIC)连接至可编程IC管芯(例如,FPGA SLR),来将SSI技术用于某些应用。对于一些示例,如果要将附加能力添加到可编程IC管芯,可能需要将附加电路(例如,缓冲器)添加至可编程IC管芯,该可编程IC管芯连接至固定结构管芯以与具有与固定结构管芯一致的功能和图案(pattern)的微凸块连接。对于某些应用,支持新功能所需的大量额外连接可能对可编程IC架构造成极大的破坏,且可能涉及移除逻辑和/或DSP模块以及对时钟网络的改变。当对现有的工作可编程IC管芯进行这样的改变时,可能希望完全重新认证整个管芯,这是复杂且昂贵的。
本公开的示例避免了对可编程IC架构的这种破坏和重新认证,而是使可编程IC管芯保持不变。设计了一种接口管芯,该接口管芯与一侧的可编程IC管芯(例如,FPGA SLR)的中介层互连数据和时钟微凸块以及互连图案兼容,并与另一侧的固定结构管芯的微凸块和互连图案兼容。该接口管芯用于将固定特征协议转换为中介层互连兼容协议。在晶片切割之后,可编程IC管芯和接口管芯可共享相同的晶片级衬底(例如,相同的半导体材料单块),但是可通过切割线(标准切割线)分离。
图3A和3B根据本公开的示例,分别示出了示例性IC封装的一部分的俯视图和截面图(例如,在中介层水平上),该IC封装包括通过接口管芯306耦接至固定结构管芯304的可编程IC管芯302。可使用掩模来生成具有与接口管芯306配对的可编程IC管芯302的几个实例的晶片。切割后,可编程IC管芯302和接口管芯306可共享相同的晶片级衬底,如图3B所示。切割线308可将接口管芯306与可编程IC管芯302分开,且在两个管芯之间可能没有通过晶片部分的直接电连接。相反,通过中介层204的第一组互连线310可用于电连接可编程IC管芯302和接口管芯306中的电路。接口管芯306的一侧设计成与可编程IC管芯302的微凸块210和第一组互连线310的图案兼容。被布线通过中介层204的第二组互连线312可用于电连接固定结构管芯304和接口管芯306中的电路。接口管芯的另一侧设计成与固定结构管芯304的微凸块210和第二组互连线312的图案兼容。按此方式,接口管芯306的设计和中介层204中的互连线208的使用使固定结构管芯304的附加能力可集成到SSI技术IC封装中,而无需对可编程IC管芯302进行任何改变。因此,现有的工作可编程IC管芯不需要重新认证。
可利用SSI技术的一个示例性应用包括高带宽存储器(HBM)。HBM是用于三维(3-D)堆叠动态RAM(DRAM)的高性能随机存取存储器(RAM)的实例,其可用在任何各种合适的应用中,比如,高性能图形加速器和网络器件。在HBM中,可堆叠多达八个DRAM管芯,这些管芯可通过硅通孔(TSV)和微凸块互连。
与使用连接至PCB上的封装引脚的传统I/O的传统DRAM相比,HBM器件利用SSI技术而将DRAM连接至可编程IC管芯(例如,FPGA管芯)的密集和速度高达八到十倍(8到10x)。如果要将HBM添加到FPGA中,则可能需要将缓冲器添加到连接至HBM的FPGA。这些缓冲器将驱动具有与相邻的HBM一致的功能和图案的微凸块。来自HBM的数据将具有非常高的带宽(例如,每HBM器件每秒为6太位(Tbps))。将数以万计的所需连接添加至FPGA将对FPGA架构造成极大的破坏,包括从FPGA结构的规则性中删除逻辑和DSP块以添加来自HBM缓冲器的连接。这种添加还可能破坏FPGA时钟网络。除了必须设计新的HBM缓冲器之外,IC制造商还可能为了增加HBM支持而开发与时钟、CLE和/或DSP相关的新模块。如上所述,FPGA(SLR)的认证非常复杂。此外,预计HBM标准将在典型FPGA产品的使用寿命期间发生变化。对标准的更改可能需要重新设计HBM缓冲器和整个FPGA(SLR)以及完全重新认证。
本公开的示例使FPGA(SLR)保持不变。HBM缓冲管芯可设计成与一侧的FPGA(SLR)的中介层互连数据和时钟微凸块以及互连图案兼容,并与另一侧的HBM存储器(或多个存储器存)的微凸块和互连图案可兼容。HBM缓冲管芯的功能是将HBM协议转换为中介层互连兼容协议,如AXI(高级可扩展接口,Advanced eXtensible Interface)。FPGA和HBM缓冲器件可共享相同的晶片级衬底,但是可通过切割线分开,如上所述。尽管在整个本公开中使用HBM应用和HBM缓冲管芯作为示例,但应当理解,可使用合适的接口管芯将任何合适的应用(和专用集成电路(ASIC)管芯)集成在SSI技术IC封装中。
图4根据本公开的一个示例,示出了用于一对逻辑区域的示例性掩模400。每个逻辑区域包括可编程IC管芯402和HBM缓冲管芯404。尽管在图4的示例性掩模400中示出了一对逻辑区域,但是掩模可仅具有一个逻辑区域或多于两个逻辑区域。图4示出了可编程IC管芯402和HBM缓冲管芯404具有相同的宽度405并由切割线406分开。该切割线406可具有标准宽度。对于其他示例,HBM缓冲管芯404可具有与可编程IC管芯402不同的宽度。HBM缓冲管芯404和可编程IC管芯402可具有兼容的中介层互连微凸块图案。图4中的掩膜400可用来制作图5A和图5B所示的晶片。
图5A和5B示出了如何使用一个掩模组来制作两个不同的逻辑区域。图5A是根据本公开的一个示例,具有逻辑区域(例如,SLR)的晶片500的俯视图,该逻辑区域包括与HBM缓冲管芯504配对的可编程IC管芯502。虚线506表示切割晶片500的切割线切口,且HBM缓冲管芯504与可编程IC(PIC)管芯502分离。例如,图5A中的晶片500可用来产生传统的SSI技术FPGA SLR。分离的HBM缓冲管芯504可被丢弃。
图5B是根据本公开的一个示例,具有HBM接口的晶片520的俯视图。晶片520可以是与图5A的晶片500相同的起始晶片,但切割线切口是不同的。切割图5B中的晶片520,使得PL管芯502和HBM缓冲管芯504配对在一起作为单个逻辑区域(例如,SLR)。HBM缓冲器和PL部分可通过切割线分开,并可在切割的晶片部分中不具有任何直接电连接。而是,两个部分之间的连接可通过SSI中介层中的互连线来实现。
中介层204中的这些互连线310被设计成在管芯之间产生宽的、高带宽的连接。此外,互连线310可被设计为在足够的可编程逻辑(例如,FPGA)上分配连接的带宽,以吸收HBM的惊人带宽。可编程IC管芯和HBM缓冲管芯的分离(例如,通过切割线)还用于降低风险并增加供应商灵活性。按此方式,HBM或HBM缓冲管芯的问题或HBM标准的变化不会影响可编程逻辑的有用性。此外,如果由于HBM供应商差异或HBM标准的演变而改变HBM设计,则不需要扰乱可编程逻辑。这将节省大量的认证时间,尤其是因为中介层互连线310上的HBM至PIC的连接可能是软的并可能不涉及进行修改而对掩模的改变。互连线310上的这种软连接可在每条互连线的末端用双向驱动器实现,可控制该双向驱动器以调节连接哪条线。
图6根据本公开的一个示例,示出了利用SSI技术的示例性IC封装的一部分(例如,在中介层水平上)的俯视图。IC封装的该部分包括耦接至第二逻辑区域608(包括与HBM缓冲管芯606配对的第二可编程IC管芯604)的第一逻辑区域602(包括第一可编程IC管芯),其中,第二逻辑区域可被称为具有HBM接口的逻辑区域。HBM缓冲管芯606耦接至两个HBM管芯610、612。尽管可编程IC管芯604和HBM缓冲管芯606是独立的,但是这些管芯可作为单个逻辑区域608从晶片切割。第二逻辑区域608中的两个管芯604、606可使用被布线通过中介层615的第一组互连线614连接。在可编程IC管芯604和HBM缓冲管芯606之间被布线的互连线614可与图2中的IC管芯206之间使用的互连线208的类型相同。对于一些示例,HBM通道可能需要处于每秒500兆位(Mbps)的1440个互连信号,每个器件有8个通道。因此,在逻辑区域602和逻辑区域608之间可能存在具有1440个信号的16个可编程IC互连通道。HBM缓冲管芯606和HBM管芯610、612之间的互连线616可在中介层204上使用HBM JEDEC标准。对于一些示例,每个HBM通道可能有处于每秒2千兆位(Gbps)的212条互连线,每个HBM器件有8个通道。
在合适的工艺节点(例如,65nm或更小)上的中介层互连可与HBM带宽和密度非常兼容。图7根据本公开的一个示例示出了示例HBM缓冲管芯700的顶层设计。HBM缓冲管芯700可以是图6中的HBM缓冲管芯606的一个示例性实施方式。来自HBM管芯610、612的信号计数和带宽通过互连信号带宽很好地被平衡到可编程IC(例如,FPGA)。该电路可在HBM通道704和可编程IC互连通道706之间具有交换网络702(例如,AXI交换网络)。HBM设计还实现了HBM布局和可编程IC互连布局独立。
图7中的每个主单元(MU)708可以是,例如,以500MHz运行的512位AXI总线,该总线可占去可编程IC互连通道706中1440个信号的大部分。每个HBM输出中的从单元(SU)710也可以是,例如,以500MHz工作的512位AXI总线。处于2千兆位每秒(Gbps)的128位的HBM应用可能会导致AXI 512位接口处于500MHz。
利用本公开的示例,可在不改变逻辑电路(例如,添加或移除块)的情况下将HBM存储器或其他合适的能力添加到现有的合格SSI技术逻辑电路。应用接口和逻辑电路的插入添加(例如,HBM缓冲器和控制器)可设计在相同的掩模组上,就像它们是单个管芯一样,用标准切割线将逻辑电路管芯的应用插入部分与接口管芯分开。可使用中介层互连在切割线上进行应用插入和接口管芯之间的连接。
根据本公开的示例,独立接口方法提供了许多优点。由于可编程IC管芯可具有多个流片(例如,工程样品和生产),因此可将接口管芯(例如,HBM缓冲管芯)添加到包括产品的任何流片中,而无需额外的掩模成本。向可编程IC(例如,FPGA)引入对附加结构的支持(例如,HBM支持)不需要涉及设计新的可编程IC以及随后的建模和认证。由于中介层互连已经被支持和建模,因此添加能力(例如,HBM)不需要来自IC封装设计者和/或制造商的不同组的任何额外工作。在了解了设计指南(例如,HBM标准)和可编程IC上的互连信号的模式的情况下,可能仅需一个组来设计接口管芯(例如,HBM缓冲管芯)。该设计对于外部供应商也可非常便携。将来对设计的改变(例如,HBM标准的修订)不需要影响可编程IC设计或认证。独立接口设计可应用于具有互连支持的任何逻辑电路。
制造IC封装的示例性操作
图8是根据本公开的一个示例,用于制造IC封装800的示例性操作流程图。例如,可通过用于制造IC封装的系统来执行操作800,该系统可包括半导体处理腔室。
在框802处,操作800可通过为与接口管芯配对的可编程IC管芯提供掩模来开始。接口管芯用于将可编程IC管芯耦接至至少一个固定结构管芯。在框804处,掩模用于生成具有多个配对的可编程IC和接口管芯的晶片。在框806处,可切割晶片以分离包括多个配对的可编程IC和接口管芯中一个的晶片部分。在框808处,该晶片部分可设置在包括多个互连线的中介层上方。第一组互连线可被布线通过中介层,用于电连接该晶片部分中的配对的可编程IC和接口管芯。第二组互连线可被布线通过中介层,用于电连接接口管芯和固定结构管芯。
根据一些示例,操作800可进一步需要将固定结构管芯设置在中介层上方。对于一些示例,所述操作还可涉及将中介层设置在封装衬底上方和/或封装固定结构管芯、晶片部分、中介层和封装衬底的至少一部分,以形成集成电路封装。对于一些示例,多个微凸块可设置在中介层上方。在该情况下,多个微凸块可将被布线通过中介层的互连线与可编程IC管芯、接口管芯和固定结构管芯中的电路电连接。对于一些示例,晶体部分中的接口管芯与微凸块的第一图案和可编程IC管芯的第一组互连线兼容,并可与微凸块的第二图案和固定结构管芯的第二组互连线兼容。
根据一些示例,操作800还可包括在每一个配对的可编程IC和接口管芯中的可编程IC管芯和接口管芯之间形成切割线。
根据一些示例,晶片部分中的配对的可编程IC管芯和接口管芯共享相同的晶片级衬底。
根据一些示例,固定结构管芯包括HBM管芯。在该情况下,接口管芯可包括HBM缓冲管芯。对于一些示例,第二组互连线符合HBM JEDEC标准。
根据一些示例,固定结构管芯包括专用集成电路(ASIC)。
根据一些示例,在晶片部分中的配对的可编程IC管芯和接口管芯之间,除了通过被布线通过中介层的互连线的电连接之外,没有电连接。
示例性HBM带宽聚合交换机(switch)
如上所述,HBM是用于3-D DRAM的高性能RAM实例,其可用在任何各种合适的应用中,比如,高性能图形加速器和网络器件。在HBM中,可堆叠多达八个DRAM管芯,这些管芯可通过硅通孔(TSV)和微凸块互连。与允许使用连接至PCB上的封装引脚的传统I/O的传统DRAM相比,HBM器件利用SSI技术而将堆叠的DRAM连接到可编程IC管芯的密集和速度高达八到十倍(8到10x)。一个HBM器件可有16个伪存储器通道,每个通道具有与1600Mbps 64位双倍数据速率(DDR)双列直插式存储器模块(DIMM)相同的带宽,这是一个相当高的带宽。
但是,HBM中每个存储器通道都进入隔离的存储器阵列,每个HBM通道只能用其分区中的地址访问存储器。为了充分利用HBM器件的所有带宽和位,系统可具有例如访问每个通道的16个独立代理(agent)。如果可编程IC中的系统只有四个代理,则可能很难将多组通道连接到每个代理以使用所有位和带宽。HBM通道到每个代理的聚合可使用在可编程IC中的大量结构(fabric)资源,这可能由于HBM的带宽要求而变得更具挑战性。在没有HBM交换机(例如,交换网络702)的情况下,每个HBM伪通道可通过结构逻辑和其它逻辑与可编程IC管芯边界上的输入/输出(I/O)之间的接口(称为边界逻辑接口(BLI))连接到可编程IC结构。BLI可使非常大且复杂的HBM伪通道逻辑和I/O被视为更小的块,比如,可编程IC的结构阵列中的CLE或DSPL(例如,图1中的CLE 112或DSPL 114)。
本公开的示例利用了可编程IC互连通道(例如,FPGA BLI)和HBM伪通道(PC)之间的交换机(例如,交换网络702)。对于一些示例,交换机可使任何可编程IC互连通道可访问任何HBM伪通道。因此,无论从哪个伪通道访问该位,任何互连通道都可访问HBM中的任何位。
在当前基于PCB的设计环境中,具有四个64位DDR DIMM推动了封装和PCB技术的极限。对于一些示例,具有HBM的可编程IC可实现相当于16个与其连接的64位DDR DIMM。某些客户和应用可能会找到16个HBM接口的用途,但大多数应用将继续使用4个接口,或者可将其加倍为8个。因此,希望4个存储器的客户可组合4个HBM伪通道的带宽和位来制作虚拟存储器。应了解,许多组合是可能的,从四组四到一组13和三组1等。每个HBM伪通道(PC)可通过BLI进入可编程IC的结构区域,BLI可以是以500MHz运行的256位全双工AXI总线。组合四个HBM伪通道BLI可能消耗可编程IC的大量资源并可能具有非常困难的时序收敛。硬化(hardening)可编程IC互连通道(例如,FPGA BLI)和HBM PC之间的交换机可节省结构资源并消除时序收敛问题。
理想的交换网络应该具有两个主要特征。首先,在惰性情况(idyllic case)下,到交换网络的每个BLI主输入都可访问任何和所有HBM伪通道从端口。其次,在每个BLI直接连接到一个且仅一个HBM PC(也称为“亲和性情况(affinity case)”)的情况下,通过交换网络的延迟(latency)应该是最小的。
图9是根据本公开的一个示例,用于亲和性情况的示例性HBM缓冲区域900的框图。该电路可在HBM通道704(例如,HBM PC)和可编程IC互连通道906(例如,BLI端口)之间具有交换网络902。在交换网络902中,每个可编程IC互连通道906直接连接到一个且仅一个HBM通道704。
图9的亲和性情况是使用可从HBM器件获得的最大带宽的应用。使用亲和性情况的应用可能期望可能的最小延迟。对于下面描述的其他HBM缓冲区域,作为一种选择,通过将交换网络902配置为在图9所示的亲和性情况下操作,能有效地旁路交换机以获得最小延迟。
类似于上述其他示例,本文所描述的HBM缓冲区域(包括HBM缓冲区域900)可与一侧的可编程IC的中介层互连数据和时钟的微凸块和互连图案兼容,并与另一侧的一个HBM存储器(或多个存储器)的微凸块和互连图案兼容。HBM缓冲区域的功能是将HBM协议转换为中介层互连兼容协议,如AXI(高级可扩展接口)。对于一些示例,可编程IC和HBM缓冲区域900可共享相同的晶片级衬底,但是可通过切割线分开并依赖于中介层用于它们之间的连接,如上文所述。在这种情况下,HBM缓冲区域900可以是单独的HBM缓冲管芯。对于其他示例,HBM缓冲区域900可与可编程IC集成在单个单片管芯(monolithic die)中。在该情况下,对于一些示例,可编程IC和HBM缓冲器不需要依靠中介层进行它们之间的连接,且可能不存在通过中介层被布线的电连接以连接可编程IC和HBM缓冲器。相反,IC金属化可用于将HBM缓冲电路与可编程IC电路连接。IC金属化可使用一个或多个金属化层。对于其他示例,可利用IC金属化和中介层互连线的组合来将可编程IC电路与HBM缓冲电路连接。
例如,交换网络902可以是AXI型交换网络或分组协议型交换网络。在AXI型交换网络中,信号可从每个主单元708驱动,并由仲裁器控制的多路复用器(MUX)多路复用到公共地址/数据/控制总线上。多路复用器的输出可扇出到从单元710。总线通过MUX结构分别传输数据、地址和控制信号。地址和控制以及仲裁系统引导数据总线通过一系列MUX和缓冲器从主单元708到从单元710。在分组协议类型的交换网络中,数据、地址和控制可被组合在具有一组流控制数字(也称为“微片”(flit))的分组中。例如,可基于微片将分组从主单元708发送到从单元710。
图10根据本公开的一个示例,描绘了示例性HBM缓冲区域1000,其中,交换网络902被配置为使得一个可编程IC互连通道906A可访问所有HBM通道704。按此方式,该特定通道906A具有完全可寻址性。但是,在这种情况下,带宽可能受BLI端口的限制,而不受HBM PC的限制。应理解,在其他示例中,特定可编程IC互连通道可以是互连通道906中的任何一个。
图11根据本公开一个示例,描绘了示例性HBM缓冲区域1100,其中,交换网络902被配置为使得每个可编程IC互连通道906可访问所有HBM通道704。这种类型的交换机被称为“全交叉交换机”,可实现图9和10中所示的两种情况以及它们之间的所有组合。虽然全交叉交换机非常灵活,但它有两个缺点。首先,即使实现为硬块(hard block),但全交叉交换机也将具有非常大的实施方式以实现访问路径的各种组合。其次,包括亲和性情况的所有路径的延迟将相对较高(即,慢速路径),使得全交叉交换机将具有相当大的延迟。
全交叉交换机的一种替代方案是分层交换机。图12根据本公开一个示例,示出了示例性HBM缓冲区域1200,其中,交换网络902被配置为实现可编程IC互连通道906与HBM通道704之间的分层交换机。在该示例性实施方式中,分层交换机包括两个5:5全交叉交换机1210和两个6:6全交叉交换机1212,在相邻的全交叉交换机之间具有交叉耦接连接1214。该配置仍然提供图9的亲和性情况和图11的完全可寻址性情况。尽管图12中示出了两个5:5全交叉交换机1210和两个6:6全交叉交换机1212,但应了解,在替代方案中,可使用任何各种合适的全交叉配置来实现分级交换机(例如,两个9:9全交叉交换机,或两个3:3全交叉交换机和六个4:4全交叉交换机)。分层交换机的完全可寻址性情况延迟是可编程IC互连通道906和HBM通道704之间级联的交换机的数量的函数。由于6:6全交叉交换机的延迟明显小于16:16全交叉交换机(如图11所示),因此分层交换机的亲和性情况具有明显更短的延迟。
在图11的灵活实施方式中,全交叉交换机在每个主单元708和从单元710之间提供“专用”路径。因此,没有阻碍。相反,图12中的分层交换机有一些阻碍。阻碍的一个示例是最左边的5:5全交叉交换机1210中的两个主单元708想要访问最左边的6:6全交叉交换机1212中的两个从单元710的情况。在该情况下,通过交换网络702的两条路径将共享最左边的5:5全交叉交换机1210和6:6全交叉交换机1212之间的交叉耦接连接1214中的一个。由于两个主单元708不能同时使用相同的资源,因此其中一个路径被称为“阻碍”另一个路径对最左边的6:6全交叉交换机1212中的从单元710的访问。
为了避免阻碍,可采用许多策略。一种策略需要具有对主单元708进行排序的良好调度器,使得一个主单元不阻碍另一个主单元。另一策略涉及在阻碍点处使用缓冲器(例如,在交叉耦接连接1214处)。利用缓冲器,可缓冲由交换机接收的后续数据集,直到交换机资源空闲(例如,交换机接收的先前数据集已被清除)。
基于上述示例,本公开的示例提供了无数的交换机实施方式,具有良好的亲和性延迟和来自任何通道的完全可寻址性,并具有最小的阻塞和延迟特性。此外,一些示例性交换机实施方式可提供亲和性旁路模式。亲和性旁路模式可提供具有最低可能延迟的亲和性情况,与交换机架构无关。
再次参考图8,如上所述,代替在框808处将晶片部分设置在中介层上方,操作800可选择地涉及将晶片设置在中介层上方,其中,第一组互连线被布线通过中介层,用于电耦接接口区域的第一多个端口和固定结构管芯,并且,第二组互连线将接口区域的第二多个端口电耦接到晶片部分中配对的可编程IC和接口区域中的可编程IC区域。
根据一些示例,第二组互连线中的至少一部分被布线通过中介层。
根据一些示例,可编程IC区域和接口区域是单片管芯的一部分。在该情况下,第二组互连线可被布线通过单片管芯的至少一个金属化层。对于一些示例,第二组互连线中没有一条被布线通过中介层。
根据一些示例,操作800还可需要将至少一个固定结构管芯设置在中介层上方。在该情况下,操作800还可涉及将中介层设置在封装衬底上方和封装该至少一个固定结构管芯、晶片部分、中介层和封装衬底的至少一部分,以形成集成电路封装。
根据一些示例,接口区域能够被配置为第一多个端口和第二多个端口之间的交换网络。对于一些示例,交换网络可在第一多个端口中的每个端口和第二多个端口中的每个端口之间提供完全可寻址性,从而第二多个端口中的每个端口可访问第一多个端口中的任何一个端口。对于一些示例,交换网络提供旁路模式,其中,第二多个端口中的每个端口可访问第一多个端口中一个不同的端口。对于一些示例,交换网络可实现为由多个连接的全交叉交换网络组成的分层交换网络。对于一些示例,交换网络实现为AXI型交换网络。对于一些示例,交换网络实现为分组协议型交换网络。
根据一些示例,操作800还包括在配对的可编程IC和接口区域中的每个中的可编程IC区域和接口区域之间形成切割线。
根据一些示例,固定结构管芯是HBM管芯。在该情况下,接口区域可以是HBM缓冲区域,且第一多个端口可包括HBM通道(例如,HBM PC)。第二多个端口可包括可编程IC互连通道。
示例性分层交换机实施方式
如上所述,每个HBM器件(例如,在第二代HBM器件的情况下,称为“HBM2”或“HBMGen2”)可支持1024位数据总线,分成16个独立通道。这些HBM伪通道中的每个仅可访问HBM器件地址空间的1/16。因此,HBM缓冲区域可包括使单个“内核”(例如,可编程IC的用户软逻辑中的互连通道)能够访问HBM器件的任何部分的交换网络(例如,使用图10所示的1x16交叉交换机)。如果可编程IC支持n个HBM器件,则该交换网络可扩展到1×16n交叉交换机(例如,用于支持两个HBM器件的1x32交叉交换机)。对于HBM Gen2(以2Gbps运行),每个HBM伪通道是256位数据总线(例如,以HBM数据速率的1/4运行)。
假设32个内核可访问两个HBM器件,然后全交叉交换机实施方式(例如,如图11所示)可能需要具有256位数据总线的32×32全交叉交换机。就面积和功率而言,这种全交叉交换机的实施可能非常昂贵。几个可编程IC/HBM用例可能涉及对HBM地址空间的统一访问,但并非所有用例都使用统一寻址来指定全带宽。此外,在可编程IC的软逻辑中具有所有HBM交换机互连也可能非常昂贵并可能产生性能瓶颈。
如上所述,全交叉交换机的一个替代方式为分层交换机(例如,如图12所示)。本公开的示例提供了用于这种分层交换机的各种合适的实现方式。
每个HBM存储器堆叠可分成8个128位宽的独立存储器分区。这些独立存储器分区中的每个可具有独立的时钟和定时、独立的命令和独立的存储器阵列。换句话说,在一个存储器分区中发生的事情可能不会影响另一个存储器分区。这八个分区中的每个还可细分为两个64位宽的独立分区,这些分区可通过诸如本文所述的交换网络的接口(例如,AXI接口)与主机(例如,可编程IC的结构)连接。这些细分(subdivision)中的每个被称为HBM伪通道(例如,HBM通道704)。
图13是根据本公开的一个示例,耦接至示例性HBM管芯1304的示例性HBM缓冲区域1302的框图。HBM缓冲区域1302可用16个可编程IC互连通道906(例如,来自可编程IC的结构)和16个HBM通道704之间的交换网络来实现。HBM管芯1304包括多个存储器控制器1306(示出八个,标记为MC0到MC7)、耦接至存储器控制器1306的物理层(PHY)1308、以及耦接至PHY 1308的输入/输出层(IO)1310。
通过以上描述,每个存储器堆叠可包括16个AXI从端。16主x16从交叉的AXI端口(例如,如图11所示的全交叉交换机或图12所示的分层交换机)将从每个主端口(例如,每个主单元708)提供具有完整存储空间访问的完全的每一伪通道(full per-pseudo-channel)控制。在多个HBM存储器堆叠的情况下,可扩展该该交叉交换机。例如,如图14所示,具有两个HBM存储器堆叠,交叉交换机可扩展到32x32AXI端口。
图14根据本公开的一个示例,提供了被重复并被耦接到两个HBM管芯1304的图13的示例性HBM缓冲区域1302和交换网络的框图1400。交换网络可通过管线1402耦接在一起,用于它们之间的互连。在该情况下,可有32个可编程IC互连通道906,每个可编程IC互连通道能够访问32个HBM通道704中的任何一个。
图14中的框图1450示出了重复的交换网络的示例分层实施方式。每个交换网络用四个全交叉交换机1452来实现。每个全交叉交换机1452可耦接到四个主端口(例如,MU708)(其可耦接到对应的可编程IC互连通道906)和四个相应的从端口(例如,SU 710)(其可耦接到相应的HBM通道704)。利用32个可编程IC互连通道906和32个HBM通道,八个全交叉交换机1452可耦接到32个主端口(标记为M0-M31)和32个从端口(标记为S0-S31),如图所示。
每对相邻的全交叉交换机1452可通过交叉耦接连接1453连接。例如,相邻的全交叉交换机1452之间的交叉耦接连接1453可包括四个连接:从左到右的两个连接和从右到左的两个连接。取决于每个全交叉交换机1452的视角,这些连接中的每个可被视为出站连接或入站连接。两个交换网络可通过管线1454互连,管线1454可用类似于交叉耦接连接1453的连接来实现。框图1450末端上的全交叉交换机1452未耦接到其他全交叉交换机。因此,对于一些示例,末端上的全交叉交换机1452可在与没有相邻的全交叉交换机相关联的一侧上没有耦接到其上的交叉耦接连接1453。换句话说,如图14所示,末端上的全交叉交换机1452可交叉耦接到一个相邻的全交叉交换机,而交换网络中间的交叉交换机可交叉耦接到两个相邻的交叉交换机。在其他示例中,末端上的交叉交换机1452可在与没有相邻的交叉交换机相关联的一侧具有交叉耦接连接1453,但是这些交叉耦接连接没有耦接到其他任何东西。
图15A-15H根据本公开的一个示例,示出了在图14的实施方式中示例性全交叉交换机1452中的每个主端口(例如,MU 708)和主交叉耦接连接端口的不同访问能力。图16是根据本公开的一个示例,定义了如图15A-15H所示的每个主端口和主交叉耦接连接端口的不同访问能力的示例表1600。在表1600中,行和列的交叉点处的“1”表示该行中的主端口或主交叉耦接连接端口可访问对应于该交叉点的该列中的从端口或从交叉耦接连接端口。交叉点处的“0”表示没有访问能力。对于一些示例,可根据分配的硬件连接(例如,在每个全交叉交换机1452中)来强制执行这些访问能力;换句话说,缺少访问能力的某些端口之间可能没有可用的硬件连接。
尽管图15A-15H中的任何一个可表示图14的框图1450中的全交叉交换机1452中的任何一个,但图15A-15H中的每个示出了四个主端口(标记为M0-M3)和四个从端口(标记为S0-S3)。从该特定交换机的视角来看,全交叉交换机1452左侧的交叉耦接连接1453包括两个入站端口(例如,左主交叉耦接连接端口,标记为LM_0和LM_1)和两个出站端口(例如,左从交叉耦接连接端口,标记为LS_0和LS_1)。全交叉交换机1452右侧的交叉耦接连接1453包括两个入站端口(例如,右主交叉耦接连接端口,标记为RM_0和RM_1)和两个出站端口(例如,右从交叉耦接端口,标记为RS_0和RS_1)。
每个主端口(例如,顶部输入)可能够访问六个端口中的每个(例如,四个底部输出、一个左输出和一个右输出)。例如,图15A中的主端口0(M0)能够访问从端口(S0-S3)中的任何一个、LS_0或RS_0。图15B中的主端口1(M1)的布线类似于图15A,与图16中的表1600一致。再例如,图15C中的主端口2(M2)能够访问S0-S3中的任何一个、LS_1或RS_1。图15D中的主端口3(M3)的布线类似于图15C。
每个主交叉耦接连接端口(例如,侧面输入)可能够访问五个端口中的每个(例如,四个底部输出、和在全交叉交换机1452的相对侧上的一个侧面输出)。在全交叉交换机1452相对侧的侧面输出可以是对应于主交叉耦接连接端口的从交叉耦接端口。例如,图15E中的LM_1能够访问中的任何一个S0-S3或RS_1,图15F中的LM_0能够访问S0-S3中的任何一个或RS_0,图15G中的RM_0能够访问S0-S3中的任何一个或LS_0,以及图15H中的RM_1能够访问S0-S3中的任何一个或LS_1。
每个交换网络被实现为图14中的四个4×4全交叉交换机1452,仅作为示例提供。可使用不同数量(例如,不是四个)的全交叉交换机来实现交换网络。此外,全交叉交换机中的一个、多个或全部可具有与其相关联的不同数量的主端口和/或从端口(例如,除了四个之外)。例如,16x16交换网络还可替换地用两个3x3全交叉交换机和两个5x5全交叉交换机来实现。此外,图15A-15H和图16中的表1600中所示的不同访问能力也仅作为示例提供。所示的各种主端口和主交叉耦接连接端口中的每个可具有不同的访问能力,尤其是,如果使用不同数量的主端口、不同数量的主交叉耦接连接端口、不同数量的从端口和/或不同数量的从交叉耦接连接端口实现全交叉交换机,。
如上所述,交换网络可实现为AXI型交换网络或分组协议型交换网络。可编程IC软逻辑(例如,内核主端(kernel master))可具有用于每个实例(例如,每个分组)的地址和数据位,该实例根据地址被路由到适当的可编程IC互连通道和相关的主端口。基于该相同地址,交换网络可使用AXI或分组协议将该实例路由到适当的从端口(和相关联的HBM通道)。
对于图14的框图1450中所示的分层交换网络的实施方式,可修改主地址和AXIID,以便为来自可编程IC结构的所有可能的主端(master)提供统一的连续寻址。AXI交换机地址解码可扩展N位,其中N=log2(从端(slave)的数量)。因此,在两个HBM堆叠上的32个从端的情况下,可使用N=5个扩展地址位来选择从端目标。为了简化硬化的交换机,每个HBM伪通道可分配32位的固定字节地址,因此交换机全地址空间是N+32位。
给定HBM存储器堆叠中的实际每一通道和总地址空间可能需要小于或等于交换机中提供的32位寻址。在仅使用P地址位的交换机中,其中P<32,可由主机插入32-P个“0”位以将从地址扩展到完整的32位。例如,每个从端仅使用29位寻址的HBM配置可创建主机地址{N位,29位}。然后,在连接到交换机之前,该地址可扩展到{N位,b000,29位}。
在硬化的交换机内,可进一步映射地址以提供统一寻址。例如,可以从从选择地址S中减去主端口数M,以形成带符号的重映射从选择。该重映射值S’=S-M是N+1位带符号数。负的S’对小于当前主端口数的从端口数寻址,而正的S’对比当前主端口数更高的从端口数寻址。例如,-4的S’为对低于当前主连接4个位置的从端口寻址。
除了主地址扩展以覆盖N个从端之外,主AXIID还可扩展N位以将返回数据和响应从从端映射回主端。该扩展可通过每个主端的输入处的扩展ID来完成(例如,{N,AXIID})。此AXIID扩展以及任何主端到从端路径的固定布线,可提供任何额外的交换机AXIID标签以正确地布线不必要的AXI命令。
返回参考图14中的32×32分层交叉交换机实施方式,任何主端口都可访问任何从端口,因此可访问任何HBM伪通道。例如,图14A示出了主端口1(M1)访问在不同的全交叉交换机1452中的从端口11(S11)。在该示例中,来自M1的布线与图15B中的布线匹配,由于S11在右侧的不同全交叉交换机1452中,因此M1被布线到输出端口RS_0。在具有主端口4-7(M4-M7)的全交叉交换机1452处,输入端口LM_0(通过交叉耦接连接1453连接到具有M1的全交叉交换机的输出端口RS_0)根据图15F中的布线被布线到输出端口RS_0。在具有主端口8-11(M8-M11)的全交叉交换机1452处,输入端口LM_0(连接到具有M4-M7的全交叉交换机的输出端口RS_0)根据图15F中的布线被布线到S11(其中,S3将对应于S11)。
在另一个示例中,图14B示出了主端口23(M23)经由管线1454访问不同的全交叉交换机1452中的并且与不同的HBM管芯1304相关的从端口6(S6)。在该示例中,M23将对应于M3,因此,来自M23的布线与图15D中的布线匹配。因为S6在左侧的不同的全交叉交换机1452中,所以根据图15D中的布线将M23布线到输出端口LS_1。在具有主端口16-19(M16-M19)的全交叉交换机1452处,输入端口RM_1(通过交叉耦接连接1453连接到具有M23的全交叉交换机的输出端口LS_1)根据图15H中的布线被布线到输出端口LS_1。同样,在具有主端口12-15(M12-M15)和8-11(M8-11)的全交叉交换机1452处,输入端口RM_1(分别与具有M16-19和M12-15的全交叉交换机的输出端口LS_1连接)根据图15H中的布线被布线到输出端口LS_1。在具有主端口M4-M7的全交叉交换机1452处,输入端口RM_1(连接到具有M8-M11的全交叉交换机的输出端口LS_1)根据图15H中的布线被布线到S6(其中,S2将对应于S6)。
尽管任何主端口可如上所述访问任何从端口,但是截面带宽(cross-sectionalbandwidth)可能受专用于该实施方式的通道数量的限制。利用诸如FPGA的可编程IC,从访问HBM的主单元的角度来看,可能需要更多带宽。根据一些示例,被称为“通道组合(channelganging)”的技术可用于增加吞吐量。
图17是根据本公开的一个示例,示出了用于图14的两个交换网络之一的通道组合的概念的框图1700。在该示例中,可编程IC可包括多个内核主端1702,该主端是可编程IC中想要访问HBM伪通道的主端。每个内核主端1702可耦接到分路器/路由器1704,且内核主端和分路器/路由器都可用软逻辑实现。在图17的示例中,16个HBM伪通道(耦接到从端口S0-S15)被分组,使得四个伪通道(例如,与S0-S3相关的通道)组合在一起并被作为一个四倍宽通道。因此,与没有通道组合的内核主端相比,具有通道组合的内核主端1702有效地看到HBM通道数量的1/4。因此,代替用四个全交叉交换机1452实现的16×16分层交换网络,通道组合提供具有完全访问和增加带宽的双4x4交换网络。一个4×4交换网络可用于最低有效位(LSB),等等。
利用通道组合和分离器/路由器1704,请求将从分离器/路由器被路由到特定象限(例如,四个全交叉交换机1452中的一个),但不会被路由到该象限的左侧或右侧。如上所述,每个象限从顶部连接4x4。通过在这种情况下利用分路器/路由器1704,左和/或右带宽是不必要的,但仍然实现了16×16交换网络的等效访问。每个分路器/路由器1704可被配置为访问每个全交叉交换机1452中的指定主端口。例如,如图17所示,一个分路器/路由器1704可被配置为访问M0、M4、M8和M12(每个全交叉交换机1452中的顶部输入的最左边)。如图所示,另一个分路器/路由器1704可被配置为访问M1、M5、M9和M13。
在可编程IC的基于结构的软逻辑中,可通过例如AXI桥仲裁将任意数量的AXI主端耦接到每个AXI交换机主端口。通过为每个交换机端口支持多个AXIID并在每个主端口和内部全局交换机时钟之间提供同步,可促进这种灵活性。对多个AXIID的支持可提供更容易集中的多个独立处理内核。
本公开的一些示例提供了基于部分填充的8×8交叉(或256位数据总线)的交换网络,其具有(i)任何用户内核对所有HBM地址空间的统一访问、(ii)分组通道(例如,组合四通道)内的全带宽,以及(iii)交换机互连扩展到可编程IC结构中,以增强可统一寻址的HBM的吞吐量。
路由信号的示例性操作
图18是根据本公开的一个示例,用于在装置和固定结构管芯之间路由信号的示例性操作1800的流程图。例如,操作1800可由装置来执行,如上所述,该装置包括可编程IC区域和接口区域,该接口区域被配置为将可编程IC区域耦接到固定结构管芯。
操作1800在框1802开始,其中,接口区域的第一端口从可编程IC区域接收具有地址部分和数据部分的信号。第一端口可与可编程IC区域相关。在框1804处,至少信号的数据部分可基于地址部分通过接口区域被路由到接口区域的第二端口。第二端口可与固定结构管芯相关。接口区域可被配置为第一端口和第二端口之间的交换网络,交换网络可包括多个全交叉交换网络。
根据一些示例,可编程IC区域包括FPGA区域,并且固定结构管芯包括HBM管芯。在该情况下,接口区域可包括HBM缓冲区域,且第二端口可与HBM通道相关。
根据一些示例,框1804处的路由涉及使用AXI协议或分组协议中的至少一个。
根据一些示例,操作1800还需要通过在可编程IC区域中实现的分路器来路由信号。分路器可被配置为访问接口区域的第一端口。
如本文所使用的(包括随后的权利要求书),提及项目列表中的“至少一个”的短语是指这些项目的任何组合,包括单个构件。作为一个示例,“x、y和z中的至少一个”旨在涵盖:x、y、z、x-y、x-z、y-z、x-y-z及其任何组合(例如,x-y-y和x-x-y-z)。
虽然前述内容针对本公开的示例,但是在不脱离本发明的基本范围的情况下可以设计本公开的其他和进一步的示例,并且其范围由随后的权利要求确定。

Claims (15)

1.一种集成电路IC封装,其特征在于,所述IC封装包括:
封装衬底;
至少一个中介层,所述至少一个中介层设置在所述封装衬底上方;
可编程IC区域,所述可编程IC区域设置在所述中介层上方;
固定结构管芯,所述固定结构管芯设置在所述中介层上方;以及
接口区域,所述接口区域设置在所述中介层上方,并被配置为通过第一组互连线和第二组互连线将所述可编程IC区域耦接至所述固定结构管芯,所述第一组互连线被布线通过所述可编程IC区域和所述接口区域之间的所述中介层,所述第二组互连线被布线通过所述接口管芯和所述固定结构管芯之间的所述中介层。
2.根据权利要求1所述的IC封装,其特征在于,所述可编程IC区域和所述接口区域共享相同的晶片级衬底,并通过切割线在所述晶片级衬底上分离。
3.根据权利要求1所述的IC封装,其特征在于,所述IC封装还包括多个微凸块,所述多个微凸块将被布线通过所述中介层的所述第一和第二组互连线与所述可编程IC区域、所述接口区域和所述固定结构管芯中的电路电连接,其中,所述接口区域与用于所述可编程IC区域的所述微凸块的第一图案和所述第一组互连线兼容,并与用于所述固定结构管芯的所述微凸块的第二图案和所述第二组互连线兼容。
4.根据权利要求1所述的IC封装,其特征在于,所述可编程IC区域包括现场可编程门阵列FPGA区域,其中,所述固定结构管芯包括高带宽存储器HBM管芯,并且所述接口区域包括HBM缓冲区域。
5.根据权利要求1所述的IC封装,其特征在于,除了通过被布线通过所述中介层的所述第一组互连线之外,在所述可编程IC区域和所述接口区域之间没有电连接。
6.根据权利要求1所述的IC封装,其特征在于,
所述可编程IC区域和所述接口区域是单片管芯的一部分;
所述第一组互连线被布线通过所述单片管芯的至少一个金属化层;以及
所述第一组互连线中没有一条被布线通过所述中介层。
7.根据权利要求1所述的IC封装,其特征在于,
所述第一组互连线在所述接口区域的第一多个端口和所述可编程IC区域之间布线;
所述第二组互连线被布线通过所述接口区域的第二多个端口和所述固定结构管芯之间的所述中介层;以及
所述接口区域被配置为所述第一多个端口和所述第二多个端口之间的交换网络。
8.根据权利要求7所述的IC封装,其特征在于,所述交换网络在所述第一多个端口中的每个端口和所述第二多个端口中的每个端口之间提供完全可寻址性,从而所述第一多个端口中的每个端口可访问所述第二多个端口中的任何一个端口。
9.根据权利要求8所述的IC封装,其特征在于,所述交换网络实现为包括多个全交叉交换网络的分层交换网络。
10.根据权利要求9所述的IC封装,其特征在于,
所述多个全交叉交换网络中的每个全交叉交换网络包括所述第一多个端口的子集和所述第二多个端口的子集;
所述第一多个端口的子集中的每个端口能够访问所述第二多个端口的子集中的任何端口。
11.根据权利要求10所述的IC封装,其特征在于,所述多个全交叉交换网络中的每个相邻对通过多个交叉耦接连接连接在一起。
12.根据权利要求11所述的IC封装,其特征在于,所述第一多个端口的子集中的每个端口能够访问所述第二多个端口的子集中的任何端口和所述多个交叉耦接连接中的至少一个交叉耦接连接。
13.根据权利要求9所述的IC封装,其特征在于,所述可编程IC区域被配置为实现多个分路器,所述多个分路器中的每个分路器被配置为访问所述多个全交叉交换网络中的每个中的所述第一多个端口的指定端口。
14.根据权利要求8所述的IC封装,其特征在于,所述交换网络提供旁路模式,在所述旁路模式中,所述第一多个端口中的每个端口可访问所述第二多个端口中的一个不同的端口。
15.根据权利要求7所述的IC封装,其特征在于,所述交换网络实现为高级可扩展接口AXI型交换网络或分组协议型交换网络。
CN201780050182.5A 2016-08-15 2017-07-20 用于堆叠硅互连(ssi)技术集成的独立接口 Active CN109564914B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US15/237,384 2016-08-15
US15/237,384 US10784121B2 (en) 2016-08-15 2016-08-15 Standalone interface for stacked silicon interconnect (SSI) technology integration
US15/346,512 US9911465B1 (en) 2016-11-08 2016-11-08 High bandwidth memory (HBM) bandwidth aggregation switch
US15/346,512 2016-11-08
US15/616,004 2017-06-07
US15/616,004 US10916516B2 (en) 2017-06-07 2017-06-07 High bandwidth memory (HBM) bandwidth aggregation switch
PCT/US2017/043096 WO2018034787A1 (en) 2016-08-15 2017-07-20 Standalone interface for stacked silicon interconnect (ssi) technology integration

Publications (2)

Publication Number Publication Date
CN109564914A true CN109564914A (zh) 2019-04-02
CN109564914B CN109564914B (zh) 2020-06-30

Family

ID=59506368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780050182.5A Active CN109564914B (zh) 2016-08-15 2017-07-20 用于堆叠硅互连(ssi)技术集成的独立接口

Country Status (5)

Country Link
EP (1) EP3497722B1 (zh)
JP (1) JP7084377B2 (zh)
KR (1) KR102381158B1 (zh)
CN (1) CN109564914B (zh)
WO (1) WO2018034787A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111710663A (zh) * 2020-07-01 2020-09-25 无锡中微亿芯有限公司 一种多裸片硅堆叠互连结构fpga
CN111710661A (zh) * 2020-07-01 2020-09-25 无锡中微亿芯有限公司 基于信号延迟平衡技术设计的多裸片fpga
CN111710662A (zh) * 2020-07-01 2020-09-25 无锡中微亿芯有限公司 一种通用多裸片硅堆叠互连结构
CN111725198A (zh) * 2020-07-01 2020-09-29 无锡中微亿芯有限公司 通过硅连接层的配置电路实现全可编程的多裸片fpga
CN111725188A (zh) * 2020-07-01 2020-09-29 无锡中微亿芯有限公司 一种硅连接层具有可配置电路的多裸片fpga
CN111722089A (zh) * 2020-07-01 2020-09-29 无锡中微亿芯有限公司 基于层次化测试向量的高效测试方法
CN111722096A (zh) * 2020-07-01 2020-09-29 无锡中微亿芯有限公司 一种具有内建测试电路的通用结构的硅连接层
CN111725187A (zh) * 2020-07-01 2020-09-29 无锡中微亿芯有限公司 基于通用结构硅连接层构成的多裸片fpga
CN111753478A (zh) * 2020-07-01 2020-10-09 无锡中微亿芯有限公司 利用有源硅连接层实现内置模拟电路的多裸片fpga
CN111755437A (zh) * 2020-07-01 2020-10-09 无锡中微亿芯有限公司 利用硅连接层形成片上网络的fpga装置
CN111863780A (zh) * 2020-07-17 2020-10-30 北京灵汐科技有限公司 封装结构及电子设备
CN113488449A (zh) * 2021-01-25 2021-10-08 谷歌有限责任公司 用于高带宽存储器的集成电路封装

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10763862B1 (en) 2019-02-26 2020-09-01 Xilinx, Inc. Boundary logic interface

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101558491A (zh) * 2006-12-15 2009-10-14 理查德·诺曼 具有用于多种部件触点类型的对齐不敏感支持的可重新编程电路板
CN102254897A (zh) * 2010-05-18 2011-11-23 台湾积体电路制造股份有限公司 具有中介层的封装系统
US20140177626A1 (en) * 2012-12-23 2014-06-26 Advanced Micro Devices, Inc. Die-stacked device with partitioned multi-hop network
CN104471708A (zh) * 2012-02-08 2015-03-25 吉林克斯公司 具有多个插入件的堆叠裸片组件
US9213866B1 (en) * 2014-04-01 2015-12-15 Xilinx, Inc. Circuits for and methods of preventing unauthorized access in an integrated circuit

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4752369B2 (ja) * 2004-08-24 2011-08-17 ソニー株式会社 半導体装置および基板
US8417867B2 (en) * 2010-11-17 2013-04-09 Xilinx, Inc. Multichip module for communications
US9064715B2 (en) * 2010-12-09 2015-06-23 Taiwan Semiconductor Manufacturing Company, Ltd. Networking packages based on interposers
US8704384B2 (en) * 2012-02-17 2014-04-22 Xilinx, Inc. Stacked die assembly
US9153292B2 (en) * 2013-03-07 2015-10-06 Xilinx, Inc. Integrated circuit devices having memory and methods of implementing memory in an integrated circuit device
EP3910798A1 (en) * 2014-10-02 2021-11-17 Altera Corporation Integrated circuit device with embedded programmable logic

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101558491A (zh) * 2006-12-15 2009-10-14 理查德·诺曼 具有用于多种部件触点类型的对齐不敏感支持的可重新编程电路板
CN102254897A (zh) * 2010-05-18 2011-11-23 台湾积体电路制造股份有限公司 具有中介层的封装系统
CN104471708A (zh) * 2012-02-08 2015-03-25 吉林克斯公司 具有多个插入件的堆叠裸片组件
US20140177626A1 (en) * 2012-12-23 2014-06-26 Advanced Micro Devices, Inc. Die-stacked device with partitioned multi-hop network
US9213866B1 (en) * 2014-04-01 2015-12-15 Xilinx, Inc. Circuits for and methods of preventing unauthorized access in an integrated circuit

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111725188B (zh) * 2020-07-01 2021-12-07 无锡中微亿芯有限公司 一种硅连接层具有可配置电路的多裸片fpga
CN111755437B (zh) * 2020-07-01 2022-05-31 无锡中微亿芯有限公司 利用硅连接层形成片上网络的fpga装置
CN111710662A (zh) * 2020-07-01 2020-09-25 无锡中微亿芯有限公司 一种通用多裸片硅堆叠互连结构
CN111725198A (zh) * 2020-07-01 2020-09-29 无锡中微亿芯有限公司 通过硅连接层的配置电路实现全可编程的多裸片fpga
CN111725188A (zh) * 2020-07-01 2020-09-29 无锡中微亿芯有限公司 一种硅连接层具有可配置电路的多裸片fpga
CN111722089A (zh) * 2020-07-01 2020-09-29 无锡中微亿芯有限公司 基于层次化测试向量的高效测试方法
CN111722096A (zh) * 2020-07-01 2020-09-29 无锡中微亿芯有限公司 一种具有内建测试电路的通用结构的硅连接层
CN111725187A (zh) * 2020-07-01 2020-09-29 无锡中微亿芯有限公司 基于通用结构硅连接层构成的多裸片fpga
CN111753478A (zh) * 2020-07-01 2020-10-09 无锡中微亿芯有限公司 利用有源硅连接层实现内置模拟电路的多裸片fpga
CN111755437A (zh) * 2020-07-01 2020-10-09 无锡中微亿芯有限公司 利用硅连接层形成片上网络的fpga装置
US12009307B2 (en) 2020-07-01 2024-06-11 Wuxi Esiontech Co., Ltd. Multi-die FPGA implementing built-in analog circuit using active silicon connection layer
CN111710661A (zh) * 2020-07-01 2020-09-25 无锡中微亿芯有限公司 基于信号延迟平衡技术设计的多裸片fpga
CN111710661B (zh) * 2020-07-01 2021-12-07 无锡中微亿芯有限公司 基于信号延迟平衡技术设计的多裸片fpga
CN111710663B (zh) * 2020-07-01 2021-12-07 无锡中微亿芯有限公司 一种多裸片硅堆叠互连结构fpga
CN111710663A (zh) * 2020-07-01 2020-09-25 无锡中微亿芯有限公司 一种多裸片硅堆叠互连结构fpga
CN111725198B (zh) * 2020-07-01 2022-02-15 无锡中微亿芯有限公司 通过硅连接层的配置电路实现全可编程的多裸片fpga
CN111753478B (zh) * 2020-07-01 2022-02-18 无锡中微亿芯有限公司 利用有源硅连接层实现内置模拟电路的多裸片fpga
CN111722096B (zh) * 2020-07-01 2022-02-18 无锡中微亿芯有限公司 一种具有内建测试电路的通用结构的硅连接层
CN111710662B (zh) * 2020-07-01 2022-03-22 无锡中微亿芯有限公司 一种通用多裸片硅堆叠互连结构
CN111722089B (zh) * 2020-07-01 2022-03-22 无锡中微亿芯有限公司 基于层次化测试向量的高效测试方法
CN111725187B (zh) * 2020-07-01 2022-05-31 无锡中微亿芯有限公司 基于通用结构硅连接层构成的多裸片fpga
US11776915B2 (en) 2020-07-01 2023-10-03 Wuxi Esiontech Co., Ltd. FPGA device forming network-on-chip by using silicon connection layer
CN111863780A (zh) * 2020-07-17 2020-10-30 北京灵汐科技有限公司 封装结构及电子设备
CN113488449A (zh) * 2021-01-25 2021-10-08 谷歌有限责任公司 用于高带宽存储器的集成电路封装

Also Published As

Publication number Publication date
CN109564914B (zh) 2020-06-30
KR102381158B1 (ko) 2022-03-30
KR20190038573A (ko) 2019-04-08
EP3497722B1 (en) 2021-02-24
EP3497722A1 (en) 2019-06-19
WO2018034787A1 (en) 2018-02-22
JP7084377B2 (ja) 2022-06-14
JP2019525490A (ja) 2019-09-05

Similar Documents

Publication Publication Date Title
CN109564914A (zh) 用于堆叠硅互连(ssi)技术集成的独立接口
US10916516B2 (en) High bandwidth memory (HBM) bandwidth aggregation switch
JP7398384B2 (ja) デバイスにおけるデータ処理エンジン構成
JP7274500B2 (ja) システムオンチップインターフェースアーキテクチャ
CN101877342B (zh) 电路布置以及设计方法
US9825843B2 (en) Die-stacked device with partitioned multi-hop network
Jiang et al. On effective TSV repair for 3D-stacked ICs
EP2641270B1 (en) Multichip module for communications
JP2021532430A (ja) データ処理エンジンアレイを有するデバイス
CN112416853A (zh) 带有智能存储器的堆叠可编程集成电路系统
US9911465B1 (en) High bandwidth memory (HBM) bandwidth aggregation switch
US20120038057A1 (en) Thermal enhancement for multi-layer semiconductor stacks
US20240312909A1 (en) Fabric Die to Fabric Die Interconnect for Modularized Integrated Circuit Devices
US10587270B2 (en) Coarse-grain programmable routing network for logic devices
CN113704137A (zh) 存内计算模块和方法、存内计算网络及构建方法
US20120250286A1 (en) Apparatus and Method for Increasing Bandwidths of Stacked Dies
US10108364B2 (en) IC module and method of decoding resource access requests
Vivet et al. Interconnect challenges for 3D multi-cores: From 3D network-on-chip to cache interconnects
US9406347B2 (en) Semiconductor wafer and method of fabricating an IC die
Matos et al. A power-efficient hierarchical network-on-chip topology for stacked 3D ICs
Jiao et al. FPIA: Communication-Aware Multi-Chiplet Integration With Field-Programmable Interconnect Fabric on Reusable Silicon Interposer

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant