今天走在街上,听到了久违的《光辉岁月》,想起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. contos LAMP环境搭建

    LINUX搭建LAMP笔记 .YUM:Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于R ...

  2. secureCRT7.3.4的破解与安装

    1-9为 SecureCRT 7.3.4 安装图解:10-13是 SecureCRT 7.3.4 破解图解,心急的朋友可以直接向下拉. 以下是百度百科对 SecureCRT 的介绍: SecureCR ...

  3. 运行【guns】spring boot 的四种方式

    IDE 运行 运行带有main方法类 用mvn运行Spring-boot项目 在父项目中运行 mvn clean mvn install 在主项目中运行 mvn spring-boot:run 用JA ...

  4. MSSQL复制表操作

    1:复制表结构及数据到新表 select * into 目的数据库名.dbo.目的表名 from 原表名 select * into my0735home.dbo.infoMianTest from ...

  5. pandas 选取数据 修改数据 loc iloc []

    pandas选取数据可以通过 loc iloc  [] 来选取 使用loc选取某几列: user_fans_df = sample_data.loc[:,['uid','fans_count']] 使 ...

  6. 《JavaScript高级程序设计》第7章 函数表达式

    定义函数的方式有两种:函数声明和函数表达式 // 函数声明 function function_name(argument) { // body... } // 函数表达式 var function_ ...

  7. Selenium with Python 007 - Cookie处理

    Webdriver 读取.添加.删除cookie信息基本用法 获得Cookie信息:driver.get_cookies() 添加Cookie信息:driver.add_cookie(cookie_d ...

  8. poj3311 状压dp+floyd

    先floyd预处理一遍dis,枚举所有状态,dp[ i ] [ j ]表示 以  j  为终点的状态 i 使用最小的时间 #include<map> #include<set> ...

  9. 完全卸载gitlab

    完全卸载删除gitlab 2017年5月29日 wuhao 暂无评论 4,089次浏览   完全卸载删除gitlab 1.停止gitlab   1 gitlab-ctl stop 2.卸载gitlab ...

  10. [转载]java在线比较两个word文件

    一.项目背景 开发文档管理系统或OA办公系统的时候,实现在线处理word文档的功能比较容易,但是也经常会有客户提出文档版本管理的需求,这就需要同时在线打开两个word文件,对比两个不同版本的word文 ...