第2章FPGA/CPLD器件2.1PLD器件概述2.2PLD的基本原理与结构2.3低密度PLD的原理与结构2.4CPLD的原理与结构2.5FPGA的原理与结构2.6FPGA/CPLD的编程元件2.7边界扫描测试技术2.8FPGA/CPLD的编程与配置2.9FPGA/CPLD器件概述2.10FPGA/CPLD的发展趋势内容第2章FPGA/CPLD器件2.1PLD器件概述PLD的发展历程熔丝编程的PROM和PLA器件AMD公司推出PAL器件GAL器件FPGA器件EPLD器件CPLD器件内嵌复杂功能模块的SoPC◆1985年,美国Xilinx公司推出了现场可编程门阵列(FPGA,FieldProgrammableGateArray)◆CPLD(ComplexProgrammableLogicDevice),即复杂可编程逻辑器件,是从EPLD改进而来的。PLD的发展PLD的集成度分类可编程逻辑器件(PLD)简单PLD复杂PLDPROMPALPLAGALCPLDFPGA一般将GAL22V10(500门~750门)作为简单PLD和高密度PLD的分水岭四种SPLD器件的区别PLD器件按照可以编程的次数可以分为两类:(1)一次性编程器件(OTP,OneTimeProgrammable)(2)可多次编程器件OTP类器件的特点是:只允许对器件编程一次,不能修改,而可多次编程器件则允许对器件多次编程,适合于在科研开发中使用。按编程特点分类(1)熔丝(Fuse)(2)反熔丝(Antifuse)编程元件(3)紫外线擦除、电可编程,如EPROM。(4)电擦除、电可编程方式,(EEPROM、快闪存储器(FlashMemory)),如多数CPLD(5)静态存储器(SRAM)结构,如多数FPGA按编程元件和编程工艺分类非易失性器件易失性器件PLD器件的原理结构图2.2PLD的基本原理与结构数字电路符号表示数字逻辑电路的两种国标符号对照PLD电路符号表示PLD的输入缓冲电路PLD与阵列表示PLD或阵列表示PLD连接表示法2.3低密度PLD的原理与结构PROMPROM的逻辑阵列结构PROMPROM表达的PLD阵列图PROM用PROM完成半加器逻辑阵列01110100AAFAAAAFPLAPLA逻辑阵列示意图PALPAL结构PAL的常用表示PALPAL22V10部分结构图GALGAL22V10的结构(局部)GAL22V10的OLMC结构CPLD器件的结构2.4CPLD的原理与结构CPLD器件宏单元内部结构示意图典型CPLD器件的结构MAX7000S器件的内部结构MAX7000S器件的宏单元结构MispLSI1032器件的GLB的结构XC9500器件的宏单元结构2.5FPGA的原理与结构查找表结构查找表原理查找表结构4输入LUT及内部结构图FPGA器件的内部结构示意图典型FPGA的结构XC4000器件的CLB结构Cyclone器件的LE结构(普通模式)典型FPGA的结构1.熔丝(Fuse)型器件2.反熔丝(Anti-fuse)型器件3.EPROM型,紫外线擦除电可编程4.EEPROM型6.SRAM型5.Flash型2.6FPGA/CPLD的编程元件边界扫描电路结构为了解决超大规模集成电路(VLSI)的测试问题,自1986年开始,IC领域的专家成立了“联合测试行动组”(JTAG,JointTestActionGroup),并制定出了IEEE1149.1边界扫描测试(BST,BoundaryScanTest)技术规范2.7边界扫描测试技术引脚描述功能TDI测试数据输入(TestDataInput)测试指令和编程数据的串行输入引脚。数据在TCK的上升沿移入。TDO测试数据输出(TestDataOutput)测试指令和编程数据的串行输出引脚,数据在TCK的下降沿移出。如果数据没有被移出时,该引脚处于高阻态。TMS测试模式选择(TestModeSelect)控制信号输入引脚,负责TAP控制器的转换。TMS必须在TCK的上升沿到来之前稳定。TCK测试时钟输入(TestClockInput)时钟输入到BST电路,一些操作发生在上升沿,而另一些发生在下降沿。TRST测试复位输入(TestResetInput)低电平有效,异步复位边界扫描电路(在IEEE规范中,该引脚可选)。边界扫描IO引脚功能边界扫描数据移位方式2.8FPGA/CPLD的编程与配置未编程前先焊接安装减少对器件的触摸和损伤不计较器件的封装形式系统内编程--ISP样机制造方便支持生产和测试流程中的修改在系统现场重编程修改允许现场硬件升级迅速方便地提升功能ISP功能提高设计和应用的灵活性下载接口引脚信号名称引脚12345678910PS模式DCKGNDCONF_DONEVCCnCONFIG-nSTATUS-DATA0GNDJATG模式TCKGNDTDOVCCTMS---TDIGND2.8FPGA/CPLD的编程与配置USB-Blaster下载电缆JTAG方式的在系统编程CPLD编程下载连接图JTAG方式的在系统编程多个MAX器件的JTAG链配置方式FPGA器件的配置Cyclone器件的AS模式配置电路FPGA专用配置器件EPCS器件配置FPGA的电路原理图使用单片机配置FPGA微处理器PS模式配置FPGA的电路连接图2.9FPGA/CPLD器件概述Lattice公司CPLD器件系列ispLSI器件的结构与特点(1)采用UltraMOS工艺。(2)系统可编程功能,所有的ispLSI器件均支持ISP功能。(3)边界扫描测试功能。(4)加密功能。(5)短路保护功能。2.9FPGA/CPLD器件概述Lattice公司CPLD器件系列ispMACH4000系列LatticeEC&ECP系列ispMACH4000系列CPLD器件有3.3V、2.5V和1.8V三种供电电压,分别属于ispMACH4000V、ispMACH4000B和ispMACH4000C器件系列。2.9FPGA/CPLD器件概述Xilinx公司的FPGA和CPLD器件系列1.Virtex-4系列FPGA2.SpartanⅡ&Spartan-3&Spartan3E器件系列3.XC9500&XC9500XL系列CPLD4.XilinxFPGA配置器件SPROM5.Xilinx的IP核2.9FPGA/CPLD器件概述Altera公司FPGA和CPLD器件系列1.StratixII系列FPGA2.Stratix系列FPGA3.ACEX系列FPGA4.FLEX系列FPGA5.MAX系列CPLD6.Cyclone系列FPGA低成本FPGA7.CycloneII系列FPGA8.MAXII系列器件9.Altera宏功能块及IP核2.10FPGA/CPLD的发展趋势1)向大规模、高集成度方向进一步发展2)向低电压、低功耗的方向发展3)向高速可预测延时的方向发展4)在PLD器件内嵌入更多功能模块5)向模数混合可编程方向发展习题22.1PLA和PAL在结构上有什么区别?2.2说明GAL的OLMC有什么特点,它怎样实现可编程组合电路和时序电路?2.3简述基于乘积项的可编程逻辑器件的结构特点。2.4基于查找表的可编程逻辑结构的原理是什么?2.5基于乘积项和基于查找表的结构各有什么优点?2.6CPLD和FPGA在结构上有什么明显的区别,各有何特点?2.7FPGA器件中的存储器块有何作用?2.8Altera的MAXⅡ器件是属于CPLD还是FPGA,请查阅有关资料并进行分析。2.9边界扫描技术有什么优点?2.10说说JTAG接口都有哪些功能。2.11FPGA/CPLD器件未来的发展趋势有哪些?