第2章PLD硬件特性及应用2.1可编程逻辑器件概述任何组合逻辑都可化成“与-或”表达式;任何时序电路都可由组合电路加上存储元件组成;由此人们提出了一种可编程逻辑电路结构,即乘积项可编程结构输入缓冲电路与阵列或阵列输出缓冲电路输入输出……基本PLD的原理图2.1可编程逻辑器件概述2.1.2可编程逻辑器件分类1按集成度分PLD按集成度分类2.1.2可编程逻辑器件分类2按结构分1)PLD与或阵列结构2)FPGA(FieldProgrammableGateArray)门阵列2.1.2可编程逻辑器件分类3按工艺分1)熔丝或反熔丝编程器件,PROM器件2)UEPROM编程器件,紫外线擦除/电气编程器件3)EEPROM编程器件,电擦写编程器件4)SRAM器件2.2简单PLD原理2.2.1电路符号表示2.2.1电路符号表示图2-2PLD的互补缓冲器图2-3PLD的互补输入图2-4PLD中与阵列表示图2-5PLD中或阵列的表示图2-6阵列线连接表示2.2.2PROM原理2.2.2PROM原理2.2.3PLA原理PLA:与阵列可编程;或阵列可编程2.2.4PAL原理PAL:与阵列可编程;或阵列固定2.2.5GAL原理逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列GAL16V82.3CPLD/FPGA工作原理输入/输出口逻辑块连线资源逻辑块—由基本逻辑单元组成,构成了PLD器件的逻辑组成核心连线资源—连接内部所有单元,不同的逻辑块通过可编程的PIA布线来构成所需的逻辑功能CPLD/FPGA的组成结构2.3.1CPLD工作原理CPLD:ComplexProgrammableLogicDevice内部互连结构由固定长度的连线资源组成,布线的延迟确定,属确定型结构。逻辑单元主要由“与或阵列”构成。以MAX3000A为例每16个宏单元组成一个逻辑阵列块2.3.1CPLD工作原理可编程与阵列固定或阵列可编程寄存器2.3.2FPGA工作原理FPGA:FieldProgrammableGateArray内部互连结构由多种长度不同的连线资源组成,每次布线的延迟可不同,属统计型结构。逻辑单元主体为由静态存储器(SRAM)构成的函数发生器,即查找表。通过查找表可实现逻辑函数功能。2.3.2FPGA工作原理LUT:LUT本质上就是一个RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把结果事先写入RAM,这样每输入一个信号进行逻辑运算,就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可2.3.2FPGA工作原理FPGA查表单元FPGA查找表单元内部结构2.3.2FPGA工作原理FPGA内基本LE查表单元LUT可编程D触发器2.3.3FPGA/CPLDFPGA:触发器资源丰富—适用时序逻辑CPLD:乘积项丰富而触发器少—适用组合逻辑CPLD:延时固定CPLD:掉电后重新上电还能保持编程信息FPGA:延时时间不可预测(容易产生竞争-冒险或误码等)FPGA:掉电后重新上电不能保持编程信息,需使用配置芯片2.4产品介绍三家主流公司产品:Altera、Xilinx:数千门~数百万门Lattice:数万门以下2.4产品介绍Lattice公司的CPLD器件系列1.ispLSI系列器件2.MACHXO系列3.MACH4000系列4.LatticeSCFPGA系列5.LatticeECP3FPGA系列2.4产品介绍Xilinx公司的FPGA和CPLD器件系列1.Virtex-6系列FPGA2.Spartan-6器件系列3.XC9500/XC9500XL系列CPLD4.XilinxSpartan-3A系列器件5.Xilinx的IP核2.4产品介绍Altera公司的FPGA和CPLD器件系列1.Stratix4/6系列FPGA2.Cyclone4系列FPGA3.Cyclone系列FPGA(低成本FPGA)4.CycloneII系列FPGA5.CycloneIII系列FPGA6.MAX系列CPLD7.MAXII系列器件8.Altera宏功能块及IP核2.4产品介绍Actel公司的FPGA器件低功耗Flash型FPGA:IGLOO系列、ProASIC3系列。混合信号FPGA:Fusion系列耐辐射器件:RTAX-S系列、RTSX-SU系列反熔丝器件:Axcelerator、SX-A、eX、MX系列2.4产品介绍ALTERAFPGA常用配置芯片2.5编程与配置大规模可编程逻辑器件的编程工艺有三种(1)基于电可擦除存储单元的EEPROM或Flash技术。(2)基于SRAM查找表的编程单元。(3)基于反熔丝编程单元。2.5编程与配置主要配置方式有三种1)JTAG方式2)主动配置方式AS3)被动配置方式PS2.5编程与配置1)JTAG配置方式是由JTAG命令来配置CPLD/FPGA器件的方式。JTAG接口是IEEE1149.1边界扫描测试的标准接口,主要用于芯片测试等功能2.5编程与配置JTAG方式是由JTAG命令来配置CPLD/FPGA器件的方式。主要用于芯片测试等功能2.5编程与配置2.5编程与配置2)主动配置方式(AS)由器件引导配置操作过程,它控制着外部存储器和初始化过程由FPGA控制配置过程2.5编程与配置3)被动配置方式(PS)由系统中的其它设备发起并控制配置过程。这些设备可以是Altera的配置芯片,或者是单板上的智能设备FPGA器件在配置过程中完全是被动的,它仅输出一些状态信号来配合配置过程。2.5编程与配置2.5编程与配置ALTERA的ByteBlaster(MV)下载接口此接口既可作编程下载口,也可作JTAG接口2.5编程与配置引脚12345678910PS模式DCKGNDCONF_DONEVCCnCONFIG-nSTATUS-DATA0GNDJATG模式TCKGNDTDOVCCTMS---TDIGND接口各引脚信号名称主系统通用10针标准配置/下载接口目标板10针标准配置接口PIN1OTP配置器件插座2.5编程与配置配置芯片当FPGA器件正常工作时,其配置数据存储在SRAM中,而SRAM有易失性,故每次加电配置数据都必须重新载入。Altera为设计者提供了一系列的配置器件来存储配置数据。2.5编程与配置FPGA专用配置器件