用于将电力和热管理集成到集成电路中的系统和方法与流程

文档序号:18264065发布日期:2019-07-27 08:56阅读:146来源:国知局
用于将电力和热管理集成到集成电路中的系统和方法与流程

本公开涉及使集成电路的不同区域能够执行针对集成电路中的不同区段或者区段的集合的电力管理操作。更具体而言,本公开涉及提供用以将电力和热管理电路部件集成到可编程逻辑器件(例如,现场可编程门阵列(fpga)器件)中的系统和方法。

本部分旨在向读者介绍可能与在下文中描述和/或要求保护的本公开的各个方面相关的本领域技术的各个方面。该论述被认为有助于为读者提供背景信息以便于更好地理解本公开的各个方面。因此,应当理解,要从这一角度阅读这些文字描述,而不是将看作对现有技术的承认。

可编程逻辑器件是一种能够被编程为执行宽范围的各种操作的集成电路。可编程逻辑器件可以包括通过被称为配置随机存取存储器(cram)的存储器的形式被编程的可编程逻辑元件。因而,为了将电路设计编程到可编程逻辑器件中,可以将电路设计编译成位流,并将其编程到cram单元中。被编程到cram单元中的值定义了可编程逻辑器件的可编程逻辑元件的操作。

可编程逻辑器件的高度灵活的性质使得其非常适于对很多计算任务进行加速。因而,可编程逻辑器件被越来越多地用作用于机器学习、视频处理、语音识别、图像识别以及很多其它高度专业化的任务、尤其是在运行于处理器上的软件中的过慢或者低效的那些任务的加速器。

在一些情况下,包含可编程逻辑器件的集成电路提供一种高度灵活的平台,其能够在制造之后被配置有自定义电路设计。然而,可以被编程到这种类型的集成电路中的可能设计的灵活性和变化性还提供了该集成电路的要用于不同目的和功能的不同区段。由于集成电路被编程为执行各种功能,因而集成电路的不同区段可能在不同时间是活动的或者消耗动态电力。然而,即使在集成电路的相应区段并未执行操作时,集成电路往往也消耗静态电力。这样,基于每个相应区段的相应操作控制提供给集成电路的不同区段的电力可能是有用的。

附图说明

在阅读以下具体实施方式并参考附图时,可以更好地理解本公开的各个方面,在附图中:

图1是根据本公开的实施例的用于基于由集成电路接收的电路设计对集成电路进行编程的系统的方框图;

图2是根据实施例的包括可编程逻辑器件的封装的方框图,在所述逻辑器件中织构管芯与基础管芯竖直堆叠;

图3是根据实施例的可编程逻辑器件的示例性逻辑布置的方框图;

图4是示出了根据实施例的可编程逻辑器件的包含可编程逻辑织构的织构管芯和可编程逻辑器件的主要包含对可编程逻辑织构进行操作的非织构电路的基础管芯的方框图;

图5是根据实施例的织构管芯的示例性拓扑结构的方框图;

图6是根据实施例的基础管芯的示例性拓扑结构的方框图;

图7是根据本公开的实施例的包括图1的集成电路的不同层的系统的示图;

图8是示出了根据本公开的实施例的图1的集成电路中的不同层的侧面剖面的方框图;以及

图9是示出了根据本公开的实施例的具有对应于图1的集成电路的四个区段的四个示例性瓦片的内插器电路的部分的方框图。

具体实施方式

下文将描述一个或多个具体实施例。为了提供这些实施例的简要描述,本说明书中未描述实际实施方式的所有特征。应当理解,在任何这种实际实施方式的开发过程中,如在任何工程或设计项目中,必须做出多个实施方式特定的决策以达到开发者的特定目标,例如符合系统相关和商业相关的约束,所述约束对于不同实施方式可以发生变化。此外,应当理解,这种开发工作可能是复杂且耗时的,但对于从本公开中受益的普通技术人员而言,这不敢是设计、制造和生产的常规任务。

集成电路在操作时,例如在实施被编程在集成电路中的设计时,消耗电力。一般而言,在集成电路消耗更少的电力时,其将变得没有那么高的操作成本。此外,更低的功耗还将使得散热更少,从而使集成电路能够在更凉的温度下进行操作。结果,制造商可以将更多的部件包括到集成电路上,和/或使部件更紧凑地包装到集成电路上。此外,更凉的操作温度提高了集成电路的寿命。此外,在集成电路的电源是电池的情况下,更低的功耗转化成更长的电池寿命和/或更小的电池占用空间(例如,在印刷电路板上)。

出于这种考虑,为了减少集成电路消耗的电力,可能有用的是使集成电路的可能未在使用的不同区域断电。通过示例,集成电路可以被划分成多个区段,以使得不同区段可以被用于执行各种各样的操作。为了对集成电路的每个区段进行编程,可以将配置数据经由配置路由系统路由至每个区段,以在集成电路的各种区段中实施各种设计。此外,由于可以将每个区段用于不同操作,因而集成电路可以包括一条或多条路由路径(例如,使用诸如导线的连接部件将集成电路的部件连接到一起的电路路径)、可经由集成电路的外围设备访问的部件、等等,所述路由路径允许将用户逻辑数据从集成电路的某些区段传送至集成电路中的其它区段。出于这种考虑,如果区段的集合或者区段组是通过设置在集成电路上的电压调节器供电的,那么在使区段组断电时,在区段、部件等之间传送配置数据和/或用户逻辑数据可能变得有挑战性。也就是说,由于无法经由位于断电的区段组中的区段传输数据,因而在已经识别出或者存在替代的通信路由时,所述数据可以被传输至其目的地。

出于这种考虑,本公开总体上涉及将一个或多个电压调节器(例如,完全集成的电压调节器(fivr))以及一个或多个热传感器控制器集成到集成电路中,以使得可以根据不同的电力管理方案对集成电路内的每个区段或者区段的集合进行操作(例如,使区域断电、电压频率缩放、动态电压频率缩放、温度裕量恢复)。也就是说,一个电压调节器可以电耦合至集成电路的一个或多个区段,以向相应的一个或多个区段提供电力。

为了向集成电路中的每个区段或者区段的集合(即,区段组)提供不同类型的电力管理操作,可以将多个电压调节器并入单个集成电路中。在一些情况下,这些电压调节器可以被置于集成电路的边缘,以使得一个电压调节器可以向集成电路中的一个或多个相邻区段提供电压。尽管将这些电压调节器放置到集成电路的边缘可以提高集成电路中的不同区段相互通信而无需在电压调节器周围路由数据的能力,但是集成电路的性能可能降低。此外,在通过相应的电压调节器使某些区段断电时的情形中,将电压调节器放置到集成电路的边缘还使得在集成电路中的区段之间的通信更加困难。按照同样的方式,在通过相应的电压调节器使集成电路的某些区段断电时,如果相应区段被未被供电的区段分开,则集成电路使用不同区段进行性能缩放的能力变得较不可行。

考虑到上述内容,在本公开的某些实施例中,可以将一个或多个电压调节器嵌入到可以设置在集成电路上方或下方的单独内插器器件中。内插器器件可以包括集成电路的每区段一个电压调节器,或者包括集成电路的每区段组一个电压调节器。在任一种情况下,通过将电压调节器置于内插器器件上而非集成电路上,集成电路的区段可以由于更细粒度地分配的电压调节器而在相互通信和电力分配方面具有提高的灵活性。也就是说,替代基于相应电压调节器在集成电路上的位置而控制提供给集成电路的区段的电力,可以将更多的电压调节器放置于内插器器件上,从而向更多的区段或者区段组提供电压,而不局限于向位于集成电路的相应边缘附近的区段分配电压。换言之,由于内插器器件提供了额外的平面,在该平面中多个电压调节器可以电耦合至不同区段或区段组,从而提高了电压调节器对其相应区段或区段组的可及性,而不抑制集成电路的区段之间的配置数据或用户数据的传送。

应当指出,相应区段可以包括处于彼此之间的电路部件,以隔离通往相应区段的电力、执行动态电压频率缩放(dvfs)操作等。例如,用于隔离的电路和/或电平移位器可以置于区段之间,以允许区段间导线根据各种电压操作(例如,断电、频率缩放)进行操作。在一些实施例中,性能监测电路可以跟踪每个区段的操作,并基于相应区段的特性而控制电压频率缩放操作、断电操作以及隔离电路操作。

除了将电压调节器并入到内插器器件中之外,在一些实施例中,还可以将热传感器电路并入到内插器器件中,以监测集成电路中的区段的温度。也就是说,可以将一个或多个热传感器设置在集成电路上,以测量被定位在与热传感器相邻处的一个或多个区段或者一个或多个区段组的温度。在一些实施例中,基于经由热传感器接收的温度测量,热传感器电路的热传感器控制器可以调整耦合至相应区段或区段组的相应电压调节器的操作,以改善集成电路的操作。

牢记前面内容,在某些实施例中,可以将多个电压调节器并入到可以耦合至集成电路的内插器器件中,以向集成电路中的不同区段或区段组提供电力(例如,电压)。这样,与设置在集成电路自身上的电压调节器相比,可以使用电压调节器控制更多的区段或区段组。与设置在集成电路自身上的电压调节器相比,额外的电压调节器可以使集成电路能够控制对集成电路的额外区段的电力操作(例如,断电、电压频率缩放、动态电压频率缩放)。

可用于控制对集成电路中的许多区段的电压操作的电压调节器的提高的密度为集成电路提供了提高的电力管理能力。此外,控制提供给集成电路的每个区段的电力的能力可以使集成电路能够使某些区段与集成电路内的其它区段相比以更高的电压进行操作,从而为由所述某些区段执行的相应操作提供提高的性能。

如上文所讨论的,除了电压调节器的提高的可用性之外,在某些实施例中,内插器器件可以包括用于集成电路中的每个区段或者许多区段组中的每个区段组的热传感器电路,以监测相应区段或者相应区段组的温度。通过将热传感器电路与电压调节器包括到同一内插器器件上,热传感器电路的控制器可以基于相应区段或者相应区段组的温度而控制相应电压调节器的操作。结果,集成电路可以通过确保不同区段或者区段组在预期温度范围内进行操作而具有改善的热管理。下文将参考图1-图5提供有关上文描述的实施例的额外细节。

通过介绍,图1示出了根据本公开的实施例的可以基于由集成电路12接收的设计编程对集成电路12进行编程的系统10的方框图。集成电路12可以是可重新配置编程逻辑器件(例如,现场可编程门阵列(fpga)),其具有用于可编程逻辑织构和织构支持电路的单独管芯。用户可以使用设计软件14(例如,intel的的版本)实施要被编程到集成电路12上的电路设计。

设计软件14可以由计算系统18的一个或多个处理器16执行。计算系统18可以包括能够执行设计软件14的任何适当装置,例如,台式计算机、膝上型电脑、移动电子装置、服务器等。计算系统18可以对集成电路12进行访问、配置和/或与之通信。(多个)处理器16可以包括多个微处理器、一个或多个其它集成电路(例如,专用集成电路、现场可编程门阵列、精简指令集处理器等)或其某种组合。

一个或多个存储器装置20可以存储设计软件14。此外,(多个)存储器装置20可以存储有关集成电路12的信息,例如,控制软件、配置软件、查找表、配置数据等。在一些实施例中,(多个)处理器16和/或(多个)存储器装置20可以处于计算系统18外部。(多个)存储器装置20可以包括有形的非暂态机器可读介质,例如,易失性存储器(例如,随机存取存储器(ram))和/或非易失性存储器(例如,只读存储器(rom))。(多个)存储器装置20可以存储各种信息并且可以用于各种用途。例如,(多个)存储器装置20可以存储用于由(多个)处理器16执行的机器可读和/或处理器可执行指令(例如,固件或软件),例如,用以确定集成电路12或者集成电路12的区域的速度的指令、用以确定被编程到集成电路12或者集成电路12的区域中的设计的路径的关键程度的指令、用以将设计编程到集成电路12或者集成电路12的区域中的指令等。(多个)存储器装置20可以包括一个或多个存储装置(例如,非易失性存储装置),其可以包括只读存储器(rom)、闪存存储器、硬盘驱动器、或者任何其它适当的光存储介质、磁存储介质或固态存储介质或者它们的任何组合。

设计软件14可以使用编译器22生成对集成电路12进行编程的低级电路设计程序24(位流),其有时被称为程序对象文件和/或配置程序。也就是说,编译器22可以提供表示针对集成电路12的电路设计的机器可读指令。例如,集成电路12可以接收应当存储到集成电路12中的描述硬件实施方式的一个或多个程序24(位流)。程序24(位流)可以被作为程序配置26而编程到集成电路12中。程序配置26可以被表示为即使在可编程逻辑器件的各个区段中的一者或多者被断电时也被路由到这些区段的“配置数据”,。在一些情况下,程序配置26可以表示为机器学习、视频处理、语音识别、图像识别或者其它高度专业化的任务执行的加速器功能。

在一个实施例中,集成电路12可以是织构管芯的部分,下文将参考图2对其予以更加详细的讨论。集成电路12电耦合至内插器电路28,内插器电路28可以是将在下文参考图2予以讨论的织构管芯支持的部分。内插器电路28可以是硅内插器,其包括可以向集成电路12上的区段提供电力、数据、控制命令等的许多电路部件。这样,内插器电路28可以被定位为基本上与集成电路12平行,并且可以经由设置在内插器电路28和集成电路12之间的微凸块而电耦合至集成电路12。如下文将讨论的,微凸块可以使内插器电路28上的不同电路部件耦合至集成电路12上的特定电路部件。

通过示例,设置在内插器电路28上的电路部件可以包括一个或多个电压调节器30以及一个或多个热传感器电路32等。电压调节器30可以包括向集成电路12中的一个或多个区段提供电压的电压源。在一个实施例中,电压调节器30可以包括提供对施加至集成电路12的相应区段的电压的控制的完全集成电压调节器(fivr)。这样,电压调节器30可以向集成电路12的区段提供电力、电压频率改变、作用电压恢复裕量操作、动态电压频率缩放、以及其它电压信号。

热传感器电路32可以包括测量集成电路的区段或部分或者内插器电路28的部分的温度或由其产生的热量的一个或多个热传感器。此外,热传感器电路32可以包括控制器,其可以接收来自热传感器的数据并且发送控制电压调节器30的操作的信号。例如,控制器可以向电压调节器30发送命令,以中止操作,增大电压频率,降低电压频率等。

与将电压调节器30和热传感器电路32并入到集成电路12中相比,通过在与集成电路12相比处于单独平面上的内插器电路28上包括电压调节器30和热传感器电路32,系统10可以包括更多的电压调节器30和热传感器电路32。结果,电压调节器30可以提供电压并且控制集成电路12中的更多区段的电压操作。实际上,在一些实施例中,集成电路12的每个区段可以包括经由内插器电路28与之耦合的专用电压调节器30和热传感器电路32。通过这种方式,每个个体区段或者区段的集合(即,区段组)可以被断电,可以使其相应的电压信号受到调整,等等。

与电压调节器30设置在集成电路12自身上时相比,通过使用设置在内插器电路28上的电压调节器30管理提供给集成电路12的每个区段的电力,集成电路12可以提供可以在集成电路12的区段之间传送数据的额外的路由。也就是说,由于集成电路12上可用的空间有限,因而设置于其上的任何特定电压调节器30可以控制多个区段,这些区段在被断电时使得集成电路12的区域或者某一面积变得不可访问。相反,通过经由内插器电路28对提供给集成电路12中的个体区段的电力进行单独管理,集成电路12可以避免使集成电路12的整个区域或者部分断电。替代地,被断电的区段可以是跨越集成电路分配的,或者可以是基于规定而选择的,以跨越集成电路12中的某些区段在任何特定方向上保持连接性。此外,在一些实施例中,片上网络(noc)可以被集成到内插器电路28中,以使得noc受到连续供电,以向集成电路的任何区段提供配置数据和/或用户数据。

热传感器电路32也可以在监测集成电路12中的不同个体区段的温度方面提供类似的优点。此外,热传感器电路32的控制器可以通过控制相应的电压调节器30来控制提供给集成电路12的区段的电力。通过使用温度数据控制电压调节器的操作,并且因而控制集成电路12的区段,集成电路12可以降低集成电路12所使用的电力的量。例如,当正在执行某些操作的区段正在以超过阈值的温度进行操作时,集成电路12可以暂停这些操作。此外,如果区段温度超过了阈值,那么集成电路12或者管理集成电路12中的区段的操作的控制器可以将由高温区段执行的操作转移到另一区段。这样,可以通过防止某些区段在高温下操作而扩展集成电路12的集成度和寿命。集成电路12可以表示包括具有两个分开的集成电路管芯的可编程逻辑器件的任何集成电路装置,其中,可编程逻辑织构中的至少一些与操作可编程逻辑织构的织构支持电路中的至少一些分开。图2示出了可编程逻辑器件12的一个示例,但是应当理解本公开旨在涵盖在不同的集成电路管芯上将可编程逻辑织构和织构支持电路至少部分地分开的任何适当集成电路12。实际上,在图2的示例中,集成电路12包括织构管芯42和基础管芯44,它们经由微凸块46相互连接。尽管织构管芯42和基础管芯44在图2中呈现一对一关系,但是也可以使用其它关系。例如,单个基础管芯44可以附接至若干织构管芯42,或者若干基础管芯44可以附接至单个织构管芯42,或者若干基础管芯44可以附接至若干织构管芯42(例如,沿x方向和/或y方向按照交错模式)。外围电路48可以附接至基础管芯24或者嵌入于其内,和/或可以设置在基础管芯24的顶部,并且散热器50可以用于减少集成电路12上的热量累积。散热器50可以出现在封装上方(如图所示)和/或下方(例如,作为双侧热沉)。基础管芯44可以经由c4凸块54附接至封装衬底52。在图2的示例中,示出了经由硅桥46(例如,嵌入式多管芯互连桥(emib))以及硅桥接口59处的微凸块相互通信连接的两对织构管芯42和基础管芯44。

织构管芯42和基础管芯44组合起来可以作为可编程逻辑器件(例如,现场可编程门阵列(fpga))进行操作。例如,织构管芯42和基础管芯44组合起来可以作为fpga60进行操作,如图3所示。应当理解,图3所示的fpga60意在表示在织构管芯42和基础管芯44二者组合起来进行操作时的电路的类型和/或可编程逻辑器件的逻辑布置。换言之,可以在织构管芯42中找到图3所示的fpga60的电路中的一些,并且可以在基础管芯44中找到图3所示的fpga60的电路中的一些。此外,出于该示例的目的,fpga60被称为fpga,但是应当理解,该器件可以是任何适当类型的可编程逻辑器件(例如,专用集成电路和/或专用标准产品)。

在图3的示例中,fpga60可以包括用于驱动信号离开fpga60以及用于接收来自其它器件的信号的收发器电路(hssi)64。收发器电路(hssi)可以是织构管芯42、基础管芯44的部分,或者可以完全是单独的管芯。可以使用互连资源66通过fpga60路由诸如时钟信号或数据信号的信号。图3的fpga60被示为是区段化的,这意味着可以通过许多分立的可编程逻辑区段68对可编程逻辑资源进行分配。每个可编程逻辑区段68可以包括具有由配置存储器72(例如,配置随机存取存储器(cram))定义的操作的许多可编程逻辑元件70。可编程逻辑元件70可以包括组合或者顺序逻辑电路。例如,可编程逻辑元件70可以包括查找表、寄存器、复用器、路由线等。设计者可以对可编程逻辑元件70进行编程,以执行各种各样的期望功能。电源74可以向配电网络(pdn)76提供电压和电流的源,配电网络76向fpga60的各种部件分配电力。操作fpga60的电路使得电力被从配电网络76汲取。

在fpga60上可以存在任何适当数量的可编程逻辑区段68。实际上,尽管此处示出了29个可编程逻辑区段68,但是应当认识到在实际的实施方式中可以出现更多或者更少的可编程逻辑区段(例如,在一些情况下,有大约50个、100个或者1000个区段或者更多)。每个可编程逻辑区段68可以包括控制可编程逻辑区段68的操作的区段控制器(sc)78。每个区段控制器78可以与器件控制器(dc)80通信。每个区段控制器78可以接受来自器件控制器80的命令和数据,并且可以基于来自器件控制器80的控制信号从其配置存储器72读取数据以及向其配置存储器72中写入数据。除了这些操作之外,可以为区段控制器78和/或器件控制器80补充很多额外的能力。这种能力可以包括协调局部织构存储器(例如,局部织构存储器或者用于数据存储的cram)和与该特定可编程逻辑区段68相关联的区段对准的存储器之间的存储器事务,对配置程序(位流)24进行解密,以及对读和写进行局部排序以对配置存储器72实施错误检测和校正并且对测试控制信号进行排序以实现各种测试模式。

区段控制器78和器件控制器80可以被实施为状态机和/或处理器。例如,区段控制器78或者器件控制器80中的每个操作可以被实施为包含控制程序的存储器中的单独例程。该控制程序存储器可以被固定在只读存储器(rom)中或者可以被存储在可写存储器(例如,随机存取存储器(ram))中。rom可以具有比用于仅存储每个例程的一个副本的尺寸更大的尺寸。这可以允许每个例程根据局部控制器可以被置于的“模式”而具有多个变型。在控制程序存储器被实施为随机存取存储器(ram)时,ram可以被写入新的例程,以将新的操作和功能实施到可编程逻辑区段68中。这样做可以按照有效率并且易于理解的方式提供有用的可扩展能力。这样做可以是有用的,因为新的命令可以在区段内带来大量的局部活动,其代价是器件控制器80和区段控制器78之间的少量通信。

每个区段控制器78可以与器件控制器80通信,器件控制器80可以协调区段控制器78的操作,并且可以传达从fpga器件60的外部发起的命令。为了支持该通信,互连资源66可以充当器件控制器80和每个区段控制器78之间的网络。互连资源可以在器件控制器80和每个区段控制器78之间支持宽范围的各种信号。在一个示例中,这些信号可以被作为通信分组而传输。

fpga60可以被电编程。就电编程布置而言,可编程元件70可以包括一个或多个逻辑元件(导线、门、寄存器等)。例如,在编程期间,可以使用引脚以及输入/输出电路将配置数据加载到配置存储器72中。在一个示例中,配置存储器72可以被实施为配置随机存取存储器(cram)单元。文中描述的对基于ram技术的配置存储器72的使用旨在仅作为一个示例。此外,配置存储器72可以被分配在fpga60的各个可编程逻辑区段68的各处(例如,作为ram单元)。配置存储器72可以提供对应的静态控制输出信号,其控制相关联的可编程逻辑元件70或者互连资源66的可编程部件的状态。配置存储器72的输出信号可以被施加至金属氧化物半导体(mos)晶体管的栅极,其控制可编程逻辑元件70或者互连资源66的可编程部件的状态。

如上文所陈述的,图3所示的fpga60的逻辑布置可以是由织构管芯42和基础管芯44的组合得到的。可以按照任何适当方式划分织构管芯42和基础管芯44的电路。在一个示例中,如图4中以方框图的形式所示,织构管芯42包含主要可编程逻辑织构资源,例如可编程逻辑元件70和配置存储器72。在一些情况下,这可能还需要某些织构控制电路,例如区段控制器(sc)78或者器件控制器(dc)80。基础管芯44可以包括用于操作可编程逻辑元件70和配置存储器72的支持电路。如此处所示,基础管芯44包括区段1支持电路90a和区段2支持电路90b,以支持织构管芯42的可编程逻辑元件70和配置存储器72的两个对应区段。基础管芯44还可以包括用于织构管芯42的其它区段的支持电路。

织构管芯42和基础管芯44可以共同保持可以包含集成电路12的任何适当电路。因而,在一个示例中,织构管芯42可以包括主要可编程逻辑织构资源,例如可编程逻辑元件70和配置存储器72,基础管芯44可以包括(除其它之外)器件控制器(dc)80、区段控制器(sc)78、片上配置网络(cnoc)、片上网络(noc)数据路由电路、用于对配置程序(位流)或数据进行存储和/或高速缓存的区段对准存储器、用于对可编程逻辑织构进行编程的存储器控制器、用于可编程逻辑织构的输入/输出(i/o)接口或模块、外部存储器接口(例如,用于高带宽存储器(hbm)器件)、嵌入式处理器(例如,加利福尼亚圣克拉拉的intel公司的嵌入式处理器)或者连接至处理器的接口(例如,针对加利福尼亚圣克拉拉的intel公司的嵌入式处理器的接口)、电压控制电路、热监测电路、解耦电容器、电力钳、和/或静电释放(esd)电路,此处只是举出了基础管芯64上可能存在的几种元件。应当理解,这些元件中的可以是基础管芯24的织构支持电路的部分的一些元件可以额外地或者替代性地是织构管芯22的部分。例如,器件控制器(dc)60和/或区段控制器(sc)58可以是织构管芯22的部分。

图5中示出了织构管芯42的一种物理布置。织构管芯42可以包含包括织构资源102(例如,通过cram编程的可编程元件和/或诸如区段控制器(sc)78或器件控制器(dc)80的某些织构控制电路)和接口电路104的织构区段100的阵列。接口电路104可以包括数据路由和/或时钟资源,并且可以包含连接至基础管芯44的微凸块(ubump)接口。

图6提供了基础管芯44的互补布置。基础管芯44可以表示有源内插器,其具有被外围电路48和硅桥接口59包围的若干区段110。每个区段110可以包括各种织构支持电路,例如,区段对准存储器112、存储器控制电路114、非用户输入控制电路116、非用户输出控制电路118、诸如完全集成电压调节器(fivr)120的电压调节器、一个或多个热传感器122、数据和配置路由器124、和/或数据通路126和配置通路128。存储器控制电路114可以用于对区段对准存储器112、织构管芯42的cram或两者进行编程。非用户输入控制电路116和非用户输出控制电路118可以允许区段110的电路交换数据和/或控制信号(例如,经由可配置数据路由片上网络(noc)或者片上配置网络(cnoc))。在一个示例中,非用户输入控制电路116和非用户输出控制电路118可以作为用于对应织构区段80(图5中未示出)的区段控制器(sc)78进行操作。fivr120以及一个或多个热传感器122可以用于向对应的织构区段100(图5中未示出)提供期望的电压,以使所述电压能够取决于电力和热规范(例如,至少部分地基于由热传感器122测量的温度和/或根据动态电压和频率缩放(dvfs)方案)而被选择性地放大或缩小、或去除。尽管热传感器122处于与可编程逻辑织构元件的管芯分开的管芯中,但是在基础管芯44与织构管芯42直接相邻(如在该示例中)时,由基础管芯44中的热传感器测量的温度可以足够好地对应于织构管芯42,以允许基于温度的操作(例如,关断通往对应织构区段100的电力,以避免永久性拒绝服务(pdos)状况)。尽管图5和图6中所示的物理布置表示可编程逻辑器件电路在织构管芯42和基础管芯44之间的划分的一个示例,但还有很多适当的布置。

考虑到上述内容,图7是根据本公开的实施例的示出图3的集成电路12的区段68的系统40的图示。除了可以是织构管芯42的部分的集成电路12之外,系统40还可以包括内插器电路28,如下文所述。内插器电路28可以是基础管芯44的部分。在某些实施例中,内插器电路28可以包括跨越内插器电路28设置的许多电压调节器30和热传感器电路32,以使得每个相应的电压调节器30和热传感器电路32可以位于相应的区段68或者区段68的组上方或下方。这样,每个相应的电压调节器30可以经由通过微凸块等设置在电压调节器30和相应区段68之间的电路连接向相应区段68提供电压。在任何情况下,由于电压调节器30可以位于对应区段68上方或下方,因而系统40可以避免将各种方向上的电压路由抵达相应区段68。实际上,设置在内插器电路28上的一个电压调节器30可以经由横贯一个方向的电连接向对应区段68或区段68的组提供电压。

考虑到上述内容,图8示出了集成电路组件140的侧面剖面的方框图,集成电路组件140包括处于位于织构管芯支座44内的内插器电路28之上的基础管芯42内的区段阵列142。尽管图3中未示出,但是内插器电路28可以包括上文所述的电压调节器30和热传感器电路32。

区段阵列142可以包括许多区段68,以执行集成电路12上的各种操作。在一个实施例中,区段阵列142可以经由许多微凸块144电耦合至内插器电路28。微凸块74可以是可以沉积到区段阵列142或者内插器电路28上的焊料凸块,以在两者之间提供电连接。在一些实施例中,一个电压调节器30可以经由设置在相应的电压调节器30和区段68或区段组之间的一个或多个微凸块144电耦合至一个区段68或者区段68的集合。

通过示例,区段68可以从任何适当方向接收用户数据或者来自集成电路12外部的其它部件的数据或者来自集成电路12内的其它区段68的数据。也就是说,区段68既可以从竖直方向又可以从水平方向接收用户数据。此外,在配置数据被传播至每个区段68的每个配置存储器48时,区段68可以在竖直方向上接收非用户数据或配置数据。

在一个实施例中,区段阵列142可以位于内插器电路28上方,如图8所示。出于这种考虑,一个区段阵列142和对应的内插器电路28可以构成一个集成电路组件140。为了在个体集成电路组件70之间通信,可以将嵌入式多管芯互连桥(emib)146置于集成电路组件170之间。emib146可以在同一封装中的两个集成电路组件140或者两个异构管芯之间提供电互连。这样,不同的集成电路组件140可以经由相应的内插器电路28相互通信,内插器电路28可以向不同区段阵列142的不同区段68传输数据。

为了在可以包括不同电压调节器30和热传感器电路32的内插器电路28上的不同管芯瓦片之间传送数据,内插器电路28可以包括集成于其中的片上网络(noc)系统。例如,图9示出了包括可以设置在四个管芯瓦片152上的noc系统的各种部件,管芯瓦片152可以包括电压调节器30和热传感器电路32。

现在参考图9,每个管芯瓦片152可以包含内插器电路28的部分。在一个实施例中,管芯瓦片152可以包括电压调节器30和热传感器电路32。此外,管芯瓦片152可以包括存储器部件、存储器控制器、输入控制器和输出控制器,如上文参考图6所述。前述控制器中的每者可以是可经由集成在每个管芯瓦片152之间的noc系统154访问的。

考虑到上述内容,noc系统154可以经由设置在每个管芯瓦片82的拐角处的路由器156在每个管芯瓦片152之间提供通信路径。路由器156可以在管芯瓦片152之间路由用户数据,可以向区段68路由用户数据,等等。由于内插器电路28与集成电路12分开,因而即使集成电路12的各个区段68被断电,noc系统154也可以持续通电。通过这种方式,不管被断电的区段68的位置如何,内插器电路28的noc系统154都可以向集成电路12的不同区段68提供可用路由。

除了在区段68之间提供用于用户数据的替代路由之外,内插器电路28可以经由设置在内插器电路28上的相应电压调节器30向不同区段68提供电压或电压信号。例如,每个管芯瓦片82可以对应于集成电路12的特定区段68。这样,集成电路12的每个区段68可以包括向其提供电压和电压信号的相应电压调节器30。此外,集成电路12的每个区段68还可以包括测量其相应温度的相应热传感器电路32。结果,可以在个体区段68层级管理电力操作和热操作,而不受任何特定管芯瓦片152的边界的限制。也就是说,由于每个管芯瓦片152可以与特定区段68相关联,因而每个个体区段68可以在电压操作和热操作方面受到单独管理。

例如,每个区段68可以被单独管理为接收同样的电压电平,因为每个区段68耦合至一个电压调节器30。相反,在许多区段68耦合至设置在集成电路12上的单个电压调节器30时,在每个区段68处接收的电压可能因每个区段68之间的阻抗等而发生变化。此外,每个区段68可以从与之相关联的个体电压调节器30接收某一频率的电压(例如,电压频率缩放)。

按照相同的方式,热传感器电路32可以位于集成电路的相应区段68下面或上方,由此采集与相应区段68有关的温度信息或数据。也就是说,将热传感器电路32并入密切靠近每个区段68处的能力增强了监测每个区段68的温度的能力。这样,集成电路12可以具有针对其中的区段68中的每者的更加精确的温度监测。此外,热传感器电路32的控制器可以监测相应区段68的温度,以判断所述温度是否超过了与区段68的降低的性能参数(例如,速度、效率)或者区段68的缩短的寿命相关联的某一阈值。如果温度超过了该阈值,那么控制器可以向相应的电压调节器30发送信号,以降低提供给相应区段68的电压。在一些情况下,控制器可以向电压调节器30发送命令,从而通过去除提供给相应区段68的电压而使相应区段68断电。

此外,热传感器电路32的控制器可以监测相应区段68的温度,以检测来自另一电路或实体的永久性拒绝服务(pdos)攻击。一般而言,pdos攻击可能试图压倒可以是区段68的部分的电路部件。在某些实施例中,控制器可以在区段68或者区段68的组的温度升高到阈值以上、具有超过阈值的上升速率等等的情况下检测到潜在的pdos攻击。

尽管热传感器电路32被描述为并入到内插器电路28中,但是应当指出,在一些实施例中,热传感器电路32可以被置于集成电路12上,因为电压调节器30将不存在于集成电路12上。通过将热传感器电路32置于集成电路12上,热传感器可以更加精确地检测相应区段68的温度,因为其位于更加靠近相应区段68的位置处。

除了提供对集成电路12中的区段68的改进的热管理之外,内插器电路28还可以经由存储于其上的电压调节器30实现改进的电力管理操作。例如,由于每个区段68可以耦合至相应的电压调节器30,因而每个区段68可以具有更严格或者更精确的电压调节。也就是说,由于电压调节器30可以专用于一个区段68,因而提供给特定区段68的电压(例如,幅度、频率)可以迎合该具体区段68的需要,同时避免电压下降和其它电源问题。此外,每个相应电压调节器30可以为每区段68或者每瓦片152提供电压频率缩放和断电操作。此外,在一些实施例中,控制器可以使用相应的电压调节器30代替可以存在于特定区段68上的偏置生成(biasgen)。

监测和控制相应区段68的电压和热特性的能力还可以使控制器能够将某些区段68用作涡轮增压区段。涡轮增压区段可以是通过经由相应的电压调节器30接收更高的电压电平而以增大的吞吐量操作的区段68。在一些实施例中,控制器可以监测相应区段68的温度,以判断区段68是否低于阈值温度。如果温度低于阈值,那么控制器可以通过增大经由电压调节器30提供给区段68的电压信号(例如,幅度、频率)而使相应区段68作为涡轮增压区段进行操作。

除了监测相应区段68的温度之外,控制器可以监测集成电路12的总功耗。更具体而言,控制器可以监测由每个相应区段68消耗的电力,并且允许某些区段68使用更多电力(例如,在更高电压或频率下操作),而其它区段68则以更少电力操作。在一些实施例中,控制器可以将某些区段68作为涡轮增压区段进行操作,同时确保集成电路12的总功耗不超过某一阈值。通过采用涡轮增压区段,集成电路12可以更有效地利用区段68来更有效率地执行某些操作。

此外,通过在内插器电路28上包括额外的电压调节器30,改进了集成电路12的输电网络(pdn),因为每个区段68有可能接收个体电力源。通过这种方式,可以使集成电路12能够更有效率地执行对区段68的并行配置,因为可以向每个区段68输送电力,同时发生对该区段68的配置。也就是说,对电力的局部调节可以对在集成电路12的配置期间使用的局部电力汲取提供更加鲁棒的响应。结果,可以并行地配置更多的区段68而不导致集成电路的配电网络下降至操作电平以下,由此提高配置性能。

通过操作,可以以每区段68为基础、以每瓦片152为基础等等执行文中描述的电压操作和热管理操作。也就是说,在一些实施例中,每个个体区段68可以与包括电压调节器30和热传感器电路32的相应瓦片152相关联。在其它实施例中,包括电压调节器30和热传感器电路32的每个瓦片152可以与区段68的集合相关联。这样,相应瓦片152的电压调节器30和热传感器电路32可以控制区段68的相应组的电压操作和热管理操作。

尽管在本公开中阐述的实施例可能易于产生各种修改和替代形式,但已经在附图中通过示例的方式示出并且在文中详细描述了具体的实施例。然而,应当理解,本公开并非旨在局限于所公开的特定形式。本公开将涵盖落在由下面的所附权利要求限定的本公开的精神和范围内的所有修改、等价方案和替代方案。

文中介绍并且要求保护的技术参照并且应用于实物以及具有实用性的具体示例,其以可演示的方式改进了本技术领域,并且因而其并不是抽象、无形或者纯理论的。此外,如果附在本说明书结尾的任何权利要求包含被指定为“用于执行……功能的单元”或者“用于执行……功能的步骤”的一个或多个要素,那么其旨在根据35u.s.c.112(f)来解释这种要素。然而,对于包含通过任何其它方式指定的要素的任何权利要求而言,其旨在不根据35u.s.c.112(f)来解释这种要素。

本公开的示例性实施例

下文带编号的条款定义了本公开的某些示例性实施例。

条款1一种集成电路组件,包括:

包括多个可编程逻辑区段的集成电路;以及

被定位为与所述集成电路相邻的内插器电路,其中,所述内插器电路包括:

被配置为向所述多个可编程逻辑区段中的至少一个分配电压的至少一个电压调节器;以及

被配置为测量所述多个可编程逻辑区段中的至少一个的温度的至少一个热传感器。

条款2根据条款1所述的集成电路组件,其中,所述集成电路经由多个微凸块耦合至所述内插器电路。

条款3根据前述条款中的任何条款所述的集成电路组件,其中,

所述内插器电路包括被配置为在所述内插器电路的一个或多个瓦片之间传送数据的片上网络(noc)系统。

条款4根据条款3所述的集成电路组件,其中,所述内插器电路包括被配置为经由所述noc系统传送数据的多个路由器。

条款5根据条款1、2或3中的任何一项所述的集成电路组件,包括控制器,所述控制器被配置为:

经由所述至少一个热传感器接收对应于所述多个可编程逻辑区段中的至少一个的至少一个温度测量;以及

向所述至少一个电压调节器发送至少一个命令,以基于所述至少一个温度测量调整提供给所述多个可编程逻辑区段中的至少一个的至少一个电压信号。

条款6根据条款5所述的集成电路组件,其中,对所述至少一个电压信号的调整包括去除电压信号,调整电压频率缩放或者调整电压幅度。

条款7根据条款1、2、3或5中的任何一项所述的集成电路组件,其中,所述至少一个电压调节器中的每者被配置为向所述多个可编程逻辑区段中的所述至少一个中的相应的可编程逻辑区段提供所述电压。

条款8根据条款1、2、3、5或7中的任何一项所述的集成电路组件,其中,所述至少一个热传感器中的每者被配置为测量所述多个可编程逻辑区段中的所述至少一个中的相应的可编程逻辑区段的温度。

条款9一种集成电路组件,包括:

包括多个区段的集成电路,其中,所述多个区段中的每者包括一个或多个可编程逻辑元件;

被定位为与所述集成电路相邻的内插器电路,其中,所述内插器电路包括多个电压调节器和多个热传感器;以及

被配置为基于由所述多个热传感器采集的数据经由所述多个电压调节器控制提供给所述多个区段中的每者的电压的控制器。

条款10根据条款9所述的集成电路组件,其中,所述控制器被配置为:

基于所述数据判断所述多个区段中的一个区段的温度是否高于阈值;以及

响应于所述温度超过阈值而经由所述多个电压调节器中的一个调整提供给所述多个区段中的所述一个区段的电压。

条款11根据条款9或10中的任何一项所述的集成电路组件,其中,所述控制器被配置为:

基于所述数据判断所述多个区段中的一个区段的温度的上升速率是否超过阈值;以及

响应于温度的所述上升速率超过阈值而经由所述多个电压调节器中的一个调整提供给所述多个区段中的所述一个区段的电压。

条款12根据条款9、10或11中的任何一项所述的集成电路组件,其中,所述控制器被配置为:

基于所述数据判断所述多个区段中的一个区段的温度是否低于阈值;以及

响应于所述温度低于阈值而经由所述多个电压调节器中的一个提高提供给所述多个区段中的所述一个区段的电压。

条款13根据条款9、10、11或12中的任何一项所述的集成电路组件,其中,所述多个电压调节器中的每者和所述多个热传感器中的每者设置在所述多个区段中的相应区段下面。

条款14根据条款13所述的集成电路组件,其中,所述多个电压调节器中的每者被配置为向所述多个区段中的所述相应区段提供电力。

条款15根据条款13所述的集成电路组件,其中,所述多个热传感器中的每者被配置为测量所述多个区段中的所述相应区段的温度。

条款16一种被配置为管理向集成电路的多个区段的电力分配的控制器,其中,所述控制器被配置为:

经由设置在电耦合至所述集成电路的内插器电路上的至少一个热传感器接收与所述多个区段中的至少一个相关联的温度数据;以及

基于所述温度数据经由设置在所述内插器电路上的至少一个电压调节器调整提供给所述多个区段中的所述至少一个的至少一个电压信号。

条款17根据条款16所述的控制器,其中,调整所述至少一个电压信号以去除提供给所述多个区段中的所述至少一个的电压,增大或者减小提供给所述多个区段中的所述至少一个的电压信号的频率,或者增大或者减小提供给所述多个区段中的所述至少一个的电压信号的幅度。

条款18根据条款16或者17中的任何一项所述的控制器,其中,针对所述内插器电路的每个瓦片调整所述至少一个电压信号。

条款19根据条款16、17、或18中的任何一项所述的控制器,其中,针对所述多个区段中的每个区段调整所述至少一个电压信号。

条款20根据条款16、17、18或19中的任何一项所述的控制器,其中,所述控制器被配置为:

判断与所述多个区段相关联的电力数据是否低于阈值;以及

响应于所述电力数据低于阈值而经由所述至少一个电压调节器来增大提供给所述多个区段的至少部分的电压。

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