Upload
dionne
View
226
Download
14
Embed Size (px)
DESCRIPTION
第 2 章 可编程逻辑器件基础. 2.1 PLD 的基本结构和表示方法. 可编程逻辑器件( PLD ): P rogrammable L ogic D evice. PLD 的应用和发展简化了电路设计、降低了成本,提高了系统的可靠性和保密性,推动了 EDA 工具的发展,而且改变了数字系统的设计方法。. EDA 技术应用的一个重要基础. PLD 的基本结构有两种:与或阵列结构和查找表结构. 例: Y1 = A · B + A · C Y2 = A · B + B · C. 2.1.1 PLD 的与或阵列结构. - PowerPoint PPT Presentation
Citation preview
1
第 2 章 可编程逻辑器件基础
2
2.1 PLD 的基本结构和表示方法
可编程逻辑器件( PLD): Programmable Logic Device
PLD的应用和发展简化了电路设计、降低了成本,提高了系统的可靠性和保密性,推动了 EDA工具的发展,而且改变了数字系统的设计方法。
EDA技术应用的一个重要基础
PLD 的基本结构有两种:与或阵列结构和查找表结构
3
2.1.1 PLD的与或阵列结构
任何一个逻辑函数都可以用与—或逻辑式表示,亦即用一个与—或阵列来实现。
图 2.1.1 与或门电路及用阵列表示示意图
例: Y1 = A · B + A · C Y2 = A · B + B · C
4
实际的 PLD是在上述与—或阵列的基础上配以输入和输出电路而实现的。
图 2.1.2 PLD基本结构框图
5
输入电路---输入缓冲器
图 2.1.3 PLD输入缓冲电路 主要作用:
降低对输入信号的要求,使之具有足够的驱动能力
产生原变量和反变量两个互补的信号
例: Y1 = A · B + A · C Y2 = A · B + B · C
6
输出电路---输出缓冲器
图 2.1.4 PLD输出缓冲电路
PLD的输出方式有多种,如:由或阵列直接输出的组合方式,通过寄存器输出的时序方式。 输出可以是低电平有效,也可以是高电平有效。不管采用什么方式,在输出端口上往往做有三态电路,且有内部通路可以将输出信号反馈到与阵列输入端。
7
2.1.2 PLD与或阵列的表示方法
1. 与阵列:输入项
三输入端与门
积项线
编程点
与阵列可用省略画法表示
8
图 2.1.6 输入端全部编程连接的与门的省略画法
9
2.或阵列:其表示方法与与阵列相似
图 2.1.7 或阵列的表示方法
10
3.与—或阵列:
. . .F1 = A B + A B +A B
. .F2 = A B +A B
. .F3 = A B +A B
11
2.1.3 PLD的查找表结构
• 一个N 输入查找表 (LUT, Look Up Table)可以实现 N 个输入变量的任何组合逻辑功能,如 N 输入“与”、 N 输入“异或”等。
• 输入多于 N 个的逻辑函数、逻辑方程等必须分开用几个查找表( LUT)实现
输出查 黑找 盒表 子
输入 1
输入 2
输入 3
输入 4
1 、查找表的概念 1 、查找表的概念
12
● 使用 SRAM构成函数发生器,函数值放在 SRAM中, SRAM的地址为输入变量,输出为逻辑函数值。 M 个输入的 SRAM可以实现任意一个 M 个输入项的组合逻辑函数。
● 使用多路开关实现,其基本原理是将多路开关的数据输入端接固定电平,将其地址输入作为函数的输入,多路开关的输出为逻辑函数值。
2 、查找表的实现方法
13
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
输入 A 输入 B 输入 C 输入 D
查找表输出
16x1RAM
由多路开关构成的查找表原理
多路开关
14
2.2 PLD 的分类
由于历史的原因,对可编程逻辑器件的命名不很规范,一种器件往往具备其他几种器件的特征,无法严格分类
所以可编程逻辑器件有多种分类方法,没有统一的标准,下面介绍几种常见的分类法:
15
1. 按集成度分类
低密度 PLD : ROM 、 PAL 、 GAL等
高密度 PLD : EPLD CPLD 、 FPGA等
低密度可编程逻辑器件也有人称为简单可编程逻辑器件( SPLD)
一般按照 GAL22V10芯片的容量(大致在 750门左右)进行区分
历史上 GAL22V10是 LDPLD和 HDPLD的分水岭
PLD
16
PROM
可编程逻辑器件
低密度可编程逻辑器件( LDPLD)
高密度可编程逻辑器件( HDPLD)
PLA PAL GAL EPLD CPLD FPGA
PLD按集成度分类:
17
PROM: 与—或阵列结构,与阵固定,或阵可编程
价格低,易于编程,适合于程序代码、函数和数据表格 PLA: 与—或阵列结构,与阵、或阵都可编程
由于开发软件的原因,应用不广泛 PAL: 与—或阵列结构,与阵可编程,或阵固定
特点:价格低,速度高,使用方便 GAL: 与—或阵列结构 + 输出逻辑宏单元( OLMC),与阵可编程,或阵固定
特点:品种少、功能较强、使用方便灵活、可多次编程,因而是小规模应用时的理想器件
低密度 PLD( LDPLD):
18
高密度 PLD( HDPLD):EPLD:可擦除 PLD 结构:和 GAL基本相同 --大量增加了输出宏单元的数目 特点:集成密度大大提高,增加了设计的灵活性,内 部连线固定,时延很小,工作速度高 CPLD:复杂可编程逻辑器件 结构:主要包括可编程逻辑宏单元、可编程 I/O、 可编程内部连线。 特点:时延固定,工作速度高
FPGA:现场可编程门阵列。 结构:可编程逻辑块、可编程 I/O和可编程内部互连 特点:含有较多的触发器、快速的局部互连和很高 的集成度
19
2. 按结构分类{阵列型 PLD
单元型 PLD
( 1 )阵列型: “与阵列+或阵列+寄存器”的形式,如PAL、 GAL、 CPLD等。( 2 )单元型: “查找表+寄存器”的形式,如 FPGA。
20
3 、按编程工艺分类:
( 1 ) ROM: 称为掩膜编程,由半导体生产厂家对器件 进行编程; ( 2 ) PROM: 使用熔丝或反熔丝编程器件 , 一次性编程; ( 3 ) EPROM: 紫外线擦除 / 电编程,可多次编程; ( 4 ) EEPROM: 电擦除 / 电编程,可多次编程。和 EPROM
相比, 具有擦除方便和编程速度快的优点; ( 5 ) SRAM: 使用 SRAM为编程器件,可多次编程。 其中:( 1 )~( 4 )类为非易失性器件; ( 5 )为易失性器件,使用时需要配置器件。
21
General Array Logic Device
与阵列 + 输出逻辑宏单元( OLMC)
2.3 GAL器件的结构及特点
2.3.1 GAL的结构框图
22
逻辑宏单元
输入 / 输出口
输入口
时钟输入
三态控制
可编程与阵列
固定或阵列
图 2.3.4 GAL结构图
23
2.3.2 输出逻辑宏单元( OLMC)的结构与原理
24
GAL的四种输出组态
25
2.3.3 GAL的主要特点
※ 通用性好。宏单元可根据需要任意组态,
当输入引脚不够用时还可将 OLMC组态为输入端,
因而使用十分灵活;
※ 采用 UVMOS或 EECMOS工艺,可重复使用;
※ 方便生产和使用。只有GAL16V8、 20V8、 39V18等
少数几个品种。
1 、 GAL的优点
26
※ 只能作为同步时序电路使用,且只能是外加时钟;
※ 各触发器只能同时置位和清零;
※ 每个宏单元只有一条向与阵列反馈的通道;
※ 每个 OLMC中或门的输入端是固定的。
2 、 GAL的不足
27
2.4 CPLD的结构及特点
2.4.1 Lattice公司 ispLSI器件的结构
20世纪 90年代以来, Lattice首先发明了 ISP( In-System Programmability)下载方式,并将 E2CMOS与 ISP相结合,使 CPLD的应用领域有了巨大的扩展。
ispLSI器件都属于乘积项方式构成可编程逻辑的阵列型 CPLD,基本结构由五部分组成:通用逻辑块( GLB )、集总布线区( GRP)、输入输出单元( IOC)、输出布线区( ORP)和时钟分配网络( CDN)。以ispLSI系列的 CPLD为例分析一下其基本结构。
28
1 、 ispLSI1032E功能结构图
全局布线池
通用逻辑块GLB
I/O单元
输出布线池
时钟分配网络
29
a. 标准组态
2、 ispLSI1032---GLB
30b. 高速直通组态
31c. 异或逻辑组态
32d. 单乘积项组态
33e. 多模式组态
34
( 1 )使用灵活。
乘积项共享阵列的输入来自 4 个或门,而其 4个输出则用来控制该单元中的 4 个触发器。至于哪一个或门送给哪一个触发器不是固定的,而靠编程决定,一个或门输出可以送给几个触发器,一个触发器也可以同时接受几个或门的输出信息,甚至还可以跨过 PISA直接将或门输出送至某个触发器。
GLB总结
35
( 2 )同一 GLB中的触发器必须同步工作。
虽然输出逻辑宏单元中 4 个 D 触发器的时钟是连在一起的,但所使用的时钟信号却有多种选择,可以是全局时钟,也可以是片内生成的乘积项时钟。不同 GLB中触发器可以使用不同的时钟。( 3 ) 同一 GLB中 4 个触发器同时复位。
复位信号可以是全局复位信号或 GLB中乘积项产生的复位信号,两者始终是或的关系。
GLB是 ispLSI芯片中最关键的部件,它是一种标准逻辑块。
36
1 、 ispLSI1032E功能结构图
全局布线池
通用逻辑块GLB
I/O单元
输出布线池
时钟分配网络
37
3 、 ispLSI1032---IOC结构
38
ispLSI1032---IOC组态
39
1 、 ispLSI1032E功能结构图
全局布线池
通用逻辑块GLB
I/O单元
输出布线池
时钟分配网络
40
4 、 ispLSI1032---ORP
41
1 、 ispLSI1032E功能结构图
全局布线池
通用逻辑块GLB
I/O单元
输出布线池
时钟分配网络
42
5 、 ispLSI1032---CDN
43
2.5 FPGA的结构特点 2.5.1 FPGA的基本结构
44
1、 CLB结构示意图
45
2、 IOB结构示意图
46
3. 内部互连资源( PI )和开关矩阵 SM ( Swiching Matric ) ( 1 )长线互连
水平长线
四条外侧的长线是可连的半长线
垂直长线
47
( 2 )直接互连( Direct Interconnect) 每个 CLB与其周围的 4 个 CLB之间及最外层 CLB与相邻IOB间的连接,这种连接方式的工作速度最高。
( 3 )一般互连 BB
CB
DB
BC BD
CC CE
DC DE
开关矩阵
48
( 4 )开关矩阵
49
FPGA 与 CPLD的比较1 、逻辑块的粒度不同
FPGA中逻辑块粒度小,其输入变量为 4 ~ 8 ,输出为1 ~ 2 ,每块芯片中有几十到几千个这样的逻辑块。
CPLD中逻辑块粒度则较大,通常有数十个输入端和一、二十个输出端,每个芯片只分成几块,甚至不分块。
使用时, CPLD不如 FPGA灵活
50
2 、逻辑块之间的互连结构不同
CPLD: 集中式的互连,其特点是等延时,设计者可事先预知所设计电路的时延。
FPGA:分布式的互连,其延时与系统布局有关,设计者无法事先预知所设计电路的时延。
使用时, CPLD优于FPGA
51
3 、应用场合不同 CPLD: 逻辑强但寄存器少,有利于控制密集型系统 常应用于如高速缓存、 DRAM控制和 DMA控制等 FPGA:逻辑弱但寄存器多,有利于数据密集型系统 常应用于需要大量数据处理能力的通讯领域。