FPGA与单片机的区别

元器件信息   2022-11-28 14:51   133   0  

目录

1.结构区别
2.本质区别
3.速度区别
4.应用区别
5.入门难易程度

  FPGA是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它的出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。单片机是把中央处理器、存储器、定时/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。既然都同属编程类的电子元件,那么这两者有什么区别呢?下面一起来看看吧:

  1.结构区别

  单片机是一种微处理器,类似于电脑CPU的,它一般采用的是哈佛总线结构,或者冯诺依曼结构,对单片机的编程很大程度上要考虑到它的结构和各个寄存器的作用,单片机用途比较广,一般用在控制流水线上。

哈佛总线结构

  哈佛总线结构

  FPGA它的结构是查找表结构,其程序不用去太考虑芯片的结构,要注意的是时序上问题,它的结构比较复杂,功能也很强大,一般应用在通信领域等比较高端的场合,目前在FPGA还算是一个新兴的行业。

fpga结构

  FPGA结构

  简单来说,单片机是一个微控制器,通过加载模块软件来实现某种功能,是成型的芯片;而FPGA是用来设计芯片的芯片。

  2.本质区别

  FPGA和单片机的区别,本质上是软件和硬件的区别,FPGA更偏向于硬件电路,而单片机更偏于软件。

  单片机设计属软件范畴;它的硬件(单片机芯片)是固定的,通过软件编程语言描述软件指令在硬件芯片上的执行;

  FPGA设计属硬件范畴,它的硬件(FPGA)是可编程的,是一个通过硬件描述语言在FPGA芯片上自定义集成电路的过程;

  3.速度区别

  FPGA由于是硬件电路,内部是并行的,所有的电路逻辑都是在同一个时钟触发下工作的,运行速度直接取决于晶振速度,系统稳定。

FPGA内部并行图

  FPGA内部并行图

  单片机属于单线程,内部属于顺序执行,一个执行完了再执行下一个,哪怕是常用的M3系列流水线也是单线程执行,程序语句也需要等待单片机周期才能执行,所以速度比较慢。

单片机单线程图

  单片机单线程图

  4.应用区别

  FPGA主要是用于VLSI(超大规模集成电路)设计的,主要是数字系统,是一些逻辑电路的模块,通过可编程的布线网络来连接这些逻辑模块(可对硬件进行排列组合),从而实现不同的逻辑功能。

  单片机是一个微型的计算机,它的硬件电路是不能动的,主要是通过软件来描述指令在硬件电路上的执行步骤,从而实现功能。主要应用在处理事件上,比如外部有个中断信号,MCU检测到后,软件就指挥硬件进行某种处理。

  5.入门难易程度

  单片机比FPGA简单些,价格也低一些。要做PID算法控制的用单片机可以,STM32F4系列已经到300M+跑PID完全足够,如果是跑嵌入式的话可以上ARM芯片。涉及通信、图像等高速部分可以采用单FPGA模块。

  以上就是FPGA与单片机的区别介绍了。FPGA和单片机开发都是属于数字电路设计设计的范畴,其中的编程也差不多,虽然两者有并行执行和穿行执行的区别,但是两个器件执行的功能都是属于逻辑功能一类。相对来说FPGA设计要复杂一些,对于底层硬件知识的掌握要求也要高一些。

登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。