第7章 半导体存储器和可编程逻辑器件
7.1 概述
1. 大规模集成电路分类
(1)半导体存储器
半导体存储器是现代数字系统特别是计算机中的重要组 成部分之一。 它用于存放二进制信息,主要以半导体器件 为基本存储单元,用集成工艺制成。
每一片存储芯片包含大量的存储单元,每一个存储单元 由唯一的地址代码加以区分,并能存储一位或多位二进制 信息。
(2)可编程逻辑器件
(Programmable Logic Device,PLD)
(3)微处理器
可编程逻辑器件是20世纪70年代后期发展起来的一种功能特殊 的大规模集成电路,它是一种可以由用户定义和设置逻辑功能 的器件。
微处理器主要指通用的微处理机芯片,它的功能由汇编语言 编写的程序来确定,具有一定的灵活性。但该器件很难与其 他类型的器件直接配合,应用时需要用户设计专门接口电路。
特点:结构灵活、集成度高、处理速度快、可靠性高
微处理器是构成计算机的主要部件。目前除用作CPU外,多 用于实时处理系统。
2. PLD器件的连接表示方法
固定连接 可编程连接 不连接
(1)PLD 器件的连接表示法
(2)门电路表示法
1 A
A
1
A
A A A
反向缓冲器
A B C
&
F
A B C
&
F
与门
A B C
≥1
F
A B C
≥1
F
或门
缓冲器
(3) 阵列图
1
A
1
B
1
C
&
&
&
&
D=BC
E=AABBCC=0
F=AABBCC=0
G=1
7.2 半导体存储器
7.2.1 半导体存储器概述
半导体存储器是用半导体器件来存储二值信息的大规 模集成电路。
1. 半导体存储器的分类
随机存取存储器(Random Access Memory,RAM)
RAM可以随时从任一指定地址读出数据,也可以随时 把数据写入任何指定的存储单元.数据不可长期保留, 断电后立即消失。
只读存储器(Read Only Memory,ROM)
ROM存放固定信息,只能读出信息,不能写入信息.当电 源切断时,信息依然保留.
(1)按存取方式分类
(2)按制造工艺分类 双极型半导体存储器
MOS型半导体存储器
以双极型触发器为基本存储单元,具有工作速度快、功耗大、
价格较高的特点,主要用于对速度要求较高的场合,如在计算 机中用作高速缓冲存储器。
以MOS触发器或电荷存储结构为基本存储单元,具有集成度高、
功耗小、工艺简单、价格低的特点,主要用于大容量存储系统 中,如在计算机中用作主存储器。
2. 半导体存储器的主要技术指标
(1)存储容量
指存储器所能存放的二进制信息的总量
(2)存取时间
一般用读(或写)周期来描述,连续两次读(或写)
操作的最短时间间隔称为读(或写)周期。
7.2.2 只读存储器(ROM)
按数据的写入方式分类 固定 ROM
可编程 ROM
1. 固定 ROM
(1) ROM的结构
. . .
. . .
A 0 A 1
A n1
地 址 译 码 器
存储阵列 2
n×m
W 0 W 1
W 2 n 1
F 0 F 1 F m1
字线 位线
地址线
1) 地址译码器为二进制译码器,即全译码结构.(地址线为 n根,译码器输出为2 n 根字线,说明存储阵列中有2 n 个存 储单元)
2) 存储阵列输出有m根位线,说明每个存储单元有m位,即 一个字有m位二进制信息组成.每一位称为一个基本存 储单元.
3) 存储器的容量定义为: 字数×位数(2 n ×m).
(2)一个二极管ROM的例子
A 1 A 0 F 0 F 1 F 2 F 3
0 0
0 1 0 00 1
1 0 0 11 0
0 1 1 01 1
0 0 1 01
A 1
1
A 0
&
&
&
&
W 0
W 1
W 2
W 3
F 0 F 1 F 2 F 3
位线
字线
① W 0 ~W 3 为地址译码器的输出 W i =m i (m i 为地址码组成 的最小项)
② 当A 1 A 0 =00时,W 0 =1, F 0 F 1 F 2 F 3 =0100(一个字);
当A 1 A 0 =01时,W 1 =1, F 0 F 1 F 2 F 3 =1001(一个字);
当A 1 A 0 =10时,W 2 =1, F 0 F 1 F 2 F 3 =0110(一个字);
当A 1 A 0 =11时,W 3 =1, F 0 F 1 F 2 F 3 =0010(一个字)。
③ 将地址输入和F i 之间的关系填入真值表得:
地址 数据
A 1 A 0 F 0 F 1 F 2 F 3 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 0
F
0=A
1A
0F
1=A
1A
0+ A
1A
0F
2=A
1A
0+ A
1A
0F
3=A
1A
0ROM实际是一种组合电路结构。
④ 阵列图
与阵列:
表示译 码器。
或阵列:
表示存 储阵列。
存储容量为: 4×4
地址 数据
A 1 A 0 F 0 F 1 F 2 F 3 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 0
A 1 1
A 0 1
& & & &
≥1
≥1
≥1
≥1
F 0 F 1 F 2 F 3
m
0m
1m
2m
3F
0=A
1A
0F
1=A
1A
0+ A
1A
0F
2=A
1A
0+ A
1A
0F
3=A
1A
02.可编程ROM
用户可根据需要自行进行编程的存储器.
一次性可编程 ROM
(Programmable Read Only Memory,PROM)
光可擦除可编程ROM
(Erasable Programmable Read Only Memory, EPROM)
电可擦除可编程 ROM
(Electrical Erasable Programmable Read Only Memory,
E 2 PROM)
快闪存储器(Flash Memory)
位线
字线
编程为一次性的,烧断的熔丝 不能再接上.
当在该位上需要存0时,通过 编程,烧断熔丝;当需存1时, 保留熔丝.
(1)一次性可编程 ROM(PROM)
PROM的结构图
(2)光可擦除可编程ROM (EPROM)
EPROM 是一种可以多次擦除和改写内容的 ROM。
它与PROM 的总体结构相似,只是采用了不同的存储单元。
1)浮栅注入 MOS 管(FAMOS 管)
存储单元采用两只 MOS管
缺点:集成度低、击穿电压高、速度较慢
层叠栅存储单元
2)叠层栅注入 MOS 管(SIMOS 管)
叠层栅MOS管剖面示意图
控制栅
与字线 相连,控制信息的读 出和写入。
浮栅
埋在二氧化硅绝缘层,处于 电“悬浮”状态,不与外部导 通,注入电荷后可长期保存。
1 信息:
出厂时所有存储单元的浮栅均无 电荷,可认为全部存储了1 信息。
0 信息:
在 SIMOS 管的漏极和源极(地)之间加上较高的电压(约 25V),形 成雪崩击穿现象,产生大量高能电子。同时在控制栅极上加高 压正脉冲(50ms,25V) ,则在控制栅正脉冲电压的吸引下,
部分高能电子将穿过二氧化硅层到达浮栅,被浮栅俘获,浮栅 注入电荷,注入电荷的浮栅可认为写入 0。
信息写入
栅极加+5V电压,该SIMOS管不导通,只能读出所存储的内 容,不能写入信息。
正常工作
信息擦除
紫外线照射SIMOS管时,浮栅上的电子形成光电流而泄放,又 恢复到编程前的状态,即将其存储内容擦除。
常用的EPROM集成芯片
Intel 2716(2K×8位)、
2732(4K×8位)、
2764(8K×8位)、
27128(16K×8位)、
27256(32K×8位)
实际中,EPROM芯片的编程和擦除操作是使用专门的编程器 和擦除器完成的。
(3)电可擦除可编程ROM (E
2PROM)
特点:
①编程和擦除均由电完成;
②既可整片擦除,也可使某些存储单元单独擦除;
③重复编程次数大大高于EPROM.
E
2PROM存储单元
T 2 是门控管T 1 是浮栅隧道氧化层MOS 管(简称Flotox管)
Flotox管剖面示意图
1 状态:
令W i =1、Y j =0,则T 2 导通,T 1 漏极D 1 接近0电平,然后在擦写栅 G 1 加上21V正脉冲,就可以在浮栅与漏极区之间的极薄绝缘层内 出现隧道,通过隧道效应,使电子注入浮栅。
0 状态:
擦写栅接0电平、W i =1、Y j 加上21V正脉冲,使T 1 漏极获得大 约+20V的高电压,则浮栅上的电子通过隧道返回衬底,则浮 栅上就没有注入电子,定义为0状态。
信息写入
根据浮栅上是否注入电子 来定义0和1状态。
浮栅注入电子是利用隧道 效应进行的。
信息读出
读出1:
擦写栅加+3V电压,字线加+5V正常电平,这时T 2 管导 通,若浮栅上有注入电子,则T 1 不能导通, 在位线上可 读出1.
读出0:
若浮栅上没有注入电子,则T 1 导通,在位线上可读出0。
擦写栅和待擦除单元的字线上加21V的正脉冲,漏极接低电平,
即可使存储单元回到写入0前的状态,完成擦除操作。
早期E 2 PROM芯片都需用高电压脉冲进行编程和擦写,由专用 编程器来完成。
但目前绝大多数E 2 PROM集成芯片都在内部设置了升压电路,
使擦、写、读都可在+5V电源下进行,不需要编程器。
信息擦除
(4)快闪只读存储器(Flash Memory)
快闪只读存储器是在吸收
E
2PROM擦写方便
和EPROM
结构简单、编程可靠的基础上研制出来的一种新型器 件,它是采用一种类似于EPROM的单管叠栅结构的存 储单元制成的新一代用电信号擦除的可编程ROM。EPROM:一只MOS管,结构简单,利于集成,但擦除
及改写内容不方便。E
2PROM:两只MOS管,擦除及改写内容较方便,但
限制了集成度的进一步提高。快闪存储器存储单元
叠栅MOS管剖面示意图
1 状态:
浮栅未注入电子,相当于存储1。
0 状态:
利用雪崩注入的方法使浮栅充电,相当于存储0;
信息写入
与EPROM相同
读出1:
反之,若浮栅上有注入电子,叠栅MOS管截止,位线 输出高电平。
读出0:
令Wi=1,Vss=0,若浮栅上没有注入电子,则叠栅 MOS管导通,位线输出低电平;注入电子,则T1导 通,在位线上可读出0。
信息读出
信息擦除
快闪只读存储器的擦除方法与E 2 PROM类似,是利 用隧道效应来完成的。在擦除状态下,控制栅G处 于0电平,源极加入高压脉冲(12V),在浮栅与源 区间很小的重叠区域产生隧道效应,使浮栅上的电 荷经隧道释放。
3.PROM的应用
1) 实现组合逻辑函数
用PROM实现组合逻辑函数,实际上是利用PROM中的 最小项,通过或阵列编程,达到设计目的.
F
1(A,B,C)=Σm(1,5,6,7) F
2(A,B,C)=Σm(0,1,3,6,7)
F
3(A,B,C)=Σm(3,4,5,6,7)
例:用PROM实现逻辑函数:
A 1
& & & &
≥1
≥1
≥1
F 1 F 2 F 3
B 1
C 1
& & & &
m 0 m 1 m 2 m 3 m 4 m 5 m 6 m 7
2) 存放数据表和函数表:例如三角函数、对数、乘法等表格。
3)存放调试好的程序。
* 2)、3)是PROM的主要用途。
例:试用PROM构成2×2高速乘法器
7.2.3 随机存取存储器(RAM)
RAM可以随时从任一指定地址读出数据,也可以随时把数 据写入任何指定的存储单元 .
RAM在计算机中主要用来存放程序及程序执行过程中产 生的中间数据、运算结果等.
RAM按工艺分类: 1)双极型;2)场效应管型。
场效应管型分为: 1)静态;2)动态。
1. RAM的结构
. . .
. . .
A 0 A 1
A n1
地 址 译 码 器
存 储 矩 阵
W 0 W 1
W 2 n 1
地址线 字线
读/写控制电路 读/写控制(R/W)
片选(CS) 数据输入/输出 (I/O)
EN
EN 1
1
I/O
D R/W
当片选信号CS无效时,I/O对外呈高阻;
当片选信号CS有效时,由R/W信号决定读或写,根据 地址信号,通过I/O输出或输入.(I/O为双向三态结构)
2. RAM的存储单元
(1)SRAM基本存储单元
(以六管NMOS静态存储单元为例)
X i
Y j
I/O I/O
V CC
Q Q T 6
T 4
T 3 T 1 T 2
T 5
T 7 T 8
位 线 B j 位
线 B j
存储 单元
1 1
I/O I/O
Q Q
(2)DRAM基本存储单元
DRAM的基本存储电路由动态MOS基本存储单元组成。
DMOS基本存储单元通常利用MOS管栅极电容或其它寄 生电容的电荷存储效应来存储信息。
电路结构(以单管动态存储单元为例)
位线 数据线
(D)
字选线
T
C S C D
输出 电容
写信息:字选线为1,T导通,
数据D经T送入C S .
读信息:字选线为1,T导通,
C S 上的数据经T送入位线的等 效电容C D .
1)当不读信息时,电荷在 电容C S 上的保存时间约 为数毫秒到数百毫秒;
2)当读出信息时,由于要对C D 充电,使C S 上的电荷 减少。为破坏性读出。
3)通常在C
S 上呈现的代表1 和0信号的电平值相差不 大,故信号较弱。位线 数据线
(D)
字选线
T
C S C D
输出 电容
结论:1)需加刷新电路;
2)输出端需加高鉴别能力的输出放大器。
3)容量较大的RAM集成电路一 般采用单管电 路。
4)容量较小的RAM集成电路一 般采用三 管或四 管电路。多管电路结构复杂,但外围电路简 单。
3. RAM容量的扩展
V CC A 8 R/WCS GND
1 9
10 18
Intel 2114
A 9 A 7
A 5 A 4
A 6 A 3 A 0 A 1 A 2
I/O 1 I/O 2 I/O 3 I/O 4
(1)RAM的位扩展
I/O 1 I/O 2 I/O 3 I/O 4
A 9
A 0 A 1 … R/W CS
I/O 1 I/O 2 I/O 3 I/O 4
A 9
A 0 A 1 … R/W CS
…
A 0 A 1 A 9 R/W CS
I/O 1 I/O 2 I/O 3 I/O 4 I/O 4 I/O 5 I/O 6 I/O 7
将2114扩展为1K×8位 的RAM
(2)RAM的字扩展
I/O 1 I/O 2 I/O 3 I/O 4
A 9
A 0 A 1 … R/W CS
I/O 1 I/O 2 I/O 3 I/O 4
A 9
A 0 A 1 … R/W CS
…
A 0 A 1 A 9 R/W
I/O 1 I/O 2 I/O 3 I/O 4
1 12译码器
A 10
将2114扩展为2K×4位的RAM
7.3 可编程逻辑器件(PLD)
7.3.1 PLD概述
数字逻辑器件分类(
按照逻辑功能的特点分) 通用型专用型
通用性强,但逻辑功能较简单、且固定不变 ; 构成的系统功耗体积大、可靠性差
;
中、小规模数字集成电路都属于通用型。
为某种专门用途而设计的集成电路;
成本较高、周期较长。
矛 盾 PLD
PLD的特点
2)逻辑功能可由用户通过对器件编程自行设定,且具有 专用型器件构成数字系统体积小、可靠性高的优点;
1)作为通用型器件生产的,具有批量大、成本低的特点;
4)增强了设计的灵活性,减轻了电路图和电路板设计的 工作量和难度,提高了工作效率;
3)改变了传统数字系统采用通用型器件实现系统功能的 设计方法;
5)PLD已在计算机硬件、工业控制、现代通信、智能仪 表和家用电器等领域得到愈来愈广泛的应用。
1. PLD的分类
(1)低密度PLD(SPLD)
每个芯片集成的逻辑门数大约在1000门以下 可编程只读存储器(PROM)
可编程逻辑阵列(Programmable Logic Array,简称PLA)
可编程阵列逻辑(Programmable Array Logic,简称PAL)
通用阵列逻辑(Generic Array Logic,简称GAL)
可擦除的可编程逻辑器件
(Erasable Programmable Logic Array,简称EPLD)
复杂的可编程逻辑器件
(Complex Programmable Logic Array,简称CPLD)
现场可编程门阵列
(Field Programmable Gate Array,简称FPGA)
(2)高密度PLD
每个芯片集成的逻辑门数达数千门,甚至上万门,具有在系 统可编程或现场可编程特性,用于实现较大规模的逻辑电路。
2. PLD的基本结构
(1)“与-或”阵列结构(乘积项结构 )
输 入
输 出 输
入 电 路
与 阵 列
或 阵 列
输 出 电 路
PLD与或阵列结构框图
互补
输入项 与项 或项 反馈项
根据与、或阵列的可编程性,PLD分为三种基本结构。
1)与阵列固定,或阵列可编程型结构 PROM属于这种结构。
2)与、或阵列均可编程型结构
PLA(Programmable Logic Array)属于这种结构。
特点:与阵列规模大,速度较低。
特点:速度快,设计逻辑函数可采用最简结构,芯片 内部资源利用率高。但编程难度大,缺乏质高价廉的 开发工具。
3)与阵列可编程,或阵列固定型结构
PAL(Programmable Array Logic)属于这种结构。
特点:速度快,费用低,易于编程。当前许多PLD器 件都采用这种结构。
思考:
1. PAL器件与阵列( )编程,或阵列( ) (填可或不可).
2. PROM器件与阵列( )编程,或阵列( ) (填可或不可).
3..PLA器件与阵列( )编程,或阵列( ) (填可或不可).
可 不可
可
可 可
不可
(2)查找表(LookUpTable,LUT)结构
用存储逻辑的存储单元来实现逻辑运算。查找表器 件由简单的查找表组成可编程门,再构成阵列形式。
FPGA是属于此类器件。
RAM存储器预先加载要实现的逻辑函数真值表,输入 变量作为地址用来从RAM存储器中选择输出逻辑值 。
工作原理
类似于用ROM实现组合逻辑电路。
7.3.2 可编程阵列逻辑(PAL)
PAL的基本结构
1 1 1
& & & &
≥1
≥1
A 0 A 1 A 2
F 1 F 0
1. PAL的输出结构
PAL的与阵列结构类同.但输出结构有多种:
1) 组合输出型(这种结构适用于实现组合逻辑电路)
① 专用输出结构
O
& ≥1
1
输入项
I
… …
共有三种形式:
高输出有效; 低输出有效; 互补输出.
本例为低 输出有效
② 可编程I/O结构
&
I/O
≥1
1
输入项
I
… …
EN
1
1
2) 寄存器输出型
寄存器输出型结构,内含触发器,适应于实现时序逻辑电路.
① 寄存器输出结构
Q
& ≥1
1
输入项
I
… …
EN
1
1
1D
CLOCK EN
因这种结构 的PAL能记 忆原来的状 态,从而实现 时序逻辑功 能。
②带异或门 的寄存器输出结构
Q
&
≥1
1
输入项
I
… …
EN
1
1
≥1
=1 1D
CLOCK EN
&
这种类型的PAL适用于实现二进制计数器 等时序电路
③ 算 术 运 算 反 馈 结 构
A
≥1
1
输入项
B
… …
EN
1
1
=1 1D
CLOCK EN
&
& ≥1
≥1
≥1
≥1
≥1
B A
A+B A+B
A+B A+B
输出
B A
≥1
EN
1
1
1D
CLK
EN
&
≥1
EN
1
1
& 1D
1 1
1
IN 1
IN 8
OUT 1
OUT 8
… … …
寄存器型 PAL16R8
0
63
0 31
PAL的结构代码
组合型
寄存器型
类型 代码 H
L P C XP
S R X RP RS
V
含 义 高有效输出
低有效输出
可编程输出极性 互补输出
异或门、可编程输出极性 积项共享
寄存器型输出
带异或门寄存器型输出 带可编程极性寄存器型 带积项共享寄存器型 通用型
实 例 PAL10H8 PAL10L8 PAL16P8 PAL16C1
AmPAL22XP10 PAL20S10
PAL16R8 PAL16X4 PAL16RP8 PAL20RS10 AmPAL22V10
请用
PAL16L8
实现2×2乘法器(输入A 1 A 0 和B 1 B 0 分别为两位二 进制数,输出为结果F 3 F 2 F 1 F 0 )。
逻辑方程为:
F
3=A
1+A
0+B
1+B
0F
2=A
1+B
1+A
0B
0F
0=A
0+B
0F
1=A
1A
0+B
1B
0+A
1B
1+A
0B
0+A
1A
0B
1B
02. PAL应用举例
≥1
EN
1
1
1
&
A 1 1
F 1
PAL16L8
0
0 31
A 0 1
B 1 1
B 0 1
F
1=A
1A
0+B
1B
0+A
1B
1+A
0B
0+A
1A
0B
1B
0以实现F
1为例
3. PAL器件的性能特点
㈠ 逻辑功能由用户定义,用可编程方法代替常规 设计方法;
㈡ 编程容易,开发简单,简化了系统设计和布线 过程;
㈢器件密度大,可代替多片中小规模标准数字集成电路,
比用常规器件节省空间;
㈣器件传输延迟小,工作频率高,有利于提高系统的工作 速度;
㈤具有可编程的三态输出,管脚配置灵活,输入输出管脚 数量可变;
㈥具有加密功能,有利于系统保密;
㈦采用多种工艺制造,可满足不同系统不同场合的各种需 要。
7.3.3 通用阵列逻辑(GAL)
GAL器件继承了PAL、PROM等器件的优点,克服 了原有PAL器件的不足,是现代数字系统设计的理想 器件.
1. GAL基本结构
GAL基本结构和PAL大致类似,只是在输出结构上作 了重要改进.
OLMC
EN
1
1
11
&
1
&
1 1
1
2
9
19
… … …
GAL16V8
0
63
0 31
OLMC
EN
1 12
OE (12)
(19)
1 1
OLMC 结构
1 0 S
≥1
=1
PT MUX
& ≥1
3 2 1 0
S1 S1
XOR(n)
AC0 AC1(n)
3 2 1 0 S1 S0
V cc
TS MUX
F MUX
1 0
S O
MUX 1
EN
AC0 AC1(n)
C1
1D
来自 与门 阵列
来自邻 级输出
(m)
Q
CK OE
CK OE
反 1
馈
I/O(n)
乘积项 数据选 择器
三态数据 选择器
输出数据 选择器
反馈数据选择器
AC0、AC1(n)及XOR(n)均为GAL器件片内控制字中的结 构控制位。不同的控制内容,可使OLMC被配置成不同的 功能组态。
•控制字的内容是在编程时由编程器根据用户定义 的管脚 及实现的函数自动写入的。
二、GAL的主要特点
⑴ 通用性强:它的各个宏单元可以根据需要任意组态.
⑵ 100%可编程:可以反复修改直至得到正确的结果, 因而可达100%的编程.
⑷ 100%可测试:GAL的宏单元接成时序状态,可以 通过测试软件对它们的状态进行预置, 从而可以 随意将电路置于某一状态,以缩短测试过程, 保 证电路在编程以后,对编程结果100%的可测。
⑶ 速度高,功率低:采用了先进的E CMOS工艺,使G AL器件具有双极型的高速性能,而功耗仅为双极 型PAL器件的1/2到1/4。
2
7.3.6 PLD的开发过程
PLD开 发系统
开发 软件
开发 硬件
计算机
编程器
编程电缆
ispLever (Lattice 公司)
…
QuartusII (Altera公司)
ISE (Xilinx公司)
EDA技术以计算机为基本工具、借助于 软件设计平台,自动完成数字系统的布 局布线、逻辑综合、仿真等工作。最后 下载到芯片,实现设计方案。
1. 设计
在计算机上利用软件平台进行设计
设计方法
原理图设计
VHDL语言设计 状态机设计
·
EDA技术:2. 综合、适配
3. 仿真
4. 下载 下载线
1、只读存储器(ROM)通常由( )和
( )两部分组成;
习题
2、随机存取存储器(RAM)通常由( )、
( )和( )三部分组成;
地址译码器 存储矩阵 读/写控制电路
地址译码器 存储阵列
3、PAL器件与阵列( )编程,或阵列( )编程;
(填“可”或“不可”)
可 不可
4、某台计算机的内存储器设置有32位的地址线,16位并 行数据线,则它的最大存储量是( );
5、可编程逻辑器件的基本结构包括输入电路、( )、
( )和输出电路四个部分;
2 ×16
32与阵列 或阵列
7.3.4 复杂的可编程逻辑器件(CPLD)
1. CPLD的基本结构
可编程的逻辑模块 输入/输出模块
可编程的内部连线阵列
以Lattice公司生产的ispLSI1032为例介绍CPLD 具体结构
ispLSI1032器件结构
全局布线区(GRP)
通用逻辑模块(GLB)
输入/输出单元(IOC)
输出布线区(ORP)
时钟分配网络(CDN)
ispLSI1032的逻辑功能划分框图
2. 全局布线区(GRP)
位于器件的中心,是器件的专用内部互连结构,提供 高速的内部连线。
3. 通用逻辑模块(GLB)
用于实现逻辑功能,它由与阵列、乘积项共享的或逻 辑阵列和输出逻辑宏单元(OLMC)组成。
GLB的电路结构图
GLB结构形式与GAL类似,做了如下改进:
(1)它的或逻辑阵列采取了乘积项共享的结构形式。
(2)通过编程可以将GLB设置成多种连接模式:
1)标准模式
2)高速旁路模式 3)异或逻辑模式 4)单乘积项模式
5)多重模式
1)标准模式
4个或门的输入分别为4个、4个、5个和7个乘积项的 输入,每个触发器的输入可以是或门中的一个或多 个,所以最多可以将20个乘积项的逻辑或输入一个触 发器,实现多乘积项的逻辑函数。
2)高速旁路模式
将4个或门的输出直接和4个触发器相连,每个或门只 能有4个乘积项,分别输入触发器。在这种方式中,或 门的输出不经过共享阵列直接输出,为输出提供了高 速通道,减少了电路的延迟,可用于高速计数器的设 计。
3)异或逻辑模式
采用4个异或门,每个异或门的输入之一是4个或门输 出的任意组合,另一个来自乘积项0、4、8和13。这种 配置模式适合设计计数器、比较器和算术逻辑运算部 件等。
4)单乘积项模式
乘积项直接与4个触发器相连,比高速旁路模式减少 了一级或门的连接,速度最快。
5)多重模式
在同一个GLB中混合使用前4种模式。
4. 输入/输出单元(IOC)
IOC的电路结构图
三态输出缓冲器 输入缓冲器
输入寄存器/锁存器 可编程的数据选择器
1
IOC的各种组态
5. 输出布线区(ORP)
是介于GLB和IOC之间的可编程互连阵列。
通过对ORP的编程,可以把任何一个GLB的输出信 号灵活地与某一个IOC相连。
它将对GLB的编程和对外部引脚的排列分开进行,赋 予外部引脚分配更大的灵活性。
6. 时钟分配网络(ORP)
时钟分配网络产生5个全局时钟信号:
GLB的时钟:CLK0、CLK1、CLK2 IOC的时钟:IOCLK0和IOCLK1
ispLSI1032有3个专用系统时钟输入引脚,可以通过时 钟分配网络分配给GLB和IOC。
7. CPLD器件的编程
需要专用编程电缆、计算机和ISP编程软件。
对器件编程时,计算机运行ISP编程软件,根据用户编 写的源程序产生编程数据和编程命令,通过编程电缆 将编译后的文件(*.jed)下载到ispLSI器件中,完成 ispLSI器件的编程。
7.3.5 现场可编程门阵列(FPGA)
1. FPGA的基本结构
不同公司生产的FPGA结构和性能不尽相同,
以Xilinx公司的XC4000系列为例介绍FPGA的基本结构 和各模块功能。
XC4000系列FPGA基本结构
2. 可配置逻辑模块(CLB)
XC4000系列FPGA的CLB结构图
(1)组合逻辑函数发生器
查找表的工作原理类似于用ROM实现多种组合逻辑函 数,其输入等效于ROM的地址码,存储的内容为相应 的逻辑函数取值,通过查找地址表,可得到逻辑函数 的输出。
查找表结构
组合逻辑函数发生器G1~G4和F1~F4除了实现一般 的组合、时序逻辑功能外,其内部各有16个可编程数 据存储单元,在工作方式控制字的控制下,它们可以 作为器件内部读/写存储器使用。
说明:
(2)边沿D触发器
CLB中有2个边沿D触发器,通过2个4选1数据选择器可 分别选择DIN、F’、G’和H’之一作为D触发器的输入信 号。
2个D触发器共用时钟脉冲,通过2个2选1数据选择器选 择上升沿或下降沿触发。
3. 可编程输入/输出模块(IOB)
分布在器件的四周,它提供了器件外部引脚和内部逻辑之间的连接
4. 可编程互联资源(ICR)
由分布在CLB阵列之间的金属网络线和阵列交叉点上 的可编程开关矩阵(PSM)组成。
它可将器件内部任意两点连接起来,并且能将FPGA中 数目很大的CLB和IOB连接成复杂的系统。
根据应用的不同,ICR一般提供3种连接结构:
(1)通用单/双长度线连接
主要用于CLB之间的连接。任意两点间的连接都要通 过开关矩阵。灵活性好,但信号传输时延不可预知。
(2)长线连接
水平长线和垂直长线不经过可编程开关矩阵,信号延 迟时间小。长线连接主要用于长距离或关键信号的传 输。
(3)全局连接
主要用于传送一些公共信号,如全局时钟信号、公用 控制信号等。
5. FPGA编程数据的装载
编程数据存放于FPGA片内的独立的静态存储器中,控 制FPGA的工作状态,由于停电后,静态存储器中的数 据不能保存,所以,每次接通电源后,必须重新将编 程数据写入静态存储器,这个过程称为装载。
编程数据通常存放在一个EPROM中,也可以存放在计 算机的存储器中。整个装载过程在接通电源后自动开 始,或由外加控制信号启动,在片内的时序电路控制 下自动完成。
6. FPGA的特点
(1)FPGA的编程单元是SRAM结构,可以无限次编 程,但它属于易失性元件,掉电后芯片内的信息丢 失,通电之后,要为FPGA重新配置逻辑。
(2)FPGA中实现逻辑功能的CLB比其他HDPLD实现 逻辑功能的宏单元规模小,制作一个宏单元的面积可 以制作多个CLB,因而FPGA内的触发器要多于其他 HDPLD,使得FPGA在实现时序逻辑电路时要强于其 他HDPLD。
(4)由于FPGA内部的CLB、IOB和ICR均可编程,
提供了组合逻辑函数发生器,可实现多个变量的任意 逻辑,又有丰富的连线,所以可进行充分的优化,以 达到逻辑利用率最高。
(3)FPGA的内连线是分布在CLB周围,而且编程的 种类和编程点很多,使得布线相当灵活,而内部时间 延迟与器件的结构逻辑连接有关,传输延时不可预测。
7.3.6 PLD的开发过程
PLD开 发系统
开发软件
开发硬件
计算机
编程器
编程电缆
QuartusII (Altera公司)
Foundation(Xilinx公司)
ispLever (Lattice 公司)
…
PLD的设计流程图
(1)设计分析
1. 设计步骤
指在利用PLD进行数字系统设计之前,根据PLD开发环境 及设计要求选择适当的设计方案和器件类型。
(2)设计输入
原理图输入方式
硬件描述语言文本输入方式 混合输入方式
特点:直观地描述连接关系,但设计繁琐
特点:设计简单,但不适合描述模块间的连接关系
(3)设计处理
1)设计输入编译
根据选择的器件型号,将设计输入文件转换为具体电路结构 下载编程(或配置)文件,是设计的核心环节 。
检查设计输入的逻辑完整性和一致性,并建立各种设计输入 文件之间的连接关系。
2)逻辑设计优化
化简设计输入逻辑,以减少设计所占用的器件资源。
3)设计综合
将模块化设计中产生的多个文件合并为一个网表文件,使层 次设计平面化。
4)逻辑适配和分割
按系统默认的或用户设定的适配原则,把设计分为多个适合 器件内部逻辑资源实现的逻辑形式。
5)布局和布线
布局是将已分割的逻辑小块配置到所选器件内部逻辑资源的 具体位置,并使逻辑之间易于连线,且连线最少。
布线是利用器件的连线资源,完成各个功能块之间的信号连接。
(4)器件编程
将设计处理生成的编程数据文件下载到具体的PLD器件中,使 其按照设计的功能工作。
普通的CPLD器件:由专用的编程器来完成器件编程;
基于SRAM的FPGA:可由PROM或微处理器来进行器件编程;
具有在线可编程性能的CPLD和FPGA器件:利用计算机的并行 口通过相应的下载电缆,直接对焊接在电路板上的器件编程。