全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 可编程逻辑 >

优秀的Verilog/FPGA开源项目-MATH库介绍

时间:2023-06-19 09:06

人气:

作者:admin

标签: dsp  FPGA 

导读:数字信号处理( Digital Signal Processing)技术广泛地应用于通信与信息系统、信号与信息处理、自动控制、 雷达、军事、航空航天、医疗、家用电器等许多领域。...

DSP介绍

数字信号处理( Digital Signal Processing)技术广泛地应用于通信与信息系统、信号与信息处理、自动控制、 雷达、军事、航空航天、医疗、家用电器等许多领域。DSP 技术可以快速地对采集的信号进行量化、变换、滤波、估值 、增强、压缩、识别等处理,以得到符合需要的信号形式。而用FPGA进行数字信号处理的核心就是数学运算,今天介绍几个和FPGA进行数学运算的相关开源项目。

介绍

Verilog定点数学库

该库包括Verilog的基本数学函数,用于FPGA上的实现(Xilinx FPGA仿真和综合)。

这些数学例程使用带符号的数字N(Q)格式,其中N是总位数,Q是所使用的小数位数。例如,

15、32将表示具有15个小数位数、16个整数位数数,以及1个符号位,如下所示:

|1|||
|S|IIIIIIIIIIIIIIII|FFFFFFFFFFFFFFF|

此库包含以下模块:

qadd.v——加法模块;将任意的2个有符号数字相加。

qdiv.v-除法模块;

qmult.v——乘法模块;纯组合电路实现

qmults.v——乘法模块;时序电路实现

Test_add.v-qadd.v模块的测试模块

Test_mult.v-qmult.v模块的测试模块

TestDiv.v-qdiv.v模块的测试模块

TestMultS.v-qmults.v模块的测试模块

这些数学计算默认为(15,32)的(Q,N),但可以自定义。

qaddmy_adder(
.a(addend_a),
.b(addend_b),
.c(result)
);

自定义N(Q):

qadd#(8,23)my_adder(
.a(addend_a),
.b(addend_b),
.c(result)
);

CORDIC

CORDIC算法是一种迭代算法,用于计算数学函数,如三角函数、双曲函数和平面旋转。

介绍

顾名思义,CORDIC算法是为旋转坐标而开发的,这是20世纪50年代用于实时导航计算的硬件。CORDIC使用类似序列的逐次逼近来获得其结果。优点就是它只通过加法/减法和移位来实现运算这一点。假设我们想将一个点(X,Y)旋转一个角度(Z)。新点(Xnew,Ynew)的坐标为:

Xnew=Xcos(Z)-Ysin(Z)Ynew=Ycos(Z)+Xsin

或者:

Xnew/cos(Z)=X-Y*tan(Z)Ynew/cos

可以将角度分成小块,这样这些小块的切线总是2的幂。导出以下方程式:

X(n+1) = P(n) * ( X(n) - Y(n) / 2^n) Y(n+1) = P(n) * ( Y(n) + X(n) / 2^n) Z(n) = atan(1/2^n)

...

不详细介绍了。。。






审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信