复杂可编程逻辑器.ppt
EDA技术与数字系统设计,1,第2章 复杂可编程逻辑器件,2.1 CPLD概述 2.2 Lattice公司的CPLD 2.3 Altera公司的CPLD,EDA技术与数字系统设计,2,第2章 复杂可编程逻辑器件,2.1 CPLD概述,复杂可编程逻辑器件(CPLD)是在EPLD的基础上改进而发展起来的,它采用EEPROM工艺,具有高密度、高速度和低功耗等优点。与EPLD相比,CPLD增加了内部连线,并对逻辑宏单元和I/O单元做了重大改进,从而改善了系统的性能,提高了器件的集成度。尤其是在CPLD中引入在系统编程(ISP)技术后,使CPLD的应用更加方便灵活,深受设计人员的青睐,现已成为电子系统设计的首选器件之一。,EDA技术与数字系统设计,3,第2章 复杂可编程逻辑器件,2.1 CPLD概述,目前,生产CPLD器件的著名公司主要有美国的Altera、AMD、Lattice、Cypress和Xilinx等公司。CPLD的产品多种多样,器件的结构也有很大的差异,但大多数公司的CPLD仍使用基于乘积项的阵列型单元结构。例如,Altera公司的MAX系列CPLD产品、Xilinx公司和Lattice公司的CPLD产品都采用可编程乘积项阵列结构。,EDA技术与数字系统设计,4,第2章 复杂可编程逻辑器件,2.1 CPLD概述,基于乘积项阵列型CPLD的组成:可编程内部连线 逻辑块 I/O单元,EDA技术与数字系统设计,5,第2章 复杂可编程逻辑器件,可编程内部连线,为各逻辑块之间,以及逻辑块和I/O单元之间提供互连网络,实现信号连线。,包括实现乘积项的与阵列、乘积项分配和逻辑宏单元等,用于实现各种逻辑功能。,用于实现信号从器件输出,以及为输入信号提供输入通道。通常具有输入、输出和双向I/O模式。,逻辑块,I/O单元,EDA技术与数字系统设计,6,第2章 复杂可编程逻辑器件,2.2 Lattice公司的CPLD,Lattice公司是世界上最早生产PLD器件和首先推出ISP技术的公司。该公司将ISP技术与E2CMOS相结合,生产了多种高性能的CPLD产品,主要有ispLSI和ispMACH两大系列。该公司除了生产CPLD和FPGA器件外,还开发了在系统可编程模拟器件(ispPAC),是世界上第三大可编程器件的供应商。,EDA技术与数字系统设计,7,第2章 复杂可编程逻辑器件,ispLSI系列的CPLD是一种在系统可编程逻辑器件(ISPLD),它采用E2CMOS工艺,具有集成度高、功耗低、擦除和编程时间短等特点,并且在系统编程次数可在10 000次以上。在系统可编程(ISP)是指编程器件可直接安装在用户自己设计的系统电路板上,通过计算机的并行接口和专用的编程电缆,对器件进行直接编程,并且可以反复编程,从而使器件具有用户所需要的逻辑功能。,2.2.1 ispLSI器件简介,EDA技术与数字系统设计,8,第2章 复杂可编程逻辑器件,ispLSI器件分为六个系列,分别为:ispLSI1000系列 ispLSI2000系列 ispLSI3000系列 ispLSI5000系列 ispLSI6000系列 ispLSI8000系列,2.2.1 ispLSI器件简介,为通用系列,内部约有20008000个PLD等效门,适用于高速编码、总线管理、LAN或DMA控制等。,为高速系列,内部约有10006000个PLD等效门,有较多I/O端口,适用于高速计数、定时及高速RISC/CISC微处理器的接口。,为高性能、高密度器件,其集成度达8 00014 000个PLD等效门,可容纳规模较大的逻辑系统,适用于数字信号处理、图形处理、数据加密、解密和压缩等。,为超宽输入高密度器件,其基本结构与ispLSI3000系列类似。,密度更高、结构更加复杂,集成密度可达25000个PLD等效门,内部提供了存储器、寄存器和计数器等子模块,可容纳大规模的逻辑系统,适用的范围更加广泛。,为超高密度系列,是最新推出的多寄存器超大结构器件,其规模为25 00043 750个PLD等效门。,EDA技术与数字系统设计,9,第2章 复杂可编程逻辑器件,ispLSI系列CPLD的特点如下:采用乘积项阵列结构;采用先进的ISP技术,能重复编程擦写上万次;具有加密功能。,2.2.1 ispLSI器件简介,EDA技术与数字系统设计,10,第2章 复杂可编程逻辑器件,ispLSI器件的结构,1.ispLSI1016的结构,EDA技术与数字系统设计,11,第2章 复杂可编程逻辑器件,1.ispLSI1016的结构,ispLSI1016是由2个宏块(Megablock)、1个全局布线区(GRP)、32个I/O单元、1个时钟分配网络,以及在系统编程控制逻辑等组成。,每个宏块中包括8个通用逻辑块(GLB)、1个输出布线区(ORP)、1个16位输入总线和18个引脚,其中16个为I/O引脚,2个为专用输入引脚。时钟信号(Y0Y2)经时钟分配网络分配后,产生5个时钟信号,作为GLB的全局时钟和I/O单元的时钟。,、SDI、SDO、MODE和SCLK。,编程引脚共有5个,分别为,EDA技术与数字系统设计,12,第2章 复杂可编程逻辑器件,2.通用逻辑块(GLB)的结构,通用逻辑块(GLB,Generic Logic Block)是整个器件的逻辑核心。组成:,与阵列乘积项共享阵列PTSA输出逻辑宏单元OLMC控制电路,EDA技术与数字系统设计,13,第2章 复杂可编程逻辑器件,与阵列,乘积项共享阵列,输出逻辑宏单元,控制电路,0 1 2 3 4 5 6 7 8 9,来自全局布线区的输入,专用输入,012345678910111213141516171819,Q3Q2Q1Q0,至全局布线区或输出布线区,乘积项复位,全局复位,CLK0CLK1CLK2,乘积项时钟,乘积项输出使能,控制功能,至输出使能多路选择器,EDA技术与数字系统设计,14,第2章 复杂可编程逻辑器件,2.通用逻辑块(GLB)的结构,PTSA可构成几种不同配置模式:,标准配置 高速旁路配置 异或配置 单乘积项配置 多重混合配置,EDA技术与数字系统设计,15,第2章 复杂可编程逻辑器件,(1)标准配置,PTSA的4个或门输入按4、4、5、7配置,而PTSA的4个输出,通过编程可以共享4个或门输出的1个或多个,以满足各种逻辑功能的需要。,EDA技术与数字系统设计,16,第2章 复杂可编程逻辑器件,(2)高速旁路配置,PTSA的4个或门均按4输入配置,而或门的输出直接与逻辑宏单元的输入连接。此时的乘积项12、17、18、19不与或门连接。,EDA技术与数字系统设计,17,第2章 复杂可编程逻辑器件,(3)异或配置,4个或门输入按3、3、4、6配置,其输出通过共享阵列产生4个输出,分别接到OLMC中异或门的1个输入端,而乘积项0、4、8、13不再作为各或门第一乘积项的输入,而是直接输出到各自的OLMC中,作为异或门的另一个输入,形成异或配置。,EDA技术与数字系统设计,18,第2章 复杂可编程逻辑器件,(4)单乘积项配置,乘积项0、4、8、13分别跨越各自的或门和PTSA,通过异或门直接连接输出逻辑宏单元,异或门的另一输入端接地。采用这种模式可获得最快的信号传递速度。,EDA技术与数字系统设计,19,第2章 复杂可编程逻辑器件,(5)多重混合配置,在同一个GLB中,4个输出既可以采用相同的配置模式,也可以采用不相同的配置模式。若每个输出都独立地配置成上述4种模式之一,可形成多重混合配置。,3+4乘积项异或,4乘积项旁路,单乘积项,4+7乘积项共享,EDA技术与数字系统设计,20,第2章 复杂可编程逻辑器件,全局布线区(GRP,Global Routing Pool)位于芯片的中心,是ispLSI中的一种专用内部互连结构。作用:将GLB的输出信号或I/O单元的输入信号与GLB的输入端连接。特点:互连延时可预知。,3.全局布线区,EDA技术与数字系统设计,21,第2章 复杂可编程逻辑器件,I/O单元称为输入/输出单元。它是器件外部封装引脚与内部信号之间的接口电路。,4.I/O单元结构,F1输出允许选择器,F2输出选择器,F3输出极性选择器,F4输入选择器,F5时钟选择器,F6时钟极性选择器,F7输入寄存器,EDA技术与数字系统设计,22,第2章 复杂可编程逻辑器件,4.I/O单元结构,通过对可编程单元F1F7的8个编程点的编程,可使I/O单元配置为几种不同的组态:,输入组态,输出组态,双向I/O组态,EDA技术与数字系统设计,23,第2章 复杂可编程逻辑器件,5.宏块结构,在ispLSI1016器件中,有两个宏块,每个宏块包括8个通用逻辑块(GLB)、16位输入总线、1个输出布线区(ORP)、16个I/O单元、2个专用输入(IN0、IN1)和1个公用乘积项OE。,EDA技术与数字系统设计,24,第2章 复杂可编程逻辑器件,输出布线区(ORP):,输出布线区,EDA技术与数字系统设计,25,第2章 复杂可编程逻辑器件,OE控制:,EDA技术与数字系统设计,26,第2章 复杂可编程逻辑器件,6.时钟分配网络,作为GLB时钟,作为I/O单元的时钟,专用系统时钟输入,EDA技术与数字系统设计,27,第2章 复杂可编程逻辑器件,2.3 Altera公司的CPLD,Altera公司生产的PLD器件主要有:,CPLD,Classic系列 MAX系列 FLEX系列 ACEX系列 APEX系列 Mercury系列 Excalibur系列 Stratix系列 Cyclone系列,FPGA,EDA技术与数字系统设计,28,第2章 复杂可编程逻辑器件,MAX系列产品采用乘积项阵列结构,分为:,MAX9000系列 MAX7000系列 MAX5000系列 MAX3000A系列,MAX器件简介,EDA技术与数字系统设计,29,第2章 复杂可编程逻辑器件,MAX7000S采用第二代的MAX结构,组成:,逻辑阵列块LAB 可编程连线阵列PIA I/O控制块,MAX7000S器件的结构和原理,宏单元MC,扩展乘积项EPT,EDA技术与数字系统设计,30,第2章 复杂可编程逻辑器件,MAX7000S的结构:,PIA,EDA技术与数字系统设计,31,第2章 复杂可编程逻辑器件,1.逻辑阵列块,每个LAB由16个宏单元组成,并与各自对应的I/O控制块相连接,各LAB之间的连接通过可编程连线阵列和全局总线实现。,LAB包括以下输入信号:来自PIA的36个通用逻辑输入信号;用于辅助寄存器功能的全局控制信号;从I/O引脚到寄存器的直接输入信号。,EDA技术与数字系统设计,32,第2章 复杂可编程逻辑器件,2.宏单元MC,MC用来实现各种具体的逻辑功能,可以独立地配置成组合逻辑或时序逻辑。,组成:逻辑阵列 乘积项选择矩阵 扩展乘积项 可编程寄存器 多路选择器,EDA技术与数字系统设计,33,第2章 复杂可编程逻辑器件,宏单元结构:,EDA技术与数字系统设计,34,第2章 复杂可编程逻辑器件,(1)逻辑阵列和乘积项选择矩阵,用来实现宏单元的组合逻辑函数。,逻辑阵列:组成与阵列,为乘积项选择矩阵提供5个乘积项。乘积项选择矩阵:用来实现5个乘积项的逻辑函数,或将这5个乘积项作为可编程寄存器的控制信号,实现寄存器的复位、置位、时钟输入和时钟使能等功能。,EDA技术与数字系统设计,35,第2章 复杂可编程逻辑器件,(2)扩展乘积项EPT,EPT包括共享扩展项和并联扩展项两部分,用来补充宏单元的逻辑资源。,共享扩展项:每个LAB有16个共享扩展项,这些扩展项是由每个宏单元提供一个未使用的乘积项,并将它们反相后反馈到相应的逻辑阵列中,进行集中使用,实现逻辑资源共享。采用共享扩展后,每个扩展乘积项都可以被LAB中的任何一个宏单元或全部宏单元使用和共享,从而可以实现更为复杂的逻辑函数。,EDA技术与数字系统设计,36,第2章 复杂可编程逻辑器件,共享扩展项的结构:,EDA技术与数字系统设计,37,第2章 复杂可编程逻辑器件,(2)扩展乘积项EPT,EPT包括共享扩展项和并联扩展项两部分,用来补充宏单元的逻辑资源。,并联扩展项:是一些宏单元中未使用的乘积项,将这些乘积项直接分配到邻近的宏单元中,以实现逻辑资源共享,完成快速复杂的逻辑函数。并联扩展项允许多达20个乘积项直接馈送到宏单元的或逻辑,其中5个乘积项是由宏单元自身提供的,其余的15个为并联扩展项,由LAB中邻近的宏单元提供。,EDA技术与数字系统设计,38,第2章 复杂可编程逻辑器件,并联扩展项的结构:,EDA技术与数字系统设计,39,第2章 复杂可编程逻辑器件,(3)可编程寄存器,可编程寄存器由每个宏单元中的触发器组成。通过编程可完成时钟控制的D、JK、T或RS触发器。,时钟方式:采用全局时钟信号(GCLK1、GCLK2);采用全局时钟信号,由高电平有效的时钟使能信号进行控制;采用乘积项提供时钟信号。,EDA技术与数字系统设计,40,第2章 复杂可编程逻辑器件,(4)多路选择器,宏单元中的多路选择器包括:,复位信号选择器M1 时钟/使能信号选择器M2 快速输入选择器M3 旁路选择器M4,用来选择触发器的复位信号。用来实现触发器时钟方式的控制。用来选择触发器的数据输入信号。用来选择宏单元输出逻辑的方式。,EDA技术与数字系统设计,41,第2章 复杂可编程逻辑器件,3.可编程连线阵列PIA,PIA是一个可编程的布线通道,用来实现各LAB之间的连接。,EDA技术与数字系统设计,42,第2章 复杂可编程逻辑器件,4.I/O控制块,I/O控制块是器件外部封装引脚与内部信号之间的一个接口电路,由一个三态缓冲器和使能信号选择器组成。,当选择三态缓冲器的使能端接地时,I/O引脚作为专用输入引脚使用。,当选择电源VCC为使能信号时,I/O引脚为输出方式。,当选择全局输出使能信号时,I/O引脚为双向工作方式。,