EDA技术P2-PLD结构原理_第1页
EDA技术P2-PLD结构原理_第2页
EDA技术P2-PLD结构原理_第3页
EDA技术P2-PLD结构原理_第4页
EDA技术P2-PLD结构原理_第5页
已阅读5页,还剩94页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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个输入量或其反相输入。乘积项数量决定于与门的数量,每个乘积项输入量,决定于(集成)电路的输入引脚数量。半导体熔丝与二极管串联,实现交叉点连接,构成逻辑门输入10

2.2CombinationalcircuitPLDsTherearefourconditionsforeachinputvariables.(a)Un-programmedstate:Boththetrueandinversevariablesconnectionsareleft

intact.(b)Truevariableselected:Thetruevariableisselectedbyremovingtheinverseconnection.(c)Inversevariableselected:Theinversevariableisselectedbyremovingthetrueconnection.(d)Novariableselected:Bothconnectionsareremoved.(a)未编程状态原变量和反变量均被完整保留(连接)(b)选择原变量断掉反变量连接,来选择原变量(c)选择反变量断掉原变量连接,来选择反变量(d)未选择变量断掉所有变量每个输入变量有四种接入情况(a)(b)(c)(d)11

2.2CombinationalcircuitPLDsExp1:UsingaPLAtogeneratethefunctionf1=ABCf2=AB+BCTheX’sindicatetheconnectionsareleftintact.APLAisbestusedwhenseveralsum-of-productexpressionsarerequired,especiallyifthesum-of-produtexpressionshavemanymoretermsthanaregiveninthisexample.例1:用PLA实现以下功能f1=ABCf2=AB+BCX表示完全连接当需要实现多个积之和时,特别是式中含有比上例更多的乘积项时,使用PLA最合适。上图有误!!!12

2.2CombinationalcircuitPLDsExp2:ToimplementthefunctionIfafunctiontobeimplementedisnotinsum-of-productform,itneedstobeconvertedintothisform.PLDsoftwareisavailablewhichwillconvertBooleanexpressionsintotheappropriateform.如要实现的功能不是积之和形式,则需要转换成积之和形式。例2:实现如下功能PLD软件就是用于将布尔表达式转换为适合的表达形式。Expandintosum-of-productform:展开转化成积之和形式:13

2.2CombinationalcircuitPLDsProgrammablearraylogicPALPALhasonlyprogrammableconnectionstotheinputsoftheANDgates.InaPAL,eachANDgateisdirectlywiredtooneinputofoneORgate.Afixednumberofproductterms,greatlysimplifyingdesignand

improving

operationspeedThePLAhasbothprogrammableconnectionstotheinputstoANDgatesandORgates.Programmableconnectionsincuragreaterdelaythandirectwiredconnections.PLA采用了可编程的与阵列和可编程或阵列,而可编程连接要比直接固定连接产生的迟延时间长得多。PAL只用可编程与门阵列,每个与阵列固定与或阵列连接。可编程阵列逻辑--PAL乘积项数目固定,大大简化设计,提高运算速度1416--Maximumof16variables

PAL16L8isanexampleofacombinationalcircuitPAL.L—Theoutputsareinverted(low)

8--Maximumof8output

Feature:sharedwithFeedbackThree-statebufferOutputareinverted三态控制乘积项三态门无反馈15

2.2CombinationalcircuitPLDsThereisamaximumof16inputsand8outputs,someoutputsaresharedwithinputs.PAL16L8Theoutputsareprovidedwiththree-statebufferswhichcanbeenabledbyaproductfunctionoftheinputsandfeedbackvariables.Thesharedinput/outputconnectionscanbeusedasinputswhentheoutputsaredisabled.最多16路输入8路输出,有些输入端与输出端复用。输出具有三态缓冲,由输入变量和反馈变量的一个乘积项控制。当(三态缓冲)输出为高阻态时,输入/输出复用端可作为输入端使用。16

2.2CombinationalcircuitPLDsThedevicesthateitheractive-loworactive-highoutputscanbeprogrammedbyincorporatingaprogrammabletrue/inversecircuitarecalledgenericarraylogicdevices(GAL).Theprogrammingconnectionleftintactwillcreateatrueoutput,Otherwise,aninverseoutput.True/inverseoutputcircuit用一组合的可编程源码/反码输出电路,使输出可编程为低有效或高有效输出,则这种器件称为通用阵列逻辑(GAL)归通用PAL类可编程点连接,则为源码输出,断开则为反码输出。ThesimplestOutputLogicMacroCell最简单的输出逻辑宏单元(OLMC)comeunderthecategoryofuniversalPALs17

2.3SequentialcircuitPLDsPLA/PALscanbeusedtocreatesequentialcircuits.Thefeedbackconnectionscould,theoretically,beusedtoproduceflip-flops.Separateflip-flopscouldbeemployedtocreate

asequentialcircuit,andsuchPLDsthatincorporatethefilp-flopsintoaPLD,calledregisteredPLDs.PLA/PALs可用于创建时序电路。从理论上说,反馈连接能产生触发器。1.

RegisteredPLDsInregisteredPLDs,flip-flopsareintegratedintothedevice.Alltheoutputsareclockedbyasingleclocksignal.使用单独的触发器生成时序电路,并把触发器集成在PLD器件内,这种PLD称为寄存器型PLD。寄存器型PLD寄存器型PLD集成触发器,所有输出变化受同一时钟信号控制。SynchronoussequentialcircuitusingPLA/PAL18

2.3SequentialcircuitPLDsEg.RegisteredPLDsPAL16R68independentinputs6D-typeflip-flops2PAL16L8input/outputsAmaximumof8producttermsinthesum-of-productexpressions.Forstatemachine(状态机)

8(Max)xinputs6y/Ystatevariables2separatesum-of-productZoutputs

xyYZ19

2.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为反码输出20

2.3SequentialcircuitPLDs注:蕴含项与书上不同是因1y2=01时切入序列点不同。导致最终生成不同的逻辑硬件。001100011110010101y1y2CD2D-typeflip-flopinputfunction101100011110011101y1y2CD1D触发器输入函数21

2.3SequentialcircuitPLDsCounterusingregisteredPLDs用寄存器型PLD设计的计数器ConnectionstounusedANDgatesnotshown*(未用应连接)22

2.3SequentialcircuitPLDs2.

MacrocellsMacrocellsarerepeatedcircuitsinsideaPLDwithselectablefunctions.Anexampleofamacrocellwhichcanselecteitheraflip-flopoutputorthecombinationalAND-ORfunctionasthedeviceoutputorfeedbackinput.

Examplemacrocellwithburied(隐埋)flip-flops2.宏单元宏单元是PLD内部功能可设置的、重复性电路单元。这个宏单元例子,可以选择器件输出是触发器输出还是组合与-或函数的输出,还可选择其一为反馈信号。隐埋触发器多路选择器23

2.3SequentialcircuitPLDsTheflip-flopthatisphysicallyfurtherfromitsoutputpinandintegratedintothemacrocelliscalledburiedflip-flop.

Examplemacrocellwithburiedflip-flopsTwomultiplexersarecontrolledbytheprogrammableconnections.Whenitisleftintact,theinput0isselected.Whenitisremoved,theinput1isselected.集成在输出宏单元内的、不与输出引脚相连的触发器,称为“隐埋”触发器。隐埋触发器多路选择器两个多路选择器可编程连接点控制。连接点接通是0选择,断开是1选择。24

2.4PLDprogrammingtoolsThispartisforself-study25

2.5Usingread-onlymemories

用只读存储器设计电路1.Read-onlymemories(ROM)Read-onlymemory(ROM)isatypeofmemorywhosecontentsarenormallyonlyaccessedforreadingbutnotaccessedforwriting.Non-volatile:theinformationisnotlostwhenthepowerisremoved.Primaryuse:toholdinformationthatmustbepresentwhenthecomputersystemisswitchedon.只读存储器(ROM)只读存储器是存储内容只出不能改写的存储器。非易失性:即断电后存储信息不会丢失。主要用途:存放计算机系统启动时所需的(初始化)信息。26

2.5Usingread-onlymemories2.Structureofread-onlymemoriesThebasicstructureofaread-onlymemoryconsistsofatwo-dimensionalarrayofmemorycells,eachcellstoringthevalueofonebinarydigitasshownbelow.Eachcellhasuniquepositioninthearraygivenbyarowandacolumnaddress.只读存储器的基本结构是两维存储单元阵列,每个单元都存储一2进制数字信息,如下图。阵列中每个存储单元都有由行和列决定的唯一地址。27

2.5Usingread-onlymemories3.Typesofread-onlymemoriesFixedROMThestoredinformationcanneverchangeaftermanufacture.ProgrammableROM(PROM)ErasablePROM(EPROM)ThereareseveraltypesofROMswhoseinformation

canbealteredbyerasingthestoredinformationandwritingnewinformationintothecells.Theyare:固定只读存储器在出厂后存储器中存储的信息无法改变。还有下面一些类型只读存储器,存储内容可擦除并重新写入:可编程只读存储器可擦除可编程只读存储器也叫One-TimeProgrammable(OTP)ROM“一次可编程只读存储器”通过紫外线照射擦除其内的数据

ElectricallyErasablePROM(E2PROM)电可擦除可编程只读存储器28

2.5Usingread-onlymemories4.ReadthestoredinformationArowaddressisprovidedtoselectallthecellsontherow.Acolumnisselectedwithacolumnaddresstofinallyselectthememorycell.SelecttherequiredmemorycellReadthestoredinformationThestoredinformationpassesfromthecelldownthecolumntoasingleoutputpin.读取存储内容选择需要的存储单元给出行地址从存储阵列中选中某一行,在给出列地址,从选中的一行中最终选出一个存储单元。读出存储信息存储单元里的数据经列送到某一输出引出端。29

2.5Usingread-onlymemories5.ImplementcombinationallogicfunctionsAstheoutputvaluesdependuponthecontentsofthememorycellsselectedbytheinputs.Hence,thememorycanbeusedtoimplementcombinationallogicfunctions.Exp4:Supposethecombinationalfunctiongivenistobeimplementedinaread-onlymemory.实现组合逻辑函数因为输出值是由输入(地址)选择的存储器单元的存储内容,所以,存储器可用来实现组合逻辑函数。例4:用只读存储器实现给定的组合函数。30

2.5Usingread-onlymemoriesTruthtableoffunctionforROMimplementation用ROM实现的函数真值表31

2.5Usingread-onlymemoriesTheROMwillhaveexactlythesamecontentsofthetruthtable,asshownbelow.该ROM正是真值表相同的内容,如下所示:32

2.5Usingread-onlymemoriesASmanyROMhavea×norganization,clearlysuchROMwouldbesuitableformultiplefunction.Ifn=8,wecouldhave8independentfunctionsoftheinputs,inasimilarmannerastheindependentfunctionsthatarepossiblefromPLDs.一般ROM有×n结构,明显,这样的ROM适合多函数应用。如n=8,我们可得到8个独立输入的函数,类似使用PLD实现的独立函数。Evenifwedonotuseallnoutput,itstillmaybeacost-effectivesolution.就算不完全使用数据位宽n,这种方法也是低成本、经济的解决方案。OnedisadvantageofusingROMisthattheytendtobemuchslowerinoperationthanPLDsorbasicgates.使用ROM设计电路的缺点之一就是运算速度往往比PLD和基本逻辑门慢得多。33

Summary1、TheconceptofaPLD2、ThedifferencebetweenPLAandthePAL3、RegisteredPLDs4、Thegenericarraylogicdevice(GAL)5、Theburiedflip-flop6、FunctiondesignsthatcanbeimplementwithPALs7、Macrocells8、Usingread-onlymemoryasacombinationallogiccircuit答案见注释栏34

ExercisePALPLA与阵列可编程或阵列可编程与阵列可编程或阵列固定35

ExerciseA2A1A0000只=0Y0001只=0Y1111只=0Y7输出三八译码器真值表……A2A1A0Y0Y1Y7A2A1A0A2A1A00120AAAY++=用PLA实现三八译码器36

Exercise例:用PAL阵列实现该式Y=ABC37

ExerciseP193Tutorialquestions(教程习题)6.16.238

2.6FPGA/CPLD结构与原理(增)1)不论简单还是复杂的数字电路都是由基本门构成,如与、或、非、传输门等。2)由基本门可构成两类数字电路:一类是组合电路,在逻辑上输出总是当前输入状态函数一类是时序电路,输出是当前系统状态与当前输入状态函数,它含有存储元件。3)任何的组合逻辑函数都可以化为“与-或”表达式,任何时序电路都可由组合电路加存储元件(锁存器、触发器、RAM)构成。

由此提出PLD的基本电路机构:乘积项逻辑可编程结构。1、总结前面的讲述:39

2.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器件内嵌复杂功能模块的SoPC

2.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系列器件具有典型性46

2.6FPGA/CPLD结构与原理(增)Altera的MAX7000系列CPLD的内部基本结构

47

2.6FPGA/CPLD结构与原理(增)4.2宏单元(Macrocells

)PRNCLRN逻辑阵列全局清零共享逻辑扩展项清零时钟清零选择寄存器旁路并行扩展项通往I/O模块通往PIA乘积项选择矩阵来自I/O引脚全局时钟QDEN来自PIA的36个信号快速输入选择2MAX7000系列CPLD的单个宏单元结构48

2.6FPGA/CPLD结构与原理(增)4.2宏单元(Macrocells

)宏单元由3个功能块组成:1逻辑阵列:实现组合逻辑,可为宏单元提供5个乘积项。2乘积项选择矩阵:分配乘积项作为到或门和异或门的主要逻辑输入,以实现组合逻辑函数。可分配一乘积项作为共享反馈回逻辑阵列可通过“并行扩展”乘积项从邻近宏单元借位。

把这些乘积项作为宏单元中寄存器的辅助输入:清零(clear)、置位(preset)时钟(clock)、时钟使能(clockenable)3可编程寄存器:可单独被配置成带有可编程时钟控制的D、T、JK或SR触发器方式,也可以将寄存器旁路以实现组合逻辑工作方式。49

2.6FPGA/CPLD结构与原理(增)4.2宏单元(Macrocells

)每个可编程寄存器可按3种时钟输入模式工作:1)全局时钟:该模式能实现最快的时钟到输出(ClocktoOutput)性能,这时全局时钟输入直接连向每一个寄存器的CLK端。2)全局时钟信号由高电平有效的时钟信号使能:这种模式提供每个触发器的时钟使能信号(全局),仍使用全局时钟,输出速度较快。3)用乘积项实现一个阵列时钟:这种模式下,由宏单元内或I/O引脚的信号提供触发器时钟,速度稍慢,可实现异步时序逻辑。每个寄存器支持异步清零和异步置位功能。

由矩阵选择乘积项控制。每个寄存器的复位端可由低电平有效的全局复位专用引脚GCLRn信号驱动。50

2.6FPGA/CPLD结构与原理(增)4.3逻辑阵列块(LogicArrayBlock,LAB

)由16个宏单元的阵列组成一个逻辑阵列块(LAB)CPLD结构是由多个LAB通过及它们之间的连线构成。LAB通过可编程连线阵列和全局总线连接。全局总线从所有的专用输入、I/O引脚和宏单元馈入信号。每个LAB,输入信号来自3个部分:

通用逻辑输入的PIA的36个信号;全局控制信号,用于寄存器辅助功能;从I/O引脚到寄存器的快速输入通道。MAX7128S的结构51

2.6FPGA/CPLD结构与原理(增)4.4扩展乘积项(Expansionofproductterms

)大部分逻辑函数能够用宏单元的5个乘积项实现,但更复杂的逻辑函数需要附加乘积项。可以利用(提供)其他宏单元提供(所需)的逻辑资源,即“扩展项”,具有共享和并联扩展乘积项。共享扩展项:每个LAB有16个共享扩展项,通过一反相器反馈到逻辑阵列中,可被LAB内任何一个或全部宏单元使用和共享,以便实现复杂的逻辑函数。采用共享扩展项后会增加一个短的延时。52

2.6FPGA/CPLD结构与原理(增)4.4扩展乘积项(Expansionofproductterms

)并联扩展项:并联扩展项是宏单元中一些没被使用的乘积项,可分配到邻近的宏单元去实现快速、复杂的逻辑函数。一个宏单元可通过级联方式从所在LAB中借用其他15个并联扩展项,加上自己的5个乘积项,最多可获得20个乘积项。需要扩展时,或逻辑输出通过一选择器,送往下一个宏单元的并联扩展或逻辑输入端。53

2.6FPGA/CPLD结构与原理(增)4.5可编程连线阵列(PragrammableInterconnectArray,PIA)

PIA是全局总线,一种可编程的通道,把器件中任何信号连接到其目的地。器件的专用输入、IO引脚和宏单元的输出都连接到PIA,PIA把这些信号送到整个器件的各个地方。器件内不同LAB通过在PIA上布线,以互相连接构成所需逻辑,只有每个LAB需要的信号才从PIA连线到LAB。通过EEPROM单元控制与门的一个输入端,选择一PIA信号驱动LAB54

2.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是其可编程的最小逻辑构成单元。56

2.6FPGA/CPLD结构与原理(增)5.1查找表逻辑结构查找表逻辑结构就是采用存储器构成逻辑函数发生器,一个N输入的查找表(LUT)可以实现N个输入变量的任何逻辑功能。大部分FPGA采用基于SRAM(静态随机存储器)的查找表逻辑结构基本原理:任何逻辑函数功能都可以真值表的形式表达,N输入的逻辑函数最大有2N个结果。即用2N位存储器单元即可实现对N个输入的逻辑函数真值表存储,以输入变量做地址,寻址存储器即得到逻辑函数对应的输出结果。57

2.6FPGA/CPLD结构与原理(增)5.1查找表逻辑结构N个输入的逻辑函数需要2N个位容量的存储器实现,N不可能很大,否则利用率很低,输入多于N的逻辑函数须用多个查找表分开实现。图FPGA查找表单元内部结构Xilinx的XC4000系列、Spartan系列,Altera的FLEX10K、ACEX、APEX、Cyclone等系列都是典型的采用SRAM查找表结构的FPGA。58

2.6FPGA/CPLD结构与原理(增)5.2FIEX10K内部结构以典型的Altera的FLEX10K系列为例,介绍FPGA的结构与工作原理。FIEX10K主要由逻辑阵列块(LAB)

完成主要逻辑功能

嵌入式阵列块(EAB)

内RAM,完成存储相关的复杂逻辑快速通道(FastTrack)

器件内布线通道

I/O单元

器件I/O引脚驱动

时钟锁定和时钟自举四部分组成嵌入式阵列块快速通道互连逻辑阵列块(LAB)IOCIOCIOCIOCEABEABIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOCIOC59

2.6FPGA/CPLD结构与原理(增)5.2FIEX10K内部结构LAB构成FIEX10K的粒度(grained)

结构;每个LAB由8个最小逻辑单元LE、相联的进位链和级联链、LAB控制信号、LAB局部互联等构成。(1)逻辑阵列块(LAB)按照逻辑功能块的大小FPGA相对CPLD而言分为细粒度结构细粒度结构:逻辑功能块较小,仅由几个晶体管组成类似于门阵列基本单元。优点是功能块的资源可在实际工程中被完全利用。缺点是完成复杂逻辑功能需要大量连线和开关,因而速度较慢;粗粒度结构:逻辑块规模大功能强,完成复杂逻辑门只需要较少的功能块和内部连线,可以获得较好的性能,缺点是功能块的资源不能被充分利用。

60

2.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的利用效率。61

2.6FPGA/CPLD结构与原理(增)5.2FIEX10K内部结构------逻辑阵列块(LAB)逻辑单元LE中的进位链和级联链是两种专用高速数据通道,可连接所在LAB中的所有LE,和同一行的所有LAB。DFF进位输入(来自上一个逻辑单元)S1LE1查找表LUT进位链DFFS2LE2A1B1A2B2进位输出(到LAB中的下一逻辑单元)进位链查找表LUT进位链连通LAB中的所有LE进位链提供LE之间快速的向前进位功能,来自低位的进位信号:●直接向前送到高位●同时馈入LUT和进位链下段这使得能够实现高速计数器、加法器和宽位比较器。62

2.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.2ns63

2.6FPGA/CPLD结构与原理(增)8个逻辑单元LE、相联的进位链和级联链、LAB控制信号、LAB局部互联等构成LAB。FLEX10KLAB结构图64

2.6FPGA/CPLD结构与原理(增)5.2FIEX10K内部结构(2)快速通道(FastTrack)遍布整个器件,连通LE和I/O,是一系列水平和垂直走向的连续式布线通道。优点是可预测其延时性能。其他部分采用分段式连线结构,用开关矩阵把若干短通道连接,布线工作更容易,但延时难预测,设计性能下降。65

2.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单元结构图67

2.6FPGA/CPLD结构与原理(增)5.2FIEX10K内部结构(4)嵌入式阵列块(EmbeddedArrayBlock,EAB)是在输入、输出口上带有寄存器的RAM块,是由一系列的嵌入式RAM单元构成。▲每个EBA可提供2048个位,字长可配置,每个EBA是独立结构,但具有共同的输入、互联与控制信号;▲可非常方便地实现规模不太大的RAM、ROM、FIFO或双口RAM等功能块;▲做实现计数器、译码器、状态机、乘法器、微控制器、DSP等复杂逻辑时,每个EBA可贡献100~600个等效门;▲可单独使用,也可组合使用。68

2.6FPGA/CPLD结构与原理(增)5.2FIEX10K内部结构--嵌入式阵列块EAB的字长是可配置的256x8512x41024x22048x1256x8256x8512x4512x4256x16512x8EAB的大小灵活可变通过组合EAB可以构成更大的模块,不需要额外的逻辑单元,不引入延迟69

2.6FPGA/CPLD结构与原理(增)5.2FIEX10K内部结构--嵌入式阵列块输出时钟DRAM/ROM256x8512x41024x22048x1DDD写脉冲电路输出宽度8,4,2,1

数据宽度8,4,2,1地址宽度8,9,10,11写使能输入时钟用EAB构成不同结构的RAM和ROM70

2.6FPGA/CPLD结构与原理(增)5.2FIEX10K内部结构--嵌入式阵列块VS非流水线结构,使用35个LE,速度为34MHz

流水线结构速度为100MHz,EAB8890MHz用EAB实现的流水线乘法器操作速度可达90MHz!实例:4x4乘法器+(6LE)+(6LE)+(7LE)8LELELELELELELELELELELELELELELELE71

2.6FPGA/CPLD结构与原理(增)5.2FIEX10K内部结构(5)时钟锁定和时钟自举时钟锁定(ClockLock)电路:是一个同步PLL(锁相环),减小时钟延迟和偏移,使时钟建立时间和时钟到输出的时间减到最小。时钟自举(ClockBoost)电路:使用可编程PLL,建立时钟乘法器,时钟倍频低变形,时钟树形分配网络。为支持高速电路设计,FLEX10K器件提供:DelayDelayDelayDelayCLKINPhaseDelayControlCLKOUTCLKFBClockDistributionNetwork插入不同的延迟,使输入和输出时钟的上升沿同步。保证时钟沿在器件内的所有地方同步72

2.7FPGA与CPLD的区别(增)CPLDFPGA内部结构Product-termLook-upTable程序存储内部EEPROMSRAM,外挂EEPROM资源类型组合电路资源丰富触发器资源丰富集成度低高使用场合完成控制逻辑能完成比较复杂的算法速度慢快其他资源-EAB,锁相环保密性可加密一般不能保密73

2.7FPGA与CPLD的区别(增)1、FPGA采用SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失。因此,需在FPGA外加EPROM,将配置数据写入其中,系统每次上电自动将数据引入SRAM中。CPLD器件一般采用EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,适于数据的保密。2、FPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个LAB结合起来实现。CPLD的与或阵列结构,使其适于实现大规模的组合功能,但寄存器资源相对较少(1K左右),适用于控制密集型系统;FPGA逻辑能力较弱但寄存器多(100多K),适于数据密集型系统。74

2.8FPGA/CPLD测试技术(增)1、内部逻辑测试内部逻辑测试是CPLD/FPGA应用设计可靠性的重要保证。这需要在设计时加入用于测试的部分逻辑,及进行可测性设计(DesignForTest,DFT),在设计完成后对关键逻辑测试。扫描寄存器技术:把关键逻辑中的普通寄存器用测试扫描寄存器代替,测试时可动态的监测、分析其状态,甚至加以激励信号,改变状态。嵌入式逻辑分析仪技术:在PLD中嵌入专门的逻辑功能模块,与EDA软件配合实现。如Altera的SignalII技术。存在问题:覆盖率问题。对于小型逻辑电路,逻辑测试覆盖率可达很高,甚至100%,但对复杂数字系统设计,内部覆盖率不可能达到100%,必须寻求更有效的方法解决。75

2.8FPGA/CPLD测试技术(增)2、JTAG边界扫描测试

20世纪80年代,联合测试行动组(JointTestActionGroup,JTAG)开发了IEEE1149.1-1990边界扫描测试技术规范。该规范提供了有效的测试引线间隔致密的电路板集成电路芯片的能力。大多数CPLD/FPGA器件遵守IEEE规范,并为IO引脚以及专用配置引脚提供了边界扫描测试(BoardScanTest,BST)能力。76

2.8FPGA/CPLD测试技术(增)2、JTAG边界扫描测试边界扫描测试(BST)提供一个串行扫描路径,能捕获器件核心逻辑的内容,或者测试遵循IEEE规范的器件之间的引脚连接情况。边界扫描单元从引脚或器件核心逻辑信号中捕获数据,强行加入的测试数据串行移入边界扫描单元,捕获的数据串行移出,并在器件外对数据进行分析处理。边界扫描电路结构77

2.8FPGA/CPLD测试技术(增)2、JTAG边界扫描测试

JTAGBST(IEEE边界扫描测试)规定了一个四线串行接口(第五条线是可选的),该接口称作测试访问端口(TAP),正常的操作过程中,边界扫描电路无效。在JTAGBST模式时激活设备的扫描逻辑,进行测试或系统编程。78

2.8FPGA/CPLD测试技术(增)2、JTAG边界扫描测试边界扫描技术的优点1、PC成为完整的测试系统,成本低,开发时间短及通用硬件;2、硬件设计过程中,可以精确地评估测试的有效范围

;3、实现在线编程,简化库存管理和生产线集成编程步骤。4、边界扫描语言(BSDL)是VHDL语言子集,可软件描述器件测试属性,生成测试文件,便于测试分析、失效分析。

79

2.9FPGA/CPLD产品概述(增)1、大的PLD生产厂家80

2.9FPGA/CPLD产品概述(增)Altera主流FPGA/CPLD芯片2.FLEX系列FPGA

采用连续式互联和SRAM工艺集成度1~25万门基于查找表的逻辑结构,嵌入式存储器块为DSP设计最早推出的FPGA1.MAX系列CPLD

采用E2PROMEPROM工艺,编程数据可永久保存,可加密集成度数百~2万门基于乘积项的逻辑结构

ISP在线编程,支持JTAG边界扫描测试3.ACEX系列FPGA

用1.8V/0.18um、6层金属连线的SRAM工艺,2.5V低功耗。基于查表结构,3万~几十万门集成度专为通讯(如xDSL、调制解调器、路由器等)、音频处理等应用推出。81

2.9FPGA/CPLD产品概述(增)Altera主流FPGA/CPLD芯片4.APEXII系列FPGA0.15um全铜工艺,2001年推出集成度3~150万门采用多核结构,针对系统级设计,适合高速数据通讯等场合5.MAXII系列CPLD0.18umfalsh工艺,2004年底推出采用FPGA结构,配置芯片集成在内部,和普通PLD一样上电即可工作内部集成用户8Kbits串行EEPROM1.8v内核电压,高可靠性,适于通用的低密度逻辑应用环境6.Cyclone(飓风)系列FPGA

低成本FPGA系列

,是目前主流产品,中等规模FPGA,2003年推出,0.13um工艺支持嵌入NiosII系列处理器、DSP、各种存储器,提供专用外部存储器接口支持串行、总线和网络接口及各种通信协议支持单端I/O标准和差分I/O技术,片内PLL管理片内外时钟82

2.9FPGA/CPLD产品概述(增)Altera主流FPGA/CPLD芯片7.StratixII系列FPGA

侧重于高性能应用,容量大,性能能满足各类高端应用

采用TSMC90nm低绝缘工业技术的300mm圆晶制造采用革新性的逻辑结构,基于自适应逻辑模块(ALM),面积小性能高。专用串行/解串电路:实现1Gbps源同步I/O信号提供外部存储器接口:包括DDR2SDRAMRLDRAMQDRⅡSRAM

内嵌增强DSP块,适合高速数字信号处理多达12个片内PLL,支持器件时钟管理。提供多达9Mbit存储器,性能达370MHz,支持混合数据宽度和混合时钟模式支持远程系统升级,用于可靠和安全的在系统升级和差错修复。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论