零翻轉(zhuǎn)編碼地址總線SoC的低功耗設(shè)計(jì)
相對(duì)整個(gè)SoC而言,編碼器和解碼器的電路規(guī)模很小,帶來(lái)的額外硬件面積和功耗也很小[3,4]。
3驗(yàn)證結(jié)果分析
將零翻轉(zhuǎn)法應(yīng)用于SoC中,改變SoC設(shè)計(jì)的地址總線寬度,分別是8、16、32、64位。對(duì)內(nèi)部地址總線和外部地址總線分別計(jì)算出優(yōu)化前后的功耗,并分析結(jié)果。使用的EDA工具是Synopsys公司的功耗分析軟件Power Compiler。
3.1零翻轉(zhuǎn)編碼對(duì)內(nèi)部地址總線功耗的影響
本測(cè)試方案中,地址總線上懸掛了15個(gè)功能模塊,完全在SoC電路內(nèi)部,總線每一位的負(fù)載最大為2.1pF。以10 000個(gè)完全連續(xù)的地址向量運(yùn)行SoC,計(jì)算地址總線功耗。計(jì)算結(jié)果如表1所列。
表1內(nèi)部總線功耗測(cè)試
![](http://editerupload.eepw.com.cn/fetch/20161101/324839_2_0.jpg)
當(dāng)總線寬度N增大時(shí),編碼器的MUX寬度隨之增大,它的控制信號(hào)sel的負(fù)載增加,導(dǎo)致sel時(shí)延增大。當(dāng) N = 32時(shí)的RTL代碼,基于TSMC-0.25μm工藝庫(kù),經(jīng)Design Compiler綜合,得出的關(guān)鍵路徑從D1觸發(fā)器時(shí)鐘端到MUX的輸出,最大延時(shí)為4.7ns。時(shí)鐘頻率是50MHz,編碼器的延遲只占時(shí)鐘周期的 23.5%。這個(gè)百分比很小。解碼器的結(jié)構(gòu)比編碼器更簡(jiǎn)單。可見(jiàn),編碼器和解碼器都能夠滿足時(shí)序要求。
如圖2所示,優(yōu)化后的總線功耗降低了。其中8位總線降低幅度最大,達(dá)到了88.3%;而隨著N的增加,功耗降低的幅度變小。由于驗(yàn)證的10 000組地址向量沒(méi)有變,所以?xún)?yōu)化后總線活動(dòng)減少而節(jié)省的功耗幾乎不隨N的變化而變化;而當(dāng)N增大時(shí),編碼器的規(guī)模成倍增大(見(jiàn)表1),編碼器硬件所消耗的功率上升很快。因此,編碼器的功耗不斷增大,總線活動(dòng)節(jié)省的功耗幾乎不變,導(dǎo)致總功耗降低的幅度越來(lái)越小。
![](http://editerupload.eepw.com.cn/fetch/20161101/324839_2_1.jpg)
圖2零翻轉(zhuǎn)編碼降低的功耗與總線寬度的關(guān)系
如果地址不完全連續(xù),那么功耗降低的幅度更小。所以,當(dāng)內(nèi)部地址總線寬度過(guò)大,超過(guò)32位時(shí),不適宜應(yīng)用零翻轉(zhuǎn)算法。
3.2零翻轉(zhuǎn)編碼對(duì)外部地址總線功耗的影響
本測(cè)試方案中,地址總線經(jīng)過(guò)PAD連接到片外存儲(chǔ)器,總線每一位的負(fù)載為50pF。運(yùn)行一個(gè)帶有循環(huán)和跳轉(zhuǎn)的程序?qū)ζ獯鎯?chǔ)器寫(xiě)值,總線功耗結(jié)果如表2 所列。
表2外部總線功耗測(cè)試
![](http://editerupload.eepw.com.cn/fetch/20161101/324839_2_2.jpg)
總線負(fù)載為50pF,優(yōu)化后節(jié)省的功耗遠(yuǎn)大于編碼器硬件產(chǎn)生的功耗,后者對(duì)功耗降低比例的影響減小。所以, 隨著N的增大,功耗節(jié)省比例降低的幅度變小。SoC總線寬度一般在64位以?xún)?nèi),因此,零翻轉(zhuǎn)編碼法幾乎適用于所有的SoC外部地址總線。
由表1與表2的功耗量級(jí)的差別知道,總線負(fù)載越大,零翻轉(zhuǎn)法優(yōu)化的功耗就越大,編碼器硬件的負(fù)面影響越小。
結(jié)語(yǔ)
本文介紹了零翻轉(zhuǎn)編碼地址總線低功耗設(shè)計(jì)方法。當(dāng)?shù)刂房偩€一直連續(xù)取址時(shí),通過(guò)零翻轉(zhuǎn)編碼,理論上可以達(dá)到地址總線電平的零翻轉(zhuǎn),最大限度地降低地址總線功耗。這種設(shè)計(jì)方法,既適用于片外地址總線,也適用于寬度在32位以?xún)?nèi)的SoC內(nèi)部地址總線。
參考文獻(xiàn)
1. Stan M R.Burleson W P Bus-invert coding for low-power I/O 1995
2. Weste N.Eshraghian K Principles ofCMOSVLSI Design 1988
3. Mehta H.Owens R M.Irwin M J Some Issues in Gray Code Addressing 1996(96)
4. Benini L.De Micheli G.Macii E Asymptotic ZeroTransition Activity Encoding for Busses in Low-power
Microprocessor-Based Systems
5. Benini L.De Micheli G.Macii E Address Bus Encoding Technique for System-Level Power Optimization 1998
評(píng)論