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