概念上
ARM是应用,FPGA是芯片设计,前者是软件,后面是硬件,ARM就像单片机,但是它本身的资源是生产厂家固定了的,可以把它看成一个比较优秀的单片机来使用。
而 FPGA 需要通过自己编程,让它具备一切你想让他具备的功能。比如,你想让它是一个计数器,或者只是一个非门,那么这个芯片就是一个非门,只不过是个很昂贵的非门。你也可以在一款内部资源充分的FPGA 上,让这颗FPGA 成为ARM芯片,并且加上你想要加上的外设,比如网络,内存控制,LCD,等等,只要资源够用!
从意义上
ARM是可以是一种处理器,利用ARM架构体系的处理器,里面整合了很多现成的硬件资源供你编程调用。比如运算器、串口、usb接口等各种现成硬件。可以通过中断、或者DMA的方式直接操控硬件来实现某些功能。
FPGA,是一个里面没有任何现成的硬件,需要你自己进行设计,比如你可以设计一个ARM CPU或者专门的运算器、串口电路等然后下载到里面。这个硬件是需要你自己设计的,用verilog 或vhdl语言进行设计。
功能上
ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,而DSP主要是用来计算的,比如进行加密解 密、调制解调等,优势是强大的数据处理能力和较高的运行速度。
FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、 再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。
用途上
FPGA可以用作设计CPU的周边电路或者直接设计CPU本身。比如你想设计一个自己的CPU或者是其他的硬件电路。
而ARM一般当做微控制器或者嵌入式操作系统CPU来使用,和你的电脑的CPU道理一样。你使用电脑的硬件资源的时候,不需要你去自己设计硬件吧。通过编写的程序控制CPU可以直接使用现成的硬件资源了。相对于省事的多。
原文地址:https://blog.51cto.com/14227925/2385271