可编程逻辑器件.docx

上传人:b****5 文档编号:8630611 上传时间:2023-02-01 格式:DOCX 页数:43 大小:720.95KB
下载 相关 举报
可编程逻辑器件.docx_第1页
第1页 / 共43页
可编程逻辑器件.docx_第2页
第2页 / 共43页
可编程逻辑器件.docx_第3页
第3页 / 共43页
可编程逻辑器件.docx_第4页
第4页 / 共43页
可编程逻辑器件.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

可编程逻辑器件.docx

《可编程逻辑器件.docx》由会员分享,可在线阅读,更多相关《可编程逻辑器件.docx(43页珍藏版)》请在冰豆网上搜索。

可编程逻辑器件.docx

可编程逻辑器件

第9章可编程逻辑器件

可编程逻辑器件(ProgrammableLogicDevice,简称PLD)是大规模集成电路的飞速发展与计算机辅助设计(CAD)、计算机辅助生产(CAM)和计算机辅助测试(CAT)相结合的一种产物,是当前数字系统设计的主要硬件基础。

本章主要介绍可编程只读存储器PROM、可编程序逻辑阵列PLA(ProgrammableLogicArray)、可编程阵列逻辑PAL(ProgrammableArrayLogic)以及通用阵列逻辑GAL(GenericLogicArray)等器件的原理、编程及使用方法。

9.l可编程逻辑器件基础

9.1.1可编程逻辑器件的基本结构

可编程逻辑器件PLD的基本结构如图9-1-1所示。

由图可见,PLD器件由输入控制电路、与阵列、或阵列以及输出控制电路组成。

在输入控制电路中,输入信号经过输入缓冲单元产生每个输入变量的原变量和反变量,并作为与阵列的输入项。

与阵列由若干个与门组成,输入缓冲单元提供的各输入项被有选择地连接到各个与门输入端,每个与门的输出则是部分输入变量的乘积项。

各与门输出又作为或阵列的输入,这样或阵列的输出就是输入变量的与或形式。

输出控制电路将或阵列输出的与或式通过三态门、寄存器等电路,一方面产生输出信号,另一方面作为反馈信号送回输入端,以便实现更复杂的逻辑功能。

因此,利用PLD器件可以方便地实现各种逻辑函数。

图9-1-1PLD的基本结构

9.1.2可编程逻辑器件的分类及特点

根据PLD器件的与阵列和或阵列的编程情况以及输出形式,可编程逻辑器件通常可分为四类。

第一类是与阵列固定、或阵列可编程的PLD器件,这类PLD器件以可编程只读存储器PROM为代表。

可编程只读存储器PROM是组合逻辑阵列,它包含一个固定的与阵列和一个可编程的或阵列。

PROM中的与阵列是全译码形式,它产生n个输入变量的所有最小项。

PROM的每个输出端通过或阵列将这些最小项有选择地进行或运算,即可实现任何组合逻辑函数。

由于与阵列能够产生输入变量的全部最小项,所以用PROM实现组合逻辑函数不需要进行逻辑化简。

但是随着输入变量数的增加,与阵列的规模会迅速增大,其价格也随之大大提高。

而且与阵列越大,译码开关时间就越长,相应的工作速度也越慢。

因此,实际上只有规模较小的PROM可以有效地实现组合逻辑函数,而大规模的PROM价格高,工作速度低,一般只作存储器使用。

第二类是与阵列和或阵列均可编程的PLD器件,以可编程逻辑阵列PLA为代表。

PLA和PROM一样也是组合型逻辑阵列,与PROM不同的是它的两个逻辑阵列均可编程。

PLA的与阵列不是全译码形式,它可以通过编程控制只产生函数最简与或式中所需要的与项。

因此PLA器件的与阵列规模减小,集成度相对提高。

但是,由于PLA只产生函数最简与或式中所需要的与项,因此PLA在编程前必须先进行函数化简。

另外,PLA器件需要对两个阵列进行编程,编程难度较大。

而且,PLA器件的开发工具应用不广泛,编程一般由生产厂家完成。

第三类是以可编程阵列逻辑PAL为代表的与阵列可编程、或阵列固定的PLD器件。

这类器件的每个输出端是若干个乘积项之或,其中乘积项的数目固定。

通常PAL的乘积项数允许达到8个,而一般逻辑函数的最简与或式中仅需要完成3~4个乘积项或运算。

因此,PAL的这种阵列结构很容易满足大多数逻辑函数的设计要求。

PAL有几种固定的输出结构,如专用输出结构、可编程I/O结构、带反馈的寄存器输出结构以及异或型输出结构等。

一定的输出结构只能实现一定类型的逻辑函数,其通用性较差,这就给PAL器件的管理及应用带来不便。

第四类是具有可编程输出逻辑宏单元的通用PLD器件,以通用型可编程阵列逻辑GAL器件为主要代表。

GAL器件的阵列结构与PAL相同,都是采用与阵列可编程而或阵列固定的形式。

两者的主要区别是输出结构不同。

PAL的输出结构是固定的,一种结构对应一种类型芯片。

如果系统中需要几种不同的输出形式,就必须选择多种芯片来实现。

GAL器件的每个输出端都集成有一个输出逻辑宏单元OLMC(OutLogicMacroCell)。

输出逻辑宏单元是可编程的,通过编程可以决定该电路是完成组合逻辑还是时序逻辑,是否需要产生反馈信号,并能实现输出使能控制以及输出极性选择等等。

因此GAL器件通过对输出逻辑宏单元OLMC的编程可以实现PAL的各种输出结构,使芯片具有很强的通用性和灵活性。

9.1.3PLD的电路结构及其表示方法

1、可编程逻辑器件中逻辑的实现方法

一个二进制函数的输出,可以用其输入函数的最小项之和来实现。

因此,任一函数的输出就可以用图9-1-2所示的积-或两级逻辑电路来实现。

这种方法同样适用于多输出的情况,而每个输出是由其自己的积项和来形成,如图9-1-3所示。

在此图中,每个积项分别由一个与门来实现,但同一个积项又可为多个输出项共享。

因此,对一个具有多输入和多输出的逻辑电路,可用一个与阵列和一个或阵列来实现,如图9-1-4所示。

输入变量I1……In及其反变量作为与阵列的输入,而与阵列的输出则为m个积项F1…Fm。

每一条输出线代表一个积项,故将这些输出线称为积项线。

积项线又作为或阵列的输入,或阵列的输出即为各输出函数P1…Pi。

 

图9-1-2

 

图9-1-3

 

图9-1-4

图9-1-5(a)给出了图9-1-3所示的具有3输入和3输出的组合逻辑电路应用正逻辑规则时,用NMOS电路实现的具体电路结构。

 

 

 

(a)

 

(b)

图9-1-5

当采用正逻辑规则时,由上图看出,与阵列和或阵列都是用“或非门”来实现的,即:

 

应当指出的是,当采用正逻辑规则时,若积项为F1=I1

I3时,则在阵列中并不是将输入变量I1和I3的原变量,I2的反变量在积线交叉点处用NMOS晶体管连接起来,而是各取其输入变量的反变量,即

、I2和I3的输入与积项线交叉点由NMOS晶体管联通。

当采用负逻辑规则时,因上述的阵列结构变为“与非”逻辑关系,则与阵列应为:

而或阵列(无反向器)为:

即各积项和与阵列中的输入变量完全对应,而不必取其反变量,此时的阵列结构如图9-1-5(b)所示。

可以看出,一个两级与-或电路,可采用一个等效的两级与非逻辑电路实现。

由于MOS技术中采用或非门具有设计容易和性能好的优点,故上述的与阵列和或阵列都是用或非门实现的。

上例中的与阵列为6×4阵列结构,而或阵列为4×3结构,但由于采用正、负逻辑规则的不同,内部结构也不相同。

要使阵列中的输出与输入变量发生联系时,只要在相关的输出和输入相交处接一个MOS场效应管,该管的栅极接到输入线上,而漏极接到输出线,源极接地,如图9-1-6(a)所示,若采用双极型晶体管时,则晶体管的基极接到输入线上,发射极通过熔丝接到输出线上,集电极接电源VCC,如图9-1-6(b)所示。

 

(b)

(a)

图9-1-6

2、可编程逻辑器件PLD表示方法

由于可编程逻辑器件的阵列结构特点,用以前所习惯的逻辑函数表示方法难以描述其内部电路,因此在PLD中提出了一些新的逻辑约定。

这些逻辑约定使PLD芯片内部的配置和逻辑图一一对应,并能把逻辑图与真值表密切结合,构成一种紧凑而易于识读的形式。

下面给出PLD的有关逻辑约定。

(1)输入缓冲单元

图9-1-7PLD缓冲器表示法

PLD的输入缓冲单元由若干个缓冲器组成,每个缓冲器产生该输入变量的原变量和反变

量,其逻辑表示方法如图9-1-7所示,图中B=A,。

(2)与门和或门

PLD中的两种基本逻辑阵列:

与阵列和或阵列。

它们分别由若干个与门和或门组成,每个与门和或门都是多输入、单输出形式。

为便于对PLD的逻辑关系易于了解、编程和使用,通常采用如下的约定,以三输入与门为例,图9-1-8(a)是具有3个输入项的与门的表示方法。

(a)D=A·C(b)D=A+C

图9-1-8与门和或门的PLD表示法

在图9-1-8(a)中,三条竖线A、B、C均为输入项,输入到与门去的一条横线称为积项线,输入线与积项线的交叉点是编程点。

在编程点处连有编程器件,如熔丝、SIMOS或FLOTEX等编程MOS器件,若在交叉点处的编程器件接通输入线和积项线(例如熔丝未“烧断”,或编程MOS器件形成沟道),称为接通连接,则在编程点处以“×”表示,如上图中输入线A与积项线的交叉点处有“×”号即表示输入A与积项线连通,若在交叉点处的编程器件不连通输入线与积项线(例如熔丝“烧断”,或编程MOS器件未形成沟道),称为断开连接,则交叉点处无“×”号,如输入B与积项线不连。

另外在PLD中有些输入线和积项线的交叉点处不是用编程器件来连接而是内部固定接通的,称为硬线连接,此时在交叉点处以实圆点“·”来表示,如图中输入C与积项线为硬线连接。

可以看出,上图与电路的积项线输出:

D=A·C。

同样,对PLD中有可编程的或阵列时,其表示方法如图9-1-8(b)所示。

(3)简化的PLD表示

为了方便设计,在PLD的逻辑描述中常用一种简化的逻辑表示方法,如图9-1-9所示。

图9-1-9(a)为一种输入项全部被接入的与门表示方法,其乘积项为D=A·

·B·

 

(a)PLD表示法(b)简化PLD表示法

图9-1-9简化PLD表示法

图9-1-9(b)是它的简化表示方法。

因为在PLD设计中,常常会遇到输入项全部被接入的情况,使用这种简化符号,可以简捷、清晰地将这类情况表示出来。

值得注意的是,这种表示方法意味着该乘积项输出总为逻辑“O”。

图9-1-10给出了利用PLD表示法描述逻辑电路F=A⊕B的示意图。

 

图9-1-10F=A⊕B的PLD表示法

3、几种PLD器件的基本结构

在与门阵列和或门阵列的基本结构中,依据可编程的部位可将PLD分为可编程只读存储器PROM、可编程逻辑阵列PLA、可编程阵列逻辑PAL、通用阵列逻辑GAL等四类,如表9-1-1所示。

表9-1-1PLD的分类

分类

与阵列

或阵列

输出电路

PROM

固定

可编程

固定

PLA

可编程

可编程

固定

PAL

可编程

固定

固定

GAL

可编程

固定

可组态

(1)可编程只读存储器PROM:

与阵列固定,或阵列可编程

最早PLD就是可编程只读存储器,它包含一个固定的与门阵列和一个可编程的或门阵列。

图9-1-11为一个8×3(与门×或门)

PROM结构。

图中与门阵列构成一个全

译码阵,即输入项的每一种可能组合对

应有一个乘积项。

若输入项数为n,则

与门数为2n个。

与门阵列可以做得很大,

但阵列越大,开关延迟时间越长,速度

就越慢。

故只有小规模PROM才能较好

地用作逻辑器件。

大规模的PROM一般

做存储器用。

当作存储器用时,图中输

入I0~I2相当于地址,输出O0~O2相当

于输出数据,该存储器的容量为23×3

=24位。

(2)可编程逻辑阵列(PLA):

与及或

两个阵列都可编程

最早的PLA是生产厂按用户要求制图9-1-11PROM的基本结构

作的,出厂后不能改变。

后来在此基础

上研制

了现场可编程逻辑阵列器件(FPLA:

FieldProgrammableLogicArray),有的也统称PLA。

其与阵列和或阵列都是可编程的,如图9-1-12所示。

图中为提高速度减少了阵列规模,与门阵列不采用全译码形式,有几个与门就提供几个不同组合的乘积项。

图9-1-12可提供6个乘积项,若给出逻辑方程为:

上述方程中含有5个独立的乘积项,因此可用图9-1-12中的(a)图的PLA来实现,编程后的电路连接如图9-1-12(b)所示。

共用的乘积项越多,采用PLA的结构越有利。

但由于缺少高质量的支撑软件,没有编程工具,器件价钱较贵,速度不够快,使得PLA器件没有像PAL和GAL那样得到广泛的应用。

 

(a)编程前内部组成(b)编程后内部组成

图9-1-12PLA的基本结构

(3)可编程逻辑阵列PAL和通用阵列逻辑GAL

PAL和GAL的基本门阵列部分的结构是相同的,即与阵列可编程,或阵列是固定连接的。

如图9-1-13所示。

图中每个输出对应的乘积项数为4个。

在PAL和GAL的现有产品中,最多的乘积项数可达8个。

PAL和GAL把PROM编程容易的特性与PLA灵活的优点结合在一起从而成为早期实现可编程的主要器件,特别是GAL的可再编程特性更受用户欢迎。

 

9.2可编程只读存储器PROM

可编程只读存储器PROM是最早出现的可编程逻辑器件。

PROM按其电路结构分为双极型可编程只读存储器和MOS型可编程只读存储器;按其可编程次数又分为一次可编程只读存储器和可重复编程只读存储器。

一次可编程只读存储器通常采用双极型电路结构,可重复编程只读存储器则采用MOS型电路结构。

下面介绍这两种类型的可编程只读存储器。

 

图9-1-13PAL和GAL的基本结构

9.2.1一次性可编程只读存储器

一次性可编程只读存储器PROM是与阵列固定、或阵列可编程结构,其存储矩阵的每个存储位由一种特殊的“熔丝”组成。

在可编程只读存储器中,每个存储单元都有一个晶体三极管。

该三极管的基极和字线相连,发射极通过一段镍铬熔丝和位线相连。

在正常工作电流下,熔丝不会烧断,该单元存有

信息“l”。

如果在某个存储单元的字线和位线之间通过几倍的工作电流,该单元的熔丝立刻会被烧断,这时字线、位线断开,该单元被改写为“0”。

PROM的存储单元一般由“0”改写为“l”或由“l”改写为“0”,就变成固定结构,因此只能进行一次编程。

图9-2-1是一个4×4位PROM结构示意图,它由存储矩阵、地址译码驱动器以及读写控制电路组成,出厂时每个存储单元的三极管和熔丝保持完好,相当于每个存储单元都存有信息“1”,地址译码驱动器译出输入信号的全部最小项,并经过驱动电路输出,完成与阵列功能。

用户在使用前,先对PROM编程,程序中那些与PROM原始状态(“0”或“1”)相同的位不作处理,而状态相反的位则在选中该位地址后加上较高的编程电压使熔丝熔断,从而使输出数据反相。

PROM中的熔丝熔断后不能再恢复,因此PROM只能编程一次。

改写后的PROM其信息可对以长久保存,但只能读出,不能写入,成为只读存储器。

 

图9-2-14×4位PROM存储器结构图

9.2.2可重复编程只读存储器

可编程只读存储器PROM只能进行一次性编程,一旦信息写入就不能擦除或改写。

可重复编程只读存储器对此做了改进。

它能够将己写入的信息擦除,然后再次编程,因此称为可擦可编程只读存储器或可重复编程只读存储器。

可重复编程只读存储器根据其擦除方法不同分为紫外线擦除可重复编程只读存储EPROM和电擦除可重复编程只读存储器EEPROM。

1、紫外线擦除可重

复编程只读存储器

紫外线擦除可重复编

程只读存储器采用MOS

型电路结构,其存储单元

通常由叠栅MOS管组成,

图9-2-2给出由叠栅型

NMOS管构成的EPROM

示意图。

紫外线擦除可重复编

程只读存储器EPROM是

一种可以多次重复使用的

ROM,其写入的信息可

长期保存,也可擦去和重

写,其存储位单元常用N

图9-2-24×4叠栅型NMOS管EPROM结构

沟道叠栅MOS管组成,。

叠栅型MOS管有两个重叠的栅极:

一个在上面,称为控制栅,控制栅连到字线,其作用与普通的MOS管的栅极相似;另一个埋在SiO2绝缘层内,因其栅极悬浮于SiO2绝缘层中,称为浮置栅。

如果浮置栅上没有电荷,叠栅MOS管的工作原理就与普通的MOS管的相似。

当控制栅上的电压大于它的开启电压时,漏源之间可以有电流产生,即管子导通。

如果浮置栅上有电子,这些电子将产生负电场。

这时要使管子导通,控制栅必须加大正电压以克服负电场的影响,即开启电压增大。

浮置栅积累电子与开启电压的关系如图9-2-4所示。

图9-2-3叠栅型NMOS管图9-2-4浮置栅积累电子与开启电压的关系

实现EPROM的技术是浮栅雪崩注入式技术,信息存储由电荷分布决定。

平时浮置栅上没有电荷,当字线选通时,控制栅极为逻辑高电平,MOS管子导通,则该单元存储信息为“1”。

编程写入时只要在该单元的漏源及栅源之间加一较大电压(+25V),当源极接地时,漏极的大电压使漏源之间形成沟道。

沟道内的电子在漏源间强电场的作用下获得足够的能量,同时借助于控制栅正电压的吸引,一部分电子穿过SiO2薄层进入浮置栅,使该单元MOS管的浮置栅获得电子,其开启电压就会大于高电平电压。

当高电压移去后由于绝缘层的包围,注入的电荷无法泄漏,因此可以长期保存。

在读出过程中,即使该单元字线呈高电平,这个MOS管也不会导通,即该单元存有信息“0”。

当浮置栅带上电荷后,如果要想擦去浮置栅上的电荷,可采用强紫外线或X射线对浮置栅进行照射,当浮置栅上的电子获得足够的能量后,就会穿过绝缘层返回到衬底中去,使芯片恢复到初始状态,即全部存有信息“1”。

芯片的擦除通常需要10~20分钟,而且只能整体擦除。

擦除后的芯片可以进行再次改写,但其改写次数是有限的。

2、电擦除可编程只读存储器

电擦除可编程只读存储器EEPROM是一种可以用电信号擦除和改写的可编程逻辑器件。

EEPROM的擦除和改写电流很小,在普通工作电源条件下即可进行,因此不必像EPROM器件那样,擦除时必须将器件从系统上拆卸下来。

EEPROM的擦除和改写不但操作简单,使用方便,而且避免了每次拆卸影响器件的可靠性。

另外,EEPROM不仅可以整体擦除存储单元内容,还可进行逐字擦除和逐字改写。

EEPROM的存储位与EPROM相似,所不同的是在浮置栅上增加了一个隧道二极管,使电荷可以通过隧道二极管泄放,从而不再需要紫外线激发,即编程和擦除均可用电来完成。

9.2.3用ROM实现组合逻辑电路

ROM不仅广泛应用于计算机系统中,而且可以实现几乎所有组合逻辑电路的功能,特别是当输入、输出变量较多时,使用ROM来实现组合逻辑电路功能的优点更为突出。

1、用ROM实现组合逻辑功能的方法

将输入信号送入ROM的地址线,输出信号取自ROM的数据线,对ROM的存储位编入适当的代码,那么具有n根地址线、m个数据线的ROM便可以实现n个输入变量、m个输出变量的组合逻辑电路功能。

因n个输入变量的2n 种不同的组合状态都有一个确定的ROM地址与之对应,相当于ROM的每一个存储单元对应于输入变量的一个最小项,因此用ROM实现组合逻辑功能时,不需要化简,可以直接用真值表或最小项之和逻辑函数与ROM地址一一对应地求出需写入ROM的编码。

在设计组合逻辑电路时,由于逻辑器件本身延迟的存在,多级门电路存在着竞争冒险现象,并且级数越多,逻辑关系越复杂,产生冒险的机会也越多,而用ROM完成组合逻辑功能时,因只涉及到一个器件,情况要好得多。

用ROM来设计组合逻辑电路的步骤如下:

(1)确定ROM的容量

对由n个输入变量、m个输出的组合逻辑问题,选用有n根地址、m个数据线的ROM,容量2n×m。

例如有A、B、C、D4个输入变量,需要一个输出,可选用24×1=16×1的ROM。

(2)定义输入变量与ROM地址线的关系

为方便起见,可令变量A、B、C、D、…,依次与ROM的地址线A0、A1、A2、A3、…,对应连接。

(3)定义输出变量与ROM数据线的关系

一般单片ROM的数据线都超过1根,以4根和8根者居多,所以还要规定ROM的哪一根数据输出线作为组合逻辑电路的输出线。

(4)列真值表

真值表共有2n行,m+n+2列。

ROM地址逐行递增,以列出输入变量所有可能出现的状态,ROM编码则根据每一行输入变量的状态及对应的组合逻辑输出功能来求出。

另外两列为ROM的地址编码和数据编码。

(5)利用计算机和开发工具把上述编码“写入”ROM芯片中

2、用ROM实现表决电路应用举例

在许多实际应用场合需要用到多数表决电路,其功能是:

当奇数个输入信号多数为“1”时,输出为“1”,否则输出为“0”。

按照常规组合逻辑电路设计的方法,先要根据以上要求写出逻辑表达式,然后再化简,最后使用门电路来实现。

实践证明,当输入信号在5个以上时,逻辑表达式相当复杂,即使化简后还须使用相当多的门电路。

用ROM实现多数表决功能则十分简单,例如使用一片2K×8EPROM2716,便可对11个输入信号进行多数表决,除此之外,还可以给出多于1/3和多于2/3指示信号,电路如图9-2-5所示。

从图中可知,2716的地址线与11个常闭按钮开关AN1~AN11一一对应连接,未按下AN,对应的2716地址线为“0”,按下AN后地址线为“1”。

因11个按钮共可组成211=2048种不

+5V

图9-2-5采用EPROM的11路表决电路

同的状态,而每一种状态又对应于EPROM的一个特定地址存储单元,所以只需对2716适当地编程,便可完成多数表决功能。

表9-2-111路多数表决电路的EPROM编码

输入

输出

ROM地址编码

ROM数据编码

A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

A0

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

000H

FFH

O

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

1

001H

FFH

0

0

0

0

0

0

1

0

1

1

0

1

1

1

1

1

1

1

1

016H

FFH

0

0

0

0

0

0

1

0

1

1

1

1

1

1

1

1

1

1

0

017H

FEH

0

1

1

0

1

0

0

1

0

1

0

1

1

1

1

1

1

1

0

34AH

FEH

0

1

1

0

1

0

0

1

0

1

1

1

1

1

1

1

1

0

1

34BH

FDH

1

0

0

0

1

1

1

1

1

1

0

1

1

1

1

1

1

0

1

47EH

FDH

1

0

0

0

1

1

1

1

1

1

1

1

1

1

1

1

0

1

1

47FH

FBH

1

1

1

1

1

1

1

1

1

1

0

1

1

1

1

1

0

1

1

7FEH

FBH

1

1

1

1

1

1

1

1

1

1

1

1

1

1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1