码迷,mamicode.com
首页 > 其他好文 > 详细

FPGA、单片机、DSP、ASIC的区别

时间:2020-02-07 14:27:34      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:流媒体   pwm   独立   写代码   模块   fpga   ril   专用   http   

https://zhuanlan.zhihu.com/p/21357765

ASIC原本就是专门为某一项功能开发的专用集成芯片,比如你看摄像头里面的芯片,小小的一片,集成度很低,成本很低,可是够用了。一个山寨摄像头卖才卖30块,买一片ARM多少钱?后来ASIC发展了一些,称为半定制专用集成电路,相对来说更接近FPGA,甚至在某些地方,ASIC就是个大概念,FPGA属于ASIC之下的一部分。

 

FPGA基本就是高端的CPLD,两者非常接近。我现在用的是ALTERA DE2开发板的CYCLONE系列FPGA。这种器件是用逻辑门来表述性能的。本身他就是一堆的逻辑门,通过硬件描述语言,比如verilogHDL把它转成电路连接,从最基本的逻辑门层面上连接成电路(参见数字电路书上那些全加器触发器什么的)。应该说,虽然看起来像一块CPU,其实是完全硬件实现的。后来因为写代码麻烦,对控制部分比较薄弱,本来跟其他CPU配合使用,即麻烦的算法CPU提交给FPGA,FPGA算完把结果再返回给CPU。可是这样外围电路就变得麻烦。于是提出了SOC设计方法,就是直接在FPGA里写一个CPU出来,既然FPGA万能,做个CPU自然毫无压力。这其中还有软核和硬核的区别,不过除了性能,使用方法大同小异。所谓IP核,就是把各种专用集成电路用硬件描述语言描述,然后烧到FPGA里形成专门的电路,这样就不必另外搭芯片了,所有的电路在一片FPGA里面形成。

 

技术图片DSP实际应该称为DSPs,即用于DSP处理的专用芯片。跟普通计算机的区别一方面是他是哈佛结构的,也就是数据和程序空间分开。(普通计算机是冯诺依曼结构)另一方面他有流水线结构,不过现在其他也有了,见贤思齐。再一方面他有专用的硬件算法电路,用以完成DSP运算,比如最基本的乘法累加。上过DSP的就知道,蝶形算法FFT什么的,拆成最基本单元就是乘法累加,把这部分加速了,整体性能就有非常大的提高。DSP对于流媒体的处理能力远远的优于通用CPU。所以你看现在手机CPU,至少语音部分都是用DSP的。后来DSP概念也复杂化,各家都把一个控制核心整合到DSP里面,比如现在的智能手机芯片。可以看一下高通或者TI的片,基本是一个ARM核控制整体运算,一个DSP处理语音编解码,一个GPU负责图像运算,一个基带和天线处理模块负责通信,再加一些七七八八的东东比如GPS模块什么的。

 

 

单片机就是一个百搭的通用CPU,提供各种接口来对整体进行控制,相当一个总调度,当然,简单的功能一片CPU独立工作也就完成了。原来的51系列就是一堆IO口,后来慢慢的把常用的PWM,AD之类的功能加入了单片机。主要包括用了无数年仍然牛逼各大学必教的51系列,还有AVR,PIC,ARM,HOTEK……其实ARM9以后,已经说不清ARM算哪类了,目前的架构来看,更接近DSP。

 

总之,现在各种东西都取长补短大融合,所以只要选择自己需要用的就好,没必要强求分类。

 

FPGA、单片机、DSP、ASIC的区别

标签:流媒体   pwm   独立   写代码   模块   fpga   ril   专用   http   

原文地址:https://www.cnblogs.com/dhcn/p/12272882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!