Q-Channel專為在簡單的停止、運行quiescence的情況下使用而設計。Q通道是AXI低功耗接口的演進,其命名反映了該接口的目的是控制器件的quiescence。是時鐘控制或者簡單電源控制方案的理想選擇。
P-Channel用于管理具有多個復雜功耗場景的轉換。這些轉換可以在不將器件返回到常見可操作狀態的情況下進行。它的命名反映了接口的目的是控制電源狀態轉換。
控制器管理設備狀態之間的轉換,設備可以接受或者拒絕狀態轉換的請求。支持跨時鐘域,支持異步接口。
Q-channel 信號

QACTIVE可以作為控制器更改握手狀態的激勵,但它與握手無關;當QACTIVE由設備驅動時,它表示設備準備接受靜默請求;QACTIVE還可以包括輸入信號,以提供喚醒功能。
握手機制
接受

拒絕

設備復位
復位時,器件必須同時驅動QACCEPTn和QDENY LOW。QACTIVE可以復位為LOW或HIGH。如果器件必須在從復位退出時執行啟動操作,那么它可以復位QACTIVE HIGH,否則ARM建議將QACTIVE復位為低電平且無效。
控制器可以通過下列任一方式釋放器件:
QREQn LOW,接口處于Q_STOPPED狀態。
QREQn HIGH,接口處于Q_EXIT狀態,可以滿足任何時鐘或電源供給。


握手狀態


握手信號規則
QREQN只有在QACCEPTn為HIGH且QDENY為LOW時,才能由高變為低。(Q-RQUEST)
QREQn僅可在以下任一條件從LOW轉換至HIGH:
—QACCEPTn和QDENY都是低的(ACCEPT AND Q-STOPPED)。
—QACCEPTn和QDENY都是高的(Q-DENIED)。
QACCEPTn只能在QREQn為LOW,QDENY為LOW時由高變為低(Q-RQUEST)。
當QREQn為HIGH且QDENY為LOW時,Qacceptn只能從LOW變為HIGH。
QDENY只能在QREQn為HIGH、QACCEPTn為HIGH的情況下由高變為低。
當QREQn為LOW,QACCEPTn為HIGH時,Qdeny只能從LOW變為HIGH。
控制器策略
QACTIVE 置HIGH可用作控制器退出Q_STOPPED狀態的激勵。控制器以驅動QREQn HIGH的方式做出響應,從而退出靜默狀態。
處于Q_RUN狀態的控制器可以使用檢測QACTIVE LOW作為發起靜默請求的標準。然而,當處于Q_RUN狀態時,控制器可以隨時將QREQn的狀態從高電平變為低電平。
一旦QREQn被驅動到低電平,控制器就不必考慮QACTIVE的狀態,因為QREQn在設備通過接受或拒絕響應完成握手之前,無法驅動為高。

Q-Channel實現
? 使用前重新同步目的地的所有信號。
? 僅在接口處于Q_STOPPED狀態時移除時鐘或電源。
? 為確保四相握手的操作,請寄存所有QREQn、QACCEPTn和QDENY輸出。
? QACTIVE信號由寄存器直接驅動或由多個寄存器驅動,這些寄存器的貢獻是邏輯上合并的。ARM強烈建議將此組合邏輯限制在邏輯OR(在可能的情況下),并使用實例化的門來實現。
? 在實施其他邏輯時,必須仔細考慮QACTIVE源寄存器變化對輸出QACTIVE信號的影響。盡管握手協議可以保證功能上正確的行為,但無論QACTIVE行為如何,ARM建議實施最簡單的可能邏輯,以最大程度地減少QACTIVE輸出引入毛刺的可能性。

P-Channels

控制器見到的PACTIVE是由多個源信號組成的,還可以包括喚醒的信號
PSTATE[M-1:0] 指請求轉換的電源狀態;
PREQ 高有效,表示發起請求轉換電源狀態
PACCEPT 高有效,表示接收轉換請求
PDENY 高有效,表示拒絕轉換請求
P通道握手-接受
在T1,認識到需要握手請求,電源控制器必須采取任何必要的有效措施來保證請求新狀態前的轉換動作。這些操作通常與轉換到更高電壓域狀態相關。這可能包括啟動電源域或使RAM脫離保留狀態。
在T2,控制器將所需電源狀態值置于PSTATE上,并設置PREQ HGH。協議要求當在設備上檢測到PREQ時PSTATE是穩定的。
在T5,器件采樣PREQ LOW,并設置PACCEPT LOW,然后循環。一旦控制器采樣PACCEPT LOW,它就可以采取任何必要的后續狀態轉換措施。這些操作通常與轉換到低功耗狀態相關聯。這可能包括關閉改電源域的電源或將RAM置于保留狀態。

P通道握手-拒絕
在T3,DEVICE通過設置PDENY HIGH來拒絕該請求。PACCEPT必須保持低電平。接口狀態為P_DENIED。
在T4,電源控制器采樣PDENY HIGH并設置PREQ LOW并返回PSTATE到當前狀態的值,即狀態A。協議要求PSTATE是穩定的,并且當在設備上檢測到PREQ變低時為原始狀態的值。接口狀態為P_CONTINUE。
在T5,該器件采樣PREQ LOW并設置PDENY LOW。一旦電源控制器采樣PDENY LOW,它就可以采取任何必要的轉換后措施,且在拒絕的情況下,這通常需要反轉T1和T2之間采取的任何轉換前操作。

設備重置和初始化
復位時,器件必須同時設置PACCEPT和PDENY LOW。PACTIVE可被復位為低電平或高電平。
器件必須指定一個初始化周期,即在保證捕獲PSTATE值用于所有可能的復位狀態之前,復位解除置位所需的器件時鐘周期數。PSTATE必須在這段時間內保持穩定。
復位釋放時,PREQ為LOW;在請求轉換到新狀態之前,控制器需等Tinit到期;

復位取消置位之前,控制器置位PREQ HIGH,然后等待P-Channel轉換完成,然后再請求轉換到新狀態。對于主動托管的接口,ARM建議首選的是PREQ LOW行為。
在復位撤銷時或Tinit期間對PREQ HIGH進行采樣時,只有完成P-Channel轉換器件才能接受另一個P-Channel請求時。設備必須接受在重置退出或Tinit期間提出的任何請求。


多電源域轉換
在T0,接口處于P_STABLE狀態。
在T1和T4之間,接口從狀態A轉換到狀態B,返回T4的P_STABLE狀態。
在T5和T8之間,接口從狀態B轉換到狀態C,而不必首先返回狀態A
握手狀態


握手規則
只有在PACCEPT和PDENY都為低電平時,PREQ才能從低電平轉換到高電平(P-STABLE)
僅當下列任一情況下,PREQ才能從高電平轉換至低電平:
—PACCEPT為High,PDENY為Low。(P-ACCEPT)
—PACCEPT為LOW,PDENY為HIGH。(P-DENIED)
PSTATE只能在以下情況之一轉換:
—PREQ、PACCEPT和PDENY都為低。(P-STABLE)
—PREQ和PDENY均為HIGH,PACCEPT為LOW。(P-DENIED)
當PREQ為HIGH且PDENY為LOW時,Paccept只能從LOW變為HIGH。(P-REQUEST)
只有當PREQ為LOW且PDENY為LOW時(P-COMPLETE),Paccept才能從HIGH轉換為LOW。
Pdeny只能在PREQ為HIGH且PACCEPT為LOW的情況下從LOW轉換到HIGH。(P-REQUEST)
當PREQ為LOW且PACCEPT為LOW時,PDENY才能從高電平轉換為低電平。(P-CONTINUE)
PACTIVE操作/控制器策略
PACTIVE配置針對器件所支持的每個電源狀態,PACTIVE位為高表示器件處理操作所需的最小功耗狀態。
如果電源控制器處于比對應于PACTIVE最高有效位為高的較低的狀態,則控制器請求轉換到該狀態或任何可支持的更高狀態是可以允許操作進行的
器件可能不會使用所有PACTIVE位顯式請求相應狀態。

P-Channel實現
使用前在目的地重新同步所有信號,但PSTATE除外
寄存PSTATE輸出以確保其不會發生毛刺。
為確保四相握手的操作,請寄存所有的PREQ、PACCEPT和PDENY輸出。
PACTIVE信號的每個位由一個寄存器直接驅動,或者由多個寄存器(其貢獻在邏輯上合并)驅動。ARM強烈建議將此組合邏輯限制在邏輯OR(在可能的情況下),并使用實例化的門來實現。
在實施其他邏輯時,必須仔細考慮PACTIVE源寄存器變化對PACTIVE輸出位的影響。盡管握手協議可以保證無論PACTIVE行為在功能上的正確性,但ARM建議實施最簡單的可能邏輯,以最大程度地減少PACTIVE輸出引入毛刺的可能性。

PSTATE采樣
復位取消時必須capture PSTATE。因此,此時設備必須具有一種用于capture PSTATE的機制。
當器件采樣到PREQ HIGH時,必須采樣PSTATE。這可以通過將PREQ重新同步到器件時鐘域并將其用作capture PSTATE的選通脈沖來實現
當請求被拒絕時,可以capture PSTATE。當器件在PDENY高電平采樣到PREQ LOW時,可以capture PSTATE值。
實現者可以對PSTATE信號施加最大延遲時序約束,以確保其在PREQ同步之前達到捕捉寄存器
如果在PSTATE上需要額外的時間裕量,則在控制器上在設置所需的PSTATE值和將PREQ 拉高之間添加一個時鐘周期。

Q通道應用示例
當功能塊f(x)處于非活動狀態、CLK處于非活動狀態以及Q_STOPPED的時鐘控制接口時,仍可能發生電源狀態轉換請求PREQ。但是CLK必須處于活動狀態,以執行電源狀態轉換之前所需的器件管理操作,并以PACCEPT或PDENY響應電源控制接口
所以需確保一旦P-Channel接口轉換到器件可以關斷的狀態,時鐘控制Q-Channel接口就會接受而不是拒絕任何關斷請求,覆蓋通常會導致拒絕響應的其他條件。

將來自單個時鐘域內多個設備的Q-Channel接口組合為一個控制器的所有權具有以下潛在優勢:
? 從時鐘控制器到多個同步設備的單個時鐘插入路徑簡化了物理實現,降低了功耗。
? 當設備之間存在分層關系時,例如在流量方面,可以減輕第一設備的下游設備的握手延遲開銷。
來自每個設備的Q-Channel接口可以在控制器處合并,或者在中間功能塊處組合為單個接口,然后提供給控制器。
在所有情況下,解決方案必須保留每個設備與控制器或組合功能塊之間的專用且獨立的握手接口。這一點很重要,因為它可以確保在共享時鐘的設備之間存在相互依賴關系的情況下避免性能限制或潛在的死鎖場景。
在本例中,兩個功能塊僅通過簡單的時鐘使能條件內部合并來獨立管理器件。此解決方案可以通過實施設備接口模塊之間的內部策略來提高性能(例如通過減少順序握手開銷,或者通過添加控制序列依賴性)來增強.

僅QACTIVE接口的應用
僅具有QACTIVE的設備的一個應用與支持握手信號的另一個設備的QACTIVE組合,以形成到控制器的接口。
當設備1向設備2發送事務時,除非CLKB處于活動狀態,否則無法從網橋的A側前進到B側。為了提供初始喚醒功能,信號從電橋的A側通過電橋的B側路由,以提供來自電橋的QACTIVE輸出。每當電橋的A側有用于電橋的B側的待處理事務時,該信號被驅動為高電平。
然后,電橋的QACTIVE輸出與器件2的QACTIVE輸出在時鐘控制器處合并。然后,時鐘控制器啟動與設備2的握手并激活CLKB。激活CLKB后,設備2可以管理與控制器的握手,還可以負責跟蹤交易及其自己的QACTIVE輸出的活動。

P通道應用舉例

設備0完全位于一個電源域中,而設備1包含兩個電源域。每個電源域有一個P-Channel接口,在所有情況下,P-Channel控制邏輯都包含在該電源域中。
在這種配置中,每個電源域只能在狀態之間轉換,并具有相應的P-Channel響應,如果當時該域中的邏輯功能可用。這樣的裝置不能使用PACTIVE從沒有可操作邏輯的狀態產生喚醒信號。在該狀態下,系統負責喚醒信號。
而且,在沒有可操作邏輯的電源狀態之間的轉換需要從可操作狀態到可操作狀態的中間轉換,并且不能在連續的低電源狀態之間進行單次轉換。由于至少需要某些邏輯功能來響應P-Channel請求,因此此安排無法支持僅為RAM的電源域。

如上圖,電源域0是父域,與子電源域、電源域1和電源域2具有第一個啟動、最后關閉關系。所有P通道接口邏輯和控制邏輯位于Power Domain0內。
在這種情況下,設備可以包括父域檢測和使用代表輔助電源域的PACTIVE的喚醒條件的信號,以導致轉換到更高的狀態。例如,這可以對可能在系統級別復雜或不可能實現的次電源域實現電源狀態控制。
輔助電源域還可以在任一狀態下在接口上沒有任何可操作邏輯的狀態之間轉換。此示例可支持在各級非工作電源狀態之間提高狀態管理靈活性,以及使用具有缺失邏輯功能的域(例如,僅RAM的電源域)。
PACTIVE用法示例
PACTIVE【0】表示“關閉”狀態。器件可以省略它,因為當所有其他位均為低電平時,這是一個隱含的最低狀態要求。如果作為輸入支持,則必須在控制器處拉低。
如果PACTIVE【2】為“高”,則設備請求啟用狀態。
如果PACTIVE【2】在接通狀態下變為低電平,但PACTIVE【1】為高電平,則器件請求RETENTION狀態為最低狀態。控制器可以根據其配置選擇保持ON狀態或請求轉換到RETENTION狀態。
如果沒有PACTIVE位為高,則器件可以處于任何狀態,但這表明器件可能接受進入“關閉”狀態的請求。
如果設備僅驅動PACTIVE【2】,則當處于低電平時,控制器可能會請求ON、RETENTION或OFF的任何狀態。這可以被自定義,例如電源控制器策略的軟件配置來定義。

Q通道向下兼容


對于支持采用拒絕機制的AXI低功耗接口的器件,解決方案僅限于所有接口信號局限于單個同步時鐘域的情況。在這些限制內,一個簡單的適配器元件,為了產生Q-Channel確認信號,可以實現如圖5-3所示。該器件具有時序要求,可確保控制器側實現正確的無故障握手。


*免責聲明:文章來源于知乎,版權歸原作者所有。如有侵權,請聯系路科驗證刪稿。文章內容系作者個人觀點,路科驗證轉載僅為了傳達一種不同的觀點,不代表路科驗證對該觀點贊同或支持,歡迎評論區留言交流。