第八章 可编程逻辑器件
第八章 可编程逻辑器件可编程逻辑器件 ( Programmable Logic Device )
简称 PLD ,是一种通用大规模集成电路,用于 LSI 和 VLSI 设计中,采用软件和硬件相结合的方法设计所需功能的数字系统。PLD 的优点:价格较便宜,操作简便,修改方便PLD 的分类:根据有无寄存功能: 可编程组合逻辑器件 可编程时序逻辑器件。按内部电路组成: PLA (可编程逻辑阵列) PGA (可编程门阵列)按编程方式: 熔丝编程 光擦编程 电擦编程 在线编程可擦除 PLA 和可擦除 PGA 统称为可擦除 PLD
简称 EPLD
8.1 可编程逻辑阵列 PLA ( Programmable Logic Array )与阵列输出 + 或阵列输出 任一逻辑函数都可用“与或”式表示,即任何逻辑函数都可以用一个与门阵列与一个或门阵列来实现。由与阵列和或阵列组成的电路叫做逻辑阵列 LA 固定 LA ROM (不可编程)逻辑阵列 LA PROM (或阵列可编程) PLA PAL (与阵列可编程) FPLA (与、或阵列皆可编程)PLA 同 PROM 一样,可用熔丝编程,也可用 NMOS , CMOS 工艺的光擦和电擦编程。
&
熔丝全保留的简化符号
熔丝全保留或烧断
异或门&
&
1
1
A
B
1
&
&
1
1
VCC H LL H
H
L
8.2 现场可编程逻辑阵列 FPLA ( Field Programmable Logic Array )
用 ROM 实现逻辑函数时,地址译码器的每个输出都为一条字线,不能减少。输出函数为标准的与或表达式。•为减小芯片面积,简化译码器,使输出函数为最简的与或表达式,采用 FPLA 。(见例 1 )•FPLA 与触发器配合可构成时序逻辑电路(见例2 )•FPLA 规格用输入变量数、与逻辑阵列的输出端数、或逻辑阵列的输出端数三者的乘积表示。•用户可进行一次编程,使用方便(熔丝型);也可用叠栅注入式MOS 管作为存储单元,如同 UVEPROM
•例 1
CBCDAF
DCBAACDCABF
++=
+++=
2
1
D
C
W1 W2 W3
F1
F2
D’2
D’1
EN
W4 W7 W9 W10W5W6 W8 W11W12 W14W15W13
B
A
W0
4×14×2
D
C
W1 W2 W3
F1
F2
D’2
D’1
EN
W7 W10W6 W8 W12
B
A
W0
4×9×2
CBCDAF
DCBAACDCABF
++=
+++=
2
1
4×7×2
D
C
W1 W2 W3
F1
F2D’
2
D’1EN
W4 W5 W7
B
A
W6
例 2 用 FPLA 与 D 触发器实现 8421BCD 计数器8.4.2.1BCD 计数器状态表
现在状态 下一个状态(D 输入) 十进制 QD QC QB QA QD (DD) QC(DC) QB(DB) QA(DA)
0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 2 0 0 1 0 0 0 1 1 3 0 0 1 1 0 1 0 0 4 0 1 0 0 0 1 0 1 5 0 1 0 1 0 1 1 0 6 0 1 1 0 0 1 1 1 7 0 1 1 1 1 0 0 0 8 1 0 0 0 1 0 0 1 9 1 0 0 1 0 0 0 0 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 15 1 1 1 1
•画出卡诺图 QBQAQDQC
00 01 11 10
00 0 0 0 001 0 0 1 011
10 1 0
QBQAQDQC
00 01 11 10
00 0 0 1 001 1 1 0 111
10 0 0
QBQAQDQC
00 01 11 10
00 0 1 0 101 0 1 0 111
10 0 0
QBQAQDQC
00 01 11 10
00 1 0 0 101 1 0 0 111
10 1 0
ABCADDn
D QQQQQQD += 1ABCBCACC
nC QQQQQQQQD 1=
ABABDBn
B QQQQQQD += 1
AAn
A QQD 1=
ABC
AD
QQQWQQW
2
1
ABC
AC
BC
QQQW
QQW
QQW
5
4
3
ABD
AB
QQQW
QQW
7
6
AQW 8
•阵列图 4×8×4
QA
W1 W2 W3 W4 W5 W7W6 W8
D
D
D
D
QB
QC
QD
CPR
双极型 PAL :熔断法CMOSPAL :可多次擦除(紫外线擦除)
PAL 和触发器可构成时序电路
8.3 可编程阵列逻辑 ( Programmable Array Logic , PAL ) PAL 的基本组成包括:输入互补缓冲 ; 可编程与阵列;固定或阵列;特定的输出电路 ;
尚未编程之前,与逻辑阵列的所有交叉点均有熔丝接通。编程即是将有用的熔丝保留,无用的熔丝熔断。PAL,PLA 和 ROM 的比较
与阵 或阵PAL 可编 不可编PLA 可编 可编ROM 不可编 可编
一、 PAL 的基本电路结构最简单的 PAL 电路结构形式,包含一个可编程的与逻辑阵列和一个固定的或逻辑阵列。
编程后的 PAL 电路
21213
21213
414332212
4214314323211
IIIIY
IIIIY
IIIIIIIIY
IIIIIIIIIIIIY
二、 PAL 的几种输出电路结构和反馈形式1. 专用输出结构:输出端是与或门,与或非门或者互补输出结构,即所有设置的输出端只能作输出用。有 PAL10H8 、 PAL14H4 、 PAL10L8 、 PAL14L4 、 PAL16C1 等。
2. 可编程输入 / 输出结构: PAL16L8 、 PAL20L10 等
3. 寄存器输出结构:
带有带有异或异或门的可编程 输入门的可编程 输入 // 输出结构输出结构
输出三态缓冲(由与逻辑阵列控制)输出信号互补反馈到与逻辑阵列中用途:产生复杂的组合逻辑函数
在输出端插入 D 触发器阵列状态及输出均互补反馈到与逻辑阵列中输出三态缓冲由公共控制线控制用途:组成各类时序逻辑电路
5. 运算选通输出结构4. 异或输出结构PAL 规格: PAL- 输入量 - 结构 - 输出量例: PAL14H4 14 输入 4 输出 输出正变量 专用输出结构
PAL16R4 16 输入 4 输出 输出反变量 寄存器输出结构应用举例:
专用输出结构 ---- 实现组合逻辑设计要点:计算输出逻辑的最简与或式选择 PAL 器件:输入端 输出端 每个输出所含与项数量进行相应编程连接,去除未使用的与门寄存器输出结构 ---- 实现时序逻辑设计要点:计算各状态方程(驱动方程)的最简与或式选择 PAL 器件:输入端 输出端 每个输出所含与项数量触发器数量进行相应编程连接,去除未使用的与门
三、 PAL 的应用例 1 :用 PAL 器件设计一个数值判别电路。要求判断 4 位二进制数 DCBA的大小属于 0~5 、 6 ~ 10 、 11 ~ 15 三个区间的哪一个之内。
DBADCYACDBCDCBDY
BDCDY
2
1
0
三、 PAL 的应用例 1 :用 PAL 器件设计一个数值判别电路。要求判断 4 位二进制数 DCBA的大小属于 0~5 、 6 ~ 10 、 11 ~ 15 三个区间的哪一个之内。十进制数 二进制数 Y0 Y1 Y2
D C B A0 0 0 0 0 1 0 01 0 0 0 1 1 0 02 0 0 1 0 1 0 03 0 0 1 1 1 0 04 0 1 0 0 1 0 05 0 1 0 1 1 0 06 0 1 1 0 0 1 07 0 1 1 1 0 1 08 1 0 0 0 0 1 09 1 0 0 1 0 1 010 1 0 1 0 0 1 011 1 0 1 1 0 0 112 1 1 0 0 0 0 113 1 1 0 1 0 0 114 1 1 1 0 0 0 115 1 1 1 1 0 0 1
例 2 用 PAL 设计一个 4 位循环码计数器,并要求所设计的计数器具有置零和对输出进行三态控制的功能。CP Y3 Y2 Y1 Y0 C Q3 Q2 Q1 Q0 C0 0 0 0 0 0 1 1 1 1 11 0 0 0 1 0 1 1 1 0 12 0 0 1 1 0 1 1 0 0 13 0 0 1 0 0 1 1 0 1 14 0 1 1 0 0 1 0 0 1 15 0 1 1 1 0 1 0 0 0 16 0 1 0 1 0 1 0 1 0 17 0 1 0 0 0 1 0 1 1 18 1 1 0 0 0 0 0 1 1 19 1 1 0 1 0 0 0 1 0 110 1 1 1 1 0 0 0 0 0 111 1 1 1 0 0 0 0 0 1 112 1 0 1 0 0 0 1 0 1 113 1 0 1 1 0 0 1 0 0 114 1 0 0 1 0 0 1 1 0 115 1 0 0 0 1 0 1 1 1 016 0 0 0 0 0 1 1 1 1 1
根据上表画出 4 个触发器次态的卡诺图,化简后
8.4 通用阵列逻辑 GAL ( General Array Logic )GAL 是第二代的 PAL ,是一种寄存 PLA 器件。
基本结构:输入互补缓冲 , 与或阵列(可编与、固定或) , 可编程的输出电路输出电路结构:通用宏单元 OLMC (可编程)工艺: E2CMOS擦除方式:采用电可擦除的 CMOS 制作特点:通用性较强,高速,低耗,使用方便GAL 器件是美国 Lattice 公司 1985年首先推出的,目前主要有5 种型号: GAL16V8 GAL20V8 ispGAL16Z8 ispGAL20V10 GAL39V18
一、 GAL 的电路结构:GAL 由可编程与阵列、固定或阵列、 OLMC 及部分输入 / 输出缓冲门电路组成。实际上, GAL 的或阵列包含在 OLMC 中。
二、输出逻辑宏单元( OLMC )
三、工作特点: 8 个与或项输入,可实现正 / 反相输入( XOR ) 可选择直接输出 / 通过 D 触发器输出( OMUX ) 输出三态门可控: 4 种方式( TSMUX ) 反馈输入可控:输出 / 状态 /其他输入( FMUX )
工作模式: P.424 图 8.4.6 专用输入:三态门断开,利用反馈输入端 专用组合输出:不用触发器,不反馈,三态门常通 组合输入 / 输出:不用触发器,带反馈,三态门程控 寄存器输出:利用触发器,带反馈,三态门外控
8.5 其它可编程逻辑器件•可 擦 除 的 可 编 程 逻 辑 器 件 ( Erasable Programmable Logic Device )工艺: UVCMOS擦除方式:加电基本结构:与或阵列(可编与、可编或)输出电路结构: OLMC 可编程性优于 GAL特点:功耗低,集成度高(几千门 / 片),信号传输时间短,可预知 , 成本低
•现场可编程门阵列 FPGA ( Field Programmable Gate Array )工艺: CMOS-SRAM擦除方式:与 SRAM 相同基本结构:逻辑单元阵列结构(可编程)特点:功耗低,集成度高( 3万门 / 片), 信号传输时间不可预知
结构特点:输入 / 输出模块( IOB ):输入或输出可设置可编程逻辑模块( CLB ):含组合逻辑和触发器互连资源( IR ):金属线,可编程接点 /开关利用 EPROM 存放编程数据
现场可编程门阵列 FPGA
输入 / 输出模块( IOB )逻辑原理
低密度 PLD : FPLA , PAL , GAL高密度 PLD : FPGA , EPLD
性能特点: 设计灵活性强,适用性广 传输延迟时间不定,速度低,保密性差
可编程逻辑模块( CLB )逻辑原理
在系统可编程逻辑器件( ISP-PLD ) (CPLD)
特点:采用电可擦除,无需编程器结构特点:与 GAL 类同,加以改进 输入 / 输出单元( IOC ) 通用逻辑模块( GLB ) 可编程布线区:全局布线区( GRP ),输出布线区( ORP)GLB 结构及功能:与 GAL 类似IOC 结构及功能: 8 种工作方式 图 8.8.7 图 8.8.8在系统可编程通用数字开关( ispGDS )通过对 IOC 编程控制输入 / 输出以及各 IOC 之间的连接