基于路徑成組分離策略的低功耗FIR 設計
簡介:本文提出的方法使得電路層錯綜在一起的路徑按照其不同的時間延遲規(guī)則的分離開,關鍵路徑和各種不同延遲的非關鍵路徑對應為不同的模塊,針對不同的路徑長度采取不同的供電電壓。通過剩余數(shù)方法[3] 將一個乘法運算化簡為幾個非常簡單的乘法或加法,并將濾波器按照不同的路徑延遲劃分幾個相互獨立的模塊,使之適合采用不同的供電電壓,從而降低功耗。
本文引用地址:http://www.ex-cimer.com/article/280539.htm1 引言
隨著移動及便攜式電子設備的普及和芯片頻率的不斷提高,功耗成為電路設計中必須考慮的重要因素。近來,集成電路設計工具已經(jīng)逐步支持多電壓設計,因而,使得對適合多電壓實現(xiàn)的數(shù)字信號處理部件的算法改進、體系結(jié)構(gòu)、以及邏輯電路[1] 等的研究成為進一步降低功耗的關鍵問題。
通常電路都工作于相同的電壓,多電壓技術是劃分出不同的電壓區(qū),進而采用不同供電電壓以降低功耗。以往的研究大多是按照系統(tǒng)中各個部件不同的頻率或性能來劃分不同電壓區(qū)[2]。而高性能數(shù)字信號處理設計中很多情況都是數(shù)據(jù)通路上的大量計算,工作頻率基本都是一致的,因此本文針對這種情況尋求適合多電壓設計的電壓分區(qū)方案。在單一頻率的電路層劃分出不同的供電電壓區(qū),意味著把對應于不同時間約束的路徑,確定為不同的電壓需求,按照布局情況進行電壓區(qū)的劃分。由此可知,當長短路徑規(guī)則的歸屬在不同的模塊時,則易于用多電壓技術實現(xiàn),但大多數(shù)情況是長短路徑交織在一起,很難按長短路徑分組劃分不同電壓區(qū)。
2 路徑成組分離分析
假設在綜合后的電路網(wǎng)表中,有n 種不同長度等級的路徑,分別采用n 種不同的供電電壓。那么在需要多電壓供電的電路的布局布線圖中,將需要用不同電壓供電的單元集(即不同長度的路徑)記作ui ,i=1,2,Ln,i表示共需n種不同的電壓。
在標準單元設計的電路級,電壓供電區(qū)是規(guī)則的方框區(qū),因此用方框?qū)⑿枰撤N電壓的單元區(qū)框起,每一個方框內(nèi)的所有單元組成一個單元的集合,記作Sj ,j=1,2,Ln。對于用Vi 供電的單元ui ,可以用比Vi 高的電壓Vj >Vi 供電,不影響性能,但不能用小于Vi 的電壓供電。
由于EDA 工具自動布局的作用,不同的路徑被隨機的分布在版圖上,不同路徑上的單元也是無規(guī)律的分布,也就是說所需不同電壓的單元是不規(guī)則分布的,因此按照上述劃分集合的方法對布局圖中的單元進行劃分后,每個集合中將存在不同供電電壓的元素,即:
通過以上分析,如果能夠把整個電路按照不同的路徑長度成組分離為不同的區(qū)域,則采用多電壓實現(xiàn)的代價最小。下一節(jié)將以剩余數(shù)系統(tǒng)為例詳細介紹路徑成組分離的多電壓實現(xiàn)。并在后面給出面積與功耗的優(yōu)化結(jié)果分析。
3 剩余數(shù)方法
與常用的濾波器的結(jié)構(gòu)略有不同,用剩余數(shù)方法實現(xiàn)FIR filter 的結(jié)構(gòu)如圖1,該方法需要先將正常的輸入轉(zhuǎn)換為一組(設組內(nèi)元素個數(shù)為i)余數(shù)表示,然后是i 個獨立的FIR,最后將這一組獨立的FIR 的計算結(jié)果再轉(zhuǎn)換為正常的輸出。
圖1 (a) 傳統(tǒng)FIR 結(jié)構(gòu)(b) 剩余數(shù)方法FIR 結(jié)構(gòu)
用剩余數(shù)表示來實現(xiàn)FIR filter ,其功能上是等效的,但是其增加了正常模式和剩余表示之間的轉(zhuǎn)換,同時由于采用余數(shù)的模乘和模加,大量節(jié)約了濾波器的乘累加資源。因此,在整體實現(xiàn)上,是否能節(jié)約面積和功耗將主要決定于轉(zhuǎn)換部件的開銷。
3.1 選擇合適的一組模
對于硬件電路實現(xiàn),從運算簡單的角度出發(fā)來選擇一組模,當然最好是2n ,其次是形如2n ±1,所以模組可以取為:彼此互素的一組數(shù)mi = {2 p1 ±1,2 p2 ±1,L2q }。
3.2 正常模式到剩余表示的轉(zhuǎn)換
正常表示到剩余表示的轉(zhuǎn)換實際就是取模運算,對于上面選定的一組模,取模運算有以下三種:
3.3 剩余表示到正常表示的轉(zhuǎn)換
如果按照中國剩余定理,這一步的計算將非常復雜。由[6]可將原來中國剩余定理算法中復雜的乘法、mod 運算都化簡,剩下的只有查表、加法和移位操作。對于二進制補碼表示的有符號數(shù),可采用[6]提出的將負數(shù)轉(zhuǎn)換到正數(shù)去做的方法。
3.4 模乘的實現(xiàn)
n 和w 之間的轉(zhuǎn)換可以通過查表實現(xiàn),對n=0 的情況在外面判斷,即n=0 時結(jié)果為0。
3.5 多電壓分區(qū)
從體系結(jié)構(gòu)可以看到,RNS 方法將濾波器的結(jié)構(gòu)劃分為3 部分,如圖2 中ⅠⅡⅢ
圖2 多電壓分區(qū)圖
其中中間部分有i 條相互獨立的路徑(i 的值為所選定的一組模的數(shù)量),每條路徑由于其模乘運算的復雜度不同而導致電路級的路徑時延也大不相同。顯然,模乘運算最復雜的一條路徑將成為中間部分關鍵路徑,因此可以把時延明顯較小的路徑i 的FIR filter 模塊采用低電壓實現(xiàn)。
4 功耗與面積分析
以12bits 輸入,8bits 系數(shù)為例。根據(jù)前面選模的方法選取modulo sets = {3, 5, 7, 17, 31, 32}; Converter2采用流水線復用技術實現(xiàn),共需要7個表、1個加和一些DFF的資源。下面先看一下在TSMC0.25工藝時單一電壓情況下不同的模mi 路徑的時延信息,如下表:
由于模3、5、31、32 路徑上的單個tap 的時延都小于3.6ns ,相當于富余了40%的時序約束(6-3.6=2.4ns ),我們就可以通過在這些非常富余的路徑上降低供電電壓來降低功耗。在雙電壓設計下,將供電電壓從2.5V 降到2.0V,功耗大約是4.5+0.25*N 。在同樣的工藝下實現(xiàn)傳統(tǒng)FIR, 得到功耗面積與抽頭數(shù)的關系為:設抽頭數(shù)為N
當抽頭數(shù)為16 時,采用此雙電壓方法可節(jié)省20%-30%的功耗。
5 結(jié)論
長短路徑成組分離方法是指把路徑長度分成不同的級別,每一個級別結(jié)合時序約束確定不同的電壓,這樣就把原來都按最長路徑規(guī)定的單一電壓電路轉(zhuǎn)換為多電壓電路。分析了以往多電壓研究中電壓分區(qū)的原則,而高性能數(shù)字信號處理設計中由于數(shù)據(jù)通路上大量的計算,使得以往的原則并不適用;通過對電路布局的多電壓代價進行分析,得出把電路按照不同的路徑長度成組分離為不同的區(qū)域時,易于采用多電壓實現(xiàn)。以剩余數(shù)方法為例仿真分析結(jié)果顯示功耗有明顯優(yōu)化。
本文作者創(chuàng)新點:提出把電路按照不同的路徑長度成組分離為不同的集合時,易于采用多電壓實現(xiàn),且采用多電壓實現(xiàn)的代價最小。
評論