EDA技术与VHDL第3章FPGA/CPLD结构与应用3.1概述输入缓冲电路与阵列或阵列输出缓冲电路输入输出……1。基本PLD器件的原理结构图(乘积项逻辑可编程结构)组合逻辑函数可化为与或表达式,用与门-或门二级电路实现。时序逻辑电路由组合电路加上存储元件构成。2。SRAM查找表结构:逻辑函数发生采用RAM”数据”查找的方式,并使用多个查找表构成一个查找表阵列,称为可编程门阵列(PGA)。3.1概论3.1.1PLD的发展历程熔丝编程的PROM和PLA器件AMD公司推出PAL器件GAL器件FPGA器件EPLD器件CPLD器件内嵌复杂功能模块的SoPC3.1概论3.1.2PLD的分类1。集成度分类可编程逻辑器件(PLD)简单PLD复杂PLDPROMPALPLAGALCPLDFPGA3.1概论3工艺分类1.熔丝(Fuse)型器件。2.反熔丝(Anti-fuse)型器件。3.EPROM型。称为紫外线擦除电可编程逻辑器件4.EEPROM型。电可擦除5.SRAM型。信息放在RAM中,断电丢失,上电再次配置6.Flash型。多次编程,不需重新配置乘积项结构(与-或阵列):CPLD查找表结构(SRAM):FPGA2结构分类3.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基本结构地址译码器存储单元阵列………0A1A1nA0W1W1pW0F1F1mFnp23.2简单PLD原理0111201110110...AAAWAAAWAAAWnnnnPROM中的地址译码器是完成PROM存储阵列的行的选择,其逻辑函数是:3.2简单PLD原理01,011,111,1101,011,111,1100,010,110,10WMWMWMFWMWMWMFWMWMWMFmmpmpmpppp行单元的值列是存储单元阵列第而,其中1121,1pmMpmpnPROM中的存储单元阵列输出,其逻辑函数(乘积项)是:3.2简单PLD原理与阵列(不可编程)或阵列(可编程)………0A1A1nA0W1W1pW0F1F1mFnp2图3-10PROM的逻辑阵列结构3.2简单PLD原理4×2PROM:图3-11PROM表达的PLD阵列图与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0FW0W1W2W33.2简单PLD原理1010AACAAS10AA10AA半加器的布尔表达式(乘积项表达式):图3-12用PROM完成半加器逻辑阵列01110100AAFAAAAF与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F10AA10AA01AA3.2简单PLD原理3.2.3PLA图3-13PLA逻辑阵列示意图与阵列(可编程)或阵列(可编程)0A1A1A1A0A0A1F0F3.2简单PLD原理3.2.3PLA图3-14PLA与PROM的比较0A1A1F0F2A2F0A1A1F0F2A2F3.2简单PLD原理3.2.4PAL图3-15PAL结构图3-16PAL的常用表示0A1A1F0F0A1A1F0F图3-17一种PAL16V8的部分结构图11100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R11100100RQQD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I2078150347812111516192023242728313.2.5GAL207190347812111516192023242728311381518OLMCOLMC41623175243116OLMCOLMC63239157404714OLMCOLMC84855139566312OLMCOLMC11I/CLKIIIIIIIII/OEI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QCLKOE图3-18GAL16V8的结构图3.2简单PLD原理3.2.5GAL:与阵列可编程、或阵列固定、输出部分增加了输出逻辑宏单元OLMC(OutputLogicMacroCell)图3-19寄存器输出结构1.寄存器模式。图3-20寄存器模式组合双向输出结构3.2简单PLD原理3.2.5GAL图3-21组合输出双向结构2.复合模式。图3-22复合型组合输出结构3.2简单PLD原理3.2.5GAL图3-23反馈输入结构3.简单模式。图3-24输出反馈结构图3-25简单模式输出结构MAX7000B包含五个部分:逻辑阵列块、宏单元、扩展乘积项、可编程连线阵列、I/O控制块。每16个宏单元组成一个逻辑阵列块。3.3CPLD的结构与工作原理3.3CPLD的结构与工作原理图3-27MAX7128S的结构1.逻辑阵列块(LAB:LogicArrayBlock)3.3CPLD的结构与工作原理2.宏单元:可配置为时序逻辑和组合逻辑工作方式组成:逻辑阵列、乘积项选择矩阵、可编程寄存器1.全局时钟信号。2.全局时钟信号由高电平有效的时钟信号使能。3.用乘积项实现一个阵列时钟。可编程寄存器的三种时钟输入模式:。3.3CPLD的结构与工作原理图3-26MAX7000系列的单个宏单元结构3.3CPLD的结构与工作原理3.扩展乘积项局部连线共享扩展项提供的“与非”乘积项宏单元的乘积项逻辑宏单元的乘积项逻辑图3-28共享扩展乘积项结构3.扩展乘积项图3-29并联扩展项馈送方式并联扩展项3.3CPLD的结构与工作原理4.可编程连线阵列(PIA:ProgrammableInterconnectArray)图3-30PIA信号布线到LAB的方式5.I/O控制块:可被配置为输入、输出和双向工作方式图3-31EPM7128S器件的I/O控制块3.4FPGA的结构与工作原理3.4.1查找表逻辑结构(LUT:LookUpTable)图3-32FPGA查找表单元查找表LUT输入1输入2输入3输入4输出3.4.1查找表逻辑结构图3-33FPGA查找表单元内部结构3.4.2Cyclone系列器件的结构与原理图3-34CycloneLE结构图3.4.2Cyclone系列器件的结构与原理图3-35CycloneLE普通模式(适合通用逻辑应用和组合逻辑实现)data1addnsubdata2data34-inputLUT4-inputLUTcindata4RegRegsloadsclearaloadclockenaaclr行、列直连线布线LUT链寄存器链行、列直连线布线行、列直连线布线寄存器链输入可编程资源为逻辑阵列块。逻辑阵列块由多个逻辑单元LE组成。LE:LogicElement。逻辑单元:由一个四输入的查找表、进位链逻辑和一个可编程寄存器构成。3.4.2Cyclone系列器件的结构与原理图3-36CycloneLE动态算术模式:加法器、计数器、累加器等同步装载清零逻辑寄存器两个2输入LUT(进位)寄存器控制信号寄存器链输入Data1Data2Data3行、列和直连线布线局部布线两个2输入LUT(和)寄存器链输出addnsub进位输出逻辑进位输入逻辑LAB进位输入进位输入0进位输入1进位输出1进位输出03.4.2Cyclone系列器件的结构与原理图3-37CycloneLAB结构LE1LE2LE3LE4LE5LE6LE7LE8LE10LE9LE1LE2LE3LE4LE5LE6LE7LE8LE10LE94444444444控制信号局部互连LAB输入信号LUT链和寄存器链LE反馈信号连线3.4.2Cyclone系列器件的结构与原理图3-38LAB阵列3.4.2Cyclone系列器件的结构与原理图3-39LAB控制信号生成CLR2CLR1ASYNCLOAD/LABPRESYNCLOADCLK1CLKENA1LAB行Clock至每个寄存器/6CLK2CLKENA2SYNCCLRADDNSUB局部互连局部互连局部互连局部互连局部互连局部互连3.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.4FPGA的结构与工作原理图3-41LUT链和寄存器链的使用3.4.2Cyclone系列器件的结构与原理LE1LutDQDQLE2DQDQLEs3-10LUT链寄存器链Lut3.4FPGA的结构与工作原理图3-42LVDS连接3.4.2Cyclone系列器件的结构与原理Cyclone器件接收器件外接电阻网路外接终端电阻CPLD与FPGA开发应用选择对于普通规模且产量不是很大的产品,使用CPLD。价格便宜、在系统可编程、可固定下载。对于大规模的逻辑设计、ASIC设计或单片系统设计,多采用FPGA。有大规模逻辑资源、低功耗。需要配置ROM芯片。3.5硬件测试技术图3-43边界扫描电路结构,边界扫描测试(BST:BoardScanTest)3.5.1内部逻辑测试3.5.2JTAG边界扫描测试(JointTestActionGroup联合测试行动组,IEEE1149.1-1990边界扫描技术规范)3.5.2JTAG边界扫描测试引脚描述功能TDI测试数据输入(TestDataInput)测试指令和编程数据的串行输入引脚。数据在TCK的上升沿移入。TDO测试数据输出(TestDataOutput)测试指令和编程数据的串行输出引脚,数据在TCK的下降沿移出。如果数据没有被移出时,该引脚处于高阻态。TMS测试模式选择(TestModeSelect)控制信号输入引脚,负责TAP控制器的转换。TMS必须在TCK的上升沿到来之前稳定。TCK测试时钟输入(TestClockInput)时钟输入到BST电路,一些操作发生在上升沿,而另一些发生在下降沿。TRST测试复位输入(TestResetInput)低电平有效,异步复位边界扫描电路(在IEEE规范中,该引脚可选)。表3-1边界扫描IO引脚功能图3-44边界扫描数据移位方式3.5.2JTAG边界扫描测试图3-45JTAGBST系统内部结构3.5.2JTAG边界扫描测试图3-46JTAGBST系统与与FPGA器件关联结构图3.5硬件测试技术图3-47JTAGBST选择命令模式时序3.5.2JTAG边界扫描测试3.5硬件测试技术3.5.2JTAG边界扫描测试TAP控制器的命令模式有:SAMPLE/PRELOAD指令模式EXTEST指令模式BYPASS指令模式IDCODE指令模式USERCODE指令模式3.5.3嵌入式逻辑分析仪3.6FPGA/CPLD产品概述3.6.1Lattice公司CPLD器件系列1.ispLSI器件系列(1)ispLSI1000E系列。(2)ispLSI2000E/2000VL/200VE系列。(3)ispLSI5000V系列。(4)ispLSI8000/8000V系列。ISP:In-SystemProgrammability在系统编程3.6FPGA/CPLD产品概述3.6.1Lattice公司CPLD器件系列ispLSI器件的结构与特点(1)采用U