<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的32位ALU軟核設計

基于FPGA的32位ALU軟核設計

作者: 時(shí)間:2011-02-28 來(lái)源:網(wǎng)絡(luò ) 收藏

2.3 乘法模塊
比較好的帶符號數的乘法是布斯(Booth)算法。但是本模塊既要實(shí)現有符號數運算,也要實(shí)現無(wú)符號數運算,用Booth算法反而復雜。綜合考慮邏輯資源的使用和速度兩個(gè)方面的因素,本設計采用下面的算法:不管是有符號數還是無(wú)符號數乘法,都轉換成無(wú)符號數相乘,最后根據需要對計算結果進(jìn)行轉換。如果是無(wú)符號數相乘,乘積不作變化。如果是有符號數相乘,只有兩位乘數符號不一樣時(shí)才對乘的結果做處理,否則結果不變。乘積處理的方法是將乘積取反加1。假設乘數是32位數a,b,乘法主要通過(guò)移位和加法組成,設a=a31,a30…a0,如果ai=1則b向左移i位且右邊添i個(gè)0,否則b不作變化,a中有多少個(gè)1就要進(jìn)行多少次移位操作,最后將所有移位值相加既得a×b的值。乘法的仿真圖如圖3所示。仿真結果表示設計完全正確。32位有符號和無(wú)符號數乘法模塊占用邏輯資源不到800 LE,且由于各種移位并發(fā)進(jìn)行,故速度較快。

本文引用地址:http://dyxdggzs.com/article/191340.htm


2.4 除法模塊
目前運用VHDL進(jìn)行乘法運算的研究較多,而除法只有少數學(xué)者研究。文中綜合考慮速度和資源的占用,采取下列算法實(shí)現:對于32位無(wú)符號被除數a,先將a轉換成高32位是0低32位是a的數temp_a。在每個(gè)周期開(kāi)始時(shí)temp_a向左移動(dòng)一位,最后一位補0,然后判斷temp_a的高32位是否≥除數b,如是則temp_a的高32位減去b并且低32位加1,得到的新值仍賦給temp_a。如不是直接進(jìn)入下一步。上面的移位、比較、減法要進(jìn)行32次,經(jīng)過(guò)32個(gè)周期后,運算結束,所得到的temp_a的高32位為余數,低32位為商。
對于32位有符號數的除法,采用的算法是將被除數與除數均變成無(wú)符號的32位數,緊接著(zhù)的計算過(guò)程與無(wú)符號數除法一樣,只是需要判斷商和余數是正數還是負數。令,如果d=0則被除數與除數同為正數或者負數,最終商為正數。如果d=1說(shuō)明被除數與除數符號相反,最終商為負數。被除數是負數時(shí)余數為負,否則為正。最后根據d的值對商作處理;如果d=0商不需任何處理,如果d=1則將商取反加1才是正確的結果。余數的調整則根據被除數的符號位進(jìn)行。



3 結束語(yǔ)
文中在芯片上,利用VHDL語(yǔ)言設計了功能強大的32位。由于是CPU的重要組成部分,各類(lèi)系統中都不可避免地需要,因此本設計的應用泛圍較廣。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FPGA ALU 軟核

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>