CN117334669A - 可编程路由桥 - Google Patents
可编程路由桥 Download PDFInfo
- Publication number
- CN117334669A CN117334669A CN202310623657.2A CN202310623657A CN117334669A CN 117334669 A CN117334669 A CN 117334669A CN 202310623657 A CN202310623657 A CN 202310623657A CN 117334669 A CN117334669 A CN 117334669A
- Authority
- CN
- China
- Prior art keywords
- die
- routing bridge
- integrated circuit
- programmable
- programmable routing
- 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.)
- Pending
Links
- 239000000758 substrate Substances 0.000 claims abstract description 49
- 238000004891 communication Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000012546 transfer Methods 0.000 claims abstract description 20
- 238000013507 mapping Methods 0.000 claims description 52
- 238000004519 manufacturing process Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 description 46
- 238000013461 design Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 14
- 235000008694 Humulus lupulus Nutrition 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000000059 patterning Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 102100024441 Dihydropyrimidinase-related protein 5 Human genes 0.000 description 1
- 101001053479 Homo sapiens Dihydropyrimidinase-related protein 5 Proteins 0.000 description 1
- 241000724291 Tobacco streak virus Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L23/00—Details of semiconductor or other solid state devices
- H01L23/52—Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
- H01L23/538—Arrangements 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/5382—Adaptable interconnections, e.g. for engineering changes
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L24/00—Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
- H01L24/01—Means 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
- H01L24/10—Bump connectors ; Manufacturing methods related thereto
- H01L24/15—Structure, shape, material or disposition of the bump connectors after the connecting process
- H01L24/17—Structure, shape, material or disposition of the bump connectors after the connecting process of a plurality of bump connectors
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/03—Assemblies 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/04—Assemblies 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/065—Assemblies 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/0652—Assemblies 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 and on each other, i.e. mixed assemblies
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/03—Assemblies 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/04—Assemblies 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/065—Assemblies 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/0655—Assemblies 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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/18—Assemblies 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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/01—Means 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/02—Bonding areas; Manufacturing methods related thereto
- H01L2224/04—Structure, shape, material or disposition of the bonding areas prior to the connecting process
- H01L2224/0401—Bonding areas specifically adapted for bump connectors, e.g. under bump metallisation [UBM]
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/01—Means 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/10—Bump connectors; Manufacturing methods related thereto
- H01L2224/15—Structure, shape, material or disposition of the bump connectors after the connecting process
- H01L2224/16—Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
- H01L2224/161—Disposition
- H01L2224/16135—Disposition the bump connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
- H01L2224/16145—Disposition the bump connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/01—Means 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/10—Bump connectors; Manufacturing methods related thereto
- H01L2224/15—Structure, shape, material or disposition of the bump connectors after the connecting process
- H01L2224/16—Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
- H01L2224/161—Disposition
- H01L2224/16151—Disposition 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/16221—Disposition 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/16225—Disposition 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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2224/00—Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
- H01L2224/01—Means 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/10—Bump connectors; Manufacturing methods related thereto
- H01L2224/15—Structure, shape, material or disposition of the bump connectors after the connecting process
- H01L2224/16—Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
- H01L2224/161—Disposition
- H01L2224/16151—Disposition 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/16221—Disposition 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/16225—Disposition 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/16227—Disposition 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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06513—Bump or bump-like direct electrical connections between devices, e.g. flip-chip connection, solder bumps
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06517—Bump or bump-like direct electrical connections from device to substrate
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L23/00—Details of semiconductor or other solid state devices
- H01L23/52—Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
- H01L23/538—Arrangements 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/5385—Assembly of a plurality of insulating substrates
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L24/00—Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
- H01L24/01—Means 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
- H01L24/10—Bump connectors ; Manufacturing methods related thereto
- H01L24/15—Structure, shape, material or disposition of the bump connectors after the connecting process
- H01L24/16—Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/15—Details of package parts other than the semiconductor or other solid state devices to be connected
- H01L2924/151—Die mounting substrate
- H01L2924/1515—Shape
- H01L2924/15153—Shape the die mounting substrate comprising a recess for hosting the device
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/15—Details of package parts other than the semiconductor or other solid state devices to be connected
- H01L2924/151—Die mounting substrate
- H01L2924/1517—Multilayer substrate
- H01L2924/15192—Resurf arrangement of the internal vias
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请涉及可编程路由桥,提供了系统、方法和装置,用于使用可编程路由桥在集成电路系统的管芯之间进行可配置的管芯到管芯的通信。这样的集成电路系统可以包括:衬底上的第一管芯;衬底上的第二管芯;以及嵌入在衬底内的可编程路由桥。可编程路由桥可以安装在第一管芯和第二管芯上,并且可配置为在第一管芯的可选择点和第二管芯的可选择点之间传输数据。
Description
技术领域
一般而言,本公开涉及集成电路设备。更具体而言,本公开涉及一种可编程路由桥,用于进行灵活的管芯到管芯(die-to-die)通信,以实现高容量的集成电路,例如高容量的现场可编程门阵列(FPGA)。
背景技术
本部分旨在向读者介绍技术的各个方面,这些方面可能与在下文中描述和/或声明的本公开的各个方面有关。相信这种讨论有助于向读者提供背景信息,以促使更好地理解本公开的各个方面。因此,可以理解的是,应该从这个角度来阅读这些陈述,而不是将这些陈述理解为对现有技术的承认。
集成电路设备出现在众多的电子设备(来自手持设备、计算机、游戏系统、机器人设备、汽车等等)中。许多集成电路设备是通过以下方式构建的:将多个管芯组装在封装上,该多个管芯通过用于该多个管芯之间的信号传输的固定互连(例如,插接器或桥)而被连接。然而,使用固定互连可能会限制带宽,并增加封装上的管芯到管芯的通信延迟。因此,集成电路设备可能具有有限的带宽,并且与管芯内通信相比,管芯到管芯通信的延迟增加。此外,固定互连通常只能提供从一个管芯上的一个位置到另一个管芯上的另一位置的固定的点对点通信。然而,某些现场集成电路器件(例如,可编程逻辑器件)的行为可能不为固定互连的制造商所知。因此,固定互连可能会在管芯之间提供次优的路由。这可能会进一步增加延迟,因为固定互连可能会成为瓶颈、或者因为信号可能通过其他管芯内的路由进一步传递。
发明内容
根据本申请的一方面,提供了一种集成电路系统,该集成电路系统具有分开的管芯,管芯可通过桥上的可编程的路由路径相互通信,所述系统包括:第一管芯,在衬底上;第二管芯,在衬底上;以及可编程路由桥,嵌入在衬底内,其中,可编程路由桥被安装到第一管芯和第二管芯,并且其中,可编程路由桥可配置用于在第一管芯的可选择点和第二管芯的可选择点之间传输数据。
根据本申请的另一方面,提供了一种集成电路系统,该集成电路系统具有分开的管芯,管芯可通过通孔可配置的桥上的路由路径相互通信,所述系统包括:第一管芯,在衬底上;第二管芯,在衬底上;以及可编程路由桥,嵌入在衬底内,其中,可编程路由桥被安装到第一管芯和第二管芯,并且其中,可编程路由桥被进行通孔配置,以在第一管芯的定义点和第二管芯的定义点之间传输数据。
根据本申请的又一方面,提供了一种制造品,包括一种或多种其上存储有指令的有形的、非暂时性的、机器可读介质,所述指令在由一个或多个处理器执行时,使一个或多个处理器:生成配置数据;以及将配置数据传输到集成电路系统,该集成电路系统包括与封装中的第一管芯和第二管芯相连接的可编程路由桥,所述传输使可编程路由桥被配置为在第一管芯和第二管芯之间传输数据。
附图说明
在阅读下面的详细描述和参考附图后,可以更好地理解本公开的各个方面,在附图中:
图1是根据本公开的实施例的用于在具有可编程路由桥的集成电路系统上实现系统设计的过程的框图。
图2是根据本公开的实施例的现场可编程门阵列(FPGA)形式的集成电路系统的示例逻辑排列的框图。
图3是根据本公开的实施例的经由可编程路由桥路由数据的集成电路系统的示例的特写视图。
图4是根据本公开的实施例的具有可编程路由桥的集成电路系统的示例的电路图。
图5是根据本公开的实施例的通过可编程路由桥在四个管芯之间路由数据的集成电路系统的示例的框图。
图6是根据本公开的实施例的通过可编程路由桥在四个管芯之间路由数据的集成电路系统的另一个示例的框图。
图7是根据本公开的实施例的通过可编程路由桥在两个管芯之间路由数据的集成电路系统的另一个示例的框图。
图8是根据本公开的实施例的通过可编程路由桥在三个管芯之间路由数据的集成电路系统的另一个示例的框图。
图9是根据本公开的实施例的通过可编程路由桥在六个管芯之间路由数据的集成电路系统的另一个示例的框图。
图10是根据本公开的实施例的具有管芯、瓦片(tile)和可编程路由桥的集成电路系统的另一个示例的框图的侧视图。
图11是根据本公开的实施例的用于创建具有可编程路由桥的集成电路系统的过程的流程图。
图12是根据本公开的实施例的用于创建具有可编程路由桥的集成电路系统的过程的流程图;以及
图13是根据本公开的实施例的数据处理系统的框图,该数据处理系统包括具有可编程路由桥的集成电路系统。
具体实施方式
下面将描述一个或多个具体实施例。为了提供对这些实施例的简明描述,在说明书中没有描述实际实现方式的所有特征。应当理解,在开发任何此类实际实现方式时,如同在任何工程或设计项目中一样,必须做出许多针对实现方式的决定(例如,对与系统有关的和与商业相关的限制条件的遵守)以实现开发者的具体目标,这些决定在不同实现方式中可能会有所不同。此外,应当理解,这样的开发工作可能是复杂且耗时的,但是对于受益于本公开的普通技术人员而言,这将是一项常规的设计、制作和制造工作。
在介绍本公开的各种实施例的元件时,冠词“一”、“一个”和“该”旨在表示存在一个或多个元件。术语“包含”、“包括”和“具有”旨在是包括性的,并且意味着可以存在除了所列出的要素之外的另外的要素。此外,应当理解,对本公开的“一个实施例”或“一实施例”的引用并不意味着排除其他也包括所述特征的实施例的存在。
一般而言,在制造可编程器件(例如FPGA)时,最初,这些可编程器件可以是未经配置的。随后,这些可编程器件可以被配置,甚至可以被重新配置,以经由配置数据来实现电路设计,该配置数据描述电路设计。附加地或替代地,可编程器件可以部分地被重新配置以改变电路设计的一部分(例如,切换电路设计角色)。术语“编程”可以包括:对可编程器件进行初始配置、和/或对可编程器件的(一个或多个)目标分区进行部分地配置。此外,术语“重新编程”可以包括:一旦可编程器件已经被编程,就对可编程器件进行重新配置,和/或对可编程器件的(一个或多个)目标分区进行部分地重新配置。
本公开描述了与可编程路由桥有关的系统和方法,该可编程路由桥用于灵活的管芯到管芯通信,以实现诸如现场可编程门阵列(FPGA)之类的高容量的集成电路。为了在集成电路系统的多个管芯之间提供高带宽、低延迟的通信,可编程路由桥可以在管芯之间提供诸如管芯到管芯通信之类的高效的点对点通信。在一个具体的示例中,集成电路系统可以包括安装在衬底上并通过可编程路由桥进行通信耦合的四个管芯。可编程路由桥可以是嵌入在衬底内的集成电路管芯(例如,芯片),或者在某些情况下可以是其上放置有多个管芯的插接器。事实上,虽然本公开涉及可编程路由桥,但本公开的系统和方法也可用于插接器中。可以用任何合适的互连结构(例如,微凸块)将可编程路由桥的表面连接到(例如,对接到)四个管芯中的每一个管芯的表面。因此,可以将管芯安装到可编程路由桥的微凸块上,从而创建集成电路系统。
可以通过在集成电路系统的管芯之间的可编程路由桥,使用出现在现场可编程门阵列(FPGA)(例如,英特尔公司的FPGA)或结构化专用集成电路(ASIC)(例如,诸如英特尔公司的eASICTM之类的结构化ASIC)中的可编程路由类型,对信号或数据进行路由。这与使用固定的管芯到管芯通信电路(例如,插接器、桥、管芯到管芯互连)(提供固定的通信通道)的系统形成对比。在这些系统中,从第一管芯到第三管芯的数据有时可能会从第一管芯被路由到第二管芯,然后再传到第三管芯上。管芯之间的每一跳可能会引入延迟(例如,大约1纳秒(ns)的延迟),而中间管芯上的重新路由逻辑(rerouting logic)可能会引入额外的延迟(例如,10ns至15ns)。因此,从第一管芯到第二管芯到第三管芯的两跳设计可能会导致延迟增加10倍或更多。本公开的可编程路由桥可以减少集成电路设备内的跳数。例如,有了可编程路由桥,信号和/或数据就可以通过可编程路由桥从第一管芯直接路由到第三管芯。也就是说,可编程路由桥可以允许一对一(one-to-one)的管芯通信,以减少集成电路系统内的管芯到管芯的跳动(hop)。事实上,可编程路由桥可以在一跳设计(one-hop design)中实现对数据的路由。
可编程路由桥还可以实现映射功能,以减少集成电路系统内的管芯到管芯的跳动。事实上,映射功能可以定义配置位流,该配置位流可以与存储电路设计程序的配置位流分开或成为其一部分(当可编程路由桥具有FPGA型路由电路时),或者可以与存储永久可编程设计的配置位流分开或成为其一部分(当可编程路由桥具有结构化ASIC电路时)。例如,设计者可以用路由路径(例如,基于映射功能的路径)对可编程路由桥进行编程,以便在第一管芯和第三管芯之间路由数据,或者反之亦然。这样,数据可以直接从第一管芯路由到第三管芯。在另一个示例中,设计者可以配置路由路径以在第四管芯和第二管芯之间路由数据,或者反之亦然。以这种方式,可编程路由桥可以被配置为在不同方向上切换路由路径,并允许在集成电路系统的管芯之间进行灵活的管芯到管芯的连接。因此,在集成电路系统的多个管芯之间采用可编程路由桥,可以创建一对一的管芯连接,这可以改善系统的带宽和延迟。
管芯可以通信地耦合至一个或多个瓦片,用于封装外(off-package)的数据传输。如本文所使用的,瓦片是用于具有特定目的的管芯的术语,该特定目的通常是支持另一个管芯(例如,瓦片可以是子管芯,该子管芯向母管芯提供输入/输出(I/O)电路或高速串行互连(HSSI)电路)。例如,一些瓦片可以沿着封装的外围耦合到管芯的一个或多个边缘,并且可以包括收发器以发送或接收封装外的数据。顺便说一下,一些瓦片可以根据特定于某些管芯的某些接口而被设计用于管芯到管芯的通信。可编程路由桥甚至可以允许管芯被设计为用于一个特定的管芯到管芯接口,以通过使用可编程路由适当地连接至管芯到管芯接口,与具有不同管芯到管芯接口的管芯通信。在某些情况下,这可以允许管芯以任何方式与其他管芯(包括瓦片)连接。因此,许多管芯可以使用相同的管芯到管芯接口,允许将被放置在不同方向的第一管芯和第二管芯是可以在同一时间制造的相同(或几乎相同)的管芯。因此,可以用与可编程路由桥通信耦合的相同管芯来创建集成电路系统,这在制造过程中可能涉及更少的步骤,并且可能更有效率。同样地,这也可以允许支持第一管芯或第二管芯的瓦片被制造成相同的(或几乎相同的)。
在一些示例中,可编程路由桥可以是结构化的专用集成电路(例如,诸如英特尔公司的eASICTM之类的结构化的ASIC)。为了制造该集成电路系统,制造商可以用第一组掩膜对第一数量的层进行图案化。制造商可以使用其他掩膜来对一个或多个通孔进行图案化。通孔的图案化可以有效地对可编程路由桥的电路进行“编程”。通过这种方式,制造商可以生产路由桥,该路由桥允许集成电路系统根据特定的映射功能、以某种方式在管芯之间路由数据。例如,制造商可能想要数据在第一管芯和第三管芯之间路由,而不需要通过第二管芯路由数据。因此,制造商可以在金属层之间配置一个或多个通孔层,以在第一管芯和第三管芯之间路由数据。连接某些通孔可以对结构化ASIC的其他电路层产生类似于在FPGA中存储用于路由数据的配置位的效果。因此,制造商可以通过选择是否对一个或多个通孔层的不同通孔进行图案化来实现路由路径。
根据本公开的集成电路系统可以采取任何合适的形式。一个示例是包括可编程逻辑电路(例如,可编程逻辑结构、FPGA)的可编程逻辑器件。图1图示了用于设计和/或配置集成电路系统12(例如,可编程逻辑器件、专用集成电路(ASIC))的系统10的方框图。设计者可以在集成电路上实现功能,例如,集成电路系统12,该集成电路系统12包括诸如FPGA之类的可重新配置的电路。设计者可以用配置数据(例如,定义映射功能)对集成电路系统12进行编程,用于系统12内的电路设计(例如可以包括各个管芯之间的数据路由)。设计者可以使用设计软件14(例如,INTEL公司的版本)来实现要编程到集成电路系统12上的电路设计,集成电路系统12可以包括封装中的多个管芯。设计软件14可以使用编译器16来生成低级别的电路设计,该低级别的电路设计可以作为对集成电路系统12进行编程的内核程序18(有时被称为程序目标文件或比特流)而被提供。也就是说,编译器16可以向集成电路系统12提供代表电路设计的机器可读指令。例如,可编程逻辑器件40可以接收一个或多个程序(例如,比特流)18,这些程序18描述了应作为配置程序20存储在可编程逻辑器件中的硬件实现。也就是说,编译器16可以向可编程逻辑器件提供代表电路设计的机器可读指令。配置数据可以根据需要对可编程器件的整个可编程结构、可编程结构的一个或多个目标分区进行编程,和/或对可编程结构进行重新编程。
集成电路系统12可以包括任何可编程逻辑器件,例如现场可编程阵列(FPGA)40,如图2所示。就本示例而言,FPGA 40被称为FPGA,尽管该器件可以是任何合适类型的可编程逻辑器件(例如,专用集成电路和/或专用标准产品)。FPGA 40可以被形成在单一的平面上。在一些实施例中,FPGA 40可以是具有基础管芯和结构管芯的三维FPGA。
在图2的示例中,FPGA 40可以与瓦片44通信地耦合,该瓦片44可以驱动信号离开FPGA 40,并用于接收来自其他设备的信号。例如,瓦片44可以是I/O瓦片,该I/O瓦片是被配置为实现高速I/O接口的非可编程的管芯。在另一个示例中,瓦片44可以包括收发器,该收发器可以包括和/或使用输入输出电路,用于驱动信号离开FPGA 40,并用于从其他设备接收信号。互连资源46可用于通过FPGA 40路由信号,如时钟或数据信号。图2的FPGA 40是分成扇区的,这意味着可编程逻辑资源可以通过一些分立的可编程逻辑扇区48分布。每个可编程逻辑扇区48可以包括一些可编程逻辑元件50,这些可编程逻辑元件50的操作由配置存储器52(例如,配置随机存取存储器(CRAM))定义。可编程逻辑元件50可以包括组合或顺序逻辑电路,用于执行由配置数据编程的功能。例如,可编程逻辑元件50可以包括查找表、寄存器、多路复用器、路由线等。设计者可以对可编程逻辑元件50进行编程,以执行各种所需功能。
为了对扇区48进行编程,与电路设计相关的配置数据可以被存储在适当的可编程逻辑元件50的配置存储器52中。因此,扇区48和逻辑元件50可以包括额外的逻辑元件(例如,导线、门和寄存器),以便于配置数据的存储。例如,在编程过程中,配置数据可以被加载到数据寄存器中,并且随后使用引脚和输入/输出电路加载到配置存储器52中。附加地或替代地,电源可以为配电网络(PDN)提供电压和电流的来源,该配电网络将电力分配给FPGA40的各个部件。对FPGA 40的电路进行操作导致从配电网络中提取电力。
FPGA 40上可以有任何合适数量的可编程逻辑扇区48。事实上,虽然这里显示了29个可编程逻辑扇区48,但应该理解的是,在实际实施方式中可能会出现更多或更少的扇区(例如,在某些情况下,在1、5、10、50、100、500、1000、5000、10000、50000或100000个扇区的数量级上或更多)。不同的可编程逻辑扇区48可以包括扇区控制器(SC)58,该扇区控制器58控制可编程逻辑扇区48的操作。每个扇区控制器58可以与设备控制器(DC)60进行通信。每个扇区控制器58可以从设备控制器60接受命令和数据,并且可以基于来自设备控制器60的控制信号,从其配置存储器52中读取数据并将数据写入其配置存储器52。除了这些操作之外,扇区控制器58还可以被增加许多额外的能力。例如,这些能力可以包括在本地对读和写进行排序,以实现对配置存储器52的错误检测和纠正,并对测试控制信号进行排序以实现各种测试模式。
扇区控制器58和设备控制器60可以被实现为状态机和/或处理器。例如,扇区控制器58或设备控制器60的每个操作可以被实现为存储器中的单独例程,该存储器包含控制程序。该控制程序存储器可以固定在只读存储器(ROM)中,或存储在诸如随机存取存储器(RAM)之类的可写存储器中。ROM的大小可以大于仅用于存储每个例程的一个副本的大小。根据本地控制器可能被置于的“模式”,这可以允许每个例程有多个变体。当控制程序存储器被实现为随机存取存储器(RAM)时,可以在RAM中写入新的例程,以实现可编程逻辑扇区48中的新的操作和功能。这可以以一种高效和容易理解的方式提供可用的扩展性。这可能是有用的,因为新的命令可能带来扇区内的大量本地活动,其代价仅仅是设备控制器60和扇区控制器58之间的少量通信。
因此,每个扇区控制器58可以与设备控制器60通信,设备控制器60可以协调扇区控制器58的操作并传达从FPGA设备40外部发起的命令。为了支持这种通信,互连资源46可以作为设备控制器60和每个扇区控制器58之间的网络。互连资源可以支持设备控制器60和每个扇区控制器58之间的各种信号。在一个示例中,这些信号可以作为通信数据包而被传输。
FPGA 40可以是电编程的。在电编程的布置下,可编程元件50可以包括一个或多个逻辑元件(导线、门、寄存器等)。例如,在编程期间,使用引脚和输入/输出电路将配置数据(例如,映射功能)加载到配置存储器52。在一个示例中,配置存储器52可以被实现为配置随机存取存储器(CRAM)单元。如下面所讨论的,在一些实施例中,可以通过更新处理器的微代码来将配置数据加载到FPGA 40中,其中FPGA 40嵌入在处理器中。本文中所描述的基于RAM技术的配置存储器52的使用只是一个示例。此外,配置存储器52可以(例如,作为RAM单元)分布在整个FPGA 40的各个可编程逻辑扇区48中。配置存储器52可以提供相应的静态控制输出信号,该静态控制输出信号控制以下相关项的状态:可编程逻辑元件50、或互连资源46的可编程组件。配置存储器52的输出信号可以应用于金属氧化物半导体(MOS)晶体管的栅极,这些晶体管控制以下项的状态:可编程逻辑元件50、或互连资源46的可编程部件。
FPGA 40的可编程元件50还可以包括一些通信线,以传输信号。在实施例中,可编程逻辑扇区48可以以垂直路由通道(例如,沿FPGA 40的Y轴形成的互连)和水平路由通道(例如,沿FPGA 40的X轴形成的互连)的形式提供。FPGA 40可以包括一个或多个功能块76,这些功能块76可以是FPGA 40的可编程逻辑元件50的部分重新配置区域,这些区域可以被修改(即,部分重新配置)以实现新的逻辑。功能块可以实现执行特定任务(例如,路由数据)的逻辑,这可以是用户定义的。数据(例如,通信数据包)可以在FPGA 40的功能块和/或互连资源46之间传输。此外,互连资源46可以使数据能够由FPGA 40发送和接收。如本文进一步描述的,数据可以在集成电路系统12的管芯之间进行传递。
例如,图3是集成电路系统12的侧视图,该集成电路系统12包括若干管芯80(这里是第一管芯80a和第二管芯80b,尽管可以有任何合适数量的管芯80)。管芯80可以代表任何合适的集成电路。管芯80可以是可编程的或固定的。例如,一个或多个管芯80可以包括可编程逻辑电路(例如,FPGA电路、人工智能(AI)引擎)、处理器电路(例如,Core(2)/>Core i3、Core i5、Core i7、或Xeon/>处理器、ARM处理器、或类似的处理器)、和/或任何其他合适的集成电路。管芯80a和80b可以是相同的或不同的。管芯80a和80b通过可编程路由桥84进行通信地耦合,以实现管芯之间的通信。第一管芯80a和第二管芯80b可以经由凸块安装到衬底82上,凸块例如受控坍塌片连接(C4)凸块120(有时被称为倒装片凸块)。一般来说,C4凸块120(例如,用于与封装外元件对接的凸块)与微凸块122(例如,用于与可编程路由桥84对接的凸块)相比,尺寸要大得多。微凸块122的数量一般也比倒装片凸块120的数量大得多(例如,微凸块的数量与C4凸块120的数量之比可能大于2:1、5:1、10:1,等等)。
可编程路由桥84可以是按图2中所描述的FPGA 40的方式的具有FPGA路由电路的嵌入式集成电路,或者可以是FPGA 40的示例。例如,可编程路由桥84可以包括对配置存储器进行编程以控制从一个管芯80到另一个管芯80的数据路由的电路(例如,可以或不可以被分离成扇区的路由电路)。附加地或替代地,可编程路由桥84可以是结构化的ASIC,该结构化的ASIC具有通过在制造过程中选择特定的通孔配置来编程的通孔可配置的路由电路。因此,作为结构化ASIC的可编程路由桥84可以被称为具有通孔配置的路由。可编程路由桥84的表面可以包括图案化的微凸块122,这些微凸块122与第一管芯80a和第二管芯80b通信地耦合。例如,第一管芯80a和第二管芯80b可以经由微凸块122安装到可编程路由桥84。在第一管芯80a和可编程路由桥84之间可以形成一个接口124,在第二管芯80b和可编程路由桥84之间可以形成另一个接口124。接口124可以允许数据通过可编程路由桥84在第一管芯80a上的可选择点与第二管芯80b上的可选择点之间传输。例如,接口124可以包括根据通用接口总线(UIB)或高级接口总线(AIB)进行通信的电路,该电路从微凸块122接收数据或通过微凸块122发送数据。在另一个示例中,接口124可以作为高级可扩展接口(AXI)桥来进行操作。接口124可以代表任何合适的接口电路,用于通过微凸块122接收或发送数据。这样,数据可以在第一微凸块122处从第一管芯80a被传输,并通过可编程路由桥84路由到连接到第二管芯80b的第二微凸块122。数据可以根据制造商或设计者编入可编程路由桥84的映射功能来传输。
在所图示的示例中,图3提供了可编程路由桥84的微凸块122的示意性特写视图,可编程路由桥84基于映射功能(例如,定义了跨越可编程路由桥84的路由路径)将数据从一个微凸块122路由到另一个微凸块122。例如,设计者或制造商可以在可编程路由桥84上实现映射功能,以在集成电路系统12的管芯80之间路由数据。映射功能可以定义要编程到可编程路由桥84中的各种路由,以分别在第一微凸块122a和第二微凸块122b、第三微凸块122c和第四微凸块122d之间传输数据。在实施例中,第一微凸块122a可以与第一管芯80a相关联,第二微凸块122b可以与第二管芯80b相关联,第三微凸块122c可以与第三管芯80c相关联,并且第四微凸块122d可以与第四管芯80d相关联。
在图3所示的示例中,映射功能可以定义跨过可编程路由桥84从微凸块场140的一个微凸块122到另一个微凸块122的路由。例如,路由路径142可以将数据从第一微凸块122a路由到第二微凸块122b。考虑到整个系统设计的限制,映射功能可以由设计软件确定,以代表从起点位置到终点位置的最有效(例如,最短、最低延迟、最高吞吐量)的路径。事实上,为了在某些管芯之间获得更高的带宽,与其它管芯之间相比,映射功能可以在这些管芯之间定义更多的路线。在图3所示的示例中,数据可由可编程路由桥84从与第一管芯80a相关的第一微凸块122a接收,并经过微凸块区域140的其他微凸块122,路由到与第二管芯80b相关联的第二微凸块122b。在一些实施例中,数据可以从第二微凸块122b经由路由路径142传输回第一微凸块122a。也就是说,在一些实施例中,路由路径142可以是双向的。在其他实施例中,路由路径142可以是单向的,用于根据由映射功能定义的单一方向进行通信。
当可编程路由桥84使用FPGA路由电路来路由数据时,可编程路由桥可以基于其他映射功能被进行重新编程(例如,重新配置或部分重新配置)。在一个示例中,可编程路由桥84可以根据另一个映射功能被重新编程,该映射功能可以定义路由路径144,以将数据从第一微凸块122a传输到第三微凸块122c或反之。在另一个示例中,可编程路由桥84可以根据另一个映射功能被重新编程,该映射功能可以定义路由路径146,以将数据从第一微凸块122a传输到第四微凸块122d或反之。可编程路由桥84可以基于配置数据被进行编程或重新编程。配置数据可以是特定于可编程路由桥84的映射功能的一组配置数据,或者是用于集成电路系统12的系统设计的配置数据的一部分的一组配置数据。
图4是可编程路由桥84的可编程路由层的电路框图视图。如本文所述,可编程路由桥84可以被电编程,以在微凸块122之间传输数据,从而在集成电路系统12的管芯80或瓦片44之间路由数据。例如,可以使用引脚和/或I/O电路将基于映射功能的配置数据(例如,定义传输数据的路由路径)加载到可编程路由桥84的配置存储器中,并将该配置数据编程到可编程路由桥84的配置随机存取存储器(CRAM)中。
可编程路由桥84可以包括通过路由线154(例如,如图所示连接两个开关152a和152b)彼此连接的入口/出口电路150和可配置的路由开关152。入口/出口电路150连接到可编程路由桥84的各个微凸块,并且可以包括任何合适的驱动器和/或接收器电路,以通过微凸块接收或发送数据。入口/出口电路150可以被配置为将数据传递给特定的可配置路由开关152或从可配置路由开关152接收数据。事实上,编程到可编程路由桥84的CRAM中的值可以定义入口/出口电路150和可配置路由开关152的路由行为,以基于配置数据在某个方向上(例如,向上、向下、向左、向右)传输数据。通过用某些配置数据对与不同的可配置路由开关152相关联的CRAM进行编程,可以在可编程路由桥84上定义通过可配置路由开关152和路由线154的路由路径。虽然没有明确显示,但可编程路由桥84可以(也可以不)包括逻辑块电路(例如,自适应逻辑模块(ALM)、可配置逻辑块(CLB))。此外,可以有更多或更少的入口/出口电路150块和可配置路由开关152。此外,图4旨在示意性地表示一个示例布置。在各种入口/出口电路150块之间可以有任何合适数量的可配置路由开关152和路由线154。
使用可编程路由桥84,集成电路系统12可以具有灵活的管芯到管芯连接,该连接可以被编程以支持集成电路系统12的特定应用。例如,图5是具有第一管芯80a、第二管芯80b、第三管芯80c和第四管芯80d的集成电路系统12的俯视图,这些管芯可以通过可编程路由桥84相互通信。可编程路由桥84可以嵌入到衬底82内。管芯80a、80b、80c、80d的某些部分可以安装至可编程路由桥84,在管芯和可编程路由桥84之间形成接口124(这里是在每个管芯80的角处的象限内,尽管也可以使用任何其他合适的位置)。该接口124可以从可编程路由桥84的微凸块122发送或接收数据。此外,在图示的实施例中,每个管芯80a、80b、80c、80d可以通过互连126与瓦片44通信地耦合,以实现高速I/O接口。在一个示例中,互连126可以是固定的互连(例如,桥接器或插接器),这些固定的互连根据非可编程的路径传输数据。在其他示例中,互连126可以是其他可编程的路由桥84。
回到图5的示例,可编程路由桥84可以基于连接在管芯80a、80b、80c、80d的不同微凸块之间的映射功能在管芯80a、80b、80c或80d之间传输数据和/或其他信号,从而允许直接的管芯到管芯的连接(例如,与涉及多个跳的管芯之间的互连不同)。在示例中,配置数据的映射功能可以定义(一个或多个)路由路径88,以便在可编程路由桥84中将数据从第一管芯80a路由到第四管芯80d。路由路径88可以是双向的,允许信号被这样传输:从第一管芯80a传输或传输至第一管芯80a、从第四管芯80d传输或传输至第四管芯80d。在另一个示例中,配置数据的映射功能可以定义(一个或多个)路由路径90,以将数据从第一管芯80a路由到第三管芯80c。因此,可编程路由桥84可以在直接的管芯到管芯的连接中传输信号,从而减少管芯之间的跳数。
由于可编程路由桥84是可编程的,集成电路系统12的不同应用(例如,配置程序、使用案例)可以使用具有不同映射功能的不同配置的可编程路由桥84。同样,具有不同管芯80a、80b、80c和80d的不同集成电路系统12也可以使用具有不同映射功能的不同配置的可编程路由桥84。因此,在图6所示的示例中,可以将不同的映射功能编程到可编程路由桥84中,该不同的映射功能可以在第二管芯80b和第四管芯80d之间定义(一个或多个)路由路径100,并且在第一管芯80a和第二管芯80b之间定义(一个或多个)路由路径102。此外,路径的大小可以被调整,以适应更高的数据速率(例如,在某些管芯之间并行的多个路径)。以这种方式,可编程路由桥84可以适应各种不同的应用(例如,使用案例)或布置。
此外,在图5和图6中,管芯80a、80b、80c、80d也可以通过相应的互连126耦合到一个或多个瓦片44,以实现高速I/O接口。如关于图5所描述的,互连126可以是固定的互连(例如,桥或插接器)或可编程路由桥84的版本。此外,虽然图5和图6所图示的实施例描绘了具有四个管芯的集成电路系统12,但如图7-图9的示例所示,集成电路系统12可以包括任何合适数量的管芯,例如2个管芯(图7)、3个管芯(图8)、或6个管芯(图9)、或其他具有更多或更少的管芯的布置,这些管芯与可编程路由桥84或多个可编程路由桥84通信耦合。
例如,图7示出了具有两个管芯80a和80b的集成电路系统12,这两个管芯可通信地耦合到可编程路由桥84。在图示的示例中,第一管芯80a可与第二管芯80b相邻,呈2x1的排列;然而,第一管芯80a和第二管芯80b可以替代地具有1x2的排列。第一管芯80a的区域(这里靠近右边缘)可以具有接口124,该接口124耦合到可编程路由桥84的一部分,第二管芯80b的区域(这里靠近左边缘)可以具有接口124,该接口124耦合到可编程路由桥84的一部分。因此,数据可以通过可编程路由桥84在第一管芯80a和第二管芯80b之间传输。
第一管芯80a和第二管芯80b可以被安装到可编程路由桥84的任何位置。在制造过程中,制造商可以同时创建第一管芯80a和第二管芯80b。制造商可以将第一管芯80a旋转180度以创建第二管芯80b。换句话说,第一管芯80a和第二管芯80b可以是相同的(或几乎相同的)管芯。此外,制造商可以将第一管芯80a和第二管芯80b安装到可编程路由桥84的任何位置,从而减少创建集成电路系统12所涉及的制造步骤的数量。
在图8的示例中,集成电路系统12可以包括三个管芯,这些管芯由可编程路由桥84通信地耦合。三个管芯80a、80b、80c可以呈3x1排列;然而,这些管芯也可以呈1x3排列。例如,集成电路系统12可以包括:与第一管芯80a和第二管芯80b接口的第一可编程路由桥84a、以及与第二管芯80b和第三管芯80c接口的第二可编程路由桥84b。在其他示例中,可以有单一的可编程路由桥84,该可编程路由桥84从第一管芯80a穿过第二管芯80b延伸到第三管芯80c。如图8所示,第一管芯80a的区域(此处靠近右边缘)和第二管芯80b的区域(此处靠近左边缘)可以与第一可编程路由桥84a形成各自的接口124。因此,第一管芯80a和第二管芯80b可以根据任何合适的映射功能被通信地耦合,该映射功能链接从第一管芯80a到第二管芯80b的管芯到管芯的路径。第二管芯80b的另一个区域(这里靠近右边缘)和第三管芯80c的一个区域(这里靠近左边缘)可以与第二可编程路由桥84b形成另一组接口124。因此,第二管芯80b和第三管芯80c可以根据任何合适的映射功能被通信地耦合,该映射功能链接从第二管芯80a到第三管芯80c的管芯到管芯的路径,该映射功能可能不同于第一可编程路由桥84a的映射功能。可以通过第二管芯80b将数据从第一管芯80a传输到第三管芯80c。
因此,在某些情况下,第一管芯80a可以与第三管芯80c相同或几乎相同。当创建集成电路系统12时,制造商可以将第一管芯80a旋转180度以得到第三管芯80c。因此,制造商可以避免制造单独的右手侧和左手侧管芯来适应固定的互连桥。因此,可编程路由桥84可以通过允许管芯在任何位置进行通信地耦合来降低制造复杂性并提高成本效率。
在图9的另一个示例中,集成电路系统12可以包括由第一可编程路由桥84a和第二可编程路由桥84b通信地耦合的六个管芯。在其他示例中,可以有延伸到所有管芯80a、80b、80c、80d、80e和80f的区域的单一的可编程路由桥84。集成电路系统12内的每个管芯的角可以与可编程路由桥84接口,以传输数据,如关于图5和图6的示例所述。
在图9的说明性示例中,管芯80a、80b、80c、80d、80e和80f以3x2排列的形式被布置,尽管可以使用任何其他合适的排列。第一可编程路由桥84a可以嵌入衬底82内,并且可以将第一管芯80a、第二管芯80b、第三管芯80c和第四管芯80d通信地耦合。管芯80a、80b、80c、80d可以各自与第一可编程路由桥84a形成接口124。第二可编程路由桥84b也可以嵌入到衬底82内,并且可以将第三管芯80c、第四管芯80d、第五管芯80e和第六管芯80f通信地耦合。数据可以基于映射功能在管芯之间进行路由,在第一可编程路由桥84a和第二可编程路由桥84b中映射功能可能不同。数据可以在两个可编程路由桥84a、84b之间进行路由,经过第三管芯80c和第四管芯80d。因此,第一管芯80a和第五管芯80e或第六管芯80f之间可能有两跳。在另一个示例中,第二管芯80b和第五管芯80e或第六管芯80f之间可能有两跳。然而,这两跳可能是对其他系统可能承担的五跳或六跳的改进。因此,可编程路由桥84可以减少在集成电路系统12的管芯之间传输数据所涉及的跳数。
集成电路系统12也可以使用可编程路由桥84来耦合到瓦片44。图10是集成电路系统12的侧视图,其中第一管芯80a与瓦片44通信性地耦合。集成电路系统12的示例可以以与图3所示基本相同的方式操作,只是第一管芯80a可以连接到专门支持第一管芯80a的瓦片44。
图11是用于制造集成电路系统12的示例方法170。例如,第一制造商可以通过使用任何合适的半导体制造工艺对硅晶圆进行图案化来制造可编程路由桥(块172)。第一制造商或第二制造商可以通过使用任何合适的半导体制造工艺对硅晶圆进行图案化来制造其他管芯(块174)。这些管芯可以包括在管芯的一部分(例如,靠近边缘或角的区域)上或在一个或多个管芯的整体上的接口。第一制造商、第二制造商或第三制造商可以取来管芯并将它们安装到可编程路由桥上,以形成集成电路系统(块176)。第一制造商、第二制造商、第三制造商或客户可以对可编程路由桥进行编程,以提供管芯到管芯的通信,来适应任何所需的使用案例或应用。当使用FPGA路由电路形成可编程路由桥时,可以在现场使用配置数据对该可编程路由桥进行编程。当可编程路由桥是结构化的专用集成电路(ASIC)(例如,诸如英特尔公司的eASICTM之类的结构化ASIC)时,第一制造商、第二制造商、第三制造商或客户可以在制造可编程路由桥时提供将被纳入的定制设计。
方法170包括由块表示的各种步骤。尽管流程图以一定的顺序图示了这些步骤,但是应当理解,这些步骤可以以任何合适的顺序执行,并且某些步骤可以在适当的情况下同时执行。此外,方法170的某些步骤或部分可以由单独的系统或设备执行。
图12是用于将可编程路由桥84创建为结构化专用集成电路(ASIC)(例如,诸如英特尔公司的eASICTM的结构化ASIC)的示例方法220。在块222,制造商可以用第一组掩模对晶圆进行图案化,以创建第一组层。第一组层可以包括一个或多个金属层,这些金属层具有若干可能的用于贯通的硅通孔(TSV,有时被称为“通孔”)的位置。随后的一组层可以被图案化以填充选定的通孔位置,这有效地对可编程路由桥的路由进行了编程(块224)。这是因为,当第二组层被图案化时(方框226),通孔位置被填充,第一组层上的电路与第二组层上的电路之间可以形成连接。
例如,第一组层和第二组层可以包括结构化的逻辑电路层,这些逻辑电路层具有在指定位置可以被填充或不被填充的通孔位置。可以使用被重复用于各种终端产品的掩模组对第一组层和第二组层进行图案化。然而,可以基于所需的映射功能对用于图案化通孔层的掩模组进行定制。这大大减少了在制造作为结构化ASIC的可编程路由桥时所涉及的掩模总数。根据哪些通孔位置被选择性地填充金属,底层电路(例如,连接部件)可以改变通过可编程路由桥对数据进行路由的方式。例如,在第一组层和/或第二组层中形成的可配置路由开关的行为可以由哪些通孔位置被填充来定义。以这种方式,对通孔位置进行填充可以与对CRAM进行编程相当。
方法220包括由块表示的各种动作。尽管流程图按照一定的顺序图示了这些动作,但是这些动作可以以任何合适的顺序执行,并且某些动作可以在适当的情况下同时执行。此外,方法220的某些动作或部分可以由单独的系统或设备执行。
考虑到上述情况,集成电路系统12可以是包括在数据处理系统中的组件,例如图13所示的数据处理系统500。数据处理系统500可以包括集成电路系统12(例如,可编程逻辑器件)、主机处理器502、存储器和/或存储电路504以及网络接口506。数据处理系统500可以包括更多或更少的组件,例如电子显示屏、用户界面结构、专用集成电路(ASIC)。此外,图13中描述的任何电路组件可以包括具有可编程路由桥84的集成电路系统12。主处理器502可以包括任何前述处理器,这些处理器可以管理数据处理系统500的数据处理请求(例如,执行加密、解密、机器学习、视频处理、语音识别、图像识别、数据压缩、数据库搜索排名、生物信息学、网络安全模式识别、空间导航、加密货币操作等)。存储器和/或存储电路504可以包括随机存取存储器(RAM)、只读存储器(ROM)、一个或多个硬盘、闪存等。存储器和/或存储电路504可以保存要由数据处理系统500处理的数据。在某些情况下,存储器和/或存储电路504还可以存储用于对集成电路系统12进行编程的配置程序(例如,比特流、映射功能)。网络接口506可以允许数据处理系统500与其他电子设备进行通信。数据处理系统500可以包括若干不同的封装,或者可以被包含在单个封装衬底上的单个封装内。例如,数据处理系统500的组件可以位于一个地点(例如,数据中心)或多个地点处的若干不同的封装上。例如,数据处理系统500的组件可以位于不同的地理位置或地区,例如城市、州或国家。
数据处理系统500可以是处理各种不同请求的数据中心的一部分。例如,数据处理系统500可以经由网络接口506接收数据处理请求,以执行加密、解密、机器学习、视频处理、语音识别、图像识别、数据压缩、数据库搜索排名、生物信息学、网络安全模式识别、空间导航、数字信号处理或其他专门任务。
本文描述的技术和方法可以应用于其他类型的集成电路系统。例如,本文所述的可编程路由桥可以与中央处理单元(CPU)、图形卡、硬盘或其他组件一起使用。
虽然在本公开中阐述的实施例可以容许各种修改和替换形式,但是在附图中以示例的方式示出了特定实施例,并且在本文中详细描述了特定实施例。然而,本公开并不旨在限于所公开的特定形式。本公开将覆盖落入由所附权利要求限定的本公开的精神和范围内的所有修改、等同物和替换。
本文提出和要求保护的技术被引用并应用于实践性质的材料对象和具体示例,其可以证实改进了本技术领域,并且因此不是抽象的、无形的或纯粹理论的。此外,如果附加到本说明书结尾的任何权利要求包含被指定为“用于[执行][某一功能]的装置”或“用于[执行][某一功能]的步骤”的一个或多个元素,则旨在根据35U.S.C.112(f)来解释这些元素。然而,对于包含以任何其他方式指定的元素的任何权利要求,不旨在根据35U.S.C.112(f)来解释这些元素。
示例实施例
示例实施例1.一种集成电路系统,包括:第一管芯,在衬底上;第二管芯,在衬底上;以及可编程路由桥,嵌入在衬底内,其中,可编程路由桥被安装到第一管芯和第二管芯,并且其中,可编程路由桥可配置用于在第一管芯的可选择点和第二管芯的可选择点之间传输数据。
示例实施例2.根据示例实施例1的集成电路系统,其中,可编程路由桥包括微凸块阵列,以通信地耦合到第一管芯的第一接口和第二管芯的第二接口。
示例实施例3.根据示例实施例2的集成电路系统,其中,第一接口和第二接口包括高级接口总线(AIB)电路、通用接口总线(UIB)电路或高级可扩展接口(AXI)电路,以向可编程路由桥的微凸块阵列传输数据以及从可编程路由桥的微凸块阵列接收数据。
示例实施例4.根据示例实施例1的集成电路系统,包括衬底上的第三管芯,其中,可编程路由桥被安装到第三管芯,并且其中,可编程路由桥可配置用于在第三管芯的可选择点到第一管芯的可选择点或第二管芯的可选择点之间传输数据。
示例实施例5.根据示例实施例4的集成电路系统,其中,第一管芯、第二管芯和第三管芯以3x1或1x3的排列方式安置在衬底上,并且其中,集成电路系统包括:嵌入衬底内的另一个可编程路由桥,其中,另一个可编程路由桥被安装到第二管芯和第三管芯,并且其中,另一个可编程路由桥可配置用于在第二管芯的可选择点和第三管芯的可选择点之间传输数据。
示例实施例6.根据示例实施例4的集成电路系统,包括衬底上的第四管芯,其中,第一管芯、第二管芯、第三管芯和第四管芯以2x2的排列方式被安置在衬底上,并且其中,可编程路由桥可配置用于在第一管芯的可选择点、第二管芯的可选择点、第三管芯的可选择点和第四管芯的可选择点之间传输数据。
示例性实施例7.根据示例性实施例6的集成电路系统,其中,可编程路由桥被通信地耦合到第一管芯的第一接口、第二管芯的第二接口、第三管芯的第三接口以及第四管芯的第四接口。
示例实施例8.根据示例性实施例7的集成电路系统,其中,第一管芯的第一接口在第一管芯的一个象限内,第二管芯的第二接口在第二管芯的一个象限内,第三管芯的第三接口在第三管芯的一个象限内,并且第四管芯的第四接口在第四管芯的一个象限内。
示例性实施例9.根据示例实施例7的集成电路系统,其中,第一管芯、第二管芯、第三管芯和第四管芯是相同的。
示例性实施例10.根据示例实施例1的集成电路系统,包括:第三管芯,在衬底上;第四管芯,在衬底上;第五管芯,在衬底上;第六管芯,在衬底上;以及另一个可编程路由桥,嵌入在衬底内;其中,可编程路由桥被安装到第一管芯、第二管芯、第三管芯和第四管芯,并且其中,可编程路由桥可配置用于在第一管芯的可选择点、第二管芯的可选择点、第三管芯的可选择点和第四管芯的可选择点之间传输数据;并且其中,另一个可编程路由桥被安装到第三管芯、第四管芯、第五管芯和第六管芯,并且其中,另一个可编程路由桥可配置用于在第三管芯的可选择点、第四管芯的可选择点、第五管芯的可选择点和第六管芯的可选择点之间传输数据。
示例实施例11.根据示例实施例1的集成电路系统,其中,第一管芯或第二管芯中的至少一者包括现场可编程门阵列电路。
示例性实施例12.根据示例实施例1的集成电路系统,其中,第一管芯或第二管芯中的至少一者包括处理器。
示例实施例13.一种集成电路系统,包括:第一管芯,在衬底上;第二管芯,在衬底上;以及可编程路由桥,嵌入在衬底内,其中,可编程路由桥被安装到第一管芯和第二管芯,并且其中,可编程路由桥被进行通孔配置,以在第一管芯的定义点和第二管芯的定义点之间传输数据。
示例性实施例14.根据示例实施例13的集成电路系统,包括被安装到可编程路由桥的第三管芯和第四管芯,并且其中,可编程路由桥被配置为在第三管芯的定义点和第四管芯的定义点之间传输数据。
示例实施例15.一种制造品,包括一种或多种其上存储有指令的有形的、非暂时性的、机器可读介质,指令在由一个或多个处理器执行时,使一个或多个处理器:生成配置数据;以及将配置数据传输到集成电路系统,集成电路系统包括与封装中的第一管芯和第二管芯相连接的可编程路由桥,所述传输使可编程路由桥被配置为在第一管芯和第二管芯之间传输数据。
示例性实施例16.根据示例实施例15的制造品,其中,用于生成配置数据的指令包括当被执行时使一个或多个处理器根据第一映射功能生成配置数据的指令,第一映射功能定义第一管芯与第二管芯之间的第一组管芯到管芯的路径。
示例实施例17.根据示例实施例16的制造品,其中,用于生成配置数据的指令包括:在被执行时使一个或多个处理器还根据不同于第一映射功能的第二映射功能生成配置数据的指令,第二映射功能定义第一管芯与第二管芯之间的第二组管芯到管芯的路径;并且用于传输配置数据的指令包括:在被执行时使一个或多个处理器执行以下操作的指令:将配置数据传输到集成电路系统,以使可编程路由桥被配置为根据第一映射功能或第二映射功能在第一管芯和第二管芯之间传输数据。
示例性实施例18.根据示例实施例15的制造品,其中,用于生成配置数据的指令包括:在被执行时使一个或多个处理器基于系统设计生成配置数据的指令,该系统设计对应于第一管芯或第二管芯的可编程逻辑电路的配置;并且用于将配置数据传输到集成电路系统的指令包括:在被执行时使一个或多个处理器执行以下操作的指令:将配置数据传输到集成电路系统以使得第一管芯或第二管芯的可编程逻辑电路被配置为具有系统设计。
示例实施例19.一种方法,包括:在第一时间,对集成电路的可编程路由桥进行编程,以根据第一映射功能在第一管芯与第二管芯之间提供封装内的管芯到管芯的通信;以及在第二时间,对集成电路的可编程路由桥进行编程,以根据第二映射功能在第一管芯与第二管芯之间提供封装内的管芯到管芯的通信。
示例性实施例20.根据示例实施例19的方法,其中,第一映射功能和第二映射功能使可编程路由桥被编程以在第一管芯和第二管芯之间提供不同的路径。
示例性实施例21.一种可编程的路由桥,包括:多个可配置路由开关;耦合到可配置路由开关的多条路由线;以及耦合到多条路由线的多个入口或出口电路,其中,入口或出口电路将连接到集成电路系统封装的第一管芯和集成电路系统封装的第二管芯;其中,可配置路由开关可配置用于:将经由入口或出口电路中的第一个入口或出口电路从第一管芯接收的数据经由多个入口或出口电路中的第二个入口或出口电路路由到第二管芯。
示例性实施例22.根据示例性实施例21的可编程路由桥,其中,多个可配置路由开关可通过存储在配置随机存取存储器中的配置数据进行配置。
示例性实施例23.根据示例性实施例21的可编程路由桥,其中,多个可配置路由开关在制造时被进行通孔配置。
Claims (19)
1.一种集成电路系统,所述集成电路系统具有分开的管芯,所述管芯可通过桥上的可编程的路由路径相互通信,所述系统包括:
第一管芯,在衬底上;
第二管芯,在所述衬底上;以及
可编程路由桥,嵌入在所述衬底内,其中,所述可编程路由桥被安装到所述第一管芯和所述第二管芯,并且其中,所述可编程路由桥可配置用于在所述第一管芯的可选择点和所述第二管芯的可选择点之间传输数据。
2.根据权利要求1所述的集成电路系统,其中,所述可编程路由桥包括微凸块阵列,以通信地耦合到所述第一管芯的第一接口和所述第二管芯的第二接口。
3.根据权利要求2所述的集成电路系统,其中,所述第一接口和所述第二接口包括高级接口总线(AIB)电路、通用接口总线(UIB)电路或高级可扩展接口(AXI)电路,以向所述可编程路由桥的所述微凸块阵列传输数据以及从所述可编程路由桥的所述微凸块阵列接收数据。
4.根据权利要求1所述的集成电路系统,包括所述衬底上的第三管芯,其中,所述可编程路由桥被安装到所述第三管芯,并且其中,所述可编程路由桥可配置用于在所述第三管芯的可选择点到所述第一管芯的可选择点或所述第二管芯的可选择点之间传输数据。
5.根据权利要求4所述的集成电路系统,其中,所述第一管芯、所述第二管芯和所述第三管芯以3x1或1x3的排列方式被安置在所述衬底上,其中,所述集成电路系统包括:
嵌入在所述衬底内的另一个可编程路由桥,其中,所述另一个可编程路由桥被安装到所述第二管芯和所述第三管芯,并且其中,所述另一个可编程路由桥可配置用于在所述第二管芯的可选择点和所述第三管芯的可选择点之间传输数据。
6.根据权利要求4所述的集成电路系统,包括所述衬底上的第四管芯,其中,所述第一管芯、所述第二管芯、所述第三管芯和所述第四管芯以2x2的排列方式被安置在所述衬底上,并且其中,所述可编程路由桥可配置用于在所述第一管芯的可选择点、所述第二管芯的可选择点、所述第三管芯的可选择点和所述第四管芯的可选择点之间传输数据。
7.根据权利要求6所述的集成电路系统,其中,所述可编程路由桥可配置用于在所述第一管芯的可选择点、所述第二管芯的可选择点、所述第三管芯的可选择点和所述第四管芯的可选择点之间传输数据,并且其中,所述可编程路由桥与所述第一管芯的第一接口、所述第二管芯的第二接口、所述第三管芯的第三接口和所述第四管芯的第四接口通信地耦合。
8.根据权利要求7所述的集成电路系统,所述第一管芯、所述第二管芯、所述第三管芯和所述第四管芯以2x2的排列方式被安置在所述衬底上,并且其中,所述第一管芯的所述第一接口在所述第一管芯的一部分内,该部分小于所述第一管芯的整个占用区,所述第二管芯的所述第二接口在所述第二管芯的一部分内,该部分小于所述第二管芯的整个占用区,所述第三管芯的所述第三接口在所述第三管芯的一部分内,该部分小于所述第三管芯的整个占用区,所述第四管芯的所述第四接口在所述第四管芯的一部分内,该部分小于所述第四管芯的整个占用区。
9.根据权利要求6或7所述的集成电路系统,其中,所述第一管芯、所述第二管芯、所述第三管芯和所述第四管芯是相同的。
10.根据权利要求1所述的集成电路系统,包括:
第三管芯,在所述衬底上;
第四管芯,在所述衬底上;
第五管芯,在所述衬底上;
第六管芯,在所述衬底上;以及
另一个可编程路由桥,嵌入在所述衬底内;
其中,所述可编程路由桥被安装到所述第一管芯、所述第二管芯、所述第三管芯和所述第四管芯,并且其中,所述可编程路由桥可配置用于在所述第一管芯的可选择点、所述第二管芯的可选择点、所述第三管芯的可选择点和所述第四管芯的可选择点之间传输数据;并且
其中,所述另一个可编程路由桥被安装到所述第三管芯、所述第四管芯、所述第五管芯和所述第六管芯,并且其中,所述另一个可编程路由桥可配置用于在所述第三管芯的可选择点、所述第四管芯的可选择点、所述第五管芯的可选择点和所述第六管芯的可选择点之间传输数据。
11.根据权利要求1所述的集成电路系统,其中,所述第一管芯或所述第二管芯中的至少一者包括现场可编程门阵列电路。
12.根据权利要求1或11所述的集成电路系统,其中,所述第一管芯或所述第二管芯中的至少一者包括处理器。
13.一种集成电路系统,所述集成电路系统具有分开的管芯,所述管芯可通过通孔可配置的桥上的路由路径相互通信,所述系统包括:
第一管芯,在衬底上;
第二管芯,在所述衬底上;以及
可编程路由桥,嵌入在所述衬底内,其中,所述可编程路由桥被安装到所述第一管芯和所述第二管芯,并且其中,所述可编程路由桥被进行通孔配置,以在所述第一管芯的定义点和所述第二管芯的定义点之间传输数据。
14.一种制造品,包括一种或多种其上存储有指令的有形的、非暂时性的、机器可读介质,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器:
生成配置数据;以及
将所述配置数据传输到集成电路系统,所述集成电路系统包括与封装中的第一管芯和第二管芯相连接的可编程路由桥,所述传输使所述可编程路由桥被配置为在所述第一管芯和所述第二管芯之间传输数据。
15.根据权利要求14所述的制造品,其中,用于生成所述配置数据的所述指令包括在被执行时使所述一个或多个处理器根据第一映射功能生成所述配置数据的指令,所述第一映射功能定义所述第一管芯与所述第二管芯之间的第一组管芯到管芯的路径。
16.根据权利要求15所述的制造品,其中:
用于生成所述配置数据的所述指令包括:在被执行时使所述一个或多个处理器还根据不同于所述第一映射功能的第二映射功能生成所述配置数据的指令,所述第二映射功能定义所述第一管芯与所述第二管芯之间的第二组管芯到管芯的路径;并且
用于传输所述配置数据的所述指令包括:在被执行时使所述一个或多个处理器执行以下操作的指令:将所述配置数据传输到所述集成电路系统,以使所述可编程路由桥被配置为根据所述第一映射功能或所述第二映射功能在所述第一管芯和所述第二管芯之间传输数据。
17.一种方法,用于对可编程路由桥进行动态编程以调整第一管芯和第二管芯之间的路由路径,所述方法包括:
在第一时间,对集成电路的可编程路由桥进行编程,以根据第一映射功能在第一管芯与第二管芯之间提供封装内的管芯到管芯的通信;以及
在第二时间,对所述集成电路的所述可编程路由桥进行编程,以根据第二映射功能在所述第一管芯与所述第二管芯之间提供封装内的管芯到管芯的通信。
18.根据权利要求17的方法,其中,所述第一映射功能和所述第二映射功能使所述可编程路由桥被编程以在所述第一管芯和所述第二管芯之间提供不同的路径。
19.一种路由桥,用于在封装内的集成电路之间实现定制的路由路径,所述路由桥包括:
多个可配置路由开关;
耦合到所述可配置路由开关的多条路由线;以及
耦合到所述多条路由线的多个入口或出口电路,其中,所述入口或出口电路将连接到集成电路系统封装的第一管芯和集成电路系统封装的第二管芯;
其中,所述可配置路由开关可配置用于:将经由所述多个入口或出口电路中的第一个入口或出口电路从所述第一管芯接收的数据经由所述多个入口或出口电路中的第二个入口或出口电路路由到所述第二管芯;并且
其中:
所述多个可配置路由开关可通过存储在配置随机存取存储器中的配置数据进行配置;或
所述多个可配置路由开关在制造时被进行通孔配置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/856,768 | 2022-07-01 | ||
US17/856,768 US20220337248A1 (en) | 2022-07-01 | 2022-07-01 | Programmable routing bridge |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117334669A true CN117334669A (zh) | 2024-01-02 |
Family
ID=83601733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310623657.2A Pending CN117334669A (zh) | 2022-07-01 | 2023-05-30 | 可编程路由桥 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220337248A1 (zh) |
CN (1) | CN117334669A (zh) |
-
2022
- 2022-07-01 US US17/856,768 patent/US20220337248A1/en active Pending
-
2023
- 2023-05-30 CN CN202310623657.2A patent/CN117334669A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220337248A1 (en) | 2022-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101182988B1 (ko) | 다층 반도체 스택을 위한 범용 층간 상호 연결 | |
CN110085570B (zh) | 可编程中介层电路系统 | |
US7137095B1 (en) | Freeway routing system for a gate array | |
JP6081801B2 (ja) | フレキシブル電子インターフェースのための装置および関連方法 | |
EP3343771B1 (en) | Interface bridge between integrated circuit die | |
US10916516B2 (en) | High bandwidth memory (HBM) bandwidth aggregation switch | |
EP3497722B1 (en) | Standalone interface for stacked silicon interconnect (ssi) technology integration | |
US11670589B2 (en) | Fabric die to fabric die interconnect for modularized integrated circuit devices | |
US20070247189A1 (en) | Field programmable semiconductor object array integrated circuit | |
US20240028544A1 (en) | Inter-die communication of programmable logic devices | |
CN115525592A (zh) | 用于集成电路装置的模块化外围片块 | |
US11901895B2 (en) | Method and apparatus for providing field-programmable gate array (FPGA) integrated circuit (IC) package | |
EP4304092A1 (en) | Systems and methods for modular disaggregated integrated circuit systems | |
CN117334669A (zh) | 可编程路由桥 | |
US20220336415A1 (en) | Grid-based interconnect system for modular integrated circuit systems | |
JP4283220B2 (ja) | ビルディングブロックを有する集積回路 | |
US20220102281A1 (en) | Selective use of different advanced interface bus with electronic chips | |
US20240213985A1 (en) | Systems And Methods For Configuring Signal Paths In An Interposer Between Integrated Circuits | |
US20240162189A1 (en) | Active Interposers For Migration Of Packages | |
US20240120302A1 (en) | Techniques For Arranging Conductive Pads In Electronic Devices | |
US20220014182A1 (en) | Via Configurable Edge-Combiner with Duty Cycle Correction | |
US20240111703A1 (en) | Techniques For Configuring Repeater Circuits In Active Interconnection Devices | |
US20240145434A1 (en) | Multi programable-die module | |
US20230042718A1 (en) | Die-to-Die Interconnect Architecture for Hardware-Agnostic Modeling | |
US20220337250A1 (en) | Three-Dimensional Columnar Input-Output (IO) Circuitry for Integrated Circuit Device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |