![EDA技术LD结构原理_第1页](http://file4.renrendoc.com/view/7f566691281e750e6ea5a24aad9596ef/7f566691281e750e6ea5a24aad9596ef1.gif)
![EDA技术LD结构原理_第2页](http://file4.renrendoc.com/view/7f566691281e750e6ea5a24aad9596ef/7f566691281e750e6ea5a24aad9596ef2.gif)
![EDA技术LD结构原理_第3页](http://file4.renrendoc.com/view/7f566691281e750e6ea5a24aad9596ef/7f566691281e750e6ea5a24aad9596ef3.gif)
![EDA技术LD结构原理_第4页](http://file4.renrendoc.com/view/7f566691281e750e6ea5a24aad9596ef/7f566691281e750e6ea5a24aad9596ef4.gif)
![EDA技术LD结构原理_第5页](http://file4.renrendoc.com/view/7f566691281e750e6ea5a24aad9596ef/7f566691281e750e6ea5a24aad9596ef5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EDA技术PLD基本结构原理1可编程逻辑器件基本结构原理
在上一部分我们提到可编程逻辑器件(ProgrammableLogicDevices,PLD),它是大规模集成电路的产物,是一种半定制的集成电路(可编程),结合EDA技术可快速、方便地构建数字系统。本部分将具体讨论PLD的结构和工作原理。
◆基础部分为教材的CHAPER6;(掌握关键词和基本编程原理)
◆扩展对CPLD的乘积项原理和FPGA的查找表原理进行剖析;
◆最后介绍相关的编程下载测试技术及常用的主流FPGA和CPLD产品。22.1Programmablelogicdevices1.
InternalstructureofPLDsPLD内部结构PLDscontaingatesandflip-flopssothattheinterconnectionbetweenthecomponentscanbealteredtoimplementvariouslogicfunctions.PLD包含门和触发器,改变元件间互连关系得以实现各种逻辑功能。●CombinationallogicPLDsthatcontainingonlybasiclogicgatesareusuallyorganizedasanarrayofANDgatesandORgatesthatimplementsum-of-productexpressions.●组合逻辑PLD只包含基本的逻辑门,一般配置为与、或门阵列实现的积之和表达式。●
SequentiallogicPLDsaddflip-flopstotheoutputs.●时序逻辑PLD,在输出增加了触发器。32.1Programmablelogicdevices无论是何种逻辑形式,PLD都要求通过改变内部互联关系,形成不同的逻辑配置。Whateverlogicarrangement,ageneralrequirementofaPLDistohaveameansofchangingtheinterconnectionstoform
adifferentlogicconfigurationThePrincipleStructureofaSimplePLDForExample42.1Programmablelogicdevices2.
DevelopmentofPLDsPLD的发展Theoriginalmethodwastomanufacturethedeviceswithsemiconductorfuses.Initiallytheyareintactwithinthedevicewhichprovidesextensiveinterconnections.Selectedfusesarethen“blown”bytheusertoobtainthedesiredinterconnectionsusingspecialPLDprogrammer.最早制备PLD的方法是采用半导体熔丝。出厂时器件内所有熔丝是连通的,可提供多种互联关系。使用专用的PLD编程器,由用户选择“烧断”哪些熔丝,获得所需的互联关系。Onceafuseisblown,theconnectioncannotberemade.Therefore,theyarenotre-programmable.熔丝一旦烧断,不可恢复。因此,他们是不可重编程的。52.1Programmablelogicdevices现在,可编程PLD采用的是半导体可擦除只读存储器技术。Now,programmablePLDsareavailablewhichusesemiconductorerasableread-onlymemorytechnology.Theconnectionsdependuponstoredbinaryinformation.Amemorycellexistsateachconnectionpointtostorea0tomaintainaconnectionora1todisableaconnection.(连接点)是否连接取决于存储的二进制信息。(阵列的)每个交叉点都制作存储元件,0表示保持连接,1表示断开。Semiconductormemory-basedPLDsprovidethecapabilitytoaltertheinterconnectionsrapidlyandmanytimes.基于半导存储器的PLD可快速、多次修改内部连接。62.1Programmablelogicdevices制造商还生产固定连接的PLD。要实现固定连接,必须创建专用集成电路的掩膜(文件)。ManufacturersalsoproducePLDswithpermanentconnections.Toachievethefixedconnections,specificintegratedcircuitmasksmustbecreated.Summaryone-timeprogrammabletype(一次性可编程型)
usingsemiconductorfuses(采用半导体熔丝技术)
beusedforasmallproductionrun(用于小批量生产)Re-programmabletype(可重复编程型)
memorytechnology(采用存储技术)
beusedforexperimention
(用于研发)manufacturedPLDstype(掩模型)
Manufacturerconnections(掩模连接技术)
beusedforalargeprodutionrun(用于大批量生产)ThreetypeofPLDs7
2.2CombinationalcircuitPLDs
(组合电路PLD)Programmablelogicarrays
PLAsTheinterconnectionstructureforacombinationalcircuitPLDisatwo-dimensionalarraywithprogrammableconnectionsatthecrossoverpoints.可编程逻辑阵列
---PLA组合电路PLD是由交叉点可编程连接的两维阵列构成。8
2.2CombinationalcircuitPLDsSimplifiedfieldprogrammablelogicarraydiagram简单现场可编程逻辑阵列示意图APLAwith16inputsand8independentoutputs
一个16输入8独立输出的PLA32输入,乘积项48输入和项积之和9
2.2CombinationalcircuitPLDsEachoutputcanproduceasum-of-productexpressionconsistingofupto48productterms,andeachproducttermcanhaveupto16inputvariablesortheirinverse.ThenumberofproducttermsisdeterminedbythenumberofANDgates,andthenumberofvariablesineachproducttermisdeterminedbythenumberofinputstothecircuit.Thecrossoverconnectionsaredonewithasemiconductorfuseinserieswithadiodetoformtheinputofagate.每路输出为最多48个乘积项之和组成,每个乘积项有最多16个输入量或其反相输入。乘积项数量决定于与门的数量,每个乘积项输入量,决定于(集成)电路的输入引脚数量。半导体熔丝与二极管串联,实现交叉点连接,构成逻辑门输入102.2CombinationalcircuitPLDsTherearefourconditionsforeachinputvariables.(a)Un-programmedstate:Boththetrueandinversevariablesconnectionsareleftintact.(b)Truevariableselected:Thetruevariableisselectedbyremovingtheinverseconnection.(c)Inversevariableselected:Theinversevariableisselectedbyremovingthetrueconnection.(d)Novariableselected:Bothconnectionsareremoved.(a)未编程程状态态原变量量和反反变量量均被被完整保留(连接)(b)选择原原变量量断掉反反变量量连接接,来来选择择原变变量(c)选择反反变量量断掉原原变量量连接接,来来选择择反变变量(d)未选择择变量量断掉所所有变变量每个输输入变变量有有四种种接入入情况况(a)(b)(c)(d)112.2CombinationalcircuitPLDsExp1:UsingaPLAtogeneratethefunctionf1=ABCf2=AB+BCTheX’sindicatetheconnectionsareleftintact.APLAisbestusedwhenseveralsum-of-productexpressionsarerequired,especiallyifthesum-of-produtexpressionshavemanymoretermsthanaregiveninthisexample.例1:用PLA实现以以下功功能f1=ABCf2=AB+BCX表示完全连连接当需要要实现现多个个积之之和时时,特特别是是式中中含有有比上上例更更多的的乘积积项时时,使使用PLA最合适适。上图有有误!!!!!122.2CombinationalcircuitPLDsExp2:ToimplementthefunctionIfafunctiontobeimplementedisnotinsum-of-productform,itneedstobeconvertedintothisform.PLDsoftwareisavailablewhichwillconvertBooleanexpressionsintotheappropriateform.如要实现的功能能不是是积之之和形形式,,则需需要转转换成成积之之和形形式。。例2:实现现如下下功能能PLD软件就就是用用于将将布尔尔表达达式转转换为为适合合的表表达形形式。。Expandintosum-of-productform:展开转化成成积之之和形形式::132.2CombinationalcircuitPLDsProgrammablearraylogicPALPALhasonlyprogrammableconnectionstotheinputsoftheANDgates.InaPAL,eachANDgateisdirectlywiredtooneinputofoneORgate.Afixednumberofproductterms,greatlysimplifyingdesignandimprovingoperationspeedThePLAhasbothprogrammableconnectionstotheinputstoANDgatesandORgates.Programmableconnectionsincuragreaterdelaythandirectwiredconnections.PLA采用了可编程程的与阵列和和可编程或阵阵列,而可编编程连接要比比直接固定连连接产生的迟迟延时间长得得多。PAL只用可编程与与门阵列,每每个与阵列固固定与或阵列列连接。可编程阵列逻逻辑--PAL乘积项数目固固定,大大简简化设计,提高运算速度1416--Maximumof16variablesPAL16L8isanexampleofacombinationalcircuitPAL.L—Theoutputsareinverted(low)8--Maximumof8outputFeature:sharedwithFeedbackThree-statebufferOutputareinverted三态控制乘积项三态门无反馈152.2CombinationalcircuitPLDsThereisamaximumof16inputsand8outputs,someoutputsaresharedwithinputs.PAL16L8Theoutputsareprovidedwiththree-statebufferswhichcanbeenabledbyaproductfunctionoftheinputsandfeedbackvariables.Thesharedinput/outputconnectionscanbeusedasinputswhentheoutputsaredisabled.最多16路输入8路输出,有些些输入端与输输出端复用。。输出具有三态缓冲,由输入变量量和反馈变量量的一个乘积积项控制。当(三态缓冲冲)输出为高高阻态时,输输入/输出复用端可作为输入入端使用。162.2CombinationalcircuitPLDsThedevicesthateitheractive-loworactive-highoutputscanbeprogrammedbyincorporatingaprogrammabletrue/inversecircuitarecalledgenericarraylogicdevices(GAL).Theprogrammingconnectionleftintactwillcreateatrueoutput,Otherwise,aninverseoutput.True/inverseoutputcircuit用一组合的可编程源码码/反码输出电路路,使输出可可编程为低有有效或高有效效输出,则这这种器件称为为通用阵列逻辑辑(GAL)归通用PAL类可编程点连接接,则为源码码输出,断开开则为反码输输出。ThesimplestOutputLogicMacroCell最简单的输出出逻辑宏单元元(OLMC)comeunderthecategoryofuniversalPALs172.3SequentialcircuitPLDsPLA/PALscanbeusedtocreatesequentialcircuits.Thefeedbackconnectionscould,theoretically,beusedtoproduceflip-flops.Separateflip-flopscouldbeemployedtocreateasequentialcircuit,andsuchPLDsthatincorporatethefilp-flopsintoaPLD,calledregisteredPLDs.PLA/PALs可用于创建时时序电路。从理论上说,反馈连接能能产生触发器器。1.RegisteredPLDsInregisteredPLDs,flip-flopsareintegratedintothedevice.Alltheoutputsareclockedbyasingleclocksignal.使用单独的触发器生成时时序电路,并并把触发器集集成在PLD器件内,这种种PLD称为寄存器型PLD。寄存器型PLD寄存器型PLD集成触发器,,所有输出变变化受同一时钟信号号控制。SynchronoussequentialcircuitusingPLA/PAL182.3SequentialcircuitPLDsEg.RegisteredPLDsPAL16R68independentinputs6D-typeflip-flops2PAL16L8input/outputsAmaximumof8producttermsinthesum-of-productexpressions.Forstatemachine(状态机)8(Max)xinputs6y/Ystatevariables2separatesum-of-productZoutputsxyYZ192.3SequentialcircuitPLDsExp3:Designasynchronouscounterwhichfollowsoneoftworepeatingsequence,dependentuponacontrolinput,C.whenC=0,thesequenceis00,01,11whenC=1,thesequenceis00,11,01DesignwithPAL16R8设计一一同步计数器器,用用输入入C控制产产生两两组重重复序序列::当C=0序列为为00,01,11当C=1序列为为00,01,11用PAL16R8设计实实现04/101/002/013/11001110or1摩尔型状态图
Presentstatenextstatey1y2Y1Y2D1D2C=0C=1C=0C=10001111000011100001111000111101000001111状态分配表PAL16R8为反码码输出出202.3SequentialcircuitPLDs注:蕴蕴含项项与书书上不不同是是因1y2=01时切入入序列列点不不同。。导致最最终生生成不不同的的逻辑辑硬件件。001100011110010101y1y2CD2D-typeflip-flopinputfunction101100011110011101y1y2CD1D触发器器输入入函数数212.3SequentialcircuitPLDsCounterusingregisteredPLDs用寄存存器型型PLD设计的的计数数器ConnectionstounusedANDgatesnotshown*(未用应应连接接)222.3SequentialcircuitPLDs2.MacrocellsMacrocellsarerepeatedcircuitsinsideaPLDwithselectablefunctions.Anexampleofamacrocellwhichcanselecteitheraflip-flopoutputorthecombinationalAND-ORfunctionasthedeviceoutputorfeedbackinput.Examplemacrocellwithburied(隐埋埋)flip-flops2.宏单元元宏单元元是PLD内部功功能可可设置置的、、重复复性电电路单单元。。这个宏宏单元元例子子,可可以选选择器器件输输出是是触发发器输输出还还是组组合与与-或函函数数的的输输出出,,还还可可选选择择其其一一为为反反馈馈信信号号。。隐埋埋触触发发器器多路路选选择择器器232.3SequentialcircuitPLDsTheflip-flopthatisphysicallyfurtherfromitsoutputpinandintegratedintothemacrocelliscalledburiedflip-flop.
Examplemacrocellwithburiedflip-flopsTwomultiplexersarecontrolledbytheprogrammableconnections.Whenitisleftintact,theinput0isselected.Whenitisremoved,theinput1isselected.集成成在在输输出出宏宏单单元元内内的的、、不与输输出出引引脚脚相连连的触触发发器器,,称称为为“隐隐埋埋””触触发发器器。隐埋埋触触发发器器多路路选选择择器器两个个多多路路选选择择器器可可编编程程连连接接点点控控制制。。连连接接点点接接通通是是0选择择,,断断开开是是1选择择。。242.4PLDprogrammingtoolsThispartisforself-study252.5Usingread-onlymemories用只只读读存存储储器器设设计计电电路路1.Read-onlymemories(ROM)Read-onlymemory(ROM)isatypeofmemorywhosecontentsarenormallyonlyaccessedforreadingbutnotaccessedforwriting.Non-volatile:theinformationisnotlostwhenthepowerisremoved.Primaryuse:toholdinformationthatmustbepresentwhenthecomputersystemisswitchedon.只读读存存储储器器(ROM)只读读存存储储器器是是存存储储内内容容只只出出不不能能改改写写的的存存储储器器。。非易易失失性性:即断断电电后后存存储储信信息息不不会会丢丢失失。。主要要用用途途:存放计计算机系系统启动动时所需需的(初初始化))信息。262.5Usingread-onlymemories2.Structureofread-onlymemoriesThebasicstructureofaread-onlymemoryconsistsofatwo-dimensionalarrayofmemorycells,eachcellstoringthevalueofonebinarydigitasshownbelow.Eachcellhasuniquepositioninthearraygivenbyarowandacolumnaddress.只读存储储器的基基本结构构是两维维存储单单元阵列列,每个个单元都都存储一一2进制数字字信息,,如下图图。阵列中每每个存储储单元都都有由行行和列决定的唯一地址。。272.5Usingread-onlymemories3.Typesofread-onlymemoriesFixedROMThestoredinformationcanneverchangeaftermanufacture.ProgrammableROM(PROM)ErasablePROM(EPROM)ThereareseveraltypesofROMswhoseinformationcanbealteredbyerasingthestoredinformationandwritingnewinformationintothecells.Theyare:固定只读存储储器在出厂后存储储器中存储的的信息无法改改变。还有下面一些些类型只读存存储器,存储储内容可擦除除并重新写入入:可编程只读存存储器可擦除可编程程只读存储器器也叫One-TimeProgrammable(OTP)ROM““一次可编程只只读存储器””通过紫外线照照射擦除其内内的数据ElectricallyErasablePROM(E2PROM)电可擦除可编编程只读存储储器282.5Usingread-onlymemories4.ReadthestoredinformationArowaddressisprovidedtoselectallthecellsontherow.Acolumnisselectedwithacolumnaddresstofinallyselectthememorycell.SelecttherequiredmemorycellReadthestoredinformationThestoredinformationpassesfromthecelldownthecolumntoasingleoutputpin.读取存储内容容选择需要的存存储单元给出行地址从存储阵列中中选中某一行行,在给出列地址,从选中的一一行中最终选选出一个存储储单元。读出存储信息息存储单元里的的数据经列送到某一输输出引出端。。292.5Usingread-onlymemories5.ImplementcombinationallogicfunctionsAstheoutputvaluesdependuponthecontentsofthememorycellsselectedbytheinputs.Hence,thememorycanbeusedtoimplementcombinationallogicfunctions.Exp4:Supposethecombinationalfunctiongivenistobeimplementedinaread-onlymemory.实现组合逻辑辑函数因为输出值是是由输入(地址)选择的存储器器单元的存储内容,所以,存储储器可用来实实现组合逻辑辑函数。例4:用只读存储储器实现给定定的组合函数数。302.5Usingread-onlymemoriesTruthtableoffunctionforROMimplementation用ROM实现的函数真真值表312.5Usingread-onlymemoriesTheROMwillhaveexactlythesamecontentsofthetruthtable,asshownbelow.该ROM正是是真值表相同同的内容,如如下所示:322.5Usingread-onlymemoriesASmanyROMhavea×norganization,clearlysuchROMwouldbesuitableformultiplefunction.Ifn=8,wecouldhave8independentfunctionsoftheinputs,inasimilarmannerastheindependentfunctionsthatarepossiblefromPLDs.一般ROM有×n结构,明显,这样样的ROM适合多函数应用。如n=8,我们可得得到8个独立输入的函数数,类似使使用PLD实现的独立立函数。Evenifwedonotuseallnoutput,itstillmaybeacost-effectivesolution.就算不完全全使用数据据位宽n,这种方法法也是低成本、经经济的解决决方案。OnedisadvantageofusingROMisthattheytendtobemuchslowerinoperationthanPLDsorbasicgates.使用ROM设计电路的的缺点之一就是运运算速度往往比PLD和基本逻辑辑门慢得多。33Summary1、TheconceptofaPLD2、ThedifferencebetweenPLAandthePAL3、RegisteredPLDs4、Thegenericarraylogicdevice(GAL)5、Theburiedflip-flop6、FunctiondesignsthatcanbeimplementwithPALs7、Macrocells8、Usingread-onlymemoryasacombinationallogiccircuit答案见注释释栏34ExercisePALPLA与阵列可编程或阵列可编程与阵列可编程或阵列固定35ExerciseA2A1A0000只=0Y0001只=0Y1111只=0Y7输出三八译码器真值表……A2A1A0Y0Y1Y7A2A1A0A2A1A00120AAAY++=用PLA实现三八译译码器36Exercise例:用PAL阵列实现该该式Y=ABC37ExerciseP193Tutorialquestions(教程习题题)6.16.2382.6FPGA/CPLD结构与原理理(增)1)不论简简单还是复复杂的数字字电路都是是由基本门门构成,如如与、或、、非、传输输门等。2)由基本本门可构成成两类数字字电路:一类是组合合电路,在在逻辑上输输出总是当当前输入状状态函数一类是时序序电路,输输出是当前前系统状态态与当前输输入状态函函数,它含含有存储元元件。3)任任何何的的组组合合逻逻辑辑函函数数都都可可以以化化为为““与与-或””表表达达式式,,任何何时时序序电电路路都都可可由由组组合合电电路路加加存存储储元元件件(锁存存器器、、触触发发器器、、RAM)构构成成。。由此此提提出出PLD的基基本本电电路路机机构构::乘积积项项逻逻辑辑可可编编程程结结构构。。1、、总总结结前前面面的的讲讲述述::392.6FPGA/CPLD结构构与与原原理理((增增))与-或或结结构构组组成成的的PLD器器件件功功能能比比较较简简单单,,此此后后从从ROM的的工工作作原原理理中中得得到到启启发发,,构构造造出出另另一一种种可可编编程程的的逻逻辑辑结结构构::可编编程程门门阵阵列列((ProgrammableGateArray,PGA):是SRAM查找找表表的的逻逻辑辑形形成成方方法法,,它它的的逻逻辑辑函函数数发发生生采采用用ROM““数据据””查查找找的的方方式式,,并并使使用用多多个个查查找找表表构构成成一一个个查查找找表表阵阵列列。。2、、PLD的的发发展展◆以以乘乘积积项项结结构构方方式式::PLAPALGAL采用大大规模模集成成电路路EPLDCPLD◆以查查找表表结构构方式式:ROMPROM采用大大规模模集成成电路路FPGA◆90年代后后,出出现了了内嵌嵌复杂杂功能能模块块(如如加法法器、、乘法法器、、RAM、CPU核、DSP核、PLL等)的的SOPC40可编程程逻辑辑器件件的发发展历历程70年代80年代90年代PROM和PLA器件改进的的PLA器件GAL器件FPGA器件EPLD器件CPLD器件内嵌复复杂功能模模块的SoPC2.6FPGA/CPLD结构与与原理理(增增)413、PLD分类2.6FPGA/CPLD结构与与原理理(增增)1)按集集成度度分类类((参照照对象象GAL22V10)低集成成度芯芯片:可用的的逻辑辑门数数大约约在500门以下下,称称简单单PLD高集成成度芯芯片:可用的的逻辑辑门数数在500门以上上,称称复杂杂PLD可编程逻辑器件(PLD)简单PLD复杂PLD(P)ROMPALPLAGALCPLDFPGA大部分已淘汰423、PLD分类2.6FPGA/CPLD结构与与原理理(增增)2)从结结构上上分类类乘积项项结构构器件件:基本结结构为为“与与-或”的的器件件,大大部分分简单单PLD和CPLD都属于于。查找表表结构构器件件:由简单单的查查找表表组成成可编编程门门,在在构成成阵列列形式式。大大多数数FPGA属于此此类器器件433、PLD分类2.6FPGA/CPLD结构与与原理理(增增)3)从编编程工工艺分分类1.熔丝(Fuse)型器件件:出厂时时连通通,编编程时时根据据需求求断开开连接接。2.反熔丝丝(Anti-fuse)型器件件:出厂时时断开开,编编程时时根据据需求求连接接。3.EPROM型:紫外线线擦除除电可可编程程逻辑辑器件件。较较高电电压编编程。。4.EEPROM型:即电可可擦写写编程程器件件,现现大部部分CPLD及GAL均是。。5.SRAM型:即SRAM查找表表结构构的器器件。。大部部分FPGA均采用用。编编程信信息存存于RAM中,断断电后后消失失,上上电需需专用用专用用器件件完成成再配配置。。但编编程速速度、、编程程要求求优于于前四四种。。6.Flash型:非易失失存储储器型型,采采用Flash工艺的的FPGA,既可可重复复编程程又可可掉电电后不不需要要重新新配置置。EPROM型如不不留用用于紫紫外线线照射射的石石英窗窗口,,则和和熔丝丝型、、反熔熔丝型型一样样,只只能编编程一一次,,又被被合称称为OTP器件,,即一一次性性可编编程器器件((OneTimeProgrammableDevice)。443、PLD分类2.6FPGA/CPLD结构与与原理理(增增)4)从互互连结结构上上分类类::确定型型和统统计型型两类类。确定型型PLD:提供的的互连连结构构每次次用相相同的的互连连线实实现布布线,,所以以,这类PLD的定时时特性性常常常可以以从数数据手手册上上查阅阅而事事先确确定。这类类PLD是由PROM结构演演变而而来的的,目目前除除了FPGA器件外外,基基本上上都属属于这这一类类结构构。统计型型PLD:是指设设计系系统每每次执执行相相同的的功能能,却却能给给出不不同的的布线线模式式,一一般无无法确确切地地预知知线路路的延延时。。所以以,设计系系统必必须允允许设设计者者提出出约束束条件件,如关键键路径径的延延时和和关联联信号号的延延时差差等。。这类类器件件的典典型代代表是是FPGA系列。。454、CPLD结构与与工作作原理理2.6FPGA/CPLD结构与与原理理(增增)CPLD:ComplexProgrammableLogicDevice复杂可可编程程逻辑辑器件件。4.1CPLD的基本本结构构早期CPLD是从PAL、GAL的结构构扩展展而来来。●一个个可编编程的的与阵阵列和和固定定的或或阵列列、乘积项项选择择矩阵阵、一个可可配置置寄存存器组组成宏单元元(Macrocells)●宏单元元通过过共享扩扩展和和并联联扩展展乘积积项,构成复复杂逻逻辑函函数。。●每16个宏单单元组组成一一个逻辑阵阵列块块(LogicArrayBlock,LAB)●用全局局总线线可编程程连线线阵列列(PragrammableInterconnectArray,PIA),把LAB连接起起来。。●通过过I/O控制块块实现不不同的的输出出方式式。在流行行的CPLD中,Altera的MAX7000系列器器件具具有典典型性性462.6FPGA/CPLD结构与与原理理(增增)Altera的MAX7000系列CPLD的内部部基本本结构构472.6FPGA/CPLD结构与与原理理(增增)4.2宏单元元(Macrocells)PRNCLRN逻辑阵列全局清零共享逻辑扩展项清零时钟清零选择寄存器旁路并行扩展项通往I/O模块通往PIA乘积项选择矩阵来自I/O引脚全局时钟QDEN来自PIA的36个信号快速输入选择2MAX7000系列CPLD的单个个宏单单元结结构482.6FPGA/CPLD结构与原原理(增增)4.2宏单元(Macrocells)宏单元由由3个功能块块组成::1逻辑阵列列:实现组合合逻辑,,可为宏宏单元提提供5个乘积项项。2乘积项选选择矩阵阵:分配乘积积项作为为到或门门和异或或门的主主要逻辑辑输入,,以实现现组合逻逻辑函数数。可分配一一乘积项项作为共共享反馈馈回逻辑辑阵列可通过““并行扩扩展”乘乘积项从从邻近宏宏单元借借位。或把这些乘乘积项作作为宏单单元中寄寄存器的的辅助输输入:清零(clear)、置位位(preset)时钟(clock)、时钟钟使能((clockenable)3可编程寄寄存器::可单独被被配置成成带有可可编程时时钟控制制的D、T、JK或SR触发器方方式,也也可以将将寄存器器旁路以以实现组组合逻辑辑工作方方式。492.6FPGA/CPLD结构与原原理(增增)4.2宏单元(Macrocells)每个可编编程寄存存器可按按3种时钟输输入模式式工作::1)全局时钟钟:该模式能能实现最最快的时时钟到输输出(ClocktoOutput)性能,,这时全全局时钟钟输入直直接连向向每一个个寄存器器的CLK端。2)全局时钟钟信号由由高电平平有效的的时钟信信号使能能:这种模式式提供每每个触发发器的时时钟使能能信号((全局)),仍使使用全局局时钟,,输出速速度较快快。3)用乘积项项实现一一个阵列列时钟::这种模式式下,由由宏单元元内或I/O引脚的信信号提供供触发器器时钟,,速度稍稍慢,可可实现异步步时序逻逻辑。每个寄存存器支持持异步清清零和异异步置位位功能。。由矩阵选选择乘积积项控制制。每个寄存存器的复复位端可可由低电电平有效效的全局复位位专用引引脚GCLRn信号驱动。502.6FPGA/CPLD结构与原原理(增增)4.3逻辑阵列列块(LogicArrayBlock,LAB)由16个宏单元元的阵列列组成一一个逻辑辑阵列块块(LAB)CPLD结构是由由多个LAB通过及它它们之间间的连线线构成。。LAB通过可编编程连线线阵列和和全局总总线连接接。全局总线线从所有有的专用用输入、、I/O引脚和宏宏单元馈馈入入信号。。每个LAB,输入信信号来自自3个部分::通用逻辑辑输入的的PIA的36个信号;;全局控制制信号,,用于寄寄存器辅辅助功能能;从I/O引脚到寄寄存器的的快速输输入通道道。MAX7128S的结构512.6FPGA/CPLD结构与原原理(增增)4.4扩展乘积积项(Expansionofproductterms)大部分逻逻辑函数数能够用用宏单元元的5个乘积项项实现,,但更复复杂的逻逻辑函数数需要附附加乘积积项。可可以利用用(提供供)其他他宏单元元提供((所需))的逻辑辑资源,,即“扩扩展项””,具有有共享和和并联扩扩展乘积积项。共享扩展展项:每个LAB有16个共享扩扩展项,,通过一一反相器器反馈到到逻辑阵阵列中,,可被LAB内任何一一个或全全部宏单单元使用用和共享享,以便便实现复复杂的逻逻辑函数数。采用共享享扩展项项后会增增加一个个短的延延时。522.6FPGA/CPLD结构与原原理(增增)4.4扩展乘积积项(Expansionofproductterms)并联扩展展项:并联扩展展项是宏宏单元中中一些没没被使用用的乘积积项,可可分配到到邻近的的宏单元元去实现现快速、、复杂的的逻辑函函数。一个宏单单元可通通过级联联方式从从所在LAB中借用其其他15个并联扩扩展项,,加上自自己的5个乘积项项,最多多可获得得20个乘积项项。需要扩展展时,或或逻辑输输出通过过一选择择器,送送往下一一个宏单单元的并并联扩展展或逻辑辑输入端端。532.6FPGA/CPLD结构与原原理(增增)4.5可编程连连线阵列列(PragrammableInterconnectArray,PIA))PIA是全局总总线,一一种可编编程的通通道,把把器件中中任何信信号连接接到其目目的地。。器件的专专用输入入、IO引脚和宏宏单元的的输出都都连接到到PIA,PIA把这些信信号送到到整个器器件的各各个地方方。器件内不不同LAB通过在PIA上布线,,以互相相连接构构成所需需逻辑,,只有每每个LAB需要的信信号才从从PIA连线到LAB。通过EEPROM单元元控制与与门的一一个输入入端,选选择一PIA信信号驱动动LAB542.6FPGA/CPLD结构与原原理(增增)4.6I/O控制块(I/OControlBlock)I/O控制块是是控制每每个I/O引脚被配配置成输输入、输输出和双双向等工工作方式式。所有I/O引脚都有有三态缓缓冲器,,由多路路选择器器选择全全局输出出信号之之一,如如EPM7128有6个信号,,可编程程来自::输出使能能OE1、OE2I/O引脚子集集I/O宏单元子子集以上信号号的取反反信号另外,选选择接地地,输出出高阻,,可可作作输入引引脚选择VCC,输出引引脚另有开漏漏输出控控制555、FPGA的结构与与工作原原理2.6FPGA/CPLD结构与原原理(增增)FPGA:FieldProgrammableGateArray现场可编编程门阵阵列前面所述述GAL、CPLD等都是基基于乘积积项的可可编程结结构。FPGA使用可编编程查找表((LookUpTable,LUT)结构,LUT是其可编编程的最最小逻辑辑构成单单元。562.6FPGA/CPLD结构与原原理(增增)5.1查找表逻逻辑结构构查找表逻逻辑结构构就是采用存储储器构成成逻辑函函数发生生器,一一个N输入的查查找表((LUT)可以实实现N个输入变变量的任任何逻辑辑功能。。大部分FPGA采用基基于SRAM(静态随随机存储储器)的的查找表表逻辑结结构基本原理理:任何逻辑辑函数功功能都可可以真值值表的形形式表达达,N输入的逻逻辑函数数最大有有2N个结果。。即用2N位存储器器单元即即可实现现对N个输入的的逻辑函函数真值值表存储储,以输输入变量量做地址址,寻址址存储器器即得到到逻辑函函数对应应的输出出结果。。572.6FPGA/CPLD结构与原原理(增增)5.1查找表逻逻辑结构构N个输入的的逻辑函函数需要要2N个位容量量的存储储器实现现,N不可能很很大,否否则利用用率很低低,输入入多于N的逻辑函函数须用用多个查查找表分分开实现现。图FPGA查找表单单元内部部结构Xilinx的XC4000系列、Spartan系列,Altera的FLEX10K、ACEX、APEX、Cyclone等系列都都是典型型的采用用SRAM查找表结结构的FPGA。582.6FPGA/CPLD结构与原原理(增增)5.2FIEX10K内部结构构以典型的的Altera的FLEX10K系列为例例,介绍绍FPGA的结构与与工作原原理。FIEX10K主要由逻辑阵列列块(LAB)完成主要要逻辑功功能嵌入式阵阵列块((EAB)内RAM,完成存存储相关关的复杂杂逻辑快速通道道(FastTrack)器件内布布线通道道I/O单元器件I/O引脚驱动动时钟锁定定和时钟钟自举四部分组组成嵌入式阵列块快速通道互连逻辑阵列块(LAB)IOCIOCIOCIOCEABEABIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOC592.6FPGA/CPLD结构与原原理(增增)5.2FIEX10K内部结构构LAB构成FIEX10K的粒度((grained)结构;每每个LAB由8个最小逻辑单元元LE、相联的进进位链和和级联链链、LAB控制信号号、LAB局部互联联等构成。。(1)逻辑阵列列块(LAB)按照逻辑辑功能块块的大小小FPGA相对CPLD而言分为细细粒度结构构细粒度结构构:逻辑功能块块较小,仅仅由几个晶晶体管组成成类似于门门阵列基本本单元。优优点是功能能块的资源源可在实际际工程中被被完全利用用。缺点是是完成复杂杂逻辑功能能需要大量量连线和开开关,因而而速度较慢慢;粗粒度结构构:逻辑块规模模大功能强强,完成复复杂逻辑门门只需要较较少的功能能块和内部部连线,可可以获得较较好的性能能,缺点是是功能块的的资源不能能被充分利利用。602.6FPGA/CPLD结构与原理理(增)5.2FIEX10K内部结构------逻辑阵列块块(LAB)逻辑单元LE数据1LE输出级联链进位链查找表
(LUT)清零和预置逻辑时钟选择进位输入级联输入进位输出级联输出Lab控制1Lab控制2全器件清零数据2数据3数据4Lab控制3
Lab控制4CLRNDQ通往局部阵列反馈通往快速通道一个4输入LUT:实现4人1出任意逻辑辑函数一个触发器器:可编程设置置成D、T、JK、RS触发器,带带同步使能能。其时钟钟、清零、、置位可由由全局信号号、通用I/O引脚或内部部逻辑驱动动,也可旁旁路实现组组合逻辑。。一个进位链链(Carry-In):用来支持高高速计数器器、加法器器、比较器器。一个级联链链(Cascade-In):可实现更多多输入逻辑辑函数两个输出:一个驱动局局部互联,,另一个驱驱动行或列列的快速通通道,可单单独控制,,使触发器器和LUT完成不相关关的功能,,提高LE的利用效率率。612.6FPGA/CPLD结构与原理理(增)5.2FIEX10K内部结构------逻辑阵列块块(LAB)逻辑单元LE中的进位链链和级联链链是两种专专用高速数数据通道,,可连接所所在LAB中的所有LE,和同一行行的所有LAB。DFF进位输入(来自上一个逻辑单元)S1LE1查找表LUT进位链DFFS2LE2A1B1A2B2进位输出(到LAB中的下一逻辑单元)进位链查找表LUT进位链连通通LAB中的所有LE进位链提供LE之间快速的的向前进位位功能,来来自低位的的进位信号号:●直接向前前送到高位位●同时馈入入LUT和进位链下下段这使得能够够实现高速速计数器、、加法器和和宽位比较较器。622.6FPGA/CPLD结构与原理理(增)5.2FIEX10K内部结构------逻辑阵列块块(LAB)逻辑单元LE两种不同的的级联方式式级联链用来来实现多扇扇入数的逻逻辑函数。相邻的的LUT用来并行完完成部分逻逻辑功能,,级联链把把中间结果果串接起来来。可设为“与与”级联或或者“或””级联“与”级联链链“或”级联链链LUTLUTIN[3..0]IN[4..7]LUTIN[(4n-1)..4(n-1)]LUTLUTIN[3..0]IN[4..7]LUTIN[(4n-1)..4(n-1)]LE1LE2LEnLE1LE2LEn0.6ns2.4ns16位地址译码码速度可达达2.4+0.6x3=4.2ns632.6FPGA/CPLD结构与原理理(增)8个逻辑单元LE、相联的进位位链和级联联链、LAB控制信号、、LAB局部互联等构成LAB。FLEX10KLAB结构图642.6FPGA/CPLD结构与原理理(增)5.2FIEX10K内部结构(2)快速通道((FastTrack)遍布整个器器件,连通通LE和I/O,是一系列水平和垂直直走向的连连续式布线线通道。优点是可可预测其延延时性能。。其他部分分采用分段式连线线结构,用开关矩矩阵把若干干短通道连连接,布线线工作更容容易,但延延时难预测测,设计性性能下降。652.6FPGA/CPLD结构与原理理(增)5.2FIEX10K内部结构(3)I/O单元(I/OCell,IOC)与专用输入入端口器件的I/O引脚由IOC驱动,位于于快速通道道的行和列列末端,包包含一双向向I/O缓冲器和一一寄存器。。▲引脚可被被配置为输输入、输出出或双向I/O功能;▲寄存器可可用作快速速外数据输输入寄存器器;▲支持三态态缓冲和集集电极开路路输出;▲每个IOC的时钟、清清零、时钟钟使能和输输出使能均均由周边总线的I/O控制信号网网络提供;;高速驱动动。▲特殊功能能:JTAG编程、摆率率控制▲有4个引脚可直直接驱动周周边总线中中4个全局信号号,(内部部逻辑也可可驱动这4个全局信号号)。比快快速通道更更短延迟和和更小偏移移。66IO单元结构图图672.6FPGA/CPLD结构与原理理(增)5.2FIEX10K内部结构(4)嵌入入式阵列块块(EmbeddedArrayBlock,EAB)是在输入、、输出口上上带有寄存存器的RAM块,是是由一系列列的嵌入式式RAM单单元构成。。▲每个EBA可提供2048个位,字长长可配置,每个EBA是独立结构构,但具有有共同的输输入、互联联与控制信信号;▲可非常方方便地实现现规模不太太大的RAM、ROM、FIFO或双口RAM等功能块;;▲做实现计计数器、译译码器、状状态机、乘乘法器、微微控制器、、DSP等复杂逻辑辑时,每个个EBA可贡献100~600个等效门;;▲可单独使使用,也可可组合使用用。682.6FPGA/CPLD结构与原理理(增)5.2FIEX10K内部结构--嵌入式阵列列块EAB的字长是可可配置的256x8512x41024x22048x1256x8256x8512x4512x4256x16512x8EAB的大大小灵活可可变通过组合EAB可以构成更更大的模块块,不需要额外外的逻辑单单元,不引引入延迟692.6FPGA/CPLD结构与原理理(增)5.2FIEX10K内部结构--嵌入式阵列列块输出时钟DRAM/ROM256x8512x41024x22048x1DDD写脉冲电路输出宽度8,4,2,1
数据宽度8,4,2,1地址宽度8,9,10,11写使能输入时钟用EAB构成不同结结构的RAM和ROM702.6FPGA/CPLD结构与原理理(增)5.2FIEX10K内部结构--嵌入式阵列列块VS非流水线结构,使用35个LE,速度为34MHz
流水线结构速度为100MHz,EAB8890MHz用EAB实现的流水线乘法器操作速度可达90MHz!实例:4x4乘法器+(6LE)+(6LE)+(7LE)8LELELELELELELELELELELELELELELELE712.6FPGA/CPLD结构与原理理(增)5.2FIEX10K内部结构(5)时钟锁定和和时钟自举举时钟锁定(ClockLock)电路:是一个同步步PLL(锁相环)),减小时时钟延迟和和偏移,使使时钟建立立时间和时时钟到输出出的时间减减到最小。。时钟自举(ClockBoost)电路:使用可编程程PLL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医用酒精合同范本
- 个人企业入股合同范例
- 免责条款购销合同范本
- 供水转让合同范例
- 光伏包工包料安装合同范例
- 农资供货合同范例
- 写电子版合同范例
- 农村田地置换合同范例
- 关于代销合同范本
- 别墅物业服务合同范例
- 北师大版小学六年级下册数学全册教学设计
- YY/T 0681.2-2010无菌医疗器械包装试验方法第2部分:软性屏障材料的密封强度
- GB/T 20472-2006硫铝酸盐水泥
- 烟气管道阻力计算
- 城乡环卫一体化保洁服务迎接重大节日、活动的保障措施
- 医院-9S管理共88张课件
- 高考作文复习:议论文论证方法课件15张
- MySQL数据库项目式教程完整版课件全书电子教案教材课件(完整)
- 药品生产质量管理工程完整版课件
- 《网络服务器搭建、配置与管理-Linux(RHEL8、CentOS8)(微课版)(第4版)》全册电子教案
- 职业卫生教学课件生物性有害因素所致职业性损害
评论
0/150
提交评论