一種時(shí)鐘與功耗管理控制器的硬件實(shí)現
摘 要:本文闡述了一種芯片時(shí)鐘與功耗管理控制器的工作原理,進(jìn)行了模塊劃分,采用硬件描述語(yǔ)言實(shí)現了設計,并利用Synopsys公司的EDA工具進(jìn)行了仿真和綜合。該控制器已成功應用于東南大學(xué)ASIC中心研制的嵌入式處理器芯片Garfield4Plus中,并通過(guò)了實(shí)際的流片和測試。
關(guān)鍵詞:功耗管理;無(wú)毛刺切換;時(shí)鐘控制
引言
在SoC芯片設計中,功耗是微處理器芯片是否成功的重要標準之一。同時(shí),作為一個(gè)龐大的數字電路系統,處理器芯片的時(shí)鐘架構及其控制也將變得尤為重要,將直接影響到芯片的功耗?;谝陨峡紤],整個(gè)芯片的時(shí)鐘和功耗必須得到統一的管理和控制。包括核與總線(xiàn)在內的各功能模塊的時(shí)鐘應當能夠跟據具體工作需要自由開(kāi)關(guān),以保證芯片盡可能地減小功耗。因此,處理器中需要一個(gè)專(zhuān)門(mén)的時(shí)鐘與功耗管理控制器(以下統稱(chēng)PMC)來(lái)實(shí)現這些功能。PMC控制著(zhù)整個(gè)芯片的工作模式和系統時(shí)鐘頻率,其穩定和完善將影響整個(gè)芯片的性能。
本文通過(guò)對PMC工作原理的分析確定了設計的總體結構并進(jìn)行了具體的模塊劃分,使用基于硬件描述語(yǔ)言的邏輯綜合方式進(jìn)行了設計實(shí)現,并成功應用于東南大學(xué)ASIC工程中心研制的嵌入式處理器芯片Garfield4Plus中,通過(guò)了實(shí)際的流片和測試。
PMC功能描述
PMC負責管理整個(gè)芯片工作模式的切換和系統時(shí)鐘頻率的設定,并負責管理芯片上各功能模塊的時(shí)鐘信號和復位信號。通過(guò)設定PMC的功能寄存器,可以控制芯片在SLOW、NORMAL、IDLE、SLEEP四種工作模式間進(jìn)行切換。
系統啟動(dòng)后默認工作在SLOW模式下,時(shí)鐘頻率較低,系統時(shí)鐘由外部晶振直接提供,并且可以通過(guò)設置PMC相關(guān)控制寄存器,得到分頻后更低速的時(shí)鐘。
NORMAL模式是系統最常用的正常工作模式,系統工作在較高的頻率上。外部晶振時(shí)鐘通過(guò)DPLL數字鎖相環(huán)倍頻后,還可以再次被分頻,得到一個(gè)可選頻率范圍較寬的高速時(shí)鐘。數字鎖相環(huán)倍頻值和穩定時(shí)間等參數可以通過(guò)PMC進(jìn)行設置。
當內核空閑時(shí)可以設置系統進(jìn)入IDLE模式。當總線(xiàn)也空閑時(shí),內核時(shí)鐘將被關(guān)閉,同時(shí)停止對外部存儲設備的操作,可以大大減小系統功耗。這種模式可以被各種內外部中斷信號喚醒,喚醒后的系統將恢復到進(jìn)入此狀態(tài)之前的工作模式繼續工作。
如果系統當前工作全部完成,整個(gè)系統都空閑的時(shí)候,可以設置系統進(jìn)入SLEEP模式。PMC將會(huì )關(guān)閉除實(shí)時(shí)控制模塊RTC以外的所有模塊,系統功耗降低到最小。系統將會(huì )等待外部喚醒信號或RTC的定時(shí)喚醒信號來(lái)恢復系統時(shí)鐘。被喚醒的系統將會(huì )首先進(jìn)入SLOW模式。為了確保實(shí)現系統的喚醒,RTC和系統時(shí)鐘喚醒模塊使用獨立的電源和晶振。
PMC還可以自由控制各功能模塊時(shí)鐘的開(kāi)關(guān)。在正常的工作模式下,可以關(guān)閉暫時(shí)不用的模塊以減小系統的功耗。另外,PMC還管理系統的復位信號并實(shí)現軟件復位功能。
模塊劃分及實(shí)現
根據以上對于PMC工作原理和欲實(shí)現功能的分析,可將PMC劃分為6個(gè)功能模塊:PMC控制器狀態(tài)機(FSM)、數字鎖相環(huán)控制器(DPLL控制)、時(shí)鐘分頻選擇模塊(包括兩個(gè)時(shí)鐘分頻器和一個(gè)無(wú)毛刺時(shí)鐘切換專(zhuān)用電路GCM)、復位信號控制模塊(Reset)、系統時(shí)鐘喚醒模塊(Wakeup)和總線(xiàn)接口模塊,如圖1所示。另外,數字鎖相環(huán)DPLL為硬件宏模塊,其性能經(jīng)過(guò)專(zhuān)門(mén)的調試和驗證以保證符合使用要求;GCM用于保證時(shí)鐘切換時(shí)電路能夠穩定工作。
圖1 PMC模塊劃分和時(shí)鐘路徑
從圖1中還可以清晰看出PMC的時(shí)鐘結構。Wakeup模塊使用RTC的專(zhuān)用晶振時(shí)鐘,以保證主時(shí)鐘關(guān)閉后還能正常工作。Reset模塊使用主晶振時(shí)鐘。主晶振時(shí)鐘經(jīng)過(guò)可選分頻得到較慢的時(shí)鐘,同時(shí)主晶振時(shí)鐘經(jīng)過(guò)DPLL倍頻,再經(jīng)過(guò)可選分頻得到較快的時(shí)鐘。兩路時(shí)鐘經(jīng)過(guò)GCM的平穩切換可獲得整個(gè)系統所使用的工作時(shí)鐘,該時(shí)鐘將會(huì )分別提供給內核、總線(xiàn)和各功能模塊(包括PMC自身的控制和接口模塊)。
PMC控制器狀態(tài)機
PMC控制器狀態(tài)機的功能是決定系統的工作狀態(tài)變化,并根據所處工作狀態(tài)輸出控制信號以及與其它模塊的握手信號。此模塊是整個(gè)PMC的控制核心,它可以分析軟件命令,根據軟件命令改變系統當前的工作模式,并收集總線(xiàn)、存儲器、中斷控制器等其他功能模塊的工作狀態(tài)信息;再根據這些信息控制工作模式的改變,輸出包括開(kāi)啟晶振時(shí)鐘、開(kāi)啟數字鎖相環(huán)、時(shí)鐘源選擇、SDRAM自刷新等控制信號,以及與總線(xiàn)、中斷控制器等模塊的握手信號。系統工作模式轉換的狀態(tài)機如圖2所示。
圖2 工作模式轉換狀態(tài)機
數字鎖相環(huán)控制器
數字鎖相環(huán)控制器負責根據PMC的相關(guān)控制寄存器配置數字鎖相環(huán)DPLL,并通過(guò)硬件計數實(shí)現用戶(hù)設定的穩定過(guò)渡時(shí)間,以保證DPLL有足夠的穩定時(shí)間來(lái)鎖定所設置的工作頻率??刂破鳡顟B(tài)機發(fā)出的時(shí)鐘選擇命令和用戶(hù)發(fā)出的頻率重配命令都要經(jīng)過(guò)此模塊的管理,以保證切換過(guò)程中的時(shí)鐘穩定。
時(shí)鐘分頻選擇模塊
時(shí)鐘分頻選擇模塊負責選擇和產(chǎn)生整個(gè)系統工作所需的時(shí)鐘信號。時(shí)鐘的可選范圍和時(shí)鐘切換的穩定,對于 PMC和整個(gè)芯片都十分重要。本文采用2MHz~5MHz的主晶振時(shí)鐘和經(jīng)過(guò)DPLL倍頻后的100MHz~300MHz時(shí)鐘作為時(shí)鐘源,再經(jīng)過(guò)多種倍率的可選分頻,最終獲得一個(gè)比較寬的可選時(shí)鐘范圍。為了提高時(shí)鐘切換的穩定性,還專(zhuān)門(mén)設計了一種無(wú)毛刺時(shí)鐘切換電路GCM(專(zhuān)利電路),可以在三個(gè)周期之內平穩切換兩路各種周期差異的時(shí)鐘,并同時(shí)改善輸出時(shí)鐘的質(zhì)量。在本設計中,GCM用以實(shí)現晶振和DPLL兩路時(shí)鐘的平穩切換。
GCM的原理框圖如圖3所示。用普通二選一電路(PRE_MX)初步切換得到的時(shí)鐘CLK3同步外界輸入的時(shí)鐘選擇信號SEL;得到的同步選擇信號SEL1實(shí)際控制時(shí)鐘的切換,同時(shí)SEL1再經(jīng)過(guò)進(jìn)一步同步得到屏蔽殘缺周期的門(mén)控信號;最后用門(mén)控信號去除時(shí)鐘切換中的不穩定部分,得到平穩的時(shí)鐘輸出。
圖3 GCM無(wú)毛刺切換電路結構框圖
復位信號控制模塊
復位信號控制模塊負責接收外部復位信號和軟件復位信號,并按照工作時(shí)序的需要,分別向芯片的各個(gè)功能模塊發(fā)出復位信號??梢韵蚰承臀挥刑囟〞r(shí)序和順序要求的模塊單獨發(fā)送復位信號。并且可以區分軟、硬件復位,對不同的模塊集合進(jìn)行復位。
系統時(shí)鐘喚醒模塊
系統時(shí)鐘喚醒模塊負責恢復關(guān)閉的系統時(shí)鐘,并保證時(shí)鐘穩定可用。在系統從節能模式(IDLE或SLEEP)恢復到正常工作模式(NORMAL或SLOW)的過(guò)程中,系統必須將已關(guān)閉的時(shí)鐘恢復到正常穩定的狀態(tài)。當系統從IDLE模式下喚醒時(shí),需要恢復內核的時(shí)鐘。本模塊可以接收外部的喚醒信號形成一個(gè)喚醒中斷,提交到中斷控制器,這與其他所有模塊產(chǎn)生的內部中斷一樣,可以喚醒內核時(shí)鐘,使系統恢復正常工作。當系統從SLEEP模式下喚醒時(shí),需要恢復整個(gè)系統的時(shí)鐘。本模塊可以接收外部喚醒信號或者RTC的定時(shí)喚醒信號,并穩定開(kāi)啟和恢復系統時(shí)鐘,最終切換到正常的工作模式下。
AMBA總線(xiàn)接口模塊
RISC的內核通過(guò)APB總線(xiàn)讀寫(xiě)PMC時(shí)鐘功耗管理單元的寄存器,這些寄存器映射到統一的地址空間。另外,輸出到各個(gè)模塊的時(shí)鐘信號也通過(guò)這個(gè)模塊進(jìn)行開(kāi)關(guān)控制。PMC的主要控制寄存器描述如表1所示。
仿真結果及流片
PMC時(shí)鐘功耗管理控制器采用RTL級的Verilog HDL進(jìn)行描述。使用A720T內核仿真模型、AMBA總線(xiàn)和中斷控制器等功能模塊的RTL級Verilog代碼,以及本設計的源代碼,共同組成完整的仿真環(huán)境。其中A720T內核是ARM公司設計的一款ARM7系列內核,在A(yíng)RM7TDMI基礎上增加了虛擬地址與物理地址轉換器MMU、指令Cache和數據Cache。A720T內核仿真模型是ARM公司提供給授權開(kāi)發(fā)機構用以完成仿真的功能模型,它不能被綜合,只能用于功能驗證。使用Synopsys公司的EDA工具VCS對本設計的功能進(jìn)行仿真和驗證。其中GCM模塊還使用HSIM進(jìn)行了SPICE晶體管級的模型仿真。GCM時(shí)鐘切換的仿真結果如圖4所示,PMC時(shí)鐘變頻和工作模式切換的仿真結果如圖5所示,PMC進(jìn)入IDLE節能模式的仿真波形如圖6所示。從仿真結果可以看出,PMC能夠正常完成預計功能,可以穩定地改變時(shí)鐘頻率,并根據工作模式開(kāi)關(guān)時(shí)鐘。
圖4 GCM時(shí)鐘切換仿真波形圖
圖5 PMC時(shí)鐘變頻和工作模式切換仿真波形圖
圖6 PMC進(jìn)入IDLE節能模式仿真波形圖
PMC時(shí)鐘功耗管理控制器已成功應用于東南大學(xué)ASIC工程中心自主開(kāi)發(fā)的基于A(yíng)RM7的嵌入式處理器Garfield4Plus中。通過(guò)該芯片的實(shí)際流片,PMC獲得實(shí)片測試的機會(huì )。測試結果表明,PMC能夠正常穩定地完成預計功能,包括工作頻率的實(shí)時(shí)配置、工作模式的切換以及芯片的節能和喚醒。
結語(yǔ)
本文描述的PMC設計的特點(diǎn)在于工作時(shí)鐘的統一和時(shí)鐘結構的清晰簡(jiǎn)潔。GCM無(wú)毛刺時(shí)鐘切換電路,使得多個(gè)時(shí)鐘源(包括每個(gè)時(shí)鐘源的各種不同的頻率配置)在真正提供給系統使用之前就得到了很好的統一。這種時(shí)鐘結構可以帶來(lái)更好的系統穩定性和時(shí)序上的余量,也就代表著(zhù)可以使用更高的系統時(shí)鐘頻率。
今后對PMC的優(yōu)化應當重點(diǎn)關(guān)注以下兩點(diǎn)。一方面,應當使PMC在針對不同系統的具體特點(diǎn)時(shí),能夠對功耗的實(shí)時(shí)管理進(jìn)行更靈活的配置。既要保證最大限度的節能,又要增加PMC本身的可移植性。另一方面,應當進(jìn)一步探索更科學(xué)的結構,使提供給系統的時(shí)鐘在更靈活的配置方式下,仍然能夠保證安全和穩定?!?/P>
參考文獻
1. Steve Furber. ARM System - on - Chip Architecture. 2nd edition. Pearson Education Limited, 2000
2. Steven P. Young .CLOCK ROUTING CIRCUIT WITH FAST GLITCHLESS SWITCHING.US Patent, 2001
3. AMBA總線(xiàn)規范. AMBA Specification (Rev 2.0) [S]. ARM Limited, 1999. 3-17.
4. William Stallings. 計算機組織與結構—性能設計. 第5版. 張昆藏, 等譯. 北京:電子工業(yè)出版社, 2001. 135~149
評論