EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
数字编程是数字电路非常重要的一门课程,FPGA和cpld是两个重要的编程工具,本文带您认识fpga和cpld的联系和区别。 FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
) ]4 h$ {7 ?2 G3 A8 @$ d" NCPLD(ComplexProgrammableLogicDevice)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。 尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: 1、在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。
' I# S1 E$ ^# Q; W: b0 X2、CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。5 ]1 X) ]* i1 {9 V4 }- i ~) _
3、CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。/ p( f$ Z2 v7 Q6 K, _0 V* W2 S
4、在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
6 N d) w* |/ f* r2 m% Q8 K& ?5、CPLD保密性好,FPGA保密性差。* \& s$ }+ u, w/ c
6、一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。2 X5 P* J" g5 D( ?6 z! y
7、FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
; g; ? D( c% H/ C2 `) b# n8、CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。( c7 W+ H; b8 Z3 N8 y }; t) _
9、CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。
. X9 i4 y4 v2 Z! y3 t/ ` |