李航
(上海交通大學微納電子學系,上海 200240)
動態調頻調壓(Dynamic Voltage and Frequency Scaling,DVFS)技術能夠根據電路的工作負載變化,動態地調節電路的工作電壓和頻率,從而在滿足電路性能要求的前提下,有效降低電路的功耗和能耗[1-2]。為了保證電路在電壓頻率調節期間的時序正確,DVFS 調高電壓頻率時先升壓后升頻,DVFS 調低電壓頻率時先降頻后降壓。如圖1 所示,在電壓轉換時間內,電路不得不工作在一個較低的時鐘頻率,帶來不必要的能耗和性能損失。目前,多數數字集成電路使用基于電感調制的片外DC-DC 降壓轉換器來提供可編程的電源電壓[3-4]。片外DC-DC 降壓轉換器的電壓轉換時間很長,一般在微秒甚至毫秒數量級。較長的電壓轉換時間帶來了顯著的能耗和性能損失。

圖1 電壓轉換時間帶來的能耗和性能損失[5]
在這種情況下,許多旨在加快調壓速度的設計方法被提出。文獻[6]在片上集成了基于開關電容的調壓模塊,降低了電壓轉換時間,但是它的開關電容只能調制3 個電壓值,而且輸出電壓紋波較大,不得不設計自適應的時鐘頻率保證電路時序正確。文獻[7]在眾核處理器中實現了一種雙電壓軌切換的調壓電路,兩個電壓之間的轉換時間縮短到納秒級別,但是,其可調的電壓值只有2 個,可調電壓數目受限于電壓軌的數目。
為了提高DVFS 的電壓調節速度,減小因電壓轉換時間帶來的能耗或性能損失,本文提出了一種基于切換電壓軌的DVFS 技術。當需要調壓時,DVFS 把負載電路切換到一個電壓恒定的電壓軌上工作,同時控制片外DC-DC 模塊改變另一個電壓軌的電壓值。等待DC-DC 模塊調壓完成后,DVFS 再把負載電路切換到目標電壓的電壓軌上。本文提出的DVFS 技術,結合片內切換電壓軌調壓和片外DC-DC 模塊調壓兩種方式,在保證可調電壓變化的靈活性的同時,縮短了電壓轉換時間,降低了負載電路的能耗和性能損失。
快速切換電壓軌會帶來噪聲問題,這種噪聲包括電壓軌的電壓下沖和負載電路的電壓波動。對于電壓軌而言,接通一個新的負載電路時的過沖電流會導致電壓軌出現過大的壓降,可能影響該電壓軌上的其他上電模塊的功能。過沖電流主要來源于電壓軌對去耦電容的充放電過程。這種壓降噪聲和電壓軌導通速度相關,延長切換電壓軌的時間,可以減小噪聲。
對于負載電路來說,切換電壓軌時,如果還沒有完全關掉負載電路與當前電壓軌的連接,就開始導通負載電路與目標電壓軌的連接,則可能在一段時間內負載電路同時連接兩個不同電壓的電壓軌,導致這兩個不同電壓的電壓軌之間的短路電流,進而帶來額外能耗和電流噪聲。因此,切換電壓軌時,必須要留有把負載電路和兩個電壓軌同時斷開的間隙時間。但如果間隙時間過長,負載電路的漏電流導致其虛電壓軌的電壓降,可能丟失負載電路中的數據。因此,間隙時間應該較短。
本文設計了一種基于雙電壓軌切換的DVFS 控制電路,切換時間可以由軟件動態配置,以滿足負載電路對切換速度和電壓噪聲的不同要求。該設計采用一個自定時的切換銜接電路實現較短的切換間隙時間。本設計提出的兩組電壓軌由恒壓軌和變壓軌組成,恒壓軌的電壓恒定為電路性能需求的最高電壓,變壓軌的電壓來自片外DC-DC 降壓轉換器的調制。面向低功耗應用的電路普遍采用了多電壓域設計[8],其中至少有一個電壓域的電壓恒定,為一些模擬電路和存儲器模塊供電。因此,本設計中的恒壓軌可以復用多電壓域電路設計中的恒壓域的電壓軌,避免了增加電壓軌帶來的布局布線的復雜度。

圖2 雙電壓軌切換控制電路
圖2 是本設計的雙電壓軌切換控制電路,包括切換銜接電路(Link)、電源門控電路(Power Gate)、檢測電路(Check)。兩個電源門控電路分別耦合恒壓軌(VDDH)和虛電壓軌(VDD)、變壓軌(VDDX)和虛電壓軌(VDD),切換銜接電路控制兩個電源門控電路的開關順序,檢測電路檢測電壓軌切換是否完成。輸入信號switch 用于選擇恒壓軌或變壓軌,輸入信號rate 用于配置電源門控電路的開關速度,輸出信號switch_done 用于指示電壓軌切換是否完成。
兩個電源門控電路分別耦合恒壓軌和虛電壓軌、變壓軌和虛電壓軌,由多組PMOS 門控管和緩沖器組成。每個電源門控電路包括16 個門控單元(Group),前后級聯。其中,前8 個門控單元的每個單元包括24個PMOS 管,相鄰PMOS 管之間都設置三級緩沖器連接。這些PMOS 管在耦合電壓軌時會被先打開,因此管子尺寸較小、緩沖器延遲較大以減小電壓噪聲。后8個門控單元的每個單元包括8 個PMOS 管,管子尺寸較大,相鄰PMOS 管之間都設置一級緩沖器連接。門控單元之間插入的多路選擇器接收rate 的信號,用于控制門控單元的開關速度。如圖3 所示,當rate=0 時,門控單元只能被逐個開或關,當rate=1 時,相鄰兩組PMOS 單元可以被同時開或關,當rate=2 時,相鄰三組PMOS 單元可以被同時開或關,以此類推。

圖3 門控單元開關速度的控制結構
圖4 是本設計采用的切換銜接電路。輸入信號switch 發生翻轉時,切換銜接電路首先向當前處于導通狀態的電源門控電路發出關斷信號(將s1 或者s2 置1)。當接收到電源門控電路被完全關斷的信號(t1 或t2)后,切換銜接電路向另一個電源門控電路發出導通信號(將 s2 或者 s1 置 0)。電路復位后,控制信號switch 為0。切換銜接電路的左側輸出是0,右側輸出是1。當switch 跳變為1 時,只有左側的異或門可以輸出高電平脈沖,引發對應的D觸發器輸出信號s1 狀態翻轉為1。當這個高電平信號經過s1 連接的整個電源門控電路后,反饋到輸入信號t1,引起右側D 觸發器的輸出s2 翻轉為0。因此,該切換電路的設計保證了總是先關斷一個電壓軌后導通另一個電壓軌的順序,避免了短路電流的問題。

圖4 切換銜接電路
本設計的切換銜接電路提供了較短的間隙時間。這個間隙時間是從輸入信號t1(或t2)到輸出信號s2(s1)的組合路徑延時,如圖4 中的虛線所示,即兩個與門、一個或門、一個D 觸發器和一個反相器的延時。這個時間即為兩個電壓軌和負載電路同時斷開的時間。該組合路徑的延遲時間足夠短,不會引發負載電路的數據丟失問題。
本文提出的調節策略,充分利用雙電壓軌的冗余性,在片外DC-DC 調壓時間內,通過切換電壓軌,使電路工作在一個恒定的電壓下。根據負載電路當前耦合的電壓軌類型和目標電壓值,本文設計了具體的調節方法。當目標電壓正好是當前兩電壓軌的電壓值時,直接切換電壓軌調壓。否則,需要判斷負載電路當前耦合的電壓軌類型。如果當前耦合恒壓軌,則保持當前的耦合狀態,同時控制片外DC-DC 調節變壓軌的電壓值為目標電壓值,等待片外調壓完成后,切換電壓軌。如果當前耦合變壓軌,則先把負載電路切換到恒壓軌,同時控制片外DC-DC 調節變壓軌的電壓值為目標電壓值,等待片外調壓完成后,切換電壓軌。
本文基于TSMC 28nm 工藝庫完成了電壓軌切換控制電路設計,使用Verilog 和Verilog-a 語言完成了DVFS 控制模塊(DVFS Controller)、負載電路(32bit Adder)和DC-DC 模塊的建模,使用Ultrasim 軟件仿真了本文提出的DVFS 控制器和傳統DVFS 控制器對負載電路的性能和能耗的影響。為了綜合評估負載電路的性能和能耗,本文能耗-延時積(Energy-Delay Product,EDP)作為衡量指標。圖5 分別是本文的DVFS 控制器仿真電路和傳統DVFS 控制器仿真電路。

圖5 仿真電路
本文設計了4 種電壓頻率檔位(1 檔到4 檔,電壓頻率值依次降低)作為DVFS 控制器的測試激勵。片外調壓的時間和調壓幅度與DC-DC 模塊有關。本文采用德州儀器公司的DC-DC 調壓芯片——TPS62363的數據作為仿真所用的DC-DC 模型參數,其電壓調節速率為32mV/us。

圖6 切換電壓軌得到的EDP降幅
當目標電壓正好是當前兩電壓軌的電壓值時,本文的DVFS 控制器直接切換電壓軌調壓,傳統DVFS 控制器通過片外DC-DC 模塊調壓。本文仿真了兩種DVFS 控制器將負載電路在4 種電壓頻率檔位之間切換時執行相同的計算任務的能耗-延時積。圖6 是在各種檔位之間調節時,本文的DVFS 控制器調節相比傳統DVFS 控制器調節的負載電路能耗-延時積的降幅。結果表明,電壓調節幅度越大,能耗-延時積降幅越高。在1 檔位和4 檔位之間調壓時,電壓調幅最大,升壓和降壓調節能耗-延時積分別可以降低73.9%和33.4%。
當目標電壓不是當前兩電壓軌的電壓值時,根據不同的當前檔位和目標檔位,共有9 種具體調節情形。本文仿真了全部調節情形在兩種DVFS 控制器調節下的負載電路的能耗-延時積,結果如表1 所示。仿真表明,在全部9 種調節情形中,負載電路在本文提出的DVFS 控制器調節下的能耗-延時積更低,能耗-延時積的平均降幅達到29.74%。

表1 兩種調節方法下的負載電路的能耗-延時積
本文分析了利用切換電壓軌調壓的調節速度優勢和需要解決的電壓噪聲問題,設計了可以把負載電路在兩個電壓軌之間穩定快速切換的控制電路。基于設計的電壓軌切換控制電路,本文提出了結合電壓軌切換和DC-DC 調節兩種手段的DVFS 混合調節策略。仿真結果表明,本文的DVFS 控制器顯著降低了負載電路在調節期間的能耗-延時積,平均降幅達到了29.74%。