李冬冬
【摘要】 在集成電路的設(shè)計中,功耗問題已經(jīng)成為這一領(lǐng)域內(nèi)除面積、速度外要慎重考慮的重要因素。當(dāng)前,功耗低的設(shè)計基本上是從電路的基本構(gòu)成因素入手,設(shè)計時在不同環(huán)節(jié)都使用不同設(shè)計,進(jìn)而使系統(tǒng)的功耗得到降低,以便盡可能取得最大的低功耗。
【關(guān)鍵詞】 集成電路 設(shè)計 乘法器 低功耗算法 實(shí)現(xiàn)技術(shù)
一、引言
低功耗設(shè)計一般可以分成兩種:動態(tài)和靜態(tài)技術(shù)。靜態(tài)化技術(shù)一般是從系統(tǒng)的構(gòu)造與工作原理出發(fā),使系統(tǒng)的功耗得到降低,比如選擇低功耗的器件;動態(tài)化技術(shù)主要是使系統(tǒng)運(yùn)行得到改變來降低功耗,比如按照實(shí)際運(yùn)行情況對器件的工作狀態(tài)進(jìn)行調(diào)節(jié)。
二、定點(diǎn)乘法運(yùn)算優(yōu)化
目前,集成電路的設(shè)計中,定點(diǎn)乘法運(yùn)算一般都使用移位相加算法邏輯,具有方便理解、簡單和直接的優(yōu)點(diǎn),但是缺陷也很明顯,運(yùn)算的效率比較低,需要數(shù)量很多的硬件設(shè)備,占用的資源也比較多。在普通的移位相加算法內(nèi),每位乘數(shù)都會出現(xiàn)積,運(yùn)算量比較大,事實(shí)上,如果某位乘數(shù)是0,就不需要開展累加性的運(yùn)算,所以累加器完成次數(shù)要和乘數(shù)中值是1的位數(shù)有明確關(guān)系,如果可以降低中值是1的位數(shù),就能夠降低需要運(yùn)算的累加次數(shù)。
1、BOOTH算法思想。就是使乘數(shù)和某一較大整數(shù)相近,然后借助這一整數(shù)和被乘數(shù)之積,減去對應(yīng)數(shù)值補(bǔ)碼和被乘數(shù)乘積來計算,能夠提升運(yùn)算的效率。BOOTH算法被稱作補(bǔ)碼移位算法,符號位是參與到運(yùn)算的,運(yùn)算數(shù)都借助補(bǔ)碼進(jìn)行表示。乘數(shù)的末位會增加附加位,初值是0。對乘數(shù)的最末兩位進(jìn)行觀察,00對部分積進(jìn)行向右移動移位的操作,01則對部分積的被乘數(shù)相加然后取其補(bǔ)碼,結(jié)果向右移動一位,10則對部分積的被乘數(shù)相減,取其補(bǔ)碼,結(jié)果向右移動一位,11則直接額對部分積執(zhí)行向右移動一位的操作。根據(jù)上述算法,對n+1步進(jìn)行操作,那么第n+1不就不用在位移,最終的結(jié)果就是運(yùn)算的結(jié)果。
2、定點(diǎn)乘法運(yùn)算中乘法系數(shù)優(yōu)化的算法。以BOOTH算法那為基礎(chǔ),還有一種更先進(jìn)的算法,屬于三元數(shù)值系統(tǒng),能夠降低硬件結(jié)構(gòu)的復(fù)雜性,如果乘數(shù)系數(shù)是2的整數(shù)次冪時,乘法能夠借助移位實(shí)現(xiàn),這就使占用的硬件資源得到降低。為了降低系數(shù)二進(jìn)制表示內(nèi)非零位個數(shù),通常使用帶符號的二進(jìn)制對整數(shù)進(jìn)行表示。這一方法的優(yōu)點(diǎn)如下:只利用了加法和位移,整個算法過程是以非零位不同的位置為基礎(chǔ),和其他的算法比較起來,更加準(zhǔn)確,有限的字長也沒有對程度有太大的影響。
3、數(shù)字濾波器編碼的優(yōu)化。設(shè)計芯片時,為了使類型不同的數(shù)字濾波器能夠盡量降低面積,并加快速度,發(fā)展出一些優(yōu)秀數(shù)乘與編碼算法。先對信號進(jìn)行處理時,首先會從模數(shù)轉(zhuǎn)換器內(nèi)輸出,然后把信號由高頻率載波信號降低到基帶信號并解調(diào),要想得到理想的信號需要不同階段濾波。包括把較高采樣率降低到降低采樣率,然后借助解調(diào)轉(zhuǎn)換至基帶的頻率,基帶信號的頻率比采樣的頻率范圍低,因此借助抽取濾波器進(jìn)一步抽取信號,進(jìn)而得出有用信號。
三、集成電路設(shè)計中乘法器低功耗實(shí)現(xiàn)技術(shù)
1、編碼優(yōu)化算法實(shí)現(xiàn)技術(shù)。首先,可以把編碼優(yōu)化算法實(shí)現(xiàn)成一個VHDL函數(shù),然后存進(jìn)庫中和乘法器進(jìn)行分離。接著,對乘法器的木塊進(jìn)行設(shè)計和優(yōu)化,最后算出乘法運(yùn)算的結(jié)果并輸出。在模塊的內(nèi)部,對編碼優(yōu)化函數(shù)進(jìn)行調(diào)用,將優(yōu)化乘法器類屬參數(shù)當(dāng)做這一函數(shù)的輸入,輸出的結(jié)果中,三個變量分別表示三個常數(shù)。優(yōu)化的結(jié)果使用常數(shù)來表示,原因?yàn)樵诔朔ㄆ鞯木C合初期,上述三個常數(shù)能夠按照優(yōu)化函數(shù)的計算而得出,進(jìn)行綜合之后,乘法器按照這三個常數(shù)就能夠轉(zhuǎn)化成對應(yīng)移位加的結(jié)構(gòu),而且對加法的結(jié)果進(jìn)行計算,這是優(yōu)化算法的邏輯單元是在庫中保存的,不會算進(jìn)優(yōu)化之后的乘法器。為了對這一技術(shù)優(yōu)化的效果進(jìn)行驗(yàn)證,可以將相同射頻的模塊當(dāng)做測試的平臺,在模塊內(nèi)全部乘法器都被優(yōu)化乘法器的模塊替代后,導(dǎo)入RTL的代碼,對功耗結(jié)果進(jìn)行分析,發(fā)現(xiàn)總功耗和邏輯單元都有所下降,面積也有所降低。在對硬件進(jìn)行測試時,使用編碼優(yōu)化算法對射頻模塊進(jìn)行匹配開展測試,結(jié)果顯示邏輯占用率是4.5%,產(chǎn)生寄存器的總數(shù)是13559,存儲單元的占用率是4.6%。
2、缺省優(yōu)化算法實(shí)現(xiàn)技術(shù)研究。根據(jù)缺省優(yōu)化算法模式,用VHDL函數(shù)的形式和小數(shù)乘法器相分離并存進(jìn)庫中。對優(yōu)化乘法器的模塊進(jìn)行設(shè)計,在進(jìn)行綜合的初期,常數(shù)是由優(yōu)化算法經(jīng)過計算而得出的,在進(jìn)行綜合之后,乘法器按照常數(shù)就能夠轉(zhuǎn)化成對應(yīng)移位加結(jié)構(gòu),并開展右移缺省操作,計算的結(jié)果在小數(shù)化處理之后從模塊的輸出端內(nèi)輸出。經(jīng)過實(shí)驗(yàn),發(fā)現(xiàn)總功耗有所降低,面積也有降低。
結(jié)語:綜上所述,集成電路設(shè)計中乘法器的低功耗算法與實(shí)現(xiàn)技術(shù)具有重要意義,需要引起相關(guān)人員的重視,不斷對這一技術(shù)進(jìn)行改進(jìn)與完善,切實(shí)發(fā)揮出低功耗算法的作用,進(jìn)而促進(jìn)集成電路設(shè)計技術(shù)的發(fā)展。
參 考 文 獻(xiàn)
[1]袁博. 集成電路設(shè)計中乘法器的低功耗算法與實(shí)現(xiàn)技術(shù)研究[D]. 西安電子科技大學(xué), 2012.
[2]袁博, 劉紅俠. 定點(diǎn)小數(shù)乘法器的低功耗算法與實(shí)現(xiàn)技術(shù)[J]. 中南大學(xué)學(xué)報自然科學(xué)版, 2014(1):132-141.