您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > EDA第2章PLD硬件特性与编程技术
EDA技术与VHDL第3章PLD硬件特性与编程技术3.1概论输入缓冲电路与阵列或阵列输出缓冲电路输入输出……图3-1基本PLD器件的原理结构图逻辑可编程查找表逻辑结构FPGA查找表结构单元查找表LUT输入1输入2输入3输入4输出内容可编程3.1.1可编程逻辑器件的发展历程70年代80年代90年代PROM和PLA器件改进的PLA器件GAL器件FPGA器件EPLD器件CPLD器件内嵌复杂功能模块的SoPCPLD期间的发展历程1970,PROM,EPROM,EEPROM结构的PLD1974,PLA(ProgrammableLogicArray)1977,PAL(ProgrammableArrayLogic)MMI公司,PAL16L81985GAL(GenericArrayLogic)Lattice公司GAL16V8,GAL20V81985,EPLD(ErasablePLD)Altera公司1985,FPGA(FieldProgamableGateArray)Xilinx公司1989,CPLD(ComplexPLD)Lattice公司3.1概论3.1.2PLD的分类可编程逻辑器件(PLD)简单PLD复杂PLDPROMPALPLAGALCPLDFPGA图3-2按集成度(PLD)分类3.1概论3.1.2PLD的分类1.熔丝(Fuse)型器件。2.反熔丝(Anti-fuse)型器件。3.EPROM型。称为紫外线擦除电可编程逻辑器件。4.EEPROM型。5.SRAM型。6.Flash型。CPLDFPGA3.2简单PLD原理3.2.1电路符号表示图3-3常用逻辑门符号与现有国标符号的对照3.2.1电路符号表示图3-4PLD的互补缓冲器图3-5PLD的互补输入图3-6PLD中与阵列表示图3-7PLD中或阵列的表示3-8阵列线连接表示3.2简单PLD原理3.2.2PROM图3-9PROM基本结构地址译码器存储单元阵列………0A1A1nA0W1W1pW0F1F1mFnp2PROM的基本结构地址位宽度:n数据位宽度:m3.2简单PLD原理3.2.2PROM0111201110110...AAAWAAAWAAAWnnnnPROM中的地址译码器是完成PROM存储阵列的行的选择,其逻辑函数是:3.2简单PLD原理3.2.2PROM01,011,111,1101,011,111,1100,010,110,10WMWMWMFWMWMWMFWMWMWMFmmpmpmpppp行单元的值列是存储单元阵列第而,其中1121,1pmMpmpnPROM的逻辑函数不可编程可编程3.2简单PLD原理3.2.2PROM与阵列(不可编程)或阵列(可编程)………0A1A1nA0W1W1pW0F1F1mFnp2图3-10PROM的逻辑阵列结构PROM可编程逻辑阵列我们现在来看一个2X2的PROM的电路结构2X2PROM的逻辑阵列图连接符号用PROM实现半加器00010110这些存储单元的值?半加器逻辑表达式(PROM)PLD的问题?只能用于组合逻辑输入变量的增加,存储容量按2的幂次增加不适合很多输入变量的组合逻辑电路实现原因?与阵列不可编程;或阵列可编程。解决办法?PLAPLA的结构与或阵列均可编程PLA与PROM的比较PLAPROM地址000001010011100101110111PLA的问题需要简化的逻辑函数表达式。多输入输出时,简化算法复杂。运行速度下降。已经淘汰,现主要用于全定制ASIC芯片中新的替代PLD器件是?PAL的结构等价表达与阵列可编程或阵列固定PAL16V8的结构PAL器件的方框图PAL器件的特点1.与阵列可编程,或阵列不可编程2.具有时钟输入,触发器电路,可用于时序电路设计3.不同应用需要不同PAL器件,器件种类较多4.采用熔丝工艺,一次编程。已经被GAL器件所取代GAL的原理和PAL基本一样,差别是:1.输出端增加了通用结构输出逻辑宏单元(OLMC)2.改变输出方式,通过软件对其编程即可实现,而PAL必须进行硬件的改变。3.使用过程中,一种GAL器件可以替代相同管脚数的所有PAL器件。4.存储单元采用E2CMOS技术,可重复擦写。2.2.5GAL207190347812111516192023242728311381518OLMCOLMC41623175243116OLMCOLMC63239157404714OLMCOLMC84855139566312OLMCOLMC11I/CLKIIIIIIIII/OEI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QCLKOE图3-18GAL16V8的结构图逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列GAL16V8OLMC结构之1,2(GAL)寄存器输出结构寄存器双向输出结构OLMC结构之3,4(GAL)组合输出双向结构复合型组合输出结构OLMC结构之5,6(GAL)反馈输入结构输出反馈结构OLMC结构之7(GAL)简单模式输出GAL器件的问题?1.规模太小2.寄存器资源太少,不能构成复杂时序电路。3.I/O不够灵活,限制了片内资源的利用率。4.需要专用编程工具解决:CPLD的出现CPLD的原理产品Altera的MAX7000,MAX3000系列(EEPROM工艺)Xilinx的XC9500系列(Flash工艺)Lattice,Cypress的大部分产品(EEPROM工艺)下面以Altera公司的MAX7000系列介绍之。3.3CPLD的结构与工作原理图3-27MAX7128S的结构1.逻辑阵列块(LAB)基于乘积项的PLDPLD的组成:宏单元(Marocell)可编程连线(PIA)I/O控制块宏单元宏单元是PLD的基本结构,由它来实现基本的逻辑功能,下图是宏单元(Marocell),的结构MAX7000的宏单元结构宏单元的构成说明(一)由三部分组成1.乘积项阵列基本乘积项,共享扩展乘积项,并联扩展乘积项,2.乘积项选择矩阵3.可编程D触发器各部分的具体作用是:???宏单元的构成说明(二)1.乘积项阵列(图左)实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。2.乘积项选择矩阵(图中间)是一个“或”阵列。两者一起完成组合逻辑。3.可编程D触发器(图右侧)D触发器的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输出到I/O脚。3.3CPLD的结构与工作原理3.扩展乘积项局部连线共享扩展项提供的“与非”乘积项宏单元的乘积项逻辑宏单元的乘积项逻辑图3-28共享扩展乘积项结构3.扩展乘积项图3-29并联扩展项馈送方式并联扩展项不同宏单元信号的级联实现复杂逻辑3.3CPLD的结构与工作原理4.可编程连线阵列(PIA)图2-30PIA信号布线到LAB的方式5.I/O控制块图3-31EPM7128S器件的I/O控制块问题:软件如何进行编程?PLD器件I/O的使用提示1.可配置为:1.单向输入、单向输出、双向、三态等端口2.PLD器件内部信号不能实现“高阻态”3.与其他器件连接时应注意电平匹配4.高阻输出时,不能连接过高的电平逻辑请看下图的接法LED是否能控制?I/O的高阻输出IO56=‘Z’LED不亮IO56=‘0’LED亮是吗?FPGA原理:查找表采用查找表结构的PLD称为FPGA如altera的ACEX,APEX系列,xilinx的Spartan,Virtex系列等。查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。FPGA中用4输入的LUT每一个LUT相当于一个有4位地址线的16x1的RAM。一个N输入LUT可以实现N个输入变量的任何逻辑功能,如N输入“与”、N输入“异或”等。查找表实例3.4FPGA的结构与工作原理4输入查表表的例子查找表的工作过程说明LUT的工作过程用户通过原理图或HDL语言描述了一个逻辑电路PLD/FPGA开发软件计算逻辑电路的所有可能的结果(代码),并把结果事先写入RAM输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。实际的LUT结构3.4.2Cyclone系列器件的结构与原理图2-38LAB阵列连续布线(Altera基于查找表(LUT)的FPGA)LABLE3.4.2Cyclone系列器件的结构与原理图3-34CycloneLE结构图3.4.2Cyclone系列器件的结构与原理图3-35CycloneLE普通模式data1addnsubdata2data34-inputLUT4-inputLUTcindata4RegRegsloadsclearaloadclockenaaclr行、列直连线布线LUT链寄存器链行、列直连线布线行、列直连线布线寄存器链输入3.4.2Cyclone系列器件的结构与原理图3-36CycloneLE动态算术模式同步装载清零逻辑寄存器两个2输入LUT(进位)寄存器控制信号寄存器链输入Data1Data2Data3行、列和直连线布线局部布线两个2输入LUT(和)寄存器链输出addnsub进位输出逻辑进位输入逻辑LAB进位输入进位输入0进位输入1进位输出1进位输出03.4.2Cyclone系列器件的结构与原理图3-40快速进位选择链Le1Le2Le3Le4和1和2和3和4A1B1A2B2A3B3A4B4LE4LE2Le3LE101LE3LE5和5A5B5LE6LE7LE801LE9LE10和6和7和8和9和10LAB进位输出A6B6A7B7A8B8A9B9A10B10Le1Le2Le3Le4A1B1A2B2A3B3A4B4LE4LE2Le3LE101LAB进位输入LE3LE5A5B5LE6LE7LE801LE9LE10A6B6A7B7A8B8A9B9A10B10A+B+1ABA+B+0LAB进位输入10进位输入0进位输出0A+B+1A+B+0进位输出1和100101进位输入12输入LUT3.4.2Cyclone系列器件的结构与原理图3-37CycloneLAB结构LE1LE2LE3LE4LE5LE6LE7LE8LE10LE9LE1LE2LE3LE4LE5LE6LE7LE8LE10LE94444444444控制信号局部互连LAB输入信号LUT链和寄存器链LE反馈信号连线3.4FPGA的结构与工作原理图3-41LUT链和寄存器链的使用3.4.2Cyclone系列器件的结构与原理LE1LutDQDQLE2DQDQLEs3-10LUT链寄存器链Lut3.4.2Cyclone系列器件的结构与原理图3-39LAB控制信号生成CLR2CLR1ASYNCLOAD/LABPRESYNCLOADCLK1CLKENA1LAB行Clock至每个寄存器/6CLK2CLKENA2SYNCCLRADDNSUB局部互连局部互连局部互连局部互连局部互连局部互连嵌入式阵列块EAB是在输入、输出口上带有寄存器的RAM块,是由一系列的嵌入式RAM单元构成。用EAB构成不同结构的RAM和ROM输出时钟DRAM/ROM256x8512x41024x22048x1DDD写脉冲电路输出宽度8,4,2,1数据宽度8,4,2,1地址宽度8,9,10,11写使能输入时钟EAB的作用用作ROM,RAM,FIFO等各种类型存储器实现计数器,地址译码器,硬件乘法器等多个EAB可组合,以满足更大规模的应用3.4FPGA的结构与工作原理图3-42LVDS连接3.4.2Cyclone系列器件的结构与原理Cyclone器件接收器件外接电阻网路外接终端电阻FPGA和CPLD的比较1.逻辑单元FPGA:单元小,每个单元输入变量只有几个,逻辑功能弱,触发器相对多。实现较复
本文标题:EDA第2章PLD硬件特性与编程技术
链接地址:https://www.777doc.com/doc-50807 .html