楼主懒啊:MCU又称为单片机,它为8位的微控制器,主要用在工业控制,FPGA则为可编程逻辑器件的一种,拥有丰富的硬件资源,可实现强大的逻辑功能,由于其硬件重构的特性,适合各种领域的应用; MCU的编程语言主要为C语言,以软逻辑实现,它通过顺序执行指令来实现特定功能,避免不了低速的缺点,相比之下,FPGA它以Verilog或VHDL等硬件描述语言为编程语言,由于直接由硬件实现逻辑,所以它并行执行,从而使速度大大提高; MCU的这种同一时间只能处理一条指令的特点也影响了它的应用,它只能用于一些算法的设计及简单的控制,而FPGA由于并行执行的特性,大量应用于复杂逻辑控制以及大量的数据运算和处理。
FPGA是在PAL、GAL、CPLD等可编程器件的基础上一步一步发展起来的。PAL是与阵列可编程或阵列固定,它的缺点是:采用熔丝工艺,只能一次编程,并且它的输出是固定的,不能编程;也就是说芯片一旦选定,输出结构将不可改变。GAL是在PAL的基础上发展起来的,可以重复编程。与PAL的最大区别是:输出结构可以由用户自己定义。但它结构简单,I/O数目有限。 CPLD是在GAL的基础上发展起来的。它主要由输入输出控制单元、宏单元和互连矩阵等组成。随着电子市场对功能要求的不断提高,CPLD越来越不能满足市场的需求。它最大只有512个宏单元,大部分是组合逻辑,难以实现复杂的时序逻辑设计,并且功耗很大。随着工艺的发展,FPGA登上了历史舞台并成为主角,它内部资源丰富,不管是时序逻辑还是组合逻辑都很多。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 |