功耗控制方法和电路、芯片、电子设备及存储介质与流程
1.本技术涉及控制领域,尤其涉及一种功耗控制方法和电路、芯片和电子设备及存储介质。
背景技术:
2.芯片行业中所说的ip(intellectual property,知识产权)一般也被称之为ip核,是芯片中具有独立功能的电路模块。相关技术中,芯片中可包括多个ip模块,每个ip模块能够实现各自的功能。通常,ip模块包括组合逻辑电路和时序逻辑电路,并基于组合逻辑电路和时序逻辑电路实现ip模块的功能。可以理解,ip模块的功耗的减少会使芯片功耗减少,从而节省芯片能量,延长生命周期。由此可见,如何兼顾ip模块的低功耗工作状态和ip模块的正常工作状态成为了亟待解决的技术问题。
技术实现要素:
3.本技术提供了一种功耗控制方法和电路、芯片和电子设备及存储介质,以至少解决现有技术中存在的以上技术问题。
4.根据本技术的第一方面,提供了一种功耗控制方法,所述方法包括:获得第一目标电路的控制信号;基于控制信号,对所述第一目标电路的输入信号进行控制,得到目标输入信号;其中,在所述目标输入信号用于使所述第一目标电路中的组合逻辑电路和时序逻辑电路均处于与所述目标输入信号匹配的电路状态;所述组合逻辑电路和时序逻辑电路的所述电路状态使所述第一目标电路处于第一功耗状态或第二功耗状态,所述第一目标电路在第二功耗状态下产生的功耗小于在第一功耗状态下产生的功耗。
5.根据本技术的第二方面,提供了一种功耗控制电路,包括:控制电路,用于获得控制信号,基于控制信号,对第一目标电路的输入信号进行控制,得到目标输入信号;第一目标电路,与所述控制电路连接,用于在所述目标输入信号的作用下,所述第一目标电路中的组合逻辑电路和时序逻辑电路均处于与所述目标输入信号匹配的电路状态;所述组合逻辑电路和时序逻辑电路的所述电路状态使所述第一目标电路处于第一功耗状态或第二功耗状态,所述第一目标电路在第二功耗状态下产生的功耗小于在第一功耗状态下产生的功耗。
6.根据本技术的第三方面,提供了一种芯片,包括前述的功耗控制电路。
7.根据本技术的第四方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本技术所述的方法。
8.根据本技术的第五方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本技术所述的方法。
9.本技术技术方案,至少为ip模块的低功耗工作状态和正常工作状态的兼顾提供了一种技术支持。
10.应当理解,本部分所描述的内容并非旨在标识本技术的实施例的关键或重要特征,也不用于限制本技术的范围。本技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
11.通过参考附图阅读下文的详细描述,本技术示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本技术的若干实施方式,其中:在附图中,相同或对应的标号表示相同或对应的部分。
12.图1示出了本技术实施例中功耗控制方法的实现流程示意图一;图2示出了本技术实施例中功耗控制方法的实现流程示意图二;图3示出了本技术实施例中设置有功耗监测电路的ip模块的电路结构示意图;图4示出了本技术实施例中设置有set模块的ip模块的电路结构示意图;图5示出了本技术实施例中第一目标电路和第二目标电路的连接示意图;图6示出了本技术实施例中功耗控制电路的组成结构示意图;图7示出了本技术实施例中电子设备的组成结构示意图。
具体实施方式
13.为使本技术的目的、特征、优点能够更加的明显和易懂,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而非全部实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
14.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
15.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,
ꢀ“
一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
16.在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
17.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
18.应理解,在本技术的各种实施例中,各实施过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施
过程构成任何限定。
19.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
20.在芯片行业内,在芯片设计阶段,可将芯片的每个ip模块进行独立设计,如此,便可方便单独维护,一个ip模块出现故障不影响其他ip模块的正常使用。本技术中,芯片中的核心和非核心功能模块均可作为ip模块使用。其中,芯片的核心模块包括但不限定于:中央处理器(cpu)、数字信号处理器(dsp)、可编程逻辑设计阵列(fpga)等。芯片的非核心模块是为实现芯片的功能而为核心模块提供辅助功能的模块,如对以上核心模块的状态是否正常进行监测的模块、报警模块、音视频输出模块等。
21.如果没有特殊说明,本技术中第一目标电路、第二目标电路均可为芯片中的任意ip模块。以芯片为片上系统(soc)为例,第一目标电路、第二目标电路可以指的是soc芯片中的核心模块,也可以指的是soc芯片中的非核心模块。本技术中,芯片可以是模拟芯片或数字芯片,第一目标电路、第二目标电路可以是数字电路,也可以是模拟电路。此外,本技术中,第一目标电路、第二目标电路中的组合逻辑电路和时序逻辑电路的数量通常均可以为一个,还可以为多个,根据实际情况而定。
22.通常情况下,ip模块包括组合逻辑电路和时序逻辑电路,基于组合逻辑电路和时序逻辑电路的正常工作实现ip模块的正常功能。在一些特殊情况下,ip模块可以仅包括组合逻辑电路、或仅包括时序逻辑电路。本技术中主要以ip模块通常包括组合逻辑电路和时序逻辑电路的情况进行说明,仅包括组合逻辑电路的情形可在本技术的覆盖范围内。
23.1)组合逻辑电路在芯片行业中,组合逻辑电路在逻辑功能上的特点是:电路在任意时刻的输出仅仅取决于电路在该时刻的输入,而与电路的原来状态无关。
24.2)时序逻辑电路芯片行业中,时序逻辑电路在逻辑功能上的特点是:电路在任意时刻的输出不仅取决于电路在该时刻的输入信号,而且还取决于电路的原来状态,或者还与电路之前的输入信号有关。
25.在实际应用中,时序逻辑电路具有时钟信号的输入端,电路在时钟信号的上升沿或下降沿到来时经过对某一时刻电路的输入信号和之前的输入信号进行运算产生输出信号并输出。与时序逻辑电路相比,组合逻辑电路不具有时钟信号的输入端,即无需时钟信号,仅需要对某个时刻的输入信号进行运算并输出运算结果即可。数字电路和/或模拟电路设计中的加法器、选择器、乘法器等均可作为组合逻辑电路使用。
26.下面对本技术中的组合逻辑电路和时序逻辑电路的电路状态进行说明。
27.本技术中,组合逻辑电路和时序逻辑电路的电路状态包括两种,一种是组合逻辑电路和时序逻辑电路均正常工作的状态。相对于正常工作的状态而言,另一种电路状态可以指的是组合逻辑电路和时序逻辑电路处于不正常工作的状态。
28.这里,需要说明的是,本技术中的不正常工作的状态并非是由于组合逻辑电路和时序逻辑电路发生故障或异常而无法正常工作的状态,而指的是将组合逻辑电路和时序逻辑电路的输出保持在某个值的状态。与正常工作的状态下,逻辑电路和时序逻辑电路的输出需要进行信号翻转不同,在组合逻辑电路和时序逻辑电路的输出保持在某个值的状态
时,逻辑电路和时序逻辑电路的输出不再进行信号的翻转。在实际应用中,会在不使用某个ip模块时,或者暂时不想使用但后续可能会使用时,将组合逻辑电路和时序逻辑电路的输出保持在某个值,而不是输出随着输入信号的变化发生变化。为方便说明,本技术中将组合逻辑电路和时序逻辑电路的电路状态视为包括正常工作状态和保持状态这两种。
29.可以理解,在组合逻辑电路和时序逻辑电路的电路状态为正常工作状态的情况下,输出随着输入信号的变化发生变化,发生信号翻转。在电路状态为保持状态的情况下,输出不再随着输入信号的变化发生变化,不发生信号翻转。在实际应用中,与输出不随着输入信号的发生而变化的情形相比,输出随着输入信号的变化发生变化情形为电路带来的功率耗费更大。即,电路状态为正常工作状态产生的功率耗费通常大于电路状态为保持状态时产生的功率耗费,由此可见,针对组合逻辑电路和时序逻辑电路的两种电路状态,保持状态下产生的功耗小于正常工作状态下产生的功耗。
30.本技术中,将正常工作状态作为第一电路状态来使用,将保持状态作为第二电路状态来使用。本技术中的组合逻辑电路和时序逻辑电路这两种电路状态的设计,可为ip模块的低功耗工作状态和正常工作状态的兼顾提供了一定保障。
31.下面对本技术的功耗控制方法和功耗控制电路的方案做详细说明。
32.本技术实施例的功耗控制方法,应用于ip模块中。图1为本技术实施例功耗控制方法的实现流程示意图一。如图1所示,所述方法包括:s101:获得第一目标电路的控制信号。
33.本步骤中,第一目标电路为芯片中的任意一个ip模块。控制信号是为该任一ip模块设计的用于对该任一ip模块的输入信号进行控制的信号。在实施时,可通过接收或检测为该任一ip模块设计的控制信号而获得第一目标电路的控制信号。
34.s102:基于控制信号,对所述第一目标电路的输入信号进行控制,得到目标输入信号;其中,所述目标输入信号用于使所述第一目标电路中的组合逻辑电路和时序逻辑电路均处于与所述目标输入信号匹配的电路状态;所述组合逻辑电路和时序逻辑电路的所述电路状态使所述第一目标电路处于第一功耗状态或第二功耗状态,所述第一目标电路在第二功耗状态下产生的功耗小于在第一功耗状态下产生的功耗。
35.本步骤中,采用控制信号,对芯片中的任一ip模块的输入信号进行控制,得到任一ip模块的目标输入信号。在本技术实施例中,目标输入信号可驱动组合逻辑电路和时序逻辑电路均处于何种电路状态。组合逻辑电路和时序逻辑电路的电路状态可决定任一ip模块处于两种功耗状态下的何种功耗状态。
36.由于ip模块包括组合逻辑电路和时序逻辑电路,如果组合逻辑电路和时序逻辑电路为正常工作状态,两种电路的功率耗费正常,则ip模块的功率耗费为正常消耗。如果组合逻辑电路和时序逻辑电路为保持状态,与正常的功率耗费相比,两种电路的功率耗费减少,则ip模块的功率耗费也会减少。基于此,ip模块具有两种功耗状态:正常功耗状态(第一功耗状态)和低功耗状态(第二功耗状态)。
37.从前面的描述可看出,ip模块处于何种功耗状态是由组合逻辑电路和时序逻辑电路的电路状态而决定的。即,第一目标电路在组合逻辑电路和时序逻辑电路均为第一电路状态的情况下处于第一功耗状态;第一目标电路在组合逻辑电路和时序逻辑电路均为第二电路状态的情况下处于第二功耗状态;其中,组合逻辑电路、时序逻辑电路在第二电路状态
下产生的功耗小于在第一电路状态下产生的功耗。通俗来讲,如果组合逻辑电路和时序逻辑电路均为正常工作状态,则ip模块处于正常功耗状态。如果组合逻辑电路和时序逻辑电路均为保持状态,则ip模块处于低功耗状态。ip模块中组合逻辑电路和时序逻辑电路的电路状态为ip模块的功耗状态提供了保障,即,为ip模块的低功耗工作状态和正常工作状态的兼顾提供了保障。
38.s101~s102中,基于ip模块的控制信号,对ip模块的输入信号进行控制以得到目标输入信号。该目标输入信号用于使ip模块中的组合逻辑电路和时序逻辑电路均处于与目标输入信号匹配的电路状态。组合逻辑电路和时序逻辑电路的电路状态可使ip模块处于正常功耗状态和低功耗状态中的何种功耗状态。其中,ip模块的低功率消耗可视为是ip模块在低功耗工作状态下耗费的功率,ip模块的正常功率消耗可视为是ip模块在正常工作状态下耗费的功率,由此可见,本方案实现了ip模块的低功耗工作状态和正常工作状态的兼顾,为ip模块的低功耗工作状态和正常工作状态的兼顾提供了一种技术支持。
39.此外,在前述方案中,用于决定两种逻辑电路的电路状态的目标输入信号是通过采用控制信号对ip模块的输入信号进行控制而得到的。可以理解,ip模块的输入信号位于ip模块的输入端,对ip模块的输入信号进行控制相当于对ip模块的输入端进行控制。前述方案,可视为一种基于对ip模块的输入端进行控制而实现的对ip模块的低功耗工作状态和正常工作状态的兼顾。这种从ip的输入端进行控制以实现两种功耗状态的兼顾,相当于从ip模块的源头入手实现的ip模块的两种功耗状态的兼顾,可有效实现两种功耗状态的兼顾。使得ip模块的后续输入不再向本ip模块内部传输、以及本ip模块的输出不再向与其连接的后续ip模块传输,实现了本ip模块和后续ip模块各自的两种功耗状态的兼顾。
40.下面对控制信号的两种信号形式进行说明。
41.在一些实施例中,控制信号为第一目标电路中时序逻辑电路的时钟信号(clk信号)。可以理解,时序逻辑电路在clk信号的下降沿或上升沿到来时会发生输出信号的变化。其中,clk信号的下降沿或上升沿是clk信号发生从0到1或从1到0的信号变化时到来。在芯片设计如soc芯片设计中,clk信号的这种变化被称之为clk信号的toggle(切换或转变)。在实施时,监测clk信号是否发生toggle。基于对clk信号是否发生toggle的结果,实现对ip模块的输入信号的两种不同控制,以得到在不同种控制下的不同目标输入信号。不同的目标输入信号决定ip模块中的组合逻辑电路和时序逻辑电路的不同电路状态,两种逻辑电路的不同电路状态决定ip模块的两种功耗状态,由此实现了对ip模块的两种功耗状态的兼顾。
42.其中,监测到clk信号发生toggle的情况下,对ip模块的输入信号进行第一种控制,以得到该种控制下的目标输入信号。监测到clk信号未发生toggle的情况下,对ip模块的输入信号进行第二种控制,以得到该种控制下的目标输入信号。或者,在监测clk信号未发生toggle且clk信号持续未发生toggle的时长大于或等于预设时长如20ns时,对ip模块的输入信号进行第二种控制。这种基于clk信号是否发生toggle的情况,采用对ip模块的输入信号的不同种控制方案,在工程上易行,可行性高。
43.本技术中,预先设置第一条件。其中,第一条件包括以下其中之一:clk信号未发生toggle、clk信号未发生toggle且持续未发生toggle时长大于或等于预设时长。监测到clk信号未发生toggle,或者clk信号未发生toggle且持续未发生toggle时长大于或等于预设时长,则认为时序逻辑电路的时钟信号满足第一条件。参见前述方案可知,在时序逻辑电路
的时钟信号不满足第一条件如clk信号发生toggle的情况下,对ip模块的输入信号进行第一种控制。在时序逻辑电路的时钟信号满足第一条件的情况下,对ip模块的输入信号进行第二种控制。
44.在一些实施例中、控制信号为来源于第一目标电路外部的信号,为第一目标电路的外部信号。该外部信号可以是芯片中位于第一目标电路外部的复位信号(reset信号)或是特意设置的信号。
45.在实施时,可基于外部信号的属性实现对对ip模块的输入信号的两种不同控制。其中,外部信号的属性可以是外部信号的取值。示例性地,外部信号可以取值为1,也可以取值为0。在外部信号的属性为第一预设值如为0的情况下,对ip模块的输入信号进行第一种控制。在外部信号的属性为第二预设值如为1的情况下,对ip模块的输入信号进行第二种控制。这种基于外部信号的属性的不同,采用对ip模块的输入信号的不同种控制方案,在工程上易行,可行性高。
46.本技术中,预先设置第二条件。其中,第二条件包括以下其中之一:reset信号的属性为第二预设值、特意设置的外部信号的属性为第二预设值。在外部信号不满足第二条件如外部信号的属性为第一预设值的情况下,对ip模块的输入信号进行第一种控制。在外部信号满足第二条件如外部信号的属性为第二预设值的情况下,对ip模块的输入信号进行第二种控制。
47.前述方案用于说明控制信号为ip模块的外部信号、或者为ip模块中时序逻辑电路的时钟信号这两种信号形式。针对控制信号的这两种信号形式,本技术中,可在时序逻辑电路的时钟信号满足第一条件、或者ip模块(第一目标电路)的外部信号满足第二条件时,确定ip模块的控制信号满足控制条件。其中,控制条件可以是与第一条件相同的条件,也可以是与第二条件相同的条件,还可以是同时与第一和第二条件相同的条件。基于此,本技术中,在ip模块的控制信号不满足控制条件的情况下,对ip模块的输入信号进行第一种控制。在ip模块的控制信号满足控制条件的情况下,对ip模块的输入信号进行第二种控制。
48.其中,在ip模块的控制信号不满足控制条件的情况下,对ip模块的输入信号进行第一种控制的方案可以是:在clk信号发生toggle、或者ip模块的外部信号属性为第一预设值如为0的情况下,控制ip模块的输入信号在ip模块的输入端中透传,将ip模块的输入信号作为目标输入信号。在这种控制下,相当于目标输入信号和ip模块的输入信号为相同的信号。即,目标输入信号在控制信号不满足控制条件的情况下是与第一目标电路的输入信号相同的信号。
49.其中,在ip模块的控制信号满足控制条件的情况下,对ip模块的输入信号进行第二种控制的方案可以是:在clk信号未发生toggle、clk信号未发生toggle且持续未发生toggle时长大于或等于预设时长、或者ip模块的外部信号属性为第二预设值如为1的情况下,对ip模块的输入信号进行重新赋值,如将输入信号重新赋值为1或0,将重新赋值后的信号作为目标输入信号。在这种情况下,目标输入信号在控制信号满足控制条件的情况下为对第一目标电路的输入信号进行重新赋值的信号。
50.前述的基于控制信号是否满足控制条件的结果,实现的对ip模块的输入信号的不同种控制。可视为一种基于对ip模块的输入端进行控制而实现的对ip模块的低功耗工作状
态和正常工作状态的兼顾。这种从ip模块的源头入手实现的ip模块的两种功耗状态的控制,可有效实现两种功耗状态的兼顾。
51.通俗来讲,通常情况下,第一目标电路的输入信号为来自于第一目标电路外部的、向第一目标电路输入的信号。第一目标电路的目标输入信号是采用控制信号对外部向第一目标电路输入的信号进行两种控制中的至少一种而得到的向第一目标电路输入的最终输入信号。该最终输入信号决定着第一目标电路中组合逻辑电路和时序逻辑电路的电路状态。
52.在一些实施例中,组合逻辑电路和时序逻辑电路的电路状态是与目标输入信号相匹配的状态。这种匹配可以看成:组合逻辑电路和时序逻辑电路在目标输入信号与第一目标电路的输入信号为相同信号的情况下处于第一电路状态;组合逻辑电路和时序逻辑电路在目标输入信号是对第一目标电路的输入信号进行重新赋值的信号的情况下处于第二电路状态。
53.通俗来讲,在第一目标电路的最终输入信号和外部向第一目标电路输入的信号未发生变化、保持为相同的情况下,组合逻辑电路和时序逻辑电路均处于正常工作状态,保证了组合逻辑电路和时序逻辑电路的正常工作,实现ip模块的正常工作。在第一目标电路的最终输入信号是对外部向第一目标电路输入的信号进行重新赋值后的信号的情况下,组合逻辑电路和时序逻辑电路均处于保持状态,保证了组合逻辑电路和时序逻辑电路的低功耗状态,实现ip模块的低功耗,做到了ip模块的两种功耗状态的兼顾。
54.本技术的一些实施例中,在电路设计上,可在ip模块的输入端设置一控制电路,该控制电路至少用于获得第一目标电路的控制信号,基于控制信号,对所述第一目标电路的输入信号进行控制,得到目标输入信号。
55.在本技术的一些实施例中,在电路设计上,可为控制电路设置监测电路,该监测电路用于监测所述控制电路是为正常还是异常(如故障)的状态;在所述监测电路监测到所述控制电路为正常状态如正常工作状态的情况下,控制电路执行前述的其本该执行的方案。监测电路的设计,可保证ip模块在芯片中的正常运行,保证芯片的运行稳定性。
56.在本技术的一些实施例中,第一目标电路的输出端与至少一个第二目标电路连接。如图2所示,所述功耗控制方法还包括s103:在第一目标电路处于第一功耗状态时,至少一个第二目标电路处于第一工作状态;在第一目标电路处于第二功耗状态时,至少一个第二目标电路处于第二工作状态;所述第二目标电路包括第一工作状态和第二工作状态,其中所述第二目标电路在第二工作状态下产生的功耗低于在第一工作状态下产生的功耗。
57.通俗来讲,在芯片的ip模块设计中,具有不同功能的ip模块是可以相互连接的,以实现芯片的整体功能。本技术中的第二目标电路可以是连接于第一目标电路的输出端、即第一目标电路之后的一个或多个ip模块,如图5所示。可以理解,如果在前ip模块(第一目标电路)处于正常工作状态,耗费功率为正常耗费功率,则在前ip模块可为在后ip模块(第二目标电路)提供在后ip模块需要的输入信号,那么在后ip模块也可为正常工作状态(第二目标电路的第一工作状态),耗费功率为正常耗费功率。如果在前ip模块处于低功耗状态,在前ip模块的输出信号不再翻转,则在前ip模块不会向在后ip模块提供在后ip模块需要的输入信号,那么在后ip模块也可为信号不再翻转的状态,即为低功耗状态(第二目标电路的第二工作状态)。由此可见,本技术中,在前ip模块的输出正常,可为在后ip模块提供正常的输
入信号。在前ip模块处于低功耗状态、输出不再翻转,在前ip模块的输出可不再向与其连接的在后ip模块传输,从而可实现在前ip模块和在后ip模块各自的两种功耗状态的兼顾。
58.在一些实施例中,在电路设计上,如在ip模块的输出端或ip模块的特意设置的接口处,设置功耗监测电路。功耗监测电路,用于对ip模块的功率耗费情况进行监测。如果监测到的功率耗费值处于正常功耗范围内,则认为ip模块处于第一功耗状态,即正常工作状态。如果监测到的功率耗费值低于正常功耗范围,则认为ip模块处于第二功耗状态,低功耗状态。由此实现对ip模块处于何种功耗状态的确认,保证芯片的安全、稳定运行。
59.下面结合图3和图4所示的电路结构对本技术中的技术方案进行进一步说明。
60.以图3所示的soc中的ip模块为例,考虑到ip模块包括三条通路(通路1、通路2和通路3),在每条通路中至少包括一个组合逻辑电路,如通路3为一个组合逻辑电路,在通路1中包括两个组合逻辑电路和两个时序逻辑电路,在通路2中包括三个组合逻辑电路和一个时序逻辑电路。为方便描述,在图3和图4中,视cl表示组合逻辑电路,dff表示为时序逻辑电路。每条通路经过相应通路上的组合逻辑电路和时序逻辑电路的运算,得到输出(output)。每条通路的输出均可作为下一个或多个ip模块的输入。
61.在图3中,来自ip模块外部的输入信号包括signal 10、signal 11、signal 12和signal 13。其中,signal 10为通路1中的输入信号;signal 11和signal 12为通路2中的输入信号;signal 13为通路3中的输入信号。在ip模块的输入端未设置有控制电路(set模块)即图3所示的情况下,每条通路可接收来自ip模块外部的输入信号。示例性地,通路1中的第一个cl接收外部的输入信号signal 10,通路2中的并列cl中的第一个cl、第二个cl接收外部的输入信号signal 11、signal 12,通路3中的cl接收外部的输入信号signal 13。
62.为实现本技术的技术方案,在ip模块的输入端设置有set模块,如图4所示。在图4中set模块作为控制电路来使用,图3中每条通路的外部输入信号(如signal 10、signal 11、signal 12和signal 13)经由set模块的控制作用得到图4中每条通路的最终输入信号。每条通路的最终输入信号为每条通路的目标输入信号,包括signal 20、signal 21、signal 22和signal 23。其中,signal 20作为通路1的目标输入信号使用;signal 21和signal 22作为通路2的目标输入信号使用;signal 23作为通路3的目标输入信号使用。每条通路的最终输入信号输入至每条通路上的各个逻辑电路,并经由各个逻辑电路的运算得到每条通路的output。
63.从图3和图4中可知,在部分通路(如通路1和2)中,对于两种逻辑电路,set模块均优先与通路上的组合逻辑电路连接。在每条通路上,时序逻辑电路均具有时钟信号端,用于接收时钟信号(clk信号)。为方便示意,图3和图4中的时序逻辑电路均示意出clk信号且所有时序逻辑电路为同一clk信号。需要说明的是,ip模块中的各时序逻辑电路的clk信号可以相同,可以不同,视具体情况而定。
64.可以理解,图4中的设置有set模块的ip模块可视为经本技术改进后的ip模块,当其被应用到soc芯片中时,可降低芯片的功率耗费,延长芯片的生命周期。在改进的ip模块基础上,还可以设置如图3所示的功耗监控电路,实现对改进ip模块功耗的监测。
65.参见图4,在需要改进后ip模块进行正常工作的情况下,改进后ip模块的外部向set模块输出取值为0的reset信号,或者,set模块可监测到clk信号发生toggle。set模块基于取值为0的reset信号或监测到的clk信号发生toggle的事件,生成用于控制每条通路上
的输入信号进行透传的第一种控制信号。在第一种控制信号的作用下,每条通路上的输入信号signal 10、signal 11、signal 12和signal 13在set模块的内部进行透传,并在set模块的输出端输出,作为每条通路上的目标输入信号。可以理解,此时每条通路上的目标输入信号是与每条通路上输入到set模块的信号相同的信号。即,signal 20 = signal 10、signal 21 = signal 11,signal 22 = signal 12,signal 23 = signal 13。
66.参见图4,在每条通路上接收到目标输入信号的情况下,每条通路上的各逻辑电路进入正常工作状态。如,每条通路的目标输入信号作为每条通路上的与set模块连接的组合逻辑电路的输入信号,输入至每条通路上与set模块连接的组合逻辑电路,并经由该组合逻辑电路以及后续其他逻辑电路的运算,从而得到每条通路上的output。每条通路上的各逻辑电路进入正常工作状态,意味着改进后ip模块进入正常工作状态。每条通路上的各逻辑电路采用正常功耗进行工作,意味着改进后ip模块耗费的功耗位于正常功耗范围内。
67.在需要改进后ip模块进入低功耗状态(lower-power)的情况下,改进后ip模块的外部向set模块输出取值为1的reset信号,或者,set模块可监测到clk信号在20ns内未发生toggle。set模块基于取值为1的reset信号或监测到的clk信号在20ns内未发生toggle的事件,生成用于控制每条通路上的输入信号进行重新赋值的第二种控制信号。在第二种控制信号的作用下,对每条通路上的外部输入信号signal 10、signal 11、signal 12和signal 13进行重新赋值,如均重新赋值为0,得到signal 20、signal 21、signal 22和signal 23均为0,并在set模块的输出端输出,作为每条通路上的目标输入信号。可以理解,此时每条通路上的目标输入信号是对每条通路上输入到set模块的信号进行重新赋值的信号。
68.在每条通路上接收到重新赋值的目标输入信号的情况下,每条通路上的各逻辑电路的电路状态从正常工作状态进入至保持状态。每条通路上的各逻辑电路不再进行运算。每条通路上的各逻辑电路进入保持状态,意味着改进后ip模块进入低功耗状态。每条通路上的各逻辑电路采用低功耗进行工作,意味着改进后ip模块耗费的功耗低于正常功耗范围,为低功耗。
69.可以理解,每条通路上的各逻辑电路进入工作状态时,由于各逻辑电路的不停运算,可产生信号的翻转,而信号的翻转是造成功耗增加的原因。在芯片的设计领域内,由于信号翻转带来的功率耗费被称之为动态功耗。每条通路上的各逻辑电路进入保持状态时,不再进行运算,不会产生信号的翻转。信号的不翻转,可大大减少动态功耗。
70.本技术的技术方案中,可在不需要改进后ip模块工作时,通过对改进后ip模块的输入端的所有输入信号(如signal 10、signal 11、signal 12和signal 13)重新赋值为固定值如0,来避免组合逻辑电路和时序逻辑电路中的信号翻转,避免动态功耗的产生,以达到节省ip模块的功耗的目的。通俗来讲,基于改进后ip模块的输入端的所有输入信号的重新赋值方案,可保证在ip模块需要进入低功耗模式时ip内部的组合逻辑电路和时序逻辑电路都不再会有动态功耗的产生。还可防止翻转信号向在后ip模块的传输。
71.可以理解,与逻辑电路的正常工作状态耗费的功率相比,各逻辑电路在保持状态下耗费的功耗小,逻辑电路的保持状态即可视为逻辑电路的低功耗状态。本技术技术方案,通过将ip模块的输入端的所有输入信号重新赋值为固定值如0,不仅使时序逻辑电路进入了低功耗状态,而且还使组合逻辑电路进入了低功耗状态。与仅通过对clk信号进行关停从而实现时序逻辑电路的低功耗的方案相比,本技术技术方案同时实现了时序逻辑电路和组
合逻辑电路的低功耗,真正实现了ip模块的低功耗。
72.由此可见,本技术通过在ip模块的输入端设置set模块,即从ip模块的源头入手,即可实现对ip模块的低功耗状态和正常功耗状态的兼顾。为ip模块的两种功耗状态的兼顾提供了一种技术支持。
73.在实际应用中,set模块可以为选择器,在需要改进后ip模块进行工作时,选择器选择每条通路在set模块处的输入即每条通路的外部输入信号signal 10、signal 11、signal 12和signal 13作为set模块的输出。在不需要改进后ip模块进行工作、需要改进后ip模块进入low-power时,选择器选择对signal 10、signal 11、signal 12和signal 13进行重新赋值后的信号(即signal 20、signal 21、signal 22和signal 23)作为set模块的输出。利用选择器的如上选择,实现对ip模块的两种功耗状态的兼顾,在工程上易于实施,可行性高。
74.在图3中,在ip模块的接口处设置功耗监测电路。如果将该功耗监测电路设置在图4所示的ip模块中,则该功耗监测电路,用于对ip模块的功率耗费情况进行实时监测,或在接收到监测触发时对ip模块的功率耗费情况进行监测。判断监测到的功率耗费值是否处于正常功耗范围内,如果处于正常功耗范围内,则认为ip模块处于正常功耗状态,ip模块处于正常工作状态。如果监测到的功率耗费值低于正常功耗范围,则认为ip模块处于低功耗状态。由此实现对ip模块处于何种功耗状态的确认,保证了ip模块在芯片中的安全、稳定运行。
75.在图4中的ctl信号为来自于ip模块外部的控制信号,包括reset信号和特意设置的外部功耗控制信号。
76.与soc芯片的传统低功耗设计仅能够降低时序逻辑电路的功耗,无法实现对组合逻辑电路的功耗的减少的方案不同,本技术实施例中,从ip模块的输入端这一源头入手,在不需要ip模块工作时,通过将ip模块的所有外部输入信号(如signal 10、signal 11、signal 12和signal 13)重新赋值为一固定值如为0,可令ip模块进入低功耗状态,满足ip模块的更低功耗的设计要求。此外,ip模块的输出端与在后ip模块的连接,可以是ip模块的所有通路中的至少一个通路的输出端与一个或多个在后ip模块的至少一个输入端进行连接。ip模块在这种低功耗状态下,ip模块的output不再是翻转信号,不再向在后模块传输翻转信号,也令在后ip模块实现了低功耗,可满足soc芯片的更低功耗的要求。
77.本技术实施例的功耗控制电路如图6所示,所述电路包括:控制电路601,用于获得控制信号,基于控制信号,对第一目标电路的输入信号进行控制,得到目标输入信号;第一目标电路602,与所述控制电路601连接,用于在所述目标输入信号的作用下,所述第一目标电路602中的组合逻辑电路和时序逻辑电路均处于与所述目标输入信号匹配的电路状态;所述组合逻辑电路和时序逻辑电路的所述电路状态使所述第一目标电路602处于第一功耗状态或第二功耗状态,所述第一目标电路602在第二功耗状态下产生的功耗小于在第一功耗状态下产生的功耗。
78.在一些实施例中,所述第一目标电路602在组合逻辑电路和时序逻辑电路均为第一电路状态的情况下处于第一功耗状态;所述第一目标电路602在组合逻辑电路和时序逻辑电路均为第二电路状态的情况
下处于第二功耗状态;其中,所述组合逻辑电路、时序逻辑电路在第二电路状态下产生的功耗小于在第一电路状态下产生的功耗。
79.在一些实施例中,所述组合逻辑电路和所述时序逻辑电路在所述目标输入信号与所述第一目标电路602的输入信号为相同信号的情况下处于第一电路状态;所述组合逻辑电路和所述时序逻辑电路在所述目标输入信号是对第一目标电路602的输入信号进行重新赋值的信号的情况下处于第二电路状态。
80.在一些实施例中,所述目标输入信号在所述控制信号满足控制条件的情况下为对第一目标电路602的输入信号进行重新赋值的信号;所述目标输入信号在所述控制信号不满足控制条件的情况下是与所述第一目标电路602的输入信号相同的信号。
81.在一些实施例中,所述控制信号为所述时序逻辑电路的时钟信号、或者为所述第一目标电路602的外部信号;所述时序逻辑电路的时钟信号满足第一条件、或者所述第一目标电路602的外部信号满足第二条件,确定所述控制信号满足控制条件。
82.在一些实施例中,所述第一目标电路602还包括与所述控制电路601连接的监测电路;其中,所述监测电路,用于监测所述控制电路601的状态;所述控制电路601,用于在所述监测电路监测到所述控制电路601为正常状态的情况下,获得所述第一目标电路602的控制信号,基于控制信号,对所述第一目标电路602的输入信号进行控制,得到目标输入信号。
83.需要说明的是,本技术实施例的功耗控制电路,由于该功耗控制电路解决问题的原理与前述的功耗控制方法相似,因此,功耗控制电路的实施过程及实施原理均可以参见前述方法的实施过程及实施原理描述,重复之处不再赘述。
84.根据本公开的实施例,本公开还提供了一种芯片,所述芯片包括前述的功耗控制电路或图4所示的电路。
85.根据本公开的实施例,本公开还提供了一种电子设备,所述电子设备包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述的功耗控制方法。
86.关于电子设备的处理器、存储器的描述可参见图7中计算单元801、存储单元808的相关说明。
87.根据本公开的实施例,本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行前述的功耗控制方法。关于计算机可读存储介质的说明请参见图7中的相关说明。
88.图7示出了可以用来实施本技术的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算
装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
89.如图7所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
90.设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
91.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如功耗控制方法。例如,在一些实施例中,功耗控制方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的功耗控制方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行功耗控制方法。
92.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
93.用于实施本技术的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
94.在本技术的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计
算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
95.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
96.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
97.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
98.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种功耗控制方法,其特征在于,所述方法包括:获得第一目标电路的控制信号;基于控制信号,对所述第一目标电路的输入信号进行控制,得到目标输入信号;其中,所述目标输入信号用于使所述第一目标电路中的组合逻辑电路和时序逻辑电路均处于与所述目标输入信号匹配的电路状态;所述组合逻辑电路和时序逻辑电路的所述电路状态使所述第一目标电路处于第一功耗状态或第二功耗状态,所述第一目标电路在第二功耗状态下产生的功耗小于在第一功耗状态下产生的功耗。2.根据权利要求1所述的方法,其特征在于,所述第一目标电路在组合逻辑电路和时序逻辑电路均为第一电路状态的情况下处于第一功耗状态;所述第一目标电路在组合逻辑电路和时序逻辑电路均为第二电路状态的情况下处于第二功耗状态;其中,所述组合逻辑电路、时序逻辑电路在第二电路状态下产生的功耗小于在第一电路状态下产生的功耗。3.根据权利要求1或2所述的方法,其特征在于,所述组合逻辑电路和所述时序逻辑电路在所述目标输入信号与所述第一目标电路的输入信号为相同信号的情况下处于第一电路状态;所述组合逻辑电路和所述时序逻辑电路在所述目标输入信号是对第一目标电路的输入信号进行重新赋值的信号的情况下处于第二电路状态。4.根据权利要求3所述的方法,其特征在于,所述目标输入信号在所述控制信号满足控制条件的情况下为对第一目标电路的输入信号进行重新赋值的信号;所述目标输入信号在所述控制信号不满足控制条件的情况下是与所述第一目标电路的输入信号相同的信号。5.根据权利要求4所述的方法,其特征在于,所述控制信号为所述时序逻辑电路的时钟信号、或者为所述第一目标电路的外部信号;所述时序逻辑电路的时钟信号满足第一条件、或者所述第一目标电路的外部信号满足第二条件,确定所述控制信号满足控制条件。6.根据权利要求1或2所述的方法,其特征在于,所述第一目标电路还包括至少与所述组合逻辑电路连接的控制电路、以及与所述控制电路连接的监测电路;其中,所述监测电路,用于监测所述控制电路的状态;所述控制电路,用于在所述监测电路监测到所述控制电路为正常状态的情况下,获得所述第一目标电路的控制信号,基于控制信号,对所述第一目标电路的输入信号进行控制,得到目标输入信号。7.根据权利要求1或2所述的方法,其特征在于,所述第一目标电路的输出端与至少一个第二目标电路连接;在所述第一目标电路处于所述第一功耗状态时,所述至少一个第二目标电路处于第一工作状态;在所述第一目标电路处于所述第二功耗状态时,所述至少一个第二目标电路处于第二工作状态;
其中,所述第二目标电路在第二工作状态下产生的功耗低于在第一工作状态下产生的功耗。8.一种功耗控制电路,其特征在于,所述电路包括:控制电路,用于获得控制信号,基于控制信号,对第一目标电路的输入信号进行控制,得到目标输入信号;第一目标电路,与所述控制电路连接,用于在所述目标输入信号的作用下,所述第一目标电路中的组合逻辑电路和时序逻辑电路均处于与所述目标输入信号匹配的电路状态;所述组合逻辑电路和时序逻辑电路的所述电路状态使所述第一目标电路处于第一功耗状态或第二功耗状态,所述第一目标电路在第二功耗状态下产生的功耗小于在第一功耗状态下产生的功耗。9.一种芯片,其特征在于,所述芯片包括权利要求8所述的功耗控制电路。10.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。11.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
技术总结
本申请公开了一种功耗控制方法和电路、芯片和电子设备及存储介质,其中所述方法包括:获得第一目标电路的控制信号;基于控制信号,对第一目标电路的输入信号进行控制,得到目标输入信号;其中,所述目标输入信号用于使所述第一目标电路中的组合逻辑电路和时序逻辑电路均处于与所述目标输入信号匹配的电路状态;所述组合逻辑电路和时序逻辑电路的所述电路状态使所述第一目标电路处于第一功耗状态或第二功耗状态,所述第一目标电路在第二功耗状态下产生的功耗小于在第一功耗状态下产生的功耗。功耗。功耗。