KX康芯科技EDA技术与VHDL第2章PLD硬件特性与编程技术KX康芯科技KX康芯科技KX康芯科技KX康芯科技PLD-ProgramableLogicDeviceFPGA-FieldProgrammableGateArrayCPLD-ComplexProgrammableLogicDeviceKX康芯科技KX康芯科技KX康芯科技可编程逻辑器件(PLD)传统数字系统由固定功能的标准集成电路构成,如:74/51系列、4000、4500系列等构成。设计无灵活性,芯片种类多数目大。现代数字系统仅由三种标准积木块:微处理器、存储器以及PLD构成,即:CPU+RAM+PLD的模式,PLD是设计的核心PLD—ProgrammableLogicDevice:用户构造逻辑功能KX康芯科技KX康芯科技KX康芯科技2.1PLD概述图2-1基本PLD器件的原理结构图输入缓冲电路与阵列或阵列输出缓冲电路输入输出……KX康芯科技KX康芯科技KX康芯科技2.1.1PLD的发展历程熔丝编程的PROM和PLA器件AMD公司推出PAL器件GAL器件FPGA器件EPLD器件CPLD器件内嵌复杂功能模块的SoPC20世纪70年代20世纪70年代末20世纪80年代初20世纪80年代中期20世纪80年代末进入20世纪90年代后2.1PLD概述KX康芯科技KX康芯科技KX康芯科技2.1.2PLD的分类可编程逻辑器件(PLD)简单PLD复杂PLDPROMPALPLAGALCPLDFPGA图2-2按集成度(PLD)分类2.1PLD概述KX康芯科技KX康芯科技KX康芯科技2.1.2PLD的分类1.熔丝(Fuse)型器件。2.反熔丝(Anti-fuse)型器件。3.EPROM型。称为紫外线擦除电可编程逻辑器件。4.EEPROM型。5.SRAM型。6.Flash型。2.1PLD概述从编程工艺上划分:KX康芯科技KX康芯科技KX康芯科技2.2低密度PLD可编程原理2.2.1电路符号表示图2-3常用逻辑门符号与现有国标符号的对照KX康芯科技KX康芯科技KX康芯科技2.2.1电路符号表示图2-4PLD的互补缓冲器图2-5PLD的互补输入图2-6PLD中与阵列表示图2-7PLD中或阵列的表示图2-8阵列线连接表示KX康芯科技KX康芯科技KX康芯科技2.2.2PROM图2-9PROM基本结构地址译码器存储单元阵列………0A1A1nA0W1W1pW0F1F1mFnp22.2低密度PLD可编程原理KX康芯科技KX康芯科技KX康芯科技2.2.2PROM0111201110110...AAAWAAAWAAAWnnnnPROM中的地址译码器是完成PROM存储阵列的行的选择,其逻辑函数是:2.2低密度PLD可编程原理KX康芯科技KX康芯科技KX康芯科技2.2.2PROM行单元的值列是存储单元阵列第而,其中1121,1pmMpmpn2.2低密度PLD可编程原理01,011,111,1101,011,111,1100,010,110,10WMWMWMFWMWMWMFWMWMWMFmmpmpmpppp……...…KX康芯科技KX康芯科技KX康芯科技2.2.2PROM与阵列(不可编程)或阵列(可编程)………0A1A1nA0W1W1pW0F1F1mFnp2图2-10PROM的逻辑阵列结构2.2低密度PLD可编程原理KX康芯科技KX康芯科技KX康芯科技2.2低密度PLD可编程原理2.2.2PROMPROM芯片中记忆行与记忆列的每一个交点都是靠熔丝将它们连接起来。全部的存储单元都有熔丝,PROM芯片所有存储单元的初始(空白)状态都是1值。若想将单元值变为0,必须使用编程器向存储单元发送一定量的电流烧断熔丝。图2KX康芯科技KX康芯科技KX康芯科技2.2.2PROM图2-11PROM表达的PLD阵列图与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F1010AACAAS2.2低密度PLD可编程原理KX康芯科技KX康芯科技KX康芯科技2.2.2PROM图2-12用PROM完成半加器逻辑阵列01110100AAFAAAAF与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F2.2低密度PLD可编程原理KX康芯科技KX康芯科技KX康芯科技2.2.3PLA图2-13PLA逻辑阵列示意图与阵列(可编程)或阵列(可编程)0A1A1A1A0A0A1F0F2.2低密度PLD可编程原理KX康芯科技KX康芯科技KX康芯科技2.2.3PLA图2-14PLA与PROM的比较0A1A1F0F2A2F0A1A1F0F2A2F2.2低密度PLD可编程原理KX康芯科技KX康芯科技KX康芯科技2.2.4PAL图2-15PAL结构图2-16PAL的常用表示0A1A1F0F0A1A1F0F2.2低密度PLD可编程原理KX康芯科技KX康芯科技KX康芯科技图2-17一种PAL16V8的部分结构图11100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R11100100RQQD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I207815034781211151619202324272831KX康芯科技KX康芯科技KX康芯科技2.2.5GAL2.2低密度PLD可编程原理GAL即通用阵列逻辑器件,首次在PLD上采用了EEPROM工艺,使得GAL具有电可擦除重复编程的特点,彻底解决了熔丝型可编程器件的一次可编程问题。GAL在“与-或”阵列结构上沿用了PAL的与阵列可编程、或阵列固定的结构,但对PAL的输出I/O结构进行了较大的改进,在GAL的输出部分增加了输出逻辑宏单元OLMC(OutputMacroCell)。KX康芯科技KX康芯科技KX康芯科技2.3CPLD的结构与可编程原理CPLD内部结构(Altera的MAX7000S系列)逻辑阵列模块中包含多个宏单元KX康芯科技KX康芯科技KX康芯科技2.3CPLD的结构与可编程原理图2-18MAX7000系列的单个宏单元结构KX康芯科技KX康芯科技KX康芯科技图2-19MAX7128S的结构1.逻辑阵列块(LAB)2.3CPLD的结构与可编程原理KX康芯科技KX康芯科技KX康芯科技2.宏单元全局时钟信号全局时钟信号由高电平有效的时钟信号使能用乘积项实现一个阵列时钟2.3CPLD的结构与可编程原理逻辑阵列MAX7000系列中的宏单元乘积项选择矩阵可编程寄存器KX康芯科技KX康芯科技KX康芯科技3.扩展乘积项局部连线共享扩展项提供的“与非”乘积项宏单元的乘积项逻辑宏单元的乘积项逻辑图2-20共享扩展乘积项结构2.3CPLD的结构与可编程原理KX康芯科技KX康芯科技KX康芯科技3.扩展乘积项图2-22并联扩展项馈送方式共享扩展项并联扩展项KX康芯科技KX康芯科技KX康芯科技4.可编程连线阵列(PIA)图2-22PIA信号布线到LAB的方式2.3CPLD的结构与可编程原理KX康芯科技KX康芯科技KX康芯科技5.I/O控制块图2-23EPM7128S器件的I/O控制块KX康芯科技KX康芯科技KX康芯科技2.4.1查找表逻辑结构图2-24FPGA查找表单元查找表LUT输入1输入2输入3输入4输出2.4FPGA的结构与工作原理KX康芯科技KX康芯科技KX康芯科技2.4.1查找表逻辑结构图2-25FPGA查找表单元内部结构KX康芯科技KX康芯科技KX康芯科技2.4.2Cyclone系列器件的结构与原理图2-26CycloneLE结构图KX康芯科技KX康芯科技KX康芯科技2.4.2Cyclone系列器件的结构与原理图2-27CycloneLE普通模式data1addnsubdata2data34-inputLUT4-inputLUTcindata4RegRegsloadsclearaloadclockenaaclr行、列直连线布线LUT链寄存器链行、列直连线布线行、列直连线布线寄存器链输入KX康芯科技KX康芯科技KX康芯科技同步装载清零逻辑寄存器两个2输入LUT(进位)寄存器控制信号寄存器链输入Data1Data2Data3行、列和直连线布线局部布线两个2输入LUT(和)寄存器链输出addnsub进位输出逻辑进位输入逻辑LAB进位输入进位输入0进位输入1进位输出1进位输出02.4.2Cyclone系列器件的结构与原理图2-28CycloneLE动态算术模式KX康芯科技KX康芯科技KX康芯科技2.4.2Cyclone系列器件的结构与原理LE1LE2LE3LE4LE5LE6LE7LE8LE10LE9LE1LE2LE3LE4LE5LE6LE7LE8LE10LE94444444444控制信号局部互连LAB输入信号LUT链和寄存器链LE反馈信号连线图2-29CycloneLAB结构KX康芯科技KX康芯科技KX康芯科技2.4.2Cyclone系列器件的结构与原理图2-30LAB阵列KX康芯科技KX康芯科技KX康芯科技EAB的大小灵活可变通过组合EAB可以构成更大的模块不需要额外的逻辑单元,不引入延迟,EAB可配置为深度达2048的存储器EAB的字长是可配置的256x8512x41024x22048x1256x8256x8512x4512x4256x16512x8(5)嵌入式阵列块EAB是在输入、输出口上带有寄存器的RAM块,是由一系列的嵌入式RAM单元构成。图3-40用EAB构成不同结构的RAM和ROM输出时钟DRAM/ROM256x8512x41024x22048x1DDD写脉冲电路输出宽度8,4,2,1数据宽度8,4,2,1地址宽度8,9,10,11写使能输入时钟KX康芯科技KX康芯科技KX康芯科技EAB可以用来实现乘法器VS非流水线结构,使用35个LE,速度为34MHz流水线结构速度为100MHz,EAB8890MHz用EAB实现的流水线乘法器操作速度可达90MHz!实例:4x4乘法器+(6LE)+(6LE)+(7LE)8LELELELELELELELELELELELELELELELEKX康芯科技KX康芯科技KX康芯科技2.4.2Cyclone系列器件的结构与原理图2-31LAB控制信号生成的逻辑图CLR2CLR1ASYNCLOAD/LABPRESYNCLOADCLK1CLKENA1LAB行Clock至每个寄存器/6CLK2CLKENA2SYNCCLRADDNSUB局部互连局部互连局部互连局部互连局部互连局部互连KX康芯科技KX康芯科技KX康芯科技2.4.2Cyclone系列器件的结构与原理图2-32快速进位选择链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输入LUTKX康芯科技KX康芯科技KX康芯科技图2-33LUT链和寄存器链的使用2.4.2Cyclone系列器件的结构与原理LE1LutDQDQLE2DQDQLEs3-10LUT链寄存器链Lut2.4FPGA的结构与工作原理KX康芯科技KX康芯科技KX康芯科技图2-34LVDS连接2.4.2Cyclone系列器件的结构与原理Cyclone器件接收器件外接电阻网路外接终端电阻2.4FPGA的结构与工作原理KX康芯科技KX康芯科技KX康芯科技2.5硬件测试技术2.5.1内部逻辑测试在A