可编程中介层电路系统的制作方法

文档序号:7044070阅读:219来源:国知局
可编程中介层电路系统的制作方法
【专利摘要】本发明涉及可编程中介层电路系统。提供包括可编程中介层的多芯片封装件。多个集成电路可以安装在中介层上。有源电路系统也可以嵌入到中介层器件中以帮助基于协议的通信、调试、以及其他所期望的电路操作。中介层器件可以包括可编程互联路由电路系统,其主要用于提供多芯片封装件内的不同电路的路由。设计工具可被用以设计中介层器件。所述设计工具可以包括标准芯片封装库,其中,当设计必须与各种中介层上的集成电路通信的中介层器件时,能够从所述标准芯片封装库中选择标准接口模板。通过使器件系列能够与给定中介层结合,标准芯片封装的使用可以简化中介层的设计。
【专利说明】可编程中介层电路系统
[0001] 本申请要求2013年3月14日提交的美国专利申请13829965的优先权,其内容通 过引用合并于此。

【技术领域】

【背景技术】
[0002] 集成电路封装件通常包括,除其他之外,集成电路芯片和芯片安装安装在其上的 衬底。所述芯片通常通过电线或焊料凸块耦合到衬底。然后来自集成电路芯片的信号可以 通过电线或焊料凸块传送到衬底。
[0003] 随着集成电路技术朝着更小器件尺寸按比例发展,以牺牲增加的功耗继续提高器 件性能。为了努力降低功耗,多于一个芯片可以被放置在单个集成电路封装件中(即,多芯 片封装件)。由于不同类型的器件满足不同类型的应用,在一些系统中会需要更多的芯片以 满足高性能应用的需求。因此,为了获取更好的性能和更高的密度,集成电路封装件可以 包括沿着同一平面横向布置的多个芯片,或者可以包括一个堆叠在另一个的上面的多个芯 片。
[0004] 已经开发的多芯片封装件包括安装在硅中介层的顶部上的多个芯片。所述硅中介 层通常包括将芯片彼此连接在多芯片封装件中的固定连接端。因为连接端被固定,因此设 计硅中介层常常面临挑战,,其中设计硅中介层必须能够与通常由具有不同时间轴的多个 参与方制造的各种类型的芯片结合。


【发明内容】

[0005] 本发明总体涉及多芯片封装件,并且,更具体地,涉及具有可配置中介层集成电路 器件的多芯片封装件。多个集成电路芯片可以安装在多芯片封装件的外壳内的中介层的顶 部。所述中介层可以安装在封装衬底的上。如果期望,多个中介层可以相对于彼此垂直堆 叠。
[0006] 微凸块可以插入在中介层(interposer)和中介层上芯片之间,而倒装芯片凸块 (例如,比微凸块大的凸块)可以插入在中介层和封装衬底之间。中介层可以包括输入-输 出管脚,所述输入-输出管脚被配置为经由微凸块与中介层上集成电路芯片结合。中介层 可以包括可编程互联电路系统(有时被称为可编程互联路由结构),所述可编程互联电路系 统用于为中介层上集成电路芯片提供所期望的路由连接。
[0007] 可编程互联电路系统可以包括垂直的和水平的路由路径、插入到路由路径中的可 配置多路复用器、存储用于控制可配置多路复用器的控制位的配置存储器元件、和用以将 控制位载入到配置存储器元件中的配置控制器。可编程互联电路系统可以包括以下路径: 用于连接不同中介层上芯片的路径、用于自路由的路径(例如,耦合在与单个中介层上芯片 相关联的输入-输出管脚之间的路径)、和用于将中介层上芯片连接到中介层外器件的路 径。
[0008] 有源电路系统可以选择性地嵌入为中介层的组成部分。作为一个示例,调试电路 系统可以嵌入到中介层中以调试各种中介层上芯片。作为另一个示例,实现所期望的输 入-输出通信协议的各种接口电路可以嵌入到中介层中。
[0009] 在本发明的另一个合适的实施例中,提供一种使用计算机辅助设计(CAD)工具设 计多芯片封装件的方法,所述CAD工具在计算设备上实现。CAD工具可以包括原理图捕获工 具,其辅助电路设计师设计具有可配置中介层的多芯片封装件。原理图捕获工具可以给予 用户机会以:确定将被放置在多芯片封装件中的不同知识产权(IP)块(例如,可编程集成 电路、专用集成电路、存储器器件、网络处理单元、调试电路系统等)、从标准化芯片封装库 中选择(例如,包含标准接口格式的库,其中每个标准接口格式确定芯片系列的各个预定输 入-输出管脚分配配置)、并且在所选芯片封装之间制定所期望的路由连接。
[0010] 然后,所述CAD工具可用以执行电路综合、物理路由、以及时间分析并且可以生成 相应的配置数据文件,所述配置数据文件包括用于配置可编程互联电路系统以使可编程互 联电路系统提供所期望的中介层路由连接的数据。
[0011] 根据附图和下文详细描述,本发明进一步的特征、其特性和各种优点将变得更明 显。

【专利附图】

【附图说明】
[0012] 图1是根据本发明实施例的说明性可编程集成电路的示意图。
[0013] 图2是根据本发明实施例的具有至少2个芯片的说明性多芯片封装件的横截面侧 视图,其中所述2个芯片横向布置在可编程中介层的顶部。
[0014] 图3是根据本发明实施例的说明性可编程中介层集成电路的示意图。
[0015] 图4是根据本发明实施例的说明性多芯片封装件的横截面侧视图,其中所述多芯 片封装件包括相对于彼此垂直堆叠的多个可编程中介层。
[0016] 图5是根据本发明实施例示出不同类型路由连接端的可编程中介层的横截面侧 视图,其中所述不同类型的路由连接端能够在可编程中介层中形成。
[0017] 图6是根据本发明实施例显示可编程中介层如何可用以提供用于调试目的的集 成电路的附加路由的不意图。
[0018] 图7A是根据本发明实施例展示集成电路如何可被路由到单独的调试处理器的示 意图,其中集成电路和调试处理器都安装在可编程中介层上。
[0019] 图7B是根据本发明实施例展示安装在可编程中介层上的集成电路如何可被路由 到嵌入到可编程中介层中的调试处理器的示意图。
[0020] 图7C是根据本发明实施例展示安装在可编程中介层上的集成电路如何可被路由 到中介层外的常驻PCB (PCB-resident)的调试处理器的示意图。
[0021] 图8是根据本发明实施例展示安装在可编程中介层上的集成电路如何可被路由 到用于检查指示的追踪缓冲区的示意图。
[0022] 图9是根据本发明实施例的示出可编程中介层上的集成电路如何可被路由到不 同类型的通信器件的示意图。
[0023] 图10A和10B是根据本发明实施例示出可编程中介层的示意图,所述可编程中介 层包括实现不同通信协议的嵌入的通信器件。
[0024] 图11是根据本发明实施例的说明性系统环境示意图,其中可编程中介层集成电 路可通过使用电路设计系统被配置。
[0025] 图12是根据本发明实施例的用于生成配置数据的电路设计系统的示意图,所述 配置数据用于实现可编程中介层集成电路中的定制路由设计。
[0026] 图13是根据本发明实施例的说明性计算机辅助设计(CAD)工具的示意图,所述 CAD工具可用在电路设计系统中。
[0027] 图14是根据本发明实施例的用于设计定制中介层集成电路和执行时间分析的示 例性步骤的流程图。
[0028] 图15是根据本发明实施例的说明性原理图输入屏,所述输入屏可以被呈现以提 供机会给用户执行:从预定义库中拉出标准化芯片封装、在不同器件之间形成连接、确定封 装件管脚分配、以及设置其他所期望的设置。
[0029] 图16是根据本发明实施例的说明性标准化管脚分配封装示意图。
[0030] 图17是根据本发明实施例示出标准封装如何能够与相应的器件系列结合,其中 所述标准封装选自于可编程中介层集成电路上所用的预定义库。
[0031] 图18是根据本发明实施例的用于设计可编程中介层的说明性步骤的流程图。

【具体实施方式】
[0032] 本发明的实施例涉及集成电路,并且,更具体地,涉及包括多个集成电路的多芯片 封装件。本领域的技术人员将认识到所述示例性实施例在没有一些或所有这些具体细节的 情况下也可以被实现。在其他实例中,已知操作没有详细描述以免不必要地模糊本发明。
[0033] 可以提供一种具有存储器元件和相关电路类型的说明性集成电路在图1中示出, 所述相关电路能够通过使用来自存储器元件的输出信号被控制。如图1所示,集成电路10 可以包含存储器元件20。存储器元件20可以加载有配置数据,以配置可编程电路系统(例 如,可编程逻辑模块18)中的可编程晶体管(例如,传输晶体管)(有时被称为传输门或传输 门晶体管)。
[0034] 因为存储器元件20可被用以存储可编程逻辑模块18的配置数据,因此存储器元 件20有时可以被称为配置随机存取存储器(configuration random-access memory,CRAM) 单元。集成电路10可通过配置可编程逻辑模块18被配置为实现定制逻辑功能。因此,集 成电路10有时可被称为可编程集成电路或可编程逻辑器件(PLD)集成电路。
[0035] 如图1所示,可编程集成电路10可以具有输入-输出(I/O)电路系统12,所述输 入-输出(I/O)电路系统12用于驱动器件10的信号关断以及用于经由输入-输出管脚14 接收来自其他器件的信号。互联资源16 (例如全局与局部纵向和横向导线与总线)可被用 以路由器件10上的信号。互联资源16可以包括固定互联(导线)和可编程互联(S卩,各个固 定互联之间的可编程连接)。
[0036] 可编程逻辑模块18可以包括组合和时序逻辑电路系统。可编程逻辑18可被配置 为执行定制逻辑功能。与互联资源16关联的可编程互联可被认为形成可编程逻辑模块18 的一部分。
[0037] 当存储器元件20加载有配置数据时,每个存储器元件提供相应的静态控制输出 信号,其控制可编程逻辑模块18中的相关逻辑组件的状态。例如,存储器元件输出信号可 被用以控制可编程组件(例如多路复用器、逻辑门(例如,与门、或门、异或门、与非门、或非 门等))中的金属氧化物半导体(MOS)晶体管(例如,η沟道金属氧化物半导体(NMOS)传输 晶体管)的栅极。如果期望,Ρ沟道晶体管(例如,Ρ沟道金属氧化物半导体传输晶体管)也 可由来自存储器元件20的输出信号控制。
[0038] 当与NM0S传输晶体管关联的存储器元件输出为高时,由这个存储器元件控制的 传输晶体管开启并且将逻辑信号从其输入端传输到其输出端。当存储器元件输出为低时, NM0S传输晶体管关断并且不传输逻辑信号。当来自存储器元件的输出施加到其栅极的信号 为低(例如,0伏特)时,Ρ沟道金属氧化物半导体(PM0S)传输晶体管开启,而当存储器元件 的输出为高时,PM0S传输晶体管关断(S卩,NM0S与PM0S控制信号的极性相反)。
[0039] 配置随机存取存储器元件20可以以阵列形式布置。例如,可以在集成电路10上 存在成千上万的存储器元件20。在编程操作期间,存储器元件阵列可提高为具有配置数据。 一旦加载有配置数据,存储器元件20可以选择性地控制(例如,开启和关闭)可编程逻辑模 块18中的电路系统部分,因此定制电路10的电路功能。
[0040] 可编程集成电路10的电路系统可通过使用任何适合的结构组织。作为一个示例, 可编程集成电路10的电路系统可被设置为一系列行与列的可编程逻辑块(区),每个可编程 逻辑块包含多个较小的逻辑区。集成电路10的逻辑资源可以由互联资源16 (例如,相关 的横向和纵向导体)互联。这些导体可以包括跨越几乎整个器件10的全局导线、跨越部分 器件10的部分线(例如,二分线或四分线)、具体长度(例如,足以互联多个逻辑区域)的交错 线、较小的局部线、或任何其他合适的互联资源配置。如果期望,可编程集成电路10的电路 系统可被布置在更多级或层中,其中多个较大区被互联以形成逻辑的较大部分。其他不以 行和列布置的器件布置仍然可以使用逻辑。
[0041] 由于集成电路制造技术向着较小工艺节点方向按比例扩展,在单个集成电路芯片 上设计完整系统(有时被称为片上系统)的挑战越来越高。当最小化泄漏和功率消耗时,设 计支持所期望的性能等级的模拟和数字电路系统并最小化泄露和功耗极其耗时和昂贵的。
[0042] 一种替代单芯片封装件的配置是多个芯片设置在单个封装内。包含多个互联芯 片的这种类型的封装件有时可被称为封装件中的系统(system-in-package (SiPs))、多芯 片模块(MCM)、或多芯片封装件。将多个芯片(die,芯片)设置到单个封装里可以允许使用 最合适的技术工艺实现每个芯片(例如,可以通过使用28nm的技术节点实现存储器芯片, 而且可以通过使用90nm技术节点实现射频模拟芯片)、可以增加芯片到芯片结合的性能(例 如,单个封装件内将信号从一个芯片驱动到另一个芯片基本上早于将信号从一个封装件驱 动到另一个封装件,因此降低相关输入-输出缓冲区的功耗)、可以释放输入-输出管脚(例 如,与芯片到芯片连接相关的输入-输出管脚小于与封装到板连接相关的管脚)、以及可以 帮助简化印制电路板(PCB)设计(S卩,在常规系统操作期间将多芯片封装件安装在PCB上的 PCB设计)。
[0043] 图2是说明性多芯片封装件100的横截面侧视图。如图2所示,多芯片封装件100 可以包括封装衬底(例如封装衬底122)、安装在封装衬底122顶部上的中介层108、以及安 装在中介层108顶部上的多个芯片(例如,芯片10-1和10-2可以在中介层108的顶部上相 对于彼此横向地安装)。
[0044] 封装衬底122可以经由焊锡球124耦合到板衬底126。作为一个示例,焊锡球124 可以形成用于与衬底126上的相应导电焊盘结合的球栅阵列(BGA)配置。衬底126可以是 印制电路板(PCB),多芯片封装件100和其他单芯片或多个多芯片封装件可以安装在所述 PCB上。在图2的示例性配置中,经由中介层结构108互联的两个横向设置的芯片有时可以 被称为2. 5维("2. OT")堆叠。如果期望,多于两个的横向(纵向)设置的芯片可以安装在中 介层结构108的顶部。在其他合适的配置中,多个芯片可以纵向堆叠在彼此的顶部。一般 情况下,多芯片封装件可以包括堆叠在彼此顶部的任何数量的芯片以及相对于彼此横向布 置的芯片(多个)。
[0045] 每个芯片10 (S卩,芯片10-1和10-2)可以包括半导体衬底130 (例如,p型硅衬 底),所述半导体衬底130具有第一表面150、第二表面152、和在衬底130的第一表面150上 形成的互联层132。器件结构(例如晶体管栅极结构、电容器板结构、电阻性负载结构,服从 密度结构(density-compliance)、以及其他器件结构)可以形成在互联层132接触表面150 的接口处。
[0046] 互联层132 (有时被统称为介质堆叠)可以包括金属路由层的替换层(例如,在其 中能够形成金属路由路径的电介质层)和通孔层(例如,通过其能够形成用于将来自一个金 属路由层的路径电气连接到另一个金属路由层的路径的金属通孔)。
[0047] 表面150通常被称为衬底130的"上"表面,互联层132在所述表面150上形成。 因为每个芯片10从它的垂直方向反转/倒装,因此如图2所示的配置有时被称为倒装芯片 配置,在图2所示的配置中表面150向下面朝封装衬底122。
[0048] 芯片10-1和10-2可以经由微凸块134耦合到中介层108。微凸块134可以涉及 形成在互联堆叠132的最上层上的焊料凸块并且每个微凸块可以具有10 μ m的直径(作为 一个示例)。具体地,微凸块134可以被沉积在微凸块焊盘上,所述微凸块焊盘形成在互联 堆叠132的最上层中。
[0049] 中介层108可以经由凸块120耦合到封装衬底122。直接与封装衬底122结合的 凸块120有时可被称为受控塌陷芯片连接(C4)凸块或"倒装芯片"凸块,并且每个凸块120 可以具有ΙΟΟμπι的直径(作为一个示例)。通常情况下,倒装芯片凸块120(例如,用于与闭 合封装(off-package)组件结合的凸块)在尺寸上基本大于微凸块134 (例如,用于与同一 封装件里的其他芯片结合的凸块)。微凸块134的数量通常大于倒装芯片凸块120的数量 (例如,微凸块数量与倒装芯片凸块数量的比率可以大于2 :1、5:1、10:1等)。
[0050] 如图2所示,中介层108可以包括可编程互联电路系统200,所述可编程互联电路 系统200被用以形成经由微凸块134到安装在中介层108顶部上的每个芯片10的路由连接 以及形成经由倒装芯片凸块120到封装衬底122或板衬底126上的其他器件的路由连接。 可编程互联电路系统200可以包括固定的和/或可配置的互联资源(例如,通过中介层108 用于路由信号的全局和局部的横向和纵向导线和总线)。全局导线可以跨越几乎整个中介 层108,而局部导线仅仅可以跨越中介层108的部分。
[0051] 在一个合适的配置中,中介层108可以由硅形成(例如,互联电路系统200可以被 形成在硅衬底中)。硅中介层108可以包括可编程资源,例如包括在关于图1所描述的可 编程集成电路10类型中的可编程电路系统,除了中介层108不需要包括任何组合或时序逻 辑(例如,中介层108不需要包括用于执行用户定义的逻辑功能的电路系统)之外。这种类 型的中介层108可以包括电路系统(例如电路系统200,其主要用于提供多芯片封装100内 所期望的芯片10的路由连接)。然而,如果期望,中介层108可以包含一些逻辑以用于实现 接口功能,从而帮助封装件100中不同芯片之间的通信以及用于执行中介层上器件的所期 望的功能。从中介层上器件卸载这些功能中的一些到中介层嵌入的逻辑能够帮助减少中介 层上器件的处理要求。
[0052] 以这种方式形成和操作的中介层108有时可被称为可配置硅中介层集成电路、片 上可编程中介层PCB、可编程中介层卡、可编程"构造"中介层、"有源"可编程中介层(例如, 包含用于帮助封装件100里芯片的所期望的操作的嵌入逻辑的中介层)等。一般情况下, 任何类型的裸芯片集成电路10可以安装在中介层108的顶部,包括,但不限于,器件,如微 处理器(或CPU)、数字信号处理器(DSP)、专用标准产品(ASSP)、专用集成电路(ASIC)、静态 随机存取存储器(SRAM)芯片、动态随机存取存储器(DRAM)芯片、只读存储器(ROM)芯片、 可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)、现场可编程门阵列(FPLA)、电可编程逻辑 器件(EPLD)、电可擦除可编程逻辑器件(EEPLD)、逻辑单元阵列(LCA)、现场可编程门阵列 (FPGA)(仅列出一小部分)。
[0053] 图3展示可配置中介层108的更详细的示意图。如图3所示,除了可编程互联电 路系统200以外,中介层108还可以包括配置控制器202、存储器元件204、微凸块接口电路 系统206、以及倒装芯片凸块接口电路系统208。在图3的示例中,可编程互联电路系统200 包括由可编程构造214 (例如路由多路复用电路(例如,多路复用器))连接的横向和纵向电 线集合。通常情况下,中介层108可以包括成百、成千、或成千上万的能够被配置为提供任 何合适的路由配置的多路复用器216。每个路由多路复用器214可以具有输入端、控制输入 端、以及输出端,所述输入端中的一些接收来自各种纵向电线210的信号,并且所述输入端 中的一些接收来自各种横向电线212的信号,在所述输出上相应的信号可以从其输入端中 的一个路由。
[0054] 横向互联212和纵向互联210可以根据每个导体跨越的距离形成为具有变化的长 度。每个多路复用器214可以耦合到相关联的驱动器电路216,所述驱动器电路216用于将 输出信号驱动到相应的横向导体212或纵向导体210上。驱动器216可以基于互联的长度 和/或互联的其他物理特征将信号以适当的驱动强度驱动到互联上。例如,因为第一个互 联导体具有大于第二个互联导体的电阻(例如,因为第一个互联导体跨越距离长于第二个 互联导体跨越的距离),所以第一个驱动器216可以以高于第二个驱动器器216的驱动强度 驱动第一个互联导体,所述第二个驱动器216驱动第二个互联导体。然而,应当理解的是驱 动强度基于互联的宽度也可以做类似地改变。
[0055] 每个路由多路复用器214可以在其控制输入端接收相应的一组配置数据位,所述 一组配置数据位用于配置多路复用器214将信号从其输入端的所选择的一个输入端路由 到其输出端。可以从路径218上的存储器元件204提供配置数据位。配置控制器202可被 用于将配置数据位的期望模式(有时被称为编程位流)载入到存储器元件204中,以便以所 期望的路由配置配置互联电路系统200。配置控制器202可以被实现为数据寄存器、移位寄 存器、状态机、或适于将编程位流载入存储器元件204中的其他类型的电路系统。
[0056] 电路系统206可用作安装在中介层108的顶部上的芯片10 (有时被称为"中介层 上芯片)与可编程互联电路系统200之间的接口,而电路系统208可作为互联电路系统200 与封装衬底122之间的接口。总的来说,可编程互联电路系统200可以经由微凸块接口 206 和倒装芯片凸块接口 208以任何一个方向(如,路径220所指示)路由信号。
[0057] 作为一个示例,由互联电路系统200经由接口 206接收的信号可以经由接口 208 被选择性地路由到相应的倒装芯片凸块120。作为另一个示例,来自给定芯片10经由接口 206由互联电路系统200接收的信号可以通过接口 206被路由回到给定芯片10或被路由 回到安装在中介层108上的另一个芯片。作为又一个示例,由互联电路系统200经由接口 208接收的信号可以经由接口 206被选择性地路由到相应的微凸块134。其他类型的连接 也可以通过编程可配置中介层108来提供,以具有所期望的设置。如果期望,当输入-输出 路径不需要有源驱动时,驱动器216的任何部分可以被置于三态模式中。
[0058] 在本发明另一个合适的实施例中,多个中介层108可以纵向堆叠在彼此的上面 (例如,看图4)。如图4所示,中介层108-2可以堆叠在中介层108-1的顶部。在一个实施 例中,中介层108-1的可编程互联电路系统200可以经由倒装芯片(C4)凸块120选择性地 耦合到可编程互联电路系统200,所述倒装芯片(C4)凸块120插入到中介层108-1和108-2 之间。
[0059] 集成电路芯片可以安装在中介层108-1和108-2的每个的顶部。在图4所述的示 例中,芯片10-U10-2以及10-3可以安装在中介层108-1的顶部,而芯片10-4、10-5、10-6、 10-7和10-8可以安装在中介层108-2的顶部。这个配置类型有时可以被称为"3D"堆叠, 其中中介层堆叠在彼此的顶部。在一些情况下,通硅孔(TSV)可以被形成通过3D堆叠中的 每个中介层108的硅衬底以用于允许纵向连接。在某些实施例中,这种TSV能够被用以提 供位于两个单独的可编程中介层上的可编程互联电路系统之间的连接或安装在两个单独 的可编程中介层的芯片之间的连接。这种3D堆叠使安装在单独的可编程中介层上的芯片 之间能够互联,因此有助于系统设计的物理扩展。
[0060] 如图2和4中所示的多芯片封装件配置仅仅是说明性的,并不用于限制本发明的 范围。如果期望,多芯片封装件100可以包括通过使用一个或更多个可编程中介层108互 联的任何数量的芯片。一般情况下,作为多芯片封装件100的部分的芯片可以包含在外壳 里,所述外壳由塑料、树脂、陶瓷、或其他合适的材料塑模而成。
[0061] 图5是中介层108的横截面侧视图,其展示能够使用可编程互联构造200来制造 的一些不同的可能的路由连接。如图5所示,可编程互联电路系统200可以被用于路由安 装在中介层108上的不同芯片之间的信号(例如,芯片10-1可以经由芯片间(inter-die)路 由路径耦合到芯片10-2)。可编程互联电路系统200也可以被用于路由来自一个或更多个 中介层外器件的信号(例如,芯片10-1可以经由路径232和倒装芯片凸块120耦合到一个 或更多个现有的纵向堆叠的芯片和/或耦合到一个或更多个现有的中介层外器件)。将每 个芯片10的输入-输出管脚路由到用户首选的倒装芯片凸块120的这种灵活性使系统设 计者能够选择优选的优化目标PCB设计的信号输入-输出配置,其中基极中介层108安装 在所述目标PCB设计上。这种类型的路径也可用于共享时钟信号、重置信号、地址信号、以 及形成在多芯片封装件100中的多个不同器件之间的其他控制信号。
[0062] 在一些实施例中,可编程互联电路系统200也可用于路由单独芯片的长距离信 号。例如,这里可能存在形成在芯片10-2和中介层108之间的接口处的成千上万的微凸块 134。在大多数情况下,仅有与给定芯片相关联的一部分微凸块134被用于形成与其他中介 层上芯片和中介层外器件的连接。因此,微凸块134剩下的部分可用于为那些芯片提供附 加的路由资源(例如,看图5中的路径234)。以这种方式执行"自路由"能够有助于减少给 定芯片所要求的路由资源的复杂性,因此减少成本。
[0063] 在常规的单芯片封装件中,集成电路经由倒装芯片凸块直接连接到封装衬底。集 成电路和封装衬底之间插入的倒装芯片凸块的数量通常为千数量级。然而,在多芯片封装 件中,中介层上芯片和中介层108之间微凸块134的使用极大地增加能够被制造的互联的 数量。能够形成在集成电路和中介层108之间的微凸块134的数量可以是成百上千的数量 级。经由微凸块的输入-输出连接的这种广泛可用性可以允许集成电路执行中介层上的一 些片外路由。结合图5描述的所述自路由技术是路由如何可以片外执行的一个示例。
[0064] 在本发明的另一个合适的配置中,出于调试的目的,用户信号可以被片外路由。图 6示出一个示例,其中由器件10中的逻辑电路240生成的用户信号可以被路由以调试也在 器件10中形成的电路系统242。所述用户/测试信号可以经由中介层108中的可编程自 路由路径234从电路240被传递到调试电路系统242。因此,以这种方式使用的中介层108 中的可编程互联电路系统可以用作宽带宽用户调试管脚。
[0065] 图7A展示另一个合适的调试配置,其中受测信号可以从器件10上的逻辑电路240 路由到单独的调试处理器246。如图7A所示,器件10和调试处理器246都安装在中介层 108上。受测的用户信号可以经由可编程芯片到芯片路由路径244从电路240传递到处理 器 246。
[0066] 图7B展示另一个合适的调试配置,其中受测的用户信号可以从器件10上的逻辑 电路240路由到嵌入在中介层108内的调试处理器248。更具体地,调试处理器248可以形 成在中介层108的硅衬底中(例如,调试逻辑电路系统248可以形成为可配置中介层108的 组成部分)。受测用户信号可以经由可编程路由路径250从电路240传递到处理器248。 [0067] 图7C展示另一个合适的调试配置,其中受测用户测试信号可以从器件10上的逻 辑电路240路由到中介层外常驻PCB的调试微处理器252。如图7C所示,逻辑电路240形 成在其中的调试微处理器252和芯片10-2可以形成在安装在PCB126上的单独的封装件上 (例如,芯片10-2可以安装在第一封装衬底122上,而调试处理器252可以安装在第二封装 衬底123上)。所述用户信号可以经由路径254从电路240传递到处理器252。穿过中介层 108的路径254的至少一部分可以是可编程的。
[0068] 图8是另一个合适的调试配置的顶视图,其中,用户/数据信号可以经由缓冲电路 (例如追踪缓冲区249)从器件10上的逻辑电路240路由到单独的调试处理器247。在图8 的示例中,调试处理器247可以是安装在中介层108的顶部的另一个芯片(如关于图7A所 描述的)或可以嵌入到中介层108中(如关于图7B所描述的)。追踪缓冲电路249可以用作 先入先出(FIFO)电路,以用于暂时存储从逻辑电路240输出的用户信号。当器件10上出 现错误时,器件10可以将断言的控制信号ERROR提供给调试处理器247。响应于检测断言 的信号ERROR,调试处理器247可以恢复追踪缓冲区249的内容以执行必要的调试操作。当 信号ERROR被去断言时,使用这种方法执行调试可以允许处理器247执行其他系统操作。
[0069] 在本发明另一个合适的实施例中,可配置硅中介层108也可用在分组处理应用中 以基于选择互联协议来帮助通信。图9是示出多芯片封装件100用作线卡(例如,被用于与 电信接入网络(例如,因特网或局域网)结合的器件)的一种情况的示意图。
[0070] 如图9所示,多芯片封装件100可以包括第一集成电路芯片10-1、第二集成电路芯 片10-2、以及安装在可配置硅中介层108上的多个通信器件260。芯片10-1和10-2可以是 任何合适类型的集成电路。芯片10-1可以包含输入-输出(I/O)接口 270,所述输入-输 出(I/O)接口 270被配置为经由可配置互联构造200 (如路径274所指示的)与芯片10-2 的I/O接口 272进行通信。接口电路270与272可以是实现相同通信协议/标准的通信器 件。作为一个示例,接口电路270和272都可以用于实现周边装置互连高速(PCIe)的高速 串行计算机扩展总线标准。
[0071] 中介层108上的可编程互联构造200可被配置为将至少一个集成电路10耦合到 通信器件260的一部分。在图9的示例中,芯片10-1可以经由可编程互联200选择性地耦 合到五个通信器件中的其中三。这仅仅是说明性的。中介层108可以是能够经由互联电路 系统200使中介层上芯片与或多或少的五个通信器件结合。
[0072] 每个通信器件260可以是收发器集成电路,所述收发器集成电路能够经由倒装芯 片凸块120将信号传输到中介层外器件并从中介层外器件接收信号。每个收发器260可以 包含实现期望的通信协议/标准的通信接口电路262。具有接口 262的收发器260有时被 称为物理介质接口器件。每个接口电路262可以被配置为实现以太网协议(例如,用于控制 介质接入控制子层的协议)、因特拉肯(Interlaken)互联协议、双倍数据速率(DDR)存储器 数据传输协议、PCIe总线标准、和/或其他合适的输入-输出通信协议中的所选的一个。
[0073] 以这种方式形成的多芯片封装件100可被用于提供冗余功能。在图9的示例中,仅 五分之三的接口器件有效地连接到分组处理芯片10-1。芯片10-1可以包括接口电路264, 所述接口电路264被用于实现用于与接口电路262通信的期望的协议。在这三个接口器件 中的其中一个故障或有缺陷的情况下,剩下的空闲接口器件的其中一个可以被切换使用以 替换故障接口器件(例如,通过重新编程互联电路系统200,如虚箭头266所指示)。这种应 用假设接口器件的一部分是相同类型的(例如,有源和无源接口器件的一部分应当实现相 同的通信协议,以支持冗余功能)。
[0074] -般情况下,器件260可以是各种类型的通信器件(S卩,有源和无源接口器件可以 实现各种不同的通信协议)。具有不同类型的通信器件260允许多芯片封装件100支持各 种不同的技术,这在目标在于不同专用领域的应用(例如,有线应用、无线应用等)中是有用 的。如果期望,通信器件260自身可以是可重新编程的以支持各种可能的网络应用。
[0075] 在某些专用领域应用中,可以期望从收发器集成电路260中卸载实现接口电路的 协议(参见,例如,图10A)。实现接口电路(例如图10A的接口电路系统280)的协议可以嵌 入为中介层108中的非可重新配置或"硬"模块(有时被称为固定功能模块)。如图10A所 示,芯片10-1 (例如,可编程的集成电路,例如FPGA)可以经由可编程中介层互联200耦合 到芯片10-2 (例如,包含SRAM单元的存储器芯片)并且可以耦合收发器器件260的所选择 的一个部分。在图10A的示例中,四个收发器器件260中的两个经由嵌入中介层的介质存 取控制器280 (例如,嵌入中介层108中用于支持以太网协议的专用接口电路)耦合到芯片 10-1,而收发器器件260的另两个耦合到芯片10-1而不通过任何介质存取控制器280路 由。不同的MAC块280可以选择性地切换为使用可编程互联路径200。
[0076] 图10A的示例仅仅是说明性的,其中多芯片封装件100被用于将以太网专用应用 作为目标仅仅是示例性的。如果期望,中介层108可以包括不同类型的用于解决不同技术 和应用的嵌入式通信协议接口块。
[0077] 图10B是具有中介层108的多芯片封装件100的横截面侧视图,其具有用于处理 各种各样的应用的不同类型的中介层嵌入通信协议接口块280。在图10B的示例中,3个不 同类型的集成电路芯片10-1、10-2、和10-3可以安装在中介层108上。芯片10-1可以是可 编程集成电路;芯片10-2可以是静态随机存取存储器存片;而芯片10-3可以是同步动态 随机存取存储器芯片(作为示例)。
[0078] 不同中介层上芯片10可以经由可编程中介层互联电路系统200耦合到彼此并耦 合到凸块120。一些芯片10可以经由中介层嵌入通信接口块280耦合到凸块120。在图 10B的示例中,中介层108可以包括:支持以太网协议的嵌入式MAC块、支持因特拉肯互联 协议的嵌入式ILKN块280、和/或处理其他期望的通信技术的其他接口块。
[0079] 图11示出用于设计和配置可配置中介层集成电路器件108的说明性系统环境中。 在配置操作期间,中介层108可以安装在系统380中的板360上。中介层108可以从编程 设备或从任何其他合适的设备或器件接收配置数据。
[0080] 在图11的示例中,中介层108是从相关的集成电路400接收配置数据的可编程集 成电路的一种类型。利用这类配置,如果期望,电路400可以安装在相同的板360上,如中 介层108安装的板360。作为一个示例,电路400可以是可编程互联配置数据载入芯片,所 述芯片与配置控制器202结合以将配置数据载入到中介层存储器元件204中(图3)。配置 数据可被用于:以期望路由配置配置可编程互联电路系统200、配置中介层108中的逻辑电 路系统以实现期望的输入-输出通信协议、配置中介层108中的逻辑电路系统以用作调试 电路等。当系统380启动时(或在另一个合适的时间),所述配置数据将可以从配置器件400 提供给中介层108,如由路径420示意性地显示。提供给器件108的配置数据可以存储在其 可配置存储器元件204中(例如,配置随机存取存储器元件)。
[0081] 系统380可以包括与器件108通信的处理器电路440、存储器460、其他的系统组 件480。系统380的组件可以位于一个或更多个板上(例如,板360或其他合适的安装结构 或外壳)。
[0082] 通信路径可被用于将器件108互联到其他组件。例如,通信路径370可被用于在 安装在板360上的集成电路390和器件108之间传递数据。通信路径350和500能被用于 在器件108与组件440、460、和480之间传递信号。
[0083] 可以通过路径(例如路径520)将器件108的配置数据提供给配置器件400。例如, 配置器件400可以从配置数据载入设备540或将配置数据存储在配置器件400中的其他合 适设备中接收配置数据。在板360安装之前或之后,器件400可加载有数据。
[0084] 在中介层上设计和实现期望的路由配置是极为保证的,其中,所述中介层必须与 各种类型的集成电路结合。因此,设计者通常基于计算机辅助设计(CAD)工具使用设计系 统以帮助他们设计这种类型的电路。电路设计系统能够帮助系统设计者设计和测试系统的 复杂电路。当设计完成时,设计系统可被用于生成配置数据,此配置数据用于电气编程中介 层108的适当路由连接。所述电路设计系统可以在计算设备上实现。
[0085] 如图11所示,越过路径(例如路径580)可以将电路设计系统560生成的配置数据 提供给设备540。设备540将配置数据提供给器件400,以使器件400之后能够通过路径 420将这个配置数据提供给器件108。系统560可以基于一个或更多个计算机以及一个或 更多个软件程序。一般情况下,软件和数据可以存储在系统560中的任何计算机可读介质 (存储器)上并被示意性地显示为存储器600。
[0086] 在一种典型的情况下,设计系统560由电路设计者使用以创建中介层器件108的 定制路由设计。系统560生成被提供给配置器件400的相应的配置数据。加电后,器件108 上的配置器件400和配置控制器202被用于将配置数据载入器件108的可编程存储器元件 204中。然后器件108可以正常工作模式使用以提供多芯片封装件中的期望的路由连接。
[0087] 图12示出根据本发明的说明性电路设计系统560。系统560可以基于一个或更多 个处理器(例如个人计算机、工作站等)。处理器(一个或更多个)使用网络(例如,局域或广 域网)链接。这些计算机中的存储器或外部存储器和存储器件(例如内部和/或外部硬盘) 可被用于存储指令和数据。
[0088] 基于软件的组件(例如,计算机辅助设计工具620)和数据库630驻留在系统560 上。操作期间,可执行软件(例如,计算机辅助设计工具620的软件)运行在系统560的处理 器(一个或更多个)上。数据库630被用于存储用于系统560操作的数据。一般情况下,软 件和数据可以存储在系统560中的任何计算机可读介质(存储器)上。图11示意性显示为 存储器600的这种存储器可以包括计算机存储器芯片、可移动和固定介质(例如硬盘驱动 器),闪存,光盘(CD),DVD光盘,其它光学介质,以及软盘,磁带,或任何其它合适的存储器或 存储装置(一个或更多个)。当系统560软件被安装时,系统560的存储器600具有使系统 560中的计算设备执行各种方法(过程)的指令和数据。当执行这些过程时,计算设备被配 置为实现逻辑设计系统的功能。
[0089] 计算机辅助设计(CAD)工具620 (所有的或一些计算机辅助设计(CAD)工具620有 时被统称为CAD工具)可以由单个供应商或多个供应商提供。工具620可以被提供为一个 或更多个工具套件(例如,执行与实现可编程逻辑器件中的电路设计关联的任务的编译器 套件)和/或被提供为一个或更多个单独软件组成(工具)。数据库(一个或更多个)630可 以包括一个或更多个数据库,所述数据库仅通过特定工具(一个或更多个)访问并且可以包 括一个或更多个共享数据库。共享数据库可以由多个工具访问。例如,第一工具可以将第 二工具的数据存储在共享数据库中。第二工具能够访问共享数据库以检索第一工具存储的 数据。这允许一个工具将信息传递到另一个工具。如果期望,工具还可以在彼此之间传递 信息,而无需存储将信息存储在共享数据库中。
[0090] 在本发明的一个合适的实施例中,数据库(一个或更多个)630可以包括现有设计 库(例如,标准封装库704)。库704可以定义芯片封装的标准组(S卩,通用接口格式组)。这 类预定芯片封装(有时在原理性表示中被称为接口 "管脚分配"模板)可以指示不同类型的 管脚(例如,电源管脚、接地管脚、用户管脚等)的位置。
[0091] 图16展示典型的芯片封装#i,其示出一种合适的管脚分配配置。在图16的示例 中,标记为"X"的位置表示空闲微凸块连接点;标记为" Λ "的位置表示正电源微凸块连接 点;标记为"▽"的位置表示接地电源微凸块连接点;而标记为"〇"的位置表示数据/用户 信号微凸块连接点。
[0092] 可以发表标准管脚分配库,以使得可能由不同制造商(S卩,旨在用在具有中介层 108的多芯片封装件中的芯片10)设计的集成电路芯片10能够符合至少一个已发表的管脚 分配。维护预定管脚分配库可以允许适合相同中介层108的集成电路系列的制造(例如,以 使来自一个制造商或用于一个应用的芯片系列能够与另一个的系列组合)。当以这种方式 设计中介层时,具有不同存储器/缓冲区尺寸的模块化有线处理器系列能够共享相同的芯 片布局格式,不同的可编程集成电路能够共享相同的芯片布局格式,不同的物理介质接口 (至少一些物理介质接口是冗余的)能够共享相同的芯片布局格式等。
[0093] 图17示出具有封装#19的中介层108,其经由可编程互联电路系统200耦合到多 个封装#12。封装#19和#12可以从标准封装库704中选择。在图17所示的示例中,封装 #19可以表示能够与来自给定制造商的ASIC系列结合的通用管脚分配格式,而封装#12可 以表示能够与实现接口电路280的协议系列结合的通用管脚分配格式。
[0094] 作为一个不例,由因特尔公司(Intel corporation)制造的微处理器可以共享库 704中的通用接口格式。作为另一个示例,由阿尔特拉公司(Altera corporation)制造的 可编程集成电路可以共享库704中的另一种通用接口格式。还如另一个示例所示,由博通 公司(Broadcom corporation)、EZchip半导体、和NETR0N0ME制造的网络处理单兀(NPU)可 以共享库704中的另一种通用接口格式。通过减少针对多芯片封装件内的芯片的每个组合 而设计新的中介层器件的需要,标准封装库704的使用可以简化多芯片封装件系统的设计 (例如,当多芯片封装件包括来自多个制造商的芯片时,通用接口形式的使用能够帮助有助 于多芯片封装件的设计)。
[0095] 图13示出可以用在逻辑设计系统(例如,图11和12的系统560)中的说明性计算 机辅助设计工具620。设计过程通常起始于路由规格的制定。电路设计者能够使用设计和 约束输入工具确定664的中介层108所需要进行的连接。设计和约束输入工具664可以包 括如设计和约束输入助手666和设计编辑器668的工具。设计和约束输入助手(例如助手 666)可被用于帮助电路设计者从现有设计库(例如,从标准封装库704)中定位期望的设计 并且可以将计算机辅助协助提供给电路设计者以输入(确定)用于中介层108的所期望的设 计。
[0096] 作为一个示例,设计和约束输入助手666可被用于向用户呈现选项屏幕。用户可 以点击屏幕上的选项以选择正设计的电路是否应当具有某些特征。设计编辑器668可被 用于输入设计(例如,通过输入硬件描述语言代码行),可被用于编辑从库中获得的设计(例 如,使用设计和约束输入助手),或可以辅助用户选择和编辑适当的预封装编码/设计。
[0097] 在通过使用设计和约束输入工具664输入设计之后,综合和优化工具674可被用 于通过使用中介层108中的可编程互联电路系统200实现确定的路由连接。工具674可以 通过进行适当的硬件选择以试图优化所述设计以基于电路设计者使用工具664输入的用 户约束数据实现路由资源的有效分配。
[0098] 在使用工具674进行电路综合和优化之后,设计系统560可以使用工具(例如布局 和布线工具676)执行物理设计步骤(布局综合操作)。布局和布线工具676被用于确定如 何在中介层器件中物理地实现确定的路由连接。所做出的连接应当减少互联延迟或满足确 定最大允许互联延迟的时序要求。布局和布线工具676针对给定中介层器件有序地创建路 由设计的有效实现。
[0099] 工具(例如工具674和676)可以是编译器套件的部分(例如,由可配置中介层器件 供应商提供的编译器工具套件的部分)。根据本发明,工具(例如工具674、676和678)在实 现期望的电路设计时自动考虑互联之间串扰的影响。工具674、676、和678也可以包括时序 分析工具。当生成用于编程集成电路(例如,可编程中介层集成电路108)的配置数据时,这 允许工具674和676满足性能要求(例如,时序要求)。
[0100] 在使用布局和布线工具676已经生成用于中介层108的期望的路由设计的实现之 后,所述设计的实现可以通过使用分析工具678分析和测试。在使用工具620已经完成满 足优化操作,工具620能够生成用于可编程逻辑器件的配置数据。
[0101] 图14示出使用图13的工具620生成配置数据文件时涉及的说明性操作。在步 骤706处,综合工具674可以接收用户输入约束,例如 ::期望的路由连接700说明、确定 中介层108的性能标准的时序约束702、选自标准封装库704的封装设计、以及生成综合后 (post-synthesis)网络表的其他合适的输入设定。
[0102] 在步骤708处,综合后网络表在使用工具676进行布局和布线以及优化操作期间 被处理。在步骤708的操作期间,CAD工具620可以考虑使用不同正电源电压和/或体偏 置电压的影响并且,通过电源和体偏置电平的合适选择、电路资源分配、和布局决策,减少 电源消耗同时满足设计约束。
[0103] 在步骤710处,最终产生的网络表可以通过使用工具678执行时序分析被进一步 处理。时序分析可被用于帮助保证最终网络表满足时序约束。如果期望,处理可以选择性 地返回步骤708以使用最终网络表执行附加的优化。例如,设计系统560可以识别不满足 时序约束的最终网络表中的路由路径,并通过返回到步骤708确定替换的路由路径。
[0104] 最终网络表可以在装配过程期间被进一步处理以生成配置数据文件输出712 (例 如,.pof或.sof文件)。之后,配置数据文件输出可以被载入使用关于图11描述的这种类 型的电路系统的中介层108上。
[0105] 在本发明的另一个实施例中,设计和约束输入工具664可以包括原理图捕获工 具,其能够被使用以确定期望的电路连接700。原理图获取工具可以允许电路设计者可视化 构造多芯片封装件的不同部件。图15示出多芯片封装件系统800的说明性原理图,其能够 将原理图捕获工具显示给电路设计者。如图15所示,系统800可以包括第一集成电路芯片 10-1 (例如,可编程逻辑器件集成电路芯片)、第二集成电路芯片10-2 (例如,存储器器件)、 以及第三集成电路芯片10-3 (例如,专用集成电路芯片,例如网络处理单元)。芯片10-1、 10-2和10-3可以安装在通过使用原理图捕获工具设计的可配置中介层108上。
[0106] 在图 15 的示例中,芯片 10-1 可以经由封装 808-1、808-2、808-3、808-4、808-5、 808-6、和808-7与中介层108结合(例如,单芯片可以与使用多个标准芯片封装组的中介层 108 结合)。封装 808-1、808-2、808-3、808-4、808-5、808-6、和808-7可以从标准封装库704 中选择(作为一个示例)。
[0107] 与封装808-1关联的输入-输出管脚可以经由追踪缓冲区247使用中介层可编程 互联路径200耦合到调试处理器246。处理器246和缓冲区247可以嵌入到中介层108中, 如关于图8所述。与封装808-2和808-3关联的输入-输出管脚可以用于自路由连接。与 封装808-4关联的输入-输出管脚可以经由相应的标准封装808-4'使用可编程互联路径 200耦合到芯片10-3 (例如,芯片10-3可以经由封装808-4'与中介层108结合)。与封装 808-5关联的输入-输出管脚可以经由相应的封装808-5'使用可编程互联路径200耦合 到芯片10-2 (例如,芯片10-2可以与使用封装808-5'的中介层108结合)。与封装808-6 关联的输入-输出管脚可被用于经由管脚804直接与中介层外器件结合。与封装关联的输 入-输出管脚可被用于经由协议实现接口电路280和管脚802与中介层外网络器件通信。 接口电路280可被配置以实现期望的通信协议(一个或更多)并且其可以嵌入到中介层108 中(如示例)。
[0108] 不同的处理块(例如,表示芯片10-1、10_2、和10-3的块)、调试电路系统246-247 和输入-输出接口电路280可以表示知识产权(IP)块,其被导入到原理图捕获工具中(作 为能够存储在数据库(一个或更多个)630中的IP库的部分)以用于设计必须与这些不同的 IP块结合的中介层。
[0109] -般情况下,封装808表示中介层108和中介层上器件之间的微凸块接口的管脚 分配配置,而管脚802和804表示中介层108和封装衬底之间的倒装芯片凸块的管脚分配 配置。因此,这种类型的原理图捕获工具可被用于通过使用可编程中介层互联构造确定应 当进行的期望的中介层路由连接。这种原理图描述可被翻译为初始网络表并被提供给用于 综合的工具674。这种类型的原理图捕获工具可以使系统设计者能够利用各种器件平面布 局实验并形成不同组件(软件中)之间的期望的连接,以增加系统性能。
[0110] 图15的系统800仅仅是说明性的。以这种方式配置的原理图捕获工具可以使系 统设计者能够利用各种器件平面布局(软件中)实验以便优化系统性能。如果期望,原理图 捕获工具可被用于设计中介层,所述中介层包括任何数量的中介层上器件、中介层嵌入器 件和其他合适的电路系统,它们使用中介层上的可编程互联电路系统200经由标准化封装 互联。
[0111] 图18是使用计算机辅助设计工具620设计可编程中介层108中涉及的说明性步 骤的流程图。在步骤950处,工具620可以将用于设计多芯片封装件100的选项提供给系 统用户。例如,可以将机会提供给用户以从标准芯片封装库中选择,所述标准芯片封装库用 作封装件100内的中介层108和多个芯片10之间的接口。
[0112] 在步骤952处,工具620可以接收至少一个已经由用户选择的标准芯片封装。所 选择的芯片封装可以确定用于集成电路器件系列的相应的预定输入-输出管脚分配配置。
[0113] 在步骤954处,工具620可以接收来自用户的输入,其确定用于多芯片封装件的输 入-输出管脚(例如,将封装管脚分配确定给PCB的用户输入)。
[0114] 在步骤956处,工具620可以接收来自用户的输入,其确定将要包括在封装100中 的电路的类型(例如,将要安装在每个所选芯片封装上的芯片的类型、嵌入到中介层108中 的电路的类型等)。
[0115] 在步骤958处,工具620可以接收来自用户的输入,其确定封装件100中的不同的 芯片如何路由到中介层108。一般情况下,步骤952、954、956、和958期间获得的用户输入 可以任何合适的顺序接收。
[0116] 在步骤960处,工具620可以生成用于配置可编程中介层108的配置数据,以使得 中介层108为封装件100中的多个集成电路芯片提供期望的路由连接。这种路由连接能够 包括不同中介层上芯片10之间的路由连接、一个或更多个中介层上芯片10和封装件管脚 124之间的路由连接、以及一个或更多个中介层上芯片10和中介层嵌入电路之间的路由连 接。在某些实施例中,路由连接可以包括直接有线连接(没有任何中间转换)、通过嵌入到中 介层108中的一个或更多个缓冲区的连接(例如,用于驱动不同中介层上芯片之间的信号 的缓冲电路以及用于驱动中介层上芯片和封装管脚之间的信号的缓冲电路)、以及通过嵌 入到中介层108中的一个或更多个非可配置块的路由连接。
[0117] 以这种方式设计的可编程中介层器件的使用可以使用于优化PCB封装保持的多 个不同的集成电路芯片能够最大化集成。当不同的集成电路设计被缩放到单个系统中的多 个堆叠(或3D)是中介层之间时,这极为需要。换句话说,可编程中介层的使用可以促进最 适合的PCB系统互联,因为可编程中介层提供实际芯片I/O管脚分配的抽象层。
[0118] 可编程互联的使用也允许系统用户合适地将微凸块焊盘自由地重新路由到PCB 键合点。这使可编程中介层能够能够容纳每个具有独特的电源/接地管脚分配要求的多个 集成电路芯片并且使通过使用各种工艺技术制造的芯片能够共存。此外,用于与多芯片封 装件中的不同芯片结合的微凸块的使用有助于实现高密度/高集成度的器件间信号互联 解决方案。例如,高密度微凸块互联可以使更高带宽信令能够实现,这在缺乏中介层结构的 标准PCB实施方式上是不可能的。
[0119] 虽然上述操作方法以具体顺序描述,但是,应当理解的是其他操作可以在所描述 的操作之间执行,所描述的操作可以被调整以使得它们在稍微不同的时间上发生,或者,所 描述的操作可以分布在系统中,其允许处理操作以与所述处理相关的各种间隔出现,只要 覆盖操作的处理以期望的方式执行。
[0120] 附加实施例:
[0121] 附加实施例1. 一种中介层集成电路,其包含:多个输入-输出管脚,所述多个输入 输出管脚与安装在插入的集成电路上的多个集成电路结合;以及可编程互联电路系统,其 耦合到多个输入输出管脚并用于提供多个集成电路的路由连接。
[0122] 附加实施例2.由附加实施例1所述的中介层集成电路,其中多个输入输出管脚的 至少一部分经由微凸块耦合到多个集成电路。
[0123] 附加实施例3.由附加实施例2所述的中介层集成电路,其中多个输入输出管脚的 至少另一部分耦合到倒装芯片凸块,并且其中倒装芯片凸块大于微凸块。
[0124] 附加实施例4.由附加实施例1所述的中介层集成电路,其中可编程互联电路系统 包含多个路由路径和插入到多个路由路径中的多个可配置多路复用电路。
[0125] 附加实施例5.由附加实施例4所述的中介层集成电路,其进一步包含:多个存储 器元件,其存储用于控制多个可配置多路复用电路的配置数据位。
[0126] 附加实施例6.由附加实施例5所述的中介层集成电路,其进一步包含:配置控制 器,其将配置数据位载入到多个处理器元件中。
[0127] 附加实施例7.由附加实施例1所述的中介层集成电路,其中可编程互联电路系统 包括至少一个自路由路径,其耦合在与多个集成电路中的所选的一个关联的输入-输出管 脚之间。
[0128] 附加实施例8.由附加实施例1所述的中介层集成电路,其进一步包含:有源处理 电路系统,其嵌入为中介层集成电路的组成部分。
[0129] 附加实施例9.由附加实施例8所述的中介层集成电路,其中的有源处理电路系统 包含调试处理器。
[0130] 附加实施例10.由附加实施例8所述的中介层集成电路,其中有源处理电路系统 包括被配置为实现输入-输出通信协议的接口电路。
[0131] 附加实施例11. 一种多芯片封装件,其包含:封装外壳;封装外壳中的多个集成电 路;和可配置中介层,多个集成电路安装在可配置中介层上,其中可配置中介层包括可编程 互联路由电路系统,其用于执行多个集成电路的信号路由。
[0132] 附加实施例12.由附的实施例11所述的多芯片封装件,其进一步包含:封装衬底, 可配置中介层被安装在其上;多个倒装芯片凸块,其插入在可配置中介层和封装衬底之间; 以及多个微凸块,其插入在可配置中介层和多个集成电路之间。
[0133] 附加实施例13.由附加实施例11所述的多芯片封装件,其进一步包含:附加的可 配置中介层,其堆叠在可配置中介层的顶部;以及另一多个集成电路,其安装在封装外壳中 的附加可配置中介层上。
[0134] 附加实施例14.由附加实施例11所述的多芯片封装件,其中多个集成电路中的给 定集成电路包括逻辑电路和调试电路,并且其中逻辑电路生成用户信号,所述用户信号经 由可编程互联路由电路系统中的至少一个信号路由路径被传递到调试电路系统。
[0135] 附加实施例15.由附加实施例11所述的多芯片封装件,其中多个集成电路中的第 一集成电路包括逻辑电路,其中多个集成电路中的第二集成电路包含调试处理器,并且其 中第一集成电路的逻辑电路生成用户信号,所述用户信号经由可编程互联路由电路系统中 的至少一个信号路由路径被传递到调试处理器。
[0136] 附加实施例16.由附加实施例11所述的多芯片封装件,其中多个集成电路中的给 定集成电路包括逻辑电路,其中可配置中介层进一步包括嵌入为可配置中介层的组成部分 的调试逻辑模块,并且其中给定集成电路中的逻辑电路生成用户信号,所述用户信号经由 可编程互联路由电路系统中的至少一个信号路由路径被传递到中介层嵌入的调试逻辑模 块。
[0137] 附加实施例17.由附加实施例11所述的多芯片封装件,其进一步包含:调试电路 系统,其中多个集成电路中的给定集成电路包括逻辑电路,所述逻辑电路生成经由追踪缓 冲区被传递到调试电路系统的测试信号。
[0138] 附加实施例18. -种用于使用在计算设备上实现的电路设计工具设计多芯片封 装件的方法,其中多芯片封装件包括安装在中介层上的多个集成电路,所述方法包含:接收 来自用户的第一输入,其确定多个集成电路如何路由到中介层;接收来自用户的第二输入, 其确定多芯片封装件的输入输出管脚;以及基于第一和第二用户输入,通过使用中介层上 的可编程互联电路系统,执行用于多个集成电路的路由连接。
[0139] 附加实施例19.由附加实施例18所述的方法,其进一步包含:将机会提供给用户 以:从标准芯片封装库中选择,所述标准芯片封装库用作中介层和多个集成电路之间的接 口;并且接收由用户选择的至少一个标准芯片封装。
[0140] 附加实施例20.由附加实施例18所述的方法,其进一步包含:生成用于配置可编 程互联电路系统的配置数据,以使可编程互联电路系统提供用于多个集成电路的期望的路 由连接。
[0141] 附加实施例21.由附加实施例18所述的方法,其进一步包含:接收来自用户的附 加输入,其确定嵌入到中介层中的电路。
[0142] 上述仅是本发明原理的示例性描述,并且本领域的技术人员能够在不背离本发明 精神的情况下进行各种修改。上述实施例可以被单独实现或以任何方式被组合实现。
【权利要求】
1. 一种中介层集成电路,其包括: 多个输入-输出管脚,其与安装在所述中介层集成电路上的多个集成电路结合;和 可编程互联电路系统,其耦合到所述多个输入-输出管脚并且用于提供所述多个集成 电路的路由连接。
2. 根据权利要求1所述的中介层集成电路,其中所述多个输入-输出管脚的至少一部 分经由微凸块耦合到所述多个集成电路。
3. 根据权利要求2所述的中介层集成电路,其中所述多个输入-输出管脚的至少另一 个部分耦合到倒装芯片凸块,并且其中所述倒装芯片凸块比所述微凸块大。
4. 根据权利要求1所述的中介层集成电路,其中所述可编程互联电路系统包括多个路 由路径和插入到所述多个路由路径中的多个可配置多路复用电路。
5. 根据权利要求4所述的中介层集成电路,其进一步包括: 多个存储元件,其存储用于控制所述多个可配置多路复用电路的配置数据位。
6. 根据权利要求5所述的中介层集成电路,其进一步包括: 配置控制器,所述配置控制器将所述配置数据位载入到所述多个存储器元件。
7. 根据权利要求1所述的中介层集成电路,其中所述可编程互联电路系统包括至少一 个自路由路径,其耦合在与所述多个集成电路中所选的一个集成电路相关联的输入-输出 管脚之间。
8. 根据权利要求1所述的中介层集成电路,其进一步包括: 有源处理电路系统,其嵌入为所述中介层集成电路的组成部分。
9. 根据权利要求8所述的中介层集成电路,其中所述有源处理电路系统包括调试处理 器。
10. 根据权利要求8所述的中介层集成电路,其中所述有源处理电路系统包括被配置 为实现输入-输出通信协议的接口电路。
11. 一种多芯片封装件,其包括: 封装外壳; 所述封装外壳中的多个集成电路;和 可配置中介层,所述多个集成电路安装在其上,其中所述可配置中介层包括可编程互 联路由电路系统,所述可编程互联路由电路系统用于执行所述多个集成电路的信号路由。
12. 根据权利要求11所述的多芯片封装件,其进一步包括: 封装衬底,所述可配置中介层安装在其上; 多个倒装芯片凸块,其插入在所述可配置中介层和所述封装衬底之间;和 多个微凸块,其插入在所述可配置中介层和所述多个集成电路之间。
13. 根据权利要求11所述的多芯片封装件,其进一步包括: 附加可配置中介层,其堆叠在所述可配置中介层上;和 另外的多个集成电路,其安装在所述封装外壳中的附加可配置中介层上。
14. 根据权利要求11所述的多芯片封装件,其中所述多个集成电路中的给定集成电路 包括逻辑电路和调试电路系统,并且其中所述逻辑电路生成用户信号,所述用户信号经由 所述可编程互联路由电路系统中的至少一个信号路由路径传递到所述调试电路系统。
15. 根据权利要求11所述的多芯片封装件,其中所述多个集成电路中的第一集成电路 包括逻辑电路,其中所述多个集成电路中的第二集成电路包含调试处理器,并且其中所述 第一集成电路的所述逻辑电路生成用户信号,所述用户信号经由所述可编程互联路由电路 系统中的至少一个信号路径传递到所述调试处理器。
16. 根据权利要求11所述的多芯片封装件,其中所述多个集成电路中的给定集成电路 包括逻辑电路,其中所述可配置中介层进一步包括嵌入为可配置中介层的集成部分的调试 逻辑模块,并且其中所述给定的集成电路中的所述逻辑电路生成用户信号,所述用户信号 经由所述可编程互联路由电路系统中的至少一个信号路由路径传递到嵌入所述中介层的 调试逻辑模块。
17. 根据权利要求11所述的多芯片封装件,其进一步包括: 调试电路系统,其中所述多个集成电路中的给定集成电路包括逻辑电路,所述逻辑电 路生成经由追踪缓冲区传递到所述调试电路系统的测试信号。
18. -种使用电路设计工具设计多芯片封装件的方法,其中所述电路设计工具在计 算设备上实现,其中所述多芯片封装件包括安装在中介层上的多个集成电路,所述方法包 括: 接收来自用户的第一输入,其确定所述多个集成电路如何路由到所述中介层; 接收来自所述用户的第二输入,其确定所述多芯片封装件的输入-输出管脚;以及 基于所述第一用户输入和所述第二用户输入,使用所述中介层上的可编程互联电路系 统,执行所述多个集成电路的路由连接。
19. 根据权利要求18所述的方法,其进一步包括: 将机会提供给所述用户以从标准芯片封装库中选择,所述标准芯片封装用作所述中介 层和所述多个集成电路之间的接口;以及 接收所述用户选择的至少一个标准芯片封装。
20. 根据权利要求18所述的方法,其进一步包括: 接收来自所述用户的附加输入,其确定嵌入在所述中介层内的电路;以及 生成用于配置所述可编程互联电路系统的配置数据,以使所述可编程互联电路系统提 供所述多个集成电路的所期望的路由连接。
【文档编号】H01L23/525GK104064556SQ201410095364
【公开日】2014年9月24日 申请日期:2014年3月14日 优先权日:2013年3月14日
【发明者】M·D·哈顿, R·A·格雷尼尔 申请人:阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1