文档介绍:FPGA可编程逻辑器件
PLD分类(按集成度)
低密度
PROM,EPROM,EEPROM,PAL,PLA,GAL
只能完成较小规模的逻辑电路
高密度,已经有超过800万门的器件
EPLD,CPLD,FPGA
可用于设计大规模的多路开关
多路开关
多路开关
多路开关
1)D触发器
锁存或门的输出状态,使GAL可构成时序逻辑电路
2)4个多路开关
PTMUX:控制来自与阵列的第一乘积项
TSMUX:选择输出三态缓冲器的选通信号
FMUX:决定反馈信号的来源
OMUX:控制输出信号是否锁存
3)异或门
用于控制输出信号的极性
OLMC组成
8输入或门构成或门阵列
异或门控制输出信号的极性 (XOR为1时,输出反相)
D触发器寄存数据,完成时序电路功能
整个GAL16V8的CK、OE共用
四个多路器(由AC0,AC1控制)
PTMUX:选择输入 OMUX:选择输出
TSMUX:选择输出三态门的控制信号
FMUX:选择反馈信号
OLMC的组态结构
由SYN、AC0,AC1(n)控制
101 - 专用输入模式
100 - 专用输出模式
111 - 选通组合输出模式
010 - 时序模式
011 - 在时序电路中的组合输出
OLMC工作在专用输入模式。三态缓冲器为高阻态,来自邻级输出信号接到与逻辑阵列的输入
当SYN=1
AC0=0
AC1=1时
101-专用输入
OLMC为组合输出模式
三态门选通异或门输出
经触发器送三态门
当SYN=1
AC0=0
AC1=0时
100-专用输出
111-选通输出
010-时序输出
011-时序电路中的组合输出
GAL编程原理
先擦除原有数据
P/V管脚(19)设为高电平
Sdin管脚(9)为数据输入端(串行)
Sclk管脚(8)为时钟输入端
RAG0-RAG5选择行地址(3,4,5,6,7,18)
行地址映射
电子标签
*可以自己定义电子标签各段的含义
结构控制字
积项禁止位(供64位)
XOR(8位)
SYN (1位) AC0 (一位)
AC1(8位)
加密单元 1位
一旦加密,禁止读出内部编程内容。
只有整体擦除时才能擦除加密单元
整体擦除位 1位
复杂可编程逻辑器件-CPLD
典型的CPLD是由PLD模块阵列组成,阵列之间有可编程的互连结构
PLD
PLD
PLD
PLD
PLD
PLD
类似于PAL
可编程的连线
Altera MAX7000 CPLD
逻辑阵列模块
可编程
IO模块
MAX7000内部结构
逻辑阵列块LAB,实现用户设计的逻辑功能,每个LAB内部包含16个逻辑宏单元(MacroCell)。
I/O控制块,可配置为输入、输出和双向三种工作模式。
可编程连线阵列PIA,为LAB之间的信号提供连接所需的通道。
特定输入/输出管脚:GCLK,GClrn,OE
宏单元(Marocell),可编程连线(PIA)和I/O控制块。
宏单元是PLD的基本结构,由它来实现基本的逻辑功能。图中兰色部分是多个宏单元的集合。
可编程连线负责信号传递,连接所有的宏单元。
I/O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。
INPUT/GCLK1,INPUT/GCLRn, INPUT/OE1, INPUT/OE2 是全局时钟,清零和输出使能信号,这几个信号有专用连线与PLD中每个宏单元相连,信号到每个宏单元的延时相同并且延时最短
宏单元内部结构
乘积项逻辑阵列
乘积项选择矩阵
可编程
触发器
宏单元内部结构
乘积项逻辑阵列和乘积项选择矩阵:实现输入信号的组合逻辑
可编程触发器模块:实现时序逻辑。主要对5个选择器进行设置。
扩展乘积项:对于更加复杂的逻辑功能,需要附加的乘积项来实现,有并联扩展乘积项和串连扩展乘积项两种形式。
可编程的I/O单元
能兼容TTL和CMOS多种接口和电压标准
可配置为输入、输出、双向、集电极开路和三态等形式
能提供适当的驱动电流
降低功耗,防止过冲和减少电源噪声
支持多种接口电压(降低功耗)
~,5V
,
,internal ,I/
,internal ,I/ and
可编程I/O单元的摆率
相邻连线之间存在一定的寄生耦合电容,一根线过大的压摆率必然导致相邻导线上感应出噪声尖峰(毛刺),