第八章 可编程逻辑器件8.1 概述8.2 可编程逻辑器件的基本结.ppt
《第八章 可编程逻辑器件8.1 概述8.2 可编程逻辑器件的基本结.ppt》由会员分享,可在线阅读,更多相关《第八章 可编程逻辑器件8.1 概述8.2 可编程逻辑器件的基本结.ppt(177页珍藏版)》请在麦多课文档分享上搜索。
1、第八章 可编程逻辑器件 8.1 概述 8.2 可编程逻辑器件的基本结构和电路表示方法 8.3 可编程阵列逻辑(PAL) 8.4 可编程通用阵列逻辑(GAL) 8.5 复杂可编程逻辑器件(CPLD) 8.6 现场编程门阵列(FPGA) 8.7 在系统可编程逻辑器件(ISP-PLD),8.1 概述可编程逻辑器件(Programmable Logic D evice,PLD)是20世纪70年代发展起来的一种新 型逻辑器件,是目前数字系统设计的主要硬件基 础。目前生产和使用的PLD产品主要有PROM、 现场可编程逻辑阵列(Field Programmable Log ic Array,FPLA)、可编
2、程阵列逻辑(Programm able Array Logic,PAL)、通用阵列逻辑(Gene ric Array Logic,GAL)、可擦除的可编程逻辑 器件(Erasable Programmable Logic Device,EPLD)、复杂可编程逻辑器件(Complex Progra mmable Logic Device,CPLD)、现场可编程 门阵列(Field Programmable Gate Array,FP GA)等几种类型。其中EPLD、CPLD、 FPGA 的集成度较高属于高密度PLD。可编程只读存储器PROM(包括EPROM、 EEPROM)其内部结构是由“与阵列
3、”和“或阵列” 组成。它可以用来实现任何“以积之和”形式表示 的各种组合逻辑。,可编程逻辑阵列(PLA)是一种基于“与或 阵列”的一次性编程器件,由于器件内部的资源 利用率低,现已不常使用。可编程阵列逻辑(PAL)也是一种基于“与 或阵列”的一次性编程器件组成。PAL具有多种 的输出结构形式,在数字逻辑设计上具有一定的 灵活性。,通用可编程阵列逻辑(GAL)是一种电可擦 写、可重复编程、可设置加密位的PLD器件。G AL器件有一个可编程的输出逻辑宏单元OLMC, 通过对OLMC配置可以得到多种形式的输出和反 馈。比较有代表性的GAL芯片是GAL16V8、GA L20V8和GAL22V10,这几
4、种GAL几乎能够仿真 所有类型的PAL器件,并具有100的兼容性。 在实际应用中GAL可完全取代PAL器件。,可擦除的可编程逻辑器件(EPLD)的基本逻 辑单位是宏单元,它由可编程的与或阵列、可 编程寄存器和可编程IO三部分组成。由于EPL D特有的宏单元结构、大量增加的输出宏单元数 和大的与阵列,使其在一块芯片内能够更灵活性 的实现较多的逻辑功能。,复杂可编程逻辑器件(CPLD)是EPLD的改 进型器件,一般情况下,CPLD器件至少包含三 种结构: 可编程逻辑宏单元、可编程IO单元 和可编程内部连线。部分CPLD器件还集成了 RAM、FIFO或双口RAM等存储器,以适应DSP 应用设计的要求
5、。,现场可编程门阵列(FPGA)在结构上由逻辑 功能块排列为阵列,并由可编程的内部连线连接 这些功能块来实现一定的逻辑功能。FPGA的功 能由逻辑结构的配置数据决定,在工作时,这些 配置数据存放在片内的SRAM或者熔丝图上。使 用SRAM的FPGA器件,在工作前需要从芯片外 部加载配置数据,这些配置数据可以存放在片外 的EPROM或其他存储体上,人们可以控制加载 过程,在现场修改器件的逻辑功能。,可编程逻辑器件按照编程工艺又可分为四 类: 熔丝(Fuse)或反熔丝(Antifuse)编程器 件; UEPROM编程器件; EEPROM编程器件; SRAM编程器件。前三类器件称为非易失性器件,它们
6、在编 程后,配置数据保持在器件上;第四类器件为易 失性器件,每次掉电后配置数据会丢失,因而在 每次通电时需要重新进行数据配置。,8.2 可编程逻辑器件的基本结构和电路表 示方法 8.2.1 可编程逻辑器件的基本结构可编程逻辑器件(PLD)器件由输入缓冲 电路、与阵列、或阵列、输出缓冲电路等四部分 组成,其基本结构如下图所示。,8.2.2 PLD电路的表示方法1.PLD连接的表示法PLD中阵列交叉点上有三种连接方式: 硬 线连接、接通连接和断开连接。表示方法如下图 所示,其中硬线连接是固定连接方式,是不可编 程的,而接通和断开连接是可编程的。,2.输入反馈缓冲单元表示法PLD的输入缓冲器和反馈缓
7、冲器都采用互 补的输出结构,以产生原变量和反变量两个互补 的信号,如右下图所示。A是输入,B和C是输 出,真值表如左下表所示。,3.PLD与门表示法与阵列是PLD中的基本逻辑阵列,它们由 若干个与门组成,每个与门都是多输入、单输出 形式。以三输入与门为例,其PLD表示法如下图 所示,图中D=ABC。 图8.2.5为4输入端与门电路,P=ABD。 图8.2.6为4输入端与门电路,P=A B =0。,图8.2.5为4输入端与门电路图8.2.6为4输入端与门电路,4. PLD或门表示法或阵列也是PLD中的基本逻辑阵列,它们 由若干个或门组成,每个或门都是多输入、单输 出形式。以4输入与门为例,其PL
8、D表示法如下 图所示,图中YP1+P3+P4。例如,一个PLD异或门电路如图8.2.8所示. 图中FX1 + X2X1 X2。,8.3 可编程阵列逻辑(PAL)PAL是上世纪70年代末期推出的一种可编 程逻辑器件。PAL器件由可编程的与逻辑阵列、 固定的或逻辑阵列和输出电路三部分组成。通过 对与逻辑阵列编程可以获得不同形式的组合逻辑 函数。另外,在有些型号的PAL器件中,输出电 路中设置有触发器和从触发器输出到与逻辑阵列 的反馈线,利用这种PAL器件还可以很方便地构 成各种时序逻辑电路。,8.3.1 基本的PAL电路PAL器件当中最简单一种电路结构形式如 图8.3.1所示。图中PAL芯片型号为
9、PAL16L8AM, 电路方框图如图8.3.1(b)所示,内部电路如图 8.3.1(c)所示。电路包含有一个3264位的可编 程与逻辑阵列、10个输入缓冲器、8个三态输出 缓冲器、6个输入输出缓冲器,核心是一个可 编程的与逻辑阵列和一个固定的或逻辑阵列。由 图可见,在尚未编程之前,与逻辑阵列的所有交 叉点上均有熔丝接通。编程将有用的熔丝保留,,将无用的熔丝熔断,即得到所需的电路。图8.3.2是经过编程后的一个PAL器件的结 构图。它所产生的逻辑函数为Y1= + + +Y2= + + + Y3= + Y4= +,图8.3.1 基本的PAL电路,图8.3.1 基本的PAL电路,图8.3.2 编程后
10、的PAL电路,8.3.2 带寄存器输出的PAL电路一个带寄存器输出的PAL电路例如图8.3.3 所示。图中PAL芯片型号为PAL16R8AM,电路 方框图如图8.3.3(b)所示,内部电路如图8.3.3(c) 所示。电路与最简单电路结构形式不同,在输出 三态缓冲器和与或逻辑阵列的输出之间加入了 8个由D触发器组成的寄存器,电路包含有一个 3264位的可编程与逻辑阵列、8个输入缓冲 器、8个三态输出缓冲器、8个输入输出缓冲 器,8个D触发器,利用这种输出结构不仅可以,存储与或逻辑阵列的输出状态,也可以方便地 组成各种时序逻辑电路。可编程的与逻辑阵列在 尚未编程之前,与逻辑阵列的所有交叉点上均有
11、熔丝接通。编程将有用的熔丝保留,将无用的熔 丝熔断,即得到所需的电路。,图8.3.3 带寄存器输出的PAL电路,图8.3.3 带寄存器输出的PAL电路,8.3.3 两种输出结构的PAL电路一个具有两种输出结构的PAL电路如图8.3 .5所示。图中PAL芯片为PAL16R4AM,电路方 框图如图8.3.5(b)所示,内部电路如图8.3.5(c)所 示。电路的输出结构有两种形式,一种是4路输 出直接通过输出三态门输出,另外一种是4路输 出在输出三态缓冲器和与一或逻辑阵列的输出之 间加入了4个由D触发器组成的寄存器,电路包 含有一个3264位的可编程与逻辑阵列、8个输 入缓冲器、 8个三态输出缓冲器
12、、8个输入输,出缓冲器,4个D触发器,利用这种输出结构可 以方便地组合逻辑电路和时序逻辑电路功能。可 编程的与逻辑阵列在尚未编程之前,与逻辑阵列 的所有交叉点上均有熔丝接通。编程将有用的熔 丝保留,将无用的熔丝熔断,即得到所需的电路.,图8.3.5 两种输出结构的PAL电路,图8.3.5 两种输出结构的PAL电路,8.3.4 带异或输出的PAL电路一个带异或输出的PAL电路的典型实例如所示。图中PAL芯片型号为PAL20X8, 内部电路如图8.3.7所示。电路与最简单电路结 构形式和带寄存器输出的PAL电路不同,在输出 三态缓冲器和与或逻辑阵列的输出之间加入了 8个异或门和8个由D触发器组成的
13、寄存器,电路 包含有一个4076位的可编程与逻辑阵列、10 个输入缓冲器、10个三态输出缓冲器、10个输 入输出缓冲器,8个D触发器,利用这种输出,图8.3.6,结构不仅可以对与或逻辑阵列的输出的函数求 反,还可以对寄存器状态进行保持的操作。可编 程的与逻辑阵列在尚未编程之前,与逻辑阵列的 所有交叉点上均有熔丝接通。编程将有用的熔丝 保留,将无用的熔丝熔断,即得到所需的电路。,图8.3.7带异或输出的PAL电路,例如在图8.3.8所示的编程情况下,当 =0 时D1=Q1,所以Q1n+1=Q1n,在时钟信号到来时 触发器的状态始终保持不变。当 =1时有D1= , 所以 。对于下边一个触发器,当
14、=0时,有D2= Y2=Q1 + ;而当 =1时,有D2= = ; 即得到Y2的反函数。,图8.3.8 带异或 输出的PAL电路编程例,8.3.5 运算选通反馈结构在异或输出结构的基础上再增加一组反馈 逻辑电路,就构成了如图8.3.9所示的运算选通 反馈结构。反馈选通电路分别给出了输入变量B和反 馈变量A产生的(A+B)、(A+B)、(A+B)、(A+B)4 个反馈量,并接至与逻辑阵列的输入端。通过对 与逻辑阵列的编程,能产生A和B的16种算术运 算和逻辑运算的结果。图8.3.10给出了产生这16种运算的编程情 况。,图8.3.9 PAL的运算选通反馈结构,图8.3.10 产生16种算数、逻辑
15、运算的编程情况,8.3.6 PAL的应用举例 【例8.3.1】用PAL器件设计一个数值判别电路. 要求判断4位二进制数DCBA的大小属于05、 610、1116三个区间的哪一个之内。解:若用Y0=1表示DCBA的数值在05之间; 以Y1=1表示DCBA的数值在610之间;以Y2=1 表示DCBA的数值在1115之间,则得到表8.3.1 中的函数真值表。,表8.3.1 例8.3.1的函数真值表,从真值表写出Y0、Y1、Y2的逻辑函数式,经化 简后得到Y0=Y1= (8.3.2)Y2=DC+DBA这是一组有4个输入变量,3个输出的组合 逻辑函数。如果用一片PAL器件产生这一组逻辑 函数,就必须选用
16、有4个以上输入端和3个以上 输出端的器件。而且由式(8.3.2)可以看到,至少 还应当有一个输出包含3个以上乘积项。,根据上述理由,选用PAL14H4比较合适。 PAL14H4有14个输入端、4个输出端。每个输 出包含4个乘积项。图8.3.11是按照式(8.3.2)编 程后的逻辑图。图8.3.11中画“”的与门表示编程时没有 利用。由于未编程时这些与门的所有输入端均有 熔丝与列线相连,所以它们的输出恒为0。为简 化做图起见,所有输入端交叉点上的“”就不画 了,而用与门符号里面的“”来代替。,图8.3.11 PAL14H4按照式(8.3.2)编程后的逻辑图,【例8.3.2】用PAL设计一个升位循
17、环码计数器, 并要求所设计的计数器具有置零和对输出进行三 态控制的功能。解:根据循环码的计数顺序可以列出在一系列 时钟信号作用下4位循环码的变化顺序表,如表 8.3.2所示。如果用PAL器件设计这个计数器,则所用 的器件中至少应包含4个触发器和相应的与或 逻辑阵列。从手册上可以查到,PAL16R4可以 满足上述要求。,由图8.3.13可见,PAL16R4的电路中有4个 触发器,而且触发器的输出端设置有三态缓冲器. 它有8个变量输入端,除了4个寄存器输出端以 外还有4个可编程I/O端。因为输出缓冲器是反相器,所以4个触发器 Q端的状态与表8.3.2中Y的状态相反。因此Q3Q2 Q1Q0的状态转换
18、顺序应如表8.3.3所示。这也就 是Q3Q2Q1Q0状态转换表。,表8.3.2 4位循环码的记数顺序表,表8.3.3 PAL触发器的状态转换表,图8.3.13 例8.3.2中编程后的PAL16R4的逻辑图,根据表8.3.3画出4个触发器次态的卡诺图, 如图8.3.12所示。经化简后得到各个触发器的状 态方程为(8.3.3)从上式即可写出每个触发器的驱动方程, 即D端的逻辑函数式。同时,考虑到要求具有置 零功能,故应在驱动方程中加入一项R。置零输,图8.3.12 例8.3.2 输出状态 的卡诺图,入信号R=1时,在时钟信号到达后将所有的触发 器置1,反相后的输出得到Y3Y2Y1Y0=0000。于
19、 是得到驱动方程为D3=Q3 +Q3 +Q2Q1Q0+RD2=Q2 +Q2Q1+ Q0+R (8.3.4)D1=Q1Q0+Q3 + Q2 +RD0= + Q2Q1+Q3Q2 +Q3 Q1+R进位输出信号的逻辑函数式为(8.3.5)按照式(8.3.4)和式(8.3.5)编程后PAL16R4,的逻辑图如图8.3.13所示。图中1脚接时钟输入, 亦即计数输入;11脚接输出缓冲器的三态控制 信号 ;2脚接置零信号R,正常计数的R应处 于低电平;17、16、15、14脚分别为输出Y3、 Y2、Y1、Y0;18脚为 输出端。若从Y3Y2Y1Y0= 0000开始计数,则输入16个时钟信号时 从低 电平跳回高
20、电平,给出一个正跳变的进位输出信 号。以上所讲的设计工作都可以在开发系统上 自动进行。只要按照编程软件规定的格式输入逻 辑真值表,后面的工作都由计算机去完成。,8.4 可编程通用阵列逻辑(GAL) 8.4.1 GAL器件的基本结构。普通型GAL器件有GAL16V8AB、GA L20V8AB。下面以GAL16V8为例,介绍 GAL器件的基本结构。从图8.4.1可见,GAL16V8有10个输入缓 冲器、8个输出逻辑宏单元OLMC(Output LogicMacro Cell)、8个三态输出缓冲器和8个输出反 馈缓冲器,一个3264位的可编程与逻辑阵列() 8个输入的正负信号和X1X88个输出反馈,
21、的正负信号22832,每个OLMC有8个与 门输入8864)。3264位的可编程与逻辑阵 列的每个交叉点上设有EECMOS编程单元。这 种编程单元的结构和工作原理与EEPROM的存 储单元相同。可编程与阵列由88个与门构成. 每个与门的输入端既可以接收8个固定的输入信 号(29引脚),也可以接收将输出端(1219引 脚)配置成输入模式的8个信号。因此,GAL16V 8最多有16个输入信号,8个输出信号。组成或 逻辑阵列的8个或门分别包含于8个OLMC中,,它们和与逻辑阵列的连接是固定的。,图8.4.1 GAL16V8逻辑图,8.4.2 输出逻辑宏单元OLMC输出逻辑宏单元OLMC的结构图如图8
22、.4.2 所示。从图8.4.2可见,OLMC是由一个8输入或 门、一个异或门、一个D触发器和4个数据选择 器组成。8输入或门接收来自可编程与阵列的7 或8个与门输出,完成乘积项或运算。异或门用 来控制输出极性。,图8.4.2 输出逻辑宏单元OLMC的结构图,8.4.3 GAL器件的结构控制字GAL器件的输出形式取决于它的输出逻辑 宏单元中的控制信号AC0、AC1(n)及XOR(n)。 在GAL器件中,这些控制信号的取值是由它的 结构控制字编程确定的。GAL16V8的结构控制 字如图8.4.3所示。结构控制字各位功能如下:同步位SYN:1位,确定GAL器件的输出将 具有寄存器型输出或纯组合型输出
23、。结构控制位AC0:1位,这一位对于8个OL,图8.4.3 GAL16V8的结构控制字,MC是公共的,它与每个OLMC(n)各自的AC1(n) 配合,控制上述各个数据选择器。结构控制位AC1(n):8位,每个OLMC(n) 都有自己的AC1(n),其中n对应于它的输出引脚 号。极性控制位XOR(n):8位,XOR(n)通过O L MC中间的异或门控制逻辑操作结果的输出极 性。乘积项PT禁止位:共64位。分别控制逻辑 图中“与”阵列的64个乘积项(PT0PT63)以便屏 蔽某些不用的乘积项。,8.4.4 输出逻辑宏单元(OLMC)的组态表8.4.1列出了控制信号SYN、AC0、 AC1 (n)及
24、XOR(n)与OLMC(n)的配置关系。图8.4.4 给出输出逻辑宏单元5种工作模式下的简化电路.,表8.4.1 SYN、AC0、 AC1(n)及XOR(n)与OLMC(n)的配置关系,图8.4.4输出逻辑宏单元(OLMC)5种工作模式下的简化电路,8.4.5 GAL器件行地址映射图GAL器件是提供行地址映射图(行地址图) 供编程时使用,GAL16V8的行地址分配如图8.4 .5所示。当对GAL16V8器件编程时,用户可用 的行地址共有36个,现分别介绍如下: 行地址031: 32个行地址对应于逻辑图 (图8.4.1)上与阵列的32个输入。每个行地址单元 有64位,对应于与阵列的64个乘积项。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 可编程 逻辑 器件 81 概述 82 基本 PPT
