FPGA中实现对数运算「建议收藏」

FPGA中实现对数运算「建议收藏」FPGA中实现对数运算主要有三种方法:(1)在外部直接算好对数值,按照数值范围做个表,存在ram里,到时候查表。为了减少表深度,提高资源利用率,可以考虑去掉部分低位数值,损失一定的精度。(2)使用cordic算法求解对数。(3)log10(x)=ln(x)*log10(e),log10(e)是常数可以手动先计算好,用IPCore的话多个乘法器。下面介绍使用IP核fl…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

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

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

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

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

 

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

 

FPGA中实现对数运算「建议收藏」

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

 

FPGA中实现对数运算「建议收藏」

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

 

FPGA中实现对数运算「建议收藏」

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

 

FPGA中实现对数运算「建议收藏」

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

 

FPGA中实现对数运算「建议收藏」

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

 

FPGA中实现对数运算「建议收藏」

一次简单的RTL仿真为:

 

FPGA中实现对数运算「建议收藏」

 

 

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223449.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月28日 上午8:43
下一篇 2025年6月28日 上午9:15


相关推荐

  • 第六章 个人优化vim第三步 :主题colorscheme

    第六章 个人优化vim第三步 :主题colorscheme主题就是别人设计好的配色风格 主题本身是跨平台的 并非 linux 下 vim 专用 visualstudio xcode 等开发工具均可选用 类似于游戏中的皮肤 nbsp 打开一个 Vim 窗口 输入命令 color 或 colorscheme 后回车查看当前的颜色主题 nbsp 可以看到当前的颜色主题为 default vim 自带了许多主题 我们怎么知道有哪些主题 又放在哪里呢 echo VIM

    2026年3月17日
    2
  • 内积空间

    内积空间目录一 线性空间二 度量空间三 赋范线性空间四 内积空间五 一个例子 RnR nRn 首先 介绍线性空间和度量空间 分别具有代数结构和拓扑结构 其次 介绍兼有两种结构的赋范线性空间 然后 介绍内积空间 作为赋范线性空间的特例 最后 给出一个例子 Rn smallR nRn 一 线性空间 什么是空间 Inmathematic aspaceisaset sometimes

    2026年3月26日
    2
  • Pycharm 中 virtualenv、pipenv、conda 虚拟环境的用法

    Pycharm 中 virtualenv、pipenv、conda 虚拟环境的用法在网上找了好一些资料 发现介绍 Python 虚拟环境的不多 而介绍 Pycharm 虚拟环境的就更少了 本文主要是介绍 Pycharm 中的虚拟环境 而非 Python 中的命令式虚拟环境 前言虚拟环境的通俗介绍虚拟环境和非虚拟环境该怎么选 通过 Virtualenv 方式创建虚拟环境通过 Pipenv 方式创建虚拟环境通过 Conda 方式创建虚拟环境 requirements txt 的用法 Pipfile 文件的用法

    2026年3月27日
    2
  • Unicode编码详解(一):Unicode简介及其分类

    Unicode编码详解(一):Unicode简介及其分类Unicode 编码详解 一 Unicode 简介及其分类若觉得本文写得还可以 请多多关注本人所作书籍 C 语法详解 电子工业出版社出版 网盘地址 https pan baidu com s 1dIxLMN5b91z 本文为原创文章 转载请注明出处 或注明转载自 黄邦勇帅 原名 黄勇 一 基本知识 1 UnicodeUnico 又称为统一码 万国码 单一码 是国际组织制定的旨在容纳全球所有字符的编码方案 包括字符集 编码方案等 它为每种语言中的每个字符设定了统一且唯一的二

    2026年3月18日
    2
  • vue 基于 exceljs 导出 excel实战示例

    vue 基于 exceljs 导出 excel实战示例背景在做一个小东西 需要导出 excel 之前导出 excel 的方式都是在服务器端 生成 excel 然后在浏览器端进行下载 这次想进行在前端进行导出 基于这个需求在网上找了一些工具 这里会做一些对比工具对比名称优点缺点活跃度 js xlsx 支持 nodejs 服务端和兼容大多数浏览器导出 读写支持完美社区版本不支持样式定制 15867exceljs 支持 nodejs 服

    2026年3月18日
    2
  • 编程之美初赛第一场 树[通俗易懂]

    编程之美初赛第一场 树

    2022年2月2日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号