0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA中實(shí)現(xiàn)對(duì)數(shù)運(yùn)算的方法

FPGA設(shè)計(jì)論壇 ? 來源:FPGA設(shè)計(jì)論壇 ? 作者:FPGA設(shè)計(jì)論壇 ? 2022-07-06 14:52 ? 次閱讀

FPGA中實(shí)現(xiàn)對(duì)數(shù)運(yùn)算主要有三種方法:

(1)在外部直接算好對(duì)數(shù)值,按照數(shù)值范圍做個(gè)表,存在ram里,到時(shí)候查表。為了減少表深度,提高資源利用率,可以考慮去掉部分低位數(shù)值,損失一定的精度。

(2)使用cordic算法求解對(duì)數(shù)。

(3)log10(x)=ln(x) * log10(e) , log10(e)是常數(shù)可以手動(dòng)先計(jì)算好,用IP Core的話多個(gè)乘法器。

下面介紹使用IP核floating-point來計(jì)算對(duì)數(shù),該IP計(jì)算對(duì)數(shù)時(shí),計(jì)算的是Ln(A)(A是輸入),如下圖所示:

c7463d14-fce2-11ec-ba43-dac502259ad0.png

輸入是浮點(diǎn)數(shù),所以如果我們?cè)贔PGA內(nèi)使用的定點(diǎn)數(shù),則需要先將定點(diǎn)數(shù)轉(zhuǎn)化為浮點(diǎn)數(shù):

c75ee594-fce2-11ec-ba43-dac502259ad0.png

實(shí)現(xiàn)對(duì)數(shù)運(yùn)算時(shí),可以使用DSP核心,也可以不用,IP配置中提供了三個(gè)等級(jí):

c775de70-fce2-11ec-ba43-dac502259ad0.png

對(duì)于Flow Control可以選擇帶緩存的Blocking模式,也可以選擇沒有緩存的NonBlocking模式,延時(shí)也可以選擇從0到23:

c78c89a4-fce2-11ec-ba43-dac502259ad0.png

上面也提到,計(jì)算LOG的輸入是浮點(diǎn)數(shù),如果需要,可以繼續(xù)使用floating-point來實(shí)現(xiàn)定點(diǎn)數(shù)轉(zhuǎn)浮點(diǎn)數(shù),對(duì)于轉(zhuǎn)換IP的輸入可以自主設(shè)定如下圖所示,這里設(shè)為int16+fra16,輸出為單精度浮點(diǎn)數(shù),可以直接給計(jì)算LOG的IP核:

c7af9390-fce2-11ec-ba43-dac502259ad0.png

我們要計(jì)算以任意數(shù)為底的對(duì)數(shù)時(shí),可以通過來計(jì)算,由此完成一次計(jì)算,需要兩個(gè)定點(diǎn)轉(zhuǎn)浮點(diǎn)的IP(fixtofloat),兩個(gè)LOG的IP(log不使用DSP),以及一個(gè)除法IP(divide),最后再將浮點(diǎn)數(shù)轉(zhuǎn)為定點(diǎn)數(shù)輸出,綜合實(shí)現(xiàn)后的資源占用情況為:

c7c26d80-fce2-11ec-ba43-dac502259ad0.png

一次簡(jiǎn)單的RTL仿真為:

c7e073c0-fce2-11ec-ba43-dac502259ad0.png

原文標(biāo)題:FPGA中實(shí)現(xiàn)對(duì)數(shù)運(yùn)算

文章出處:【微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    553

    文章

    8005

    瀏覽量

    349067
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21744

    瀏覽量

    603666
  • 乘法器
    +關(guān)注

    關(guān)注

    8

    文章

    205

    瀏覽量

    37086

原文標(biāo)題:FPGA中實(shí)現(xiàn)對(duì)數(shù)運(yùn)算

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA的浮點(diǎn)四則運(yùn)算是什么

    由于定點(diǎn)的四則運(yùn)算比較簡(jiǎn)單,如加減法只要注意符號(hào)擴(kuò)展,小數(shù)點(diǎn)對(duì)齊等問題即可。在本文中,運(yùn)用在前一節(jié)描述的自定義浮點(diǎn)格式FPGA數(shù)的表示方法
    的頭像 發(fā)表于 11-16 12:51 ?271次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>中</b>的浮點(diǎn)四則<b class='flag-5'>運(yùn)算</b>是什么

    FPGA浮點(diǎn)四則運(yùn)算實(shí)現(xiàn)過程

    由于定點(diǎn)的四則運(yùn)算比較簡(jiǎn)單,如加減法只要注意符號(hào)擴(kuò)展,小數(shù)點(diǎn)對(duì)齊等問題即可。在本文中,運(yùn)用在前一節(jié)描述的自定義浮點(diǎn)格式FPGA數(shù)的表示方法
    的頭像 發(fā)表于 11-16 11:19 ?454次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>中</b>浮點(diǎn)四則<b class='flag-5'>運(yùn)算</b>的<b class='flag-5'>實(shí)現(xiàn)</b>過程

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

    ,ESB/BRAM)和實(shí)現(xiàn)相同功能的標(biāo)準(zhǔn)門陣列比較,門陣列包含的門數(shù)即為該FPGA基本單元的等效門數(shù),然后乘以基本單元的數(shù)目就可以得到FPGA門數(shù)估計(jì)值;二是分別用
    的頭像 發(fā)表于 11-11 09:45 ?292次閱讀
    <b class='flag-5'>FPGA</b>門數(shù)的計(jì)算<b class='flag-5'>方法</b>

    如何在FPGA實(shí)現(xiàn)按鍵消抖

    按鍵操作。因此,實(shí)現(xiàn)有效的按鍵消抖機(jī)制對(duì)于提高系統(tǒng)的穩(wěn)定性和可靠性至關(guān)重要。以下是在FPGA實(shí)現(xiàn)按鍵消抖的詳細(xì)步驟和策略,包括原理、方法、
    的頭像 發(fā)表于 08-19 18:15 ?1976次閱讀

    如何在FPGA實(shí)現(xiàn)隨機(jī)數(shù)發(fā)生器

    分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7實(shí)現(xiàn)4位偽隨機(jī)數(shù)發(fā)生器(PRNGs)。
    的頭像 發(fā)表于 08-06 11:20 ?694次閱讀
    如何在<b class='flag-5'>FPGA</b><b class='flag-5'>中</b><b class='flag-5'>實(shí)現(xiàn)</b>隨機(jī)數(shù)發(fā)生器

    FPGA在人工智能的應(yīng)用有哪些?

    ,FPGA可以有效地處理深度學(xué)習(xí)的大規(guī)模并行運(yùn)算,從而提高深度學(xué)習(xí)應(yīng)用的效率。 定制化計(jì)算:FPGA的高度可編程性使其可以針對(duì)特定的應(yīng)用場(chǎng)景和算法進(jìn)行定制化的硬件設(shè)計(jì)。這意味著,如果
    發(fā)表于 07-29 17:05

    PLC的邏輯運(yùn)算方式有哪些

    PLC(可編程邏輯控制器)的邏輯運(yùn)算方式主要包括以下幾種,這些邏輯運(yùn)算在PLC編程扮演著至關(guān)重要的角色,用于實(shí)現(xiàn)各種復(fù)雜的控制邏輯。
    的頭像 發(fā)表于 07-24 16:55 ?653次閱讀

    如何在FPGA實(shí)現(xiàn)狀態(tài)機(jī)

    FPGA(現(xiàn)場(chǎng)可編程門陣列)實(shí)現(xiàn)狀態(tài)機(jī)是一種常見的做法,用于控制復(fù)雜的數(shù)字系統(tǒng)行為。狀態(tài)機(jī)能夠根據(jù)當(dāng)前的輸入和系統(tǒng)狀態(tài),決定下一步的動(dòng)作和新的狀態(tài)。這里,我們將詳細(xì)探討如何在FPGA
    的頭像 發(fā)表于 07-18 15:57 ?614次閱讀

    FPGA頻率測(cè)量的方法有哪些?

    FPGA在實(shí)際應(yīng)用,頻率測(cè)量不可或缺,對(duì)于高頻及低頻信號(hào)的頻率測(cè)量,FPGA有哪些方法呢?提供Verilog源碼會(huì)更好。
    發(fā)表于 06-19 14:55

    FPGA設(shè)計(jì)經(jīng)驗(yàn)之圖像處理

    運(yùn)算速度的瓶頸,數(shù)據(jù)搬運(yùn)過程的功耗占的比重也不會(huì)小。FPGA則可以通過堆很多計(jì)算硬件的方法把要做的運(yùn)算都展開,然后數(shù)據(jù)從中流過,完成一個(gè)階
    發(fā)表于 06-12 16:26

    基于FPGA的實(shí)時(shí)邊緣檢測(cè)系統(tǒng)設(shè)計(jì),Sobel圖像邊緣檢測(cè),FPGA圖像處理

    運(yùn)行時(shí), FPGA 并行運(yùn)算平臺(tái)首先完成對(duì)攝像頭的初始化和寄存器配置,配置完成之后讀取實(shí)時(shí)的圖像數(shù)據(jù)存入 SDRAM 存儲(chǔ)器,在 FPGA 芯片內(nèi)部并行
    發(fā)表于 05-24 07:45

    fpga語言是什么?fpga語言與c語言的區(qū)別

    功能,從而實(shí)現(xiàn)對(duì)數(shù)字電路的高效定制。FPGA語言主要包括VHDL(VHSIC Hardware Description Language)和Verilog等,這些語言具有強(qiáng)大的描述能力,能夠精確地定義硬件的每一個(gè)細(xì)節(jié),從而
    的頭像 發(fā)表于 03-15 14:50 ?949次閱讀

    STM32開發(fā)的位運(yùn)算以及位帶操作

    STM32開發(fā)的位運(yùn)算以及位帶操作? 位運(yùn)算是計(jì)算機(jī)中常用的一種操作方式,特別適用于對(duì)數(shù)據(jù)的單個(gè)或多個(gè)位進(jìn)行操作。在STM32開發(fā),位
    的頭像 發(fā)表于 02-02 14:38 ?1688次閱讀

    FPGA實(shí)現(xiàn)原理

    FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)是一種特殊的集成電路,其內(nèi)部結(jié)構(gòu)由大量的可配置邏輯塊和互連線組成。FPGA可以通過編程來實(shí)現(xiàn)各種數(shù)字系統(tǒng)功能
    發(fā)表于 01-26 10:03

    IIC總線的FPGA實(shí)現(xiàn)說明

    DE2_TV,有關(guān)于寄存器的配置的部分,采用的方法是通過IIC的功能,這里對(duì)IIC總線的FPGA實(shí)現(xiàn)做個(gè)說明。
    的頭像 發(fā)表于 01-05 10:16 ?1074次閱讀
    IIC總線的<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>說明