您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > EDA可编程逻辑器件教程第2章
1可编程数字系统设计中的几个基本概念两类数字电路:组合电路:任意时刻的输出只取决于该时刻的输入,与电路原来的状态无关。(地址编码器、加法器、多路选择器等)时序电路:任一时刻的输出信号不仅取决于当时的输入信号还取决于电路原来的状态。或者说,还与以前的输入有关。(计数器、移位寄存器等)2同步时序电路同步时序电路的触发器是在同一个时钟操作下工作的DQDQDQINPUTCLK3异步时序电路异步时序电路的触发器不是在同一个时钟操作下工作的,或者电路状态发生转变的时候不是所有的触发器都有时钟信号DQDQDQINPUTCLKABCLRCLRCLRCLEAR第2章FPGA/CPLD结构与配置5组合电路或是时序电路可由基本门(与门、非门、或门、传输门等)构成,但不是所有的基本门都是必须的,任何的组合逻辑函数都可以化为“与门-或门”表达式。组合电路:用“与门-或门”二级电路实现时序电路:组合电路+存储单元(锁存器、触发器、RAM)由此,人们提出了一种可编程电路结构,即乘积项逻辑可编程结构,其原理结构图如下:2.1概述6基本PLD器件的原理结构图输入缓冲电路与阵列或阵列输出缓冲电路输入输出……7说明“与阵列”和“或阵列”是这种结构的主体.主要用来实现各种逻辑函数和逻辑功能。输入缓冲电路用来增强输入信号的驱动能力,并产生输入信号的原变量和反变量,输入缓冲电路一般还具有锁存器,甚至是一些可以组态的宏单元,用于对输入信号进行锁存和预处理。输出缓冲电路主要用来对将要输出的信号进行处理,既能输出纯组合逻辑信号,也能输出时序逻辑信号,输出缓冲电路中一般有三态门、寄存器等单元.甚至是宏单元,用户可以根据需要配置成各种灵活的输出方式。82.1.1可编程逻辑器件的发展历程PROM(ProgrammableReadOnlyMemory)PLA(ProgrammableLogicArray)可编程只读存储器、可编程逻辑阵列PAL(ProgrammableArrayLogic)可编程阵列逻辑GAL(GenericArrayLogic)通用阵列逻辑——可重复编程FPGACPLDSoPC(SystemonProgrammableChip)内嵌复杂功能模块70年代70年代末80年代初80年代中期80年代末期90年代最多达100万个PLD门92.1.2可编程逻辑器件(PLD)的分类A.从集成密度上,分为简单低密度PLD和复杂高密度PLD。(1)简单低密度PLD:包括PROM、EPROM、EEPROM、PLA、PAL、GAL等。(2)复杂高密度PLD:包括CPLD和FPGA。B.从编程工艺上划分1、熔丝(Fuse)型器件2、反熔丝(Antifuse)型器件(以上两种为一次性编程器件OTP——OneTimeProgrammable)简单PLD集成的逻辑门数大约在500门以下3、EPROM型:紫外线可擦除可编程逻辑器件4、EEPROM型:电可擦写可编程逻辑器件5、SRAM型:即静态存储器查找表结构的器件SRAM型器件的编程信息存放在RAM中,断电后就丢失了,再次上电需要再次编程(配置)。(以上3-5这三种为可多次编程器件)C.从结构上分1、乘积项结构器件:基本机构为“与-或阵列”的器件。(如:大部分PLD和CPLD)2、查找表结构器件:由简单的查找表组成可编程门,再构成阵列形式。(如:FPGA)11图形表示(按集成度来分类)PLD简单PLD复杂PLDPROMPLAPALGALCPLDFPGD各种工艺图示13熔丝(Fuse)型器件:PROM,PAL,CPLD和FPGA的部分产品。编程过程:根据设计的熔丝图文件来烧断对应的熔丝,达到编程目的。14反熔丝(Antifuse)器件:某些FPGA(如Actel公司的FPGA)。编程:通过击穿介质(18V电压)达到连通线路的目的。一个2000个门的器件中,有186000个反熔丝,每个门100个反熔丝。集成度极高。15浮栅编程技术:包括紫外线擦除(EPROM)电擦除(EEPROM)闪速存储器(FLASH)162.2简单PLD原理3.2.1电路符号表示常用逻辑门符号与现有国标符号的对照172.2PLD的基本结构PLD或门表示法图中F=P1+P2+P3PLD连接的表示法下图为PLD中阵列交叉点3种连接方式的表示法。图(a)为厂家生产芯片时即已连接好,不可改变;图(b)和(c)靠编程实现。(a)固定连接(b)可编程连接(c)断开18PLD符号PLD的互补缓冲器PLD的互补输入PLD中的与阵列表示PLD中的或阵列表示固定连接可编程连接未连接19输出恒等于0的与门三态输出的缓冲器ENAAENAA202.2.2PROM的基本结构0111201110110............AAAWAAAWAAAWnnnn地址译码器是完成PROM存储阵列的行的选择,为逻辑与运算,即与阵列。存储单元为或运算,即或阵列。其中Mx,y是可编程的。PROM的基本结构01,011,111,1101,011,111,1100,010,110,10........................WMWMWMFWMWMWMFWMWMWMFmmpmpmpppp地址译码器存储单元阵列………0A1A1nA0W1W1pW0F1F1mFnp221PROM的逻辑阵列结构与阵列(不可编程)或阵列(可编程)………0A1A1nA0W1W1pW0F1F1mFnp2PROM除了用作只读存储器外,还可作为PLD使用。22PROM阵列图010101010010101011AAAAAAAAFAAAAAAAAF与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F23用PROM完成的半加器逻辑阵列由此图形成的阵列点文件对于一般PLD器件称为熔丝图文件(FuseMap)。对于PROM器件称为存储单元的编程数据文件。与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F00101110SFAAAACFAA多输入变量的组合电路函数不适合用单个PROM来编程表达S=A0A1C=A0A1242.2.3PLA(ProgrammableLogicArray)可编程逻辑阵列特点:面积利用率高与、或阵列均可编程缺点:软件算法复杂运行速度下降在全定制ASIC设计中获得广泛的应用。逻辑函数化简由手工完成。与阵列(可编程)或阵列(可编程)0A1A1A1A0A0A1F0FPLA逻辑阵列示意图25PLA与PROM的比较PROM8×3PROM6×3PLA实现相同逻辑功能时,PLA少了两条乘积项线。规模越大,PLA越显优势2.2.4PAL(ProgrammableArrayLogic):可编程阵列逻辑PAL结构PAL的常用表示(两个乘积项)特点:1.或阵列固定,与阵列可编程;2.多个乘积项时通过输出反馈和互连方式解决;3.PAL较PLA在设计算法和运行速度上有所改进0A1A1F0F0A1A1F0F27一种PAL16V8的部分结构图11100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R11100100RQQD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I207815034781211151619202324272831*多个乘积项,通过输出反馈和互连的方式解决。*加上了输出寄存器,实现了时序电路的可编程。28为适应不同需要,PAL的输出I/O结构很多,往往一种结构方式就有一种PAL器件,PAL的应用设计者在设计不同功能的电路时,要采用不同输出I/O结构的PAL器件,从而带来了使用、生产的不方便。而且PAL属于OTP器件,修改不方便。292.2.5GAL通用阵列逻辑器件:1.采用了EEPROM工艺2.与阵列可编程、或阵列固定——和PAL一样3.输出I/O增加逻辑宏单元(OLMC——OutputLogicMacroCell)4.可与多种PAL器件保持兼容PAL用熔丝工艺生产,一次可编程,修改不方便,现在基本上已被GAL取代。30GAL16V8结构逻辑宏单元OutputLogicMacroCell输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列31GAL逻辑宏单元(OLMC)内部结构图中的AC0、AC1(n)、XOR(n)都是结构控制字中的一位数据,通过对结构控制字编程,便可设定OLMC的3种工作模式其中(n)是OLMC的编号,这个编号与每个OLMC连接的引脚号码一致。乘积项多路开关三态多路开关输出多路开关反馈多路开关32GAL的结构控制字有5种,82位SYN:同步控制字,1位,对8个宏单元是公共的AC0:结构控制字,1位,对8个宏单元是公共的AC1(n):结构控制字,8位,每个宏单元一个XOR(n):极性控制字,8位,每个宏单元一个PTD:乘积项禁止控制字,64位,每个与门一个(PTD一般情况下恒为1,控制64个与门总是处于使能状态)结构控制字的值1或0,是由编译软件识别用户源程序的输出引脚逻辑方程式类型后自动生成的。33寄存器输出结构寄存器模式组合双向输出结构1.寄存器模式SYN=0AC0=1AC1=0XOR=0时低电平有效XOR=1时高电平有效SYN=0AC0=1AC1=1XOR=0时低电平有效XOR=1时高电平有效34组合输出双向口结构复合型组合输出结构2.复合模式SYN=1AC0=1AC1=1XOR=0时低电平有效XOR=1时高电平有效13~18号宏单元可构成这种组态SYN=1AC0=1AC1=1XOR=0时低电平有效XOR=1时高电平有效12,19号宏单元可构成这种组态35反馈输入结构输出反馈结构3.简单模式SYN=1AC0=0AC1=1XOR=0时无效XOR=1时无效除15和16号宏单元外都可构成这种组态SYN=1AC0=0AC1=0XOR=0时低电平有效XOR=1时高电平有效15,16号宏单元也能构成这种组态36简单模式输出结构SYN=1AC0=0AC1=0XOR=0时低电平有效XOR=1时高电平有效15,16号宏单元可构成这种组态37OLMC的所有输出结构和工作模式的选择和确定均由计算机根据针对GAL的逻辑设计文件的逻辑关系自动形成控制文件。即在编译工具的帮助下,计算机用ABEL或其它硬件语言描述的文件综合成可下载于GAL的熔丝图文件,该文件包含了对OLMC输出结构和工作模式,以及对可编程与阵列各连线“熔丝点”的选择信息。38小结PLICE反熔丝ViaLink元件紫外光擦除EPROM电擦除EPROM闪速存储器FlashMemory类型存储编程信息的元件擦除方式掉电易失性编程次数采用熔丝型或反熔丝型开关的器件PROM不可擦除非易失性一次采用紫外光擦除EPROM的器件EEPROM紫外光擦除非易失性多次采用电擦除EPROM的器件EEPROM或FlashMemory电擦除非易失性多次采用SRAM结构的器件SRAM电擦除易失性多次表按照不同的编程元件和编程工艺划分大部分CPLD采用电擦除EPROM的编程元件,大部分FPGA采用SRAM结构39小结四种简单PLD电路的结构特点40简单PLD被取代的原因阵列逻辑小,资源不够用于设计数字系统。片内寄存器资源不足,寄存器结构限制较多。I/O不够灵活,限制了片内资源的利用率。编程不便,需要专用的编程工具,对于使用熔丝型的简单PLD更是不便。412.3CPLD/FPGA结构与工作原理2.1概述CPLD-ComplexProgrammableLogicDevice复杂可编程逻辑器件FPGA-FieldProgrammableGateArray现场可编程门阵列422.3.1CPLD的结构与特点一、宏单元二、可编程I/O单元三、可编程连线阵列四、CPLD的性能特点内容概要43CPLD:ComplexProgrammableLogicDevice,复杂可编程逻辑器件是在PAL、GAL基础上发展起来的阵列型P
本文标题:EDA可编程逻辑器件教程第2章
链接地址:https://www.777doc.com/doc-3154957 .html