首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

区域设计相关的电压控制和钟控 

申请/专利权人:英特尔公司

申请日:2018-06-27

公开(公告)日:2024-06-25

公开(公告)号:CN109147855B

主分类号:G11C16/34

分类号:G11C16/34;G11C16/06

优先权:["20170627 US 15/634902"]

专利状态码:有效-授权

法律状态:2024.06.25#授权;2020.07.28#实质审查的生效;2019.01.04#公开

摘要:本发明涉及区域设计相关的电压控制和钟控。集成电路包括多个区域,其中至少一个区域包括控制电路。控制电路接收使得该区域能够以目标速度进行操作的目标电压值以供应给该区域。控制电路还接收被编程在该区域中的设计的第一路径的第一关键性值。第一关键性值基于第一路径的第一传播时间以及遍历第一路径、同时使得该区域能够以目标速度进行操作的第一可允许时间。控制电路进一步命令功率调节器至少部分地基于目标电压值和第一关键性值向该区域供应电压。集成电路还包括通信地耦合到所述至少一个区域的功率调节器。功率调节器向所述至少一个区域供应功率。

主权项:1.一种集成电路,包括:多个区域,其中所述多个区域中的至少一个区域包括控制电路,其中所述控制电路被配置成:接收供应给所述区域的目标电压值,所述目标电压值在被供应给所述区域时使得所述区域能够近似以目标速度或高于目标速度进行操作;接收被编程在所述区域中的设计的第一路径的第一关键性值,其中所述第一关键性值基于所述第一路径的第一传播时间以及遍历所述第一路径、同时使得所述区域能够近似以所述目标速度或高于所述目标速度进行操作的第一可允许时间;以及命令功率调节器至少部分地基于所述目标电压值和所述第一关键性值向所述区域供应电压;以及所述功率调节器,其通信地耦合到所述至少一个区域,其中所述功率调节器被配置成向所述至少一个区域供应功率。

全文数据:区域设计相关的电压控制和钟控背景技术本公开涉及改进集成电路的可编程逻辑的区域中的功耗,同时向该区域提供足够的时钟频率以支持编程到可编程逻辑的该区域中的设计。本部分意图使读者了解可能与以下描述和或要求保护的本公开的各种方面相关的本领域的各种方面。该讨论被认为有助于向读者提供背景信息以促进更好地理解本公开的各种方面。因此,可以理解,这些陈述要从这个角度来理解,而不是作为对现有技术的承认。在不包含可编程逻辑结构的某些集成电路中,可以通过在制造过程期间测试集成电路来标识最小操作电压或时钟频率。然而,包含可编程逻辑结构的集成电路提供高度灵活的平台,该平台可以在制造后利用定制电路设计进行配置。然而,可以被编程到该类型的集成电路中的可能设计中的灵活性和变化性也使得在期间标识最低潜在的操作电压或时钟频率困难得多——潜在地甚至不可能——因为在制造期间可能无法知道哪个电路设计将最终被编程到集成电路的可编程逻辑结构中。发明内容以下阐述本文中公开的某些实施例的概述。应当理解,呈现这些方面仅是为了向读者提供这些某些实施例的简要概述,并且这些方面并不意图限制本公开的范围。实际上,本公开可以包含以下可能未阐述的多种方面。本公开一般地涉及改进集成电路中的功耗,并且更特别地涉及基于被编程在集成电路中的设计来降低集成电路的某些区域中的功耗,同时仍然提供足够的操作电压和或时钟频率来操作集成电路。每个区域可以包括控制单元或电路、非易失性存储器设备和随机存取存储器设备。非易失性存储器设备可以存储目标电压值,该目标电压值在被供应给该区域时使得该区域能够近似以目标速度或高于目标速度进行操作。随机存取存储器设备可以基于仍然使得该区域能够近似以目标速度或高于目标速度进行操作的设计来存储关键性(criticality)值。具体地,关键性值基于该区域中的设计的路径的传播时间以及仍然使得该区域能够近似以目标速度或高于目标速度进行操作的遍历该路径的可允许时间。控制电路基于目标电压值和关键性值向功率(power)调节器输出信号(例如,以进一步降低提供给该区域的电压)。在一些实施例中,随机存取存储器设备可以基于设计的仍然使得该区域能够近似以目标速度或高于目标速度进行操作的多个路径来存储多个关键性值。在这样的实施例中,控制电路可以基于目标电压值和所述多个关键性值向多个功率调节器输出多个控制信号。此外,本公开包括调整区域中的钟控(clocking)以补偿由降低到该区域的电压而产生的时钟延迟。可以关于本公开的各种方面做出以上指出的特征的各种细化。另外的特征同样也可以被合并在这些各种方面中。这些细化和附加特征可以被单独地或以任何组合存在。例如,以下关于所图示的实施例中的一个或多个所讨论的各种特征可以被单独地或以任何组合合并到本公开的上述方面中的任何方面中。再次,以上呈现的简要概述仅意图使读者熟悉本公开的实施例的某些方面和背景,而没有对所要求保护的主题的限制。附图说明在阅读以下详细描述时和参考附图时,可以更好地理解本公开的各种方面,在所述附图中:图1图示了依照本公开的实施例的可以基于被编程在集成电路中的设计来降低集成电路的每个区域中的功耗、同时提供足够的速度来操作集成电路的系统的框图;图2是依照本公开的实施例的包括集成电路的系统的图;图3是依照本公开的实施例的包括图2的集成电路的区域并且存储与该区域的一个或多个目标速度相关联的一个或多个目标电压值的系统的图;图4是依照本公开的实施例的包括图2的集成电路的区域的系统的图,该区域包括多个功率调节器并且存储与该区域的一个或多个目标速度相关联的一个或多个目标电压值;图5是依照本公开的实施例向图4的区域的逻辑块提供多个电压的系统的图;图6是依照本公开的实施例的图2的集成电路的区域中的示例可编程时钟布线系统的图,该示例可编程时钟布线系统用于减少由于降低到该区域的供应电压而引起的集成电路中的时钟偏斜;图7是依照本公开的实施例的用于基于供应给图2的集成电路10的区域的速度和被编程在该区域中的设计来降低该区域的电压的方法的流程图。具体实施方式以下将描述一个或多个具体实施例。为了提供这些实施例的简洁描述,在说明书中没有描述实际实现的所有特征。可以领会,在任何这样的实际实现的开发中,如在任何工程或设计项目中,必须做出许多实现所特定的决定以实现开发者的特定目标,诸如符合系统相关和商业相关的约束,所述约束从一个实现到另一个实现可以变化。而且,可以领会,这样的开发努力可能是复杂且耗时的,但是对于受益于本公开的普通技术人员而言将仍然是设计、制造和制作的例行任务。集成电路当处于操作中时消耗功率,诸如当实现被编程在集成电路中的设计时消耗功率。通过消耗较少的功率,集成电路操作起来将不那么贵。而且,较少的功耗导致较少的散热,使得集成电路能够在较冷的温度下操作。因此,制造商可以在集成电路上包括更多组件和或在集成电路上更紧密地压紧组件。另外,较冷的操作温度增加了集成电路的寿命。此外,在集成电路的电源是电池的情况下,较低的功耗转化成较长的电池寿命和或电池(例如在印刷电路板上)的较小占用空间。电压标识技术可以用于降低由集成电路消耗的功率。例如,可以测试集成电路,并且可以确定使得集成电路能够以一个或多个目标(例如,最小)速度操作的一个或多个目标(例如,降低的或最小的)电压值。目标电压值可以存储在集成电路的存储器设备中,使得功率调节器可以供应相应的目标电压来近似以相应的目标速度或高于相应的目标速度进行操作。最近,集成电路可以被分成多个区域以使得能实现设计重用和或降低设计的运行时间。因为每个区域可以包括不同的组件、不同的布线或者使得每个区域不同地操作的简单波动,所以每个区域可以使用不同的目标电压来近似以目标速度或高于目标速度进行操作。每个区域因此可以包括相应的存储器设备,所述存储器设备存储一个或多个目标电压值,用来使得该区域能够近似以一个或多个目标速度或高于所述一个或多个目标速度进行操作。用于集成电路的设计包括集成电路中的一个或多个布线路径(例如,使用诸如导线之类的连接组件将集成电路的组件连接在一起的电路路径)。每个路径可以位于集成电路的一个或多个区域中。可以确定用于(例如,在额定电压下)遍历路径的遍历时间。此外,还可以确定遍历该路径的、仍然使得包括该路径的每个区域能够近似地满足目标速度的可允许(例如,最大)传播时间。在一些情况下,传播时间小于可允许时间。在这样的情况下,在包括该路径的相应区域中的功耗可以进一步降低,导致传播时间接近(但不超过)可允许时间,同时仍然使得相应区域能够近似地满足目标速度。技术用于改进集成电路中的功耗,并且更特别地用来基于被编程在集成电路中的设计来降低集成电路的每个区域中的功耗、同时提供足够的速度来操作集成电路。通过基于该区域中的设计的路径来存储关键性值,集成电路的区域控制单元或电路可以控制功率调节器以降低提供给该区域的电压。特别地,关键性值可以基于路径的传播时间和仍然使得该区域能够近似以目标速度或高于目标速度进行操作的遍历该路径的可允许时间。而且,区域控制电路可以基于多个路径的多个关键性值来控制多个功率调节器,使得区域控制电路其能够进一步降低提供给该区域的电压。此外,区域控制电路可以调整该区域中的钟控以补偿由降低到该区域的电压所产生的时钟延迟。考虑到前述,图1图示了依照本公开的实施例的系统2的框图,所述系统2可以基于被编程在集成电路10中的设计来降低集成电路10的每个区域中的功耗,同时提供足够的速度来操作集成电路10。集成电路10可以是可重新配置的(例如,现场可编程门阵列(FPGA))。用户可以使用设计软件4来实现要编程到集成电路10上的电路设计,诸如Altera™的Quartus的版本。设计软件4可以由计算系统5的一个或多个处理器7执行。计算系统5可以包括能够执行设计软件4的任何合适的设备,诸如台式计算机、膝上型计算机、移动电子设备、服务器等。计算系统5可以访问、配置集成电路10和或与集成电路10通信。(多个)处理器7可以包括多个微处理器,一个或多个其它集成电路(例如,专用集成电路、现场可编程门阵列、精简指令集处理器等)或其一些组合。一个或多个存储器设备9可以存储设计软件4。此外,(多个)存储器设备9可以存储与集成电路10相关的信息,诸如控制软件、配置软件、查找表、配置数据等。在一些实施例中,(多个)处理器7和或(多个)存储器设备9可以在计算系统5的外部。(多个)存储器设备9可以包括有形的非暂时性的机器可读的介质,诸如易失性存储器(例如,随机存取存储器(RAM))和或非易失性存储器(例如,只读存储器(ROM))。(多个)存储器设备9可以存储多种信息并且被用于各种目的。例如,(多个)存储器设备9可以存储用于(多个)处理器7执行的机器可读和或处理器可执行指令(例如,固件或软件),诸如用来确定集成电路10或集成电路10的区域的速度、确定被编程在集成电路10或集成电路10的区域中的设计的路径的关键性、对集成电路10或集成电路10的区域中的设计进行编程等的指令。(多个)存储器设备9可以包括一个或多个存储设备(例如,非易失性存储设备),该存储设备可以包括只读存储器(ROM),闪速存储器,硬盘驱动器或任何其它合适的光学、磁性或固态存储介质,或其任何组合。设计软件4可以使用编译器6生成对集成电路10进行编程的低级电路设计程序8(位流),有时称为程序目标文件。即,编译器6可以提供表示对集成电路10的电路设计的机器可读指令。例如,集成电路10可以接收描述应当存储在集成电路10中的硬件实现的一个或多个程序8(位流)。程序8(位流)可以被编程到集成电路10中作为配置程序11。图2是依照本公开的实施例的图示了图1的集成电路10的区域28的系统8的图。如所图示的那样,集成电路10是诸如现场可编程门阵列器件之类的可编程电路。在替代实施例中,集成电路10可以是专用集成电路、专用标准部分、芯片上系统等。系统8可以用在任何合适的应用中,诸如数据中心、网络设备、服务器、路由器、交换机、网关、防火墙、网桥、集线器、数据库、工作站、台式计算机、膝上型计算机、移动设备、无线接入点、无线接入设备等。互连资源22可以用于通过集成电路10路由诸如时钟或数据信号之类的信号。图2的集成电路10是在美国申请号20160049941“ProgrammableCircuitHavingMultipleSectors”中描述的类型的扇区化(sectorized)FPGA,出于所有目的其被通过引用整体地合并。照此,集成电路的可编程逻辑资源可以通过多个离散的可编程逻辑扇区或区域28来分发。每个可编程逻辑区域28可以包括具有由配置存储器16(例如,配置随机存取存储器)定义的操作的多个可编程逻辑元件12。可编程逻辑元件12可以包括组合或顺序逻辑电路。例如,可编程逻辑元件12可以包括查找表、寄存器、复用器、布线导线等。用户可以编程可编程逻辑元件12以执行多种期望的功能。功率或电压调节器36(包括电力供应)可以向将电力分配给集成电路10的各种组件的配电网络(PDN)26提供电压和电流源。操作集成电路10的电路使得从配电网络26汲取电力。集成电路10可以包括收发器电路20(例如,高速串行接口电路),用于驱动信号从集成电路10离开并且用于接收来自其它设备的信号。在集成电路10上可以存在任何合适数量的可编程逻辑区域28。实际上,虽然在图2中示出了29个可编程逻辑区域28,但是应当领会,在实际实现中可能出现更多或更少区域(例如,在一些情况下,大约50到100个区域或更多)。每个可编程逻辑区域28可以包括控制可编程逻辑扇区28的操作的区域或扇区控制单元或电路(RCU)42。在一些实施例中,区域控制电路42可以以软件和或硬件或任何其它合适的形式实现。每个区域控制电路42可以与设备控制单元或电路(DCU)43通信。在一些实施例中,设备控制电路43可以以软件和或硬件或任何其它合适的形式实现。每个区域控制电路42可以接受来自设备控制电路43的命令和数据,并且可以基于来自设备控制电路43的控制信号从其配置存储器16读取数据和将数据写入其配置存储器16中。除了这些操作之外,区域控制电路42可以利用许多附加能力来增强。例如,这样的能力可以包括对读取和写入进行本地定序以实现配置存储器16上的错误检测和校正,以及对测试控制信号进行定序以产生各种测试模式。区域控制电路42和设备控制电路43可以被实现为逻辑电路,诸如状态机和或处理器。例如,区域控制电路42或设备控制电路43的每个操作可以被实现为存储器中的包含控制程序的分离例程。该控制程序存储器可以被固定在只读存储器(ROM)中或被存储在诸如随机存取存储器(RAM)之类的可写存储器中。ROM可以具有比将用于仅存储每个例程的一个副本的尺寸大的尺寸。这可以允许每个例程具有多个变体,取决于本地控制器可以被放置到的“模式”。当控制程序存储器被实现为随机存取存储器(RAM)时,RAM可以被写入新的例程以将新的操作和功能性实现到可编程逻辑区域28中。这可以以高效且容易理解的方式提供可用的扩展性。这可能是有用的,因为新的命令可以仅以设备控制电路43和区域控制电路42之间的少量通信为代价在该区域内引起大量的本地活动。因此,每个区域控制电路42可以与设备控制电路43通信,所述设备控制电路43可以协调区域控制电路42的操作并且传送从集成电路10的外部发起的命令。为了支持该通信,互连资源22可以充当设备控制电路43和每个区域控制电路42之间的网络。互连资源22可以支持设备控制电路43和每个区域控制电路42之间的各种各样的信号。在一个示例中,这些信号可以被作为通信分组来传输。集成电路10可以被电编程。在电编程布置的情况下,可编程元件12可以包括一个或多个逻辑元件(导线、门、寄存器等)。例如,在编程期间,使用集成电路10的引脚和或输入输出电路(例如收发器电路20的输入输出电路)将配置数据加载到配置存储器52中。在一个示例中,配置存储器16可以被实现为配置随机存取存储器单元。本文中描述了基于RAM技术的配置存储器16的使用,其意图仅是一个示例。而且,配置存储器16可以分布(例如,作为RAM单元)遍及集成电路10的各种可编程逻辑区域28。配置存储器16可以提供对应的静态控制输出信号,该信号控制相关联的可编程逻辑元件12或互连资源22的可编程组件的状态。配置存储器16的输出信号可以配置,可以应用于金属氧化物半导体(MOS)晶体管的栅极,所述栅极控制可编程逻辑元件12或互连资源22的可编程组件的状态。考虑到这一点,图3是依照本公开的实施例的系统34的图,所述系统34包括图2的集成电路10的区域(例如,28)并且存储与区域28的一个或多个目标速度相关联的一个或多个目标(例如,降低的或最小的)电压值。系统34还包括通信地耦合到区域控制电路42的功率调节器36,其向区域28供应电压(例如,VDD)38。虽然功率调节器36被图示为图3中的区域28的部分,但是应当理解,本公开还设想在区域28外部(例如,然而仍然在集成电路10上)或甚至在集成电路10外部的功率调节器36。而且,应当理解,本公开设想任何合适数量的功率调节器36在任何合适数量的区域(例如,28)之间共享。例如,多个功率调节器36可以向区域28供应电压VDD38。作为另一个示例,单个功率调节器36可以向多个区域(包括28)供应多个电压(包括VDD38)。该区域可以包括控制块40,所述控制块40包括区域控制电路42。区域控制电路42可以向功率调节器36发送信号39(例如,控制信号)以控制(例如,调整)供应给区域28的电压VDD38。区域28可以包括多个可编程逻辑元件12。区域28还可以包括非易失性存储器设备44和随机存取存储器设备46,每个通信地耦合到区域控制电路42。非易失性存储器设备44可以存储与区域28的一个或多个目标速度相关联的一个或多个目标电压值。特别地,可以测试集成电路10的每个区域(例如,28),并且可以确定使得区域28能够以一个或多个目标(例如,最小)速度操作的目标(例如,降低的或最小的)电压值。目标电压值可以低于可以供应给区域28的最大电压。在一些实施例中,目标电压值和或所述一个或多个目标速度可以由集成电路设备或系统制造商指定。例如,当供应有额定电压时,区域28可以以比目标速度快10%的速度操作。额定电压可以是被确定成导致区域28近似以目标速度或高于目标速度进行操作的电压(例如,理想电压)。照此,如果延迟与电压成比例,则在执行被编程在区域28中的设计(例如,在集成电路10的建立时间、在区域28的加电或启动期间等)之前,可以使用电压标识技术将电压降低到以前的11.1=0.909倍以降低在供应给区域28时由区域28消耗的功率,同时仍然使得区域28能够近似以目标速度或高于目标速度进行操作。应当理解,可以代替目标电压值将任何合适的值存储在非易失性存储器设备44中。例如,设想导致功率调节器36将目标电压值施加到区域28的电压调整值(例如,电压差)、电压比率或百分比值、与区域28中的延迟时间相关的调整或比率值、与区域28的速度相关的延迟调整或比率值等。在一些实施例中,非易失性存储器设备44可以包括存储目标电压值的一个或多个一次性可编程熔丝(例如,48)。在一些实施例中,非易失性存储器设备44可以存储与以多个目标(例如,最小)速度操作区域28相对应的多个目标电压值。因为每个区域(例如,28)可以包括不同数量和或类型的资源、不同的布线或者使得每个区域不同地操作的简单波动,所以每个区域可以使用不同的目标电压来近似以一定目标速度或高于一定目标速度进行操作。在附加的或替代的实施例中,可以使用任何其它合适的存储器组件或设备来存储目标电压值,诸如可编程只读存储器设备。随机存取存储器设备46可以基于被编程在区域28中的设计来存储关键性值,所述设计仍然使得区域28能够近似以一个或多个目标速度或高于一个或多个目标速度进行操作。在一些实施例中,关键性值可以基于区域28中的设计的路径(例如,在额定电压下)的传播时间以及仍然使得区域28能够近似以目标速度或高于目标速度进行操作的遍历该路径的可允许时间。额定电压可以是被确定成导致区域28近似以目标速度或高于目标速度进行操作的电压(例如,理想电压)。例如,设计软件4可以确定额定电压并且经由程序8(位流)对集成电路10中的额定电压进行编程。路径可以包括区域28中的电路路径,其使用诸如导线之类的连接组件(例如,互连资源22)将区域28的组件(包括可编程逻辑元件12)连接在一起。例如,设计软件4可以确定该设计包括区域28中的具有450皮秒的传播时间的路径并且经由程序8(位流)对集成电路10中的传播时间进行编程。基于用于区域28进行操作的目标(例如,最小)速度,设备控制电路43可以确定遍历该路径的可允许时间为500皮秒。在一些实施例中,设计软件4可以确定遍历该路径的可允许时间并且经由程序8(位流)对集成电路10中的可允许时间进行编程。照此,区域控制电路42可以将控制信号39发送到要供应电压VDD38的功率调节器36,其使遍历以上所描述的路径延迟遍历该路径的可允许时间与该路径的传播时间之间的差(例如,50皮秒)或更少。例如,设计软件4可以基于将路径的传播时间除以路径的可允许时间来确定路径的关键性值,并且经由程序8(位流)对集成电路10中的路径的关键性值进行编程。在以上示例中,设计软件4可以确定路径的关键性值是0.9(即,450皮秒除以500皮秒)。照此,设计软件4可以基于关键性值确定到区域28的电压VDD38可以被降低。在以上示例中,因为传播时间是450皮秒并且遍历该路径的可允许时间是500皮秒,所以传播时间可以增加(例如,延迟)到以前的1.111(即,500皮秒除以450皮秒)或更少倍,并且仍然不超过遍历该路径的可允许时间。因为延迟可能与供应电压VDD38成反比,所以该电压——供应电压VDD38可以被调整成以前的0.9(即1除以1.111)或更多(其是路径的关键性值)倍,从而将区域28中消耗的功率降低近似20%或更少(因为功率一般地对应于供应电压的平方),同时仍然不超过遍历该路径的可允许时间,使得区域28仍然能够近似地满足目标速度。在各种实施例中,设计软件4可以存储基于关键性值的多个伏特、百分比、比率等和或关键性值本身,以经由程序8(位流)降低在集成电路10中供应给区域28的电压VDD38。在一些实施例中,因为延迟可能不与供应电压VDD38恰好相反地变化,所以区域控制电路42和编程可以被设计成镜像或近似该确切的相关性。区域控制电路42可以基于存储在随机存取存储器设备46中的关键性值和存储在非易失性存储器设备44中的目标电压值将控制信号39发送到功率调节器36,从而基于被编程在区域28中的设计和区域28的速度降低区域28的功耗,同时仍然近似地满足目标速度。在一些实施例中,控制信号39可以基于关键性值与降低的电压值的乘积。例如,区域28中的设计的关键性值可以是0.9,并且用于区域28的降低的电压值可以是额定电压的90%。照此,区域控制电路42可以发送控制信号39,其命令功率调节器36将供应给区域28的电压VDD38调整至81%(即,0.9关键性值与降低的电压值的乘积,该降低的电压值是额定电压的90%)或额定电压的更多。包括在存储器设备46中的信息可以包括可能影响电压VDD38的其它设计相关因素,诸如操作温度。可能包括的另一因素是区域28的最大电流消耗,因为较低的电流消耗可能降低适应集成电路10上的功率分配中的电阻电压下降的电压容限。以该方式,区域28的功耗可以降低超过基于该区域的速度所确定的那个,而不考虑区域28中的设计,同时仍然近似地满足区域28的目标速度。在一些实施例中,随机存取存储器设备46可以包括存储关键性值的一个或多个配置随机存取存储器位(例如,50)。在附加的或替代的实施例中,可以使用任何合适的存储器设备,诸如动态随机存取存储器设备。应当指出,非易失性存储器设备44和随机存取存储器设备46可以以任何合适的布置来提供,包括被配置成存储降低的电压值和关键性值二者的更多个存储器设备或单个存储器设备。在一些情况下,被编程在区域28中的设计包括多个路径,每个路径包括相应的传播时间和可允许时间。为了近似地满足区域28的目标速度,施加到区域28的延迟可以基于该区域中具有最高关键性值的路径。即,如果区域28编程有包括两个路径的设计,则设计软件4确定与这两个路径中的每个路径相关联的两个关键性值。例如,设计软件4可以确定第一路径具有0.8的关键性值并且第二路径具有0.9的关键性值。设计软件4可以经由程序8(位流)将关键性值存储在随机存取存储器设备46中。照此,区域控制电路42可以基于存储在随机存取存储器设备46中的第二路径的关键性值(即,0.9)和存储在非易失性存储器设备44中的降低的电压值,将控制信号39发送到功率调节器36。例如,控制信号39可以命令功率调节器36将电压VDD38降低10%。该电压降低仍然使得两个路径能够都满足它们相应的可允许时间,同时仍然近似地满足区域28的目标速度。然而,如果区域控制电路42基于第一路径的关键性值(即,0.8)和降低的电压值发送控制信号39,则电压VDD38将降低20%,并且第二路径将不再满足其可允许时间(即,它将超过可允许时间12.5%),并且因此区域28将不满足其目标速度。照此,区域控制电路42可以基于非易失性存储器设备44和或随机存取存储器设备46的内容发送控制信号39以调整电压VDD38。在一些实施例中,区域控制电路42可以使用附加的参数来调整电压VDD38,诸如与集成电路10的温度、集成电路10的年龄、集成电路10的操作寿命等相关的参数。图4是依照本公开的实施例的包括图2的集成电路10的区域(例如,28)的系统60的图,该区域包括多个功率调节器36、62并且存储与区域28的一个或多个目标速度相关联的一个或多个降低的电压值。虽然仅图示了两个功率调节器36、62,但是应当理解,设想任何合适数量的功率调节器。功率调节器36、62可以每个向区域28供应相应的电压VDDH64和VDDL66。如所图示的那样,系统60包括两个区域控制电路42、68,它们每个可以发送相应的控制信号39、70以控制这两个功率调节器36、62。虽然针对每个功率调节器36、62图示了区域控制电路,但是应当理解,设想任何合适数量的区域控制电路。在一些实施例中,单个区域控制电路可以发送多个控制信号(例如,39、70)以控制多个功率调节器(例如,36、62)。而且,虽然每个区域控制电路42、68被图示成耦合到相应的非易失性存储器设备44和随机存取存储器设备46,但是可以存在任何合适数目的非易失性存储器设备44和随机存取存储器设备46的集合。在一些实施例中,单个区域控制电路可以耦合到可以存储区域28的降低的电压的单个非易失性存储器设备44和存储被编程在区域28中的设计的每个路径的关键性值的单个随机存取存储器设备46。在被编程在区域28中的设计包括多个路径的情况下,设计软件4可以针对每个路径确定关键性值,并且经由程序8(位流)将关键性值存储在随机存取存储器设备46中。第一区域控制电路42然后可以基于存储在耦合的随机存取存储器设备46中的第一路径的关键性值将第一控制信号39发送到第一功率调节器36,并且第二区域控制电路68可以基于存储在耦合的随机存取存储器设备46中的第二路径的关键性值将第二控制信号70发送到第二功率调节器62。例如,如果第一路径的关键性值是0.9并且第二路径的关键性值是0.8,则第一区域控制电路42可以将第一控制信号39发送到第一功率调节器36以将供应给第一路径的电压VDDH64降低10%,并且第二区域控制电路68可以将第二控制信号70发送到第二功率调节器62以将供应给第二路径的电压VDDL66降低20%。以该方式,通过根据被编程在区域28中的设计的多个路径来调整由多个功率调节器36、62供应的电压,可以甚至进一步降低区域28的功耗。可以使用(如由设计软件4确定的)多种技术来确定调整供应给区域28的电压VDDH64和VDDL66。在一些实施例中,区域控制电路中的至少一些(例如,42、68)可以基于固定的延迟比率、百分比、量等发送至少一些相应的控制信号(例如,39、70)。固定的延迟比率可以是被应用(例如,乘以)在被编程在区域28中的设计的路径的额定电压下的传播时间的比率。固定的延迟比率可以由设计软件4确定。在一些实施例中,固定的延迟比率可以被确定为很可能在被应用时使得设计的合适数量或百分比的设计的路径(例如,近似50%、33%、25%等)能够在被遍历时不超过它们相应的可允许时间的延迟比率。区域控制电路42因此可以发送基于固定的延迟比率来调整相应的供应电压(例如,VDDL66)的相应的控制信号70。例如,区域控制电路68可以命令功率调节器62供应等于存储在(例如,耦合到区域控制电路68的)非易失性存储器设备44中的降低的电压除以固定的延迟比率的电压VDDL66。当应用于在具有多个路径的被编程在区域28中的设计时,在一个实施例中,第一区域控制电路42可以将第一控制信号39发送到第一功率调节器36以基于设计中的路径的最高关键性值向区域28供应第一(例如,较高)电压(例如,VDDH64),而第二区域控制电路68可以将第二控制信号70发送到第二功率调节器62以基于固定的延迟比率向区域28供应第二(例如,较低)电压(例如,VDDL66)。在该实施例中,具有在使用较低供应电压VDDL66时可能导致路径超过其可允许时间的关键性的路径可以替代地使用较高供应电压VDDH64。例如,固定的延迟比率可以是1.1(例如,对应于将供应电压VDDL66降低至降低的或额定的电压的90%),而较高的供应电压VDDH64可以等于降低的或额定的电压的95%。在附加的或替代的实施例中,多个区域控制电路可以基于多个固定的延迟比率将相应的控制信号发送到相应的功率调节器。以该方式,通过提供一个或多个固定的延迟比率截止点(cutoff)来降低供应给被编程在区域28中的设计的多个路径的电压,可以降低区域28的功耗。图5是依照本公开的实施例的向图4的区域28的逻辑块11提供多个供应电压VDDH64和VDDL66的系统80的图。系统80可以包括接收所述多个供应电压VDDH64和VDDL66以及选择信号84的复用器82。选择信号84可以由区域控制电路42、68提供。照此,区域控制电路42、68可以控制供应给逻辑块11的电压VDDH64或VDDL66。虽然图示了复用器82在两个电压VDDH64或VDDL66之间进行选择,但是应当理解,复用器82可以从任何合适数量的电压中选择。多个时钟信号可以跨集成电路10的至少一部分分布,例如经由跨越多个区域的时钟树而分布。典型地,由于时钟树的不同部分中的延迟中的差异,时钟信号中可能出现时钟偏斜。向区域28供应存储在非易失性存储器设备44中的降低的电压而不是额定电压可能趋向于减少区域28中的时钟偏斜,因为其可能使得某些延迟(例如,被编程在区域28中的设计的路径的延迟)类似。照此,跨区域28并且因此跨集成电路10的延迟变化可以减小。然而,使供应给每个区域的电压基于被编程在区域中的相应设计可能趋向于增加集成电路10中的时钟偏斜,因为跨集成电路10的延迟可能根据设计的关键性而变化。考虑到这一点,图6是依照本公开的实施例的图2的集成电路10的区域(例如,28)中的示例可编程时钟布线系统100的图,该示例可编程时钟布线系统100用于减少由降低区域28的供应电压所引起的集成电路10中的时钟偏斜。系统100可以包括时钟布线组件102,该时钟布线组件102包括时钟脊柱(spine)104和复用器106,该复用器106从集成电路10的其它部分(包括其它区域)接收时钟信号并向其发送时钟信号。如所图示的那样,区域28的区域控制电路42可以耦合到时钟脊柱104以接收和发送一个或多个时钟信号。区域控制电路42还可以耦合到延迟选择组件108以调整可配置的延迟线110的延迟,使得跨集成电路10中的区域的延迟近似匹配。例如,如果区域28包括被编程在区域28中的设计的具有较小关键逻辑(例如,具有小于1的关键性值的关键逻辑)的一个或多个路径,则区域控制电路42可以降低供应给区域28的电压,从而增加区域28中的时钟延迟。作为响应,区域控制电路42可以向延迟选择组件108发送信号以减小可配置的延迟线110中的延迟,从而补偿增加的时钟延迟。延迟选择组件108可以以一个或多个复用组件(例如,复用器)、一个或多个布线组件等的形式来实现。以该方式,可以减少跨集成电路10的多个区域的时钟偏斜。图7是依照本公开的实施例的用于基于区域28的速度和被编程在区域28中的设计来降低供应给图2的集成电路10的区域(例如,28)的电压的方法120的流程图。方法120可以通过可以确定区域28的速度、确定设计的关键性和或控制向区域28供应电压的功率调节器36的任何合适的设备或设备的组合来执行。虽然使用按特定序列的步骤描述了方法120,但是应当理解,本公开设想所描述的步骤可以以与所图示的序列不同的序列来执行,并且某些描述的步骤可以被跳过或不一起执行。在一些实施例中,方法120的步骤中的至少一些可以由诸如区域控制电路42之类的集成电路10的区域控制电路来实现。在替代的或附加的实施例中,方法120的至少一些步骤可以通过对集成电路10进行编程的设计软件来实现,诸如使用程序8(位流)对集成电路进行编程的设计软件4。区域控制电路42可以接收(块122)降低的电压值以供应给集成电路10的区域28,当该降低的电压值被供应给区域28时使得区域28能够近似以目标速度或高于目标速度进行操作。在一些实施例中,设计软件4可以确定该降低的电压值。即,设计软件4可以确定要供应给集成电路10的至少一些区域的额定电压,以近似以目标速度或高于目标速度进行操作。然而,每个区域可以包括不同的组件、不同的布线或导致每个区域不同地操作的简单波动。照此,设计软件4可以确定要供应给每个区域的降低的电压值,以近似以目标速度或高于目标速度进行操作,其中用于每个区域的每个降低的电压值可以不同。设计软件4可以向区域控制电路42发送降低的电压值和或经由程序8(位流)将降低的电压值存储在每个区域的非易失性存储器设备44中。区域控制电路42还可以接收(块124)被编程在区域28中的设计的路径的关键性值。在一些实施例中,设计软件4可以确定该关键性值。关键性值可以基于路径的传播时间(例如,当该区域被提供降低的或额定的电压时)以及遍历该路径、同时使得该区域能够近似以目标速度或高于目标速度进行操作的可允许时间。在一些情况下,设计可以包括区域28中的多个路径。在这样的情况下,设计软件4可以确定区域28中的每个路径的关键性值。设计软件4可以将一个或多个关键性值发送到区域控制电路42和或经由程序8(位流)将所述一个或多个关键性值存储在每个区域的随机存取存储器设备46中。区域控制电路42可以基于降低的电压值和关键性值向区域28供应(块126)电压。例如,区域控制电路42可以命令功率调节器36供应电压VDD38,该电压VDD38是存储在非易失性存储器设备44中的降低的电压值与存储在随机存取存储器设备46中的关键性值的乘积。以该方式,区域28的功耗可以降低超过基于该区域的速度所确定的那个,而不考虑区域28中的设计(例如,用户设计),同时仍然近似地满足区域28的目标速度。在区域28中存在多个路径的情况下,设计软件4可以确定每个路径的关键性值并且经由程序8(位流)将关键性值的集合存储在随机存取存储器设备46中。区域控制电路42然后可以基于所述多个路径的降低的电压值和最高关键性值向区域28供应电压。在一些实施例中,一个或多个区域控制电路可以将多个控制信号发送到多个功率调节器以向该区域供应多个供应电压。在这样的实施例中,所述多个供应电压中的至少一些可以基于所述多个路径的关键性值。以该方式,通过根据被编程在区域28中的设计的所述多个路径的关键性值来调整由所述多个功率调节器供应的电压,可以甚至进一步降低区域28的功耗。在附加的或替代的实施例中,所述多个供应电压中的至少一些可以基于固定的延迟比率的关键性值。以该方式,通过提供固定的延迟比率截止点来降低供应给被编程在区域28中的设计的所述多个路径的电压,可以降低区域28的功耗。本发明涉及其它示例:示例1包括一种集成电路,所述集成电路包括多个区域,其中所述多个区域中的至少一个区域包括控制电路,其中所述控制电路被配置成:接收供应给所述区域的目标电压值,所述目标电压值在被供应给所述区域时使得所述区域能够近似以目标速度或高于目标速度进行操作,接收被编程在所述区域中的设计的第一路径的第一关键性值,其中所述第一关键性值基于所述第一路径的第一传播时间以及遍历所述第一路径、同时使得所述区域能够近似以所述目标速度或高于所述目标速度进行操作的第一可允许时间,以及命令功率调节器至少部分地基于所述目标电压值和所述第一关键性值向所述区域供应电压;以及所述功率调节器,其通信地耦合到所述至少一个区域,其中所述功率调节器被配置成向所述至少一个区域供应功率。示例2包括示例1的主题,其中所述多个区域中的每个区域包括:多个逻辑块;以及将所述多个逻辑块耦合在一起的可编程互连结构。示例3包括示例1的主题,包括现场可编程门阵列器件。示例4包括示例1的主题,包括通信地耦合到所述控制电路的第一存储器,其中所述第一存储器存储所述目标电压值。示例5包括示例4的主题,其中所述第一存储器是非易失性的。示例6包括示例1的主题,包括通信地耦合到所述控制电路的第二存储器,其中所述第二存储器存储第一关键性值。示例7包括示例6的主题,其中所述第二存储器包括随机存取存储器。示例8包括示例1的主题,其中所述控制电路被配置成命令所述功率调节器至少部分地基于所述集成电路的温度、所述集成电路的年龄或所述集成电路的操作寿命来向所述至少一个区域供应电压。示例9包括示例1的主题,其中所述设计包括所述区域中的多个路径,所述多个路径包括所述第一路径。示例10包括示例9的主题,其中所述第一关键性值是所述区域中的所述多个路径的最高关键性值。示例11包括示例10的主题,其中所述控制电路被配置成接收所述多个路径中的第二路径的第二关键性值,其中所述第二关键性值基于所述第二路径的第二传播时间以及遍历所述第二路径、同时使得所述区域能够近似以所述目标速度或高于所述目标速度进行操作的第二可允许时间。示例12包括示例11的主题,其中所述控制电路被配置成命令所述功率调节器至少部分地基于所述目标电压值和所述第二关键性值或者至少部分地基于所述目标电压值和固定的延迟比率向所述区域供应第二电压。示例13包括一种集成电路,所述集成电路包括:多个区域,其中所述多个区域中的至少一个区域包括被配置成控制第一功率调节器的控制电路,通信地耦合到所述控制电路的非易失性存储器设备,其中所述非易失性存储器设备被配置成存储要供应给所述至少一个区域的目标电压值,所述目标电压值在被供应到所述至少一个区域时使得所述至少一个区域能够近似以目标速度或高于目标速度进行操作,以及通信地耦合到所述控制电路的随机存取存储器设备,其中所述随机存取存储器设备被配置成存储被编程在所述至少一个区域中的设计的第一路径的第一关键性值,其中所述第一关键性值基于所述第一路径的传播时间以及遍历所述第一路径、同时使得所述至少一个区域能够近似以所述目标速度或高于所述目标速度进行操作的可允许时间,其中所述控制电路被配置成命令所述第一功率调节器至少部分地基于所述目标电压值和所述第一关键性值向所述至少一个区域供应第一电压;以及所述第一功率调节器,其通信地耦合到所述至少一个区域,其中所述第一功率调节器被配置成向所述至少一个区域供应功率。示例14包括示例13的主题,其中所述至少一个区域包括多个延迟线和耦合到所述多个延迟线的复用器。示例15包括示例14的主题,其中所述控制电路被配置成调整所述多个延迟线的延迟,使得跨所述多个区域的延迟近似匹配。示例16包括示例13的主题,其中所述集成电路包括通信地耦合到所述至少一个区域的第二功率调节器,其中所述第二功率调节器被配置成向所述至少一个区域供应功率。示例17包括示例16的主题,其中所述随机存取存储器设备被配置成存储被编程在所述至少一个区域中的所述设计的第二路径的第二关键性值,其中所述第二关键性值基于所述第二路径的传播时间以及遍历所述第二路径、同时使得所述区域能够近似以所述目标速度或高于所述目标速度进行操作的可允许时间。示例18包括示例17的主题,其中所述控制电路被配置成命令所述第二功率调节器至少部分地基于所述目标电压值和所述第二关键性值向所述至少一个区域供应第二电压。示例19包括示例16的主题,其中所述控制电路被配置成命令所述第二功率调节器至少部分地基于所述目标电压值和固定的延迟比率向所述至少一个区域供应电压。示例20包括一种或多种包括指令的有形的非暂时性机器可读介质,所述指令被配置成使得集成电路的控制电路:将目标电压值供应给所述集成电路的区域,所述目标电压值在被供应给所述区域时使得所述区域能够近似以目标速度或高于目标速度进行操作;接收被编程在所述区域中的设计的第一路径的第一关键性值,其中所述第一关键性值基于所述第一路径的第一传播时间以及遍历所述第一路径、同时使得所述区域能够近似以所述目标速度或高于所述目标速度进行操作的第一可允许时间;以及命令耦合到所述区域的功率调节器至少部分地基于所述目标电压值和所述第一关键性值向所述区域供应电压。虽然在本公开中阐述的实施例可能易受各种修改和替代形式影响,但是特定实施例已经经由附图中的示例而示出并且已经在本文中进行了详细描述。然而,可以理解,本公开不意图限于所公开的特定形式。本公开将覆盖落入如以下所附权利要求书限定的本公开的精神和范围内的所有修改、等同物和替代方案。本文中提出和要求保护的技术被参考并应用于实际性质的材料对象和具体实例,其可论证地改进了本技术领域,并且同样不是抽象的、无形的或纯理论的。另外,如果附加到本说明书的结束处的任何权利要求包含被指定为“用于[执行][功能]……的部件”或“用于[执行][功能]……的步骤”的一个或多个要素,则意图这些要素将在35U.S.C.112f下被解释。然而,对于任何包含以任何其它方式指定的要素的任何权利要求,意图这样的要素将不在35U.S.C.112f下被解释。

权利要求:1.一种集成电路,包括:多个区域,其中所述多个区域中的至少一个区域包括控制电路,其中所述控制电路被配置成:接收供应给所述区域的目标电压值,所述目标电压值在被供应给所述区域时使得所述区域能够近似以目标速度或高于目标速度进行操作;接收被编程在所述区域中的设计的第一路径的第一关键性值,其中所述第一关键性值基于所述第一路径的第一传播时间以及遍历所述第一路径、同时使得所述区域能够近似以所述目标速度或高于所述目标速度进行操作的第一可允许时间;以及命令功率调节器至少部分地基于所述目标电压值和所述第一关键性值向所述区域供应电压;以及所述功率调节器,其通信地耦合到所述至少一个区域,其中所述功率调节器被配置成向所述至少一个区域供应功率。2.根据权利要求1所述的集成电路,其中所述多个区域中的每个区域包括:多个逻辑块;以及将所述多个逻辑块耦合在一起的可编程互连结构。3.根据前述权利要求中任一项所述的集成电路,包括现场可编程门阵列器件。4.根据权利要求1所述的集成电路,包括通信地耦合到所述控制电路的第一存储器,其中所述第一存储器存储所述目标电压值。5.根据权利要求4所述的集成电路,其中所述第一存储器是非易失性的。6.根据权利要求1、2、4或5中任一项所述的集成电路,包括通信地耦合到所述控制电路的第二存储器,其中所述第二存储器存储第一关键性值。7.根据权利要求6所述的集成电路,其中所述第二存储器包括随机存取存储器。8.根据权利要求1、2、4或5中任一项所述的集成电路,其中所述控制电路被配置成命令所述功率调节器至少部分地基于所述集成电路的温度、所述集成电路的年龄或所述集成电路的操作寿命来向所述至少一个区域供应电压。9.根据权利要求1、2、4或5所述的集成电路,其中所述设计包括所述区域中的多个路径,所述多个路径包括所述第一路径。10.根据权利要求9所述的集成电路,其中所述第一关键性值是所述区域中的所述多个路径的最高关键性值。11.根据权利要求10所述的集成电路,其中所述控制电路被配置成接收所述多个路径中的第二路径的第二关键性值,其中所述第二关键性值基于所述第二路径的第二传播时间以及遍历所述第二路径、同时使得所述区域能够近似以所述目标速度或高于所述目标速度进行操作的第二可允许时间。12.根据权利要求11所述的集成电路,其中所述控制电路被配置成命令所述功率调节器至少部分地基于所述目标电压值和所述第二关键性值或者至少部分地基于所述目标电压值和固定的延迟比率向所述区域供应第二电压。13.一种集成电路,包括:多个区域,其中所述多个区域中的至少一个区域包括:被配置成控制第一功率调节器的控制电路;通信地耦合到所述控制电路的非易失性存储器设备,其中所述非易失性存储器设备被配置成存储要供应给所述至少一个区域的目标电压值,所述目标电压值在被供应到所述至少一个区域时使得所述至少一个区域能够近似以目标速度或高于目标速度进行操作;以及通信地耦合到所述控制电路的随机存取存储器设备,其中所述随机存取存储器设备被配置成存储被编程在所述至少一个区域中的设计的第一路径的第一关键性值,其中所述第一关键性值基于所述第一路径的传播时间以及遍历所述第一路径、同时使得所述至少一个区域能够近似以所述目标速度或高于所述目标速度进行操作的可允许时间;其中所述控制电路被配置成命令所述第一功率调节器至少部分地基于所述目标电压值和所述第一关键性值向所述至少一个区域供应第一电压;以及所述第一功率调节器,其通信地耦合到所述至少一个区域,其中所述第一功率调节器被配置成向所述至少一个区域供应功率。14.根据权利要求13所述的集成电路,其中所述至少一个区域包括多个延迟线和耦合到所述多个延迟线的复用器。15.根据权利要求14所述的集成电路,其中所述控制电路被配置成调整所述多个延迟线的延迟,使得跨所述多个区域的延迟近似匹配。16.根据权利要求13-15中任一项所述的集成电路,其中所述集成电路包括通信地耦合到所述至少一个区域的第二功率调节器,其中所述第二功率调节器被配置成向所述至少一个区域供应功率。17.根据权利要求16所述的集成电路,其中所述随机存取存储器设备被配置成存储被编程在所述至少一个区域中的所述设计的第二路径的第二关键性值,其中所述第二关键性值基于所述第二路径的传播时间以及遍历所述第二路径、同时使得所述区域能够近似以所述目标速度或高于所述目标速度进行操作的可允许时间。18.根据权利要求17所述的集成电路,其中所述控制电路被配置成命令所述第二功率调节器至少部分地基于所述目标电压值和所述第二关键性值向所述至少一个区域供应第二电压。19.根据权利要求16所述的集成电路,其中所述控制电路被配置成命令所述第二功率调节器至少部分地基于所述目标电压值和固定的延迟比率向所述至少一个区域供应电压。20.一种方法,包括:经由集成电路的控制电路将目标电压值供应给所述集成电路的区域,所述目标电压值在被供应给所述区域时使得所述区域能够近似以目标速度或高于目标速度进行操作;经由所述控制电路来接收被编程在所述区域中的设计的第一路径的第一关键性值,其中所述第一关键性值基于所述第一路径的第一传播时间以及遍历所述第一路径、同时使得所述区域能够近似以所述目标速度或高于所述目标速度进行操作的第一可允许时间;以及经由所述控制电路来命令耦合到所述区域的功率调节器至少部分地基于所述目标电压值和所述第一关键性值向所述区域供应电压。21.一种或多种有形的非暂时性机器可读介质,其包括被配置成使得集成电路的控制电路执行根据权利要求20所述的方法的指令。

百度查询: 英特尔公司 区域设计相关的电压控制和钟控

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。