国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種用于數字信號處理的可重構乘加算數運算單元的制作方法

      文檔序號:6482693閱讀:318來源:國知局
      專利名稱:一種用于數字信號處理的可重構乘加算數運算單元的制作方法
      技術領域
      本發(fā)明屬于集成電路設計領域,涉及可重構計算架構設計,具體涉及一種應用于 數字信號處理的可重構乘加算數運算單元。
      背景技術
      在傳統(tǒng)的集成電路設計中,通常針對要實現(xiàn)的應用,對每一個模塊分別設計獨立 硬件,最后將所有模塊放在一起,形成一個特定的數據通路,完成所要實現(xiàn)的功能。而在可 重構計算架構思想中,通過外界不同的重構信息,將相同的硬件重構出不同的數據通路,從 而以實現(xiàn)多種不同的運算,因此,使用可重構的思想,可以達到同一個硬件在時間上的復 用,從而大大提高該塊硬件的利用效率,降低了系統(tǒng)實現(xiàn)成本,也為模塊復用提供了很高的 靈活性。在數字信號處理中,基于乘加的運算使用得非常廣泛。在許多算法或協(xié)議的實 現(xiàn)中,都會用到一種甚至多種乘加算法,例如有限脈沖響應濾波器(FIR),快速傅立葉變換 (FFT)等,而這些算法從本質上來說都是乘法與加法的結合,利于在同一種硬件上進行重構 實現(xiàn)。

      發(fā)明內容
      本發(fā)明的目的是提供一種用于數字信號處理的可重構乘加算數運算單元,通過外 部提供的不同重構信息,能夠靈活實現(xiàn)各種乘加運算。本發(fā)明所提供的應用于數字信號處理的可重構乘加算數運算單元由三個部分構 成,如圖1所示,第一部分(101)為運算部分,包含了多個相同的簇運算結構,每個簇結構通 過不同的重構信號,能夠重構成不同的乘加數據通路,用以實現(xiàn)不同的運算;第二部分和第 三部分為數據存儲及與外部數據交換結構,其中第二部分(102)為兩組移位寄存器,能夠 通過不同的重構信號,實現(xiàn)數據加載、左移、右移的功能;第三部分(103)為一個寄存器堆, 用于運算數據的存儲。本發(fā)明所提供的可重構乘加算數運算單元,所述的簇運算結構如圖2所示,由一 個數據選擇器(201),兩個Booth編碼器(202),兩個12-2壓縮器(203),兩個3_2壓縮器 (206),4個加法器(204,207)和4個移位寄存器(205,208)組成。數據選擇器(201)從8 個值中對輸入進行選擇,為后級的運算選擇出兩個乘數a,b(209)以及兩個加數c,d(210, 212)。Booth編碼器(202)為16bit,采用了三bit編碼算法,得到9個部分積(211),這些 部分積與加數c以及移位寄存器(205)輸出的二選一結果(212) —起,送入12-2壓縮器 (203)。12-2壓縮器(203)由一系列的3-2進位保留加法器CSA (Carry Save Adder)構成, 計算結果(加法結果及進位)依次送入加法器(204)和移位寄存器(205),得到移位后的 連加結果。移位寄存器(205,208)均采用左移的barrel shifter,可以通過配置得到任意 bit的左移結果。兩個移位寄存器(205)的結果以及兩個外部輸入的加數d(212,213)分別 送入下一級的3-2壓縮器(206),再依次通過加法器(207),移位寄存器(208),得到最終計 算結果。每個簇結構有兩種數據輸出方式,通過一個配置bit進行選擇,分別為兩個不同位置的移位寄存器(205,208)輸出。本發(fā)明所提供的可重構乘加算數運算單元,所述的數據存儲及與外部數據交換結 構如圖3所示。兩組移位寄存器(301),能夠通過不同的重構信號,實現(xiàn)左移、右移或停止的 功能,每次移位lbit。移位的起始數據通過兩個單獨的數據接口(302)與外部相連。除了 串行移位功能外,兩組寄存器也可以進行并行的數據加載初始化,以圖3所示,每4個寄存 器為一組(303),通過控制信號,進行獨立的數據初始化。進行初始化的數據通過獨立的多 路選擇器(304),分別來自兩路外部輸入數據(305),以及從寄存器堆(306)中讀出的數據 (307)。多路選擇器(304)數據寬度同4個寄存器(303)的數據寬度是一致的。移位寄存 器(302)的長度與簇運算結構的個數多少相關,如圖2所示,每個簇運算結構對應于8個寄 存器(308),這8個寄存器也是簇運算結構中第一級數據選擇(201)的數據來源(309)。寄 存器堆(306)的長度也可指定,并對應不同寬度的讀、寫地址寬度。簇運算結構的運算結果 寫回寄存器堆(306),外部再從寄存器堆中進行讀取輸出(310);輸入數據(311)也可直接 寫入寄存器堆(306)中。本發(fā)明所述的可重構乘加算數運算單元,其中所包含簇運算結構的個數,以及數 據寄存器的大小,均可通過軟件在rtl代碼層面進行重構,即通過不同的軟件參數,可以得 到不同規(guī)模的rtl層面的運算單元。本發(fā)明的有益效果在于,所提供的應用于數字信號處理的可重構乘加算數運算單 元,通過外部提供的不同重構信息,能夠靈活實現(xiàn)數字信號處理中廣泛使用的各種乘加運 算如有限脈沖響應濾波器(FIR)、快速傅立葉變換(FFT)等,其他相類似的基于乘加的運算 均可映射到本發(fā)明提供的可重構乘加算數運算單元上,包括相關操作、卷積運算等,且在映 射時考慮了數據移動或中間結果共享的特點,簡化了數據移動方式,減少了數據運算單元 需求數量。


      圖1為應用于數字信號處理的可重構乘加算數運算單元,其中101為可重構乘加 算數運算單元的運算部分,包含了多個相同的簇運算結構;102為兩組移位寄存器;103為 寄存器堆。圖2為簇運算結構,其中201為數據選擇器;202為Booth編碼器;203為12_2壓 縮器;204為加法器;205為移位寄存器;206為3_2壓縮器;207為加法器;208為移位寄存 器;209為兩個乘數a,b ;210為加數c ;211為9個部分積;212為加數d ;213為另一個加數
      do圖3為數據存儲及與外部數據交換結構,其中301為兩組移位寄存器;302為移位 寄存器的兩個單獨數據接口 ;303為包含4個寄存器的寄存器組;304為多路選擇器;305為 兩路外部輸入數據;306為寄存器堆;307為從寄存器堆中讀出的數據;308為包含8個寄存 器的寄存器組;309為輸入簇運算結構的數值;310為寄存器堆對外部的輸出;311為外部 對寄存器堆的輸入。圖4為有限脈沖響應濾波器(FIR)在可重構乘加算數運算簇運算結構上的數據通 路映射方法,其中401為兩個乘數輸入;402為移位寄存器205輸出的計算結果;403為旁路 輸入12-2壓縮器的輸入。
      圖5為基2快速傅立葉變換(FFT)在可重構乘加算數運算簇運算結構上的數據通 路映射方法,其中501為一個基2FFT基本運算單元蝶形運算的流圖;502,503,504,505分 別為一個簇運算結構的4個乘法輸入;506,507分別是一個簇運算結構的兩個移位寄存器 (205)輸出;508為加數d輸入;509和510分別是一個簇運算結構的兩個移位寄存器(208)輸出。
      具體實施方案以下結合具體的實施例,對本發(fā)明做進一步的闡述。實施例僅用于對本發(fā)明做說 明而不是對本發(fā)明的限制。實施例1 本實施例給出了有限脈沖響應濾波器(FIR)在本發(fā)明提出的可重構乘加算數運 算簇運算結構上的數據通路映射,如圖4所示。一個標準的FIR運算可以表示為
      M少[ ]= 辦
      k=0對于每一個y[n]的運算,都是一個乘累加的過程,在每一次的乘法中,bk與 x[n-k]分別作為兩個乘數(401)輸入,每次的運算結果(402)被旁路回饋到12_2壓縮器的 一個輸入端(403)。由于旁路結果與輸入正好相差一個時鐘周期,因此與下一個時鐘周期輸 入的乘法作相加操作,這樣便形成了 一個乘累加的數據通路。如上所述,每一個簇結構可以 支持兩個獨立的乘累加運算,且運算需要的時鐘周期同該FIR的拍數相關。在進行FIR的運算時,對于相鄰的乘累加運算,其輸入的操作數在同一個時鐘周 期也是相鄰的,在全局的數據移動控制上,選擇移位寄存器(301),每個時鐘周期輸入一個 操作數(302),并將之前的值向前移動一位。實施例2:本實施例給出了一個基2快速傅立葉變換(FFT)在本發(fā)明提出的可重構乘加算數 運算簇運算結構上的數據通路映射,如圖5所示。基2FFT由一系列蝶形運算(501)構成,每一個復數的蝶形運算可以等效為以下4 個實數運算xm (ρ) r = Xnri (ρ) r+ [WrXnri (q) ,-WiXm^1 (q) J (1)xm (ρ) i = Xm^1 (ρ) J+ [WiXm^1 (q) ,+WrXm^1 (q) J (2)xm (q) r = Xnri (p) r_ [WrXnri (q) ^WiXnrl (q) J (3)xm (q) i = Xm^1 (p)廠[WiXm^1 (q) ,+WrXm^1 (q) J (4)在以上的表達式中,(1)與(3)中除了運算符號不同,兩個乘積的輸入操作數是對 應一致的,因此,可以利用它們共同的乘積項,減少整體需要的乘法個數。以⑴(3)計算為例,^…-…^,化與^從認分別對應輸入于四個乘法端口(502, 503,504,505),其乘積結果WrXnri (q) r與WiXnri (q) J輸出與506,507。兩個乘積結果連同另 一加數Xnrl (P)r (508)輸入3-2壓縮器,在509和510處同時得到(1) (3)的計算結果。即一 個簇運算結構每次可以完成一個復數蝶形運算中的兩個實數運算,兩個簇運算結構每次可 以完成一個復數蝶形運算。
      在進行基2FFT的運算時,每個時鐘周期相應的系數按照一定的規(guī)律被加載到移 位寄存器(301)中,在這種映射方法里,數據不進行移位操作。
      權利要求
      一種用于數字信號處理的可重構乘加算數運算單元,包括有限脈沖響應濾波器,快速傅立葉變換,其特征在于還包括多個相同的簇運算結構、數據存儲及與外部數據交換結構。
      2.根據權利要求1所述的應用于數字信號處理的可重構乘加算數運算單元,其特征在 于,所述的簇運算結構由一個數據選擇器、兩個Booth編碼器、兩個12-2壓縮器、兩個3-2 壓縮器、4個加法器和4個移位寄存器組成。
      3.根據權利要求1所述的應用于數字信號處理的可重構乘加算數運算單元,其特征在 于,所述數據存儲及與外部數據交換結構由兩組移位寄存器、一系列數據選擇器以及長度 可重構的數據寄存器堆組成。
      4.根據權利要求1所述的應用于數字信號處理的可重構乘加算數運算單元,其特征 在于,所包含簇運算結構的個數以及數據寄存器的長度是通過軟件在rtl代碼層面進行重 構,通過不同的軟件參數,得到不同規(guī)模的rtl層面的運算單元。
      5.根據權利要求1所述的應用于數字信號處理的可重構乘加算數運算單元,其特征在 于獨立受控于外部輸入的重構信息。
      全文摘要
      本發(fā)明屬于集成電路設計領域,所提供的應用于數字信號處理的可重構乘加算數運算單元,通過外部提供的不同重構信息,能夠靈活實現(xiàn)數字信號處理中廣泛使用的各種乘加運算如有限脈沖響應濾波器(FIR)、快速傅立葉變換(FFT)等,其他相類似的基于乘加的運算均可映射到可重構乘加算數運算單元上,包括相關操作、卷積運算等,且在映射時考慮了數據移動或中間結果共享的特點,簡化了數據移動方式,減少了數據運算單元需求數量。
      文檔編號G06F7/52GK101923459SQ200910053269
      公開日2010年12月22日 申請日期2009年6月17日 優(yōu)先權日2009年6月17日
      發(fā)明者任俊彥, 周曉方, 趙爽, 陸雯青 申請人:復旦大學
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1