亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

集成電路系統(tǒng)中小數(shù)乘法器的低功耗優(yōu)化方法

文檔序號:6434257閱讀:196來源:國知局
專利名稱:集成電路系統(tǒng)中小數(shù)乘法器的低功耗優(yōu)化方法
技術(shù)領(lǐng)域
本發(fā)明屬于電子技術(shù)領(lǐng)域,更進一步涉及集成電路技術(shù)領(lǐng)域中小數(shù)乘法器的低功耗優(yōu)化方法。本發(fā)明基于正則有符號數(shù)字量算法(CSD)和霍納算法(Horner kheme),可用于集成電路中含有小數(shù)乘法器的系統(tǒng)的低功耗優(yōu)化設(shè)計。
背景技術(shù)
在數(shù)字電路設(shè)計中,減少冗余信號翻轉(zhuǎn)是一種降低系統(tǒng)功耗的常見方法,但該方法需要在系統(tǒng)中增加額外的控制電路,這會使得系統(tǒng)引入該控制電路所帶來的額外功耗和面積。浪潮電子信息產(chǎn)業(yè)股份有限公司擁有的專利技術(shù)“一種用于SOC的動態(tài)多時鐘低功耗AHB總線的設(shè)計方法”(申請?zhí)?CN200910014266. 0,公告號:CN101493717)中公開了一種門控時鐘設(shè)計方法,用來降低系統(tǒng)功耗。該方法的實現(xiàn)步驟是引入多個AHB總線,將對工作頻率要求不同的外設(shè)連接到不同的AHB總線上,對時鐘頻率不同的各個AHB總線通過AHB-AHB橋相連,以降低某些低速外設(shè)的時鐘頻率,從而降低其動態(tài)功耗;通過APB總線動態(tài)對多時鐘門控寄存器進行讀寫,控制相應(yīng)的門控時鐘信號,打開需要工作的模塊的門控時鐘,關(guān)閉不需要工作模塊的門控時鐘。該方法的不足之處是,需要在系統(tǒng)中引入額外的 AHB總線及AHB-AHB橋等控制邏輯來減少或降低時鐘在不工作時的動態(tài)翻轉(zhuǎn),在降低系統(tǒng)動態(tài)功耗的同時引入了額外控制邏輯所帶來的功耗和面積。華為技術(shù)有限公司擁有的專利技術(shù)“一種動態(tài)共享存儲器存儲空間的實現(xiàn)方法”(申請?zhí)朇N200510066582.4,公告號CN1855881)中公開了一種存儲器分塊訪問的實現(xiàn)方法。該方法的實現(xiàn)步驟是第一,將存儲器的存儲空間分成若干個存儲分塊,并為每個存儲分塊分配對應(yīng)的地址指針信息;第二,當(dāng)發(fā)生數(shù)據(jù)存儲需求時,動態(tài)為其分配一條由一個或多個存儲分塊基于所述地址指針信息組成的數(shù)據(jù)存儲分塊鏈,并利用所述數(shù)據(jù)存儲分塊鏈進行數(shù)據(jù)的存儲;第三,當(dāng)所述的數(shù)據(jù)存儲分塊鏈中的存儲分塊無需存儲數(shù)據(jù)時,則將其釋放為可以分配給其他數(shù)據(jù)存儲需求的存儲分塊。該方法的不足之處是,需要額外為存儲分塊分配地址指針,從而動態(tài)分配各存儲分塊的存儲需求,因此在降低系統(tǒng)功耗的同時引入了額外地址指針所帶來的功耗和面積。

發(fā)明內(nèi)容
本發(fā)明的目的在于針對上述已有技術(shù)的不足,提出一種小數(shù)乘法器的低功耗優(yōu)化方法。該方法基于正則有符號數(shù)字量算法(CSD)和霍納算法(Horner kheme),兩種算法相輔相承,同時作用于同一小數(shù)乘法器。對于含有小數(shù)乘法器的系統(tǒng),本發(fā)明可以大幅降低其功耗和面積,同時不引入算法自身的邏輯單元。為了實現(xiàn)上述目的,本發(fā)明的技術(shù)方案是將優(yōu)化乘法器模塊與系統(tǒng)分離,僅在系統(tǒng)中實例化,并替換系統(tǒng)中各小數(shù)乘法器。在乘法器模塊內(nèi)部,由類屬參數(shù)傳入的小數(shù)系數(shù)首先經(jīng)過整數(shù)化處理;其次進行正則有符號數(shù)字量優(yōu)化,將優(yōu)化結(jié)果以常數(shù)序列表示,綜合后,乘法器模塊根據(jù)這些常數(shù)就可以轉(zhuǎn)化為對應(yīng)的加法器,而算法邏輯本身不會引入乘法器模塊中,正則有符號數(shù)字量優(yōu)化指標是綜合后乘法器模塊轉(zhuǎn)化為加法器的數(shù)量;再次進行霍納優(yōu)化,針對各級加法器根據(jù)正則有符號數(shù)字量優(yōu)化結(jié)果,缺省對下級加法運算無任何進位貢獻的本級加法結(jié)果末位,從而降低各級加法結(jié)果位寬;最后將計算結(jié)果小數(shù)化處理并保持數(shù)據(jù)寬度后得到最終小數(shù)乘法結(jié)果。本發(fā)明包括以下步驟(1)構(gòu)建乘法器模塊用硬件描述語言構(gòu)建乘法器模塊實體,包括一個用于輸入原小數(shù)乘法器系數(shù)的類屬參數(shù)端口 ;兩個用于輸入被乘數(shù)與數(shù)據(jù)寬度的輸入端口 ;一個用于輸出最終乘法運算結(jié)果的輸出端口。(2)系數(shù)整數(shù)化處理在乘法器模塊內(nèi)部,按照整數(shù)化處理公式X = BQn-I),對由模塊類屬參數(shù)輸入的小數(shù)乘法系數(shù)進行整數(shù)化處理,其中,X為二進制整數(shù)處理結(jié)果;B為小數(shù)乘法器系數(shù);η為數(shù)據(jù)寬度。(3)正則有符號數(shù)字量優(yōu)化對二進制整數(shù)處理結(jié)果由最低位向第η-1位搜索并做以下記錄和處理3a)逢“1”則以兩個變量分別記錄其位置和符號;3b)逢“0”則判斷之前有沒有連續(xù)的“1”存在若有,取該連續(xù)“1”的補碼,將位
置變量中的最大連續(xù)值加1,與其對應(yīng)的符號變量為正,位置變量中最小連續(xù)值保持不變, 與其對應(yīng)的符號變量為負,刪除該兩個位置變量之間的位置變量和所對應(yīng)的符號變量,執(zhí)行步驟3a);若無,直接執(zhí)行步驟3a)。3c)搜索至整數(shù)處理結(jié)果的第η-1位,將所有位置變量和符號變量分別組成位置序列和符號序列。(4)提取優(yōu)化結(jié)果在乘法器模塊內(nèi)部定義兩個常數(shù)序列,分別將位置序列和符號序列賦值于這兩個常數(shù)序列。(5)霍納優(yōu)化將位置常數(shù)序列和符號常數(shù)序列相乘,結(jié)果與被乘數(shù)進行霍納優(yōu)化,霍納優(yōu)化結(jié)果進行右移n-nk位的小數(shù)化處理,保留高η位作為小數(shù)乘法運算的最終結(jié)果,由乘法器模塊輸出端口輸出。(6)替換小數(shù)乘法器將乘法器模塊替換被優(yōu)化系統(tǒng)中各小數(shù)乘法器,乘法器模塊的類屬參數(shù)設(shè)置為小數(shù)乘法器系數(shù);乘法器模塊的被乘數(shù)輸入端設(shè)置為小數(shù)乘法器輸入;乘法器模塊的位寬輸入端設(shè)置為小數(shù)乘法器位寬;乘法器模塊的輸出端賦值于小數(shù)乘法器結(jié)果。本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點第1,本發(fā)明采用的小數(shù)乘法器系數(shù)由乘法器模塊的類屬參數(shù)傳入的實現(xiàn)方法, 克服了現(xiàn)有技術(shù)低功耗設(shè)計中額外邏輯引入系統(tǒng)的問題,使得本發(fā)明的乘法器模塊內(nèi)部只有優(yōu)化結(jié)果參與生成加法器,而優(yōu)化算法自身的邏輯單元不會引入到乘法器內(nèi)部。對于含有大規(guī)模乘法運算的系統(tǒng),避免其內(nèi)部各乘法器所引入的算法邏輯的功耗和面積累加入系
4統(tǒng);第2,本發(fā)明基于正則有符號數(shù)字量算法和霍納算法,前者的優(yōu)化指標是乘法器轉(zhuǎn)化為加法器的數(shù)量,后者的優(yōu)化指標是乘法器內(nèi)部寄存中間加法運算結(jié)果的寄存器位寬。 兩種算法同時作用于同一小數(shù)乘法器,提升了單一算法的優(yōu)化效果;第3,本發(fā)明采用先正則有符號數(shù)字量優(yōu)化后霍納優(yōu)化的方法,前者計算結(jié)果可以為后者所利用,節(jié)省了后者計算工作量,提高了整個設(shè)計運算速度和運算效率;第4,本發(fā)明在運算過程中只需搜索乘法器系數(shù)中“1”的排列和位置并加以記錄和處理,具有運行速度快,占用資源少,簡單易行的優(yōu)點;第5,本發(fā)明能夠在不降低系統(tǒng)工作效率、不損失系統(tǒng)運算精度的條件下,大幅降低系統(tǒng)功耗和面積。


圖1為本發(fā)明的流程圖;圖2為本發(fā)明中小數(shù)乘法整數(shù)化處理后的乘法豎式圖;圖3為本發(fā)明中正則有符號數(shù)字量優(yōu)化后的乘法豎式圖;圖4為本發(fā)明中霍納優(yōu)化乘法豎式圖。
具體實施例方式參照圖1,本發(fā)明的具體實施步驟如下步驟1,構(gòu)建乘法器模塊用硬件描述語言構(gòu)建乘法器模塊實體,包括一個用于輸入原小數(shù)乘法器系數(shù)的類屬參數(shù)端口 ;兩個用于輸入被乘數(shù)與數(shù)據(jù)寬度的輸入端口 ;一個用于輸出最終乘法運算結(jié)果的輸出端口。本發(fā)明實施例中,用VHDL語言構(gòu)建乘法器模塊實體,類屬參數(shù)端口為g,被乘數(shù)輸入端口為x_i,數(shù)據(jù)寬度輸入端口為n,輸出端口為z_o。步驟2,系數(shù)整數(shù)化處理在乘法器模塊內(nèi)部,按照整數(shù)化處理公式X = BQn-I),對由模塊類屬參數(shù)輸入的小數(shù)乘法系數(shù)進行整數(shù)化處理,其中X為二進制整數(shù)處理結(jié)果、B為小數(shù)乘法器系數(shù)、η為數(shù)據(jù)寬度。此時數(shù)據(jù)寬度η所能表達出的最大數(shù)被歸一化為“1”,小數(shù)B則被表示為所占該 “歸一化1”的比例。本發(fā)明實施例中,八位的小數(shù)119/255被整數(shù)化處理為119/255 Q8-I)= 119 (01 IlOlllb),這里 255 (Illlllllb)被歸一化為“1”。八位小數(shù)乘法 153X 119/255 進行整數(shù)化處理后的乘法豎式如圖2所示。圖中被乘數(shù)153以二進制表示為10011001b,乘數(shù)為 OlllOlllb,該乘法運算共轉(zhuǎn)化為五個加法器,第一級加法結(jié)果為IllOOlOllb,位寬為9 ;第二級加法結(jié)果為10000101111b,位寬為11 ;第三級加法結(jié)果為Iioiioilllllb,位寬為12 ; 第四級加法結(jié)果為10000011011111b,位寬為14 ;第五級加法結(jié)果為100011100011111b,位寬為15,小數(shù)化處理后的八位最終乘法結(jié)果為1000111.0b。步驟3,正則有符號數(shù)字量優(yōu)化對二進制整數(shù)處理結(jié)果由最低位向第n-1位搜索并做以下記錄和處理逢“1”則以兩個變量分別記錄其位置和符號;逢“0”則判斷之前有沒有連續(xù)的“1”存在若有,取該連續(xù)“1”的補碼,將位置變量中的最大連續(xù)值加1,與其對應(yīng)的符號變量為正;位置變量中最小連續(xù)值保持不變,與其對應(yīng)的符號變量為負,刪除該兩個位置變量之間的位置變量和所對應(yīng)的符號變量,然后繼續(xù)向高位搜索;若無,直接向高位搜索;搜索至整數(shù)處理結(jié)果的第n-1位,將所有位置變量和符號變量分別組成位置序列和符號序列。本發(fā)明實施例中,對步驟2中八位小數(shù)乘法153X 119/255整數(shù)化處理結(jié)果進行正則有符號數(shù)字量優(yōu)化后的乘法豎式如圖3所示。圖中被乘數(shù)153以二進制表示為 iooiiooib,乘數(shù)為ιοοο οο Α,其中 表示-1。優(yōu)化后該乘法運算共轉(zhuǎn)化為2個加法器,第一級加法結(jié)果為-10101100001b ;第二級加法結(jié)果為100011100011111b,相比于優(yōu)化前加法器數(shù)量減少3個。步驟4,提取優(yōu)化結(jié)果在乘法器模塊內(nèi)部定義兩個常數(shù)序列,分別將步驟3的位置序列和符號序列賦值于這兩個常數(shù)序列。步驟5,霍納優(yōu)化將位置常數(shù)序列和符號常數(shù)序列相乘,結(jié)果記為(ni,n2,. . .,nk);第一個加法器是由被乘數(shù)左移Ii1位加被乘數(shù)左移n2位構(gòu)成,并缺省加法結(jié)果的最末n2位作為第一個中間結(jié)果;第二個加法器是由被乘數(shù)左移n3位加第一個中間結(jié)果構(gòu)成,并缺省加法結(jié)果的最末 113位作為第二個中間結(jié)果;第i個加法器是由被乘數(shù)左移位加第i-Ι個中間結(jié)果構(gòu)成, 并缺省加法結(jié)果的最末IV1位作為第i個中間結(jié)果;直至構(gòu)建出第k-Ι個加法器。由于霍納優(yōu)化算法是缺省對下級加法無進位貢獻的本級加法結(jié)果的末位,從而減少各級加法結(jié)果的位寬。因此在乘法器模塊內(nèi)部,除了缺省操作,沒有引入任何額外的運算和邏輯單元。由于步驟2中對η位小數(shù)系數(shù)B乘以Qn-I),相當(dāng)于將B左移η位,因此最末級加法運算的結(jié)果需要右移η位進行小數(shù)化處理。然而在霍納優(yōu)化過程中最大缺省位為nk,即在優(yōu)化過程中已經(jīng)右移了 nk位,所以最末級加法器的結(jié)果只需右移n-nk位,并保留高η位作為小數(shù)乘法運算的最終結(jié)果,由乘法器模塊輸出端口輸出。本發(fā)明實施例中,對步驟3中八位小數(shù)乘法153X 119/255的正則有符號數(shù)字量優(yōu)化結(jié)果,經(jīng)霍納優(yōu)化后的乘法豎式如圖4所示。圖中被乘數(shù)153以二進制表示為 10011001b,乘數(shù)為1000 00 Λ,其中 表示-1。優(yōu)化后該乘法運算共轉(zhuǎn)化為2個加法器,第一級加法結(jié)果為-10101100b,位寬為8 ;第二級加法結(jié)果為10001110b,位寬也為8,小數(shù)化處理后的八位最終乘法結(jié)果為IOOOllLOb,與優(yōu)化之前完全一致,加法結(jié)果位寬總共節(jié)省 (9+11+12+14+15)-(8+8) =45 位。步驟6,替換小數(shù)乘法器將乘法器模塊替換系統(tǒng)中各小數(shù)乘法器,乘法器模塊的類屬參數(shù)設(shè)置為小數(shù)乘法器系數(shù);乘法器模塊的被乘數(shù)輸入端設(shè)置為小數(shù)乘法器輸入;乘法器模塊的位寬輸入端設(shè)置為乘法器位寬;乘法器模塊的輸出端賦值于小數(shù)乘法器的結(jié)果。對于含有乘法器的系統(tǒng),系統(tǒng)的參數(shù)和特性一旦確定,其內(nèi)部各乘法器系數(shù)也將確定。而乘法器系數(shù)由類屬參數(shù)傳入而不以常數(shù)參數(shù)傳入的原因是,常數(shù)只能從設(shè)計實體的內(nèi)部得到賦值且不能再改變,而類屬的值可以由設(shè)計實體外部提供,因此設(shè)計者可以從外面通過類屬參量的重新設(shè)定而容易地改變該模塊的內(nèi)部電路結(jié)構(gòu)。本發(fā)明實施例中,采用ATERA公司的Quartus II作為綜合工具,首先創(chuàng)建項目向?qū)В赒uartusII的工具欄中點擊File- > New Project Wizard并選中乘法器模塊;其次在工具欄中點擊!Processing- > Start Compilation,啟動全程編譯;最后在工具欄中點擊 Tools-> Netlist Viewer- > RTL Viewer,查看乘法器模塊綜合后生成的門級電路。在綜合初期,小數(shù)乘法器的系數(shù)通過類屬參數(shù)傳入乘法器模塊,得到以常數(shù)序列表示的正則有符號數(shù)字量優(yōu)化結(jié)果,綜合后根據(jù)這些常數(shù),乘法器模塊就可以轉(zhuǎn)化為對應(yīng)的加法器,霍納優(yōu)化算法同時針對各級加法器缺省對下級加法運算無任何進位貢獻的本級加法結(jié)果末位, 從而降低寄存器位寬。這時正則有符號數(shù)字量優(yōu)化邏輯本身不會進入乘法器模塊中,而模塊內(nèi)部的霍納算法也只含有缺省操作,不會引入額外的邏輯單元和運算。為了精確測試本發(fā)明的優(yōu)化效果,以某含有大量數(shù)字濾波器和數(shù)字信號處理的射頻模塊作為被優(yōu)化系統(tǒng)。測試工具為kquence Design公司的Power Theater,作為標準功耗計算工具,它可以對系統(tǒng)的前端RTL代碼計算出準確的功耗和面積。表1與表2為優(yōu)化前射頻模塊功耗與面積;表3與表4為本發(fā)明方法優(yōu)化后的射頻模塊的功耗與面積。優(yōu)化前模塊的功耗為10. 7mW,邏輯單元數(shù)為95962,面積為1. 479mm2。經(jīng)過本發(fā)明方法優(yōu)化后, 以上參數(shù)分別為7. 94mW、74915、l. 412mm2,同比降低25. 79%,21. 93%,4. 53%。優(yōu)化效果十分明顯。表1優(yōu)化前射頻模塊功耗
權(quán)利要求
1.一種集成電路系統(tǒng)中小數(shù)乘法器的低功耗優(yōu)化方法,包括以下步驟(1)構(gòu)建乘法器模塊用硬件描述語言構(gòu)建乘法器模塊實體,包括一個用于輸入原小數(shù)乘法器系數(shù)的類屬參數(shù)端口 ;兩個用于輸入被乘數(shù)與數(shù)據(jù)寬度的輸入端口 ;一個用于輸出最終乘法運算結(jié)果的輸出端口 ;(2)系數(shù)整數(shù)化處理在乘法器模塊內(nèi)部,按照整數(shù)化處理公式X = B(2n_l),對由模塊類屬參數(shù)輸入的小數(shù)乘法系數(shù)進行整數(shù)化處理,其中,X為二進制整數(shù)處理結(jié)果;B為小數(shù)乘法器系數(shù);η為數(shù)據(jù)寬度;(3)正則有符號數(shù)字量優(yōu)化對二進制整數(shù)處理結(jié)果由最低位向第η-1位搜索并做以下記錄和處理3a)逢“1”則以兩個變量分別記錄其位置和符號;3b)逢“0”則判斷之前有沒有連續(xù)的“1”存在若有,取該連續(xù)“1”的補碼,將位置變量中的最大連續(xù)值加1,與其對應(yīng)的符號變量為正,位置變量中最小連續(xù)值保持不變,與其對應(yīng)的符號變量為負,刪除該兩個位置變量之間的位置變量和所對應(yīng)的符號變量,執(zhí)行步驟3a);若無,直接執(zhí)行步驟3a);3c)搜索至整數(shù)處理結(jié)果的第η-1位,將所有位置變量和符號變量分別組成位置序列和符號序列;(4)提取優(yōu)化結(jié)果在乘法器模塊內(nèi)部定義兩個常數(shù)序列,分別將位置序列和符號序列賦值于這兩個常數(shù)序列;(5)霍納優(yōu)化將位置常數(shù)序列和符號常數(shù)序列相乘,結(jié)果與被乘數(shù)進行霍納優(yōu)化,霍納優(yōu)化結(jié)果進行右移n-nk位的小數(shù)化處理,保留高η位作為小數(shù)乘法運算的最終結(jié)果,由乘法器模塊輸出端口輸出;(6)替換小數(shù)乘法器將乘法器模塊替換被優(yōu)化系統(tǒng)中各小數(shù)乘法器,乘法器模塊的類屬參數(shù)設(shè)置為小數(shù)乘法器系數(shù);乘法器模塊的被乘數(shù)輸入端設(shè)置為小數(shù)乘法器輸入;乘法器模塊的位寬輸入端設(shè)置為小數(shù)乘法器位寬;乘法器模塊的輸出端賦值于小數(shù)乘法器結(jié)果。
2.根據(jù)權(quán)利要求1所述的集成電路系統(tǒng)中小數(shù)乘法器的低功耗優(yōu)化方法,其特征在于,步驟(1)中所述的硬件描述語言為VHDL語言。
3.根據(jù)權(quán)利要求1所述的集成電路系統(tǒng)中小數(shù)乘法器的低功耗優(yōu)化方法,其特征在于,步驟(5)中所述的霍納優(yōu)化方法的步驟是,將將位置常數(shù)序列和符號常數(shù)序列相乘的結(jié)果記為Oi1, n2,. . .,nk);第一個加法器由被乘數(shù)左移Ii1位加被乘數(shù)左移n2位構(gòu)成,缺省加法結(jié)果的最末112位后作為第一個中間結(jié)果;第二個加法器由被乘數(shù)左移n3位加第一個中間結(jié)果構(gòu)成,缺省加法結(jié)果的最末n3位后作為第二個中間結(jié)果;第i個加法器是由被乘數(shù)左移位加第i-Ι個中間結(jié)果構(gòu)成,缺省加法結(jié)果的最末IV1位后作為第i個中間結(jié)果; 直至構(gòu)建出第k-Ι個加法器。
全文摘要
本發(fā)明公開了一種集成電路系統(tǒng)中小數(shù)乘法器的低功耗優(yōu)化方法,主要解決目前低功耗設(shè)計中額外邏輯引入系統(tǒng)從而影響系統(tǒng)功耗的問題。其主要步驟包括(1)構(gòu)建乘法器模塊;(2)系數(shù)整數(shù)化處理;(3)正則有符號數(shù)字量優(yōu)化;(4)提取優(yōu)化結(jié)果;(5)霍納優(yōu)化;(6)替換小數(shù)乘法器。本發(fā)明具有運行速度快,占用資源少,簡單易行的優(yōu)點,能夠在不降低系統(tǒng)工作效率、不損失系統(tǒng)運算精度的條件下,大幅降低系統(tǒng)功耗和面積。適用于諸如數(shù)字信號處理、數(shù)字濾波器等含有大量小數(shù)乘法器的系統(tǒng)。
文檔編號G06F7/52GK102314215SQ20111028998
公開日2012年1月11日 申請日期2011年9月27日 優(yōu)先權(quán)日2011年9月27日
發(fā)明者劉紅俠, 袁博 申請人:西安電子科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1