當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀] 1 功能概述 位處理單元(Bit Manipulation unit,BMU)總體結(jié)構(gòu)如圖1所示??梢钥闯觯珺MU主要由取指電路、移位數(shù)據(jù)處理電路、移位選擇處理電路、桶形移

1 功能概述

位處理單元(Bit Manipulation unit,BMU)總體結(jié)構(gòu)如圖1所示??梢钥闯觯珺MU主要由取指電路、移位數(shù)據(jù)處理電路、移位選擇處理電路、桶形移位電路和輸出電路等幾部分組成。BMU的輸入數(shù)據(jù)是36位的BMUi,經(jīng)過處理后輸出36位的數(shù)據(jù)BMUo作為DSP的一次運(yùn)算結(jié)果。本文設(shè)計(jì)的BMU是36位的,主要功能包括邏輯/算術(shù)移位、取指、歸一化等,以下是對(duì)控制信號(hào)及相關(guān)功能較為詳細(xì)的描述。邏輯/算術(shù)左移 相應(yīng)的控制信號(hào)是in arithshf,inleftshf,in_shift。將36位數(shù)據(jù)左移,低位補(bǔ)0;邏輯右移 控制信號(hào)同上,他執(zhí)行的是低32位數(shù)據(jù)右移,同時(shí)高位補(bǔ)0;算術(shù)右移 控制信號(hào)如上,36位數(shù)據(jù)右移,高位由原最高位填充;取指 控制信號(hào)是in_exp,取36位數(shù)據(jù)的指數(shù),也即冗余的符號(hào)位的個(gè)數(shù);歸一化 控制信號(hào)是in_norm,將輸入數(shù)據(jù)進(jìn)行歸一化,得到去除冗余符號(hào)位后的結(jié)果。指數(shù)提取的目的是進(jìn)行類似于定點(diǎn)到浮點(diǎn)的數(shù)據(jù)轉(zhuǎn)換。一個(gè)定點(diǎn)數(shù)可以用一個(gè)包含尾數(shù)和指數(shù)的浮點(diǎn)數(shù)來表示,這樣可以提高數(shù)據(jù)的表示范圍,同時(shí)使得定點(diǎn)DSP具有某種浮點(diǎn)運(yùn)算的能力。取指的結(jié)果相當(dāng)于浮點(diǎn)數(shù)的指數(shù),而歸一化的結(jié)果可以看成浮點(diǎn)數(shù)的尾數(shù)。這使得定點(diǎn)DSP能在不增加浮點(diǎn)算法開銷的情況下獲得某些浮點(diǎn)DSP的能力。2 單元電路設(shè)計(jì)2.1 桶形移位器的設(shè)計(jì)移位和歸一化操作都需要用到桶形移位器,因此桶形移位器是BMU的核心單元。通常,桶形移位器可以實(shí)現(xiàn)邏輯左移、右移,算術(shù)左移、右移等,一般為了減少晶體管和連線的數(shù)目以節(jié)省面積,通常只實(shí)現(xiàn)左移或右移中的一種。本文中只采用左移操作來實(shí)現(xiàn)桶形移位。設(shè)36位移位數(shù)據(jù)為BMUi,36位移位選擇信號(hào)為shfsel,當(dāng)shfsel[i]為1時(shí),桶形移位器的輸入數(shù)據(jù)(即經(jīng)過移位數(shù)據(jù)處理后得到的數(shù)據(jù))左移i位。下面是實(shí)現(xiàn)右移的原理:BMUi從高位到低位依次是BMUi[35],BMUi[34],…,BMUi[1],BMUi[0],BMUi重復(fù)排列兩次構(gòu)成72位數(shù)據(jù)BMUi[35],BMUi[34],…,BMUi[1],BMUi[0],BMUi[35],BMUi[34],…,BMUi[1],BMUi[0],將72位數(shù)據(jù)經(jīng)過移位(左移)后的高36位作為桶形移位器的輸出。當(dāng)要求桶形移位器實(shí)現(xiàn)右移shfnum位時(shí),只要將該72位數(shù)據(jù)左移(36-shfnum)位即可實(shí)現(xiàn)。當(dāng)然在實(shí)現(xiàn)移位操作時(shí),必須對(duì)72位數(shù)據(jù)的高36位(右移時(shí))或低36位(左移時(shí))進(jìn)行處理,這個(gè)處理過程在移位數(shù)據(jù)處理電路中將會(huì)介紹。同時(shí)由于36位的shfsel最多只能選擇左移35位(shfsel[35]=1時(shí)),所以72位桶形移位器的輸入數(shù)據(jù)的中間2位可以合并成1位,成為71位輸入數(shù)據(jù)(此時(shí)實(shí)現(xiàn)右移操作時(shí)應(yīng)該將71位數(shù)據(jù)左移35-shfnum位)。移位的實(shí)現(xiàn)主要通過移位開關(guān)網(wǎng)絡(luò)來實(shí)現(xiàn)。移位網(wǎng)絡(luò)(以8位移位數(shù)據(jù)為例,則移位器的輸入數(shù)據(jù)需要處理成15位)的結(jié)構(gòu)如圖2所示,他是一個(gè)NMOS傳輸管陣列,行數(shù)等于數(shù)據(jù)字長(zhǎng),列數(shù)等于最大的移位數(shù)。這個(gè)移位器結(jié)構(gòu)的主要優(yōu)點(diǎn)是數(shù)據(jù)信號(hào)至多只經(jīng)過一個(gè)傳輸管,移位的傳輸延時(shí)理論上是一個(gè)常數(shù),并且與移位位數(shù)及移位器大小無關(guān),同時(shí)結(jié)構(gòu)比較規(guī)整,利于后端版圖實(shí)現(xiàn)。但是NMOS傳輸管在傳輸高電平時(shí)有一個(gè)閾值電壓損耗,降低了電路的噪聲容限,因此需要在輸出端增加電平提升電路。2.2 取指電路的設(shè)計(jì)指數(shù)(exp)指的是冗余符號(hào)位的個(gè)數(shù),他對(duì)于二進(jìn)制補(bǔ)碼數(shù)的歸一化是十分重要的,歸一化是將原二進(jìn)制補(bǔ)碼左移exp位(也就是將冗余的符號(hào)位移出),例如對(duì)于二進(jìn)制補(bǔ)碼00001100,他冗余的符號(hào)位個(gè)數(shù)是3,所以exp=3,歸一化就是將00001100左移3位的過程,即變成01100000。對(duì)于本文設(shè)計(jì)的BMU,符號(hào)位是BMui[31],如果高5位不完全相同,則exp為負(fù)值。表1列舉了幾個(gè)數(shù)據(jù)的例子。指數(shù)的提取過程分成兩步:(1)找出從BMUi[34]到BMUi[0]第一個(gè)與BMUi[35]不同的位i。(2)對(duì)i進(jìn)行編碼,得到指數(shù)值。第一步可以通過BMUi[35]與BMUi[34-i](i=0,1,…,33,34)異或來實(shí)現(xiàn),找出第一個(gè)與BMUi[35]相異的位。同時(shí)本級(jí)產(chǎn)生的移位選擇信號(hào)必須能夠屏蔽下一級(jí)的移位選擇信號(hào)信號(hào)。設(shè)BMUi[34-i]位與.BMUi[35]異或的結(jié)果記為XOR[i](i=0,1,2,…,33,34),前一級(jí)產(chǎn)生的屏蔽信號(hào)為C[i-1],這樣第i位(i=0,1,2,…,33,34)的移位選擇信號(hào)可以表示成XOR[i]和C[i-1]的函數(shù),指數(shù)選擇信號(hào)的最高位exp sel[35]可以表示成C[34]的反信號(hào),這表示如果前35位屏蔽信號(hào)都為0,則屏蔽信號(hào)C[34]無效,此時(shí)exp sel[35]=1;如果前35位已經(jīng)有一個(gè)為1,則說明36位二進(jìn)制位中存在與BMUi[35]相異的位,此時(shí)屏蔽信號(hào)C[34]有效,exp-sel[35]被屏蔽。綜上所述,得到第i級(jí)的指數(shù)選擇信號(hào)exp-sel[i]和提供給下一級(jí)的屏蔽信號(hào)C[i]如下式所示,設(shè)計(jì)電路如圖3所示。由圖3可以看出,屏蔽信號(hào)最多將會(huì)經(jīng)過30幾級(jí)傳輸門,是取指電路的關(guān)鍵路徑,經(jīng)過30幾級(jí)的傳輸門后,信號(hào)驅(qū)動(dòng)能力較弱,延時(shí)較大,不符合高性能DSP的要求??梢钥紤]將這最長(zhǎng)路徑打斷,提高速度。類似與超前進(jìn)位加法器的進(jìn)位傳遞,將屏蔽信號(hào)鏈打斷,每4位提供一個(gè)超前屏蔽信號(hào),用來屏蔽下一級(jí)的移位選擇信號(hào),這樣隔斷了最長(zhǎng)路徑,提高了驅(qū)動(dòng)能力,進(jìn)而提高取指電路的工作速度。指數(shù)選擇信號(hào)產(chǎn)生后,只要經(jīng)過相應(yīng)的編碼就可以得到相關(guān)的指數(shù)值(二進(jìn)制補(bǔ)碼),編碼表如表2所示。2.3 移位選擇處理移位選擇處理是根據(jù)移位數(shù)目shfnum和指數(shù)exp來產(chǎn)生移位選擇信號(hào)shfsel。移位選擇處理過程主要是根據(jù)輸入控制信號(hào)(in norm,in shift,in leftshf)以及移位數(shù)目shfnum和指數(shù)exp產(chǎn)生兩種信號(hào):最終左移信號(hào)left和最終左移數(shù)目leftnum。經(jīng)過分析,left和leftnum都可以寫成輸入控制信號(hào)、指數(shù)exp和移位數(shù)目shfnum的邏輯表達(dá)式。進(jìn)一步分析表明,可以用6 b(因?yàn)樽罱K的移位選擇信號(hào)是36位,至少需用6位來表示)的加法器來產(chǎn)生leftnum。最終移位信號(hào)left以及加法器的被加數(shù)addA、加數(shù)addB和進(jìn)位c[i]的邏輯表達(dá)式(下式)。將leftnum進(jìn)行譯碼后就可以得到移位選擇信號(hào)shfsel。2.4 移位數(shù)據(jù)處理該處理過程主要是產(chǎn)生桶形移位器的71位輸入數(shù)據(jù)D[70:0],將71位數(shù)據(jù)位分成兩部分,一部分叫原數(shù)據(jù)位(36位,放置經(jīng)過處理的輸入數(shù)據(jù)),另一部分叫擴(kuò)展數(shù)據(jù)位(35位,放置考慮了邏輯右移等的擴(kuò)展位)。由桶形移位器的原理可以知道,當(dāng)最終左移信號(hào)有效(即left=1)時(shí),D[70:35]為原數(shù)據(jù)位,由原36位輸入數(shù)據(jù)填充,低35位D[34:0]為擴(kuò)展數(shù)據(jù)位,用0來填充。而當(dāng)最終左移信號(hào)無效(即left=0)時(shí),此時(shí)需分兩種情況考慮:(1)如果是算術(shù)移位,則D[35:0]為原數(shù)據(jù)位,由原36位輸入數(shù)據(jù)填充,而D[70:36]是擴(kuò)展數(shù)據(jù)位,由符號(hào)位擴(kuò)展形成;(2)如果是邏輯移位,此時(shí)是將原36位數(shù)據(jù)的低32位右移,高位補(bǔ)0,鑒于此,需要將原36位數(shù)據(jù)的高4位清零后賦給原數(shù)據(jù)位D[35:0],高35位(即D[70:36])由0擴(kuò)展形成。由上述分析,移位數(shù)據(jù)處理電路可以分成3部分設(shè)計(jì):原36位輸入數(shù)據(jù)的高4位處理電路,擴(kuò)展數(shù)據(jù)位電路,數(shù)據(jù)選擇電路。分別設(shè)計(jì)這3部分電路如圖4所示。3 電路模擬電路模擬工作在Sun Fire V880 Solaris系統(tǒng)環(huán)境下完成,模擬采用CSMC.5單阱CMOS工藝模型,環(huán)境溫度25℃,工作電壓為5 V。電路模擬采用VCS+NanoSim混合仿真的方法進(jìn)行,由VerilogHDL提供激勵(lì)給BMU的網(wǎng)表。模擬結(jié)果如圖5所示:當(dāng)bmui=0x1478f73時(shí),exp=6,bmui=0x105fb31b4時(shí),歸一化后bmuo=417ecc6d,當(dāng)bmui=0x603a09b12,shfnum=7左移時(shí)bmuo=ld04d8900。這表明BMU功能符合設(shè)計(jì)目標(biāo),同時(shí)測(cè)得BMU的最大延時(shí)是8.78 ns,即極限工作頻率是114 MHz。NanoSim自動(dòng)生成的狀態(tài)記錄文檔指出本文設(shè)計(jì)的BMU共使用了4 527個(gè)晶體管。4 結(jié) 語本文設(shè)計(jì)了用于定點(diǎn)DSP的位處理單元電路,他有效地實(shí)現(xiàn)了邏輯/算術(shù)移位、取指、歸一化等操作,解決了利用定點(diǎn)DSP進(jìn)行浮點(diǎn)運(yùn)算的問題。該BMU包括桶形移位器、取指電路、移位數(shù)據(jù)處理電路和移位選擇處理電路等幾部分。在設(shè)汁取指電路時(shí),借鑒超前進(jìn)位加法器中超前進(jìn)位的概念.采用了超前屏蔽,將最長(zhǎng)路徑打斷,提高了電路的工作速度。另外,該BMU僅包含4 527個(gè)晶體管,資源消耗較少,在5 V工作電壓下,電路速度達(dá)到114 MHz,完全符合高性能DSP的要求。

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

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

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

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

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

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(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ì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

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

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(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)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

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