在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

三種高速乘法器實現原理

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2022-07-03 11:14 ? 次閱讀

摘要:乘法是數字信號處理中重要的基本運算,在很大程度上影響著系統的性能。本文將介紹三種高速乘法器實現原理:陣列乘法器、華萊士(WT)乘法器、布斯華萊士樹超前進位乘法器。而且通過FPGA技術實現了這三種乘法器,并對基于以上三種架構的乘法器性能進行了分析比較。

關鍵字:陣列乘法器,華萊士乘法器,超前進位乘法器,FPGA

引言

隨著3G技術的發展,關于圖像、語音、加密等數字信號處理技術隨處可見,而且信號處理的實時性也要求越高。實時性即是要求對信號處理的速度要快,而乘法器是數字信號處理中重要的基本運算,在很大程度上影響著系統的性能。人們開始開發高速的乘法器。

以下將對三種乘法器:陣列乘法器、華萊士(WT)乘法器、布斯華萊士樹超前進位乘法器進行原理分析,并用FPGA技術實現了這三種乘法器,對其結果進行了仿真,得出相應的性能比較。

陣列乘法器

2.1 陣列乘法器原理

硬件乘法器的常規設計是適用“串行移位”和“并行加法”相結合的方法,這種方法并不需要很多器件。然而串行方法畢竟太慢,執行一次乘法的時間至少是執行一次加法時間的n倍,不能滿足科學技術對高速乘法所提出的要求。自從大規模集成電路問世以來,高速的單元陣列乘法器應運而生,出現了各種形式的流水線陣列乘法器,它們屬于并行乘法器,提供了極快的速度。陣列乘法器的運算過程如下:

第一:當乘數的位數字為1 時,我們可以將被乘數的值直接放置適當的位置。而適當的位置是依乘數的第幾個位和被乘數做運算之后所放的位置。

第二:當乘數的位數字為0 時,我們可以將0 放置適當的位置, 以作為部分乘積。

第三:我們利用筆和紙計算的乘法,在硬件中使用與門來實現。例如:1000 ×1中,乘數1 和每一個被乘數的位都個別做與運算,其結果為1000 正是我們所要的結果。由此可知我們只需用與門就可以完成我們所要的乘法。

第四:當部分乘積都運算完成后,使用加法來完成最終的乘法結果運算。

根據以上四點的說明,我們可以運用最簡單、最直觀的方式來描述固定點乘法器的電路描述。我們使用與門來做部分積運算,使用全加器(Full adder)來運算部分積的最終結果。圖1所示為有符號位的6×6固定點乘法器的架構圖。

9d25fc0e-f5fd-11ec-ba43-dac502259ad0.png

圖1 6×6有符號位陣列乘法器乘法器架構圖

2.2 陣列乘法器FPGA仿真

在名為comult的實體中設置mulc和mulp兩個輸入端口和一個prod輸出端口。其中mulc代表被乘數,mulp為乘數,二者均為6位。乘積prod是一個12位的結果,輸入與輸出端口的數據類型均為std_logic_vector。流程圖如圖2所示,仿真如圖3所示。

圖2 6x6有符號陣列乘法器流程圖

9d57e34a-f5fd-11ec-ba43-dac502259ad0.jpg

圖3 6x6有符號陣列乘法器仿真

9d6dd3f8-f5fd-11ec-ba43-dac502259ad0.jpg

華萊士乘法器原理

部分積相加, 若采用累加移位的方法, 速度太慢。華萊士樹算法(Wallace Tree Algorithm)是部分積化簡的一種樹形算法。它使乘法器的延時得到最大限度的縮短,但全加陣列的布局布線復雜度大為增加。

一個全加器有三個輸入: A , B , C (進位) 和兩個輸出S , C′(輸出進位) , 3個輸入對2個輸出而言是對稱的, 即它們互相交換位置, 結果不會受影響。如果把一串全加器簡單排成一行, 它們之間進位線不連, 把這樣一串全加器稱為保留進位加法器(CSA ) , 它有以下特性: 三個輸入數之和等于二個輸出數之和, 即3個相加數每通過一次保留進位加法器, 其個數就減少1個。

Wallace最早提出的方案就利用了這一特點:第一步將每列的部分積按三位進行分組,每組通過使用全加器構成的CSA部件,將加數的數目減少;第二步對第一步產生的結果仍按三位分組的方式將同權的偽和與局部進位信號通過CSA 部件進行處理,再次減少加數的數目,這種處理一直進行到最后只有兩個輸出為止。對最后的偽和與局部進位通過進位傳遞加法器相加得出真正的結果。在這種處理方式中,每列中求偽和的操作是并行完成的。由于采用全加器作為加法部件,每次能將3個權為20的輸入信號經處理后得到一個權為21的局部進位信號和一個權為20的偽和信號,這樣操作數的數目減少1/ 3,將產生的中間偽和也按照這種方式處理,經過時間為O(log3/ 2 N) 的處理后可以得到最后的偽和與局部進位信號。

9d87597c-f5fd-11ec-ba43-dac502259ad0.png

圖16 華萊士樹加法樹示意圖

9da6a188-f5fd-11ec-ba43-dac502259ad0.png

9dc2abf8-f5fd-11ec-ba43-dac502259ad0.png

圖17 4x4位華萊士樹乘法器實現圖

9ddb185a-f5fd-11ec-ba43-dac502259ad0.png

圖18 4x4位華萊士樹乘法器架構圖

9dea8dda-f5fd-11ec-ba43-dac502259ad0.png

圖19 保留進位加法器(CSA)

9dfeecda-f5fd-11ec-ba43-dac502259ad0.png

圖20 半加器

9e15e660-f5fd-11ec-ba43-dac502259ad0.png

布斯算法(Booth’s Algorithm)的做法是對乘數編碼以計算出乘法運算的結果,主要的想法在于乘數中連續的1,這些1會造成被乘數的連加。

但是,乘數01110又可表示為10000-00010,這樣可將部分積減少為2個。當我們遇到乘數中連續的’1’時(從右往左看),第一個’1’減去被乘數,最后一個’1’后面的’0’則加上被乘數。

布斯編碼的核心在于對連續的’1’字串進行頭、中、尾三段的分段處理(從右往左看)。當然,’0’字串由于本身就無須進行運算,所以不必理會。

華萊士乘法器

先介紹陣列乘法器,我們用筆計算乘法時,第一個操作數為被乘數(multiplicand),第二個操作數為乘數(multiplier)。而乘數中的每一個位和被乘數做相乘的運算后的結果稱之為部分乘積(partial product),而將所有的部分乘積相加之后,其運算結果稱為乘積(product)。如:1000×1001為例,

9e331870-f5fd-11ec-ba43-dac502259ad0.png

通過以上的示例我們可以發現如下四點:

第一:當乘數的位數字為1 時,我們可以將被乘數的值直接放置適當的位置。而適當的位置是依乘數的第幾個位和被乘數做運算之后所放的位置。

第二:當乘數的位數字為0 時,我們可以將0 放置適當的位置, 以作為部分乘積。

第三:我們利用筆和紙計算的乘法,在硬件中使用與門來實現。例如:1000 ×1中,乘數1 和每一個被乘數的位都個別做與運算,其結果為1000 正是我們所要的結果。由此可知我們只需用與門就可以完成我們所要的乘法。

第四:當部分乘積都運算完成后,使用加法來完成最終的乘法結果運算。

根據以上四點的說明,我們可以運用最簡單、最直觀的方式來描述固定點乘法器的電路描述。我們使用與門來做部分積運算,使用全加器(Full adder)來運算部分積的最終結果。因為作加法時,會有進位問題,且上一位所產生的進位也非常重要,所以只有全加器能滿足我們的加法要求。圖13所示為有符號位的6×6固定點乘法器的架構圖。

9e44db46-f5fd-11ec-ba43-dac502259ad0.png

圖13 6×6固定點乘法器架構圖

原文標題:三種高速乘法器的FPGA實現及性能比較

文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21797

    瀏覽量

    606016
  • 集成電路
    +關注

    關注

    5392

    文章

    11623

    瀏覽量

    363188
  • 加法器
    +關注

    關注

    6

    文章

    183

    瀏覽量

    30233
  • 乘法器
    +關注

    關注

    8

    文章

    206

    瀏覽量

    37193

原文標題:三種高速乘法器的FPGA實現及性能比較

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    硬件乘法器是怎么實現的?

    硬件乘法器是怎么實現
    發表于 09-22 06:53

    乘法器對數運算電路應用

    乘法器對數運算電路應用 由對數電路實現乘法運算的數學原理是:UO=EXP(INU11+INU12)=U11+U12 圖5.4-19示出了滿足上式的乘法器的方框
    發表于 04-24 16:03 ?2580次閱讀
    <b class='flag-5'>乘法器</b>對數運算電路應用

    乘法器的基本概念

    乘法器的基本概念 乘法器是一完成兩個互不相關的模擬信號相乘作用的電子器件。理想乘法器的輸出特性方程可由下式表示: UO
    發表于 05-18 14:03 ?1.5w次閱讀
    <b class='flag-5'>乘法器</b>的基本概念

    1/4平方乘法器

    1/4平方乘法器 這種乘法器是根據數學關系設計而成的,因此稱為1/4平方乘法電路,或稱1/4平方乘法器。其
    發表于 05-18 14:08 ?2016次閱讀
    1/4平方<b class='flag-5'>乘法器</b>

    脈沖-寬度-高度調制乘法器

    脈沖-寬度-高度調制乘法器 脈沖-寬度-高度調制乘法器雙稱為時間分割乘法器。這類乘法器電路原理圖如圖5.4-24A所示。圖中,角波電壓U
    發表于 05-18 14:23 ?2076次閱讀
    脈沖-寬度-高度調制<b class='flag-5'>乘法器</b>

    變跨導乘法器

    變跨導乘法器 這種乘法器現在已經成為一工業上的標準方法,是應用極為廣泛的優質乘法器
    發表于 05-18 16:00 ?1273次閱讀

    基于IP核的乘法器設計

    實驗目的 1、熟悉Xilinx的ISE 軟件的使用和設計流程; 2、掌握Modelsim仿真軟件的使用方法; 3、用乘法運算符實現一個16*16 乘法器模塊; 4、用IP核實現一個16
    發表于 05-20 17:00 ?68次下載
    基于IP核的<b class='flag-5'>乘法器</b>設計

    基于FPGA的高速流水線浮點乘法器設計與實現

    設計了一支持IEEE754浮點標準的32位高速流水線結構浮點乘法器。該乘法器采用新型的基4布思算法,改進的4:2壓縮結構和部分積求和電路,完成Carry Save形式的部分積壓縮,再
    發表于 02-29 11:20 ?3656次閱讀

    高速雙域乘法器設計及其應用

    高速雙域乘法器設計及其應用_鄭朝霞
    發表于 01-07 18:39 ?0次下載

    改進的CSA低功耗陣列乘法器實現

    改進的CSA低功耗陣列乘法器實現_徐東明
    發表于 01-07 21:39 ?2次下載

    乘法器的使用方法你知道哪些?

    在做項目的過程中,經常遇到乘法計算,乘法器的設計就尤為重要。乘法器決定了最終電路功能能否實現,資源使用量多少以及時序性能優劣等。
    的頭像 發表于 07-04 09:41 ?9700次閱讀

    使用verilogHDL實現乘法器

    本文在設計實現乘法器時,采用了4-2和5-2混合壓縮器對部分積進行壓縮,減少了乘法器的延時和資源占 用率;經XilinxISE和QuartusII兩集成開發環境下的綜合仿真測試,與用
    發表于 12-19 13:30 ?1.1w次閱讀
    使用verilogHDL<b class='flag-5'>實現</b><b class='flag-5'>乘法器</b>

    如何實現一個四輸入乘法器的設計

    乘法器(multiplier)是一完成兩個互不相關的模擬信號相乘作用的電子器件。它可以將兩個二進制數相乘,它是由更基本的加法器組成的。乘法器可以通過使用一系列計算機算數技術來
    的頭像 發表于 11-28 07:06 ?3438次閱讀

    乘法器原理_乘法器的作用

    乘法器(multiplier)是一完成兩個互不相關的模擬信號相乘作用的電子器件。它可以將兩個二進制數相乘,它是由更基本的加法器組成的。乘法器可以通過使用一系列計算機算數技術來
    發表于 02-18 15:08 ?2.7w次閱讀
    <b class='flag-5'>乘法器</b>原理_<b class='flag-5'>乘法器</b>的作用

    采用Gillbert單元如何實現CMOS模擬乘法器的應用設計

    在集成電路系統中,模擬乘法器在信號調制解調、鑒相、頻率轉換、自動增益控制和功率因數校正控制等許多方面有著非常廣泛的應用。實現模擬乘法器的方法有很多,按采用的工藝不同,可以分為極管
    的頭像 發表于 03-23 09:40 ?5567次閱讀
    采用Gillbert單元如何<b class='flag-5'>實現</b>CMOS模擬<b class='flag-5'>乘法器</b>的應用設計
    主站蜘蛛池模板: 天天操天天干天天干 | 午夜久久久精品 | 福利一区在线观看 | 尤物蜜芽福利国产污在线观看 | 97人人做人人添人人爱 | 四虎黄色片 | 婷婷六月丁 | www.免费| 亚洲欧美国产高清va在线播放 | 亚洲午夜影视 | 天天躁夜夜躁狠狠躁2021 | 大尺度很肉污的古代小说 | 最新色网站 | 色多多视频网站 | 爱爱小说视频永久免费网站 | 日本不卡视频在线观看 | 欧美色图中文字幕 | 欧美成人全部费免网站 | 午夜视频在线免费 | 91免费视频网 | 狠狠色噜噜狠狠狠狠 | 又黄又湿又爽 | 日本加勒比高清一本大道 | 亚在线| 看全色黄大色大片免费久久 | 韩毛片 | 欧美亚洲在线 | 特级无码毛片免费视频尤物 | 天堂成人在线观看 | 中文网丁香综合网 | 欧美影院一区二区三区 | 欧美a∨ | 亚洲一区二区三区在线网站 | 精品福利在线视频 | 99久久精品费精品国产一区二 | 色综合888| 天堂网www中文在线 天堂网传媒 | 女18poren69| 美女被免费视频网站九色 | 狠狠色噜噜狠狠狠狠米奇777 | 国产va免费精品观看 |