今天走在街上,听到了久违的《光辉岁月》,想起6月30号那天,街边所有的餐厅、小店都在播放beyond的经典之作,那天是香港殿堂级乐队beyond乐队主唱兼吉他手黄家驹先生的忌日。黄家驹先生已经离开我们20多年了。虽然今天的纪念晚了一点,但我们还是花点时间纪念这位音乐天才。

当年第一次华山论剑,王重阳以高超的武学修为夺得武功天下第一的美誉。如今遥想当年的beyond乐队,在华语乐坛,我想很少有乐队能与之匹敌,至少,beyond经典之作现在都还在激励这很多年轻人。至少有非常之多的年轻人拿起吉他是因为beyond。



将视线转回眼下,如今,ASIC、SCM、ARM、FPGA、DSP各大高手并存的岁月里,论剑比试高下,估计从不同的侧面也难解难分。

要将FPGA与SCM(单片机)进行论剑,我想除了成本之外,其他方面我想根本无法和FPGA抗衡。

FPGA并行的结构使他的速度非常快,同时执行多种任务功能,而单片机串行结构使得想要实现的功能只能一个一个的实现,速度可想而知,会慢下来。

单片机一直所被津津乐道的串行结构,实现串行总线通信,比如SPI、IIC,如今FPGA使用状态机可以完美实现,如果比较复杂,可以搭建相应的控制器来实现。高端应用中,甚至可以使用NIOS这种强大的软核CPU来实现。

做了多年的FPGA,回头望望,看看单片机,做单片机开发,必须得懂汇编,这样写的代码效率才高,写一段C代码,要求比较高的情况下,还要计算代码执行效率,代码写的不好,时效性就会差。而FPGA,不需要考虑代码效率,本身FPGA的开发不存在代码,而是用组合逻辑和时序逻辑搭建电路工作。电路是根据时钟工作的,每个时钟周期做什么都很清楚。

单片机计时一般用定时器,要想实现多种计时,就得用定时器做文章,而且定时不是非常精确。而用FPGA实现,只要搭建几个计数器就可以实现不同的定时,只要时钟稳定,定时就非常精确。

单片机的中断也是经常容易出问题的,多种中断共存的情况下,虽然有优先级,但也容易丢失某些需要中断执行的信号,造成数据丢失。而FPGA不存在中断,所有的信号都可以得到并行的执行,不会出现丢失数据的情况。

单片机片上以及片外内存有限,尤其是使用指针的时候,容易造成内存泄漏,这是很危险的,这样会造成程序运行出错。而FPGA虽然片上RAM有限,内部资源有限,但不存在内存泄漏问题。

单片机IO口很少,而且速度低,FPGA IO口丰富,速度高。其他方面就不做一一比较。很明显,单片机无论内功还是外功,都不是FPGA的对手。真正在华山论剑,也只有失败而回。


版权所有权归卿萃科技,转载请注明出处

作者:卿萃科技ALIFPGA

原文地址:卿萃科技FPGA极客空间 微信公众号


扫描二维码关注卿萃科技FPGA极客空间


FPGA论剑的更多相关文章

  1. FPGA论剑(续)

    25年之后,第二次华山论剑之时,天下第一的王重阳已然仙逝,郭靖少年英杰刚过二十岁,接东邪黄药师.北丐洪七公300招不败,二人默认郭靖天下第一.南帝段智兴因为出家,法号“一灯”,早已看破名利,故没有参加 ...

  2. FPGA与simulink联合实时环路系列——实验三 按键key

    实验三 按键key 实验内容 在FPGA的实验中,经常涉及到按键的使用,按键是必不可少的人机交互的器件之一,在这些实验中,有时将按键的键值读取显示到数码管.LCD或者是通过串口传送到PC的串口助手上进 ...

  3. FPGA与simulink联合实时环路系列——实验二LED

    实验二LED 实验内容 在实验一的基础上,将simulink产生的测试信号输出到FPGA开发板上的LED灯进行显示,这里要在生成的硬件模型上进行修改,将传送到FPGA的信号输出到8个LED灯上,并且对 ...

  4. FPGA优化之高扇出

    Fanout即扇出,模块直接调用的下级模块的个数,如果这个数值过大的话,在FPGA直接表现为net delay较大,不利于时序收敛.因此,在写代码时应尽量避免高扇出的情况.但是,在某些特殊情况下,受到 ...

  5. 关于 FPGA 内部信号扇入扇出

    扇入.扇出系数 扇入系数是指门电路允许的输入端数目.一般门电路的扇入系数为1—5,最多不超过8.扇出系数是指一个门的输出端所驱动同类型门的个数,或称负载能力.一般门电路的扇出系数为8,驱动器的扇出系数 ...

  6. FPGA Timing笔记

    很多FPGA工程师都会遇到timing的问题,如何让FPGA跑到更快的处理频率是永久话题.决定FPGA的timing关键是什么?如何才能跑到更快的频率呢? A. 第一步需要了解FPGA的timing路 ...

  7. FPGA的引脚VCCINT 、VCCIO VCCA

    首先是看到FPGA在配置的时候有三种不同的电VCCINT .VCCIO VCCA,于是就查了下有什么不同: FPGA一般会有许多引脚,那它们都有什么用呢? VCCINT为施加于 FPGA 内核逻辑的电 ...

  8. FPGA与simulink联合实时环路系列——实验一 测试

    实验一 测试 实验内容 在simulink创建测试模块,通过测试模块产生信号,再传送到FPGA,FPGA读出后再将信号无处理传送回simulink进行显示.由此来测试整个硬件在环的功能是否正常,并且熟 ...

  9. FPGA与simulink联合实时环路系列—开篇

    FPGA与simulink联合实时环路系列—开篇 作为网络上第一个开源此技术,笔者迫不及待地想将此技术分享出来,希望大家多多支持.笔者从2011年接触FPGA以来,从各个方面使用FPGA,无论是控制. ...

随机推荐

  1. php异常处理笔记

    <?php header("Content-type:text/html;charset=utf-8"); // try // { // //业务处理 错误时抛出异常. // ...

  2. MapReduce job在JobTracker初始化源码级分析

    mapreduce job提交流程源码级分析(三)中已经说明用户最终调用JobTracker.submitJob方法来向JobTracker提交作业.而这个方法的核心提交方法是JobTracker.a ...

  3. Aizu 2677 Breadth-First Search by Foxpower LCA+bfs

    A - Breadth-First Search by Foxpower Problem Statement Fox Ciel went to JAG Kingdom by bicycle, but ...

  4. 理解Java中字符流与字节流的区别(转)

    1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序 ...

  5. SQL优化器执行过程之逻辑算子

    我们提到了两种SQL优化器,分别是RBO和CBO.那么无论是RBO,还是CBO都包含了一系列优化规则,这些优化规则可以对关系表达式进行等价转换,从而寻找最优的执行计划. 那么常见的优化规则就包括: 列 ...

  6. 编写程序时候莫名出现<property name="dialect">org.hibernate.dialect.FirebirdDialect</property>

    把<propertyname="dialect">org.hibernate.dialect.FirebirdDialect</property> 语句去掉 ...

  7. <<Hadoop基础教程》之初识Hadoop【转】

    Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程> ...

  8. shell基础复习笔记

    变量的设置 以等号连接,等号两边不能有空格 变量名首个字符必须是英文,可以使用下划线,不能使用标点符号,不能使用bash里的关键字 可以使用转义字符\将特殊符号(如Enter.$.空格.!等)变成一般 ...

  9. elasticsearch负载均衡节点——客户端节点 node.master: false node.data: false 其他配置和master 数据节点一样

    elasticSearch的配置文件中有2个参数:node.master和node.data.这两个参 数搭配使用时,能够帮助提供服务器性能. 数据节点node.master: false node. ...

  10. jQuery 图片自动播放

    var imgArray = new Array("images/1.jpg", "images/2.jpg","images/3.jpg" ...