网上有人说。现在的FPGA,ARM功能已经强大到无需DSP协助处理了,未来DSP会不会消声灭迹?是DSP取代FPGA和ARM,还是ARM,FPGA取代DSP呢?担心好不容易学精了DSP,结果DSP变成了历史。

ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面;而DSP主要是用来计算的,主要用在算法方面,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度;FPGA可编程,灵活性强,并行处理能力非常强。由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。大部分情况下FPGA和DSP都是互补的,例如一个3G基站的基带板上可以看到很多颗DSP,同时也有1-2颗FPGA发挥逻辑功能。虽然目前FPGA采用最新的半导体生产工艺,性能提高了很多,也可以做一部分的DSP运算功能,看起来有些重叠,但高端FPGA还是比较贵,开发的时候总没有软件开发得快。开发人员成本也比较高。还有比如说我想通过算法实现一些特性,如果用arm的话,我还另需要一个加速器,跑起来也没有DSP速度快。 由此可见,ARM,DSP,FPGA有各自的应用场合。各有自己的优点。三者可以相互配合使用,比如说ARM+DSP,FPGA+DSP核可以实现更高的性能。

本人主要从事于FPGA方面的开发。特权同学有一篇博客写得非常好:FPGA工程师:持守梦想or屈于现实非常值得一看。看后感悟颇多。很少有公司花大价钱去请单纯的FPGA工程师。我也不满足于仅仅作为一名FPGA工程师而已。在工作实际项目中提升FPGA水平的同时。利用闲余时间学好另一门热门的技术。ARM or DSP?我一直在这两者之间徘徊。FPGA+DSP or FPGA+ARM?那种搭配更好?相信没有很好的答案。各有各自的优势。主要看应用场合。最终我选择DSP。有以下几点原因。

1:记得在大学那会,我们在大三下学期DSP,FPGA两门一起开的。精力有限选择了FPGA。当时也很想学DSP。现在算是弥补当时的遗憾吧。

2:对DSP算法更感兴趣。如果我能够在DSP上实现一些算法。这样你就会明白怎么用软件来实现算法。进而转化为硬件实现。软件能实现的硬件一定能实现。那么移植到FPGA上也不会有太大的问题。这样做很有意思。

3:以前在学校做过DSP入门实验。写过一些简单汇编。对DSP可能还有一定的认识。ARM我可能陌生一些。

4:我目前从事的工作主要是音视频方面。用DSP可能更具优势。

5:我认为一个电子系统核心部分在算法上而不是控制上。算法才是关键。

大家一起加油!

以上几点仅代表我个人的观点。如有不妥的地方还请大家指教。

FPGA+ARM or FPGA+DSP?的更多相关文章

  1. 【6集iCore3_ADP触摸屏驱动讲解视频】6-2 基于FSMC总线的ARM与FPGA通信

    视频简介: 该视频介绍基于FSMC总线的ARM与FPGA通信   源视频包下载地址: 链接:http://pan.baidu.com/s/1slJDoQD 密码:tmw7   银杏科技优酷视频发布区: ...

  2. 利用UltraScale和UltraScale+FPGA和MPSOC加速DSP设计生产力

    利用UltraScale和UltraScale+FPGA和MPSOC加速DSP设计生产力 Accelerating DSP Design Productivity with UltraScale an ...

  3. 使用Intel的FPGA电源设计FPGA 供电的常用反馈电阻阻值

    使用Intel的FPGA电源设计FPGA 供电的常用反馈电阻阻值. 当前仅总结使用EN5339芯片的方案 Vout = Ra*0.6/Rb + 0.6 芯片手册推荐Ra取348K,则 3.3V时,取R ...

  4. 认识 ARM、FPGA

    0. ARM ARM:Advanced RISC machine,微处理行业的一家知名企业.适用于多种领域,如嵌入控制,消费.教育类多媒体.DSP和移动式应用. 优势: 功耗低,不容易发热.死机: 3 ...

  5. 【iCore、iCore2、iBoard例程】【异步FIFO跨时钟域通信(通过ARM 读FPGA FIFO)】

    欢迎访问电子工程师学堂,以便了解更多内容:http://www.eeschool.org 一.本实验基于iCore2 完成,通过简单改动,即可用在 iCore 核心板.iBoard 电子学堂上. iC ...

  6. 【iCore4 双核心板_FPGA】例程十二:基于UART的ARM与FPGA通信实验

    实验现象: 1.先烧写ARM程序,然后烧写FPGA程序. 2.打开串口精灵,会接收到字符GINGKO. 3.通过串口精灵发送命令可以控制ARM·LED和FPGA·LED. 核心代码: int main ...

  7. 【iCore4 双核心板_FPGA】例程十三:基于SPI的ARM与FPGA通信实验

    实验现象: 1.先烧写ARM程序,然后烧写FPGA程序. 2.打开串口精灵,通过串口精灵给ARM发送数据从而给FPGA发送数据 ,会接收到字符HELLO. 3.通过串口精灵发送命令可以控制ARM·LE ...

  8. 【iCore4 双核心板_FPGA】例程十四:基于I2C的ARM与FPGA通信实验

    实验现象: 1.先烧写ARM程序,然后烧写FPGA程序. 2.打开串口精灵,通过串口精灵给ARM发送数据从而给FPGA发送数据 ,会接收到字符GINGKO. 3.通过串口精灵发送命令可以控制ARM·L ...

  9. ARM与FPGA通过spi通信设计2.spi master的实现

    这里主要放两个代码第一个是正常的不使用状态机的SPI主机代码:第二个是状态机SPI代码 1.不使用状态机:特权同学<深入浅出玩转FPGA>中DIY数码相框部分代码: /////////// ...

随机推荐

  1. [Luogu 3952] NOIP2017 时间复杂度

    [Luogu 3952] NOIP2017 时间复杂度 一年的时间说长不长,说短,也不短. 一年之内无数次觉得难得可怕的题目,原来也就模拟这么回事儿. #include <cstdio> ...

  2. Java并发编程原理与实战五:创建线程的多种方式

    一.继承Thread类 public class Demo1 extends Thread { public Demo1(String name) { super(name); } @Override ...

  3. jdk1.8.0_45源码解读——ArrayList的实现

    jdk1.8.0_45源码解读——ArrayList的实现 一.ArrayList概述 ArrayList是List接口的可变数组的实现.实现了所有可选列表操作,并允许包括 null 在内的所有元素. ...

  4. 用Grub4dos引导,硬盘安装ArchLinux

    本来在工作机上用winXP,最近想深入Linux开发,于是决定装个Linux.家里的archLinux + awesome用得很好, 于是决定在工作机上也装一套. 不想刻盘,也不想用U盘,通过Grub ...

  5. html向js传递id

    html获取id方法: <div id="thediv1" style="display:block" onclick="ceshi(this. ...

  6. MFC基于对话框风格按钮控件添加图片的方法(大神止步)

    菜鸟还在研究这个东西,大神就不要看了.一直都在觉得用VC或VS建立的对话框总是全灰色感觉太单调了,如果可以在上面添加一些漂亮的图片就好了,今天终于实现了.其实挺简单的,下面就分几个步骤讲一下: 第一步 ...

  7. Redmine数据表字段说明

    Redmine数据表结构 issues tracker_id 跟踪标签的id,外键到trakers表 project_id 外键到项目project subject 主题 description 问题 ...

  8. html5 构造网页的新方式

    从 html 诞生至今,我们构建 html 页面的使用 html 元素好像并没有太多的进步.在构建 html 页面中,用的最多的是 div 标签.但是应用 div 标签构建 html 页面有一个问题, ...

  9. tensorflow环境安装

    tensorflow环境安装1.安装虚拟机Virtrualbox下载地址:https://www.virtualbox.org/wiki/Downloads 2.下载安装Ubuntu镜像下载地址:ht ...

  10. 【算法】Base64编码

    1.说明 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法. 2.编码 ASCII码 -> 十六进制码 -> ...