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

news2024/10/7 10:13:30

dc29aaa677c562aadb76737c4e79a021.jpeg

DSP介绍

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

Fixed Point Math Library for Verilog

https://opencores.org/projects/verilog_fixed_point_math_library

https://opencores.org/projects/fixed_point_arithmetic_parameterized

介绍

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),但可以自定义。

qadd my_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 core

https://opencores.org/projects/cordic

4dc28ff12591826723fd401c629782d7.png

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)

...

不详细介绍了。。。

math of gplgpu

https://github.com/asicguy/gplgpu/tree/35a79805f5eb4c9da4d5928c2941ed09ca29fa47/hdl/math

ec80cf70479a082b53652d973a217337.png

2D/3D 图形引擎中应用的数学库,里面的函数比OpenCores上更全面。

图书

https://github.com/suisuisi/FPGATechnologyGroup/tree/main/DSP

be4fc8fa9471ef6e415e10c02cf072a9.png

最后,在数字信号处理方面有很多经典图书可以借鉴,里面再数学运算方面有很多经典算法讲解,所以对于一些不好理解的运算算法,大家可以参考上面的图书。

总结

最后还有一个和数学运算息息相关的DSP《优秀的 Verilog/FPGA开源项目介绍(二十八)- DSP(Digital Signal Processing)》。

最后,还是感谢各个大佬开源的项目,让我们受益匪浅。后面有什么感兴趣方面的项目,大家可以在后台留言或者加微信留言,今天就到这,我是爆肝的碎碎思,期待下期文章与你相见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/665690.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023 linux驱动中probe函数的返回值,返回0成功。返回负数则失败,这个时候驱动向系统申请的有关资源都会被释放,如中断号,申请的内存等。实际测试。

一、在linux 驱动里面申请一个gpip&#xff0c;&#xff0c;gpip2b4 变换是 76 &#xff0c;dts 如下&#xff1a; m117b45 {compatible "xxx,m117b";reg <0x45>;pinctrl-names "default";pinctrl-0 <&m117b_gpio>;pwdn-gpios <&a…

数据库数据更新:从内存到磁盘,一步步揭开数据的神秘面纱!

大家好&#xff0c;我是小米&#xff01;今天我要和大家分享一下数据库数据更新的流程。作为一名热衷于技术分享的小伙伴&#xff0c;我希望通过本篇文章&#xff0c;帮助大家更好地理解数据库数据更新的过程。废话不多说&#xff0c;让我们开始吧&#xff01; 获取数据 在数据…

PM3328BP-6电源模块PIONEER MAGNETICS

PM3328BP-6电源模块PIONEER MAGNETICS PM3328BP-6电源模块PIONEER MAGNETICS DCS中的先进控制技术 DCS在控制上的最大特点是依靠各种控制、运算模块的灵活组态&#xff0c;可实现多样化的控制策略以满足不同情况下的需要&#xff0c;使得在单元组合仪表实现起来相当繁琐与复杂…

基于GO实现的简易博客,附源码

1、简介 此博客系统主要是基于GO、Gin、Gorm进行开发&#xff0c;以及采用lay-ui框架进行前端界面的开发&#xff0c;项目包含功能众多&#xff0c;基本上涵盖了博客系统的大部分需求。 此项目适合开发者练手学习&#xff0c;同时也适合高校毕业设计的作品。 以下对作品进行…

#经验分享#消防电源强切故障

工业园火灾报警控制器显示&#xff0c;13#厂房电源强切报故障&#xff0c;经过紧急处理&#xff0c;成功解决了故障问题。 据了解&#xff0c;故障原因是71#强切模块被修复大门时损坏模块破碎无法进行修复&#xff0c; 只留有接线底座&#xff0c;测试并检查底座线路正常。 坏…

如何查看jar包的官网地址

https://mvnrepository.com/ 使用artifactId搜索 点击要查看的版本 查看HomePage LicenseApache 2.0CategoriesJSON LibrariesTagsformatjsonOrganizationAlibaba GroupHomePageGitHub - alibaba/fastjson2: &#x1f684; FASTJSON2 is a Java JSON library with excellent…

Citespace和vosviewer文献计量学可视化SCI论文高效写作方法

【基于Citespace和vosviewer文献计量学相关论文 】 文献计量学是指用数学和统计学的方法&#xff0c;定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体&#xff0c;注重量化的综合性知识体系。特别是&#xff0c;信息可视化技术手段和方法的运用&#xff…

tp6+企业付款到零钱

一 开通条件&#xff0c;就是首先要在微信平台设置好。 以下微信文档里有的&#xff0c;我这里大概掠几项比较重要的。 付款资金 企业付款到零钱资金使用商户号余额资金。 根据商户号的账户开通情况&#xff0c;实际出款账户有做区别&#xff1a; ◆ 默认情况下&#xff0c…

四、kafka集群与可靠性

Kafka集群的目标 1、高并发 2、高可用&#xff08;防数据丢失&#xff09; 3、动态伸缩 Kafka集群规模如何预估 吞吐量&#xff1a; 集群可以提高处理请求的能力。单个Broker的性能不足&#xff0c;可以通过扩展broker来解决。 磁盘空间&#xff1a; 比如&#xff0c;如…

C# 生成XML文档中如何去掉 xmlns=““

如果在XML 文档的指定了默认的命名空间&#xff0c;那么产生的文档中将会出现xmlns“”。 如何去掉这个烦人的xmlns“”? 网络上似乎都没有讲明白。有人提示: 当我们在AppendChild的时候&#xff0c;如果ParentNode是带有xmlns属性的&#xff0c;而你新加的节点&#xff0c;在…

SpringBoot 高校实验室资产管理系统-计算机毕设 附源码85189

SpringBoot高校实验室资产管理系统 摘 要 随着计算机技术的发展&#xff0c;特别是计算机网络技术与数据库技术的发展&#xff0c;使人们的生活与工作方式发生了很大的改观。本课题研究的高校实验室资产管理系统&#xff0c;主要功能模块包括后台首页&#xff0c;轮播图&#…

WindowManager中Surface申请流程

WindowManager中Surface申请流程 1、SurfaceFlinger 和 WindowManager2、WindowManager中Surface申请流程2.1 WMS侧添加界面时scheduleTraversals()2.2 Window更新过程时scheduleTraversals()2.3 Surface初始化申请2.4 简易时序图 3、对应画布Layer创建3.1 简易时序图 android1…

【Vue3 页面美化】常用组件库推荐

Vue 作为一款深受广大群众喜欢的前端框架&#xff0c;拥有众多优秀的开源 UI 组件库&#xff0c;这里整理了一下供大家参考。 这几套框架主要用于后台管理系统和移动端的制作&#xff0c;方便开发者快速开发。 一、PC 端 UI 库 1.1 Element Plus 官网地址&#xff1a;https…

基于阿里云免费算力自建LLM(类GPT)大模型

这会是一个关于 ChatGPT 的系列文章&#xff0c;主要记录老胡日常使用 ChatGPT 的思考和一些有趣的开源项目&#xff0c;然后这些信息我都会汇总到一个 ChatGPT 信息群(免费&#xff0c;目的是为了交流)&#xff0c;有兴趣的朋友可以联系我进群 &#x1f973;。 目前开源的 LLM…

sql总理论加实践

一、基础查询 DQL语法 SELECT 字段列表 1.设置别名 SELECT 字段1[别名],字段二[别名]......FROM 表名 WHERE 条件列表; 2.查询多个字段 SELECT 字段1,字段2,字段3......FROM 表名; SELECT * FROM 表名; 3.去除重复记录 DISTANT FROM 表明列表 WHERE 条件列表(条件…

Stable Diffusion: 利用Latent Diffusion Models实现高分辨率图像合成

原文链接&#xff1a; Stable Diffusion: 利用Latent Diffusion Models实现高分辨率图像合成 High-Resolution Image Synthesis with Latent Diffusion Models 01 The shortcomings of the existing works?02 What problem is addressed?03 What are the keys to the solutio…

RESTful API 中的 HTTP 方法有哪些?

RESTful API 中的 HTTP 方法有哪些&#xff1f; RESTful API 是一种基于 HTTP 协议的 API 设计风格&#xff0c;它使用 HTTP 协议中的方法来定义对资源的操作。在 RESTful API 中&#xff0c;HTTP 方法主要用于表示对资源的操作&#xff0c;例如获取、创建、更新和删除资源。本…

持 PMP®证书增持 CSPM-2证书,怎么弄?

2023年起&#xff0c;持有PMP证书的朋友可以直接增持一个同等级证书CSPM-2&#xff0c;不用重新考试&#xff0c;不用重新学习&#xff0c;原PMP证书不影响正常使用&#xff0c;相当于多了一个国标项目管理领域的证书。 第一步准备资料 1、填写能力评价表(简历和业绩不用填&am…

自毁便签:MaiFile Privnote

自毁便签&#xff1a;MaiFile Privnote为您提供安全可靠的信息传递 在当今数字化时代&#xff0c;隐私保护成为了人们关注的焦点。MaiFile Privnote作为一种创新的在线服务&#xff0c;为用户提供了一种安全、便捷的方式来发送私密信息&#xff0c;确保信息在传递后能够自动销…

SSM校园二手交易微信小程序-计算机毕设 附源码87210

SSM校园二手交易微信小程序 目 录 1 绪论 1.1 研究背景 1.2国内外研究现状 1.3论文结构与章节安排 2 校园二手交易微信小程序系统分析 2.1 可行性分析 2.1.1技术可行性分析 2.1.2经济可行性分析 2.1.3操作可行性分析 2.1.4需求分析 2.2 系统流程分析 2.2.1 数据流程…