FPGA论剑

今天走在街上,听到了久违的《光辉岁月》,想起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论剑的更多相关文章
- FPGA论剑(续)
25年之后,第二次华山论剑之时,天下第一的王重阳已然仙逝,郭靖少年英杰刚过二十岁,接东邪黄药师.北丐洪七公300招不败,二人默认郭靖天下第一.南帝段智兴因为出家,法号“一灯”,早已看破名利,故没有参加 ...
- FPGA与simulink联合实时环路系列——实验三 按键key
实验三 按键key 实验内容 在FPGA的实验中,经常涉及到按键的使用,按键是必不可少的人机交互的器件之一,在这些实验中,有时将按键的键值读取显示到数码管.LCD或者是通过串口传送到PC的串口助手上进 ...
- FPGA与simulink联合实时环路系列——实验二LED
实验二LED 实验内容 在实验一的基础上,将simulink产生的测试信号输出到FPGA开发板上的LED灯进行显示,这里要在生成的硬件模型上进行修改,将传送到FPGA的信号输出到8个LED灯上,并且对 ...
- FPGA优化之高扇出
Fanout即扇出,模块直接调用的下级模块的个数,如果这个数值过大的话,在FPGA直接表现为net delay较大,不利于时序收敛.因此,在写代码时应尽量避免高扇出的情况.但是,在某些特殊情况下,受到 ...
- 关于 FPGA 内部信号扇入扇出
扇入.扇出系数 扇入系数是指门电路允许的输入端数目.一般门电路的扇入系数为1—5,最多不超过8.扇出系数是指一个门的输出端所驱动同类型门的个数,或称负载能力.一般门电路的扇出系数为8,驱动器的扇出系数 ...
- FPGA Timing笔记
很多FPGA工程师都会遇到timing的问题,如何让FPGA跑到更快的处理频率是永久话题.决定FPGA的timing关键是什么?如何才能跑到更快的频率呢? A. 第一步需要了解FPGA的timing路 ...
- FPGA的引脚VCCINT 、VCCIO VCCA
首先是看到FPGA在配置的时候有三种不同的电VCCINT .VCCIO VCCA,于是就查了下有什么不同: FPGA一般会有许多引脚,那它们都有什么用呢? VCCINT为施加于 FPGA 内核逻辑的电 ...
- FPGA与simulink联合实时环路系列——实验一 测试
实验一 测试 实验内容 在simulink创建测试模块,通过测试模块产生信号,再传送到FPGA,FPGA读出后再将信号无处理传送回simulink进行显示.由此来测试整个硬件在环的功能是否正常,并且熟 ...
- FPGA与simulink联合实时环路系列—开篇
FPGA与simulink联合实时环路系列—开篇 作为网络上第一个开源此技术,笔者迫不及待地想将此技术分享出来,希望大家多多支持.笔者从2011年接触FPGA以来,从各个方面使用FPGA,无论是控制. ...
随机推荐
- Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists).
Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists). Git fet ...
- SubSets,SubSets2, 求数组所有子集
问题描述: Given a set of distinct integers, nums, return all possible subsets. Note: The solution set mu ...
- javascript onclick 函数不执行
今天被这个问题搞伤了. 原本是要给table中的元素添加onclick事件处理函数,刚开始还可以,后来就不行了,百试不得其解,反复检查,程序也没问题,耗了一个多小时,偏偏我就不信电脑会扯拐,就要看看还 ...
- BZOJ 3931 [CQOI2015]网络吞吐量:最大流【拆点】
传送门 题意 给你一个 $ n $ 个点,$ m $ 条边的无向网络,每条边有长度.每个点的流量限制为 $ c[i] $ . 要求流量只能经过从 $ 1 $ 的 $ n $ 的最短路.问你最大流是多少 ...
- js 深拷贝和浅拷贝理解
作者:进击的袋鼠链接:https://www.zhihu.com/question/23031215/answer/124017500来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...
- python time 和 datetime 模块的简介
时间处理 time 和 datetime import timeimport datetimeprint time.time() #时间戳显示为1508228106.49print time.strf ...
- H5手机端按钮点击一次却触发了多次点击事件
方案:在点击事件方法中加入以下语句 event.stopPropagation();
- [eShopOnContainers 学习系列] - Index - 开篇索引
[资料] 学习资料来源于 eShopOnContainers wiki 以及 微软官方微服务架构指南 [eShopOnContainers 学习系列] - 00 - 开发环境需求 [eShopOnCo ...
- Android 中的BroadCastReceiver
BroadCastReceiver 简介 (末尾有源码) BroadCastReceiver 源码位于: framework/base/core/java/android.content.Broadc ...
- R语言-数据类型与运算符
一.在线安装包 install.packages(package_name) 二.查看变量 ls() 三.删除变量 rm() 四.变量类型 元数据类型:字符,整形,数字,虚数,BOOL 向量:vec= ...