FPGA中實現(xiàn)對數(shù)運算主要有三種方法:
(1)在外部直接算好對數(shù)值,按照數(shù)值范圍做個表,存在ram里,到時候查表。為了減少表深度,提高資源利用率,可以考慮去掉部分低位數(shù)值,損失一定的精度。
(2)使用cordic算法求解對數(shù)。
(3)log10(x)=ln(x) * log10(e) , log10(e)是常數(shù)可以手動先計算好,用IP Core的話多個乘法器。
下面介紹使用IP核floating-point來計算對數(shù),該IP計算對數(shù)時,計算的是Ln(A)(A是輸入),如下圖所示:
輸入是浮點數(shù),所以如果我們在FPGA內(nèi)使用的定點數(shù),則需要先將定點數(shù)轉(zhuǎn)化為浮點數(shù):
實現(xiàn)對數(shù)運算時,可以使用DSP核心,也可以不用,IP配置中提供了三個等級:
對于Flow Control可以選擇帶緩存的Blocking模式,也可以選擇沒有緩存的NonBlocking模式,延時也可以選擇從0到23:
上面也提到,計算LOG的輸入是浮點數(shù),如果需要,可以繼續(xù)使用floating-point來實現(xiàn)定點數(shù)轉(zhuǎn)浮點數(shù),對于轉(zhuǎn)換IP的輸入可以自主設(shè)定如下圖所示,這里設(shè)為int16+fra16,輸出為單精度浮點數(shù),可以直接給計算LOG的IP核:
我們要計算以任意數(shù)為底的對數(shù)時,可以通過來計算,由此完成一次計算,需要兩個定點轉(zhuǎn)浮點的IP(fixtofloat),兩個LOG的IP(log不使用DSP),以及一個除法IP(divide),最后再將浮點數(shù)轉(zhuǎn)為定點數(shù)輸出,綜合實現(xiàn)后的資源占用情況為:
一次簡單的RTL仿真為:
原文標(biāo)題:FPGA中實現(xiàn)對數(shù)運算
文章出處:【微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
dsp
+關(guān)注
關(guān)注
556文章
8158瀏覽量
357692 -
FPGA
+關(guān)注
關(guān)注
1645文章
22050瀏覽量
618659 -
乘法器
+關(guān)注
關(guān)注
9文章
212瀏覽量
37977
原文標(biāo)題:FPGA中實現(xiàn)對數(shù)運算
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
無位置傳感器無刷直流電機的+FPGA+控制實現(xiàn)
基于FPGA的壓縮算法加速實現(xiàn)

Linux系統(tǒng)中通過預(yù)留物理內(nèi)存實現(xiàn)ARM與FPGA高效通信的方法

進群免費領(lǐng)FPGA學(xué)習(xí)資料!數(shù)字信號處理、傅里葉變換與FPGA開發(fā)等
對數(shù),電子學(xué)中不可或缺的“壓縮神器”
基于FPGA實現(xiàn)圖像直方圖設(shè)計

FPGA中的浮點四則運算是什么

FPGA中浮點四則運算的實現(xiàn)過程

FPGA門數(shù)的計算方法

基于FPGA的計算器設(shè)計

如何在FPGA中實現(xiàn)按鍵消抖
如何在FPGA中實現(xiàn)隨機數(shù)發(fā)生器

評論