专利名称:以不同的操作模式控制集成电路的系统和方法
技术领域:
本发明的实施例通常与集成电路(IC)系统相关,更具体而言,与以不同的操作模式控制IC的系统和方法相关。
背景技术:
在IC中,不使用的电路可以关闭以节约能量并在需要时重新启动。然而,因为应关闭或重启的电路的可能组合数量巨大,用户通常不能关闭或重启IC中需要的电路。因此,需要提供一种控制IC的系统和方法以使用户能控制IC中每一个目标电路的操作。
发明内容
以不同的操作模式控制集成电路的系统和方法包括自动将IC中的目标电路针对所确定的操作模式的操作配置加载到至少一个寄存器中,和根据自动加载到至少一个寄存器中的操作配置操作IC中的目标电路。在一个实施例中,以不同的操作模式控制集成电路的方法包括获得IC中的电路针对不同的操作模式中的每一种操作模式的操作配置,从不同的操作模式中确定所述IC 的操作模式,自动将IC中的电路针对所确定的操作模式的操作配置加载到至少一个寄存器中,并按照所确定的操作模式操作IC,包括根据自动加载到至少一个寄存器中的操作配置操作IC中的电路。在一个实施例中,以不同的操作模式控制集成电路(IC)的系统包括IC操作配置获得器电路,IC操作模式确定器电路,至少一个IC操作配置寄存器和IC操作配置加载器电路。IC操作配置获得器电路配置为获得IC中的电路针对不同的操作模式中的每一种操作模式的操作配置。IC操作模式确定器电路配置为从不同的操作模式中确定IC的操作模式。IC操作配置加载器电路配置为自动将IC中的电路针对所确定的操作模式的操作配置加载到至少一个IC操作配置寄存器中。所述至少一个IC操作配置寄存器根据自动加载到至少一个IC操作配置寄存器中的操作配置控制IC中的电路操作。在一个实施例中,以不同操作模式操作的片上 系统(SoC)包括电路和SoC操作模式控制器电路。SoC操作模式控制器电路包括SoC操作配置获得器电路、SoC操作模式确定器电路、至少一个SoC操作配置寄存器和SoC操作配置加载器电路。所述SoC操作配置获得器电路配置为获得电路针对不同的操作模式中的每一种操作模式的操作配置。所述SoC 操作模式确定器电路配置为从不同的操作模式中确定SoC的操作模式。所述SoC操作配置加载器电路配置为自动将电路针所确定的操作模式的操作配置加载到至少一个SoC操作配置寄存器中。所述至少一个SoC操作配置寄存器根据自动加载到至少一个SoCC操作配置寄存器中的操作配置控制电路操作。
根据以下对本发明的原理的示例性的详细描述,并结合所附附图,本发明的实施例的其他方面和优点将变得显而易见。图1是根据本发明的实施例在不同的操作模式下控制IC的系统的示意框图。
图2图示了根据本发明的实施例的片上系统(SoC)。图3图示了可用于参照图1描述的系统和参照图2描述的SoC中的三个示例性操作模式。图4图示了根据本发明的实施例的另一个SoC。图5图示了图4的SoC电源状态加载器电路的示例性实施例。图6图示了图4的SoC电源状态控制寄存器的示例性实施例。图7图示了针对图4的运行操作模式的电源状态配置寄存器的示例性实施例。图8图示了针对图4的休眠操作模式的电源状态配置寄存器的示例性实施例。图9图示了针对图4的唤醒操作模式的电源状态配置寄存器的示例性实施例。图10是根据本发明的实施例在不同的操作模式下控制IC的方法的过程流程图。纵观整个说明文件,相同的附图标记可以用来指示相同的元件。
具体实施例方式图1是根据本发明的实施例在不同的操作模式下控制IC 102的系统100的示意框图。如图1所示,所述系统包括IC操作配置获得器电路104,IC操作模式确定器电路106, IC操作配置加载器电路108和IC操作配置寄存器110。所述系统控制IC在不同的操作模式下操作。IC 102包括至少两个目标电路112和114,所述目标电路112和114由图1的系统100控制。目标电路可以包括包括至少一个数字电路和/或至少一个模拟电路。例如, 电路包括IC的至少一个时钟电路(未示出)。IC可以包括比由图1的系统控制的目标电路数量更多的电路。例如,IC包括16个电路且从16个电路中选择8个电路作为由图1的系统控制的目标电路。在图1的实施例中,IC操作配置获得器电路104配置为获得IC 102中的目标电路112和114针对不同的操作模式中的每一种操作模式的操作配置。在一个实施例中,目标电路的操作配置包括目标电路的功耗配置。IC操作模式确定器电路106配置为从不同的操作模式中确定IC102的操作模式。在实施例中,IC操作模式确定器电路处理将IC从第一操作模式下的操作切换到第二操作模式下的操作的请求,核实IC的当前操作模式是否是所述第一操作模式,并利用至少一个处理器确定IC的下一个操作模式为所述第二操作模式。IC操作配置加载器电路108配置为自动将IC 102中的目标电路112和114针对所确定的操作模式的操作配置加载到IC操作配置寄存器110中。IC操作配置寄存器110配置为存储IC 102中的目标电路112和114在所确定的操作模式下的操作配置,所述操作配置由IC操作配置加载器电路108自动加载到IC操作配置寄存器中。在实施例中,IC操作配置寄存器进一步配置为根据自动加载到IC操作配置寄存器中的操作配置控制电路操作。响应加载到IC操作配置寄存器中的操作配置,IC在所确定的操作模式下操作,即IC中的目标电路根据自动加载到IC操作配置寄存器中的操作配置操作。虽然图1的系统100包括一个IC操作配置寄存器,但在其它实施例中系统可以包括多于一个IC操作配置寄存器。 虽然在图1的实施例中系统100以与IC 102分开的方式示出,在其它的实施例中,系统可以集成在IC中。例如,图2示出了根据本发明的实施例的SoC 200。如图2所示,SoC包括SoC操作模式控制器电路202和至少两个目标电路204和206,所述目标电路 204和206由SoC操作模式控制器电路控制。SoC操作模式控制器电路包括SoC操作配置获得器电路208、SoC操作模式确定器电路210、SoC操作配置加载器电路212和SoC操作配置寄存器214。SoC操作模式控制器电路控制目标电路在不同的操作模式下的操作。目标电路可以包括包括至少一个数字电路和/或至少一个模拟电路。例如,电路包括SoC的至少一个时钟电路(未示出)。SoC可以包括比由SoC操作模式控制器电路控制的目标电路数量更多的电路。例如,SoC包括16个电路且从16个电路中选择8个电路作为由SoC操作模式控制器电路控制的目标电路。在图2的实施例中,SoC操作配置获得器电路208配置为获得目标电路204和206 针对不同的操作模式中的每一种操作模式的操作配置。在实施例中,目标电路的操作配置包括目标电路的功耗配置。SoC操作模式确定器电路210配置为从不同的操作模式中确定SoC200的操作模式。在实施例中,SoC操作模式确定器电路处理将SoC从第一操作模式下的操作切换到第二操作模式下的操作的请求,核实SoC的当前操作模式是否是所述第一操作模式,并利用至少一个处理器确定SoC的下一个操作模式为所述第二操作模式。SoC操作配置加载器电路212配置为自动将SoC 200中的目标电路204和206针对所确定的操作模式的操作配置加载到SoC操作配置寄存器214中。SoC操作配置寄存器214配置为存储SoC 200中的目标电路204和206在所确定的操作模式下的操作配置,所述操作配置可自动由SoC操作配置加载器电路212加载到SoC 操作配置寄存器。SoC操作配置寄存器进一步配置为根据自动加载到SoC操作配置寄存器中的操作配置控制SoC中的目标电路的操作。响应加载到SoC操作配置寄存器中的操作配置,SoC在所确定的操作模式下操作,即SoC中的目标电路根据自动加载到至少一个寄存器中的操作配置操作。虽然图2的实施例中的SoC操作模式控制器电路包括一个SoC操作配置寄存器,但在其它实施例中SoC操作模式控制器电路可以包括多于一个SoC操作配置寄存器。图3图示了可用于图1中示出的系统100和图2中示出的SoC 200中的三个示例性操作模式。如图3所示,所述三种不同的操作模式包括运行操作模式、休眠操作模式和唤醒操作模式。IC的功耗通常随IC性能的提升而增加。当IC只需要较低的性能时,IC中不用的组件可以关闭以节约能量。在运行操作模式下,IC运行至少一个外部应用。在休眠操作模式下,IC的至少一个组件被关闭以节约能量。在唤醒操作模式下,在休眠操作模式下被关闭以节约能量的IC的组件的至少一部分从关闭中唤醒。在实施例中,IC在休眠操作模式和唤醒操作模式下不执行任何外部应用。在模拟电路被关闭以节约能量之后,重启模拟电路需要相对长的时间。因此,虽然关闭所有不用的模拟电路可以节约大量的功耗,但重启所有不用的模拟电路需要花费长时间且不适用于IC中时间紧急的操作。在实施例中,在休眠操作模式下,只选择关闭所有不用的模拟电路中的一个或更多的无须快速唤醒的模拟电路。如图3所示,IC在唤醒操作模式下操作之后操作在运行操作模式,在运行操作模式下操作之后操作在休眠操作模式,在休眠操作模式下操作之后操作在唤醒操作模式。换句话说,在唤醒操作模式下操作之后,IC不经过首先在运行操作模式下操作,不能操作在休眠操作模式。在运行操作模式下操作之后,IC不经过首先在休眠操作模式下操作,不能操作在 唤醒操作模式。在休眠操作模式下操作之后,IC不经过首先在唤醒操作模式下操作, 不能操作在运行操作模式。图4图示了根据本发明的实施例的另一个SoC 400。图4的SoC使用参照图3描述的三个操作模式。如图4所示,SoC包括SoC操作模式控制器电路402、至少两个由SoC 操作模式控制器电路控制的目标电路404和406,和系统时钟电路408。目标电路可以包括至少一个数字电路和/或至少一个模拟电路。SoC可以包括比由SoC操作模式控制器电路控制的目标电路数量更多的电路。例如,SoC包括16个电路且从16个电路中选择8个电路作为由SoC操作模式控制器电路控制的目标电路。虽然图4的SoC包括一个系统时钟电路,但在其它实施例中SoC可以包括多于一个系统时钟电路。在图4的实施例中,SoC操作模式控制器电路402包括可选用户输入接口 410、用于图3的运行操作模式的电源状态配置寄存器412 (也可以称之为“PS_RUN_CFG”寄存器)、 用于图3的休眠操作模式的电源状态配置寄存器414(也可以称之为“PS_SLEEP_CFG”寄存器)、用于图3的唤醒操作模式的电源状态配置寄存器416 (也可以称之为“PS_AWAKE_Cre” 寄存器)、SoC操作模式确定器电路418、SoC电源状态加载器电路420 (也可以称之为“PS” 加载器电路)和SoC电源状态控制寄存器422 (也可以称之为“PS_C0NTR0L”寄存器)。可选用户输入接口 410配置为从至少一个用户(所述用户可以是人或者SoC 400 内部或外部的机器)接收目标电路404和406针对图3的三种操作模式的功耗配置,并将接收到的目标电路针对图3的三种操作模式的功耗配置分别输出到PS_RUN_CFG寄存器412、 PS_SLEEP_CFG寄存器414和/或PS_AWAKE_CFG寄存器416。换句话说,可选用户输入接口 410允许至少一个用户单独或联合设置PS_RUN_CFG寄存器、PS_SLEEP_CFG寄存器和PS_ AWAKE_(FG寄存器。在实施例中,当SoC 400操作在运行操作模式下时,用户连续设置PS_ RUN_CFG寄存器,只有在SoC操作在休眠操作模式之前设置PS_SLEEP_CFG寄存器,且只有在 SoC操作在唤醒操作模式之前设置给PS_AWAKE_CFG寄存器。用户输入接口 410是可选的。在实施例中,用户直接设置PS_RUN_(FG寄存器412、 PS_SLEEP_CFG寄存器414和PS_AWAKE_Cre寄存器416。在另一个实施例中,目标电路404 和406的电源状态的默认值存储在PS_RUN_CFG寄存器、PS_SLEEP_CFG寄存器和PS_AWAKE_ CFG寄存器中,无须用户输入。PS_RUN_CFG寄存器412配置为存储SoC 400中的目标电路404和406对于运行操作模式的功耗配置。一旦用户设置PS_RUN_CFG寄存器,存储在PS_RUN_CFG寄存器中的功耗配置就可以被SoC使用。PS_SLEEP_CFG寄存器414配置为存储SoC 400中的目标电路404和406针对休眠操作模式的功耗配置。只有当SoC开始操作在休眠操作模式下时,存储在PS_SLEEP_CFG寄存器中的功耗配置可以被SoC使用。PS_AWAKE_CFG寄存器416配置为存储SoC 400中的目标电路404和406针对唤醒操作模式的功耗配置。只有当SoC开始操作在唤醒操作模式下时,存储在PS_AWAKE_CFG寄存器中的功耗配置可以被SoC使用。
存储在PS_RUN_CFG寄存器412中的目标电路404和406的功耗配置包括在运行操作模式下每一个目标电路的功耗配置。存储在PS_SLEEP_CFG寄存器414中的目标电路的功耗配置包括在休眠操作模式下每一个目标电路的功耗配置。存储在PS_AWAKE_(FG寄存器416中的目标电路的功耗配置包括在唤醒操作模式下每一个目标电路的功耗配置。换句话说,对每一个目标电路,在三种操作模式中的每一个操作模式下的一个功耗配置存储在PS_RUN_CFG寄存器、PS_SLEEP_CFG寄存器或PS_AWAKE_CFG寄存器中。作为结果,图4的系统允许用户控制每一个目标电路在所有三种操作模式下的操作。例如,对具有8个目标电路的SoC,PS_RUN_CFG寄存器存储8个目标电路中的每一个在运行操作模式下的功耗配置,PS_SLEEP_CFG寄存器存储8个目标电路中的每一个在休眠操作模式下的功耗配置,且 PS_AWAKE_CFG寄存器存储8个目标电路中的每一个在唤醒操作模式下的功耗配置。因此, SoC操作模式控制器电路402允许用户挑选SoC中的目标电路在三种操作模式下的准确的功耗配置以获得需要的行为。目标电路404和406在一种操作模式下的功耗配置包括目标电路在此操作模式下的功耗信息。例如,目标电路在操作模式下的功耗配置包括用来关闭目标电路以节约能量的电源关闭信号或用来唤醒目标电路(如果目标电路为关闭状态)的电源启动信号。另夕卜,目标电路在操作模式下的功耗配置可以是以下形式至少一个信号,至少一个数字信号如单个比特、多个比特、单个数字符号或多个数字符号。SoC操作模式确定器电路418配置为从三种操作模式中确定SoC400的操作模式。 在实施例中,SoC操作模式确定器电路处理将SoC从第一操作模式下的操作切换到第二操作模式下的操作的请求,核实SoC的当前操作模式是否是所述第一操作模式,并利用至少一个处理器确定SoC的下一个操作模式为所述第二操作模式。虽然在图4中SoC操作模式确定器电路以与SoC操作模式控制器电路402的其它组件分开的方式示出,但在其它的实施例中,SoC操作模式确定器电路可以与SoC操作模式控制器电路的其它组件集成在一起。 例如,SoC操作模式确定器电路与PS加载器电路420集成在一起。PS加载器电路420配置为自动将SoC 400中的目标电路404和406针对由SoC操作模式确定器电路418所确定的操作模式的功耗配置加载到PS_C0NTR0L寄存器422中,其中所述功耗配置存储在PS_RUN_CFG寄存器412、PS_SLEEP_CFG寄存器414或PS_AWAKE_CFG 寄存器416中。PS_C0NTR0L寄存器422配置为存储SoC 400中的目标电路404和406针对所确定的操作模式的功耗配置,所述功耗配置由PS加载器电路420自动加载到PS_C0NTR0L寄存器中。在实施例中,PS_C0NTR0L寄存器进一步配置为根据自动加载到PS_C0NTR0L寄存器中的功耗配置控制目标电路的操作。在实施例中,SoC操作模式确定器电路418确定休眠操作模式作为SoC 400的下一个操作模式,且PS加载器电路420将存储在PS_SLEEP_CFG寄存器414中的目标电路404 和406在休眠操作模式下的功耗配置同步加载到PS_C0NTR0L寄存器422中,以控制目标电路。例如,当SoC从操作在运行操作模式下切换到操作在休眠操作模式下时,系统时钟电路 408运行,并且在系统时钟电路的时钟边缘期间,PS加载器电路将存储在PS_SLEEP_CFG寄存器中的目标电路在休眠操作模式下的功耗配置加载到PS_CONTROL寄存器中。在实施例中,SoC操作模式确定器电路418确定唤醒操作模式作为SoC 400的下一个操作模式,且PS加载器电路420将存储在PS_AWAKE_CFG寄存器416中的目标电路404 和4 06在唤醒操作模式下的功耗配置异步加载到PS_C0NTR0L寄存器422中,以控制目标电路。例如,当SoC从操作在休眠操作模式下切换到操作在唤醒操作模式下时,系统时钟电路 408可以不运行,无需系统时钟电路的时钟信号,PS加载器电路将存储在PS_AWAKE_CFG寄存器中的目标电路在唤醒操作模式下的功耗配置加载到PS_C0NTR0L寄存器中。在实施例中,SoC操作模式确定器电路418确定运行操作模式作为SoC_400的操作模式,且PS加载器电路420将存储在PS_RUN_CFG寄存器412中的目标电路404和406在运行操作模式下的功耗配置同步加载到PS_C0NTR0L寄存器422中。例如,当SoC从操作在唤醒操作模式下切换到操作在运行操作模式下时,系统时钟电路408运行,并且在系统时钟电路的时钟边缘期间,PS加载器电路将存储在PS_RUN_CFG寄存器中的目标电路在运行操作模式下的功耗配置加载到PS_C0NTR0L寄存器中。对于SoC 400来说,模拟电路的突然的电源启动或电源关闭可能会引起麻烦。例如,如果系统时钟电路408在系统时钟电路的上升时钟沿输出后立即关闭,短时脉冲将传遍SoC并因此干扰了 SoC的数字逻辑。在另一个实施例中,当模拟电路的一部分仍在关闭时,如果模拟电路关闭并在短时间段后唤醒,模拟电路可能被损坏,且SoC会变得不稳定。 图5图示了图4的PS加载器电路420的示意性实施例。当至少一个模拟电路正在关闭时, 图5的PS加载器电路500延迟模拟电路的唤醒请求一段时间,例如30纳秒,以确保模拟电路在被唤醒前完全关闭。如图5所示,PS加载器电路包括处理器502、开关电路504和延迟电路506。在某些实施例中,图5的PS加载器电路被用来延迟至少一个数字电路的唤醒请求。在图5的实施例中,处理器502通过开关电路504,将SoC 400中的目标模拟电路针对由SoC操作模式确定器电路418所确定的操作模式的功耗配置自动加载到PS_C0NTR0L 寄存器422中,其中所述功耗配置存储在PS_RUN_CFG寄存器412、PS_SLEEP_CFG寄存器414 或 PS_AWAKE_CFG 寄存器 416 中。开关电路504配置为开启或关闭延迟电路506。默认地,开关电路关闭延迟电路。 换句话说,延迟电路默认非激活。延迟电路506包括至少两个串联的触发器电路508和510。延迟电路配置为即使在SoC 400所有的系统时钟均关闭后也能产生上升时钟沿。因此,延迟电路确保SoC的系统时钟在下降沿后关闭,并因此确保SoC中没有短时脉冲。一旦设置成关闭的系统时钟关闭,延迟电路由开关电路504开启。一旦延迟电路的最后的触发器510被翻转,已经完全关闭的模拟电路可以被唤醒。目标电路在一种操作模式下的功耗配置可以包括电源状态信号,所述电源状态信号代表在由用户选择或者默认设置的操作状态下目标电路所需的电源状态。例如,在操作状态下目标电路的电源状态包括电源启动状态和电源关闭状态,且由单个比特表示。处于电源启动状态的目标电路的功耗比处于电源关闭状态的目标电路的功耗高。在电源启动状态,目标电路开启或操作,且目标电路的功耗相对较高。在电源关闭状态,目标电路断电或关闭以节约能量,且目标电路的功耗相对较低。在实施例中,处于电源关闭状态的目标电路的功耗是零。图 6-9 分别图示了图 4 的 PS_C0NTR0L 寄存器 422、PS_RUN_CFG 寄存器 412、PS_ SLEEP_CFG寄存器414和PS_AWAKE_CFG寄存器416的示例性实施例。在图6的实施例中,SoC 400的目标电路404和406包括8个目标模拟电路428、 430、432、434、436、438、440和442,且PS_C0NTR0L寄存器600包括8个电源状态比 特,其中 8个电源状态比特的每一个控制8个目标模拟电路中的相对应的目标模拟电路。在图7的实施例,PS_RUN_CFG寄存器700包括8个电源状态比特,其中8个电源状态比特的每一个由用户通过用户输入接口来设置,并且代表在运行操作模式下8个目标模拟电路中相对应的目标模拟电路的所需的电源状态。在图8的实施例中,PS_SLEEP_CFG寄存器800包括8个电源状态比特,其中8个电源状态比特的每一个由用户通过用户输入接口来设置,并且代表在休眠操作模式下8个目标模拟电路中相对应的目标模拟电路的所需的电源状态。在图9的实施例中,PS_AWAKE_CFG寄存器900包括8个电源状态比特,其中8个电源状态比特的每一个由用户通过用户输入接口来设置,并且代表在唤醒操作模式下8个目标模拟电路中相对应的目标模拟电路的所需的电源状态。在图4-9的SoC的示例性操作中,用户控制8个目标模拟电路428、430、432、434、 436、438、440 和 442 的操作。首先,用户根据8个目标模拟电路428、430、432、434、436、438、440和442分别针对运行操作模式、休眠操作模式和唤醒操作模式的用户所需的电源状态配置,通过用户输入接口 410分别设置PS_RUN_CFG寄存器700的8个电源状态比特,PS_SLEEP_CFG寄存器 800的8个电源状态比特和PS_AWAKE_CFG寄存器900的8个电源状态比特。然后,用户通过用户输入接口 410发出休眠请求给SoC操作模式确定器电路418, 以将SoC 400从操作在运行操作模式切换到操作在休眠操作模式。SoC操作模式确定器电路处理来自用户的休眠请求,核实SoC的当前操作模式是否是运行操作模式,并且(如果 SoC的当前操作模式被核实是运行操作模式)确定SoC的下一个操作模式是休眠操作模式。PS加载器电路500自动将存储在PS_SLEEP_CFG寄存器800中的针对休眠操作模式的 8个目标模拟电路428、430、432、434、436、438、440和442的8个电源状态比特加载到PS_ CONTROL寄存器600。PS_C0NTR0L寄存器输出由PS加载器电路自动加载到PS_C0NTR0L寄存器中的8个目标模拟电路针对休眠操作模式的8个电源状态比特到8个目标模拟电路。 8个目标模拟电路的每一个将模拟电路针对休眠操作模式的用户所需的电源状态(由与模拟电路相对应的电源状态比特代表)与模拟电路的当前的电源状态相比较,并在当前电源状态与用户所需电源状态不同时调整到用户所需电源状态。然后,用户通过用户输入接口 410向SoC操作模式确定器电路418发出唤醒请求, 以将SoC 400从操作在休眠操作模式切换到操作在唤醒操作模式。SoC操作模式确定器电路处理来自用户的唤醒请求,核实SoC的当前操作模式是否是休眠操作模式,并且(如果 SoC的当前操作模式被核实是休眠操作模式)确定SoC的下一个操作模式是唤醒操作模式。PS加载器电路500自动将存储在PS_AWAKE_CFG寄存器900中的针对唤醒操作模式的 8个目标模拟电路428、430、432、434、436、438、440和442的8个电源状态比特加载到PS_ CONTROL寄存器600。然而,如果来自用户的唤醒请求恰好在来自用户的休眠请求之后到达,PS加载器电路利用延迟电路506延迟唤醒请求一段时间,以确保目标模拟电路在被唤醒前已经完全关闭。PS_CONTROL寄存器把由PS加载器电路自动加载到PS_CONTROL寄存器中的8个目标模拟电路针对唤醒操作模式的8个电源状态比特输出到8个目标模拟电路。 8个目标模拟电路的每一个将模拟电路针对唤醒操作模式的用户所需的电源状态(由与模拟电路相对应的电源状态比特代表)与模拟电路的当前的电源状态相比较,并在当前电源状态与用户所需电源状态不同时调整为用户所需电源状态。然后,用户通过用户输入接口发出运行请求给SoC操作模式确定器电路418,以将 SoC 400从操作在唤醒操作模式切换到操作在运行操作模式。SoC操作模式确定器电路处理来自用户的运行请求,核实SoC的当前操作模式是否是唤醒操作模式,并且(如果SoC的当前操作模式被核实是唤醒操作模式)确定SoC的下一个操作模式是运行操作模式。PS 加载器电路500自动将存储在PS_RUN_CFG寄存器700中针对运行操作模式的8个目标模拟电路428、430、432、434、436、438、440和442的8个电源状态比特加载到PS_C0NTR0L寄存器600。PS_C0NTR0L寄存器向8个目标模拟电路输出由PS加载器电路自动加载到PS_ CONTROL寄存器中的8个目标模拟电路针对运行操作模式的8个电源状态比特。8个目标模拟电路的每一个将模拟电路针对运行操作模式的用户所需的电源状态(由与模拟电路相对应的电源状态比特代表)与模拟电路的当前的电源状态相比较,并在当前电源状态与用户所需电源状态不同时调整为用户所需电源状态。当SoC 400操作在运行操作模式下时,用户可以重新设置PS_RUN_CFG寄存器700 的8个电源状态比特并且向SoC操作模式确定器电路418发出重新配置请求。SoC操作模式确定器电路处理来自用户的重新配置请求,并确定当前操作模式是运行操作模式。然后, PS加载器电路500自动将由用户重新配置且存储在PS_RUN_CFG寄存器700中的8个目标模拟电路428、430、432、434、436、438、440和442的8个电源状态比特加载到PS_C0NTR0L 寄存器600。PS_C0NTR0L寄存器向8个目标模拟电路输出由用户重新配置且由PS加载器电路自动加载到PS_C0NTR0L寄存器中的8个目标模拟电路针对运行操作模式的8个电源状态比特。8个目标模拟电路的每一个将模拟电路针对运行操作模式的用户所需的电源状态(由与模拟电路相对应的电源状态比特代表)与模拟电路的当前的电源状态相比较,并在当前电源状态与用户所需电源状态不同时修正为用户所需电源状态。图10是根据本发明的实施例在不同的操作模式下控制IC的方法的过程流程图。 在模块1002处,获得IC中的电路对不同的操作模式的每一个操作模式的操作配置。在模块1004处,从不同的操作模式中确定IC的操作模式。在模块1006处,IC中的电路针对所确定的操作模式的操作配置被自动加载到至少一个寄存器。在模块1008处,IC在所确定的操作模式下操作,其中根据自动加载到至少一个寄存器中的操作配置操作IC中的电路。虽然本文的方法的操作以特定的顺序图示和描述,但该方法的操作顺序可以改变,从而某些操作可以以相反的顺序执行,或某些操作可以至少部分地与其它操作同时执行。在另一个实施例中,指令或不同操作的子操作可以以间歇和/或交替的方式执行。虽然已描述或图示的本发明的特定实施例包括本文描述或图示的几个组件,本发明的其它实施例也可以包括更少或更多的组件以实现更少或更多的功能。虽然本发明的特定实施例已描述或图示,但本发明不限于如此描述和图示的部分的特定形式和布置。本发明的范围由所附权利要求和它们的等同物限定。
权利要求
1.一种在不同的操作模式下控制集成电路IC的方法,所述方法包括获得步骤,获得IC中的电路针对不同操作模式的每一个操作模式的操作配置; 确定步骤,从不同的操作模式中确定IC的操作模式;自动加载步骤,将IC中的电路针对所确定的操作模式的操作配置自动加载到至少一个寄存器;和操作步骤,在确定的操作模式下操作IC,包括根据自动加载到至少一个寄存器的操作配置操作IC中的电路。
2.根据权利要求1所述的方法,其中至少一个寄存器包括单个寄存器。
3.根据权利要求2所述的方法,其中不同的操作模式包括运行操作模式、休眠操作模式和唤醒操作模式。
4.根据权利要求2所述的方法,其中IC中的电路的操作配置包括IC中的电路的功耗配置。
5.根据权利要求2所述的方法,其中获得步骤包括获得IC中的每一个电路针对不同操作模式的每一个操作模式的操作配置,其中自动加载步骤包括将IC中的电路的每一个电路针对所确定的操作模式的操作配置自动加载到单个寄存器中,其中操作IC中的电路包括根据自动加载到单个寄存器的电路的操作配置操作IC中的电路的每一个电路。
6.根据权利要求3所述的方法,其中确定步骤包括处理请求,以将IC从操作在第一操作模式切换到操作在第二操作模式; 核实IC的当前操作模式是否是第一操作模式;和确定IC的下一个操作模式为第二操作模式,其中第一操作模式和第二操作模式分别是运行操作模式和休眠操作模式,或者第一操作模式和第二操作模式分别是休眠操作模式和唤醒操作模式,或者第一操作模式和第二操作模式分别是唤醒操作模式和运行操作模式。
7.根据权利要求6所述的方法,其中自动加载步骤包括将IC中的电路针对下一个操作模式的操作配置自动加载到单个寄存器中,其中操作IC中的电路包括根据自动加载到单个寄存器中的针对下一个操作模式的操作配置操作IC中的电路。
8.根据权利要求3所述的方法,其中自动加载步骤包括将IC中的电路针对运行操作模式的操作配置同步加载到单个寄存器中; 将IC中的电路针对休眠操作模式的操作配置异步加载到单个寄存器中;和将IC中的电路针对唤醒操作模式的操作配置同步加载到单个寄存器中。
9.根据权利要求3所述的方法,所述方法进一步包括 获得IC中的电路针对运行操作模式的新的操作配置;将IC中的电路针对运行操作模式的新的操作配置自动加载到单个寄存器;和根据自动加载到单个寄存器的新的操作配置操作IC中的电路。
10.一种在不同的操作模式下控制集成电路(IC)的系统,所述系统包括IC操作配置获得器电路,所述IC操作配置获得器电路配置为获得IC中的电路针对不同操作模式的每一个操作模式的操作配置;IC操作模式确定器电路,所述IC操作模式确定器电路配置为从不同的操作模式中确定IC的操作模式;至少一个IC操作配置寄存器;和IC操作配置加载器电路,所述IC操作配置加载器电路配置为将IC中的电路针对所确定的操作模式的操作配置自动加载到至少一个IC操作配置寄存器,其中至少一个IC操作配置寄存器根据自动加载到至少一个IC操作配置寄存器中的操作配置控制IC中的电路。
11.根据权利要求10所述的系统,其中至少一个IC操作配置寄存器包括单个寄存器, 其中不同的操作模式包括运行操作模式、休眠操作模式和唤醒操作模式。
12.根据权利要求11所述的系统,其中IC操作配置获得器电路进一步配置为获得IC 中的电路的每一个电路针对不同的操作模式的每一个操作模式的功耗配置,其中IC操作配置加载器电路进一步配置为将IC中的电路的每一个电路针对所确定的操作模式的功耗配置自动加载到至少一个IC操作配置寄存器,其中IC中的电路的每一个电路根据针对自动加载到单个寄存器的所确定的操作模式的功耗配置进行操作。
13.根据权利要求12所述的系统,其中IC操作配置加载器电路进一步配置为将IC中的电路针对运行操作模式的操作配置同步加载到单个寄存器,将IC中的电路针对休眠操作模式的操作配置异步加载到单个寄存器,和将IC中的电路针对唤醒操作模式的操作配置同步加载到单个寄存器。
14.一种在不同操作模式下操作的片上系统SoC,所述SoC包括 电路;和SoC操作模式控制器电路,所述SoC操作模式控制器电路包括 SoC操作配置获得器电路,所述SoC操作配置获得器电路配置为获得电路针对不同操作模式的每一个操作模式的操作配置;SoC操作模式确定器电路,所述SoC操作模式确定器电路配置为从不同的操作模式中确定SoC的操作模式;至少一个SoC操作配置寄存器;和SoC操作配置加载器电路,所述SoC操作配置加载器电路配置为将电路针对所确定的操作模式的操作配置自动加载到至少一个SoC操作配置寄存器,其中至少一个SoC操作配置寄存器根据自动加载到至少一个SoC操作配置寄存器中的操作配置控制电路操作。
15.根据权利要求14所述的SoC,其中至少一个SoC操作配置寄存器包括单个寄存器, 其中不同的操作模式包括运行操作模式、休眠操作模式和唤醒操作模式。
16.根据权利要求15所述的SoC,其中电路包括模拟电路和/或数字电路。
17.根据权利要求15所述的SoC,其中电路包括系统时钟电路。
18.根据权利要求15所述的SoC,其中SoC操作配置获得器电路包括运行操作模式寄存器,所述运行操作模式寄存器配置为存储电路中的每一个电路针对运行操作模式的功耗配置;休眠操作模式寄存器,所述休眠操作模式寄存器配置为存储电路中的每一个电路针对休眠操作模式的功耗配置;和唤醒操作模式寄存器,所述唤醒操作模式寄存器配置为存储电路中的每一个电路针对唤醒操作模式的功耗配置。
19.根据权利要求15所述的SoC,其中SoC操作配置加载器电路进一步配置为将电路针对运行操作模式的操作配置同步加载到单个寄存器,将电路针对休眠操作模式的操作配置异步加载到单个寄存器,和将电路针对唤醒操作模式的操作配置同步加载到单个寄存
20.根据权利要求15所述的SoC,其中SoC操作配置加载器电路包括 延迟电路,所述延迟电路包括串联的触发器电路;开关电路,所述开关电路配置为开启或关闭延迟电路;和处理器,所述处理器配置为通过开关电路将电路针对所确定的操作模式的操作配置自动加载到单个寄存器中。
全文摘要
以不同的操作模式控制IC的系统和方法包括自动将IC中的目标电路针对所确定的操作模式的操作配置加载到至少一个寄存器,且根据自动加载到至少一个寄存器的操作配置操作IC中的目标电路。
文档编号H03K19/00GK102170285SQ20101025673
公开日2011年8月31日 申请日期2010年8月17日 优先权日2009年8月18日
发明者亚当·福克斯, 童颂本, 菲利浦·库布里克 申请人:Nxp股份有限公司