您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 第3章 FPGA CPLD结构与应用
KX康芯科技EDA技术与VHDL第3章FPGA/CPLD结构与应用KX康芯科技KX康芯科技数字电路系统都是由基本门构成的。基本门可以构成组合电路和时序电路。不是所有的基本门都是必须的,组合逻辑函数都可以化为“与—或”表达式,用“与门—或门”二级电路实现。因此人们提出了一种乘积项可编程结构。(PLD结构)3.1概论KX康芯科技3.1概论输入缓冲电路与阵列或阵列输出缓冲电路输入输出……图3-1基本PLD器件的原理结构图KX康芯科技3.1概论3.1.1PLD的发展历程熔丝编程的PROM和PLA器件AMD公司推出PAL器件GAL器件FPGA器件EPLD器件CPLD器件内嵌复杂功能模块的SoPCKX康芯科技3.1概论3.1.2PLD的分类可编程逻辑器件(PLD)简单PLD复杂PLDPROMPALPLAGALCPLDFPGA1.按集成度(PLD)分类KX康芯科技2.按结构分乘积项结构器件,大部分简单PLD和CPLD属此类查找表结构器件,大部分FPGA属此类3.1概论3.按编程工艺分类1)熔丝(Fuse)型器件。根据设计的熔丝图文件烧断对应的熔丝。2)反熔丝(Anti-fuse)型器件。在编程处通过击穿漏层使两点获得导通。一次性可编程器件(OTP)KX康芯科技3.1概论3)EPROM型。称为紫外线擦除电可编程逻辑器件。4)EEPROM型。电可擦写编程器件。5)SRAM型。查找表结构器件,编程信息放在RAM中,断电丢失,需专门器件完成配置操作。6)Flash型。可实现多次编程,掉电不需重新配置。CPLD掉电保持FPGA掉电丢失KX康芯科技3.2简单PLD原理3.2.1电路符号表示图3-3常用逻辑门符号与现有国标符号的对照KX康芯科技3.2.1电路符号表示图2-4PLD的互补缓冲器图2-5PLD的互补输入图2-6PLD中与阵列表示图2-7PLD中或阵列的表示2-8阵列线连接表示KX康芯科技3.2简单PLD原理3.2.2PROM图3-9PROM基本结构地址译码器存储单元阵列………0A1A1nA0W1W1pW0F1F1mFnp2KX康芯科技3.2简单PLD原理3.2.2PROM0111201110110...AAAWAAAWAAAWnnnnPROM中的地址译码器是完成PROM存储阵列的行的选择,其逻辑函数是:可以把地址译码器看成一个与阵列KX康芯科技3.2简单PLD原理3.2.2PROM01,011,111,1101,011,111,1100,010,110,10WMWMWMFWMWMWMFWMWMWMFmmpmpmpppp行单元的值列是存储单元阵列第而,其中1121,1pmMpmpn存储单元阵列的输出,其逻辑函数是:可以认为是一个或阵列,可编程。yxM,KX康芯科技3.2简单PLD原理3.2.2PROM与阵列(不可编程)或阵列(可编程)………0A1A1nA0W1W1pW0F1F1mFnp2图2-10PROM的逻辑阵列结构KX康芯科技3.2简单PLD原理3.2.2PROM图2-11PROM表达的PLD阵列图与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F以4×2PROM为例PROM地址线An-1~A0是与阵列的n个输入变量,产生2n个最小项W2n-1~W0,再经可编程或阵列产生m个输出函数Fm-1~F0,m是PROM的输出数据位宽。KX康芯科技3.2简单PLD原理3.2.2PROM图2-12用PROM完成半加器逻辑阵列01110100AAFAAAAF与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F1010AACAAS半加器逻辑表达式只能用于组合电路,多输入变量电路不适用KX康芯科技3.2简单PLD原理3.2.3PLA图2-13PLA逻辑阵列示意图与阵列(可编程)或阵列(可编程)0A1A1A1A0A0A1F0F•与阵列和或阵列都可以编程•需化简为最简与或表达式•多个输出时尽量使用公共的与项需要有逻辑函数的与-或最简表达式由于,两个阵列均可编程,器件运行速度下降KX康芯科技3.2简单PLD原理3.2.3PLA图2-14PLA与PROM的比较0A1A1F0F2A2F0A1A1F0F2A2FKX康芯科技3.2简单PLD原理3.2.4PAL图2-15PAL结构图2-16PAL的常用表示0A1A1F0F0A1A1F0F•与阵列可编程或阵列固定•送到或门乘积项数目固定,简化算法•对多个乘积项,通过输出反馈和互连方式解决KX康芯科技图2-17一种PAL16V8的部分结构图11100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R11100100RQQD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I207815034781211151619202324272831KX康芯科技3.2简单PLD原理3.2.5GAL(通用阵列逻辑器件)•首次采用EEPROM工艺•沿用PAL的阵列结构•输出部分增加了输出逻辑宏单元OLMC•与多种PAL器件保持了兼容性8个OLMC在相应的控制字的作用下,具有不同的电路结构,这带来了GAL的灵活性和方便性。KX康芯科技3.2.5GAL207190347812111516192023242728311381518OLMCOLMC41623175243116OLMCOLMC63239157404714OLMCOLMC84855139566312OLMCOLMC11I/CLKIIIIIIIII/OEI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QCLKOE图2-18GAL16V8的结构图KX康芯科技图输出逻辑宏单元OLMC结构OLMC的组成如图所示,它包括一个或门、一个异或门、一个D触发器和4个数据选择器OLMC设有多种组态,可配置成专用组合输出、专用输入、组合输出双向口、寄存器输出、寄存器输出双向口等3.2简单PLD原理3.2.5GALKX康芯科技3.2简单PLD原理3.2.5GAL图2-19寄存器输出结构1.寄存器模式图2-20寄存器模式组合输出双向口结构CLK、OE为专用公共引脚KX康芯科技3.2简单PLD原理3.2.5GAL图2-21组合输出双向结构2.复合模式图2-22复合型组合输出结构(无反馈)KX康芯科技3.2简单PLD原理3.2.5GAL图2-23反馈输入结构3.简单模式图2-24输出反馈结构KX康芯科技3.2简单PLD原理3.2.5GAL图2-25简单模式输出结构所有的输出结构和工作模式的选择和确定均由计算机根据逻辑设计文件自动形成控制文件。KX康芯科技3.3CPLD的结构与工作原理•1.宏单元MAX7000S系列器件包括32~256个宏单元。逻辑阵列、乘积项选择矩阵、和可编程寄存器。Altera的MAX7000S的结构中,包括5个主要部分:逻辑阵列块(LAB)、宏单元、扩展乘积项(共享和并联)、可编程连线阵列(PIA)和I/O控制块。KX康芯科技3.3CPLD的结构与工作原理图2-26MAX7000系列的单个宏单元结构KX康芯科技3.3CPLD的结构与工作原理每个寄存器可按3种时钟输入模式工作全局时钟信号。全局时钟信号由高电平有效的时钟信号使能。用乘积项实现一个阵列时钟。•逻辑阵列实现组合逻辑,提供5个乘积项。•乘积项选择矩阵分配乘积项,实现组合逻辑函数。或者把乘积项作为宏单元中寄存器的辅助输入。•可编程寄存器可被单独设置成带可编程时钟控制的D、T、RS、JK触发器工作方式。KX康芯科技3.3CPLD的结构与工作原理图2-27MAX7128S的结构2.逻辑阵列块(LAB)1个LAB由16个宏单元组成,多个LAB通过可编程连线阵列和全局总线连接在一起。每个LAB有下列输入信号:•来自PIA的36个信号•全局控制信号,用于寄存器辅助功能•从I/O引脚到寄存器的输入KX康芯科技3.3CPLD的结构与工作原理3.扩展乘积项局部连线共享扩展项提供的“与非”乘积项宏单元的乘积项逻辑宏单元的乘积项逻辑图2-28共享扩展乘积项结构•共享扩展项每个LAB有16个共享扩展项KX康芯科技3.扩展乘积项图2-29并联扩展项馈送方式•并联扩展项宏单元中未被用到的乘积项,可分配到邻近的宏单元中。允许最多20个乘积项。KX康芯科技3.3CPLD的结构与工作原理4.可编程连线阵列(PIA)图2-30PIA信号布线到LAB的方式KX康芯科技5.I/O控制块图2-31EPM7128S器件的I/O控制块I/O控制块允许每个I/O引脚单独被配置为输入、输出和双向工作方式。KX康芯科技3.4FPGA的结构与工作原理3.4.1查找表逻辑结构图2-32FPGA查找表单元查找表LUT输入1输入2输入3输入4输出大部分FPGA采用基于SRAM的查找表结构(LUT),即用SRAM来构成逻辑函数发生器。KX康芯科技3.4.1查找表逻辑结构图2-33FPGA查找表单元内部结构KX康芯科技Cyclone系列器件由逻辑阵列块(LAB)、嵌入式存储器块、I/O单元和锁相环(PLL)等模块构成。各模块之间存在着丰富的互连线和时钟网络。3.4.2Cyclone系列器件的结构与原理每个LAB都是由多个LE构成。LE由一个4输入的查找表LUT、进位链逻辑和一个可编程的寄存器构成。可编程的寄存器可配置成4种模式。LE有3个驱动内部互连。LUT和寄存器的输出可单独控制。1.逻辑单元(LE)KX康芯科技3.4.2Cyclone系列器件的结构与原理图2-34CycloneLE结构图KX康芯科技Cyclone的LE可工作在下列两种操作模式:普通模式LE适合组合逻辑的实现。动态算术模式实现加法器、计数器等功能。单个LE内有4个2输入的LUT。3.4.2Cyclone系列器件的结构与原理KX康芯科技3.4.2Cyclone系列器件的结构与原理图2-35CycloneLE普通模式data1addnsubdata2data34-inputLUT4-inputLUTcindata4RegRegsloadsclearaloadclockenaaclr行、列直连线布线LUT链寄存器链行、列直连线布线行、列直连线布线寄存器链输入KX康芯科技3.4.2Cyclone系列器件的结构与原理图2-36CycloneLE动态算术模式同步装载清零逻辑寄存器两个2输入LUT(进位)寄存器控制信号寄存器链输入Data1Data2Data3行、列和直连线布线局部布线两个2输入LUT(和)寄存器链输出addnsub进位输出逻辑进位输入逻辑LAB进位输入进位输入0进位输入1进位输出1进位输出0KX康芯科技3.4.2Cyclone系列器件的结构与原理图2-37CycloneLAB结构LE1LE2LE3LE4LE5LE6LE7LE8LE10LE9LE1LE2LE3LE4LE5LE6LE7LE8LE10LE94444444444控制信号局部互连LAB输入信号LUT链和寄存器链LE反馈信号连线2.逻辑阵列块LABKX康芯科技3.4.2Cyclone系列器件的结构与原理图2-38LAB阵列KX康芯科技3.4.2Cyclone系列器件的结构与原理图2-39LAB控制信号生成CLR2CLR1ASYNCLOAD/LABPRESYNCLOADCLK1CLKENA1LAB行Clock至每个寄存器/6CLK2CLKENA2SYNCCLRADDNSUB局部互连局部互连局部互连局部互连局部互连局部互连KX康芯科技3.4.2Cyclone系列器件的结构与原理图2-40快速进位选择链Le1Le2Le3Le4和1和2和3和4A1B1A2B2A3B3A4B4LE4LE2Le3LE101LE3LE5和5A5B5LE6LE7LE801LE9LE10和6和7和8和9和10LAB进位输出A6B6A7B7A8B8A9B9A10B
本文标题:第3章 FPGA CPLD结构与应用
链接地址:https://www.777doc.com/doc-51195 .html