當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘 要:借助于硬件描述語(yǔ)言Verilog HDL語(yǔ)言和FPGA,提出了一種32位循環(huán)型除法器的實(shí)現(xiàn)方法。該除法器通過(guò)改善 程序結(jié)構(gòu),優(yōu)化了時(shí)序,提高了除法運(yùn)算速度,克服了傳統(tǒng)除法器“吃時(shí)鐘”的弊端。且該除法器的移位、相減和比較操作都 在一個(gè)程序下完成,無(wú)需模塊劃分,節(jié)約邏輯資源。該設(shè)計(jì)并順利通過(guò)Quartus II編譯、綜合和仿真工具M(jìn)odelsim的仿真,達(dá) 到了預(yù)期的結(jié)果。

引言

在數(shù)據(jù)處理過(guò)程中,除法是經(jīng)常用但也是最復(fù)雜的四則 運(yùn)算。特別是針對(duì)含有除法器FPGA設(shè)計(jì)中,除法器的運(yùn) 算速度,運(yùn)算精度和占用邏輯資源大小對(duì)系統(tǒng)的整體性能具 有很大影響[1]?,F(xiàn)有的EDA軟件提供的除法模塊時(shí)鐘消耗 多,占有邏輯資源量大,且除數(shù)受限,只能是2的次嘉因此, 設(shè)計(jì)一種由Verilog HDL[2]編寫(xiě)的可綜合的,可以是任意除數(shù) 的,運(yùn)算速度快,邏輯資源占用量小[3,4]的除法器在FPGA數(shù) 據(jù)處理中就顯得尤為必要。

1循環(huán)型除法器原理與設(shè)計(jì)

循環(huán)性除法器也叫位操作除法器,主要通過(guò)移位、相減 和比較三種操作實(shí)現(xiàn)求商和得余[5]。無(wú)論是乘法器還是除法 器都有操作空間,典型的循環(huán)型除法器又可分為操作空間可 恢復(fù)性和不可恢復(fù)性,這里采用易于控制,邏輯清晰的操作 空間不可恢復(fù)型算法。

在上述所采用算法中,首先保證被除數(shù)為正值,若為負(fù)值, 則對(duì)被除數(shù)正值化,然后進(jìn)行相應(yīng)的移位、減法和比較操作, 最后再對(duì)結(jié)果進(jìn)行調(diào)整。具體實(shí)現(xiàn)過(guò)程如下:假設(shè)除數(shù)和被 除數(shù)都是N位,那么操作空間P的位寬就是2*N,其中P[N- 1 : 0]用來(lái)填充被除數(shù),P[2*N-1 : N-1]是用來(lái)與除數(shù)進(jìn)行遞減 操作。此外,為了保證運(yùn)算結(jié)果正確性,還要考慮同步操作, P[2*N-1 : N-1]和除數(shù)的遞減操作應(yīng)該發(fā)生在別的空間,此處 命名為D空間,D空間具有和P空間同樣的位寬。同時(shí),為 了方便遞減操作,我們建立位寬為33位的S空間寄存除數(shù)的 負(fù)值補(bǔ)碼形式。首先D空間被賦予“P+{S,(N-1)' b0}”的值, 根據(jù),P[2*N-1:N-1]+S”的結(jié)果判斷D空間的最高位'D[2*N-1]”,也就是符號(hào)位,是邏輯1還是邏輯0。如果是“D[2*N-1]”是 邏輯1那就表示P[2*N-1 : N-1]的值小于除數(shù),P空間左移一 位補(bǔ)0 ;如果是“D[2*N-1]”是邏輯0則表示P[2*N-1 : N-1] 的值大于除數(shù),P空間被賦予D空間的值,并且左移一位補(bǔ)1。 程序具體流程圖如下圖1所示:

2程序設(shè)計(jì)和仿真

傳統(tǒng)除法器是將被除數(shù)當(dāng)做被減數(shù),除數(shù)當(dāng)做減數(shù),然 后被除數(shù)遞減與除數(shù),每一次遞減,商數(shù)相應(yīng)遞增,直到被 除數(shù)小于除數(shù)為止,此時(shí)剩下的數(shù)就是余數(shù),輸出的結(jié)果再 根據(jù)除數(shù)與被除數(shù)的正負(fù)關(guān)系進(jìn)行調(diào)整。

雖然傳統(tǒng)除法器的設(shè)計(jì)與實(shí)現(xiàn)簡(jiǎn)單,但當(dāng)被除數(shù)與除數(shù) 相差比較大的時(shí)候,它消耗時(shí)鐘比較嚴(yán)重的弊端就會(huì)顯露出 來(lái),影響除法器運(yùn)算速度,占用邏輯資源也比較多,進(jìn)而影響 系統(tǒng)的整體性能。本循環(huán)型除法器的程序設(shè)計(jì)整體基于狀態(tài) 機(jī)思想,所有操作都在一個(gè)always進(jìn)程內(nèi)完成,靈活把握“時(shí) 間點(diǎn)”概念,準(zhǔn)確實(shí)現(xiàn)32位數(shù)的除法運(yùn)算。

程序中,針對(duì)“D=P+{S, 32' b0}”語(yǔ)句,在always語(yǔ) 句塊內(nèi)巧妙運(yùn)用阻塞賦值方式,造成一個(gè)區(qū)別于同進(jìn)程內(nèi)非阻塞賦值的時(shí)間停止空間。在這個(gè)停止空間中,D可立即獲得 “P+{S, 32' bO}”的操作值,不用等到下一個(gè)狀態(tài)。此賦值 方式也是減少時(shí)鐘消耗和得到正確除法結(jié)果的重要保證。

還有一點(diǎn)就是寄存除數(shù)負(fù)值補(bǔ)碼形式的S空間的建立, 它運(yùn)用的思想是“小空間向大空間轉(zhuǎn)換”和對(duì)除數(shù)的絕對(duì)負(fù) 值化,方便遞減操作。生成系統(tǒng)模塊圖如圖2所示,其中clk 為系統(tǒng)時(shí)鐘信號(hào),rst為復(fù)位信號(hào),start_flag為除法器啟動(dòng)信 號(hào),dividend[31..O]為被除數(shù),divisor[31..0]為除數(shù),done_ flag為除法器完成信號(hào),quotient[31..0]為除法運(yùn)算所得商數(shù), reminder[31..0]為除法運(yùn)算所得余數(shù)。

基于FPGA的32位循環(huán)型除法器設(shè)計(jì)

本除法器設(shè)計(jì)基于Altera的Cyclone II系列的 EP2C8Q208C8芯片,表1所示為經(jīng)Quartus II軟件編譯、綜 合及布局布線后所顯示的傳統(tǒng)型和循環(huán)型除法器邏輯資源占用 情況對(duì)比。由表可知,傳統(tǒng)型除法器實(shí)現(xiàn)組合邏輯和時(shí)序邏 輯總的邏輯單元數(shù)為399個(gè),而循環(huán)型除法器需要357個(gè),比 傳統(tǒng)型除法器減少了 42個(gè),有效降低了邏輯資源占用量,這 對(duì)某些應(yīng)用到除法器且占用邏輯資源比較多的FPGA大型設(shè) 計(jì)而言,在內(nèi)部資源優(yōu)化上,具有很大優(yōu)勢(shì)。

表1邏輯資源占用表
除法器類(lèi)型
總邏輯單元
(LE)數(shù)
實(shí)現(xiàn)組合邏輯 所需LE數(shù)
實(shí)現(xiàn)時(shí)序邏輯所 需LE數(shù)
傳統(tǒng)型
8 256
299
100
循環(huán)性
8 256
252
105

圖3和圖4為分別為32位循環(huán)型除法器和傳統(tǒng)除法器在 Modelsim中的仿真效果圖,其中SQ_D[63..0]為在仿真中便于 觀察的D空間,SQ_P[63..0]為在仿真中便于觀察的P操作空 間。由兩圖比較及分析可知,循環(huán)性除法器完成除法運(yùn)算具 有固定的時(shí)鐘消耗,不會(huì)因被除數(shù)和除數(shù)的變化而變化。當(dāng)系統(tǒng)時(shí)鐘頻率設(shè)定為50 MHz時(shí),循環(huán)性除法器最高工作頻率 能達(dá)到117.41 MHz,完成一次除法運(yùn)算只需要0.68 ns ;傳統(tǒng) 型除法器最高工作頻率為89.3 MHz,而針對(duì)相同的被除數(shù)(這 里以1 222為例)和除數(shù)(這里除數(shù)以5為例),完成一次除 法運(yùn)算需要4.937 ns,循環(huán)型除法器使除法的運(yùn)算速度提高了 6倍。因此針對(duì)傳統(tǒng)除法器因被除數(shù)與除數(shù)相差比較大,而“吃 時(shí)鐘”的現(xiàn)象,循環(huán)型除法器很好的克服了這個(gè)弊端,提高了除法運(yùn)算整體的運(yùn)算速度。

3 結(jié) 語(yǔ)

本文Verilog HDL硬件描述語(yǔ)言和FPGA相關(guān)開(kāi)發(fā)工具, 完成了 32位循環(huán)性除法器的設(shè)計(jì)。從Quartus II編譯、綜合 報(bào)告及Modelsim仿真效果圖可知,此除法器實(shí)際所得結(jié)果與 預(yù)期的理論結(jié)果值相吻合,且該除法器繼承了 FPGA設(shè)計(jì)中 的靈活性和便于移植性,如果應(yīng)用于實(shí)際系統(tǒng)的設(shè)計(jì),對(duì)系統(tǒng) 整體性能會(huì)有較明顯的提升。

20211223_61c428c2678f2__基于FPGA的32位循環(huán)型除法器設(shè)計(jì)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉