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

2019-07-15 23:29发布

tica, sans-serif">ASIC是专用集成电路设计,FPGA是可编程逻辑阵列,DSP和单片机(MCU?)是不是有点像?
这四个我只接触过FPGA,就是自己布置逻辑单元,可以使用IP核,最后下到开发板验证。
现在我想问:如果我要实现一个电子系统,这四个方案有什么区别?
鉴于天朝的本科其实没讲什么东西,所以到现在没搞清。。。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
18363101280
1楼-- · 2019-07-16 02:37
通求证,等高人来答!
18796213290
2楼-- · 2019-07-16 04:37
我们现在准备FPGA比赛,可是之前都没接触过
shawon
3楼-- · 2019-07-16 10:11
这么说吧,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。

总之,现在各种东西都取长补短大融合,所以只要选择自己需要用的就好,没必要强求分类。
隐忍2015
4楼-- · 2019-07-16 15:30
 精彩回答 2  元偷偷看……
hehonghua
5楼-- · 2019-07-16 15:36
又了解了多一些东东,谢谢!
neo618
6楼-- · 2019-07-16 16:05
也就是FPGA最牛叉,是万能的,其他的芯片都是各种侧重,DSP侧重计算,ARM侧重控制。
学习FPGA最有前途?

一周热门 更多>