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

        ?

        乘法器模塊在FPGA中的實現(xiàn)

        2012-11-08 06:55:46李彥孚
        長春大學學報 2012年8期
        關鍵詞:乘法器乘數(shù)乘積

        李彥孚,宋 路

        (長春理工大學 電子信息工程學院,長春 130022)

        乘法器模塊在FPGA中的實現(xiàn)

        李彥孚,宋 路

        (長春理工大學 電子信息工程學院,長春 130022)

        作為數(shù)字信號處理領域的基本運算單元,乘法器在其中起到了至關重要的作用。本文設計了三種基于FPGA的數(shù)字乘法器模塊,包括傳統(tǒng)乘法器,LUT乘法器和Booth算法的乘法器,利用Modelsim仿真軟件分別對三種算法進行了仿真,并用QuartusII軟件對所編寫的Verilog程序進行編譯綜合,這里用到的FPGA芯片是Altera公司生產(chǎn)的cycloneII器件,最后對結果進行了說明。

        數(shù)字信號處理;LUT乘法器;Booth乘法器;FPGA

        0 引言

        隨著現(xiàn)代通信和數(shù)字信號處理對于數(shù)字系統(tǒng)的實時性要求越來越高,乘法器性能的優(yōu)劣將起到至關重要的作用。在數(shù)字信號處理中包括各種各樣的運算,例如卷積運算,數(shù)字濾波,F(xiàn)FT,相關計算,矩陣運算等,而這些運算中都有大量的類似于A(k)B(n-k)的運算,因此乘法和累加是數(shù)字信號處理中基本的大量的運算。DSP(digital signal processor)中雖然有內(nèi)嵌的乘法器,但只對應于特定的算法,相較于DSP,很多類型的FPGA器件中雖然有內(nèi)置的乘法器,但是可以利用Verilog語言進行軟乘法器模塊的編寫,這就使乘法器的設計非常靈活。因此,考慮到FPGA的資源一般還算豐富的條件下,自己編寫乘法器模塊。

        對于乘法器的設計,此前已有很多相關的算法產(chǎn)生,但主流的乘法器歸納起來主要有以下幾類,包括傳統(tǒng)乘法器,移位相加乘法器,LUT乘法器,Booth算法乘法器。本文對傳統(tǒng)乘法器,LUT乘法器,Booth算法乘法器進行了軟件設計,利用Modelsim仿真軟件進行了仿真,在QuartusII開發(fā)平臺上基于cycloneII器件對程序進行了綜合驗證,最后對幾種算法的乘法器的時鐘消耗以及器件邏輯資源的占用等情況進行了比較和分析。

        1 基本原理及仿真

        1.1 傳統(tǒng)乘法器

        可以說傳統(tǒng)乘法器是各種各樣乘法器研究的基礎,因此對于傳統(tǒng)乘法器的掌握是十分有必要的。

        在傳統(tǒng)的概念上乘法等價于“重復幾次”。比如n*m,也就是對n進行m次的累加,每進行一次累加操作,乘數(shù)m就遞減一次,直到乘數(shù)的值減為0,便得到乘積?;谶@樣的思想,我們進行乘法器模塊的設計,但其中需要注意的一個問題是乘積結果的正負。其實乘法器中乘積結果的正負就是兩個乘積項進行異或的結果。表1給出了這種映射關系。

        表1 乘法器中乘積結果的正負關系

        圖1給出了一個8bit*8bit傳統(tǒng)乘法器的仿真分析圖。

        圖1 傳統(tǒng)乘法器的仿真分析圖

        由圖1可以看出,傳統(tǒng)乘法器的設計雖然簡單,但是此種算法的時間受限于被乘數(shù)的大小,被乘數(shù)越大,消耗的時鐘也就越多。

        1.2 LUT 乘法器

        所謂LUT乘法器就是查找表乘法器,顧名思義,這種方法就是事先把各種各樣的結果儲存在一個表中,然后我們以“查表”的方式取得乘積的結果。圖2給出了該種乘法器的基本原理框圖。相對于傳統(tǒng)的乘法器,LUT乘法器要快很多,因為查找表乘法器只需少量的時鐘,去查表就可以完成乘積結果的獲取。而非查表的乘法器要消耗相對較多的時鐘,才能求得乘積結果。但這種乘法器受限于乘積項存放的存儲器的速度,比較適用于位數(shù)較少的乘積項,對于位數(shù)較多的乘積項,需要的尋址范圍也自然會增大,因此不適用位數(shù)較高的乘法運算。

        本文設計的是8Bit*8Bit的LUT乘法器,仿真結果如圖2所示。

        圖2 LUT乘法器仿真結果

        1.3 Booth算法乘法器

        Booth算法是一種比較好的帶符號數(shù)乘法,它實際上是一種“加碼”乘法運算,采用相加和相減的操作計算補碼數(shù)據(jù)的乘積,基本原理可以先從數(shù)學的角度進行理解。Booth算法對乘數(shù)從低位開始判斷,根據(jù)兩個數(shù)據(jù)位的情況決定進行加法、減法還是僅僅移位操作。判斷的兩個數(shù)據(jù)位為當前位及其右邊的位(初始時需要增加一個輔助位0),移位操作是向右移動。

        表2給出了這種算法的運算規(guī)則。該規(guī)則首先在乘數(shù)B的最低位加一個輔助位0,然后從輔助位開始兩位兩位讀取,相鄰兩位的值決定了執(zhí)行何種操作。當前2位判斷過后,需將乘積寄存器右移一位,開始新的判斷和操作。對于帶符號數(shù)的運算,乘積寄存器進行右移操作時,必須對中間結果進行符號擴展,是將原來的符號位復制到移位后的最高位。

        表2 Booth算法乘法器運算規(guī)則

        圖3給出了這種算法的具體操作流程。本文是以A(4Bit)*B(4Bit)的乘法器為例,先初始化一個P空間,P[4:1]填入乘數(shù) B 的值,P[8:5]初始化為 0。首先判斷 B[0]位和 B[-1]位,根據(jù)上表的運算規(guī)則,使P[8:5]與被乘數(shù)A進行相應的運算。判斷P[8],如果是邏輯0,P空間需右移一位補0;如果是邏輯1,P空間右移一位補1。然后進入下一次的循環(huán),接著對B[1]位和B[0]為進行判斷,如此反復,直到執(zhí)行完N次循環(huán)(這里的N取4),便得到乘積結果P[8:1]。

        圖3 算法的操作流程圖

        圖4為8Bit*8Bit的Booth乘法器的仿真波形圖。

        圖4 Booth乘法器的仿真波形圖

        2 編譯綜合

        進行了功能仿真后,本文針對特定的FPGA芯片(cycloneII EP2C5Q208C8),利用QuartusII開發(fā)平臺,進行了不同算法程序的在線下載。表3給出了8Bit*8Bit乘法器的三種不同算法的綜合結果。

        表3 乘法器的三種不同算法的綜合結果

        由綜合的結果可以看出,對于8bit*8bit的乘法器而言,傳統(tǒng)乘法器占用了較多的時鐘周期,這主要與乘數(shù)的值有關,但從其硬件資源的使用情況來看,這種方法還是比較實用的。LUT乘法器的運算速度要高于傳統(tǒng)乘法器和Booth乘法器,但是這是以犧牲硬件資源為前提的,所以這種方法比較適于位寬較小的乘法的運算。雖然此處的Booth算法的運算速度沒有體現(xiàn)出其優(yōu)勢,但是經(jīng)過驗證,對于16位的乘法運算,Boot乘法器的運算速度要遠遠高于LUT乘法器,并且此種算法的硬件資源的耗用也是可以接受的??梢姡珺ooth算法的綜合優(yōu)勢明顯,因此得到更廣泛的應用。

        3 結語

        相較于模擬乘法器,數(shù)字乘法器的精度,可靠性和運算速度上都有很大的優(yōu)勢,對于通信中的調制解調等信號處理領域的發(fā)展都有很大幫助。本文分別對傳統(tǒng)乘法器,LUT乘法器和Booth乘法器的基本原理進行了說明,并且編寫了基于這些算法的Verilog程序,最后進行了仿真分析和綜合驗證。通過比對,我們發(fā)現(xiàn)幾種乘法器在不同的應用場合下,它們的性能是有所區(qū)別的。因此,我們可以根據(jù)自身的需要來設計滿足要求的乘法器。

        [1] 吳戈.VerilogHDL與數(shù)字系統(tǒng)設計簡明教程[M].北京:人民郵電出版社,2009.

        [2] 夏宇聞.從算法設計到硬線邏輯的實現(xiàn)[M].北京:高等教育出版社,2000.

        [3] 鞠芳,馬昕,田嵐.基于FPGA的數(shù)字乘法器性能比較[J].電子器件,2011,34(6):718-722.

        [4] 應征,吳金,常昌遠,等.高速乘法器的性能比較[J].電子器件,2003,26(1):42-45.

        [5] 劉凌,胡永生.數(shù)字信號處理 FPGA實現(xiàn)[M].北京:清華大學出版社,2003.

        The Realization of Multiplier Module in FPGA

        LI Yan-fu,SONG Lu

        (School of Electronics and Information Engineering,Changchun University of Science and Technology,Changchun 130022,China)

        As the basic computing unit in digital signal processing area,multiplier plays a crucial role.This paper designs three digital multiplier modules based on FPGA,including traditional multiplier,LUT multiplier and Booth algorithm multiplier.With Modelsim simulation software,the three algorithms are simulated,and the written Verilog program is compiled with QuartusII software,here the FPGA chip used is the cycloneII device produced by Altera Company,finally the results are illustrated.

        digital signal processing;LUT multiplier;Booth multiplier;FPGA

        TP331.1+1

        A

        1009-3907(2012)08-0933-04

        2012-04-26

        李彥孚(1987-),男,吉林長春人,碩士研究生,主要從事數(shù)字視頻與圖像處理技術研究;宋路(1952-),女,吉林長春人,教授,博士生導師,主要從事光通信系統(tǒng)理論與無線通信技術研究。

        責任編輯:吳旭云

        猜你喜歡
        乘法器乘數(shù)乘積
        一種低開銷的近似乘法器設計
        乘積最大
        Dirichlet級數(shù)及其Dirichlet-Hadamard乘積的增長性
        看錯了數(shù)字
        基于FPGA的流水線單精度浮點數(shù)乘法器設計*
        理性認知西藏投資乘數(shù)小于1問題:以1996—2014年為例
        西藏研究(2016年4期)2016-06-05 11:31:15
        尋找突破角巧解算式謎
        復變?nèi)呛瘮?shù)無窮乘積的若干應用
        Dirichlet級數(shù)的Dirichlet-Hadamard乘積
        Lagrange乘數(shù)法的部分應用
        精品少妇人妻av免费久久久| 国产成人综合精品一区二区| 国产亚洲一区二区三区综合片| 欧美性猛交xxxx免费看蜜桃| 久久露脸国产精品| 亚洲午夜无码久久yy6080 | 午夜福利试看120秒体验区| 久久综合给合久久狠狠狠97色69| 精品免费久久久久国产一区| 在线观看视频国产一区二区三区 | 亚洲av乱码一区二区三区按摩| 无码人妻精一区二区三区| 国产v综合v亚洲欧美大天堂| 亚洲视频在线视频在线视频| 少妇太爽了在线观看免费| 精品九九人人做人人爱| 免费观看黄网站在线播放| 午夜福利不卡无码视频| 日韩亚洲在线一区二区| 精品人妻av区乱码色片| 成人aaa片一区国产精品| 欧美喷潮久久久xxxxx| 蜜臀av一区二区三区人妻在线| 日韩av水蜜桃一区二区三区| 国产免码va在线观看免费| 欧美日韩中文国产一区发布| 国产真实乱XXXⅩ视频| 成人在线观看视频免费播放| 亚洲国产精品无码一线岛国| 熟女体下毛毛黑森林| 国产精品 精品国内自产拍| 日本在线一区二区三区四区| 亚洲精品国产av成人精品| 国产又a又黄又潮娇喘视频| 久久免费亚洲免费视频| 日本精品少妇一区二区三区| 国产美女露脸口爆吞精| 亚洲VR永久无码一区| 日本av一区二区在线| 久久理论片午夜琪琪电影网| 无套内谢的新婚少妇国语播放 |