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极客空间