一.PAL诞生
由最小项逻辑表达式可以使用TTL器件(如著名的74系列),由此可以引申出第一代可编程器件PAL,其主要有以下特点:
——逻辑门和寄存器固定
——可编程逻辑和阵列以及输出控制
——三部分共同构成宏单元
二.PAL到PLD
单个器件中排列多个PAL构成了实用的PLD
PLD相比较PAL器件而言最大的改进就是:引入可变乘积项分配,这样节省了硬件资源。
三.PLD到CPLD
和多个PAL互联构成PLD器件类似,将多个PLD(逻辑模块)通过可编程互联和IO进行连接就构成了CPLD,这样极大的扩展了器件内部逻辑,提高了实用性。
普通CPLD的特性:
——逻辑模块(PLD)一般指逻辑阵列模块(LAB)
——每个LAB中含有4—20个宏单元
——宏单元中的扩展乘积项逻辑提供可控乘积项的分配和扩展,可以提供更多的逻辑,代价是额外的时延。
四.CPLD到FPGA
特点:
——LAB排列在阵列中
——行列可编程互联
——互联可以跨过所有或部分阵列
FPGA的LAB由逻辑单元(LE)组成,而不是乘积项和宏单元。
LE结构:
LUT结构特点:
——替代乘积项阵列
——可编程“表”建立组合函数
——LUT输入是复用器选择线
高级FPGA采用自适应逻辑模块ALM,其特点如下:
——基于LE,而且包括专有资源和自适应LUT(ALUT)
大部分FPGA采用SRAM进行编程,这样掉电易失,必须上电时编程,可以将编程信息存储在某一位置如EEPROM。
五.CPLD和FPGA对比