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,无论是控制. ...
随机推荐
- linux的一些操作
在终端输入cat /etc/issue 查看ubuntu的半磅不知道ubuntu特权用户root的密码时:Ubuntu在默认情况下是不启用root用户的,所以这对于一下对于linux命令不熟悉的用户在 ...
- Java反射深入浅出
在JVM中对一个类实例的创建,有两种方式,一种是编译时,一种是运行时.两种方式在开发过程中都是十分重要的.在Java中无时无刻无处不在的Java对象,实例化的过程也就变得尤为引人瞩目.我们经常用new ...
- Ubuntu chrome FQ
按照文档FQ,需要注意一下两点: 1. 在安装Chrome 下的 SwitchyOmega 插件时,拖入到浏览器不能识别,应该打开chrome://extensions/再拖入: 2.在设置时排列列表 ...
- request获取路径方式
从request获取各种路径总结 request.getRealPath("url"); // 虚拟目录映射为实际目录 request.getRealPath("./&q ...
- Node.js小白开路(一)-- 全局变量篇
全局内容是有点类似于我们在浏览器编程的时候的window对象的,当时在node之中虽然我们编写的变量会自动的给出上下文环境(模块),但是全局变量的存在还是大大的帮助了我们编程时候的便捷性.我们可以在任 ...
- VMware安装VMwareTolls
要先启动Ubuntu,用root用户进入. 然后点击VMware的虚拟机——设置——安装VMwareTools 桌面会有一个安装包,解压后,执行vmware-install.pl 安装需要等别以为是安 ...
- SurfaceView基本使用--动态画正弦函数
package com.zzw.TestSurfaceView; import android.content.Context; import android.graphics.Canvas; imp ...
- LeetCode OJ:Spiral MatrixII(螺旋矩阵II)
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For ...
- L133
The U.S. Food and Drug Administration is considering a ban on flavorede-cigarettes in response to an ...
- JavaScript中的二分法插入算法
算法主体部分 var OnlineUser = { //list : 待查找的数组 //key : 待插入的值 //order : 数组的顺序 1:从小到大 0:从大到小 //start : 开始查找 ...