基于FPGA的陣列乘法器的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于FPGA的陣列乘法器的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于FPGA的陣列乘法器的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于FPGA的陣列乘法器的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于FPGA的陣列乘法器的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于FPGA的陣列乘法器的設(shè)計(jì)與實(shí)現(xiàn)本文先對(duì)乘法器進(jìn)行了分析,然后用現(xiàn)場(chǎng)可編程門陣列(FPGA)實(shí)現(xiàn)了陣列乘法器,并分析了設(shè)計(jì)原理。0引言乘法是運(yùn)算中的基本算法,應(yīng)用也最為廣泛。在計(jì)算機(jī)中乘法最基本的操作就是移位相加,各類乘法最終都要?dú)w結(jié)為這一點(diǎn)。早期計(jì)算機(jī)中為了簡(jiǎn)化硬件結(jié)構(gòu),采用串行的移位乘法方案,即多次執(zhí)行“加法-移位”操作來(lái)實(shí)現(xiàn)。這種方法并不需要很多器件。然而串行方法畢竟太慢,自從大規(guī)模集成電路問(wèn)世以來(lái),出現(xiàn)了各種形式的并行乘法器,一部分即為流水式陣列乘法器。1二進(jìn)制乘法器設(shè)有兩個(gè)不帶符號(hào)的M×N位二進(jìn)制整數(shù):點(diǎn)擊圖片查看大圖點(diǎn)擊圖片查看大圖它們的乘積用X和表示,按“手工計(jì)算”的方法給出就是:點(diǎn)擊圖片查看大圖從中可以看出,只要ak≠0,輸入量X就隨著k的位置連續(xù)地變化,然后累加X(jué)2k。如果ak=0,就可以忽略相應(yīng)的轉(zhuǎn)換相加。以201×9為例,可以知道N=8,X=9,A=11001001。當(dāng)k由0開(kāi)始遞增時(shí),對(duì)A的ak位進(jìn)行分析,a0=1,則X20=9;a1=0,則X21=0;…a7=1,則X27=9×128=1152。同時(shí),將計(jì)算結(jié)果X2k:9,0,0,72,0,0,576,1152進(jìn)行累加。最終各部分結(jié)果之和即為201×9的乘積1809。1.1移位乘法器移位乘法器計(jì)算過(guò)程為:將A依次向右移一位,并檢查其最低位a0,如果不為零,則將X與部分和相加,然后將X向左移一位;如果為零,則僅僅將X向左移一位。移位時(shí),X的低端和A的高端均補(bǔ)零??梢钥闯鲇捎诘谝粋€(gè)操作數(shù)X是并行形式的,而第二個(gè)操作數(shù)A是逐位形式的,所以剛才描述的乘法器也稱為串行/并行乘法器。如果兩個(gè)操作數(shù)都是串行的,那么這一結(jié)構(gòu)稱為串行/串行乘法器。這樣的乘法器只需要一個(gè)全加器,但是計(jì)算乘積所需的時(shí)間更長(zhǎng)。1.2陣列乘法器移位乘法器是通過(guò)犧牲時(shí)間來(lái)降低復(fù)雜性,還有一種方法通過(guò)增加復(fù)雜性來(lái)?yè)Q取速度,稱之為“陣列”,或者叫并行/并行乘法器。在M×N位不帶符號(hào)整數(shù)的陣列乘法中,每一個(gè)部分乘積項(xiàng)(位積)akxj叫做一個(gè)被加數(shù)。這M×N個(gè)被加數(shù){akxj|0≤k≤N-1,0≤j≤M-1}可以用M×N個(gè)與門并行地產(chǎn)生,并且并行提交給N2個(gè)加法器單元的加法器陣列。圖1給出了一個(gè)4×4位陣列乘法器邏輯電路。點(diǎn)擊圖片查看大圖圖14位陣列乘法器該乘法器的總的乘法時(shí)間可以估算如下:令Ta為與門的傳輸延遲時(shí)間,Tf為全加器(FA)的進(jìn)位傳輸延遲時(shí)間,假定用2級(jí)“與非”邏輯來(lái)實(shí)現(xiàn)FA的進(jìn)位鏈功能,那么我們就有:點(diǎn)擊圖片查看大圖因而得M×N位不帶符號(hào)的陣列乘法器總的乘法時(shí)間Ts為:點(diǎn)擊圖片查看大圖這種乘法器要實(shí)現(xiàn)N×N位時(shí),需要N(N-1)個(gè)全加器和N2個(gè)與門。故可以看出,陣列乘法器相對(duì)于移位乘法器大大增加了復(fù)雜性,但卻縮短了時(shí)間。2FPGA技術(shù)FPGA是一類稱為現(xiàn)場(chǎng)可編程邏輯(field-programmablelogic,F(xiàn)PL)器件中的一員。50多年前,匈牙利數(shù)學(xué)家Neumann提出了電腦的設(shè)計(jì)構(gòu)想,通過(guò)中央處理器從存儲(chǔ)器中存取數(shù)據(jù),并逐一處理各項(xiàng)任務(wù)?,F(xiàn)在,通過(guò)采用可編程芯片F(xiàn)PGA取代微處理器,電腦可并行處理多項(xiàng)任務(wù)。盡管FPGA芯片的時(shí)鐘頻率要低于奔騰處理器,但是由于FPGA芯片可并行處理各種不同的運(yùn)算,所以可完成許多復(fù)雜的任務(wù)。例如網(wǎng)頁(yè)顯示,全球天氣建摸及基因組合核對(duì)等,而且處理速度比奔騰處理器或數(shù)字信號(hào)處理器快得多。2.1VHDLVHDL(VHSIChardwaredescriptionlanguage,超高速集成電路硬件描述語(yǔ)言),由美國(guó)國(guó)防部(DOD)制定,是以文本形式來(lái)描述數(shù)字系統(tǒng)硬件結(jié)構(gòu)和行為,是一種用形式化方法來(lái)描述數(shù)字電路和系統(tǒng)的語(yǔ)言。本文通過(guò)VHDL語(yǔ)言來(lái)描述,使圖1所示的4位陣列乘法器的邏輯電路在FPGA芯片中實(shí)現(xiàn)。其代碼如下:點(diǎn)擊圖片查看大圖

需要注意的是,如果完成進(jìn)位與和累加所需要的時(shí)間相同,這一方法就是可行的。對(duì)于現(xiàn)在的FPGA來(lái)講,進(jìn)位計(jì)算執(zhí)行的速度要比和累加的速度快,因此產(chǎn)生了另一種結(jié)構(gòu)。這一結(jié)構(gòu)在第一步就將兩個(gè)相鄰的部分乘積結(jié)合起來(lái)的結(jié)果再加到最終輸出乘積上。這是一個(gè)“手工計(jì)算”思想的直接陣列形式。這種陣列乘法器為實(shí)現(xiàn)(并行)二叉樹(shù)乘法器提供了機(jī)會(huì),還可以使得

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論