專利名稱:傳輸透明的片上總線低功耗環(huán)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種傳輸透明的片上總線低功耗環(huán)的方法,該方法不改變現(xiàn)有總線結(jié)構(gòu),可復(fù)用連接在總線上的IP,以最小的代價(jià)有效地降低片上總線上所消耗的功耗。該發(fā)明可以滿足諸多領(lǐng)域片上系統(tǒng)總線低功耗的需要。
背景技術(shù):
微電子已經(jīng)邁向了片上系統(tǒng)(System on Chip)設(shè)計(jì),使得功耗也成為一個重要的設(shè)計(jì)指標(biāo)。在CMOS中,P∞Σi=1Ncivdd2fpi,]]>f·pi與電路的第i個節(jié)點(diǎn)的翻轉(zhuǎn)次數(shù)成正比。對于總線來說,減少總線上的翻轉(zhuǎn)次數(shù),就是降低總線上的功耗。片上總線連接著所有的IP。IP的配置、功能的實(shí)現(xiàn)都是通過總線上的通信來進(jìn)行的。隨著片上芯片工作頻率增大,總線上的通信量也日益增加,使得總線上翻轉(zhuǎn)次數(shù)增加,功耗日趨增大。所以,尋求降低總線功耗的方法成為燃眉之須。
而現(xiàn)有的方法雖然可以有效的降低了總線的平均功耗和尖峰功耗,但是這些方法都對片上總線欠考慮或不適用現(xiàn)有片上總線。針對已經(jīng)存在的片上總線結(jié)構(gòu),本文提出了傳輸透明的片上總線低功耗環(huán)算法。該算法不改變現(xiàn)有總線結(jié)構(gòu),仍可復(fù)用連接在總線上的IP,以最小的代價(jià)有效地降低片上總線上所消耗的功耗。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種傳輸透明的片上總線低功耗環(huán)的方法,它可復(fù)用連接在總線上的IP。
它包括用于對片外總線上編碼的步驟;用于對片上地址線編碼的步驟所述傳輸透明的片上總線低功耗環(huán)的方法還包括用于對片上地址線進(jìn)行解碼的步驟;用于對片上地址線進(jìn)行編碼,使得地址線上數(shù)據(jù)翻轉(zhuǎn)頻率減小的步驟;用于對片上數(shù)據(jù)線進(jìn)行解碼的步驟;用于對片上數(shù)據(jù)線進(jìn)行編碼,使得數(shù)據(jù)線上數(shù)據(jù)翻轉(zhuǎn)頻率減小的步驟。
所述用于片上地址線進(jìn)行解碼的步驟若地址線表示為A={am-1,am-2,…,a0},i時刻的地址線表示為Ai,則相鄰節(jié)拍地址線的漢明距離表示為H(Ai,Aj)=|Aj-Ai|=Σm=0M-1(ami⊕amj)]]>,對32位地址做以下處理如果傳輸模式為突發(fā)模式,則ADDRESS={iADDRESS[31],iADDRESS[30:0]iADDRESS[31:1]},否則進(jìn)行片上數(shù)據(jù)編碼的步驟;
用于對片上地址線進(jìn)行編碼,使得地址線上數(shù)據(jù)翻轉(zhuǎn)頻率減小的步驟如果傳輸模式為突發(fā)模式,則ADDRESS={{iADDRESS[31]iADDRESS[30]… iADDRESS[i]}i,i=31,30,…,0},否則進(jìn)行片上數(shù)據(jù)解碼的步驟;用于對片上數(shù)據(jù)線進(jìn)行解碼的步驟WRAPPER_DATA_DECODE(input[31:0]iDATA,output[31:0]oDATA,input[3:0]iDI){for(i=0;i<4;i++){min=i*8; max=i*8+7;if(iDI[i]==HIGH)oDATA[max:min]=~iDATA[max:min];else oDATA[max:min]=iDATA[max:min];}}用于對片上數(shù)據(jù)線進(jìn)行編碼,使得數(shù)據(jù)線上數(shù)據(jù)翻轉(zhuǎn)頻率減小的步驟WRAPPER_DATA_DECODE(input[31:0]iDATA,output[31:0]oDATA,input[3:0]iDI){for(i=0;i<4;i++){min=i*8; max=i*8+7;if(iDI[i]==HIGH)oDATA[max:min]=~iDATA[max:min];else oDATA[max:min]=iDATA[max:min];}}本發(fā)明具有以下技術(shù)效果(1)采用了功耗環(huán)的片上總線減小了總線上的翻轉(zhuǎn)次數(shù),平均功耗比不采用功耗環(huán)的片上總線的平均功耗有明顯的降低(2)該算法適用于突發(fā)數(shù)據(jù)傳輸和單數(shù)據(jù)傳輸各自的不同的特性,不改變現(xiàn)有總線結(jié)構(gòu),可復(fù)用連接在總線上的IP,以最小的代價(jià)有效地降低片上總線上所消耗的功耗。
圖1是傳輸透明的片上總線低功耗環(huán)的方法結(jié)構(gòu)框圖(虛線內(nèi)部為總線);圖2是傳輸透明的片上總線低功耗環(huán)的地址線電路結(jié)構(gòu);圖3是本發(fā)明的用總線功耗測試的片上架構(gòu)圖;圖4是傳輸透明的片上總線低功耗環(huán)數(shù)據(jù)總線編碼的軟件流程圖;圖5是傳輸透明的片上總線低功耗環(huán)數(shù)據(jù)總線解碼的軟件流程圖;圖6是傳輸透明的片上總線低功耗環(huán)地址總線編碼的軟件流程圖;圖7是傳輸透明的片上總線低功耗環(huán)地址總線解碼的軟件流程圖。
具體實(shí)施例方式
如圖1所示,SoC總線包括地址線A、讀數(shù)據(jù)線R、寫數(shù)據(jù)線W、控制線及MUX邏輯。
如圖2所示,傳輸透明的功耗環(huán)地址線電路結(jié)構(gòu)由編碼和譯碼兩部分組成,功耗環(huán)加載在圖一所示的環(huán)狀結(jié)構(gòu)上。
如圖3所示,采用AMBA總線的SoC系統(tǒng)測試片上總線功耗。測試向量采用在CPU執(zhí)行的128位長的LFSR(128LFSR)、N=32基2的FFT(32FFT)、網(wǎng)絡(luò)傳輸三種軟件來不斷的改變總線上的地址和數(shù)據(jù)。表四表示測試時系統(tǒng)支持的傳輸模式所占比例。以32位片上總線為例(M=N=32),描述傳輸透明的低功耗環(huán)算法一.如圖4所示,功耗環(huán)數(shù)據(jù)總線編碼的具體流程步驟一首先讓控制循環(huán)的變量i初始化為0;繼續(xù)步驟二;步驟二判斷i是否小于4;若小于4,繼續(xù)步驟三,否則跳轉(zhuǎn)到步驟八;步驟三以參數(shù)min=i*8,max=i*8+7計(jì)算漢明距離Hi=HammingDistance(rDATA[max:min],iDATA[max:min])=Σm=07(rDATA[m]⊕iDATA[m])]]>;繼續(xù)步驟四;步驟四判斷步驟三中計(jì)算得到的漢明距離是否大于4;若大于4,繼續(xù)步驟五,否則跳轉(zhuǎn)到步驟六;步驟五置標(biāo)志位oDI[i]=1;編碼后數(shù)據(jù)為輸入數(shù)據(jù)取反oDATA[max:min]=iDATA[max:min];跳轉(zhuǎn)到步驟七;步驟六置標(biāo)志位oDI[i]=0;編碼后數(shù)據(jù)即為輸入數(shù)據(jù)oDATA[max:min]=iDATA[max:min];繼續(xù)步驟七;步驟七控制循環(huán)的變量i自加1;跳轉(zhuǎn)到步驟二;步驟八數(shù)據(jù)總線編碼完成。
二.如圖5所示,功耗環(huán)數(shù)據(jù)總線解碼的具體流程步驟一首先讓控制循環(huán)的變量i初始化為0;繼續(xù)步驟二;步驟二判斷i是否小于4;若小于4,繼續(xù)步驟三,否則跳轉(zhuǎn)到步驟八;步驟三設(shè)置參數(shù)min=i*8,max=i*8+7;繼續(xù)步驟四;步驟四判斷標(biāo)志位oDI[i]是否為1;若為1,繼續(xù)步驟五,否則跳轉(zhuǎn)到步驟六;步驟五解碼后數(shù)據(jù)為輸入數(shù)據(jù)取oDATA[max:min]=~iDATA[max:min]跳轉(zhuǎn)到步驟七;步驟六解碼后數(shù)據(jù)即為輸入數(shù)oDATA[max:min]=iDATA[max:min];繼續(xù)步驟七;步驟七控制循環(huán)的變量i自加1;跳轉(zhuǎn)到步驟二;步驟八數(shù)據(jù)總線解碼完成。
三.如圖6所示,功耗環(huán)地址總線編碼的具體流程步驟一初始化;繼續(xù)步驟二;步驟二判斷是否為突發(fā)傳輸模式?若是突發(fā)傳輸模式,繼續(xù)步驟三,否則跳轉(zhuǎn)到步驟四;
步驟三使地址oADDRESS={iADDRESS[31],iADDRESS[30:0]iADDRESS[31:1];跳轉(zhuǎn)到步驟五;步驟四進(jìn)行數(shù)據(jù)總線編碼繼續(xù)步驟五;步驟五地址總線編碼完成。
四.如圖7所示,功耗環(huán)地址總線解碼的具體流程步驟一初始化;繼續(xù)步驟二;步驟二判斷是否為突發(fā)傳輸模式?若是突發(fā)傳輸模式,繼續(xù)步驟三,否則跳轉(zhuǎn)到步驟四;步驟三使地址oADDRESS={{iADDRESS[31]iADDRESS[30]…iADDRESS[i]}i,i=31,30,…,0};步驟四進(jìn)行數(shù)據(jù)總線解碼繼續(xù)步驟五;步驟五地址總線解碼完成。
實(shí)施例1對于AMBA數(shù)據(jù)總線編碼的過程傳入數(shù)據(jù)rDATA[max:min]=1010_0111_0100_1011_0110_0110_1110_0010iDATA[max:min]=1110_0101_1010_1100_1110_0011_0110_1011控制循環(huán)的變量i初始化為0;i<4,以參數(shù)min=i*8=0,max=i*8+7=8計(jì)算漢明距離Hi=HammingDistance(rDATA[max:min],iDATA[max:min])=Σm=07(rDATA[m]⊕iDATA[m])=2<4;]]>置標(biāo)志位oDI[i]=0;編碼后數(shù)據(jù)即為輸入數(shù)據(jù)oDATA[max:min]=iDATA[max:min];控制循環(huán)的變量i自加1,即i=1<4;以參數(shù)min=i*8=8,max=i*8+7=15計(jì)算漢明距離離Hi=HammingDistance(rDATA[max:min],iDATA[max:min])=Σm=07(rDATA[m]⊕iDATA[m])=6>4,]]>繼置標(biāo)志位oDI[i]=1;編碼后數(shù)據(jù)為輸入數(shù)據(jù)取反oDATA[max:min]=~iDATA[max:min];控制循環(huán)的變量i自加1,即i=2<4;以參數(shù)min=i*8=16,max=i*8+7=23計(jì)算漢明距離Hi=HammingDistance(rDATA[max:min],iDATA[max:min])=Σm=07(rDATA[m]⊕iDATA[m])=3<4;]]>編碼后數(shù)據(jù)即為輸入數(shù)據(jù)oDATA[max:min]=iDATA[max:min];控制循環(huán)的變量i自加1,即i=3<4;以參數(shù)min=i*8=24,max=i*8+7=31計(jì)算漢明距離Hi=HammingDistance(rDATA[max:min],iDATA[max:min])=Σm=07(rDATA[m]⊕iDATA[m])=3<4;]]>
編碼后數(shù)據(jù)即為輸入數(shù)據(jù)oDATA[max:min]=iDATA[max:min];控制循環(huán)的變量i自加1,即i=4;完成數(shù)據(jù)總線編碼。
實(shí)施例2對于AMBA地址總線突發(fā)模式解碼的過程判斷發(fā)現(xiàn)為突發(fā)模式;地址地址oADDRESS={{iADDRESS[31]iADDRESS[30]…iADDRESS[i]}i,i=31,30,…,0};完成地址總線解碼。
權(quán)利要求
1.一種降低總線功耗的方法,包括用于對片外總線上編碼的步驟;其特征是所述傳輸透明的片上總線低功耗環(huán)的方法還包括用于對片上地址線進(jìn)行解碼的步驟;用于對片上地址線進(jìn)行編碼,使得地址線上數(shù)據(jù)翻轉(zhuǎn)頻率減小的步驟;用于對片上數(shù)據(jù)線進(jìn)行解碼的步驟;用于對片上數(shù)據(jù)線進(jìn)行編碼,使得數(shù)據(jù)線上數(shù)據(jù)翻轉(zhuǎn)頻率減小的步驟。
2.根據(jù)權(quán)利要求1所述的一種傳輸透明的片上總線低功耗環(huán)的方法,其特征是所述用于片上地址線進(jìn)行解碼的步驟若地址線表示為A={am-1,am-2,…,a0},i時刻的地址線表示為Ai,則相鄰節(jié)拍地址線的漢明距離表示為H(Ai,Aj)=|Aj-Ai|=Σm=0M-1(ami⊕amj),]]>對32位地址做以下處理如果傳輸模式為突發(fā)模式,則ADDRESS={iADDRESS[31],iADDRESS[30:0]iADDRESS[31:1]},否則進(jìn)行片上數(shù)據(jù)編碼的步驟;
3.根據(jù)權(quán)利要求1所述的一種傳輸透明的片上總線低功耗環(huán)的方法,其特是所述用于對片上地址線進(jìn)行編碼,使得地址線上數(shù)據(jù)翻轉(zhuǎn)頻率減小的步驟如果傳輸模式為突發(fā)模式,則ADDRESS={iADDRESS[31]iADDRESS[30]…iADDRESS[i])i,i=31,30,…,0),否則進(jìn)行片上數(shù)據(jù)解碼的步驟;
4.根據(jù)權(quán)利要求1所述的一種傳輸透明的片上總線低功耗環(huán)的方法,其特征是所述用于對片上數(shù)據(jù)線進(jìn)行解碼的步驟WRAPPER_DATA_DECODE(input[31:0]iDATA,output[31:0]oDATA,input[3:0]iDI){for(i=0;i<4;i++){min=i*8; max=i*8+7;if (iDI[i]==HIGH)oDATA[max:min]=~iDATA[max:min];else oDATA[max:min]=iDATA[max:min];}}
5.根據(jù)權(quán)利要求1所述的一種傳輸透明的片上總線低功耗環(huán)的方法,其特征是所述用于對片上數(shù)據(jù)線進(jìn)行編碼,使得數(shù)據(jù)線上數(shù)據(jù)翻轉(zhuǎn)頻率減小的步驟WRAPPER_DATA_DECODE(input[31:0]iDATA,output[31:0]oDATA,input[3:0]iDI){for(i=Oi<4;i++){min=i*8; max=i*8+7;if(iDI[i]==HIGH)oDATA[max:min]=~iDATA[max:min];else oDATA[max:min]=iDATA[max:min];}}
全文摘要
本發(fā)明公開了一種傳輸透明的片上總線低功耗環(huán)的方法。它包括用于對片上地址線進(jìn)行解碼的步驟;用于對片上地址線進(jìn)行編碼,使得地址線上數(shù)據(jù)翻轉(zhuǎn)頻率減小的步驟;用于對片上數(shù)據(jù)線進(jìn)行解碼的步驟;用于對片上數(shù)據(jù)線進(jìn)行編碼,使得數(shù)據(jù)線上數(shù)據(jù)翻轉(zhuǎn)頻率減小的步驟。本發(fā)明具有以下技術(shù)效果(1)采用了功耗環(huán)的片上總線減小了總線上的翻轉(zhuǎn)次數(shù),平均功耗比不采用功耗環(huán)的片上總線的平均功耗有明顯的降低(2)該算法適用于突發(fā)數(shù)據(jù)傳輸和單數(shù)據(jù)傳輸各自的不同的特性,不改變現(xiàn)有總線結(jié)構(gòu),可復(fù)用連接在總線上的IP,以最小的代價(jià)有效地降低片上總線上所消耗的功耗。
文檔編號G06F13/38GK1971482SQ20061004899
公開日2007年5月30日 申請日期2006年1月11日 優(yōu)先權(quán)日2006年1月11日
發(fā)明者王國雄, 葛海通 申請人:浙江大學(xué)