在系统可编程技术
第 1讲
可编程器件结构简介
PAL和 GAL
PLD能做什么呢?可以毫不夸张的讲,PLD能完
成任何数字器件的功能,上至高性能 CPU,下至简单
的 74电路,都可以用 PLD来实现。 PLD如同一张白纸
或是一堆积木,工程师可以通过传统的原理图输入
法,或是硬件描述语言自由的设计一个数字系统。
通过软件仿真,我们可以事先验证设计的正确性。
在 PCB完成以后,还可以利用 PLD的在线修改能力,
随时修改设计而不必改动硬件电路。使用 PLD来开发
数字电路,可以大大缩短设计时间,减少 PCB面积,
提高系统的可靠性。 PLD的这些优点使得 PLD技术在
90年代以后得到飞速的发展,同时也大大推动了 EDA
软件和硬件描述语言( HDL)的进步。
? PLD
一,PLD的基本结构
查表结构 与-或
阵列结构
真值表 与-或表达式
1、逻辑函数的表示方法有,
输 入
缓冲
电路
与
阵
列
或
阵
列
输出
缓冲
电路
输
入
输
出
? ?
2、基本 PLD器件的原理结构图
3、输入电路模块
4、可编程“与”阵列 0A1A
1
F
0
F
2
A
2
F
0
A
1
A
1
F
0
F
2
A
2
F
4、可编程“或,阵列
0
A
1
A
1
F
0
F
2
A
2
F
0
A
1
A
1
F
0
F
2
A
2
F
可编程“与 —— 或,阵列
0
A
1
A
1
F
0
F
2
A
2
F
0
A
1
A
1
F
0
F
2
A
2
F
0
A
1
A
1
F
0
F
2
A
2
F
0
A
1
A
1
F
0
F
2
A
2
F
5、阵列线连接表示
6、输出电路
完成直接或寄存器输出及输出信号的反馈
7、一位加法器
与阵列(可编程)
或阵列
(可编程)
0
A
1
A
1
A
1A 0
A
0A
1
F
0
F
常见的 PLD有 PROM,PLA,PAL,GAL、
CPLD,FPGA等。目前对 PLD的分类没有统一的
标准,一种器件往往具有多种特征,并不能严格
的分类。本节介绍几种常用的分类方法。
1,按可编程的部位分类,
PROM( Programmable Read Only Memory)可编程
只读存储器 包括 EPROM,EEROM。
PLA( Programmable Logic Array)可编程逻辑阵列
PAL( Programmable Array Logic)可编程阵列逻辑
GAL( Generic Array Logic)通用阵列逻辑
二、可编程逻辑器件( PLD)的分类
与阵列 或阵列 输出电路
PROM 固定 可编程 固定
PLA 可编程 可编程 固定
PAL 可编程 固定 固定
GAL 可编程 固定 可组态
按可编程的部位分类
( 1) PROM可编程只读存储器
PROM表达的 PLD图阵列
与阵列(固定)
或阵列
(可编程)
0
A
1
A
1
A
1A 0
A
0A
1
F
0
F
用 PROM完成半加器逻辑阵列
与阵列(固定)
或阵列
(可编程)
0
A
1
A
1
A
1A 0
A
0A
1
F
0
F
011
10100
AAF
AAAAF
?
??
( 2) PLA可编程逻辑阵列
PLA逻辑阵列示意图
与阵列(可编程)
或阵列
(可编程)
0
A
1
A
1
A
1A 0
A
0A
1
F
0
F
PLA与 PROM的比较
0
A
1
A
1
F
0
F
2
A
2
F
0
A
1
A
1
F
0
F
2
A
2
F
( 3) PAL可编程阵列逻辑
0
A
1
A
1
F
0
F
0
A
1
A
1
F
0
F
PAL结构,PAL的常用表示,
11
10
01
00
R
11
10
01
00
R
Q
QD
11
10
01
00
R
11
10
01
00
R
Vcc
SG1
SL0
7
SL1
7
SG0 SL0
6
19 I/O
7
11
10
01
00
R
11
10
01
00
R
Q
QD
11
10
01
00
R
11
10
01
00
R
Vcc
SG1
SL0
6
SL1
6
SG1 SL0
6
18 I/O
6
1CLK/I
0
2I
1
3I
2
0
7
8
15
0 3 4 7 8 1211 15 16 19 20 23 24 27 28 31
一种 PAL16V8的部分结构图
General Array Logic Device
?GAL的与阵列和 PAL的类似
?或阵列及输出寄存器则采用 OLMC输出逻辑宏单元
?OLMC最多有 8个或项,每个或项最多有 32个与项
?采用 EEPROM技术,电擦除,可多次编程
?可以取代中小规模数字集成电路和 PAL器件
( 4) GAL通用阵列逻辑
2
0
7
19
0 3 4 7 8 1211 15 16 19 20 23 24 27 28 31
1
3
8
15
18
OLMC
OLMC
4
16
23
17
5
24
31
16
OLMC
OLMC
6
32
39
15
7
40
47
14
OLMC
OLMC
8
48
55
13
9
56
63
12
OLMC
OLMC
11
I/CLK
I
I
I
I
I
I
I
I
I/ OE
I/O/Q
I/O/Q
I/O/Q
I/O/Q
I/O/Q
I/O/Q
I/O/Q
I/O/Q
CLK
OE
GAL16V8的结构图
逻辑宏单元
输入 /输出口
输入口
时钟信
号输入
三态控制
可编程与阵列
固定或阵列
G
A
L
1
6
V
8
I/O ( n )
M
U
T
P
11
10
01
00
0
1
F
D
X OR ( n )
CL OC K
V c c
接零级输出
反馈
0
AC
1
AC
1
G
2
G
3
G 4
G
5
G
?
?
?
( m )
11
01
10
00
T
S
M
U
X
X
O
M
U
X
0
1
OE
M
U
( n )
1
AC
1
AC
( n )
X
接与矩阵
0
AC
*
OLMC内部结构
GAL输出结构形式
1、寄存器输出结构 2、寄存器模式组合双向输出结构
3,组合输出双向结构 4,复合型组合输出结构
GAL输出结构形式
5,简单模式输出结构
GAL输出结构形式
反
馈
输
入
结
构
输
出
反
馈
结
构
GAL输出结构形式
引
脚
图
2、按集成度 (PLD)分类
可编程逻辑器件 ( P L D )
简单 P L D 复杂 P L D
P R O M P A L P L A G A L C P L D F P G A
可编程逻辑器件的发展历程
70年代 80年代 90年代
PROM
和PL
A
器
件
改
进
的 P
LA
器
件
GAL
器
件
FP
GA
器
件
EP
LD
器
件 C
PL
D
器
件
内嵌复杂
功能模块
的 SoPC
小 结
? PLD器件是 EDA技术的硬件基础
? PLD采用, 与-或, 阵列结构或查表结构
? PAL器件是一次编程的小规模 PLD
? GAL器件是可以多次编程的小规模 PLD,
具有灵活的 OLMC宏输出结构,可以取代全部
的 PAL器件,是小型数字系统设计的首选。
作业,P131 4.1 4.2
第 1讲
可编程器件结构简介
PAL和 GAL
PLD能做什么呢?可以毫不夸张的讲,PLD能完
成任何数字器件的功能,上至高性能 CPU,下至简单
的 74电路,都可以用 PLD来实现。 PLD如同一张白纸
或是一堆积木,工程师可以通过传统的原理图输入
法,或是硬件描述语言自由的设计一个数字系统。
通过软件仿真,我们可以事先验证设计的正确性。
在 PCB完成以后,还可以利用 PLD的在线修改能力,
随时修改设计而不必改动硬件电路。使用 PLD来开发
数字电路,可以大大缩短设计时间,减少 PCB面积,
提高系统的可靠性。 PLD的这些优点使得 PLD技术在
90年代以后得到飞速的发展,同时也大大推动了 EDA
软件和硬件描述语言( HDL)的进步。
? PLD
一,PLD的基本结构
查表结构 与-或
阵列结构
真值表 与-或表达式
1、逻辑函数的表示方法有,
输 入
缓冲
电路
与
阵
列
或
阵
列
输出
缓冲
电路
输
入
输
出
? ?
2、基本 PLD器件的原理结构图
3、输入电路模块
4、可编程“与”阵列 0A1A
1
F
0
F
2
A
2
F
0
A
1
A
1
F
0
F
2
A
2
F
4、可编程“或,阵列
0
A
1
A
1
F
0
F
2
A
2
F
0
A
1
A
1
F
0
F
2
A
2
F
可编程“与 —— 或,阵列
0
A
1
A
1
F
0
F
2
A
2
F
0
A
1
A
1
F
0
F
2
A
2
F
0
A
1
A
1
F
0
F
2
A
2
F
0
A
1
A
1
F
0
F
2
A
2
F
5、阵列线连接表示
6、输出电路
完成直接或寄存器输出及输出信号的反馈
7、一位加法器
与阵列(可编程)
或阵列
(可编程)
0
A
1
A
1
A
1A 0
A
0A
1
F
0
F
常见的 PLD有 PROM,PLA,PAL,GAL、
CPLD,FPGA等。目前对 PLD的分类没有统一的
标准,一种器件往往具有多种特征,并不能严格
的分类。本节介绍几种常用的分类方法。
1,按可编程的部位分类,
PROM( Programmable Read Only Memory)可编程
只读存储器 包括 EPROM,EEROM。
PLA( Programmable Logic Array)可编程逻辑阵列
PAL( Programmable Array Logic)可编程阵列逻辑
GAL( Generic Array Logic)通用阵列逻辑
二、可编程逻辑器件( PLD)的分类
与阵列 或阵列 输出电路
PROM 固定 可编程 固定
PLA 可编程 可编程 固定
PAL 可编程 固定 固定
GAL 可编程 固定 可组态
按可编程的部位分类
( 1) PROM可编程只读存储器
PROM表达的 PLD图阵列
与阵列(固定)
或阵列
(可编程)
0
A
1
A
1
A
1A 0
A
0A
1
F
0
F
用 PROM完成半加器逻辑阵列
与阵列(固定)
或阵列
(可编程)
0
A
1
A
1
A
1A 0
A
0A
1
F
0
F
011
10100
AAF
AAAAF
?
??
( 2) PLA可编程逻辑阵列
PLA逻辑阵列示意图
与阵列(可编程)
或阵列
(可编程)
0
A
1
A
1
A
1A 0
A
0A
1
F
0
F
PLA与 PROM的比较
0
A
1
A
1
F
0
F
2
A
2
F
0
A
1
A
1
F
0
F
2
A
2
F
( 3) PAL可编程阵列逻辑
0
A
1
A
1
F
0
F
0
A
1
A
1
F
0
F
PAL结构,PAL的常用表示,
11
10
01
00
R
11
10
01
00
R
Q
QD
11
10
01
00
R
11
10
01
00
R
Vcc
SG1
SL0
7
SL1
7
SG0 SL0
6
19 I/O
7
11
10
01
00
R
11
10
01
00
R
Q
QD
11
10
01
00
R
11
10
01
00
R
Vcc
SG1
SL0
6
SL1
6
SG1 SL0
6
18 I/O
6
1CLK/I
0
2I
1
3I
2
0
7
8
15
0 3 4 7 8 1211 15 16 19 20 23 24 27 28 31
一种 PAL16V8的部分结构图
General Array Logic Device
?GAL的与阵列和 PAL的类似
?或阵列及输出寄存器则采用 OLMC输出逻辑宏单元
?OLMC最多有 8个或项,每个或项最多有 32个与项
?采用 EEPROM技术,电擦除,可多次编程
?可以取代中小规模数字集成电路和 PAL器件
( 4) GAL通用阵列逻辑
2
0
7
19
0 3 4 7 8 1211 15 16 19 20 23 24 27 28 31
1
3
8
15
18
OLMC
OLMC
4
16
23
17
5
24
31
16
OLMC
OLMC
6
32
39
15
7
40
47
14
OLMC
OLMC
8
48
55
13
9
56
63
12
OLMC
OLMC
11
I/CLK
I
I
I
I
I
I
I
I
I/ OE
I/O/Q
I/O/Q
I/O/Q
I/O/Q
I/O/Q
I/O/Q
I/O/Q
I/O/Q
CLK
OE
GAL16V8的结构图
逻辑宏单元
输入 /输出口
输入口
时钟信
号输入
三态控制
可编程与阵列
固定或阵列
G
A
L
1
6
V
8
I/O ( n )
M
U
T
P
11
10
01
00
0
1
F
D
X OR ( n )
CL OC K
V c c
接零级输出
反馈
0
AC
1
AC
1
G
2
G
3
G 4
G
5
G
?
?
?
( m )
11
01
10
00
T
S
M
U
X
X
O
M
U
X
0
1
OE
M
U
( n )
1
AC
1
AC
( n )
X
接与矩阵
0
AC
*
OLMC内部结构
GAL输出结构形式
1、寄存器输出结构 2、寄存器模式组合双向输出结构
3,组合输出双向结构 4,复合型组合输出结构
GAL输出结构形式
5,简单模式输出结构
GAL输出结构形式
反
馈
输
入
结
构
输
出
反
馈
结
构
GAL输出结构形式
引
脚
图
2、按集成度 (PLD)分类
可编程逻辑器件 ( P L D )
简单 P L D 复杂 P L D
P R O M P A L P L A G A L C P L D F P G A
可编程逻辑器件的发展历程
70年代 80年代 90年代
PROM
和PL
A
器
件
改
进
的 P
LA
器
件
GAL
器
件
FP
GA
器
件
EP
LD
器
件 C
PL
D
器
件
内嵌复杂
功能模块
的 SoPC
小 结
? PLD器件是 EDA技术的硬件基础
? PLD采用, 与-或, 阵列结构或查表结构
? PAL器件是一次编程的小规模 PLD
? GAL器件是可以多次编程的小规模 PLD,
具有灵活的 OLMC宏输出结构,可以取代全部
的 PAL器件,是小型数字系统设计的首选。
作业,P131 4.1 4.2