日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
基于16位定點DSP的并行乘法器的設(shè)計
基于16位定點DSP的并行乘法器的設(shè)計
 更新時間:2009-6-5 9:17:15  點擊數(shù):2
【字體: 字體顏色

摘要:設(shè)計了一種用于16位定點DSP中的片內(nèi)乘法器。該乘法器采用了改進型Booth算法,
使用CSA構(gòu)成的乘法器陣列,并采用跳躍進位加法器實現(xiàn)進位傳遞,該設(shè)計具有可擴展性,并提出了更高位擴展時應(yīng)改進型方向。設(shè)計時綜合考慮了高性能定點DSP對乘法器在面積和速度上的要求,具有極其規(guī)整的布局布線。
關(guān)鍵詞: 改進型Booth編碼;部分積產(chǎn)生器;陣列乘法器

1 引言
大多數(shù)先進的數(shù)字系統(tǒng)為實現(xiàn)高速算術(shù)運算都包含有硬件乘法器,例如許多高速單片機微控制器中的算邏運算都使用了硬件并行乘法器。目前廣泛應(yīng)用的DSP芯片內(nèi)核中,通常都有可單周期完成的片內(nèi)硬件乘法器,以實現(xiàn)某些復(fù)雜算法如濾波以及實時處理等。通常乘法器處于關(guān)鍵延時路徑上,因此乘法器的速度對整個芯片以及系統(tǒng)性能有重要影響。按結(jié)構(gòu)可分為串行乘法器和并行乘法器,串行乘法器面積和功耗最小,但是運算速度也最慢,因此高速數(shù)字應(yīng)用系統(tǒng)通常會采用并行乘法器。并行乘法器有三個主要部分[1]:部分積產(chǎn)生器、加法陣列塊和進位加法器。部分積產(chǎn)生器的功能是根據(jù)輸入的操作數(shù)產(chǎn)生部分積;加法陣列塊完成對部分積的歸約,是將所有的部分積相加產(chǎn)生2n位的結(jié)果;進位加法器是為了生成最終結(jié)果。
本文將討論一種用于16位定點DSP芯片的并行乘法器的設(shè)計?偟膩碚f,對快速乘法器性能的改進,設(shè)計時不外從三個方面來考慮:減少部分積的數(shù)目,比如采用改進的Booth算法;對部分積歸約,比如采用Wallace樹形結(jié)構(gòu);減少最后一級進位傳遞時間。文中從芯片制造的角度綜合衡量芯片成本、可靠性及性能后,對于部分積產(chǎn)生器采用改進型BoothII算法設(shè)計;加法陣列塊直接用CSA陣列乘法將部分積相加生成進位項和偽和項;采用跳躍進位加法器將進位與偽和相加,產(chǎn)生最終結(jié)果。版圖實現(xiàn)采用靜態(tài)CMOS 工藝,加法單元主要采用CMOS傳輸門實現(xiàn)。
2 計算公式
Booth算法適用于補碼表示的乘法運算。16×16位整數(shù)AS 、BS乘積PS的計算公式[2]如下
(基2的表示)
, (b-1=0), (基4的表示) (1)
式中,A表示被乘數(shù);B表示乘數(shù);P表示乘積;下標S代表補碼整數(shù);下標O代表無符號數(shù)。
部分積 , n = 0,1,…7。
對于16位無符號數(shù)AO、BO的乘積,PO的計算公式為
(基2的表示)
, (b16=b17=0) (基4的表示) (2)
部分積 , n = 0,1,…,8 ,其中b16= b17= 0,b-1= 0。
顯然,采用基4算法比采用基2算法的部分積項簡化了近一半;對于16位有符號整數(shù)的乘法,有8個部分積項,而16位無符號數(shù)的乘法,則有9個部分積項。將式(1)和式(2)統(tǒng)一起來,可以認為16位乘法有9個部分積,最后一個部分積PP8的取值為
PP8 = 0 整數(shù)乘法
A×b15×216 無符號數(shù)乘法
對于基更高的Booth編碼,例如基8也是可以實現(xiàn)的,不過需要額外的加法器進行被乘數(shù)的3倍和5倍的計算,控制電路更復(fù)雜,簡化部分積項的優(yōu)點反而不明顯。本設(shè)計中不采用。
3 邏輯設(shè)計及其設(shè)計實現(xiàn)
圖1描述了該16位并行乘法器的整體結(jié)構(gòu)有三個主要部分:部分積產(chǎn)生器、加法陣列塊和進位加法器。下面詳細討論各部分的邏輯設(shè)計及實現(xiàn)。


圖1 并行乘法器的體系結(jié)構(gòu)

3.1 改進型基4 Booth編碼器
Booth編碼邏輯設(shè)計的實質(zhì),就是將部分積表達式中的系數(shù)值,編碼后用邏輯表達式來描述,然后進行邏輯實現(xiàn)。根據(jù)基4表示的乘法計算公式可以看出,基4 的Booth編碼的最大優(yōu)點就是只有5種系數(shù)的部分積項,即0,1,2,-1,-2,也就意味著編碼邏輯只需要3位,即1個符號位和2個數(shù)值編碼位。本設(shè)計中采用改進型Booth編碼如表1所示。根據(jù)編碼表可以得出編碼信號的邏輯表達式如下
NEG2n=b2n+1;B12n =b2n ^ b2n-1;

為產(chǎn)生所有部分積的系數(shù),設(shè)計中采用9個Booth編碼器,即Booth0,Booth1,…,Booth8。編碼信號產(chǎn)生邏輯如圖2所示,以b2n+1 、 b2n 、b2n-1為輸入,3個編碼信號為輸出。對PP0來說,因為b-1=0,所以輸入信號變?yōu)?個,因此Booth0編碼結(jié)構(gòu)可以簡化。Boothi(i= 1,2,…,7)編碼原理相同,考慮負載能力的不同,實現(xiàn)時用了不同結(jié)構(gòu)。因為部分積PP8的作用是為了考慮有符號數(shù)和無符號數(shù)的乘法,Booth8的編碼實現(xiàn)邏輯采用B116=b15 & SXM,B216=0,NEG=0;SXM=0時完成符號數(shù)乘法運算,SXM=1時為無符號數(shù)乘法運算。Booth編碼的輸出全為互補的信號,這是產(chǎn)生部分積邏輯的需要。


(a) Booth0 的邏輯結(jié)構(gòu)



(b) Booth1和Booth i (i=2,…,7)的兩種邏輯結(jié)構(gòu)
圖2 Booth編碼邏輯實現(xiàn)

3.2 部分積產(chǎn)生器
首先考慮各編碼數(shù)字對應(yīng)的產(chǎn)生部分積的操作:0,作為部分積;+1,被乘數(shù)作為部分積;+2,被乘數(shù)左移一位作為部分積;-1,被乘數(shù)的補碼作為部分積; -2,被乘數(shù)左移一位后的補碼作為部分積。9個Booth編碼器可以產(chǎn)生PPn(n = 0,1,…,8)等9個部分積,關(guān)于部分積的產(chǎn)生有不同的邏輯,本設(shè)計采用

邏輯實現(xiàn)如圖3所示,PPi ( i = 0,1 )和PPi(i=2,…8)采用了不同結(jié)構(gòu)。所產(chǎn)生的部分積是有
符號數(shù),在部分積進入陣列乘法器進行歸約加法之前,需要進行符號擴展,使上面邏輯式中的輸入


(a) PPi 的邏輯結(jié)構(gòu) (i=0,1) (b)PPi的邏輯結(jié)構(gòu)( i≠ 0或1)
圖3部分積產(chǎn)生邏輯實現(xiàn)
信號為被乘數(shù)符號擴展位,就能很容易地實現(xiàn)符號擴展,大大減少了符號擴展的耗費。而對有符號數(shù)來說,在NEG2n=1時,還要與NEG2n相加,才能完成對結(jié)果的求補操作,這一操作在乘法陣列中實現(xiàn)。
3.3 陣列乘法器
當部分積PPn產(chǎn)生之后,將它們相加就得到乘法操作的結(jié)果[3]。布線版圖最規(guī)則的相加就是簡單的陣列乘法器的結(jié)構(gòu),即P=(…(((PP0+PP1)+ PP2)+ PP3) +…)+PP8 ,n個部分積需要n-1行全加器。采用3.2節(jié)的保留進位加法器CSA,即進位信號不傳遞給本次加法的高位,而在下次加法時傳遞到高位的輸入端,可避免本級加法器內(nèi)的進位延時。而只有到高16位字結(jié)果計算時,才將前面乘法陣列產(chǎn)生的偽和與進位信號相加,得到真正結(jié)果。乘法陣列采用Booth算法,原理框圖如圖4。每次加法可以得出低2位結(jié)果,即部分積的相加與低16位結(jié)果的產(chǎn)生是并行的,高位結(jié)果由一個16位的快速進位傳遞加法器CPA完成。


圖4 16位陣列乘法器原理框圖

本設(shè)計的乘法運算是針對無符號數(shù)和有符號整數(shù)兩類操作數(shù)。設(shè)計實現(xiàn)中,為了防止在相乘時被乘數(shù)左移可能產(chǎn)生的溢出,在整數(shù)運算時對其高位補兩個符號位,無符號數(shù)運算時高位補兩個0,形成了18位的補碼表示的數(shù)據(jù)(a17a16a15,…, a0),設(shè)計實現(xiàn)邏輯采用a17 = a16 = & a15。
根據(jù)基4的Booth算法,共有9個部分積,每個為18位,所以可用8個18位全加器來完成乘法運算。圖5顯示了用CSA實現(xiàn)的乘法陣列。從圖中可以看出,延遲主要由部分積(PP0, PP1)產(chǎn)生電路、FA以及FA0單元、最后一級進位傳遞加法器的延遲構(gòu)成,若要求更高的運算速度,要從減少這些電路的延遲來考慮。前面已經(jīng)提到的同樣功能電路實現(xiàn)結(jié)構(gòu)不同,也是基于延時及功耗考慮的結(jié)果。
3.4 進位傳遞加法器
快速進位傳遞加法器(CPA)是為了實現(xiàn)偽和與進位相加以得到最終結(jié)果,除了優(yōu)化設(shè)計其中全加器單元的電路結(jié)構(gòu),為進一步減少進位延遲,采用分段進位鏈的結(jié)構(gòu),對16位的CPA采用等


圖5 16位陣列乘法器的實現(xiàn)

長分段的跳躍進位加法器來實現(xiàn),分為4段,每段4位,段內(nèi)以行波進位實現(xiàn),如圖6(a)。假設(shè)分段數(shù)為n,每段中k位,則第i段中最高位的進位邏輯表達式為 ,具體實現(xiàn)如圖6(b)。


圖6 跳躍進位鏈的邏輯實現(xiàn)
4 結(jié)論
本文設(shè)計的16位定點乘法器,版圖采用上華的0.6μm CMOS工藝實現(xiàn),主要模塊采用靜態(tài)CMOS完成,加法單元主要采用CMOS傳輸門實現(xiàn)。作為性能為20MIPS的數(shù)字電機控制DSP芯片產(chǎn)品的片內(nèi)集成乘法器,可實現(xiàn)單周期乘法運算。該設(shè)計實現(xiàn)結(jié)構(gòu)簡單,設(shè)計時綜合考慮了速度、面積和功耗指標,易于擴展。為擴展到更高位數(shù)的乘法器并保證其運算性能,設(shè)計實現(xiàn)時可考慮對處于關(guān)鍵路徑上的單元進行改進,如對全加器單元進行優(yōu)化設(shè)計;采用Wallace樹形乘法陣列對部分積歸約;減少高位字的進位傳遞時間,如 CPA實現(xiàn)時選取優(yōu)化分組的跳躍進位加法器或者改用先行進位加法器等。
<!--插入廣告JS代碼-->
  • 上一篇: 用于基站通信的ADSP Tiger SHARC 101S 數(shù)字信號處理器
  • 下一篇: 一種32位浮點DSP中的串行通信口的設(shè)計
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1