尽管很多人听说过CPLD,但是关于CPLD与FPGA之间的区别,了解的人可能不是很多。虽然FPGA与CPLD都是“可反复编程的逻辑器件”,但是在技术上却有一些差异。简单地说,FPGA就是将CPLD的电路规模,功能,性能等方面强化之后的产物。
一般而言,CPLD与FPGA之间的区别的如下所示(当然也有例外)。
PLD : Programmable Logic Device(可编程逻辑器件)
- 可反复编程的逻辑器件
- 用户可自行设计与实现
- 可即时进行设计与产品规格上的变更
- 可以以标准零件的形式购买
|
CPLD |
FPGA |
组合逻辑的实现方法 |
乘积项(product-term),查找表(LUT,Look up table) |
查找表(LUT, look up table) |
编程元素 |
非易失性(Flash,EEPROM) |
易失性(SRAM) |
特点 |
- 非易失性 :即使切断电源,电路上的数据也不会丢失
- 立即上电 :上电后立即开始运作
- 可在单芯片上运作
|
- 内建高性能硬宏功能
- 用最先进的技术实现高集成度,高性能
- 需要外部配置ROM
|
应用范围 |
偏向于简单的控制通道应用以及
胶合逻辑 |
偏向于较复杂且高速的控制通道应用以及数据处理 |
集成度 |
小~中规模 |
中~大规模 |
|