麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

系統芯片的電源管理模塊的狀態機及其創建方法

文檔序號:6621758閱讀:514來源:國知局
系統芯片的電源管理模塊的狀態機及其創建方法
【專利摘要】提供一種系統芯片的電源管理模塊的狀態機及其創建方法。所述創建方法包括:創建一個主狀態機,其中,主狀態機具有至少一個使能控制狀態,使能控制狀態的數量與系統芯片內部的需要進行電源管理的功能模塊的數量相同;創建多個子狀態機,其中,子狀態機的數量與系統芯片內部的需要進行電源管理的功能模塊的數量相同,各個子狀態機與各個功能模塊一一對應,其中,主狀態機的各個使能控制狀態與各個子狀態機一一對應,主狀態機進行狀態轉換,以根據系統需要進入的低功耗模式對各個子狀態機進行使能控制,各子狀態機在被主狀態機使能的情況下進行狀態轉換,以使對應的功能模塊進入與系統需要進入的低功耗模式相應的低功耗狀態。
【專利說明】系統芯片的電源管理模塊的狀態機及其創建方法

【技術領域】
[0001]本發明涉及狀態機【技術領域】,更具體地講,涉及一種創建系統芯片的電源管理模塊的狀態機的方法及系統芯片的電源管理模塊的狀態機。

【背景技術】
[0002]隨著便攜式電子設備的發展,尤其是使用電池供電的便攜式電子設備的發展,低功耗管理已經成為系統芯片SOC(System On Chip)設計的一個突出問題。SOC芯片內部往往集成有多個功能模塊以處理不同的應用,例如,顯示模塊(LCD模塊)、拍攝模塊(CAM模塊)等功能模塊。SOC芯片的電源管理模塊PMU (Power Management Unit)負責控制SOC芯片內部的各個功能模塊在不同的低功耗模式下的電源和時鐘的開關。例如,當系統不需要使用拍照應用時,將CAM模塊的電源關閉以節省功耗;而當系統不需要顯示界面(例如,系統在進行MP3播放)時,將LCD模塊的電源關閉以節省功耗;又或者,當某些功能模塊不需要使用但需要保持原有狀態時,將它的時鐘關閉以節省功耗。
[0003]為了實現SOC芯片的低功耗管理,電源管理模塊需要支持多種低功耗模式,由電源管理模塊的狀態機FSM(Finite State Machine)負責控制各個功能模塊在不同的低功耗模式下進入相應的低功耗狀態,實現在不同的低功耗模式下對各個功能模塊的電源和時鐘的管理。典型的低功耗狀態包括:通過時鐘門控(clock-gate)低功耗技術進入的低功耗狀態、通過電源門控(power-gate)低功耗技術進入的低功耗狀態、通過電源門控且狀態保持(power gate with state-retent1n)低功耗技術進入的低功耗狀態、通過外部電源切斷(external power-off)低功耗技術進入的低功耗狀態等低功耗狀態。
[0004]現有技術中,通常通過一個復雜的狀態機來負責系統的所有低功耗模式,針對每種低功耗模式,狀態機都需要進行相應的狀態轉換,以使各功能模塊依次進入相應的低功耗狀態。由于各個功能模塊在不同的低功耗模式下低功耗狀態可能相同,也可能不同,因此,對于狀態機而言,同樣的現態在不同的低功耗模式下可能會有不同的次態,即,狀態機具有的與各個功能模塊對應的狀態相互關聯。這導致在需要修改狀態機時(例如,SOC芯片新增或刪除需要進行電源管理的功能模塊時)復雜度大大增加,且容易產生芯片設計錯誤。


【發明內容】

[0005]本發明的示例性實施例在于提供一種創建系統芯片的電源管理模塊的狀態機的方法及系統芯片的電源管理模塊的狀態機,根據所述方法創建系統芯片的電源管理模塊的狀態機,可降低對狀態機修改的復雜度。
[0006]根據本發明的一方面,提供一種創建系統芯片的電源管理模塊的狀態機的方法,包括:創建一個主狀態機,其中,主狀態機具有至少一個使能控制狀態,使能控制狀態的數量與系統芯片內部的需要進行電源管理的功能模塊的數量相同;創建多個子狀態機,其中,子狀態機的數量與系統芯片內部的需要進行電源管理的功能模塊的數量相同,各個子狀態機與各個功能模塊一一對應,其中,主狀態機的各個使能控制狀態與各個子狀態機一一對應,主狀態機進行狀態轉換,以根據系統需要進入的低功耗模式對各個子狀態機進行使能控制,各子狀態機在被主狀態機使能的情況下進行狀態轉換,以使對應的功能模塊進入與系統需要進入的低功耗模式相應的低功耗狀態。
[0007]可選地,主狀態機按照各個使能控制狀態的狀態轉換順序進行狀態轉換,其中,每當主狀態機從一個使能控制狀態轉換到下一使能控制狀態時,根據系統需要進入的低功耗模式對所述下一使能控制狀態對應的子狀態機進行使能控制,其中,在所述一個使能控制狀態下,如果根據系統需要進入的低功耗模式需要使能與所述一個使能控制狀態對應的子狀態機,則主狀態機控制與所述一個使能控制狀態對應的子狀態機使能且在與所述一個使能控制狀態對應的子狀態機完成狀態轉換的條件下轉換到所述下一使能控制狀態;如果不需要使能與所述一個使能控制狀態對應的子狀態機,則主狀態機直接轉換到所述下一使能控制狀態,各子狀態機通過下述方式進行狀態轉換:子狀態機在被主狀態機使能的情況下根據系統需要進入的低功耗模式從起始狀態轉換到相應的低功耗狀態以使對應的功能模塊進入相應的低功耗狀態,子狀態機從所述低功耗狀態在系統需要進入的低功耗模式的條件下轉換到結束狀態以通知主狀態機所述子狀態機完成狀態轉換。
[0008]可選地,主狀態機還具有起始狀態和結束狀態,其中,主狀態機在起始狀態下,在系統需要進入低功耗模式的條件下轉換到第一個使能控制狀態,并按照各個使能控制狀態的狀態轉換順序從第一個使能控制狀態依次轉換到最后一個使能控制狀態,在最后一個使能控制狀態下,如果根據系統需要進入的低功耗模式需要使能與最后一個使能控制狀態對應的子狀態機,則主狀態機控制與最后一個使能控制狀態對應的子狀態機使能且在與最后一個使能控制狀態對應的子狀態機完成狀態轉換的條件下轉換到結束狀態;如果不需要使能與最后一個使能控制狀態對應的子狀態機,則主狀態機直接轉換到結束狀態。
[0009]可選地,所述方法還包括:增加一個與新增的功能模塊對應的子狀態機,其中,增加的子狀態機在被主狀態機使能的情況下進行狀態轉換,以使新增的功能模塊進入與系統需要進入的低功耗模式相應的低功耗狀態;為主狀態機增加一個與增加的子狀態機對應的使能控制狀態,并設置增加的使能控制狀態的狀態轉換順序,其中,主狀態機轉換到與增加的子狀態機對應的使能控制狀態時根據系統需要進入的低功耗模式對增加的子狀態機進行使能控制。
[0010]可選地,所述方法還包括:刪除與所刪除的功能模塊對應的子狀態機;從主狀態機的狀態中刪除與刪除的狀態機對應的使能控制狀態。
[0011]可選地,所述方法還包括:從主狀態機的狀態中刪除對應于與刪除的功能模塊對應的子狀態機的使能控制狀態。
[0012]根據本發明的另一方面,提供一種系統芯片的電源管理模塊的狀態機,包括:一個主狀態機,其中,主狀態機具有至少一個使能控制狀態,使能控制狀態的數量與系統芯片內部的需要進行電源管理的功能模塊的數量相同;多個子狀態機,其中,子狀態機的數量與系統芯片內部的需要進行電源管理的功能模塊的數量相同,各個子狀態機與各個功能模塊一一對應,其中,主狀態機的各個使能控制狀態與各個子狀態機一一對應,主狀態機進行狀態轉換,以根據系統需要進入的低功耗模式對各個子狀態機進行使能控制,各子狀態機在被主狀態機使能的情況下進行狀態轉換,以使對應的功能模塊進入與系統需要進入的低功耗模式相應的低功耗狀態。
[0013]可選地,主狀態機按照各個使能控制狀態的狀態轉換順序進行狀態轉換,其中,每當主狀態機從一個使能控制狀態轉換到下一使能控制狀態時,根據系統需要進入的低功耗模式對所述下一使能控制狀態對應的子狀態機進行使能控制,其中,在所述一個使能控制狀態下,如果根據系統需要進入的低功耗模式需要使能與所述一個使能控制狀態對應的子狀態機,則主狀態機控制與所述一個使能控制狀態對應的子狀態機使能且在與所述一個使能控制狀態對應的子狀態機完成狀態轉換的條件下轉換到所述下一使能控制狀態;如果不需要使能與所述一個使能控制狀態對應的子狀態機,則主狀態機直接轉換到所述下一使能控制狀態,各子狀態機通過下述方式進行狀態轉換:子狀態機在被主狀態機使能的情況下根據系統需要進入的低功耗模式從起始狀態轉換到相應的低功耗狀態以使對應的功能模塊進入相應的低功耗狀態,子狀態機從所述低功耗狀態在系統需要進入的低功耗模式的條件下轉換到結束狀態以通知主狀態機所述子狀態機完成狀態轉換。
[0014]可選地,主狀態機還具有起始狀態和結束狀態,其中,主狀態機在起始狀態下,在系統需要進入低功耗模式的條件下轉換到第一個使能控制狀態,并按照各個使能控制狀態的狀態轉換順序從第一個使能控制狀態依次轉換到最后一個使能控制狀態,在最后一個使能控制狀態下,如果根據系統需要進入的低功耗模式需要使能與最后一個使能控制狀態對應的子狀態機,則主狀態機控制與最后一個使能控制狀態對應的子狀態機使能且在與最后一個使能控制狀態對應的子狀態機完成狀態轉換的條件下轉換到結束狀態;如果不需要使能與最后一個使能控制狀態對應的子狀態機,則主狀態機直接轉換到結束狀態。
[0015]根據本發明示例性實施例的創建系統芯片的電源管理模塊的狀態機的方法創建系統芯片的電源管理模塊的狀態機,可降低對狀態機修改的復雜度并且降低修改錯誤的發生。根據本發明示例性實施例的系統芯片的電源管理模塊的狀態機易于修改。
[0016]將在接下來的描述中部分闡述本發明總體構思另外的方面和/或優點,還有一部分通過描述將是清楚的,或者可以經過本發明總體構思的實施而得知。

【專利附圖】

【附圖說明】
[0017]通過下面結合示例性地示出實施例的附圖進行的描述,本發明示例性實施例的上述和其他目的和特點將會變得更加清楚,其中:
[0018]圖1示出根據本發明示例性實施例的創建系統芯片的電源管理模塊的狀態機的方法的流程圖;
[0019]圖2示出根據本發明示例性實施例的新增功能模塊時修改電源管理模塊的狀態機的步驟的流程圖;
[0020]圖3示出根據本發明示例性實施例的刪除功能模塊時修改電源管理模塊的狀態機的步驟的流程圖;
[0021]圖4示出現有的系統芯片的電源管理模塊的狀態機的狀態轉換圖的示例;
[0022]圖5示出根據本發明示例性實施例的創建方法創建的主狀態機的狀態轉換圖的示例;
[0023]圖6示出根據本發明示例性實施例的創建方法創建的子狀態機I的狀態轉換圖的示例;
[0024]圖7示出根據本發明示例性實施例的創建方法創建的子狀態機2的狀態轉換圖的示例;
[0025]圖8示出根據本發明示例性實施例的創建方法創建的子狀態機3的狀態轉換圖的示例;
[0026]圖9示出根據本發明示例性實施例的系統芯片的電源管理模塊的狀態機的框圖。

【具體實施方式】
[0027]現將詳細參照本發明的實施例,所述實施例的示例在附圖中示出,其中,相同的標號始終指的是相同的部件。以下將通過參照附圖來說明所述實施例,以便解釋本發明。
[0028]圖1示出根據本發明示例性實施例的創建系統芯片的電源管理模塊的狀態機的方法的流程圖。
[0029]如圖1所示,在步驟101,創建一個主狀態機。創建的主狀態機具有至少一個使能控制狀態,使能控制狀態的數量與系統芯片(S0C芯片)內部的需要進行電源管理的功能模塊的數量相同。各個使能控制狀態與各個子狀態機—對應,主狀態機進行狀態轉換,以根據系統需要進入的低功耗模式對各個子狀態機進行使能控制。換言之,主狀態機在各使能控制狀態下,負責根據系統需要進入的不同的低功耗模式對該使能控制狀態對應的子狀態機進行使能控制。
[0030]作為示例,主狀態機可通過下述方式進行狀態轉換:主狀態機按照各個使能控制狀態的狀態轉換順序進行狀態轉換,每當主狀態機從一個使能控制狀態轉換到下一使能控制狀態時,根據系統需要進入的低功耗模式對所述下一使能控制狀態對應的子狀態機進行使能控制。在所述一個使能控制狀態下,如果根據系統需要進入的低功耗模式需要使能與所述一個使能控制狀態對應的子狀態機,則主狀態機控制與所述一個使能控制狀態對應的子狀態機使能且在與所述一個使能控制狀態對應的子狀態機完成狀態轉換的條件下轉換到所述下一使能控制狀態;如果不需要使能與所述一個使能控制狀態對應的子狀態機,則主狀態機直接轉換到所述下一使能控制狀態。
[0031]換言之,主狀態機在任意一使能控制狀態下,根據系統需要進入的低功耗模式對該使能控制狀態對應的子狀態機進行使能控制,如果根據系統需要進入的低功耗模式需要使能該子狀態機,則使能該子狀態機,如果根據系統需要進入的低功耗模式不需要使能該子狀態機,則不使能該子狀態機。并且在不需要使能該子狀態機或該子狀態機完成狀態轉換的條件下,從該使能控制狀態轉換到按照各個使能控制狀態的狀態轉換順序的該使能控制狀態的下一使能控制狀態,以根據系統需要進入的低功耗模式對該下一使能控制狀態對應的子狀態機進行使能控制。
[0032]此外,主狀態機還具有起始狀態和結束狀態,主狀態機在起始狀態下,在系統需要進入低功耗模式的條件下轉換到第一個使能控制狀態,并按照各個使能控制狀態的狀態轉換順序從第一個使能控制狀態依次轉換到最后一個使能控制狀態,在最后一個使能控制狀態下,如果根據系統需要進入的低功耗模式需要使能與最后一個使能控制狀態對應的子狀態機,則主狀態機控制與最后一個使能控制狀態對應的子狀態機使能且在與最后一個使能控制狀態對應的子狀態機完成狀態轉換的條件下轉換到結束狀態;如果不需要使能與最后一個使能控制狀態對應的子狀態機,則主狀態機直接轉換到結束狀態。
[0033]應該理解,當主狀態機處于起始狀態時,SOC芯片的所有需要進行電源管理的功能模塊都處于正常狀態(即,電源和時鐘都處于正常狀態),當主狀態機處于結束狀態時,SOC芯片的所有需要進行電源管理的功能模塊都處于與系統需要進入的低功耗模式對應的低功耗狀態。
[0034]在步驟102,創建多個子狀態機。創建的子狀態機的數量與系統芯片內部的需要進行電源管理的功能模塊的數量相同,各個子狀態機與各個功能模塊對應。各子狀態機在被主狀態機使能的情況下進行狀態轉換,以使對應的功能模塊進入與系統需要進入的低功耗模式相應的低功耗狀態。即,每個子狀態機負責根據系統需要進入的不同的低功耗模式管理一個功能模塊的低功耗狀態。
[0035]作為示例,各子狀態機可通過下述方式進行狀態轉換:子狀態機在被主狀態機使能的情況下根據系統需要進入的低功耗模式從起始狀態轉換到相應的低功耗狀態以使對應的功能模塊進入相應的低功耗狀態,子狀態機從所述低功耗狀態在系統需要進入的低功耗模式的條件下轉換到結束狀態以通知主狀態機所述子狀態機完成狀態轉換。即,子狀態機在各低功耗狀態下,控制對應的功能模塊進入相應的低功耗狀態,子狀態機在結束狀態下,通知主狀態機已完成狀態轉換。
[0036]應該理解,當子狀態機處于起始狀態時,與該子狀態機對應的功能模塊處于正常狀態(即,電源和時鐘都處于正常狀態),當子狀態機處于結束狀態時,與該子狀態機對應的功能模塊處于與系統需要進入的低功耗模式對應的低功耗狀態。
[0037]通過上述方法所創建的系統芯片的電源管理模塊的狀態機中,分別與各個功能模塊對應的子狀態機相互獨立地進行狀態轉換,即,狀態機的與各個功能模塊對應的低功耗狀態不存在轉換關系、相對獨立,因此,通過上述方法創建系統芯片的電源管理模塊的狀態機可大大降低修改狀態機(例如,SOC芯片新增或刪除需要進行電源管理的功能模塊時)的復雜度,且不易產生芯片設計錯誤。
[0038]圖2示出根據本發明示例性實施例的新增功能模塊時修改電源管理模塊的狀態機的步驟的流程圖。當SOC芯片新增一個需要進行電源管理的功能模塊時,可按圖2所示的方法修改電源管理模塊的狀態機。
[0039]如圖2所示,在步驟201,增加一個與新增的功能模塊對應的子狀態機。增加的子狀態機在被主狀態機使能的情況下進行狀態轉換,以使新增的功能模塊進入與系統需要進入的低功耗模式相應的低功耗狀態。即,增加的子狀態機負責根據系統需要進入的不同的低功耗模式管理新增的功能模塊的低功耗狀態。
[0040]在步驟202,為主狀態機增加一個與增加的子狀態機對應的使能控制狀態,并設置增加的使能控制狀態的狀態轉換順序,這樣,主狀態機轉換到與增加的子狀態機對應的使能控制狀態時根據系統需要進入的低功耗模式對增加的子狀態機進行使能控制。
[0041]作為示例,如果SOC芯片新增一個需要進行電源管理的模塊,且根據系統設計要求,需要先使功能模塊A (功能模塊A與子狀態機A對應)進入低功耗狀態,再使新增的功能模塊進入低功耗狀態,然后再使功能模塊B (功能模塊B與子狀態機B對應)進入低功耗狀態,那么,應為主狀態機增加一個與增加的子狀態機對應的使能控制狀態,并設置增加的使能控制狀態的狀態轉換順序,所設置的增加的使能控制狀態的狀態轉換順序應為:從與子狀態機A對應的使能控制狀態A轉換到增加的使能控制狀態、從增加的使能控制狀態轉換到與子狀態機B對應的使能控制狀態。
[0042]圖3示出根據本發明示例性實施例的刪除功能模塊時修改電源管理模塊的狀態機的步驟的流程圖。當SOC芯片刪除一個需要進行電源管理的功能模塊時,可按圖3所示的方法修改電源管理模塊的狀態機。
[0043]在步驟301,刪除與所刪除的功能模塊對應的子狀態機。
[0044]在步驟302,從主狀態機的狀態中刪除與刪除的狀態機對應的使能控制狀態。
[0045]此外,作為示例,也可僅從主狀態機的狀態中刪除對應于與刪除的功能模塊對應的子狀態機的使能控制狀態,不需刪除與所刪除的功能模塊對應的子狀態機。
[0046]下面給出在3種低功耗模式、3個功能模塊且每個模塊有2種低功耗狀態的情況下的示例,具體說來,在系統需要進入低功耗模式I時,功能模塊I需要進入低功耗狀態1、功能模塊2需要進入低功耗狀態2、功能模塊3需要進入低功耗狀態2。在系統需要進入低功耗模式2時,功能模塊I需要進入低功耗狀態1、功能模塊2需要進入低功耗狀態1、功能模塊3需要進入低功耗狀態I。在系統需要進入低功耗模式3時,功能模塊I需要進入低功耗狀態2、功能模塊2需要進入低功耗狀態2、功能模塊3需要進入低功耗狀態I。針對上述情況,圖4示出現有的系統芯片的電源管理模塊的狀態機的狀態轉換圖的示例,圖5至圖8示出根據本發明示例性實施例的創建方法創建的狀態機的狀態轉換圖的示例。
[0047]下面結合圖4來說明現有的系統芯片的電源管理模塊的狀態機的狀態轉換過程及新增或刪除需要進行電源管理的功能模塊時對狀態機的修改方法。
[0048]如圖4所示,現有的SOC芯片的電源管理模塊的狀態機共有8種狀態:STATE_UP (起始狀態,在此狀態下,功能模塊1、功能模塊2和功能模塊3都處于正常狀態)、STATE_1_1 (低功耗狀態_1_1,在此狀態下,使功能模塊I進入低功耗狀態I)、STATE_1_2 (低功耗狀態_1_2,在此狀態下,使功能模塊I進入低功耗狀態2)、STATE_2_1 (低功耗狀態_2_1,在此狀態下,使功能模塊2進入低功耗狀態I)、STATE_2_2 (低功耗狀態_2_2,在此狀態下,使功能模塊2進入低功耗狀態2)、STATE_3_1 (低功耗狀態_3_1,在此狀態下,使功能模塊3進入低功耗狀態I)、STATE_3_2 (低功耗狀態_3_2,在此狀態下,使功能模塊3進入低功耗狀態2)、STATE_D0WN(在此狀態下,功能模塊1、功能模塊2和功能模塊3都處于低功耗狀態)。觸發狀態轉換的條件為:L0W_P0WER_M0DE1 (系統需要進入低功耗模式I)、L0ff_P0WER_M0DE2 (系統需要進入低功耗模式2)、L0ff_P0WER_M0DE3 (系統需要進入低功耗模式3)。
[0049]現有的電源管理模塊的狀態機按照如下方式進行狀態轉換:(I)在STATE_UP狀態下,在系統需要進入低功耗模式I的條件下,轉換到STATE_1_1狀態,以控制功能模塊I進入低功耗狀態1,在STATE_1_1狀態下,在系統需要進入低功耗模式I的條件下,轉換到STATE_2_2狀態,以控制功能模塊2進入低功耗狀態2,在STATE_2_2狀態下,在系統需要進入低功耗模式I的條件下,轉換到STATE_3_2狀態,以控制功能模塊3進入低功耗狀態2,在STATE_3_2狀態下,在系統需要進入低功耗模式I的條件下,轉換到STATE_D0WN狀態,即,所有功能模塊都進入了與低功耗模式I相應的低功耗狀態,系統進入了低功耗模式I ;
(2)在STATE_UP狀態下,在系統需要進入低功耗模式2的條件下,轉換到STATE_1_1狀態,以控制功能模塊I進入低功耗狀態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狀態,以控制功能模塊I進入低功耗狀態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。
[0050]從上述轉換過程可知,與功能模塊I對應的狀態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芯片新增I個功能模塊,且需要在進入低功耗模式的過程中,使功能模塊I先進入低功耗狀態,然后使新增的功能模塊進入低功耗狀態,接下來使功能模塊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 (在此狀態下,使新增的功能模塊進入低功耗狀態I)、STATE_1_1與STATE_NEW_2(在此狀態下,使新增的功能模塊進入低功耗狀態 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的狀態轉換關系。
[0051]類似地,如果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 的狀態轉換關系。
[0052]應該理解,上述示例僅僅針對的是3種低功耗模式、3個功能模塊且每個模塊有2種低功耗狀態的情況,在新增或刪除功能模塊時,對狀態機的調整就已經很復雜。而在實際設計中,系統往往有多種低功耗模式、多個功能模塊且每個模塊有多種低功耗狀態,隨著低功耗模式的增多、功能模塊的增多、功能模塊的低功耗狀態的增多,狀態機的狀態轉換關系會更為復雜,在新增或刪除某個或某些需要進行電源管理的功能模塊時,設計人員需要對狀態機的狀態轉換關系進行更為復雜的調整,工作量非常大,且在調整過程中容易產生芯片設計錯誤,使SOC芯片不能正常工作,甚至被燒毀。
[0053]下面結合圖5至圖8來說明根據本發明示例性實施例的創建方法創建的電源管理模塊的狀態機的狀態轉換過程及新增或刪除需要進行電源管理的功能模塊時對狀態機的修改方法。
[0054]圖5示出根據本發明示例性實施例的創建方法創建的主狀態機(FSM)的狀態轉換圖的示例,圖6示出根據本發明示例性實施例的創建方法創建的子狀態機I (FSMl)的狀態轉換圖的示例,圖7示出根據本發明示例性實施例的創建方法創建的子狀態機2 (FSM2)的狀態轉換圖的示例,圖8示出根據本發明示例性實施例的創建方法創建的子狀態機3 (FSM3)的狀態轉換圖的示例。
[0055]主狀態機共有5種狀態:STATE_UP、STATE_1 (使能控制狀態1,在此狀態下,對子狀態機I進行使能控制)、STATE_2 (使能控制狀態2,在此狀態下,對子狀態機2進行使能控制)、STATE_3 (使能控制狀態3,在此狀態下,對子狀態機3進行使能控制)、STATE_D0WN。觸發狀態轉換的條件為:L0W_P0WER_M0DE(系統需要進入低功耗模式,包括低功耗模式1、低功耗模式2、低功耗模式3)、FSM1_D0NE (子狀態機I完成狀態轉換)、FSM2_D0NE (子狀態機2完成狀態轉換)、FSM3_D0NE (子狀態機3完成狀態轉換)、?FSM1_EN(根據低功耗模式不需要使能子狀態機I)、?FSM2_EN (根據低功耗模式不需要使能子狀態機2)、?FSM3_EN (根據低功耗模式不需要使能子狀態機3)。
[0056]子狀態機I共有4種狀態:STATE1_UP (起始狀態1,在此狀態下,功能模塊I處于正常狀態)、STATE_1_1、STATE_1_2、STATE 1_D0WN(結束狀態I,在此狀態下,通知主狀態機已完成使功能模塊I進入低功耗狀態的狀態轉換)。觸發狀態轉換的條件為:L0W_P0WER_MODE I, L0ff_P0WER_M0DE2, L0ff_P0WER_M0DE3, FSM1_EN(使能子狀態機 I)。
[0057]相應地,子狀態機2共有4種狀態:STATE2_UP (起始狀態2,在此狀態下,功能模塊2處于正常狀態)、STATE_2_1、STATE_2_2、STATE2_D0WN(結束狀態2,在此狀態下,通知主狀態機已完成使功能模塊2進入低功耗狀態的狀態轉換)。觸發狀態轉換的條件為:L0W_P0WER_M0DEU L0ff_P0WER_M0DE2, L0ff_P0WER_M0DE3, FSM2_EN(使能子狀態機 2)。
[0058]子狀態機3共有4種狀態:STATE3_UP (起始狀態3,在此狀態下,功能模塊3處于正常狀態)、STATE_3_1、STATE_3_2、STATE3_D0WN(結束狀態3,在此狀態下,通知主狀態機已完成使功能模塊3進入低功耗狀態的狀態轉換)。觸發狀態轉換的條件為:L0W_P0WER_MODE I, L0ff_P0WER_M0DE2, L0ff_P0WER_M0DE3, FSM3_EN(使能子狀態機 3)。
[0059]針對系統需要進入低功耗模式I的情況,主狀態機和各子狀態機按照如下方式進行狀態轉換:主狀態機在STATE_UP狀態下,在系統需要進入低功耗模式的條件下,轉換到STATE,I狀態,以根據低功耗模式I控制子狀態機I使能。子狀態機I在STATE1_UP狀態下,在被使能且系統需要進入低功耗模式I的條件下,轉換到STATE_1_1狀態,以控制功能模塊I進入低功耗狀態1,在STATE_1_1狀態下,在系統需要進入低功耗模式I的條件下,轉換到STATE 1_D0WN狀態,以通知主狀態機子已完成使功能模塊I進入低功耗狀態I的狀態轉換。主狀態機在STATE_1狀態下,在子狀態機I完成狀態轉換的條件下,轉換到STATE_2狀態,以根據低功耗模式2控制子狀態機2使能。子狀態機2在STATE2_UP狀態下,在被使能且系統需要進入低功耗模式I的條件下,轉換到STATE_2_2狀態,以控制功能模塊2進入低功耗狀態2,在STATE_2_2狀態下,在系統需要進入低功耗模式I的條件下,轉換到STATE2_D0WN狀態,以通知主狀態機子已完成使功能模塊2進入低功耗狀態2的狀態轉換。主狀態機在STATE_2狀態下,在子狀態機2完成狀態轉換的條件下,轉換到STATE_3狀態,以根據低功耗模式3控制子狀態機3使能。子狀態機3在STATE3_UP狀態下,在被使能且系統需要進入低功耗模式I的條件下,轉換到STATE_3_2狀態,以控制功能模塊3進入低功耗狀態2,在STATE_3_2狀態下,在系統需要進入低功耗模式I的條件下,轉換到STATE3_D0WN狀態,以通知主狀態機已完成使功能模塊3進入低功耗狀態2的狀態轉換。主狀態機在STATE_3狀態下,在子狀態機3完成狀態轉換的條件下,轉換到STATE_DOWN狀態,即系統進入了低功耗模式I。
[0060]相應地,針對低功耗模式2和低功耗模式3的情況,主狀態機和各子狀態機的狀態轉換過程與低功耗模式I的情況類似,在此不再贅述。
[0061]此外,雖然在上述轉換過程中沒有出現此種情況,但應該理解,如果主狀態機在某一狀態下,在需要進入的低功耗模式不需要使能與該當前狀態對應的子狀態機的條件下,則直接轉換到下一狀態。例如,在低功耗模式4下功能模塊2不需要進入低功耗狀態,即保持正常狀態,因此,在需要進入低功耗模式4時不需要使能子狀態機2,那么,主狀態機在STATE_2狀態下,在不需要使能子狀態機2 (?FSM2_EN)的條件下,直接跳轉到STATE_3。
[0062]從上述轉換過程可知,與功能模塊I對應的子狀態機1、與功能模塊2對應的子狀態機2、與功能模塊3對應的子狀態機3相對獨立地進行狀態轉換,即,與功能模塊I對應的低功耗狀態、與功能模塊2對應的低功耗狀態、與功能模塊3對應的低功耗狀態彼此之間不存在狀態轉換關系、相對獨立。因此,如果新增I個需要進行電源管理的功能模塊,且需要在進入低功耗模式的過程中,使功能模塊I先進入低功耗狀態,然后使新增的功能模塊進入低功耗狀態,接下來功能模塊2進入低功耗狀態、功能模塊3進入低功耗狀態。只需增加一個與新增的功能模塊對應的子狀態機,并為主狀態機增加一個與增加的子狀態機對應的使能控制狀態,并設置增加的使能控制狀態的狀態轉換順序以使主狀態機在進行狀態轉換時,從STATE_1轉換到STATE_NEW(在此狀態下,對新增的功能模塊進行使能控制)、從STATE_NEff轉換到STATE_2,其它的子狀態機都不需要調整。
[0063]類似地,如果SOC芯片刪除功能模塊2,只需從主狀態機的狀態中刪除與子狀態機2對應的使能控制狀態(STATE_2)即可,子狀態機不需要調整或只刪除子狀態機2。
[0064]應該理解,即使系統有多種低功耗模式、多個功能模塊且每個模塊有多種低功耗狀態,對于根據本發明示例性實施例的創建方法創建的電源管理模塊的狀態機來說,在SOC芯片新增或刪除某個或某些需要進行電源管理的功能模塊時,設計人員也只需通過上述簡單的步驟即可完成對狀態機的調整。即,通過本發明示例性實施例的創建方法創建狀態機,會降低修改狀態機的復雜度,且在修改狀態機時不易產生芯片設計錯誤。
[0065]圖9示出根據本發明示例性實施例的系統芯片的電源管理模塊的狀態機的框圖。
[0066]如圖9所示,電源管理模塊的狀態機900包括:一個主狀態機910和多個子狀態機920。
[0067]主狀態機910具有至少一個使能控制狀態,使能控制狀態的數量與SOC芯片內部的需要進行電源管理的功能模塊的數量相同。各個使能控制狀態與各個子狀態機920 —一對應,主狀態機910進行狀態轉換,以根據系統需要進入的低功耗模式對各個子狀態機920進行使能控制。換言之,主狀態機910在各使能控制狀態下,負責根據系統需要進入的不同的低功耗模式對該使能控制狀態對應的子狀態機920進行使能控制。
[0068]作為示例,主狀態機910可通過下述方式進行狀態轉換:主狀態機910按照各個使能控制狀態的狀態轉換順序進行狀態轉換,每當主狀態機910從一個使能控制狀態轉換到下一使能控制狀態時,根據系統需要進入的低功耗模式對所述下一使能控制狀態對應的子狀態機920進行使能控制。在所述一個使能控制狀態下,如果根據系統需要進入的低功耗模式需要使能與所述一個使能控制狀態對應的子狀態機920,則主狀態機910控制與所述一個使能控制狀態對應的子狀態機920使能且在與所述一個使能控制狀態對應的子狀態機920完成狀態轉換的條件下轉換到所述下一使能控制狀態;如果不需要使能與所述一個使能控制狀態對應的子狀態機920,則主狀態機910直接轉換到所述下一使能控制狀態。
[0069]換言之,主狀態機910在任意一使能控制狀態下,根據系統需要進入的低功耗模式對該使能控制狀態對應的子狀態機920進行使能控制,如果根據系統需要進入的低功耗模式需要使能該子狀態機920,則使能該子狀態機920,如果根據系統需要進入的低功耗模式不需要使能該子狀態機920,則不使能該子狀態機920。并且在不需要使能該子狀態機920或該子狀態機920完成狀態轉換的條件下,從該使能控制狀態轉換到按照各個使能控制狀態的狀態轉換順序的該使能控制狀態的下一使能控制狀態,以根據系統需要進入的低功耗模式對該下一使能控制狀態對應的子狀態機920進行使能控制。
[0070]此外,主狀態機910還具有起始狀態和結束狀態,主狀態機910在起始狀態下,在系統需要進入低功耗模式的條件下轉換到第一個使能控制狀態,并按照各個使能控制狀態的狀態轉換順序從第一個使能控制狀態依次轉換到最后一個使能控制狀態,在最后一個使能控制狀態下,如果根據系統需要進入的低功耗模式需要使能與最后一個使能控制狀態對應的子狀態機920,則主狀態機910控制與最后一個使能控制狀態對應的子狀態機920使能且在與最后一個使能控制狀態對應的子狀態機920完成狀態轉換的條件下轉換到結束狀態;如果不需要使能與最后一個使能控制狀態對應的子狀態機920,則主狀態機910直接轉換到結束狀態。
[0071]應該理解,當主狀態機910處于起始狀態時,SOC芯片的所有需要進行電源管理的功能模塊都處于正常狀態(即,電源和時鐘都處于正常狀態),當主狀態機910處于結束狀態時,SOC芯片的所有需要進行電源管理的功能模塊都處于與系統需要進入的低功耗模式對應的低功耗狀態。
[0072]子狀態機920的數量與系統芯片內部的需要進行電源管理的功能模塊的數量相同,各個子狀態機920與各個功能模塊--對應。各子狀態機920在被主狀態機910使能的情況下進行狀態轉換,以使對應的功能模塊進入與系統需要進入的低功耗模式相應的低功耗狀態。即,每個子狀態機920負責根據系統需要進入的不同的低功耗模式管理一個功能模塊的低功耗狀態。
[0073]作為示例,各子狀態機920可通過下述方式進行狀態轉換:子狀態機920在被主狀態機910使能的情況下根據系統需要進入的低功耗模式從起始狀態轉換到相應的低功耗狀態以使對應的功能模塊進入相應的低功耗狀態,子狀態機920從所述低功耗狀態在系統需要進入的低功耗模式的條件下轉換到結束狀態以通知主狀態機910所述子狀態機920完成狀態轉換。即,子狀態機920在各低功耗狀態下,控制對應的功能模塊進入相應的低功耗狀態,子狀態機920在結束狀態下,通知主狀態機910已完成狀態轉換。
[0074]應該理解,當子狀態機920處于起始狀態時,與該子狀態機920對應的功能模塊處于正常狀態(即,電源和時鐘都處于正常狀態),當子狀態機920處于結束狀態時,與該子狀態機920對應的功能模塊處于與系統需要進入的低功耗模式對應的低功耗狀態。
[0075]根據本發明示例性實施例的系統芯片的電源管理模塊的狀態機中,分別與各個功能模塊對應的子狀態機相互獨立地進行狀態轉換,即,狀態機的與各個功能模塊對應的低功耗狀態不存在轉換關系、相對獨立,因此,所述系統芯片的電源管理模塊的狀態機易于修改(例如,SOC芯片新增或刪除需要進行電源管理的功能模塊時),且不易產生芯片設計錯誤。
[0076]此外,根據本發明示例性實施例的創建系統芯片的電源管理模塊的狀態機的方法可以通過對SOC芯片的硬件設計來實現,也可以通過對SOC芯片的軟件設計來實現,或者通過硬件設計和軟件設計相結合的方式來實現,對此不作限制。
[0077]根據本發明示例性實施例的創建系統芯片的電源管理模塊的狀態機的方法創建系統芯片的電源管理模塊的狀態機,可降低對狀態機修改的復雜度并且降低修改錯誤的發生。根據本發明示例性實施例的系統芯片的電源管理模塊的狀態機易于修改。
[0078]雖然已表示和描述了本發明的一些示例性實施例,但本領域技術人員應該理解,在不脫離由權利要求及其等同物限定其范圍的本發明的原理和精神的情況下,可以對這些實施例進行修改。
【權利要求】
1.一種創建系統芯片的電源管理模塊的狀態機的方法,包括: 創建一個主狀態機,其中,主狀態機具有至少一個使能控制狀態,使能控制狀態的數量與系統芯片內部的需要進行電源管理的功能模塊的數量相同; 創建多個子狀態機,其中,子狀態機的數量與系統芯片內部的需要進行電源管理的功能模塊的數量相同,各個子狀態機與各個功能模塊 對應, 其中,主狀態機的各個使能控制狀態與各個子狀態機一一對應,主狀態機進行狀態轉換,以根據系統需要進入的低功耗模式對各個子狀態機進行使能控制,各子狀態機在被主狀態機使能的情況下進行狀態轉換,以使對應的功能模塊進入與系統需要進入的低功耗模式相應的低功耗狀態。
2.如權利要求1所述的方法,其中, 主狀態機按照各個使能控制狀態的狀態轉換順序進行狀態轉換,其中,每當主狀態機從一個使能控制狀態轉換到下一使能控制狀態時,根據系統需要進入的低功耗模式對所述下一使能控制狀態對應的子狀態機進行使能控制,其中,在所述一個使能控制狀態下,如果根據系統需要進入的低功耗模式需要使能與所述一個使能控制狀態對應的子狀態機,則主狀態機控制與所述一個使能控制狀態對應的子狀態機使能且在與所述一個使能控制狀態對應的子狀態機完成狀態轉換的條件下轉換到所述下一使能控制狀態;如果不需要使能與所述一個使能控制狀態對應的子狀態機,則主狀態機直接轉換到所述下一使能控制狀態, 各子狀態機通過下述方式進行狀態轉換:子狀態機在被主狀態機使能的情況下根據系統需要進入的低功耗模式從起始狀態轉換到相應的低功耗狀態以使對應的功能模塊進入相應的低功耗狀態,子狀態機從所述低功耗狀態在系統需要進入的低功耗模式的條件下轉換到結束狀態以通知主狀態機所述子狀態機完成狀態轉換。
3.如權利要求2所述的方法,其中, 主狀態機還具有起始狀態和結束狀態, 其中,主狀態機在起始狀態下,在系統需要進入低功耗模式的條件下轉換到第一個使能控制狀態,并按照各個使能控制狀態的狀態轉換順序從第一個使能控制狀態依次轉換到最后一個使能控制狀態,在最后一個使能控制狀態下,如果根據系統需要進入的低功耗模式需要使能與最后一個使能控制狀態對應的子狀態機,則主狀態機控制與最后一個使能控制狀態對應的子狀態機使能且在與最后一個使能控制狀態對應的子狀態機完成狀態轉換的條件下轉換到結束狀態;如果不需要使能與最后一個使能控制狀態對應的子狀態機,則主狀態機直接轉換到結束狀態。
4.如權利要求1所述的方法,還包括: 增加一個與新增的功能模塊對應的子狀態機,其中,增加的子狀態機在被主狀態機使能的情況下進行狀態轉換,以使新增的功能模塊進入與系統需要進入的低功耗模式相應的低功耗狀態; 為主狀態機增加一個與增加的子狀態機對應的使能控制狀態,并設置增加的使能控制狀態的狀態轉換順序,其中,主狀態機轉換到與增加的子狀態機對應的使能控制狀態時根據系統需要進入的低功耗模式對增加的子狀態機進行使能控制。
5.如權利要求1所述的方法,還包括: 刪除與所刪除的功能模塊對應的子狀態機; 從主狀態機的狀態中刪除與刪除的狀態機對應的使能控制狀態。
6.如權利要求1所述的方法,還包括: 從主狀態機的狀態中刪除對應于與刪除的功能模塊對應的子狀態機的使能控制狀態。
7.一種系統芯片的電源管理模塊的狀態機,包括: 一個主狀態機,其中,主狀態機具有至少一個使能控制狀態,使能控制狀態的數量與系統芯片內部的需要進行電源管理的功能模塊的數量相同; 多個子狀態機,其中,子狀態機的數量與系統芯片內部的需要進行電源管理的功能模塊的數量相同,各個子狀態機與各個功能模塊 對應, 其中,主狀態機的各個使能控制狀態與各個子狀態機一一對應,主狀態機進行狀態轉換,以根據系統需要進入的低功耗模式對各個子狀態機進行使能控制,各子狀態機在被主狀態機使能的情況下進行狀態轉換,以使對應的功能模塊進入與系統需要進入的低功耗模式相應的低功耗狀態。
8.如權利要求7所述的狀態機,其中, 主狀態機按照各個使能控制狀態的狀態轉換順序進行狀態轉換,其中,每當主狀態機從一個使能控制狀態轉換到下一使能控制狀態時,根據系統需要進入的低功耗模式對所述下一使能控制狀態對應的子狀態機進行使能控制,其中,在所述一個使能控制狀態下,如果根據系統需要進入的低功耗模式需要使能與所述一個使能控制狀態對應的子狀態機,則主狀態機控制與所述一個使能控制狀態對應的子狀態機使能且在與所述一個使能控制狀態對應的子狀態機完成狀態轉換的條件下轉換到所述下一使能控制狀態;如果不需要使能與所述一個使能控制狀態對應的子狀態機,則主狀態機直接轉換到所述下一使能控制狀態, 各子狀態機通過下述方式進行狀態轉換:子狀態機在被主狀態機使能的情況下根據系統需要進入的低功耗模式從起始狀態轉換到相應的低功耗狀態以使對應的功能模塊進入相應的低功耗狀態,子狀態機從所述低功耗狀態在系統需要進入的低功耗模式的條件下轉換到結束狀態以通知主狀態機所述子狀態機完成狀態轉換。
9.如權利要求8所述的狀態機,其中, 主狀態機還具有起始狀態和結束狀態, 其中,主狀態機在起始狀態下,在系統需要進入低功耗模式的條件下轉換到第一個使能控制狀態,并按照各個使能控制狀態的狀態轉換順序從第一個使能控制狀態依次轉換到最后一個使能控制狀態,在最后一個使能控制狀態下,如果根據系統需要進入的低功耗模式需要使能與最后一個使能控制狀態對應的子狀態機,則主狀態機控制與最后一個使能控制狀態對應的子狀態機使能且在與最后一個使能控制狀態對應的子狀態機完成狀態轉換的條件下轉換到結束狀態;如果不需要使能與最后一個使能控制狀態對應的子狀態機,則主狀態機直接轉換到結束狀態。
【文檔編號】G06F1/32GK104133545SQ201410366131
【公開日】2014年11月5日 申請日期:2014年7月29日 優先權日:2014年7月29日
【發明者】張正宇, 陳剛 申請人:三星半導體(中國)研究開發有限公司, 三星電子株式會社
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 叶城县| 蕉岭县| 沾益县| 华安县| 青河县| 昌平区| 伊金霍洛旗| 普兰县| 蓬安县| 息烽县| 黔江区| 惠安县| 象山县| 龙岩市| 张家港市| 江津市| 历史| 崇州市| 淳安县| 济源市| 阿尔山市| 温泉县| 南漳县| 韩城市| 宝应县| 元朗区| 霍林郭勒市| 乌兰浩特市| 祁阳县| 永宁县| 馆陶县| 青州市| 罗山县| 盐边县| 商水县| 兴山县| 江孜县| 温宿县| 乌兰县| 灵寿县| 正定县|