倪燦燦,趙振宇,唐皓月,曲連華,李 歡,李 鵬,鄧 全
(國防科學(xué)技術(shù)大學(xué)計(jì)算機(jī)學(xué)院,湖南 長沙410073)
速度、功耗與面積是高性能微處理器芯片設(shè)計(jì)的主要性能指標(biāo),它們互相制約,難以兼得,因此在設(shè)計(jì)初始階段需要根據(jù)設(shè)計(jì)目標(biāo)確定設(shè)計(jì)指標(biāo)。以高速度為目標(biāo)的設(shè)計(jì),則難以避免功耗的增加;以低功耗為目標(biāo)的設(shè)計(jì),則必將引起性能下降。
過去數(shù)十年中已經(jīng)出現(xiàn)很多高性能與低功耗的均衡設(shè)計(jì),突出的有多閾值電壓技術(shù)[1]、多電源電壓技術(shù)以及單元尺寸優(yōu)化技術(shù)。文獻(xiàn)[2]提出在關(guān)鍵路徑上使用低閾值電壓單元來滿足電路的時(shí)序要求,在非關(guān)鍵路徑上使用高閾值電壓單元來降低電路的靜態(tài)功耗。文獻(xiàn)[3]指出器件尺寸調(diào)整與雙閾值電壓方法結(jié)合,可獲得更高的性能。文獻(xiàn)[4]指出閾值電壓技術(shù)與時(shí)鐘門控相結(jié)合是高性能低功耗設(shè)計(jì)的最優(yōu)組合方式。然而,對于低功耗設(shè)計(jì)中的多閾值電壓技術(shù),目前低閾值電壓除了用于時(shí)序優(yōu)化之外,都是單一的使用高閾值單元來降低功耗,而忽略了低閾值單元在低功耗設(shè)計(jì)中的價(jià)值。
基于低閾值單元的優(yōu)勢,本文重點(diǎn)研究高速情況下,如何用低閾值單元做低功耗設(shè)計(jì)。研究先從標(biāo)準(zhǔn)單元庫展開,介紹常用設(shè)計(jì)選擇單元庫和單元的方式;然后在相同延時(shí)下對組合邏輯單元和時(shí)序邏輯單元進(jìn)行內(nèi)部功耗分析;接著用反相器鏈時(shí)序電路來驗(yàn)證低閾值電壓在相同周期下做低功耗設(shè)計(jì);最后用Benchmark和AES電路在兩種閾值下相同時(shí)鐘周期的情況分別綜合,分析各個(gè)相同時(shí)鐘周期下的最佳低功耗設(shè)計(jì)的閾值電壓。
40nm 標(biāo)準(zhǔn)單元庫包含有幾百種標(biāo)準(zhǔn)單元,根據(jù)電路設(shè)計(jì)具體需求可做不同選擇。工藝廠商按照標(biāo)準(zhǔn)單元的特征將它們分門別類。閾值電壓有HVT(High Voltage Threshold)、RVT(Regular Voltage Threshold)和 LVT (Low Voltage Threshold)三種。其中,HVT 靜態(tài)功耗最低,用于降低靜態(tài)功耗的設(shè)計(jì)中;LVT 速度最快,用于高速度設(shè)計(jì);RVT 則應(yīng)用于大多數(shù)的設(shè)計(jì)。標(biāo)準(zhǔn)單元庫中的每種類型的標(biāo)準(zhǔn)單元尺寸都有多種,其性能、功耗、面積也不同。
接下來就40nm 標(biāo)準(zhǔn)單元庫中典型的標(biāo)準(zhǔn)單元:緩沖器、反相器、與門、或門、D 觸發(fā)器,對它們的高低閾值兩種標(biāo)準(zhǔn)單元在相同延時(shí)下做內(nèi)部功耗研究,注意內(nèi)部功耗的衡量單位是pJ[5]。
圖1a,橫軸為延時(shí),縱軸為緩沖器在相同延時(shí)下的高低閾值單元對應(yīng)的內(nèi)部功耗??梢钥闯?,在相同的延時(shí)下,低閾值單元產(chǎn)生的內(nèi)部功耗要小于高閾值單元產(chǎn)生的內(nèi)部功耗,原因是在相同的延時(shí)下,低閾值單元用的尺寸較?。―3、D4、D6、D8),與之對應(yīng)高閾值單元用的尺寸則較大(D8、D12、D16、D20、D24);這些高閾值單元尺寸較大,因此會(huì)產(chǎn)生比低閾值小尺寸單元更大的內(nèi)部功耗。同理,反相器也是如此。
Figure 1 Internal power consumption of buffers and inverters during the same delay圖1 緩沖器和反相器在相同延時(shí)下的對應(yīng)的內(nèi)部功耗
圖2描述的是與門和或門的內(nèi)部功耗,同理可以看出,與門和或門在相同延時(shí)下的小尺寸,低閾值單元對應(yīng)的內(nèi)部功耗要小于較大尺寸的高閾值單元引起的內(nèi)部功耗。
前面已經(jīng)分析組合邏輯單元的情況,接下來對時(shí)序邏輯單元進(jìn)行分析。圖3是D 觸發(fā)器的內(nèi)部功耗,可以看到,在相同延時(shí)下的小尺寸低閾值D觸發(fā)器對應(yīng)的內(nèi)部功耗要小于較大尺寸的高閾值D 觸發(fā)器引起的內(nèi)部功耗。
綜上分析,相同延時(shí)下,選擇合適的較小低閾值標(biāo)準(zhǔn)單元產(chǎn)生的內(nèi)部功耗要小于較大尺寸的高閾值單元產(chǎn)生的內(nèi)部功耗。
Figure 2 Internal power consumption of and gate and or gate during the same delay圖2 與門和或門在相同延時(shí)下對應(yīng)的內(nèi)部功耗
Figure 3 Internal power consumption of flip-flop during the same delay圖3 D 觸發(fā)器在相同延時(shí)下的對應(yīng)的內(nèi)部功耗
分析完單個(gè)的標(biāo)準(zhǔn)單元后,再分析一條鏈路上HVT 與LVT 的動(dòng)態(tài)功耗關(guān)系。由第2節(jié)的結(jié)論知道,在相同的速度下(延時(shí)),LVT 用比HVT 很小的尺寸就可以達(dá)到,同時(shí)得到的動(dòng)態(tài)功耗值要比HVT 的值小很多。接下來,對三級、四級、五級反相器鏈進(jìn)行實(shí)驗(yàn);并以圖4四級反相器鏈組成的時(shí)序電路進(jìn)行詳細(xì)分析。圖4 中兩端為D 觸發(fā)器,中間為尺寸優(yōu)化后的反相器鏈。參考文獻(xiàn)[6]給出了使得延時(shí)最小的反相器鏈尺寸的確定方法,每個(gè)反相器的最優(yōu)尺寸為:
其中,Cg,j為第j級的柵電容與線電容之和,Cg,j-1、Cg,j+1為Cg,j的上一級和下一級的電容。40nm 工藝的線電容為0.2~0.3fF/μm,預(yù)估本電路反相器鏈的線電容為10fF。經(jīng)過計(jì)算,HVT標(biāo)準(zhǔn)單元四級反相器鏈的尺寸分別為INVD3、INVD8、INVD16、INVD24;此尺寸下的延時(shí)最小,速度最快。
表1~表3 為三級、四級、五級反相器鏈的時(shí)序與功能。表2方式1從時(shí)鐘輸入到第二級觸發(fā)器的D 數(shù)據(jù)輸入端所耗的延時(shí)為106ns,幾乎達(dá)到了最大的時(shí)鐘周期,動(dòng)態(tài)功耗為0.363mW。第2種實(shí)現(xiàn)方式為替換標(biāo)準(zhǔn)單元閾值為LVT,達(dá)到的延時(shí)大大減小,而動(dòng)態(tài)功耗增加了2.89%。方式3 在滿足高速的情況下,延時(shí)為108ns,縮小LVT 的尺寸為D1、D1、D2、D2 來降低動(dòng)態(tài)功耗,其值為0.329 7mW,下降了9.17%,雖然LVT 靜態(tài)功耗相對HVT 增加了3倍,但是帶來動(dòng)態(tài)功耗顯著降低,從而得到最終的總功耗的降低,下降9.4%。同理表1 三級反相器鏈的方式3 下降了8.8%,表3 五 級 反 相 器 鏈 的 方 式3 下 降 了13.8%。換句話說,在相同時(shí)鐘周期下,LVT 可以通過尺寸的縮放帶來動(dòng)態(tài)功耗的降低,進(jìn)而帶來總功耗的降低。
Table 1 Timing and power consumption information of three-level inverter chain表1 三級反相器鏈的時(shí)序與功耗信息
Table 2 Timing and power consumption information of four-level inverter chain表2 四級反相器鏈的時(shí)序與功耗信息
Figure 4 Inverter chain timing circuits圖4 反相器鏈時(shí)序電路
Table 3 Timing and power consumption information of five-level inverter chain表3 五級反相器鏈的時(shí)序與功耗信息
經(jīng)過前面的單個(gè)標(biāo)準(zhǔn)單元和一條反相器鏈的分析后,我們發(fā)現(xiàn),可以通過LVT 單元降低動(dòng)態(tài)功耗來降低總功耗。對于門的類型選擇,主要在綜合階段、布局布線階段以及ECO(Engineering Change Order)階段。本小節(jié)分別對高低閾值電壓進(jìn)行綜合,分析動(dòng)態(tài)功耗占據(jù)總功耗比例大和小的兩種電路用何種閾值電壓綜合得到的功耗更低,以及在什么樣的時(shí)鐘周期下對應(yīng)哪種閾值電壓綜合出的功耗更低。所采用的電路一種是基于Benchmark的測試電路,并選擇ISCAS89 系列電路中的S1423做基準(zhǔn)電路,它包含600個(gè)門的規(guī)模;另一種是對AES電路進(jìn)行綜合,其規(guī)模約為7 000個(gè)門。
4.1.1 S1423總功耗結(jié)果分析
當(dāng)HVT 設(shè)置的時(shí)鐘周期小于1.1ns時(shí),松馳slack出現(xiàn)負(fù)數(shù),LVT 在小于1.0ns時(shí),slack出現(xiàn)負(fù)數(shù)。此時(shí)在小于1.0ns這個(gè)極限時(shí)鐘周期下,如果可以通過布局布線階段修復(fù)時(shí)序,那么在1.0ns到1.1ns之間的時(shí)鐘周期,即LVT 的slack為0,HVT 的slack剛好小于0,得到的LVT 功耗為0.195 4 mW,HVT 的功耗為0.207 mW,即LVT 的功耗更低。
當(dāng)設(shè)置的時(shí)鐘周期大于1.67 ns 后,采用LVT 的slack會(huì)出現(xiàn)裕量,因此對于圖5的1.2ns到1.67ns之間的時(shí)鐘周期,可以看出HVT 的總功耗更低。
當(dāng)設(shè)置的時(shí)鐘周期增加到一定值后,HVT 與LVT 的時(shí)鐘周期始終為2.1ns與1.67ns,不會(huì)隨著周期設(shè)定值增加實(shí)際的時(shí)鐘周期值也增大。圖中LVT-2.2ns表示設(shè)置的時(shí)鐘周期為2.2ns,但是實(shí)際的時(shí)鐘周期為1.67ns。即在設(shè)定的時(shí)鐘周期大于1.67ns 后,從圖LVT-2.2ns、LVT-2.4ns、LVT-2.6ns可以看出,LVT 綜合的功耗更小。
Figure 5 Total power of S1432in the same clock cycle圖5 S1432在相同時(shí)鐘周期下的總功耗
4.1.2 AES總功耗結(jié)果分析
對于AES電路在HVT 條件下時(shí)鐘周期小于1.1ns時(shí)slack出現(xiàn)負(fù)數(shù);而LVT 則是在時(shí)鐘周期小于0.6ns時(shí)slack出現(xiàn)負(fù)數(shù)。此時(shí)如果在0.6 ns到1.1ns之間這種極限時(shí)鐘周期下通過物理設(shè)計(jì)階段修復(fù)時(shí)序,那么在0.6ns到1.1ns之間的時(shí)鐘周期測出的功耗值如表4所示??梢钥闯觯贚VT 的slack為0、HVT 的slack剛好小于0時(shí),LVT 綜合出的功耗更低。
當(dāng)設(shè)定的時(shí)鐘周期大于1.1ns后,LVT 和HVT 的slack都為正。從圖6 可以看出,無論有沒有時(shí)序裕量,LVT 綜合出的總功耗都小于HVT綜合出的總功耗。因此,在相同時(shí)鐘周期下,AES電路用LVT 綜合出的總功耗更低。
Figure 6 Total power of AES in the same clock cycle圖6 AES在相同時(shí)鐘周期下的總功耗
Table 4 Power consumption across the design compiler in the same clock cycle表4 AES在相同時(shí)鐘周期下綜合的總功耗
4.2.1 S1423電路分析
對于S1423電路的總功耗分析,本文從動(dòng)態(tài)功耗和靜態(tài)功耗兩方面分別進(jìn)行分析著手。一方面電路的動(dòng)態(tài)功耗來自標(biāo)準(zhǔn)單元產(chǎn)生的內(nèi)部功耗以及網(wǎng)線負(fù)載產(chǎn)生的動(dòng)態(tài)開關(guān)功耗。如圖7a所示,在1.1ns到1.67ns之間,LVT 綜合出的動(dòng)態(tài)功耗要小于HVT 綜合出的動(dòng)態(tài)功耗,原因從圖8可以看出。圖8中橫軸為各個(gè)時(shí)鐘周期,圖8a縱軸為對應(yīng)的兩種高低閾值綜合出的標(biāo)準(zhǔn)單元數(shù)目,圖8b為緩沖器數(shù)目,圖8c為網(wǎng)線負(fù)載數(shù)目。HVT綜合的標(biāo)準(zhǔn)單元數(shù)目比LVT 多,多出3.2%~13.1%;緩沖單元數(shù)多出4.1%~53.7%。這些多余出來的單元會(huì)產(chǎn)生額外的內(nèi)部功耗,而內(nèi)部功耗值占動(dòng)態(tài)功耗的60%左右。因此最終LVT 單元綜合出來的動(dòng)態(tài)功耗要小于HVT 單元綜合出來的動(dòng)態(tài)功耗。另一個(gè)重要的原因來自于網(wǎng)線負(fù)載產(chǎn)生的動(dòng)態(tài)開關(guān)功耗。如圖8b 所示,可以發(fā)現(xiàn),HVT 綜合出來的網(wǎng)線數(shù)目要比LVT 綜合出來的數(shù)目高出3.2%~12.6%,這些多出的網(wǎng)線又產(chǎn)生額外的開關(guān)功耗,這部分開關(guān)功耗占總功耗的30%以上。最終LVT 動(dòng)態(tài)功耗比HVT 的降低4%左右。
Figure 7 Dynamic power and static power of S1423in the same clock cycle圖7 在相同時(shí)鐘周期下的動(dòng)態(tài)功耗和靜態(tài)功耗
另一方面,從圖7b可以看出,LVT 綜合產(chǎn)生的靜態(tài)功耗是HVT 的5倍以上,而該S1423電路的LVT 靜態(tài)功耗部分占總功耗的17%左右,因此最終的結(jié)果是:由于靜態(tài)功耗占總功耗的比例較大,使得LVT 產(chǎn)生的靜態(tài)功耗增大的量要大于LVT 產(chǎn)生的動(dòng)態(tài)功耗降低的量,從而總功耗未能降下來。
Figure 8 Numbers of standard cells,buffer cells and nets of the S1423across the design compiler in the same clock cycle圖8 S1423 在相同時(shí)鐘周期下綜合出的標(biāo)準(zhǔn)單元、緩沖單元和網(wǎng)線數(shù)目
因此對于靜態(tài)功耗占總功耗大的電路:當(dāng)LVT 的slack為0、HVT 的slack為負(fù)時(shí),用LVT綜合的功耗更低;當(dāng)HVT 和LVT 的slack都為0時(shí),HVT 綜合的總功耗更低;當(dāng)slack為正時(shí),從圖7可以看出,靜態(tài)功耗沒有變化,但是動(dòng)態(tài)功耗進(jìn)一步下降,約降低9%左右,從而LVT 綜合的總功耗要小于HVT 綜合的總功耗。從圖8可以看出,在slack為 正 時(shí)(LVT-2.2ns,LVT-2.4ns,LVT-2.6ns),單元數(shù)目以及網(wǎng)線負(fù)載數(shù)目都沒有變化。原因一是綜合的時(shí)鐘周期達(dá)到最優(yōu)后,時(shí)鐘周期不會(huì)再降低,但動(dòng)態(tài)功耗隨著設(shè)定的時(shí)鐘周期值增大而緩慢減小;原因二是足夠的時(shí)序裕量還有更優(yōu)的邏輯重組,這可以得到更低的動(dòng)態(tài)功耗。因此,在設(shè)置的時(shí)鐘周期LVT 有時(shí)序裕量,即slack為正的情況下,用LVT 綜合產(chǎn)生的功耗更低。
從圖9可以看出LVT 單元綜合出的面積比HVT 單元綜合出的面積小15%左右。原因是這些面積是標(biāo)準(zhǔn)單元的總數(shù)目與相應(yīng)單元面積的乘積之和,而前面已經(jīng)分析,LVT 綜合出的標(biāo)準(zhǔn)單元數(shù)目更少,從而具有面積優(yōu)勢。
4.2.2 AES電路分析
如圖10a所示,在1.1ns時(shí),slack為0。可以看出,LVT 綜合出的動(dòng)態(tài)功耗要小于HVT 綜合出的動(dòng)態(tài)功耗,原因從圖11可以看出。
Figure 10 Dynamic power and static power of AES in the same clock cycle圖10 AES在相同時(shí)鐘周期下的動(dòng)態(tài)功耗和靜態(tài)功耗
Figure 11 Numbers of standard cells,buffer cells and nets of the AES across the design compiler in the same clock cycle圖11 AES在相同時(shí)鐘周期下綜合出的標(biāo)準(zhǔn)單元、緩沖器以及網(wǎng)線數(shù)目
圖11a中HVT 比LVT 綜合的標(biāo)準(zhǔn)單元數(shù)目要多20.9%,圖11b中HVT 比LVT 綜合的緩沖單元數(shù)目多40.1%。這些內(nèi)部功耗值占動(dòng)態(tài)功耗的75%左右。從圖11c可以發(fā)現(xiàn),HVT 綜合出來的網(wǎng)線數(shù)目要比LVT 綜合出來的網(wǎng)線數(shù)目高出21%,這些多出的線產(chǎn)生的開關(guān)功耗,占總功耗的15%左右。最終LVT 動(dòng)態(tài)功耗比HVT 的降低20.4%左右。LVT 綜合出的動(dòng)態(tài)功耗要小,但是從圖10b可以看出,LVT 綜合產(chǎn)生的靜態(tài)功耗是HVT 的5倍以上,而該AES電路的靜態(tài)功耗部分占總功耗的8.9%左右,因此由于靜態(tài)功耗占總功耗的比例不大,使得LVT 產(chǎn)生的靜態(tài)功耗增量要小于LVT 產(chǎn)生的動(dòng)態(tài)功耗降低的量,從而總功耗降低。當(dāng)出現(xiàn)時(shí)序裕量時(shí),即slack為正,下圖10a的LVT1.2ns,LVT1.4ns,對應(yīng)的實(shí)際時(shí)鐘周期依然為1.1ns;LVT1.6ns,LVT1.8ns,LVT2.0ns對應(yīng)的實(shí)際時(shí)鐘周期為1.12ns。從圖10可以看出,靜態(tài)功耗沒有變化,但是動(dòng)態(tài)功耗進(jìn)一步下降,約降低40.8%左右,從而LVT 綜合的總功耗要小于HVT 綜合的總功耗。從圖11 可以看出,單元數(shù)目以及網(wǎng)線負(fù)載數(shù)目都沒有變化。原因與S1423電路一樣。因此,對于動(dòng)態(tài)功耗占的比例大的電路,用LVT 設(shè)計(jì)功耗比HVT 更低并且有時(shí)序余量時(shí),相比較總功耗降低得更多。
從圖12可以看出,LVT 單元綜合出的面積比HVT 單元綜合出的面積小28%。而前面已經(jīng)分析,LVT 綜合出的標(biāo)準(zhǔn)單元數(shù)目更少,從而帶來更小的面積優(yōu)勢。
Figure 12 Total area across the design compiler in the same clock cycle圖12 在相同時(shí)鐘周期下綜合出的面積
以上實(shí)驗(yàn)都是基于TT(0.9V,25℃)端角下的研究;AES電路在1.1ns周期下,用HVT 單元綜合用了7 860 個(gè) 門 和5 423 條 網(wǎng) 線,而 通 過LVT單元綜合只用了5 958個(gè)門和6 849條網(wǎng)線,節(jié)省了24.2%的門數(shù)和20.8%的網(wǎng)線。因此,用LVT單元綜合的門級網(wǎng)表對提供給后端做物理設(shè)計(jì),它的優(yōu)勢體現(xiàn)在邏輯門數(shù)和網(wǎng)線的減少。在物理設(shè)計(jì)階段由于短路徑等LVT 單元還可以替換為HVT 單元降低靜態(tài)功耗,最終在不同端角尤其是FF Corner下由于HVT 的一些替換而減少了“結(jié)溫”引起的靜態(tài)功耗問題,從而實(shí)現(xiàn)了用LVT 綜合出門和網(wǎng)線數(shù)量較少的門級網(wǎng)表,為后端物理設(shè)計(jì)提供了一個(gè)更優(yōu)的起點(diǎn),這意味著更低的動(dòng)態(tài)功耗,進(jìn)而達(dá)到降低總功耗的目的。
本文在40nm 工藝下分析了低閾值單元的內(nèi)部功耗和延時(shí)特性,在高速時(shí)序電路中使用小尺寸的低閾值單元降低單元數(shù)量和網(wǎng)線負(fù)載來達(dá)到降低動(dòng)態(tài)功耗的目的,從而驗(yàn)證了LVT 單元設(shè)計(jì)低功耗的可行性。因此,本文為高性能低功耗設(shè)計(jì)者提供了高低兩種閾值電壓選擇的可靠依據(jù)。
[1] Srivastav M,Rao S S S P,Bhatnagar H.Power reduction techniques using multi-Vt libraries[C]∥Proc of the 5th International Workshop on System-on-Chip for Real-Time Applications,2005:363-367.
[2] Sarvesh H K,Dennis M S,David T B.Design-time optimization of post-silicon tuned circuits using adaptive body Bias[J].Computer-Aided Design of Integrated Circuits and Systems,2008,27(3):481-494.
[3] Karnik T,Ye Y,Tschanz J,et al.Total power optimization by simultaneous dual-Vt allocation and device sizing in high performance microprocessors[C]∥Proc of the 39th Conference on Design Automation,2002:486-491.
[4] Qureshi S,Sanjeev K R.Power and performance optimization using multivoltage,multi-threshold and clock gating for low-end microprocessors[C]∥Proc of IEEE Region 10Conference,2009:1-6.
[5] Veendrick,HarryJ M.Short-circuit dissipation of static CMOS circuitry and its impact on the design of buffer circuits[J].IEEE Journal of Solid-State Circuits,1984,19(s):468-473.
[6] Chandrakasan A.Digital integrated circuits:A design perspective[M].2nd Edition.Beijing:Publishing House of Electronics Industry,2012.