780 likes | 995 Views
第 5 章 大规模可编程逻辑器件. 5.1 PLD 概述 5.2 复杂可编程逻辑器件( CPLD ) 5.3 现场可编程门阵( FPGA ). 5.1 可编程逻辑器件 (PLD) 概述.
E N D
第5章 大规模可编程逻辑器件 5.1PLD概述 5.2复杂可编程逻辑器件(CPLD) 5.3现场可编程门阵(FPGA)
5.1 可编程逻辑器件(PLD)概述 PROM是始于1970年出现第一块可编程逻辑器件PLD(Programmable Logic Device),随后可编程逻辑器件又陆续出现了PLA、PAL、GAL、EPLD及现阶段的CPLD和FPGA等。可编程逻辑器件的出现,不仅改变了传统的数字系统设计方法,而且促进了EDA技术的高速发展。EDA技术是以计算机为工具,代替人去完成数字系统设计中各种复杂的逻辑综合、布局布线和设计仿真等工作。设计者只需用硬件描述语言完成对系统功能的描述,就可以由计算机软件自行完成处理,得到设计结果。利用EDA工具进行设计,可以极大地提高设计的效率。
可编程逻辑器件(PLD) 高密度可编程逻辑 器件(HDPLD) 低密度可编程逻辑 器件(LDPLD) PROM PLA PAL GAL EPLD CPLD FPGA 5.1.1 可编程逻辑器件的分类 可编程逻辑器件的密度分类
1.按集成密度分类 可编程逻辑器件从集成密度上可分为低密度可编程逻辑器件LDPLD和高密度可编程逻辑器件HDPLD两类。 LDPLD 通常是指早期发展起来的、集成密度小于700门/片左右的PLD如ROM、PLA、PAL和GAL等。 HDPLD包括可擦除可编程逻辑器件EPLD(Erasable Programmable Logic Device)、复杂可编程逻辑器件CPLD(Complex PLD)和FPGA三种,其集成密度大于700门/片。如Altera公司的EPM9560,其密度为12000门/片,Lattice公司的pLSI/ispLSI3320为14000门/片等。目前集成度最高的HDPLD可达25万门/片以上。
2. 按编程方式分类 可编程逻辑器件的编程方式分为两类:一次性编程OTP(One Time Programmable)器件和可多次编程MTP(Many Time Programmable)器件。 OTP器件是属于一次性使用的器件,只允许用户对器件编程一次,编程后不能修改,其优点是可靠性与集成度高,抗干扰性强。 MTP器件是属于可多次重复使用的器件,允许用户对其进行多次编程、修改或设计,特别适合于系统样机的研制和初级设计者的使用。
根据各种可编程元件的结构及编程方式,可编程逻辑器件通常又可以分为四类:根据各种可编程元件的结构及编程方式,可编程逻辑器件通常又可以分为四类: ①采用一次性编程的熔丝(Fuse)或反熔丝(Antifuse)元件的可编程器件,如PROM、PAL和EPLD等。 ②采用紫外线擦除、电可编程元件,即采用EPROM、UVCMOS工艺结构的可多次编程器件。 ③采用电擦除、电可编程元件。其中一种是E2PROM,另一种是采用快闪存储器单元(Flash Memory)结构的可多次编程器件。 ④基于静态存储器SRAM结构的可多次编程器件。目前多数FPGA是基于SRAM结构的可编程器件。
5. 按结构特点分类 PLD按结构特点分为阵列型PLD和现场可编程门阵列型FPGA两大类。 阵列型PLD的基本结构由与阵列和或阵列组成。简单PLD(如PROM、PLA、PAL和GAL等)、EPLD和CPLD都属于阵列型PLD。 现场可编程门阵列型FPGA具有门阵列的结构形式,它有许多可编程单元(或称逻辑功能块)排成阵列组成,称为单元型PLD。
复杂可编程逻辑器件 5.2.1 CPLD概述 复杂可编程逻辑器件(CPLD )是在EPLD的基础上改进而发展起来的,它采用EEPROM工艺,具有高密度、高速度和低功耗等优点。 与EPLD相比,CPLD增加了内部连线,并对逻辑宏单元和I/O单元做了重大改进,从而改善了系统的性能,提高了器件的集成度。尤其是在CPLD中引入在系统编程(ISP)技术后,使CPLD的应用更加方便灵活,深受设计人员的青睐,现已成为电子系统设计的首选器件之一。
复杂可编程逻辑器件 5.2.1 CPLD概述 目前,生产CPLD器件的著名公司主要有美国的Altera、AMD、Lattice、Cypress和Xilinx等公司。 CPLD的产品多种多样,器件的结构也有很大的差异,但大多数公司的CPLD仍使用基于乘积项的阵列型单元结构。 例如,Altera公司的MAX系列CPLD产品、Xilinx公司和Lattice公司的CPLD产品都采用可编程乘积项阵列结构。
复杂可编程逻辑器件 5.2.1 CPLD概述 基于乘积项阵列型CPLD的组成: ●可编程内部连线 ●逻辑块 ●I/O单元
复杂可编程逻辑器件 ●可编程内部连线 为各逻辑块之间,以及逻辑块和I/O单元之间提供互连网络,实现信号连线。 ●逻辑块 包括实现乘积项的与阵列、乘积项分配和逻辑宏单元等,用于实现各种逻辑功能。 ●I/O单元 用于实现信号从器件输出,以及为输入信号提供输入通道。通常具有输入、输出和双向I/O模式。
复杂可编程逻辑器件 5.2.2 Lattice公司的CPLD Lattice公司是世界上最早生产PLD器件和首先推出ISP技术的公司。 该公司将ISP技术与E2CMOS相结合,生产了多种高性能的CPLD产品,主要有ispLSI和ispMACH两大系列。该公司除了生产CPLD和FPGA器件外,还开发了在系统可编程模拟器件(ispPAC),是世界上第三大可编程器件的供应商。
复杂可编程逻辑器件 5.2.2 ispLSI器件简介 ispLSI系列的CPLD是一种在系统可编程逻辑器件(ISPLD),它采用E2CMOS工艺,具有集成度高、功耗低、擦除和编程时间短等特点,并且在系统编程次数可在10 000次以上。 在系统可编程(ISP)是指编程器件可直接安装在用户自己设计的系统电路板上,通过计算机的并行接口和专用的编程电缆,对器件进行直接编程,并且可以反复编程,从而使器件具有用户所需要的逻辑功能。
复杂可编程逻辑器件 5.2.2 ispLSI器件简介 ispLSI器件分为六个系列,分别为: ●ispLSI1000系列 ●ispLSI2000系列 ●ispLSI3000系列 ●ispLSI5000系列 ●ispLSI6000系列 ●ispLSI8000系列 密度更高、结构更加复杂,集成密度可达25000个PLD等效门,内部提供了存储器、寄存器和计数器等子模块,可容纳大规模的逻辑系统,适用的范围更加广泛。 为通用系列,内部约有2000~8000个PLD等效门,适用于高速编码、总线管理、LAN或DMA控制等。 为高速系列,内部约有1000~6000个PLD等效门,有较多I/O端口,适用于高速计数、定时及高速RISC/CISC微处理器的接口。 为高性能、高密度器件,其集成度达8 000~14 000个PLD等效门,可容纳规模较大的逻辑系统,适用于数字信号处理、图形处理、数据加密、解密和压缩等。 为超高密度系列,是最新推出的多寄存器超大结构器件,其规模为25000~43750个PLD等效门。 为超宽输入高密度器件,其基本结构与ispLSI3000系列类似。
复杂可编程逻辑器件 5.2.2 ispLSI器件简介 ispLSI系列CPLD的特点如下: ①采用乘积项阵列结构; ②采用先进的ISP技术, 能重复编程擦写上万次; ③具有加密功能。
复杂可编程逻辑器件 5.2.3ispLSI器件的结构 1. ispLSI1016的结构
ispEN 复杂可编程逻辑器件 1. ispLSI1016的结构 ispLSI1016是由2个宏块(Megablock)、1个全局布线区(GRP)、32个I/O单元、1个时钟分配网络,以及在系统编程控制逻辑等组成。 每个宏块中包括8个通用逻辑块(GLB)、1个输出布线区(ORP)、1个16位输入总线和18个引脚,其中16个为I/O引脚,2个为专用输入引脚。 时钟信号(Y0~Y2)经时钟分配网络分配后,产生5个时钟信号, 作为GLB的全局时钟和I/O单元的时钟。 编程引脚共有5个,分别为 、SDI、SDO、MODE和SCLK。
复杂可编程逻辑器件 2. 通用逻辑块(GLB)的结构 通用逻辑块(GLB,Generic Logic Block)是整个器件的逻辑核心。 组成: 与阵列 乘积项共享阵列PTSA 输出逻辑宏单元OLMC 控制电路
复杂可编程逻辑器件 专用输入 来自全局布线区的输入 输出逻辑 宏单元 乘积项 共享阵列 1011121314151617 012 34 5 6 78 9 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 至 全 局 布 线 区 或 输 出 布 线 区 Q3 Q2 Q1 Q0 与阵列 控制电路 乘积项复位 全局复位 控制功能 CLK0 CLK1 CLK2 乘积项时钟 至输出使能 多路选择器 乘积项输出使能
复杂可编程逻辑器件 2. 通用逻辑块(GLB)的结构 PTSA可构成几种不同配置模式: ●标准配置 ● 高速旁路配置 ● 异或配置 ● 单乘积项配置 ● 多重混合配置
复杂可编程逻辑器件 (1)标准配置 PTSA的4个或门输入按4、4、5、7配置,而PTSA的4个输出,通过编程可以共享4个或门输出的1个或多个,以满足各种逻辑功能的需要。
复杂可编程逻辑器件 (2)高速旁路配置 PTSA的4个或门均按4输入配置,而或门的输出直接与逻辑宏单元的输入连接。此时的乘积项12、17、18、19不与或门连接。
3 3 4 6 复杂可编程逻辑器件 (3)异或配置 4个或门输入按3、3、4、6配置,其输出通过共享阵列产生4个输出,分别接到OLMC中异或门的1个输入端,而乘积项0、4、8、13不再作为各或门第一乘积项的输入,而是直接输出到各自的OLMC中,作为异或门的另一个输入,形成异或配置。
3 3 4 6 复杂可编程逻辑器件 (4)单乘积项配置 乘积项0、4、8、13分别跨越各自的或门和PTSA,通过异或门直接连接输出逻辑宏单元,异或门的另一输入端接地。 采用这种模式可获得最快的信号传递速度。
3 4 复杂可编程逻辑器件 (5)多重混合配置 在同一个GLB中,4个输出既可以采用相同的配置模式,也可以采用不相同的配置模式。 若每个输出都独立地配置成上述4种模式之一,可形成多重混合配置。 3+4乘积项 异或 4乘积项 旁路 单乘积项 4+7乘积项 共享
复杂可编程逻辑器件 5. 全局布线区 全局布线区(GRP,Global Routing Pool)位于芯片的中心,是ispLSI中的一种专用内部互连结构。 作用:将GLB的输出信号或I/O单元的输入信号与GLB的输入端连接。 特点:互连延时可预知。
复杂可编程逻辑器件 F1输出允许选择器 4.I/O单元结构 F3输出极性选择器 F2输出 选择器 I/O单元称为输入/输出单元。它是器件外部封装引脚与内部信号之间的接口电路。 F4输入 选择器 F5时钟 选择器 F6时钟极 性选择器 F7输入 寄存器
Pin Pin I/O Pin 缓冲输入 缓冲输出 DQ LE Pin 双向I/O端 Pin I/O单元时钟 反向缓冲输出 I/O Pin 锁存输入 D Q DQ Pin Pin I/O单元时钟 I/O单元时钟 三态缓冲输出 带有寄存器输入 的双向I/O端 寄存输入 复杂可编程逻辑器件 4.I/O单元结构 通过对可编程单元F1~F7的8个编程点的编程,可使I/O单元配置为几种不同的组态: 输入组态 输出组态 双向I/O组态
复杂可编程逻辑器件 5. 宏块结构 在ispLSI1016器件中,有两个宏块,每个宏块包括8个通用逻辑块(GLB)、16位输入总线、1个输出布线区(ORP)、16个I/O单元、2个专用输入(IN0、IN1)和1个公用乘积项OE。
复杂可编程逻辑器件 输出布线区(ORP): 输 出 布 线 区
复杂可编程逻辑器件 OE控制:
复杂可编程逻辑器件 6. 时钟分配网络 作为GLB时钟 作为I/O单元的时钟 专用系统时钟输入 1
复杂可编程逻辑器件 5.2.4 Altera公司的CPLD Altera公司生产的PLD器件主要有: ● Classic系列 ● MAX系列 ● FLEX系列 ● ACEX系列 ● APEX系列 ● Mercury系列 ● Excalibur系列 ● Stratix系列 ● Cyclone系列 CPLD FPGA 1
复杂可编程逻辑器件 5.2.4 MAX器件简介 MAX系列产品采用乘积项阵列结构,分为: ●MAX9000系列 ● MAX7000系列 ● MAX5000系列 ● MAX3000A系列
复杂可编程逻辑器件 5.2.4MAX7000S器件的结构和原理 MAX7000S采用第二代的MAX结构,组成: 宏单元MC ●逻辑阵列块LAB ● 可编程连线阵列PIA ● I/O控制块 扩展乘积项EPT 1
复杂可编程逻辑器件 MAX7000S的结构: PIA
复杂可编程逻辑器件 1.逻辑阵列块 每个LAB由16个宏单元组成,并与各自对应的I/O控制块相连接,各LAB之间的连接通过可编程连线阵列和全局总线实现。 LAB包括以下输入信号: ①来自PIA的36个通用逻辑输入信号; ② 用于辅助寄存器功能的全局控制信号; ③从I/O引脚到寄存器的直接输入信号。
复杂可编程逻辑器件 2.宏单元MC MC用来实现各种具体的逻辑功能,可以独立地配置成组合逻辑或时序逻辑。 组成:逻辑阵列 乘积项选择矩阵 扩展乘积项 可编程寄存器 多路选择器
复杂可编程逻辑器件 宏单元结构:
复杂可编程逻辑器件 (1)逻辑阵列和乘积项选择矩阵 用来实现宏单元的组合逻辑函数。 逻辑阵列:组成与阵列,为乘积项选择矩阵提供5个乘积项。 乘积项选择矩阵:用来实现5个乘积项的逻辑函数,或将这5个乘积项作为可编程寄存器的控制信号,实现寄存器的复位、置位、时钟输入和时钟使能等功能。
复杂可编程逻辑器件 (2)扩展乘积项EPT EPT包括共享扩展项和并联扩展项两部分,用来补充宏单元的逻辑资源。 共享扩展项 :每个LAB有16个共享扩展项,这些扩展项是由每个宏单元提供一个未使用的乘积项,并将它们反相后反馈到相应的逻辑阵列中,进行集中使用,实现逻辑资源共享。 采用共享扩展后,每个扩展乘积项都可以被LAB中的任何一个宏单元或全部宏单元使用和共享,从而可以实现更为复杂的逻辑函数。
宏单元 乘积项逻辑 宏单元 乘积项逻辑 来自PIA的 36个信号 16个共享 扩展乘积项 复杂可编程逻辑器件 共享扩展项的结构:
复杂可编程逻辑器件 (2)扩展乘积项EPT EPT包括共享扩展项和并联扩展项两部分,用来补充宏单元的逻辑资源。 并联扩展项:是一些宏单元中未使用的乘积项,将这些乘积项直接分配到邻近的宏单元中,以实现逻辑资源共享,完成快速复杂的逻辑函数。 并联扩展项允许多达20个乘积项直接馈送到宏单元的或逻辑,其中5个乘积项是由宏单元自身提供的,其余的15个为并联扩展项,由LAB中邻近的宏单元提供。
来自上一个宏单元 置位信号 宏单元 乘积项逻辑 时钟信号 复位信号 置位信号 宏单元 乘积项逻辑 时钟信号 复位信号 至下一个宏单元 16个共享 扩展乘积项 来自PIA的 36个信号 复杂可编程逻辑器件 并联扩展项的结构:
复杂可编程逻辑器件 (3)可编程寄存器 可编程寄存器由每个宏单元中的触发器组成。通过编程可完成时钟控制的D、JK、T或RS触发器。 时钟方式: ①采用全局时钟信号(GCLK1、GCLK2); ②采用全局时钟信号,由高电平有效的时钟使能信号进行控制; ③采用乘积项提供时钟信号。
复杂可编程逻辑器件 (4)多路选择器 宏单元中的多路选择器包括: ●复位信号选择器M1 ●时钟/使能信号选择器M2 ●快速输入选择器M3 ●旁路选择器M4 用来选择触发器的复位信号。 用来实现触发器时钟方式的控制。 用来选择触发器的数据输入信号。 用来选择宏单元输出逻辑的方式。
至LAB PIA信号 复杂可编程逻辑器件 5.可编程连线阵列PIA PIA是一个可编程的布线通道,用来实现各LAB之间的连接。
复杂可编程逻辑器件 4.I/O控制块 I/O控制块是器件外部封装引脚与内部信号之间的一个接口电路,由一个三态缓冲器和使能信号选择器组成。 当选择三态缓冲器的使能端接地时,I/O引脚作为专用输入引脚使用。 当选择电源VCC为使能信号时,I/O引脚为输出方式。 当选择全局输出使能信号时,I/O引脚为双向工作方式。
现场可编程门阵列 5.5.1 FPGA概述 世界上第一片FPGA由美国Xilinx公司于1985年率先推出。 进入21世纪之后,以FPGA为核心的单片系统SOC和可编程系统SOPC有了显著的发展,单片FPGA的集成规模已达到几百万门,其工作速度已超过300MHz。 FPGA在结构上已经实现了复杂系统所需要的主要功能,并将多种功能集成在一片FPGA器件中,如嵌入式存储器、嵌入式乘法器、嵌入式处理器、高速I/O缓冲器、外置存储器接口和实现数字信号处理的DSP等功能。
现场可编程门阵列 5.5.1 FPGA概述 随着FPGA性能的不断完善,FPGA器件的种类日益丰富,受到世界范围内电子设计人员的普遍欢迎,并占据了较大的市场,其生产厂家也由原来的Xilinx公司一家增加到Altera、Actel、Lattice等十几家公司。 目前FPGA主要产品大致可以分为两大类: ●基于SRAM编程的FPGA ● 基于反熔丝编程的FPGA