第 10章 存储器和可编程逻辑器件数字逻辑设计及应用半导体存储器可编程逻辑器件半导体存储器
半导体存储器的分类
按制造工艺分,TTL双极型 和 MOS型
按存取方式分:
只读存储器 ( read-only memory,ROM )
随机存取存储器 ( random access memory,RAM)
顺序存取存储器 ( sequential access memory,SAM)
主要技术指标 存储容量、存取时间存储大量二值信息,封装 —— 引脚数目有线 —— 编址
利用存储器芯片实现组合逻辑函数
存储器芯片的扩展只读存储器是组合逻辑电路输入
A1 A0
输出
D3 D2 D1 D0
0 0
0 1
1 0
1 1
0 1 0 1
1 0 1 1
0 1 0 0
1 1 1 0
0101
1011
0100
1110
00
01
10
11输入 输出地址输入 数据输出地址 数据存储容量,2n× b 位( bit)
可以存放 2n 个字,每个字 b 位地址输入
A1 A0
数据输出
D3 D2 D1 D0
0 0
0 1
1 0
1 1
0 1 0 1
1 0 1 1
0 1 0 0
1 1 1 0
只读存储器
如何实现??
A1’·A0’= W0
A1’·A0= W1
A1·A0’= W2
A1·A0 = W3
D0 = W0 + W1
D1 = W1 + W3
D2 = W0 + W2 + W3
D3 = W1 + W3
与门或门实现地址译码
,实现存储矩阵二极管 ROM的内部结构回顾:
二极管与门二极管或门
A1
A0
VCC
W
D
W0 W1
A1
A0
R
VCC
W
W0
W1 D
R
W = A1·A0
D = W1+W0
VCC
W0 W1 W2 W3
A1’
A0’
A1
A0
与阵列或阵列
RD_L
D3’ = W1 + W3
D2’ = W0 + W2 + W3
D1’ = W1 + W3
D0’ = W0 + W1
D3
D2
D1
D0
输出缓冲地址译码存储矩阵字线位线有二极管相当于存 1,
否则相当于存 0。
提高带载能力实现三态控制用 MOS管构成的存储矩阵字线与位线的交叉点处,有 MOS管时相当于存 1无 MOS管时相当于存 0
字线 位线W0 W1 W0 W1
D3
D2
D1
D0
ROM的点阵结构图
W0 W1 W2 W3
A1
A0
D3
D2
D1
D0
RD_L
W0 = m0
W1 = m1
W2 = m2
W3 = m3
最小项最小项之和可以用来实现组合逻辑函数
= W1 + W3
= W0 + W2 + W3
= W1 + W3
= W0 + W1
表示 1(有晶体管)
ROM的内部结构存储矩阵地址译码器输出缓冲器地址输入数据输出三态控制一维译码 大容量的 ROM通常采用二维译码使用 7-128译码器实现地址译码?
二维译码译码器多路复用器
128× 1 ROM
行列
32K× 8 ROM
32K? 32 × 1024
215
29+6
512 × 64
行 译码器 列 多路复用器
ROM的内部结构行译码器 存储阵列列多路复用器接通电源 接通电源接通电源片选输入,CS_L
输出使能,OE_L
chip-select
output-enable 三态输出
ROM的时序
P622 图 10-14
ROM的分类
掩模 ROM
可编程只读存储器 PROM
Programmable ROM
可擦除的可编程只读存储器 EPROM
Erasable PROM
电可擦除的可编程只读存储器 E2PROM
Electrically Erasable PROM
快闪存储器 — Flash Memory
—— 非易失性存储器
nonvolatile memory
随机存取存储器
RAM的分类
静态存储器
static RAM,SRAM
动态存储器
dynamic RAM,DRAM
—— 读写存储器存储 1位的时间与存储位置无关
2n× bRAM
A0
An-1
DI0 DO0
DIb-1 DOb-1
CS
OE
WE
—— 易失性存储器( volatile memory)
如何得到非易失性存储器?
RAM+ 电池
使用 EEPROM
SRAM的内部结构基本锁存单元
Wi,字线地址选择
D’ D 位线,数据线既作为输入也作为输出存储 1位需要 6个管子
Wi,字线地址选择
D’ D 位线,数据线既作为输入也作为输出地址选择 SEL_L
写控制 WR_L
数据输入数据输出地址选择 SEL_L
写控制 WR_L
数据输入数据输出地址选择 SEL_L
写控制 WR_L
数据输入 IN OUT 数据输出一位存储单元静态 RAM的内部结构,P629 图 10-21
DIN3 DIN2 DIN1 DIN0
DO3 DO2 DO1 DO0
A2
A1
A0
3-8
译码器
P629
图 10-21
WE_L
CS_L
OE_L
DIO3 DIO2
WE_L
CS_L
OE_L
DO3 DO2
write enable
chip select
output enable
减少引脚数目双向数据总线
DRAM的内部结构
利用 MOS管的栅极电容可以存储电荷的原理制成
栅极电容的容量很小,电荷保存时间有限
必须定时给栅极电容补充电荷 —— 刷新存储 1位只需 1个管子
( SRAM需要 6个)
结构简单,集成度高
0V
VCC
Vcap
HIGH
LOW
字线 位线顺序存取存储器 SAM
顺序:每个存储单元的存取时间与其位置有关
由移位寄存器和控制电路组成
可分为:先入先出 FIFO,先入后出 FILO
D D D
CLK CLK CLK
CLK
DIN
R/W
FIFO
⑧
DIO
⑦
DIO
⑥
DIO
⑤
DIO
④
DIO
③
DIO
②
DIO
ROM的扩展位扩展:用 64K× 1位的 RAM接成 64K× 8位的 RAM
D7
D0
①
64K× 1
DIO
WE
CS
A0~A15
所有芯片共用 地址线 和 控制线 (扇出能力)
各芯片的 数据线 并列实现扩展字扩展:用 8K× 8位的 RAM接成 64K× 8位的 RAM
⑧
DIO
⑦
DIO
⑥
DIO
⑤
DIO
④
DIO
③
DIO
②
DIO
①
8K× 8
DIOWE
CS_L
A0~A12
D0~D7
3-8
译码器
A15
A14
A14
所有芯片共用数据线和读写信号线、低位地址线,
高位地址线通过译码形成对各芯片的片选线。
注意每个芯片对应的地址范围利用 ROM实现组合逻辑函数
W0 W1 W2 W3
A1
A0
D3
D2
D1
D0
RD_L
最小项之和与阵列固定(地址译码)
或阵列(存储阵列)可进行编程,实现组合逻辑函数
2-4 译码器对应最小项
m0 m1 m2 m3
利用 ROM实现组合逻辑函数例:设计实现一个 4× 4 无符号二进制数乘法
28× 8ROM
A0 D0
A1 D1
A2 D2
A3 D3
A4 D4
A5 D5
A6 D6
A7 D7
P0
P1
P2
P3
P4
P5
P6
P7
乘积
Y0
Y1
Y2
Y3
被乘数
Y0
Y1
Y2
Y3
乘数事先把结果存入 ROM( P614表 10-3)
利用 ROM实现组合逻辑函数例:设计一个七段字符显示译码器,画出点阵图
1、逻辑抽象,列真值表
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 1 1 1 1 1 0
0 1 1 0 0 0 0
1 1 0 1 1 0 1
1 1 1 1 0 0 1
0 1 1 0 0 1 1
1 0 1 1 0 1 1
0 0 1 1 1 1 1
1 1 1 0 0 0 0
1 1 1 1 1 1 1
1 1 1 0 0 1 1
A3 A2 A1 A0 a b c d e f g
0
1
2
3
4
5
6
7
8
9
输入:
BCD码
A3~ A0
输出:
a ~ g
7 位
2、选择 ROM实现,得到点阵图
≥1
≥1
≥1
≥1
≥1
≥1
≥1
≥1
A0
A1
A2
A3
a
b
c
d
e
f
g
4-16 译码器
W0 W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 … … … W15
浪费的资源浪费的资源
≥1
≥1
≥1
≥1
≥1
≥1
≥1
≥1
& && & & & & & & & &&&&&&
A0
A1
A2
A3
a
b
c
d
e
f
g
与阵列固定更详细的图或阵列
(
编程
)
数字集成电路可分为,通用型、专用型
可编程逻辑器件 (通用型)
( programmable logic device,PLD)
专用集成电路
( application specific integrated circuit,ASIC)
简单可编程逻辑器件( simple PLD,SPLD)
—— PROM,PLA( FPLA),PAL( GAL)
复杂可编程逻辑器件 ( complex PLD,CPLD)
现场可编程门阵列
( field programmable gates array,FPGA)
(中 P640,英 P872,图 10-37)
(中 P647,英 P882,图 10-43)
可编程逻辑器件( PLD)
可分为:组合型 PLD( P235) 和时序型 PLD( 496)
PROM
PLA
PAL( GAL)
—— 组合型,与阵列固定,或阵列可编程
—— programmable logic array,可编程逻辑阵列与、或阵列均可编程 (中 P236,英 P338,图 5-21)
——与阵列可编程,或阵列固定组合型,中 P238 / 英 P341 图 5-25 图 5-27
时序型 = 组合型 + 锁存器与 -或阵列 通用输出宏单元时序型,中 P498 / 英 P686 图 8-18 图 8-20
generic array logic,通用阵列逻辑图 8-21
programmable array logic,可编程阵列逻辑
≥1
≥1
≥1
≥1
≥1
≥1
≥1
≥1
& && & & & & & & & &&&&&&
A
B
C
D
Y0
Y1
Y2
Y3
Y4
Y5
Y7
Y6
或阵列与阵列逻辑阵列
& &&&&&&&
A
B
C
D
≥1
≥1
≥1
≥1
Y0
Y1
Y2
Y3
Y0 = ABCD + ABCD
Y1 = AC + BD
Y2 = A?B
Y3 = C⊙ D
用 FPLA设计组合逻辑电路或阵列固定,与阵列可编程
&
&
&
&
&
&
≥1
≥1
I1 I2 Ik
O1
O2
PAL器件的基本电路结构输出极性控制可编程
A? 0 = A
A?1 = A’
常用术语及缩写
PLD,Programmable Logic Device 可编程逻辑器件
SPLD,Simple PLD 简单可编程逻辑器件
CPLD,Complex PLD 复杂可编程逻辑器件
FPGA,Field Programmable Gates Array 现场可编程门阵列
ASIC,Application Specific Integrated Circuit 专 用集成电路第 10章
教学大纲要求:
学习了解存储器( ROM,SRAM) 的基本工作原理和结构;
学习掌握存储器在数字逻辑系统设计的硬件实现中的运用。
要点:
利用存储器实现组合逻辑函数
半导体存储器的分类
按制造工艺分,TTL双极型 和 MOS型
按存取方式分:
只读存储器 ( read-only memory,ROM )
随机存取存储器 ( random access memory,RAM)
顺序存取存储器 ( sequential access memory,SAM)
主要技术指标 存储容量、存取时间存储大量二值信息,封装 —— 引脚数目有线 —— 编址
利用存储器芯片实现组合逻辑函数
存储器芯片的扩展只读存储器是组合逻辑电路输入
A1 A0
输出
D3 D2 D1 D0
0 0
0 1
1 0
1 1
0 1 0 1
1 0 1 1
0 1 0 0
1 1 1 0
0101
1011
0100
1110
00
01
10
11输入 输出地址输入 数据输出地址 数据存储容量,2n× b 位( bit)
可以存放 2n 个字,每个字 b 位地址输入
A1 A0
数据输出
D3 D2 D1 D0
0 0
0 1
1 0
1 1
0 1 0 1
1 0 1 1
0 1 0 0
1 1 1 0
只读存储器
如何实现??
A1’·A0’= W0
A1’·A0= W1
A1·A0’= W2
A1·A0 = W3
D0 = W0 + W1
D1 = W1 + W3
D2 = W0 + W2 + W3
D3 = W1 + W3
与门或门实现地址译码
,实现存储矩阵二极管 ROM的内部结构回顾:
二极管与门二极管或门
A1
A0
VCC
W
D
W0 W1
A1
A0
R
VCC
W
W0
W1 D
R
W = A1·A0
D = W1+W0
VCC
W0 W1 W2 W3
A1’
A0’
A1
A0
与阵列或阵列
RD_L
D3’ = W1 + W3
D2’ = W0 + W2 + W3
D1’ = W1 + W3
D0’ = W0 + W1
D3
D2
D1
D0
输出缓冲地址译码存储矩阵字线位线有二极管相当于存 1,
否则相当于存 0。
提高带载能力实现三态控制用 MOS管构成的存储矩阵字线与位线的交叉点处,有 MOS管时相当于存 1无 MOS管时相当于存 0
字线 位线W0 W1 W0 W1
D3
D2
D1
D0
ROM的点阵结构图
W0 W1 W2 W3
A1
A0
D3
D2
D1
D0
RD_L
W0 = m0
W1 = m1
W2 = m2
W3 = m3
最小项最小项之和可以用来实现组合逻辑函数
= W1 + W3
= W0 + W2 + W3
= W1 + W3
= W0 + W1
表示 1(有晶体管)
ROM的内部结构存储矩阵地址译码器输出缓冲器地址输入数据输出三态控制一维译码 大容量的 ROM通常采用二维译码使用 7-128译码器实现地址译码?
二维译码译码器多路复用器
128× 1 ROM
行列
32K× 8 ROM
32K? 32 × 1024
215
29+6
512 × 64
行 译码器 列 多路复用器
ROM的内部结构行译码器 存储阵列列多路复用器接通电源 接通电源接通电源片选输入,CS_L
输出使能,OE_L
chip-select
output-enable 三态输出
ROM的时序
P622 图 10-14
ROM的分类
掩模 ROM
可编程只读存储器 PROM
Programmable ROM
可擦除的可编程只读存储器 EPROM
Erasable PROM
电可擦除的可编程只读存储器 E2PROM
Electrically Erasable PROM
快闪存储器 — Flash Memory
—— 非易失性存储器
nonvolatile memory
随机存取存储器
RAM的分类
静态存储器
static RAM,SRAM
动态存储器
dynamic RAM,DRAM
—— 读写存储器存储 1位的时间与存储位置无关
2n× bRAM
A0
An-1
DI0 DO0
DIb-1 DOb-1
CS
OE
WE
—— 易失性存储器( volatile memory)
如何得到非易失性存储器?
RAM+ 电池
使用 EEPROM
SRAM的内部结构基本锁存单元
Wi,字线地址选择
D’ D 位线,数据线既作为输入也作为输出存储 1位需要 6个管子
Wi,字线地址选择
D’ D 位线,数据线既作为输入也作为输出地址选择 SEL_L
写控制 WR_L
数据输入数据输出地址选择 SEL_L
写控制 WR_L
数据输入数据输出地址选择 SEL_L
写控制 WR_L
数据输入 IN OUT 数据输出一位存储单元静态 RAM的内部结构,P629 图 10-21
DIN3 DIN2 DIN1 DIN0
DO3 DO2 DO1 DO0
A2
A1
A0
3-8
译码器
P629
图 10-21
WE_L
CS_L
OE_L
DIO3 DIO2
WE_L
CS_L
OE_L
DO3 DO2
write enable
chip select
output enable
减少引脚数目双向数据总线
DRAM的内部结构
利用 MOS管的栅极电容可以存储电荷的原理制成
栅极电容的容量很小,电荷保存时间有限
必须定时给栅极电容补充电荷 —— 刷新存储 1位只需 1个管子
( SRAM需要 6个)
结构简单,集成度高
0V
VCC
Vcap
HIGH
LOW
字线 位线顺序存取存储器 SAM
顺序:每个存储单元的存取时间与其位置有关
由移位寄存器和控制电路组成
可分为:先入先出 FIFO,先入后出 FILO
D D D
CLK CLK CLK
CLK
DIN
R/W
FIFO
⑧
DIO
⑦
DIO
⑥
DIO
⑤
DIO
④
DIO
③
DIO
②
DIO
ROM的扩展位扩展:用 64K× 1位的 RAM接成 64K× 8位的 RAM
D7
D0
①
64K× 1
DIO
WE
CS
A0~A15
所有芯片共用 地址线 和 控制线 (扇出能力)
各芯片的 数据线 并列实现扩展字扩展:用 8K× 8位的 RAM接成 64K× 8位的 RAM
⑧
DIO
⑦
DIO
⑥
DIO
⑤
DIO
④
DIO
③
DIO
②
DIO
①
8K× 8
DIOWE
CS_L
A0~A12
D0~D7
3-8
译码器
A15
A14
A14
所有芯片共用数据线和读写信号线、低位地址线,
高位地址线通过译码形成对各芯片的片选线。
注意每个芯片对应的地址范围利用 ROM实现组合逻辑函数
W0 W1 W2 W3
A1
A0
D3
D2
D1
D0
RD_L
最小项之和与阵列固定(地址译码)
或阵列(存储阵列)可进行编程,实现组合逻辑函数
2-4 译码器对应最小项
m0 m1 m2 m3
利用 ROM实现组合逻辑函数例:设计实现一个 4× 4 无符号二进制数乘法
28× 8ROM
A0 D0
A1 D1
A2 D2
A3 D3
A4 D4
A5 D5
A6 D6
A7 D7
P0
P1
P2
P3
P4
P5
P6
P7
乘积
Y0
Y1
Y2
Y3
被乘数
Y0
Y1
Y2
Y3
乘数事先把结果存入 ROM( P614表 10-3)
利用 ROM实现组合逻辑函数例:设计一个七段字符显示译码器,画出点阵图
1、逻辑抽象,列真值表
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 1 1 1 1 1 0
0 1 1 0 0 0 0
1 1 0 1 1 0 1
1 1 1 1 0 0 1
0 1 1 0 0 1 1
1 0 1 1 0 1 1
0 0 1 1 1 1 1
1 1 1 0 0 0 0
1 1 1 1 1 1 1
1 1 1 0 0 1 1
A3 A2 A1 A0 a b c d e f g
0
1
2
3
4
5
6
7
8
9
输入:
BCD码
A3~ A0
输出:
a ~ g
7 位
2、选择 ROM实现,得到点阵图
≥1
≥1
≥1
≥1
≥1
≥1
≥1
≥1
A0
A1
A2
A3
a
b
c
d
e
f
g
4-16 译码器
W0 W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 … … … W15
浪费的资源浪费的资源
≥1
≥1
≥1
≥1
≥1
≥1
≥1
≥1
& && & & & & & & & &&&&&&
A0
A1
A2
A3
a
b
c
d
e
f
g
与阵列固定更详细的图或阵列
(
编程
)
数字集成电路可分为,通用型、专用型
可编程逻辑器件 (通用型)
( programmable logic device,PLD)
专用集成电路
( application specific integrated circuit,ASIC)
简单可编程逻辑器件( simple PLD,SPLD)
—— PROM,PLA( FPLA),PAL( GAL)
复杂可编程逻辑器件 ( complex PLD,CPLD)
现场可编程门阵列
( field programmable gates array,FPGA)
(中 P640,英 P872,图 10-37)
(中 P647,英 P882,图 10-43)
可编程逻辑器件( PLD)
可分为:组合型 PLD( P235) 和时序型 PLD( 496)
PROM
PLA
PAL( GAL)
—— 组合型,与阵列固定,或阵列可编程
—— programmable logic array,可编程逻辑阵列与、或阵列均可编程 (中 P236,英 P338,图 5-21)
——与阵列可编程,或阵列固定组合型,中 P238 / 英 P341 图 5-25 图 5-27
时序型 = 组合型 + 锁存器与 -或阵列 通用输出宏单元时序型,中 P498 / 英 P686 图 8-18 图 8-20
generic array logic,通用阵列逻辑图 8-21
programmable array logic,可编程阵列逻辑
≥1
≥1
≥1
≥1
≥1
≥1
≥1
≥1
& && & & & & & & & &&&&&&
A
B
C
D
Y0
Y1
Y2
Y3
Y4
Y5
Y7
Y6
或阵列与阵列逻辑阵列
& &&&&&&&
A
B
C
D
≥1
≥1
≥1
≥1
Y0
Y1
Y2
Y3
Y0 = ABCD + ABCD
Y1 = AC + BD
Y2 = A?B
Y3 = C⊙ D
用 FPLA设计组合逻辑电路或阵列固定,与阵列可编程
&
&
&
&
&
&
≥1
≥1
I1 I2 Ik
O1
O2
PAL器件的基本电路结构输出极性控制可编程
A? 0 = A
A?1 = A’
常用术语及缩写
PLD,Programmable Logic Device 可编程逻辑器件
SPLD,Simple PLD 简单可编程逻辑器件
CPLD,Complex PLD 复杂可编程逻辑器件
FPGA,Field Programmable Gates Array 现场可编程门阵列
ASIC,Application Specific Integrated Circuit 专 用集成电路第 10章
教学大纲要求:
学习了解存储器( ROM,SRAM) 的基本工作原理和结构;
学习掌握存储器在数字逻辑系统设计的硬件实现中的运用。
要点:
利用存储器实现组合逻辑函数