新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > SOC參數(shù)自動配置設(shè)計方法與功耗優(yōu)化

SOC參數(shù)自動配置設(shè)計方法與功耗優(yōu)化

作者: 時間:2012-10-29 來源:網(wǎng)絡(luò) 收藏

鄰域搜索算法

的性能相關(guān)性是優(yōu)化的主要難題。 首先需要一種數(shù)據(jù)結(jié)構(gòu)來表征性能相關(guān)性。 圖1 較好地表示了的性能相關(guān)性。 其中,參數(shù)用節(jié)點(diǎn)表示,而節(jié)點(diǎn)與節(jié)點(diǎn)間的連線表示兩參數(shù)的性能相關(guān)。節(jié)點(diǎn)和節(jié)點(diǎn)之間的連線是有方向性的,從A 到B 的邊表示參數(shù)B 與A 的性能相關(guān)。

圖1  功耗性能相關(guān)圖

隨著集成度的進(jìn)一步提高,參數(shù)個數(shù)增多,導(dǎo)致設(shè)計選擇空間急劇擴(kuò)大,完全地對每一個參數(shù)組合進(jìn)行評價是不可能的。 由于每次計算代價函數(shù)需要很長的時間,一些進(jìn)化優(yōu)化算法,如遺傳算法不再適用。 鄰域搜索算法是一種解決優(yōu)化問題的方法。 一般來說,鄰域搜索算法只能找到局部最優(yōu)解。但是與大多數(shù)優(yōu)化問題不同, 的參數(shù)具有一定的方向性,系統(tǒng)設(shè)計師的經(jīng)驗可以幫助設(shè)計師找到一種較優(yōu)化的參數(shù)組合, 參數(shù)優(yōu)化的主要目的是對系統(tǒng)性能進(jìn)行微調(diào),因此鄰域搜索算法可以滿足SOC 參數(shù)優(yōu)化的要求。

以一個數(shù)據(jù)采集系統(tǒng)為例來驗證領(lǐng)域搜索算法的有效性,數(shù)據(jù)采集系統(tǒng)的參數(shù)如表1 所示。 在這個應(yīng)用中,系統(tǒng)從UART 接收數(shù)據(jù),利用DMA 運(yùn)送到內(nèi)存,軟件進(jìn)行32 點(diǎn)FIR 濾波處理。 UART 的接收速率是10kB/s ,參數(shù)的性能相關(guān)圖如圖1 所示。

首先建立功耗相關(guān)圖。在建圖過程中,可以利用參數(shù)的數(shù)值相關(guān)進(jìn)行參數(shù)歸并,比如MUL的選用和MAC的選用可以歸并為一個參數(shù);以及區(qū)分參數(shù)的層次性,比如ICache 的失配參數(shù)N 由參數(shù)A 、B 、C 的一個子圖組成。 接著設(shè)立代價函數(shù)f ( K) =系統(tǒng)功耗, K 是一個參數(shù)組合。 選擇初始解Kbest.f best=f(Kbest ) 。 然后進(jìn)行參數(shù)優(yōu)化,參數(shù)優(yōu)化的算法步驟如下。

1) 分析功耗相關(guān)圖的拓?fù)漤樞?,包括較低層次的子圖。 一般可以采用鄰接表作為實(shí)現(xiàn)上述算法的數(shù)據(jù)結(jié)構(gòu)。 首先從圖中選一個入度為0 的節(jié)點(diǎn)并將其輸出,然后從圖中刪掉此節(jié)點(diǎn)及其所有的邊。 反復(fù)執(zhí)行這兩步,直至剩下的圖中再也沒有入度為0 的節(jié)點(diǎn)。 剩下的就是單個節(jié)點(diǎn)或環(huán)路。 分析拓?fù)漤樞蚴?為了確定參數(shù)優(yōu)化的順序。 拓?fù)湫蛄械牡谝粋€節(jié)點(diǎn)就是第一個被優(yōu)化的參數(shù)。

表1  數(shù)據(jù)采集系統(tǒng)參數(shù)表

2) 鄰域映射定義為取當(dāng)前優(yōu)化節(jié)點(diǎn)的最近可選值。 仿真得到功耗f ( K) 。 如果f ( K) f best ,則Kbest = K , f best = f ( K) ;否則退回原來的值。 重復(fù)步驟2) ,直到最近的可選值都被仿真過。

3) 選擇下一個優(yōu)化的節(jié)點(diǎn),一般選擇拓?fù)湫蛄械南乱粋€參數(shù),但是在環(huán)路中,如果一個參數(shù)發(fā)生改變,則需要重新遍歷一遍環(huán)路,這時應(yīng)取環(huán)路上的節(jié)點(diǎn)。 如果該節(jié)點(diǎn)包含較低層次的子圖,則選取子圖中的節(jié)點(diǎn)。 重復(fù)步驟2) 。

實(shí)驗結(jié)果

在進(jìn)行優(yōu)化實(shí)驗前, 需要建立IP的功耗模型。 門級電路的功耗估計已經(jīng)比較成熟了。 因為門電路的結(jié)構(gòu)比較簡單,可以比較容易地測量靜態(tài)功耗,并根據(jù)標(biāo)準(zhǔn)單元的輸入建立動態(tài)功耗的查詢表。 但是門電路的功耗分析可能需要較大的運(yùn)算量,而且門電路方法一般用于設(shè)計的后期,這時軟硬件劃分、硬件微結(jié)構(gòu)設(shè)計、寄存器傳輸級(RTL)設(shè)計、綜合都已經(jīng)完成了。 這種方法無法對系統(tǒng)設(shè)計提供幫助或參考,這對系統(tǒng)設(shè)計師來說是很大的擔(dān)心,也可能對設(shè)計周期產(chǎn)生影響。 當(dāng)前功耗建模的方向主要是在RTL 或行為級領(lǐng)域。功耗常常與狀態(tài)相關(guān)。 對于狀態(tài)機(jī)電路來說,由于硬件模塊一般有幾個狀態(tài),在不同狀態(tài)下,每個時鐘周期上消耗的能量是不同的,可以利用IP 的狀態(tài)機(jī)建模。 狀態(tài)功耗模型并不一定和IP 核的電路狀態(tài)機(jī)完全一致,它還可以考慮電路中的一些組合邏輯輸出和關(guān)鍵輸入信號如門控時鐘信號等,只要這些信號的組合可以表示一個特殊的功耗狀態(tài)即可。本文采用常用的狀態(tài)功耗建模方法,利用TSMC0。18 工藝的門電路仿真數(shù)據(jù)對Cache 、GPR、各運(yùn)算單元、DMA 和UART 進(jìn)行建模。

在軟硬件仿真平臺上,對這個數(shù)據(jù)采集系統(tǒng)進(jìn)行仿真。 由于應(yīng)用程序較短以及采樣速率不是很高,在實(shí)驗中,共經(jīng)過了28 個參數(shù)組合的仿真,得到的優(yōu)化解如表2 所示。 如果對整個設(shè)計空間進(jìn)行仿真則需要1.92×107 次仿真。

表2  對參數(shù)進(jìn)行鄰域搜索優(yōu)化的結(jié)果

結(jié) 語

原有的硬件描述語言難以適應(yīng)參數(shù)化設(shè)計的要求,Eperl 和Vperl 提供了硬件描述語言的擴(kuò)展。 利用參數(shù)配置環(huán)境嵌入Eperl 和Vperl ,可以生成對應(yīng)特定參數(shù)配置的SOC 硬件語言描述。 參數(shù)優(yōu)化建立在參數(shù)配置環(huán)境的基礎(chǔ)上。 在分析SOC參數(shù)屬性基礎(chǔ)上提出的領(lǐng)域搜索算法可以大大減少SOC優(yōu)化周期。 該設(shè)計環(huán)境已應(yīng)用于一款嵌入式RISC處理器CK520和基于它的SOC開發(fā),并取得了滿意的效果。


上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉