CN104133545B - 系统芯片的电源管理模块的状态机及其创建方法 - Google Patents
系统芯片的电源管理模块的状态机及其创建方法 Download PDFInfo
- Publication number
- CN104133545B CN104133545B CN201410366131.1A CN201410366131A CN104133545B CN 104133545 B CN104133545 B CN 104133545B CN 201410366131 A CN201410366131 A CN 201410366131A CN 104133545 B CN104133545 B CN 104133545B
- Authority
- CN
- China
- Prior art keywords
- state
- state machine
- sub
- enable
- controlled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Power Sources (AREA)
Abstract
提供一种系统芯片的电源管理模块的状态机及其创建方法。所述创建方法包括:创建一个主状态机,其中,主状态机具有至少一个使能控制状态,使能控制状态的数量与系统芯片内部的需要进行电源管理的功能模块的数量相同;创建多个子状态机,其中,子状态机的数量与系统芯片内部的需要进行电源管理的功能模块的数量相同,各个子状态机与各个功能模块一一对应,其中,主状态机的各个使能控制状态与各个子状态机一一对应,主状态机进行状态转换,以根据系统需要进入的低功耗模式对各个子状态机进行使能控制,各子状态机在被主状态机使能的情况下进行状态转换,以使对应的功能模块进入与系统需要进入的低功耗模式相应的低功耗状态。
Description
技术领域
本发明涉及状态机技术领域,更具体地讲,涉及一种创建系统芯片的电源管理模块的状态机的方法及系统芯片的电源管理模块的状态机。
背景技术
随着便携式电子设备的发展,尤其是使用电池供电的便携式电子设备的发展,低功耗管理已经成为系统芯片SOC(System On Chip)设计的一个突出问题。SOC芯片内部往往集成有多个功能模块以处理不同的应用,例如,显示模块(LCD模块)、拍摄模块(CAM模块)等功能模块。SOC芯片的电源管理模块PMU(Power Management Unit)负责控制SOC芯片内部的各个功能模块在不同的低功耗模式下的电源和时钟的开关。例如,当系统不需要使用拍照应用时,将CAM模块的电源关闭以节省功耗;而当系统不需要显示界面(例如,系统在进行MP3播放)时,将LCD模块的电源关闭以节省功耗;又或者,当某些功能模块不需要使用但需要保持原有状态时,将它的时钟关闭以节省功耗。
为了实现SOC芯片的低功耗管理,电源管理模块需要支持多种低功耗模式,由电源管理模块的状态机FSM(Finite State Machine)负责控制各个功能模块在不同的低功耗模式下进入相应的低功耗状态,实现在不同的低功耗模式下对各个功能模块的电源和时钟的管理。典型的低功耗状态包括:通过时钟门控(clock-gate)低功耗技术进入的低功耗状态、通过电源门控(power-gate)低功耗技术进入的低功耗状态、通过电源门控且状态保持(power gate with state-retention)低功耗技术进入的低功耗状态、通过外部电源切断(external power-off)低功耗技术进入的低功耗状态等低功耗状态。
现有技术中,通常通过一个复杂的状态机来负责系统的所有低功耗模式,针对每种低功耗模式,状态机都需要进行相应的状态转换,以使各功能模块依次进入相应的低功耗状态。由于各个功能模块在不同的低功耗模式下低功耗状态可能相同,也可能不同,因此,对于状态机而言,同样的现态在不同的低功耗模式下可能会有不同的次态,即,状态机具有的与各个功能模块对应的状态相互关联。这导致在需要修改状态机时(例如,SOC芯片新增或删除需要进行电源管理的功能模块时)复杂度大大增加,且容易产生芯片设计错误。
发明内容
本发明的示例性实施例在于提供一种创建系统芯片的电源管理模块的状态机的方法及系统芯片的电源管理模块的状态机,根据所述方法创建系统芯片的电源管理模块的状态机,可降低对状态机修改的复杂度。
根据本发明的一方面,提供一种创建系统芯片的电源管理模块的状态机的方法,包括:创建一个主状态机,其中,主状态机具有至少一个使能控制状态,使能控制状态的数量与系统芯片内部的需要进行电源管理的功能模块的数量相同;创建多个子状态机,其中,子状态机的数量与系统芯片内部的需要进行电源管理的功能模块的数量相同,各个子状态机与各个功能模块一一对应,其中,主状态机的各个使能控制状态与各个子状态机一一对应,主状态机进行状态转换,以根据系统需要进入的低功耗模式对各个子状态机进行使能控制,各子状态机在被主状态机使能的情况下进行状态转换,以使对应的功能模块进入与系统需要进入的低功耗模式相应的低功耗状态。
可选地,主状态机按照各个使能控制状态的状态转换顺序进行状态转换,其中,每当主状态机从一个使能控制状态转换到下一使能控制状态时,根据系统需要进入的低功耗模式对所述下一使能控制状态对应的子状态机进行使能控制,其中,在所述一个使能控制状态下,如果根据系统需要进入的低功耗模式需要使能与所述一个使能控制状态对应的子状态机,则主状态机控制与所述一个使能控制状态对应的子状态机使能且在与所述一个使能控制状态对应的子状态机完成状态转换的条件下转换到所述下一使能控制状态;如果不需要使能与所述一个使能控制状态对应的子状态机,则主状态机直接转换到所述下一使能控制状态,各子状态机通过下述方式进行状态转换:子状态机在被主状态机使能的情况下根据系统需要进入的低功耗模式从起始状态转换到相应的低功耗状态以使对应的功能模块进入相应的低功耗状态,子状态机从所述低功耗状态在系统需要进入的低功耗模式的条件下转换到结束状态以通知主状态机所述子状态机完成状态转换。
可选地,主状态机还具有起始状态和结束状态,其中,主状态机在起始状态下,在系统需要进入低功耗模式的条件下转换到第一个使能控制状态,并按照各个使能控制状态的状态转换顺序从第一个使能控制状态依次转换到最后一个使能控制状态,在最后一个使能控制状态下,如果根据系统需要进入的低功耗模式需要使能与最后一个使能控制状态对应的子状态机,则主状态机控制与最后一个使能控制状态对应的子状态机使能且在与最后一个使能控制状态对应的子状态机完成状态转换的条件下转换到结束状态;如果不需要使能与最后一个使能控制状态对应的子状态机,则主状态机直接转换到结束状态。
可选地,所述方法还包括:增加一个与新增的功能模块对应的子状态机,其中,增加的子状态机在被主状态机使能的情况下进行状态转换,以使新增的功能模块进入与系统需要进入的低功耗模式相应的低功耗状态;为主状态机增加一个与增加的子状态机对应的使能控制状态,并设置增加的使能控制状态的状态转换顺序,其中,主状态机转换到与增加的子状态机对应的使能控制状态时根据系统需要进入的低功耗模式对增加的子状态机进行使能控制。
可选地,所述方法还包括:删除与所删除的功能模块对应的子状态机;从主状态机的状态中删除与删除的状态机对应的使能控制状态。
可选地,所述方法还包括:从主状态机的状态中删除对应于与删除的功能模块对应的子状态机的使能控制状态。
根据本发明的另一方面,提供一种系统芯片的电源管理模块的状态机,包括:一个主状态机,其中,主状态机具有至少一个使能控制状态,使能控制状态的数量与系统芯片内部的需要进行电源管理的功能模块的数量相同;多个子状态机,其中,子状态机的数量与系统芯片内部的需要进行电源管理的功能模块的数量相同,各个子状态机与各个功能模块一一对应,其中,主状态机的各个使能控制状态与各个子状态机一一对应,主状态机进行状态转换,以根据系统需要进入的低功耗模式对各个子状态机进行使能控制,各子状态机在被主状态机使能的情况下进行状态转换,以使对应的功能模块进入与系统需要进入的低功耗模式相应的低功耗状态。
可选地,主状态机按照各个使能控制状态的状态转换顺序进行状态转换,其中,每当主状态机从一个使能控制状态转换到下一使能控制状态时,根据系统需要进入的低功耗模式对所述下一使能控制状态对应的子状态机进行使能控制,其中,在所述一个使能控制状态下,如果根据系统需要进入的低功耗模式需要使能与所述一个使能控制状态对应的子状态机,则主状态机控制与所述一个使能控制状态对应的子状态机使能且在与所述一个使能控制状态对应的子状态机完成状态转换的条件下转换到所述下一使能控制状态;如果不需要使能与所述一个使能控制状态对应的子状态机,则主状态机直接转换到所述下一使能控制状态,各子状态机通过下述方式进行状态转换:子状态机在被主状态机使能的情况下根据系统需要进入的低功耗模式从起始状态转换到相应的低功耗状态以使对应的功能模块进入相应的低功耗状态,子状态机从所述低功耗状态在系统需要进入的低功耗模式的条件下转换到结束状态以通知主状态机所述子状态机完成状态转换。
可选地,主状态机还具有起始状态和结束状态,其中,主状态机在起始状态下,在系统需要进入低功耗模式的条件下转换到第一个使能控制状态,并按照各个使能控制状态的状态转换顺序从第一个使能控制状态依次转换到最后一个使能控制状态,在最后一个使能控制状态下,如果根据系统需要进入的低功耗模式需要使能与最后一个使能控制状态对应的子状态机,则主状态机控制与最后一个使能控制状态对应的子状态机使能且在与最后一个使能控制状态对应的子状态机完成状态转换的条件下转换到结束状态;如果不需要使能与最后一个使能控制状态对应的子状态机,则主状态机直接转换到结束状态。
根据本发明示例性实施例的创建系统芯片的电源管理模块的状态机的方法创建系统芯片的电源管理模块的状态机,可降低对状态机修改的复杂度并且降低修改错误的发生。根据本发明示例性实施例的系统芯片的电源管理模块的状态机易于修改。
将在接下来的描述中部分阐述本发明总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明总体构思的实施而得知。
附图说明
通过下面结合示例性地示出实施例的附图进行的描述,本发明示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:
图1示出根据本发明示例性实施例的创建系统芯片的电源管理模块的状态机的方法的流程图;
图2示出根据本发明示例性实施例的新增功能模块时修改电源管理模块的状态机的步骤的流程图;
图3示出根据本发明示例性实施例的删除功能模块时修改电源管理模块的状态机的步骤的流程图;
图4示出现有的系统芯片的电源管理模块的状态机的状态转换图的示例;
图5示出根据本发明示例性实施例的创建方法创建的主状态机的状态转换图的示例;
图6示出根据本发明示例性实施例的创建方法创建的子状态机1的状态转换图的示例;
图7示出根据本发明示例性实施例的创建方法创建的子状态机2的状态转换图的示例;
图8示出根据本发明示例性实施例的创建方法创建的子状态机3的状态转换图的示例;
图9示出根据本发明示例性实施例的系统芯片的电源管理模块的状态机的框图。
具体实施方式
现将详细参照本发明的实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本发明。
图1示出根据本发明示例性实施例的创建系统芯片的电源管理模块的状态机的方法的流程图。
如图1所示,在步骤101,创建一个主状态机。创建的主状态机具有至少一个使能控制状态,使能控制状态的数量与系统芯片(SOC芯片)内部的需要进行电源管理的功能模块的数量相同。各个使能控制状态与各个子状态机一一对应,主状态机进行状态转换,以根据系统需要进入的低功耗模式对各个子状态机进行使能控制。换言之,主状态机在各使能控制状态下,负责根据系统需要进入的不同的低功耗模式对该使能控制状态对应的子状态机进行使能控制。
作为示例,主状态机可通过下述方式进行状态转换:主状态机按照各个使能控制状态的状态转换顺序进行状态转换,每当主状态机从一个使能控制状态转换到下一使能控制状态时,根据系统需要进入的低功耗模式对所述下一使能控制状态对应的子状态机进行使能控制。在所述一个使能控制状态下,如果根据系统需要进入的低功耗模式需要使能与所述一个使能控制状态对应的子状态机,则主状态机控制与所述一个使能控制状态对应的子状态机使能且在与所述一个使能控制状态对应的子状态机完成状态转换的条件下转换到所述下一使能控制状态;如果不需要使能与所述一个使能控制状态对应的子状态机,则主状态机直接转换到所述下一使能控制状态。
换言之,主状态机在任意一使能控制状态下,根据系统需要进入的低功耗模式对该使能控制状态对应的子状态机进行使能控制,如果根据系统需要进入的低功耗模式需要使能该子状态机,则使能该子状态机,如果根据系统需要进入的低功耗模式不需要使能该子状态机,则不使能该子状态机。并且在不需要使能该子状态机或该子状态机完成状态转换的条件下,从该使能控制状态转换到按照各个使能控制状态的状态转换顺序的该使能控制状态的下一使能控制状态,以根据系统需要进入的低功耗模式对该下一使能控制状态对应的子状态机进行使能控制。
此外,主状态机还具有起始状态和结束状态,主状态机在起始状态下,在系统需要进入低功耗模式的条件下转换到第一个使能控制状态,并按照各个使能控制状态的状态转换顺序从第一个使能控制状态依次转换到最后一个使能控制状态,在最后一个使能控制状态下,如果根据系统需要进入的低功耗模式需要使能与最后一个使能控制状态对应的子状态机,则主状态机控制与最后一个使能控制状态对应的子状态机使能且在与最后一个使能控制状态对应的子状态机完成状态转换的条件下转换到结束状态;如果不需要使能与最后一个使能控制状态对应的子状态机,则主状态机直接转换到结束状态。
应该理解,当主状态机处于起始状态时,SOC芯片的所有需要进行电源管理的功能模块都处于正常状态(即,电源和时钟都处于正常状态),当主状态机处于结束状态时,SOC芯片的所有需要进行电源管理的功能模块都处于与系统需要进入的低功耗模式对应的低功耗状态。
在步骤102,创建多个子状态机。创建的子状态机的数量与系统芯片内部的需要进行电源管理的功能模块的数量相同,各个子状态机与各个功能模块一一对应。各子状态机在被主状态机使能的情况下进行状态转换,以使对应的功能模块进入与系统需要进入的低功耗模式相应的低功耗状态。即,每个子状态机负责根据系统需要进入的不同的低功耗模式管理一个功能模块的低功耗状态。
作为示例,各子状态机可通过下述方式进行状态转换:子状态机在被主状态机使能的情况下根据系统需要进入的低功耗模式从起始状态转换到相应的低功耗状态以使对应的功能模块进入相应的低功耗状态,子状态机从所述低功耗状态在系统需要进入的低功耗模式的条件下转换到结束状态以通知主状态机所述子状态机完成状态转换。即,子状态机在各低功耗状态下,控制对应的功能模块进入相应的低功耗状态,子状态机在结束状态下,通知主状态机已完成状态转换。
应该理解,当子状态机处于起始状态时,与该子状态机对应的功能模块处于正常状态(即,电源和时钟都处于正常状态),当子状态机处于结束状态时,与该子状态机对应的功能模块处于与系统需要进入的低功耗模式对应的低功耗状态。
通过上述方法所创建的系统芯片的电源管理模块的状态机中,分别与各个功能模块对应的子状态机相互独立地进行状态转换,即,状态机的与各个功能模块对应的低功耗状态不存在转换关系、相对独立,因此,通过上述方法创建系统芯片的电源管理模块的状态机可大大降低修改状态机(例如,SOC芯片新增或删除需要进行电源管理的功能模块时)的复杂度,且不易产生芯片设计错误。
图2示出根据本发明示例性实施例的新增功能模块时修改电源管理模块的状态机的步骤的流程图。当SOC芯片新增一个需要进行电源管理的功能模块时,可按图2所示的方法修改电源管理模块的状态机。
如图2所示,在步骤201,增加一个与新增的功能模块对应的子状态机。增加的子状态机在被主状态机使能的情况下进行状态转换,以使新增的功能模块进入与系统需要进入的低功耗模式相应的低功耗状态。即,增加的子状态机负责根据系统需要进入的不同的低功耗模式管理新增的功能模块的低功耗状态。
在步骤202,为主状态机增加一个与增加的子状态机对应的使能控制状态,并设置增加的使能控制状态的状态转换顺序,这样,主状态机转换到与增加的子状态机对应的使能控制状态时根据系统需要进入的低功耗模式对增加的子状态机进行使能控制。
作为示例,如果SOC芯片新增一个需要进行电源管理的模块,且根据系统设计要求,需要先使功能模块A(功能模块A与子状态机A对应)进入低功耗状态,再使新增的功能模块进入低功耗状态,然后再使功能模块B(功能模块B与子状态机B对应)进入低功耗状态,那么,应为主状态机增加一个与增加的子状态机对应的使能控制状态,并设置增加的使能控制状态的状态转换顺序,所设置的增加的使能控制状态的状态转换顺序应为:从与子状态机A对应的使能控制状态A转换到增加的使能控制状态、从增加的使能控制状态转换到与子状态机B对应的使能控制状态。
图3示出根据本发明示例性实施例的删除功能模块时修改电源管理模块的状态机的步骤的流程图。当SOC芯片删除一个需要进行电源管理的功能模块时,可按图3所示的方法修改电源管理模块的状态机。
在步骤301,删除与所删除的功能模块对应的子状态机。
在步骤302,从主状态机的状态中删除与删除的状态机对应的使能控制状态。
此外,作为示例,也可仅从主状态机的状态中删除对应于与删除的功能模块对应的子状态机的使能控制状态,不需删除与所删除的功能模块对应的子状态机。
下面给出在3种低功耗模式、3个功能模块且每个模块有2种低功耗状态的情况下的示例,具体说来,在系统需要进入低功耗模式1时,功能模块1需要进入低功耗状态1、功能模块2需要进入低功耗状态2、功能模块3需要进入低功耗状态2。在系统需要进入低功耗模式2时,功能模块1需要进入低功耗状态1、功能模块2需要进入低功耗状态1、功能模块3需要进入低功耗状态1。在系统需要进入低功耗模式3时,功能模块1需要进入低功耗状态2、功能模块2需要进入低功耗状态2、功能模块3需要进入低功耗状态1。针对上述情况,图4示出现有的系统芯片的电源管理模块的状态机的状态转换图的示例,图5至图8示出根据本发明示例性实施例的创建方法创建的状态机的状态转换图的示例。
下面结合图4来说明现有的系统芯片的电源管理模块的状态机的状态转换过程及新增或删除需要进行电源管理的功能模块时对状态机的修改方法。
如图4所示,现有的SOC芯片的电源管理模块的状态机共有8种状态:STATE_UP(起始状态,在此状态下,功能模块1、功能模块2和功能模块3都处于正常状态)、STATE_1_1(低功耗状态_1_1,在此状态下,使功能模块1进入低功耗状态1)、STATE_1_2(低功耗状态_1_2,在此状态下,使功能模块1进入低功耗状态2)、STATE_2_1(低功耗状态_2_1,在此状态下,使功能模块2进入低功耗状态1)、STATE_2_2(低功耗状态_2_2,在此状态下,使功能模块2进入低功耗状态2)、STATE_3_1(低功耗状态_3_1,在此状态下,使功能模块3进入低功耗状态1)、STATE_3_2(低功耗状态_3_2,在此状态下,使功能模块3进入低功耗状态2)、STATE_DOWN(在此状态下,功能模块1、功能模块2和功能模块3都处于低功耗状态)。触发状态转换的条件为:LOW_POWER_MODE1(系统需要进入低功耗模式1)、LOW_POWER_MODE2(系统需要进入低功耗模式2)、LOW_POWER_MODE3(系统需要进入低功耗模式3)。
现有的电源管理模块的状态机按照如下方式进行状态转换:(1)在STATE_UP状态下,在系统需要进入低功耗模式1的条件下,转换到STATE_1_1状态,以控制功能模块1进入低功耗状态1,在STATE_1_1状态下,在系统需要进入低功耗模式1的条件下,转换到STATE_2_2状态,以控制功能模块2进入低功耗状态2,在STATE_2_2状态下,在系统需要进入低功耗模式1的条件下,转换到STATE_3_2状态,以控制功能模块3进入低功耗状态2,在STATE_3_2状态下,在系统需要进入低功耗模式1的条件下,转换到STATE_DOWN状态,即,所有功能模块都进入了与低功耗模式1相应的低功耗状态,系统进入了低功耗模式1;(2)在STATE_UP状态下,在系统需要进入低功耗模式2的条件下,转换到STATE_1_1状态,以控制功能模块1进入低功耗状态1,在STATE_1_1状态下,在系统需要进入低功耗模式2的条件下,转换到STATE_2_1状态,以控制功能模块2进入低功耗状态1,在STATE_2_1状态下,在系统需要进入低功耗模式2的条件下,转换到STATE_3_1状态,以控制功能模块3进入低功耗状态1,在STATE_3_1状态下,在系统需要进入低功耗模式2的条件下,转换到STATE_DOWN状态,即,所有功能模块都进入了与低功耗模式2相应的低功耗状态,系统进入了低功耗模式2;(3)在STATE_UP状态下,在系统需要进入低功耗模式3的条件下,转换到STATE_1_2状态,以控制功能模块1进入低功耗状态2,在STATE_1_2状态下,在系统需要进入低功耗模式3的条件下,转换到STATE_2_2状态,以控制功能模块2进入低功耗状态2,在STATE_2_2状态下,在系统需要进入低功耗模式3的条件下,转换到STATE_3_1状态,以控制功能模块3进入低功耗状态1,在STATE_3_1状态下,在系统需要进入低功耗模式3的条件下,转换到STATE_DOWN状态,即,所有功能模块都进入了与低功耗模式3相应的低功耗状态,系统进入了低功耗模式3。
从上述转换过程可知,与功能模块1对应的状态STATE_1_1和STATE_1_2,和与功能模块2对应的状态STATE_2_1和STATE_2_2存在状态转换关系;与功能模块2对应的状态STATE_2_1和STATE_2_2,又和与功能模块3对应的状态STATE_3_1和STATE_3_2存在状态转换关系。因此,如果SOC芯片新增1个功能模块,且需要在进入低功耗模式的过程中,使功能模块1先进入低功耗状态,然后使新增的功能模块进入低功耗状态,接下来使功能模块2进入低功耗状态、功能模块3进入低功耗状态。这就需要为状态机增加与新增的功能模块对应的低功耗状态,并对原有的状态转换关系进行如下调整:先删除STATE_1_1与STATE_2_1、STATE_1_1与STATE_2_2、STATE_1_2与STATE_2_1、STATE_1_2与STATE_2_2的状态转换关系,然后再建立STATE_1_1与STATE_NEW_1(在此状态下,使新增的功能模块进入低功耗状态1)、STATE_1_1与STATE_NEW_2(在此状态下,使新增的功能模块进入低功耗状态2)、STATE_1_2与STATE_NEW_1、STATE_1_2与STATE_NEW_2、STATE_NEW_1与STATE_2_1、STATE_NEW_1与STATE_2_2、STATE_NEW_2与STATE_2_1、STATE_NEW_2与STATE_2_2的状态转换关系。
类似地,如果SOC芯片删除功能模块2,则需从状态机的状态中删除与功能模块2对应的状态,并对原有的状态转换关系进行如下调整:先删除STATE_2_1与STATE_1_1、STATE_2_1与STATE_1_2、STATE_2_2与STATE_1_1、STATE_2_2与STATE_1_2、STATE_2_1与STATE_3_1、STATE_2_1与STATE_3_2、STATE_2_2与STATE_3_1、STATE_2_2与STATE_3_2的状态转换关系,然后再建立STATE_1_1与STATE_3_1、STATE_1_1与STATE_3_2、STATE_1_2与STATE_3_1、STATE_1_2与STATE_3_2的状态转换关系。
应该理解,上述示例仅仅针对的是3种低功耗模式、3个功能模块且每个模块有2种低功耗状态的情况,在新增或删除功能模块时,对状态机的调整就已经很复杂。而在实际设计中,系统往往有多种低功耗模式、多个功能模块且每个模块有多种低功耗状态,随着低功耗模式的增多、功能模块的增多、功能模块的低功耗状态的增多,状态机的状态转换关系会更为复杂,在新增或删除某个或某些需要进行电源管理的功能模块时,设计人员需要对状态机的状态转换关系进行更为复杂的调整,工作量非常大,且在调整过程中容易产生芯片设计错误,使SOC芯片不能正常工作,甚至被烧毁。
下面结合图5至图8来说明根据本发明示例性实施例的创建方法创建的电源管理模块的状态机的状态转换过程及新增或删除需要进行电源管理的功能模块时对状态机的修改方法。
图5示出根据本发明示例性实施例的创建方法创建的主状态机(FSM)的状态转换图的示例,图6示出根据本发明示例性实施例的创建方法创建的子状态机1(FSM1)的状态转换图的示例,图7示出根据本发明示例性实施例的创建方法创建的子状态机2(FSM2)的状态转换图的示例,图8示出根据本发明示例性实施例的创建方法创建的子状态机3(FSM3)的状态转换图的示例。
主状态机共有5种状态:STATE_UP、STATE_1(使能控制状态1,在此状态下,对子状态机1进行使能控制)、STATE_2(使能控制状态2,在此状态下,对子状态机2进行使能控制)、STATE_3(使能控制状态3,在此状态下,对子状态机3进行使能控制)、STATE_DOWN。触发状态转换的条件为:LOW_POWER_MODE(系统需要进入低功耗模式,包括低功耗模式1、低功耗模式2、低功耗模式3)、FSM1_DONE(子状态机1完成状态转换)、FSM2_DONE(子状态机2完成状态转换)、FSM3_DONE(子状态机3完成状态转换)、~FSM1_EN(根据低功耗模式不需要使能子状态机1)、~FSM2_EN(根据低功耗模式不需要使能子状态机2)、~FSM3_EN(根据低功耗模式不需要使能子状态机3)。
子状态机1共有4种状态:STATE1_UP(起始状态1,在此状态下,功能模块1处于正常状态)、STATE_1_1、STATE_1_2、STATE1_DOWN(结束状态1,在此状态下,通知主状态机已完成使功能模块1进入低功耗状态的状态转换)。触发状态转换的条件为:LOW_POWER_MODE1、LOW_POWER_MODE2、LOW_POWER_MODE3、FSM1_EN(使能子状态机1)。
相应地,子状态机2共有4种状态:STATE2_UP(起始状态2,在此状态下,功能模块2处于正常状态)、STATE_2_1、STATE_2_2、STATE2_DOWN(结束状态2,在此状态下,通知主状态机已完成使功能模块2进入低功耗状态的状态转换)。触发状态转换的条件为:LOW_POWER_MODE1、LOW_POWER_MODE2、LOW_POWER_MODE3、FSM2_EN(使能子状态机2)。
子状态机3共有4种状态:STATE3_UP(起始状态3,在此状态下,功能模块3处于正常状态)、STATE_3_1、STATE_3_2、STATE3_DOWN(结束状态3,在此状态下,通知主状态机已完成使功能模块3进入低功耗状态的状态转换)。触发状态转换的条件为:LOW_POWER_MODE1、LOW_POWER_MODE2、LOW_POWER_MODE3、FSM3_EN(使能子状态机3)。
针对系统需要进入低功耗模式1的情况,主状态机和各子状态机按照如下方式进行状态转换:主状态机在STATE_UP状态下,在系统需要进入低功耗模式的条件下,转换到STATE_1状态,以根据低功耗模式1控制子状态机1使能。子状态机1在STATE1_UP状态下,在被使能且系统需要进入低功耗模式1的条件下,转换到STATE_1_1状态,以控制功能模块1进入低功耗状态1,在STATE_1_1状态下,在系统需要进入低功耗模式1的条件下,转换到STATE1_DOWN状态,以通知主状态机子已完成使功能模块1进入低功耗状态1的状态转换。主状态机在STATE_1状态下,在子状态机1完成状态转换的条件下,转换到STATE_2状态,以根据低功耗模式2控制子状态机2使能。子状态机2在STATE2_UP状态下,在被使能且系统需要进入低功耗模式1的条件下,转换到STATE_2_2状态,以控制功能模块2进入低功耗状态2,在STATE_2_2状态下,在系统需要进入低功耗模式1的条件下,转换到STATE2_DOWN状态,以通知主状态机子已完成使功能模块2进入低功耗状态2的状态转换。主状态机在STATE_2状态下,在子状态机2完成状态转换的条件下,转换到STATE_3状态,以根据低功耗模式3控制子状态机3使能。子状态机3在STATE3_UP状态下,在被使能且系统需要进入低功耗模式1的条件下,转换到STATE_3_2状态,以控制功能模块3进入低功耗状态2,在STATE_3_2状态下,在系统需要进入低功耗模式1的条件下,转换到STATE3_DOWN状态,以通知主状态机已完成使功能模块3进入低功耗状态2的状态转换。主状态机在STATE_3状态下,在子状态机3完成状态转换的条件下,转换到STATE_DOWN状态,即系统进入了低功耗模式1。
相应地,针对低功耗模式2和低功耗模式3的情况,主状态机和各子状态机的状态转换过程与低功耗模式1的情况类似,在此不再赘述。
此外,虽然在上述转换过程中没有出现此种情况,但应该理解,如果主状态机在某一状态下,在需要进入的低功耗模式不需要使能与该当前状态对应的子状态机的条件下,则直接转换到下一状态。例如,在低功耗模式4下功能模块2不需要进入低功耗状态,即保持正常状态,因此,在需要进入低功耗模式4时不需要使能子状态机2,那么,主状态机在STATE_2状态下,在不需要使能子状态机2(~FSM2_EN)的条件下,直接跳转到STATE_3。
从上述转换过程可知,与功能模块1对应的子状态机1、与功能模块2对应的子状态机2、与功能模块3对应的子状态机3相对独立地进行状态转换,即,与功能模块1对应的低功耗状态、与功能模块2对应的低功耗状态、与功能模块3对应的低功耗状态彼此之间不存在状态转换关系、相对独立。因此,如果新增1个需要进行电源管理的功能模块,且需要在进入低功耗模式的过程中,使功能模块1先进入低功耗状态,然后使新增的功能模块进入低功耗状态,接下来功能模块2进入低功耗状态、功能模块3进入低功耗状态。只需增加一个与新增的功能模块对应的子状态机,并为主状态机增加一个与增加的子状态机对应的使能控制状态,并设置增加的使能控制状态的状态转换顺序以使主状态机在进行状态转换时,从STATE_1转换到STATE_NEW(在此状态下,对新增的功能模块进行使能控制)、从STATE_NEW转换到STATE_2,其它的子状态机都不需要调整。
类似地,如果SOC芯片删除功能模块2,只需从主状态机的状态中删除与子状态机2对应的使能控制状态(STATE_2)即可,子状态机不需要调整或只删除子状态机2。
应该理解,即使系统有多种低功耗模式、多个功能模块且每个模块有多种低功耗状态,对于根据本发明示例性实施例的创建方法创建的电源管理模块的状态机来说,在SOC芯片新增或删除某个或某些需要进行电源管理的功能模块时,设计人员也只需通过上述简单的步骤即可完成对状态机的调整。即,通过本发明示例性实施例的创建方法创建状态机,会降低修改状态机的复杂度,且在修改状态机时不易产生芯片设计错误。
图9示出根据本发明示例性实施例的系统芯片的电源管理模块的状态机的框图。
如图9所示,电源管理模块的状态机900包括:一个主状态机910和多个子状态机920。
主状态机910具有至少一个使能控制状态,使能控制状态的数量与SOC芯片内部的需要进行电源管理的功能模块的数量相同。各个使能控制状态与各个子状态机920一一对应,主状态机910进行状态转换,以根据系统需要进入的低功耗模式对各个子状态机920进行使能控制。换言之,主状态机910在各使能控制状态下,负责根据系统需要进入的不同的低功耗模式对该使能控制状态对应的子状态机920进行使能控制。
作为示例,主状态机910可通过下述方式进行状态转换:主状态机910按照各个使能控制状态的状态转换顺序进行状态转换,每当主状态机910从一个使能控制状态转换到下一使能控制状态时,根据系统需要进入的低功耗模式对所述下一使能控制状态对应的子状态机920进行使能控制。在所述一个使能控制状态下,如果根据系统需要进入的低功耗模式需要使能与所述一个使能控制状态对应的子状态机920,则主状态机910控制与所述一个使能控制状态对应的子状态机920使能且在与所述一个使能控制状态对应的子状态机920完成状态转换的条件下转换到所述下一使能控制状态;如果不需要使能与所述一个使能控制状态对应的子状态机920,则主状态机910直接转换到所述下一使能控制状态。
换言之,主状态机910在任意一使能控制状态下,根据系统需要进入的低功耗模式对该使能控制状态对应的子状态机920进行使能控制,如果根据系统需要进入的低功耗模式需要使能该子状态机920,则使能该子状态机920,如果根据系统需要进入的低功耗模式不需要使能该子状态机920,则不使能该子状态机920。并且在不需要使能该子状态机920或该子状态机920完成状态转换的条件下,从该使能控制状态转换到按照各个使能控制状态的状态转换顺序的该使能控制状态的下一使能控制状态,以根据系统需要进入的低功耗模式对该下一使能控制状态对应的子状态机920进行使能控制。
此外,主状态机910还具有起始状态和结束状态,主状态机910在起始状态下,在系统需要进入低功耗模式的条件下转换到第一个使能控制状态,并按照各个使能控制状态的状态转换顺序从第一个使能控制状态依次转换到最后一个使能控制状态,在最后一个使能控制状态下,如果根据系统需要进入的低功耗模式需要使能与最后一个使能控制状态对应的子状态机920,则主状态机910控制与最后一个使能控制状态对应的子状态机920使能且在与最后一个使能控制状态对应的子状态机920完成状态转换的条件下转换到结束状态;如果不需要使能与最后一个使能控制状态对应的子状态机920,则主状态机910直接转换到结束状态。
应该理解,当主状态机910处于起始状态时,SOC芯片的所有需要进行电源管理的功能模块都处于正常状态(即,电源和时钟都处于正常状态),当主状态机910处于结束状态时,SOC芯片的所有需要进行电源管理的功能模块都处于与系统需要进入的低功耗模式对应的低功耗状态。
子状态机920的数量与系统芯片内部的需要进行电源管理的功能模块的数量相同,各个子状态机920与各个功能模块一一对应。各子状态机920在被主状态机910使能的情况下进行状态转换,以使对应的功能模块进入与系统需要进入的低功耗模式相应的低功耗状态。即,每个子状态机920负责根据系统需要进入的不同的低功耗模式管理一个功能模块的低功耗状态。
作为示例,各子状态机920可通过下述方式进行状态转换:子状态机920在被主状态机910使能的情况下根据系统需要进入的低功耗模式从起始状态转换到相应的低功耗状态以使对应的功能模块进入相应的低功耗状态,子状态机920从所述低功耗状态在系统需要进入的低功耗模式的条件下转换到结束状态以通知主状态机910所述子状态机920完成状态转换。即,子状态机920在各低功耗状态下,控制对应的功能模块进入相应的低功耗状态,子状态机920在结束状态下,通知主状态机910已完成状态转换。
应该理解,当子状态机920处于起始状态时,与该子状态机920对应的功能模块处于正常状态(即,电源和时钟都处于正常状态),当子状态机920处于结束状态时,与该子状态机920对应的功能模块处于与系统需要进入的低功耗模式对应的低功耗状态。
根据本发明示例性实施例的系统芯片的电源管理模块的状态机中,分别与各个功能模块对应的子状态机相互独立地进行状态转换,即,状态机的与各个功能模块对应的低功耗状态不存在转换关系、相对独立,因此,所述系统芯片的电源管理模块的状态机易于修改(例如,SOC芯片新增或删除需要进行电源管理的功能模块时),且不易产生芯片设计错误。
此外,根据本发明示例性实施例的创建系统芯片的电源管理模块的状态机的方法可以通过对SOC芯片的硬件设计来实现,也可以通过对SOC芯片的软件设计来实现,或者通过硬件设计和软件设计相结合的方式来实现,对此不作限制。
根据本发明示例性实施例的创建系统芯片的电源管理模块的状态机的方法创建系统芯片的电源管理模块的状态机,可降低对状态机修改的复杂度并且降低修改错误的发生。根据本发明示例性实施例的系统芯片的电源管理模块的状态机易于修改。
虽然已表示和描述了本发明的一些示例性实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行修改。
Claims (9)
1.一种创建系统芯片的电源管理模块的状态机的方法,包括:
创建一个主状态机,其中,主状态机具有至少一个使能控制状态,使能控制状态的数量与系统芯片内部的需要进行电源管理的功能模块的数量相同;
创建多个子状态机,其中,子状态机的数量与系统芯片内部的需要进行电源管理的功能模块的数量相同,各个子状态机与各个功能模块一一对应,
其中,主状态机的各个使能控制状态与各个子状态机一一对应,主状态机进行状态转换,以根据系统需要进入的低功耗模式对各个子状态机进行使能控制,各子状态机在被主状态机使能的情况下进行状态转换,以使对应的功能模块进入与系统需要进入的低功耗模式相应的低功耗状态,
其中,主状态机按照各个使能控制状态的状态转换顺序进行状态转换,其中,每当主状态机从一个使能控制状态转换到下一使能控制状态时,根据系统需要进入的低功耗模式对所述下一使能控制状态对应的子状态机进行使能控制,其中,在所述一个使能控制状态下,如果根据系统需要进入的低功耗模式需要使能与所述一个使能控制状态对应的子状态机,则主状态机控制与所述一个使能控制状态对应的子状态机使能且在与所述一个使能控制状态对应的子状态机完成状态转换的条件下转换到所述下一使能控制状态;如果不需要使能与所述一个使能控制状态对应的子状态机,则主状态机直接转换到所述下一使能控制状态。
2.如权利要求1所述的方法,其中,
各子状态机通过下述方式进行状态转换:子状态机在被主状态机使能的情况下根据系统需要进入的低功耗模式从起始状态转换到相应的低功耗状态以使对应的功能模块进入相应的低功耗状态,子状态机从所述低功耗状态在系统需要进入的低功耗模式的条件下转换到结束状态以通知主状态机所述子状态机完成状态转换。
3.如权利要求2所述的方法,其中,
主状态机还具有起始状态和结束状态,
其中,主状态机在起始状态下,在系统需要进入低功耗模式的条件下转换到第一个使能控制状态,并按照各个使能控制状态的状态转换顺序从第一个使能控制状态依次转换到最后一个使能控制状态,在最后一个使能控制状态下,如果根据系统需要进入的低功耗模式需要使能与最后一个使能控制状态对应的子状态机,则主状态机控制与最后一个使能控制状态对应的子状态机使能且在与最后一个使能控制状态对应的子状态机完成状态转换的条件下转换到结束状态;如果不需要使能与最后一个使能控制状态对应的子状态机,则主状态机直接转换到结束状态。
4.如权利要求1所述的方法,还包括:
增加一个与新增的功能模块对应的子状态机,其中,增加的子状态机在被主状态机使能的情况下进行状态转换,以使新增的功能模块进入与系统需要进入的低功耗模式相应的低功耗状态;
为主状态机增加一个与增加的子状态机对应的使能控制状态,并设置增加的使能控制状态的状态转换顺序,其中,主状态机转换到与增加的子状态机对应的使能控制状态时根据系统需要进入的低功耗模式对增加的子状态机进行使能控制。
5.如权利要求1所述的方法,还包括:
删除与所删除的功能模块对应的子状态机;
从主状态机的状态中删除与删除的状态机对应的使能控制状态。
6.如权利要求1所述的方法,还包括:
从主状态机的状态中删除对应于与删除的功能模块对应的子状态机的使能控制状态。
7.一种系统芯片的电源管理模块的状态机,包括:
一个主状态机,其中,主状态机具有至少一个使能控制状态,使能控制状态的数量与系统芯片内部的需要进行电源管理的功能模块的数量相同;
多个子状态机,其中,子状态机的数量与系统芯片内部的需要进行电源管理的功能模块的数量相同,各个子状态机与各个功能模块一一对应,
其中,主状态机的各个使能控制状态与各个子状态机一一对应,主状态机进行状态转换,以根据系统需要进入的低功耗模式对各个子状态机进行使能控制,各子状态机在被主状态机使能的情况下进行状态转换,以使对应的功能模块进入与系统需要进入的低功耗模式相应的低功耗状态,
其中,主状态机按照各个使能控制状态的状态转换顺序进行状态转换,其中,每当主状态机从一个使能控制状态转换到下一使能控制状态时,根据系统需要进入的低功耗模式对所述下一使能控制状态对应的子状态机进行使能控制,其中,在所述一个使能控制状态下,如果根据系统需要进入的低功耗模式需要使能与所述一个使能控制状态对应的子状态机,则主状态机控制与所述一个使能控制状态对应的子状态机使能且在与所述一个使能控制状态对应的子状态机完成状态转换的条件下转换到所述下一使能控制状态;如果不需要使能与所述一个使能控制状态对应的子状态机,则主状态机直接转换到所述下一使能控制状态。
8.如权利要求7所述的状态机,其中,
各子状态机通过下述方式进行状态转换:子状态机在被主状态机使能的情况下根据系统需要进入的低功耗模式从起始状态转换到相应的低功耗状态以使对应的功能模块进入相应的低功耗状态,子状态机从所述低功耗状态在系统需要进入的低功耗模式的条件下转换到结束状态以通知主状态机所述子状态机完成状态转换。
9.如权利要求8所述的状态机,其中,
主状态机还具有起始状态和结束状态,
其中,主状态机在起始状态下,在系统需要进入低功耗模式的条件下转换到第一个使能控制状态,并按照各个使能控制状态的状态转换顺序从第一个使能控制状态依次转换到最后一个使能控制状态,在最后一个使能控制状态下,如果根据系统需要进入的低功耗模式需要使能与最后一个使能控制状态对应的子状态机,则主状态机控制与最后一个使能控制状态对应的子状态机使能且在与最后一个使能控制状态对应的子状态机完成状态转换的条件下转换到结束状态;如果不需要使能与最后一个使能控制状态对应的子状态机,则主状态机直接转换到结束状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410366131.1A CN104133545B (zh) | 2014-07-29 | 2014-07-29 | 系统芯片的电源管理模块的状态机及其创建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410366131.1A CN104133545B (zh) | 2014-07-29 | 2014-07-29 | 系统芯片的电源管理模块的状态机及其创建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104133545A CN104133545A (zh) | 2014-11-05 |
CN104133545B true CN104133545B (zh) | 2017-03-08 |
Family
ID=51806257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410366131.1A Active CN104133545B (zh) | 2014-07-29 | 2014-07-29 | 系统芯片的电源管理模块的状态机及其创建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104133545B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345376B (zh) * | 2018-03-07 | 2021-05-28 | 上海顺久电子科技有限公司 | 低功耗芯片唤醒方法、装置及低功耗芯片 |
CN111526094B (zh) * | 2020-04-24 | 2022-02-11 | 中电科航空电子有限公司 | 一种rstp状态机调度的方法及系统 |
CN115657572B (zh) * | 2022-12-27 | 2023-03-07 | 上海泰矽微电子有限公司 | 一种模块化SoC芯片电源管理系统控制器设计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102270030A (zh) * | 2010-05-07 | 2011-12-07 | 三星电子株式会社 | 片上系统、具有其的设备以及该片上系统的电力控制方法 |
CN102573114A (zh) * | 2010-12-27 | 2012-07-11 | 北京中电华大电子设计有限责任公司 | 一种无线局域网soc芯片的低功耗设计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8181059B2 (en) * | 2008-09-26 | 2012-05-15 | Apple Inc. | Inter-processor communication channel including power-down functionality |
-
2014
- 2014-07-29 CN CN201410366131.1A patent/CN104133545B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102270030A (zh) * | 2010-05-07 | 2011-12-07 | 三星电子株式会社 | 片上系统、具有其的设备以及该片上系统的电力控制方法 |
CN102573114A (zh) * | 2010-12-27 | 2012-07-11 | 北京中电华大电子设计有限责任公司 | 一种无线局域网soc芯片的低功耗设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104133545A (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102487272B (zh) | 集成电路、时钟门控电路和方法 | |
CN105122172B (zh) | 同步数字系统及避免其中的时钟信号错误的方法 | |
CN105980959B (zh) | 低等待时间切换下的动态时钟和电压缩放 | |
Godycki et al. | Enabling realistic fine-grain voltage scaling with reconfigurable power distribution networks | |
CN106471691B (zh) | 用于负载群集的动态电源轨控制 | |
CN103294641A (zh) | 用于系统管理的有限状态机 | |
CN103984274B (zh) | 数字电源闸控的集成电路及方法 | |
CN104133545B (zh) | 系统芯片的电源管理模块的状态机及其创建方法 | |
CN203770799U (zh) | 一种供电时序控制电路及电磁阀控制系统 | |
CN103324268A (zh) | 用于无线传感器网络核心芯片的低功耗设计方法 | |
Miro-Panades et al. | A Fine-Grain Variation-Aware Dynamic ${\rm Vdd} $-Hopping AVFS Architecture on a 32 nm GALS MPSoC | |
CN103631627A (zh) | 一种设备配置方法、配置文件生成方法及配置系统 | |
CN102684646A (zh) | 单边沿主从型d触发器 | |
CN104484008B (zh) | 一种芯片低功耗处理方法及装置 | |
CN103198034A (zh) | 一种基于cpci总线设备板卡的热插拔电源管理装置 | |
US9190989B1 (en) | Integrated circuit power management | |
CN102759702A (zh) | 用于检测芯片内工作电路的电压与频率关系的电路及方法 | |
US7616043B2 (en) | Methods and apparatus for managing LSI power consumption and degradation using clock signal conditioning | |
CN108052156A (zh) | 一种基于门控技术的处理器时钟树架构及构建方法 | |
CN104216500A (zh) | 嵌入式控制器及省电控制方法 | |
CN105867503B (zh) | 一种参考电压源电路及参考电压的控制方法 | |
CN102075179A (zh) | 一种亚阈值锁存器 | |
CN102609022A (zh) | 双界面卡的电源管理电路及方法 | |
CN101872997A (zh) | 连续提供电源的切换控制方法及其装置与电源供应系统 | |
CN203409993U (zh) | 基于工业电脑控制的专用注塑机控制系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |