单片机和FPGA有什么区别

如题所述

    FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

    单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

    FPGA更偏向于硬件电路,而单片机更偏于软件。

    单片机是基于CPU的冯·诺依曼器件,FPGA是基于并行逻辑单元的器件。
    相应的,单片机的开发是对指令的编程,FPGA的开发是对逻辑单元的连接。

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-07-05
FPGA只是一个较为庞大的“逻辑阵列”,是一片等待开发的“处女地”,当然也可以通过设计,成为具有某些单片机的功能。从某些方面来说,单片机可以说是“定制”的FPGA本回答被网友采纳
第2个回答  2016-11-09
1.FPGA不同于其他的如arm 单片机等,简单的理解就是半成品与成品的区别。
2.FPGA就是简单的逻辑门组成的,而vhdl等就是硬件描述语言,描述这些基础逻辑是如何连接的。
3.FPGA 讲的是告诉fpga的input等条件,通过描述语言得出你想要的结果,这些结果的得出,根据每个描述语言的不同,会占用不同的逻辑,走不同的路。而所说的可编程的io大部分指这些io。而单片机是由CPU控制的,可以编写程序的小的系统本回答被网友采纳
第3个回答  2019-05-25
不同于ASIC具有固定的逻辑功能,FPGA(Field Programmable Gate Array),可以随时动态的改变门电路阵列的组合方式,从而改变输入到输出的对应关系。
LUT (Look Up Table)是实现这种功能的基本单元。通过往基于RAM的LUT中下载不同的真值表,可以实现不同的逻辑功能。
这种能实现任意逻辑的组合电路加上一个时序电路(D触发器),从理论上可以实现任意功能的数字电路,以至于实现MCU,DSP以及USB, Ethernet等接口IP。当然这种灵活性的代价是实现同样的逻辑FPGA需要更多的门电路。所以现在有的FPGA内部集成了硬核,如ARM7,ARM9等,以及其它常用接口模块。这样既保留了灵活配置的能力,又节省了门电路资源。
单片机相当于在一个芯片内固化了一些IP,如串口,PWM模块等,加上RAM,处理器等单元。用FPGA比较灵活,比如根据需要用代码配置出N个串口,M个Ethernet等,单片机则没有这种灵活性。当然他的价格比较高,开发难度也大一些。
TopSemic 上有更详细的讲解。
相似回答