CPLD(Complex Programmable Logic Device 复杂可编程逻辑器件,内部结构为“与或阵列”。该结构来自于典型的PAL、GAL器件的结构。任意一个组合逻辑都可以用“与—或”表达式来描述,所以该“与或阵列”结构能实现大量的组合逻辑功能)
简单的“与或”阵列:(PAL、GAL、CPLD)

含查找表的逻辑单元:(FPGA)

CPLD和FPGA的主要区别:
1、布线能力
CPLD内连率高,不需要人工布局布线来优化速度和面积,较FPGA更适合于EDA芯片设计的可编程验证。
2、延迟小预测能力
CPLD连续式布线结构决定时序延时是均匀的和可预测的,FPGA分段式布线结构决定了不可预测时间延迟。
3、集成度的不同
CPLD:500 ~ 50000门; FPGA:1K ~ 10M 门
4、应用范围的不同
CPLD逻辑能力强而寄存器少,适用于控制密集型系统;
FPGA逻辑能力较弱但寄存器多,适于数据密集型系统。
CPLD和FPGA的优点:
1.规模越来越大,实现功能越来越强,同时可以实现系统集成。
2.研制开发费用低,不承担投片风险,使用方便。
3.通过开发工具在计算机上完成设计,电路设计周期短。
4.不需要设计人员了解很深的IC知识,EDA软件易学易用。
5.通过FPGA和CPLD开发的系统成熟后,可以进行ASIC设计,形成批量生产。
小结:学习CPLD/FPGA已经快一个学期了,书也读了几遍,感觉有些可编程逻辑器件的思想,书上并没有直白的强调出来,现总结一下,方便自己,方便大家:
1、CPLD/FPGA并无本质的区别,都是从PLD上发展来的,但是CPLD更适合于真值表解决的问题,而FPGA则是基于查找表实现功能的
2、CPLD/FPGA是硬件,而VHDL和Verilog以及AHDL都是语言,是软的东西,完成的功能对要综合考虑两方面的特性:例如硬件中电平会存在多种状态,对应于STD-LOGIC中就有九种表达形式
3、编程语言都是强类型的,并且最好也按照完整的编程格式来实现模块化,也利于IP核的复用
4、编程软件选用的原则一般是根据所使用的芯片决定的,注意综合器的选择
5、并行结构的理解是正确编程的基础,记住这点就能够很好的解决时序的问题
6、芯片引脚的驱动能力一般都是有限的,注意外接TTL时的转换
7、时钟的选用,以及内部是否具有PLL功能,是开发者所应关注的
8、下载最新的数据手册,以及应用手册,利于提高开发速度!
1、CPLD/FPGA并无本质的区别,都是从PLD上发展来的,但是CPLD更适合于真值表解决的问题,而FPGA则是基于查找表实现功能的
2、CPLD/FPGA是硬件,而VHDL和Verilog以及AHDL都是语言,是软的东西,完成的功能对要综合考虑两方面的特性:例如硬件中电平会存在多种状态,对应于STD-LOGIC中就有九种表达形式
3、编程语言都是强类型的,并且最好也按照完整的编程格式来实现模块化,也利于IP核的复用
4、编程软件选用的原则一般是根据所使用的芯片决定的,注意综合器的选择
5、并行结构的理解是正确编程的基础,记住这点就能够很好的解决时序的问题
6、芯片引脚的驱动能力一般都是有限的,注意外接TTL时的转换
7、时钟的选用,以及内部是否具有PLL功能,是开发者所应关注的
8、下载最新的数据手册,以及应用手册,利于提高开发速度!