




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章*可编程逻辑器件10.1概述10.2可编程逻辑器件的基本结构10.3可编程逻辑器件10.4通用阵列逻辑(GAL)10.5FPGA10.6在系统可编程逻辑器件isp-PLD本章学习目的和要求
1.了解可编程逻辑器件的基本结构。
2.重点掌握PAL和GAL的电路结构及其使用方法。
3.了解FPGA和在系统可编程逻辑器件的结构和功能。10.1概述
PLD是作为通用型器件生产的,具有批量大、成本低的特点,它的逻辑功能可由用户通过对器件编程自行设定,且具有体积小、可靠性高的优点。有些PLD的集成度很高,足以满足设计一般数字系统的需要。这就可由设计人员自行编程将一个数字系统“集成”在一片PLD上,做成“片上系统(SystemonChip,SOC)”,而不必由芯片制造商设计和制造专用集成芯片。
20世纪80年代以来,PLD发展非常迅速,它改变了传统数字系统采用通用型器件实现系统功能的设计方法,通过定义器件内部的逻辑功能和输入、输出引出端,将原来由电路板设计完成的大部分工作放在芯片设计中进行,增强了设计的灵活性,减轻了电路图和电路板设计的工作量和难度,提高了工作效率。PLD已在计算机硬件、工业控制、现代通信、智能仪表和家用电器等领域得到越来越广泛的应用。10.2可编程逻辑器件的基本结构10.2.1PLD的基本结构PLD种类繁多,但它的基本结构主要由两种:与或阵列结构和查找表结构。1.与或阵列结构
与或结构器件也叫乘积项结构器件,大部分简单PLD和CPLD都属于此类器件。PLD基本结构
根据与、或阵列的可编程性,PLD可分为三种基本结构。①与阵列固定、或阵列可编程型结构。也称为PROM型结构。其中,与阵列为固定的(即不可编程的),且为全译码方式。当输入端数为n时,与阵列中与门的个数为2n,随着输入端数的增加,与阵列的规模会急剧增加。因此,这种结构的PLD器件的工作速度一般要比其他结构的低。②与阵列、或阵列均可编程型结构。也称为可编程逻辑阵列(PLA)结构。在PLA型结构中,与阵列不是全译码方式,因而其工作速度比PROM结构的快。由于其与、或阵列都可编程,设计者在逻辑电路设计时,就不必像使用PROM器件那样,把逻辑函数用最小项之和的形式表示,而可以采用函数的简化形式。这样,既有利于PLA器件内部资源的充分利用,也给设计带来了方便。但增加了编程的难度和费用,而未能得到广泛的应用。③与阵列可编程、或阵列固定型结构。因为最早采用这种结构的器件是可编程阵列逻辑(PAL),故又称为PAL型结构。这种结构的与阵列也不是全译码方式的,因而它具有PLA型结构速度快的优点。同时,它只有一个阵列(与阵列)是可编程的,比较容易实现,费用也低,目前很多PLD器件都采用这种基本结构。2.查找表(Look-Up-Table,LUT)结构
查找表结构用存储逻辑的存储单元来实现逻辑运算。查找表器件由查找表组成可编程门,再构成阵列形式。FPGA属于此类器件。
查找表实际上是一个根据逻辑真值表或状态转移表设计的RAM逻辑函数发生器,其工作原理类似于用ROM实现组合逻辑电路。在查找表结构中,RAM存储器预先加载要实现的逻辑函数真值表,输入变量作为地址用来从RAM存储器中选择输出逻辑值,因此可以实现输入变量的所有可能的逻辑函数。10.2.2PLD器件的表示法1.连接方式
PLD电路由与门阵列和或门阵列两种基本的门阵列组成。门阵列交叉点上连接有三种方式:
硬线连接:硬线连接是固定连接,不能用编程加以改变。
编程接通:是通过编程实现接通的连接。
可编程断开:通过编程已使该处连接呈断开状态。
PLD表示法2.基本门电路的PLD表示法基本门的PLD表示法3.PROM的PLD表示法
可编程的只读存储器实质上可以认为是一个可编程逻辑器件,它包含一个固定连接的与门阵列(即全译码的地址译码器)和一个可编程的或门阵列。PROM的PLD表示法10.3可编程逻辑器件10.3.1PAL的基本结构PAL的基本结构
实际应用中的PAL芯片乘积项可有八个,变量数可达十六个,如型号为PAL16L8可编程阵列逻辑器件。
组合逻辑宜采用这种结构。图中的输出部分采用或非门,因而也称这种结构为输出低电平有效。若输出采用或门,则称为高电平有效器件;若将输出部分的或非门改为互补输出的或门,则称为互补输出器件。10.3.2PAL的输出和反馈结构1.专用输出的基本门阵列结构专用输出结构2.可编程I/O结构
最上面一个与门所对应的乘积项用于选通三态缓冲器。如果编程时使此乘积项为“0”,即将该与门的所有输入项全部接通,则三态缓冲器保持高阻状态,这时对应的I/O引脚就可作为输入脚用,右边的互补输出反馈缓冲器作为输入缓冲器。相反,若编程时使该乘积项为“1”,则三态缓冲器常通,对应的I/O脚用作输出,同时该输出信号经过互补输出反馈缓冲器可反馈到输人端。一般情况下,三态输出缓冲器受乘积项控制,可以输出“0”,“1”或高阻状态。可编程I/0结构
在系统时钟(CLOCK)的上升沿,把或门输出存入D触发器,然后通过选通三态缓冲器把它送到输出端Q(低电平有效)。同时,D触发器的Q端经过输出反馈缓冲器反馈到与阵列,这样PAL器件就能够实现复杂的逻辑功能。3.寄存(时序)输出结构寄存输出结构
异或结构的PAL器件主要是在输出部分增加一个异或门,如下图所示,把乘积和分为两个和项,这两个和项相异或后,在时钟的上升沿存入D触发器内。异或型PAL具有寄存型PAL器件的一切特征,而且利用A+0=A和A+1=A很容易实现有条件的保持操作和取反操作。这种操作为计数器和状态机设计提供了简易的实现方法。4.异或结构异或PAL
在异或结构的基础上增加了反馈选通电路,如下图所示,它可以对反馈项Q和输入项I进行二元逻辑操作,产生4个或门输出,进而获得16种可能的逻辑组合,如图10.3.7所示。这种结构的PAL对实现快速算术操作(如相加、相减、大于、小于等)很有用。5.算术选通反馈结构PAL的算术选通反馈结构
在组成PAL的与阵列、或阵列、输出单元和I/O端的4部分中,与阵列和或阵列是核心部分;输出单元的主要功能是决定输出极性、是否有寄存器作为存储单元、组织各种输出并决定反馈途径;I/O端结构决定是否一端可作为输入端、输出端或可控的I/O端。PAL产生算术逻辑功能
可编程通用阵列逻辑器件GAL是在PAL基础上发展起来的新一代逻辑器件,他继承了PAL的与—或阵列结构,又利用灵活的输出逻辑宏单元OLMC来增强输出功能。10.4通用阵列逻辑(GAL)10.4.1GAL的总体结构
可编程通用阵列逻辑器件GAL16V8内部逻辑结构及相应管脚分布①8个输入缓冲器(引脚2~9作为输入);②8个输出缓冲器(引脚12~19作为输出缓冲器的输出);③8个反馈/输入缓冲器(将输出反馈给与门阵列,或将输出端用作为输入端);④可编程与门阵列(由8×8个与门构成,形成64个乘积项,每个与门有32个输入,其中16个来自输入缓冲器,另16个来自反馈/输入缓冲器);⑤8个输出逻辑宏单元(OLMC12~19,或门阵列包含其中)。通用可编程阵列逻辑器件GAL16V8内部逻辑结构10.4.2GAL的输出宏单元(OLMC)GAL输出逻辑宏单元1.或门阵列
8输入或门阵列,其中一个输入受控制;2、异或门
异或门用于控制输出信号极性,XOR(n)=0输出低电平有效,XOR(n)=1输出高电平效,n为输出引脚号GAL输出逻辑宏单元3.正边沿触发的D触发器
锁存或门输出状态,使GAL
适用于时序逻辑电路;4.四个数据选择器(MUX):①乘积项数选器PTMUX:用于控制来自与阵列的第一乘积项。当控制字中时,第一乘积项作为或门8个输入中的一个输入项,反之,或门只有7个输入项。GAL输出逻辑宏单元②三态数据选择器TSMUX:用于选择三态输出缓冲器的控制信号。当AC0AC1(n)=00时,VCC为控制信号,缓冲器使能;AC0AC1(n)=01时,输出缓冲器禁止;AC0AC1(n)=11时,第一乘积项为三态缓冲器的控制信号;AC0AC1(n)=10时,OE作为三态缓冲器的使能信号。GAL输出逻辑宏单元③反馈数据选择器FMUX:用于决定反馈信号的来源。受AC0、AC1(n)和AC1(m)控制,m为相邻宏单元对应I/O引脚号。有四种信号来源:地电平、相邻OMUX输出、本级OMUX输出和本级D触发器输出的互补输出。GAL输出逻辑宏单元④输出数据选择器OMUX:用于决定输出信号是否锁存。FPGA的基本特点:(1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。(2)FPGA可做其它全定制或半定制ASIC电路的中试样片。(3)FPGA内部有丰富的触发器和I/O引脚。(4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。(5)FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展起来的。10.5FPGA
10.5.1FPGA的基本结构XC4000系列的FPGA采用CMOSSRAM编程技术,3个可编程模块和1个用于存放编程数据的静态存储器(SRAM)组成。这3个可编程模块是可编程输入/输出模块(Input/OutputBlock,IOB)、可配置逻辑模块(ConfigurableLogicBlock,CLB)、和互连资源(InterconnectResource,ICR)。多个CLB组成二维阵列,是实现设计者所需的各种逻辑功能的基本单元,是FPGA的核心。IOB位于器件的四周,提供内部逻辑阵列与外部引出线之间的可编程逻辑接口,通过编程可将I/O引脚设置成输入、输出和双向等不同功能。ICR位于器件内部的逻辑模块之间,经编程可实现CLB与CLB及CLB与IOB之间的互连。每个可编程逻辑模块的工作状态由SRAM中存储的数据设定。XC4000系列FPGA基本结构图10.5.2程序控制的数据选择器CLB是FPGA的重要组成部分,每个CLB由2个触发器、3个独立的4输入组合逻辑函数发生器、程序控制的数据选择器(符号如图10.5.2所示,只标出了数据输入端和数据输出端,省略了地址输入端)及其他控制电路组成,共有13个输入端和4个输出瑞,可与CLB周围的ICR相连,其基本组成结构如图10.5.3所示。每个CLB实现单一的逻辑功能,多个CLB以阵列的形式分布在器件的中部,由ICR相连,实现复杂的逻辑功能。10.5.2FPGA的模块功能1.CLB图10.5.3
XC4000系列FPGA的CLB结构图①组合逻辑函数发生器CLB中的组合逻辑函数发生器为查找表结构。查找表的工作原理类似于用ROM实现多种组合逻辑函数,其输入等效于ROM的地址码,存储的内容为相应的逻辑函数取值,通过查找地址表,可得到逻辑函数的输出。图10.5.3
XC4000系列FPGA的CLB结构图图10.5.3
XC4000系列FPGA的CLB结构图②边沿D触发器
CLB中有两个边沿D触发器;通过两个4选1数据选择器可分别选择DIN、F’、G’和H’之一作为D触发器的输入信号。两个D触发器公用时钟脉冲,通过两个2选1数据选择器选择上升沿或下降沿触发。时钟使能端EC可通过另外的2选1数据选择器选择来自CLB内部的控制信号EC或高电平。R/S控制电路控制触发器的异步置位信号S和R。例10.5.1
用XC4000系列器件实现一个4位同步二进制可逆计数器。解:设M为加法/减法控制信号。当M=0时,为4位同步二进制加法计数器,其状态转移方程为:当M=1时,为4位同步二进制减法计数器,其状态转移方程为:
因一个CLB中含有两个D触发器,并且可以实现两个独立的4变量或者5变量组合逻辑函数。因此,用两个CLB可以实现一个4位同步二进制可逆计数器,如图10.5.4所示。图10.5.4例题CLB的配置2.IOB图10.5.6XC4000系列FPGA的IOB结构图3.ICRICR由分布在CLB阵列之间的金属网络线和阵列交叉点上的可编程开关矩阵(ProgrammableSwitchMatrix,PSM)组成。它可将器件内部任意两点连接起来,并且能将FPGA中数目很大的CLB和IOB连接成复杂的系统。XC4000系列使用的是分层连线资源结构,根据应用的不同,ICR一般提供以下3种连接结构。①通用单/双长度线连接。该结构主要用于CLB之间的连接。在这种结构中,任意两点间的连接都要通过开关矩阵。它提供了相邻CLB之间的快速互连和复杂互连的灵活性。但传输信号每通过一个可编程开关矩阵,就增加一次时延。因此,FPGA内部时延与器件结构和逻辑布线等有关,它的信号传输时延不可预知。②长线连接。在通用单/双长度线的旁边还有3条从阵列的一头连接到另一头的线段,称为水平长线和垂直长线。这些长线不经过可编程开关矩阵,信号延迟时间短。长线连接主要用于长距离或关键信号的传输。③全局连接。在XC4000系列器件中,共有8条全局线,它们贯穿于整个器件,可到达每个CLB。全局连接主要用于传送一些公共信号,如全局时钟信号、公用控制信号等。
编程数据存放于FPGA片内的独立的静态存储器中,控制FPGA的工作状态。由于停电后,静态存储器中的数据不能保存,所以,每次接通电源后,必须重新将编程数据写入静态存储器,这个过程称为装载。编程数据通常存放在一个EPROM中,也可以存放在计算机的存储器中。整个装载过程在接通电源后自动开始,或由外加控制信号启动,在片内的时序电路控制下自动完成。10.5.3FPGA的数据装载
在系统可编程逻辑器件(In-SystemProgrammablePLD,通常简称为ISP-PLD)是Lattice公司于90年代初首先推出的一种新型可编程逻辑器件。这种器件的最大特点是编程时既不需要使用编程器,也不需要将它从所在系统的电路板上取下,可以在系统内进行编程。
Lattice公司成功地将原属于编程器的写入/擦除控制电路及高压脉冲发生电路集成于PLD芯片中,这样在编程时就不需要使用编程器了。而且,由于编程时只需外加5V电压,不必将PLD从系统中取出,从而实现了“在系统”编程。目前生产PLD产品的主要公司都已推出了各自的ISP-PLD产品。10.6在系统可编程逻辑器件isp-PLD10.6.1低密度在系统可编程逻辑器件
低密度ISP-PLD是在GAL电路的基础上加进了写入/擦除控制电路而形成的。IspGAL16Z8就属于这一类。在正常工作状态下,附加的控制逻辑和移位寄存器不工作,电路主要部分的逻辑功能与GAL16V8完全相同。ISPGAL16Z8有3种不同的工作方式,即正常、诊断和编程。工作方式由输入控制信号MODE和SDI指定。图10.6.1ispGAL16z8的电路结构框图
高密度ISP-PLD又称ispLSI,它的电路结构比低密度ISP-PLD要复杂得多,功能也更强。现以ispLSI1032为例介绍高密度ISP-PLD的电路结构和工作原理。
ispLSI1032的电路结构,由32个通用逻辑模块(GenericLogicBlock,简称GLB),64个输入/输出单元(I/O
Cell,简称ICO)、可编程的内部连线区和编程控制电路组成。在全局布线区的四周,形成了4个结构相同的大模块。图中没有画出编程控制电路这部分。各部分之间的关系和实现的功能如图10.6.2所示。这种结构形式的器件也叫做CPLD(ComplexprogrammablelogicDevice),即复杂的可编程逻辑器件。10.6.2高密度在系统可编程逻辑器件图10.6.2
ispLSI1032的逻辑功能划分框图图10.6.3通用逻辑模块的电路结构图10.6.4GLB的其他几种组态模式
高速旁路模式中,为了减少传输延迟时间,越过了乘积项共享或阵列的输出与OLMC相接
异或逻辑模式中,乘积项共享或阵列的输出与OLMC之间又串进了异或门。
异或门的一个输入来自F0-F3,另一个是来自与逻辑阵列的乘积项。
单乘积项模式中,每个OLMC的输入取自与逻辑阵列一个单乘积项的输出。这种结构模式可以获得最快的信号传输速度。图10.6.5输入/输出单元(IOC)的电路结构
输入/输出单元(IOC)由三态输出缓冲器、输入缓冲器、输入寄存器/锁存器和几个可编程的数据选择器组成。触发器有两种工作方式:当R/L为高电平时,它被设置成边沿触发器;而当R/L为低电平时,它被设置成锁存器。MUX1用于控制三态输出缓冲器的工作状态,MUX2用于选择输出信号的传送通道,MUX3用来选择输出极性。图10.6.6IOC的各种组态MUX4用于输入方式的选择:在异步方式下,输入信号直接经输入缓冲器送到全局布线区的输入端;在同步输入方式下,输入信号加到触发器的输入端,必须等时钟信号IOCLK到达后才能被存入触发器,并经过输入缓冲器加到全局布线区。MUX5和MUX6用于时钟信号的来源和极性的选择。根据这些数据选择器编程状态的组合,得到各种可能的IOC组态如下图所示。图10.6.7ispLSI器件的编程接口ispLSI的编程是在计算机控制下进行的。计算机根据用户编写的源程序运行开发系统软件,产生相应的编程数据和编程命令,通过五线编程接口与ispLSI连接,如右图所示。其中是编程使能信号,=1时ispLSI器件为正常工作状态;=0时所有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据公开如何促进企业创新中的资源配置优化
- 2026届湖南邵阳达标名校中考考前最后一卷语文试卷含解析
- 维修改造工程对燃气供应安全影响分析评估报告
- 现代农业示范区建设项目商业计划书
- 我国托育服务供需失衡的成因与破解路径
- 2025版城市污水处理厂安装与升级工程协议
- 2025版铝合金型材再生利用合作合同模板
- 二零二五年度智能交通系统股权收购与智慧城市建设合同范本
- 二零二五年电动机产品设计与制造合作协议
- 张家口市万全区招聘幼儿教师考试真题2024
- 全文解读《坚定理想信念补足精神之钙》求是
- 白术栽培技术课件
- 苏科版九年级(初三)数学上册全套课件
- 当归栽培技术课件
- 电力电缆基础知识专题培训课件
- IBM销售方法论总结-精选文档
- 布草洗涤合同模板协议
- 《经济法》课程思政教学案例(一等奖)
- Drager呼吸机的使用ppt课件(PPT 48页)
- 蕨类植物简介(课堂PPT)
- 输电线路的结构及各部件分类
评论
0/150
提交评论