EDA技术与VHDL第2章PLD硬件特性与编程技术CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第2页由基本门电路可构成两类数字电路:组合电路:输出总是当前输入状态的函数。时序电路:输出总是当前系统状态和当前输入状态的函数。任何组合逻辑函数都可化为“与-或”表达式。于是人们提出了用乘积项可编程逻辑结构作为基本PLD器件的原理结构。一、PLD的两种基本结构2.1PLD概述任何时序电路都可由组合电路加上存储元件(锁存器、触发器、RAM等)构成。CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第3页输入缓冲电路与阵列或阵列输出缓冲电路输入输出……图2-1基本PLD器件的原理结构图2.1PLD概述CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第4页2.1PLD概述2.1.1PLD的发展历程熔丝编程的PROM和PLA器件AMD公司推出PAL器件GAL器件FPGA器件EPLD器件CPLD器件内嵌复杂功能模块的SoPCCPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第5页2.1PLD概述2.1.2PLD的分类可编程逻辑器件(PLD)简单PLD复杂PLDPROMPALPLAGALCPLDFPGA图2-2按集成度(PLD)分类CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第6页乘积项结构器件:CPLD查找表结构器件:FPGA3、按编程工艺分类1)熔丝(Fuse)型2)反熔丝(Antifuse)型以上两种类型的器件称为OTP(OneTimeProgrammable)器件。2、按结构分类CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第7页3)EPROM(ErasableProgrammableROM)型称为:紫外线擦除可编程器件。特点:可多次编程。4)EEPROM(ElectricalEPROM)型称为:电擦除可编程器件。特点:擦除速度快,方便。5)flash型,称为:闪存可编程器件。特点:编程、擦除速度更快,方便,使用寿命长。6)SRAM(StaticRAM)称为:SRAM查找表结构器件。特点:编程速度快,上电需再次编程。按编程工艺分类(续前)CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第8页2.2低密度PLD可编程原理2.2.1电路符号表示图2-3常用逻辑门符号与现有国标符号的对照CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第9页2.2.1电路符号表示图2-4PLD的互补缓冲器图2-5PLD的互补输入图2-6PLD中与阵列表示图2-7PLD中或阵列的表示图3-8阵列线连接表示CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第10页2.2.2PROM图2-9PROM基本结构地址译码器存储单元阵列………0A1A1nA0W1W1pW0F1F1mFnp22.2低密度PLD可编程原理CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第11页01112011110AAAWAAAWAAAWnnnn...01PROM中的地址译码器是完成PROM存储阵列的行的选择,其逻辑函数是:显然,所得到式子都可以看成是逻辑与运算CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第12页图2-10PROM的逻辑阵列结构与阵列(不可编程)或阵列(可编程)………0A1A1nA0W1W1pW0F1F1mFnp201,011,111,1101,011,111,1100,010,110,10WMWMWMFWMWMWMFWMWMWMFmmpmpmpppp逻辑函数表示:行单元的值列是存储单元阵列第而,其中1121,1pmMpmpnCPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第13页M07M06M05M04M03M02M01M00M17M16M15M14M13M12M11M10M27M26M25M24M23M22M21M20M37M36M35M34M33M32M31M30W0W1W2W3F7F6F5F4F3F2F1F0A1A000011011M行,列列线(或)F0=M30W3+M20W2+M10W1+M00W0F1=M31W3+M21W2+M11W1+M01W0………F7=M37W3+M27W2+M17W1+M07W0行线(与)以两条地址线A1,A0为例CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第14页用PROM实现组合逻辑电路功能实现的函数为:BABAF1BABAF2BAF3固定连接点(与)编程连接点(或)CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第15页图2-11PROM表达的PLD图阵列与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F图2-12用PROM完成半加器逻辑阵列与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F01110100AAFAAAAFCPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第16页不足之处:•与阵列为全译码阵列,器件的规模将随着输入信号数量n的增加,成2n指数级增长。因此PROM一般只用于数据存储器,不适于实现逻辑函数。CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第17页2.2.3PLA图2-13PLA逻辑阵列示意图与阵列(可编程)或阵列(可编程)0A1A1A1A0A0A1F0F2.2低密度PLD可编程原理CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第18页2.2.3PLA图2-14PLA与PROM的比较0A1A1F0F2A2F0A1A1F0F2A2F2.2低密度PLD可编程原理CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第19页•与阵列可编程,或阵列固定使器件简化。•或阵列固定明显影响了器件编程的灵活性2.2.3PLA2.2低密度PLD可编程原理CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第20页2.2.4PAL图2-15PAL结构图2-16PAL的常用表示0A1A1F0F0A1A1F0F2.2低密度PLD可编程原理CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第21页BnAn“或”阵列(固定)SnCn+1“与”阵列(可编程)CnnnnnnnnnnnnnnnnnnnnnCBCABACCBACBACBACBAS1AnBnCnAnBnCnAnBnCnAnBnCnAnBnAnCnBnCn用PAL实现全加器CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第22页图2-17一种PAL16V8的部分结构图11100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R11100100RQQD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I207815034781211151619202324272831CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第23页通用阵列逻辑器件是继PAL器件之后,在20世纪80年代中期推出的一种低密度可编程逻辑器件。它在结构上采用了输出逻辑宏单元(OLMC--OutputLogicMacroCell)结构形式。在工艺上吸收了EEPROM的浮栅技术,具有可擦除、可重新编程、数据可长期保存和可重新组合结构的特点。2.2.5GAL2.2低密度PLD可编程原理CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第24页2.2.5GAL207190347812111516192023242728311381518OLMCOLMC41623175243116OLMCOLMC63239157404714OLMCOLMC84855139566312OLMCOLMC11I/CLKIIIIIIIII/OEI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QCLKOE图2-18GAL16V8的结构图逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第25页图2-19寄存器输出结构1.寄存器模式。图2-20寄存器模式组合双向输出结构2.2.5GAL2.2低密度PLD可编程原理CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第26页图2-21组合输出双向结构2.复合模式。图2-22复合型组合输出结构2.2.5GAL2.2低密度PLD可编程原理CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第27页图2-23反馈输入结构3.简单模式。图2-24输出反馈结构图2-25简单模式输出结构2.2.5GAL2.2低密度PLD可编程原理CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第28页2.3CPLD的结构与可编程原理图2-26MAX7000系列的单个宏单元结构CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第29页MAX7000包含了32~256个宏单元。每16个宏单元组成一个逻辑阵列块LAB(LogicArrayBlock)每个宏单元含有一个可编程与阵,固定或阵,可配置寄存器。2.3CPLD的结构与可编程原理CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第30页CPLD内部结构(Altera的MAX7000S系列)逻辑阵列模块I/O单元连线资源逻辑阵列模块中包含多个宏单元CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第31页1、逻辑阵列块LABMAX7000结构主要是由多个LAB组成的阵列,以及之间的连线组成。多个LAB通过可编程连线阵PIA(ProgrammableInterconnectArray)和全局总线连在一起。全局总线从所有的专用输入、I/O引脚和宏单元馈入信号。每个LAB的输入信号:1)通用逻辑输入的PIA的36个信号;2)全局控制信号,用于寄存器的辅助功能;3)从I/O引脚到寄存器的直接输入通道。2.3CPLD的结构与可编程原理CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第32页图2-27MAX7128S的结构1.逻辑阵列块(LAB)2.3CPLD的结构与可编程原理CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第33页2.宏单元逻辑阵列、乘积项选择矩阵、可编程寄存器每个寄存器可按三种时钟模式工作全局时钟信号。接入每个寄存器的CLK端,能实现最快的时钟到输出功能。全局时钟信号并由高电平有效的时钟信号使能。用乘积项实现一个阵列时钟。由于时钟来自宏单元或I/O引脚,其速度稍慢。2.3CPLD的结构与可编程原理CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第34页宏单元内部结构乘积项逻辑阵列乘积项选择矩阵可编程触发器CPLD技术及应用2020年1月31日星期五第2章PLD硬件特性与编程技术第35页每个宏单元中有一个“共享扩展项”,乘积项经非门后回馈到逻辑阵列中;还存在一个“并联扩展项”,乘积项从邻近宏单元借位而来。虽然大部分逻辑函数能够用在每个宏单元的5个乘积项实现,但更复杂的逻辑函数可以利用其他宏单元,以提供所需的逻辑