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

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

3天内不再提示

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

OpenFPGA 来源:OpenFPGA 2023-06-19 09:06 次阅读

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)

...

不详细介绍了。。。






审核编辑:刘清

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

    关注

    553

    文章

    7987

    浏览量

    348759
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    603011
  • 数字信号处理器

    关注

    5

    文章

    462

    浏览量

    27339
  • Verilog语言
    +关注

    关注

    0

    文章

    113

    浏览量

    8224

原文标题:优秀的 Verilog/FPGA开源项目介绍(三十七)- MATH库

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    与PDM接口相关的开源项目

    优秀Verilog/FPGA开源项目介绍(三十四)- PDM音频接口设计及信号处理   绪论
    的头像 发表于 10-17 09:10 3148次阅读

    开源FPGA项目有哪些

    请问开源FPGA项目有哪些?
    发表于 12-26 12:09

    夏宇闻老师优秀verilog教程课件

    本资料是关于夏宇闻老师优秀verilog教程课件,其中包括verilog讲稿PPT、verilog课件、verilog例题等。
    发表于 09-27 15:00 473次下载
    夏宇闻老师<b class='flag-5'>优秀</b>的<b class='flag-5'>verilog</b>教程课件

    FPGA中如何使用Verilog处理图像

    FPGA项目旨在详细展示如何使用Verilog处理图像,从Verilog中读取输入位图图像(.bmp),处理并将处理结果写入Verilog
    的头像 发表于 09-23 15:50 6046次阅读

    优秀Verilog/FPGA开源项目介绍(一)

    优秀Verilog/FPGA开源项目介绍(一)-PCIe通信 今天开始会陆续
    的头像 发表于 10-11 15:31 9283次阅读
    <b class='flag-5'>优秀</b>的 <b class='flag-5'>Verilog</b>/<b class='flag-5'>FPGA</b><b class='flag-5'>开源</b><b class='flag-5'>项目</b><b class='flag-5'>介绍</b>(一)

    优秀Verilog/FPGA开源项目之 USB通信

    优秀Verilog/FPGA开源项目介绍(五)- USB通信 USB是我们生活中非常非常常见
    的头像 发表于 11-02 14:54 8770次阅读
    <b class='flag-5'>优秀</b>的 <b class='flag-5'>Verilog</b>/<b class='flag-5'>FPGA</b><b class='flag-5'>开源</b><b class='flag-5'>项目</b>之 USB通信

    Verilog/FPGA开源项目介绍

    优秀Verilog/FPGA开源项目介绍(七)- CAN0、CAN总线
    的头像 发表于 11-17 11:19 3070次阅读

    TTL FPGA开源项目

    电子发烧友网站提供《TTL FPGA开源项目.zip》资料免费下载
    发表于 07-28 10:18 3次下载
    TTL <b class='flag-5'>FPGA</b><b class='flag-5'>开源</b><b class='flag-5'>项目</b>

    OpenHarmony开源项目荣膺“2022东北亚优秀开源项目

    (以下简称“OpenHarmony”)开源项目凭借在开源领域所做出的突出贡献,荣膺“2022东北亚优秀开源
    的头像 发表于 12-09 18:34 2032次阅读
    OpenHarmony<b class='flag-5'>开源</b><b class='flag-5'>项目</b>荣膺“2022东北亚<b class='flag-5'>优秀</b><b class='flag-5'>开源</b><b class='flag-5'>项目</b>”

    OpenHarmony开源项目荣膺“2022东北亚优秀开源项目

    三国近年来在开源技术、开源产业发展中取得的成果,其中OpenAtom OpenHarmony(以下简称“OpenHarmony”)开源项目凭借在开源
    的头像 发表于 12-15 21:05 735次阅读

    优秀的IC/FPGA开源项目:伪红外图像处理

    优秀的IC/FPGA开源项目》是新开的系列,旨在介绍单一项目,会比《
    的头像 发表于 06-09 09:42 2222次阅读
    <b class='flag-5'>优秀</b>的IC/<b class='flag-5'>FPGA</b><b class='flag-5'>开源</b><b class='flag-5'>项目</b>:伪红外图像处理

    Mindstorms Math Alexa启用奖品卡车开源构建

    电子发烧友网站提供《Mindstorms Math Alexa启用奖品卡车开源构建.zip》资料免费下载
    发表于 07-06 09:14 0次下载
    Mindstorms <b class='flag-5'>Math</b> Alexa启用奖品卡车<b class='flag-5'>开源</b>构建

    介绍一个使用FPGA做的开源示波器

    其实用FPGA做的示波器有很多,开源的相对较少,我们今天就简单介绍一个使用FPGA做的开源示波器:
    发表于 08-14 09:03 1212次阅读

    python中如何引入math

    等。在本文中,将详细介绍如何引入math,并且讨论各种数学函数的应用。 为了引入math,我们可以使用以下代码: import
    的头像 发表于 11-22 11:03 4250次阅读

    关于FPGA开源项目介绍

    Hello,大家好,之前给大家分享了大约一百多个关于FPGA开源项目,涉及PCIe、网络、RISC-V、视频编码等等,这次给大家带来的是不枯燥的娱乐项目,主要偏向老的游戏内核使用
    的头像 发表于 01-10 10:54 1444次阅读
    关于<b class='flag-5'>FPGA</b>的<b class='flag-5'>开源</b><b class='flag-5'>项目</b><b class='flag-5'>介绍</b>