Bob官网

FPGA与单片机的区别

时间:2024-06-17 14:34:02 文章来源: Bob官网

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

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

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

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

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

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

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

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

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

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

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

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

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

Bob官网
bob苹果app
BOBAPP官网下载IOS