单片机、CPLD、FPGA是什么呢?它们之间有什么区别?
单片机编程语言属于软件,一般用C语音编程或者汇编语言,而CPLD和FPGA属于硬件,编程语言为硬件描述语言(VHDL或Verilog HDL)。
单片机和FPGA的区别
单片机和FPGA的区别本质是软件和硬件的区别。
单片机设计属软件范畴;它的硬件(单片机芯片)是固定的,通过软件编程语言描述软件指令在硬件芯片上的执行;
FPGA设计属硬件范畴,它的硬件(FPGA)是可编程的,是一个通过硬件描述语言在FPGA芯片上自定义集成电路的过程;
CPLD和FPGA的主要区别
CPLD和FPGA包括一些相对大数量的可编程逻辑单元。CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常在几万到几百万之间。
一、CPLD和FPGA的区别一:系统结构
CPLD和FPGA的主要区别是它们的系统结构。CPLD是一个有点限制性的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器组成。这样的结果是缺乏编辑灵活性。但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点,而FPGA却有很多连接单元,虽然让它可以更加灵活的编辑,但是结构却复杂得多。
二、CPLD和FPGA的区别二:内置模块和内置记忆体
CPLD和FPGA的另一个区别是大多数FPGA含有高层次的内置模块(如加法器和乘法器)和内置记忆体。因此,一个有关的重要区别是很多新FPGA支持完全的或者部分的系统内重新配置。允许它们的设计随着系统升级或者动态重新配置而改变。一些FPGA可以让设备的一部分重新编辑而其他部分继续正常运行。
三、CPLD和FPGA的区别三
CPLD下电之后,原有烧入的逻辑结构不会消失,而FPGA下电之后,再次上电之时,需要重新加载FLASH里面的逻辑代码,需要一定的加载时间。
对此,大家有什么看法?欢迎一起交流
领取专属 10元无门槛券
私享最新 技术干货