数字电路第七章答案 -

更新时间:2023-09-30 19:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第七章 可编程逻辑器件PLD

第一节 基本内容

一、基本知识点

(一)可编程逻辑器件PLD基本结构

可编程逻辑器件PLD是70年代发展起来的新型逻辑器件,相继出现了只读存储器ROM、可编程只读存储器PROM、可编程逻辑阵列PLA、可编程阵列逻辑PAL、通用阵列逻辑GAL和可擦写编程逻辑器件EPLD等多个品种,它们的组成和工作原理基本相似。PLD的基本结构由与阵列和或阵列构成。与阵列用来产生有关与项,或阵列把所有与项构成“与或”形式的逻辑函数。在数字电路中,任何组合逻辑函数均可表示为与或表达式,因而用“与门-或门”两级电路可实现任何组合电路,又因为任何时序电路是由组合电路加上存储元件(触发器)构成的,因而PLD的“与或”结构对实现数字电路具有普遍意义。

在PLD中,输入电路中为了适应各种输入情况,每一个输入信号都配有一缓冲电路,使其具有足够的驱动能力,同时产生原变量和反变量输出,为与门阵列提供互补信号输入。输出电路的输出方式有多种,可以由或阵列直接输出,构成组合方式输出,也可以通过寄存器输出,构成时序方式输出。输出既可以是低电平有效,也可以是高电平有效;既可以直接接外部电路,也可以反馈到输入与阵列,由此可见PLD的输出电路根据不同的可编程逻辑器件有所不同。

(二)可编程逻辑器件分类 1.按编程部位分类

PLD有着大致相同的基本结构,根据与阵列和或阵列是否可编程,分为三种基本类型: (1)与阵列固定,或阵列可编程 (2)与或阵列均可编程

(3)与阵列可编程,或阵列固定

归纳上述PLD的结构特点,列于表7-1。

表7-1 各种PLD的结构特点

类 型 PROM PLA PAL GAL 阵 与 固定 可编程 可编程 可编程 列 或 可编程 可编程 固定 固定 输出方式 TS,OC TS,OC,H,L TS,I/O,寄存器 用户定义 2.按编程方式分类 (1)掩膜编程

(2)熔丝与反熔丝编程 (3)紫外线擦除、电可编程 (4)电擦除、电可编程 (5)在系统编程(Isp)

(三)高密度可编程逻辑器件HDPLD

243

通常衡量可编程逻辑器件芯片的密度是以芯片能容纳等效逻辑门的数量,一般是以2000为界限,即芯片容纳等效逻辑门小于2000门,称它为低密度可编程逻辑器件或简单的可编程逻辑器件(SPLD),若大于2000等效逻辑门,称为高密度可编程逻辑器件(HDPLD)。在前面按编程部位分类可编程逻辑器件中提及的通用阵列逻辑(GAL)的等效逻辑门一般不超过2000门,习惯上称其为低密度可编程逻辑器件。

通用阵列逻辑GAL是在PAL基础上发展起来的一种具有较高可靠性和灵活性的新型可编程逻辑器件,它采用E2CMOS工艺和灵活的输出结构,能将数片中小规模集成电路集成在芯片内部,并具有电擦写反复编程的特性。在基本阵列结构上仍是与阵列可编程,或阵列固定的结构。GAL在输出结构配置了8个可以任意组态的输出逻辑宏单元OLMC(Output Logic Macro Cell),适当地为输出逻辑宏单元进行编程组态,GAL就可以在功能上代替编程阵列逻辑PAL。

输出逻辑宏单元OLMC 由或门、异或门、D触发器、多路选择器MUX、时钟控制、使能控制和编程元件等组成。

高密度可编程逻辑器件HDPLD(High Density Programmable Logic Device)从芯片密度上有了很大的改进,单片芯片内可以集成成千上万个等效逻辑门,因此在单片高密度可编程逻辑器件内集成数字电路系统成为可能。HDPLD器件在结构上仍延续GAL的结构原理,因而还是电擦写、电编程的EPLD器件。 (四)现场可编程逻辑器件FPGA

可编程逻辑器件基本组成是与阵列、或阵列和输出电路。对这些基本组成电路进行编程就可以实现任何积之和的逻辑函数,再加上触发器则可实现时序电路。现场可编程门阵列的编程单元是基于静态存储器(SRAM)结构,不像PLD那样受结构的限制,它可以靠门与门的连接来实现任何复杂的逻辑电路,更适合实现多级逻辑功能。

现场可编程门阵列FPGA与HDPLD相比较特点如下:

(1)FPGA的编程单元是基于SRAM结构,可以无限次编程,它为易失性元件,掉电后芯片内信息丢失。通电之后,要为FPGA重新配置逻辑。

(2)FPGA中实现逻辑功能的CLB比HDPLD实现逻辑功能的OLMC规模小,制作一个OLMC的面积可以制作多个CLB,因而FPGA内的触发器要多于HDPLD的触发器, 使得FPGA在实现时序电路时要强于HDPLD。

(3)HDPLD的信号汇总于编程内连矩阵,然后分配到各个宏单元,因此信号通路固定,系统速度可以预测。而FPGA的内连线是分布在CLB周围,而且编程的种类和编程点很多,使得布线相当灵活。

(4)由于FPGA的CLB规模小,可分为两个独立的电路,又有丰富的连线,所以系统综合时可进行充分的优化,以达到逻辑最高的利用。 (五)随机存取存储器RAM

随机存取是指可以随时将数据存入(称写入), 和取出(称读出)。随机存储器(RAM)的主要指标是存储器容量和存取时间(周期)。存储容量表示一片RAM存储数据的能力。存放一个二进制数码需要一个存储单元,所以存储容量常用存储单元的总数(bit)来表示。存取时间表示从存储器中开始存取第一个字到能够存取第二个字为止所需的时间,或称为存取周期。存取时间越短,表示存储器的存取速度越高。

RAM的基本结构可以分为三个部分:存储矩阵,地址译码器及读写控制电路。存储矩阵

244

是用来存储要存放的代码,矩阵中每个存储单元都用一个二进制码给以编号,以便查询此单元。译码器可以将输入地址译为电平信号,以选中存储矩阵中的相应的单元。

存储器根据工作原理的不同可分为静态RAM和动态RAM两大类。 (1)静态RAM

静态RAM是在触发器的基础上附加控制线或门控制管构成的,它们是靠电路状态来存储数据。根据使用的器件不同,静态存储单元又分为MOS型和双极型两种。 (2)动态RAM

动态RAM是利用MOS管栅级电容能够存储电荷的原理制成的。电路结构比较简单,但由于栅极电容的容量很小,而漏电流不可能为零,所以电荷的存储时间有限。为了及时补充泄露掉的电荷以避免存储信号丢失,必须定时给栅极电容补充电荷。通常把这种操作叫做刷新或再生。因此,工作时必须辅以比较复杂的刷新电路。

二、重点

1.可编程逻辑器件PLD的基本结构与工作原理基于任何组合逻辑函数均可化为与或式,从而实现与门—或门两级电路实现,而任何时序电路又都是由组合电路加上存储元件(触发器)构成。

2.可编程逻辑器件PLD按编程部位分类、编程方法分类的基本概念及其特征。

3.多次可擦写的可编程逻辑器件PLD主要基于浮栅技术,这种编程方法是一只多晶硅浮栅浮于控制栅和衬底之间的半导体中。当控制栅上的电压加大时,产生很强的电场,足以使电子获得能量穿过半导体进入浮栅住留。这样MOS管因为浮栅上存储负电荷作用使开启电压改变,从而达到逻辑编程“0”和“1”的目的。

4.单片可编程逻辑器件容量总是有限的,所以在设计时,应考虑利用多片PLD,按一定方法连接以扩展其容量。

(1)字长扩展

字长又称为数据位数,对字长的扩展即是地址的位数保持不变,而对数据位增加。 (2)字扩展

字又称为地址位数,对字的扩展即是数据的位数保持不变,而对地址位增加。 在实际应用中,往往需要同时进行地址扩展和数据扩展,例如存储器总容量为16KX16bit,用2KX8bit芯片构成存储器时,必须同时进行地址扩展和数据扩展,用16片2KX8bit的芯片,依据一定的连接方式连接,便可得到总容量为16KX16bit=256Kbit的存储器。

5.可编程逻辑阵列PLA电路的分析方法:

(1)根据题意或者电路图,写出逻辑与-或表达式; (2)若时序电路,则写出激励、驱动和输出方程; (3)写出真值表或者状态图;

(4)根据真值表或者状态图分析其工作原理。

6.可编程阵列逻辑PAL和通用阵列逻辑GAL的基本组成和PAL的各种组态、GAL的输出宏单元各种组态及其特点。

7.高密度可编程逻辑器件HDPLD的基本组成和其工作原理。

8.现场可编程门阵列FPGA工作原理是靠门与门的连接实现任何复杂的逻辑电路,较适于多级逻辑设计。重点在于掌握工作原理及其特点。

9. 可编程逻辑器件设计实质上是设计专用集成电路ASIC,整个设计过程必须伴随着电子

245

设计自动化(EDA)软件平台。本教材第二篇指导读者利用Foundation软件设计平台设计高密度PLD器件,完成可编程逻辑器件的设计。

三、难点

1.可编程逻辑器件的不同分类方法及其各种基本概念。 2.PLA电路的设计方法:

(1)根据题意写出真值表或者状态图; (2)选择触发器;

(3)写出驱动、激励和输出方程; (4)画出PLA电路图。

3.现场可编程门阵列FPGA中的可配置逻辑块CLB不仅可以完成组合逻辑、时序逻辑电路的功能,而且还可以作为RAM使用。当作为RAM使用时,不仅可以配置成电平触发的16位双口或32位单口RAM,而且还可以配置成边沿触发的16位双口或32位单口RAM。

第二节 典型题解

例7-1 试用SD805 32×8bitPROM构成容量为32×32bit的PROM。 解:此题为扩展存储器的数据位(字长),方法比较简单。在驱动器的负载能力允许之内,将每个存储器地址输入端对应连接,且允许输入端S接在一起既可。采用四片SD805PROM构成32×32bit的PROM,其电路连接图如图7-1所示,因为每片SD805输出8位,其中SD805-(1)输出0~7位(32位中的低8位),SD805-(4)输出24~31位(32位中的高8位)。

输出32位数据

15 .……….23 24 .……… 31 0 .………… 7 8 ..………… 15

Y1 Y2 …….. Y8 Y1 Y2 …….. Y8 Y1 Y2 …….. Y8 Y1 Y2 …….. Y8

S SD805(3) S SD805(4) S SD805(1) S SD805(2)

A0 A1 A2 A3 A4 A0 A1 A2 A3 A4 A0 A1 A2 A3 A4 A0 A1 A2 A3 A4

S A B C D E

地址输入

图7-1数据扩展(扩展成32×32bitPROM)连接图

例7-2 试用SD805 32×8bit PROM构成容量为512×8bit PROM。 解:此题为扩大存储器的地址(字数),一个SD805 容量是32字×8位,可利用允许输入来扩展字数,即每片一个字组,通过外加译码器T1154来分别选中每一片,也就将该字组的32个字选中,这样SD805 本来只有五位地址输入,可选中32个字,现采用16片SD805

246

与一片译码器T1154,经扩展成九位地址输入后,可选中512个字,其电路连接图如图7-2所示。九位地址码ABCDEFGHI中,I为最高位,A为最低位。当T1154译码器输入FGHI=0000时,Y0输出有效,选中SD805-(1),决定0~31字,当FGHI=1000时,选中SD805-(2),决定32~63字......,其余类推。当FDHI=1111时,选中SD805-(16),即决定479~511字。

1 2 3 4 5 6 7 8

Y1Y2Y3Y4Y5Y6Y7Y8 Y1Y2Y3Y4Y5Y6Y7Y8 Y1Y2Y3Y4Y5Y6Y7Y8

S SD805-(1) S SD805-(2) S SD805-(16)

A0 A1 A2 A3 A4 A0 A1A2 A3 A4 A0 A1 A2 A3 A4

Y0Y1 Y15

T1154 A B C D E A0 A1 A2 A3 SA

F G H I S

地址输入

图7-2 扩大存储器地址连接图

例7-3 试用SD805 32×8bit PROM构成容量为128×2 bit PROM。 解:此题是增加地址(字数)、减少位数。可用一片SD805外加双4选1数据选择器T1153来实现。因为SD805容量为32字×8位,即有32×8=256个存储单元,正好满足128字×2位ROM的容量,电路连接图如图7-3所示。通过七位地址输入端ABCDEFG对128寻址,其中A是最低位,G是最高位,字选地址表如表7-2所示。

例7-4 有两个两位二进制数, 它们都是正整数, 试用ROM实现对这两个数的乘法运算。 解:此例是利用ROM实现组合逻辑电路的设计问题。依照所要求的电路功能,可按两个2位二进制数的乘法运算列出真值表。在用ROM实现电路时,可用输入信号取值组成的代码作为地址代码构成地址译码器,其输出即是存储器的字线,译码器的结构用与阵列表示。对应于输入取值经乘法运算后所得的二进制数,作为一个字的信息存储在相应字线指示的存储单元中。每1位二进制数对应一条位线,各条位线的函数关系用或阵列表示,位线通过输出电路输出。依照题意,分别设这两个二进制数是A1A0和B1B0,设输出函数F,因为输出函数F是十进制数9,所以应该用四位二进制数表示输出函数F。列出电路真值表如表7-3所示,利用ROM实现的乘法器的与或阵列图如图7-4所示。

247

1 B1 CK 19 A1 2 A2 OLMC (18) 3 B2 A1 18 F1 B1 OLMC (19) OLMC (17) 17 F2 4 A3 OLMC (16) 5 B3 OLMC 15 F4 16 F3 6 A4 (15) OLMC (14) 7 B4 OLMC (13) 8 A5 OLMC (12) 9 B5 A6 OE 图7-19(b) GAL16V8实现组合电路编程后的阵列图

B6 14 F5 13 F6 12 B6 11 A6 258

4、5、6、7、8和9作为信号输入外,又将CP(引脚1)和OE(引脚11)作为两个信号输入端,同时还将剩余的两个OLMC(引脚12、19)组态为专用输入结构,恰好满足了待设计电路的输入端数量的要求,用GAL16V8实现编程后的阵列图如图7-19(b)所示。

例7-14 图7-20是XC4000E系列芯片中的 GAL16V8

20 一个CLB,它实现了16×2电平单口RAM,试 VCC B1 1 ≥1 分析其逻辑功能。 19 A1 A2 2 解:组合逻辑输入F1~F4和G1~G4作为 18 F1 ≥1 B2 3 RAM的地址线输入,可以通过地址的改变来选 17 F2 A3 4 中存储单元的信息,此时CLB控制信号Din、S/R & 16 F3 B3 5 和H1分别作为数据信号D1、D0和写使能信号WE, 15 F4 A4 6 & F′和G′作为RAM的数据输出。 14 F5 B4 7 当RAM写数据时,写使能信号(WE)为高 13 F6 =1 A5 8 电平选通写译码器,使写译码器使能。地址F1~F4 12 B6 B5 9 通过地址译码选中16×1阵列中的某一单元。如当 =1 11 A6 GND 10 F1~F4地址为0000时,并且WE有效,数据D0进 入16×1存储矩阵最上面的存储单元。当RAM读

出数据时,写使能信号WE为低电平,禁止数据写 图7-19(a)GAL16V8实现例7-13组 入。地址信号直接到数据输出选择器选中所需单元 合电路的引脚分配图 从F′读出,形成16×1电平单口RAM,同样

G1~G4对应G′组成另一个16×1电平单口RAM。

C1…C4

4

WE

D1 D0

使能

数据进 16×1 存储矩阵

4

选择器

读地址

数据进 16×1 存储矩阵

4

读地址

G

G1…G4

4

写地址 译码器

使能

4

写地址 译码器

选择

F

F1…F4

图7-20 16×2电平触发单口RAM

例7-15 试用XC4000E系列芯片中的CLB组成16×8的电平触发单口RAM。

解:在例7-14中的一个CLB可以形成16×2的电平触发单口RAM,如要组成16×8的电平触发单口RAM则需要4个CLB,如图7-21所示。

259

WE Din1 Din0 G1…G4 Din3 Din2 4 Din5 Din4 Din7 Din6 D0 D1 D2 D3 D4 D5 D6 D7 或者

F1…F4 16×2 存储矩阵

例7-16 试用5G2112 256×4bitRAM构成容量为512×8bitRAM。5G2112的逻辑示意图如图7-22所示。 A0 行 存储矩阵 A 1

译 A2 32×32

码 A3 I/01 列I/O 输入 I/02

数据 列译码 I/03

控制 A4 A5A6A7 I/04

CS &

R/W 图7-22 5G2112逻辑示意图

解:5G2112是256×4bit静态RAM,由图7-22看出,5G2112是采用二元寻址和三态输出结构。片选信号CS是低电平有效,当电路选通之后,若要写入,则令读/写控制端R/W=0,输入三态门打开,数据便写入存储器;与此同时,输出三态门被关闭,切断了输出与数据总线的联系。若要读出,则令R/W=1,输入三态门被关闭,而输出三态门被打开,因而存储数据被读出(注意:输入三态门是高电平选通,输出三态门是低电平选通)。

用四片5G2112RAM构成512×8bitRAM的电路连接示意图如图7-23所示。

先进行字长扩展,为此将片(1)与片(2)的地址A0~A7、片选CS、读/写控制端R/W对应并接起来,数据端I/O分别接到数据总线的低四位D1~D4和高四位D5~D8,这样一来就扩展成256χ8bitRAM;片(3)与片(4)也进行同样的处理。然后再将它们进行地址扩展,这里不必增加译码器,因为只增加一个地址变量A8,所以用一个非门,将非门的输入端A8和输出端A8分别接到片(1)、(2)和片(3)、(4)的CS端,并将R/W端、A0~A7、数据端I/O等对应连接,这样就得到512×8bitRAM。

图7-21 16×8电平触发单口RAM

260

D8 D5 D4

D1

I/05 I/08 I/05 I/08

(2) (4)

I/01~I/04 I/01~I/04 A0 (3) (1) A7 CS R/W CS R/W 1 A8

R/W

图7-23 512×8bitRAM电路连接示意图

例7-17 RAM6116功能分析和应用。

CMOS静态RAM6116(2K×8)芯片的逻辑符号如图 7-24所示。

CS 试用6116芯片和CT4138组成8K×8的RAM,内存 A10 11 A0 单元的寻址范围为:8000~87FFH,9800~9FFFH,C000~

I/O8 8 C7FFH,C800~CFFFH。画出包括和CPU接线在内的8K×8 I/O1 WE 的RAM的接线图。

OE 解:用2K×8的RAM组成8K×8的RAM时,需四 片芯片。

图7-24 RAM6116逻辑符号

将16条地址线和内存单元地址排列成表7-9所示的 形式。由表7-9中内存单元地址和地址线的对应关系,可 将RAM6116的11根地址线A10~A0直接和CPU的低11

位地址线A10~A0相连。其他的接线可参阅图7-25。图中CPU的高5位地址线A15~A11和CT4138的选通输入和地址输入端相连。其中A15接S1端,A13接S3,S2,A14、A12、A11分别接A2~A0。CT4138的输出端Y0、Y1、Y5、Y6分别接四片RAM6116的CS端。这样四片RAM6116的内存单元地址即为:8000~87FFH,9800~9FFFH,C000~C7FFH,C800~CFFFH,满足了题意的要求。

表7-9 内存单元对应CPU分配图 内 存 单 元 地 址 地址线 8000H 87FFH 9800H 9FFFH C000H C7FFH C800H CFFFH A15 A14 A13 A12 A11 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 1 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 261

S1 Y7 S2 Y6 S3 & Y5 Y4 Y3 A2 Y2 A1 Y1 A0 Y0 CT4138 A15 A11 A10 11 A0 8 D7~D0 CPU WE RD CS CS A10 A0 I/O8 I/O1 WE OE 11 8 A10 A0 I/O8 I/O1 WE OE 11 8 CS A10 A0 I/O8 I/O1 WE OE CS 11 8 A10 A0 I/O8 I/O1 WE OE 6116-1 6116-2 6116-3 6116-4 图7-25 RAM6116和CPU连接图

RAM6116芯片的OE为输出允许端,在读出内存单元的内容时,OE应加低电平,故应和CPU的RD端相接,RD在读操作时发出低电平,能满足对6116RAM读取数据的时序要求。

需注意:RAM扩展时,除考虑容量(位扩展,字扩展或位、字同时扩展)和内存单元地址的分配方式(采用全译码方式或部分译码方式,后者可能出现地址重叠)以外,还必须考虑速度的配合,即CPU和RAM的存取速度要合适,这主要涉及CPU和RAM之间存取数据的时序问题,此例未作讨论。

例7-18 试分析图7-26所示的随机存取存储器(RAM)电路。 (1)存储器的总容量和字长是多少?

(2)指出当R/W=1,地址码为16H时,哪些RAM芯片将数据送到数据线上。 (3)指出RAM0,RAM1,RAM2,RAM3的存储地址范围各是多少? A7 A6 地 A5

A4 址 A3 A2 线 A1 A0 & &

&

A0 A1 A2 A3 A0 A1 A2 A3 A0 A1 A2 A3 A0 A1 A2 A3 CS1 CS0 CS2 CS3 16×4RAM1 16×4RAM0 16×4RAM2 16×4RAM3 R/W 7 DD6 数D5 D4 据

D3 D2 线 D1 D 0 图7-26 由RAM芯片组成的存储器

262

解:本题采用4片16×4的RAM芯片组成一个容量为32×8位的存储器。由于RAM芯片容量为16×4位,字数及字长均不能满足要求,因此,将4片容量为16×4为的RAM进行两两组合,进行位扩展,组成两个容量为16×8的RAM。然后再用这两个容量为16×8的RAM进行字扩展,组成容量为32×8的RAM。位扩展及字扩展均通过RAM片选信号CS来扩展。

数据线有8位(D7~D0),地址线有8位(A7~A0),地址范围从00H到FFH,故最多有256个字。地址线的高4位A7~A4通过门电路构成两个16×8RAM的片选信号,低四位A3~A0则作为16×8RAM自身的地址。片选信号由下式决定:

CS0 = CS1 = A7 + A6 + A5 + A4 CS2 = CS3 = A7 + A6 + A5 + A4

可见只有当A7A6A5A4 = 0000时,CS0 = CS1 = 0,RAM0,RAM1选中工作;当A7A6A5A4 = 0001时,CS2 = CS3 = 0,RAM2,RAM3选中工作。

(1)此RAM电路的总容量为32×8,字长为8位。

(2)R/W=1表示发出读存储器的命令,当地址为10H时,即

A7A6A5A4A3A2A1A0 = 00010000,所以CS0 = CS1 = 1,RAM0,RAM1被封锁。

CS2 = CS3 = 0,RAM2,RAM3被选中工作,并将地址10H的8位数据读出后送到

数据线上。

(3)RAM0,RAM1的存储地址范围为00H~0FH;RAM2,RAM3的存储地址为10H~1FH。

第三节 习题解答

习题7-1 试述PROM、EPROM和E2PROM的特点。 答:共同之处:(1)均为可以进行编程的只读存储器;

(2)属于非易矢性元件,即掉电之后,所存储的信息不丢失; (3)利用了浮栅编程技术; (4)芯片为有限次写入。 不同之处:

(1)PROM为一次编程器件;EPROM为电编程、紫外线擦除器件、E2PROM是电

编程、电擦写器件; (2)PROM编程元件为容丝或者是PLICE介质;EPROM是用SIMOS浮栅作为编程元件;E2PROM是用FLOTOX浮栅作为编程元件。

习题7-2 试述非易失性元件的种类及特点。

答:非易失性元件应该是可编程逻辑器件PLD,包括只读存储器ROM、编程只读存储器PROM、电编程、紫外线擦除只读存储器EPROM、电编程、电擦除只读存储器E2PROM、在系统编程ISP、编程逻辑阵列PLA、编程阵列逻辑PAL、通用阵列逻辑GAL和高密度可编程逻辑器件HDPLD。它们有相似的基本结构:输入、与阵列、或阵列和输出电路。 按编程部位可将PLD分为:

(1)与阵列可编程、或阵列固定,代表器件为ROM、PROM、EPROM、E2PROM。 (2)与阵列可编程、或阵列可编程,代表器件为PLA。

(3)与阵列固定、或阵列可编程,代表器件为PAL、GAL和HDPLD等。 按编程方法可将PLD分为:

263

(1)固定编程:是由集成电路制造厂家编程后出厂的ROM芯片。

(2)一次编程:是由用户进行编程,且只能编程一次。它的编程单元是容丝或者是反容丝等结构,代表器件为PROM、PAL。

(3)多次编程:是由用户多次进行编程。它的编程单元采用的是浮栅技术,代表器件为EPROM、E2PROM、PLA、GAL和HDPLD等。 特点:(1)减小系统体积;(2)增强逻辑设计的灵活性;(3)缩短设计周期;(4)提高系统处理速度;(5)降低系统成本;(6)提高系统的可靠性;(7)系统具有加密功能。

习题7-3 简述EPROM实现不同规模逻辑函数的特点。

答:EPROM是与阵列固定,输入信号的每个组合都固定连接(不管这个组合是否会被使用),所以与门阵列为全译码阵列,它经常被用来作为数据存储器。还可方便地用EPROM来实现简单的逻辑函数。若实现复杂的逻辑函数,则会随着输入信号的增加,使得芯片面积增大,利用率和工作速度降低等情况发生,例如,输入信号有10个,所需要的函数乘积项仅有40个的时候,由于固定的与阵列所产生的10个信号的乘积项有210=1024个,所以将所有的乘积项(1024)减去所需的乘积项(40)就有984个乘积项被空闲。实际上,大多数组合逻辑函数的最小项不超过40个,则使得PROM芯片的面积利用率不高,功耗增加。

习题7-4 用EPROM实现下列多输出函数

与 A

解: F1 = ABC + BC + AB 阵 A F2 = A + B + C 列 B

B F3 = A B + A B

C

F4 = (A + B + C)(A + B + C)+ A BC

C

解:输入信号是3个A、B、C,输出是4个

F1 或 × F1、F2、F3、F4。阵列规模为6×8+8×4。 × × × × F2 阵 × × × × × × × 输入A、B、C在与阵列进行全译码,产生所

F3 列 × × × × 有的最小项。 F4 × × × × × × × × 在或阵列上,输出F1、F2、F3、F4根据给定的逻 辑函数,得到最小项。然后在或阵列进行编程,得 图7-27 习题7-4ROM阵列图 到图7-27所示的与或阵列图。

习题7-5 用适当规模的EPROM设计两位二进制数乘法器,输入乘数和被乘数分别为

表7-10 习题7-5电路真值表 B1 A2 A1 B2 B1 C4 C3 C2 C1 B1 0 0 0 0 0 0 0 0 B2 0 0 0 1 0 0 0 0 与

B 20 0 1 0 0 0 0 0 阵 A1 0 0 1 1 0 0 0 0 列 A1 0 1 0 0 0 0 0 0

A2 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 A2 0 1 1 1 0 0 1 1

1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 × × × × C1 或 1 0 1 0 0 1 0 0 C2 × × × × × × 阵 1 0 1 1 0 1 1 0 C3 × × × 列 1 1 0 0 0 0 0 0 × C4 1 1 0 1 0 0 1 1 1 1

1 1 1 1 0 1 0 1 1 0 1 0 0 1 264

图7-28 习题7-5二位乘法器阵列图

A2A1和B2B1,输出为四位二进制数C4、C3、C2、C1,并且说明EPROM的容量。

解:本题是利用紫外线擦除、电编程的EPROM实现组合逻辑电路的设计问题。依照所要求的电路功能,可按两个2位二进制数的乘法运算列出真值表。参照例题7-4中表7-3和图7-4改写A1A0 为A2A(作为乘数)、B1B0为B2B(作为被乘数)和输出乘积F3F2F1F0为C4C3C2C1,11

即列出电路真值表如表7-10所示,利用EPROM实现的乘法器的与或阵列图如图7-28所示。

习题7-6 用EPROM实现以下码制的变换

B1 (1)8421码至2421码的变换; B1 B2 (2)8421码至5421码的变换。 与 B 2解:利用EPROM实现8421码至2421码 阵 B3 列 的变换和8421码至5421码的变换也是采用与 B3

阵列固定或阵列编程。表7-11列出了8421BCD B4

B 4码转换成5421BCD码和2421BCD码的对应真

值表。

C0 × × × × (1)参照表7-11,画出8421BCD码转换 或

C1 × × × × 阵 成5421BCD码阵列逻辑图,如图7-29所示。 C2 × × 列

(2)参照表7-11,画出8421BCD码转换 C3 × × × × × 成5421BCD码阵列逻辑图,如图7-30所示。

图7-29 8421至2421码阵列图

B1

B1 表7-11 习题7-6真值表 B2 B3 B2 B1 B0 C3 C2 C1 C0 C3 C2 C1 C0 与 B2 8421 5421 2421 阵

B3 0 0 0 0 0 0 0 0 0 0 0 0 列 0 0 0 1 0 0 0 1 0 0 0 1 B3

0 0 1 0 0 0 1 0 1 0 0 0 B4 0 0 1 1 0 0 1 1 1 0 0 1 B 4 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 0 0 × × × × × C0 或 0 1 1 1 1 0 1 0 1 1 0 1 × × × × C1 1 0 0 0 1 0 1 1 1 1 1 0 阵 × × × × C2 1 0 0 1 1 1 0 0 1 1 1 1 列

× × × × × × × × C3

图7-30 8421至5421码阵列图

习题7-7 试问256字×32位的EPROM的地址线、数据线、字线各有多少根? 答:256字×32位的EPROM的地址线为8根、数据线为32根、字线256根。

习题7-8 用EPROM2716构成4K×8位的EPROM,共需多少片?画出扩展的EPROM逻辑图。

解:EPROM2716是2K×8位的EPROM,若扩展成4K×8位的EPROM,只需扩展地址位,将地址位加倍,共需2片EPROM2716。扩展的EPROM逻辑图如图7-31所示。

习题7-9 试用EPROM设计一字符发生器,发生的字符为H。 解:字符发生器是显示器中常用的逻辑部件。它将各种字母、数字及符号预先存储在ROM中,只要给出适当地址码,就能将这些字符读出来,并驱动显示器显示这些字符。图7-32给

265

OE/PGM CS

A11

EPROM D0—D7 EPROM D0—D7 A0—A10 2716 2716 (1) (2)

图7-31 EPROM2716地址位扩展

出了用7×5字符发生器存储字符“H”的图形。图中存储体有七行五列,构成7×5点阵。

根据字符的形状可在存储单元中存入1或0,然后顺序地给出地址码,就可以读出各行的内容,每读一行,原来存储“1”的地方出现光点,全部光点就组成一个字符。

× ×

A2 地× ×

址× ×

A1 译× × × × ×

码× ×

A0 器 × ×

× ×

F4 F3 F2 F1 F0

图7-32 7×5“H”字符发生器

习题7-10 用PLA实现习题7-4的多输出逻辑函数,画出PLA阵列图,并和习题7-4作

一比较。

解:通过简化习题7-4多输出函数,得 × × A F1 = AB + BC + AB 与 × × A × 阵 × × B F2 = A + B + C

列 B × × × × F3 = A B + A B

C × F4 = 1 C × 设3个输入信号A、B、C,输出是4个

F1 或 × × × F1、F2、F3、F4。

F2 × × × 阵

乘积项有8个,输出有四个,阵列规模可视 F3 × × 列 为8×6+8×3。 F4 VCC

输入A、B、C在与阵列进行编程,产生所 有的乘积项。 图7-33 习题7-10PLA阵列图

在或阵列,输出F1、F2、F3、F4根据给定的逻 辑函数,然后在或阵列进行编程,得到图7-33所示 的PLA与或阵列图。

习题7-11 用PLA实现习题7-5,画出PLA阵列图,并且说明其规模。

解:本题是一组合逻辑电路,不需要触发器。设四个输入信号A2A1B2B1,输出是四个C4C3C2C1,通过简化习题7-5真值表得

266

C4 = A2A1B2B1

C3 = A2A1B2 + B2B1A2

C2 = A2A1B1 + B2B1A2 + A2A1B2 + B2B1A1 C1 = A1B1

乘积项8个,输出是四个,阵列规模是8×8+8×4。

在或阵列中,输出C1、C2、C3、C4根据简化的逻辑函数,然后在或阵列进行编程,得到图7-34所示的PLA与或阵列图。显然阵列规模比习题7-5要小一半。

B1

B1

B2 与 B 2 阵 A1 列 A1

A2

A 2

C1

或 C2

阵 C3 列 C4

图7-34 习题7-11PLA阵列逻辑图

习题7-12 用PLA及T1161设计一个“111101001000”序列发生器。 解:(1)T1161是一个同步预置十六进制的中规模芯片,若设计序列为“111101001000”序列发生器,首先要设想T1161为12进制,且要清零预置。设QW为输出端,采用置位端LD作为计数控制。真值表如表7-12所示,QW、LD卡诺图如图7-35所示。

表7-12 习题7-12真值表 QD QC QB QA 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 QW 1 1 1 1 0 1 0 0 1 0 0 0 LD 1 1 1 1 1 1 1 1 1 1 1 0 QDQC

01 11 10 QBQA 00 QDQC

01 11 10 QBQA 00 00 1 0 Φ 1 01 1 1 Φ 0 11 1 0 Φ 0 10 1 0 Φ 0

00 1 1 Φ 1 01 1 1 Φ 1 11 1 1 Φ 0 10 1 1 Φ 1 图7-35 QW、LD卡诺图

由QW卡诺图可得:QW = QDQC + QDQBQA+ QCQBQA 由LD卡诺图可得:LD = QD + QB + QA

(2)T1161和PLA阵列图如图7-36所示。

习题7-13 用PLA及若干个D触发器构成可变模计数器(模数从2~16)。

解:可变模值的输入端为D、C、B、A,D为最高位。采用比较的方法,当计数值与可

267

表7-18 状态表 D0 = Q4

十进制数 Q4 Q3Q2 Q1 Q0 D1 = Q0

0 0 0 0 0 0 D2 = Q1 1 0 0 0 0 1 2 0 0 0 1 1 D3 = Q2

3 0 0 1 1 1 D4 = Q3 4 0 1 1 1 1 5 1 1 1 1 1 五位扭环行计数及译码电路PLA阵列图如图7-66所

6 1 1 1 1 0 示。 7 1 1 1 0 0 8 1 1 0 0 0 (2)应选用共阴极发光二极管数码管。

9 1 0 0 0 0 自检7-13 解:输入变量是四个A、B、C、D,输出四个为F1~F4,由函数F1~F4写成最小项之和的形式,为 F1= Σm(0,1,2,3,7,8,9,10,13,15) F2= Σm(0,2,4,6,9,14)

F3= Σm(3,4,5,7,9,13,14,15)

F4= Σm(0,1,2,3,4,6,7,8,9,10,11,12,13,14) 矩阵容量为8×16+4×16=192(存储单元)

根据ROM的与阵列固定,或阵列可编程的特点,可知与阵列为全译码阵列,而或阵列和函数F1~F4有关,按函数F1至F4的顺序,其相应的内存单元中应有10,6,8,14个单元的内容为1。图7-67为用ROM实现的函数F1~F4的电路。 A D3 B 地 址 D2 C 译 D1 码 D 器 D0 F1 F2

Y1 Y2 Y3 Y4 F3

F4 图7-68 自检7-14用ROM实现的电路 图7-67 自检7-13 ROM阵列m0 m1 m2 m3 m4 m5 m6 m7

2 自检7-14 解:用ROM实现的电路图如图7-68 AA2 A1 所示。

A1 自检7-15 解:对图7-61给定的序列信号,按其 A0 A 变化特征可分为8组,若每组内4个序列信号的高、 0低 电 平 分别对应1和0, 将它们按地址顺序写入 F4 × × × × F3 × × × × EPROM,即可得到所要求的序列信号发生器,其阵列 F2 × × × × × × × × F1 逻辑如图7-69所示。

图7-69 自检7-15阵列逻辑电路图

288

本文来源:https://www.bwwdw.com/article/zc2d.html

Top