时间:2024-07-25 来源:网络搜集 关于我们 0
FPGA是一种高密度的可编程逻辑器件,自从Xilinx公司1985年推出第一片FPGA以来,FPGA
的集成密度和性能提高很快,其集成密度高达千万门/片以上。由于FPGA器件集成度高、方便
易用、开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用,并一度在高密度的
可编程逻辑器件领域中独占鳌头。
CPLD是由GAL发展起来的,其主体结构仍是与或阵列,自20世纪90年代初Lattice公司开发
出具有在系统可编程功能(ISP)的CPLD以来,CPLD发展迅速。具有ISP功能的CPLD器件由于具
有同FPGA器件相似的集成度和易用性,在速度上还有一定的优势,使其在可编程逻辑器件技术
的竞争中与FPGA并驾齐驱,成为两支领导可编程器件技术发展的力量之一。
CPLD与FPGA对照情况如下。
1. 结构
FPGA多为查找表加寄存器结构,大多数使用SRAM工艺,也包含Flash、Anti-Fuse等工艺。
CPLD多为乘积项结构,使用Flash、EEPROM工艺。
2. 集成度
FPGA可以达到比CPLD更高的集成度,同时也具有更复杂的布线结构和逻辑实现。
3. 适合类型
CPLD组合逻辑的功能很强,一个宏单元就可以分解成十几个甚至30多个组合逻辑输入,而
FPGA的一个查找表LUT只能处理4输入的组合逻辑。因此,CPLD更适合完成各种算法和组合逻辑,
而FPGA更适合于完成时序逻辑。换句话说,CPLD更适合于触发器有限而乘积项丰富的结构,而
FPGA更适合于触发器丰富的结构。
4. 功率消耗
一般情况下,CPLD功耗要比FPGA大,且集成度越高越明显。
5. 布线资源
FPGA具有丰富的分布式布线资源、布线灵活,但是时序难以预测,一般需要时序约束、时
序仿真来验证时序性能。CPLD由于逻辑块互连是集总式的,相对布线资源有限。
6. 编程方式
目前的CPLD主要是基于EEPROM或FLASH存储器编程,编程次数达1万次。其优点是在系统断
电后,编程信息不丢失。CPLD又可分为在编程器上编程和在系统编程(ISP)两种。ISP器件的
优点是不需要编程器,编程、调试和维护都很方便。
FPGA大部分是基于SRAM编程,其缺点是编程数据信息在系统断电时丢失,每次上电时,需
从器件的外部存储器或计算机中将编程数据写人SRAM中。其优点是可进行任意次数的编程,并
可在工作中快速编程,实现板级和系统级的动态配置,因此可称为在线重配置(ICR:In Circuit
Reconfigurable)的PLD或可重配置硬件(RHP:Recontfigurable Hardware Product)。
4) FPGA和单片机的比较
FPGA和单片机,首先它们在硬件架构上不同,单片机无论是MCU还是MPU都是基于控制器和
算术逻辑单元进行工作的,而FPGA是基于查找表的硬件电路进行工作的,这一点正同于单片机
用的是软件设计语言而FPGA用的是硬件描述语言一样;其次,FPGA在芯片容量、组合逻辑、工
作速度、设计灵活上远优于单片机;最后,在代码的设计思想上也不一样,单片机使用的是串
行的设计思想,而FPGA则使用的是并行的设计思想。