FPGA中实现对数运算的方法

fpga中实现对数运算主要有三种方法:
(1)在外部直接算好对数值,按照数值范围做个表,存在ram里,到时候查表。为了减少表深度,提高资源利用率,可以考虑去掉部分低位数值,损失一定的精度。
(2)使用cordic算法求解对数。
(3)log10(x)=ln(x) * log10(e) , log10(e)是常数可以手动先计算好,用ip core的话多个乘法器。
下面介绍使用ip核floating-point来计算对数,该ip计算对数时,计算的是ln(a)(a是输入),如下图所示:
输入是浮点数,所以如果我们在fpga内使用的定点数,则需要先将定点数转化为浮点数:
实现对数运算时,可以使用dsp核心,也可以不用,ip配置中提供了三个等级:
对于flow control可以选择带缓存的blocking模式,也可以选择没有缓存的nonblocking模式,延时也可以选择从0到23:
上面也提到,计算log的输入是浮点数,如果需要,可以继续使用floating-point来实现定点数转浮点数,对于转换ip的输入可以自主设定如下图所示,这里设为int16+fra16,输出为单精度浮点数,可以直接给计算log的ip核:
我们要计算以任意数为底的对数时,可以通过来计算,由此完成一次计算,需要两个定点转浮点的ip(fixtofloat),两个log的ip(log不使用dsp),以及一个除法ip(divide),最后再将浮点数转为定点数输出,综合实现后的资源占用情况为:
一次简单的rtl仿真为:
原文标题:fpga中实现对数运算
文章出处:【微信公众号:fpga设计论坛】欢迎添加关注!文章转载请注明出处。


轻触开关的基本构造、用途及工作原理
真空压力除泡系统助力IGBT封装发展
基于可编程片上系统解决方案实现数字式心电诊监测系统的设计
浪潮推出云熠5G云网融合一体机,六大特点高效释放产品价值
2023年半导体先进技术创新发展和机遇第一批公布
FPGA中实现对数运算的方法
浪潮存储:为高校教育信息化建设打造一站式解决方案
把手中的事情放一放,有大事宣布!
物联网技术如何改变农业的
AI Codec在应用落地方面的案例
接触器吸合后一相没有电是什么原因
2000kva变压器高压侧电缆的选择简介
根据VIPer17H设计无电解电容LED驱动器策略
2025年预测:VR/AR行业的营收将达到7000亿美元
IP RAN:构筑LTE网络发展基石
为什么感觉深度学习越学越懵?
AutoML正在民主化和改进人工智能
电视监控系统控制电路设计
Vulkan发布SCALE IGBT和MOSFET驱动器 支持AN自由混交
中国联通认为5G时代数字化室内网络产品部署要形成差异化部署