1可编程逻辑器件2GAL:GenericArrayLogic通用阵列逻辑相关专业名词EDA:ElectronicDesignAutomation电子设计自动化PLD:ProgrammableLogicDevice可编程逻辑器件CPLD:ComplexProgrammableLogicDevice复杂可编程逻辑器件EPLD:ErasableProgrammableLogicDevice可擦除可编程逻辑器件FPGA:FieldProgrammableGateArray现场可编程门阵列VHDL:VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage超高速集成电路硬件描述语言ASIC:ApplicationSpecificIntegratedCircuit特定用途集成电路VerilogHDL:??3可编程逻辑器件的定义逻辑器件:用来实现某种特定逻辑功能的电子器件,最简单的逻辑器件是与、或、非门(74LS00,74LS04等),在此基础上可实现复杂的时序和组合逻辑功能。可编程逻辑器件(PLD--ProgrammableLogicDevice):器件的功能不是固定不变的,而是可根据用户的需要而进行改变,即由编程的方法来确定器件的逻辑功能。4数字电路课程的回顾使用中、小规模器件设计电路(74、54系列)编码器(74LS148)译码器(74LS138)比较器(74LS85)计数器(74LS193)移位寄存器(74LS194)多路选择器(74LS153)………5数字电路课程的回顾采用中小规模器件的局限电路板面积很大,芯片数量很多,功耗很大,可靠性低--提高芯片的集成度设计比较困难--能方便地发现设计错误电路修改很麻烦--提供方便的修改手段PLD器件的出现改变了这一切6PLD出现的背景电路集成度不断提高SSIMSILSIVLSI计算机技术的发展使EDA技术得到广泛应用设计方法的发展自下而上自上而下用户需要设计自己需要的专用电路专用集成电路(ASIC-ApplicationSpecificIntegratedCircuits)开发周期长,投入大,风险大可编程器件PLD:开发周期短,投入小,风险小7标准单元(StandardCell)通常ASIC特指门阵列(GateArray)可编程逻辑器件(ProgrammableLogicDevice,PLD)ASIC全定制(FullCustomDesignIC)厂商直接做出如:CPU厂商做出半成品半定制(Semi-CustomDesignIC)IC特殊应用用户定制8PLD器件的优点集成度高,可以替代多至几千块通用IC芯片极大减小电路的面积,降低功耗,提高可靠性具有完善先进的开发工具提供语言、图形等设计方法,十分灵活通过仿真工具来验证设计的正确性可以反复地擦除、编程,方便设计的修改和升级灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间保密性好9管脚数目:208个电源:3.3V(I/O)2.5V(内核)速度250MHz内部资源4992个逻辑单元10万个逻辑门49152bit的RAMCPLD举例:EP1K100OC208-110FPGA举例:EP2C70F896C6管脚:BGA896(用户622)电压:1.2V速度:260MHZ内部资源:68,416LEs250M4KRAMblocks1,152,000totalRAMbits150embeddedmultipliers4PLLs11可编程逻辑器件的发展历程70年代80年代90年代PROM和PLA器件PAL器件GAL器件FPGA器件EPLD器件CPLD器件内嵌复杂功能模块的SOPC12PLD的发展趋势向高集成度、高速度方向进一步发展最高集成度已达到400万门向低电压和低功耗方向发展,5V3.3V2.5V1.8V更低内嵌多种功能模块RAM,ROM,FIFO,DSP,CPU向数、模混合可编程方向发展13大的PLD生产厂家最大的PLD供应商之一FPGA的发明者,最大的PLD供应商之一ISP技术的发明者提供军品及宇航级产品14PLD器件的分类--按集成度低密度PROM,EPROM,EEPROM,PAL,PLA,GAL只能完成较小规模的逻辑电路高密度,已经有超过400万门的器件EPLD,CPLD,FPGA可用于设计大规模的数字系统集成度高,甚至可以做到SOC(SystemOnaChip)15按集成度(PLD)分类可编程逻辑器件(PLD)简单PLD复杂PLDPROMPALPLAGALCPLDFPGA可编程逻辑器件(PLD)简单PLD复杂PLDPROMPALPLAGALCPLDFPGA16PLD器件的分类--按结构特点基于与或阵列结构的器件--阵列型PROM,EEPROM,PAL,GAL,CPLDCPLD的代表芯片如:Altera的MAX系列基于门阵列结构的器件--单元型FPGA17PLD器件的分类--按编程工艺熔丝或反熔丝编程器件--Actel的FPGA器件体积小,集成度高,速度高,易加密,抗干扰,耐高温只能一次编程,在设计初期阶段不灵活SRAM--大多数公司的FPGA器件可反复编程,实现系统功能的动态重构每次上电需重新下载,实际应用时需外挂EEPROM用于保存程序EEPROM--大多数CPLD器件可反复编程不用每次上电重新下载,但相对速度慢,功耗较大18任何组合电路都可表示为其所有输入信号的最小项的和或者最大项的积的形式。时序电路包含可记忆器件(触发器),其反馈信号和输入信号通过逻辑关系再决定输出信号。与门阵列或门阵列乘积项和项PLD主体输入电路输入信号互补输入输出电路输出函数反馈输入信号输出既可以是低电平有效,又可以是高电平有效。•可由或阵列直接输出,构成组合电路输出;•通过寄存器输出,构成时序方式输出。可直接输出也可反馈到输入PLD的基本结构19(a)PLD输入缓冲器;(b)与门;(c)与门在PLD中的表示方法;(d)或门(e)或门在PLD中的表示方法;(f)四个乘积项的或门固定连接可编程连接不连接&AAAABCDFABCDF=ABC≥1AF1BF2ABCDF=A+BP1P2P3P4F(a)(b)(c)(d)(e)(f)PLD采用的逻辑符号20PROM结构与阵列为全译码阵列,器件的规模将随着输入信号数量n的增加成2n指数级增长。因此PROM一般只用于数据存储器,不适于实现逻辑函数。EPROM和EEPROM地址输入数据输出地址译码器21用PROM实现组合逻辑电路功能实现的函数为:BABAF1BABAF2BAF3固定连接点(与)编程连接点(或)22PLA结构PLA的内部结构在简单PLD中有最高的灵活性,两个阵列均可编程。23PAL结构与阵列可编程使输入项增多,或阵列固定使器件简化。或阵列固定明显影响了器件编程的灵活性24BnAn“或”阵列(固定)SnCn+1“与”阵列(可编程)CnnnnnnnnnnnnnnnnnnnnnCBCABACCBACBACBACBAS1AnBnCnAnBnCnAnBnCnAnBnCnAnBnAnCnBnCn用PAL实现全加器25GAL结构GAL器件与PAL器件的区别在于用可编程的输出逻辑宏单元(OLMC)代替固定的或阵列。可以实现时序电路。时钟输入OLMC可编程与阵列26GAL器件的OLMCOutputLogicMacroCell每个OLMC包含:或门异或门:控制输出信号的极性D触发器:适合设计时序电路4个多路选择器输出三态缓冲选择反馈信号选择第一乘积项选择输出锁存选择27CPLD内部结构(Altera的MAX7000S系列)逻辑阵列模块I/O单元连线资源每个逻辑阵列模块(LAB)中包含多个宏单元,每个宏单元含有一个可编程的与阵列和固定的或阵列及可配置的寄存器等。28宏单元内部结构乘积项逻辑阵列乘积项选择矩阵可编程触发器2930MAX7000系列器件的I/O控制模块I/O控制块允许每个I/O引脚单独被配置为输入、输出或双向工作方式。所有I/O引脚都有一个三态缓冲器,三态缓冲器的使能控制信号来自一个4选1多路选择器,通过它可以选择使用两个全局的输出使能信号之一,或者是地(GND)电平,或者是电源(VCC)电平作为三态缓冲器的使能信号。31可编程连线阵列在各个逻辑宏单元之间以及逻辑宏单元与I/O单元之间提供信号连接的网络CPLD中一般采用固定长度的线段来进行连接,因此信号传输的延时是固定的,使得时间性能容易预测。32MAX7000系列器件的PIA器件上的所有的LAB是通过在可编程互连阵列(PIA)上布线,以相互连接构成所需的逻辑。PIA这个全局总线是一种可编程的通道,它可以把器件中任何信号源连接到任何一个目的地。器件中的所有专用输入、I/O引脚和逻辑宏单元输出都连接到PIA,而由PIA将这些信号传送到器件的各个地方。只有每个LAB各自需要的信号才布置从PIA到LAB的连线。33FPGA结构原理图内部结构称为LCA(LogicCellArray)由三个部分组成:可编程逻辑块(CLB)可编程输入输出模块(IOB)可编程内部连线(PIC)IOBCLB包含多个逻辑单元PIC34alteraFLEX/ACEX芯片的内部结构35LE内部结构3637查找表的基本原理实际逻辑电路LUT的实现方式a,b,c,d输入逻辑输出地址RAM中存储的内容00000000000001000010....0...01111111111N个输入的逻辑函数需要2的N次方的容量的SRAM来实现,一般多个输入的查找表采用多个逻辑块级连的方式38查找表的基本原理N个输入的逻辑函数需要2的N次方的容量的SRAM来实现,一般多于输入的查找表采用多个逻辑块级连的方式查找表与门查找表与门查找表与门d[3..0]d[7..4]d[11..8]39FPGA中的嵌入式阵列(EAB)可灵活配置的RAM块用途实现比较复杂的函数的查找表,如正弦、余弦等。可实现多种存储器功能,如RAM,ROM,双口RAM,FIFO,Stack等灵活配置方法:256×8,也可配成512×440CycloneⅡ器件介绍器件EP5EP8EP20EP35EP50EP70逻辑单元4608825618752332163052868416M4KRAM块(4KB+512校验比特)263652105129250总比特数1198081658882396164838405944321152000嵌入18×18位乘法器1318263586150PLLs224444最多用户管I/O脚142182315475450622差分通道5575125200192275CycloneⅡ系列器件特性参数CycloneⅡ是Altera公司在第一代Cyclone系列的基础上开发的一款低成本、高性价比的FPGA。采用了全铜层90nm低k绝缘工艺,1.2VSRAM工艺设计,在300nm园晶片上生产。提供了4608~68416个逻辑单元(LE),并具有一整套最佳的功能,包括18×18位乘法器、专用外部存储接口电路、4K位嵌入式存储块、锁相环(PLL)和高速差分I/O等功能。412.3.3CycloneⅡ器件介绍(续)封装尺寸/nm×nmEP5EP8EP20EP35EP50EP70144-pinTQFP/16×168985208-pinPQFP/30.6×30.6142138256-pinFineLineBGA/17×17182152484-pinFineLineBGA/23×23315322294672-pinFineLineBGA/27×27475450422896-pinFineLineBGA/31×31622表2