跳到主要内容

CPLD

CPLD 的全称是 Complex Programming logic device,即复杂可编程逻辑器件。CPLD 内部由 I/O 块、逻辑块(LAB)和内部可编程连线区(PIA)三部分构成。

CPLD 和 FPGA 的区别

虽然 FPGA 和 CPLD 都是可编程 ASIC 器件,但它们在许多地方存在差异,其中最大的差别在于实现逻辑功能的原理不同 —— FPGA 逻辑快是基于 LUT 为基础的,而 CPLD 中的逻辑快是以与-或阵列为基础的。

更具体来说,CPLD 和 FPGA 有以下区别:

  • FPGA 的集成度比 CPLD 高,具有更复杂的布线结构和逻辑实现。相对来说,CPLD 更适合完成各种算法和组合逻辑,FPGA 更适合于完成时序逻辑。
  • CPLD 比 FPGA 使用起来更方便。CPLD 的编程采用 E2PROM 或 FASTFLASH 技术,无需外部存储器芯片,使用简单。而 FPGA 的编程信息需存放在外部存储器上,使用方法复杂。
  • 在编程上,FPGA 比 CPLD 具有更大的灵活性。CPLD 通过修改具有固定内连电路的逻辑功能来编程,FPGA 主要通过改变内部连线的布线来编程;FPGA 可在逻辑门下编程,而 CPLD 是在逻辑块下编程。
  • 在编程方式上,CPLD 主要是基于 E2PROM 或 FLASH 存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD 又可分为在编 程器上编程和在系统编程两类。FPGA 大部分是基于 SRAM 编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入 SRAM 中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。
  • CPLD 的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而 FPGA 的分段式布线结构决定了其延迟的不可预测性。
  • CPLD 的速度比 FPGA 快,并且具有较大的时间可预测性。这是由于 FPGA 是门级编程,并且 CLB 之间采用分布式互联,而 CPLD 是逻辑块级编程,并且其逻辑块之间的互联是集总式的。
  • 在保密性方面,CPLD 保密性更好,而 FPGA 保密性较差。
  • 一般情况下,CPLD 的功耗要比 FPGA 大,且集成度越高越明显。

随著复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市常许多设计人员已经感受到 CPLD 容易使用。时序可预测和速度高等优点,然而,在过去由于受到 CPLD 密度的限制,他们只好转向 FPGA 和 ASIC。现在,设计人员可以体会到密度高达数十万门的 CPLD 所带来的好处。