EDA技术实用教程第2章FPGA/CPLD结构与应用2.1概述基本门组合电路时序电路输入缓冲电路与阵列或阵列输出缓冲电路输入输出……图2-1基本PLD器件的原理结构图2.1概述2.1.1可编程逻辑器件的发展历程PROM(ProgrammableReadOnlyMemory)PLA(ProgrammableLogicArray)PAL(ProgrammableArrayLogic)GAL(GenericArrayLogic)EPLDCPLDFPGA2.1概述2.1.2可编程逻辑器件的分类可编程逻辑器件(PLD)简单PLD复杂PLDPROMPALPLAGALCPLDFPGA图2-2PLD按集成度分类2.2简单可编程逻辑器件原理2.2.1电路符号表示图2-3常用逻辑门符号与现有国标符号的对照2.2简单可编程逻辑器件原理2.2.1电路符号表示图2-4PLD的互补缓冲器图2-5PLD的互补输入图2-6PLD中与阵列表示2.2简单可编程逻辑器件原理2.2.1电路符号表示图2-7PLD中或阵列的表示图2-8阵列线连接表示2.2简单可编程逻辑器件原理2.2.2PROM图2-9PROM基本结构地址译码器存储单元阵列………0A1A1nA0W1W1pW0F1F1mFnp20111201110110...AAAWAAAWAAAWnnnn2.2简单可编程逻辑器件原理2.2.2PROM图2-10PROM的逻辑阵列结构与阵列(不可编程)或阵列(可编程)………0A1A1nA0W1W1pW0F1F1mFnp22.2简单可编程逻辑器件原理2.2.2PROM图2-11PROM表达的PLD阵列图与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F2.2简单可编程逻辑器件原理2.2.2PROM图2-12用PROM完成半加器逻辑阵列与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F2.2简单可编程逻辑器件原理2.2.3PLA图2-13PLA逻辑阵列示意图与阵列(可编程)或阵列(可编程)0A1A1A1A0A0A1F0F2.2简单可编程逻辑器件原理2.2.3PLA图2-14PLA与PROM的比较0A1A1F0F2A2F0A1A1F0F2A2F2.2简单可编程逻辑器件原理2.2.4PAL图2-16PAL的常用表示0A1A1F0F0A1A1F0F图2-15PAL结构图2-17一种PAL16V8的部分结构图11100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R11100100RQQD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I207815034781211151619202324272831207190347812111516192023242728311381518OLMCOLMC41623175243116OLMCOLMC63239157404714OLMCOLMC84855139566312OLMCOLMC11I/CLKIIIIIIIII/OEI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QCLKOE图2-15GAL16V8结构2.2.5GAL2.2简单PLD结构原理2.2.5GAL结构原理(1)寄存器模式2.2简单PLD结构原理(2)复合模式1、组合输出双向口结构2.2简单PLD结构原理(2)复合模式2、组合输出结构2.2简单PLD结构原理(3)简单模式1、反馈输入结构2.2简单PLD结构原理(3)简单模式2、输出反馈结构2.2简单PLD结构原理(3)简单模式3、输出结构KX康芯科技2.3CPLD的结构与工作原理图2-26MAX7128S的结构1.逻辑阵列块(LAB)2.3CPLD的结构与工作原理2.宏单元MAX7000系列中的宏单元逻辑阵列乘积项选择矩阵可编程寄存器三种时钟输入模式全局时钟信号全局时钟信号由高电平有效的时钟信号使能用乘积项实现一个阵列时钟2.3CPLD的结构与工作原理图2-27MAX3000A系列的单个宏单元结构2.3CPLD的结构与工作原理图2-28共享扩展乘积项结构3.扩展乘积项局部连线共享扩展项提供的“与非”乘积项宏单元的乘积项逻辑宏单元的乘积项逻辑2.3CPLD的结构与工作原理3.扩展乘积项图2-29并联扩展项馈送方式2.3CPLD的结构与工作原理4.可编程连线阵列(PIA)图2-30PIA信号布线到LAB的方式KX康芯科技2.3CPLD的结构与工作原理5.I/O控制块图2-31EPM7128S器件的I/O控制块2.4FPGA的结构与工作原理2.4.1查找表逻辑结构图2-32FPGA查找表单元查找表LUT输入1输入2输入3输入4输出000001010000010116×1RAM输入A输入B输入C输入D查找表输出多路选择器图2-33FPGA查找表单元内部结构2.4.2CycloneIII系列器件的结构与原理1、LEKX康芯科技2.4FPGA的结构与工作原理data1addnsubdata2data34-inputLUT4-inputLUTcindata4RegRegsloadsclearaloadclockenaaclr行、列直连线布线LUT链寄存器链行、列直连线布线行、列直连线布线寄存器链输入图2-35CycloneLE普通模式2.4.2CycloneIII系列器件的结构与原理同步装载清零逻辑寄存器两个2输入LUT(进位)寄存器控制信号寄存器链输入Data1Data2Data3行、列和直连线布线局部布线两个2输入LUT(和)寄存器链输出addnsub进位输出逻辑进位输入逻辑LAB进位输入进位输入0进位输入1进位输出1进位输出02.4.2CycloneIII系列器件的结构与原理2、LAB2.4.2CycloneIII系列器件的结构与原理KX康芯科技图2-37CycloneLAB结构2.4.2CycloneIII系列器件的结构与原理2.4.2CycloneIII系列器件的结构与原理2.4.2CycloneIII系列器件的结构与原理3、嵌入式存储器:RAM、ROM、FIFO4、嵌入式乘法器:5、时钟控制2.4.2CycloneIII系列器件的结构与原理2.5硬件测试技术2.5.1内部逻辑测试图2-43边界扫描电路结构2.5.2JTAG边界扫描测试IC1TDITDOIC2TDITDO002.5.2JTAG边界扫描测试图2-45JTAGBST系统内部结构TAP控制器指令寄存器特别设计的测试数据寄存器多路器G1器件标志寄存器旁路寄存器指令译码器0多路器1G2TDITMSTCKTRSTDQCLKENTDO芯片内部逻辑BSCBSCBSCBSCBSCBSCBSCBSC边界扫描寄存器边界扫描单元I/OI/OI/OI/OI/OI/OI/OI/O2.5.2JTAG边界扫描测试图2-46TAP控制器状态图测试逻辑复位运行测试/空闲选择数据寄存器通路捕获移位退出1暂停退出2更新100011选择指令寄存器通路捕获移位退出1暂停退出2更新100011111100011000011001102.5硬件测试技术图2-47JTAGBST选择命令模式时序2.5.2JTAG边界扫描测试2.5.3嵌入式逻辑分析仪2.6FPGA/CPLD产品概述2.6.1Lattice公司CPLD器件系列1.ispLSI器件系列ispLSI1000E系列ispLSI2000E/2000VL/200VE系列ispLSI8000/8000V系列ispLSI5000V系列2.ispMACH4000系列3.LatticeEC&ECP系列IspMACH4000Z、ispMACH4000V、ispMACH4000Z2.6FPGA/CPLD产品概述2.6.2Xilinx公司的FPGA和CPLD器件系列2.SpartanⅡ&Spartan-3&Spartan3E器件系列5.Xilinx的IP核1.Virtex-4系列FPGAVirtex-4LXVirtex-4SXVirtex-4FX3.XC9500&XC9500XL系列CPLD4.XilinxFPGA配置器件SPROM2.6FPGA/CPLD产品概述2.6.3Altera公司FPGA和CPLD器件系列1.StratixII系列FPGA5.MAX系列CPLD3.ACEX系列FPGA4.FLEX系列FPGA2.Stratix系列FPGA6.Cyclone系列FPGA低成本FPGA7.CycloneII系列FPGA8.MAXII系列器件9.Altera宏功能块及IP核2.6FPGA/CPLD产品概述2.6.4Actel公司的PLD器件2.7编程与配置编程工艺基于电可擦除存储单元的EEPROM或Flash技术基于SRAM查找表的编程单元基于反熔丝编程单元2.7编程与配置2.7.1JTAG方式的在系统编程表2-3图2-48接口各引脚信号名称2.7编程与配置2.7.1JTAG方式的在系统编程图2-49多CPLD芯片ISP编程连接方式KX康芯科技2.7编程与配置2.7.2FPGA配置2.7编程与配置2.7.3FPGA专用配置器件图2-51EPCS器件配置FPGA的电路原理图2.7编程与配置2.7.4使用单片机配置FPGA图2-53用89S52进行配置KX康芯科技2.7编程与配置2.7.5使用CPLD配置FPGA使用单片机配置的缺点:1、速度慢,不适用于大规模FPGA和高可靠应用;2、容量小,单片机引脚少,不适合接大的ROM以存储较大的配置文件;3、体积大,成本和功耗都不利于相关的设计。习题习题2-1OLMC有何功能?说明GAL是怎样实现可编程组合电路与时序电路的。习题2-2什么是基于乘积项的可编程逻辑结构?习题2-3什么是基于查找表的可编程逻辑结构?习题2-4FPGA系列器件中的LAB有何作用?习题2-5与传统的测试技术相比,边界扫描技术有何优点?习题2-6解释编程与配置这两个概念。习题2-7请参阅相关资料,并回答问题:如本章给出的归类方式,将基于乘积项的可编程逻辑结构的PLD器件归类为CPLD;将基于查找表的可编程逻辑结构的PLD器件归类为FPGA,那么,APEX系列属于什么类型PLD器件?MAXII系列又属于什么类型的PLD器件?为什么?