系統(tǒng)芯片的電源管理模塊的狀態(tài)機及其創(chuàng)建方法
【專利摘要】提供一種系統(tǒng)芯片的電源管理模塊的狀態(tài)機及其創(chuàng)建方法。所述創(chuàng)建方法包括:創(chuàng)建一個主狀態(tài)機,其中,主狀態(tài)機具有至少一個使能控制狀態(tài),使能控制狀態(tài)的數(shù)量與系統(tǒng)芯片內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同;創(chuàng)建多個子狀態(tài)機,其中,子狀態(tài)機的數(shù)量與系統(tǒng)芯片內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同,各個子狀態(tài)機與各個功能模塊一一對應(yīng),其中,主狀態(tài)機的各個使能控制狀態(tài)與各個子狀態(tài)機一一對應(yīng),主狀態(tài)機進行狀態(tài)轉(zhuǎn)換,以根據(jù)系統(tǒng)需要進入的低功耗模式對各個子狀態(tài)機進行使能控制,各子狀態(tài)機在被主狀態(tài)機使能的情況下進行狀態(tài)轉(zhuǎn)換,以使對應(yīng)的功能模塊進入與系統(tǒng)需要進入的低功耗模式相應(yīng)的低功耗狀態(tài)。
【專利說明】系統(tǒng)芯片的電源管理模塊的狀態(tài)機及其創(chuàng)建方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及狀態(tài)機【技術(shù)領(lǐng)域】,更具體地講,涉及一種創(chuàng)建系統(tǒng)芯片的電源管理模塊的狀態(tài)機的方法及系統(tǒng)芯片的電源管理模塊的狀態(tài)機。
【背景技術(shù)】
[0002]隨著便攜式電子設(shè)備的發(fā)展,尤其是使用電池供電的便攜式電子設(shè)備的發(fā)展,低功耗管理已經(jīng)成為系統(tǒng)芯片SOC(System On Chip)設(shè)計的一個突出問題。SOC芯片內(nèi)部往往集成有多個功能模塊以處理不同的應(yīng)用,例如,顯示模塊(LCD模塊)、拍攝模塊(CAM模塊)等功能模塊。SOC芯片的電源管理模塊PMU (Power Management Unit)負(fù)責(zé)控制SOC芯片內(nèi)部的各個功能模塊在不同的低功耗模式下的電源和時鐘的開關(guān)。例如,當(dāng)系統(tǒng)不需要使用拍照應(yīng)用時,將CAM模塊的電源關(guān)閉以節(jié)省功耗;而當(dāng)系統(tǒng)不需要顯示界面(例如,系統(tǒng)在進行MP3播放)時,將LCD模塊的電源關(guān)閉以節(jié)省功耗;又或者,當(dāng)某些功能模塊不需要使用但需要保持原有狀態(tài)時,將它的時鐘關(guān)閉以節(jié)省功耗。
[0003]為了實現(xiàn)SOC芯片的低功耗管理,電源管理模塊需要支持多種低功耗模式,由電源管理模塊的狀態(tài)機FSM(Finite State Machine)負(fù)責(zé)控制各個功能模塊在不同的低功耗模式下進入相應(yīng)的低功耗狀態(tài),實現(xiàn)在不同的低功耗模式下對各個功能模塊的電源和時鐘的管理。典型的低功耗狀態(tài)包括:通過時鐘門控(clock-gate)低功耗技術(shù)進入的低功耗狀態(tài)、通過電源門控(power-gate)低功耗技術(shù)進入的低功耗狀態(tài)、通過電源門控且狀態(tài)保持(power gate with state-retent1n)低功耗技術(shù)進入的低功耗狀態(tài)、通過外部電源切斷(external power-off)低功耗技術(shù)進入的低功耗狀態(tài)等低功耗狀態(tài)。
[0004]現(xiàn)有技術(shù)中,通常通過一個復(fù)雜的狀態(tài)機來負(fù)責(zé)系統(tǒng)的所有低功耗模式,針對每種低功耗模式,狀態(tài)機都需要進行相應(yīng)的狀態(tài)轉(zhuǎn)換,以使各功能模塊依次進入相應(yīng)的低功耗狀態(tài)。由于各個功能模塊在不同的低功耗模式下低功耗狀態(tài)可能相同,也可能不同,因此,對于狀態(tài)機而言,同樣的現(xiàn)態(tài)在不同的低功耗模式下可能會有不同的次態(tài),即,狀態(tài)機具有的與各個功能模塊對應(yīng)的狀態(tài)相互關(guān)聯(lián)。這導(dǎo)致在需要修改狀態(tài)機時(例如,SOC芯片新增或刪除需要進行電源管理的功能模塊時)復(fù)雜度大大增加,且容易產(chǎn)生芯片設(shè)計錯誤。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的示例性實施例在于提供一種創(chuàng)建系統(tǒng)芯片的電源管理模塊的狀態(tài)機的方法及系統(tǒng)芯片的電源管理模塊的狀態(tài)機,根據(jù)所述方法創(chuàng)建系統(tǒng)芯片的電源管理模塊的狀態(tài)機,可降低對狀態(tài)機修改的復(fù)雜度。
[0006]根據(jù)本發(fā)明的一方面,提供一種創(chuàng)建系統(tǒng)芯片的電源管理模塊的狀態(tài)機的方法,包括:創(chuàng)建一個主狀態(tài)機,其中,主狀態(tài)機具有至少一個使能控制狀態(tài),使能控制狀態(tài)的數(shù)量與系統(tǒng)芯片內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同;創(chuàng)建多個子狀態(tài)機,其中,子狀態(tài)機的數(shù)量與系統(tǒng)芯片內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同,各個子狀態(tài)機與各個功能模塊一一對應(yīng),其中,主狀態(tài)機的各個使能控制狀態(tài)與各個子狀態(tài)機一一對應(yīng),主狀態(tài)機進行狀態(tài)轉(zhuǎn)換,以根據(jù)系統(tǒng)需要進入的低功耗模式對各個子狀態(tài)機進行使能控制,各子狀態(tài)機在被主狀態(tài)機使能的情況下進行狀態(tài)轉(zhuǎn)換,以使對應(yīng)的功能模塊進入與系統(tǒng)需要進入的低功耗模式相應(yīng)的低功耗狀態(tài)。
[0007]可選地,主狀態(tài)機按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序進行狀態(tài)轉(zhuǎn)換,其中,每當(dāng)主狀態(tài)機從一個使能控制狀態(tài)轉(zhuǎn)換到下一使能控制狀態(tài)時,根據(jù)系統(tǒng)需要進入的低功耗模式對所述下一使能控制狀態(tài)對應(yīng)的子狀態(tài)機進行使能控制,其中,在所述一個使能控制狀態(tài)下,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機控制與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機使能且在與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機完成狀態(tài)轉(zhuǎn)換的條件下轉(zhuǎn)換到所述下一使能控制狀態(tài);如果不需要使能與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機直接轉(zhuǎn)換到所述下一使能控制狀態(tài),各子狀態(tài)機通過下述方式進行狀態(tài)轉(zhuǎn)換:子狀態(tài)機在被主狀態(tài)機使能的情況下根據(jù)系統(tǒng)需要進入的低功耗模式從起始狀態(tài)轉(zhuǎn)換到相應(yīng)的低功耗狀態(tài)以使對應(yīng)的功能模塊進入相應(yīng)的低功耗狀態(tài),子狀態(tài)機從所述低功耗狀態(tài)在系統(tǒng)需要進入的低功耗模式的條件下轉(zhuǎn)換到結(jié)束狀態(tài)以通知主狀態(tài)機所述子狀態(tài)機完成狀態(tài)轉(zhuǎn)換。
[0008]可選地,主狀態(tài)機還具有起始狀態(tài)和結(jié)束狀態(tài),其中,主狀態(tài)機在起始狀態(tài)下,在系統(tǒng)需要進入低功耗模式的條件下轉(zhuǎn)換到第一個使能控制狀態(tài),并按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序從第一個使能控制狀態(tài)依次轉(zhuǎn)換到最后一個使能控制狀態(tài),在最后一個使能控制狀態(tài)下,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機控制與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機使能且在與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機完成狀態(tài)轉(zhuǎn)換的條件下轉(zhuǎn)換到結(jié)束狀態(tài);如果不需要使能與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機直接轉(zhuǎn)換到結(jié)束狀態(tài)。
[0009]可選地,所述方法還包括:增加一個與新增的功能模塊對應(yīng)的子狀態(tài)機,其中,增加的子狀態(tài)機在被主狀態(tài)機使能的情況下進行狀態(tài)轉(zhuǎn)換,以使新增的功能模塊進入與系統(tǒng)需要進入的低功耗模式相應(yīng)的低功耗狀態(tài);為主狀態(tài)機增加一個與增加的子狀態(tài)機對應(yīng)的使能控制狀態(tài),并設(shè)置增加的使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序,其中,主狀態(tài)機轉(zhuǎn)換到與增加的子狀態(tài)機對應(yīng)的使能控制狀態(tài)時根據(jù)系統(tǒng)需要進入的低功耗模式對增加的子狀態(tài)機進行使能控制。
[0010]可選地,所述方法還包括:刪除與所刪除的功能模塊對應(yīng)的子狀態(tài)機;從主狀態(tài)機的狀態(tài)中刪除與刪除的狀態(tài)機對應(yīng)的使能控制狀態(tài)。
[0011]可選地,所述方法還包括:從主狀態(tài)機的狀態(tài)中刪除對應(yīng)于與刪除的功能模塊對應(yīng)的子狀態(tài)機的使能控制狀態(tài)。
[0012]根據(jù)本發(fā)明的另一方面,提供一種系統(tǒng)芯片的電源管理模塊的狀態(tài)機,包括:一個主狀態(tài)機,其中,主狀態(tài)機具有至少一個使能控制狀態(tài),使能控制狀態(tài)的數(shù)量與系統(tǒng)芯片內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同;多個子狀態(tài)機,其中,子狀態(tài)機的數(shù)量與系統(tǒng)芯片內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同,各個子狀態(tài)機與各個功能模塊一一對應(yīng),其中,主狀態(tài)機的各個使能控制狀態(tài)與各個子狀態(tài)機一一對應(yīng),主狀態(tài)機進行狀態(tài)轉(zhuǎn)換,以根據(jù)系統(tǒng)需要進入的低功耗模式對各個子狀態(tài)機進行使能控制,各子狀態(tài)機在被主狀態(tài)機使能的情況下進行狀態(tài)轉(zhuǎn)換,以使對應(yīng)的功能模塊進入與系統(tǒng)需要進入的低功耗模式相應(yīng)的低功耗狀態(tài)。
[0013]可選地,主狀態(tài)機按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序進行狀態(tài)轉(zhuǎn)換,其中,每當(dāng)主狀態(tài)機從一個使能控制狀態(tài)轉(zhuǎn)換到下一使能控制狀態(tài)時,根據(jù)系統(tǒng)需要進入的低功耗模式對所述下一使能控制狀態(tài)對應(yīng)的子狀態(tài)機進行使能控制,其中,在所述一個使能控制狀態(tài)下,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機控制與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機使能且在與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機完成狀態(tài)轉(zhuǎn)換的條件下轉(zhuǎn)換到所述下一使能控制狀態(tài);如果不需要使能與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機直接轉(zhuǎn)換到所述下一使能控制狀態(tài),各子狀態(tài)機通過下述方式進行狀態(tài)轉(zhuǎn)換:子狀態(tài)機在被主狀態(tài)機使能的情況下根據(jù)系統(tǒng)需要進入的低功耗模式從起始狀態(tài)轉(zhuǎn)換到相應(yīng)的低功耗狀態(tài)以使對應(yīng)的功能模塊進入相應(yīng)的低功耗狀態(tài),子狀態(tài)機從所述低功耗狀態(tài)在系統(tǒng)需要進入的低功耗模式的條件下轉(zhuǎn)換到結(jié)束狀態(tài)以通知主狀態(tài)機所述子狀態(tài)機完成狀態(tài)轉(zhuǎn)換。
[0014]可選地,主狀態(tài)機還具有起始狀態(tài)和結(jié)束狀態(tài),其中,主狀態(tài)機在起始狀態(tài)下,在系統(tǒng)需要進入低功耗模式的條件下轉(zhuǎn)換到第一個使能控制狀態(tài),并按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序從第一個使能控制狀態(tài)依次轉(zhuǎn)換到最后一個使能控制狀態(tài),在最后一個使能控制狀態(tài)下,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機控制與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機使能且在與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機完成狀態(tài)轉(zhuǎn)換的條件下轉(zhuǎn)換到結(jié)束狀態(tài);如果不需要使能與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機直接轉(zhuǎn)換到結(jié)束狀態(tài)。
[0015]根據(jù)本發(fā)明示例性實施例的創(chuàng)建系統(tǒng)芯片的電源管理模塊的狀態(tài)機的方法創(chuàng)建系統(tǒng)芯片的電源管理模塊的狀態(tài)機,可降低對狀態(tài)機修改的復(fù)雜度并且降低修改錯誤的發(fā)生。根據(jù)本發(fā)明示例性實施例的系統(tǒng)芯片的電源管理模塊的狀態(tài)機易于修改。
[0016]將在接下來的描述中部分闡述本發(fā)明總體構(gòu)思另外的方面和/或優(yōu)點,還有一部分通過描述將是清楚的,或者可以經(jīng)過本發(fā)明總體構(gòu)思的實施而得知。
【專利附圖】
【附圖說明】
[0017]通過下面結(jié)合示例性地示出實施例的附圖進行的描述,本發(fā)明示例性實施例的上述和其他目的和特點將會變得更加清楚,其中:
[0018]圖1示出根據(jù)本發(fā)明示例性實施例的創(chuàng)建系統(tǒng)芯片的電源管理模塊的狀態(tài)機的方法的流程圖;
[0019]圖2示出根據(jù)本發(fā)明示例性實施例的新增功能模塊時修改電源管理模塊的狀態(tài)機的步驟的流程圖;
[0020]圖3示出根據(jù)本發(fā)明示例性實施例的刪除功能模塊時修改電源管理模塊的狀態(tài)機的步驟的流程圖;
[0021]圖4示出現(xiàn)有的系統(tǒng)芯片的電源管理模塊的狀態(tài)機的狀態(tài)轉(zhuǎn)換圖的示例;
[0022]圖5示出根據(jù)本發(fā)明示例性實施例的創(chuàng)建方法創(chuàng)建的主狀態(tài)機的狀態(tài)轉(zhuǎn)換圖的示例;
[0023]圖6示出根據(jù)本發(fā)明示例性實施例的創(chuàng)建方法創(chuàng)建的子狀態(tài)機I的狀態(tài)轉(zhuǎn)換圖的示例;
[0024]圖7示出根據(jù)本發(fā)明示例性實施例的創(chuàng)建方法創(chuàng)建的子狀態(tài)機2的狀態(tài)轉(zhuǎn)換圖的示例;
[0025]圖8示出根據(jù)本發(fā)明示例性實施例的創(chuàng)建方法創(chuàng)建的子狀態(tài)機3的狀態(tài)轉(zhuǎn)換圖的示例;
[0026]圖9示出根據(jù)本發(fā)明示例性實施例的系統(tǒng)芯片的電源管理模塊的狀態(tài)機的框圖。
【具體實施方式】
[0027]現(xiàn)將詳細(xì)參照本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中,相同的標(biāo)號始終指的是相同的部件。以下將通過參照附圖來說明所述實施例,以便解釋本發(fā)明。
[0028]圖1示出根據(jù)本發(fā)明示例性實施例的創(chuàng)建系統(tǒng)芯片的電源管理模塊的狀態(tài)機的方法的流程圖。
[0029]如圖1所示,在步驟101,創(chuàng)建一個主狀態(tài)機。創(chuàng)建的主狀態(tài)機具有至少一個使能控制狀態(tài),使能控制狀態(tài)的數(shù)量與系統(tǒng)芯片(S0C芯片)內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同。各個使能控制狀態(tài)與各個子狀態(tài)機—對應(yīng),主狀態(tài)機進行狀態(tài)轉(zhuǎn)換,以根據(jù)系統(tǒng)需要進入的低功耗模式對各個子狀態(tài)機進行使能控制。換言之,主狀態(tài)機在各使能控制狀態(tài)下,負(fù)責(zé)根據(jù)系統(tǒng)需要進入的不同的低功耗模式對該使能控制狀態(tài)對應(yīng)的子狀態(tài)機進行使能控制。
[0030]作為示例,主狀態(tài)機可通過下述方式進行狀態(tài)轉(zhuǎn)換:主狀態(tài)機按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序進行狀態(tài)轉(zhuǎn)換,每當(dāng)主狀態(tài)機從一個使能控制狀態(tài)轉(zhuǎn)換到下一使能控制狀態(tài)時,根據(jù)系統(tǒng)需要進入的低功耗模式對所述下一使能控制狀態(tài)對應(yīng)的子狀態(tài)機進行使能控制。在所述一個使能控制狀態(tài)下,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機控制與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機使能且在與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機完成狀態(tài)轉(zhuǎn)換的條件下轉(zhuǎn)換到所述下一使能控制狀態(tài);如果不需要使能與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機直接轉(zhuǎn)換到所述下一使能控制狀態(tài)。
[0031]換言之,主狀態(tài)機在任意一使能控制狀態(tài)下,根據(jù)系統(tǒng)需要進入的低功耗模式對該使能控制狀態(tài)對應(yīng)的子狀態(tài)機進行使能控制,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能該子狀態(tài)機,則使能該子狀態(tài)機,如果根據(jù)系統(tǒng)需要進入的低功耗模式不需要使能該子狀態(tài)機,則不使能該子狀態(tài)機。并且在不需要使能該子狀態(tài)機或該子狀態(tài)機完成狀態(tài)轉(zhuǎn)換的條件下,從該使能控制狀態(tài)轉(zhuǎn)換到按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序的該使能控制狀態(tài)的下一使能控制狀態(tài),以根據(jù)系統(tǒng)需要進入的低功耗模式對該下一使能控制狀態(tài)對應(yīng)的子狀態(tài)機進行使能控制。
[0032]此外,主狀態(tài)機還具有起始狀態(tài)和結(jié)束狀態(tài),主狀態(tài)機在起始狀態(tài)下,在系統(tǒng)需要進入低功耗模式的條件下轉(zhuǎn)換到第一個使能控制狀態(tài),并按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序從第一個使能控制狀態(tài)依次轉(zhuǎn)換到最后一個使能控制狀態(tài),在最后一個使能控制狀態(tài)下,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機控制與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機使能且在與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機完成狀態(tài)轉(zhuǎn)換的條件下轉(zhuǎn)換到結(jié)束狀態(tài);如果不需要使能與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機直接轉(zhuǎn)換到結(jié)束狀態(tài)。
[0033]應(yīng)該理解,當(dāng)主狀態(tài)機處于起始狀態(tài)時,SOC芯片的所有需要進行電源管理的功能模塊都處于正常狀態(tài)(即,電源和時鐘都處于正常狀態(tài)),當(dāng)主狀態(tài)機處于結(jié)束狀態(tài)時,SOC芯片的所有需要進行電源管理的功能模塊都處于與系統(tǒng)需要進入的低功耗模式對應(yīng)的低功耗狀態(tài)。
[0034]在步驟102,創(chuàng)建多個子狀態(tài)機。創(chuàng)建的子狀態(tài)機的數(shù)量與系統(tǒng)芯片內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同,各個子狀態(tài)機與各個功能模塊對應(yīng)。各子狀態(tài)機在被主狀態(tài)機使能的情況下進行狀態(tài)轉(zhuǎn)換,以使對應(yīng)的功能模塊進入與系統(tǒng)需要進入的低功耗模式相應(yīng)的低功耗狀態(tài)。即,每個子狀態(tài)機負(fù)責(zé)根據(jù)系統(tǒng)需要進入的不同的低功耗模式管理一個功能模塊的低功耗狀態(tài)。
[0035]作為示例,各子狀態(tài)機可通過下述方式進行狀態(tài)轉(zhuǎn)換:子狀態(tài)機在被主狀態(tài)機使能的情況下根據(jù)系統(tǒng)需要進入的低功耗模式從起始狀態(tài)轉(zhuǎn)換到相應(yīng)的低功耗狀態(tài)以使對應(yīng)的功能模塊進入相應(yīng)的低功耗狀態(tài),子狀態(tài)機從所述低功耗狀態(tài)在系統(tǒng)需要進入的低功耗模式的條件下轉(zhuǎn)換到結(jié)束狀態(tài)以通知主狀態(tài)機所述子狀態(tài)機完成狀態(tài)轉(zhuǎn)換。即,子狀態(tài)機在各低功耗狀態(tài)下,控制對應(yīng)的功能模塊進入相應(yīng)的低功耗狀態(tài),子狀態(tài)機在結(jié)束狀態(tài)下,通知主狀態(tài)機已完成狀態(tài)轉(zhuǎn)換。
[0036]應(yīng)該理解,當(dāng)子狀態(tài)機處于起始狀態(tài)時,與該子狀態(tài)機對應(yīng)的功能模塊處于正常狀態(tài)(即,電源和時鐘都處于正常狀態(tài)),當(dāng)子狀態(tài)機處于結(jié)束狀態(tài)時,與該子狀態(tài)機對應(yīng)的功能模塊處于與系統(tǒng)需要進入的低功耗模式對應(yīng)的低功耗狀態(tài)。
[0037]通過上述方法所創(chuàng)建的系統(tǒng)芯片的電源管理模塊的狀態(tài)機中,分別與各個功能模塊對應(yīng)的子狀態(tài)機相互獨立地進行狀態(tài)轉(zhuǎn)換,即,狀態(tài)機的與各個功能模塊對應(yīng)的低功耗狀態(tài)不存在轉(zhuǎn)換關(guān)系、相對獨立,因此,通過上述方法創(chuàng)建系統(tǒng)芯片的電源管理模塊的狀態(tài)機可大大降低修改狀態(tài)機(例如,SOC芯片新增或刪除需要進行電源管理的功能模塊時)的復(fù)雜度,且不易產(chǎn)生芯片設(shè)計錯誤。
[0038]圖2示出根據(jù)本發(fā)明示例性實施例的新增功能模塊時修改電源管理模塊的狀態(tài)機的步驟的流程圖。當(dāng)SOC芯片新增一個需要進行電源管理的功能模塊時,可按圖2所示的方法修改電源管理模塊的狀態(tài)機。
[0039]如圖2所示,在步驟201,增加一個與新增的功能模塊對應(yīng)的子狀態(tài)機。增加的子狀態(tài)機在被主狀態(tài)機使能的情況下進行狀態(tài)轉(zhuǎn)換,以使新增的功能模塊進入與系統(tǒng)需要進入的低功耗模式相應(yīng)的低功耗狀態(tài)。即,增加的子狀態(tài)機負(fù)責(zé)根據(jù)系統(tǒng)需要進入的不同的低功耗模式管理新增的功能模塊的低功耗狀態(tài)。
[0040]在步驟202,為主狀態(tài)機增加一個與增加的子狀態(tài)機對應(yīng)的使能控制狀態(tài),并設(shè)置增加的使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序,這樣,主狀態(tài)機轉(zhuǎn)換到與增加的子狀態(tài)機對應(yīng)的使能控制狀態(tài)時根據(jù)系統(tǒng)需要進入的低功耗模式對增加的子狀態(tài)機進行使能控制。
[0041]作為示例,如果SOC芯片新增一個需要進行電源管理的模塊,且根據(jù)系統(tǒng)設(shè)計要求,需要先使功能模塊A (功能模塊A與子狀態(tài)機A對應(yīng))進入低功耗狀態(tài),再使新增的功能模塊進入低功耗狀態(tài),然后再使功能模塊B (功能模塊B與子狀態(tài)機B對應(yīng))進入低功耗狀態(tài),那么,應(yīng)為主狀態(tài)機增加一個與增加的子狀態(tài)機對應(yīng)的使能控制狀態(tài),并設(shè)置增加的使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序,所設(shè)置的增加的使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序應(yīng)為:從與子狀態(tài)機A對應(yīng)的使能控制狀態(tài)A轉(zhuǎn)換到增加的使能控制狀態(tài)、從增加的使能控制狀態(tài)轉(zhuǎn)換到與子狀態(tài)機B對應(yīng)的使能控制狀態(tài)。
[0042]圖3示出根據(jù)本發(fā)明示例性實施例的刪除功能模塊時修改電源管理模塊的狀態(tài)機的步驟的流程圖。當(dāng)SOC芯片刪除一個需要進行電源管理的功能模塊時,可按圖3所示的方法修改電源管理模塊的狀態(tài)機。
[0043]在步驟301,刪除與所刪除的功能模塊對應(yīng)的子狀態(tài)機。
[0044]在步驟302,從主狀態(tài)機的狀態(tài)中刪除與刪除的狀態(tài)機對應(yīng)的使能控制狀態(tài)。
[0045]此外,作為示例,也可僅從主狀態(tài)機的狀態(tài)中刪除對應(yīng)于與刪除的功能模塊對應(yīng)的子狀態(tài)機的使能控制狀態(tài),不需刪除與所刪除的功能模塊對應(yīng)的子狀態(tài)機。
[0046]下面給出在3種低功耗模式、3個功能模塊且每個模塊有2種低功耗狀態(tài)的情況下的示例,具體說來,在系統(tǒng)需要進入低功耗模式I時,功能模塊I需要進入低功耗狀態(tài)1、功能模塊2需要進入低功耗狀態(tài)2、功能模塊3需要進入低功耗狀態(tài)2。在系統(tǒng)需要進入低功耗模式2時,功能模塊I需要進入低功耗狀態(tài)1、功能模塊2需要進入低功耗狀態(tài)1、功能模塊3需要進入低功耗狀態(tài)I。在系統(tǒng)需要進入低功耗模式3時,功能模塊I需要進入低功耗狀態(tài)2、功能模塊2需要進入低功耗狀態(tài)2、功能模塊3需要進入低功耗狀態(tài)I。針對上述情況,圖4示出現(xiàn)有的系統(tǒng)芯片的電源管理模塊的狀態(tài)機的狀態(tài)轉(zhuǎn)換圖的示例,圖5至圖8示出根據(jù)本發(fā)明示例性實施例的創(chuàng)建方法創(chuàng)建的狀態(tài)機的狀態(tài)轉(zhuǎn)換圖的示例。
[0047]下面結(jié)合圖4來說明現(xiàn)有的系統(tǒng)芯片的電源管理模塊的狀態(tài)機的狀態(tài)轉(zhuǎn)換過程及新增或刪除需要進行電源管理的功能模塊時對狀態(tài)機的修改方法。
[0048]如圖4所示,現(xiàn)有的SOC芯片的電源管理模塊的狀態(tài)機共有8種狀態(tài):STATE_UP (起始狀態(tài),在此狀態(tài)下,功能模塊1、功能模塊2和功能模塊3都處于正常狀態(tài))、STATE_1_1 (低功耗狀態(tài)_1_1,在此狀態(tài)下,使功能模塊I進入低功耗狀態(tài)I)、STATE_1_2 (低功耗狀態(tài)_1_2,在此狀態(tài)下,使功能模塊I進入低功耗狀態(tài)2)、STATE_2_1 (低功耗狀態(tài)_2_1,在此狀態(tài)下,使功能模塊2進入低功耗狀態(tài)I)、STATE_2_2 (低功耗狀態(tài)_2_2,在此狀態(tài)下,使功能模塊2進入低功耗狀態(tài)2)、STATE_3_1 (低功耗狀態(tài)_3_1,在此狀態(tài)下,使功能模塊3進入低功耗狀態(tài)I)、STATE_3_2 (低功耗狀態(tài)_3_2,在此狀態(tài)下,使功能模塊3進入低功耗狀態(tài)2)、STATE_D0WN(在此狀態(tài)下,功能模塊1、功能模塊2和功能模塊3都處于低功耗狀態(tài))。觸發(fā)狀態(tài)轉(zhuǎn)換的條件為:L0W_P0WER_M0DE1 (系統(tǒng)需要進入低功耗模式I)、L0ff_P0WER_M0DE2 (系統(tǒng)需要進入低功耗模式2)、L0ff_P0WER_M0DE3 (系統(tǒng)需要進入低功耗模式3)。
[0049]現(xiàn)有的電源管理模塊的狀態(tài)機按照如下方式進行狀態(tài)轉(zhuǎn)換:(I)在STATE_UP狀態(tài)下,在系統(tǒng)需要進入低功耗模式I的條件下,轉(zhuǎn)換到STATE_1_1狀態(tài),以控制功能模塊I進入低功耗狀態(tài)1,在STATE_1_1狀態(tài)下,在系統(tǒng)需要進入低功耗模式I的條件下,轉(zhuǎn)換到STATE_2_2狀態(tài),以控制功能模塊2進入低功耗狀態(tài)2,在STATE_2_2狀態(tài)下,在系統(tǒng)需要進入低功耗模式I的條件下,轉(zhuǎn)換到STATE_3_2狀態(tài),以控制功能模塊3進入低功耗狀態(tài)2,在STATE_3_2狀態(tài)下,在系統(tǒng)需要進入低功耗模式I的條件下,轉(zhuǎn)換到STATE_D0WN狀態(tài),即,所有功能模塊都進入了與低功耗模式I相應(yīng)的低功耗狀態(tài),系統(tǒng)進入了低功耗模式I ;
(2)在STATE_UP狀態(tài)下,在系統(tǒng)需要進入低功耗模式2的條件下,轉(zhuǎn)換到STATE_1_1狀態(tài),以控制功能模塊I進入低功耗狀態(tài)1,在STATE_1_1狀態(tài)下,在系統(tǒng)需要進入低功耗模式2的條件下,轉(zhuǎn)換到STATE_2_1狀態(tài),以控制功能模塊2進入低功耗狀態(tài)1,在STATE_2_1狀態(tài)下,在系統(tǒng)需要進入低功耗模式2的條件下,轉(zhuǎn)換到STATE_3_1狀態(tài),以控制功能模塊3進入低功耗狀態(tài)1,在STATE_3_1狀態(tài)下,在系統(tǒng)需要進入低功耗模式2的條件下,轉(zhuǎn)換到STATE_DOWN狀態(tài),即,所有功能模塊都進入了與低功耗模式2相應(yīng)的低功耗狀態(tài),系統(tǒng)進入了低功耗模式2 ; (3)在STATE_UP狀態(tài)下,在系統(tǒng)需要進入低功耗模式3的條件下,轉(zhuǎn)換到STATE_1_2狀態(tài),以控制功能模塊I進入低功耗狀態(tài)2,在STATE_1_2狀態(tài)下,在系統(tǒng)需要進入低功耗模式3的條件下,轉(zhuǎn)換到STATE_2_2狀態(tài),以控制功能模塊2進入低功耗狀態(tài)2,在STATE_2_2狀態(tài)下,在系統(tǒng)需要進入低功耗模式3的條件下,轉(zhuǎn)換到STATE_3_1狀態(tài),以控制功能模塊3進入低功耗狀態(tài)1,在STATE_3_1狀態(tài)下,在系統(tǒng)需要進入低功耗模式3的條件下,轉(zhuǎn)換到STATE_DOWN狀態(tài),即,所有功能模塊都進入了與低功耗模式3相應(yīng)的低功耗狀態(tài),系統(tǒng)進入了低功耗模式3。
[0050]從上述轉(zhuǎn)換過程可知,與功能模塊I對應(yīng)的狀態(tài)STATE_1_1和STATE_1_2,和與功能模塊2對應(yīng)的狀態(tài)STATE_2_1和STATE_2_2存在狀態(tài)轉(zhuǎn)換關(guān)系;與功能模塊2對應(yīng)的狀態(tài)STATE_2_1和STATE_2_2,又和與功能模塊3對應(yīng)的狀態(tài)STATE_3_1和STATE_3_2存在狀態(tài)轉(zhuǎn)換關(guān)系。因此,如果SOC芯片新增I個功能模塊,且需要在進入低功耗模式的過程中,使功能模塊I先進入低功耗狀態(tài),然后使新增的功能模塊進入低功耗狀態(tài),接下來使功能模塊2進入低功耗狀態(tài)、功能模塊3進入低功耗狀態(tài)。這就需要為狀態(tài)機增加與新增的功能模塊對應(yīng)的低功耗狀態(tài),并對原有的狀態(tài)轉(zhuǎn)換關(guān)系進行如下調(diào)整:先刪除STATE_1_1 與 STATE_2_1、STATE_1_1 與 STATE_2_2、STATE_1_2 與 STATE_2_1、STATE_1_2與STATE_2_2的狀態(tài)轉(zhuǎn)換關(guān)系,然后再建立STATE_1_1與STATE_NEW_1 (在此狀態(tài)下,使新增的功能模塊進入低功耗狀態(tài)I)、STATE_1_1與STATE_NEW_2(在此狀態(tài)下,使新增的功能模塊進入低功耗狀態(tài) 2)、STATE_1_2 與 STATE_NEW_1、STATE_1_2 與 STATE_NEW_2、STATE_NEff_l 與 STATE_2_1、STATE_NEW_1 與 STATE_2_2、STATE_NEW_2 與 STATE_2_1、STATE_NEW_2與STATE_2_2的狀態(tài)轉(zhuǎn)換關(guān)系。
[0051]類似地,如果SOC芯片刪除功能模塊2,則需從狀態(tài)機的狀態(tài)中刪除與功能模塊2對應(yīng)的狀態(tài),并對原有的狀態(tài)轉(zhuǎn)換關(guān)系進行如下調(diào)整:先刪除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 的狀態(tài)轉(zhuǎn)換關(guān)系,然后再建立 STATE_1_1 與 STATE_3_1、STATE_1_1 與 STATE_3_2、STATE_1_2與 STATE_3_1、STATE_1_2 與 STATE_3_2 的狀態(tài)轉(zhuǎn)換關(guān)系。
[0052]應(yīng)該理解,上述示例僅僅針對的是3種低功耗模式、3個功能模塊且每個模塊有2種低功耗狀態(tài)的情況,在新增或刪除功能模塊時,對狀態(tài)機的調(diào)整就已經(jīng)很復(fù)雜。而在實際設(shè)計中,系統(tǒng)往往有多種低功耗模式、多個功能模塊且每個模塊有多種低功耗狀態(tài),隨著低功耗模式的增多、功能模塊的增多、功能模塊的低功耗狀態(tài)的增多,狀態(tài)機的狀態(tài)轉(zhuǎn)換關(guān)系會更為復(fù)雜,在新增或刪除某個或某些需要進行電源管理的功能模塊時,設(shè)計人員需要對狀態(tài)機的狀態(tài)轉(zhuǎn)換關(guān)系進行更為復(fù)雜的調(diào)整,工作量非常大,且在調(diào)整過程中容易產(chǎn)生芯片設(shè)計錯誤,使SOC芯片不能正常工作,甚至被燒毀。
[0053]下面結(jié)合圖5至圖8來說明根據(jù)本發(fā)明示例性實施例的創(chuàng)建方法創(chuàng)建的電源管理模塊的狀態(tài)機的狀態(tài)轉(zhuǎn)換過程及新增或刪除需要進行電源管理的功能模塊時對狀態(tài)機的修改方法。
[0054]圖5示出根據(jù)本發(fā)明示例性實施例的創(chuàng)建方法創(chuàng)建的主狀態(tài)機(FSM)的狀態(tài)轉(zhuǎn)換圖的示例,圖6示出根據(jù)本發(fā)明示例性實施例的創(chuàng)建方法創(chuàng)建的子狀態(tài)機I (FSMl)的狀態(tài)轉(zhuǎn)換圖的示例,圖7示出根據(jù)本發(fā)明示例性實施例的創(chuàng)建方法創(chuàng)建的子狀態(tài)機2 (FSM2)的狀態(tài)轉(zhuǎn)換圖的示例,圖8示出根據(jù)本發(fā)明示例性實施例的創(chuàng)建方法創(chuàng)建的子狀態(tài)機3 (FSM3)的狀態(tài)轉(zhuǎn)換圖的示例。
[0055]主狀態(tài)機共有5種狀態(tài):STATE_UP、STATE_1 (使能控制狀態(tài)1,在此狀態(tài)下,對子狀態(tài)機I進行使能控制)、STATE_2 (使能控制狀態(tài)2,在此狀態(tài)下,對子狀態(tài)機2進行使能控制)、STATE_3 (使能控制狀態(tài)3,在此狀態(tài)下,對子狀態(tài)機3進行使能控制)、STATE_D0WN。觸發(fā)狀態(tài)轉(zhuǎn)換的條件為:L0W_P0WER_M0DE(系統(tǒng)需要進入低功耗模式,包括低功耗模式1、低功耗模式2、低功耗模式3)、FSM1_D0NE (子狀態(tài)機I完成狀態(tài)轉(zhuǎn)換)、FSM2_D0NE (子狀態(tài)機2完成狀態(tài)轉(zhuǎn)換)、FSM3_D0NE (子狀態(tài)機3完成狀態(tài)轉(zhuǎn)換)、?FSM1_EN(根據(jù)低功耗模式不需要使能子狀態(tài)機I)、?FSM2_EN (根據(jù)低功耗模式不需要使能子狀態(tài)機2)、?FSM3_EN (根據(jù)低功耗模式不需要使能子狀態(tài)機3)。
[0056]子狀態(tài)機I共有4種狀態(tài):STATE1_UP (起始狀態(tài)1,在此狀態(tài)下,功能模塊I處于正常狀態(tài))、STATE_1_1、STATE_1_2、STATE 1_D0WN(結(jié)束狀態(tài)I,在此狀態(tài)下,通知主狀態(tài)機已完成使功能模塊I進入低功耗狀態(tài)的狀態(tài)轉(zhuǎn)換)。觸發(fā)狀態(tài)轉(zhuǎn)換的條件為:L0W_P0WER_MODE I, L0ff_P0WER_M0DE2, L0ff_P0WER_M0DE3, FSM1_EN(使能子狀態(tài)機 I)。
[0057]相應(yīng)地,子狀態(tài)機2共有4種狀態(tài):STATE2_UP (起始狀態(tài)2,在此狀態(tài)下,功能模塊2處于正常狀態(tài))、STATE_2_1、STATE_2_2、STATE2_D0WN(結(jié)束狀態(tài)2,在此狀態(tài)下,通知主狀態(tài)機已完成使功能模塊2進入低功耗狀態(tài)的狀態(tài)轉(zhuǎn)換)。觸發(fā)狀態(tài)轉(zhuǎn)換的條件為:L0W_P0WER_M0DEU L0ff_P0WER_M0DE2, L0ff_P0WER_M0DE3, FSM2_EN(使能子狀態(tài)機 2)。
[0058]子狀態(tài)機3共有4種狀態(tài):STATE3_UP (起始狀態(tài)3,在此狀態(tài)下,功能模塊3處于正常狀態(tài))、STATE_3_1、STATE_3_2、STATE3_D0WN(結(jié)束狀態(tài)3,在此狀態(tài)下,通知主狀態(tài)機已完成使功能模塊3進入低功耗狀態(tài)的狀態(tài)轉(zhuǎn)換)。觸發(fā)狀態(tài)轉(zhuǎn)換的條件為:L0W_P0WER_MODE I, L0ff_P0WER_M0DE2, L0ff_P0WER_M0DE3, FSM3_EN(使能子狀態(tài)機 3)。
[0059]針對系統(tǒng)需要進入低功耗模式I的情況,主狀態(tài)機和各子狀態(tài)機按照如下方式進行狀態(tài)轉(zhuǎn)換:主狀態(tài)機在STATE_UP狀態(tài)下,在系統(tǒng)需要進入低功耗模式的條件下,轉(zhuǎn)換到STATE,I狀態(tài),以根據(jù)低功耗模式I控制子狀態(tài)機I使能。子狀態(tài)機I在STATE1_UP狀態(tài)下,在被使能且系統(tǒng)需要進入低功耗模式I的條件下,轉(zhuǎn)換到STATE_1_1狀態(tài),以控制功能模塊I進入低功耗狀態(tài)1,在STATE_1_1狀態(tài)下,在系統(tǒng)需要進入低功耗模式I的條件下,轉(zhuǎn)換到STATE 1_D0WN狀態(tài),以通知主狀態(tài)機子已完成使功能模塊I進入低功耗狀態(tài)I的狀態(tài)轉(zhuǎn)換。主狀態(tài)機在STATE_1狀態(tài)下,在子狀態(tài)機I完成狀態(tài)轉(zhuǎn)換的條件下,轉(zhuǎn)換到STATE_2狀態(tài),以根據(jù)低功耗模式2控制子狀態(tài)機2使能。子狀態(tài)機2在STATE2_UP狀態(tài)下,在被使能且系統(tǒng)需要進入低功耗模式I的條件下,轉(zhuǎn)換到STATE_2_2狀態(tài),以控制功能模塊2進入低功耗狀態(tài)2,在STATE_2_2狀態(tài)下,在系統(tǒng)需要進入低功耗模式I的條件下,轉(zhuǎn)換到STATE2_D0WN狀態(tài),以通知主狀態(tài)機子已完成使功能模塊2進入低功耗狀態(tài)2的狀態(tài)轉(zhuǎn)換。主狀態(tài)機在STATE_2狀態(tài)下,在子狀態(tài)機2完成狀態(tài)轉(zhuǎn)換的條件下,轉(zhuǎn)換到STATE_3狀態(tài),以根據(jù)低功耗模式3控制子狀態(tài)機3使能。子狀態(tài)機3在STATE3_UP狀態(tài)下,在被使能且系統(tǒng)需要進入低功耗模式I的條件下,轉(zhuǎn)換到STATE_3_2狀態(tài),以控制功能模塊3進入低功耗狀態(tài)2,在STATE_3_2狀態(tài)下,在系統(tǒng)需要進入低功耗模式I的條件下,轉(zhuǎn)換到STATE3_D0WN狀態(tài),以通知主狀態(tài)機已完成使功能模塊3進入低功耗狀態(tài)2的狀態(tài)轉(zhuǎn)換。主狀態(tài)機在STATE_3狀態(tài)下,在子狀態(tài)機3完成狀態(tài)轉(zhuǎn)換的條件下,轉(zhuǎn)換到STATE_DOWN狀態(tài),即系統(tǒng)進入了低功耗模式I。
[0060]相應(yīng)地,針對低功耗模式2和低功耗模式3的情況,主狀態(tài)機和各子狀態(tài)機的狀態(tài)轉(zhuǎn)換過程與低功耗模式I的情況類似,在此不再贅述。
[0061]此外,雖然在上述轉(zhuǎn)換過程中沒有出現(xiàn)此種情況,但應(yīng)該理解,如果主狀態(tài)機在某一狀態(tài)下,在需要進入的低功耗模式不需要使能與該當(dāng)前狀態(tài)對應(yīng)的子狀態(tài)機的條件下,則直接轉(zhuǎn)換到下一狀態(tài)。例如,在低功耗模式4下功能模塊2不需要進入低功耗狀態(tài),即保持正常狀態(tài),因此,在需要進入低功耗模式4時不需要使能子狀態(tài)機2,那么,主狀態(tài)機在STATE_2狀態(tài)下,在不需要使能子狀態(tài)機2 (?FSM2_EN)的條件下,直接跳轉(zhuǎn)到STATE_3。
[0062]從上述轉(zhuǎn)換過程可知,與功能模塊I對應(yīng)的子狀態(tài)機1、與功能模塊2對應(yīng)的子狀態(tài)機2、與功能模塊3對應(yīng)的子狀態(tài)機3相對獨立地進行狀態(tài)轉(zhuǎn)換,即,與功能模塊I對應(yīng)的低功耗狀態(tài)、與功能模塊2對應(yīng)的低功耗狀態(tài)、與功能模塊3對應(yīng)的低功耗狀態(tài)彼此之間不存在狀態(tài)轉(zhuǎn)換關(guān)系、相對獨立。因此,如果新增I個需要進行電源管理的功能模塊,且需要在進入低功耗模式的過程中,使功能模塊I先進入低功耗狀態(tài),然后使新增的功能模塊進入低功耗狀態(tài),接下來功能模塊2進入低功耗狀態(tài)、功能模塊3進入低功耗狀態(tài)。只需增加一個與新增的功能模塊對應(yīng)的子狀態(tài)機,并為主狀態(tài)機增加一個與增加的子狀態(tài)機對應(yīng)的使能控制狀態(tài),并設(shè)置增加的使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序以使主狀態(tài)機在進行狀態(tài)轉(zhuǎn)換時,從STATE_1轉(zhuǎn)換到STATE_NEW(在此狀態(tài)下,對新增的功能模塊進行使能控制)、從STATE_NEff轉(zhuǎn)換到STATE_2,其它的子狀態(tài)機都不需要調(diào)整。
[0063]類似地,如果SOC芯片刪除功能模塊2,只需從主狀態(tài)機的狀態(tài)中刪除與子狀態(tài)機2對應(yīng)的使能控制狀態(tài)(STATE_2)即可,子狀態(tài)機不需要調(diào)整或只刪除子狀態(tài)機2。
[0064]應(yīng)該理解,即使系統(tǒng)有多種低功耗模式、多個功能模塊且每個模塊有多種低功耗狀態(tài),對于根據(jù)本發(fā)明示例性實施例的創(chuàng)建方法創(chuàng)建的電源管理模塊的狀態(tài)機來說,在SOC芯片新增或刪除某個或某些需要進行電源管理的功能模塊時,設(shè)計人員也只需通過上述簡單的步驟即可完成對狀態(tài)機的調(diào)整。即,通過本發(fā)明示例性實施例的創(chuàng)建方法創(chuàng)建狀態(tài)機,會降低修改狀態(tài)機的復(fù)雜度,且在修改狀態(tài)機時不易產(chǎn)生芯片設(shè)計錯誤。
[0065]圖9示出根據(jù)本發(fā)明示例性實施例的系統(tǒng)芯片的電源管理模塊的狀態(tài)機的框圖。
[0066]如圖9所示,電源管理模塊的狀態(tài)機900包括:一個主狀態(tài)機910和多個子狀態(tài)機920。
[0067]主狀態(tài)機910具有至少一個使能控制狀態(tài),使能控制狀態(tài)的數(shù)量與SOC芯片內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同。各個使能控制狀態(tài)與各個子狀態(tài)機920 —一對應(yīng),主狀態(tài)機910進行狀態(tài)轉(zhuǎn)換,以根據(jù)系統(tǒng)需要進入的低功耗模式對各個子狀態(tài)機920進行使能控制。換言之,主狀態(tài)機910在各使能控制狀態(tài)下,負(fù)責(zé)根據(jù)系統(tǒng)需要進入的不同的低功耗模式對該使能控制狀態(tài)對應(yīng)的子狀態(tài)機920進行使能控制。
[0068]作為示例,主狀態(tài)機910可通過下述方式進行狀態(tài)轉(zhuǎn)換:主狀態(tài)機910按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序進行狀態(tài)轉(zhuǎn)換,每當(dāng)主狀態(tài)機910從一個使能控制狀態(tài)轉(zhuǎn)換到下一使能控制狀態(tài)時,根據(jù)系統(tǒng)需要進入的低功耗模式對所述下一使能控制狀態(tài)對應(yīng)的子狀態(tài)機920進行使能控制。在所述一個使能控制狀態(tài)下,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機920,則主狀態(tài)機910控制與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機920使能且在與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機920完成狀態(tài)轉(zhuǎn)換的條件下轉(zhuǎn)換到所述下一使能控制狀態(tài);如果不需要使能與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機920,則主狀態(tài)機910直接轉(zhuǎn)換到所述下一使能控制狀態(tài)。
[0069]換言之,主狀態(tài)機910在任意一使能控制狀態(tài)下,根據(jù)系統(tǒng)需要進入的低功耗模式對該使能控制狀態(tài)對應(yīng)的子狀態(tài)機920進行使能控制,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能該子狀態(tài)機920,則使能該子狀態(tài)機920,如果根據(jù)系統(tǒng)需要進入的低功耗模式不需要使能該子狀態(tài)機920,則不使能該子狀態(tài)機920。并且在不需要使能該子狀態(tài)機920或該子狀態(tài)機920完成狀態(tài)轉(zhuǎn)換的條件下,從該使能控制狀態(tài)轉(zhuǎn)換到按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序的該使能控制狀態(tài)的下一使能控制狀態(tài),以根據(jù)系統(tǒng)需要進入的低功耗模式對該下一使能控制狀態(tài)對應(yīng)的子狀態(tài)機920進行使能控制。
[0070]此外,主狀態(tài)機910還具有起始狀態(tài)和結(jié)束狀態(tài),主狀態(tài)機910在起始狀態(tài)下,在系統(tǒng)需要進入低功耗模式的條件下轉(zhuǎn)換到第一個使能控制狀態(tài),并按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序從第一個使能控制狀態(tài)依次轉(zhuǎn)換到最后一個使能控制狀態(tài),在最后一個使能控制狀態(tài)下,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機920,則主狀態(tài)機910控制與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機920使能且在與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機920完成狀態(tài)轉(zhuǎn)換的條件下轉(zhuǎn)換到結(jié)束狀態(tài);如果不需要使能與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機920,則主狀態(tài)機910直接轉(zhuǎn)換到結(jié)束狀態(tài)。
[0071]應(yīng)該理解,當(dāng)主狀態(tài)機910處于起始狀態(tài)時,SOC芯片的所有需要進行電源管理的功能模塊都處于正常狀態(tài)(即,電源和時鐘都處于正常狀態(tài)),當(dāng)主狀態(tài)機910處于結(jié)束狀態(tài)時,SOC芯片的所有需要進行電源管理的功能模塊都處于與系統(tǒng)需要進入的低功耗模式對應(yīng)的低功耗狀態(tài)。
[0072]子狀態(tài)機920的數(shù)量與系統(tǒng)芯片內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同,各個子狀態(tài)機920與各個功能模塊--對應(yīng)。各子狀態(tài)機920在被主狀態(tài)機910使能的情況下進行狀態(tài)轉(zhuǎn)換,以使對應(yīng)的功能模塊進入與系統(tǒng)需要進入的低功耗模式相應(yīng)的低功耗狀態(tài)。即,每個子狀態(tài)機920負(fù)責(zé)根據(jù)系統(tǒng)需要進入的不同的低功耗模式管理一個功能模塊的低功耗狀態(tài)。
[0073]作為示例,各子狀態(tài)機920可通過下述方式進行狀態(tài)轉(zhuǎn)換:子狀態(tài)機920在被主狀態(tài)機910使能的情況下根據(jù)系統(tǒng)需要進入的低功耗模式從起始狀態(tài)轉(zhuǎn)換到相應(yīng)的低功耗狀態(tài)以使對應(yīng)的功能模塊進入相應(yīng)的低功耗狀態(tài),子狀態(tài)機920從所述低功耗狀態(tài)在系統(tǒng)需要進入的低功耗模式的條件下轉(zhuǎn)換到結(jié)束狀態(tài)以通知主狀態(tài)機910所述子狀態(tài)機920完成狀態(tài)轉(zhuǎn)換。即,子狀態(tài)機920在各低功耗狀態(tài)下,控制對應(yīng)的功能模塊進入相應(yīng)的低功耗狀態(tài),子狀態(tài)機920在結(jié)束狀態(tài)下,通知主狀態(tài)機910已完成狀態(tài)轉(zhuǎn)換。
[0074]應(yīng)該理解,當(dāng)子狀態(tài)機920處于起始狀態(tài)時,與該子狀態(tài)機920對應(yīng)的功能模塊處于正常狀態(tài)(即,電源和時鐘都處于正常狀態(tài)),當(dāng)子狀態(tài)機920處于結(jié)束狀態(tài)時,與該子狀態(tài)機920對應(yīng)的功能模塊處于與系統(tǒng)需要進入的低功耗模式對應(yīng)的低功耗狀態(tài)。
[0075]根據(jù)本發(fā)明示例性實施例的系統(tǒng)芯片的電源管理模塊的狀態(tài)機中,分別與各個功能模塊對應(yīng)的子狀態(tài)機相互獨立地進行狀態(tài)轉(zhuǎn)換,即,狀態(tài)機的與各個功能模塊對應(yīng)的低功耗狀態(tài)不存在轉(zhuǎn)換關(guān)系、相對獨立,因此,所述系統(tǒng)芯片的電源管理模塊的狀態(tài)機易于修改(例如,SOC芯片新增或刪除需要進行電源管理的功能模塊時),且不易產(chǎn)生芯片設(shè)計錯誤。
[0076]此外,根據(jù)本發(fā)明示例性實施例的創(chuàng)建系統(tǒng)芯片的電源管理模塊的狀態(tài)機的方法可以通過對SOC芯片的硬件設(shè)計來實現(xiàn),也可以通過對SOC芯片的軟件設(shè)計來實現(xiàn),或者通過硬件設(shè)計和軟件設(shè)計相結(jié)合的方式來實現(xiàn),對此不作限制。
[0077]根據(jù)本發(fā)明示例性實施例的創(chuàng)建系統(tǒng)芯片的電源管理模塊的狀態(tài)機的方法創(chuàng)建系統(tǒng)芯片的電源管理模塊的狀態(tài)機,可降低對狀態(tài)機修改的復(fù)雜度并且降低修改錯誤的發(fā)生。根據(jù)本發(fā)明示例性實施例的系統(tǒng)芯片的電源管理模塊的狀態(tài)機易于修改。
[0078]雖然已表示和描述了本發(fā)明的一些示例性實施例,但本領(lǐng)域技術(shù)人員應(yīng)該理解,在不脫離由權(quán)利要求及其等同物限定其范圍的本發(fā)明的原理和精神的情況下,可以對這些實施例進行修改。
【權(quán)利要求】
1.一種創(chuàng)建系統(tǒng)芯片的電源管理模塊的狀態(tài)機的方法,包括: 創(chuàng)建一個主狀態(tài)機,其中,主狀態(tài)機具有至少一個使能控制狀態(tài),使能控制狀態(tài)的數(shù)量與系統(tǒng)芯片內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同; 創(chuàng)建多個子狀態(tài)機,其中,子狀態(tài)機的數(shù)量與系統(tǒng)芯片內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同,各個子狀態(tài)機與各個功能模塊 對應(yīng), 其中,主狀態(tài)機的各個使能控制狀態(tài)與各個子狀態(tài)機一一對應(yīng),主狀態(tài)機進行狀態(tài)轉(zhuǎn)換,以根據(jù)系統(tǒng)需要進入的低功耗模式對各個子狀態(tài)機進行使能控制,各子狀態(tài)機在被主狀態(tài)機使能的情況下進行狀態(tài)轉(zhuǎn)換,以使對應(yīng)的功能模塊進入與系統(tǒng)需要進入的低功耗模式相應(yīng)的低功耗狀態(tài)。
2.如權(quán)利要求1所述的方法,其中, 主狀態(tài)機按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序進行狀態(tài)轉(zhuǎn)換,其中,每當(dāng)主狀態(tài)機從一個使能控制狀態(tài)轉(zhuǎn)換到下一使能控制狀態(tài)時,根據(jù)系統(tǒng)需要進入的低功耗模式對所述下一使能控制狀態(tài)對應(yīng)的子狀態(tài)機進行使能控制,其中,在所述一個使能控制狀態(tài)下,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機控制與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機使能且在與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機完成狀態(tài)轉(zhuǎn)換的條件下轉(zhuǎn)換到所述下一使能控制狀態(tài);如果不需要使能與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機直接轉(zhuǎn)換到所述下一使能控制狀態(tài), 各子狀態(tài)機通過下述方式進行狀態(tài)轉(zhuǎn)換:子狀態(tài)機在被主狀態(tài)機使能的情況下根據(jù)系統(tǒng)需要進入的低功耗模式從起始狀態(tài)轉(zhuǎn)換到相應(yīng)的低功耗狀態(tài)以使對應(yīng)的功能模塊進入相應(yīng)的低功耗狀態(tài),子狀態(tài)機從所述低功耗狀態(tài)在系統(tǒng)需要進入的低功耗模式的條件下轉(zhuǎn)換到結(jié)束狀態(tài)以通知主狀態(tài)機所述子狀態(tài)機完成狀態(tài)轉(zhuǎn)換。
3.如權(quán)利要求2所述的方法,其中, 主狀態(tài)機還具有起始狀態(tài)和結(jié)束狀態(tài), 其中,主狀態(tài)機在起始狀態(tài)下,在系統(tǒng)需要進入低功耗模式的條件下轉(zhuǎn)換到第一個使能控制狀態(tài),并按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序從第一個使能控制狀態(tài)依次轉(zhuǎn)換到最后一個使能控制狀態(tài),在最后一個使能控制狀態(tài)下,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機控制與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機使能且在與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機完成狀態(tài)轉(zhuǎn)換的條件下轉(zhuǎn)換到結(jié)束狀態(tài);如果不需要使能與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機直接轉(zhuǎn)換到結(jié)束狀態(tài)。
4.如權(quán)利要求1所述的方法,還包括: 增加一個與新增的功能模塊對應(yīng)的子狀態(tài)機,其中,增加的子狀態(tài)機在被主狀態(tài)機使能的情況下進行狀態(tài)轉(zhuǎn)換,以使新增的功能模塊進入與系統(tǒng)需要進入的低功耗模式相應(yīng)的低功耗狀態(tài); 為主狀態(tài)機增加一個與增加的子狀態(tài)機對應(yīng)的使能控制狀態(tài),并設(shè)置增加的使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序,其中,主狀態(tài)機轉(zhuǎn)換到與增加的子狀態(tài)機對應(yīng)的使能控制狀態(tài)時根據(jù)系統(tǒng)需要進入的低功耗模式對增加的子狀態(tài)機進行使能控制。
5.如權(quán)利要求1所述的方法,還包括: 刪除與所刪除的功能模塊對應(yīng)的子狀態(tài)機; 從主狀態(tài)機的狀態(tài)中刪除與刪除的狀態(tài)機對應(yīng)的使能控制狀態(tài)。
6.如權(quán)利要求1所述的方法,還包括: 從主狀態(tài)機的狀態(tài)中刪除對應(yīng)于與刪除的功能模塊對應(yīng)的子狀態(tài)機的使能控制狀態(tài)。
7.一種系統(tǒng)芯片的電源管理模塊的狀態(tài)機,包括: 一個主狀態(tài)機,其中,主狀態(tài)機具有至少一個使能控制狀態(tài),使能控制狀態(tài)的數(shù)量與系統(tǒng)芯片內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同; 多個子狀態(tài)機,其中,子狀態(tài)機的數(shù)量與系統(tǒng)芯片內(nèi)部的需要進行電源管理的功能模塊的數(shù)量相同,各個子狀態(tài)機與各個功能模塊 對應(yīng), 其中,主狀態(tài)機的各個使能控制狀態(tài)與各個子狀態(tài)機一一對應(yīng),主狀態(tài)機進行狀態(tài)轉(zhuǎn)換,以根據(jù)系統(tǒng)需要進入的低功耗模式對各個子狀態(tài)機進行使能控制,各子狀態(tài)機在被主狀態(tài)機使能的情況下進行狀態(tài)轉(zhuǎn)換,以使對應(yīng)的功能模塊進入與系統(tǒng)需要進入的低功耗模式相應(yīng)的低功耗狀態(tài)。
8.如權(quán)利要求7所述的狀態(tài)機,其中, 主狀態(tài)機按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序進行狀態(tài)轉(zhuǎn)換,其中,每當(dāng)主狀態(tài)機從一個使能控制狀態(tài)轉(zhuǎn)換到下一使能控制狀態(tài)時,根據(jù)系統(tǒng)需要進入的低功耗模式對所述下一使能控制狀態(tài)對應(yīng)的子狀態(tài)機進行使能控制,其中,在所述一個使能控制狀態(tài)下,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機控制與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機使能且在與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機完成狀態(tài)轉(zhuǎn)換的條件下轉(zhuǎn)換到所述下一使能控制狀態(tài);如果不需要使能與所述一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機直接轉(zhuǎn)換到所述下一使能控制狀態(tài), 各子狀態(tài)機通過下述方式進行狀態(tài)轉(zhuǎn)換:子狀態(tài)機在被主狀態(tài)機使能的情況下根據(jù)系統(tǒng)需要進入的低功耗模式從起始狀態(tài)轉(zhuǎn)換到相應(yīng)的低功耗狀態(tài)以使對應(yīng)的功能模塊進入相應(yīng)的低功耗狀態(tài),子狀態(tài)機從所述低功耗狀態(tài)在系統(tǒng)需要進入的低功耗模式的條件下轉(zhuǎn)換到結(jié)束狀態(tài)以通知主狀態(tài)機所述子狀態(tài)機完成狀態(tài)轉(zhuǎn)換。
9.如權(quán)利要求8所述的狀態(tài)機,其中, 主狀態(tài)機還具有起始狀態(tài)和結(jié)束狀態(tài), 其中,主狀態(tài)機在起始狀態(tài)下,在系統(tǒng)需要進入低功耗模式的條件下轉(zhuǎn)換到第一個使能控制狀態(tài),并按照各個使能控制狀態(tài)的狀態(tài)轉(zhuǎn)換順序從第一個使能控制狀態(tài)依次轉(zhuǎn)換到最后一個使能控制狀態(tài),在最后一個使能控制狀態(tài)下,如果根據(jù)系統(tǒng)需要進入的低功耗模式需要使能與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機控制與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機使能且在與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機完成狀態(tài)轉(zhuǎn)換的條件下轉(zhuǎn)換到結(jié)束狀態(tài);如果不需要使能與最后一個使能控制狀態(tài)對應(yīng)的子狀態(tài)機,則主狀態(tài)機直接轉(zhuǎn)換到結(jié)束狀態(tài)。
【文檔編號】G06F1/32GK104133545SQ201410366131
【公開日】2014年11月5日 申請日期:2014年7月29日 優(yōu)先權(quán)日:2014年7月29日
【發(fā)明者】張正宇, 陳剛 申請人:三星半導(dǎo)體(中國)研究開發(fā)有限公司, 三星電子株式會社