一、FPGA与ASIC
FPGA (Field-Programmable Gate Array),即现场可编程门阵列;
ASIC (Application Specific Integrated Circuit),即专用集成电路;
FPGA 是作为ASIC领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA与ASIC的主要区别为:
(1)ASIC是定制 IC,内部功能已经固化,只能开启或者关闭不同的功能模块,而FPGA是一个可编程器件,用户可以根据自己的功能需求进行开发设计;
(2)FPGA可重配置的灵活性是ASIC不具有的。因此,ASIC通常适用于大型项目,而对于需要快速投入市场且升级换代较快的小型项目使用FPGA更具优势。
FPGA的优势:开发周期短,开发软件投入少,成本不断下降,符合电子产品高密度、低压低功耗的趋势。
二、FPGA与CPLD
CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是一种大规模集成电路;
FPGA与CPLD主要区别为:
(1)CPLD是基于ROM结构的,掉电后代码不丢失,而FPGA是基于RAM结构的,掉电后代码丢失,所以FPGA一般必须具有一个配置ROM在每次上电时加载代码到RAM中;
(2)CPLD的硬件设计比较简单,FPGA的硬件设计相对复杂些;
(3)制造工艺有差异,