淺析SoC芯片設計中的動(dòng)態(tài)功率估算挑戰
設計尺寸的增長(cháng)趨勢勢不可擋,這也一直是EDA驗證工具的一個(gè)沉重負擔。動(dòng)態(tài)功率估算工具即是其一。
本文引用地址:http://dyxdggzs.com/article/201609/303679.htm總有一些刺激因素誘使著(zhù)客戶(hù)頻繁升級他們的移動(dòng)設備。其中包括更多功能和改進(jìn)的用戶(hù)體驗,更具吸引力的用戶(hù)界面,更輕的重量、更持久的電池壽命等等,不勝枚舉。從各方面考慮,似乎持久的電池壽命位居榜首,而更長(cháng)的電池壽命直接關(guān)系到更低的功耗。
自從五十年前Noyce和Kilby發(fā)明平面集成電路以來(lái),微電子產(chǎn)品的功耗經(jīng)歷了一段穩定下降期。平面技術(shù)使得縮放(縮小)固態(tài)器件成為可能。晶體管尺寸越小,同一區域內容納的晶體管數量就越多,切換速度就越快,所消耗的能量就會(huì )越少,而芯片運行時(shí)的溫度也會(huì )越低(相較于相同數量的晶體管而言)。

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