CN109075787B - 有源接有源可编程器件 - Google Patents

有源接有源可编程器件 Download PDF

Info

Publication number
CN109075787B
CN109075787B CN201780021683.0A CN201780021683A CN109075787B CN 109075787 B CN109075787 B CN 109075787B CN 201780021683 A CN201780021683 A CN 201780021683A CN 109075787 B CN109075787 B CN 109075787B
Authority
CN
China
Prior art keywords
circuit
sip
programmable
die
coupled
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
Application number
CN201780021683.0A
Other languages
English (en)
Other versions
CN109075787A (zh
Inventor
A·S·卡维雅尼
P·迈德
I·波尔森斯
E·F·德林杰
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/013,690 external-priority patent/US10042806B2/en
Priority claimed from US15/013,696 external-priority patent/US10002100B2/en
Application filed by Xilinx Inc filed Critical Xilinx Inc
Priority to CN202210367972.9A priority Critical patent/CN114741344A/zh
Publication of CN109075787A publication Critical patent/CN109075787A/zh
Application granted granted Critical
Publication of CN109075787B publication Critical patent/CN109075787B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L2224/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • H01L2224/161Disposition
    • H01L2224/16151Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/16221Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/16225Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
    • H01L2224/16227Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation the bump connector connecting to a bond pad of the item
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/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/16235Disposition 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 via metallisation of the item
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/1517Multilayer substrate
    • H01L2924/15192Resurf arrangement of the internal vias
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/153Connection portion
    • H01L2924/1531Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface
    • H01L2924/15311Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface being a ball array, e.g. BGA

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Information Transfer Systems (AREA)
  • Combinations Of Printed Boards (AREA)
  • Microcomputers (AREA)
  • Logic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

一种示例性集成电路(IC)系统,包括具有安装在其上的可编程集成电路(IC)(101A)和配套IC(103A)的封装衬底(202),其中可编程IC包括可编程结构(404),配套IC包括应用电路(107A)。IC系统还包括封装内系统(SiP)桥(144),其包括设置在可编程IC中的第一SiP IO电路(140A),设置在配套IC中的第二SiP IO电路(142)以及封装衬底上电耦接第一SiP IO电路和第二SiP IO电路的导电互连(138)。IC系统还包括被耦接在可编程结构和第一SiP IO电路之间的可编程IC中的第一聚合电路和第一分散电路(110、112)。IC系统还包括被耦接在应用电路和第二SiP IO电路之间的配套IC中的第二聚合电路和第二分散电路(126、128)。

Description

有源接有源可编程器件
技术领域
本公开的示例大体涉及电子电路,并且具体地涉及有源接有源(active-by-active)可编程器件。
背景技术
现代可编程器件,例如现场可编程门阵列(FGPA),其尺寸在增长并变得更加异构。由于更昂贵的工艺技术以及不需要所有异构电路模块的大多数应用的可编程性的增大的开销,它们的成本也快速增加。许多这些大型电路模块,如通用输入/输出(IO)或多千兆位串行收发器(MGT),不需要新工艺技术具有的益处。因此,传统的单片架构不再满足市场的成本要求,这导致了封装内系统(SiP)器件的发展。然而,大多数SiP解决方案依赖于先进的封装技术,例如使用昂贵的中介层(interposer)或复杂的三维裸片堆栈。因此,这些SiP解决方案的额外成本限制了低产量的高端或利基(niche)应用的优势。
发明内容
描述了用于提供有源接有源(active-by-active)可编程器件的技术。在一个示例中,集成电路(IC)系统包括封装衬底,其具有安装在其上的可编程集成电路(IC)裸片和配套IC裸片,可编程IC裸片包括可编程结构,并且配套IC裸片包括应用电路。IC系统还包括封装内系统(SiP)桥,其包括设置在可编程IC裸片中的第一SiP IO电路、设置在配套IC裸片中的第二SiP IO电路,以及在封装衬底上使第一SiP IO电路和第二SiP IO电路电耦接的导电互连。IC系统还包括被耦接在可编程结构和第一SiP IO电路之间的可编程IC裸片中的第一聚合电路(aggregation circuit)和第一分散电路(dispersal circuit)。IC系统还包括被耦接在应用IO和第二SiP IO电路之间的配套IC裸片中的第二聚合电路和第二分散电路。
在另一示例中,可编程集成电路(IC)包括通过外部导电互连耦接到配套IC的封装内系统(SiP)输入/输出(IO)电路;包括不具有至少一部分应用电路的可编程结构;还包括在可编程结构和SiP IO电路之间耦接的聚合电路和分散电路。
在另一示例中,从IC系统中的可编程集成电路(IC)传输数据的方法包括通过可编程IC中的聚合电路的多个通道将数据耦接到第一封装内系统(SiP)IO电路。该方法还包括通过可编程IC和配套IC之间的较少数量的物理通道发送来自多个通道的数据。该方法还包括在配套IC中的第二SiP IO电路处从多个物理通道接收数据。该方法还包括通过配套IC中的分散电路的多个通道将来自第二SiP IO电路的数据耦接到配套IC中的应用电路。该方法还包括从应用IO电路发送数据。
在另一示例中,描述了用于为可编程集成电路提供系统级互连环的技术。在一个示例中,可编程集成电路(IC)包括可编程结构,其具有可编程互连和与可编程结构的至少一个边缘相邻的引线轨道。可编程IC还包括与可编程结构的至少一个边缘集成的至少一个环节点,该至少一个环节点被耦接在可编程互连和引线轨道之间。可编程IC还包括被耦接到引线轨道的封装内系统(SiP)输入/输出(IO)电路。
在另一示例中,集成电路(IC)系统包括封装衬底,其具有被安装在其上的可编程集成电路(IC)裸片和配套IC裸片,可编程IC裸片包括可编程结构和配套IC,配套IC包括应用电路。IC系统还包括封装内系统(SiP)桥,其包括设置在可编程IC裸片中的第一SiP IO电路、设置在配套IC裸片中的第二SiP IO电路,以及在封装衬底上电耦接第一SiP IO电路和第二SiP IO电路的导电互连。可编程IC裸片包括可编程结构,其具有可编程互连、与可编程结构的至少一个边缘相邻的引线轨道,以及与至少一个边缘集成的至少一个环节点,所述引线轨道被耦接到第一SiP IO电路,所述至少一个环节点被耦接在可编程互连和引线轨道之间。
在另一示例中,从IC系统中的可编程集成电路(IC)发送数据的方法包括将数据耦接到与可编程IC的可编程结构的边缘集成的环节点,该环节点被耦接在可编程结构的可编程互连和与边缘相邻的引线轨道之间。该方法还包括通过引线轨道的多个通道将来自环节点的数据耦接到第一封装内系统(SiP)IO电路。该方法还包括通过可编程IC和配套IC之间的较少数量的物理通道发送来自多个通道的数据。
参考以下详细描述可以理解这些和其他方面。
附图说明
为使上述特征能以更详细的方式被理解,对上文概述内容的具体描述可以通过参考具体实施例获得,,其中一些实施例在附图中示出。然而,应当注意的是,附图仅示出了典型的示例性实施例,因此不应视为限制其范围。
图1是描绘根据一个示例的集成电路(IC)系统的框图。
图2是根据一个示例的多芯片模块(MCM)的横截面。
图3示出了示例性现场可编程门阵列(FPGA)架构。
图4是描绘根据另一示例的IC系统的框图。
图5是描绘根据一个示例的图4的IC裸片的更详细视图的框图。
图6是描绘根据一个示例的封装内系统(SiP)堆栈(stack)的框图。
图7是根据一个示例更详细地描绘数据链路层的框图。
图8是描绘根据一个示例的SiP桥的数据链路层内的仲裁方法的流程图。
图9是描绘根据另一示例的SiP桥的数据链路层内的仲裁方法的流程图。
图10是描绘根据一个示例的从IC系统中的可编程IC发送数据的方法的流程图。
图11是描绘根据一个示例的向IC系统中的可编程IC接收数据的方法的流程图。
图12是描绘根据示例性实施例的物理层逻辑的框图。
图13是描绘根据一个示例的系统级互连与可编程结构的水平边缘的集成的框图。
图14是描绘根据一个示例的系统级互连与可编程结构的垂直边缘的集成的框图。
图15是描绘根据一个示例的系统级互连的环子节点的框图。
图16A到16F示出了示例性系统级互连环(SIR)的实施例。
图17是描绘根据示例的从IC系统中的可编程IC发送数据的方法的流程图。
为了便于理解,在可能的情况下,使用相同的附图标记来表示附图中共有的相同元件。能够预期的是,一个示例的元件可有利地并入其他示例中。
具体实施方式
在下文中参考附图描述了各种特征。应当注意的是,附图可以按比例或不按比例绘制,并且在所有附图中相似结构或功能的元件由相同的附图标记表示。应当注意,附图仅旨在便于描述特征。它们并非旨在作为对要求保护的发明的穷尽描述,或作为对要求保护的发明的范围的限制。另外,所阐述的示例不需要具有示出的所有方面或优点。结合特定示例描述的方面或优点不必限于该示例,并且即便未如此示出,或者如果没有如此明确地描述,也可以在任何其他示例中实践。
如下描述了一种有源接有源(active-by-active)可编程器件。在示例中,基于封装内系统(SiP)的可编程器件采用多芯片模块(MCM)封装。MCM封装包括可编程集成电路(IC),例如现场可编程门阵列(FPGA),以及设置在封装衬底上的一个或多个配套集成电路(IC)器件。可编程IC和配套IC被并排设置在封装衬底上(例如,有源接有源)。可编程IC与每个配套IC器件之间的连接使用高带宽SiP桥来实施。SiP桥可以使用少量导线实施,从而使得可以使用MCM封装而不是昂贵的中介层。将要从一个器件发送到另一个器件的数据聚合到一个集合带宽中,并通过SiP桥传送。在SiP桥上接收的聚合数据通过系统分散机制传送到目的地。在本文描述的示例中,使用包括至少物理层和数据链路层的协议栈来实施SiP桥。也可以使用更高的层,例如传输层。物理层可以是满足本文详述的特定要求的任何超短距离(USR)串行器/解串器(SerDes)技术。如本文进一步描述的,数据链路层以避免目的地拥塞的方式被配置为跨越可用的物理通道对聚合数据进行时分复用。每个器件可以包括系统级互连,以便于在应用电路和SiP桥之间聚合和分散数据。
在示例中,配套IC裸片包括SiP器件的一些或全部应用输入/输出(IO)电路。因此,可以在没有这种应用IO电路的情况下构造可编程IC。从可编程IC中移除应用IO电路可以释放裸片面积以供其他电路使用。此外,可编程IC可以使用较新的工艺技术制造,以利用较新的工艺技术特征,而具有应用IO电路的配套IC可以使用较旧的、较便宜的工艺技术制造。因此,整体解决方案将以更低的成本提供相同的功能。可编程IC和配套IC器件通过SiP桥连接。每个可编程IC和配套IC器件包括确定SiP桥端点的SiP IO电路。每个可编程IC和配套IC可以包括系统级互连,以在应用电路和SiP IO电路之间提供数据的聚合和分散。用于可编程IC的系统级互连的一个示例是系统级互连环(SIR)。如本文进一步描述的,SIR考虑到可编程结构的最小增强和用于实施可编程IC的电路的设计工具。参考以下附图可以理解这些和其他方面。
图1是描绘根据一个示例的集成电路(IC)系统100的框图。IC系统100包括被耦接到IC裸片103的IC裸片101。在一个示例中,IC裸片101和IC裸片103是形成封装内系统(SiP)的多芯片模块(MCM)的一部分。IC裸片101包括应用电路105、聚合电路110、分散电路112和SiP输入/输出电路(SiP IO 140)。在一个示例中,应用电路105包括各种组件,例如一个或多个处理元件(PE 102)、存储器(Mem 104)、支持电路(SC 106)和输入/输出电路(IO 108)。在其他示例中,可以从应用电路105中省去组件102-108中的一个或多个。应用电路105的组件102到108中的每一个可以被耦接到聚合电路110和分散电路112。或者,组件102-108中的一个或多个可以仅仅被耦接到聚合电路110或分散电路112中的一个。聚合电路110和分散电路112的每个都被耦接到SiP IO 140的内部接口。
在一个示例中,SiP IO 140实施了具有传输逻辑114、数据链路逻辑116和物理逻辑118的多路复用IO逻辑。在所示的示例中,多路复用IO逻辑完全在SiP IO 140内实施。在其他示例中,多路复用IO逻辑的给定层或其一部分可以在应用电路105中实施。在一个示例中,传输逻辑114在应用电路105中实施,数据链路逻辑116和物理逻辑118在SiP IO 140中实施。在一个示例中,数据链路逻辑116的仲裁部分在应用电路105中实施,用于数据链路逻辑116的复用逻辑在SiP IO 140中实施。
IC裸片103可以包括与IC裸片101类似的电路。在图1所示的示例中,IC裸片103包括应用电路107、聚合电路126、分散电路128和SiP IO 142。在一个示例中,应用电路107包括各种组件,例如PE 120、存储器(Mem 132)、支持电路(SC 134)和输入/输出电路(IO136)。在其他示例中,可以从应用电路107中去除组件130-136中的一个或多个。应用电路107的组件130至136中的每一个可以被耦接到聚合电路126和分散电路128。或者,组件130-136中的一个或多个可以仅仅被耦接到聚合电路126或分散电路128中的一个。聚合电路126和分散电路128均被耦接到SiP IO 142的内部接口。类似于SiP IO 140,SiP IO 142实施具有传输逻辑124、数据链路逻辑122和物理逻辑120的多路复用IO逻辑。在所示的示例中,多路复用IO逻辑完全在SiP IO 142内实施。在其他示例中,如上述关于IC裸片101所描述的,多路复用IO逻辑的给定逻辑层或其一部分可以在应用电路107中实施。
IC裸片101和IC裸片103通过SiP桥144耦接。SiP桥144包括SiP IO 140、SiP IO142和信号路径138。SiP IO 140的外部接口通过信号路径138被耦接到SiP IO 142的外部接口。物理逻辑118/120实施SiP桥144的物理层并支持多个物理通道。数据链路逻辑116/122实现SiP桥144的数据链路层并支持SiP桥144的每一侧上的多个通道(称为聚合通道和分散通道)。传输逻辑114/124实施SiP桥144的传输层。可以采用各种传输层,包括无连接(connection-less)或基于连接(connection-based)的传输层。传输层可以提供本领域中已知的封包、解包、纠错、数据包排序等。
应用电路105可以包括被耦接到聚合电路110的通道的多个输出。聚合电路110选择性地将应用电路105的输出耦接到SiP IO 140的内部输入(称为源端口)中。例如,SiP IO140可以包括被耦接到聚合电路110的M个聚合通道的M个源端口,其中M是正整数。聚合电路110可以通过M个聚合通道选择性地将应用电路105的输出耦接到SiP IO 140的M个源端口。SiP IO 140可以包括K个外部输出,其驱动在信号路径138上实施的K个物理通道,其中K是正整数。在一个示例中,K小于M并且SiP IO 140在K个外部输出中多路复用M个源端口。SiPIO 142可以包括从K个物理通道接收的K个外部输入。SiP IO142在N个内部输出之间对K个外部输入进行解复用,其中N是正整数(称为目的端口)。在一个示例中,N大于K。分散电路128通过N个分散通道选择性地将SiP IO 142的N个目的端口耦接到应用电路107的输入中。
同样地,应用电路107可以包括被耦接到聚合电路126的聚合通道的多个输出。聚合电路126选择性地将应用电路107的输出耦接到SiP IO 142的源端口中。例如,SiP IO142可以包括被耦接到聚合电路126的N'个聚合通道的N'个源端口,其中N'是正整数。聚合电路126可以通过N'个聚合通道选择性地将应用电路107的输出耦接到SiP IO 142的N'个源端口。SiP IO 142可以包括K'个外部输出,其驱动在信号路径138上实施的K'个物理通道,其中K'是正整数。在一个示例中,K'小于N',并且SiP IO 142在K'个外部输出中多路复用N'个源端口。SiP IO 140可以包括从K'个物理通道接收的K'个外部输入。SiP IO 140在M'个目的端口之间对K'个外部输入进行解复用,其中M'是正整数。在一个例子中,M'大于K'。分散电路112通过M'个分散通道选择性地将SiP IO 140的M'个目的端口耦接到应用电路105的M'个输入中。
在一些示例中,K=K'使得SiP桥144在IC裸片101和IC裸片103之间的每个方向上支持相同数量的物理通道。为了从IC裸片101发送数据,聚合电路110将应用电路105的输出聚合成M个聚合通道,并且SiP IO 140在K个物理通道上复用M个聚合通道。为了在IC裸片103处接收数据,SiP IO 142将K个物理通道解复用为N个通道,并且分散电路128将N个分散通道分散到应用电路107的输入。同样,为了从IC裸片103发送数据,聚合电路126将应用电路107的输出聚合成N'个聚合通道,并且SiP IO 142在K'个物理通道上复用N'个聚合通道。为了在IC裸片101处接收数据,SiP IO 140将从K'个物理通道接收的K'个通道解复用为M'个分散通道,并且分散电路112将M'个分散通道分散到应用电路105的输入。在一些示例中,M=M'且N=N',使得聚合电路110和分散电路112向应用电路105提供总共2*M个通道,并且聚合电路126和分散电路128向应用电路107提供总共2*N个通道。在一些示例中,M=M'=N=N'。
在一个示例中,应用电路105和应用电路107通过SiP桥144交换封包数据。传输逻辑114将应用电路105的输出封包到每个包括w比特的数据包中,其中w是正整数。传输逻辑114还对从分散电路112接收的数据进行解包。传输逻辑124可以与传输逻辑114起类似作用。
数据链路逻辑116将聚合电路110的输出组织成多个聚合通道(例如,M个聚合通道),其中每个聚合通道为w比特宽,以提供w比特数据包。也就是说,聚合电路110包括多通道输出。同样,数据链路逻辑116将分散电路112的输入分成多个分散通道(例如,M'个分散通道),其中每个分散通道为w比特宽,以接收w比特数据包。也就是说,分散电路112包括多通道输入。数据链路逻辑116维护每个聚合通道的发送队列。数据链路逻辑116在发送队列之间进行仲裁,以通过物理逻辑118选择要在可用物理通道上发送的数据包。数据链路逻辑116还将物理通道解复用到分散电路112的可用分散通道中。数据链路逻辑122可以与数据链路逻辑116起类似作用。
物理逻辑118可以将可用输出物理通道中的数据包串行化,以作为信号路径138上的信号进行发送。物理逻辑118还可以将从信号路径138接收的信号解串行化为可用的输入物理通道。物理逻辑120可以与物理逻辑118类似地工作。
在一个示例中,应用电路105可以直接通过一个或多个直接信号路径146耦接到应用电路107。也就是说,IC裸片101和IC裸片103之间可以存在一些不通过SiP桥144的通信。此外,IC裸片101可以包括外部接口147,其可以用于向其他外部电路发送和接收信号,以及接收电源和接地。同样,IC裸片103可以包括外部接口148,其可以用于向其他外部电路发送和接收信号,以及接收电源和接地。
在图1所示的示例中,IC裸片101包括从一个SiP桥到另一个IC裸片的SiP IO。在其他示例中,IC裸片可以包括从多个SiP桥到多个IC裸片的多个SiP IO。在这样的实施例中,IC裸片可以包括聚合和分散电路的多个实例,以将其中的应用电路耦接到多个SiP桥。
图2是根据一个示例的MCM 200的横截面。MCM 200可以实施上述IC系统100。MCM200包括被安装在封装衬底202上的IC裸片101和IC裸片103。IC裸片101通过触点214被电和机械地耦接到封装衬底202。IC裸片103通过触点216被电和机械地耦接到封装衬底202。触点214和触点216可以是焊球、焊料凸块等。封装衬底202包括被设置在IC裸片101和IC裸片103所安装的表面处或附近的导电互连208。封装衬底202包括被设置在相对表面处或附近的导电互连206。导电互连208和导电互连206均包括具有特定图案的一个或多个金属层。IC裸片101的一些触点214被电耦接到导电互连208。IC裸片103的一些触点216被电耦接到导电互连208。触点214中的其他触点通过通孔218被电耦接到导电互连206。触点216中的其他触点通过通孔220被电耦接到导电互连206。导电互连206被电耦接到触点204。触点204可以是焊球,焊料凸点等。
触点204包括MCM 200的外部引脚。MCM 200可以被安装到电路板上。电路板上的导体可以通过封装衬底202的触点204被电耦接到IC裸片101和IC裸片103。在MCM 200内,IC裸片101通过导电互连208被电耦接到IC裸片103。为了实施上述IC系统100,导电互连208被图案化(patterned)以在IC裸片101和IC裸片103之间形成信号路径138。在一个示例中,导电互连208也被图案化以形成专用信号路径146(如果存在的话)。SiP IO 140的外部接口通过一些触点214被耦接到形成在导电互连208中的信号路径138。同样地,SiP IO 142的外部接口通过一些触点216被耦接到形成在导电互连208中的信号路径138。
在一个示例中,IC裸片101和IC裸片103中的至少一个包括可编程IC,例如现场可编程门阵列(FPGA)等。图3示出了FPGA架构300,其包括大量不同的可编程片,可编程片包括多千兆位收发器(“MGT”)301、可配置逻辑块(“CLB”)302、随机存取存储器块(“BRAM”)303、输入/输出块(“IOB”)304、配置和时钟逻辑(“CONFIG/CLOCKS”)305、数字信号处理块(“DSP”)306、专用输入/输出块(“I/O”)307(例如,配置端口和时钟端口)、以及其他可编程逻辑308,例如数字时钟管理器、模数转换器、系统监视逻辑等。一些FPGA还包括专用处理器块(“PROC”)310。
在一些FPGA中,每个可编程片可包括至少一个可编程互连元件(“INT”)311,其具有到相同片内的可编程逻辑元件的输入和输出端320的连接,如图3顶部包括的示例所示。每个可编程互连元件311还可以包括到相同片或其他片中的相邻可编程互连元件的互连段322的连接。每个可编程互连元件311还可以包括到互连逻辑块(未示出)之间的通用布线资源的互连段324的连接。通用布线资源可以包括逻辑块(未示出)之间的布线通道,其包括互连段(例如,互连段324)的轨道和用于连接互连段的开关块(未示出)。通用布线资源的互连段(例如,互连段324)可以跨越一个或多个逻辑块。可编程互连元件311与通用布线资源一起实施用于所示FPGA的可编程互连结构(“可编程互连”)。
在一个示例性实施例中,CLB 302可以包括可被编程为实施用户逻辑的可配置逻辑元件(“CLE”)312和单个可编程互连元件(“INT”)311。除了一个或多个可编程互连元件之外,BRAM 303还可以包括BRAM逻辑元件(“BRL”)313。通常,片中包括的互连元件的数量取决于片的高度。在图示的示例中,BRAM片具有与五个CLB相同的高度,但是也可以是其他数量(例如,四个)的高度。除了适当数量的可编程互连元件之外,DSP片306还可以包括DSP逻辑元件(“DSPL”)314。除了可编程互连元件311的一个实例之外,IOB 304还可以包括例如输入/输出逻辑元件(“IOL”)315的两个实例。如本领域技术人员所清楚了解的,被连接到例如I/O逻辑元件315的实际I/O焊盘通常不限于输入/输出逻辑元件315的区域。
在图示的示例中,靠近裸片中心的水平区域(如图3所示)用于配置、时钟和其他控制逻辑。从该水平区域或列延伸的垂直列309用于在FPGA的宽度上分布时钟和配置信号。
一些利用图3所示架构的FPGA包括额外的逻辑块,这些逻辑块会打乱构成FPGA大部分的常规列状结构。附加逻辑块可以是可编程块和/或专用逻辑。例如,处理器块310跨越几列CLB和BRAM。处理器块310可以是从单个微处理器到由微处理器、存储器控制器、外围设备等组成的完整可编程处理系统的各种组件。
需要注意的是图3旨在仅仅示出示例性FPGA架构。例如,一行中的逻辑块的数量、行的相对宽度、行的数量和顺序、行中包括的逻辑块的类型、逻辑块的相对大小以及包括在图3顶部的互连/逻辑实施纯粹是示例性的。例如,在实际FPGA中,通常在CLB出现的任何地方包括多于一个相邻行的CLB,以助于用户逻辑的有效实施,但是相邻CLB行的数量随FPGA的总体大小而变化。
在一个示例中,IC裸片101包括具有FPGA架构300的可编程结构。因此,IC裸片101还包括SiP IO 140和系统级互连350。系统级互连350包括聚合电路110和分散电路112。在示例中,系统级互连350包括系统级互连环(SIR)。下文描述SIR的各种示例。通常,系统级互连350提供可编程结构和SiP IO 140之间的接口。在示例中,系统级互连350可以以与可编程结构类似的方式配置(例如,通过加载配置比特流)。在其他示例中,系统级互连350可以在IC裸片101的运行期间被动态编程。
在一个示例中,SiP IO 140提供IO接口,在可编程结构中配置的电路可以用于通过SiP桥144与IC裸片103通信。电路可以使用FPGA架构300的应用IO,例如IOB 304、MGT301、以及任何其他IO(例如,存储器IO、定制IO等),用于到其他外部电路的附加IO。在图3的示例中,FPGA架构300包括SiP IO 140和应用IO。
在下文更详细描述的其他示例中,应用IO的至少一部分可以被布置在FPGA外部,例如在MCM的配套IC中。例如,具有FPGA架构的IC裸片101可以仅用SiP IO 140构建。也就是说,从FPGA架构300中移除IOB 304和MGT 301。所有应用IO可以被设置在IC裸片103中。IC裸片101中的可编程结构可以使用SiP桥144访问IC裸片103中的应用IO。在一些示例中,具有FPGA架构的IC裸片101除了SiP IO之外还可以包括一些专用IO,例如配置IO、JTAG IO等。该专用IO用于编程和/或测试FPGA,而不用作可编程结构中配置的电路的应用IO。
图4是描绘根据另一示例的IC系统400的框图。图4中的元件与图1和图3中的相同或相似并用相同的标号表示。在IC系统400中,IC裸片101A是具有被耦接到系统级互连350的可编程结构404的FPGA裸片。IC裸片103A是包括应用IO 107A的专用集成电路(ASIC)裸片(也称为“配套IC”)。虽然IC裸片103A被描述为具有应用IO 107A,但是通常,IC裸片103A可以包括应用电路,其可以包括IO电路和/或其他类型的电路。系统级互连350被耦接到SiPIO 140A的内部接口。系统级互连350执行上述聚合电路110和分散电路112的功能。SiP IO140A类似于上述的SiP IO 140,但不具有传输逻辑114和数据链路逻辑116的一部分。相反,传输逻辑114在可编程结构404中实施。例如,可编程结构404可以由诸如PE 102的电路配置为可以实现传输逻辑114的电路。PE 102可以耦接并使用存储器104(例如,BRAM 303)和/或支持电路106(例如,DSP 306)。在另一示例中,PE 102、存储器104和支持电路106还可以实现用于数据链路逻辑116的仲裁逻辑406。SiP IO 140A包括数据链路逻辑116和物理逻辑118的复用逻辑。在另一示例中,可编程结构404可以实施仲裁逻辑406和传输逻辑114。
在图4的示例中,系统级互连350被示为围绕可编程结构404的所有四个边的环。可编程结构404在其顶部、底部、左侧和右侧被耦接到系统级互连350。在下文进一步讨论的其他示例中,系统级互连350可以具有其他形式,例如SIR的不同实施。在另一示例中,系统级互连350可以包括片上网络(NoC)等。
在示例中,可编程结构404不包括任何应用IO。相反,IC裸片103A中的应用IO 107A包括应用IO,例如IOB 304、MGT 301和任何其他IO 402(例如,存储器IO、定制IO等)。应用IO107A被耦接到聚合电路126和分散电路128。可编程结构404中配置的电路可以通过系统级互连305和SiP桥144与应用IO 107A交换数据。在一些示例中,IC裸片101A还包括专用IO108,例如配置IO、JTAG IO等。该专用IO 108中的一些或全部也可以被耦接到IC裸片103A。
图5是描绘根据示例的IC裸片104A的更详细视图的框图。特别地,可编程结构404被示为包括九个结构子区域(FSR)508A、508B、...,508I(统称为FSR 508)。通常,可编程结构404可包括任何数量的FSR。每个FSR 408包括多列CLB、BRAM、DSP等,类似于图3中所示的可编程结构。此外,FSR 508中的每一个包括零个或多个环节点(RN)504。结构中心的FSR508(例如,FSR 508E)不包括任何RN 504。沿着结构的内边缘的FSR 508包括一个RN 504(例如,FSR 508B、508D、508F和508H)。在结构的角落处的FSR 508包括两个RN 504。每个RN 504包括多个环子节点(RSN)506。如下文进一步描述的,RN 504移除了相应FSR 508中的一些结构组件。
RN 504被耦接到引线轨道502。在本示例中,引线轨道502围绕可编程结构404形成环。如下文所述,可以采用其他互连结构。RN 504和引线轨道502一起形成可以实现系统级互连350的系统级互连。在示例中,系统级互连支持两个通道组,一组用于从结构发送数据,一组用于接收数据到结构。例如,引线轨道502可以配置成256个轨道,使得接收通道组和传输通道组每个具有128个轨道的宽度。当然,引线轨道502可以配置为多于或少于256个轨道。每个RN 504被耦接到引线轨道502。每个RN 504包括路由开关,其在可编程结构404和系统级互连之间提供双向接口。通过对RN 504进行编程,在可编程结构404中配置的电路可以被耦接到特定的引线轨道502。RN 504可以使用被加载到FPGA中的配置数据来编程,或者在FPGA的运行期间动态地编程。
每个RSN 506包括RN 504的可重复部分。例如,如果引线轨道(wire track)502被配置成256个轨道,则RN 504可以包括8个RSNs 506,并控制32个线轨。当然,RN 504可以包括更多或更少的RSNs 506,并且RSN 506可以控制多于或少于32个线路轨道。每个RSN 506可以具有相同的布局,而不管它是沿着可编程结构404的水平边缘的RN 504的一部分还是沿着可编程结构404的垂直边缘的RN 504的一部分。以这种方式,用于设计用于在FPGA中实现的电路的设计工具不必区分沿水平边缘的RNs 504和沿垂直边缘的RNs 504。下面描述RSN 506的示例结构。
图6是描绘根据示例的SiP堆栈(stack)601和603的框图。SiP堆栈601可以是SiPIO的一部分(例如,SiP IO 140或140A),并且SiP堆栈603可以是另一个SiP IO的一部分(例如,SiP IO 142或142A)。为了清楚起见,未示出传输逻辑114/124。
SiP堆栈601包括数据链路电路602和物理电路604。SiP堆栈603包括实现数据链路逻辑的数据链路电路608和实现物理逻辑的物理电路606。物理电路604和606形成物理层。数据链路电路602和608形成数据链路层。
在该示例中,SiP堆栈601包括M*w源端口和M*w目的端口。数据链路电路602的源端口和目的端口分别耦接到聚合电路110和分散电路112(例如,系统级互连350)。数据链路电路602包括K*w外部输出和K*w外部输入。数据链路电路602的外部输出和外部输入耦接到物理电路604。物理电路604通过信号路径138耦接到物理电路606。根据物理层,信号路径138可以包括大约2*K个信号路径。数据链路电路608包括K*w外部输入和K*w外部输出。数据链路电路608的外部输入和输出耦接到物理电路606。数据链路电路608包括N*w个目的端口和N*w个源端口。数据链路电路608的源端口和目的端口分别耦接到聚合电路126和分散电路128。
在运行中,数据链路电路602将宽度为w的M个聚合通道复用为宽度为w的K个物理通道。物理电路604将K个物理通道上的数据包串行化到信号路径138上。物理电路606将来自信号路径138的信号反串行化为宽度为w的K个物理通道。数据链路电路608将K个物理通道解复用为宽度为w的N个分散通道。当从数据链路电路608发送到数据链路电路602(即,反向)时的操作是相同的。
图7是根据示例更详细地描绘数据链路层的框图。在图7的示例中,M=N=3并且K=2。数据链路电路602包括发送队列702-1到702-3(统称为发送队列702),多路复用器704-1和704-2(统称为多路复用器704)和仲裁逻辑406。数据链路电路608包括多路复用器706-1到706-3(统称为多路复用器706)。发送队列702-1到702-3的输入分别耦接到源端口708-1到708-3(统称为源端口708)。多路复用器706-1到706-3的输出分别耦接到目的端口710-1到710-3(统称为目的端口710)。多路复用器704的控制输入耦接到仲裁逻辑406的输出。仲裁逻辑406的输入耦接到发送队列702的输出。在一个示例中,仲裁逻辑406与SiP IO分开实现,例如在可编程结构404中。
在运行中,仲裁逻辑406控制多路复用器704,使得在K个物理通道上发送的数据包不存在目的地冲突。发送的每个数据包包括目的端口。仲裁逻辑406执行仲裁算法以确保在K个物理通道上并行发送的两个数据包不具有相同的目的端口。下面描述示例仲裁算法。
图8是描绘根据一个示例的SiP桥的数据链路层内的仲裁方法800的流程图。方法800可以由仲裁逻辑406执行。方法800开始于步骤802,其中仲裁逻辑406将所有目的端口标记为未使用。在图7的示例中,目的端口包括输出710-1到710-3。通常,可以有N个目的端口,每一个用于相应分散电路的每个输入通道。
在步骤804,仲裁逻辑406选择用于调度的多路复用器。在图7的示例中,有两个多路复用器704-1和704-2由仲裁逻辑406调度。通常,可以有K个多路复用器704,每个物理通道一个。
在步骤806,仲裁逻辑406识别准备发送的每个发送队列的目的端口。在图7的示例中,存在三个发送队列702-1到702-3。通常,可以存在M个发送队列,一个用于相应聚合电路的每个输出通道。如果发送队列不为空,则仲裁逻辑406可以认为发送队列已准备好发送。每个发送队列702存储具有特定目的端口的一个或多个数据包。仲裁逻辑406解析数据包以识别目的端口。
在步骤808,仲裁逻辑406调度一个或多个以未使用的目的端口为目标的发送队列以进行发送。在示例中,可以使用最大匹配算法的变形来并行地进行调度。如果发送队列包括用于瞄准所使用的目的地端口的数据包,则仲裁逻辑406保持发送队列。在步骤810,仲裁逻辑406将所识别的目的端口标记为正在使用。在步骤812,仲裁逻辑确定是否还有更多的多路复用器要调度。如果是这样,则方法800返回到步骤804并选择下一个多路复用器。否则,方法800返回到步骤802并将所有目的地端口标记为未使用。这样,仲裁逻辑406对要调度的每个多路复用器(例如,每个多路复用器704)执行步骤804-812。仲裁逻辑406针对多个调度轮(scheduling round)执行步骤802到812。以这种方式,仲裁逻辑406生成并实施用于控制多路复用器704的调度,使得多路复用器704多路复用发送队列702的输出,使得通过物理通道并行发送的数据包具有不同的目的端口并且在多路复用706处不存在拥塞或冲突。
图9是描绘根据另一示例的SiP桥的数据链路层内的仲裁方法900的流程图。方法900可以由仲裁逻辑406执行。方法900与方法800的不同之处在于仲裁逻辑406向每个发送队列702分配权重,并且除了管理目的端口冲突之外,还基于权重从物理通道中选择来自发送队列的数据包以进行发送。
方法900开始于步骤902,其中仲裁逻辑406将所有目的地端口标记为未使用。在图7的示例中,目的端口包括输出710-1到710-3。通常,可以有N个目的端口,每个目的端口用于一个相应分散电路的输入通道。
在步骤904,仲裁逻辑406基于分配的权重更新每个发送队列的不足计数(deficitcount)。也就是说,仲裁逻辑406可以向每个发送队列分配权重。某些发送队列可以比其他发送队列具有更多权重(更高优先级)。不足计数用于控制在调度期间在给定时间从给定发送队列中选择多少数据包。
在步骤906,仲裁逻辑406选择用于调度的多路复用器。在图7的示例中,有两个多路复用器704-1和704-2由仲裁逻辑406调度。通常,可以有K个多路复用器704,每个物理通道对应一个。
在步骤908,仲裁逻辑406选择发送队列(例如,发送队列702之一)。在步骤910,仲裁逻辑406确定所选择的发送队列中的数据包的目标目的端口是否未被使用。如果不是,则方法900返回到步骤908,并且仲裁逻辑406选择下一个发送队列。否则,方法900前进到步骤912。
在步骤912,仲裁逻辑406将所识别的目的端口标记为正在使用中。在步骤914,仲裁逻辑406调度所选择的发送队列以进行发送直到空或直到相应的不足计数满足阈值。相比较低的不足计数,较高的不足计数允许从给定的发送队列中选择更多的数据包。
在步骤916,仲裁逻辑406确定所选择的发送队列是否为空。如果是,则方法900前进到步骤918,其中仲裁逻辑406将所选发送队列的不足计数重置为初始值。如果所选择的发送队列不为空,则方法900转而进行到步骤920。
在步骤920,仲裁逻辑406确定在该次迭代中是否还有更多的发送队列要处理。如果已经处理了所有发送队列,则方法900前进到步骤922。否则,方法900返回到步骤908并选择下一个发送队列。在步骤922,仲裁逻辑406确定是否还有更多的多路复用器被调度。如果是,则方法900返回到步骤906并选择下一个多路复用器。否则,方法900返回到步骤902并将所有目的端口标记为未使用。这样,仲裁逻辑406对要调度的每个多路复用器(例如,每个多路复用器704)执行步骤906-922。仲裁逻辑406在给定所选多路复用器的情况下为每个发送队列执行步骤908-920。仲裁逻辑406针对多个调度轮执行步骤902-922。以这种方式,仲裁逻辑406生成并实施用于控制多路复用器704的调度,使得多路复用器704多路复用发送队列702的输出,使得在物理通道上并行发送的数据包具有不同的目的端口,并且在多路复用器706处不存在拥塞或冲突。仲裁逻辑406还使用加权方案来考虑队列优先级和公平性。
图10是描绘根据一个示例的从IC系统中的可编程IC发送数据的方法1000的流程图。方法1000可以由IC裸片101执行,以从IC系统400的可编程结构404发送数据。方法1000开始于步骤1002,其中系统级互连350通过其聚合通道将数据耦接到SiP IO 140A。在示例中,可编程结构404包括传输逻辑114,其被配置为将数据分成数据包(步骤1004)。
在步骤1006,SiP IO 140A通过SiP桥144的较少数量的物理通道从聚合通道发送数据。例如,在步骤1008,数据链路逻辑116将来自聚合通道的数据排队到发送队列中。在步骤1010,数据链路逻辑116在物理通道之间多路复用发送队列,而仲裁逻辑406管理目的地冲突。在步骤1012,仲裁逻辑406还可以将权重分配给发送队列,并基于权重选择用于发送的数据包。
在步骤1014,IC裸片103中的SiP IO 142从SiP桥144接收数据。在步骤1016,分散电路128通过分散通道将来自SiP IO 142的数据耦接到应用IO 107A。在步骤1018,应用IO107A消费数据和/或将数据发送到外部电路。
图11是描绘根据一个示例的向IC系统中的可编程IC接收数据的方法1100的流程图。方法1100可以由IC裸片101执行以从应用电路107接收数据。方法1100开始于步骤1102,其中聚合电路126通过聚合通道将来自应用电路107的数据耦接到SiP IO 142。在示例中,SiP IO 142包括传输逻辑124,其被配置为将数据划分为数据包(步骤1104)。
在步骤1106,SiP IO 142通过SiP桥144的较少数量的物理通道发送来自聚合通道的数据。例如,在步骤1108,数据链路逻辑122将来自聚合通道的数据排队到发送队列中。在步骤1110,数据链路逻辑122在物理通道之间复用发送队列,同时管理目的地冲突。在步骤1112,数据链路逻辑122还可以将权重分配给发送队列,并基于权重选择用于发送的数据包。也就是说,数据链路逻辑122可以包括类似于仲裁逻辑406的仲裁逻辑。
在步骤1114,IC裸片101中的SiP IO 140A从SiP桥144接收数据。在步骤1116,系统级互连350通过分散通道将来自SiP IO 140A的数据耦接到可编程结构404。在步骤1118,可编程结构404消费数据。
图12是描绘根据一个示例性实施例的物理逻辑1200的框图。物理逻辑1200包括多个SerDes收发器1201,例如SerDes收发器1201-1到1201-K。每个SerDes收发器1201支持K个输出物理通道和K个输入物理通道。每个SerDes收发器1201包括并行接口1204,其包括多个信号线,例如信号线1204-1到1204-w。每个SerDes收发器1201包括串行接口1202。如上所述,并行接口1204被耦接到数据链路电路的外部端口。每个SerDes收发器1201被配置为串行化其并行输入或解串行化其串行输入。
如上所述,文中描述的IC系统可以使用满足某些要求的任何类型的USR SerDes技术。按优先级顺序考虑物理层的三个参数:(1)每个引脚的带宽;(2)每比特的功耗;(3)面积。可以为包括前两个因素的任何物理逻辑定义品质因数(FoM):FoM=(每个引脚的带宽)/(每比特的功耗)。在示例中,这里描述的物理逻辑可以包括大于或等于20(Gb/s)(pJ/bit)的FoM。
图13是描绘根据一个示例的系统级互连350与可编程结构404的水平边缘的集成的框图。在示例中,可编程结构404包括由互连元件311和CLE 312组成的结构。每个CLE 312包括片312L和片312M。CLE片312L和312M可以包括查找表(LUT)、多路复用器、触发器、组合逻辑等。互连元件311被配置为将CLE 312耦接到可编程互连(在上文图3中示出和描述)。
系统级互连350包括可编程结构404的水平边缘(水平结构边缘1308)和引线轨道502。水平结构边缘1308包括互连元件311A和RSN 506。每个RSN 506占据相当于一对CLE312L和312M的区域。每个RSN 506包括被耦接到引线轨道502的一部分的开关电路。具体地,每个RSN 506包括通过引线轨道502到相邻电路的顺时针(CW)链路1304。每个RSN 506还包括通过引线轨道502到相邻电路的逆时针(CCW)链路1302。相邻电路可以是另一个RN或SiPIO 140A中的RSN,这取决于RSN 506的位置。互连元件311A被配置为将RSN 506耦接到可编程结构404的可编程互连。
在示例中,引线轨道502包括256个轨道,如以上示例中所述。RSN 506在CW和CCW方向上被耦接到引线轨道502的一部分。例如,RSN 506可以在CW和CCW方向中的每一个方向上都被耦接到的32个引线轨道502上(例如,总共64个链路)。多个RSN 506组合以形成RN 504,其被耦接到所有引线轨道502。例如,如果RSN 506控制32个引线轨道,那么RN 504包括8个RSN 506。
如图13所示,可以将一组或多组RSN 506集成到可编程结构404中,以沿着水平边缘构建一个或多个RN 504。例如,可编程结构404的每个FSR 508可以包括一个RN 504。一部分CLE 312从结构边缘1308移除并由RSN 506的电路替换。移除可编程互连的一部分(例如,水平长导线)以容纳引线轨道502。
图14是描绘根据一个示例的系统级互连350与可编程结构404的垂直边缘的集成的框图。在该示例中,可编程结构404包括互连元件311和CLE 312的结构。每个CLE 312包括片312L和片312M。CLE片312L和312M可以包括查找表(LUT)、多路复用器、触发器、组合逻辑等。互连元件311被配置为将CLE 312耦接到可编程互连(在上文图3中示出和描述)。
系统级互连350包括可编程结构404(垂直结构边缘1408)的垂直边缘和引线轨道502。垂直结构边缘1408包括互连元件311A和RSN 506。每个RSN 506占据相当于一对CLE312L和312M的区域。每个RSN 506包括被耦接到引线轨道502的一部分的开关电路。特别地,每个RSN 506包括通过引线轨道502到相邻电路的CW链路1404。每个RSN 506还包括通过引线轨道502到相邻电路的CCW链路1402。根据RSN 506的位置,相邻电路可以是另一个RN或SiP IO 140A中的RSN。互连元件311A被配置为将RSN 506耦接到可编程结构404的可编程互连。
在一个示例中,引线轨道502可以包括256个轨道,如以上示例中所述。RSN 506在CW和CCW方向上被耦接到引线轨道502的一部分。例如,RSN 506可以在CW和CCW中的每一个方向上都被耦接到32个引线轨道502(例如,总共64个链路)。多个RSN 506组合以形成RN504,其被耦接到所有引线轨道502。例如,如果RSN 506控制32个引线轨道,则RN 504包括8个RSN 506。
如图14所示,可以将一组或多组RSN 506集成到可编程结构404中,以沿着垂直边缘构造一个或多个RN 504。例如,可编程结构404的每个FSR 508可沿其一个或两个垂直边缘包括一个RN 504。从垂直结构边缘1408移除一部分CLE 312并用RSN 506的电路替换。移除可编程互连的一部分(例如,垂直长导线)以容纳引线轨道502。
图15是描绘根据一个示例的RSN 506的框图。RSN 506包括仲裁器1502、缓冲器1504、触发器1506、触发器1508、缓冲器1510、缓冲器1512、触发器1514、多路复用器1516、多路复用器1518和多路复用器1520。缓冲器1510从左侧RSN接收16比特输入(例如,在相同的RN或相邻的RN中)。同样,缓冲器1504从右侧RSN(例如,在相同的RN或相邻的RN中)或从SiPIO 140接收16比特输入。缓冲器1510和缓冲器1504的输出被耦接到多路复用器1518的输入。多路复用器1518的输出被耦接到触发器1514的输入。触发器1514包括被耦接到互连元件311A的16比特输出。
缓冲器1512包括被耦接到互连元件311A的16比特输入。缓冲器1512的输出被耦接到多路复用器1520的输入和多路复用器1516的输入。多路复用器1520的另一输入被耦接到缓冲器1504的输出。多路复用器1516的另一输入被耦接到缓冲器1510的输出。多路复用器1520的输出被耦接到触发器1508的输入。多路复用器1516的输出被耦接到触发器1506的输入。触发器1508包括被耦接到左侧RSN的16比特输出。触发器1506包括被耦接到右侧RSN或SiP IO 140A的16比特输出。多路复用器1516、1518和1520的控制输入被耦接到仲裁器1502的输出。仲裁器1502的输入被耦接到缓冲器1504、1510和1512的输出。
在运行中,RSN 506使用缓冲器1512以缓冲来自可编程结构404并通过互连元件311A的输入。仲裁器1502将缓冲的输入路由到触发器1508或触发器1506。触发器1506通过CW链路被耦接到引线轨道502。触发器1508通过CCW链路被耦接到引线轨道502。触发器1506和1508寄存数据以便发送到相邻电路(例如,相邻的RSN或SiP IO 140A)。RSN 506还使用缓冲器1504和1510缓冲来自相邻电路(例如,相邻RSN或SiP IO 140A)的输入。缓冲器1504通过CCW链路被耦接到引线轨道502。缓冲器1510通过CW链路被耦接到引线轨道502。仲裁器1502将缓冲的输入从缓冲器1504或缓冲器1510路由到触发器1514。触发器1514通过互连元件311A向可编程结构404提供寄存的输出。由此,RSN 506实施16比特开关。在其他示例中,RSN 504可以实施宽度小于或大于16比特的开关。图15中所示的RSN 506的布局允许沿着可编程结构404的水平边缘或垂直边缘使用相同的RSN实施。
图16A到16F示出了系统级互连350的示例性SIR实施例。如图16A所示,引线轨道502包括围绕可编程结构404的轨道环。RN 504沿着可编程结构404的两个水平边缘和两个垂直边缘集成。引线轨道502被耦接在RN 504和SiP IO 140A之间。配置在可编程结构404中的电路1602可以通过沿任何边缘设置的任何RN 504被耦接到SiP IO 140A。
如图16B所示,引线轨道(引线轨道502A)的另一实施例包括围绕可编程结构的部分轨道环。在所示的示例中,引线轨道502A围绕可编程结构404的两个水平边缘和一个垂直边缘。在其他示例中,引线轨道502A可以围绕可编程结构404的两个垂直边缘和一个水平边缘。在其他示例中,引线轨道502A可以与一个垂直边缘和一个水平边缘相邻。引线轨道502A被耦接在RN 504和SiP IO 140A之间。配置在可编程结构404中的电路1604可以通过任何RN504被耦接到SiP IO 140A。
如图16C所示,引线轨道(引线轨道502B)的另一实施例包括与可编程结构404的一个水平边缘相邻的轨道。引线轨道502B被耦接在RN 504和SiP IO 140A之间。配置在可编程结构404中的电路1606可以通过任何RN 504被耦接到SiP IO 140A。
如图16D所示,引线轨道(引线轨道502C)的另一实施例包括与可编程结构404的一个垂直边缘相邻的轨道。引线轨道502C被耦接在RN 504和SiP IO 140A之间。配置在可编程结构404中的电路1608可以通过任何RN 504被耦接到SiP IO 140A。
如图16E所示,SIR的另一实施例包括两组引线轨道502A和502C。引线轨道502A与可编程结构404的一侧或多侧相邻(例如,如图所示两个水平侧和一个垂直侧)。引线轨道502C与可编程结构404的一侧或多侧相邻(例如,如图所示的一个垂直侧)。引线轨道502A被耦接在RN 504和SiP IO 140A之间。引线轨道502C被耦接在另一组RN 504和另一个SiP IO电路104B之间。配置在可编程结构404中的电路1610可以通过被耦接到引线轨道502A的任何RN 504而被耦接到SiP IO 140A。配置在可编程结构404中的电路1612可以通过被耦接到引线轨道502C的任何RN 504被耦接到SiP IO电路140B。
如图16F所示,SIR的另一实施例包括引线轨道502的网格(例如,引线轨道502-1到502-4)。每组引线轨道502围绕可编程结构404的一个或多个FSR 508。引线轨道502被互连形成网格。每个FSR 508包括沿其一个或多个边缘设置的RN 504。RN 504被耦接到相应的引线轨道502-1到502-4。引线轨道502的网格被耦接到SiP IO 140A。配置在任何FSR 508中的电路(未示出)可以通过一个或多个RN 504和一个或多个引线轨道502-1到502-4被耦接到SiP IO 140A。虽然示出了四个引线轨道环,但SIR可包括多于或少于四个引线轨道环。
图17是描绘根据示例的从IC系统中的可编程IC发送数据的方法1700的流程图。方法1700可以由IC裸片101执行,以从IC系统400发送来自可编程结构404的数据。方法1700开始于步骤1702,可编程结构中的电路将数据耦接到与可编程结构的边缘集成的环节点504。在步骤1703,环节点504通过引线轨道502的通道将数据耦接到SiP IO 140A。在示例中,可编程结构404包括传输逻辑114,传输逻辑114被配置为将数据划分成数据包(步骤1704)。
在步骤1706,SiP IO 140A通过SiP桥144的较少数量的物理通道从总线通道发送数据。例如,在步骤1708,数据链路逻辑116将来自总线通道的数据排队到发送队列中。在步骤1710,数据链路逻辑116在物理通道之间复用发送队列,而仲裁逻辑406管理目的地冲突。在步骤1712,仲裁逻辑406还可以将权重分配给发送队列,并基于权重选择用于发送的数据包。
在步骤1714,IC裸片103中的SiP IO 142从SiP桥144接收数据。在步骤1716,分散电路128通过分散通道将来自SiP IO 142的数据耦接到应用IO 107A。在步骤1718,应用IO107A将数据发送到外部电路。
以下是另外一些示例。
在示例中,可以提供集成电路(IC)系统,这样的系统可以包括:封装衬底,其具有可编程集成电路(IC)裸片和安装在其上的配套IC裸片,可编程IC裸片包括可编程结构,配套IC裸片包括应用电路;封装内系统(SiP)桥,其包括设置在可编程IC裸片中的第一SiP IO电路、设置在配套IC裸片中的第二SiP IO电路、以及封装衬底上将第一SiP IO电路与第二个SiP IO电路电耦接的导电互连;被耦接在可编程结构和第一SiP IO电路之间的可编程IC裸片中的第一聚合和第一分散电路;被耦接在应用IO和第二SiP IO电路之间的配套IC裸片中的第二聚合和第二分散电路。
在这种IC系统中,第一和第二SiP IO电路可以被配置为:分别将第一和第二聚合电路的多通道输出多路复用到在导电互连上实施的第一多个物理通道上;将来自在导电互连上实施的第二多个通道的输入分别多路解复用到第一和第二分散电路的多通道输入上。
在这种IC系统中,第一聚合电路和第一分散电路可以包括被耦接在可编程结构的可编程互连和SiP IO电路之间的系统级互连。
在这种IC系统中,系统级互连可以包括片上网络(NoC)。
在这种IC系统中,可编程IC裸片可以包括与配套IC裸片的直接连接,该直接连接与SiP桥分离。
在这种IC系统中,可编程IC裸片可以包括仲裁逻辑,并且第一SiP IO电路可以包括数据链路电路和收发器电路,其中:数据链路电路的内部接口可以被耦接到第一聚合电路和第一分散电路;数据链路电路的外部接口可以被耦接到收发器电路的内部接口;收发器电路的外部接口可以被耦接到导电互连;数据链路电路的控制接口可以被耦接到仲裁逻辑。
在这种IC系统中,仲裁逻辑可以在可编程IC裸片的可编程结构内实施。
在这种IC系统中,可编程IC裸片可以包括传输逻辑,所述传输逻辑被配置为将发送到所述第一聚合电路的数据封包并对从所述第一分散电路接收的数据进行解包。
在这种IC系统中,传输逻辑可以在可编程IC裸片的可编程结构内实施。
在另一个示例中,可以提供可编程IC。这种可编程IC可以包括:封装内系统(SiP)输入/输出(IO)电路,其被配置为通过外部导电互连耦接到配套IC;没有至少一部分应用电路的可编程结构;以及被耦接在可编程结构和SiP IO电路之间的聚合电路和分散电路。
在这种可编程IC中,聚合电路和分散电路可以包括被耦接在可编程结构的可编程互连和SiP IO电路之间的系统级互连。
在这种可编程IC中,系统级互连可以包括片上网络(NoC)。
在这种可编程IC中,可编程结构可以被直接连接到配套IC,该直接连接与SiP IO电路分离。
在这样的IC中,可编程结构可以被配置为实施仲裁逻辑,并且SiP IO电路可以包括数据链路电路和收发器电路,其中:数据链路电路的内部接口可以被耦接到聚合电路和分散电路;数据链路电路的外部接口可以被耦接到收发器电路的内部接口;收发器电路的外部接口可以被耦接到外部导电互连;数据链路电路的控制接口可以被耦接到仲裁逻辑。
在这样的可编程IC中,可编程结构可以被配置为实施传输逻辑,该传输逻辑将发送到聚合电路的数据封包并且对从分散电路接收的数据进行解包。
在另一示例中,可以提供一种从IC系统中的可编程IC传输数据的方法。该方法可以包括:通过可编程IC中的聚合电路的多个通道将数据耦接到第一封装内系统(SiP)IO电路;通过可编程IC和配套IC之间的较少数量的物理通道发送来自多个通道的数据;在配套IC中的第二SiP IO电路处从多个物理通道接收数据;并通过配套IC中的分散电路的多个通道将来自第二SiP IO电路的数据耦接到配套IC中的应用电路。
在一些这样的方法中,数据可以被分成数据包。
在一些这样的方法中,第二SiP IO电路可以包括被耦接到分散电路的相应多个通道的多个内部输出端口,并且每个数据包具有从多个内部输出端口之一中选择的目的端口。
在一些这样的方法中,发送步骤可以包括:在相应的多个发送队列中对来自聚合电路的多个通道的数据进行排队;多路复用多个物理通道之间的发送队列的输出,使得在多个物理通道上并行发送的数据包具有不同的目的端口。
在一些这样的方法中,多路复用步骤还可以包括:为多个发送队列中的每一个分配权重;并且基于权重从发送队列中选择用于在多个物理通道上发送传输的数据包。
在另一个示例中,可以提供可编程IC。这种可编程IC可以包括:具有可编程互连的可编程结构;与可编程结构的至少一个边缘相邻的引线轨道;与可编程结构的至少一个边缘集成的至少一个环节点,所述至少一个环节点被耦接在可编程互连和引线轨道之间;以及被耦接到引线轨道的封装内系统(SiP)输入/输出(IO)电路。
在这种可编程IC中,引线轨道与可编程结构的两个水平边缘和两个垂直边缘相邻,并且至少一个环节点可以包括与可编程结构的两个水平边缘和两个垂直边缘集成的多个环节点。
在这种可编程IC中,引线轨道可以与可编程结构的三个边缘相邻,并且至少一个环节点可以包括与可编程结构的三个边缘集成的多个环节点。
在这种可编程IC中,引线轨道可以包括第一引线轨道,至少一个环节点可以包括至少一个第一环节点,并且可编程IC还可以包括:与可编程结构的至少一个边缘相邻的第二引线轨道;与可编程结构的至少一个边缘集成在一起的至少一个第二环节点,所述至少一个第二环节点被耦接在可编程互连和第二引线轨道之间。
在这种可编程IC中,SiP IO电路可以包括第一SiP IO电路,并且可编程IC还可以包括:被耦接到第二引线轨道的第二SiP IO电路。
在这种可编程IC中,至少一个环节点中的每一个可以包括:多个环子节点,每个子节点在可编程结构内具有相同的布局。
在这种可编程IC中,多个环子节点中的每一个可以包括被耦接到可编程结构的互连元件的开关电路。
在另一个示例中,可以提供另一个IC系统。这种IC可以包括:封装衬底,其具有被安装在其上的可编程集成电路(IC)裸片和配套IC裸片,可编程IC裸片包括可编程结构,配套IC包括应用电路;封装内系统(SiP)桥,其包括设置在可编程IC裸片中的第一SiP IO电路、设置在配套IC裸片中的第二SiP IO电路、以及封装衬底上的电耦接第一SiP IO电路和第二个SiP IO电路的导电互连;可编程IC裸片包括:具有可编程互连的可编程结构;与可编程结构的至少一个边缘相邻的引线轨道,引线轨道被耦接到第一SiP IO电路;与可编程结构的至少一个边缘集成的至少一个环节点,该至少一个环节点被耦接在可编程互连和引线轨道之间。
在一些这种IC中,引线轨道可以与可编程结构的两个水平边缘和两个垂直边缘相邻,至少一个环节点可以包括与可编程结构的两个水平边缘和两个垂直边缘集成的多个环节点。
在一些这样的IC中,引线轨道可以与可编程结构的三个边缘相邻,并且至少一个环节点可以包括与可编程结构的三个边缘集成的多个环节点。
在一些这样的IC中,引线轨道可以包括第一引线轨道,并且至少一个环节点可以包括至少一个第一环节点,并且可编程IC还可以包括:与可编程结构的至少一个边缘相邻的第二引线轨道;与可编程结构的至少一个边缘集成在一起的至少一个第二环节点,所述至少一个第二环节点被耦接在可编程互连和第二引线轨道之间。
在一些这样的IC中,SiP IO电路可以包括第一SiP IO电路,并且可编程IC还可以包括被耦接到第二引线轨道的第二SiP IO电路。
在一些这样的IC中,至少一个环节点中的每一个可以包括多个环子节点,每个环子节点在可编程结构内具有相同的布局(layout)。
在一些这样的IC中,多个环子节点中的每一个可以包括被耦接到可编程结构的互连元件的开关电路。
在另一示例中,可以提供一种从可编程IC发送数据的方法。这种方法可以包括:将数据耦接到与可编程IC的可编程结构的边缘集成的环节点,环节点被耦接在可编程结构的可编程互连和与边缘相邻的引线轨道之间;通过引线轨道的多个通道将来自环节点的数据耦接到第一封装内系统(SiP)IO电路;在可编程IC和配套IC之间通过较少数量的物理通道发送来自多个通道的数据。
这种方法可以包括在配套IC中的第二SiP IO电路处从多个物理通道接收数据;以及通过配套IC中的分散电路的多个通道将来自第二SiP IO电路的数据耦接到配套IC中的应用电路。
在一些这样的方法中,数据可以被分成数据包。
在一些这样的方法中,第二SiP IO电路可以包括被耦接到分散电路的相应多个通道的多个内部输出端口,并且其中每个数据包具有从多个内部输出端口中的一个选择的目的端口。
在一些这样的方法中,发送步骤可以包括对来自相应多个发送队列中的多个通道的数据进行排队;多路复用多个物理通道之间的发送队列的输出,使得在多个物理通道上并行发送的数据包具有不同的目的端口。
在一些这样的方法中,多路复用步骤还可以包括:为多个发送队列中的每一个分配权重;并且基于权重从发送队列中选择用于在多个物理通道上发送的数据包。
虽然前述内容针对特定示例,但是可以在不脱离其基本范围的情况下设计其他和进一步的示例,并且本申请的范围由所附权利要求确定。

Claims (4)

1.一种集成电路IC系统,其特征在于,所述IC系统包括:
封装衬底,所述封装衬底具有安装在其上的可编程IC裸片和配套IC裸片,所述可编程IC裸片包括具有第一应用电路的可编程结构,所述配套IC裸片包括第二应用电路;
封装内系统SiP桥,所述SiP桥包括设置在所述可编程IC裸片中的第一SiP IO电路,设置在所述配套IC裸片中的第二SiP IO电路,以及所述封装衬底上的导电互连,所述导电互连耦接所述第一SiP IO电路和所述第二SiP IO电路;
第一聚合电路和第一分散电路,所述第一聚合电路和第一分散电路在所述可编程IC裸片中,且被耦接在所述可编程结构和所述第一SiP IO电路之间,其中所述第一聚合电路选择性地将所述可编程结构中的第一应用电路的输出耦接到所述第一SiP IO电路的内部输入,所述第一分散电路选择性地将所述第一SiP IO电路的内部输出耦接到所述可编程结构中的第一应用电路的输入;以及
第二聚合电路和第二分散电路,所述第二聚合电路和第二分散电路在所述配套IC裸片中,且被耦接在所述第二应用电路和所述第二SiP IO电路之间,其中所述第二聚合电路选择性地将所述第二应用电路的输出耦接到所述第二SiP IO电路的内部输入,所述第二分散电路将所述第二SiP IO电路的内部输出耦接到所述第二应用电路的输入;
其中所述第一和第二SiP IO电路被配置为分别将所述第一和第二聚合电路的多通道输出多路复用到在所述导电互连上实施的第一多个物理通道上;并将来自在所述导电互连上实施的第二多个通道的输入分别多路解复用到所述第一和第二分散电路的多通道输入上。
2.根据权利要求1所述的IC系统,其特征在于,所述第一聚合电路和所述第一分散电路包括系统级互连,所述系统级互连被耦接在所述可编程结构的可编程互连和所述第一SiPIO电路之间。
3.根据权利要求2所述的IC系统,其特征在于,所述系统级互连包括片上网络NoC。
4.根据权利要求1所述的IC系统,其特征在于,所述可编程IC裸片包括到所述配套IC裸片的直接连接,所述直接连接与所述SiP桥分离。
CN201780021683.0A 2016-02-02 2017-01-30 有源接有源可编程器件 Active CN109075787B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210367972.9A CN114741344A (zh) 2016-02-02 2017-01-30 有源接有源可编程器件

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/013,696 2016-02-02
US15/013,690 US10042806B2 (en) 2016-02-02 2016-02-02 System-level interconnect ring for a programmable integrated circuit
US15/013,696 US10002100B2 (en) 2016-02-02 2016-02-02 Active-by-active programmable device
US15/013,690 2016-02-02
PCT/US2017/015665 WO2017136289A2 (en) 2016-02-02 2017-01-30 Active-by-active programmable device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210367972.9A Division CN114741344A (zh) 2016-02-02 2017-01-30 有源接有源可编程器件

Publications (2)

Publication Number Publication Date
CN109075787A CN109075787A (zh) 2018-12-21
CN109075787B true CN109075787B (zh) 2022-04-29

Family

ID=58054513

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780021683.0A Active CN109075787B (zh) 2016-02-02 2017-01-30 有源接有源可编程器件
CN202210367972.9A Pending CN114741344A (zh) 2016-02-02 2017-01-30 有源接有源可编程器件

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210367972.9A Pending CN114741344A (zh) 2016-02-02 2017-01-30 有源接有源可编程器件

Country Status (5)

Country Link
EP (2) EP3411953B1 (zh)
JP (2) JP6621943B2 (zh)
KR (4) KR102528542B1 (zh)
CN (2) CN109075787B (zh)
WO (1) WO2017136289A2 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753484B (zh) * 2020-06-30 2021-12-24 无锡中微亿芯有限公司 一种基于电路性能的多裸片结构fpga的布局方法
CN111755437B (zh) * 2020-07-01 2022-05-31 无锡中微亿芯有限公司 利用硅连接层形成片上网络的fpga装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102113116A (zh) * 2008-08-01 2011-06-29 高通股份有限公司 至少部分安置于非半导体衬底中的高品质因数变压器
CN102543770A (zh) * 2012-01-18 2012-07-04 浙江阳光照明电器集团股份有限公司 一种紧凑型荧光灯专用半桥驱动集成电路的封装方法
CN103716919A (zh) * 2012-09-28 2014-04-09 德克萨斯仪器股份有限公司 无线桥式ic
CN203800042U (zh) * 2013-07-01 2014-08-27 群丰科技股份有限公司 内嵌式封装体结构

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570404B1 (en) * 1996-03-29 2003-05-27 Altera Corporation High-performance programmable logic architecture
JPH1022449A (ja) * 1996-07-02 1998-01-23 Matsushita Electric Ind Co Ltd 半導体装置
US6917219B2 (en) * 2003-03-12 2005-07-12 Xilinx, Inc. Multi-chip programmable logic device having configurable logic circuitry and configuration data storage on different dice
US7170315B2 (en) * 2003-07-31 2007-01-30 Actel Corporation Programmable system on a chip
ATE469397T1 (de) * 2004-03-26 2010-06-15 Koninkl Philips Electronics Nv Integrierte schaltung und verfahren zur transaktionszurückziehung
US7434192B2 (en) 2004-12-13 2008-10-07 Altera Corporation Techniques for optimizing design of a hard intellectual property block for data transmission
US7525340B2 (en) * 2005-09-19 2009-04-28 Altera Corporation Programmable logic device architecture for accommodating specialized circuitry
JP4983065B2 (ja) * 2006-03-29 2012-07-25 富士通セミコンダクター株式会社 半導体装置
US7954131B2 (en) * 2007-06-13 2011-05-31 Time Warner Cable Inc. Premises gateway apparatus and methods for use in a content-based network
JP2009032857A (ja) * 2007-07-26 2009-02-12 Hitachi Ltd 半導体集積回路および半導体装置
US7701252B1 (en) * 2007-11-06 2010-04-20 Altera Corporation Stacked die network-on-chip for FPGA
US8412136B2 (en) * 2008-02-12 2013-04-02 Texas Instruments Incorporated Measuring load impedance of an amplifier driving a variable load
US9229887B2 (en) * 2008-02-19 2016-01-05 Micron Technology, Inc. Memory device with network on chip methods, apparatus, and systems
US7701251B1 (en) * 2008-03-06 2010-04-20 Xilinx, Inc. Methods and apparatus for implementing a stacked memory programmable integrated circuit system in package
US7969009B2 (en) * 2008-06-30 2011-06-28 Qualcomm Incorporated Through silicon via bridge interconnect
US8982581B2 (en) * 2010-06-30 2015-03-17 Xilinx, Inc. Electro-static discharge protection for die of a multi-chip module
TWI441560B (zh) * 2011-06-30 2014-06-11 Interlight Optotech Corp 發光二極體模組及其操作方法
EP2812919B1 (en) * 2012-02-08 2021-07-07 Xilinx, Inc. Stacked die assembly with multiple interposers
US9230609B2 (en) * 2012-06-05 2016-01-05 Rambus Inc. Memory bandwidth aggregation using simultaneous access of stacked semiconductor memory die
US9026872B2 (en) * 2012-08-16 2015-05-05 Xilinx, Inc. Flexible sized die for use in multi-die integrated circuit
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
US8901748B2 (en) * 2013-03-14 2014-12-02 Intel Corporation Direct external interconnect for embedded interconnect bridge package
US9699079B2 (en) 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102113116A (zh) * 2008-08-01 2011-06-29 高通股份有限公司 至少部分安置于非半导体衬底中的高品质因数变压器
CN102543770A (zh) * 2012-01-18 2012-07-04 浙江阳光照明电器集团股份有限公司 一种紧凑型荧光灯专用半桥驱动集成电路的封装方法
CN103716919A (zh) * 2012-09-28 2014-04-09 德克萨斯仪器股份有限公司 无线桥式ic
CN203800042U (zh) * 2013-07-01 2014-08-27 群丰科技股份有限公司 内嵌式封装体结构

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
The driving force for development of IC and systemin future: Reducing the power consumption andimproving the ratio of performance to powerconsumption;YY Wang等;《Science China(Information Sciences)》;20110501(第05期);422-426 *
新型IGBT半桥驱动芯片IR22141应用研究;刘剑飞等;《微电机》;20080428(第04期);131-135 *

Also Published As

Publication number Publication date
WO2017136289A8 (en) 2018-09-13
KR102663824B1 (ko) 2024-05-03
KR102093459B1 (ko) 2020-03-25
CN114741344A (zh) 2022-07-12
CN109075787A (zh) 2018-12-21
WO2017136289A3 (en) 2017-11-02
KR20240063207A (ko) 2024-05-09
KR20200034815A (ko) 2020-03-31
EP3780393A3 (en) 2021-06-23
JP2020074091A (ja) 2020-05-14
EP3411953A2 (en) 2018-12-12
JP6957581B2 (ja) 2021-11-02
KR20230070047A (ko) 2023-05-19
EP3411953B1 (en) 2021-03-03
KR102528542B1 (ko) 2023-05-02
JP2019507452A (ja) 2019-03-14
EP3780393A2 (en) 2021-02-17
JP6621943B2 (ja) 2019-12-18
KR20180108705A (ko) 2018-10-04
WO2017136289A2 (en) 2017-08-10

Similar Documents

Publication Publication Date Title
US10042806B2 (en) System-level interconnect ring for a programmable integrated circuit
USRE49163E1 (en) Active-by-active programmable device
US9859896B1 (en) Distributed multi-die routing in a multi-chip module
EP3497722B1 (en) Standalone interface for stacked silicon interconnect (ssi) technology integration
US11263169B2 (en) Configurable network-on-chip for a programmable device
US11062070B2 (en) Die to die interconnect structure for modularized integrated circuit devices
US11670589B2 (en) Fabric die to fabric die interconnect for modularized integrated circuit devices
US9911465B1 (en) High bandwidth memory (HBM) bandwidth aggregation switch
US11121715B2 (en) Coarse-grain programmable routing network for logic devices
JP6957581B2 (ja) アクティブ・バイ・アクティブプログラマブルデバイス
Ghidini et al. Lasio 3D NoC vertical links serialization: Evaluation of latency and buffer occupancy
US11755511B2 (en) Data bus inversion using multiple transforms
CN110660787A (zh) 用于多芯片封装(mcp)的可旋转架构

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