亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CPLD的簡易串行數(shù)字乘法器

        2013-04-20 00:43:50茹勝華周麗君
        制導(dǎo)與引信 2013年4期
        關(guān)鍵詞:乘法器乘數(shù)乘積

        茹勝華, 馬 亮, 周麗君

        (上海無線電設(shè)備研究所,上海200090)

        0 引言

        在現(xiàn)代可編程邏輯電路的設(shè)計中,通常采用具有乘法器單元的FPGA 完成高速、復(fù)雜的信號處理算法[1],以較高的成本解決數(shù)字信號處理中大量乘法運(yùn)算。但在對乘法運(yùn)算和時序邏輯有需求但不高的場合,若采用FPGA 設(shè)計乘法器,浪費(fèi)資源,增加產(chǎn)品成本,且難于技術(shù)加密。針對這種情況,本文采用無乘法器資源的CPLD 完成16位無符號數(shù)字乘法器的設(shè)計,它以串行、移位方式進(jìn)行數(shù)據(jù)相乘運(yùn)算,特別適合串行通訊。該乘法器運(yùn)算步驟少,算法簡單,占資源少,可封裝為經(jīng)典模塊,供重復(fù)使用。

        1 算法推理

        無符號數(shù)字串行乘法可以從6位二進(jìn)制乘法展開推導(dǎo),歸納總結(jié)出n位的二進(jìn)制乘法。

        設(shè)有兩個6位二進(jìn)制A 和B,分別為

        那么,A 與B的乘積X 可以表示

        X =A×B =x11×211+x10×210+x9×29+x8×28+x7×27+x6×26+x5×25+x4×24+x3×23+x2×22+x1×21+x0×20

        其中:

        c1~c10為乘積X 的第1位數(shù)(x1)~第10位數(shù)(x10)的進(jìn)位,從x0~x11的表達(dá)式可以總結(jié)出第k位數(shù)的通式xk。

        式中:i+j=k,i是乘數(shù)A 的下標(biāo),j是乘數(shù)B 的下標(biāo),k是乘積X 的下標(biāo);0≤i ≤k,0≤j ≤k;0≤i≤n-1,0≤j ≤n-1;0≤k ≤11,即k ≤2n-1,n是乘數(shù)和被乘數(shù)的位數(shù),式中n=6;

        從6位的乘法的計算公式,可以歸納、總結(jié)出兩個n位二進(jìn)制數(shù)的乘法。假定:兩個n 位二進(jìn)制數(shù)分別為A(an-1an-2……a2a1a0)和B(bn-1bn-2……b2b1b0),那 么,它 們 的 乘 積X(x2n-1x2n-2x2n-3……x2x1x0)可表示為

        式(4)為兩個n 位無符號串行二進(jìn)制數(shù)乘法的逐位運(yùn)算規(guī)則,xk是乘積X 第k 位數(shù)的運(yùn)算通式。

        2 算法設(shè)計

        依據(jù)式(4),可以將兩個n 位乘法計算分為n次完成,每次計算均按照xk項(xiàng)進(jìn)行計算,如圖1所示。

        圖1 串行二進(jìn)制乘法器算法原理

        圖1中,被乘數(shù)與乘數(shù)按照移位時序送入寄存器,每次移位將對“被乘數(shù)”、“乘數(shù)”和“進(jìn)位”計算,形成該位“乘積”和“進(jìn)位”。隨著數(shù)據(jù)的串行進(jìn)入,逐位求積,當(dāng)信號結(jié)束時,完成乘法運(yùn)算。在每一次計算完成后,對乘數(shù)、被乘數(shù)和進(jìn)位寄存器進(jìn)行清零,準(zhǔn)備下一次的乘法運(yùn)算。

        3 基于CPLD 的乘法器的實(shí)現(xiàn)

        根據(jù)上述算法原理,設(shè)計16位乘法器[2],如圖2所示。

        圖2 16位乘法器電路

        圖2 中,寄存器B 的Q0~Q15 的輸出為QB0~QB15,寄存器A 的Q0~Q15 的輸出為QA0~QA15,工作可分為以下幾個階段。

        乘法器工作流程如下:

        a)乘數(shù)裝訂,按照時序首先給寄存器B裝訂乘數(shù),從寄存器B的QB0~QB15輸出,可以串行裝訂,也可以并行裝訂;

        b)被乘數(shù)寄存器A 清零,即QA0~QA15置“0”,本步驟可與乘數(shù)裝訂同時進(jìn)行;

        c)被乘數(shù)輸入,寄存器A 按序逐位輸入16位串行被乘數(shù);

        d)對寄存器A 依次進(jìn)入的數(shù)據(jù),進(jìn)行逐位計算,并最終形成乘積。

        在相同的時鐘周期情況下,該乘法器的最快運(yùn)算周期數(shù)為:乘數(shù)加載周期數(shù)、被乘數(shù)位數(shù)、乘數(shù)位數(shù)的總和,即33個時鐘周期。

        4 仿真及試驗(yàn)驗(yàn)證

        根據(jù)圖2,運(yùn)用原理圖方法完成乘法器設(shè)計。為驗(yàn)證上述算法的有效性,采用Lattice公司的ispLEVER 軟件進(jìn)行時序仿真[4],結(jié)果分別如圖3、4所示。

        圖3、4中,各信號意義如下:CLEAN 是進(jìn)位寄存器清零信號,“1”有效;CLOCK A 是寄存器A(被乘數(shù)寄存器)的時鐘,上升沿有效;CLOCK B是寄存器B(乘數(shù)寄存器)的時鐘,上升沿有效;CLOCK C 是進(jìn)位寄存器的時鐘,上升沿有效;CMA 是寄存器A 的串并工作方式控制,“0”為串行狀態(tài),“1”為并行方式;CM B 是寄存器B 的串并工作方式控制,“0”為串行狀態(tài),“1”為并行方式;DATA A 是寄存器A 的串行輸入數(shù)據(jù),先低后高;DATA B 是寄存器B 的串行輸入數(shù)據(jù),先低后高;PDB0~PDB15是寄存器B 的并行輸入數(shù)據(jù),其中PDB0 為最低位,PDB15 為最高位;DOUT 為乘積輸出,先低后高。

        圖3對第一組數(shù)據(jù)輸入進(jìn)行仿真,寄存器B的并行端口D0~D15 輸入并行數(shù)據(jù)(PDB)為1000010101110001;在寄存器A 的Data A 端口依次輸入串行數(shù)據(jù)為0001111000011101(送數(shù)次序?yàn)橄鹊秃蟾撸?。仿真結(jié)果為32 位數(shù)據(jù)為00001111101100100101101111001101,即為寄存器A、B的乘積,驗(yàn)證了乘法器的有效性。

        圖3 第一組16×16位數(shù)乘法器仿真結(jié)果

        圖4 第二組16×16位數(shù)乘法器仿真結(jié)果

        圖4對第二組數(shù)據(jù)輸入進(jìn)行仿真,寄存器B輸 入 0001011100100000,寄 存 器 A 輸 入0001111111100000。仿真結(jié)果為32 位數(shù)據(jù)為00000010111000010001110000000000,即為寄存器A、B的乘積,也驗(yàn)證了乘法器的有效性。

        仿真結(jié)果達(dá)到預(yù)期效果后,通過CPLD 的硬件平臺,完成軟件的下載,模塊驗(yàn)證結(jié)果與仿真完全一致。目前,該16位乘法器作為模塊使用,經(jīng)過級連擴(kuò)展成64位串行乘法器,在某產(chǎn)品上穩(wěn)定工作。該乘法器算法的實(shí)現(xiàn),避免了硬件平臺向FPGA 升級所造成資源和成本的浪費(fèi)。

        5 使用資源的估算

        采用上述方法設(shè)計的乘法器所使用的資源與采用的編譯軟件、CPLD 器件類型、編寫代碼(原理圖、VHDL 等)等因素相關(guān)。下面撇開這些干擾因素,對該乘法器使用的資源進(jìn)行理論推算[3]。

        從圖1可以看出,該乘法器由與門、全加器和寄存器構(gòu)成。

        5.1 兩輸入與門數(shù)量

        兩輸入的與門使用的總數(shù)量應(yīng)等于被乘數(shù)或乘數(shù)的位數(shù),即與門數(shù)=n;

        5.2 三輸入全加器數(shù)量

        全加器由本位全加器和進(jìn)位全加器構(gòu)成,進(jìn)位全加器又分為十位全加器、千位全加器、萬位全加器、…、l位全加器,l應(yīng)滿足2l≥n,r1為滿足3r1 ≤n的最大整數(shù)。

        ……

        綜上所述,n 位乘法電路所用全加器的總數(shù)Un為:

        5.3 寄存器數(shù)量

        寄存器分為進(jìn)位寄存器、乘數(shù)寄存器和被乘數(shù)寄存器三類。進(jìn)位寄存器由2p1≥n 決定,即p1≥log2n。乘數(shù)寄存器和被乘數(shù)寄存器各一個。

        綜合上述,乘法器所用總資源如表1所示。

        上述計算分析表明,該乘法器占用較少的資源。

        表1 乘法器所用資源匯總

        6 結(jié)束語

        本文針對不含有內(nèi)置乘法器的CPLD,對串行乘法器的乘法機(jī)理進(jìn)行詳細(xì)分析后,形成算法設(shè)計和原理圖設(shè)計,并進(jìn)行時序仿真和試驗(yàn)驗(yàn)證,最終驗(yàn)證了串行無符號整數(shù)乘法器設(shè)計有效。采用該方法設(shè)計的乘法器占用較少的資源,并具有良好的擴(kuò)展性,能夠擴(kuò)展到任意位數(shù)。在含有內(nèi)置乘法器的FPGA 設(shè)計中,該設(shè)計方法可以大大擴(kuò)展乘法器的可用數(shù)量,在實(shí)時性要求不高的條件下,選擇低容量器件,降低成本,減少硬件資源浪費(fèi)。

        上述乘法器通過拓展,可應(yīng)用于其它實(shí)時性要求不高的場合。比如,增加一個串行轉(zhuǎn)并行的模塊,就可以實(shí)現(xiàn)并行數(shù)據(jù)的乘法;增加符號位的異或門,可應(yīng)用于有符號的運(yùn)算。另外,通過對浮點(diǎn)數(shù)進(jìn)行整數(shù)化近似后,分別進(jìn)行整數(shù)相乘和指數(shù)相加的運(yùn)算,可將本乘法器應(yīng)用于浮點(diǎn)小數(shù)的近似運(yùn)算,以降低成本和資源。

        [1] 王磊磊.基于CZT 的頻率細(xì)化方法的FPGA 實(shí)現(xiàn)[J].制導(dǎo)與引信,2010,31(1):29-32.

        [2] 吳靜,李樹榮,等.一種基于RISC 結(jié)構(gòu)單片機(jī)的數(shù)字乘法器的設(shè)計.微電子學(xué),2004,34(5):593-594.

        [3] 羅朝杰.數(shù)字邏輯設(shè)計基礎(chǔ)上冊[M].北京:人民郵電出版社,1982,(9):223-224.

        [4] 高路.基于FPGA 的DSP外部總線接口設(shè)計[J].制導(dǎo)與引信,2011,32(2):20-23.

        猜你喜歡
        乘法器乘數(shù)乘積
        乘積最大
        Dirichlet級數(shù)及其Dirichlet-Hadamard乘積的增長性
        看錯了數(shù)字
        基于FPGA的流水線單精度浮點(diǎn)數(shù)乘法器設(shè)計*
        理性認(rèn)知西藏投資乘數(shù)小于1問題:以1996—2014年為例
        西藏研究(2016年4期)2016-06-05 11:31:15
        尋找突破角巧解算式謎
        復(fù)變?nèi)呛瘮?shù)無窮乘積的若干應(yīng)用
        Dirichlet級數(shù)的Dirichlet-Hadamard乘積
        Lagrange乘數(shù)法的部分應(yīng)用
        乘法器模塊在FPGA中的實(shí)現(xiàn)
        久久国产在线精品观看| 美腿丝袜诱惑一区二区| av天堂午夜精品一区| 特级毛片a级毛片100免费播放| 精品国精品无码自拍自在线| 9久9久女女热精品视频免费观看| 国产麻豆精品久久一二三| 少妇被粗大猛进进出出| 网址视频在线成人亚洲| 寂寞人妻渴望被中出中文字幕| 丰满多毛的大隂户毛茸茸| 3344永久在线观看视频| 国产精品久久久久亚洲| 青青草成人免费播放视频| 日韩亚洲一区二区三区四区| 亚洲av综合av成人小说| 精品无码人妻一区二区三区| 久久dvd| 亚洲精品中文字幕乱码3| 女色av少妇一区二区三区| 男女高潮免费观看无遮挡| 国产av国片精品| 精品理论一区二区三区| 亚洲岛国一区二区三区| 国产精品午夜夜伦鲁鲁| 三级全黄的视频在线观看| 欧美变态口味重另类在线视频| 亚洲乱码一区AV春药高潮| 免费观看日本一区二区三区| 夫妻免费无码v看片| 在线综合亚洲欧洲综合网站 | 亚洲av综合日韩| 日韩av二区三区一区| 男女激情床上视频网站| 国产成人精品一区二区不卡| 国产猛男猛女超爽免费视频| 午夜福利麻豆国产精品| 国产精品久久这里只有精品| 日本精品中文字幕人妻| 亚洲精品国偷拍自产在线| 亚洲精品无码久久久久av老牛|