FPGA 第一部分 PLD器件介绍
超大规模集成电路设计方法
①. 层次化设计
②. 自顶向下的设计:从最高抽象的结构依次向下到达最基本的逻辑门或者开关。
超大规模集成电路设计与PLD
PLD:Programmable Logic Devices,可编程逻辑器件。
PLD设计
以计算机为工作平台,以相关设计软件工具为开发环境,以硬件描述语言HDL为设计语言, 以PLD器件为载体,以ASIC或者SOC芯片为设计目标的电子产品自动化设计过程。
PLD器件分类:
①. 从集成度区分:低密度PLD器件和高密度PLD器件。
②. 从编程结构上区分:“与-或阵列”式和“SRAM查找表”式。
③. 从编程工艺上区分:熔丝型,反熔丝型,EPROM型,EEPROM型,SRAM型,和FLASH型。
PLD器件结构
低密度PLD器件结构
高密度PLD器件
Altera的MAX7000系列
主要包括:
- 逻辑阵列块(LAB)
- 宏单元
- 扩展/并行乘积项
- 可编程连线阵列(PIA)
- IO控制块
4个相似的逻辑阵列块LAB,每个LAB中有16个宏单元,此芯片有64个宏单元;
可编程的I/O控制块可以控制每个I/O引脚单独为三种工作方式:输入、输出和双向;
芯片内部的所有单元都是通过内连矩阵PIA连接起来的。
可编程内连矩阵PIA
I/O控制块
每个I/O引脚允许三种工作方式:输入、输出、双向工作。
宏单元
模块组成:与逻辑阵列、乘积项选择矩阵、可编程寄存器。
“与逻辑阵列”实现组合逻辑函数中的乘积项。每个宏单元提供5个乘积项。它与GAL的宏单元相比,信号中增加了16根扩展乘积项,大大增强了实现组合函数的能力。
“乘积项选择矩阵”用于分配乘积项:1.到或门和异或门实现组合函数;2.到宏单元触发器的辅助输入端:清除端(Clear)、位端(Preset)、时钟端(Clock)。
“可编程寄存器”使EPLD宏单元中的触发器比GAL的功能更强、更灵活:1.可编程实现D、T、JK或RS触发器;2.可编程时钟控制方式;3.可编程异步、同步时序电路。
扩展乘积项
功能:大多数逻辑函数由5个乘积项之和就可以实现。这样用一个宏单元即可。对于复杂的逻辑函数,需要附加乘积项能实现。
①. 共享扩展乘积项
②. 并联扩展乘积项
并联扩展乘积项是一些宏单元没有使用的乘积项可以分配到邻近单元使用。使有的宏单元最多可达20个乘积项,而这其中5个乘积项由本宏单元提供,其他15个并联扩展乘积项是由邻近的宏单元提供的。
Altera的FLEX10K系列
主要包括:
- 嵌入式阵列块(EAB)
- 逻辑阵列块(LAB)
- 逻辑单元(LE)
- 快速通道(FT)
- I/O单元
IO结构(IOE)
逻辑单元(LE)
)