电子技术第九章半导体存储器和可编程逻辑器件数字电路部分第九章 半导体存储器和可编程逻辑器件
9.1 半导体存储器
9.2 可编程逻辑器件 PLD
9.1 半导体存储器
9.1.1 只读存储器 ROM
A
0
A
1
W
0
W
1

A
n - 2
A
n - 1
地址译码
W
2 - 2
W
2 - 1
n
n
… 存储矩阵 N × M

缓冲级

F
1
F
2
F
n
地址输入图
1
N
字M

RO
M
结构
1,ROM的结构
ROM主要由地址译码器,存储矩阵和输出缓冲器三部分组成信息单元 -字文本单元字线
Di也称为“位线”
每个字中信息的位数称为“字长”
对于图 9-1 的存储矩阵有 2n个字,每个字的字长为 m,因此整个存储器的存储容量为
2n× m位。 存储容量也习惯用 K(1 K=1024)为单位来表示。
地址译码器
A
0
A
1
输出缓冲级三态控制
D
3
D
2
D
1
D
0
R R R R
W
0
W
1
W
2
W
3
图 2 二极管 ROM结构图
W0~W3四条字线分别选择存储矩阵中的四个字,每个字存放四位信息。制作芯片时,若在某个字中的某一位存入,1”,则在该字的字线 Wi与位线 Di
之间接入二极管,
反之,就不接二极
9.1.2 ROM
若将输入地址 A1A0视为输入变量,而将 D3,D2,D1,D0视为一组输出逻辑变量,则 D3,D2,D1,D0就是 A1,A0的一组逻辑函数 。
从组合逻辑结构来看,ROM中的地址译码器形成了输入变量的所有最小项,即每一条字线对应输入地址变量的一个最小项。
3100
211
3212
203
WWWD
WWD
WWWD
WWD




地址译码器
W
0
W
1
W
2
W
3
R R R R
输出缓冲器
D
3
D
2
D
1
D
0
D
3
D
2
D
1
D
0
三态控制存储矩阵
A
1
A
0
′ ′ ′ ′
地 址 数 据
A1 A0 D3 D2 D1 D0
0 0
0 1
1 0
1 1
1 0 0 1
0 1 1 1
1 1 1 0
0 1 0 1
地址译码器
A
0
A
1
输出缓冲级三态控制
D
3
D
2
D
1
D
0
R R R R
W
0
W
1
W
2
W
3
图 3 二极管 ROM结构图
3101010
2011
3001012
3210011101013
mmAAAAD
mAAD
mmAAAAD
mmmmAAAAAAAAD




,与,阵列
A
0
A
1
,或,阵列
F
0
F
1
F
2
F
3
m
0
m
1
m
2
m
3
m
0
m
1
m
2
m
3
F
0
F
1
F
2
F
3
A
0
A
1
A
0
A
1
A
0
A
1
( a ) ( b )
图 4 ROM的与或阵列图
(a) 框图; (b) 符号矩阵用 ROM
(1) 根据逻辑函数的输入,输出变量数,
ROM容量,选择合适的 ROM。
(2) 写出逻辑函数的最小项表达式,画出 ROM
阵列图 。
(3) 根据阵列图对 ROM进行编程。
例 1 用 ROM实现四位二进制码到格雷码的转换。
解 (1) 输入是四位二进制码 B3~B0,输出是四位格雷码,故选用容量为
24× 4的 ROM。
(2) 列出四位二进制码转换为格雷码的真值表 。 由表可写出下列最小项表达式:
)15,14,13,12,11,10,9,8(3G
)11,10,9,8,7,6,5,4(2G
)13,12,11,10,5,4,3,2(1G
)14,13,10,9,6,5,2,1(0G
图 5 四位二进制码转换为四位格雷码阵列图
1
B
3
1
B
2
1
B
1
1
B
0
W
0
W
1
W
2
W
3
W
4
W
5
W
6
W
7
W
8
W
9
W
10
W
11
W
12
W
13
W
14
W
15
G
2
G
1
G
0
G
3存储矩阵或阵列


A
3
A
2
A
1
A
0
2 × 4
R O M
4
D
3
D
2
D
1
D
0
B
3
B
2
B
1
B
0
G
3
G
2
G
1
G
0
( a )
( b )
地址译码器与阵列


9.1.3 ROM的编程及分类
1,ROM
ROM的编程是指将信息存入 ROM的过程 。 根据编程和擦除的方法不同,ROM可分为掩模 ROM,可编程 ROM(PROM)
和可擦除的可编程 ROM(EPROM)三种类型 。
1) 掩模 ROM
掩模 ROM中存放的信息是由生产厂家采用掩模工艺专门为用户制作的,这种 ROM出厂时其内部存储的信息就已经
,固化,在里边了,所以也称固定 ROM。 它在使用时只能读出,不能写入,因此通常只用来存放固定数据,固定程序和函数表等 。
2) 可编程 ROM(PROM)
PROM在出厂时,存储的内容为全 0(或全 1),用户根据需要,可将某些单元改写为 1(或 0)。 这种 ROM采用熔丝或 PN结击穿的方法编程,由于熔丝烧断或 PN结击穿后不能再恢复,因此 PROM只能改写一次 。
采用 PN结击穿法 PROM的存储单元原理图如图 所示,字线与位线相交处由两个肖特基二极管反向串联而成 。 正常工作时二极管不导通,字线和位线断开,相当于存储了
,0”。 若将该单元改写为,1”,可使用恒流源产生约 100~150 mA电流使 V2击穿短路,
存储单元只剩下一个正向连接的二极管 V1(见图 (b)),相当于该单元存储了,1”;未击穿
V2的单元仍存储,0”。
字线
W
i
位线
D
i
( a )
V
1
V
2 位线
D
i
字线
W
i
( b )
3) 可擦除的可编程 ROM(EPROM)
这类 ROM利用特殊结构的浮栅 MOS管进行编程,
ROM中存储的数据可以进行多次擦除和改写 。
9.1.4 随机存取存储器 (RAM)
随机存取存储器也称随机存储器或随机读 /写存储器,简称 RAM。
RAM工作时可以随时从任何一个指定的地址写入 (存入 )或读出 (取出 )信息 。 根据存储单元的工作原理不同,
RAM分为静态 RAM和动态 RAM。
1,静态随机存储器 (SRAM)
1)
SRAM主要由存储矩阵,地址译码器和读 /写控制电路三部分组成 。
行地址译码器存储矩阵

A
0
A
1
A
i


D
m -1
D
0
列地址译码器读/ 写控制电路
A
i + 1
A
n - 1
CS
R / W

I / O
0
I / O
m - 12,动态随机存储器 (DRAM)
9.1.5 存储器容量的扩展
1.
位扩展可以利用芯片的并联方式实现,下图是用八片 1024× 1 位的 RAM扩展为
1024× 8 位 RAM的存储系统框图 。 图中八片 RAM的所有地址线,R/W,CS分别对应并接在一起,而每一片的 I/O端作为整个 RAM的 I/O端的一位 。
ROM芯片上没有读 /写控制端 R/W,位扩展时其余引出端的连接方法与 RAM相同。
A
0
A
1
… A
9
R / W CS
1 0 2 4 × 1
R A M
I / O
A
0
A
1
… A
9
R / W CS
1 0 2 4 × 1
R A M
I / O

A
0
A
1
… A
9
R / W CS
1 0 2 4 × 1
R A M
I / O
I / O
1
I / O
2

I / O
7
… …
A
0
A
1

A
9
R / W
CS

2,字数的扩展字数的扩展可以利用外加译码器控制芯片的片选 (CS)输入端来实现 。 图中,译码器的输入是系统的高位地址 A9,A8,其输出是各片 RAM的片选信号 。 只有该片的信息可以读出,送到位线上,读出的内容则由低位地址 A7~A0决定 。 ROM的字扩展方法与上述方法相同 。
A
0
A
1
… A
7
R / W CS
2 5 6 × 8
R A M
I / O
0
I / O
7

( 1 )
A
0
A
1
… A
7
R / W CS
2 5 6 × 8
R A M
I / O
0
I / O
7

( 2 )
A
0
A
1
… A
7
R / W CS
2 5 6 × 8
R A M
I / O
0
I / O
7

( 3 )
A
0
A
1
… A
7
R / W CS
2 5 6 × 8
R A M
I / O
0
I / O
7

( 4 )
A
0
A
1


A
7
R / W
Y
0
… … …
A
8
A
9
2 —4 译码器
Y
1
Y
2
Y
3
I / O
0
I / O
7

A
0
A
1
9.2 可编程逻辑器件 PLD
1,PLD器件的发展概况
2,可编程逻辑器件的特点
(1) 减少系统的硬件规模。
(2) 增强逻辑设计的灵活性。
(3) 缩短系统设计周期。
(4) 简化系统设计,提高系统速度。
(5) 降低系统成本。
9.2.1 PLD的电路简介
1,基本门电路的 PLD
A B C
0
1
0 1
1 0
B
C
A
图 6 PLD输入缓冲器
A
B
C
D
D
传统 表示法
P L D 表示 法
A B C
输入 项积项图 7 与门表示法硬连线断开连接图 8 PLD连接法图 9 与门的省缺情况
A B
0 0
0 1
1 0
1 1
L
1
L
2
L
3
L
4
0 0 1 0
0 0 1 0
0 0 1 1
0 0 1 0
L
1
L
2
L
3
L
4
A B
2,PROM电路的 PLD表示法
I
0
I
1
I
2
,或,阵列 ( 可编 程的 )
O
0
O
1
O
2
,与,阵列 ( 固定的 )

10
PRO
M
电路的PL
D
表示法
3,FPLA电路的 PLD表示
I
0
I
1
I
2
,或,阵列 ( 可编 程的 )
O
0
O
1
O
2
,与,阵列 ( 可编 程的 )
图 11 FPLA电路的 PLD表示法例 2 试用 FPLA实现例 1要求的四位二进制码转换为格雷码的转换电路 。
解 用卡诺图对表 进行化简,如图 12 所示,则得
0
__
10
1
__
0
1
__
21
2
__
1
2
__
32
3
__
2
33
BBBBG
BBBBG
BBBBG
BG



式中共有 7个乘积项,它们是
016015
124123
23223130
BBPBBP
BBPBBP
BBPBBPBP



用这些乘积项表示式,可得
650
431
212
03
PPG
PPG
PPG
PG



00 01 11 10
00
01
11
10
101198
12 13 1415
G
3
B
1
B
0
B
3
B
2
B
3
5
00 01 11 10
00
01
11
10 101198
4 67
G
2
B
1
B
0
B
3
B
2
B
3
B
2
B
3
B
2
00 01
00
01
11
10
13
12
4
5
B
1
B
0
B
3
B
2
5
00 01 11 10
00
01
11
10
10
14
9
13
1
6
2
G
0
B
1
B
0
B
3
B
2
B
1
B
0
B
1
B
0
1011
23
11 10
B
2
B
1
B
2
B
1
G
1

12

2
化简的卡诺图
B
0
B
0
B
1
B
1
B
2
B
2
B
3
B
3
G
0
G
1
G
2
G
3
P
0
P
1
P
2
P
3
P
4
P
5
P
6
图 13 例 2的 FPLA的阵列图
4,PAL电路
I
0
I
1
I
2
,或,阵列 ( 固定的 )
O
0
O
1
O
2
,与,阵列 ( 可编 程的 )

14
PA
L
的基本结构
I
O
输入行
( a )
I
输入、反馈及 I / O
( b ) I / O
I
输入、反馈及 I / O
( c )
时钟
D Q
Q
EN
Q
I
输入、反馈及 I / O
( d )
时钟
D Q
Q
EN
Q
F
P
2
P
1
图 15 PAL的四种输
(a) 专用输出结构; (b)
可编程 I/O结构; (c) 寄存器输出结构;
(d) 异或型输出结构
5,GAL电路
(1) GAL的基本结构 。
① 8个输入缓冲器和 8个输出反馈 /输入缓冲器 。
② 8个输出逻辑宏单元 OLMC和 8个三态缓冲器,每个
OLMC对应 1个 I/O引脚 。
③ 由 8× 8个与门构成的与阵列,共形成 64个乘积项,
每个与门有 32个输入项,由 8个输入的原变量,反变量 (16)
和 8个反馈信号的原变量,反变量 (16)组成,故可编程与阵列共有 32× 8× 8=2048个可编程单元 。
④ 系统时钟 CK和三态输出选通信号 OE的输入缓冲器。
O L M C
( 1 9 )
0
0
1
2
8 16 24 31 CK
19
O L M C
( 1 8 )
8
3
18
O L M C
( 1 7 )
16
4
17
O L M C
( 1 6 )
24
5
16
O L M C
( 1 5 )
32
6
15
O L M C
( 1 4 )
40
7
14
O L M C
( 1 3 )
48
8
13
O L M C
( 1 2 )
56
9
12
63
11OE
( a )
1
2
3
4
5
6
7
8
9
10
20
19
18
17
16
15
14
13
12
11
G A L
1 6 V 8
( b )
U
CC
G N D
图 16 GAL16V8逻辑图
(a) 逻辑图; (b) 引脚图
P
T
M
U
X
1
0
G
1
AC 0
AC 1 ( n )
T
S
M
U
X
00
01
10
11
U
CC
0
M
U
X
1
0
I / O ( n )
Q
QD
F
M
U
X
10
11
01
00
AC 0
*
AC 1 ( n )
AC 1 ( m )
*
X O R (n )
反馈来自 与逻辑 阵列
C L K OE
来自 邻级输 出 (m )
C L K OE
G
2
图 17 OLMC
的内部结构
(2)
② 结构控制字。
32 位乘积项禁止
4 位
X O R (n )
1 位
S Y N
8 位
A C 1 (n )
1 位
A C 0
4 位
X O R (n )
32 位乘积项禁止
1 2 ~ 1 5
( n )
1 2 ~ 1 9
( n )
1 6 ~ 1 9
( n )
P T 6 3 ~ P T 3 2 P T 3 1 ~ P T 0
82 位图 18 GAL的结构控制字表 1 OLMC工作模式的配置选择
C L K
NC
O L M C (n )
OE
NC
至另一个邻级
I / O ( n )
NC
来自邻级输出 (m )
NC
C L K OE
NC
反馈
(a)
图 19 OLMC 5
(a) 专用输入模式;
C LK
NC
O LM C (n )
OE
NC
I / O ( n )
NC
来自 邻级输 出 (m )
NC
C LK OE
NC反馈
U
CC
X O R (n )
来自与逻 辑阵列图 19 OLMC 5种工作模式的等效电路
(b) 专用输出模式;
C LK
NC
O LM C (n )
OE
NC
I / O ( n )
NC
来自 邻级输 出 (m )
NC
C LK OE
NC
反馈
( c )
X O R (n )
来自与逻 辑阵列图 19 OLMC 5种工作模式的等效电路
(c) 反馈给输出模式;
C L K
O L M C (n )
OE
NC
I / O ( n )
NC
来自 邻级输 出 (m )
C L K OE
反馈
( d )
X O R (n )
来自与逻 辑阵列未连本宏 单元
( 至寄 存器输 出单元 ) ( 至寄 存器输 出单元 )
图 19 OLMC 5种工作模式的等效电路
(d) 时序电路中的组合模式;
C L K
O L M C ( n )
OE
I / O ( n )
NC
来自 邻级输 出 (m )
C L K OE
反馈
( e )
X O R ( n )
来自与逻 辑阵列
NC
D
Q
图 19 OLMC 5种工作模式的等效电路
(e) 寄存器输出模式
(3) 行地址映射。
移位 寄存器与阵 列 或阵 列电子 标签 电子 标签保留 地址空 间结构 控制字加密 单元保留整体 擦除
82 位
63
62
61
60
33
59

32
31
0
行地址
S
D O
S
D I
S
C L K
P T 03132P T 6 3
图 20 GAL16V8
地址映射图
6,高密度可编程逻辑器件通常将集成密度大于 1000个等效门 /片的 PLD称为高密度可编程逻辑器件 (HDPLD),它包括可擦除可编程逻辑器件 EPLD,复杂可编程逻辑器件 CPLD和现场可编程门阵列 FPGA三种类型 。
9.2.2 PLD的开发
1,可编程逻辑器件的设计过程设计准备设计输入设计处理器件编程 器件测试时序仿真功能仿真图 21 PLD设计流程
2,
(1) 在系统可编程技术。
i s p LS I
1 0 3 2
i s p G A L
2 2 V 1 0
i s p G D S
22
i s p LS I
2 0 3 2
i s p EN
S C LK
M O D E
S
DI
S
DO
五线 i S P 编程 接口图 22 多个 ispPLD的编程
(2) 边界扫描测试技术。
边界扫描测试技术主要用来解决芯片的测试问题。
标准的边界扫描测试只需要四根信号线,能够对电路板上所有支持边界扫描的芯片内部逻辑和边界管脚进行测试。应用边界扫描技术能增强芯片、电路板甚至系
45
第九章结束电子技术数字电路部分