基于FPGA的高速流水線(xiàn)浮點(diǎn)乘法器設計

發(fā)布時(shí)間:2010-8-17 16:30    發(fā)布者:lavida
關(guān)鍵詞: FPGA , 乘法器 , 浮點(diǎn) , 流水線(xiàn)
1 引言  

在數字化飛速發(fā)展的今天,人們對微處理器的性能要求也越來(lái)越高。作為衡量微處理器 性能的主要標準,主頻和乘法器運行一次乘法的周期息息相關(guān)。因此,為了進(jìn)一步提高微處 理器性能,開(kāi)發(fā)高速高精度的乘法器勢在必行。同時(shí)由于基于IEEE754 標準的浮點(diǎn)運算具 有動(dòng)態(tài)范圍大,可實(shí)現高精度,運算規律較定點(diǎn)運算更為簡(jiǎn)捷等特點(diǎn),浮點(diǎn)運算單元的設計 研究已獲得廣泛的重視。 本文介紹了 32 位浮點(diǎn)乘法器的設計,采用了基4 布思算法,改進(jìn)的4:2 壓縮器及布思 編碼算法,并結合FPGA 自身特點(diǎn),使用流水線(xiàn)設計技術(shù),在實(shí)現高速浮點(diǎn)乘法的同時(shí),也 使是系統具有了高穩定性、規則的結構、易于FPGA 實(shí)現及ASIC 的HardCopy 等特點(diǎn)。  

2 運算規則及系統結構  

2.1 浮點(diǎn)數的表示規則  

本設計采用單精度IEEE754 格式。設參與運算的兩個(gè)數A、B 均為單精度浮點(diǎn)數, 即:  

  
2.2 浮點(diǎn)乘法器的硬件系統結構  

本設計用于專(zhuān)用浮點(diǎn)FFT 處理器,因此對運算速度有較高要求。為了保證浮點(diǎn)乘法器 可以穩定運行在80M 以下,本設計采用了流水線(xiàn)技術(shù)。流水線(xiàn)技術(shù)可提高同步電路的運行 速度,加大數據吞吐量。而FPGA 的內部結構特點(diǎn)很適合在其中采用流水線(xiàn)設計,并且只需 要極少或者根本不需要額外的成本。綜上所述,根據系統分割,本設計將采用5 級流水處理, 圖1 為浮點(diǎn)乘法器的硬件結構圖。  


  
3 主要模塊設計與仿真  

3.1 指數處理模塊(E_Adder)設計  

32位浮點(diǎn)數格式如文獻中定義。由前述可知,浮點(diǎn)乘法的主要過(guò)程是兩個(gè)尾數相 乘,同時(shí)并行處理指數相加及溢出檢測。對于32位的浮點(diǎn)乘法器而言,其指數為8位,因而 本設計采用帶進(jìn)位輸出的8位超前進(jìn)位加法器完成指數相加、去偏移等操作,具體過(guò)程如下。  

E_Adder 模塊負責完成浮點(diǎn)乘法器運算中指數域的求和運算,如下式所示:  


  
其中,E為MSB 位產(chǎn)生的進(jìn)位。Bias=127 是IEEE754 標準中定義的指數偏移值。 Normalization 完成規格化操作,因為指數求和結果與尾數相乘結果有關(guān)。在本次設計中,通 過(guò)選擇的方法,幾乎可以在Normalization 標志產(chǎn)生后立刻獲得積的指數部分,使E_Adder 不處于關(guān)鍵路徑。  

本設計收集三級進(jìn)位信號,配合尾數相乘單元的 Normalization 信號,對計算結果進(jìn)行 規格化處理,并決定是否輸出無(wú)窮大、無(wú)窮小或正常值。  

根據 E_Adder 的時(shí)序仿真視圖,可看出設計完全符合應用需求。  

3.2 改進(jìn)的Booth 編碼器設計  

由于整個(gè)乘法器的延遲主要決定于相加的部分積個(gè)數,因此必須減少部分積的數目才能 進(jìn)而縮短整個(gè)乘法器的運算延遲。本設計采用基4 布思編碼器,使得部分積減少到13 個(gè), 并對傳統的編碼方案進(jìn)行改進(jìn)。編碼算法如表1 所示。  


  
由于 FPGA 具有豐富的與、或門(mén)資源,使得該方法在保證速度和準確性的前提下,充分 利用了FPGA 內部資源,節省了面積,同時(shí)符合低功耗的要求。  

3.3 部分積產(chǎn)生與壓縮結構設計  

3.3.1 部分積產(chǎn)生結構  

根據布思編碼器輸出結果,部分積產(chǎn)生遵循以下公式:  


  
其中,PPi 為部分積;Ai 為被乘數。經(jīng)過(guò)隱藏位和符號位的擴展后,26 位的被乘數尾數將產(chǎn) 生13 個(gè)部分積。在浮點(diǎn)乘法器中,尾數運算采用的是二進(jìn)制補碼運算。因此,當NEG=1 時(shí)要在部分積的最低位加1,因為PPi 只完成了取反操作。而為了加強設計的并行性,部分 積最低位加1 操作在部分積壓縮結構中實(shí)現。另外,為了完成有符號數相加,需對部分積的 符號位進(jìn)行擴展,其結果如圖4 所示。13 個(gè)部分積中,除第一個(gè)部分積是29 位以外,其余 部分積擴展為32 位。其中,第一個(gè)部分積包括3 位符號擴展位“SSS”,第2 至13 個(gè)部分 積的符號擴展位為“SS”,加一操作位為“NN”,遵循如下公式:  


  
其中,i 為部分積的行數,sign(i)為第i 行部分積的符號。  

3.3.2 部分積壓縮結構  

本設計混合使用 4:2 壓縮器、3:2 壓縮器、全加器和半加器,實(shí)現了13 個(gè)部分積的 快速壓縮,并保證了精度。本文部分積壓縮結構的劃分如圖2 所示。  


  
圖 2 中,虛線(xiàn)給出了傳統部分積的壓縮劃分,而實(shí)線(xiàn)描述的是本文采用的部分積壓縮結 構劃分,這樣的劃分有利于簡(jiǎn)化第二級的壓縮結構,從而在保證速度的基礎上,節省FPGA 內部資源。從圖2 中可看出,有些位不必計算,因為這些位是由Booth 編碼時(shí)引入的乘數尾 數的符號位產(chǎn)生的,48 位足以表達運算結果。  

3.3.3 改進(jìn)的4:2 壓縮器  

本設計采用廣泛使用的 4:2 壓縮器,并針對FPGA 內部資源特點(diǎn),對其進(jìn)行了改進(jìn)。 如圖3 所示。 傳統的 4:2 壓縮器即兩個(gè)全加器級聯(lián),共需要四個(gè)異或門(mén)和8 個(gè)與非門(mén)。而改進(jìn)的4: 2 壓縮器需要四個(gè)異或門(mén)和兩個(gè)選擇器(MUX)。8 個(gè)與非門(mén)需要36 個(gè)晶體管,而兩個(gè)MUX 需要20 個(gè)晶體管。同時(shí),FPGA 內部集成了大量的異或門(mén)和選擇器資源,這種設計方法也是對FPGA 的一個(gè)充分利用。  


  
由于壓縮部分積需要大量的4:2 壓縮器,所以改進(jìn)的電路能 在一定程度上減小版圖的面積,也為該乘法器的ASIC 后端設計帶來(lái)了優(yōu)勢。另外,改進(jìn)的 壓縮器的4 個(gè)輸入到輸出S 的延時(shí)相同,都是3 級XOR 門(mén)延時(shí)。  

4 32 位浮點(diǎn)乘法器的實(shí)現與仿真  

圖 4 顯示了本設計的FPGA 時(shí)序仿真結果,時(shí)序仿真環(huán)境為Quartus II 7.0,目標芯片為 Cyclone 系列的EP1C6Q240C8,功能仿真環(huán)境為Modelsim 6.0b。整個(gè)設計采用VHDL 語(yǔ)言進(jìn)行結構描述,綜合策略為面積優(yōu)先。由仿真視圖可看出,該浮點(diǎn)乘法器可穩定運行在80M 及以下頻率,在延時(shí)5 個(gè)周期后,以后每一個(gè)周期可穩定輸出一級乘法運算結果,實(shí)現了高 吞吐量。如果采用全定制進(jìn)行后端版圖布局布線(xiàn),乘法器的性能將更加優(yōu)越。  


  
5 結語(yǔ)  

本文作者創(chuàng )新點(diǎn):針對FPGA 器件內部資源特性,獨創(chuàng )地提出了一種適合FPGA 實(shí)現 的5 級流水高速浮點(diǎn)乘法器。該乘法器支持IEEE754 標準32 位單精度浮點(diǎn)數,采用了基4 布思算法、改進(jìn)的布思編碼器、部份積壓縮結構等組件,從而在保證高速的前提下,縮小了 硬件規模,使得該乘法器的設計適合工程應用及科學(xué)計算,并易于A(yíng)SIC 的后端版圖實(shí)現。 該設計已使用在筆者設計的浮點(diǎn)FFT 處理器中,取得了良好效果。
本文地址:http://selenalain.com/thread-21955-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页