第七章 可编程逻辑器件 PLD
§ 7-1 可编程逻辑器件 PLD概述
§ 7-2 可编程逻辑器件 PLD的基本单元
§ 7-3 可编程只读存储 PROM和可编程逻辑阵列 PLA
§ 7-4 可编程逻辑器件 PAL和通用逻辑阵列 GAL
§ 7-5 高密度可编程逻辑器件 HDPLD原理及应用
§ 7-6 现场可编程门阵列 FPGA
§ 7-7 随机存取存储器( SRAM)
小结
连接线与点增多
抗干扰下降
传统的逻辑系统,当规模增大时
( SSI MSI)
焊点多,可靠性下降
系统规模增加成本升高
功耗增加
占用空间扩大
半定制
标准单元 ( Standard Cell)
门阵列 ( Gate Array)
可编程逻辑器件 ( Programmable Logic Device,PLD)
近年来 PLD从芯片密度、速度等方面发展迅速,已成为一
个重要分支。
专用集成电路(简称 ASIC)系统放在一个芯片内
用户定制
集成电路
ASIC
全定制( Full Custom Design IC
厂商直接做出 。
如:表芯
厂商做出半成品
半定制( Semi-Custom Design IC)
§ 7-1 可编程逻辑器件 PLD概述
PLD是 70年代发展起来的新型逻辑器件,相继出现了 ROM、
PROM,PLA,PAL,GAL,EPLD和 FPGA等,它们组成基本相
似。
一,PLD的基本结构
与门
阵列
或门
阵列乘积项 和项
PLD主体
输入
电路
输入信号 互补
输入
输出
电路
输出函数
反馈输入信号
输出既可以是低电平有效,
又可以是高电平有效 。
? 可由或阵列直接输出,
构成组合;
? 通过寄存器输出,
构成时序方式输出 。
可直接
输出
也可反馈到输入
二,PLD的逻辑符号表示方法
1.输入缓冲器表示方法
A
A
A2.与门和或门的表示方法
A B C D
F1
固定连接 编程连接
F1=A?B?C
A B C D
F2
F2=B+C+D
PLD具有较大的与或阵列,逻辑图的
画法与传统的画法有所不同
下图列出了连接的三种特殊情况,
1.输入全编程,输出为 0。
2.也可简单地对应的与门中画叉,因此 E=D。
3.乘积项与任何输入信号都没有接通,相当与门输出为 1。
注,F=1将导致关断其它乘积项的输出。
下图给出最简单的 PROM电路图,右图是左图的简化形式。
实现的函数为:
BABAF ????1 BABAF ????2 BAF ??3
固定连接点
(与)
编程连接点
(或)
三,PLD的分类
( 1)与固定、或编程,ROM和 PROM
( 2)与或全编程,PLA
( 3)与编程、或固定,PAL,GAL和 HDPLD
1.与固定、或编程,与阵列全固定,即全译码; ROM和 PROM
PLD基本结构大致相同,根据与或阵列是否可编程分为三类:
2.与、或全编程,
代表器件是 PLA( Programmable Logic Array),下图
给出了 PLA的阵列结构,在 PLD中,它的灵活性最高。由于
与或阵列均能编程 的特点,在实现函数时,只需形成 所需的
乘积项,使阵列规模比 PROM小得多。
3.与编程、或固定, 代表器件 PAL( Programmable Array Logic)
和 GAL( Generic Array Logic)。,
这种结构中,或阵列固定若干个乘积项输出,见下图。
四,PLD的性能特点
采用 PLD设计数字系统和中小规模相比具有如下特点:
1.减小系统体积,单片 PLD有很高的密度,可容纳中
小规模集成电路的几倍到十几倍,
2.增强逻辑设计的灵活性,使用 PLD器件设计的系
统,可以不受标准系列器件在逻辑功能上的限制。
3.缩短设计周期,由于有可编程特性,用 PLD设计一个
系统所需时间比传统方式大为缩短 。
各种 PLD 的结构特点
阵 列
类 型
与 或
输出方式
P R O M
P L A
P A L
G A L
固定
可编程
可编程
可编程
可编程
可编程
固定
固定
T S,O C
T S,O C,H,L
T S,I / O,寄存器
用户定义
各种 PLD的结构特点
4.提高系统处理速度,用 PLD与或两级结构实现任何逻辑功
能, 比用中小规模器件所需的逻辑级数少 。 这不仅简化了系统
设计, 而且减少了级间延迟, 提高了系统的处理速度 。
7.系统具有加密功能,某些 PLD器件, 如 GAL或高密度可编
程逻辑器件本身具有加密功能 。 设计者在设计时选中加密项,
可编程逻辑器件就被加密, 器件的逻辑功能无法被读出, 有效
地防止逻辑系统被抄袭 。
5.降低系统成本,由于 PLD集成度高,测试与装配的量大大
减少,避免了改变逻辑带来的重新设计和修改,有效地降低了成
本。
6.提高系统的可靠性,用 PLD器件设计的系统减少了芯片
和印制板数量,增加了平均寿命,减少相互间的连线,提高抗
干扰能力,从而增加了系统的可靠性。
五、用 PLD实现逻辑电路的方法与过程
用可编程逻辑器件来设计电路需要相应的开发软件平
台和编程器,可编程逻辑器件开发软件和相应的编程器多
种多样。
可编程逻辑器件设计电路过程如下图所示
电
路方
设案
计
设
计
输
入
优
化
电
路
选
择
器
件
编
程
器时
件序
功检
能查
特别是一些较高级的软件平台,一个系统除了方案
设计和输入电路外,其它功能都可用编程软件自动完成。
§ 7-2 可编程逻辑器件 PLD的基本单元
编程单元,PLD中用来存放数据的基本单元
非易失性有多种编程单元,其特点为掉电后
信息不会丢失,它一般用于只读存储器
ROM。
易失性单元,这 种基本单 元采用 的是静态 随机存储 器
( SRAM) 结构, 其特点为掉电以后信息就要
丢失, 现场可编程门阵列 ( FPGA) 采用这种
编程单元 。
非易失性单元:
编
程
单
元
编
程
方
式
一次编程,信息一次编程固定好的,编程元件 PROM
多次编程:
用户根据需要将数据储存在编程单元中, 并
可 以 多 次 写 入 和 擦 除, 编程元件 UV
EPROM和 E2PROM。
编程单元采用的是
浮栅技术
一、熔丝型开关
A
1
A
2
Y
1
Y
2
Y
3
Y
4 十进制
0 0
0 1
1 0
1 1
0 0 0 0
0 0 0 1
0 1 0 0
1 0 0 1
0
1
4
9
二, 反熔丝型开关
三、浮栅编程技术
用浮栅编程技术生产的编程单元是一种能多次改写的
ROM,即已写入的内容可以擦去,也可以重新写入新的内
容。(一)叠栅型( SIMOS)存储单元
25V25VGND
—
1
1
1
无
0
+ + + +
开启电压加大
+ + + ++ +
开启电压
5V 5VGND
浮栅上的电荷无放电通路,没法泄漏。
用 紫外线照射 芯片上的玻璃窗, 则形成光电电流, 把栅极
电子带回到多晶硅衬底, SIMOS管恢复到初始的导通状态 。
隧道
80埃
面积大
向浮栅写入
电荷时, G加
25V,D接 GND
擦除浮栅电荷
时,G加 5V,
D接 25V
(二)隧道型( FLOTOX)储存单元
前面研究的可擦写存储器的缺点是要擦除已存入的信息必须用
紫外光照射一定的时间, 因此不能用于快速改变储存信息的场合,
用隧道型储存单元制成的存储器克服了这一缺点, 它称为电可改写
只读存储器 E2PROM,即电擦除, 电编程的只读存储器 。
FLOTOX管的结构剖面示意图如图所示。它与叠栅型管的不同在于浮栅延长区与漏区 N 之间的交叠
处有一个厚度约为 80埃的薄绝缘层
(三)闪速型( Flash)存储单元
闪速存储单元又称为 快擦快
写存储单元 。右图是闪速存储单
元剖面图。
闪速存储单元去掉了隧道型存
储单元的选择管,它不像 E2PROM
那样一次只能擦除一个字,而是可
以用一个信号,在几毫秒内擦除一
大区段。
因此,闪速存储单元比隧道型存储单元的芯片结构更简
单、更有效,使用闪速存储单元制成的 PLD器件密度更高。
Flash工作原理类似于叠栅型存储单元,但有两点不同之处:
1,闪速存储单元源极的区域 Sn+大于漏极的区域 Dn+,两
区域不是对称的,使浮栅上的电子进行分级双扩散,电子扩
散的速度远远大于叠栅型存储单元;
2,叠栅存储单元的浮栅到 P型衬底间的氧化物层约 200埃左
右,而闪速存储单元的氧化物层更薄,约为 100埃。
(四)、六管静态存储单元
闪速存储单元的可再编程能力约为 10万次左右,但还是不
及 SRAM那样有无限制的再编程能力,以 SRAM为存储单元的
现场可编程门阵列( FPGA)可以实现无限次从一种运行逻辑
转换到另一种运行逻辑的功能。
下图是 SRAM六管存储单元,由两个具有有源下拉 n沟道
晶体管和有源上拉 p沟道晶体管交互耦合的倒相器组成。
高和低电平是用具
有分别到电源 VCC和地
GND的低阻抗通道的有
源器件定义的两个电平。
D1,D2为两个传输
NMOS管,其栅极接到
字线,源极分别接到两
条互补的位线上,起传
输作用。
§ 7-3 可编程只读存储器
PROM和可编程逻辑阵列 PLA
一、可编程只读存储器 PROM
PROM的结构是 与阵列固定, 或阵列可编程 的 PLD器件,
对于有大量输入信号的 PROM,比较 适合作为存储器 来存放
数据,它在计算机系统和数据自动控制等方面起着重要的作
用。对于较少的输入信号组成的与阵列固定、或阵列可编程
的器件中,也可以很方便地 实现任意组合逻辑函数 。
例 1,下图是一个 8(字线) × 4(数据)的存储器数据阵列图。
3-8线译码器 8× 4存储单元矩阵
输出缓冲器
地址码输入端
数据输出端
字线
由地址译码器选中不同的字线,被选中字线上的四位数
据通过输出缓冲器输出。
如当地址码 A2A1A0= 000时,通过地址译码器,使字线 P0
= 1,将字线 P0上的存储单元存储的数据 0000输出,即 D0~
D3= 0000。更详细的内容,请同学参看表 7-3
将左图地址扩展成 n条地址线,
n位地址码可寻址 2n个信息单
元,产生字线为 2n条,其输出
若是 m位,则存储器的总容量
位 2n× m位。
EPROM有各种类型的产品,下图是紫外线擦除、电可编程的
EPROM2716器件逻辑框图和引脚图。
EPROM2716是 211× 8位可改写
存储器,有 11位地址线 A0~ A10,
产生字线为 2048条,D7~ D0是 8
位数据输出 /输入线,编程或读
操作时,数据由此输入输出。
CS为片选控制信号是低电平有效。
OE/PGM为读出 /写入控制端低电平
时输出有效,高电平进行编程,写
入数据
若当 EPROM2716的容量不能满足使用要求,且仅有
2716芯片时,可用多片并联来扩展地址线和数据线。下图是
将 2片 2716扩展成 2048× 16的数据位进行扩展连接示意图。
两片的数据线
排列成 D0~ D15
其余线全部并联。
从组合电路角度来看,
输入地址信号即为电路的输入逻辑变量地址译码器产生 2n个字线即为固定与阵列产生 2n个乘积项
存储矩阵即为或阵列把乘积
项组合成 m个逻辑函数输出。
例 2:试用适当容量的 PROM实现两个两位二进制数比较的比较器。
( 1)两个两位二进制数分别为 A1A0和 B1B0,当 A1A0大于 B1B0时,
F1= 1,A1A0等于 B1B0时,F2= 1,A1A0小于 B1B0时,F3= 1,下
表给出了两位二进制和比较结果的输入输出对照表,
NO A
1
A
0
B
1
B
0
F
1
F
2
F
3
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0 1 0
0 0 1
0 0 1
0 0 1
1 0 0
0 1 0
0 0 1
0 0 1
1 0 0
1 0 0
0 1 0
0 0 1
1 0 0
1 0 0
1 0 0
0 1 0
由此可写出输出逻辑
函数的最小项表达式为:
F1= ?m( 4,8,9,12,13,14)
F2= ?m( 0,5,10,15)
F3= ?m( 1,2,3,6,7,11)
( 2)把 A1A0和 B1B0作为 PROM的输入信号,F1,F2和 F3为或
阵列的输出,下图是用 PROM实现比较器的阵列图。
( 3)选用 PROM的容量
为 16× 3位即可满足要求。
以 PROM实现简单的组合逻
辑电路函数是很方便的
实际上,大多数组合逻辑函数的最小项不超过 40个,则使得
PROM芯片的面积利用率不高,功耗增加。为解决这一问题,
考虑与阵列也设计成可编程形式来实现组合逻辑,这就是可编
程逻辑阵列 PLA。
一般的 PROM输入的地
址线都较多,容量也较大,
又由于 PROM的与阵列固定,
必须进行全译码,要产生全
部的最小项。
二, 可编程逻辑阵列 PLA
可编程逻辑阵列 PLA和 PROM相比之下,有如下特点:
(一) PROM是与阵列固定、或阵列可编程,而 PLA是
与和或阵列全可编程。
(二) PROM与阵列是全译码的形式,而 PLA是根据需
要产生乘积项,从而减小了阵列的规模。
(三) PROM实现的逻辑函数采用最小项表达式来描述;
而用 PLA实现逻辑函数时,运用简化后的最简与或式,即
由与阵列构成乘积项,根据逻辑函数由或阵列实现相应乘
积项的或运算。
(四)在 PLA中,对多输入、多输出的逻辑函数可以利用
公共的与项,因而,提高了阵列的利用率。
例 4,试用 PLA实现四位自然二进制码转换成四位格雷码。
( 1)设四位自然二进制码为 B3B2B1B0,四位格雷码为
G3G2G1G0,其对应的真值表如下表所示。
NO A
1
A
0
B
1
B
0
G
3
G
2
G
1
G
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0 0 0 0
0 0 0 1
0 0 1 1
0 0 1 0
0 1 1 0
0 1 1 1
0 1 0 1
0 1 0 0
1 1 0 0
1 1 0 1
1 1 1 1
1 1 1 0
1 0 1 0
1 0 1 1
1 0 0 1
1 0 0 0
根据表列出逻辑函数并简化,
得最简输出表达式如下:
33
B G ?
23232
BBBBG ??
12121 BBBBG ??
01010
BBBBG ??
( 2)转换器有四个输入信号,化简后需用到 7个不同的乘积
项,组成 4 个输出函数,故选用四输入的 7× 4PLA实现,下
图是四位自然二进制码转换为四位格雷码转换器 PLA阵列图。
33
B G ?
23232
BBBBG ??
12121 BBBBG ??
01010
BBBBG ??
7项
右图仅用了七个乘积项,比 PROM全译码少用 9个,实现
的逻辑功能是一样的。从而降低了芯片的面积,提高了芯
片的利用率,所以用它来实现多输入、多输出的复杂逻辑
函数较 PROM有优越之处。
PLA除了能实现各种组合电路外, 还可以在或阵列之后接入
触发器组, 作为反馈输入信号, 实现时序逻辑电路 。
§ 7-4 可编程逻辑器件 PAL和
通用逻辑阵列 GAL
一、可编程阵列逻辑器件 PAL
PAL采用双极型熔丝工艺,工作速度较高。 PAL的结构
是与阵列可编程和或阵列固定,这种结构为大多数逻辑函数
提供了较高级的性能,为 PLD进一步的发展奠定了基础。
( 一 ) PAL的基本结构
PAL器件的输入、输出结构以及输入、输出的数目是由
集成电路制造商根据实际设计情况大致估计确定。 PAL器件
的型号很多,它的典型输出结构通常有四种,其余的结构是
在这四种结构基础上变形而来。
1,专用输出基本门阵列结构
一个输入
四个乘积项且通过
或非门低电平输出
如输出采用或门,为高电平有效
PAL器件。
若采用互补输出的或门,为互补
输出器件。
输入信号
四个整积项
2,可编程 I/O输出结构
可编程 I/O结构如下图所示。
8个乘积项两个输入,一个来自外部 I,另一来自反馈 I/O
当最上面的乘积项为高电平时,三态
门开通,I/O可作为输出或反馈;乘积
项为低电平时,三态门关断,是输入。
3,寄存器型输出结构:也称作时序结构, 如下图所示 。
8个乘积项
或门的输出通过 D触发器,
在 CP的上升沿时到达输出。
触发器的 Q端可以
通过三态缓冲器
送到输出引脚
触发器的反相端反馈回与
阵列,作为输入信号参与
更复杂的时序逻辑运算
CP和使能是 PAL的公共端
4,带异或门的寄存器型输出结构:
增加了一个异或门 把乘积项分割成两个和项两个和项在触发器的输入端异或之后,
在时钟上升沿到来时存入触发器内
有些 PAL器件是由数个同一结构类型组成,有的则是由
不同类型结构混合组成。
如由 8个寄存器型输出结构组成的 PAL器件命名为
PAL16R8,由 8个可编程 I/O结构组成的 PAL器件则命名为
PAL16L8。
(二) PAL16L8的使用
PAL的例题请同学参看图 7-35、图 7-36和例 6。
应用 PAL16L8设计组合逻辑电路,主要步骤是将输出和激
励写成最简与或表达式,然后确定 PAL16L8的引脚和编程。
目前能够支持 PAL的编程软件已相当成熟, 芯片应用也
很普及, 但是由于其集成密度不高, 编程不够灵活, 且只能
一次编程, 很难胜任功能较复杂的电路与系统 。
二、通用阵列逻辑 GAL器件
采用 E2CMOS工艺和灵活的输出结构,有电擦写反复编程的特
性。
与 PAL相比,GAL的输出结构配置了可以任意组态的输出逻辑
宏单元 OLMC( Output Logic Macro Cell),
GAL和 PAL在结构上的区别见下图,PAL结构
GAL结构
适当地为
OLMC进行
编程,GAL
就可以在功
能上代替前
面讨论过的
PAL各种输
出类型以及
其派生类型
( 一 ) GAL器件结构和特点
GAL器件型号定义和 PAL一样根据输入输出的数量来确定,
GAL16V8中的 16表示阵列的输入端数量,8表示输出端数量,V
则表示输出形式可以改变的普通型
1,GAL16V8的基本结构(下图)
8个输入缓冲器 8个输出反馈缓冲器一个共用时钟 CLK 8个输出缓冲器8个 OLMC
2,GAL输出逻辑宏单元 OLMC的组成
输出逻辑宏单元 OLMC 由或门、异或门,D触发器、多路选
择器 MUX、时钟控制、使能控制和编程元件等组成,如下图:
组合输出
时序输出
3,输出逻辑宏单元 OLMC组态
输出逻辑宏单元由对 AC1(n) 和 AC0进行编程决定 PTMUX、
TSMUX,OMUX和 FMUX的输出,共有 5种基本组态:
专用输入组态、专用输出组态、复合输入 /输出组态、寄
存器组态和寄存器组合 I/O组态。 8个宏单元可以处于相同的组
态,或者有选择地处于不同组态。
(1) 专用输入组态,如下图所示:
此时 AC1(n)= 1,AC0= 0,
使 TSMUX输出为 0,三态
输出缓冲器的输出呈现高
电阻,本单元输出功能被
禁止,
I/O可以作为输入端,提供
给相邻的逻辑宏单元。
本级输入信号却来自另一
相邻宏单元。
(2) 专用输出组态:如下图所示:
AC1(n)= 0,AC0= 0,
四路反馈数据选择器
FMUX输出接在低电平,
本单元的反馈信号和
相邻单元的信号都被
阻断
由于或非门,使异或门的输出不经过 D触发器,直
接由处于使能状态的三态门输出
由于与非门输出使第一
条乘积项经过乘积项数
据选择器作为或门的输
入
(4) 寄存器组态:当 AC1(n)= 0,AC0= 1时, 如下图所示 。
( 3)同学自学
此时 OMUX选中触
发器的输出同相 Q端
作为输出信号,
反馈输入信号来自 D触
发器的反相端
或门的输入有 8个乘积项
OE,CLK作为输出缓
冲器的使能信号和时钟,
作为公共端
4,GAL是继 PAL之后具有较高性能的 PLD,和 PAL相比, 具有以下
特点:
(1) 有较高的通用性和灵活性:它的每个逻辑宏单元可以根据
需要任意组态既可实现组合电路,又可实现时序电路。
(2) 100% 可编程,GAL采用浮栅编程技术, 使与阵列以及逻
辑宏单元可以反复编程, 当编程或逻辑设计有错时, 可以擦
除重新编程, 反复修改, 直到得到正确的结果, 因而每个芯
片可 100% 编程 。
(3) 100%可测试,GAL的宏单元接成时序状态, 可以通过测
试软件对它门的状态进行预置, 从而可以随意将电路置于某
一状态, 以缩短测试过程, 保证电路在编程以后, 对编程结
果 100% 可测 。
(4) 高性能的 E2COMS工艺:使 GAL的高速度, 低功耗, 编
程数据可保存 20年以上 。 正是由于这些良好的特性, 使
GAL器件成为数字系统设计的初期理想器件 。
( 二 ) GAL器件的编程方法和应用
对 GAL编程是设计电路的最后一个环节。除了对与阵列
编程之外,还要对逻辑宏单元进行编程,以达到预定的输出
逻辑关系。这样应当具备 GAL编程的开发系统,软件开发平
台 和 硬件编程设备,而软件平台是不可缺少的。
目前 GAL的编程方法有两种:
一种是早期的 GAL器件编程需要使用专门的编程器,
将需要编程的 GAL器件插入编程器进行编程,然后将编程
后的 GAL器件连接在设计者的设计系统。
另一种是新一代的 GAL器件,可以脱离开编程器,
直接在设计者的电路系统上编程。
另一类是编译软件,如 Synario软件平台,这类软件的特
点是待实现的逻辑电路是由设计者根据软件平台规定的图形
输入文件或可编程逻辑设计语言编写的语言输入文件进行描
述,然后软件平台对设计者的电路进行描述转换,分析,简
化,模拟仿真、自动进行错误定位等。
GAL的开发软件有许多种,大体上分为两类:
一类是汇编型软件,如 FM,这类软件没有简化功能,要
求输入文件采用最简与或式的逻辑描述方式;
同学自行学习 GAL例题。
GAL器件仍然存在着以下问题:
时钟必须共用;
或的乘积项最多只有 8个;
GAL器件的规模小,达不到在单片内集成一个数字系统的要求;
尽管 GAL器件有加密的功能,但随着解密技术的发展,对于这
种阵列规模小的可编程逻辑器件解密已不是难题。
§ 7-5 高密度 可编程逻辑器件
HDPLD原理及应用
HDPLD( High Density Programmable Logic Device)在单
片芯片内可以集成成千上万个等效门,因此在单片高密度可
编程逻辑器件内集成数字电路系统成为可能。
HDPLD器件在结构上仍延续 GAL的结构原理,因而还是
电擦写、电编程的 EPLD器件。
一、在系统编程芯片 EPM7128S的基本结构
在系统编程芯片 EPM7128S是 Altera公司生产的高密度、高性能
CMOS可编程逻辑器件之一,下图是 PLCC封装 84端子的引脚图
它有 4个直接
输入( INPUT)
TMS,TDI,TDO
和 TCK是在系统编
程引脚
64个 I/O
引脚
下图是 EPM7128S器件结构图:由 8个相似的逻辑阵列块
( Logic Array Block,LAB)、一个可编程内连矩阵( PIA)
和多个输入 /输出控制块 (I/O Block)组成。
二, EPM7128S的特点
(一)高集成密度 ;
( 二 ) 速度高, 低功耗, 抗噪声容限较大 ;
( 三 ) 在系统编程能力 ;
( 四 ) 可测试性能力 ;
( 五 ) 线或功能 ;
( 六 ) 异步时钟, 异步清除功能 ;
(七)单片多系统能力;
(八)很强的加密能力
§ 7-6 现场可编程门阵列 FPGA
前面讨论的可编程逻辑器件基本组成部分是与阵列、或
阵列和输出电路。再加上触发器则可实现时序电路
本节介绍的 FPGA( Field Programmable Gate Array)不
像 PLD那样受结构的限制,它可以靠门与门的连接来实现任
何复杂的逻辑电路,更适合实现多级逻辑功能。
陆续推出了新型的现场可编程门阵列 FPGA。功能更
加丰富,具有基本逻辑门电路、传输外部信号的输入 /输
出电路和可编程内连资源之外,还具有很高的密度等等。
一, 现场可编程门阵列 FPGA结构
FPGA的编程单元是基于静态存储器( SRAM)结构,
从理论上讲,具有无限次重复编程的能力
下面介绍 XILINX公司的 XC4000E系列芯片,了解 FPGA内
部各个模块的功能,见下图:
可配置逻辑模
块 CLB输入 /输出
模块 I/OB
可编程连
线 PI
编程开关
矩阵 PSM
四, 现场可编程门阵列 FPGA的特点
(一) SRAM结构:可以无限次编程,但它属于易失性
元件,掉电后芯片内信息丢失;通电之后,要为 FPGA重新
配置逻辑,FPGA配置方式有七种,请读者参考有关文献。
( 二 ) 内部连线结构,HDPLD的信号汇总于编程内连矩
阵, 然后分配到各个宏单元, 因此信号通路固定, 系统速
度可以预测 。 而 FPGA的内连线是分布在 CLB周围, 而且编
程的种类和编程点很多, 使得布线相当灵活, 因此在系统
速度方面低于 HDPLD的速度 。
( 三 ) 芯片逻辑利用率:由于 FPGA的 CLB规模小, 可
分为两个独立的电路, 又有丰富的连线, 所以系统综合时
可进行充分的优化, 以达到逻辑最高的利用 。
(四)芯片功耗:高密度可编程逻辑器件 HDPLD的功耗
一般在 0.5W~ 2.5W之间,而 FPGA芯片功耗 0.25mW~ 5mW,
静态时几乎没有功耗,所以称 FPGA为零功耗器件。
§ 7-7 随机存取存储器
( SRAM)
在计算机及数据处理系统中需要存放大量数据、中间
结果、表格等设备,这就是随机存取存储器 SRAM。
RAM可分为单极型和双极型:双极型工作速率高,但
是集成度不如单极型的高,目前,由于工艺水平的不断提
高,单极型 RAM的速率已经可以和双极型 RAM相比,而且
单极型 RAM具有功耗低的优点。这里只以单极型 RAM为例
进行分析
单极型 RAM又可分为静态 RAM与动态 RAM:静态 RAM
是用 MOS管触发器来存储代码,所用 MOS管较多、集成度低、
功耗也较大。动态 RAM是用栅极分布电容保存信息,它的存
储单元所需要的 MOS管较少,因此集成度高、功耗也小。静
态 RAM使用方便,不需要刷新
一,RAM的基本结构
RAM的基本结构如下图所示的三个部分,存储矩阵、
地址译码器 和读写电路
地址
片选信号
读写控制信号
数据输入
和输出信号
下图是二元寻址的 M字 × 1位 RAM结构图,它的存储矩阵是
α × β 位,地址译码器分 行译码 器和 列译码 器,只有行及列共
同选中的单元才能进行读、写。这种寻址的方式所需要行线和
列线的总数较少。例如要存储 256字 × 1位的容量,采用一元寻
址就需要 256条字线,若采用二元寻址只需 α =16,β =16,共
32条线也就可以了。
二、存储单元
RAM中的存储单元可由双极型管组成,也可由 MOS管组成。
MOS管可以工作于静态,也可以工作于动态,而双极型管单
元大多工作于静态。
(一) MOS静态单元如下图所示:
T0,T1,T2及 T3构成
R-S触发器,
T4及 T5是行选管,
是一行中公用的 T6及 T7是列选管,是一列公用的
0
0
1
当使能为低电平,写也为低电平时,
三态门 2将输入数据 Di通过 T6,T4作
用于 T3栅极,同时将 Di的互补值通
过 T7及 T5作用于 T2的栅极,从而使
触发器按 Di翻转,完成写入。
( 二 ) 动态 MOS存储单元如下图
这是一动态存储单元,
靠栅极电容 C1及 C2存储
电荷。
如要写入,1”,只需在数据
线 D上作用,1”便可以给 C2
充上足够的电荷,而 C1则不
被充电,表示记入了,1”
当刷新端加高电压时,负载管
T3,T4导通,同时行线加高电
压使 T6,T5也导通,构成 R-S
触发器,触发器的状态由 C1及
C2中的电压决定
栅极电容保留信息只有一
段时间,需定期地给它刷
新,以免信息丢失,所以
在每一行上设有刷新电路。
当 X,Y线均为高电平时,
T5,T6,T7及 T8都导通,
此单元接至数据线,
3.PROM是编程只读存储器, 可用来存储程序, 固定数据, 程序
及数据是以二进制码的形式事先存入 PROM中, 它们不会丢失 ;
小 结
1,存储器分为 RAM 和 ROM ;
2.RAM是随机存取存储器分动态和静态;
4.PROM除了存储数据外,还可以编程逻辑函数 ;
5.编程逻辑函数的器件还包括 EPROM,PLA,PAL和 GAL等。
6.HDPLD分为 EPLD和 FPGA;
7.EPLD实现组合逻辑函数是从任何组合逻辑电路均可表示为与
或表达式,加上触发器可实现时序电路的原理出发而构成 ;
作业,7-1,7-2,7-3,7-4,7-6,7-7,7-8,7-10,7-11,7-12,
7-13,7-14,7-17,7-18,7-21,7-22,7-26,7-31
§ 7-1 可编程逻辑器件 PLD概述
§ 7-2 可编程逻辑器件 PLD的基本单元
§ 7-3 可编程只读存储 PROM和可编程逻辑阵列 PLA
§ 7-4 可编程逻辑器件 PAL和通用逻辑阵列 GAL
§ 7-5 高密度可编程逻辑器件 HDPLD原理及应用
§ 7-6 现场可编程门阵列 FPGA
§ 7-7 随机存取存储器( SRAM)
小结
连接线与点增多
抗干扰下降
传统的逻辑系统,当规模增大时
( SSI MSI)
焊点多,可靠性下降
系统规模增加成本升高
功耗增加
占用空间扩大
半定制
标准单元 ( Standard Cell)
门阵列 ( Gate Array)
可编程逻辑器件 ( Programmable Logic Device,PLD)
近年来 PLD从芯片密度、速度等方面发展迅速,已成为一
个重要分支。
专用集成电路(简称 ASIC)系统放在一个芯片内
用户定制
集成电路
ASIC
全定制( Full Custom Design IC
厂商直接做出 。
如:表芯
厂商做出半成品
半定制( Semi-Custom Design IC)
§ 7-1 可编程逻辑器件 PLD概述
PLD是 70年代发展起来的新型逻辑器件,相继出现了 ROM、
PROM,PLA,PAL,GAL,EPLD和 FPGA等,它们组成基本相
似。
一,PLD的基本结构
与门
阵列
或门
阵列乘积项 和项
PLD主体
输入
电路
输入信号 互补
输入
输出
电路
输出函数
反馈输入信号
输出既可以是低电平有效,
又可以是高电平有效 。
? 可由或阵列直接输出,
构成组合;
? 通过寄存器输出,
构成时序方式输出 。
可直接
输出
也可反馈到输入
二,PLD的逻辑符号表示方法
1.输入缓冲器表示方法
A
A
A2.与门和或门的表示方法
A B C D
F1
固定连接 编程连接
F1=A?B?C
A B C D
F2
F2=B+C+D
PLD具有较大的与或阵列,逻辑图的
画法与传统的画法有所不同
下图列出了连接的三种特殊情况,
1.输入全编程,输出为 0。
2.也可简单地对应的与门中画叉,因此 E=D。
3.乘积项与任何输入信号都没有接通,相当与门输出为 1。
注,F=1将导致关断其它乘积项的输出。
下图给出最简单的 PROM电路图,右图是左图的简化形式。
实现的函数为:
BABAF ????1 BABAF ????2 BAF ??3
固定连接点
(与)
编程连接点
(或)
三,PLD的分类
( 1)与固定、或编程,ROM和 PROM
( 2)与或全编程,PLA
( 3)与编程、或固定,PAL,GAL和 HDPLD
1.与固定、或编程,与阵列全固定,即全译码; ROM和 PROM
PLD基本结构大致相同,根据与或阵列是否可编程分为三类:
2.与、或全编程,
代表器件是 PLA( Programmable Logic Array),下图
给出了 PLA的阵列结构,在 PLD中,它的灵活性最高。由于
与或阵列均能编程 的特点,在实现函数时,只需形成 所需的
乘积项,使阵列规模比 PROM小得多。
3.与编程、或固定, 代表器件 PAL( Programmable Array Logic)
和 GAL( Generic Array Logic)。,
这种结构中,或阵列固定若干个乘积项输出,见下图。
四,PLD的性能特点
采用 PLD设计数字系统和中小规模相比具有如下特点:
1.减小系统体积,单片 PLD有很高的密度,可容纳中
小规模集成电路的几倍到十几倍,
2.增强逻辑设计的灵活性,使用 PLD器件设计的系
统,可以不受标准系列器件在逻辑功能上的限制。
3.缩短设计周期,由于有可编程特性,用 PLD设计一个
系统所需时间比传统方式大为缩短 。
各种 PLD 的结构特点
阵 列
类 型
与 或
输出方式
P R O M
P L A
P A L
G A L
固定
可编程
可编程
可编程
可编程
可编程
固定
固定
T S,O C
T S,O C,H,L
T S,I / O,寄存器
用户定义
各种 PLD的结构特点
4.提高系统处理速度,用 PLD与或两级结构实现任何逻辑功
能, 比用中小规模器件所需的逻辑级数少 。 这不仅简化了系统
设计, 而且减少了级间延迟, 提高了系统的处理速度 。
7.系统具有加密功能,某些 PLD器件, 如 GAL或高密度可编
程逻辑器件本身具有加密功能 。 设计者在设计时选中加密项,
可编程逻辑器件就被加密, 器件的逻辑功能无法被读出, 有效
地防止逻辑系统被抄袭 。
5.降低系统成本,由于 PLD集成度高,测试与装配的量大大
减少,避免了改变逻辑带来的重新设计和修改,有效地降低了成
本。
6.提高系统的可靠性,用 PLD器件设计的系统减少了芯片
和印制板数量,增加了平均寿命,减少相互间的连线,提高抗
干扰能力,从而增加了系统的可靠性。
五、用 PLD实现逻辑电路的方法与过程
用可编程逻辑器件来设计电路需要相应的开发软件平
台和编程器,可编程逻辑器件开发软件和相应的编程器多
种多样。
可编程逻辑器件设计电路过程如下图所示
电
路方
设案
计
设
计
输
入
优
化
电
路
选
择
器
件
编
程
器时
件序
功检
能查
特别是一些较高级的软件平台,一个系统除了方案
设计和输入电路外,其它功能都可用编程软件自动完成。
§ 7-2 可编程逻辑器件 PLD的基本单元
编程单元,PLD中用来存放数据的基本单元
非易失性有多种编程单元,其特点为掉电后
信息不会丢失,它一般用于只读存储器
ROM。
易失性单元,这 种基本单 元采用 的是静态 随机存储 器
( SRAM) 结构, 其特点为掉电以后信息就要
丢失, 现场可编程门阵列 ( FPGA) 采用这种
编程单元 。
非易失性单元:
编
程
单
元
编
程
方
式
一次编程,信息一次编程固定好的,编程元件 PROM
多次编程:
用户根据需要将数据储存在编程单元中, 并
可 以 多 次 写 入 和 擦 除, 编程元件 UV
EPROM和 E2PROM。
编程单元采用的是
浮栅技术
一、熔丝型开关
A
1
A
2
Y
1
Y
2
Y
3
Y
4 十进制
0 0
0 1
1 0
1 1
0 0 0 0
0 0 0 1
0 1 0 0
1 0 0 1
0
1
4
9
二, 反熔丝型开关
三、浮栅编程技术
用浮栅编程技术生产的编程单元是一种能多次改写的
ROM,即已写入的内容可以擦去,也可以重新写入新的内
容。(一)叠栅型( SIMOS)存储单元
25V25VGND
—
1
1
1
无
0
+ + + +
开启电压加大
+ + + ++ +
开启电压
5V 5VGND
浮栅上的电荷无放电通路,没法泄漏。
用 紫外线照射 芯片上的玻璃窗, 则形成光电电流, 把栅极
电子带回到多晶硅衬底, SIMOS管恢复到初始的导通状态 。
隧道
80埃
面积大
向浮栅写入
电荷时, G加
25V,D接 GND
擦除浮栅电荷
时,G加 5V,
D接 25V
(二)隧道型( FLOTOX)储存单元
前面研究的可擦写存储器的缺点是要擦除已存入的信息必须用
紫外光照射一定的时间, 因此不能用于快速改变储存信息的场合,
用隧道型储存单元制成的存储器克服了这一缺点, 它称为电可改写
只读存储器 E2PROM,即电擦除, 电编程的只读存储器 。
FLOTOX管的结构剖面示意图如图所示。它与叠栅型管的不同在于浮栅延长区与漏区 N 之间的交叠
处有一个厚度约为 80埃的薄绝缘层
(三)闪速型( Flash)存储单元
闪速存储单元又称为 快擦快
写存储单元 。右图是闪速存储单
元剖面图。
闪速存储单元去掉了隧道型存
储单元的选择管,它不像 E2PROM
那样一次只能擦除一个字,而是可
以用一个信号,在几毫秒内擦除一
大区段。
因此,闪速存储单元比隧道型存储单元的芯片结构更简
单、更有效,使用闪速存储单元制成的 PLD器件密度更高。
Flash工作原理类似于叠栅型存储单元,但有两点不同之处:
1,闪速存储单元源极的区域 Sn+大于漏极的区域 Dn+,两
区域不是对称的,使浮栅上的电子进行分级双扩散,电子扩
散的速度远远大于叠栅型存储单元;
2,叠栅存储单元的浮栅到 P型衬底间的氧化物层约 200埃左
右,而闪速存储单元的氧化物层更薄,约为 100埃。
(四)、六管静态存储单元
闪速存储单元的可再编程能力约为 10万次左右,但还是不
及 SRAM那样有无限制的再编程能力,以 SRAM为存储单元的
现场可编程门阵列( FPGA)可以实现无限次从一种运行逻辑
转换到另一种运行逻辑的功能。
下图是 SRAM六管存储单元,由两个具有有源下拉 n沟道
晶体管和有源上拉 p沟道晶体管交互耦合的倒相器组成。
高和低电平是用具
有分别到电源 VCC和地
GND的低阻抗通道的有
源器件定义的两个电平。
D1,D2为两个传输
NMOS管,其栅极接到
字线,源极分别接到两
条互补的位线上,起传
输作用。
§ 7-3 可编程只读存储器
PROM和可编程逻辑阵列 PLA
一、可编程只读存储器 PROM
PROM的结构是 与阵列固定, 或阵列可编程 的 PLD器件,
对于有大量输入信号的 PROM,比较 适合作为存储器 来存放
数据,它在计算机系统和数据自动控制等方面起着重要的作
用。对于较少的输入信号组成的与阵列固定、或阵列可编程
的器件中,也可以很方便地 实现任意组合逻辑函数 。
例 1,下图是一个 8(字线) × 4(数据)的存储器数据阵列图。
3-8线译码器 8× 4存储单元矩阵
输出缓冲器
地址码输入端
数据输出端
字线
由地址译码器选中不同的字线,被选中字线上的四位数
据通过输出缓冲器输出。
如当地址码 A2A1A0= 000时,通过地址译码器,使字线 P0
= 1,将字线 P0上的存储单元存储的数据 0000输出,即 D0~
D3= 0000。更详细的内容,请同学参看表 7-3
将左图地址扩展成 n条地址线,
n位地址码可寻址 2n个信息单
元,产生字线为 2n条,其输出
若是 m位,则存储器的总容量
位 2n× m位。
EPROM有各种类型的产品,下图是紫外线擦除、电可编程的
EPROM2716器件逻辑框图和引脚图。
EPROM2716是 211× 8位可改写
存储器,有 11位地址线 A0~ A10,
产生字线为 2048条,D7~ D0是 8
位数据输出 /输入线,编程或读
操作时,数据由此输入输出。
CS为片选控制信号是低电平有效。
OE/PGM为读出 /写入控制端低电平
时输出有效,高电平进行编程,写
入数据
若当 EPROM2716的容量不能满足使用要求,且仅有
2716芯片时,可用多片并联来扩展地址线和数据线。下图是
将 2片 2716扩展成 2048× 16的数据位进行扩展连接示意图。
两片的数据线
排列成 D0~ D15
其余线全部并联。
从组合电路角度来看,
输入地址信号即为电路的输入逻辑变量地址译码器产生 2n个字线即为固定与阵列产生 2n个乘积项
存储矩阵即为或阵列把乘积
项组合成 m个逻辑函数输出。
例 2:试用适当容量的 PROM实现两个两位二进制数比较的比较器。
( 1)两个两位二进制数分别为 A1A0和 B1B0,当 A1A0大于 B1B0时,
F1= 1,A1A0等于 B1B0时,F2= 1,A1A0小于 B1B0时,F3= 1,下
表给出了两位二进制和比较结果的输入输出对照表,
NO A
1
A
0
B
1
B
0
F
1
F
2
F
3
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0 1 0
0 0 1
0 0 1
0 0 1
1 0 0
0 1 0
0 0 1
0 0 1
1 0 0
1 0 0
0 1 0
0 0 1
1 0 0
1 0 0
1 0 0
0 1 0
由此可写出输出逻辑
函数的最小项表达式为:
F1= ?m( 4,8,9,12,13,14)
F2= ?m( 0,5,10,15)
F3= ?m( 1,2,3,6,7,11)
( 2)把 A1A0和 B1B0作为 PROM的输入信号,F1,F2和 F3为或
阵列的输出,下图是用 PROM实现比较器的阵列图。
( 3)选用 PROM的容量
为 16× 3位即可满足要求。
以 PROM实现简单的组合逻
辑电路函数是很方便的
实际上,大多数组合逻辑函数的最小项不超过 40个,则使得
PROM芯片的面积利用率不高,功耗增加。为解决这一问题,
考虑与阵列也设计成可编程形式来实现组合逻辑,这就是可编
程逻辑阵列 PLA。
一般的 PROM输入的地
址线都较多,容量也较大,
又由于 PROM的与阵列固定,
必须进行全译码,要产生全
部的最小项。
二, 可编程逻辑阵列 PLA
可编程逻辑阵列 PLA和 PROM相比之下,有如下特点:
(一) PROM是与阵列固定、或阵列可编程,而 PLA是
与和或阵列全可编程。
(二) PROM与阵列是全译码的形式,而 PLA是根据需
要产生乘积项,从而减小了阵列的规模。
(三) PROM实现的逻辑函数采用最小项表达式来描述;
而用 PLA实现逻辑函数时,运用简化后的最简与或式,即
由与阵列构成乘积项,根据逻辑函数由或阵列实现相应乘
积项的或运算。
(四)在 PLA中,对多输入、多输出的逻辑函数可以利用
公共的与项,因而,提高了阵列的利用率。
例 4,试用 PLA实现四位自然二进制码转换成四位格雷码。
( 1)设四位自然二进制码为 B3B2B1B0,四位格雷码为
G3G2G1G0,其对应的真值表如下表所示。
NO A
1
A
0
B
1
B
0
G
3
G
2
G
1
G
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0 0 0 0
0 0 0 1
0 0 1 1
0 0 1 0
0 1 1 0
0 1 1 1
0 1 0 1
0 1 0 0
1 1 0 0
1 1 0 1
1 1 1 1
1 1 1 0
1 0 1 0
1 0 1 1
1 0 0 1
1 0 0 0
根据表列出逻辑函数并简化,
得最简输出表达式如下:
33
B G ?
23232
BBBBG ??
12121 BBBBG ??
01010
BBBBG ??
( 2)转换器有四个输入信号,化简后需用到 7个不同的乘积
项,组成 4 个输出函数,故选用四输入的 7× 4PLA实现,下
图是四位自然二进制码转换为四位格雷码转换器 PLA阵列图。
33
B G ?
23232
BBBBG ??
12121 BBBBG ??
01010
BBBBG ??
7项
右图仅用了七个乘积项,比 PROM全译码少用 9个,实现
的逻辑功能是一样的。从而降低了芯片的面积,提高了芯
片的利用率,所以用它来实现多输入、多输出的复杂逻辑
函数较 PROM有优越之处。
PLA除了能实现各种组合电路外, 还可以在或阵列之后接入
触发器组, 作为反馈输入信号, 实现时序逻辑电路 。
§ 7-4 可编程逻辑器件 PAL和
通用逻辑阵列 GAL
一、可编程阵列逻辑器件 PAL
PAL采用双极型熔丝工艺,工作速度较高。 PAL的结构
是与阵列可编程和或阵列固定,这种结构为大多数逻辑函数
提供了较高级的性能,为 PLD进一步的发展奠定了基础。
( 一 ) PAL的基本结构
PAL器件的输入、输出结构以及输入、输出的数目是由
集成电路制造商根据实际设计情况大致估计确定。 PAL器件
的型号很多,它的典型输出结构通常有四种,其余的结构是
在这四种结构基础上变形而来。
1,专用输出基本门阵列结构
一个输入
四个乘积项且通过
或非门低电平输出
如输出采用或门,为高电平有效
PAL器件。
若采用互补输出的或门,为互补
输出器件。
输入信号
四个整积项
2,可编程 I/O输出结构
可编程 I/O结构如下图所示。
8个乘积项两个输入,一个来自外部 I,另一来自反馈 I/O
当最上面的乘积项为高电平时,三态
门开通,I/O可作为输出或反馈;乘积
项为低电平时,三态门关断,是输入。
3,寄存器型输出结构:也称作时序结构, 如下图所示 。
8个乘积项
或门的输出通过 D触发器,
在 CP的上升沿时到达输出。
触发器的 Q端可以
通过三态缓冲器
送到输出引脚
触发器的反相端反馈回与
阵列,作为输入信号参与
更复杂的时序逻辑运算
CP和使能是 PAL的公共端
4,带异或门的寄存器型输出结构:
增加了一个异或门 把乘积项分割成两个和项两个和项在触发器的输入端异或之后,
在时钟上升沿到来时存入触发器内
有些 PAL器件是由数个同一结构类型组成,有的则是由
不同类型结构混合组成。
如由 8个寄存器型输出结构组成的 PAL器件命名为
PAL16R8,由 8个可编程 I/O结构组成的 PAL器件则命名为
PAL16L8。
(二) PAL16L8的使用
PAL的例题请同学参看图 7-35、图 7-36和例 6。
应用 PAL16L8设计组合逻辑电路,主要步骤是将输出和激
励写成最简与或表达式,然后确定 PAL16L8的引脚和编程。
目前能够支持 PAL的编程软件已相当成熟, 芯片应用也
很普及, 但是由于其集成密度不高, 编程不够灵活, 且只能
一次编程, 很难胜任功能较复杂的电路与系统 。
二、通用阵列逻辑 GAL器件
采用 E2CMOS工艺和灵活的输出结构,有电擦写反复编程的特
性。
与 PAL相比,GAL的输出结构配置了可以任意组态的输出逻辑
宏单元 OLMC( Output Logic Macro Cell),
GAL和 PAL在结构上的区别见下图,PAL结构
GAL结构
适当地为
OLMC进行
编程,GAL
就可以在功
能上代替前
面讨论过的
PAL各种输
出类型以及
其派生类型
( 一 ) GAL器件结构和特点
GAL器件型号定义和 PAL一样根据输入输出的数量来确定,
GAL16V8中的 16表示阵列的输入端数量,8表示输出端数量,V
则表示输出形式可以改变的普通型
1,GAL16V8的基本结构(下图)
8个输入缓冲器 8个输出反馈缓冲器一个共用时钟 CLK 8个输出缓冲器8个 OLMC
2,GAL输出逻辑宏单元 OLMC的组成
输出逻辑宏单元 OLMC 由或门、异或门,D触发器、多路选
择器 MUX、时钟控制、使能控制和编程元件等组成,如下图:
组合输出
时序输出
3,输出逻辑宏单元 OLMC组态
输出逻辑宏单元由对 AC1(n) 和 AC0进行编程决定 PTMUX、
TSMUX,OMUX和 FMUX的输出,共有 5种基本组态:
专用输入组态、专用输出组态、复合输入 /输出组态、寄
存器组态和寄存器组合 I/O组态。 8个宏单元可以处于相同的组
态,或者有选择地处于不同组态。
(1) 专用输入组态,如下图所示:
此时 AC1(n)= 1,AC0= 0,
使 TSMUX输出为 0,三态
输出缓冲器的输出呈现高
电阻,本单元输出功能被
禁止,
I/O可以作为输入端,提供
给相邻的逻辑宏单元。
本级输入信号却来自另一
相邻宏单元。
(2) 专用输出组态:如下图所示:
AC1(n)= 0,AC0= 0,
四路反馈数据选择器
FMUX输出接在低电平,
本单元的反馈信号和
相邻单元的信号都被
阻断
由于或非门,使异或门的输出不经过 D触发器,直
接由处于使能状态的三态门输出
由于与非门输出使第一
条乘积项经过乘积项数
据选择器作为或门的输
入
(4) 寄存器组态:当 AC1(n)= 0,AC0= 1时, 如下图所示 。
( 3)同学自学
此时 OMUX选中触
发器的输出同相 Q端
作为输出信号,
反馈输入信号来自 D触
发器的反相端
或门的输入有 8个乘积项
OE,CLK作为输出缓
冲器的使能信号和时钟,
作为公共端
4,GAL是继 PAL之后具有较高性能的 PLD,和 PAL相比, 具有以下
特点:
(1) 有较高的通用性和灵活性:它的每个逻辑宏单元可以根据
需要任意组态既可实现组合电路,又可实现时序电路。
(2) 100% 可编程,GAL采用浮栅编程技术, 使与阵列以及逻
辑宏单元可以反复编程, 当编程或逻辑设计有错时, 可以擦
除重新编程, 反复修改, 直到得到正确的结果, 因而每个芯
片可 100% 编程 。
(3) 100%可测试,GAL的宏单元接成时序状态, 可以通过测
试软件对它门的状态进行预置, 从而可以随意将电路置于某
一状态, 以缩短测试过程, 保证电路在编程以后, 对编程结
果 100% 可测 。
(4) 高性能的 E2COMS工艺:使 GAL的高速度, 低功耗, 编
程数据可保存 20年以上 。 正是由于这些良好的特性, 使
GAL器件成为数字系统设计的初期理想器件 。
( 二 ) GAL器件的编程方法和应用
对 GAL编程是设计电路的最后一个环节。除了对与阵列
编程之外,还要对逻辑宏单元进行编程,以达到预定的输出
逻辑关系。这样应当具备 GAL编程的开发系统,软件开发平
台 和 硬件编程设备,而软件平台是不可缺少的。
目前 GAL的编程方法有两种:
一种是早期的 GAL器件编程需要使用专门的编程器,
将需要编程的 GAL器件插入编程器进行编程,然后将编程
后的 GAL器件连接在设计者的设计系统。
另一种是新一代的 GAL器件,可以脱离开编程器,
直接在设计者的电路系统上编程。
另一类是编译软件,如 Synario软件平台,这类软件的特
点是待实现的逻辑电路是由设计者根据软件平台规定的图形
输入文件或可编程逻辑设计语言编写的语言输入文件进行描
述,然后软件平台对设计者的电路进行描述转换,分析,简
化,模拟仿真、自动进行错误定位等。
GAL的开发软件有许多种,大体上分为两类:
一类是汇编型软件,如 FM,这类软件没有简化功能,要
求输入文件采用最简与或式的逻辑描述方式;
同学自行学习 GAL例题。
GAL器件仍然存在着以下问题:
时钟必须共用;
或的乘积项最多只有 8个;
GAL器件的规模小,达不到在单片内集成一个数字系统的要求;
尽管 GAL器件有加密的功能,但随着解密技术的发展,对于这
种阵列规模小的可编程逻辑器件解密已不是难题。
§ 7-5 高密度 可编程逻辑器件
HDPLD原理及应用
HDPLD( High Density Programmable Logic Device)在单
片芯片内可以集成成千上万个等效门,因此在单片高密度可
编程逻辑器件内集成数字电路系统成为可能。
HDPLD器件在结构上仍延续 GAL的结构原理,因而还是
电擦写、电编程的 EPLD器件。
一、在系统编程芯片 EPM7128S的基本结构
在系统编程芯片 EPM7128S是 Altera公司生产的高密度、高性能
CMOS可编程逻辑器件之一,下图是 PLCC封装 84端子的引脚图
它有 4个直接
输入( INPUT)
TMS,TDI,TDO
和 TCK是在系统编
程引脚
64个 I/O
引脚
下图是 EPM7128S器件结构图:由 8个相似的逻辑阵列块
( Logic Array Block,LAB)、一个可编程内连矩阵( PIA)
和多个输入 /输出控制块 (I/O Block)组成。
二, EPM7128S的特点
(一)高集成密度 ;
( 二 ) 速度高, 低功耗, 抗噪声容限较大 ;
( 三 ) 在系统编程能力 ;
( 四 ) 可测试性能力 ;
( 五 ) 线或功能 ;
( 六 ) 异步时钟, 异步清除功能 ;
(七)单片多系统能力;
(八)很强的加密能力
§ 7-6 现场可编程门阵列 FPGA
前面讨论的可编程逻辑器件基本组成部分是与阵列、或
阵列和输出电路。再加上触发器则可实现时序电路
本节介绍的 FPGA( Field Programmable Gate Array)不
像 PLD那样受结构的限制,它可以靠门与门的连接来实现任
何复杂的逻辑电路,更适合实现多级逻辑功能。
陆续推出了新型的现场可编程门阵列 FPGA。功能更
加丰富,具有基本逻辑门电路、传输外部信号的输入 /输
出电路和可编程内连资源之外,还具有很高的密度等等。
一, 现场可编程门阵列 FPGA结构
FPGA的编程单元是基于静态存储器( SRAM)结构,
从理论上讲,具有无限次重复编程的能力
下面介绍 XILINX公司的 XC4000E系列芯片,了解 FPGA内
部各个模块的功能,见下图:
可配置逻辑模
块 CLB输入 /输出
模块 I/OB
可编程连
线 PI
编程开关
矩阵 PSM
四, 现场可编程门阵列 FPGA的特点
(一) SRAM结构:可以无限次编程,但它属于易失性
元件,掉电后芯片内信息丢失;通电之后,要为 FPGA重新
配置逻辑,FPGA配置方式有七种,请读者参考有关文献。
( 二 ) 内部连线结构,HDPLD的信号汇总于编程内连矩
阵, 然后分配到各个宏单元, 因此信号通路固定, 系统速
度可以预测 。 而 FPGA的内连线是分布在 CLB周围, 而且编
程的种类和编程点很多, 使得布线相当灵活, 因此在系统
速度方面低于 HDPLD的速度 。
( 三 ) 芯片逻辑利用率:由于 FPGA的 CLB规模小, 可
分为两个独立的电路, 又有丰富的连线, 所以系统综合时
可进行充分的优化, 以达到逻辑最高的利用 。
(四)芯片功耗:高密度可编程逻辑器件 HDPLD的功耗
一般在 0.5W~ 2.5W之间,而 FPGA芯片功耗 0.25mW~ 5mW,
静态时几乎没有功耗,所以称 FPGA为零功耗器件。
§ 7-7 随机存取存储器
( SRAM)
在计算机及数据处理系统中需要存放大量数据、中间
结果、表格等设备,这就是随机存取存储器 SRAM。
RAM可分为单极型和双极型:双极型工作速率高,但
是集成度不如单极型的高,目前,由于工艺水平的不断提
高,单极型 RAM的速率已经可以和双极型 RAM相比,而且
单极型 RAM具有功耗低的优点。这里只以单极型 RAM为例
进行分析
单极型 RAM又可分为静态 RAM与动态 RAM:静态 RAM
是用 MOS管触发器来存储代码,所用 MOS管较多、集成度低、
功耗也较大。动态 RAM是用栅极分布电容保存信息,它的存
储单元所需要的 MOS管较少,因此集成度高、功耗也小。静
态 RAM使用方便,不需要刷新
一,RAM的基本结构
RAM的基本结构如下图所示的三个部分,存储矩阵、
地址译码器 和读写电路
地址
片选信号
读写控制信号
数据输入
和输出信号
下图是二元寻址的 M字 × 1位 RAM结构图,它的存储矩阵是
α × β 位,地址译码器分 行译码 器和 列译码 器,只有行及列共
同选中的单元才能进行读、写。这种寻址的方式所需要行线和
列线的总数较少。例如要存储 256字 × 1位的容量,采用一元寻
址就需要 256条字线,若采用二元寻址只需 α =16,β =16,共
32条线也就可以了。
二、存储单元
RAM中的存储单元可由双极型管组成,也可由 MOS管组成。
MOS管可以工作于静态,也可以工作于动态,而双极型管单
元大多工作于静态。
(一) MOS静态单元如下图所示:
T0,T1,T2及 T3构成
R-S触发器,
T4及 T5是行选管,
是一行中公用的 T6及 T7是列选管,是一列公用的
0
0
1
当使能为低电平,写也为低电平时,
三态门 2将输入数据 Di通过 T6,T4作
用于 T3栅极,同时将 Di的互补值通
过 T7及 T5作用于 T2的栅极,从而使
触发器按 Di翻转,完成写入。
( 二 ) 动态 MOS存储单元如下图
这是一动态存储单元,
靠栅极电容 C1及 C2存储
电荷。
如要写入,1”,只需在数据
线 D上作用,1”便可以给 C2
充上足够的电荷,而 C1则不
被充电,表示记入了,1”
当刷新端加高电压时,负载管
T3,T4导通,同时行线加高电
压使 T6,T5也导通,构成 R-S
触发器,触发器的状态由 C1及
C2中的电压决定
栅极电容保留信息只有一
段时间,需定期地给它刷
新,以免信息丢失,所以
在每一行上设有刷新电路。
当 X,Y线均为高电平时,
T5,T6,T7及 T8都导通,
此单元接至数据线,
3.PROM是编程只读存储器, 可用来存储程序, 固定数据, 程序
及数据是以二进制码的形式事先存入 PROM中, 它们不会丢失 ;
小 结
1,存储器分为 RAM 和 ROM ;
2.RAM是随机存取存储器分动态和静态;
4.PROM除了存储数据外,还可以编程逻辑函数 ;
5.编程逻辑函数的器件还包括 EPROM,PLA,PAL和 GAL等。
6.HDPLD分为 EPLD和 FPGA;
7.EPLD实现组合逻辑函数是从任何组合逻辑电路均可表示为与
或表达式,加上触发器可实现时序电路的原理出发而构成 ;
作业,7-1,7-2,7-3,7-4,7-6,7-7,7-8,7-10,7-11,7-12,
7-13,7-14,7-17,7-18,7-21,7-22,7-26,7-31