1重大通信学院 ?何伟
第八章 可编程逻辑器件及其应用
主要内容
8.0 概述
8.1 可编程阵列逻辑 (PAL)器件
8.2 通用逻辑阵列 (GAL)器件
8.3 复杂可编程逻辑器件 (CPLD)
2重大通信学院 ?何伟
8.0 概述
1) 数字逻辑器件
矛盾 PLD
通用型
专用型
解决办法
?通用型 (通常是 SSI,MSI以及 MPU)
优点,适应性强 ( 理论上可实现复杂的数字系统 ), 设计周期
短, 成本低
缺点,功耗大, 体积大, 可靠性差, 设计较被动 。
?专用型 (通常是 LSI,VLSI)
优点,功耗小, 体积小, 可靠性高
缺点,适应性差 ( 只适用专用数字系统 ), 设计周期长, 成本
高 。
3重大通信学院 ?何伟
? 可编程逻辑器件 (PLD) 是用来实现定制逻辑功能的、用户可
自由配置的数字集成电路 (ICs) 。
? 可编程逻辑器件可以利用其内部逻辑结构实现任何的布尔表
达式或者寄存器功能。
? 相反,象 TTL 器件等现有的逻辑集成电路 ( Ics)只能提供
特定的逻辑功能,不能通过修改来满足具体电路的设计要求 。
? 现在,PLD制造商已经能够供应集成度和性能比分离元件高,
而单位功能成本低于分离元件的可编程器件。
? 可编程逻辑器件 已经成为比分离元件以及类似专用集成电路
( ASICs )的全定制或者半定制器件更受欢迎的 产品。
关于 PLD:
8.0 概述
4重大通信学院 ?何伟
?是作为通用型器件产生, 其逻辑功能又是由用户子定义的专用
器件;
?是介于通用型和专用型之间的逻辑器件, 即, 既具有通用型的
优点, 又具有专用型的长处, 同时还具有设计主动性和保密性
的优点;
?逻辑功能的编程具有可重复性 。
PLD在 80年代发展非常快, 主要产品有:
?PAL——可编程阵列逻辑;
?GAL——通用阵列逻辑;
?CPLD——复杂可编程逻辑器件;
?FPGA——现场可编程门阵列
集成度非常高,也叫高密度
可编程逻辑器件 HDPLD
2) PLD的特点
8.0 概述
5重大通信学院 ?何伟
3) 几个概念
8.0 概述
微米工艺 ——特征尺寸 >1μm的工艺
亚微米工艺 ——特征尺寸 =1~0.6μm的工艺
深亚微米工艺 ——特征尺寸 =0.6~0.1μm
纳米工艺 ——特征尺寸 <0.1μm
目前的主流工艺是 0.35μm和 0.25μm,最高可达 0.18μm,集
成度可达百万门, 例如 XILINX公司的 FPGA XC40250为 250万
等效门, IO数大 448脚 。
PLD改变了传统的数字系统设计方法, 极大的减轻了电路设计
和 PCD设计的工作量和难度, 增强了设计的灵活性和可修改性,
提高了工作效率 。
结论,PLD是设计和实现数字系统的理想器件 。
6重大通信学院 ?何伟
4) PLD的设计过程
熔丝型
反熔丝型
紫外光擦除的 EPROM
电擦除的 EPROM,即 EEPROM
在系统编程 (ISP—In System Programmable),E2PROM或 FLASH
在线可重配置 (ICR—In Circuit Reconfigurability),SRAM和外部 EPROM
8.0 概述
?用 EDA软件进行输入, 编译, 逻辑划分, 优化, 模拟 ( 功能模拟, 时序
模拟 ) ;
?用编程器对 PLD编程或通过电缆进行在系统编程, 在线配置 。
注意,PROM实际上也是一种 PLD,只是绝大多数情况是作存储器使用 。
5) 可编程技术的分类
?按集成度来分
?简单 PLD,即 SPLD,如:早期的 PROM,PLA,PAL,GAL等;
?复杂 PLD,即 CPLD或 FPGA;
?按编程工艺来分
?一次性编程
?可重复编程
7重大通信学院 ?何伟
?按结构来分
8.0 概述
?乘积项结构器件
?查找表结构器件
8重大通信学院 ?何伟
第八章 可编程逻辑器件及其应用
主要内容
? 8.0 概述
8.1 可编程阵列逻辑 (PAL)器件
8.2 通用逻辑阵列 (GAL)器件
8.3 复杂可编程逻辑器件 (CPLD)
9重大通信学院 ?何伟
8.1 可编程阵列逻辑 (PAL)器件
?可编程阵列逻辑 ( Programmabee Array Logic)
?70年代末由 MMI公司推出
?双极性工艺, 熔丝编程方式 ( 一次性编程 )
?是在 FPLA( 现场可编程逻辑阵列 ) 基础上发展而来的 。
首先介绍 FPLA器件 。
1) 现场可编程逻辑阵列 ( FPLA)
几个符号:
关于 PAL:
10重大通信学院 ?何伟
8.1 可编程阵列逻辑 (PAL)器件
11重大通信学院 ?何伟
⑴ 构成原理:
8.1 可编程阵列逻辑 (PAL)器件
与 PROM一样,
也是用一级与逻辑电
路和一级或逻辑电路
来实现 。
12重大通信学院 ?何伟
⑵ 结构框图:
⑶ 举例:
8.1 可编程阵列逻辑 (PAL)器件
13重大通信学院 ?何伟
⑷ FPLA与 EPROM的区别:
8.1 可编程阵列逻辑 (PAL)器件
① ROM的逻辑阵列
(即地址译码器 )
是固定的, 而
FPLA的逻辑阵列
是可编程的;
结论,用 ROM实现逻辑函数 mi的利用率不高, 而 FPLA可通过编程产生所需要的 mi,
因此用 FPLA比用 ROM更合理 。
注意,如果在输出端增加 FF,将得到时序逻辑型 FPLA!
② ROM的与阵列将
输入变量的全部
最小项全部译出
了, 而 FPLA的与
阵列能产生的乘
积项比 ROM少得
多 。
14重大通信学院 ?何伟
2) PAL器件的基本结构
8.1 可编程阵列逻辑 (PAL)器件
组成特点,由可编程与阵列, 固定的或阵列和输出反馈单元构成 。
15重大通信学院 ?何伟
⑴ 基本与 -或阵列结构
8.1 可编程阵列逻辑 (PAL)器件
特点:
① 只有可编程与阵列和固定的
或阵列, 无输出控制和反馈;
② 输入端和输出端固定, 不可
自定义, 使用缺乏灵活性 。
用途:
只适用于简单的组合逻辑电路
设计 。
16重大通信学院 ?何伟
⑵ 可编程输入 /输出
型结构
8.1 可编程阵列逻辑 (PAL)器件
特点:
① 具有三态输出缓
冲器和反馈 缓冲器
(可构成简单的触发
器 );
② 功能配置灵活
( 既可输入, 也可输
出 ) 。
用途:
可方便地设计编
码器, 译码器, 数据
选择器等组合电路,
也可完成串行数据移
位和循环等操作 。
17重大通信学院 ?何伟
⑶ 带反馈的寄存器
型结构
8.1 可编程阵列逻辑 (PAL)器件
特点:
① 在输出端增加
了 D触发器, 器件具
有记忆功能
② D的 CP和三态
门的 OE均共用
用途:
设计同步计数器,
移位寄存器等同步时
序逻辑电路 (只能设
计时序电路, 因为
D_FF不能被旁路 )。
18重大通信学院 ?何伟
⑷ 带异或的寄存器型结构
8.1 可编程阵列逻辑 (PAL)器件
特点,与第三种相比仅仅将与项分为两组再通过一异或门输出至 D-FF。
用途,便于对与一或逻辑阵列输出的函数求反和保持, 可简化计数器和时序
逻辑电路的设计 。
19重大通信学院 ?何伟
⑸ 算术选通反馈型结构
8.1 可编程阵列逻辑 (PAL)器件
特点,在第四种基础上增加算术选用电路作反馈, 可得到 16种逻辑组合输出 。
用途,主要用于实现快速的加, 减, 大于, 小于等算术逻辑操作 。
20重大通信学院 ?何伟
⑹ 异步可编程寄存器输出型结构
8.1 可编程阵列逻辑 (PAL)器件
特点,① 增加一个异或门以控制输出的极性;
② D-FF的时钟, 置位和复位均可由 3个专用乘积项编程控制, 可实现异步控制;
③ 三态输出的使能端也由专用乘积项控制 。
用途,特别适合设计复杂异步时序逻辑电路 。
21重大通信学院 ?何伟
⑺ 乘积项公用
输出结构
8.1 可编程阵列逻辑 (PAL)器件
特点:
输出和反馈
每两路一组,
组内乘积项是
公用的, 时钟
和输出使能是
全局共用的 。
用途:
适用于设计
多输入 同步时
序逻辑电路 。
22重大通信学院 ?何伟
⑻ 宏单元输出
结构
8.1 可编程阵列逻辑 (PAL)器件
特点:
通过对宏单
元的编程, 可
确定各单元的
输出和反馈结
构, 灵活性强 。
用途:
可设计各种
数字逻辑电路 。
23重大通信学院 ?何伟
输入 /输出口
输入口
输入口
三态控制
可编程与阵列
固定或阵列
图 18
PAL16V8逻辑图
24重大通信学院 ?何伟
PAL的品种较多,设计应用时应注意以下几点:
8.1 可编程阵列逻辑 (PAL)器件
1,I/O端的数目 。 如 PAL16L8的输入端总数为 16个, 最大输出端数 8个;
2,输出乘积项数目 。 如 PAL16L8的乘积项数为 8个, 其中 7个乘积项可用于逻
辑设计, 另一个为专用乘积项用于输出三态缓冲器的控制;
3,当逻辑单元中的寄存器作为内部反馈寄存器使用时, 需占一个逻辑单元,
因此相应单元输出端不能使用;当逻辑单元作为组合输出时, 也占用一个
逻辑单元, 其内部的寄存器也将不能使用;
4,当具体设计超过器件所能提供的资源, 可分解成多个 PAL器件完成, 在逻
辑划分时, 既要有效的利用每个 PAL器件资源, 又要使各 PAL器件间的连
线尽量少;
5,在组合逻辑电路设计时, 可选用纯组合型 PAL器件, 也可选用宏单元型
PAL器件, 但必须编程将 FF旁路掉, 使之成为纯组合型器件;
6,在时序逻辑电路设计时, 要选用带 FF的 PAL器件 。 同步时序电路选用带反
馈寄存器型, 异或结构和乘积项公用型, 异步时序电路应选用异步可编程
寄存器输出结构 。
25重大通信学院 ?何伟
【 例 8-1】 用 PAL器件实现一个带使能输出的 2—4译码器
8.1 可编程阵列逻辑 (PAL)器件
注意:
每个或门有很多不用的与项, 这些与项是全部编程连接的, 所以这些
与项的乘积肯定是, 0”,因为,0???? BBAA
26重大通信学院 ?何伟
【 例 8-2】 用 PAL器件设计一个十进制异步计数器
8.1 可编程阵列逻辑 (PAL)器件
???? CPQQ nn ][ 010
????? nnnn QQQQ 01311 ][
???? nnn QQQ 1212 ][
?????? nnnnn QQQQQ 012313 ][
CP Q3n Q2n Q1n Q0n Q3n+1 Q2n+1Q1n+1Q0n+1
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
不要
27重大通信学院 ?何伟
第八章 可编程逻辑器件及其应用
主要内容
? 8.0 概述
? 8.1 可编程阵列逻辑 (PAL)器件
8.2 通用逻辑阵列 (GAL)器件
8.3 复杂可编程逻辑器件 (CPLD)
28重大通信学院 ?何伟
PAL器件:
???? ?? 公司年 L a t t i c e1985
8.2 通用逻辑阵列 (GAL)器件
优点,① 使用方便, 设计灵活, 减少了硬件规模, 提高了可靠性;
② 为研制工作和小批量产品提供了方便 。
缺点,① 采用熔丝工艺, 编程后不可修改, 研制工作中造成较大浪费;
② 种类繁多, 给设计和使用带来不便 。
?采用电擦除方式, 可重复编程;
?采用宏单元, 增加了器件的通用性 。
为克服 PAL缺点 推出 GAL器件, 其 特点 为:
29重大通信学院 ?何伟
1) GAL16V8总体结构 (如图 20)
8.2 通用逻辑阵列 (GAL)器件
?8个输入缓冲器 (固定输入 );
?8个三态输出缓冲器 (可编程为输入 /输出 );
?1个公共 CP输入缓冲器;
?1个公共三态输出使能 OE输入缓冲器;
?与阵列为 8× 8个与门,共 64个乘积项,每个项有 32个输入 ( 16个变量 ),
其中 8个变量为外部输入,8个是内部反馈;
?8个输出逻辑宏单元 OLMC(包括固定的或阵列 ),其中 6个都有反馈
线接到邻近单元 。
30重大通信学院 ?何伟
逻辑宏单元
输入 /输出口
输入口
时钟信
号输入
三态控制
可编程与阵列
图 20
GAL16V8逻辑图
31重大通信学院 ?何伟
2) 宏单元 OLMC
8.2 通用逻辑阵列 (GAL)器件
?一个或门:实
现或逻辑, 是
或阵列中的一
员;
?一个 D-FF:实
现时序逻辑;
? 四个数据选择
器:实现模式
控制; (由 AC0
和 AC1(n)编程
控制 )
? 门电路:辅助
功能 。
32重大通信学院 ?何伟
3) OLMC的结构控制字
总控制 屏蔽不用
乘积项
极性控制
?当 SYN=1时, 8个单元都是组合型;
?当 SYN=0时, 允许每个单元自定义为组合型或寄存器型 (由 AC0、
AC1(n)确定 );
8.2 通用逻辑阵列 (GAL)器件
33重大通信学院 ?何伟
4) OLMC的工作模式
8.2 通用逻辑阵列 (GAL)器件
34重大通信学院 ?何伟
4) OLMC的工作模式
8.2 通用逻辑阵列 (GAL)器件
35重大通信学院 ?何伟
4) OLMC的工作模式 64位
82位
1位
1脚 9脚 12脚
8.2 通用逻辑阵列 (GAL)器件
36重大通信学院 ?何伟
8.2 通用逻辑阵列 (GAL)器件
5) GAL器件的性能特点:
?采用电擦除工艺, 可重复编程, 可编程 100次以上;
?采用先进的 EECMOS工艺, 即有双极性器件的高速性能, 又有 CMOS器件
的低功耗优点;
?擦除与改写块;
?采用宏单元结构, 灵活, 通用性强, 可配置为多种工作模式;
?具有加密功能, 可防止电路的非法抄袭;
?具有电子标签, 便于文档管理, 提高了生产效率;
?具有寄存器预置和加电复位功能, 器件功能可测试性达 100%;
?编程数据可保存 20年以上;
缺点:
?阵列规模小, 不适合复杂逻辑电路的设计;
?不能完全杜绝编程数据的非法抄袭;
37重大通信学院 ?何伟
第八章 可编程逻辑器件及其应用
主要内容
? 8.0 概述
? 8.1 可编程阵列逻辑 (PAL)器件
? 8.2 通用逻辑阵列 (GAL)器件
8.3 复杂可编程逻辑器件 (CPLD)
38重大通信学院 ?何伟
简单 PLD器件被取代的原因:
(1)阵列规模较小, 资源不够用于设计数字系统 。 当设计较大的数
字逻辑时, 需要多片器件, 性能, 成本及设计周期都受影响 。
(2)片内寄存器资源不足, 且寄存器的结构限制较多 (如, 有的器件
要求时钟共用 ),难以构成丰富的时序电路 。
(3)I/ O不够灵活, 限制了片内资源的利用率 。
(4)编程不便, 需用专用的编程工具, 对于使用熔丝型的简单 PLD更
是不便 。
(5)不能完全杜绝编程数据的非法抄袭
8.3 复杂可编程逻辑器件 (CPLD)
39重大通信学院 ?何伟
1) CPLD的基本结构
(1)共享相邻乘积项和
结构
优点:
提高了各 单元或
门的使用效率, 可实
现较复杂的逻辑功能 。
8.3 复杂可编程逻辑器件 (CPLD)
40重大通信学院 ?何伟
(2),隐埋, FF结构
特点,隐埋的 FF不与 I/O端相连, 只供内部连接以提高时序电路设计的能力 。
即:可构成较复杂的时序电路 。
(3) FF类型可编程结构
特点,通过编程可将 FF设置为 4种不同类型, 即,D,T,J-K & R-S触发器 。
8.3 复杂可编程逻辑器件 (CPLD)
41重大通信学院 ?何伟
2) CPLD的分区阵列结构
?为什么要区分?
① 随着 PLD集成度的增大, 器件的 I/O引出端数目和 D-FF的数目将大大增加,
如果仍采用一个与阵列, 则输入或反馈到与门的输入端数和阵列的规模必然
急剧增大;
② 实际设计时, 每个与门所需的端数常常并不多, 造成与门利用率极低, 影响
集成度的提高 。
③ 当阵列大到一定程度时, 电路传输延时将增加, 工作频率降低 。
?解决方法?
① 分区, 每个区相当于一个小的 PLD;
② 设计复杂逻辑时, 可占用几个区, 各区间可通过可编程全局互连总线连接 。
③ 由于区间连线少, 从而降低了阵列的规模和传输延时 。
8.3 复杂可编程逻辑器件 (CPLD)
42重大通信学院 ?何伟
⑴ 通用互连阵列 UIM结构
④ UIM,通用互连矩阵, 直接连接宏单元输出,
I/O引出端和专用快速输入引出端, 通过无限制
的交叉开关可对 FB产生 21个输出, 对 FFB产生
24个输出, 并且有相同的时延 。
?基本原理,
① FFB,快速功能模块, 带可编程
与阵列和多个可编程宏单元,
特别适用于快速编解码和高速
时序逻辑电路 。
② FB,高集成度功能模块, 提供
高集成度的可编程与阵列, 主
要用于逻辑功能复杂且对时序
要求不是很高的应用场合, 以
及复杂的组合逻辑电路 。
③ I/O模块,具有强大的 I/O控制使
输入输出控制十分灵活, 输入
可编程为直通模式, 锁存模式
和寄存器模式 。
8.3 复杂可编程逻辑器件 (CPLD)
43重大通信学院 ?何伟
⑵ 多阵列矩阵 MAX结构
④ I/O控制块,允许每个 I/O引脚被配置为输入, 输出和
双向方式, 提供减缓输出缓冲器的电压摆率选择项,
以降低工作速度要求不高的信号在开关瞬间产生的噪
声 。
?基本原理,
① LAB,逻辑阵列块 是器件的核心,
每个 LAB与各自对应的 I/O控制
相连, 且每个 LAB通过可编程连
线阵列 PIA与全局总线连在一起 。
( 包含 16个宏单元 )
② 宏单元,由可编程与阵列 ( 36个
输入 ) 和固定的或阵列 ( 5个乘
积项 ), 一个具有独立可编程触
发器 ( 时钟, 时钟使能, 清除和
置位均可编程 ) 。
③ PIA,可编程连线阵列, 通过
PIA把各 LAB相互连接, 构成用
户所需要的逻辑功能 。 几乎所有
信号都可通过 PIA连接到器件的
任何地方 。 PIA有固定的延时,
使得器件的延时性能可以预测 。
8.3 复杂可编程逻辑器件 (CPLD)
44重大通信学院 ?何伟
⑶ 灵活逻辑单元阵列 FLEX结构
8.3 复杂可编程逻辑器件 (CPLD)
?基本原理,
① LE,逻辑单元, 包含一个 4输入组合逻辑函数查找表 LUT,一个带同步使能的
触发器和一个进位链和级联链用于连接同一 LAB中的所有 LE和同一阵列行中
的其他 LAB。
② LAB:逻辑阵列块, 由 8个 LE组成, 它们具有共同的输入, 互连与控制信号 。 每
个 LAB在器件中是独立的模块 。
③ EAB,嵌入阵列块, 由 RAM/ROM和相关的输入, 输出寄存器构成, 可用于设
计片内存储器, 同时 EAB也相当于一个 大规模的 LUT,可编程快速实现多位数
字乘法器, 数字滤波器和微控制器等复杂逻辑功能 。
④ IOE,I/O单元, 内部逻辑资源与外部逻辑器件的接口, 包含缓冲器和触发器 。
⑤ 快速互连通道,包含行和列互连通道, 由遍及整个器件长, 宽的一系列行和列
构成的连续式布线通道组成 。 该结构使设计的布线延时成为可预测的 。
45重大通信学院 ?何伟
8.3 复杂可编程逻辑器件 (CPLD)
46重大通信学院 ?何伟
⑷ 大块结构
与阵列( 18个输入,其中 16个来自 GRP,2个专用输入)
乘积项共享或阵列( 4个输出)
输出宏单元( 4个)
控制逻辑
8.3 复杂可编程逻辑器件 (CPLD)
?基本原理,
① GLB,通用逻辑块, 位于全局布线池 GRP的四周;
组成:
特点,( a)相当于一个 GAL,可编程为 5种工作模式;
( b)具有乘积项共享功能,使设计灵活。
② GRP,全局布线池, 位于器件中心, 提供高速内部互连;
( a) IOC输入 GLB输入线
( b) GLB输出 GLB输入线
( c) 提供固定传输延时 。
47重大通信学院 ?何伟
8.3 复杂可编程逻辑器件 (CPLD)
48重大通信学院 ?何伟
49重大通信学院 ?何伟
③ MB,大块, 是器件较大的综合结构, 1032有 4个 MB;
8.3 复杂可编程逻辑器件 (CPLD)
组成,8个 GLB,1个 ORP,16个 IOC,2个专用输入, 1个公共乘积项输出使
能 ( OE)
④ ORP,输出布线池
作用,将本大块的 GLB的输出 IOC
特点,提高 I/O管脚分配的灵活性, 使综合布线池的布通率达 100%,且与引
脚锁定无关 。
⑤ IOC,I/O单元, 位于器件最外层
功能,可编程为输入, 输出, 双向 I/O。
⑥ CDN,时钟分配网络
作用,网络可产生 5个全局时钟信号供内部 GLB和 IOC使用 。
50重大通信学院 ?何伟
【 例 8-5】 用查找表 LUT结
构实现一个五进制计数器
CP Q3n Q2n Q1n Q3n+1 Q2n+1 Q1n+1
O O 0 0 0 0 1
1 O 0 1 0 1 0
2 O 1 0 0 1 1
3 O 1 1 1 0 0
4 1 0 0 0 0 0
1
0
1
0
0
0
1
1
0
0
0
0
0
1
0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
地址码 LUT3 LUT2 LUT1
输出
寄存器
Q 3
n
Q 2
n
Q 1
n
Q 2
n + 1
Q 1
n + 1
Q 3
n + 1
C L R CP D
3
D 2 D
1
8.3 复杂可编程逻辑器件 (CPLD)
51重大通信学院 ?何伟
【 例 8-7】 用 EPF10K20器件的 EAB存储器配置一个 256× 16和 512× 8的 RAM。
8.3 复杂可编程逻辑器件 (CPLD)
256 × 8 R A M
256 × 8 R A M
8
8
8 8
8
256 × 16 R A M
512 × 4 R A M
512 × 4 R A M
9
9
9 4
4
512 × 8 R A M
52重大通信学院 ?何伟
【 第 8章 习题 】
P343,1,3,5,6,8,15
第八章 可编程逻辑器件及其应用