本發(fā)明涉及數(shù)據(jù)電路,具體涉及一種基于低功耗數(shù)字電路的信號處理裝置。
背景技術:
:如數(shù)字濾波器、數(shù)字相關器、數(shù)字儲存器等基于低功耗數(shù)字電路的信號處理裝置中,功耗主要取決于裝置中的寄存器單元的跳變。以下以有限脈沖響應濾波器來舉例詳細說明。在無線通信系統(tǒng)中,為了抵抗鄰近通道的干擾,要求數(shù)字濾波器具有很強的鄰道抑制能力,這意味著,數(shù)字濾波器將具有很高的復雜度,其面積及功耗在系統(tǒng)設計中所占比例都將很可觀。尤其在物聯(lián)網(wǎng)中,對低功耗更是有著極為嚴苛的要求,比如可穿戴設備的供電往往只是紐扣電池或者很小容量的鋰電池。有限脈沖響應濾波器簡介:有限脈沖相應濾波器的n階傳輸函數(shù)為:通過其傳輸函數(shù),很容易推導出其電路實現(xiàn)結構一般如圖1所示,在圖1中,省略時鐘端口clock和重置端口reset的連線。對于傳統(tǒng)結構濾波器,當系數(shù)為固定時,綜合工具會把乘法器綜合成移位加的電路實現(xiàn)。當系數(shù)不是固定的時候,綜合工具會把乘法器綜合成真正的乘法器電路。不管是移位加或是乘法器都是組合邏輯電路。由于此為現(xiàn)有技術,不再贅述。由圖1可見,階數(shù)為n,二進制位寬為m的濾波器由數(shù)字電路實現(xiàn)的時候占用的寄存器單元為m×n個。假設m、n都等于10,則一共占用100個寄存器單元。z-0即是輸入的fir_in信號,z-1~z-n用移位寄存器實現(xiàn),在無線通信系統(tǒng)中接收到的信號往往有高斯信號和實際信號。簡單介紹一下這兩種信號:高斯信號是時域上不連續(xù)的信號,相鄰數(shù)據(jù)沒有任何規(guī)律性。實際信號往往是比較有規(guī)律的連續(xù)信號,相鄰數(shù)據(jù)一般高數(shù)據(jù)位跳變的相對較少。濾波器功耗的產生的原因就是電平信號的跳變翻轉。因為移位寄存器的輸入和輸出相連,每次有新的數(shù)據(jù)輸入,那么整個用于存儲濾波器數(shù)據(jù)的寄存器單元都可能會翻轉,無論數(shù)據(jù)輸入的是高斯信號還是實際信號。取最差的情況就是m×n個寄存器單元同時在跳變,以示例中100個寄存器單元來算,就是100個寄存器單元同時在跳變,濾波器作為通信系統(tǒng)里面最主要的部分,其功耗不容小視。技術實現(xiàn)要素:針對現(xiàn)有技術的不足,本發(fā)明公開了一種基于低功耗數(shù)字電路的信號處理裝置。本發(fā)明的技術方案如下:一種基于低功耗數(shù)字電路的信號處理裝置,包括移位寄存器;移位寄存器包括n個觸發(fā)器;還包括:計數(shù)器電路,用于向數(shù)據(jù)輸入選擇電路和數(shù)據(jù)輸出選擇電路輸出時鐘節(jié)拍計數(shù)值;時鐘節(jié)拍計數(shù)值的初始值為0,每輸入一個輸入數(shù)據(jù)至濾波器,時鐘節(jié)拍計數(shù)值加1;當輸入完第n個輸入數(shù)據(jù)后,時鐘節(jié)拍計數(shù)值清零重新開始累加;數(shù)據(jù)輸入選擇電路,接收濾波器的輸入數(shù)據(jù),并讀取計數(shù)器電路所輸出的時鐘節(jié)拍計數(shù)值,根據(jù)時鐘節(jié)拍計數(shù)值的變化,由第一觸發(fā)器開始,依次選擇移位寄存器中的觸發(fā)器,并根據(jù)輸入數(shù)據(jù),刷新被選中的觸發(fā)器中所儲存的數(shù)據(jù)值;直至刷新第n觸發(fā)器中的數(shù)據(jù)后,在下一個時鐘節(jié)拍,重新選中第一觸發(fā)器,并刷新其中的數(shù)據(jù)。其進一步的技術方案為:還包括數(shù)據(jù)輸出選擇電路,接收移位寄存器的并行輸出數(shù)據(jù);根據(jù)計數(shù)器電路所輸出的時鐘節(jié)拍計數(shù)值,確定輸出數(shù)據(jù)中待搬移數(shù)據(jù)的個數(shù);將移位寄存器中的第一觸發(fā)器中的數(shù)據(jù)搬移至移位寄存器并行輸出的最后一個數(shù)據(jù)之后,以此類推,直至將待搬移數(shù)據(jù)搬移完成。其進一步的技術方案為:還包括乘法器和累加器;所述乘法器包括n+1個乘法單元;濾波器輸入數(shù)據(jù)輸入至第一乘法單元,與第一濾波器系數(shù)進行乘積運算;數(shù)據(jù)輸出選擇電路的輸出數(shù)據(jù),依次對應輸入至第二乘法單元至第n+1乘法單元,并依次分別與第二濾波器系數(shù)至第n+1濾波器系數(shù)進行乘積運算;n+1個乘法單元的乘積運算的結果輸入所述累加器進行數(shù)據(jù)累加之后輸出。本發(fā)明的有益技術效果是:本發(fā)明所公開的基于低功耗數(shù)字電路的信號處理裝置,無論應用于數(shù)字濾波器、數(shù)字相關器還是數(shù)字儲存器,都可使得裝置中的寄存器單元的跳變數(shù)量發(fā)生質變。以裝置中存在100個寄存器單元為例,其同時跳變的寄存器單元減少到了14個,與100個寄存器單元跳變相比,減少了7倍。則大大減少了裝置功耗。如果裝置的階數(shù)越高,其功耗減少越明顯。固然本發(fā)明所公開的技術方案新增加了一些組合邏輯電路:計數(shù)器電路、數(shù)據(jù)輸入選擇電路、數(shù)據(jù)輸出選擇電路等,所以其電路面積會稍許增加,但是新的電路結構的寄存器單元存在用存儲器(ram)實現(xiàn)的可能,這對面積和功耗也同樣有優(yōu)化作用。本發(fā)明所公開的技術方案,應用于物聯(lián)網(wǎng)或者其他領域中,可以降低相關設備的耗能,極大地增加設備的使用時間,改善用戶體驗。附圖說明圖1是現(xiàn)有技術中有限脈沖響應濾波器的結構。圖2是本發(fā)明中的有限脈沖響應濾波器的結構。圖3是實施例中數(shù)據(jù)輸出選擇電路搬移數(shù)據(jù)的第一步驟。圖4是實施例中數(shù)據(jù)輸出選擇電路搬移數(shù)據(jù)的第二步驟。具體實施方式本發(fā)明所述的技術方案可以應用于數(shù)字濾波器、數(shù)字相關器或者數(shù)字儲存器。以下使用有限脈沖響應濾波器的結構進行說明。如果裝置為數(shù)字儲存器,則本發(fā)明所述的技術方案也可以對存儲器結構的數(shù)字電路進行功耗優(yōu)化,只要去除最后的數(shù)據(jù)輸出選擇電路和相應的乘法器和累加器即可,其余的減少功耗的原理類似,所以不再詳述。圖2是本發(fā)明中的有限脈沖響應濾波器的結構。如圖2所示,濾波器包括數(shù)據(jù)輸入選擇電路、移位寄存器、計數(shù)器電路、數(shù)據(jù)輸出選擇電路、乘法器和累加器。濾波器的階數(shù)為n,濾波器的二進制位寬為m。也就是說,濾波器中的移位寄存器,包括n個d觸發(fā)器,每個d觸發(fā)器包括m個寄存器單元,即每個d觸發(fā)器所輸入的數(shù)據(jù)均為位寬為m的二進制數(shù)據(jù)。如圖2所示,以移位寄存器的數(shù)據(jù)輸入順序為標準,移位寄存器中的觸發(fā)器依次為第一觸發(fā)器dff(0)至第n觸發(fā)器dff(n-1)。在本實施例中,濾波器的階數(shù)n=10,濾波器的位寬m=10。本發(fā)明所述的技術方案,主要是增加了三個電路結構:計數(shù)器電路、數(shù)據(jù)輸入選擇電路和數(shù)據(jù)輸出選擇電路,以下對這三個電路結構進行詳述。(1)計數(shù)器電路:計數(shù)器電路用于向數(shù)據(jù)輸入選擇電路和數(shù)據(jù)輸出選擇電路輸出時鐘節(jié)拍。以一組輸入濾波器的輸入數(shù)據(jù)fir_in的長度為一個計數(shù)周期,每個計數(shù)周期包括l個時鐘節(jié)拍。計數(shù)器電路中設置有用于計數(shù)時鐘節(jié)拍的計數(shù)參數(shù)count[m-1:0]。其中參數(shù)m指的是濾波器階數(shù)n的二進制位寬,在本實施例中,濾波器的階數(shù)n=10,以二進制的表示方法為n=1010,位寬為4位,即m=4。計數(shù)參數(shù)count的初始值為0,在一個計數(shù)周期中,每經(jīng)過過一個時鐘節(jié)拍,計數(shù)參數(shù)count的值加1,直至到第n個時鐘節(jié)拍,此時計數(shù)參數(shù)count的值為n-1。在第n+1個時鐘節(jié)拍時,計數(shù)參數(shù)count的值清零并重新開始計數(shù)累加。直至到第l個時鐘節(jié)拍,一個時計數(shù)周期結束,所有的輸入數(shù)據(jù)均已經(jīng)輸入至濾波器。在本實施例中,輸入數(shù)據(jù)fir_in的長度為12,即輸入濾波器的數(shù)據(jù)為data1~data12,在一個計數(shù)周期中,包括l=12個時鐘節(jié)拍。如果濾波器階數(shù)為2的整數(shù)次冪,即n=2b,且b為正整數(shù),則在第n+1個時鐘節(jié)拍時,也就是計數(shù)參數(shù)count的值為n時,計數(shù)參數(shù)count會自動溢出清零,之后繼續(xù)隨著時鐘節(jié)拍從0開始重新累加。(2)數(shù)據(jù)輸入選擇電路:輸入數(shù)據(jù)fir_in首先輸入至數(shù)據(jù)輸入選擇電路,數(shù)據(jù)輸入選擇電路包括n個輸出端,每個輸出端依次對應連接移位寄存器中的一個觸發(fā)器的數(shù)據(jù)輸入端,即,此時移位寄存器的數(shù)據(jù)輸入方式為并行輸入方式。數(shù)據(jù)輸入選擇電路讀取計數(shù)器電路所輸出的計數(shù)參數(shù)count的值,并根據(jù)計數(shù)參數(shù)count值的變化,以第一觸發(fā)器至第n觸發(fā)器的順序,在每個時鐘節(jié)拍依次選中一個觸發(fā)器,并刷新此觸發(fā)器中的數(shù)據(jù),直至在第n個時鐘節(jié)拍時,也就是計數(shù)參數(shù)count=n-1時,刷新至第n觸發(fā)器。在第n+1個時鐘節(jié)拍時,重新選中第一觸發(fā)器,并刷新其中的數(shù)據(jù)。在每個時鐘節(jié)拍中,被選中的觸發(fā)器中的數(shù)據(jù)被刷新,其他觸發(fā)器的時鐘輸入開關關斷。為了詳細說明數(shù)據(jù)輸入電路的工作原理,以下用兩個表格,來顯示傳統(tǒng)的移位寄存器和本發(fā)明所述的移位寄存器的數(shù)據(jù)處理區(qū)別。結合圖2,在表1和表2中,橫向表頭示意出了一個計數(shù)周期中的12個時鐘節(jié)拍,縱向表頭示意出了每個時鐘節(jié)拍里,各個觸發(fā)器dff(0)~dff(n-1)中的數(shù)據(jù)示意值。其中第0個時鐘節(jié)拍時,各個觸發(fā)器中的數(shù)據(jù)為data0,無邏輯動作。表1傳統(tǒng)移位寄存器中每個時鐘節(jié)拍的數(shù)據(jù)表2本發(fā)明所述的移位寄存器中每個時鐘節(jié)拍的數(shù)據(jù)由表1和表2可以看出,對于傳統(tǒng)的移位寄存器,在每個時鐘節(jié)拍,移位寄存器中所有觸發(fā)器中的值都會被刷新。而在本發(fā)明所述的電路結構中,數(shù)據(jù)輸入選擇電路,根據(jù)計數(shù)器中的計數(shù)參數(shù)count的值,對輸入數(shù)據(jù)fir_in做出選擇,觸發(fā)器中的寄存器單元則被綜合工具綜合成帶門控時鐘的電路,在每個時鐘節(jié)拍,移位寄存器中只有一個觸發(fā)器被選中,其數(shù)據(jù)被刷新,其他觸發(fā)器的時鐘輸入開關將被關斷。根據(jù)上述內容,在本實施例中,假設在最差的情況中,同時會有10+4=14個寄存器單元在跳變:其中有4個寄存器單元屬于計數(shù)器電路,由于計數(shù)需要,計數(shù)器電路中的寄存器單元所儲存的數(shù)據(jù),如計數(shù)參數(shù)等需要刷新,另外10個寄存器單元屬于移位寄存器中被選中的一個觸發(fā)器,由于同一時間只有一個觸發(fā)器被選中且其中所儲存的數(shù)據(jù)將被刷新,而且所儲存的數(shù)據(jù)的二進制位寬為10,就是有10個寄存器單元會產生跳變。由上述可知,本電路結構實現(xiàn)了電路的低功耗運行。與現(xiàn)有技術相比,寄存器單元跳變數(shù)由100個減少到14個,已產生質的飛越。但是隨之而來的問題就是數(shù)據(jù)沒有連續(xù)性,這由表2中第11、12個時鐘節(jié)拍的數(shù)據(jù)可以顯而易見的看出。(3)數(shù)據(jù)輸出選擇電路:如果只是通用存儲器結構的數(shù)字電路功耗優(yōu)化,在現(xiàn)有技術中,增加上述兩個電路結構實現(xiàn)已可以完畢,但是本文講述的濾波器結構的數(shù)字電路功耗優(yōu)化,僅僅實現(xiàn)存儲器的功耗優(yōu)化,是不能實現(xiàn)濾波器功能的。數(shù)字濾波器要求存儲器結構里面的每個數(shù)據(jù)與前后數(shù)據(jù)必須是連續(xù)的。但是上述的電路結構中,每個觸發(fā)器所輸出的數(shù)據(jù)和相鄰觸發(fā)器所輸出的數(shù)據(jù)是不一定連續(xù)的。所以增加數(shù)據(jù)輸出選擇電路,將不連續(xù)的數(shù)據(jù)搬移位置使之連續(xù)。如圖2所示,n個d觸發(fā)器的數(shù)據(jù)輸出端分別連接數(shù)據(jù)輸出選擇電路的n個輸入端口。即,移位寄存器的數(shù)據(jù)輸出方式為并行輸出的方式。在圖1所示的電路中,數(shù)據(jù)z-1~z-n是直接由移位寄存器輸出的,但是在圖2所示的電路中,在n≠0時,移位寄存器輸出的值并不和算法意義上的z-(n)一一對應。由此,針對數(shù)據(jù)的連續(xù)性要求,需要設計一個數(shù)據(jù)輸出選擇電路。首先,見下表3:表3時鐘節(jié)拍和計數(shù)器所輸出的計數(shù)參數(shù)值的關系cycle01234…101112count01234…012可以看出,時鐘節(jié)拍cycle的值和計數(shù)器所輸出的計數(shù)參數(shù)count的值之間有如下的關系:count=mod(cycle,n)。然后,再對比表2中所示的數(shù)據(jù)和時鐘節(jié)拍cycle之間的關系。很容易看出,計數(shù)器所輸出的計數(shù)參數(shù)count的值和表2中所示的,移位寄存器所輸出的不連續(xù)的數(shù)據(jù)個數(shù)a相等。基于此,數(shù)據(jù)輸出電路根據(jù)計數(shù)器輸出的計數(shù)參數(shù)count的值判斷哪些數(shù)據(jù)不連續(xù),并把不連續(xù)的數(shù)據(jù)做搬移,即,以第一觸發(fā)器至第n觸發(fā)器的順序,由第一觸發(fā)器所輸出的數(shù)據(jù)開始,將此數(shù)據(jù)搬移至最后一個數(shù)據(jù)之后。之后搬移第二觸發(fā)器所輸出的數(shù)據(jù),將此數(shù)據(jù)搬移至此時的最后一個數(shù)據(jù)之后。以此類推,直至搬移完畢a個數(shù)據(jù)為止。在本實施例中有:count=mod(12,10)=2;即,有兩個數(shù)據(jù)不連續(xù),a=2。則首先如圖3所示,數(shù)據(jù)輸出選擇電路由第一觸發(fā)器所輸出的數(shù)據(jù)data11開始,將data11搬移至最后一個數(shù)據(jù)之后,也就是第十觸發(fā)器所輸出的數(shù)據(jù)data10之后。其次如圖4所示,再搬移第二觸發(fā)器所輸出的數(shù)據(jù)data12,將data12搬移至此時的最后一個數(shù)據(jù)之后,也就是前一步驟已經(jīng)搬移好的data11之后。如圖2所示,數(shù)據(jù)輸出選擇電路的輸出數(shù)據(jù)輸入至乘法器。乘法器包括n+1個乘法單元。初始的輸入數(shù)據(jù)z-0輸入至第零乘法單元,并與第零濾波器系數(shù)h(0)進行乘積運算。數(shù)據(jù)輸出選擇電路的n個輸出端口分別連接剩余的n個乘法單元,則數(shù)據(jù)輸出選擇電路所輸出的n個數(shù)據(jù)z-1~z-n在n個乘法單元中,分別與n個濾波器系數(shù)h(1)~h(n)進行乘積運算。n+1個乘法單元的輸出端均連接于累加器的輸入端,各個乘法單元的乘積運算的結果輸入累加器進行數(shù)據(jù)累加之后作為輸出數(shù)據(jù)fir_out輸出。以上所述的僅是本發(fā)明的優(yōu)選實施方式,本發(fā)明不限于以上實施例??梢岳斫?,本領域技術人員在不脫離本發(fā)明的精神和構思的前提下直接導出或聯(lián)想到的其他改進和變化,均應認為包含在本發(fā)明的保護范圍之內。當前第1頁12