2009-8-20 1
第 8章 存储器和可编程逻辑器件简介
8.2.3 复杂的可编程逻辑器件
( CPLD)
8.2.2 普通可编程逻辑器件
8.2 可编程逻辑器件 (PLD)简介
8.2.4 现场可编程门阵列( FPGA)
8.2.1 概述结束放映
2009-8-20 2
复习只读存储器的分类?各自特点?
2009-8-20 3
8.2.1 概述
8.2 可编程逻辑器件 (PLD)简介
1,PLD在数字集成芯片中的位置数字 SSI,MSI
集成 LSI,VLSI
电路 ASIC 全定制 ASIC 门阵列半定制 ASIC 标准单元
PLD
2009-8-20 4
( 1) 数字集成电路按照芯片设计方法的不同分类:
① 通用型 SSI,MSI集成电路;
② LSI,VLSI集成电路,如微处理器,单片机等;
③ 专用集成电路 ASIC( LSI或 VLSI) 。
2009-8-20 5
( 2) ASIC分类全定制 ASIC:硅片没有经过预加工,其各层掩模都是按特定电路功能专门制造的 。
半定制 ASIC:按一定规格预先加工好的半成品芯片,然后再按具体要求进行加工和制造,包括门阵列,
标准单元和可编程逻辑器件 (PLD)三种 。
2009-8-20 6
2,可编程逻辑器件 (PLD)
( 1) 定义,PLD是厂家作为一种通用型器件生产的半定制电路,用户可以利用软,硬件开发工具对器件进行设计和编程,使之实现所需要的逻辑功能 。
( 2) PLD的基本结构框图其中输入缓冲电路可产生输入变量的原变量和反变量,并提供足够的驱动能力 。
2009-8-20 7
( 3) 按集成度分类:
① 低密度 PLD(LDPLD):结构简单,成本低,
速度高,设计简便,但其规模较小 (通常每片只有数百门 ),难于实现复杂的逻辑 。
按编程部位分类 LDPLD
分类 与阵列 或阵列 输出电路 可编程类型可编程只读存储器 PROM 固定 可编程 固定 半场可编程现场可编程逻辑阵列
FPLA 可编程 可编程 固定 全场可编程可编程阵列逻辑 PAL 可编程 固定 固定 半场可编程通用阵列逻辑 GAL 可编程 固定 逻辑宏单元( OLMC) 半场可编程
2009-8-20 8
② 高密度 PLD(HDPLD):
分类 结构形式 类型可擦除可编程逻辑器件
(EPLD) 与或阵列 阵列型复杂可编程逻辑器件 (CPLD) 与或阵列 阵列型现场可编程门阵列 (FPGA) 门阵列 单元型
( 4) PLD器件的优点缩短设计周期,降低设计风险高可靠性和可加密性降低了产品生产的总费
2009-8-20 9
( 5)常采用可编程元件 (存储单元 )的类型:
① 一次性编程的熔丝或反熔丝元件;
② 紫外线擦除、电可编程的
EPROM(UVEPROM)存储单元,即 UVCMOS工艺结构;
③ 电擦除、电可编程存储单元,一类是
E2PROM即 E2CMOS工艺结构,另一类是快闪
(Flash)存储单元;
④ 基于静态存储器 (SRAM)的编程元件。
其中,③类和④类目前使用最广泛。
2009-8-20 10
图 8-15 几种常用逻辑符号表示方法
( a)输入缓冲器( b) 与门 ( c) 或门( d) 三种连接
( 6)几种常见的逻辑符号表示方法
2009-8-20 11
8.2.2 普通可编程逻辑器件
1.可编程阵列逻辑( PAL)
( 1) PAL的结构与阵列 — 可编程;
或阵列 — 固定输出电路 — 固定图 8-16 PAL的结构
2009-8-20 12
( 2) PAL的输出结构
① 专用输出结构 。 输出端只能输出信号,不能兼作输入 。 只能实现组合逻辑函数 。 目前常用的产品有 PAL10H8,PAL10L8等 。
2009-8-20 13
② 可编程 I/O结构 。 输出端有一个三态缓冲器,
三态门受一个乘积项的控制 。
当三态门禁止,输出呈高阻状态时,I/O引脚作输入用;
当三态门被选通时,I/O引脚作输出用 。
2009-8-20 14
③ 寄存器输出结构 。 输出端有一个 D触发器,
在使能端的作用下,触发器的输出信号经三态门缓冲输出 。 能记忆原来的状态,从而实现时序逻辑功能 。
2009-8-20 15
④ 异或 — 寄存器型输出结构 。
输出部分有两个或门,它们的输出经异或门后再经 D触发器和三态缓冲器输出,这种结构便于对与或逻辑阵列输出的函数求反,还可以实现对寄存器状态进行维持操作,适用于实现计数器及状态 。
( A⊕ 0=A,A⊕ 1=A )
2009-8-20 16
( 3) PAL的命名
PAL共有 21种,通过不同的命名可以区别 。
图 8-17 PAL的命名
2009-8-20 17
( 4) PAL的优点:
① 提高了功能密度,节省了空间 。 通常一片
PAL可以代替 4~ 12片 SSI或 2~ 4片 MSI。 同时,虽然
PAL只有 20多种型号,但可以代替 90% 的通用器件,
因而进行系统设计时,可以大大减少器件的种类 。
② 提高了设计的灵活性,且编程和使用都比较方便 。
③ 有上电复位功能和加密功能,可以防止非法复制 。
2009-8-20 18
20世纪 80年代初,美国 Lattice半导体公司研制。
GAL的结构特点:输出端有一个组态可编程的输出逻辑宏单元 OLMC,通过编程可以将 GAL设置成不同的输出方式。这样,具有相同输入单元的 GAL可以实现 PAL器件所有的输出电路工作模式,故而称之为通用可编程逻辑器件。
GAL与 PAL的区别:
① PAL是 PROM熔丝工艺,为一次编程器件,而
GAL是 E2 PROM工艺,可重复编程;
② PAL的输出是固定的,而 GAL用一个可编程的输出逻辑宏单元( OLMC)做为输出电路。 GAL比
PAL更灵活,功能更强,应用更方便,几乎能替代所有的 PAL 器件。
2.通用可编程逻辑器件( GAL)
2009-8-20 19
GAL分为两大类:
一类是普通型,它的与,或结构与 PAL相似,
如 GAL16V8,GAL20V8等 。
另一类为新型,其与,或阵列均可编程,与
PLA相似,主要有 GAL39V8。
例:普通型 GAL16V8的基本特点。
( 1) GAL的基本结构。
① 8个输入缓冲器和 8个输出反馈 /输入缓冲器。
② 8个输出逻辑宏单元 OLMC和 8个三态缓冲器,
每个 OLMC对应一个 I/O引脚。
2009-8-20 20
GAL16V8
的逻辑图
2009-8-20 21
GAL器件没有独立的或阵列结构,各个或门放在各自的输出逻辑宏单元( OLMC)中。
③ 由 8× 8个与门构成的与阵列,共形成 64个乘积项,每个与门有 32个输入项,由 8个输入的原变量,
反变量 ( 16) 和 8个反馈信号的原变量,反变量 ( 16)
组成,故可编程与阵列共有 32× 8× 8=2048个可编程单元 。
④ 系统时钟 CK 和三态输出选通信号 OE的输入缓冲器 。
2009-8-20 22OLMC的逻辑图
( 2) 输出逻辑宏单元 ( OLMC) 的结构
2009-8-20 23
或门:有 8个输入端,和来自与阵列的 8个乘积项 ( PT) 相对应 。
异或门:用于选择输出信号的极性 。
D触发器:使 GAL适用于时序逻辑电路 。
4个多路开关 ( MUX),在结构控制字段作用下设定输出逻辑宏单元的状态 。
2009-8-20 24
图 8-18 GAL的结构控制字
( 3) GAL的结构控制字
① XOR( n),输出极性选择位 。 共有 8位,
分别控制 8个 OLMC的输出极性 。 异或门的输出 D与它的输入信号 B和 XOR( n) 之间的关系为:
D = B⊕ XOR
当 XOR= 0时,即 D = B;
当 XOR= 1时,即 D =B
2009-8-20 25
② SYN( n),时序逻辑电路 /组合逻辑电路选择位 。
当 SYN= 0时,D触发器处于工作状态,OLMC
可为时序逻辑电路;
当 SYN=1 时,D 触发 器处于 非工 作状态,
OLMC只能是组合逻辑电路 。
注意:当 SYN= 0时,可以通过其它控制字,使
D触发器不被使用,这样便可以构成组合逻辑输出 。
但只要有一个 OLMC需要构成时序逻辑电路时,就必须使 SYN= 0。
③ AC0,AC1( n),与 SYN相配合,用来控制输出逻辑宏单元的输出组态 。
2009-8-20 26
( 4) GAL的 5种工作模式
SYN AC0 AC1 XOR 功 能 输出极性
1 0 1 / 组合逻辑专用输入三态门禁止 /
1 0 0 01 组合逻辑专用输出 低有效高有效
1 1 1 01 组合逻辑带反馈双向 I/O输出 低有效高有效
0 1 1 01 时序逻辑组合 I/O输出 低有效高有效
0 1 0 01 时序逻辑寄存器输出 低有效高有效只要写入不同的结构控制字,就可以得到不同类型的输出电路结构 。
2009-8-20 27
8.2.3 复杂的可编程逻辑器件( CPLD)
基本包含三种结构:
CPLD是阵列型高密度可编程控制器,其基本结构形式和 PAL,GAL相似,都由可编程的与阵列、
固定的或阵列和逻辑宏单元组成,但集成规模都比
PAL和 GAL大得多。
逻辑阵列块 ( LAB)
可编程 I/O单元可编程连线阵列 ( PIA) 。
2009-8-20 28图 8-19 CPLD的结构图
2009-8-20 29
⑴ 逻辑阵列块 ( LAB)
一个 LAB由十多个宏单元的阵列组成 。
每个宏单元由三个功能块组成:
逻辑阵列乘积项选择矩阵可编程寄存器它们可以被单独的配置为时序逻辑或组合逻辑工作方式 。
如果每个宏单元中的乘积项不够用时,还可以利用其结构中的共享和并联扩展乘积项 。
2009-8-20 30
⑵ 可编程 I/O单元
I/O端常作为一个独立单元处理 。 通过对 I/O端口编程,可以使每个引脚单独的配置为输入输出和双向工作,寄存器输入等各种不同的工作方式 。
⑶ 可编程连线阵列在各 LAB之间以及各 LAB和 I/O单元之间提供互连网络 。 这种互连机制有很大的灵活性,它允许在不影响引脚分配的情况下改变内部的设计 。
2009-8-20 31
8.2.4 现场可编程门阵列( FPGA)
是 20世纪 80年代中期出现的高密度 PLD。
采用类似于掩模编程门阵列的通用结构,其内部由许多独立的可编程逻辑模块组成,用户可以通过编程将这些模块连接成所需要的数字系统 。 它具有密度高,编程速度快,设计灵活和可再配置等许多优点,
因此 FPGA自 1985年由 Xilinx公司首家推出后,便受到普遍欢迎,并得到迅速发展 。
FPGA的功能由逻辑结构的配置数据决定。工作时,这些配置数据存放在片内的 SRAM或熔丝图上。
基于 SRAM的 FPGA器件,在工作前需要从芯片外部加载配置数据。配置数据可以存储在片外的 EPROM、
E2PROM或计算机软、硬盘中。人们可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场编程。
2009-8-20 32图 8-20 FPGA的基本结构
2009-8-20 33
FPGA的基本结构:
可编程逻辑模块 CLB
输入/输出模块 IOB
互连资源 IR
⑴ 可编程逻辑模块 CLB
结构形式:
① 查找表结构
② 多路开关结构
③ 多级与非门结构 。
电路组成:
逻辑函数发生器触发器数据选择器信号变换
2009-8-20 34
⑵ 可编程输入/输出模块 (IOB)
IOB主要完成芯片内部逻辑与外部封装脚的接口,它通常排列在芯片的四周;提供了器件引脚和内部逻辑阵列的接口电路。每一个 IOB控制一个引脚 (除电源线和地线引脚外 ),将它们可定义为输入、
输出或者双向传输信号端。
2009-8-20 35
⑶ 可编程互连资源 (IR)
包括各种长度的连线线段和一些可编程连接开关 。
连线通路的数量与器件内部阵列的规模有关,
阵列规模越大,连线数量越多 。
互连线按相对长度分为单线,双线和长线三种 。
2009-8-20 36
作业题
8-3