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