1、2006年,新疆大学信息科学与工程学院 ,1,第八章 可编程逻辑器件,8.1 概述 8.2 现场可编程逻辑阵列(FPLA) 8.3 可编程阵列逻辑(PAL) 8.4 通用阵列逻辑(GAL) 8.5 可擦除的可编程逻辑器件(EPLD) 8.6 现场可编程门阵列(FPGA) 8.7 PLD的编程(无图) 8.8 在系统可编程逻辑器件(ISPPLD),返回,2006年,新疆大学信息科学与工程学院 ,2,8.1 概 述,图8.1.1 PLD电路中门电路的惯用画法(a)与门 (b)输出恒等于0的与门 (c)或门 (d)互补输出的缓冲器 (e)三态输出的缓冲器,返回,2006年,新疆大学信息科学与工程学院
2、 ,3,图8.1.1 PLD电路中门电路的惯用画法 (a)与门(b)输出恒等于0的与门(c)或门 (d)互补输出的缓冲器(e)三态输出的缓冲器,返回,2006年,新疆大学信息科学与工程学院 ,4,*8.2 现场可编程逻辑阵列(FPLA),图8.2.1 FPLA的基本电路结构 图8.2.2 FPLA的异或输出结构 图8.2.3 时序逻辑型 FPLA的电路结构,返回,2006年,新疆大学信息科学与工程学院 ,5,返回,2006年,新疆大学信息科学与工程学院 ,6,图8.2.1 FPLA的基本电路结构,2006年,新疆大学信息科学与工程学院 ,7,图8.2.2 FPLA的异或输出结构,返回,2006
3、年,新疆大学信息科学与工程学院 ,8,图8.2.3 时序逻辑型 FPLA的电路结构,返回,2006年,新疆大学信息科学与工程学院 ,9,PAL的与阵列是可编程的而或阵列不可编程,类似于一个已经写入信息的ROM,但它的与阵列是可编程的。,不可编程,8.3可编程阵列逻辑PAL,2006年,新疆大学信息科学与工程学院 ,10,8.3.1 PAL的基本电路结构,PAL器件当中最简单一种电路结构形式,它仅包含一个可编程的与 逻辑阵列和一个固定的或逻辑阵列,没有附加其他的输出电路.,2006年,新疆大学信息科学与工程学院 ,11,由图可见,在没有编程之前,与逻辑阵列的所有交叉点上均有熔 丝接通.编程将有的
4、熔丝保留,将无用的熔丝熔断,既得到所有的电路.它所产生的逻辑函数为,2006年,新疆大学信息科学与工程学院 ,12,8.3.2 PAL的几种输出电路结构 和反馈形式,根据PAL器件输出电路结构和反馈方式不同,可将它们大致分成: 1)专用输出结构. 2)可编程输入/输出结构. 3)寄存器输出结构. 4)异或输出结构, 5)运算选通反馈结构等几种类型,2006年,新疆大学信息科学与工程学院 ,13,一, 专用输出结构,.由图8.3.1给出的PAL电路就属于这种专用输出结构,它的输出端是一个与或门.在有些PAL器件中,输出端还采用了与或非门结构或者互补输出结构.图8.3.3给出了互补输出的电路结构.
5、,2006年,新疆大学信息科学与工程学院 ,14,图8.3.3 具有互补输出的专用输出结构,2006年,新疆大学信息科学与工程学院 ,15,二,可编程输入/输出结构,它的输出端是一个有可编程控制端的三态缓冲器, 控制端由与逻辑阵列的一个乘积项给出.同时,输出 端又经过一个互补输出的缓冲器反馈到与逻辑阵 列上.,图8.3.4 PAL的可编程输入/输出结构,2006年,新疆大学信息科学与工程学院 ,16,有些可编程I/O结构的PAL器件中,在与或逻辑阵列的输出和三态缓冲器之间还设置有可编程的异或门,如图8.3.5所示.,图8.3.5 带有异或门的可编程 输入/输出结构,2006年,新疆大学信息科学
6、与工程学院 ,17,三,寄存器输出结构,它在输出三态缓冲器和与-或 逻辑阵列的输出之间串进 了由D触发器组成的寄存器.同时,触发器的状态又经过互补输出的缓冲器反馈到与逻辑阵列的输入端.,图8.3.6 PAL的寄存器输出结构,2006年,新疆大学信息科学与工程学院 ,18,四,异或输出结构异或的电路结构与寄存器输出结构类似只在与 -或逻辑阵列的输出端又增设了异或门,图8.3.7 PAL的异或输出结构,2006年,新疆大学信息科学与工程学院 ,19,五,运算选通反馈结构,在异或输出结构的基础上我们又增加了一组反馈电路.,图8.3.8 PAL的运算选通反馈结构,2006年,新疆大学信息科学与工程学院
7、 ,20,8.3.3 PAL 的应用举例,2006年,新疆大学信息科学与工程学院 ,21,2006年,新疆大学信息科学与工程学院 ,22,图8.3.9 产生16种算术、逻辑运算的编程情况,2006年,新疆大学信息科学与工程学院 ,23,【例8.3.2 】 用PAL设计一个4为循环码计数器,并要求所设计的计数器具有置零和对输出进行三态控制的功能.,2006年,新疆大学信息科学与工程学院 ,24,2006年,新疆大学信息科学与工程学院 ,25,GAL是在PAL器件的基础上发展起来的。它的基本结构与PAL相同,即“与阵列可编程或阵列可固定”。但GAL采用了电可擦除,电可改写的CMOS半导体制造工艺,
8、使得GAL器件不仅可以反复擦除、改写,为修改设计带来了灵活性,而且降低了功耗,集成度也大大提高。另外,GAL的逻辑结构采用了输出逻辑宏单元OLMC,可以根据应用的不同配置成不同的输出结构。一片GAL即可以配置为组合逻辑电路,也可以使时序逻辑电路或者是两者的组合,很灵活。,8.4 通用阵列逻辑GAL,2006年,新疆大学信息科学与工程学院 ,26,要使用GAL器件,就要先进行设计。GAL器件的开发工具包括硬件开发工具和软件开发工具。硬件开发工具有编程器,软件开发工具有ABEL-HDL程序设计语言和相应的编译程序。编程器的主要用途是将开发软件生成的熔丝图文件按JEDEC格式的标准代码写入选定的GA
9、L器件。典型的GAL设计流程图如图所示。,8.4 通用阵列逻辑GAL,2006年,新疆大学信息科学与工程学院 ,27,图8.4.1 GAL16V8的电路结构图,2006年,新疆大学信息科学与工程学院 ,28,图8.4.2 由3个编程单元构成的与门,返回,2006年,新疆大学信息科学与工程学院 ,29,图8.4.3 GAL16V8编程单元的地址分配,返回,2006年,新疆大学信息科学与工程学院 ,30,图8.4.4 OLMC的结构框图,返回,8.4.2 输出逻辑宏单元(OLMC),2006年,新疆大学信息科学与工程学院 ,31,图8.4.5 GAL16V8结构控制字的组成,返回,2006年,新疆
10、大学信息科学与工程学院 ,32,图8.4.6 OLMC5种工作模式下的简化电路(图中NC表示不连接) (a)专用输入模式 (b)专用组合输出模式 (c)反馈组合输出模式 (d)时序电路中的组合输出模式 (e)寄存器输出模式,返回,2006年,新疆大学信息科学与工程学院 ,33,8.4.3 GAL的输入特性和输出特性,图8.4.7 GAL的输入缓冲器电路,2006年,新疆大学信息科学与工程学院 ,34,GAL的输出缓冲器电路结构中.它除了具有一般三态输出缓冲器的特点以外,还有两个突出特点,返回,第一个是输出级该用了单一类型的N沟道增强型 MOS 管,而不是采用P沟道与N沟道管互补的CMOS 机构
11、. 第二个特点是它的输出具有“软开关特性”.,2006年,新疆大学信息科学与工程学院 ,35,图8.4.8 GAL的输出缓冲器电路,返回,2006年,新疆大学信息科学与工程学院 ,36,图8.4.9 GAL的静态输出特性 (a)输出为高电平时(b)输出为低电平时,返回,2006年,新疆大学信息科学与工程学院 ,37,8.5.1 EPLD的基本结构和特点EPLD是继PAL、GAL之后推出的一种可编程逻辑器件. 与PAL和GAL相比,EPLD有以下几个特点:1)采用了CMOS工艺,所以EPLD具有CMOS器件低功耗、高噪声容限的优点.2)采用了UVEPROM工艺,以叠栅注入MOS管作为编程单元,所
12、以不仅可靠性高、可以改写,而且集成度高、造价也便宜.3)特点是输出部分采用了类似于GAL器件的可编程的输出逻辑宏单元此外,为了提高与或 逻辑阵列中乘积项的利用率,有些EPLD的或逻辑阵列部分也引入了可编辑逻辑结构,8.5 可擦除的可编程逻辑器件(EPLD),2006年,新疆大学信息科学与工程学院 ,38,. EPLD的与-或逻辑阵列,图8.5.1 AT22V10的电路结构框图,2006年,新疆大学信息科学与工程学院 ,39,图8.5.3 与或逻辑阵列的乘积项共享结构,返回,2006年,新疆大学信息科学与工程学院 ,40,返回,8.5.3 EPLD 的输出逻辑宏单元(OLMC),EPLD的输出电
13、路结构和GAL相似,也采用了可编程的输出逻辑宏单元OLMC.通过编程的方法能将OLMC设置成各种不同的工作状态.而且,由于增加了对OLMC中触发器的预置和置零功能,因而具有更大的使用灵活性.,2006年,新疆大学信息科学与工程学院 ,41,图8.5.4 AT22V10的OLMC电路结构图,返回,8.5.3 EPLD 的输出逻辑宏单元(OLMC),2006年,新疆大学信息科学与工程学院 ,42,图8.5.5 ATV750的OLMC电路结构图,返回,2006年,新疆大学信息科学与工程学院 ,43,图8.6.1是FPGA基本结构形式的示意图。它由三种 可编的单元是输入/输出模块IOB(I/O B1o
14、ck), 可编程逻辑模块CLB(Configurable Logic Block) 和互连资源IR(Interconnect Resource)。它们 的工作状态全都由编程数据存储器中的数据设定 。,8.6 现场可编程门阵列(FPGA),2006年,新疆大学信息科学与工程学院 ,44,图8.6.1 FPGA的基本结构框图,2006年,新疆大学信息科学与工程学院 ,45,一,IOB X C 2064是Xilinx公司FPGA器件中结构比较简单的一种,它一共有56个可编程的I/O端。由图8.6.3的电路结构图可见,每个IOB由输出三态缓冲器 触发器,输入缓冲器 和俩个数据选择器MUX1,MUX2组
15、成。在图中所用的数据选择器符号上只标出了数据输入端和数据输出端省略了地址输入端。实际上每个2选1数据仪器都应当有一位输入地址代码,每个4选1数据选择器应当有两位输入地址代码。这些代码都存放在FPJA内部的编程数据存储器中。,8.6.2 FPGA的IOB和CLB,2006年,新疆大学信息科学与工程学院 ,46,图8.6.3 XC2064的IOB电路,2006年,新疆大学信息科学与工程学院 ,47,图8.6.4 XC2064的CLB电路,二,CLB在XC2064 中有64个CLB,排列成8 8矩阵。每个CLB的电路中包含 组合路基电路,存储电路和由一些数据选择器 组成的内部控制电路,如图所示。,2
16、006年,新疆大学信息科学与工程学院 ,48,图8.6.5 XC2064中CLB的3种组态 (a)四变量任意函数 (b)两个三变量任意函数 (c)五变量逻辑函数,2006年,新疆大学信息科学与工程学院 ,49,图8.6.6 二变量通用逻辑模块的原理图,2006年,新疆大学信息科学与工程学院 ,50,图8.6.7 XC2064中CLB的存储电路,2006年,新疆大学信息科学与工程学院 ,51,8.6.3 FPGA 的互连资源,为了能将FPGA中数目很大的CLB和IOB连接成各种复杂的 系统,在布线区布置了丰富的连线资源。这些互连资源可 以分为三类,既金属线,开关矩阵SM和可编程接点PIP。 在图
17、8.6.8中出了这些互连资源的布局状况。,图8.6.8 FPGA 内部的互连资源,2006年,新疆大学信息科学与工程学院 ,52,图8.6.9 开关矩阵和可编程连接点,图8.6.9中给出了开关矩阵和可编连接点的布置图。开关矩阵的作用如同一个可以实现多根导线转接的接线盒,通过对开关矩阵编程,可以将来自任何方向上的一根导线上。图8.6.9中列出了开关矩阵在不同编程情况下的连接状态。,2006年,新疆大学信息科学与工程学院 ,53,图8.6.10 利用水平和垂直通用连线和开关矩阵实现连接,图8.6.10中以粗线示出了经过编程后的一种线情况,CLB(1)输出X经过开关矩阵分别送到了CLB9(2)的D端
18、,CLB(3)的A端和CLB(4) 的C端。,2006年,新疆大学信息科学与工程学院 ,54,图8.6.11 用直接连线实现连接,为了减少传输延迟 时间和简化编程, 在相邻的CLB中还 设置了直接连线, 如图所示。,2006年,新疆大学信息科学与工程学院 ,55,8.6.4 编程数据的装载,装编程数据写入FPGA内部编程数据存储器称为装载。整个装载过程是FPGA内的控制电路操作下自动进行的。下面仍以XC2000系列FPGA为例,说明装载的过程。装载过程接通电源后自动开始,也可以由外加控制信号启动。编程数据通常存放在一个EPROM中,也可以存放在计算机的存储器中。装载的操作有不同模式,由模式选择
19、信号 指定,有主,从模式之分和数据并行输入,串行输入模式之分。,2006年,新疆大学信息科学与工程学院 ,56,图8.6.12 XC2064的主并装载模式 (a)电路接法 (b)写入数据的时序图,图(a)是“主并模式”装载的电路图,编程 数据实现已存入EPROM中。,2006年,新疆大学信息科学与工程学院 ,57,图8.6.13 石英晶体振荡器电路,2006年,新疆大学信息科学与工程学院 ,58,图8.6.14 装载过程的流程图,2006年,新疆大学信息科学与工程学院 ,59,8.7 PLD的编程,随着PLD集成度的不断提高,PLD的编程也 日益复杂,设计的工作量也越来越大。在这种情 况下,P
20、LD的编程工作必须在开发系统的支持下 才能完成。为此,一些PLD的生产商和软件公司 相继研制成了各种功能完善,高效率的PLD开发 系统。其中一些系统还具有较强的通用性,可以 支持不同厂家生产的,各种型号的PAL,GAL, EPLD,FPGA产品开发。PLD开发系统包括软件和硬件俩部分。开发系统软件是指PLD专用的编程语言和相 应的汇编程序或编译程序。开发系统软件大体 上可以分为汇编型,编译型和原理图收集型三 种。,2006年,新疆大学信息科学与工程学院 ,60,8.8 在系统可编程逻辑器件(ISPPLD),图8.8.1 ispGAL16z8的电路结构框图 图8.8.2 ispGAL16z8编程
21、操作流程图 图8.8.3 ispLSI1032的电路结构框图 图8.8.4 ispLSI1032的逻辑功能划分框图 图8.8.5 通用逻辑模块(GLB)的电路结构 图8.8.6 GLB的其它几种组态模式(a)高速旁路模式(b)异或逻辑模式(c)单乘积项模式 图8.8.7 输入/输出单元( IOC )的电路结构 图8.8.8 IOC的各种组态 图8.8.9 ispLSI器件的编程接口 图8.8.10 ispGDS22的结构框图 图8.8.11 ispGDS22的输入/输出单元( IOC ),2006年,新疆大学信息科学与工程学院 ,61,图8.8.1 ispGAL16z8的电路结构框图,返回,2
22、006年,新疆大学信息科学与工程学院 ,62,图8.8.2 ispGAL16z8编程操作流程图,返回,2006年,新疆大学信息科学与工程学院 ,63,图8.8.3 ispLSI1032的电路结构框图,返回,2006年,新疆大学信息科学与工程学院 ,64,图8.8.4 ispLSI1032的逻辑功能划分框图,返回,2006年,新疆大学信息科学与工程学院 ,65,图8.8.5 通用逻辑模块(GLB)的电路结构,返回,2006年,新疆大学信息科学与工程学院 ,66,图8.8.6 GLB的其它几种组态模式 (a)高速旁路模式(b)异或逻辑模式(c)单乘积项模式,返回,2006年,新疆大学信息科学与工程
23、学院 ,67,图8.8.7 输入/输出单元( IOC )的电路结构,返回,2006年,新疆大学信息科学与工程学院 ,68,图8.8.8 IOC的各种组态,返回,2006年,新疆大学信息科学与工程学院 ,69,图8.8.9 ispLSI器件的编程接口,返回,2006年,新疆大学信息科学与工程学院 ,70,图8.8.10 ispGDS22的结构框图,返回,2006年,新疆大学信息科学与工程学院 ,71,图8.8.11 ispGDS22的输入/输出单元( IOC ),IOC在电路结构图8.8.11所始。 当 被编程为低电平时,电路 工作在输出方式,输出端的三 态缓冲器为工作状态。这时数 据选择器从4个输入当中选种一 个,经输出三态缓冲器送到输 出端。当 =11时,输出的是 来自开关矩阵的信号,而 =10时输出的反相以后的来自开 关矩阵的信号。当 为 01和00时,输出端被分别设置成 高电平和低电平。,