新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA的多項式運算器設(shè)計

基于FPGA的多項式運算器設(shè)計

作者: 時間:2012-04-25 來源:網(wǎng)絡(luò) 收藏

3 設(shè)計
3.1 四則運算電路
文獻(xiàn)中瞄述了各種無符號整數(shù)間的運算電路。雖然也可以進(jìn)行用反碼表示的符號數(shù)的運算,但不傾向于使用。因為需要做四則混合運算;反碼易于做加、減法,但不易做乘、除法。而用非反碼的帶符號位的數(shù)據(jù),符號位做單獨計算,其余數(shù)據(jù)做無符號運算,整個計算結(jié)構(gòu)是最簡單的。另外即便是無符號數(shù)做除法也很復(fù)雜,不過考慮到有種特殊的除法運算除外,那就是對于二進(jìn)制數(shù)去掉最末位就相當(dāng)于除以2。所以運算時可以盡量避免除以非2倍數(shù)的數(shù),以此來簡化計算。
表示小數(shù)在計算中是必須的。文獻(xiàn)中介紹了二進(jìn)制定點小數(shù),比如需要保留數(shù)的2位二進(jìn)制小數(shù)位,可以將二進(jìn)制小數(shù)“…b3b2b1.a(chǎn)1 a2”表示為:
b.jpg
運算中還是可以視為對整數(shù)的計算。這樣用無符號的定點數(shù)進(jìn)行計算,配合獨立的符號位表示正負(fù),就可以用簡單的無符號進(jìn)行復(fù)雜的運算。
3.2 多項式的變換
式(4)為一個3次多項式,以它為例來介紹設(shè)計方法:
y=a0+a1×x+a2×x2+a3×x3 (4)
首先將式(4)中所有的數(shù)都用一個符號位加無符號二進(jìn)制形式表示。分別用N1,N2表示y和x中包含的小數(shù)位數(shù),可以將式(4)寫成:
c.jpg
式中:X,Y是x,y去掉小數(shù)點后的整數(shù)(注:這里和式(3)一樣只是去掉小數(shù)點,不是去掉小數(shù)位)。A0,A1,A2,A3作為系統(tǒng)的常數(shù)也是一樣;n0,n1,n2,n3分別是a0,a1,a2,a3二進(jìn)制形式的小數(shù)位數(shù)。可以進(jìn)一步變換式(5)為:
d.jpg
不難發(fā)現(xiàn)式(6)是很容易實現(xiàn)的。先進(jìn)行各項符號位的計算,然后就只剩下無符號整形數(shù)據(jù)計算;而且除法全是除以2的倍數(shù)。最后各項之間根據(jù)符號位做加、減運算就得到輸出Y,是帶符號有N1位小數(shù)的定點數(shù)。


關(guān)鍵詞: FPGA 運算器

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉