用于在管芯到管芯接口处提供数据通道的系统和方法与流程

文档序号:11449902阅读:198来源:国知局
用于在管芯到管芯接口处提供数据通道的系统和方法与流程

l·r·彼得森、t·c·布莱恩、a·l·s·洛克、t·t·蔚、g·f·林奇、s·r·科诺

本申请涉及管芯到管芯(die-to-die)接口,并且更具体而言,涉及用于在管芯到管芯接口处提供数据通道的系统和方法。

背景

纳入多个管芯的封装系统正得到越来越多的关注。多管芯封装使用管芯到管芯链路来实现管芯之间的通信。考虑到由新的高级封装技术实现的连通密度,管芯到管芯链路通常必须支持非常大的聚集数据带宽,并且偏好经转发时钟的并行总线架构。

一些常规系统包括其中每个管芯具有用于数据触点的多个暴露于外部的触点(例如,通孔)的架构。每个管芯上的至少一个另一暴露于外部的触点将用于时钟信号。每个数据触点与某种顺序逻辑电路相关联,例如,捕捉所传送数据或者传送所存储数据的触发器。在传送侧,在暴露于外部的时钟节点处提供时钟,并且随后将该时钟管芯到管芯地传递到另一管芯上的接收侧时钟节点。

此类常规架构可以包括将触发器直接放置在其相应触点的下方或者非常接近其相应触点。触发器随后在每个管芯处由时钟树进行时钟定时。暴露于外部的触点可布置在阵列中,该阵列可覆盖每个管芯的相对大的表面积。由此,时钟树可以相对较大,因为它们各自在与其相应触点阵列的大小一致的区域上分发时钟。换句话说,在此类现有技术系统中,顺序逻辑电路不是局部化的,而是分布在触点阵列的区域上。

然而,在包括分布式触发器的系统中的时钟树可能需要对于一些比特使用较长的金属迹线,从而在整体上增加时钟树中的金属和电容的总量、因此增加功耗。由此在现有技术中存在对改善的管芯到管芯接口的需求。

概览

提供了用于管芯到管芯接口的电路。各个实施例使管芯到管芯电路系统局部化,从而允许较小的时钟树(较短的时钟布线、较低的时钟功率等等),并且随后将电路输出分发或“扇出”到在传送侧阵列上在空间上更加分开的触点。在接收侧,此类实施例按使得扇出和扇入布线长度的总和对于每个数据比特基本上相同的方式,将来自接收方侧管芯上在空间上分开的触点的信号收集到另一局部化区域,即,“扇入”信号。

在一个示例中,一种多管芯封装包括至少两个管芯。第一管芯和第二管芯共享它们数据节点的物理布局,以使得第一管芯包括暴露在该管芯的表面上的数据节点阵列,并且第二管芯也包括暴露在其表面上的数据节点阵列。第一管芯上的给定数据节点对应于第二管芯上的特定数据节点,并且彼此相对应的那两个数据节点在空间上类似地放置在它们的阵列内。换言之,在该示例中,第一管芯上的数据节点阵列被布置成好像将第二管芯上的数据节点阵列从第二管芯在空间上平移到了第一管芯。

每个数据节点由数据输入和顺序逻辑(例如,触发器)服务,以使得每个数据节点对应于一比特。第一管芯将针对每个比特的数据输入和顺序逻辑电路设置在第一管芯的管芯到管芯子系统的第一侧上,并且第二管芯将针对每个比特的数据输出和顺序逻辑电路设置在第二管芯的管芯到管芯子系统的第二侧上,第一侧和第二侧不同(例如,右相对于左)。

在另一方面,针对每个数据比特的数据路径通过第一导体从相应的第一触发器延伸到第一管芯上的相应第一节点,并且通过第二导体从第二管芯上的相应第二节点延伸到相应的第二触发器,其中,第一导体和第二导体的长度的总和对于每个数据比特是相同的。针对给定比特的数据路径的另一部分是管芯到管芯数据通道,该管芯到管芯数据通道将数据比特从第一管芯上的数据节点传导到第二管芯上的对应数据节点。针对每个比特的管芯到管芯数据通道是相同或者基本上相同的长度。

因此,给定的数据比特在第一管芯上可经历从其触发器到其数据节点的短的管芯上布线,并且该短布线由第二管芯上的长布线来补偿,其中第二管芯上的布线包括从数据节点到对应触发器的距离。类似地,另一数据比特在第一管芯上可经历长的管芯上布线,该长的管芯上布线由第二管芯上的短的管芯上布线来补偿。然而,数据比特具有大致相同的第一管芯数据布线长度和第二管芯数据布线长度的总和,从而在管芯到管芯接口处为每个比特提供基本上类似的数据布线。

进一步在该示例中,时钟信号从第一管芯被传送到第二管芯。该时钟信号穿过在长度上与每个数据比特的布线类似的布线。

各个实施例提供了优于常规解决方案的一个或多个优点。例如,由于管芯上的时钟树馈送在管芯到管芯子系统管芯的一侧上的触发器,该时钟树可被设计成相对较小。相比之下,一些常规系统使用在由数据节点阵列限定的区域上分发时钟的时钟树。

附图简述

图1是示出了根据一个实施例的具有电路布局的第一管芯的解说。

图2是示出了根据一个实施例的具有电路布局的第二管芯的解说。

图3示出了根据本公开的一个实施例的示例管芯到管芯接口的功能视图。

图4示出了根据一个实施例适配的一个示例多管芯封装。

图5是根据一个实施例适配的另一示例多管芯封装的解说。

图6是根据一个实施例适配的示例管芯到管芯接口的解说。

图7是根据一个实施例的在管芯到管芯接口处分发时钟信号的示例方法的流程图。

详细描述

示例电路实施例

为了减少时钟树的金属和电容,同时仍然提供足够的建立和保持时间,各个实施例提供了一种架构,其中针对数据比特的顺序逻辑电路沿着一个管芯中的管芯到管芯接口子系统的一侧被放置并由该管芯的时钟树馈送。在多管芯封装的另一管芯中的另一管芯到管芯接口子系统也沿着一侧放置它的针对数据比特的顺序逻辑电路,但是该侧是与第一管芯上不同的侧。在一个示例中,多管芯封装中的每个不同管芯在两个管芯上具有数据节点的相同空间布置,其中数据节点由顺序逻辑电路馈送。针对每个比特的物理数据路径可被布置成使得各个比特各自经历从一个管芯的顺序逻辑电路到另一管芯的顺序逻辑电路的类似延迟。

图1是示出了根据一个实施例的一个管芯中的第一管芯到管芯接口子系统100的解说,该第一管芯到管芯接口子系统100在其上具有数据节点的布置并且具有布置在一侧上的顺序逻辑。图2是示出了根据该实施例的一个管芯中的第二管芯到管芯接口子系统200的解说,该第二管芯到管芯接口子系统200在其上具有数据节点的布置并且具有布置在一侧上的顺序逻辑。在一些实施例中,对应于图1和2的管芯可布置在多管芯封装中。为方便起见,在不同的图中分开示出了第一管芯到管芯子系统100和第二管芯到管芯子系统200,但是要理解,第一管芯到管芯子系统100解说了传送侧实施例,并且第二管芯到管芯子系统200解说了接收侧实施例,其中两个管芯到管芯子系统100和200将在多管芯封装中的管芯到管芯接口处被连接。如下所述,在图4和5处示出了示例多管芯封装。

专注于图1,管芯到管芯子系统100包括三十二个数据节点,每一个数据节点对应于一比特并行数据。数据节点101是管芯到管芯子系统100上所示出的三十二个数据节点中的一个示例数据节点。在该实施例中,数据节点101包括在包含管芯到管芯子系统100的管芯的表面上暴露于外部的触点(例如,通孔),其中暴露于外部的触点由圆圈表示。数据节点101还包括静电放电(esd)电路系统,此处由两个二极管表示。并非管芯到管芯子系统100的所有节点都是数据节点,如由示例节点102(其是被标记为vdd的功率节点)所解说的,并且其它功率节点被标记为vss或vdd。

另一示例数据节点是数据节点103。每个数据节点对应于三十二比特(<0:31>)中的一比特数据。因此例如,数据节点101与数据输入d<6>相关联,并且数据节点103与数据输入d<26>相关联。移至图2,数据节点201与数据节点101所关联的相同数据比特相关联,并且耦合到数据输出dout<6>。类似地,数据节点203与数据节点103所关联的相同数据比特相关联,并且耦合到数据输出dout<26>。

管芯到管芯子系统100和管芯到管芯子系统200共享数据节点的相同布置。如图1和2中所解说的,数据节点101在管芯到管芯子系统100的左上角,并且数据节点201在管芯到管芯子系统200的左上角。数据节点103和203以相同方式在空间上相关。就好像是管芯到管芯子系统100上的数据节点的布置被横向地平移到管芯到管芯子系统200,以使得管芯到管芯子系统100上的给定节点(其在管芯到管芯子系统100上的节点阵列内具有第一空间关系)对应于管芯到管芯子系统200上的给定节点(其在管芯到管芯子系统200上的节点阵列内具有相同的空间关系)。

此外,每个数据比特穿过从其相应的顺序逻辑电路(在该情形中,触发器)和缓冲器到其数据节点的物理管芯上路径。在该示例中,管芯上物理数据路径111是将数据节点101连接到数据驱动器121、触发器131和数据输入d<6>的金属迹线。类似地,在管芯到管芯子系统200上管芯上物理数据路径211将数据节点201与触发器231连接。管芯到管芯子系统100和200上的每个数据节点包括对应的物理管芯上数据路径,诸如服务数据节点103的管芯上数据路径112、以及服务数据节点203的管芯上数据路径213。

进一步在该示例中,与管芯到管芯子系统100和200的数据节点相关联的顺序逻辑电路被放置在给定管芯到管芯子系统的一侧上(或者换言之,沿着给定的数据节点阵列的一侧)。在管芯到管芯子系统100的示例中,顺序逻辑电路被示出在其左手侧,其中触发器131是一个示例顺序逻辑电路,并且要理解,每个其它数据比特也包括对应的触发器。由此,与其中顺序逻辑电路位于其数据节点下方或者与其数据节点非常接近的系统形成对比,图1和2所解说的实施例将那些顺序逻辑电路放置于数据节点阵列的一侧。

时钟输入在图1中被解说为clk_in,并且由传送时钟树150将该时钟分发给顺序逻辑电路。在图2中,接收时钟树250将时钟分发给顺序逻辑电路(例如,触发器231)。在该示例中,时钟树150和250是按图1和2中所示的图案物理地设置在管芯上的金属迹线或布线。在管芯到管芯子系统100中,时钟树150经由管芯上物理路径156(其类似于上面讨论的管芯上数据路径)向时钟节点155提供时钟信号。在管芯到管芯子系统200处,时钟节点255经由管芯上物理路径256向时钟树250提供该时钟信号。

在一些示例中,形成时钟树150和250的顺序逻辑电路和金属迹线比数据节点小得多,以使得它们不在数据节点的顶行之上或数据节点的底行之下纵向地延伸。然而,此类实施例仍然遵循上面描述的概念,其中顺序逻辑电路和时钟树被设置在相应的管芯到管芯子系统和数据节点阵列的一侧上。此类实施例还遵循上面描述的概念,其中由每个比特从传送侧到接收侧行进的总物理数据路径长度基本上统一。此类实施例的显著特征在于,时钟树150和250比在那些时钟树已分布在它们相应的数据节点阵列下方的情况下小得多并且电容更小。

图1和2未示出管芯到管芯数据通道,但是在两个管芯上比特的匹配空间布置允许在相应比特之间使用长度上统一的管芯到管芯数据通道。图6示出了示例管芯到管芯数据通道。此外,将时钟从管芯到管芯子系统100转发给管芯到管芯子系统200的管芯到管芯时钟通道(未示出)与管芯到管芯数据通道的长度相同,以使得当时钟从管芯到管芯子系统100被转发给管芯到管芯子系统200时该时钟也经历归因于管芯到管芯通道对数据比特的任何延迟和通道电容。

如上面图1和2中所示,多管芯系统中的每个管芯包括多个数据节点(例如,101、103、201、203),这些数据节点暴露在管芯的表面上。管芯到管芯子系统100上的给定数据节点对应于管芯到管芯子系统200上的数据节点,以传送和接收并行数据比特。每一对数据节点通过长度l1的导体管芯到管芯地连接,其中图6中示出了示例管芯到管芯导体。

专注于与d<6>相关联的节点101,该节点101具有从其触发器131和驱动器121的短导体长度的物理路径111。现在移至管芯到管芯子系统200,数据节点201是与dout<6>相关联的对应节点。然而,节点201具有至其触发器231的长导体长度的物理路径211。由此,管芯到管芯子系统100上针对节点的短导体长度由管芯到管芯子系统200上针对对应数据节点的长导体长度来补充(反之亦然)。作为另一解说,管芯到管芯子系统100的节点103包括相对长的导体路径113,该相对长的导体路径113由管芯到管芯子系统200处节点203的相对短的导体路径213来补充。

在该示例中,管芯到管芯子系统100上针对节点(节点101)的导体长度和管芯到管芯子系统200上针对对应节点(201)的导体长度的总和被称为l2(管芯上数据通道111和211的长度的总和)。对于三十二对对应的数据节点中的每一者,上述关系成立—导体长度的总和是l2。图6示出了管芯到管芯数据链路,并且要理解,这些管芯到管芯数据链路是相同长度l1,其可以类似于或者不同于链路l2。

在上面的示例中,针对时钟或数据信号的插入延迟被假定为与信号在其上行进的导体的长度成比例。对于包括管芯到管芯子系统100和管芯到管芯子系统200的系统,每个数据比特在具有长度l1+l2的路径上从输入处的触发器(例如,130)行进到输出处的触发器(例如,230);因此,每个数据比特在多管芯系统中行进相同的长度并且具有相同的传播延迟。

还要注意管芯到管芯子系统100和200的时钟定时结构。在管芯到管芯子系统100处,时钟在clk_in处被接收并且随后传递通过缓冲器152和可调节延迟元件153至管芯上数据路径156到达数据节点155。时钟在长度l1的导体(未示出)上被传送到管芯到管芯子系统200,其中该时钟在同样处于第三行、第六列(与节点155相同的空间位置)的节点255处被接收。在管芯到管芯子系统200上,时钟信号从节点255被传递到esd电路253和缓冲器252。再一次,管芯到管芯子系统100和管芯到管芯子系统200上的导体长度的总和是l2,以使得时钟信号从管芯到管芯子系统100至管芯到管芯子系统200的总行程是l1+l2。由此,时钟信号在与数据路径的长度相同长度的路径上行进,并且具有与数据比特所经历的传播延迟相同的传播延迟。图1和2的实施例的设计特征在于,l1和l2的总和对于每个数据比特以及对于时钟是相同的。然而,可能存在因金属迹线的布局导致的各比特之间在l1方面的非常小的差异以及各比特之间在l2方面的非常小的差异,其中这些小的差异不影响建立和保持时间考量。

管芯到管芯子系统100上的数据节点的空间阵列与管芯到管芯子系统200上的数据节点的空间阵列相同。在本示例中,管芯到管芯子系统100在数据节点阵列的左手侧上包括其时钟树150和顺序逻辑电路,并且管芯到管芯子系统200在其数据节点阵列的右手侧上包括其时钟树250和顺序逻辑电路。管芯到管芯子系统100和管芯到管芯子系统200共享它们相应时钟树和触发器的右手相对于左手的关系,从而为管芯上数据通道提供了互补的长度。

专注于数据比特和时钟信号的操作示例是有启发性的。在该示例中,在管芯到管芯子系统100处在clk_in处接收时钟信号。该时钟信号传递通过缓冲器152并被传递到时钟树150上。时钟传播通过时钟树150,从而首先到达最近的触发器并最后到达最远的触发器,其中触发器与clk_in的邻近度由从clk_in节点到触发器的金属长度来限定。时钟信号的归因于时钟树150的插入延迟与至时钟树150内的该触发器的布线长度成比例。然而,在该示例中,归因于时钟树150的插入延迟小于归因于数据信号布线的插入延迟,这是因为时钟树150由于该架构(该架构将触发器放置在数据节点阵列的一侧上)已保持相对较小。

当触发器接收到时钟的上升沿时,该触发器通过管芯上数据布线向节点传送数据。例如,触发器131接收到时钟边沿并且将其数据锁存出而至驱动器121,该驱动器121通过管芯上数据布线111将数据信号驱动到数据节点101。其它触发器在将它们的数据传送到其对应数据节点时类似地采取动作。数据节点101与管芯到管芯数据通道(未示出)处于通信,该管芯到管芯数据通道将数据传送到管芯到管芯子系统200上的数据节点201。数据信号沿管芯上数据布线211行进至触发器231,该触发器231在接收到的时钟边沿处锁存入数据。再一次,其它数据节点通过在管芯到管芯数据通道上传递它们的相应数据比特而以类似方式进行操作,其中这些数据比特在管芯到管芯子系统200上的数据节点处被接收和锁存并且由接收触发器接收和锁存。

由此在上面的示例中,数据信号穿过管芯上数据布线111、随后是管芯到管芯数据通道(未示出)、以及另一管芯上数据布线211,之后被锁存在接收触发器231处。然而,如上面提及的,管芯上数据布线111的相对短的长度由管芯上数据布线211的相对长的长度来补充。管芯上数据布线111和管芯上数据布线211的长度的总和与其它数据节点处的其它比特所穿过的长度的总和相同。换句话说,在该示例中,每个数据比特从其传送触发器到其接收触发器穿过基本上相同的距离。并且由于信号延迟与导体长度成比例,因此每个数据比特从传送触发器到接收触发器经历基本上相同的延迟。

时钟信号传播通过可调节延迟元件153,并且经由管芯到管芯子系统100上的管芯上布线156被传送到时钟节点155。时钟节点155与管芯到管芯时钟通道(未示出)处于通信,该管芯到管芯时钟通道与上面提到的管芯到管芯数据通道中的每一者的长度相同。时钟信号沿着管芯到管芯时钟通道传播并到达管芯到管芯子系统200上的时钟节点255。时钟信号随后经由管芯上时钟通道256传播通过副esd保护设备253和缓冲器252并且随后到达时钟树250。时钟信号由时钟树250分发给各个接收触发器(例如,触发器231)。

在该示例中,时钟树250具有与管芯到管芯子系统100的时钟树150基本上相同的架构。因此,在接收触发器231处经历的归因于时钟树250的插入延迟与由传送触发器131经历的归因于时钟树150的插入延迟大致相同。各个实施例对于传送时钟树(例如,时钟树150)使用与对于接收时钟树(例如,时钟树250)相同的架构,以使得可归因于时钟树的时钟插入延迟在给定的传送触发器处与在其对应的接收触发器处基本上相同,从而确保恰当的建立和保持时间。各个实施例可恰适地采用平衡或者非平衡时钟树。

在该示例中,时钟信号穿过与数据比特所穿过的路径基本上相同长度的路径。换句话说,管芯上时钟布线156和256的长度的总和与管芯上数据布线111和211的长度的总和基本上相同。以此方式,时钟信号从缓冲器152到缓冲器252经历与各个数据比特从传送触发器到接收触发器经历的基本上相同的传播延迟。可调节延迟元件153允许对时钟信号的传播延迟的调谐,以提供恰适的建立和保持时间。

当然,各实施例的范围不限于树150和250的严格相同性。在其他示例中,制造工艺瑕疵和变化可能影响金属布线并且还以不明显的方式影响插入延迟。由此,即便有制造工艺瑕疵和变化,树150和250相对于至触发器的金属时钟布线也基本上相同。

此外,各实施例的范围不限于管芯上数据和时钟布线的长度的严格相同性,因为制造工艺瑕疵和轻微变化可能影响那些数据通道中的导体长度。这对于管芯到管芯通道也同样成立。不影响建立和保持时间考量的长度变化在各个实施例中得到出于性能目的基本上相同的物理路径。

图1和2的示例时钟树包括比常规“h”型时钟树更小的金属长度。更少的金属提供了更小的电容,并由此提供了更少的功率耗散。此外,管芯到管芯数据通道和时钟通道可被制造成在长度上相对短,特别是在两个管芯被一起设计的场景中。更短的管芯到管芯数据通道和时钟通道还使用更少的金属,并提供更少的电容、功率耗散、以及建立和保持时间变化。此外,利用管芯到管芯接口中的短布线,传输线影响(例如,来自阻抗不连续性的反射)可以忽略,并且在一些实施例中针对数据比特或时钟的总的三段物理路径可基本上表现为集总点负载。此类特征允许三段物理路径是阻抗匹配的。

图3示出了根据本公开的一个实施例的示例管芯到管芯接口的功能视图,其可以与图1和2的管芯到管芯子系统100和200联用。

管芯到管芯子系统100包括数据节点310和时钟节点330。在该示例中,数据节点310包括被布置成如图1中所示的三十二个数据节点(<31:0>)。时钟节点330对应于图1的时钟节点155。三十二个数据节点中的每一者与数据比特相关联。图3的数据节点310和时钟节点330是解说图1和2的示例中的管芯的比特和节点的另一种方式。

时钟节点330用于将时钟从管芯1转发给管芯2,如上面更详细解释的。在该示例中,时钟与在管芯1处暴露于外部的通孔331处于通信,并通过管芯到管芯时钟布线335传播到时钟节点340处的通孔341。时钟节点340是解说图2的时钟节点255的另一种方式。

管芯到管芯子系统100包括传送时钟树315,其在图3中被概念性地示出,但被理解为对应于图1的时钟树150。传送时钟树315包括用于(从clk_in)接收时钟的缓冲器以及至触发器311(触发器131是其示例)的金属布线。驱动器312包括图1的示例驱动器121。虽然图3中未示出传送时钟树315的具体拓扑排列,但是要理解,树315将具有根据上面针对图1和2所描述的原理的架构。

类似地,接收时钟树325包括用于从时钟节点340接收时钟的缓冲器以及用于向触发器321(触发器231是其示例)分发时钟的金属布线。在该示例中数据节点320具有三十二个节点,其中包括数据节点201。每个节点对应于数据节点310中的一个节点。与图1和2的示例一致,数据节点310和320按使得对应的节点对(一个传送节点和一个接收节点)被类似地放置在其相应管芯上的空间图案来布置。由此,三十二个数据转发通道345中的每一者在长度上是统一的(并且与时钟转发布线335的长度匹配)。

返回至管芯到管芯子系统100,由传送时钟树315将时钟分发给触发器311。在该示例中每个数据节点310与正在存储数据的触发器311中的一者处于通信。当给定触发器311接收到时钟沿时,该触发器311将该数据转发给其相应的数据节点和通孔314。该数据随后在相应的数据转发布线345上被传输给其在数据节点320内的对应节点。该数据由相应通孔324接收并由其相应触发器321在时钟沿处捕捉。该过程与上面针对图1和2所描述的过程相同。

上面图1-3的示例是出于解说性目的提供的,并且要理解,各实施例的范围不限于上面示出的具体实施例。例如,管芯可被适配成服务任何恰适数目的节点(无论是三十二个、五十个、或另一数目)。此外,这些节点处的触发器可以恰适地在上升或下降时钟沿上操作。此外,虽然图3示出了触发器,但是可在各个实施例中使用任何恰适的顺序逻辑电路。

上面图1-3中引述的管芯(并且包括管芯到管芯子系统)可被包括在多管芯封装中。图4示出了根据一个实施例适配的可容适管芯的一个示例多管芯封装。

图4包括两个视图410和420。视图410是包括管芯1和管芯2的封装400的侧视图。在该示例中,管芯1和管芯2表示具有任何恰适数目的暴露于外部的触点的管芯。此处针对管芯1和管芯2所描述的概念适用于包括上面的示例的管芯到管芯子系统100和200的管芯,以及任何其它恰适的管芯。视图420是中介体402中服务管芯1的部分的剖视图。

专注于视图410,管芯1和管芯2通过如上面更详细解释的数据和时钟转发布线(未示出)彼此处于通信。管芯1和2还与封装400外表面上的焊球处于通信。一个示例焊球403在视图410中被标记,并且视图410在该侧视图中示出了九个焊球。管芯1、管芯2和中介体402根据现在已知或以后开发的任何恰适的封装技术被封装在封装400中。各实施例的范围不限于任何特定的封装技术。

视图420示出了中介体402的一部分的横截面。焊球422对应于视图410中所示的焊球中的两个焊球(例如,焊球403)。焊球422通过穿硅通孔(tsv)423与金属层m1和m2处于通信。结构424与金属层m1和m2以及管芯1和2的数据和/或时钟节点处于通信。由此,中介体402提供管芯与焊球之间的通信以及管芯自身之间的通信。例如,金属层m1可被用于提供管芯之间的通信,其中管芯之间的通信包括图3的数据转发布线和时钟转发布线。

图5是根据一个实施例适配的另一示例多管芯封装500的解说。此处针对管芯1和管芯2所描述的概念适用于包括上面的示例的管芯到管芯子系统100和200的管芯,以及任何其它恰适的管芯。在图5的示例中,管芯1和管芯2被设置在半导体基板516上,并且使用恰适的半导体制造工艺在管芯1、管芯2和基板516上生长封装。例如,生长电介质层,随后部分地蚀刻掉该电介质层以容适金属层的沉积。图5中示出了金属层m1、m2和m3,并且要理解,金属层m1、m2和m3被构建在电介质层上。在形成电介质层和金属层之后,在该封装的外表面上形成焊球525和526。该封装由此包括管芯1、管芯2、多个电介质层和金属层、以及外部焊球。

封装500不同于封装400(图4)之处在于该封装是使用半导体制造工艺(例如,沉积、蚀刻、溅镀等)“生长”在管芯1和2上的,而不是从使用传统封装技术(例如,粘合剂以及类似物)封装在一起的多个分开的部分组装起来的。

在该示例中,管芯1包括节点511、512,并且管芯2包括节点521、522。数据节点512和522是使用金属数据布线515(管芯到管芯数据通道的示例类型)来共享数据的数据节点(例如,类似于图3的节点310和320中的个体节点)。节点511和521通过金属层m1-m3分别与焊球525和526处于通信。在图5的实施例中未显式地示出时钟树,但要理解,可在金属层m1、m2或m3中的任何金属层中形成时钟树。

图5仅作为示例,并且应理解,其他实施例可在特定封装中包括多得多的金属层和多得多的焊球。此外,封装可包括两个以上管芯。

各个实施例可为封装设计提供一个或多个优点。例如,当预先已知哪个管芯将被放置在封装中时,可实现诸如图1和2中的那些数据和时钟通道,以向给定管芯以及管芯到管芯的节点分发数据和时钟。这是因为可一起设计管芯,其具有允许两个管芯的对应节点的匹配的插入延迟的布局。该封装可被进一步设计成将管芯彼此邻近地放置以允许对应节点之间短且统一的数据和时钟转发布线。由此,在预先已知两个管芯在封装中的放置的管芯到管芯接口中,一些实施例可具有构建能够容忍一些时钟偏斜的管芯到管芯链路的增加的灵活性,以交换诸如使用较少金属和较少功率的短的数据和时钟转发布线的益处。

各个实施例还可提供另一优点。如上面提及的,一些实施例将顺序逻辑和时钟树的放置局部化到触点阵列的特定侧。通过使管芯1和管芯2中的管芯到管芯电路系统局部化,与跨触点分布电路系统相对,该设计较少依赖于实现电路系统的技术。作为解说,一些管芯到管芯实现的成本节省机会在于,可以用与管芯2不同的技术来实现管芯1,其中相应的技术刚好足以满足管芯1和管芯2子系统的性能要求。在10nmcmos中构建管芯1而在28nmcmos中构建管芯2的示例中,用于构建管芯2中的电路系统的区域很可能显著大于管芯1中的区域。通过将管芯到管芯电路系统放置到触点阵列的一侧(如上面针对图1和2所描述的),触点的区域密度不再潜在地受到较旧技术的电路系统面积的约束,而是简单地受到集成管芯1和管芯2的常见封装技术的约束。由此,一些实施例可提供更灵活的设计。

图6是根据一个实施例适配的示例管芯到管芯接口的解说。具体而言,图6示出了可与上面描述的各实施例中的任何实施例联用的示例管芯到管芯数据布线图案。管芯1和管芯1各自包括三乘三节点阵列,其在空间上被放置成使得每个管芯上被类似地定位的节点相互对应。例如,节点601a对应于节点602a,节点601b对应于节点602b,并且节点601c对应于节点602c。每个管芯上的其它六个节点类似地对应。

节点601a和602a通过数据通道603a处于通信,节点601b和602b通过数据通道603b处于通信,并且节点601c和602c通过数据通道603c处于通信。其它六个对应的对也类似地处于通信。值得注意的是,数据通道603a-c中的每一者以及其它未标记的数据通道在长度上是统一的。由此,每个对应的节点对在从管芯1向管芯2传达信息时具有基本上相同的延迟。尽管在图6中未示出,但是要理解,也可使用与数据通道基本上相同长度的时钟通道。各实施例的范围不限于管芯上任何特定的节点数目或对应对的数目,因为图6的三乘三阵列是一个示例。

现在将讨论针对图1-6的电路的示例使用方法。

示例使用方法

图7是根据一个实施例在管芯到管芯接口处提供数据和时钟信号的示例方法700的流程图。可由图1-6中所示的管芯来执行方法700。在示例方法700中,针对如图1和2中所示的电路布局来执行各动作。具体而言,每个管芯到管芯子系统包括数据节点阵列、至少一个时钟节点,并且每个管芯到管芯子系统以相同方式将其数据节点布置在阵列中。一个管芯沿着其数据节点阵列和管芯到管芯子系统的一侧来放置其时钟树和顺序逻辑电路。另一管芯沿着其数据节点阵列和管芯到管芯子系统的另一侧来放置其时钟树和顺序逻辑电路,其中每个管芯使用不同的一侧。例如,两个管芯可使用右手相对于左手的关系来放置时钟树和顺序逻辑电路。

由此,与图1和2一致,对应的节点对包括处理从管芯到管芯的相同数据比特的传送节点和接收节点。传送节点和接收节点两者在空间上基本上相同地被放置在它们相应的节点阵列内。

此外,对于每个数据比特,第一管芯的管芯上数据布线具有由第二管芯的管芯上数据布线的长度来补充的长度。管芯上数据布线的相对长的长度由另一管芯上的管芯上数据布线的相对短的长度来补充。两个管芯的针对给定比特的管芯上数据布线的总和对于每个比特基本上相等。作为结果,归因于管芯上数据布线的传播延迟对于每个比特应当也基本上相同。时钟路径包括管芯上时钟布线,其总和与数据布线的总和大致相同。

数据输入在第一管芯上接收并行二进制数据并将该并行二进制数据传递到第一管芯上的顺序逻辑电路,例如触发器。针对并行二进制数据中的每一个比特执行下面在框710-730处所描述的动作。

该方法开始于框710,其包括:在沿着第一管芯的管芯到管芯子系统的一侧布置的顺序逻辑电路处接收时钟。每个比特与相应的顺序逻辑电路相关联,并且每个顺序逻辑电路接收时钟。

在框720处,响应于接收到时钟,顺序逻辑电路将其数据比特沿着第一管芯上的物理布线传送到第一管芯上的数据节点中的相应数据节点、沿着管芯到管芯通道传送到第二管芯上的数据节点、并从第二管芯上的该数据节点传送到沿着第二管芯的管芯到管芯子系统的一侧布置的顺序逻辑电路。在一些实施例中,每个比特穿过管芯上物理布线的统一的长度总和,并且管芯到管芯数据通道在长度上也基本上统一。

在框730处,响应于接收到时钟,第二管芯的顺序逻辑电路捕捉数据比特。当并行数据比特从传送触发器通过物理数据路径(包括管芯上和管芯到管芯路径)被转发给另一管芯上的接收触发器时,由图1和2的电路例示了框710-730的动作。如上面提及的,物理数据路径对于每个数据比特类似,并且由此每个数据比特经历类似的传播延迟。

在框740处,将时钟从第一管芯上的时钟节点传送到第二管芯上的时钟节点。时钟信号穿过与每个数据比特所穿过的物理布线类似的物理布线。

在图1和2的示例中,时钟在传送(第一)时钟树处被接收并随后通过时钟转发通道被转发给接收(第二)时钟树。由此,接收时钟树处的时钟在短延迟之后抵达,该短延迟被添加到接收树自身处的任何插入延迟。在一些实施例中,每个管芯上的对应触发器(换言之,处理相同数据比特的传送触发器和接收触发器)经历相同的可归因于时钟树的插入延迟,以使得可归因于时钟树的延迟被消去。

各实施例的范围不限于图7中所示的具体方法。其他实施例可添加、省略、重新安排、或修改一个或多个动作。例如,当从管芯到管芯地传送数据比特时,执行框740的动作(其中从管芯到管芯地传送时钟)。换句话说,方法700中各框的排列不限于动作的特定顺序。此外,在许多真实世界应用中,随着管芯在它们之间传递数字信息比特,框710-740的动作被连续执行,可能每秒数百万或数十亿次。

如本领域普通技术人员至此将领会的并取决于手头的具体应用,可以在本公开的设备的材料、装置、配置和使用方法上做出许多修改、替换和变化而不会脱离本公开的精神和范围。有鉴于此,本公开的范围不应当被限定于本文所解说和描述的特定实施例(因为其仅是作为本公开的一些示例),而应当与所附权利要求及其功能等同方案完全相当。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1