淺析SoC芯片設(shè)計(jì)中的動(dòng)態(tài)功率估算挑戰(zhàn)
設(shè)計(jì)尺寸的增長(zhǎng)趨勢(shì)勢(shì)不可擋,這也一直是EDA驗(yàn)證工具的一個(gè)沉重負(fù)擔(dān)。動(dòng)態(tài)功率估算工具即是其一。
本文引用地址:http://2s4d.com/article/201609/303679.htm總有一些刺激因素誘使著客戶頻繁升級(jí)他們的移動(dòng)設(shè)備。其中包括更多功能和改進(jìn)的用戶體驗(yàn),更具吸引力的用戶界面,更輕的重量、更持久的電池壽命等等,不勝枚舉。從各方面考慮,似乎持久的電池壽命位居榜首,而更長(zhǎng)的電池壽命直接關(guān)系到更低的功耗。
自從五十年前Noyce和Kilby發(fā)明平面集成電路以來,微電子產(chǎn)品的功耗經(jīng)歷了一段穩(wěn)定下降期。平面技術(shù)使得縮放(縮小)固態(tài)器件成為可能。晶體管尺寸越小,同一區(qū)域內(nèi)容納的晶體管數(shù)量就越多,切換速度就越快,所消耗的能量就會(huì)越少,而芯片運(yùn)行時(shí)的溫度也會(huì)越低(相較于相同數(shù)量的晶體管而言)。
“Doublegate FinFET”,作者:Irene Ringworm,發(fā)布在英語維基百科上。通過維基共享資源依據(jù)CC BY-SA 3.0協(xié)議獲得授權(quán)。
在歷史上,微電子產(chǎn)品發(fā)展的衡量標(biāo)準(zhǔn)一直著眼于場(chǎng)效應(yīng)晶體管中源極和漏極之間硅通道的長(zhǎng)度(被稱為工藝技術(shù)節(jié)點(diǎn))。上世紀(jì)60年代初,該節(jié)點(diǎn)為50微米。十年后,這一數(shù)字下降到了1微米以下,而到了2003年,則達(dá)到100納米以下,開啟了納米技術(shù)時(shí)代。
在前二十年,由于漏電問題,晶體管未切換且空閑時(shí)的靜態(tài)功耗遠(yuǎn)小于晶體管切換狀態(tài)下的動(dòng)態(tài)功耗,小到可以忽略不計(jì)。到了180納米時(shí),靜態(tài)功耗開始飛速上升,到了2005年,由于節(jié)點(diǎn)降到了65納米以下,靜態(tài)功耗超過了動(dòng)態(tài)功耗。
不必?fù)?dān)心。FinFET或3D晶體管的發(fā)明及時(shí)地拉住了滑向消失深淵的平面晶體管。
FinFET預(yù)計(jì)可減少多達(dá)90%的靜態(tài)泄漏電流,并且僅使用等效平面晶體管50%的動(dòng)態(tài)功率。與平面等效晶體管相比,F(xiàn)inFET晶體管在同等功耗下運(yùn)行速度更快,或在同等性能下功耗更低。有了FinFET,設(shè)計(jì)團(tuán)隊(duì)可以更好地平衡產(chǎn)量、性能和功率,滿足各個(gè)應(yīng)用程序的需求。
功率估算挑戰(zhàn)
如前所述,更低的工藝節(jié)點(diǎn)帶來了更高的晶體管密度,這使設(shè)計(jì)團(tuán)隊(duì)有機(jī)會(huì)在其中加入越來越多的功能。如今,在最大型的設(shè)計(jì)中,晶體管數(shù)量超過了100 億。遺憾的是,設(shè)計(jì)尺寸的增長(zhǎng)趨勢(shì)勢(shì)不可擋,這也一直都是 EDA驗(yàn)證工具的一個(gè)沉重負(fù)擔(dān)。動(dòng)態(tài)功率估算工具即是其一。我們可以假定,電路的動(dòng)態(tài)功耗與電路在運(yùn)行時(shí)發(fā)生的邏輯轉(zhuǎn)換次數(shù)成比例。因此,要精確地估計(jì)和優(yōu)化數(shù)字電路的功率,我們需要記錄每個(gè)時(shí)鐘周期內(nèi)每個(gè)設(shè)計(jì)元素的切換活動(dòng),并將該活動(dòng)饋入工具執(zhí)行功率相關(guān)的任務(wù)中。
在不跟蹤相應(yīng)周期的情況下記錄切換活動(dòng)可獲得運(yùn)行時(shí)段內(nèi)的平均功耗。通過添加按周期記錄的信息可以跟蹤峰值功耗。
我們直覺上會(huì)假設(shè)記錄切換活動(dòng)的準(zhǔn)確性會(huì)隨著設(shè)計(jì)說明從高層次抽象下降到門級(jí),進(jìn)而又下降到晶體管級(jí)而增加,原因是可用的設(shè)計(jì)詳細(xì)信息越來越多。
現(xiàn)在的困境是,在電子系統(tǒng)級(jí)(ESL),設(shè)計(jì)人員在對(duì)比多個(gè)架構(gòu)、多種場(chǎng)景或軟件算法并實(shí)現(xiàn)最佳功率優(yōu)化方案上擁有了前所未有的靈活性。糟糕的是,在說明級(jí)別,功率估算卻不夠準(zhǔn)確。在門級(jí),可以獲得的詳細(xì)信息極少,靈活性也非常有限,僅可支持完成邊緣優(yōu)化,在晶體管級(jí)更是如此。而在寄存器傳輸級(jí) (RTL),似乎可以實(shí)現(xiàn)最佳折中。既可以獲得足夠的詳細(xì)信息來實(shí)現(xiàn)功率的適當(dāng)估算,又有足夠的靈活性來實(shí)現(xiàn)較大的功率優(yōu)化。
動(dòng)態(tài)功耗在很大程度上取決于應(yīng)用于其主要輸入設(shè)備的激勵(lì)或在嵌入式SoC設(shè)計(jì)時(shí)代由嵌入式處理器執(zhí)行的嵌入式軟件所觸發(fā)的設(shè)計(jì)內(nèi)的活動(dòng)。也就是說,通過啟動(dòng)操作系統(tǒng)或執(zhí)行驅(qū)動(dòng)程序、應(yīng)用程序或診斷。
諸如模擬器和仿真器等驗(yàn)證引擎是用于跟蹤切換活動(dòng)的完美工具。要提醒的是,模擬器的執(zhí)行速度主要取決于設(shè)計(jì)級(jí)別說明、設(shè)計(jì)大小和應(yīng)用于設(shè)計(jì)的激勵(lì)類型。為了減輕并消除此類依賴,同時(shí)為了處理嵌入式軟件,只有仿真器可以在合理的時(shí)間段內(nèi)執(zhí)行這一挑戰(zhàn)性任務(wù)。
截至目前,估算功耗一直采用兩步法:第一步,模擬器或仿真器會(huì)在一個(gè)交換格式 (SAIF) 文件中跟蹤并累積整個(gè)運(yùn)行過程中的切換活動(dòng),或在快速信號(hào)數(shù)據(jù)庫(FSDB)文件中按周期記錄每個(gè)信號(hào)的切換活動(dòng)。第二步,使用一個(gè)饋入SAIF文件的功率估算工具計(jì)算整個(gè)電路的平均功耗,或使用饋入FSDB文件的功率估算工具計(jì)算設(shè)計(jì)時(shí)間和空間內(nèi)的峰值功率。
上述機(jī)制對(duì)于SoC設(shè)計(jì)而言有兩個(gè)問題。SAIF和FSDB文件巨大且?guī)缀鯚o法管理,且需要長(zhǎng)期維護(hù)。在十億門設(shè)計(jì)時(shí)代,這兩個(gè)問題結(jié)合在一起使上述方法沒有了用武之地。
評(píng)論