国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于BoothCSD混合編碼的模2n+1乘法器的設(shè)計

2014-09-26 08:58徐祖強邱陳輝
電子器件 2014年2期
關(guān)鍵詞:取模乘法器二進制

王 敏,徐祖強,邱陳輝

(江蘇科技大學(xué)電子信息系,江蘇鎮(zhèn)江212003)

基于BoothCSD混合編碼的模2n+1乘法器的設(shè)計

王 敏,徐祖強,邱陳輝

(江蘇科技大學(xué)電子信息系,江蘇鎮(zhèn)江212003)

在余數(shù)系統(tǒng)的設(shè)計中,模加法器和模乘法器的設(shè)計處于核心地位,尤其是模乘法器的性能,是衡量余數(shù)系統(tǒng)系能的主要標(biāo)志之一。文中先推導(dǎo)出Booth編碼下的模2n+1乘法器設(shè)計的算法,然后針對Booth編碼模乘法器設(shè)計中譯碼電路復(fù)雜的問題,提出了一種基于Booth/CSD混合編碼的模乘法器設(shè)計方法,基于Booth/CSD編碼的模乘法器部分積的位寬相對傳統(tǒng)的Booth編碼乘法器而言,減少了50%;經(jīng)試驗證明,與傳統(tǒng)的基-Booth編碼的模乘法器相比這種混合編碼的模乘法器的速度提高了5%,面積減少24.7%。

電子電路設(shè)計;模2n+1乘法器;Booth/CSD編碼;余數(shù)系統(tǒng)

近年來,隨著大規(guī)模集成電路的發(fā)展,余數(shù)系統(tǒng)以其內(nèi)在的并行特性越來越受到業(yè)內(nèi)人士的重視;在圖像處理、CDMA通信系統(tǒng)以及DSP處理器設(shè)計等領(lǐng)域余數(shù)系統(tǒng)都有較好的應(yīng)用前景。在乘法器設(shè)計中,基于Booth編碼的乘法器[1-3]在二進制系統(tǒng)中得到了廣泛的應(yīng)用,Booth編碼的核心是通過減少乘法運算中的部分積個數(shù)來達到提高乘法器運算速度的目的,而CSD編碼則是在乘數(shù)的二進制表示有較多連續(xù)的“1”時,通過某種轉(zhuǎn)換,增加“0”的個數(shù),減少“1”的個數(shù)。我們知道“0”在實際運算過程中和被乘數(shù)相乘結(jié)果為0,可看做不參加運算。文中將兩種編碼的優(yōu)點有效結(jié)合起來,雖然CSD編碼并不是每一次都能簡化乘法運算,但在統(tǒng)計學(xué)的角度看,兩者的結(jié)合可以有效的提高乘法運算速度。為表示方便,以下論文中凡出現(xiàn)右下角標(biāo),均表示對該值進行取模運算。

1 基于8-Booth編碼的模2n+1乘法器

1.1 基8-Booth編碼模2n+1乘法器結(jié)構(gòu)

基8-Booth編碼的模2n+1乘法器[4-6]結(jié)構(gòu)圖如圖1所示,該結(jié)構(gòu)主要包括Booth編碼器、模部分積生成器、華萊士樹壓縮器[7]以及超前進位模2n+ 1加法器。其中華萊士樹是由進位保留加法器構(gòu)成,它能夠?qū)Σ糠址e進行壓縮,將3個部分積壓縮成2個,從而減少相加部分積的個數(shù),其結(jié)構(gòu)如圖2所示。

圖1 基8-Booth編碼模2n+1乘法器結(jié)構(gòu)

圖2 華萊士樹形結(jié)構(gòu)

1.2 基8-Booth編碼模2n+1乘法器設(shè)計算法推導(dǎo)

余數(shù)系統(tǒng)中設(shè)計模加法器和模乘法器的用意是,將乘法或加法運算的結(jié)果經(jīng)過取模運算轉(zhuǎn)換成較小的數(shù),然后再用較小的數(shù)參加各類運算。比如,選定余數(shù)基為28-1,假定有兩個數(shù)相乘,結(jié)果為遠大于255的數(shù),這類數(shù)參加各類算術(shù)運算時得到的結(jié)果一般也較大,但如果對其進行取模運算,取模后的結(jié)果在0~255之間,實際參加運算的操作數(shù)就小的多了,當(dāng)然計算起來也更加簡便。最后利用某些方法,比如中國剩余定理,將余數(shù)系統(tǒng)下的結(jié)果轉(zhuǎn)換成人們易于接受的形式。模乘法器的設(shè)計過程中,可以先計算出乘法運算的結(jié)果,然后對該結(jié)果進行取模運算;也可以基于如下公式所提供的思路:〈x1+x2+…xk〉m=〈〈x1〉m+〈x2〉m+…,其中xi為乘法運算過程中產(chǎn)生的部分積,加上xi即在部分積累加前先對部分積進行一次取模運算,然后對累加的結(jié)果再次取模。由于基8-Booth運算中,每次對乘數(shù)取3位,因此首先對B進行位擴展,使其二進制表示的位寬為3的倍數(shù),因此B可以表示成

所以對AB的乘積取模2n+1運算方法如下

為求出AB乘積取模的一般表達式,先假設(shè)一個中間變量PPi,并令

令Ei=-4b3i+2+2b3i+1,E'i=b3i+b3i-1,那么Ei的取值為{-4,-2,0,2},E、i的取值為{0,1,2};假設(shè)Ei23i=,則

求出S1,S2,j,k的表達式如下

現(xiàn)求解|S1A2j|2n+1和|S2A2k|2n+1的值

由于

當(dāng) S1=1時,,對于無符號數(shù)m,有(m+ˉm)=2j-1,ˉm表示對m的二進制表示各位取反。所以-m =ˉm-(2j-1),最后得出:

當(dāng)S1=0時

當(dāng)S1=-1時

同理可求出|S2A2k|2n+1

當(dāng)S2=0時

當(dāng)S2=1時

根據(jù)上面的運算結(jié)果給出基8-Booth編碼的模2n+1乘法運算部分積如表1所示。

表1 基8Booth編碼的模2n+1乘法運算部分積

1.3 Booth編碼下模乘法器性能分析

2 基于CSD/Booth混合編碼的模2n+1乘法器

2.1 CSD/Booth編碼原理

采用CSD編碼的優(yōu)勢在于:當(dāng)乘數(shù)的二進制表示含有較多連續(xù)的“1”時,可以用較多的“0”代替,CSD編碼[10]的內(nèi)容是:從最低有效位開始,用10…取代所有的大于等于2的“1”序列.如11112= 1000CSD?;?CSD/Booth混合編碼同時結(jié)合了CSD編碼可以減少乘數(shù)中“1”的個數(shù)和Booth編碼可以減少部分積的特點,CSD/Booth編碼的原理如下,(以8-Booth為例)假定一個數(shù)B,表示成b3k-1b3k-2…b0,將其分組,每3位為1組,即 b2b1b0,b5b4b3,…,b3k-1b3k-2b3k-3,然后將各組Booth碼轉(zhuǎn)換成CSD碼,如111→100,011→10等,具體的CSD/Booth編碼規(guī)則如表2所示。需要注意的是,在由Booth碼轉(zhuǎn)換成CSD碼時,有時候會遇到位寬擴展的問題,如上111→100轉(zhuǎn)換,就需要擴展一位,類似這種情況,采用修正的方法來得到最終的部分積和。

表2 CSD/Booth編碼表

表2中之所以將3A寫成4A-A,5A寫成4A+ A是為了將乘法運算轉(zhuǎn)換成簡單的移位運算,基于CSD/Booth混合編碼的模2n+1乘法器的流程圖如圖3所示。

圖3 模2n+1乘法器流程圖

而最終對部分積之和取模運算,可以采取如下高效的方法:設(shè)A、B的二進制表示為n位,AB兩數(shù)相乘的結(jié)果表示為:

其中K=(AB)/2n,U=(AB)mod 2n。

所以

可得出

2.2 FPGA仿真驗證結(jié)果及性能比較

本文以基28+1模乘法器為例驗證,至于更高階基的模乘法器的設(shè)計方法類似。采用上面的方法得到的仿真驗證結(jié)果如圖4,圖中a、b為相乘的兩個整數(shù),result為乘積,modresult為對28+1取模運算的結(jié)果,本設(shè)計在quartus ii軟件中,采用VHDL語言編寫,并用ALTERA公司的cyclone ii系列FPGA芯片進行綜合驗證,實驗表明,單純采用基8-Booth編碼的模28+1乘法器需要在更低的時鐘頻率下才能得到正確結(jié)果,因而在速度上,基于CSD/ Booth混合編碼的模2n+1乘法器的效率要高。

圖4 模28+1乘法器驗證結(jié)果

兩種編碼方法的硬件消耗比較如表3所示。

表3 硬件資源消耗對比

3 結(jié)語

本文利用CSD/Booth混合編碼的方法實現(xiàn)了一個模2n+1乘法器,該乘法器同時結(jié)合了CSD編碼和Booth編碼的優(yōu)點,在取模運算的譯碼過程中,利用簡單的截位運算替代查找表,有效的節(jié)省了硬件資源,并在一定程度上提高了模乘法器的運算速度,為更加高效的模乘法器的設(shè)計提供了良好的思路。

[1] 湯曉慧,楊軍,吳艷.基于Booth算法的32×32乘法器IP核設(shè)計[J].電子器件,2005,28(1):231-233.

[2] Deepal Chandel,Gagan Kumawat,Pranay Lahoty.Booth Multiplier: Ease of Multiplication[J].International Journal of Emerging Technology and Advanced Engineering,2013,3(3):326-329.

[3] Dina Younes,Pavel Steffan.Novel Modulo 2n+1 Subtractor and Mulitiplier[C]//The Sixth International Conference on Systems,2011:36-38.

[4] Reto Zimmermann.Efficient VLSI Implementation of Modulo 2n±1 Addition and Multiplication[C]//Proceedings of the 14th Symposium on Computer Arithmetic,1999:51-54.

[5] Yi-Jung C,Dyi-Rong D,Yunghsiang S H.Improved Modulo 2n+1 Multiplier for IDEA[J].Journal of Information Science and Engineering,2007,23:907-919.

[6] Soojin Kim,Kyeongsoon Cho.Design of High-Speed Modified Booth Multipliers Operation at GHz Ranges[R].World Academy of Science,Engineering and Technology,2010:37-38.

[7] 王定,余寧梅,張玉倫,等.改進型booth華萊士樹的低功耗、高速并行乘法器的設(shè)計[J].電子器件,2007,30(1):253-255.

[8] 胡劍浩,馬上.余數(shù)系統(tǒng)原理與在高速數(shù)字信號處理中的應(yīng)用[M].北京:科學(xué)出版社,2012:2-11.

[9] 李磊,胡劍浩,敖思遠.高速Booth編碼模2n-1乘法器的設(shè)計[J].微電子學(xué)與計算機,2011,28(11):191-193.

[10]Meyer-Baese U.數(shù)字信號處理的FPGA實現(xiàn)[M].北京:清華大學(xué)出版社,2011:50-55.

[11]Marc Hunger,Daniel Marienfeld.New Self-Checking Booth Multiplier[J].Math,Comput Sci,2008,18(3):319-328.

[12]劉東.采用Booth算法的16×16并行乘法器設(shè)計[J].現(xiàn)代電子技術(shù),2003(5):21-25.

[13]周蜿婷,李磊.基4BOOTH編碼的高速32×32乘法器的設(shè)計與實現(xiàn)[J].電子科技大學(xué)學(xué)報,2008,37:106-108.

王 敏(1974- ),女,漢族,重慶豐都人,江蘇科技大學(xué)副教授,碩士,主要研究方向為信號與信息處理,wangmin94 @163.com。

The Design of Modulo 2n+1 Multiplier Based on Booth/CSD Hybrid Encoding

WANG Ming,XU Zuqiang,QIU Chenhui
(Department of Electronic and Information,Jiangsu University of Science and Technology,Zhenjiang Jiangsu 212003,China)

In the design of RNS system the designs of,the modulo multiplier and adder are in a core position,espically the performance of the modulo mulitipliers,which is the main mark of a successfully RNS system.In this paper,we deduce the arithmetic used in the design of the Booth-based modulo multiplier first,and then in order to solve the problem of complex decoding circuit in design,we put forward a new method,in which we bring the efficient CSD enconding technology and radix-booth encoding techniques together,the partial product of Booth/CSD encoding module multiplier has a decrease of fifty percent compared with traditional Booth based module multiplier;the test results demonstrate that,in comparision with the traditional Booth based module multiplier the speed which we take Booth/ CSD encoding method has an increase of five percent and the area has a decrease of twenty four point seven.

electronic circuit design;module 2n+1 multiplier;Booth/CSD encoding;RNS system

10.3969/j.issn.1005-9490.2014.02.044

TN710

A

1005-9490(2014)02-0373-05

2013-06-03修改日期:2013-07-16

EEACC:6120B

猜你喜歡
取模乘法器二進制
關(guān)于不定方程x2-pqy4=16的正整數(shù)解
關(guān)于商高數(shù)的Je?manowicz猜想*
關(guān)于不定方程x2-8y4=M(M=17,41,73,89,97)*
一種低開銷的近似乘法器設(shè)計
用二進制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
基于Karatsuba和Vedic算法的快速單精度浮點乘法器
有趣的進度
二進制在競賽題中的應(yīng)用
關(guān)于不定方程x2-5y4=236
基于FPGA的流水線單精度浮點數(shù)乘法器設(shè)計*
彭水| 交城县| 陆良县| 玉门市| 高雄县| 洪泽县| 佛坪县| 公安县| 洛川县| 桐城市| 华坪县| 富蕴县| 温州市| 舞阳县| 宣威市| 措美县| 榆林市| 民勤县| 铜川市| 五峰| 乌拉特前旗| 漳平市| 南陵县| 黑河市| 静宁县| 永定县| 广西| 兰考县| 沭阳县| 志丹县| 克山县| 奉节县| 黄梅县| 宜宾县| 宁武县| 明溪县| 天峨县| 皮山县| 清河县| 区。| 巨鹿县|