throbber
roduct Obsolete or Under Obsolescence
`XC4000E and XC4000X Series Field
`Programmable Gate Arrays
`May 14, 1999 (Version 1.6)
`Product Specification
`XC4000E and XC4000X Series
`Low-Voltage Versions Available
`Features
`• Low-Voltage Devices Function at 3.0 - 3.6 Volts
`• XC4000XL:HighPerformanceLow-VoltageVersionsof
`Note:InformationinthisdatasheetcoverstheXC4000E,
`Additional XC4000X Series Features
`XC4000EX devices
`XC4000EX,andXC4000XLfamilies.Aseparatedatasheet
`coverstheXC4000XLAandXC4000XVfamilies.Electrical
`Specificationsandpackage/pininformationarecoveredin
`separatesectionsforeachfamilytomaketheinformation
`• High Performance — 3.3 V XC4000XL
`easiertoaccess,review,andprint.Foraccesstothesesec-
`• High Capacity — Over 180,000 Usable Gates
`tions, see the Xilinx web site at
`• 5 V tolerant I/Os on XC4000XL
`• 0.35 µm SRAM process for XC4000XL
`http://www.xilinx.com/xlnx/xweb/xil_publications_index.jsp
`• Additional Routing Over XC4000E
`• System featured Field-Programmable Gate Arrays
`- almost twice the routing capacity for high-density
`- SelectRAMTM memory: on-chip ultra-fast RAM with
`designs
`-
`synchronous write option
`• Buffered Interconnect for Maximum Speed Blocks
`- dual-port RAM option
`ImprovedVersaRingTMI/OInterconnectforBetterFixed
`•
`- Fully PCI compliant (speed grades -2 and faster)
`Pinout Flexibility
`- Abundant flip-flops
`• 12 mA Sink Current Per XC4000X Output
`- Flexible function generators
`• Flexible New High-Speed Clock Network
`- Dedicated high-speed carry logic
`- EightadditionalEarlyBuffersforshorterclockdelays
`- Wide edge decoders on each edge
`- Virtually unlimited number of clock signals
`- Hierarchy of interconnect lines
`• Optional Multiplexer or 2-input Function Generator on
`Internal 3-state bus capability
`-
`Device Outputs
`- Eight global low-skew clock or signal distribution
`• Four Additional Address Bits in Master Parallel
`networks
`Configuration Mode
`• System Performance beyond 80 MHz
`Introduction
`• Flexible Array Architecture
`• Low Power Segmented Routing Architecture
`• Systems-Oriented Features
`-
`IEEE 1149.1-compatible boundary scan logic
`XC4000Serieshigh-performance,high-capacityFieldPro-
`support
`grammableGateArrays(FPGAs)providethebenefitsof
`-
`Individually programmable output slew rate
`customCMOSVLSI,whileavoidingtheinitialcost,long
`- Programmable input pull-up or pull-down resistors
`developmentcycle,andinherentriskofaconventional
`- 12 mA sink current per XC4000E output
`masked gate array.
`• Configured by Loading Binary File
`- Unlimited re-programmability
`TheresultofthirteenyearsofFPGAdesignexperienceand
`• Read Back Capability
`feedbackfromthousandsofcustomers,theseFPGAscom-
`- Program verification
`binearchitecturalversatility,on-chipSelect-RAMmemory
`Internal node observability
`-
`with edge-triggered and dual-port modes,
`increased
`• Backward Compatible with XC4000 Devices
`speed,abundantroutingresources,andnew,sophisticated
`• Development System runs on most common computer
`softwaretoachievefullyautomatedimplementationof
`platforms
`complex, high-density, high-performance designs.
`-
`Interfaces to popular design environments
`TheXC4000EandXC4000XSeriescurrentlyhave20
`- Fully automatic mapping, placement and routing
`members, as shown inTable1.
`-
`Interactive design editor for design optimization
`May 14, 1999 (Version 1.6)
`6-5
`Petitioner Microsoft Corporation - Ex. 1035, p. 5
`
`RP
`
`0
`
`0
`
`0*
`
`6
`
`

`

`R
`
`6
`
`Product Obsolete or Under Obsolescence
`XC4000E and XC4000X Series Field Programmable Gate Arrays
`XC4000E and XC4000X Series
`Compared to the XC4000
`muchas50%fromXC4000values.See“FastCarryLogic”
`on page18 for more information.
`Select-RAM Memory: Edge-Triggered, Synchro-
`ForreadersalreadyfamiliarwiththeXC4000familyofXil-
`nous RAM Modes
`inxFieldProgrammableGateArrays,themajornewfea-
`turesintheXC4000Seriesdevicesarelistedinthis
`TheRAMinanyCLBcanbeconfiguredforsynchronous,
`section. The biggest advantages of XC4000E and
`edge-triggered,writeoperation.Thereadoperationisnot
`XC4000X devices are significantly increased system
`affected by this change to an edge-triggered write.
`speed,greatercapacity,andnewarchitecturalfeatures,
`Dual-Port RAM
`particularlySelect-RAMmemory. TheXC4000Xdevices
`alsooffermanynewroutingfeatures,includingspecial
`Aseparateoptionconvertsthe16x2RAMinanyCLBintoa
`high-speedclockbuffersthatcanbeusedtocaptureinput
`16x1 dual-port RAM with simultaneous Read/Write.
`data with minimal delay.
`ThefunctiongeneratorsineachCLBcanbeconfiguredas
`AnyXC4000Edeviceispinout-andbitstream-compatible
`either
`level-sensitive (asynchronous) single-port RAM,
`with the corresponding XC4000 device. An existing
`edge-triggered(synchronous)single-portRAM,edge-trig-
`XC4000bitstreamcanbeusedtoprogramanXC4000E
`gered(synchronous)dual-portRAM,orascombinatorial
`device.However,sincetheXC4000Eincludesmanynew
`logic.Configurable RAM Content
`features,anXC4000Ebitstreamcannotbeloadedintoan
`XC4000 device.
`XC4000XSeriesdevicesarenotbitstream-compatiblewith
`TheRAMcontentcannowbeloadedatconfigurationtime,
`equivalentarraysizedevicesintheXC4000orXC4000E
`so that the RAM starts up with user-defined data.
`families.However,equivalentarraysizedevices,suchas
`H Function Generator
`theXC4025,XC4025E,XC4028EX,andXC4028XL,are
`pinout-compatible.
`IncurrentXC4000Seriesdevices,theHfunctiongenerator
`Improvements in XC4000E and XC4000X
`ismoreversatilethanintheoriginalXC4000.Itsinputscan
`comenotonlyfromtheFandGfunctiongeneratorsbut
`Increased System Speed
`alsofromuptothreeofthefourcontrolinputlines.TheH
`functiongeneratorcanthusbetotallyorpartiallyindepen-
`XC4000EandXC4000Xdevicescanrunatsynchronous
`dentoftheothertwofunctiongenerators,increasingthe
`systemclockratesofupto80MHz,andinternalperfor-
`maximum capacity of the device.
`mancecanexceed150MHz.Thisincreaseinperformance
`IOB Clock Enable
`overthepreviousfamiliesstemsfromimprovementsinboth
`deviceprocessingandsystemarchitecture.
`XC4000
`Thetwoflip-flopsineachIOBhaveacommonclockenable
`Seriesdevicesuseasub-micronmulti-layermetalprocess.
`input,whichthroughconfigurationcanbeactivatedindivid-
`Inaddition,manyarchitectural
`improvementshavebeen
`uallyfortheinputoroutputflip-floporboth.Thisclock
`made, as described below.
`enableoperatesexactlyliketheECpinontheXC4000
`CLB.ThisnewfeaturemakestheIOBsmoreversatile,and
`TheXC4000XLfamilyisahighperformance3.3Vfamily
`avoids the need for clock gating.
`basedon0.35µSRAMtechnologyandsupportssystem
`Output Drivers
`speeds to 80 MHz.
`PCI Compliance
`The output pull-up structure defaults to a TTL-like
`totem-pole.Thisdriverisann-channelpull-uptransistor,
`XC4000Series-2andfasterspeedgradesarefullyPCI
`pullingtoavoltageonetransistorthresholdbelowVcc,just
`compliant.XC4000EandXC4000Xdevicescanbeusedto
`liketheXC4000familyoutputs.Alternatively,XC4000
`implement a one-chip PCI solution.
`SeriesdevicescanbegloballyconfiguredwithCMOSout-
`Carry Logic
`puts,withp-channelpull-uptransistorspullingtoVcc.Also,
`theconfigurablepull-upresistorintheXC4000Seriesisa
`Thespeedofthecarrylogicchainhasincreaseddramati-
`p-channeltransistorthatpullstoVcc,whereasintheorigi-
`cally.Someparameters,suchasthedelayonthecarry
`nalXC4000familyitisann-channeltransistorthatpullsto
`chainthroughasingleCLB(TBYP),haveimprovedbyas
`a voltage one transistor threshold below Vcc.
`6-7
`Petitioner Microsoft Corporation - Ex. 1035, p. 7
`
`May 14, 1999 (Version 1.6)
`
`

`

`R
`
`Product Obsolete or Under Obsolescence
`XC4000E and XC4000X Series Field Programmable Gate Arrays
`Table 1: XC4000E and XC4000X Series Field Programmable Gate Arrays
`Number
`
`Typical
`
`MaxLogic(No RAM) Max.RAM(No Logic)
`Max.
`of
`Total
`Gates
`Bits
`Gate Range
`LogicCells
`CLBMatrix
`User I/O
`Flip-Flops
`CLBs
`Device
`(Logic and RAM)*
`64
`256
`64
`XC4002XL
`152
`1,600
`2,048
`1,000 - 3,000
`8 x 8
`80
`360
`100
`XC4003E
`238
`3,000
`3,200
`2,000 - 5,000
`10 x 10
`112
`616
`196
`XC4005E/XL
`466
`5,000
`6,272
`3,000 - 9,000
`14 x 14
`128
`768
`256
`XC4006E
`608
`6,000
`8,192
`4,000 - 12,000
`16 x 16
`144
`936
`324
`XC4008E
`770
`8,000
`10,368
`6,000 - 15,000
`18 x 18
`160
`1,120
`400
`XC4010E/XL
`950
`10,000
`12,800
`7,000 - 20,000
`20 x 20
`192
`1,536
`576
`XC4013E/XL
`1368
`13,000
`18,432
`10,000 - 30,000
`24 x 24
`224
`2,016
`784
`XC4020E/XL
`1862
`20,000
`25,088
`13,000 - 40,000
`28 x 28
`256
`2,560
`1,024
`XC4025E
`2432
`25,000
`32,768
`15,000 - 45,000
`32 x 32
`256
`2,560
`1,024
`XC4028EX/XL
`2432
`28,000
`32,768
`18,000 - 50,000
`32 x 32
`XC4036EX/XL
`3078
`36,000
`41,472
`22,000 - 65,000
`36 x 36
`1,296
`3,168
`288
`XC4044XL
`3800
`44,000
`51,200
`27,000 - 80,000
`40 x 40
`1,600
`3,840
`320
`XC4052XL
`4598
`52,000
`61,952
`33,000 - 100,000
`44 x 44
`1,936
`4,576
`352
`XC4062XL
`5472
`62,000
`73,728
`40,000 - 130,000
`48 x 48
`2,304
`5,376
`384
`XC4085XL
`7448
`85,000
`100,352
`55,000 - 180,000
`56 x 56
`3,136
`7,168
`448
`* Max values of Typical Gate Range include 20-30% of CLBs used as RAM.
`wherehardwareischangeddynamically,orwherehard-
`Note:Allfunctionalityinlow-voltagefamiliesisthesameas
`ware must be adapted to different user applications.
`inthecorresponding5-Voltfamily,exceptwherenumerical
`FPGAsareidealforshorteningdesignanddevelopment
`references are made to timing or power.
`Description
`cycles,andalsoofferacost-effectivesolutionforproduc-
`tionrateswellbeyond5,000systemspermonth.
`XC4000Seriesdevicesareimplementedwitharegular,
`flexible,programmablearchitectureofConfigurableLogic
`Blocks(CLBs),interconnectedbyapowerfulhierarchyof
`Taking Advantage of Re-configuration
`versatileroutingresources,andsurroundedbyaperimeter
`ofprogrammableInput/OutputBlocks(IOBs).Theyhave
`generousroutingresourcestoaccommodatethemost
`FPGAdevicescanbere-configuredtochangelogicfunc-
`complex interconnect patterns.
`tionwhileresidentinthesystem.Thiscapabilitygivesthe
`systemdesigneranewdegreeoffreedomnotavailable
`Thedevicesarecustomizedbyloadingconfigurationdata
`with any other type of logic.
`intointernalmemorycells.TheFPGAcaneitheractively
`readitsconfigurationdatafromanexternalserialor
`Hardwarecanbechangedaseasilyassoftware.Design
`byte-parallelPROM(mastermodes),ortheconfiguration
`updatesormodificationsareeasy,andcanbemadeto
`datacanbewrittenintotheFPGAfromanexternaldevice
`productsalreadyinthefield.AnFPGAcanevenbere-con-
`(slave and peripheral modes).
`figureddynamicallytoperformdifferentfunctionsatdiffer-
`ent times.
`XC4000SeriesFPGAsaresupportedbypowerfuland
`sophisticatedsoftware,coveringeveryaspectofdesign
`Re-configurablelogiccanbeusedtoimplementsystem
`fromschematicorbehavioralentry,floorplanning,simula-
`self-diagnostics,createsystemscapableofbeingre-con-
`tion,automaticblockplacementandroutingofintercon-
`figuredfordifferentenvironmentsoroperations,orimple-
`nects,tothecreation,downloading,andreadbackofthe
`mentmulti-purposehardwareforagivenapplication.Asan
`configuration bit stream.
`addedbenefit,usingre-configurableFPGAdevicessimpli-
`fieshardwaredesignanddebuggingandshortensproduct
`BecauseXilinxFPGAscanbereprogrammedanunlimited
`time-to-market.
`numberoftimes,theycanbeusedininnovativedesigns
`6-6
`May 14, 1999 (Version 1.6)
`Petitioner Microsoft Corporation - Ex. 1035, p. 6
`
`

`

`R
`
`Product Obsolete or Under Obsolescence
`XC4000E and XC4000X Series Field Programmable Gate Arrays
`Additional Improvements in XC4000X Only
`Input Thresholds
`Increased Routing
`Theinputthresholdsof5Vdevicescanbegloballyconfig-
`uredforeitherTTL(1.2Vthreshold)orCMOS(2.5V
`Newinterconnect
`intheXC4000Xincludestwenty-two
`threshold),justlikeXC2000andXC3000inputs.Thetwo
`additionalverticallinesineachcolumnofCLBsandtwelve
`globaladjustmentsofinputthresholdandoutputlevelare
`newhorizontallinesineachrowofCLBs.Thetwelve“Quad
`independentofeachother.TheXC4000XLfamilyhasan
`Lines”ineachCLBrowandcolumnincludeoptionalrepow-
`inputthresholdof1.6V,compatiblewithboth3.3VCMOS
`eringbuffersformaximumspeed.Additionalhigh-perfor-
`and TTL levels.Global Signal Access to Logic
`mance routing near the IOBs enhances pin flexibility.
`Faster Input and Output
`ThereisadditionalaccessfromglobalclockstotheFand
`Afast,dedicatedearlyclocksourcedbyglobalclockbuffers
`G function generator inputs.
`isavailablefortheIOBs.Toensuresynchronizationwiththe
`Configuration Pin Pull-Up Resistors
`regularglobalclocks,aFastCapturelatchdrivenbythe
`earlyclockisavailable.Theinputdatacanbeinitially
`Duringconfiguration,thesepinshaveweakpull-upresis-
`loadedintotheFastCapturelatchwiththeearlyclock,then
`tors.Forthemostpopularconfigurationmode,Slave
`transferredtotheinputflip-floporlatchwiththelow-skew
`Serial,themodepinscanthusbeleftunconnected.The
`globalclock.Aprogrammabledelayontheinputcanbe
`threemodeinputscanbeindividuallyconfiguredwithor
`usedtoavoidhold-timerequirements.See“IOBInputSig-
`withoutweakpull-uporpull-downresistors.Apull-down
`nals” on page20 for more information.
`resistor value of 4.7 kΩ is recommended.
`Latch Capability in CLBs
`Thethreemodeinputscanbeindividuallyconfiguredwith
`orwithoutweakpull-uporpull-downresistorsafterconfigu-
`StorageelementsintheXC4000XCLBcanbeconfigured
`ration.
`aseitherflip-flopsorlatches.Thiscapabilitymakesthe
`ThePROGRAM input pin has a permanent weak pull-up.
`FPGA highly synthesis-compatible.
`Soft Start-up
`IOB Output MUX From Output Clock
`LiketheXC3000A,XC4000Seriesdeviceshave“Soft
`AmultiplexerintheIOBallowstheoutputclocktoselect
`Start-up.”Whentheconfigurationprocessisfinishedand
`eithertheoutputdataortheIOBclockenableastheoutput
`tothepad.Thus,twodifferentdatasignalscanshareasin-
`thedevicestartsup,thefirstactivationoftheoutputsis
`gleoutputpad,effectivelydoublingthenumberofdevice
`automaticallyslew-ratelimited.Thisfeatureavoidspoten-
`outputswithoutrequiringalarger,moreexpensivepack-
`tialgroundbouncewhenalloutputsareturnedonsimulta-
`age. This multiplexer can also be configured as an
`neously.Immediatelyafterstart-up,theslewrateofthe
`AND-gatetoimplementaveryfastpin-to-pinpath.See
`individualoutputsis,asintheXC4000family,determined
`“IOB Output Signals” on page23 for more information.
`by the individual configuration option.
`XC4000 and XC4000A Compatibility
`Additional Address Bits
`ExistingXC4000bitstreamscanbeusedtoconfigurean
`Largerdevicesrequiremorebitsofconfigurationdata.A
`daisychainofseverallargeXC4000Xdevicesmayrequire
`XC4000Edevice.XC4000Abitstreamsmustberecompiled
`aPROMthatcannotbeaddressedbytheeighteenaddress
`for use with the XC4000E due to improved routing
`bitssupportedintheXC4000E.TheXC4000XSeries
`resources,althoughthedevicesarepin-for-pincompatible.
`thereforeextendstheaddressinginMasterParallelconfig-
`uration mode to 22 bits.
`
`6-8
`
`May 14, 1999 (Version 1.6)
`Petitioner Microsoft Corporation - Ex. 1035, p. 8
`
`

`

`R
`
`Product Obsolete or Under Obsolescence
`XC4000E and XC4000X Series Field Programmable Gate Arrays
`Detailed Functional Description
`EachCLBcontainstwostorageelementsthatcanbeused
`tostorethefunctiongeneratoroutputs.However,thestor-
`XC4000 Series devices achieve high speed through
`ageelementsandfunctiongeneratorscanalsobeused
`advancedsemiconductortechnologyandimprovedarchi-
`independently.Thesestorageelementscanbeconfigured
`tecture.TheXC4000EandXC4000Xsupportsystemclock
`asflip-flopsinbothXC4000EandXC4000Xdevices;inthe
`ratesofupto80MHzandinternalperformanceinexcess
`XC4000Xtheycanoptionallybeconfiguredaslatches.DIN
`of150MHz.ComparedtoolderXilinxFPGAfamilies,
`canbeusedasadirectinputtoeitherofthetwostorage
`XC4000Seriesdevicesaremorepowerful.Theyoffer
`elements.H1candrivetheotherthroughtheHfunction
`on-chipedge-triggeredanddual-portRAM,clockenables
`generator.Functiongeneratoroutputscanalsodrivetwo
`onI/Oflip-flops,andwide-inputdecoders.Theyaremore
`outputsindependentofthestorageelementoutputs.This
`versatileinmanyapplications,especiallythoseinvolving
`versatility increases logic capacity and simplifies routing.
`RAM.Designcyclesarefasterduetoacombinationof
`ThirteenCLBinputsandfourCLBoutputsprovideaccess
`increasedroutingresourcesandmoresophisticatedsoft-
`tothefunctiongeneratorsandstorageelements.These
`ware.Basic Building Blocks
`inputsandoutputsconnecttotheprogrammableintercon-
`nect resources outside the block.
`Function Generators
`Xilinxuser-programmablegatearraysincludetwomajor
`configurableelements:configurablelogicblocks(CLBs)
`Fourindependentinputsareprovidedtoeachoftwofunc-
`and input/output blocks (IOBs).
`tiongenerators(F1-F4andG1-G4).Thesefunctiongen-
`• CLBs provide the functional elements for constructing
`erators,withoutputslabeledF’andG’,areeachcapableof
`the user’s logic.
`implementinganyarbitrarilydefinedBooleanfunctionof
`•
`IOBs provide the interface between the package pins
`fourinputs.Thefunctiongeneratorsareimplementedas
`and internal signal lines.
`memorylook-uptables.Thepropagationdelayistherefore
`independent of the function implemented.
`Three other types of circuits are also available:
`Athirdfunctiongenerator,labeledH’,canimplementany
`• 3-Statebuffers(TBUFs)drivinghorizontallonglinesare
`Booleanfunctionofitsthreeinputs.Twooftheseinputscan
`associated with each CLB.
`optionallybetheF’andG’functionalgeneratoroutputs.
`• Wideedgedecodersareavailablearoundtheperiphery
`Alternatively,oneorbothoftheseinputscancomefrom
`of each device.
`outsidetheCLB(H2,H0).Thethirdinputmustcomefrom
`• An on-chip oscillator is provided.
`outside the block (H1).
`Programmable interconnect
`resources provide routing
`SignalsfromthefunctiongeneratorscanexittheCLBon
`pathstoconnecttheinputsandoutputsoftheseconfig-
`twooutputs.F’orH’canbeconnectedtotheXoutput.G’or
`urable elements to the appropriate networks.
`H’ can be connected to the Y output.
`Thefunctionalityofeachcircuitblockiscustomizedduring
`ACLBcanbeusedtoimplementanyofthefollowingfunc-
`configurationbyprogramminginternalstaticmemorycells.
`tions:
`Thevaluesstoredinthesememorycellsdeterminethe
`logicfunctionsandinterconnectionsimplementedinthe
`• any function of up to four variables, plus any second
`FPGA.Eachoftheseavailablecircuitsisdescribedinthis
`functionofuptofourunrelatedvariables,plusanythird
`section.
`function of up to three unrelated variables1
`Configurable Logic Blocks (CLBs)
`• any single function of five variables
`• any function of four variables together with some
`ConfigurableLogicBlocksimplementmostofthelogicin
`functions of six variables
`anFPGA.TheprincipalCLBelementsareshownin
`• some functions of up to nine variables.
`Figure1.Two4-inputfunctiongenerators(FandG)offer
`Implementingwidefunctionsinasingleblockreducesboth
`unrestrictedversatility. Mostcombinatoriallogicfunctions
`thenumberofblocksrequiredandthedelayinthesignal
`needfourorfewerinputs.However,athirdfunctiongener-
`path, achieving both increased capacity and speed.
`ator(H)isprovided.TheHfunctiongeneratorhasthree
`TheversatilityoftheCLBfunctiongeneratorssignificantly
`inputs.Eitherzero,one,ortwooftheseinputscanbethe
`improvessystemspeed.Inaddition,thedesign-software
`outputsofFandG;theotherinput(s)arefromoutsidethe
`toolscandealwitheachfunctiongeneratorindependently.
`CLB.TheCLBcan,therefore,implementcertainfunctions
`This flexibility improves cell usage.
`ofuptoninevariables,
`likeparitycheckorexpand-
`able-identity comparison of two sets of four inputs.
`1. When three separate functions are generated, one of the function outputs must be captured in a flip-flop internal to the CLB. Only two
`unregistered function generator outputs are available from the CLB.
`May 14, 1999 (Version 1.6)
`6-9
`Petitioner Microsoft Corporation - Ex. 1035, p. 9
`
`6
`
`

`

`Product Obsolete or Under Obsolescence
`XC4000E and XC4000X Series Field Programmable Gate Arrays
`4
`C1 • • • C4
`
`R
`
`Q
`
`Bypass
`
`Bypass
`
`YQ
`
`Y
`XQ
`
`D E
`
`D E
`
`S/R
`CONTROL
`
`S/R
`CONTROL
`
`LOGIC
`FUNCTION
`OFF', G',
`H'
`ANDH1
`
`G4G3G2G1
`SD
`C RD
`F4F3F2F1
`SD Q
`C RD
`K(CLOCK)
`H'F'
`X
`Multiplexer Controlled
`Figure 1: Simplified Block Diagram of XC4000 Series CLB (RAM and Carry Logic functions not shown)
`by Configuration Program
`X6692
`Flip-FlopsTheCLBcanpassthecombinatorialoutput(s)totheinter-
`Clock Enable
`Theclockenablesignal(EC)isactiveHigh.TheECpinis
`sharedbybothstorageelements.Ifleftunconnectedfor
`connectnetwork,butcanalsostorethecombinatorial
`either,theclockenableforthatstorageelementdefaultsto
`resultsorotherincomingdatainoneortwoflip-flops,and
`the active state. EC is not invertible within the CLB.
`connect their outputs to the interconnect network as well.
`Thetwoedge-triggeredD-typeflip-flopshavecommon
`Table 2: CLB Storage Element Functionality
`clock(K)andclockenable(EC)inputs.Eitherorbothclock
`(active rising edge is shown)
`inputscanalsobepermanentlyenabled.Storageelement
`functionality is described inTable2.
` Mode
` K
` EC
` SR
` D
` Q
`Latches (XC4000X only)
`Power-Upor
`X
`X
`X
`X
`SR
`GSR
`TheCLBstorageelementscanalsobeconfiguredas
`X
`X
`1
`X
`SR
`latches. Thetwolatcheshavecommonclock(K)andclock
`1*
`0*
`D
`D
`Flip-Flop
`__/
`enable (EC)
`inputs. Storage element
`functionality is
`0
`X
`0*
`X
`Q
`described inTable2.
`Clock Input
`1
`1*
`0*
`X
`Q
`Latch
`0
`1*
`0*
`D
`D
`Eachflip-flopcanbetriggeredoneithertherisingorfalling
`Both
`X
`0
`0*
`X
`Q
`clockedge.Theclockpinissharedbybothstorageele-
`ments.However,theclockisindividuallyinvertibleforeach
`Legend:X__/SR0*1*
`Don’t care
`storageelement.Anyinverterplacedontheclockinputis
`Rising edge
`automatically absorbed into the CLB.
`Set or Reset value. Reset is default.
`Input is Low or unconnected (default value)
`Input is High or unconnected (default value)
`6-10
`May 14, 1999 (Version 1.6)
`Petitioner Microsoft Corporation - Ex. 1035, p. 10
`
`H1
`
`DIN/H2
`
`SR/H0
`
`EC
`
`11
`
`DINF'G'H'
`G'H'
`
`DINF'G'H'
`
`LOGIC
`FUNCTION
`OFG1-G4
`
`G'
`
`LOGIC
`FUNCTION
`OFF1-F4
`
`F'
`
`

`

`R
`
`Product Obsolete or Under Obsolescence
`XC4000E and XC4000X Series Field Programmable Gate Arrays
`Set/Reset
`Twofastfeed-throughpathsareavailable,asshownin
`Figure1.Atwo-to-onemultiplexeroneachoftheXQand
`Anasynchronousstorageelementinput(SR)canbecon-
`YQoutputsselectsbetweenastorageelementoutputand
`figuredaseithersetorreset.Thisconfigurationoption
`anyofthecontrolinputs.Thisbypassissometimesusedby
`determinesthestateinwhicheachflip-flopbecomesoper-
`the automated router to repower internal signals.
`ationalafterconfiguration.Italsodeterminestheeffectofa
`Control Signals
`GlobalSet/Resetpulseduringnormaloperation,andthe
`effectofapulseontheSRpinoftheCLB.Allthree
`MultiplexersintheCLBmapthefourcontrolinputs(C1-C4
`set/resetfunctionsforanysingleflip-floparecontrolledby
`inFigure1)intothefourinternalcontrolsignals(H1,
`the same configuration data bit.
`DIN/H2,SR/H0,andEC).Anyoftheseinputscandriveany
`Theset/resetstatecanbeindependentlyspecifiedforeach
`of the four internal control signals.
`flip-flop.Thisinputcanalsobeindependentlydisabledfor
`When the logic function is enabled, the four inputs are:
`either flip-flop.
`• EC — Enable Clock
`Theset/resetstateisspecifiedbyusingtheINITattribute,
`• SR/H0 — Asynchronous Set/Reset or H function
`orbyplacingtheappropriatesetorresetflip-floplibrary
`generator Input 0
`symbol.
`• DIN/H2 — Direct In or H function generator Input 2
`SR is active High. It is not invertible within the CLB.
`• H1 — H function generator Input 1.
`Global Set/Reset
`Whenthememoryfunctionisenabled,thefourinputsare:
`• EC — Enable Clock
`AseparateGlobalSet/Resetline(notshowninFigure1)
`• WE — Write Enable
`setsorclearseachstorageelementduringpower-up,
`• D0 — Data Input to F and/or G function generator
`re-configuration,orwhenadedicatedResetnetisdriven
`• D1 — Data input to G function generator (16x1 and
`active.Thisglobalnet(GSR)doesnotcompetewithother
`16x2 modes) or 5th Address bit (32x1 mode).
`routingresources;itusesadedicateddistributionnetwork.
`Using FPGA Flip-Flops and Latches
`Eachflip-flopisconfiguredaseithergloballysetorresetin
`thesamewaythatthelocalset/reset(SR)isspecified.
`Theabundanceofflip-flopsintheXC4000Seriesinvites
`Therefore,ifaflip-flopissetbySR,itisalsosetbyGSR.
`pipelineddesigns.Thisisapowerfulwayofincreasingper-
`Similarly, a reset flip-flop is reset by both SR and GSR.
`formancebybreakingthefunctionintosmallersubfunc-
`tionsandexecutingtheminparallel,passingontheresults
`STARTUP
`throughpipelineflip-flops.Thismethodshouldbeseriously
`consideredwhereverthroughputismoreimportantthan
`GSRGTSCLKDONEINQ1Q4Q2Q3
`PAD
`latency.
`IBUF
`ToincludeaCLBflip-flop,placetheappropriatelibrary
`symbol.Forexample,FDCEisaD-typeflip-flopwithclock
`enableandasynchronousclear.Thecorrespondinglatch
`symbol (for the XC4000X only) is called LDCE.
`Figure 2: Schematic Symbols for Global Set/Reset
`X5260
`InXC4000Seriesdevices,theflipflopscanbeusedasreg-
`istersorshiftregisterswithoutblockingthefunctiongener-
`GSRcanbedrivenfromanyuser-programmablepinasa
`atorsfromperformingadifferent,perhapsunrelatedtask.
`globalresetinput.Tousethisglobalnet,placeaninputpad
`Thisabilityincreasesthefunctionalcapacityofthedevices.
`andinputbufferintheschematicorHDLcode,drivingthe
`GSRpinoftheSTARTUPsymbol.(SeeFigure2.)Aspe-
`TheCLBsetuptimeisspecifiedbetweenthefunctiongen-
`cificpinlocationcanbeassignedtothisinputusingaLOC
`eratorinputsandtheclockinputK.Therefore,thespecified
`attributeorproperty,justaswithanyotheruser-program-
`CLBflip-flopsetuptimeincludesthedelaythroughthe
`mablepad.Aninvertercanoptionallybeinsertedafterthe
`function generator.
`inputbuffertoinvertthesenseoftheGlobalSet/Resetsig-
`Using Function Generators as RAM
`nal.Alternatively, GSR can be driven from any internal node.
`OptionalmodesforeachCLBmakethememorylook-up
`tablesintheF’andG’functiongeneratorsusableasan
`Data Inputs and Outputs
`arrayofRead/Writememorycells.Availablemodesare
`to the XC4000/A/H families),
`level-sensitive (similar
`Thesourceofastorageelementdatainputisprogramma-
`edge-triggered,anddual-portedge-triggered.Depending
`ble.ItisdrivenbyanyofthefunctionsF’,G’,andH’,orby
`ontheselectedmode,asingleCLBcanbeconfiguredas
`theDirectIn(DIN)blockinput.Theflip-flopsorlatchesdrive
`either a 16x2, 32x1, or 16x1 bit array.
`the XQ and YQ CLB outputs.
`May 14, 1999 (Version 1.6)
`6-11
`Petitioner Microsoft Corporation - Ex. 1035, p. 11
`
`6
`
`

`

`R
`
`√
`
`Product Obsolete or Under Obsolescence
`XC4000E and XC4000X Series Field Programmable Gate Arrays
`SupportedCLBmemoryconfigurationsandtimingmodes
`Theselectedtimingmodeappliestobothfunctiongenera-
`for single- and dual-port modes are shown inTable3.
`tors within a CLB when both are configured as RAM.
`XC4000Seriesdevicesarethefirstprogrammablelogic
`The number of read ports is also programmable:
`deviceswithedge-triggered(synchronous)anddual-port
`• Single Port: each function generator has a common
`RAMaccessibletotheuser. Edge-triggeredRAMsimpli-
`read and write port
`fiessystemtiming.Dual-portRAMdoublestheeffective
`• Dual Port: both function generators are configured
`throughputofFIFOapplications.Thesefeaturescanbe
`togetherasasingle16x1dual-portRAMwithonewrite
`individually programmed in any XC4000 Series CLB.
`port and two read ports. Simultaneous read and write
`operations to the same or different addresses are
`Advantages of On-Chip and Edge-Triggered RAM
`supported.
`Theon-chipRAMisextremelyfast.Thereadaccesstimeis
`RAMconfigurationoptionsareselectedbyplacingthe
`thesameasthelogicdelay.
`Thewriteaccesstimeis
`appropriate library symbol.
`slightlyslower. Bothaccesstimesaremuchfasterthan
`any off-chip solution, because they avoid I/O delays.
`Choosing a RAM Configuration Mode
`Edge-triggeredRAM,alsocalledsynchronousRAM,isa
`TheappropriatechoiceofRAMmodeforagivendesign
`featureneverbeforeavailableinaFieldProgrammable
`shouldbebasedontimingandresourcerequirements,
`GateArray.Thesimplicityofdesigningwithedge-triggered
`desiredfunctionality,andthesimplicityofthedesignpro-
`RAM,andthemarkedlyhigherachievableperformance,
`cess. Recommended usage is shown inTable4.
`adduptoasignificantimprovementoverexistingdevices
`The difference between level-sensitive, edge-triggered,
`with on-chip RAM.
`anddual-portRAMisonlyinthewriteoperation.Read
`ThreeapplicationnotesareavailablefromXilinxthatdis-
`operation and timing is identical for all modes of operation.
`cussedge-triggeredRAM:“XC4000EEdge-Triggeredand
`Dual-PortRAMCapability,”
`“ImplementingFIFOsin
`Table 4: RAM Mode Selection
`XC4000ERAM,”and“SynchronousandAsynchronous
`FIFODesigns.”Allthreeapplicationnotesapplytoboth
`Dual-Port
`XC4000E and XC4000X RAM.
`Level-Sens
`Edge-Trigg
`Edge-Trigg
`itive
`ered
`ered
`Table 3: Supported RAM Modes
`Use for New
`No
`Yes
`Yes
`Designs?
`Edge-
`Level-
`16x1
`16x2
`32x1
`Size (16x1,
`Triggered
`Sensitive
`1/2 CLB
`1/2 CLB
`1 CLB
`Registered)
`Timing
`Timing
`Simultaneous
`Single-Port
`No
`No
`Yes
`Read/Write
`Dual-Port
`2X (4X
`Relative
`X
`2X
`Performance
`effective)
`RAM Configuration Options
`ThefunctiongeneratorsinanyCLBcanbeconfiguredas
`RAM Inputs and Outputs
`RAM arrays in the following sizes:
`TheF1-F4andG1-G4inputstothefunctiongeneratorsact
`• Two 16x1 RAMs: two data inputs and two data outputs
`asaddresslines,selectingaparticularmemorycellineach
`with identical or, if preferred, different addressing for
`look-up table.
`each RAM
`ThefunctionalityoftheCLBcontrolsignalschangeswhen
`• One 32x1 RAM: one data input and one data output.
`the function generators are configured as RAM. The
`OneForGfunctiongeneratorcanbeconfiguredasa16x1
`DIN/H2,H1,andSR/H0linesbecomethetwodatainputs
`RAMwhiletheotherfunctiongeneratorsareusedtoimple-
`(D0,D1)andtheWriteEnable(WE)inputforthe16x2
`ment any function of up to 5 inputs.
`memory.Whenthe32x1configurationisselected,D1acts
`as the fifth address bit and D0 is the data input.
`Additionally,theXC4000SeriesRAMmayhaveeitherof
`two timing modes:
`Thecontentsofthememorycell(s)beingaddressedare
`availableattheF’andG’function-generatoroutputs.They
`• Edge-Triggered (Synchronous): data written by the
`canexittheCLBthroughitsXandYoutputs,orcanbecap-
`designated edge of the CLB clock. WE acts as a true
`tured in the CLB flip-flop(s).
`clock enable.
`• Level-Sensitive(Asynchronous):anexternalWEsignal
`ConfiguringtheCLBfunctiongeneratorsasRead/Write
`acts as the write strobe.
`memorydoesnotaffectthefunctionalityoftheotherpor-
`6-12
`May 14, 1999 (Version 1.6)
`Petitioner Microsoft Corporation - Ex. 1035, p. 12
`
`√
`√
`
`√
`
`√
`
`√
`√
`
`

`

`R
`
`Product Obsolete or Under Obsolescence
`XC4000E and XC4000X Series Field Programmable Gate Arrays
`nals.Aninternalwritepulseisgeneratedthatperformsthe
`tionsoftheCLB,withtheexceptionoftheredefinitionofthe
`write.SeeFigure4andFigure5forblockdiagramsofa
`controlsignals.In16x2and16x1modes,theH’function
`generatorcanbeusedtoimplementBooleanfunctionsof
`CLBconfiguredas16x2and32x1edge-triggered,sin-
`F’,G’,andD1,andtheDflip-flopscanlatchtheF’,G’,H’,or
`gle-port RAM.
`D0 signals.
`TherelationshipsbetweenCLBpinsandRAMinputsand
`outputsforsingle-port,edge-triggeredmodeareshownin
`Single-Port Edge-Triggered Mode
`Table5.
`Edge-triggered (synchronous) RAM simplifies timing
`requirements.XC4000Seriesedge-triggeredRAMtiming
`TheWriteClockinput(WCLK)canbeconfiguredasactive
`operateslikewritingtoadataregister.Dataandaddress
`oneithertherisingedge(default)orthefallingedge.Ituses
`arepresented.Theregisterisenabledforwritingbyalogic
`thesameCLBpin(K)usedtoclocktheCLBflip-flops,butit
`Highonthewriteenableinput,WE.Thenarisingorfalling
`canbeindependentlyinverted.Consequently,theRAM
`clockedgeloadsthedataintotheregister,asshownin
`outputcanoptionallyberegisteredwithinthesameCLB
`Figure3.
`eitherbythesameclockedgeastheRAM,orbytheoppo-
`siteedgeofthisclock.ThesenseofWCLKappliestoboth
`functiongeneratorsintheCLBwhenbothareconfigured
`as RAM.
`TWPS
`WCLK (K)
`TheWEpinisactive-Highandisnotinvertiblewithinthe
`CLB.Note:ThepulsefollowingtheactiveedgeofWCLK(TWPS
`TWHS
`TWSS
`WE
`inFigure3)mustbelessthanonemillisecondwide.For
`mostapplications,thisrequirementisnotoverlyrestrictive;
`TDHS
`TDSS
`however,itmustnotbeforgotten.StoppingWCLKatthis
`pointinthewritecyclecouldresultinexcessivecurrentand
`DATA IN
`evendamagetothelargerdevicesifmanyCLBsarecon-
`TASS
`TAHS
`figured as edge-triggered RAM.
`Table 5: Single-Port Edge-Triggered RAM Signals
`ADDRESS
`RAM Signal
`CLB Pin
`Function
`TILO
`TILO
`D
`D0 or D1 (16x2,
`Data In
`TWOS
`16x1), D0 (32x1)
`DATA OUT
`OLD
`NEW
`A[3:0]
`F1-F4 or G1-G4
`Address
`A[4]
`D1 (32x1)
`Address
`Figure 3: Edge-Triggered RAM Write Timing
`WE
`WE
`Write Enable
`X6461
`Complextimingrelationshipsbetweenaddress,data,and
`WCLK
`Clock
`K
`writeenablesignalsarenotrequired,andtheexternalwrite
`SPO(Data Out)
`F’ or G’
`Single Port Out
`enablepulsebecomesasimpleclockenable.Theactive
`(Data Out)
`edgeofWCLKlatchestheaddress,inputdata,andWEsig-
`
`6
`
`May 14, 1999 (Version 1.6)
`
`6-13
`Petitioner Microsoft Corporation - Ex. 1035, p. 13
`
`

`

`Product Obsolete or Under Obsolescence
`XC4000E and XC4000X Series Field Programmable Gate Arrays
`D1
`D0
`
`C1 • • • C4
`
`4
`
`WE
`
`EC
`
`R
`
`WRITE
`DECODER
`1 of 16
`
`WRITE
`DECODER
`1 of 16
`
`DIN
`16-LATCH
`ARRAY
`WRITE PULSE
`DIN
`16-LATCH
`ARRAY
`WRITE PULSE
`
`MUX
`READ
`ADDRESS
`
`MUX
`READ
`ADDRESS
`
`G'
`
`F'
`
`X6752
`
`G1 • • • G4
`
`4
`
`4
`LATCH
`ENABLE
`
`4
`4
`F1 • • • F4
`LATCH
`ENABLE
`K
`(CLOCK)
`Figure 4: 16x2 (or 16x1) Edge-Triggered Single-Port RAM
`4
`C1 • • • C4
`ECEC
`D1/A4
`D0
`
`WE
`
`G1 • • • G4
`F1 • • • F4
`
`4
`
`WRITE
`DECODER
`1 of 16
`
`4
`LATCH
`ENABLE
`
`MUX
`READ
`ADDRESS
`
`G'
`
`F'
`
`H'
`
`DIN
`16-LATCH
`ARRAY
`WRITE PULSE
`DIN
`WRITE
`16-LATCH
`MUX
`DECODER
`ARRAY
`4
`4
`1 of 16
`LATCH
`ENABLE
`K
`READ
`(CLOCK)
`WRITE PULSE
`ADDRESS
`Figure 5: 32x1 Edge-Triggered Single-Port RAM (F and G addresses are identical)
`X6754
`6-14
`May 14, 1999 (Version 1.6)
`Petitioner Microsoft Corporation - Ex. 1035, p. 14
`
`

`

`R
`
`6
`
`Product Obsolete or Under Obsolescence
`XC4000E and XC4000X Series Field Programmable Gate Arrays
`Table 6: Dual-Port Edge-Triggered RAM Signals
`Dual-Port Edge-Triggered Mode
`Indual-portmode,boththeFandGfunctiongenerators
`RAM Signal
`CLB Pin
`Function
`areusedtocreateasingle16x1RAMarraywithonewrite
`D
`D0
`Data In
`portandtworeadports.TheresultingRAMarraycanbe
`A[3:0]
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket