新闻  |   论坛  |   博客  |   在线研讨会
FPGA与单片机的区别
utmel | 2023-05-29 10:10:10    阅读:6735   发布文章

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

  1.结构区别

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

20230529哈佛总线结构.jpg

图1 哈佛总线结构


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

20230529fpga结构.jpg 图2 FPGA结构

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

  2.本质区别

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

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

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

  3.速度区别

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

20230529FPGA内部并行图.jpg

图3 FPGA内部并行图

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

20230529单片机单线程图.jpg

 图4 单片机单线程图

  4.应用区别


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


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


  5.入门难易程度


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


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

关注公众号“优特美尔商城”,获取更多电子元器件知识、电路讲解、型号资料、电子资讯,欢迎留言讨论。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客