0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA中实现对数运算的方法

FPGA设计论坛 来源:FPGA设计论坛 作者:FPGA设计论坛 2022-07-06 14:52 次阅读

FPGA中实现对数运算主要有三种方法:

(1)在外部直接算好对数值,按照数值范围做个表,存在ram里,到时候查表。为了减少表深度,提高资源利用率,可以考虑去掉部分低位数值,损失一定的精度。

(2)使用cordic算法求解对数。

(3)log10(x)=ln(x) * log10(e) , log10(e)是常数可以手动先计算好,用IP Core的话多个乘法器。

下面介绍使用IP核floating-point来计算对数,该IP计算对数时,计算的是Ln(A)(A是输入),如下图所示:

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

输入是浮点数,所以如果我们在FPGA内使用的定点数,则需要先将定点数转化为浮点数:

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

实现对数运算时,可以使用DSP核心,也可以不用,IP配置中提供了三个等级:

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

对于Flow Control可以选择带缓存的Blocking模式,也可以选择没有缓存的NonBlocking模式,延时也可以选择从0到23:

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

上面也提到,计算LOG的输入是浮点数,如果需要,可以继续使用floating-point来实现定点数转浮点数,对于转换IP的输入可以自主设定如下图所示,这里设为int16+fra16,输出为单精度浮点数,可以直接给计算LOG的IP核:

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

我们要计算以任意数为底的对数时,可以通过来计算,由此完成一次计算,需要两个定点转浮点的IP(fixtofloat),两个LOG的IP(log不使用DSP),以及一个除法IP(divide),最后再将浮点数转为定点数输出,综合实现后的资源占用情况为:

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

一次简单的RTL仿真为:

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

原文标题:FPGA中实现对数运算

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    553

    文章

    7987

    浏览量

    348781
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    603037
  • 乘法器
    +关注

    关注

    8

    文章

    205

    浏览量

    37045

原文标题:FPGA中实现对数运算

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA的浮点四则运算是什么

    由于定点的四则运算比较简单,如加减法只要注意符号扩展,小数点对齐等问题即可。在本文中,运用在前一节描述的自定义浮点格式FPGA数的表示方法
    的头像 发表于 11-16 12:51 230次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>中</b>的浮点四则<b class='flag-5'>运算</b>是什么

    FPGA浮点四则运算实现过程

    由于定点的四则运算比较简单,如加减法只要注意符号扩展,小数点对齐等问题即可。在本文中,运用在前一节描述的自定义浮点格式FPGA数的表示方法
    的头像 发表于 11-16 11:19 399次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>中</b>浮点四则<b class='flag-5'>运算</b>的<b class='flag-5'>实现</b>过程

    FPGA门数的计算方法

    ,ESB/BRAM)和实现相同功能的标准门阵列比较,门阵列包含的门数即为该FPGA基本单元的等效门数,然后乘以基本单元的数目就可以得到FPGA门数估计值;二是分别用
    的头像 发表于 11-11 09:45 269次阅读
    <b class='flag-5'>FPGA</b>门数的计算<b class='flag-5'>方法</b>

    如何在FPGA实现按键消抖

    按键操作。因此,实现有效的按键消抖机制对于提高系统的稳定性和可靠性至关重要。以下是在FPGA实现按键消抖的详细步骤和策略,包括原理、方法
    的头像 发表于 08-19 18:15 1782次阅读

    如何在FPGA实现随机数发生器

    分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7实现4位伪随机数发生器(PRNGs)。
    的头像 发表于 08-06 11:20 665次阅读
    如何在<b class='flag-5'>FPGA</b><b class='flag-5'>中</b><b class='flag-5'>实现</b>随机数发生器

    FPGA在人工智能的应用有哪些?

    FPGA可以有效地处理深度学习的大规模并行运算,从而提高深度学习应用的效率。 定制化计算:FPGA的高度可编程性使其可以针对特定的应用场景和算法进行定制化的硬件设计。这意味着,如果
    发表于 07-29 17:05

    PLC的逻辑运算方式有哪些

    PLC(可编程逻辑控制器)的逻辑运算方式主要包括以下几种,这些逻辑运算在PLC编程扮演着至关重要的角色,用于实现各种复杂的控制逻辑。
    的头像 发表于 07-24 16:55 627次阅读

    如何在FPGA实现状态机

    FPGA(现场可编程门阵列)实现状态机是一种常见的做法,用于控制复杂的数字系统行为。状态机能够根据当前的输入和系统状态,决定下一步的动作和新的状态。这里,我们将详细探讨如何在FPGA
    的头像 发表于 07-18 15:57 571次阅读

    FPGA频率测量的方法有哪些?

    FPGA在实际应用,频率测量不可或缺,对于高频及低频信号的频率测量,FPGA有哪些方法呢?提供Verilog源码会更好。
    发表于 06-19 14:55

    FPGA设计经验之图像处理

    运算速度的瓶颈,数据搬运过程的功耗占的比重也不会小。FPGA则可以通过堆很多计算硬件的方法把要做的运算都展开,然后数据从中流过,完成一个阶
    发表于 06-12 16:26

    基于FPGA的实时边缘检测系统设计,Sobel图像边缘检测,FPGA图像处理

    运行时, FPGA 并行运算平台首先完成对摄像头的初始化和寄存器配置,配置完成之后读取实时的图像数据存入 SDRAM 存储器,在 FPGA 芯片内部并行
    发表于 05-24 07:45

    fpga语言是什么?fpga语言与c语言的区别

    功能,从而实现对数字电路的高效定制。FPGA语言主要包括VHDL(VHSIC Hardware Description Language)和Verilog等,这些语言具有强大的描述能力,能够精确地定义硬件的每一个细节,从而
    的头像 发表于 03-15 14:50 937次阅读

    STM32开发的位运算以及位带操作

    STM32开发的位运算以及位带操作  位运算是计算机中常用的一种操作方式,特别适用于对数据的单个或多个位进行操作。在STM32开发,位
    的头像 发表于 02-02 14:38 1615次阅读

    FPGA实现原理

    FPGA(Field-Programmable Gate Array,现场可编程门阵列)是一种特殊的集成电路,其内部结构由大量的可配置逻辑块和互连线组成。FPGA可以通过编程来实现各种数字系统功能
    发表于 01-26 10:03

    IIC总线的FPGA实现说明

    DE2_TV,有关于寄存器的配置的部分,采用的方法是通过IIC的功能,这里对IIC总线的FPGA实现做个说明。
    的头像 发表于 01-05 10:16 1054次阅读
    IIC总线的<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>说明