第一讲可编程逻辑器件结构_第1页
第一讲可编程逻辑器件结构_第2页
第一讲可编程逻辑器件结构_第3页
第一讲可编程逻辑器件结构_第4页
第一讲可编程逻辑器件结构_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

可编程逻辑器件实验

第一部分:可编程逻辑器件结构郭杰2012-11概述可编程逻辑器件概念(ProgrammableLogic

Device,简称PLD)

PLD泛指由用户编程,用户可以配置的逻辑器件。它的基本逻辑结构由与阵列和或阵列组成,能够有效地实现“标准与或式”形式的布尔逻辑函数。

PLD的基本框图PLD器件PLD诞生于20世纪70年代,经历了从PROM→PLA→PAL→GAL[低密度PLD]到SPLD→CPLD→FPGA[高密度PLD]的发展过程。PLD是最早的可编程逻辑器件,它包含两个基本部分:逻辑阵列是用户可编程的部分,它由“与”矩阵、“或”矩阵及反相器组成。输出单元的作用是使设计者能改变PLD的输出结构。输入信号通过“与”矩阵组合成为乘积项,这些乘积项在“或”矩阵中相加,经输出单元或宏单元输出。PLD器件以“与”“或”阵列结构(即乘积项Product-Term)为基础的PLD器件包括:可编程只读存储器PROM可编程逻辑阵列PLA可编程阵列逻辑PAL通用可编程阵列逻辑GAL简单可编程逻辑器件SPLD复杂可编程逻辑器件CPLD以查找表(LUT,Look-UpTable)结构为基础的PLD器件包括:现场可编程门阵列FPGAPLD器件分类根据结构、集成度、编程方法分类:结构[基于乘积项(与/或阵列可编程性)/基于LUT]PROM,PLA,PAL,CPLDFPGA集成度[低/高]PROM,PLA,PAL,

GALCPLD,FPGA编程方法掩模ROM熔丝/反熔丝PROM,PAL/ActelFPGA浮栅GAL,CPLDSRAM编程Xilinx/AlteraFPGAPLD器件——PROM最早出现的PLD就是可编程只读存储器PROM。它是由固定连接的“与”阵列和可编程的“或”阵列组成。PLD器件——PROMPROM缺点:由于与阵列是固定的,不需编程,灵活性较差。而大多数逻辑函数不需要使用输入的全部可能组合,这就使得PROM的与阵列不能充分利用,造成浪费。为了增大芯片的容量,与门阵列可以做的很大,但阵列愈大,开关延迟时间愈长,速度较慢。PLD器件——PLAPLA结构:PLA中包含一个可编程连接的“与”矩阵和一个可编程连接的“或”矩阵,为了减小阵列规模,提高器件速度,与门阵列不采用全译码式,与门个数小于2n(为输入项数)。PLD器件——PLAPLA应用示例:例如:O0=I0·I1·I2+NOT(I1)·I2

O1=I0·I1·I2+NOT(I0)·NOT(I1)·NOT(I2)+I0·NOT(I1)·I2

O2=NOT(I0)·NOT(I1)·NOT(I2)+I1·I2

PLD器件——PLAPLA器件除了实现组合逻辑外,还可实现时序逻辑。PLA器件对于逻辑功能的处理比较灵活,但处理逻辑功能较简单的电路时比较浪费资源,相应的编程工具花费也较大。因此在PLA器件的基础上,发展了PAL器件和GAL等PLD器件。PLD器件——PALPAL:可编程阵列逻辑PAL对PLA的可编程结构进行了进一步的简化,其与阵列可编程,或阵列固定。PLD器件——PALPAL器件具有灵活的设计功能,与PLA器件相比,体积小,功耗低,速度快,有防止复制该逻辑的保密熔丝,可实现产品的加密功能。缺点是PAL器件采用的熔丝工艺,一旦编程,无法改写,而且不同的输出结构需要选用不同型号的PAL器件。PLD器件——GALGAL是基于PAL结构的增强型器件,具有与PAL器件相同的基本结构形式,既采用可编程“与”矩阵及固定的“或”矩阵结构,但是编程方式不同。GAL有如下优点:采用CMOS的浮栅工艺可以重复编程由于采用CMOS工艺而使器件速度提高,功耗下降具有不挥发性,在器件掉电后不必对GAL器件重新编程有一种“安全保护单元”,允许对GAL器件实现安全保护采用了一种可编程输出逻辑宏单元OLMC(OutputLogicMacroCell)输出逻辑宏单元OLMCGAL器件输出逻辑宏单元(OLMC)OLMC的作用提供时序电路需要的寄存器或触发器。提供多种形式的输入/输出方式。提供内部信号反馈,控制输出逻辑极性。分配控制信号,如寄存器的时钟和复位信号,三态门的输出使能信号。CPLD器件PAL的问题太多的输入和输出延时受到“与”阵列的影响直接扩展PAL结构的效率不高CPLD是由多个类似PAL的功能块组成,具有很长的固定于芯片上的布线资源,通过位于中心的互连矩阵连接在一起。CPLD器件CPLD采用的是多路开关的互连方式即集总总线方式,因而具有较大的时间可预测性。总线上任意一对输入端与输出端之间的延时相等。CPLD的编程工艺有三种:EPROM工艺E2PROM工艺FLASH工艺PLD的编程方法——熔丝熔丝(Fuse)型开关每个编程互联节点上有熔丝,需要连接,保留熔丝;若需断开,则用比工作电流大得多的编程电流烧断熔丝。一次性编程。熔丝占芯片面积较大。PLD的编程方法——反熔丝反熔丝(Antifuse)型开关未编程时开关呈高阻(例如一对反向串联的肖特基二极管),当编程电压加在开关上将介质击穿后(使一个二极管永久性击穿而短路),开关呈现导通状态。一次性编程。antifusepolysiliconONOdielectricn+

antifusediffusion2lPLD的编程方法——浮栅浮栅晶体管编程(EPROM、EEPROM和FlashROM)利用浮栅存储电荷来保存数据。可多次编程,非易失可重复擦除器件:GAL、CPLD。

EPROM紫外线擦除,擦除难度大。EEPROM电擦除。FlashROM快速电擦除EPROMEPROM存储器EPROMEPROM的基本结构是一个浮栅管,浮栅管相当于一个电子开关,当浮栅中注入电子时,浮栅管截止;当浮栅中没有电子注入时,浮栅管导通。与普通的NMOS管很相似,但有G1和G2两个栅极,G1栅没有引出线,被包围在二氧化硅(SiO2)中,称之为浮栅;G2为控制栅,有引出线。当G1栅有电子积累时,该MOS管的开启电压变得很高,即使G2栅为高电平,该管仍不能导通,相当于存储了“0”。反之,当G1栅无电子积累时,MOS管的开启电压较低,当G2栅为高电平时,该管可以导通,相当于存储了“1”。EPROM器件的上方有一个石英窗口,当用光子能量较高的紫外光照射浮栅时,G1中电子获得了足够的能量,穿过氧化层回到衬底中。这样可使浮栅上的电子消失,达到抹去存储信息的目的,相当于存储器又存入了全“1”。EEPROMEEPROM存储器EEPROMEEPROM也可写成E2PROM,它是电可擦除电编程的元件。EEPROM有多种工艺,也是基于浮栅技术。具有两个栅极的NMOS管,其中G1是控制栅,它是一个浮栅,无引出线;G2是抹去栅,它有引出线。在G1栅和漏极之间有一小面积的氧化层,其厚度极薄,可产生隧道效应。当G2栅加20V的正脉冲P1时,通过隧道效应,电子由衬底注入到G1浮栅,相当于存储了“1”,利用此方法可将存储器抹成全“1”状态。存储器在出厂时,存储内容也为全“1”状态。使用时可根据需要把某些存储单元写“0”。写“0”时漏极D加20V正脉冲P2,G2栅接地,浮栅上电子通过隧道返回衬底,相当于写“0”。EEPROM读出时,G2栅加3V的电压,若G1栅有电子积累,则T2管不能导通,相当于存“1”;若G1栅无电子积累,则T2管导通,相当于存“0”。FlashROMFlashROM是一种新的可再编程只读存储器,它把EPROM的高密度、低成本的优点与EEPROM的电擦除性能结合在一起。FlashROM与EPROM和EEPROM一样属于浮栅编程器件,其存储单元也是由带两个栅极的MOS管组成。其中一个栅极称为控制栅,连接到读/写电路上;另一个栅极称为浮置栅,位于控制栅与MOS管传输沟道之间,并完全处于绝缘的二氧化硅的包围之中。闪速存储器的编程和擦除分别采用了两种不同的机理。在编程方法上,它与EPROM相似,利用“热电子注入技术”,在擦除方法上则与EEPROM相似,利用“电子隧道效应”。编程时,一个高压(12V)加到MOS管的控制栅,且漏极-源极偏置电压为6~7V,MOS管强烈导通,沟道中的一些热电子就具有了足够的能量到达浮置栅,将MOS管的阈值电压从大约2V提高到大约6V。擦除过程则利用电子的隧道效应来完成,即在浮栅与MOS管沟道间极薄的氧化层上施加一个大电场,使浮栅上的电子通过氧化层回到沟道中,从而擦除存储单元中的内容。FlashROMFlashROM在设计和工艺上与成熟的EPROM的产品十分相似,可以用类似于EPROM所用的工艺流程来制造。但两者之间存在以下差别:FlashROM单元在源区利用分级双扩散;FlashROM有更薄的隧道氧化物层。PLD的编程方法——SRAM静态配置存储器(SRAM)编程SRAM,易失元件,XilinxFPGA每次加电必须重新配置,方便在线重置WLBLVDDM5M6M4M1M2M3BLQQConfig.ControlRead/Write.ControlDataIOCPLD器件CPLD采用的是多路开关的互连方式即集总总线方式,因而具有较大的时间可预测性。总线上任意一对输入端与输出端之间的延时相等。CPLD的编程工艺有三种:EPROM工艺E2PROM工艺FLASH工艺CPLD器件——Altera-MAX7000CPLD器件——内部结构分为三块结构:宏单元(Macrocell),可编程连线(PIA)和I/O控制块。宏单元是PLD的基本结构,由它来实现基本的逻辑功能。蓝色部分是多个宏单元的集合(因为宏单元较多,没有一一画出)。可编程连线负责信号传递,连接所有的宏单元。I/O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出、摆率控制、三态输出等。图中左上的INPUT/GCLK1、INPUT/GCLRn、INPUT/OE1、INPUT/OE2是全局时钟,清零和输出使能信号,这几个信号有专用连线与PLD中每个宏单元相连,信号到每个宏单元的延时相同并且延时最短。CPLD器件——宏单元结构CPLD器件——宏单元结构左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。后面的乘积项选择矩阵是一个“或”阵列。两者一起完成组合逻辑。图右侧是一个可编程D触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输出到I/O脚。FPGA器件由逻辑功能块排列成阵列组成,并由可编程的内部连线连接这些逻辑功能块来实现不同的设计。更高密度,更复杂的布线结构和逻辑实现。XilinxFPGA芯片内部结构FPGA器件典型的FPGA通常包含三类基本资源:可编程逻辑功能块:是实现用户功能的基本单元,多个逻辑功能块通常规则地排成一个阵列结构,分布于整个芯片;可编程输入/输出块:完成芯片内部逻辑与外部管脚之间的接口,围绕在逻辑单元阵列四周;可编程内部互连资源:包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或输入/输出块连接起来,构成特定功能的电路。用户可以通过编程决定每个单元的功能以及它们的互连关系,从而实现所需的逻辑功能。FPGA器件除了上述构成FPGA基本结构的三种资源以外,随着工艺的进步和应用系统需求的发展,一般在FPGA中还可能包含以下可选资源:存储器资源(块RAM、分布式RAM);数字时钟管理单元(分频/倍频、数字延迟、时钟锁定);算术运算单元(高速硬件乘法器、乘加器);多电平标准兼容的I/O接口;高速串行I/O接口;特殊功能模块(以太网MAC等硬IP核);微处理器(PowerPC405等硬处理器IP核)。例如:XilnxVirtex-II系列FPGAFPGA可编程单元结构按编程的方式和逻辑功能的类型主要有三种:SRAM-查找表类型(以XilinxVirtex-II为例)反熔丝的多路开关类型FPGA器件基于Flash的FPGAVirtexII器件结构FPGA采用逻辑单元阵列LCA(LogicCellArray),内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分I/OBlocks(IOBs)ConfigurableLogicBlocks(CLBs)ClockManagement(DCMs,BUFGMUXes)BlockSelectRAM™resourceDedicatedmultipliersProgrammableinterconnectXilinxVirtex-IIFPGA的CLB结构Slice包含逻辑资源并被排列成两列交换矩阵提供对通用布线资源的访问本地布线资源提供同一个CLB中的几个Slice之间的互联走线,并且提供到相邻CLB的走线CINSwitchMatrixBUFTBUFTCOUTCOUTSliceS0SliceS1LocalRoutingSliceS2SliceS3CINSHIFTVirtex-IICLBcontainsfourslices可配置逻辑模块(CLB,ConfigurableLogicBlock)XilinxVirtex-IIFPGA的Slice结构每个Slice有4个输出两个寄存器输出,两个非寄存器输出两个BUFT与每个CLB相连,并能被CLB的所有16个输出访问进位逻辑垂直运行,只向上进位每个CLB有两个独立的进位链简化的Slice结构Slice0LUTCarryLUTCarryDQCEPRECLRDQCEPRECLRXilinxVirtex-IIFPGA的Slice结构Slice特性LUTsMUXF5,MUXF6,MUXF7,MUXF8进位逻辑MULT_ANDs时序元件详细的Slice结构FPGA——基于SRAM-查找表类型查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM。这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。LUT也称之为函数发生器(FGs)逻辑表达能力受限于输入的数量,而不在于复杂性通过LUT的延迟是固定不变的布尔逻辑存储在查找表(LUT)中CombinatorialLogicABCDZABCDZ000000001000100001110100101011...11000110101110011111FPGA器件的性能参数基本资源逻辑单元数量、等效逻辑门数量可用I/O片内存储资源附加资源时钟管理,PLL,DLL,DCM高速I/O接口嵌入式微处理器硬件乘法器、DSP单元其他软/硬IP其他指标速度等级、功耗、成本、设计的安全性、封装、工艺等CPLD与FPGA比较CPLD更适合完成各种组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论