CPLD器件(以Xilinx和Altera为例)
对CPLD器件的介绍和选型仍然以主流厂商Xilinx和Altera的器件为例进行简单介绍。FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理,通常的分类方法是:
将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。
将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。
在以往设计中如果设计需要简单的组合逻辑电路,无需进行太多更改,或者需要瞬时接通电路,那么CPLD是不错的选择。否则,对于大多数其他应用,FPGA通常是首选。有时可以在设计案例中看到CPLD + FPGA的组合设计。在这些案例中,CPLD通常用于实现前面提到的简单组合逻辑功能,并负责“引导”FPGA以及控制整个电路板的复位和引导顺序。因此,根据应用程序,可能需要在设计中使用它们。
两类器件差异 |
CPLD |
FPGA |
内部结构 |
Product一term |
Look一up Table |
程序存储 |
内部EEPROM |
SRAM,外挂EEPROM |
资源类型 |
组合电路资源丰富 |
触发器资源丰富 |
集成度 |
低 |
高 |
使用场合 |
完成控制逻辑 |
能完成比较复杂的算法 |
速度 |
慢 |
快 |
其他资源 |
– |
EAB,锁相环等 |
保密性 |
可加密 |
般不能保密 |
近些年,随着FPGA工艺不断发展,有逐步取代CPLD的趋势,从Xilinx和Altera官网可以查到近十年来CPLD几乎没有推出新的产品,而FPGA则在不断推陈出新,很多在以前CPLD的优势也已逐渐被FPGA追平并超越。(个人观点,不知是否正确,欢迎大家一起讨论)
另一种说法是现在的CPLD其实就是FPGA+合封或内嵌的FPGA,通过FPGA内嵌flash实现自加载,传统基于宏单元的CPLD基本停产了。
下面将分别对Xilinx和Altera的CPLD做简单介绍。
Xilinx CPLD:
详细的CPLD信息及选型可以直接参考官网:https://www.xilinx.com/products/silicon-devices/cpld.html
在这里,主要简单介绍一下Xilinx CPLD的不同系列及工艺。目前Xilinx市场主推的CPLD主要包括XC9500XL系列和CoolRunner-II系列(包括XC2Cxx和XA2Cxx两个系列),参考下图。
以上CPLD均是10年前推出的,使用开发套件为ISE Design Suite,近些年没有在推出新的产品,在选型时可多方面综合考虑进行选择。
Altera CPLD:
Altera MAX® CPLD 系列采用独特的即时启动、非易失性架构,提供低功耗片上功能。CPLD主要包括20年前推出的CPLD家族(已逐渐淘汰)、MAX II、MAX IIZ、MAX V系列CPLD,可直接查阅官网信息选择:英特尔® MAX® 系列 FPGA 和 CPLD – 英特尔® FPGA (intel.cn)
Altera CPLD中MAX V为2010年推出,是最新的CPLD型号,如果需要选型的话建议从这个系列里选择,其他比较老的器件不建议选择,主要是因为工艺老旧,很多已经停产,不易采购。
以上对两家公司的CPLD做简单介绍,具体使用需去官网查详细的芯片信息,不过目前CPLD逐步没了存在感,FPGA优势和性价比更高,因此在选型时如果能满足需求的话可以考虑使用FPGA替代。
2023/02/04
参考: