复杂可编程逻辑器件精.ppt
复杂可编程逻辑器件第1页,本讲稿共33页器件名称集成规模/门I/O端数宏单元数触发器数编程EPM956012 000216560772EEPROMEPM5032600243232EPROMEPF10K1010 000134-(1)720SRAMEPX81603 200172160160快闪SRAMAT51005 1005252128EPROMATV750750101020EPROMpLSI332014 000160320480EEPROMpLSI20321 000323232EEPROMM5-51220 000256512512EEPROMXC402525 000192-(2)2 560SRAMXC7354-(3)5454108EPROM表8-3-1 部分CPLD产品(1)有576个逻辑单元;(2)有1 024个可编程逻辑模块;(3)等效6个PAL22V108.3.1概述CPLD大致可以分为两类,一类是由GAL器件发展而来,其主体是与阵列和宏单元结构,称为CPLD的基本结构;另一类是分区阵列结构的CPLD。第2页,本讲稿共33页8.3.2CPLD的基本结构逻辑图共享相邻乘积项和结构每个逻辑单元中含有两个或项输出,而每个或项均由固定的几个乘积项输入。每个或项输出均可连接到相邻的连接单元,甚至本单元中的两个或项都可用于相邻的两个逻辑单元。“隐埋隐埋”触发器结构触发器结构在在CPLD基基本本结结构构的的宏宏单单元元内内含含有有两两个个或或两两个个以以上上的的触触发发器器,其其中中只只有有一一个个触触发发器器可可与与I/O引引出出端端相相连连,其其余余均均为为“隐隐埋埋”触触发发器器。它它们们不不与与I/O引引出出端端相相连连,但但有有自自己己的的内内部部输输入入信信号号,其其输输出出可可以以通通过过相相应应的的缓缓冲冲电路反馈到电路反馈到与与阵列,构成较复杂的时序电路。阵列,构成较复杂的时序电路。第3页,本讲稿共33页111C11Q1JRI/O输出选择反馈选择极性选择结构选择输出使能时钟反馈到逻辑阵列来来自自逻逻辑辑阵阵列列同步时钟VCC图8-3-2 触发器类型可编程结构触发器类型可编程结构通过对输出触发器编程,可实现4种不同类型的触发器结构,即D、T、J-K和R-S触发器。它们与逻辑宏单元相配置,可实现多种逻辑电路结构。第4页,本讲稿共33页小规模PLD互联资源(a)(b)(c)图8-3-3 CPLD三种全局互联结构示意8.3.3CPLD的分区阵列结构分区阵列结构,即将整个器件分为若干个区。有的区包含若干个I/O端、输入端及规模较小的与、或阵列和宏单元,相当于一个小规模的PLD;有的区只是完成某些特定的逻辑功能。各区之间可通过几种结构的可编程全局互连总线连接。第5页,本讲稿共33页UIMFFB输出FBI/O模块FBFFBFBFB输出I/O模块快速输入图8-3-4 通用互连阵列UIM结构通用互连阵列UIM(Universal Interconnect Matrix)结构UIM结构中含有快速功能模块FFB和高集成度功能模块FB。两种模块以及I/O模块通过通用互连矩阵连接。FFB和和 FB都都 采采 用用 GAL型型结结构构。FFB适适用用于于快快速速编编(解解)码码和和高高速速时时序序逻逻辑辑电电路路;FB适适用用于于逻逻辑辑功功能能复复杂杂且且对对时时序序要要求求不不高高的的场场合合及复杂的组合逻辑电路。及复杂的组合逻辑电路。采采用用通通用用互互连连矩矩阵阵UIM进进行行器器件件内内部部逻逻辑辑连连接接,可可保保证证所所有有连接路径延迟时间相同。连接路径延迟时间相同。第6页,本讲稿共33页MAX结构由逻辑阵列块LAB(Logic Array Block)、I/O模块和可编程互连阵列PIA(Programmable Interconnect Array)构成。逻辑图多阵列矩阵MAX(Multiple Array Matrix)结构MAX结结构构中中,每每个个宏宏单单元元有有一一个个可可编编程程的的与与阵阵列列和和一一个个固固定定的的或或阵阵列列,以以及及一一个个具具有有独独立立可可编编程程时时钟钟、时时钟钟使使能能、清清除除和和置置位位功功能能的的可可配置触发器配置触发器。每每16个个宏宏单单元元组组成成一一组组,构构成成一一个个灵灵活活的的逻逻辑辑阵阵列列模模块块LAB。多多个个LAB通通过过可可编编程程互互连连阵阵列列PIA和和全全局局总总线线相相连连。每每个个LAB还还与与相相应应的的I/O控制模块相连,以提供直接的输入和输出通道。控制模块相连,以提供直接的输入和输出通道。第7页,本讲稿共33页灵活逻辑单元阵列FLEX(Flexible Logic Element Matrix)结构逻辑图FLEX结构由嵌入阵列块EAB、逻辑阵列模块LAB、逻辑单元LE、I/O单元IOE和行列快速互连通道构成。LE是是FLEX结结构构中中最最小小的的逻逻辑辑单单元元,每每个个LE含含有有一一个个提提供供4输输入入组组合合逻逻辑辑函函数数的的查查找找表表LUT以以及及一一个个能能提提供供时时序序逻逻辑辑能能力力的的可可编程寄存器。编程寄存器。每每8个个LE组组成成一一组组,构构成成一一个个LAB。每每个个LAB是是独独立立的的一一个个模模块,其中的块,其中的LE具有共同的输入、互连与控制信号。具有共同的输入、互连与控制信号。EAB由由RAM/ROM和和相相关关的的输输入入、输输出出寄寄存存器器构构成成。可可提提供供多多位位片片内内存存储储器器。LAB和和EAB排排成成行行与与列列,构构成成二二维维逻逻辑辑阵阵列列,内内部部信信号号的的互互连连是是通通过过行、列快速互连通道和行、列快速互连通道和LAB局部互连通道实现的。局部互连通道实现的。第8页,本讲稿共33页其他结构形式(1)大块结构逻辑图全全局局布布线线区区GRP可可将将所所有有器器件件内内的的逻逻辑辑连连接接起起来来,并并提提供供固固定定的的传输延迟时间,以实现时序与器件内部逻辑布线无关的设计。传输延迟时间,以实现时序与器件内部逻辑布线无关的设计。通通用用逻逻辑辑块块GLB由由与与阵阵列列、乘乘积积项项共共享享阵阵列列和和逻逻辑辑宏宏单单元元构构成成。每每个个GLB相相当当于于一一个个GAL器器件件,可可编编程程为为5种种工工作作模模式式,并并具具有有乘乘积积项共享功能。项共享功能。输入输入/输出单元输出单元IOC可编程为输入、输出和双向模式。可编程为输入、输出和双向模式。输输出出布布线线区区ORP是是介介于于GLB和和IOC之之间间的的可可编编程程互互连连阵阵列列,以以连连接接GLB输出到输出到I/O单元。单元。第9页,本讲稿共33页时时钟钟发发生生器器I/0单元输出开关矩阵输输入入开开关关矩矩阵阵宏单元逻辑分配器与阵列时时钟钟发发生生器器I/0单元输出开关矩阵输输入入开开关关矩矩阵阵宏单元逻辑分配器与阵列时时钟钟发发生生器器I/0单元输出开关矩阵输输入入开开关关矩矩阵阵宏单元逻辑分配器与阵列时时钟钟发发生生器器I/0单元输出开关矩阵输输入入开开关关矩矩阵阵宏单元逻辑分配器与阵列.中 央 开 关 矩 阵时钟GAL块GAL块图8-3-8 中央开关矩阵结构(2)中央开关矩阵结构中央开关矩阵结构由多个GAL块和一个中央可编程开关矩阵互连而成。接收所有来自专用输入和输入到中央开关矩阵的信号,并将它们送到各GAL块。第10页,本讲稿共33页图8-3-9 XC7354的基本结构UIMFFB1输出9129FB6219I/O模块318FB52193FFB2输出9129FB3219I/O模块318FB42193快速输入12128.3.4典型器件及应用举例(一)XC7354器件基本结构XC7354属于通用互连阵列UIM结构型器件。由4个高集成度功能模块FB和2个快速功能模块FFB构成,模块之间通过通用互连矩阵UIM连接。第11页,本讲稿共33页1295&1&12C11DQ2快速时钟全局高速输出使能前面宏单元的乘积和与阵列乘积项控制后面宏单元的乘积和每个宏单元5个独享乘积项寄存器透明控制9个宏单元之一反馈到UIM从引出端反馈到UIM9个来自FFB宏单元的反馈24个来自UIM的输入12个快速输入图8-3-10 XC7354快速功能模块FFB原理图S/R(1)快速功能模块(FFB)24个输入,每个输入可从三种输入信号中选择。共共45个乘积项,每个乘积项,每5个驱动个驱动1个宏单元,其中个宏单元,其中4个经个经或非或非运算作为触发器输入,第运算作为触发器输入,第5个作为个作为S/R信号。信号。第12页,本讲稿共33页11&1&1C1QC11D/1TQ1D/1T宏单元N+1S/R宏单元N快速时钟来自前面宏单元单个乘积项输出可提供836个乘积项和输出图8-3-11 快速功能模块乘积项的扩展每个宏单元的乘积项或门可以利用快速功能模块的乘积项分配电路被扩展,提供乘积项分配的灵活性。将乘积项的和分配到相邻宏单元,相当于使乘积项的或门扩展了4个输入,因此最多可实现36个乘积项的复杂逻辑电路。第13页,本讲稿共33页(2)高集成度功能模块(FB)逻辑图FB采用采用GAL型结构,带有型结构,带有可编程乘积项阵列可编程乘积项阵列和和可编程多个宏单元可编程多个宏单元。各各FB通通过过UIM连连接接,每每个个FB可可以以从从UIM接接收收21个个信信号号,还还可可以以从从快快速速外输入引出端得到外输入引出端得到3个信号。个信号。每每个个FB包包含含9个个宏宏单单元元,每每个个宏宏单单元元包包括括5个个独独享享乘乘积积项项。每每个个模模块块中中还还有有12个共享乘积项,可以被模块中的任意个共享乘积项,可以被模块中的任意1个或个或9个宏单元使用。个宏单元使用。算算术术逻逻辑辑单单元元ALU的的输输出出驱驱动动一一个个可可编编程程D触触发发器器,其其时时钟钟源源是是可可编程的。编程的。宏宏单单元元的的输输出出除除驱驱动动器器件件的的输输出出缓缓冲冲器器外外,还还可可反反馈馈作作为为UIM的的输入。输入。第14页,本讲稿共33页图8-3-13 ALU原理图=11函数发生器&D1D2&进位链控制进位输入去宏单元触发器进位输出乘积项和D1乘积项和D2或非或非或非或非或或或或与非与非与非与非与与与与反输入反输入反输入反输入反输入反输入反输入反输入原输入原输入原输入原输入原输入原输入原输入原输入或非或非或非或非或或或或与非与非与非与非与与与与异或非异或非异或非异或非异或异或异或异或逻辑逻辑逻辑逻辑功能功能功能功能逻辑逻辑逻辑逻辑功能功能功能功能表8-3-2 2输入函数发生器逻辑功能ALU有两种编程模式,即逻辑编程模式和算术编程模式。在逻辑编程模式中,ALU是一个2输入函数发生器,产生任何2输入的逻辑函数;在算术编程模式中,ALU可被编程为一个具有超前进位的全加器,产生2输入的算术和或算术差。超前进位可以在相邻宏单元传递,甚至可以跨越FB传递。第15页,本讲稿共33页(3)通用互连矩阵(UIM)UIM从每个宏单元的输出端、I/O引出端和专用输入引出端上输入信号,通过无限制的交叉开关对FB产生21个输出,对FFB产生24个输出。各UIM输入可通过编程连接到任何UIM的输出,信号通过UIM的延迟是固定的,与UIM内部的布线、扇入和扇出无关。(4)I/O模块模块逻辑图逻辑图宏宏单单元元直直接接通通过过三三态态输输出出缓缓冲冲器器驱驱动动输输出出,每每个个三三态态缓缓冲冲器器由由OE乘乘积积项项单单独独控控制制。两两个个专专用用快快速速使使能能信信号号可可用用来来代代替替OE乘乘积积项项或或同同OE乘乘积积项一起控制输出。项一起控制输出。每个器件信号输入可以被设置为直通模式、锁存模式和寄存模式。每个器件信号输入可以被设置为直通模式、锁存模式和寄存模式。第16页,本讲稿共33页应用举例例8-4用XC7354器件实现一个4位超前进位加法器。图8-3-15 4位超前进位加法器的ALU配置D1D2CinCoutFA0B0D1D2CinCoutFA1B1D1D2CinCoutFA2B2D1D2CinCoutFA3B3宏单元1寄存器S0宏单元2寄存器S1宏单元3寄存器S2宏单元4寄存器S3宏单元5寄存器Sout4位超前进位加法器A0B0A1B1A2B2A3B3CinS0S1S2S3Cout解解使使用用XC7354中中一一个个FB中中相相邻邻的的5个个宏宏单单元元,即即可可实实现现4位位超前进位加法器。超前进位加法器。第17页,本讲稿共33页(二)EPF10K20器件基本结构EPF10K20器件采用SRAM制造工艺和灵活逻辑单元阵列FLEX结构,主要由嵌入阵列块(EAB)、逻辑阵列块(LAB)、逻辑单元(LE)、I/O单元(IOE)和行、列快速互连通道构成。EPF10K20带有6个EAB、144个LAB和1152个逻辑单元,最大I/O数目为189,嵌入阵列块EAB可提供12288位存储器。EPF10K20还包含6个专用输入引出端,可用于高速全局控制信号。(1)逻辑单元(逻辑单元(LE)逻逻辑辑单单元元LE(Logic Element)是是EPF10K20结结构构中中最最小小的的逻逻辑单位。辑单位。第18页,本讲稿共33页查找表LUT进位链级联链置位/复位逻辑1DATA1DATA2DATA3DATA4进位输入级联输入可编程触发器PRn1DC1ENACLRnQ到快速互联通道到LAB局部互联通道时钟选择进位输出级联输出LABCTRL1LABCTRL2全局复位LABCTRL3LABCTRL4图8-3-16 EPF10K20逻辑单元每个LE含有一个4输入查找表LUT,能快速产生4变量的任意逻辑函数输出。LE还包括一个带同步使能的可编程触发器和一个进位链、一个级联链。LE产生两个输出,可独立进行控制。第19页,本讲稿共33页14输入LUT图8-3-17 EPF10K20逻辑单元正常工作模式&1DC1ENAQ到快速互联通道到局部互联通道级联输入进位输入DATA1DATA2DATA3DATA4级联输出进位链和级联链可连接邻近的LE而不占用局部互连通道。进位链适用于实现高速计数器和加法器,级联链可实现最小时延的多输出逻辑函数。EPF10K20逻逻辑辑单单元元有有4种种工工作作模模式式,即即正正常常模模式式、运运算算模模式式、加加/减减计数模式计数模式和和可清除的计数模式可清除的计数模式,每种模式对,每种模式对LE资源的使用不同。资源的使用不同。第20页,本讲稿共33页0 00 00 00 00 01 14 40 00 01 11 11 10 03 31 11 10 00 01 10 02 20 01 10 01 10 00 01 11 10 00 00 00 00 00 0CPCP表8-3-3 五进制计数器状态转移表例8-5用查找表LUT结构实现一个五进制计数器。解解用用当当前前状状态态作作为为地地址址码码,输输出出寄寄存存器器作作为为地地址址寄寄存存器器,采采用查找表用查找表LUT实现五进制计数器结构如下:实现五进制计数器结构如下:输出寄存器LUT1 LUT2 LUT3000001010011100D1D2D3地址码001010011100000地址码表图8-3-18 LUT实现五进制计数器结构图第21页,本讲稿共33页4LE14LE24LE34LE44LE54LE64LE74LE882446222248164816LAB局部互连LAB控制信号进位输出级联输出列互连列到行互连直接输入和全局信号行互连图8-3-19 EPF10K20逻辑阵列块LAB(2)逻辑阵列块(LAB)一个LAB包括8个LE、与相邻LAB相连的进位链和级联链、LAB控制信号以及LAB局部互连通道。进位输入级联输入第22页,本讲稿共33页(3)嵌入阵列块(EAB)逻辑图逻辑图EAB是由输入和输出端带有寄存器的片内RAM/ROM构成。EAB相当于一个大规模的查找表,可编程快速实现多位数字乘法器、数字滤波器和微控制器等复杂逻辑功能,比一般外存储器具有更大的灵活性。每个EAB的输入与行互连通道相连,EAB输出驱动行互连通道或列互连通道,未使用的行互连通道可由列互连通道驱动。应用举例应用举例例例8-6采用采用EPF10K20器件的进位链结构,实现器件的进位链结构,实现n位超前进位加法器。位超前进位加法器。第23页,本讲稿共33页LUT进位链A1B1寄存器S1LUT进位链A2B2寄存器S2LE1LE2进位输入LUT进位链AnBn寄存器SnLUT进位链寄存器进位输出LEnLEn+1图8-3-21 EPF10K20进位链逻辑关系示例解采用n+1个LE实现n位全加器的进位链逻辑关系。n个LUT产生两个输入信号Ai、Bi和进位信号的和,并将和送到LE的输出端;同时进位链产生一个进位信号,直接送到高1位的进位输入端。最后的进位信号接到一个LE,产生一个n位加法器的进位输出信号。第24页,本讲稿共33页2568 RAM2568 RAM25616 RAM5124 RAM5124 RAM5128 RAM(a)(b)图8-3-22 EAB存储器组合配置示例例例8-7用用EPF10K20器器件件的的EAB存存储储器器配配置置一一个个25616和和5128的的RAM。解解EPF10K20器器件件中中每每个个EAB片片内内存存储储器器有有2048位位,共共有有6个个EAB,最最大大可可提提供供20486=12288位位RAM。每每个个EAB可可配配置置成成4种基本结构,即种基本结构,即2568、5124、10242或或20481。第25页,本讲稿共33页CPLD的主要性能特点:(1)可进行多次编程、改写和擦除。可进行多次编程、改写和擦除。(2)具有高密度、高速度、高可靠性和低功耗的特点。具有高密度、高速度、高可靠性和低功耗的特点。(3)I/O端数和内含触发器可多达数百个,集成度高。端数和内含触发器可多达数百个,集成度高。(4)有灵活多样的逻辑结构,可满足各种数字电路系统设计的需要。有灵活多样的逻辑结构,可满足各种数字电路系统设计的需要。(5)内内部部时时间间延延迟迟与与器器件件结结构构和和逻逻辑辑连连接接无无关关,各各模模块块之之间间提提供供了了固固定定延延时时的的快快速速互互连连通通道道,可可预预测测时时间间延延迟迟,易易于于消消除除竞竞争争冒险现象。冒险现象。(6)对对于于采采用用SRAM工工艺艺的的CPLD,需需要要进进行行数数据据配配置置才才可可以以完完成设计要求的功能,断电后,配置数据自动消失。成设计要求的功能,断电后,配置数据自动消失。(7)有多位加密位,可杜绝编程数据的非法抄袭。有多位加密位,可杜绝编程数据的非法抄袭。第26页,本讲稿共33页&1从其他输入及反馈端来图8-3-1 共享相邻乘积项和的结构&1宏单元n-1&1&1&1&至n-1宏单元1至n+1宏单元选通开关1宏单元n宏单元n+1返回第27页,本讲稿共33页PIALABBI/O控制块I/O引出端.LABDI/O控制块I/O引出端.LABAI/O控制块I/O引出端.LABCI/O控制块I/O引出端.输入/全局时钟输入/使能/全局时钟输入/使能输入/全局复位图8-3-5 多阵列矩阵MAX结构返回第28页,本讲稿共33页EABEABIOEIOEIOEIOEIOEIOEIOEIOEIOEIOEIOEIOE.IOEIOE.IOEIOEIOEIOEIOEIOEIOEIOEIOEIOEIOEIOE.IOEIOE.逻辑阵列逻辑阵列块LAB逻辑单元局部互连通道LE嵌入阵列嵌入阵列块逻辑阵列行互连通道列互连通道I/O单元图8-3-6 灵活逻辑单元阵列FLEX结构返回第29页,本讲稿共33页输出布线区ORP全局布线区GRPCDN大块 C大块 B大块 A大块D输入/输出单元IOC通用逻辑块GLB输入总线I/O引出端CDN时钟分配网络图8-3-7 大块结构CKL0CKL1CKL2IOCKL0IOCKL1返回第30页,本讲稿共33页&841&11CinD1D2CoutFR1DSC1MUXQ1=1=&=&12个共享乘积项5个独享乘积项5到其他8个宏单元从前面MC移入向后面MC移出逻辑反馈CLOCKOESETRESET前面宏单元的算术进位快速时钟019个宏单元中的一个全局块OEI/O模块OE控制Pin引出端反馈使能控制输 入 引出 端 寄存/锁存反馈极性去后面宏单元的算术进位反馈到UIM输入到UIM*当不使用乘积项时,OE被强制为高电平ALU时钟选择寄存器透明控制.21个来自UIM的输入3个来自快速外输入引出端与阵列图8-3-12 高集成度功能模块FB原理图返回第31页,本讲稿共33页&=1C11DQC11DQC11DQEN=1到FB与阵列来自FB宏单元寄存器去UIM来自宏单元OE乘积项输出选择输出极性三态输出缓冲器FOE0FOE1快速使能CKEN0CKEN1时钟使能时钟使能FCLK0FCLK1快速时钟FCLK2时钟选择输入选择输入极性图8-3-14 I/O模块原理图返回第32页,本讲稿共33页图8-3-20 EPF10K20嵌入阵列块EAB1DC1RQ1DC1RQ1DC1RQ8,9,10,118,4,2,1622数据进数据出地址RAM/ROM2568512410242 20481写控制1DC1RQ242,4,8,162,4,8,16EAB局部互连列互连全局清0行互连直接输入全局信号返回第33页,本讲稿共33页