CN105099423B - 利用三维晶片堆叠的可扩展的交叉点开关的电路及方法 - Google Patents
利用三维晶片堆叠的可扩展的交叉点开关的电路及方法 Download PDFInfo
- Publication number
- CN105099423B CN105099423B CN201510259562.2A CN201510259562A CN105099423B CN 105099423 B CN105099423 B CN 105099423B CN 201510259562 A CN201510259562 A CN 201510259562A CN 105099423 B CN105099423 B CN 105099423B
- Authority
- CN
- China
- Prior art keywords
- switch
- chip
- input
- multiplexer
- output
- 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.)
- Active
Links
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/1733—Controllable logic circuits
- H03K19/1735—Controllable logic circuits by wiring, e.g. uncommitted logic arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- 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/1733—Controllable logic circuits
- H03K19/1737—Controllable logic circuits using multiplexers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/42—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
- H04Q3/54—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
- H04Q3/55—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using wired logic circuitry
- H04Q3/552—Wired circuits or arrangements therefor
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了在组件晶片上堆叠有开关晶片的交叉点开关。所述交叉点开关容许通过添加开关晶片提供扩展性。所述开关晶片包括入口开关,所述入口开关连接至多路复用器,所述多路复用器连接至中间级开关。所述入口开关的输入和输出经由硅通孔(TSV)连接至开关接口区域。所述入口开关的输出经由TSV还连接至多路复用器以路由至上方的开关晶片的中间级开关。如果开关晶片堆叠在另一开关晶片上,那么入口开关的输出经由TSV连接至多路复用器以路由至下方的开关晶片的中间级开关。通过添加开关晶片,所述开关能够配置用来增大端口数量以及端口宽度。
Description
技术领域
本发明大体上涉及纵横开关(crossbar switch),更加具体地,涉及可扩展的三维交叉点开关(cross-point switch)。
背景技术
为了适当地将数据路由至集成电路的不同的逻辑和算法组件并适当地将数据从集成电路的不同的逻辑和算法组件路由出来,集成电路中的开关是必需的。随着集成计算电路的复杂度增加,对于使各种组件之间能够进行数据路由的更加灵活的开关的需求也增大。例如,大容量开关有益于诸如现场可编程门阵列(FPGA)技术等可编程硬件,其中,逻辑组件可以具有根据执行功能所需的逻辑组件的被配置子集而变化的互连(interconnection)。
传统的开关的历史可以追溯到上世纪的物理N×N电话交换机,经过20世纪50年代发展出的多级网络,直至出现现代远程电信路由器。N×N开关能够将第一多个N向输入端口中的任何一个的数据传送至任一个N向输出端口。路由器的一部分可以全部或部分地以FPGA和专门集成电路(ASIC)逻辑实现。
Clos网络是递归地(意思是由其它的m输入网络构建n输入网络,其中m<n)建立N×N交叉点开关的众所周知的方法。通常的3级Clos网络由纵横开关的入口、中间和出口网络组成且具有参数r、n和m,以实现N×N置换网络,其中N=r*n。每个入口级纵横开关具有m个出口端,且存在m个中间级纵横开关。每个入口级开关与每个中间级开关之间恰好存在一个连接。存在r个出口级开关,每个出口级开关具有m个输入和n个输出。每个中间级开关恰好仅一次地连接至每个出口级开关。因此,入口级具有r个开关,各开关具有n个输入和m个输出。中间级具有m个开关,各开关具有r个输入和r个输出。出口级具有r个开关,各开关具有m个输入和n个输出。
这样的网络可以具有不同的类别,诸如阻塞、无阻塞和可重排等等。如果m≥2n-1,那么网络是无阻塞网络,意味着在不破坏任何现有连接的情况下可以建立新的连接。如果m>n,则网络是可重组网络而不是无阻塞网络,因为只有在改变某一或某些现有连接的情况下才可以得到新的解决方案。
如上所述,在基于数据包的交换以及光学传输中,交叉点开关在数据通信应用中非常重要。然而,在可编程硬件的情况下,因为不同的应用需要数量可变的待连接的逻辑组件,所以不同的应用通常需要不同的交叉点结构。为了维持可编程硬件的灵活性,作出使交叉点开关硬化在FPGA晶片(FPGA die)上的任何设计决定,从成本和使用的角度来说是难以自证合理的命题,因为这样的硬化开关必须具有最大连接能力以用于FPGA晶片可能被构造用于的各种应用。
FPGA用户可能具有这样的应用:需要交叉点开关连接FPGA晶片上的不同组件以实现所述应用。然而,不同的用户应用程序之间的开关组成可能不同,使得普通的硬化逻辑方案非常难以适应各种各样的用户需求。例如,一个用户可能需要每个端口为100位宽的64个端口。相对地,第二个用户可能需要每个端口为400位宽的16个端口。两个用户都需要具有相同数量的输入和输出的交叉点开关。同时满足这两个用户需求的硬化方案非常难以建立。这样的传统的硬化逻辑方案将需要以任一用户所需的最大参数来建立交叉点开关,例如每个端口为400位宽的64个端口。这样的设计虽然满足这两个用户的需求,但是增加了器件的成本和复杂度。
发明内容
一个公开的示例是交叉点开关,其包括堆叠在具有开关接口区域的组件晶片上的一系列硬逻辑开关晶片。硬件开关晶片均包括入口开关,所述入口开关被连接至多路复用器,所述多路复用器连接至中间级开关。堆叠的开关晶片上的所述入口开关的输入和输出经由硅通孔(TSV)连接至开关接口区域。所述入口开关的输出经由TSV还连接至多路复用器以路由至堆叠在初始开关晶片上方的第二开关晶片的中间级开关。第二开关晶片的入口开关的输出经由TSV连接至多路复用器以路由至下方的开关晶片的中间级开关。通过堆叠额外的开关晶片,所述开关能够配置用来增大端口数量以及端口的宽度。
鉴于参照附图对各种实施例进行的详细说明,额外各方面对本领域普通技术人员而言将是显见的。下面提供附图的简要说明。
附图说明
在阅读下面的详细说明并参考附图的基础上,前述和其它优势将变得显然。
图1A是具有堆叠的三维交叉点开关单元的组件电路晶片;
图1B是图1A中的电路晶片的一个组件区域的近视特写图,该组件区域具有三维交叉点开关单元中的一组堆叠开关晶片;
图2A是图1B中的电路晶片的组件区域以及开关晶片的分解近视图;
图2B是图1B中的电路晶片的组件区域以及堆叠开关晶片的侧视图;
图3是由纵横开关形成的示例性交叉点开关的开关拓扑形态的配置;
图4是被配置用来实现图3的开关拓扑形态的图1B中的电路晶片的组件区域以及示例性开关晶片的框图;
图5示出了无线通信系统;
图6是图5中的无线通信系统中的利用示例性交叉点开关单元的可编程硬件电路组件的框图;并且
图7是Interlaken应用中的利用示例性交叉点开关单元的可编程硬件电路组件的框图。
虽然本发明容许各种变型和替代形式,但在附图中以举例的方式示出了特定示例,并将在本文中对它们进行详细说明。然而,应当理解,本发明不是旨在限于公开的特定形式。而是说,本发明旨在覆盖在随附的权利要求所限定的本发明的主旨和范围之内的所有变型、等同物以及替代方案。
具体实施方式
图1A示出了根据本发明实施例的集成电路组件晶片的示意性示例,该集成电路组件晶片是可编程逻辑器件(PLD)100。可编程逻辑器件100具有输入/输出电路110,该电路110用于驱动信号经由输入/输出插针120从器件100离开并且用来接收经由输入/输出插针120来自其它器件的信号。互连资源(Interconnection resource)115(诸如全局和局部的垂直和水平的导线和总线等)可以用来在器件100上路由信号。
输入/输出电路110包括常规输入/输出电路、串行数据收发电路、差分接收和发送电路或用来将一个集成电路连接至另一个集成电路的其它电路。
互连资源115包括导线以及各导线之间的可编程连接,因此有时被称为可编程互连115。
可编程逻辑区域140可以包括诸如数字信号处理电路、存储电路、运算电路等可编程组件或其它组合和时序逻辑电路(例如,可配置寄存器电路)。作为示例,可配置寄存器电路可以作为常规寄存器来操作。可替代地,可配置寄存器电路可以作为具有错误检测和纠错能力的寄存器来操作。
可编程逻辑区域140可以被配置用来执行自定义逻辑功能。可编程逻辑区域140还可以包括执行特定应用程序且具有有限的可配置性的专用模块。例如,可编程逻辑区域140可以包括诸如可配置存储模块、可配置处理模块、可编程锁相环电路、可编程延迟锁相环电路等专用模块或具有有限的可配置性的其它专用模块。可编程互连115也可以被认为是一种可编程逻辑区域140。
可编程逻辑器件100包括可编程存储元件130。存储元件130能够利用输入/输出电路110和插针120来加载配置数据(也被称为编程数据)。一旦加载,存储元件均提供对应的静态控制信号,该信号控制可编程逻辑区域140中的相关逻辑组件的操作。在典型的场景中,加载的存储元件130的输出被施加于可编程逻辑区域140中的金属氧化物半导体晶体管的栅极以使特定的晶体管导通或截止,并由此配置可编程逻辑区域140的逻辑以及路由路径。可以以这样的方式控制的可编程逻辑电路元件包括多路复用器(例如,用于在可编程互连115中形成路由路径的多路复用器)、查找表、逻辑阵列、与(AND)逻辑门、或(OR)逻辑门、与非(NAND)逻辑门、或非(NOR)逻辑门和传输门等中的一部分。
存储元件130可以使用任何适合的易失性存储结构和/或非易失性存储结构,例如,随机存取存储(RAM)单元、熔丝、反熔丝(antifuse)、可编程只读存储器存储单元、掩模可编程(mask-programmed)结构和激光可编程(laser-programmed)结构以及这些结构的组合等等。因为存储元件130在编程期间内加载有配置数据,所以存储元件130有时也被称为配置存储器、配置RAM(CRAM)或可编程存储元件。
可以使用任何适合的架构来组织器件100的电路。作为示例,可以以较大的可编程逻辑区域的一系列的行和列来组织可编程逻辑器件100的逻辑,每一个上述较大的可编程逻辑区域包含多个较小的逻辑区域。上述较小的区域例如可以是有时也被称为逻辑元件(LE)的逻辑区域,每个逻辑元件包含查找表、可编程多路复用器电路和一个或多个寄存器。所述较小的区例如也可以是有时也被称为自适应逻辑模块(ALM)、可配置逻辑模块(CLB)、切片和半切片等的逻辑区域。自适应逻辑模块均可以包括一对加法器、一对关联寄存器和一个查找表或包括其它的共用组合逻辑模块(即,来自一对LE的的资源——在上下文中,有时也被称为自适应逻辑元件或ALE)。上述较大的区域例如可以是例如包括有多个逻辑元件或多个ALM的逻辑区域的逻辑簇或逻辑阵列模块(LAB)。
在器件编程期间,配置数据被加载到配置可编程逻辑区域140的器件100中以使得所述可编程逻辑区域140的逻辑资源执行期望的逻辑功能。例如,配置数据可以将一部分可配置寄存器电路配置成作为常规寄存器来操作。如果需要,配置数据可以将一些可配置寄存器电路配置成作为具有错误检测和纠错能力的寄存器来操作。
可编程逻辑器件(PLD)100制造于组件晶片上且在本示例中包括三维的、可配置的交叉点开关单元150,交叉点开关单元150均包括硬接线开关晶片的堆叠。开关单元150使得可编程逻辑器件100上的可编程逻辑区域140中的各种组件之间的灵活和可扩展的交叉连接成为可能。开关单元150还能够实现在可编程逻辑区域140相对于可编程互连115或输入/输出电路110的所选输入和输出之间的与组件晶片上的组件或组件晶片外部的器件进行的相互通信。在本示例中,电路器件是可编程逻辑器件100,但是这里所述的原理可以用于任何类型的适当电路。包含任选的处理器160,以方便通过根据将在下面说明的开关程序或程序配置开关单元150而在可编程逻辑区域140中的逻辑组件之间进行的切换。尽管在本示例中示出了一个处理器,但是可以由多个处理器来执行配置功能,所述多个处理器中的每一个接近于可编程逻辑器件100上对应的开关单元150。
图1B是可编程组件区域142的近视图,该可编程组件区域142包括图1A中的可编程逻辑器件100的两个可编程逻辑区域140。可编程组件区域142被形成为可编程逻辑器件100的组件晶片的一部分。可编程组件区域142包括开关单元150,该开关单元150包括一系列堆叠的开关晶片152、154、156和158。在本示例中,可编程组件区域142包括可编程逻辑区域140中的不同逻辑组件。来自可编程逻辑区域中的组件和存储区域130中的存储组件的输入和输出经由开关单元150而被路由至可编程互连115或输入/输出电路110。开关晶片152、154、156和158跨越可编程逻辑区域140和存储区130延伸,这使得能够连接至其它的可编程逻辑区域140。
开关单元150还包括可编程组件区域142中的开关接口区域170。开关接口区域170包括许多硅通孔(TSV),TSV将通向可编程逻辑区域140的输入端口和输出端口与堆叠的开关晶片152、154、156和158中的各者连接。如将在下面所述,开关晶片152、154、156和158上的开关之间的连接的变化使得能够实现开关单元的扩缩,以用于选择与可编程组件区域142的组件之间的不同数量的输入和输出。本示例中的交叉点开关单元150使得输入能够指向可编程组件区域142的组件。另一个开关单元(未示出)使得组件的输出能够指向诸如可编程互连115和输入/输出电路110等连接。如将在下面所述,关于开关输入端口的数量以及开关输入端口的宽度,可以通过来自开关控制电路180的控制信号对交叉点开关单元150进行配置。
图2A示出了堆叠在图1B所示的组件晶片的可编程组件区域142上的开关晶片152和154的详细分解图。如图2A所示,开关晶片152和154中一个堆叠在另一个之上,它们连同开关接口区域170一起为可编程组件区域142的可编程逻辑区域140提供三维开关。本示例中的第一开关晶片152包括入口级开关202和204。开关202的输出分别与多路复用器206和208的一个输入连接。多路复用器206和208的输出分别连接至中间级开关220的一个输入。类似地,开关204的输出分别连接至多路复用器210和212的一个输入。多路复用器210和212的输出分别连接至中间级开关222的一个输入连接。尽管在本示例中多路复用器206、208、210和212在开关晶片152上与入口级开关202和204硬接线连接,但是多路复用器可以位于诸如组件晶片100等其它晶片上。
类似地,本示例中的第二开关晶片154包括入口级开关232和234。开关232的输出分别连接至多路复用器236和238的一个输入。多路复用器236和238的输出分别连接至中间级开关250的一个输入连接。类似地,开关234的输出分别连接至多路复用器240和242的一个输入。多路复用器240和242的输出分别连接至中间级开关252的一个输入。
如将在下面所述,开关晶片154包括将开关232和234连接至开关晶片154下方的开关晶片152的开关220和222以及多路复用器206、208、210和212的三维连接硅通孔(TSV),并且包括将开关232和234连接至开关晶片154上方的开关晶片156的相应的开关以及多路复用器的连接TSV。开关晶片154还包括这样的TSV:所述TSV将开关232、234、250和252连接至开关接口区域170的输入和输出。
图2B是图1B中的组件区域142的开关接口区域170上堆叠的开关晶片152、154、156和158的分解侧视图。开关接口区域170包括一系列输入硅通孔(TSV)260,输入TSV 260使输入进入开关晶片152、154、156和158上的第一组入口开关(例如,入口开关202和232)。一系列输出TSV 262将来自开关晶片152、154、156和158上的第一组入口开关的输出连接至开关接口区域170的输出端口。
另一组TSV 270使得开关接口区域170能够使输入进入开关晶片上的多路复用器(例如,多路复用器206和208),且因此进入开关晶片上的中间级开关(例如,开关220和250)。存在诸如下述交叉连接器的额外交叉连接器TSV 272:所述交叉连接器将开关晶片154的开关的输出连接至开关晶片154下方的开关晶片152的多路复用器。另一组交叉连接器TSV 274将开关晶片154的入口开关的输出连接至开关晶片154上方的开关晶片156的多路复用器连接。一组输出TSV 276将开关晶片152、154、156和158的中间级开关的输出连接至开关接口区域170的输出端口。
图3示出了示例性的8×8开关单元300,开关单元300可以是图1B、2A和2B中的开关晶片152、154、156和158连同开关接口区域170一起的一个配置。因此,开关单元300是由2×2纵横开关构建的8×8Benes网络。图3示出了一系列入口级开关302、304、306和308。初始级开关302、304、306和308的输出与一系列中间级开关312、314、316和318交叉连接。中间级开关312、314、316和318的输出与进一步的中间级开关322、324、326和328的输入进一步交叉连接。进一步的中间级开关322、324、326和328的输出与另一组中间级开关332、334、336和338的输入连接。中间级开关332、334、336和338的输出与一组出口级开关342、344、346和348的输入连接。中间级开关332、334、336和338的输出与一组出口级开关342、344、346和348的输入之间的连接图案类似于入口级开关302、304、306和308的输出与中间级开关312、314、316和318的输入的连接的图案。
图3中的开关均具有两个输入和两个输出并且彼此交叉连接,从而形成8×8交叉开关。例如,开关302(X11)的两个输出分别连接至开关312(X21)和开关316(X23)的输入。开关304(X12)的两个输出分别连接至开关312(X21)和开关316(X23)的输入。开关306(X13)的两个输出分别连接至开关314(X22)和开关318(X24)的输入。开关308(X14)的两个输出分别连接至开关314(X22)和开关318(X24)的输入。如将在下面所述,入口级开关302、304、306和308以及中间级开关312、314、316和318可以与开关晶片152和154的开关相对应(是2×2交叉点开关)(例如,开关晶片154的开关232、234、250和252)。
图3中还示出了中间级开关312、314、316和318的输出的图案。例如,开关312(X21)的两个输出分别连接至开关322(X31)和开关324(X32)的输入。开关314(X22)的两个输出分别连接至开关322(X31)和开关324(X32)的输入。开关316(X23)的两个输出分别连接至开关326(X33)和开关328(X34)的输入。开关318(X24)的两个输出分别连接至开关326(X33)和开关328(X34)的输入。
如上所述,减少开关的级数顾及了能够递归地实现的较小模块的网络。在图3的示例中,对于N=r*n(其中,r是具有2个输出(n)的4出口开关)和N×N开关,Benes网络(例如,图3中的示例性8×8Benes网络)是由2×2交叉点构建的。尽管图3中的示例性Benes网络是用于实现简单交叉点的有效网络,但是关键问题在于扩展图3中网络引入了新的随机功能,该随机功能需要不同的互连图案。这意味着对于单级集成电路晶片中的固定开关而言,可以以正确的互连构建开关,但是扩展开关以顾及可编程平台的扩展使得开关互连难以在通常的方式下硬化。在可编程互连场景中,也存在着大量的长路由,这使交叉点开关的性能降低。由于造成的降低交叉点开关的性能的大量长路由,当对现有技术的以图3中的8×8开关单元的二维实现方式(例如,在单芯片层上)进行扩展时,该现有技术的实现方式将遇到困难。如将在下面所述,当使用图2A和图2B中的堆叠的开关晶片以三维的方式实现时,可以对图3中的8×8开关网络进行扩展。这种实现方式消除了长路由并且在没有额外连接图案的情况下提供可扩展性。
图4示出了图1B中的开关接口区域170与两个开关晶片152和154之间的连接,从而在三维交叉点开关单元150中实现图3中的开关网络电路300的一部分。如上所述,可编程组件区域142包括开关接口区域170,开关接口区域170具有诸如图2A和图2B中的TSV 260、262、270、272和274等交叉连接,这样的交叉连接能够实现路由至堆叠开关晶片152和154并且从堆叠开关晶片152和154路由出。开关晶片152和154被配置用来实现交叉点开关电路,例如图3中的交叉点电路300的配置。
如图4所示,开关晶片152包括两个2×2交叉点入口开关202和204,开关202和204对应于图3中的开关302(X11)和304(X12)。开关晶片152还包括另外的两个中级2×2开关220和222,开关220和222对应于图3中的开关312(X21)和314(X22)。入口开关202和204与中间级开关220和232之间的在开关晶片152的芯片级上的互连受到多路复用器206、208、210和212的控制。开关晶片154包括两个2×2开关232和234,开关232和234对应于图3中的开关306(X13)和308(X14)。开关晶片154还包括另外的两个中间级2×2开关250和252,开关250和252对应于图3中的开关316(X23)和318(X24)。类似地,入口开关232和234与中间级开关250和252之间的在开关晶片154的芯片级上的互连受到多路复用器236、238、240和242的控制。如上所述,多路复用器206、208、210和212连同图2B中的TSV 260、262、270、272和274一起还能够实现来往于开关晶片152下方的可编程组件区域142和开关晶片152上方的开关晶片154的连接的路由。如将在下面所述,多路复用器连同TSV 260、262、270、272和274一起还能够实现从组件晶片100的开关接口区域170至开关晶片154上方的开关晶片(例如,开关晶片156)或开关晶片154下方的开关晶片152的连接的路由。
转到图4,开关接口区域170的第一组TSV 400提供连接至第一开关晶片152的入口开关202和204的四个输入的连接。第二组TSV 402提供连接至第二开关晶片154的入口开关232和234的四个输入的连接。本示例中的开关接口区域170因此具有多达八个端口,这八个端口连接至TSV 400和402以提供输入至开关晶片152和154的输入。如果在开关晶片154上堆叠有额外的开关晶片(例如,开关晶片156),那么可以将其它TSV用于额外的端口。一组输出TSV 406从中间级开关(例如,开关210和212)的输出连接至开关接口区域170的输出端口。应理解,如果需要额外的开关灵活性和容量,那么来自中间级开关的输出可以连接至开关晶片152、154、156和158上的额外级的开关。
开关晶片152的入口开关202具有两个输出410和412。按照图3中的开关单元300的布局,第一输出410连接至多路复用器206的一个输入,多路复用器206随后可以路由至中间级开关220的输入。第一输出410还连接至TSV 414,TSV 414通向可编程逻辑器件100的组件晶片上的可编程组件区域142的开关接口区域170的输出端口。如图3的布局所示,第二输出412连接至多路复用器210的输入,多路复用器210随后可以路由至中间级开关222的输入。开关202的第二输出412还连接至TSV 416,TSV 416通向组件晶片上的可编程组件区域142的开关接口区域170的输出端口。开关202的第二输出412还连接至TSV 428,TSV 428遵照图3的布局连接至开关晶片154的多路复用器236的输入。
类似地,入口开关204具有两个输出420和422。按照图3中的开关单元300的布局,第一输出420连接至多路复用器208的一个输入,多路复用器208随后可以路由至中间级开关220的输入。第一输出420还连接至TSV 424,TSV 424通向可编程组件区域142的开关接口区域170。如图3的布局所示,第二输出422连接至多路复用器212的输入,多路复用器212随后可以路由至中间级开关222的输入。第二输出422还连接至TSV 426,TSV 426通向可编程组件区域142的开关接口区域170的输出端口。第二输出422还连接至TSV 430连接,TSV 430遵循图3的布局连接至开关晶片154的多路复用器238的输入。
多路复用器206可以在两个独立的输入之间选择,被选的输入可以被连接至中间级开关220的一个输入。第一输入是开关202的输出410,第一输入遵循图3的布局。第二输入是可编程组件区域142的开关接口区域170的TSV 432,第二输入使得能够绕过开关202并直接访问中间级开关220的输入。类似地,多路复用器208可以在两个独立的输入之间选择,被选的输入可以被连接至中间级开关220。第一输入是开关204的输出420,第一输入遵循图3的布局。第二输入是可编程组件区域142的开关接口区域170的TSV 434,第二输入使得能够绕过开关202并直接访问中间级开关220的输入。类似地,来自可编程组件区域142的开关接口区域170的两个TSV 436和438分别连接至多路复用器210和212,以绕过开关204并直接访问中间级开关222的输入。
多路复用器210可以在三个输入之间选择。第一输入是开关202的第二输出412。第二输入是可编程组件区域142的开关接口区域170的TSV 436以用来绕过开关204且直接访问中间级开关222的输入。多路复用器210的第三输入是开关晶片154的开关232的第一输出,所述第三输入经由TSV 440而被路由并且遵循图3的配置。类似地,多路复用器212可以在三个输入之间选择。第一输入是开关204的第二输出422。第二输入是可编程组件区域142的TSV 438以用于绕过开关204并直接访问中间级开关222的输入。多路复用器212的第三输入是开关晶片154的开关234的输出,所述第三输入经由TSV 442而被路由并且遵循图3的配置。
开关晶片154堆叠在开关晶片152上。开关232和234的输入经由TSV 402被连接至可编程组件区域142的开关接口区域170。开关232和234的输出被连接至TSV 450、452、454和456以将所述输出提供至可编程组件区域142的开关接口区域170。来自可编程组件区域142的开关接口区域170的两个TSV 460和462分别连接至多路复用器236和238,以绕过开关232并直接访问开关250的输入。来自可编程组件区域142的开关接口区域170的两个TSV464和466分别连接至多路复用器240和242,以绕过开关234并直接访问开关252的输入。
与开关晶片152的开关202和204类似,开关232和234的输出被连接至多路复用器236、238、240和242的输入以能够分别路由至开关250和252的输入。多路复用器236包括可以被选择的三个输入,其中一个输入连接至开关232的输出。第二输入是从来自可编程组件区域142的开关接口区域170的TSV 460路由而来的输入。第三输入是来自TSV428的开关晶片152的开关202的输出,其遵循图3的布局。类似地,多路复用器238具有可以被选择的三个输入。第一输入连接至开关234的输出。第二输入从来自可编程组件区域142的开关接口区域170的TSV462路由而来。第三输入是经由TSV 430路由的开关晶片152的开关204的输出422,其遵循图3的配置。
多路复用器240具有可以被选择的两个输入。第一输入是开关232的一个输出,其遵循图3的配置。第二输入是经由TSV 464从开关接口区域170路由来的输入。同样,多路复用器242也具有可以被选择的两个输入。第一输入是开关234的一个输出,其遵循图3的配置。第二输入是经由TSV 466从开关接口区域170路由来的输入。
如图4可以看出,图3中的交叉点开关布局被分成在硬化逻辑开关晶片152、154、156和158与包括有开关接口区域170的可编程组件晶片间实现。诸如开关晶片152、154、156和158等堆叠开关晶片使得能够实现交叉连接开关,通过添加额外的开关晶片以及开关晶片与可编程组件区域142的开关接口区域170之间对应的交叉连接能够扩展这样的交叉连接开关。因此,可以通过复制现有的开关晶片结构并在现有的开关晶片的上方添加额外的开关晶片来实现开关的网络。在本示例中,开关晶片152结合开关接口区域170允许4×4交叉点开关,该开关可以使用对多路复用器206、208、210和212的输出进行控制的控制电路180来配置。通过将供给至多路复用器206、208、210和212的控制信号保持为开关202、204、220和222与开关接口区域170之间的期望路由,可以基本上硬接线连接这样的交叉点开关。通过将供给至多路复用器206、208、210和212的控制信号改变为允许来自开关接口区域170的输入的组合,得到的交叉点开关也可以是可配置的。
通过复制现有网络且将新的列添加至图3的左右两边,可以实现将该网络扩展至两倍的端口数。在本示例中,第二开关晶片154可以被添加在第一开关晶片152的上方。在左列,顶部入口(开关202和204)被连接至顶部矩阵的顶部端口(开关220)和底部矩阵的顶部端口(开关250)。对于图3中的入口开关和出口开关而言,该图案连续(一个顶部,一个底部连接)。添加至输出开关右边的添加列是图3中的中间级开关的互连图案的镜像。
通过以第二开关晶片154的形式再添加4个输入,可以扩展得到期望的交叉点开关。结果是8×8交叉点开关,该开关可以使用对第一开关晶片152上的多路复用器206、208、210和212和第二开关晶片154上的多路复用器236、238、240和242的输出进行控制的控制电路180进行配置。交叉点开关可以被硬接线连接,其中控制信号被维持至多路复用器的;或者可以能够通过根据开关之间的期望连接改变控制信号而进行配置。该处理使得能够如下所述地在交叉点开关单元150的三维堆叠晶片环境下完成端口扩展:通过以开关晶片152和154建立固定尺寸的交叉点开关,但是如图2A和图2B所示地为两个晶片添加晶片至晶片互连和片上复用。
这样的结构也顾及了宽度扩展(扩展交叉点至每个输入端口的更宽的位宽)。通过从开关接口区域170将不同的位范围连接至各个开关晶片的每个开关,可以实现本示例中的扩展。例如,双倍宽度的输入端口可以这样来实现:将第一开关202的一个输入分配给端口位0至7并将开关204的一个输入分配给端口位8至15。第二输入端口是开关202(位0至7)的另一个输入与开关204(位8至15)的另一个输入的组合。因此,可利用更少的输入端口,但是现有的端口被组合用来划分数据且因此实现更宽的数据路径。
整个交叉点开关不需要在开关晶片152、154、156和158的硬逻辑上来实现。开关的第一级或最后一级能够以软逻辑来实现,该软逻辑也具有访问TSV互连结构的存取口以使用其它硬开关晶片。因此,图4中的开关晶片152和154的入口开关能够凭借可编程硬件而不是硬逻辑来实现。
可替代地,用来实现开关的开关晶片可以被构建为是后期绑定(late-binding)可编程的。以这样的方式,能够以比如前所述的Benes网络显著更低的成本对开关编程从而实现阻塞网络。这包括配置处理器或逻辑(例如,图1中的配置处理器160)的并入,其解决了静态配置并且通过开关晶片152、154、156或158的多路复用器的控制从开关单元150产生了用于实现期望的开关配置所需的控制线路。另一个处理可以是经由TSV将开关程序从FPGA电路(例如,图1中的可编程区域140的被配置用来执行开关配置程序的一个)传输至开关晶片上的多路复用器。
用来实现三维交叉点开关单元150的硬接线开关晶片起到与可编程电路或固定功能处理电路的核心功能分离的作用。这些包括用于通道重排(lane re-ordering)和条带化的交叉点开关功能以及物理编码子层(PCS)。
例如,图3中的配置是实现8×8交叉点开关可重排置换网络的特定实现,其中n=m=r=4。图3中的特定实现可以用于PCS虚拟通道重排的软以太网核。开关晶片152和154上的开关的经由多路复用器的编程是伪静态的,并且在启动时由诸如处理器160等能够进行开关的适当编程的简单处理器确定。
包含有示例性的三维交叉点开关单元的另一个应用例是无线通信系统。图5是使用示例性的交叉点开关单元的无线通信系统500。无线通信系统500具有一系列手机信号塔(例如,手机信号塔510)。手机信号塔510包括多根天线512、514、516和518。天线512、514、516和518均必须单独启动和断电。在无线通信系统500的操作中,天线512、514、516和518被选择性地启动以接收和发送网络通信量。各个启动天线增添了对网络通信量的相应增大进行处理的额外能力。例如,在高峰期(诸如在商业区的白天),所有天线512、514、516和518均被启动以满足网络通信量高峰的需求。在非高峰期(例如,在深夜),因为网络通信量处于较低量,仅一个天线(例如,天线512)被启动。
系统500包括基带处理单元520,基带处理单元520经由包括一系列电缆532的接口522连接至天线512、514、516和518。在本示例中,天线512、514、516和518经由通过接口522操作的CPRI通信标准与基带处理单元520通信。基带处理单元520包括诸如图1A中的可编程逻辑器件100等可编程电路。如图6所示,基带处理单元520包括可扩展交叉点开关单元530,该交叉点开关单元530与图1至图4中的交叉点开关单元150类似。交叉点开关单元150的输入是接口522的一系列电缆532,这些电缆532分别携带来自天线512、514、516和518中的一者的CPRI信号。所述信号通过交叉点开关单元150而被路由至不同的输出端口534和536。输出端口534和536连接至处理逻辑单元540。处理逻辑单元540对信号进行处理,并且通过输出端口输出相应的媒介。在本示例中,基带处理单元520包括用于数据信号的数据端口542和用于语音数据的SONET端口544。输出端口542和544分别连接至不同的网络(例如,数据网络和电话网络)。
如上所述,对系统500进行操作的无线运营商可以具有取决于一天当中与网络通信量相关的时间段的天线512、514、516和518的激活模式。例如,从早上6:00至晚上8:00,所有四个天线512、514、516和518都是激活的,从晚上8:00至晚上11:00,天线512和518是激活的,且从晚上11:00至早上5:00,仅一个天线514是激活的。天线激活的这些变化可以非常复杂,特别是当端口和天线的数量增加时。因为仅仅使用中的分组端口需要被处理,所以一项常用的设计技术将所有使用的端口放置在一起且将所有未使用的端口放置在一起以使处理变得更简单。
如图6所示,通过将激活天线的输出切换至所选的处理模块,三维交叉点开关单元530使得处理逻辑540的各种处理模块能够被有效地断开。使用交叉点开关单元530消除了端口活动(port activity)的各种情况。如上所述,当一些天线不被供电时,诸如端口534等某些输出端口是非激活的。诸如端口536等激活端口经由交叉点开关单元530连接至激活天线。交叉点开关530使得系统设计者仅需要核实天线512、或者天线512和天线514、或者天线512、514和516、或者天线512、514、516和518都一起正确地工作,而不需要核实第一处理逻辑模块和第二处理逻辑模块、或天线512(PL1)和天线516(PL3)、或天线512(PL1)和天线518(PL4)都需要一起正确地工作。因为处理逻辑是复杂的,所以交叉点开关单元530允许的简化是可观的并且使得使用该结构的供应商能够更快速地进入市场。
使用开关单元150的另一个应用例可以是与以太网PCS vlane重排(vlane-reordering)需求以及Interlaken(ILKN)条带化、RX与TX的分离等匹配的可配置vlane重排开关。如本领域技术人员所理解的,Interlaken是这样的接口:其是能够被映射至不同端口速度的混合的信道化接口。该接口被频繁地用于数据通信载波设备以具有与数据包处理模块通信的信道。实际上,Interlaken允许不同的用户购买不同的端口以扩展得到期望的带宽。例如,Interlaken互连可以这样实现:通过将开关单元150配置为提供多捆系列链接以按照Interlaken协议在组件之间创建具有多信道、反压能力和数据完整性保护的逻辑连接。
图7是用于将数据信号路由至不同的输出的Interlaken互连的处理系统700的框图。在本示例中,处理系统700包括一系列Interlaken输入端口702a、702b、702c、702d、702e和702f(端口1-6)。处理系统700包括带处理单元710,带处理单元710可以是诸如图1A中的可编程逻辑器件100等可编程电路。处理单元710包括不同的处理逻辑模块720,处理逻辑模块720可以用来处理从端口702a-e至不同用户的带宽通信量。在本示例中,处理逻辑模块包括分配给第一用户的处理模块722和分配给第二用户的处理模块724。各处理模块720连接至来自三维交叉点开关单元730的输出728。Interlaken端口702a-e至处理逻辑的分配由用户转发表732来确定。Interlaken输入端口702a-e被连接至可扩展交叉点开关单元730,该交叉点开关单元730与图1至图4中的交叉点开关单元150类似。Interlaken输入端口702a-f经由交叉点开关单元730被路由至与不同的用户关联的处理逻辑模块720。
例如,假设运营商有用户1和用户2,这两个用户都购买了带宽的两个输入端口。运营商可以为用户1分配端口1和2(702a和702b)且为用户2分配端口3和4(702c和702d)以保持用户处理效率。如果用户1想要购买额外的端口带宽,那么可以将额外的输入端口分配给与用户1关联的处理模块。例如,可以为用户1分配端口5(702e),这使得用户1能够接收来自端口1、2和5的网络通信量。这样做使得用户2不会受到用户1购买额外服务的影响。为了正确地处理通信量,运营商必须将端口5移动至靠近端口1和2,以使它们都能够使用用于决定数据包去向的相同数据库。然而,如在当前实践中那样切换端口(例如,将端口3移动至用户1且将端口5移动至用户2)导致服务中断。
开关单元730使得端口能够被虚拟地移动至相关联的用户,从而避免了服务中断。因此,在不会中断分配给用户2的端口的数据流的情况下,通过交叉点开关单元730将端口702e(端口5)简单地路由至与用户1关联的处理逻辑720。可以在不中断针对用户2的服务的情况下通过改变用户转发表732来实现这样的变化。
改变输入端口的数量以及端口的宽度的配置的能力允许更大的灵活性,即,使可编程电路器件适应不同用户需求。交叉点开关的宽度扩展使得交叉点开关的位宽能够变化。开关需求既可以是动态的(在每周期的基础上是可编程的以改变置换功能)又可以是静态的(作为建立和拆除是可编程的)。动态开关将用于交换结构或其它重排功能,而静态开关将适用于置换功能仅当引入客户端接口时才改变的诸如OTN复用转发器或VLANE重排问题等应用。
虽然已经参照一个或多个特例说明了本发明原理,但是本领域技术人员将认识到:在不脱离本发明主旨和范围的情况下,能够对这些特例作出许多改变。这些示例中的每一个及其显而易见的变型被认为落入随附权利要求限定的本发明主旨和范围内。
相关申请的交叉参考
本申请主张享有于2014年5月20日提交的美国专利申请第14/282510号的优先权,并且将该美国专利申请的全部内容以引用的方式并入本文。
Claims (20)
1.一种可配置交叉点开关系统,其包括:
组件晶片,所述组件晶片包括逻辑组件和容许所述逻辑组件的连接的开关接口区域;
第一开关晶片,所述第一开关晶片位于所述组件晶片上,所述第一开关晶片包括具有输入和输出的入口级开关和具有输入的中间级开关;
多路复用器,所述多路复用器具有与所述入口级开关的输出连接的输入和与所述中间级开关的输入连接的输出;
输入硅通孔(TSV),所述输入硅通孔连接在所述开关接口区域中的第一输入端口与所述入口级开关的所述输入之间;和
第二输入TSV,所述第二输入TSV连接在所述组件晶片的所述开关接口区域中的第二输入端口与所述多路复用器的另外的输入之间。
2.如权利要求1所述的开关系统,其中,所述开关系统被配置用来对从所述多路复用器的所述输入至所述中间级开关的连接进行选择。
3.如权利要求1所述的开关系统,其中,所述多路复用器位于所述第一开关晶片上。
4.如权利要求1所述的开关系统,其中,所述入口级开关、所述中间级开关和所述多路复用器是固定电路。
5.如权利要求1所述的开关系统,其中,所述开关接口区域包括用来在所述第一输入端口与所述第二输入端口之间进行选择的可编程逻辑。
6.如权利要求5所述的开关系统,其中,所述开关接口区域的配置是在所述组件晶片的FPGA逻辑上产生的,配置信息经由至所述多路复用器的互连而被发送。
7.如权利要求1所述的开关系统,还包括处理器,所述处理器用来对经由所述多路复用器至所述中间级开关的所述输入的连接进行编程。
8.如权利要求1所述的开关系统,还包括:
第一输出TSV,所述第一输出TSV将所述入口级开关的所述输出连接至所述开关接口区域中的第一输出端口;和
第二输出TSV,所述第二输出TSV将所述中间级开关的所述输出连接至所述开关接口区域中的第二输出端口。
9.如权利要求3所述的开关系统,还包括:
第二开关晶片,所述第二开关晶片堆叠在所述第一开关晶片的上方,所述第二开关晶片包括入口级开关和中间级开关,所述第二开关晶片的入口级开关具有输入和与所述第二开关晶片的多路复用器的输入连接的输出,所述第二开关晶片的中间级开关与所述第二开关晶片的所述多路复用器的输出连接;和
所述第二开关晶片的输入TSV,所述第二开关晶片的输入TSV连接在所述开关接口区域的端口与所述第二开关晶片的所述入口级开关的所述输入之间;
第一开关晶片输入TSV,所述第一开关晶片输入TSV连接在所述第一开关晶片的所述入口级开关的所述输出与所述第二开关晶片的所述多路复用器的另外的输入之间,其中,所述开关系统被配置为对经由所述第二开关晶片的所述多路复用器的所述输入至所述第二开关晶片的所述中间级开关的连接进行选择;和
第二开关晶片输入TSV,所述第二开关晶片输入TSV连接在所述第二开关晶片的所述入口级开关的所述输出与所述第一开关晶片的所述多路复用器的另外的输入之间。
10.如权利要求9所述的开关系统,其中,所述第一开关晶片的所述多路复用器和所述第二开关晶片的所述多路复用器被配置用来选择所述开关接口区域上的预定数量的输入端口作为开关输入并且选择所述开关接口区域上的预定数量的输出端口作为开关输出。
11.如权利要求10所述的开关系统,其中,所述开关系统经由所述第一开关晶片的所述多路复用器和所述第二开关晶片的所述多路复用器被配置为通过将所述第一开关晶片的出口级开关和所述第二开关晶片的出口级开关的多个输入分配给单个输入端口来创建宽信道位长度端口。
12.如权利要求9所述的开关系统,其中,所述开关系统经由所述第一开关晶片的所述多路复用器和所述第二开关晶片的所述多路复用器被配置为与以太网物理编码子层协议相符合。
13.如权利要求9所述的开关系统,其中,所述开关系统经由所述第一开关晶片的所述多路复用器和所述第二开关晶片的所述多路复用器被配置为根据Interlaken接口协议来适应输入。
14.一种用于组件晶片上的组件的交叉连接的交叉点开关的配置方法,所述方法包括以下步骤:
在所述组件晶片的上方添加第一开关晶片,所述第一开关晶片包括与多路复用器交叉连接的多个入口级开关,所述多路复用器具有与多个中间级开关的输入连接的输出;
将输入端口连接至所述第一开关晶片的所述入口级开关的输入;并且
控制所述多路复用器从而从所述输入端口或从所述入口级开关的输出中为所述中间级开关选择输入。
15.如权利要求14所述的方法,还包括通过以下步骤来扩展所述交叉点开关的所述输入端口:
在所述第一开关晶片的上方添加第二开关晶片,所述第二开关晶片包括与所述第二开关晶片的多路复用器交叉连接的多个入口级开关,所述第二开关晶片的所述多路复用器具有与所述第二开关晶片的多个中间级开关的输入连接的输出;
将输入端口连接至所述第二开关晶片的所述入口级开关的输入;
将所述第一开关晶片的所述入口级开关的一些输出交叉连接至所述第二开关晶片的所述多路复用器;并且
将所述第二开关晶片的所述入口级开关的一些输出交叉连接至所述第一开关晶片的所述多路复用器。
16.一种可配置交叉点开关单元,其包括:
组件晶片,所述组件晶片包括含有输入端口和输出端口的互连接口区域;
堆叠在所述组件晶片上的多个开关晶片,所述多个开关晶片中的每个开关晶片包括多个入口开关、多个多路复用器和多个中间级开关,其中,对于所述多个开关晶片中的每个开关晶片,所述入口开关的输出经由所述多路复用器连接至所述中间级开关的输入;
多个输入硅通孔(TSV),所述多个输入硅通孔位于所述互连接口区域的所述输入端口与所述多个开关晶片的所述入口开关的输入之间;
多个输出TSV,所述多个输出TSV位于所述互连接口区域的所述输出端口与所述入口开关的输出和所述中间级开关的输出之间;并且
其中,至少一个所述开关晶片包括第一多个TSV和第二多个TSV,所述第一多个TSV位于所述入口开关的输出与所述至少一个所述开关晶片上方的开关晶片的所述多路复用器之间,所述第二多个TSV位于所述入口开关的输出与所述至少一个所述开关晶片下方的开关晶片的所述多路复用器之间。
17.如权利要求16所述的可配置交叉点开关单元,其中,所述多路复用器的输入通过由所述组件晶片的FPGA逻辑产生的配置信息而被编程,所述配置信息经由至所述多路复用器的互连而被发送。
18.如权利要求16所述的可配置交叉点开关单元,还包括处理器,所述处理器用来对经由所述多路复用器至所述中间级开关的输入的连接进行编程。
19.如权利要求16所述的可配置交叉点开关单元,其中,所述多个开关晶片包括第一开关晶片和第二开关晶片,所述第一开关晶片的所述多路复用器和所述第二开关晶片的所述多路复用器被配置为选择所述互连接口区域上的预定数量的输入端口作为开关输入并且选择所述互连接口区域上的预定数量的输出端口作为开关输出。
20.如权利要求16所述的可配置交叉点开关单元,其中,所述多个开关晶片包括第一开关晶片和第二开关晶片,所述第一开关晶片的所述多路复用器和所述第二开关晶片的所述多路复用器被配置为通过将所述第一开关晶片的出口开关和所述第二开关晶片的出口开关的多个输入分配给单个输入端口来创建宽信道位长度端口。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/282,510 US9077338B1 (en) | 2014-05-20 | 2014-05-20 | Method and circuit for scalable cross point switching using 3-D die stacking |
US14/282,510 | 2014-05-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105099423A CN105099423A (zh) | 2015-11-25 |
CN105099423B true CN105099423B (zh) | 2019-01-01 |
Family
ID=53283995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510259562.2A Active CN105099423B (zh) | 2014-05-20 | 2015-05-20 | 利用三维晶片堆叠的可扩展的交叉点开关的电路及方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9077338B1 (zh) |
EP (1) | EP2947893B1 (zh) |
CN (1) | CN105099423B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9817933B2 (en) * | 2013-03-15 | 2017-11-14 | The Regents Of The University Of California | Systems and methods for switching using hierarchical networks |
US9077338B1 (en) * | 2014-05-20 | 2015-07-07 | Altera Corporation | Method and circuit for scalable cross point switching using 3-D die stacking |
US11178072B2 (en) * | 2015-06-10 | 2021-11-16 | Mobileye Vision Technologies Ltd. | Image processor and methods for processing an image |
US9898375B1 (en) | 2015-12-22 | 2018-02-20 | EMC IP Holding Company LLC | Asymmetric memory transceiver |
US10235314B2 (en) * | 2015-12-28 | 2019-03-19 | EMC IP Holding Company LLC | Fabric for modular solid-state storage systems |
US9929979B2 (en) | 2016-01-07 | 2018-03-27 | Analog Devices, Inc. | Scalable crosspoint switch |
CN106712751A (zh) * | 2016-11-25 | 2017-05-24 | 深圳市紫光同创电子有限公司 | 互联装置、现场可编程门阵列器件及其信号传输控制方法 |
US10169511B2 (en) | 2017-03-29 | 2019-01-01 | International Business Machines Corporation | Method to synthesize a cross bar switch in a highly congested environment |
US10333508B2 (en) | 2017-03-29 | 2019-06-25 | International Business Machines Corporation | Cross bar switch structure for highly congested environments |
WO2019116106A2 (en) * | 2017-12-14 | 2019-06-20 | Mobileye Vision Technologies Ltd. | Image processor and methods for processing an image |
US11146505B2 (en) * | 2018-01-11 | 2021-10-12 | Intel Corporation | Low latency compact Clos network controller |
US10666261B2 (en) * | 2018-12-28 | 2020-05-26 | Intel Corporation | High-speed core interconnect for multi-die programmable logic devices |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7057412B1 (en) * | 2003-12-12 | 2006-06-06 | Altera Corporation | Configurable crossbar switch |
US20070126474A1 (en) * | 2005-12-07 | 2007-06-07 | June Young Chang | Crossbar switch architecture for multi-processor SoC platform |
CN102684681A (zh) * | 2011-03-11 | 2012-09-19 | 阿尔特拉公司 | 包括i/o堆叠的系统以及用于制造此类系统的方法 |
US20130022136A1 (en) * | 2011-07-19 | 2013-01-24 | Xilinx, Inc. | Integrated circuit enabling the communication of data and a method of communicating data in an integrated circuit |
CN103681703A (zh) * | 2012-09-14 | 2014-03-26 | 台湾积体电路制造股份有限公司 | 3d堆叠背照式图像传感器及其制造方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6181159B1 (en) * | 1997-05-06 | 2001-01-30 | Altera Corporation | Integrated circuit incorporating a programmable cross-bar switch |
US6721311B1 (en) * | 1999-08-10 | 2004-04-13 | Colorado Seminary | Self-routing permutation networks based on de Bruijn digraphs |
US7256611B2 (en) * | 2000-05-31 | 2007-08-14 | Silicon Laboratories Inc. | Cross-bar matrix with LCD functionality |
US7177301B2 (en) * | 2001-12-27 | 2007-02-13 | Intel Corporation | Signal permuting |
US8373440B2 (en) * | 2009-04-06 | 2013-02-12 | Hewlett-Packard Development Company, L.P. | Three dimensional multilayer circuit |
US8519740B2 (en) * | 2012-01-06 | 2013-08-27 | Altera Corporation | Integrated circuits with shared interconnect buses |
US8542032B1 (en) * | 2012-01-06 | 2013-09-24 | Altera Corporation | Integrated circuits with interconnect selection circuitry |
US9268738B2 (en) * | 2012-02-24 | 2016-02-23 | International Business Machines Corporation | Three-dimensional permute unit for a single-instruction multiple-data processor |
US9077338B1 (en) * | 2014-05-20 | 2015-07-07 | Altera Corporation | Method and circuit for scalable cross point switching using 3-D die stacking |
-
2014
- 2014-05-20 US US14/282,510 patent/US9077338B1/en active Active
-
2015
- 2015-05-20 EP EP15168439.6A patent/EP2947893B1/en active Active
- 2015-05-20 CN CN201510259562.2A patent/CN105099423B/zh active Active
- 2015-07-06 US US14/791,917 patent/US9276582B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7057412B1 (en) * | 2003-12-12 | 2006-06-06 | Altera Corporation | Configurable crossbar switch |
US20070126474A1 (en) * | 2005-12-07 | 2007-06-07 | June Young Chang | Crossbar switch architecture for multi-processor SoC platform |
CN102684681A (zh) * | 2011-03-11 | 2012-09-19 | 阿尔特拉公司 | 包括i/o堆叠的系统以及用于制造此类系统的方法 |
US20130022136A1 (en) * | 2011-07-19 | 2013-01-24 | Xilinx, Inc. | Integrated circuit enabling the communication of data and a method of communicating data in an integrated circuit |
CN103681703A (zh) * | 2012-09-14 | 2014-03-26 | 台湾积体电路制造股份有限公司 | 3d堆叠背照式图像传感器及其制造方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2947893B1 (en) | 2018-10-10 |
US20150341037A1 (en) | 2015-11-26 |
US9276582B2 (en) | 2016-03-01 |
US9077338B1 (en) | 2015-07-07 |
EP2947893A1 (en) | 2015-11-25 |
CN105099423A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105099423B (zh) | 利用三维晶片堆叠的可扩展的交叉点开关的电路及方法 | |
US8170040B2 (en) | Fully connected generalized butterfly fat tree networks | |
Jajszczyk | Nonblocking, repackable, and rearrangeable Clos networks: fifty years of the theory evolution | |
US8270400B2 (en) | Fully connected generalized multi-stage networks | |
US8363649B2 (en) | Fully connected generalized multi-link multi-stage networks | |
US8417867B2 (en) | Multichip module for communications | |
US9529958B2 (en) | VLSI layouts of fully connected generalized and pyramid networks with locality exploitation | |
US10979366B1 (en) | Optimization of multi-stage hierarchical networks for practical routing applications | |
US8898611B2 (en) | VLSI layouts of fully connected generalized and pyramid networks with locality exploitation | |
US10412025B2 (en) | Fast scheduling and optmization of multi-stage hierarchical networks | |
US8493090B1 (en) | Multiplexer-based interconnection network | |
US9374322B2 (en) | Optimization of multi-stage hierarchical networks for practical routing applications | |
US20170099052A1 (en) | Local routing network with selective fast paths for programmable logic device | |
US11811683B1 (en) | VLSI layouts of fully connected generalized and pyramid networks with locality exploitation | |
US7777519B2 (en) | Permutable switching network with enhanced multicasting signals routing for interconnection fabric | |
Stasiak et al. | Performance study in multi-rate switching networks with additional inter-stage links | |
WO2008028330A1 (en) | A programmable interconnect network for logic array | |
US7999570B2 (en) | Enhanced permutable switching network with multicasting signals for interconnection fabric | |
US11777872B1 (en) | Optimization of multi-stage hierarchical networks for practical routing applications | |
US11405332B1 (en) | Fast scheduling and optimization of multi-stage hierarchical networks | |
Morino et al. | A scalable multistage packet switch for terabit IP router based on deflection routing and shortest path routing | |
Chakrabarty | Symmetric rearrangeable networks and algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |