用于集成电路的电源管理系统的制作方法

文档序号:11454828阅读:312来源:国知局
用于集成电路的电源管理系统的制造方法与工艺

本公开大体涉及集成电路,具体涉及集成电路的电源管理。



背景技术:

可编程集成电路(ic)是可被编程以执行指定逻辑功能的器件。一种类型的可编程ic,现场可编程门阵列(fpga),通常包括可编程片(programmabletile)的阵列。这些可编程片包括各种类型的逻辑块,其可以包括例如输入/输出块(iob)、可配置逻辑块(clb)、专用随机存取存储器块(bram)、乘法器、数字信号处理块(dsp)、处理器、时钟管理器、延迟锁相环(dll)、总线或网络接口(如外围组件快速互连(pcie)和以太网等)。

每个可编程片通常包括可编程互连和可编程逻辑。可编程互连通常包括大量由可编程互连点(pip)互连的不同长度的互连线。可编程逻辑使用可包括例如函数发生器、寄存器、算术逻辑等的可编程元件来实现用户设计的逻辑。

可编程互连和可编程逻辑通常通过将配置数据流加载到定义如何配置可编程元件的内部配置存储器单元来编程。可以通过外部设备从存储器(例如,从外部prom)读取配置数据或将配置数据写入fpga。然后,各个存储单元的集合状态决定了fpga的功能。

一些可编程ic包括能够执行程序代码的嵌入式处理器。该处理器可以被制造为包括可编程逻辑电路和可编程互连电路(也统称为ic的“可编程电路”)的相同裸片的一部分。应当理解,处理器内的程序代码的执行与在ic上可用的可编程电路的“编程”或“配置”可以区分开。编程或配置ic的可编程电路的行为导致由可编程电路中的配置数据指定的不同物理电路的实现。



技术实现要素:

公开了一种包括多个可编程硬件资源和模数转换器(adc)的装置,其被设置在ic裸片上。adc被配置为量化ic裸片的一个或多个模拟参数的值。配置控制电路也被设置在ic裸片上。响应于一组配置数据,配置控制电路对可编程硬件资源进行编程以实现由该组配置数据指定的一组电路。配置控制电路的编程还使可编程硬件资源将adc连接到ic芯片的各个节点,以对一个或多个模拟参数进行采样。该装置还包括被耦接到adc并被配置为基于来自adc的一个或多个模拟参数的量化值产生控制信号的接口电路。接口电路将控制信号输出到被耦接到ic裸片的电源端子的电源。

还公开了一种包括主从通信接口的分级布置(hierarchicalarrangement)的装置。该装置包括设置在第一裸片上并包括第一主通信接口的顶层电源管理电路。该装置还包括设置在一个或多个附加裸片上的系统。该系统包括系统级电源管理电路,该系统级电源管理电路具有通信地耦接到第一主通信接口的第一从通信接口以及第二主通信接口。该系统还包括一个或多个子系统电路。子系统电路具有通信地耦接到第二主通信接口的各个从通信接口。

其它特征将通过考虑以下详细说明和权利要求而得出。

附图说明

在阅读以下具体实施方式并参考附图之后,所公开的电路和设备的各个方面和特征将变得显而易见,其中:

图1示出了用于控制ic裸片上的电源的第一布置;

图2示出了用于控制ic裸片上的电源的第二布置;

图3示出了使用设置在ic裸片上的adc来控制电压的第一过程;

图4示出了使用设置在ic裸片上的adc来控制电压的第二过程;

图5示出了使用设置在ic裸片上的adc来控制电压的第三过程;

图6示出了根据一个或多个实施例的、具有主从通信接口的分层布置的装置;和

图7示出了根据一个或多个实施例可以被配置来控制电源的可编程ic。

具体实施方式

在下面的描述中,阐述了许多具体细节以描述本文给出的具体示例。然而,对于本领域技术人员应当显而易见的是,可以在没有下面给出的所有具体细节的情况下实践一个或多个其它示例和/或这些示例的变体。在其它情况下,未详细描述众所周知的特征,以免使本文中的实施例的描述变得模糊。

由于集成电路制造的光刻工艺的变化,具有相同设计的不同ic可能不同地运行,并且在各种工艺、电压和温度(pvt)拐点(corner)处表现出不同的性能。例如,在第一pvt拐点处显示可接受的性能水平的ic可能会在其他pvt拐点处显示出性能下降,该性能下降可能是动态生成的。使用称为电压按比例变化的工艺,可以增加或减少电压以实现期望的性能。例如,较快的器件可以在较低的电压下满足指定的时序要求,而较慢的器件可能需要较高的电压才能达到指定的时序要求。作为另一示例,随着ic的工作温度变化,可以调节电压以保持期望的性能。

公开了用于电源调节的方法和电路,其基于工作期间由ic展示的模拟工作参数来调节电源电压ic。使用裸片上的模数转换器(adc)对模拟工作参数进行采样,并用于产生反馈/控制信号,以调节用于向ic提供电源电压的电源。通过经由电源调节电源电压,可以减少或消除裸片上电荷泵和/或电压调节器所需的电路。

在一些实施例中,装置包括可编程硬件资源和模数转换器(adc),其被设置在ic裸片上。adc被配置为量化ic裸片的一个或多个模拟参数的值。该装置还包括配置控制电路,其被配置为响应于一组配置数据对可编程硬件资源进行编程。可编程硬件资源被编程以实现由配置数据指定的一组电路,并将adc连接到ic裸片的各个节点,以对模拟参数进行采样。该装置还包括被耦接到adc的接口电路,并且该接口电路被配置为基于来自adc的一个或多个模拟参数的量化值产生控制信号。接口电路将控制信号输出到电源,电源被耦接到ic裸片的电源端子。在各种实施例中,可以将量化值从ic裸片上的多个adc提供给接口。为了便于说明,可以主要参考向接口电路提供量化值的单个adc来讨论这些示例。

adc可以被配置为量化ic的各种模拟参数,包括例如ic或i/o端子的内部节点的电压、温度、开关速度和/或延迟。在一个实施例中,接口电路包括被配置为基于由adc量化的模拟参数来执行一个或多个电源管理功能的逻辑电路。例如,接口电路可以被配置为响应于指示错误的由adc量化的模拟参数而复位或关闭ic。

作为另一示例,接口电路被配置为基于由adc量化的电压与目标电压之间的差来调节输出到电源的控制信号。目标电压可以例如由存储在非易失性存储器中或由配置控制电路接收的一组配置数据中的值指示。作为另一示例,接口电路可以使用查找表(lut)来确定目标电压,该lut具有用于指示量化的模拟参数的不同值的不同目标电压。例如,lut可以指示针对ic上测量的各种温度或电压的目标电压。

在一些实施例中,接口电路可以被配置为调节提供给电压源的控制信号,以调节提供给ic的电压并将由adc量化的电压保持在预定电压范围内。预定电压范围可以在,例如,设置在ic裸片上的非易失性存储器中、连接到ic裸片的外部存储器中或由配置控制电路接收的配置数据中指定。

在一些实施例中,接口电路可以被配置为响应于量化电压值在预定电压范围之外而执行各种动作。作为一个示例,可以响应于量化值在该范围之外而生成警告信号。作为另一个例子,响应于量化值在该范围之外,ic裸片可以使ic裸片断电或将ic置于安全模式。

在一些实施例中,接口电路被配置以通过控制信号调节提供给ic的电压,从而补偿ic芯片上的ir降。ir降是指随着电源电压在ic的配电网络中分配的电源电压的电压降。配电网络的ir降可能随着由配电网络供电的电路负载的增加而增加。例如,在可编程ic上,可编程资源被编程以实施由配置数据指定的一组电路后,ir降可能增加。

在一个示例性实施例中,接口电路响应于ic裸片通电并且在对可编程硬件资源进行编程之前,检索配电节点处的电压的第一量化值。在对可编程硬件资源进行编程之后,接口电路检索配电节点的电压的第二量化值。接口电路基于第一和第二量化值之间的差来确定电源的目标电压。

在一些实施例中,除了控制信号之外或为了替代控制信号,接口电路可以将一个或多个状态参数(例如由adc量化的值)传送到电源。电源可以包括逻辑电路,其基于状态参数调节由电源产生的电压。例如,电源可以被配置为响应于由状态参数指示的ic的温度超过阈值而使得ic断电。

不同的实施例可以使用各种通信电路和/或协议来在adc与接口电路之间以及在接口电路与电源之间传送数据。在一些实施例中,电路被配置为使用主从通信接口的分层布置进行通信。在一个示例性实施例中,ic裸片上的接口电路包括被配置为向电源中的第一主通信接口提供控制信号的第一从通信接口。ic裸片上的接口电路还包括第二主通信接口。ic裸片上的第二从通信接口被配置为从adc向第二主通信接口提供一个或多个模拟参数的量化值。

现在转向附图,图1示出了用于控制ic芯片上的电源的第一电路布置。电路布置100包括ic130和可编程电源110。可编程电源110被配置为向ic130的电源端子122提供电源电压120。ic130包括adc132,adc132被配置为量化各种模拟参数,例如ic130上的一个或多个子电路的电压、温度或状态。ic130包括接口电路134,接口电路134被通信地耦接到adc132并被配置为基于由adc132量化的参数值产生控制信号124。接口电路134将控制信号124输出到可编程电源110。控制信号124引导可编程电源110以调节提供给ic130的电源端子的电源电压120。

在该示例中,ic130包括一组可编程硬件资源136和配置控制电路138。配置控制电路138被配置为对可编程硬件资源136进行编程以实施在一组配置数据140中指定的电路。在一些实施例中,可编程硬件资源136的编程也可以配置可编程路由资源以将一个或多个模拟参数值路由到adc132。例如,配置数据可以使可编程硬件资源136将电压从ic130的特定节点路由至adc132。在一些实施例中,配置控制电路138还可以指定或调节由接口电路134使用的功能以产生控制信号124。

在该示例中,adc132和接口电路134被示出为与该组可编程硬件资源136分离。然而,在一些实施例中,adc132和/或接口电路134可以属于该组可编程硬件资源136,或由该组可编程硬件资源136的子集实施。

图2示出了用于控制ic裸片上的电源的第二电路布置。电路布置200包括ic230和可编程电源210。可编程电源210被配置为产生电源电压220,其作为输入的控制信号224的函数,并将电源电压220提供给ic230的电源端子222。ic230包括adc232,adc232被配置为量化各种模拟参数(诸如ic230上的一个或多个子电路的电压、温度或状态)。ic230包括接口电路234,接口电路234被通信地耦接到adc232,并且被配置为基于由adc232量化的参数值来生成控制信号224。接口电路234将控制信号224输出到可编程电源210。

在该示例中,接口电路234包括逻辑电路236,逻辑电路236被配置为使用lut240确定用于ic230的目标电压。lut240可以指定,例如,用于由adc232量化的模拟参数的值的各种组合的各个目标电压。

另外或替代地,接口电路234中的逻辑电路236可以被配置为基于由adc量化的模拟参数来执行一个或多个电源管理功能。例如,逻辑电路236可以被配置为响应于由adc232量化的模拟参数指示错误来复位或关闭ic230。作为另一示例,逻辑电路236可以被配置为响应于量化温度参数超过阈值来设置控制信号224以减小电源电压220。

在该示例中,ic230包括一组可编程硬件资源250和配置控制电路252,配置控制电路252被配置为对可编程硬件资源250进行编程以实施在一组配置数据254中指定的电路。在一些实施例中,可编程硬件资源250的编程还可以配置可编程路由资源以将一个或多个模拟参数值路由到adc232。另外或替代地,配置控制电路252可以指定或调节由接口电路234的逻辑电路236执行的功能。例如,配置控制电路252可以配置逻辑电路236以根据由配置数据指定的函数来确定目标电压或调整控制信号224。类似地,在一些实施例中,配置控制电路252可以根据配置数据254创建或调节lut240。

在该示例中,adc232、接口电路234和lut240被示出为与可编程硬件资源组136分离。然而,在一些实施例中,adc232、接口电路234和/或lut240可以使用可编程硬件资源250来实施。

在不同的实施例中,接口电路可以利用各种过程来基于由ic上的adc量化的模拟参数值来调节电源电压。图3、图4和图5示出了可以由ic上的接口电路执行的一些示例性过程,以控制提供给ic的电源电压。

图3示出了用于控制提供给ic的电源电压的第一示例性过程。当ic通电时,在框302,电源被设置为向ic提供默认电压。在框304,利用设置在ic上的片上adc来测量ic上的电压。当该电压在由最小电压和最大电压限定的期望电压范围内时,判断框306引导该过程在框304重复电压测量。

如果在框304处测量的电压在电压范围之外,则判断框306将过程引导到框308。在框308处,调节电源以使电压回到期望的电压范围。可选地,该过程可以响应于电压在期望电压范围之外而产生警告信号。在框304、306和308处重复测量和调整,直到电压在期望的电压范围内。

图4示出了用于控制提供给ic的电源电压的第二示例性过程。当ic通电时,在框402,设置电源以向ic提供默认电压。在框404,利用设置在ic上的片上adc测量ic上的节点处的第一电压(v1)。在框406,根据一组配置数据对可编程硬件资源进行编程。可编程硬件资源的编程增加了ic上配电线路的负载,并且可能增加配电线路上显示的ir降。在框408,用adc测量节点处的第二电压(v2)。在框410,调节由电源提供的电压以补偿由第一和第二电压之间的差指示的增加的ir降。在一些实施例中,该过程可以重复框408处对节点上的电压v2的测量,并且基于v2和v1之间的差值重复框410处对电压的调节。

图5示出了用于控制提供给ic的电源电压的第三示例过程。当ic通电时,在框502处,电源被设置为向ic提供默认电压。在框504,使用设置在ic上的adc来测量ic的一个或多个工作参数。在框506,使用测量的参数值从lut确定目标电压。如参考图2所讨论的,lut可以针对在框504测量的不同的工作参数值来指定各自的目标电压。在框508,通过控制或反馈信号来设置电源以向ic提供目标电压。

如前所述,不同的实施例可以使用各种通信电路和/或协议来在adc与ic上的接口电路之间以及在接口电路与连接到ic的电源之间传送数据。图6示出了具有根据一个或多个实施例的主从通信接口的分级布置的装置。装置600包括在第一裸片上的顶层电源管理(tlpm)电路610,并且包括第一主通信接口612。tlpm610被配置为通过第一主通信接口612控制和/或监视装置600中的多个系统之一。每个系统被设置在一个或多个附加的裸片上,这些裸片可以被包括在与顶层tlpm610相同的ic封装中,或者在与包括tlpm610的ic封装分开的ic封装中。在该示例中,装置600包括由tlpm610控制和/或监视的一个系统630。然而,在一些实施例中,tlpm610可被配置为控制和/或监视附加系统。在该示例中,系统包括系统级电源管理电路(slpm)640,其具有通信地被耦接到第一主通信接口612的第一从通信接口642。tlpm610和slpm640经由主通信接口612和从通信接口642通信数据614。

slpm640还包括第二主通信接口644。slpm640被配置为经由第二主通信接口644来控制和/或监视系统630的多个子系统650和660之一。子系统650和660可以设置在相同的ic裸片slpm640上或在单独的ic裸片上。子系统650和660中的每一个都包括相应的电源子系统级电源管理电路652或654。子系统级电源管理电路652和654中的每一个都包括相应的从通信接口654和664,从通信接口654和664被通信地耦接到第二主通信接口644。子系统级电源管理电路652和654经由从通信接口654和664与slpm640通信数据。例如,经由子系统级电源管理电路652和654,slpm640可以调节包括在子系统650和660中的调压器,或检索由包括在子系统650和660中的传感器收集的状态参数数据。在一些实施例中,子系统级电源管理电路(例如,652)还可以包括另一个主接口(未示出)以与子系统(例如650)中包括的一个或多个第三从电路通信。

在不同的实施例中,主和从通信接口612、642、644、654和664可以使用包括例如系统管理总线(smbus)和高级微控制器总线架构(axi)的各种通信协议来通信数据。在一些实施例中,主和从通信接口被配置为使用电源管理总线(pmbus)协议进行通信。pmbus是smbus的一种变化,其具有对系统中的电源进行数字管理的命令。pmbus允许主通信接口向从通信接口发出控制命令或从其请求状态参数。pmbus在具有用于控制多个系统的中央电路的设备中特别有用。然而,随着设备和应用的复杂性的增加,设计中央电路以与所有需要控制或监视的子系统连接并不总是可行的。图6所示的分层布置可以降低实施控制或监视电路所需的复杂性。

作为说明性示例,tlpm610可以被配置为监视装置600中所有系统的工作状态,以确保所有电路正常工作。对于系统630,这可能需要监视几个独立的子系统。然而,在子系统650和660与tlpm610之间转发状态的查询和响应可能是非常繁重的。在一些实施例中,slpm640可被配置为从子系统650和660中的电源管理电路652和654检索工作状态,并确定系统630的总体工作状态。然后,slpm640可以向tlpm610提供该总体工作状态。

在一些实施例中,图1和图2中所示的电路可以使用图6所示的主从通信接口的分层布置进行通信。例如,可编程电源110可以包括tlpm610,并且接口电路134可以包括slpm640。ic130的子系统可以包括adc132和从电路654,从电路654被配置为在adc132和接口电路之间经由slpm640通信数据。

slpm640可以经由从通信接口642与可编程电源110中的顶层控制电路610通信电源相关参数数据。slpm640可以经由第二主通信接口644与adc132通信电源相关参数数据。

图7示出了可以根据一个或多个实施例来配置的可编程ic702。可编程ic还可以被称为片上系统(soc),其包括处理子系统710和可编程逻辑子系统730。处理子系统710可以通过执行用户程序被编程以实施用户设计的软件部分。该程序可以被指定为一组配置数据的一部分,或者可以从片上或片外数据存储设备检索。处理子系统710可以包括用于执行用户设计714的软件实现的各种处理电路712。处理电路712可以包括例如一个或多个处理器核、浮点单元(fpu)、中断处理单元、片上存储器、存储器高速缓存和/或高速缓存一致互连。在各种实施例中,处理子系统710还可以包括被配置为测量一个或多个模拟工作参数的传感器716,所述一个或多个模拟工作参数包括例如子系统中的电路的温度或工作电压。

可编程ic702的可编程逻辑子系统730可以被编程以实施用户设计的硬件部分。例如,可编程逻辑子系统可以包括多个可编程逻辑电路732,可编程逻辑电路732可被编程为实施在一组配置数据中指定的一组电路。可编程逻辑电路732包括可编程互连电路、可编程逻辑电路和配置存储器单元。可编程逻辑使用可包括例如函数发生器、寄存器、算术逻辑等的可编程元件来实施用户设计的逻辑。可编程互连电路可以包括通过可编程互连点(pip)互连的大量不同长度的互连线。在各种实施例中,可编程逻辑子系统730还可以包括被配置为测量一个或多个模拟工作参数的传感器736,所述一个或多个模拟工作参数包括例如子系统中的电路的温度或工作电压。

可编程逻辑电路732可以通过将一组配置数据加载到配置存储器单元中进行编程,这定义了如何配置可编程互连电路和可编程逻辑电路。各个存储单元的集合状态然后确定可编程逻辑电路732的功能。可以通过外部设备从存储器(例如,从外部prom)读取配置数据或将配置数据写入可编程ic702。在一些实施例中,可以通过包括在可编程逻辑子系统730中的配置控制器734将配置数据加载到配置存储器单元中。在其它一些实施例中,可以通过由子系统710执行的启动过程将配置数据加载到配置存储器单元。

可编程ic702可以包括将处理子系统710与在可编程逻辑子系统730内实施的电路互连的各种电路。电路与子系统之间的连接在图7中被示为线。各种连接可以是单或多位信号线,并且可以是单向的或双向的。在该示例中,可编程ic702包括可以在处理子系统710的各个数据端口与可编程逻辑子系统730之间路由数据信号的核心开关726。核心开关726还可以在可编程逻辑或处理子系统710和730与可编程ic的各种其它电路(诸如内部数据总线)之间路由数据信号。另外或替代地,处理子系统710可以包括直接与可编程逻辑子系统连接的接口,即绕过了核心开关726。这样的接口可以例如使用由arm发布的ambaaxi协议规范(axi)实施。

在一些实施例中,处理子系统710和可编程逻辑子系统730也可以经由存储器控制器721读取或写入片上存储器722或片外存储器(未示出)的存储器位置。存储器控制器721可以被实施为与一个或多个不同类型的存储器电路通信,所述存储器电路包括但不限于双倍数据速率(ddr)2、ddr3、低功率(lp)ddr2类型的存储器,无论是16位、32位、具有ecc的16位等。存储器控制器721能够与之通信的不同存储器类型的列表仅是为了说明的目的而提供的,并不旨在作为限制或穷举。如图7所示,可编程ic702可以包括存储器管理单元720和翻译后备缓冲器(translationlook-asidebuffer)724,以将由子系统710和730使用的虚拟存储器地址转换为由存储器控制器721使用的物理存储器地址从而访问特定存储器位置。

可编程ic可以包括用于与外部电路通信数据的输入/输出(i/o)子系统750。i/o子系统750可以包括各种类型的i/o设备或接口,包括例如闪存型i/o设备、高性能i/o设备、低性能接口、调试i/o设备和/或rami/o设备。

i/o子系统750可以包括被标示为760a和760b的一个或多个闪存接口760。例如,一个或多个闪存接口760可以被实施为配置用于4位通信的四串行外设接口(qspi)。一个或多个闪存接口760可以被实施为并行8位nor/sram类型的接口。一个或多个闪存接口760可以被实施为被配置用于8位和/或16位通信的nand接口。应当理解,所描述的特定接口是为了说明而非限制的目的而提供的。可以使用具有不同位宽的其他接口。

i/o子系统750可以包括提供比闪存接口760更高性能水平的一个或多个接口762。接口762a-762c中的每一个可以分别被耦接到dma控制器764a-764c。例如,接口762中的一个或多个可以被实施为通用串行总线(usb)类型的接口。接口762中的一个或多个可被实施为千兆位以太网类型的接口。接口762中的一个或多个可以被实施为安全数字(sd)类型的接口。

i/o子系统750还可以包括一个或多个接口766,例如提供比接口762更低性能水平的接口766a-766d。例如,接口766中的一个或多个可以被实施为通用i/o(gpio)类型的接口。接口766中的一个或多个可以被实施为通用异步收发器(uart)类型的接口。接口766中的一个或多个可以以串行外设接口(spi)总线类型的接口的形式来实施。接口766中的一个或多个可以以控制器-区域-网络(can)类型的接口和/或i2c类型的接口的形式来实施。

i/o子系统750可以包括一个或多个调试接口768,例如处理器jtag(pjtag)接口768a和跟踪接口768b。pjtag接口768a可以为可编程ic702提供外部调试接口。跟踪接口768b可以提供端口来接收来自处理子系统710或可编程逻辑子系统730的调试(例如跟踪)信息。

如图所示,接口760、762、766和768中的每一个可以被耦接到多路复用器770。多路复用器770提供可直接路由到或被耦接到可编程ic702的外部引脚(例如,可编程ic702被设置于其中的封装的焊球)的多个输出。例如,可编程ic702的i/o引脚可以在接口760、762、766和768之间共享。用户可以通过一组配置数据来配置多路复用器770,以选择接口760-768中的哪个要被使用并且由此经多路复用器770被耦接到可编程ic702的i/o引脚。i/o子系统750还可以包括结构多路复用器i/o(fmio)接口,用于将接口762-768连接到可编程逻辑子系统的可编程逻辑电路。另外或替代地,可编程逻辑子系统730可以被配置为在可编程逻辑内实现一个或多个i/o电路。在一些实施例中,可编程ic702还可以包括具有用于电源和/或安全管理的各种电路的子系统740。例如,子系统740可以包括被配置为监视和维护用于为可编程ic702的各个子系统供电的一个或多个电压域的电源管理单元746。在一些实施例中,电源管理单元被配置为生成和输出控制信号,例如通过接口760、762、766和768输出到被耦接到可编程ic702的电源。如图1和图2所示,控制信号可以被设置为基于可编程ic的一个或多个参数来调整电源的电压。在一些实施例中,功率管理单元746可以禁用空闲时的各个子系统的供电,以减少功耗,而不禁用使用中的子系统的功率。

子系统740还可以包括安全电路以监视子系统的状态从而确保正常工作。例如,子系统740可以包括被配置为对可编程ic的各种子系统或电路执行安全功能的一个或多个硬连线安全电路741。子系统740还可以包括被配置为对可编程ic的各种子系统或电路执行各种基于软件的安全功能的一个或多个实时处理器742。

子系统740可以包括被配置为监视可编程ic的各种工作参数(例如,电压、温度、时钟和/或数据/控制信号)的一个或多个传感器或检测器(未示出)。在该示例中,子系统740包括adc749,adc749可用于量化由可编程ic上的各种传感器或检测器(如传感器716和736)产生的一个或多个模拟信号。模拟信号可以从传感器716和736通过各种硬连线或可编程路由资源(例如核心开关726或互连开关748)被路由到adc749。

去到和来自adc749的数据流由互连开关748控制。互连开关748可被设置为通过将量化值保存到状态寄存器744来直接或间接地从adc向电源管理单元746提供量化值。状态寄存器可以被例如硬连线安全电路741、实时处理器742或电源管理单元746访问。

安全功能可以监视各个子系统的状态并执行各种动作以便于检测、预防和/或减轻一个或多个子系统或电路中的错误。在一些实施例中,安全功能可以响应于具有指示错误的值的状态寄存器而采取动作。例如,安全功能可以响应于检测到错误而产生警告。作为另一示例,如参考图1和2所讨论的,安全功能可以重置单个子系统以尝试复原子系统以校正操作。

需要监视的子系统或电路以及需要重置子系统的条件可以在存储于存储器743中的安全策略中指定。安全子系统执行的安全策略可以被硬编码于非易失性存储器中或可以在启动时存储在存储器中。在一些实施例中,安全策略可以是用户可配置的,并且例如在一组配置数据的子集中提供。

子系统740包括可用于互连各种子系统的互连开关网络748。例如,互连开关网络748可以被配置为将各种子系统710、730和740连接到i/o子系统750的各种接口。在一些应用中,互连开关网络748也可以被硬连线安全电路741或实时安全处理器742的一个或多个安全功能控制以隔离实时处理器742与待监视的子系统。某些应用标准(例如iec-61508sil3或iso-26262标准)可能要求这种隔离,以确保实时处理器742不受其他子系统中发生的错误的影响。在一些应用中,互连开关网络748也可以被保护(例如通过ecc或奇偶校验)来提供防止随机故障的保护。在一些应用中,互连开关网络748可以被基于软件的测试所保护,该基于软件的测试被周期性执行以测试互连开关网络748。

在一些实施例中,一些安全功能可以由硬连线安全电路741的冗余硬连线电路来执行。例如,电源管理单元746可以由硬连线安全电路741的三模块冗余电路(triplemodularredundantcircuit)执行的安全功能来保护。例如,安全子系统的硬连线电路可以包括被配置为监视可编程ic的电源管理单元的三模块冗余电路。作为另一示例,可编程ic可以包括被配置为防止可编程逻辑电路的非预期重新配置(例如,在处理子系统710的复位期间)的配置安全单元。类似地,配置安全单元可以受到三重模块冗余电路的保护。

在一个示例中,公开了可以包括多个可编程硬件资源和设置在ic裸片上的模数转换器(adc)的装置。一些这样的装置可以包括:设置在集成电路(ic)裸片上的多个可编程硬件资源;模数转换器(adc),其被设置在所述ic裸片上并被配置为量化ic裸片的一个或多个模拟参数的值;配置控制电路,被设置在ic裸片上并且被配置为响应于一组配置数据对可编程硬件资源进行编程以实现由该组配置数据指定的一组电路,并将adc连接到ic裸片的各个节点用于对一个或多个模拟参数进行采样;以及接口电路,其被耦接到adc并且被配置为基于来自adc的一个或多个模拟参数的量化值来产生控制信号,并且将所述控制信号输出到耦合到所述ic裸片的电源端子的电源。

在一些这样的装置中,adc可被配置为量化ic裸片的配电节点的至少一个电压。

在一些这样的装置中,接口电路可以被配置和布置成基于由adc量化的电压与目标电压之间的差来调节控制信号。

在一些这样的装置中,接口电路可以被配置为从查找表确定目标电压,查找表具有用于指示量化的一个或多个模拟参数的不同值的不同目标电压。

在一些这样的装置中,接口电路还可以被配置为:响应于ic裸片被通电,并且在对可编程硬件资源进行编程之前,存储配电节点的电压的第一量化值;在对所述可编程硬件资源进行编程之后,存储配电节点的电压的第二量化值;并且基于第一和第二量化值之间的差来确定目标电压。

在一些这样的装置中,接口电路可以被配置和布置成调节控制信号,以将由adc量化的电压维持在设置在ic裸片上的非易失性存储器中指定的范围内。

在一些这样的装置中,接口电路可以被配置为响应于量化值在该范围之外而产生警告信号。

在一些这样的装置中,电源可以被耦接到电源端子。

在一些这样的装置中,电源可以被配置为基于控制信号调节从电源提供到ic裸片的电源端子的电压。

在一些这样的装置中,接口电路可以被配置为向电源提供至少一个量化值;并且电源被配置为基于所述至少一个量化值调节从电源提供到ic裸片的电源端子的电压。

在一些这样的装置中,ic裸片的一个或多个模拟参数可以包括ic裸片中的配电节点的电压。

在一些这样的装置中,ic裸片的一个或多个模拟参数可以包括ic裸片的输入或输出端子的电压。

在一些这样的装置中,ic裸片还可以包括温度传感器;并且一个或多个模拟参数包括由温度传感器输出的模拟温度信号。

在一些这样的装置中,接口电路可以包括第一从通信接口和第二主通信接口,第一从通信接口被配置为向电源中的第一主通信接口提供控制信号;并且该装置还包括被耦接到adc和第二主通信接口的第二从属通信接口,第二从通信接口被配置为从adc向第二主通信接口提供一个或多个模拟参数的量化值。

在一些这样的装置中,第一从通信接口可以被配置为响应于接收到来自第一主通信接口的提示而将控制信号提供给电源中的第一主通信接口。

一些这样的设备还可以包括:设置在ic裸片上的第二adc,其被配置为量化ic裸片的至少一个附加参数的值;以及第三从通信接口,其被耦接到第二主通信接口并被配置为将至少一个附加参数的量化值从第二adc提供给第二主通信接口。

在另一示例中,公开了另一种装置。这样的装置可以包括:顶层电源管理电路,其被设置在第一裸片上并且包括第一主通信接口;以及系统,其被设置在一个或多个附加裸片上,并且包括:系统级电源管理电路,其具有第一从通信接口和第二主通信接口,第一从通信接口被通信地耦接到第一主通信接口;以及一个或多个子系统电源管理电路,其具有被通信地耦接到第二主通信接口的相应从通信接口。

在这种装置中,系统级电源管理电路可以被配置为:经由第一从通信接口与顶层电源管理电路通信电源相关参数数据;并且经由第二主通信接口与子系统电源管理电路通信电源相关参数数据。

在这种装置中,系统级电源管理电路还可以被配置为:经由第二主通信接口从子系统电源管理电路检索工作状态;基于从子系统电路中检索的工作状态参数确定系统的总体工作状态;并且经由第一从通信接口将系统的总体工作状态传送给顶层电源管理电路。

在这种装置中,主从通信接口可以被配置为使用具有一组电源管理控制命令的通信协议进行通信。

这些方法和电路被认为适用于各种系统和应用。通过考虑本说明书,其他方面和特征对本领域技术人员是显而易见的。例如,尽管在某些情况下可以在各个附图中描述方面和特征,但是应当理解,来自一个附图的特征可以与另一个附图的特征组合,即使这样的组合未被明确地显示或被明确地描述为组合。本说明书和附图仅意在作为示例,本发明的真实范围由所附权利要求书指出。

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