新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > SOC參數自動配置設計方法與功耗優化

        SOC參數自動配置設計方法與功耗優化

        作者: 時間:2012-10-29 來源:網絡 收藏

        鄰域搜索算法

        的性能相關性是優化的主要難題。 首先需要一種數據結構來表征性能相關性。 圖1 較好地表示了的性能相關性。 其中,參數用節點表示,而節點與節點間的連線表示兩參數的性能相關。節點和節點之間的連線是有方向性的,從A 到B 的邊表示參數B 與A 的性能相關。

        圖1  功耗性能相關圖

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

        以一個數據采集系統為例來驗證領域搜索算法的有效性,數據采集系統的參數如表1 所示。 在這個應用中,系統從UART 接收數據,利用DMA 運送到內存,軟件進行32 點FIR 濾波處理。 UART 的接收速率是10kB/s ,參數的性能相關圖如圖1 所示。

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

        1) 分析功耗相關圖的拓撲順序,包括較低層次的子圖。 一般可以采用鄰接表作為實現上述算法的數據結構。 首先從圖中選一個入度為0 的節點并將其輸出,然后從圖中刪掉此節點及其所有的邊。 反復執行這兩步,直至剩下的圖中再也沒有入度為0 的節點。 剩下的就是單個節點或環路。 分析拓撲順序是 為了確定參數優化的順序。 拓撲序列的第一個節點就是第一個被優化的參數。

        表1  數據采集系統參數表

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

        3) 選擇下一個優化的節點,一般選擇拓撲序列的下一個參數,但是在環路中,如果一個參數發生改變,則需要重新遍歷一遍環路,這時應取環路上的節點。 如果該節點包含較低層次的子圖,則選取子圖中的節點。 重復步驟2) 。

        實驗結果

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

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

        表2  對參數進行鄰域搜索優化的結果

        結 語

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


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 英山县| 漳平市| 寿宁县| 克山县| 仙居县| 洛扎县| 奇台县| 通河县| 集安市| 浑源县| 宁陕县| 五指山市| 胶州市| 辽阳市| 东源县| 峨山| 都昌县| 隆安县| 辽阳县| 长兴县| 许昌市| 岳普湖县| 宁海县| 金乡县| 临高县| 峨眉山市| 海林市| 永丰县| 阳信县| 旌德县| 崇仁县| 五原县| 涿鹿县| 铜川市| 开江县| 旌德县| 库车县| 荆州市| 清徐县| 邵阳市| 宁晋县|