devices19ise.com

19ise.com  时间:2021-03-20  阅读:()
XAPP529(v1.
3)May12,2004www.
xilinx.
com11-800-255-77782003Xilinx,Inc.
Allrightsreserved.
AllXilinxtrademarks,registeredtrademarks,patents,andfurtherdisclaimersareaslistedathttp://www.
xilinx.
com/legal.
htm.
Allothertrademarksandregisteredtrademarksarethepropertyoftheirrespectiveowners.
Allspecificationsaresubjecttochangewithoutnotice.
NOTICEOFDISCLAIMER:Xilinxisprovidingthisdesign,code,orinformation"asis.
"Byprovidingthedesign,code,orinformationasonepossibleimplementationofthisfeature,application,orstandard,Xilinxmakesnorepresentationthatthisimplementationisfreefromanyclaimsofinfringement.
Youareresponsibleforobtaininganyrightsyoumayrequireforyourimplementation.
Xilinxexpresslydisclaimsanywarrantywhatsoeverwithrespecttotheadequacyoftheimplementation,includingbutnotlimitedtoanywarrantiesorrepresentationsthatthisimplementationisfreefromclaimsofinfringementandanyimpliedwarrantiesofmerchantabilityorfitnessforaparticularpurpose.
SummaryMicroBlazeTMhastheabilitytouseitsdedicatedFSLbusinterfacetointegrateacustomizedIPcoreintoaMicroBlazeTMsoftprocessor-basedsystem.
ThisdocumentdescribespossiblemethodstoincludecustomizedIPcoresintoaSoftCoreProcessor(SCP)-baseddesign.
TheFSLinterfaceisdescribedingreatdetail,andareferenceapplicationinvolvinga1-dimensionalInverseDirectCosineTransform(IDCT)isusedtoshowhowtheimplementationofacustomizedcorecanbedoneinsoftwareandhardware.
ThefirstpartofthisdocumentdealswiththedifferentmethodsofintegratinguserIPcoresintoasoftprocessor-basedsystem.
ThesecondpartcontainsashortoverviewonMicroBlazeandtheFSLinterface.
Afterthat,thereferencedesign,whichcanbedownloadedfromtheXilinxwebsite,isexplained.
ThelastpointofthisdocumentcontainstheconclusionregardingtheuseoftheFSLinterfaceIntroductionOneadvantageofaSoftCoreProcessor(SCP)isitsflexibility:itusesonlytheprocessorfeaturesrequiredforaspecificapplication.
AnotheradvantageisitsabilitytointegratecustomizeduserIntellectualProperty(IP)cores,whichcanresultinadramaticaccelerationinsoftwareexecutiontimeduetoalgorithmsbeingexecutedinparallelinhardwareandnotsequentiallyinsoftware.
MicroBlazeisapowerfulandinexpensiveSCPsolutionfortheVirtexTMandSpartanTM-II/3-basedFPGAseries.
MicroBlazecombinesalltheflexibilityadvantagesofSCP.
Generally,therearetwowaystointegrateacustomizedIPcoreintoaMicroBlaze-basedembeddedsoftprocessorsystem.
OnewayistoconnecttheIPontheOn-chipPeripheralBus(OPB).
TheOPBispartoftheIBMCoreConnectTMon-chipbusstandard.
ThesecondwayistoconnecttheuserIPtotheMicroBlazededicatedFastSimplexLink(FSL)bussystem.
Iftheapplicationistime-critical,theuserIPshouldbeconnectedtotheFSLbussystem;otherwise,itcanbeconnectedasaslaveormasterontheOPB.
IfthecustomizedcoreisconnectedtothededicatedFSLinterface,itisthenpossibletousepredefinedCfunctionstousetheusercoreintheapplicationsoftware.
ThisdocumentdealsprimarilywiththeconnectionofauserIPontheMicroBlazeFSLinterface.
FormoreinformationregardingtheconnectionofauserIPontheOPB,pleaserefertotheusercoretemplatedocument:www.
xilinx.
com/ise/embedded/edk_docs.
htmIntegrationofaUserIPintoaSoftProcessor-BasedSystemTherearedifferentwaystoconnectauserIPintoasoftmicroprocessor-basedsystem.
Ingeneral,everyapplicationcanberealizedandimplementedeitherassoftwarealgorithmorasstructuralhardware.
Itisimportanttousethehardwareimplementationadvantage(parallelexecution),whichallowstherealizationofstricttiming-drivenapplicationsandtheabilitytocontroltheuserIPinsoftware(e.
g.
,CorC++).
Figure1demonstrateshowtheparallelexecutionadvantagecanbeused.
Thesoftwareroutineneeds12clockcyclestocalculatetheresultG;however,inhardwareittakesonly2clockcyclestocomputethesameresult.
ApplicationNote:MicroBlazeXAPP529(v1.
3)May12,2004ConnectingCustomizedIPtotheMicroBlazeSoftProcessorUsingtheFastSimplexLink(FSL)ChannelAuthor:Hans-PeterRosingerR2www.
xilinx.
comXAPP529(v1.
3)May12,20041-800-255-7778IntegrationofaUserIPintoaSoftProcessor-BasedSystemRFigure1:SoftwareversushardwareItisimportanttobeabletousethecustomizedIPcoreintheapplicationprogram.
WithoutaneasywaytocontroltheuserIP,itdoesn'tmakesensetoincludethecore.
OnepossiblewayistointegratetheuserIPasanon-chipbussystem(likethecoreconnectbus).
Duringthedesignstageofthecore,thedesignerhastotakethebusstandardintoaccount;thatis,thedesignerhastomakesurethatheorsheconformstothebusspecificationifthecoregetsconnectedtothebus.
Thiscanbeverytime-consuming,aliabilitywhichnoengineercanaffordtoday.
Insomecases,templates,forexample,theXilinxIPIFusercoretemplate,exist.
ThesetemplatesmakeiteasyandfasttoconnectanIPcoreontheCoreconnectbus.
ThenextandmorecriticaldrawbacktoconnectingtheuserIPtoanon-chipbusisthatmostofthetimethebusprotocoloverheadtakestoomuchtimeandthespeedadvantagegetslost.
Therefore,otherdifferentwaystoincludeacustomizeduserIPcorearepossible.
OneistointegratetheuserIPasco-processor(iftheprocessorhassuchaco-processorinterface).
IfthesoftprocessorhasaspecialdedicatedinterfaceliketheARCTangent,Tensilica,NIOS,orMicroBlazesoftprocessor,itisalsopossibletointegrateauserIP.
AsoftprocessorisavailableasHDLsourcecodeorasastructuralnetlist.
Therefore,itcanbeintegratedintoanASICoraFPGA.
SoftProcessorsTargetingASICVersusFPGAItisimportanttounderstandtheadvantageoftheflexibilitymadepossiblebyusinganFPGAdesigninsteadofanASICdesign.
AftertheASICismanufactured,thereisnowaytoreconfigurethelogicinsidetheASICdevice.
ItwouldevenbetoocostlytochangethemaskandmanufactureanewASIC.
ForaSCP,whichtargetstheASICmarket,itisessentialtobeflexibleinsoftware.
Aftertheprocessor-basedsystemwiththecustomizedinstructionismappedinanASIC,itispossibletochangetheapplicationonlyinsoftware(changingtheC-Code).
Figure2showsanexampleonthis.
Thefirstbarshowstheexecutiontimeofawholesoftwareprogram.
UsingaSCPwithcustomizedinstructionsreducestheoverallexecutiontimeofthesoftwareprogramdramatically.
If,forinstance,theASICalreadyexistsbutanaspectoftheapplicationchangesforonecustomizedinstruction,thensomemodificationsmustbedone.
loadAloadBsubstoreDloadCloadFaddstoreEloadEloadDdivstoreGD=A-BE=C+FG=D/EAlgorithmHW-Solution2clockcyclesSW-Solution12clockcyclesABCFDEGXAPP529_01_101503IntegrationofaUserIPintoaSoftProcessor-BasedSystemXAPP529(v1.
3)May12,2004www.
xilinx.
com31-800-255-7778RFigure2:IncreasingsoftwareexecutionspeedInanASICdesign,theonlywayistonotusethecustomizedinstructionbuttoaddressthenewapplicationrequirementinsoftware.
Now,theoverallsoftwareexecutiontimewillincreaseagain;however,foranASICsolution,itistheonlyway.
SoftprocessorssuchastheARCTangent,theTensilica,andtheNIOSsoftprocessorintegratethecustomizedinstructioncompletelyintheirexecutionunitandareusefulifthetargethardwareisnotchangeable(ASIC).
FPGAdevicesinsteadallowforthereconfigurationoftheinternallogicveryeasily,quickly,andcheaply.
Eveninthelaststagesofthedesign,itisstillpossibletoeasilychangethehardwareinsidethechip.
Ifwelookattheaboveexampleagain,itispossibletochangethenewapplicationrequirementatanystageofthedesigninhardware,anditisnotnecessarytodothechangeinsoftware.
Itisnotthatimportanttohavetheflexibilityinsoftware,becausetheflexibilityinhardwarehasnotbeenlost.
ForFPGAdesigns,itisnotnecessaryorusefultoincludethecustomizeduserIPintheinstructionsetandinsidetheprocessorcore,theRISCarchitecture.
ThenextsectiondetailsproblemsencounteredwhenthecustomizedIPcoreisincludedintheRISCarchitecture.
MicroBlazeFSLInterfaceVersusCustomizedInstructionTheintegrationofacustomizedIPcorewithintheexecutionunitisveryrestrictive.
OneofthebiggestrestrictionsisduetothenatureofRISCprocessorarchitectureitself.
Figure3showsausualRISCprocessorarchitecture.
ModernRISCarchitectureshaveatwo-inputandaone-outputexecutionunit(ALU).
Applicationsthatrequiremorethantwoinputvaluesandmorethanoneoutputvaluearenotoptimalforthesearchitectures,andseveralinstructionshavetobegenerated.
Custompacketprocessingapplications,forinstance,requirealotofdifferentdynamicallychangeableinputs(maskbits)andoutputs.
Thoseapplicationsarenotsuitableforcustomizedinstructionsbecauseitispossibletouseonlytwoinputs(usually64bits)andoneoutput(usually32bits).
SW_F1SW_F2SW_F3SW_F4IIIIIIISW_F4FlexibilityOverallsoftwareexecutiontimeXAPP529_02_1015034www.
xilinx.
comXAPP529(v1.
3)May12,20041-800-255-7778IntegrationofaUserIPintoaSoftProcessor-BasedSystemRFigure3:IncludingacustomizedIPwithintheRISCarchitecture(CustomizedInstruction)Anotherbottleneckisthecustomizedinstructionitself.
IfthecriticalpathofthewholesystemisthroughtheuserIP,thewholesoftprocessorwilldecreaseinperformance(processorfrequency),becausetheuserIPisincludedwithinthesoftprocessorarchitectureitself.
IftheRISCarchitecturedoesn'tallowthedesignertostallthepipeline,theprocessorcan'trunatahigherfrequencythanthecriticalpathwouldallow.
ThebiggerthecustomizedIPis,themorethedesignermustbecarefulnottodecreasethewholeprocessorperformance.
Itisevennotacceptabletocascadelogicwithinonecustomizedinstruction,andseveralcustomizedinstructionshavetobebuilt.
Thesoftwareintegrationofcustomizedinstructioncan'tbehandleddirectlyfromthecompiler,thustheuserhastouseinlineassemblytoworkwiththem.
Thecustomizedinstructionshavetobeimplementedinsoftwareasinlineassemblercodeandinlinepragmas.
ThiscouldproduceaCapplicationcode,whichisneitherverycleannorportable.
Xilinxprovides,withtheMicroBlazesoftprocessorandthededicatedFSLinterface,averypowerful,easyandflexiblewaytoimplementacustomizeduserIP.
RegardingtheI/Osofthecore,itispossibletousemorethan2dynamicinputsandmorethan1outputbecauseupto16FSLinterfacebussesareprovided.
Theusercanuse8inputstothecustomizedIPcoreand8outputs.
Figure4showsthebasicideaofconnectingthecustomizeduserIPviatheFSLinterfaceontotheMicroBlaze.
ItispossibletoprovidethecustomizeduserIPcorewithmanymoreinputs/outputsfromanotherprocessororexternallogic,andthebigadvantageisitisnotnecessarytochangeorextendtheMicroBlazecoreortheRISCarchitectureitself.
Instruction-FetchInstruction-FetchInstruction-FetchInterface32x32RegisterALUInstruction-DecodeSUBADDMOVUSWDecodecustomizeduserIPDecodeExecuteWriteback1234RISCProcessorCriticalPath!
CriticalPath!
XAPP529_03_101503IntegrationofaUserIPintoaSoftProcessor-BasedSystemXAPP529(v1.
3)May12,2004www.
xilinx.
com51-800-255-7778RFigure4:IncludingacustomizedIPviatheFSLinterfaceontoMicroBlazeRegardingthemaximumfrequencyofthecustomizeduserIP,itwon'tdecreasetheclockfrequencyofMicroBlaze,becauseitisindependentandtheusercoredoesn'taffecttheinternalMicroBlazeRISCarchitecture.
ItisnoproblemthatthecustomizeduserIPisasubsetofseveralIPcoresthatarecascadedtogether.
Thefactthatthecustomizedusercoreisimplementedoutsidetheprocessorarchitectureitselfbringsanotheradvantage.
If,forinstance,thecoretakes100clockcyclestocalculateacomplexresult,MicroBlazecanexecuteinthemeantimeadifferentapplicationcodeanddoesn'thavetowaitforthe100clockcycles.
Theintegrationofthehardwareinsoftwaredoesn'trequireinlineassembledcodebecausetheFSLinterfacehaspredefinedC-macrosthatcanbeusedforsendingparameterstothehardwareunitandtoreceivetheresult.
AnotherpowerfulusageoftheFSLisinter-processorcommunication.
TwoMicroBlazeprocessorshaveaveryfastandcleanwaytocommunicatewitheachother.
Inthefollowingsections,firstMicroBlazeandthentheFSLinterfacearediscussedingreaterdetail.
Oneexampleshowshowa1-dimensionIDCTcoregetsconnectedinhardwarewithintheEDK–XPSsystembuilderandhowtointegratethecoreinsoftware.
GeneralDescriptionoftheMicroBlazeSoftProcessorMicroBlazeisastandard32-bitRISCHarvard-styleSoftProcessor,whichisespeciallydevelopedfortheVirtexandSpartan-II/3-basedFPGAarchitecture.
The32by32-bitregistersarelookuptable(LUT)RAMbased.
Itguaranteesaveryshortregisteraccesstime.
Formemory,eithertheon-chipblockRAMoroff-chipmemorycanbeused.
Theaccesstimetotheon-chipblockRAMisminimalbecausetherearededicatedroutingresourcestoaccessthem.
DuetothefactthatMicroBlazeisusingtheavailableFPGAresourcesveryefficiently,itispossibletoclockMicroBlazeupto150MHz.
Thus,upto125DhrystoneMIPScanbereached.
Itisconsequentlytheindustry'sfastestSCPforFPGAs.
TheMicroBlazeSCPcanbecustomizedforanyapplication.
Itsbarrelshifter,divideunit,datacache,instructioncache,andtheFSLbussystemareoptional.
Thesizesofthecachesareconfigurablefrom2to64Kbytes.
StandardperipheralsareprovidedaswellandareCoreConnectcompatible.
Consequently,theycanbeintegratedinanembeddeddesignveryeasy.
Theseperipheralsareeitherfree,suchasthememorycontroller,UART,interruptcontroller,andtimer,orcommercialcoressuchastheEthernetcontroller,gigabitEthernetcontroller,PCI,HDLC,etc.
AllcommercialIPCorescanbeevaluated.
Forallfreecores,theVHDLandtheC-Code(TCP/IPstack)arereadable.
MicroBlazeisusedindifferentareassuchasInstruction-FetchInstruction-FetchInterface32x32RegisterALUInstruction-DecodegetngetputnputDecodeExecuteWriteback1234MicroBlazecustomizeduser-IPFSL-InterfaceCriticalPath!
XAPP529_04_1015036www.
xilinx.
comXAPP529(v1.
3)May12,20041-800-255-7778IntegrationofaUserIPintoaSoftProcessor-BasedSystemRnetworkapplications,telecommunicationapplications,control,andconsumermarkets.
Figure5showsatypicalMicroBlazeSCPwithitsperipherals.
TheEmbeddedDevelopmentKit(EDK)includesthesoftprocessorcoreandastandardsetofperipheralsandisavailablefromXilinxanditsdistributionpartners.
ThekitincludesacompletesetofGNU-basedsoftwaretoolsincludingthecompiler,assembler,debugger,andlinker.
VariationsofthekitincludedevelopmentboardsthatsupporttheVirtex-E,Virtex-II,Virtex-IIPro,Spartan-II,Spartan-IIE,andSpartan-3seriesofFPGAs.
FormoreinformationregardingMicroBlaze,pleaserefertothefollowinglink:http://www.
xilinx.
com/ipcenter/processor_central/microblaze/index.
htmDetailedDescriptionoftheFSLInterfaceThissectiondescribesthespecialFSLinterfaceindetail.
MicroBlazecontainseightinputandeightoutputFSLinterfaces.
TheFSLchannelsarededicatedunidirectionalpoint-to-pointdatastreaminginterfaces.
TheFSLinterfacesonMicroBlazeare32bitswide.
Further,thesameFSLchannelscanbeusedtotransmitorreceiveeithercontrolordatawords.
Aseparatebitindicateswhetherthetransmitted(received)wordiscontrolordatainformation.
TheperformanceoftheFSLinterfacecanreachupto300MB/sec.
Thisthroughputdependsonthetargetdeviceitself.
TheFSLbussystemisidealforMicroBlaze-to-MicroBlazeorstreamingI/Ocommunications.
ThemainfeaturesoftheFSLinterfaceare:Unidirectionalpoint-to-pointcommunicationFigure5:MicroBlaze-basedembeddedprocessorsystemAddresssideLMBDebugLogicLocalLinkI/FLogical/ShiftDataSideLMBOff-ChipMemory0-4GBTimer/CountersGeneralPurposeI/OWatchdogTimerInterruptControllerPERIPHERALSOPBCoreConnectTMOPBCoreConnectTMD-OPBD-LMBI-LMBI-OPBPROCESSORLocalLinkMDMUARTOff-ChipMemory0-4GBInstructionCacheBarrelShifterDividerALUMultiplyMachineStatusRegRegisterFile32x32bitr31r1r0ProgramCounterControlUnitInstructionBufferInstructionBusControllerDataBusControllerXAPP529_05_101503DataCacheIntegrationofaUserIPintoaSoftProcessor-BasedSystemXAPP529(v1.
3)May12,2004www.
xilinx.
com71-800-255-7778RUnsharednon-arbitratedcommunicationmechanismControlandDatacommunicationsupportFIFO-basedcommunicationConfigurabledatasize600MHzstandaloneoperationTheFSLbusisdrivenbyoneMasteranddrivesoneSlave.
Figure6showstheprincipleoftheFSLbussystemandtheavailablesignals.
Figure6:FSLinterfaceFSLperipheralsmaybecreatedasaMasteroraSlavetotheFSLbus.
AperipheralconnectedtothemasterportsoftheFSLbuspushesdataandcontrolsignalsontotheFSL.
AllperipheralsthatactasamastertotheFSLbusshouldcreateabusinterfaceofthetypeMASTERforthebusstandardFSLintheMicroprocessorPeripheralDescription(MPD)file.
AperipheralconnectedtotheslaveportsoftheFSLbusreadsandpopsdataandcontrolsignalsfromtheFSL.
AllperipheralsthatareaslavetotheFSLbusshouldcreateabusinterfaceofthetypeSLAVEforthebusstandardFSLintheMPDfile.
TheputandgetinstructionsofMicroBlazecanbeusedtotransferthecontentsofaMicroBlazeregisterontotheFSLbusandvice-versa.
TheFSLbusconfigurationofMicroBlazecanbeusedinconjunctionwithanyoftheotherbusconfigurations.
BelowisabriefoverviewoftheFSL-relatedpredefinedC-functionsavailableinEDK.
//BlockingDataReadandWritetoLocalLinkno.
idmicroblaze_bread_datafsl(val,id)microblaze_bwrite_datafsl(val,id)//Non-blockingDataReadandWritetoLocalLinkno.
idmicroblaze_nbread_datafsl(val,id)microblaze_nbwrite_datafsl(val,id)//BlockingControlReadandWritetoLocalLinkno.
idmicroblaze_bread_cntlfsl(val,id)microblaze_bwrite_cntlfsl(val,id)//Non-blockingControlReadandWritetoLocalLinkno.
idmicroblaze_nbread_cntlfsl(val,id)microblaze_nbwrite_cntlfsl(val,id)FormoredetailedinformationregardingtheFSLbusinformation,pleaserefertotheFSLbusdatasheet(containingtimingdiagrams)andtotheMicroBlazeuserguide.
FSL_M_ClkFSL_M_DataFSL_M_ControlFSL_M_WriteFSL_M_FullFSL_S_ClkFSL_S_DataFSL_S_ControlFSL_S_ReadFSL_S_ExistsFIFOXAPP529_06_1015038www.
xilinx.
comXAPP529(v1.
3)May12,20041-800-255-7778DescriptionoftheApplicationRDescriptionoftheApplicationAsanapplicationtodemonstratetheuseoftheFSLinterface,a1-dimensionIDCTisused.
ThisDSPapplicationhighlightsverywelltheperformancewinthatcouldbereached.
A1-dimensionIDCTrealizedinsoftwarewouldrequireahighexecutiontimebecausetheC-programwouldconsistmainlyofloopswhichgetexecutedsequentiallybytheprocessor.
Iftheapplicationisimplementedasitsownhardwaremodule,theexecutiontimerequiresmuchfewerclockcycles.
Theused1-IDCTcoreontheFSLinterfaceisanexampleandneedsapproximately150LUTsandthelatencyof64clockcycles.
PleasenotethisIDCTcoreisusedtoshowhowtoimplementausercoreontheFSLinterface.
Thesoftwareapplicationwrites8valuesfrommemorytotheFSL.
TheIDCTcoregetsthedataandcalculatestheresult.
Whentheresultisavailable,MicroBlazereadsthedata(8words)backfromtheFSL.
TheIDCTcoreisconnectedtotheFSLinterfaceasshowninFigure7.
Figure7:Includingthe1-dimensionalIDCTIPviatheFSLinterfaceontoMicroBlazeFortheFSL0connection,theMicroBlazeistheMasterontheFSLbusandtheIDCTcoreistheSlave.
Thus,MicroBlazecontrolsthedatasentontheFSL0bustotheIDCTcore.
FortheFSL1bus,itisviceversa,andtheIDCTcoreistheMasterandtheMicroBlazetheSlave.
TheIDCTcontrolsthedataontheFSL1bus.
Bycascadingthe1-dimensionalIDCTcore,itispossibletointegratea2-dimensionalIDCTcore(Figure8).
The1-DIDCTblockwillreadfromtheFSL0inputandputthedataoutontheFSL1bus.
Thecorner-turnmodulealsoreadsfromFSL1andputsoutonFSL2.
Thelast1-DIDCTisalsoreadingfromtheFSL2andputsoutthedataonFSL3,whichtransferstheresultbacktoMicroBlaze.
Bydoingthis,thecurrent1-IDCTblockcanbeusedwithoutanymodificationasapartina2-dimensionalIDCTcore.
Italsogivestheusermuchmoreflexibilitysinceitispossibletodecideforanotherconnectionschemeatanytime.
Figure8:BlockDiagramforusinga1-DIDCTtoimplementa2-DIDCTFSL0MicroBlazeFSL1IDCTR0R1R2R30R31FSL-interfaceXAPP529_07_101503XAPP529_08_101503FSL0InputFSL3Output1-DIDCT(rowengine)CornerTurn2-DIDCT1-DIDCT(columnengine)FSL1FSL2DescriptionoftheApplicationXAPP529(v1.
3)May12,2004www.
xilinx.
com91-800-255-7778RIntegrationinHardwareThissectiondescribeshowtointegratetheuserIPinaMicroBlaze-basedembeddedprocessordesign.
Forthisintegration,theEDK6.
1softwaretoolisused.
Figure9showstheembeddedMicroBlazedesignwiththecustomizedIDCTcoreandsomeOPBstandardperipherals.
ThewholeembeddedsystemconsistsoftheMicroBlazeitself,twoFSLbussystems,theusercore,anOPBon-chipbus,twoOPBperipherals(UARTliteandtheMicroBlazeDebugmodule),andtheon-chipblockRAM.
Theapplicationprogramisstoredintheon-chipblockRAM.
Figure10showsindetailhowtheIDCTcoreisconnectedontotheMicroBlazeFSLinterface.
TheIDCTisavailableinVHDLcode.
Itisalsopossibletouseanetlistinstead.
Figure9:Embeddedprocessorsystem-hardwareIDCTSlaveMasterMicroBlazeMasterSlaveFSL0BusFSL1BusOPBBusLMBBusBRAMDebugmoduleUARTmoduleXAPP529_09_10150310www.
xilinx.
comXAPP529(v1.
3)May12,20041-800-255-7778DescriptionoftheApplicationRFigure10:Figure10:Detailedconnectionofthe1-dimensionalIDCTIPtoMicroBlazeThecontrolsignalsareprovidedfromtheFSLinterface.
Externalsignalsliketheglobalsystemclockorthesystemresetcanbeintegratedeasily.
InadditiontotheVHDLsourcecode,aMicroprocessorPeripheralDefinition(MPD)fileandaPeripheralAnalyzeOrder(PAO)filearenecessary.
TheMPDfiledefinestheinterfaceoftheperipheral.
ThePAOfilecontainsalistofHDLfilesthatareneededforsynthesis,anddefinestheanalyzeorderforcompilation.
Itisnecessarytosaveallthefilesinadedicateddirectory.
ThefilestructureintheXPSprojectshouldlooklikethefollowing:wherethexil_idct_v1_00_a/datafoldercontainstheMPDandthePAOfile.
ThevhdlfoldercontainstheVHDLsourcecodeoftheuserIP.
Ifallthefilesareimplementedcorrectly,thecustomizedusercorecanbeintegratedintheXilinxPlatformStudio(XPS)andthebitstreamofthehardwaresystemcanbegenerated.
XAPP529_10_101503MicroBlazeR0R1R2FSL-interfaceSys_clkSys_resetSys_clkSys_resetIDCT_Core.
vhdIDCT.
vhdData_Out[31:0]Read_Data_InIn_FIFO_ReadOut_Data_FIFO[0:31]FSL0_M_Data[0:31]FSL0_S_ReadFSL0_M_WriteFSL1_S_ExistsFSL1_M_FullFSL1_S_Data[0:31]Out_FIFO_WriteIn_Data_ExistsOut_FIFO_FullIn_Data_FIFO[16:31]Data_Out_ValidData_In_ValidData_Out_FullData_In[15:]R30R31ReferenceDesignXAPP529(v1.
3)May12,2004www.
xilinx.
com111-800-255-7778RIntegrationinSoftwareThenextstepistointegratetheusercoreintothesoftware,theCapplicationprogram.
Theapplicationprogramisverysimpleandwritessomedatatothecoreandreadsitback.
Thedatablockwhichwillbewrittentothecoreconsistsof8inputvalues.
BeforethenextdatablockiswrittentotheIDCTcore,MicroBlazewaitsfortheresultingdatablock.
Obviously,theresultingdatablockcontainsthe8outputvaluesfromtheIDCTcore.
Forwritingintotheusercore,thepredefinedfunctionsareused.
Fortheexample,thenon-blockingwriteandreadcommandsareused.
Thepredefinedfunctionsaredefinedinthemb_interface.
hfile.
VerificationoftheHardwareTheverificationofthehardwarecanbedoneinverydifferentways.
TheaimistoverifytheFSLbussystemandtobesurethedataistransferredtotheIPcoreandreadbackfromtheIPcorecorrectly.
ItwillbeassumedthatthecustomizedIPcore,inthiscasetheIDCTcore,alreadyhasthecorrectfunctionality.
Forthereferencedesign,theverificationwasdonewithModelSim5.
7e,anddoscriptfilesareprovidedwiththereferencedesign.
Itcanbeseenfromtheoutputwavewindowthatboththewritetothecoreandthereadfromthecorearesuccessful.
VerificationoftheSoftwareToverifythesoftware,theGNUdebuggerisused.
ThedebuggercanbestartedfromXPSandisincludedinEDK.
Theopb_mdmdebugmoduleisusedforthecommunicationbetweenMicroBlazeandtheXilinxMicroprocessorDebugger(XMD)interface.
OntopofXMD,theGNUdebuggerGUIcanbeused.
ReferenceDesignThereferencedesigntargetstheMemecInsight2vp7demoboard(XC2VP7-4,FG456package).
IthasbeenimplementedwiththeXilinxEDK/ISE6.
2isoftware.
Theutilizationvaluesarecompletelydeviceandimplementationtooldependent.
Thetotaldesignrequires4IOBs,4MULT18x18elements,4RAMB16sandabout1300slices,andtheembeddedsoftprocessordesignrunsatafrequencyof100MHz.
TheMicroBlaze–FSL1dimensionIDCTreferencedesigncanbedownloadedfrom:http://www.
xilinx.
com/bvdocs/appnotes/xapp529_6_1.
ziphttp://www.
xilinx.
com/bvdocs/appnotes/xapp529_6_2.
zipConclusionTheMicroBlazeSCPwithitspowerfulFSLinterfacecanimprovetheperformanceofawholeapplicationdramaticallybyoutsourcingtime-criticaltasksintohardware.
Besidesthetremendousperformancewin,thesolutionischangeableuntilthelaststageoftheprojectbytakingadvantageoftheflexibilityofSCPandtheFPGAarchitecture.
Byusingcustomizedinstructions,theuserisboundedtoonlytwoinputsandoneoutputfromthecustomizedlogic.
WiththeFSLinterfaceitispossibletohaveupto8inputsand8outputs,whichallowsmuchmoreflexibility,andcascadedlogicwithinthecustomizedcoredoesn'taffectorlocktheMicroBlazeRISCunit.
TheRISCarchitecturedoesn'tgetmanipulatedandstaysself-containedbecauseitisnotnecessarytoextendtheprocessorRISCcore.
PredefinedCfunctionsareprovidedinEDKforintegratingthecustomizeduserIPinaveryeasyandcleanwayintheC/C++applicationprogram.
IfthetargetFPGAarchitectureisaSpartan-II,Spartan-IIE,orSpartan-3,itisevenbetter,asthesefamiliesarethemostcost-effectivesolutionthatisavailableforhigh-performanceembeddedprocessordesigns.
RevisionHistoryThefollowingtableshowstherevisionhistoryofthisdocument.
12www.
xilinx.
comXAPP529(v1.
3)May12,20041-800-255-7778RevisionHistoryRDateVersionRevision11/30/031.
0InitialXilinxrelease.
12/19/031.
1Correctedbrokenlink.
3/16/041.
2EditSCPtoSoftCoreProcessor(1stuse)andfixrefdesignlink.
5/12/041.
3Editedlinkstoreferencedesigns.

[6.18]IMIDC:香港/台湾服务器月付30美元起,日本/俄罗斯服务器月付49美元起

IMIDC发布了6.18大促销活动,针对香港、台湾、日本和莫斯科独立服务器提供特别优惠价格最低月付30美元起。IMIDC名为彩虹数据(Rainbow Cloud),是一家香港本土运营商,全线产品自营,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非等地机房,CN2网络直连到中国大陆。香港服务器   $39/...

久久网云-目前最便宜的国内,香港,美国,日本VPS云服务器19.9元/月起,三网CN2,2天内不满意可以更换其他机房机器,IP免费更换!。

久久网云怎么样?久久网云好不好?久久网云是一家成立于2017年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,久久网云目前提供有美国免费主机、香港主机、韩国服务器、香港服务器、美国云服务器,香港荃湾CN2弹性云服务器。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经验,遍布亚太地区的海量节点为...

Sharktech10Gbps带宽,不限制流量,自带5个IPv4,100G防御

Sharktech荷兰10G带宽的独立服务器月付319美元起,10Gbps共享带宽,不限制流量,自带5个IPv4,免费60Gbps的 DDoS防御,可加到100G防御。CPU内存HDD价格购买地址E3-1270v216G2T$319/月链接E3-1270v516G2T$329/月链接2*E5-2670v232G2T$389/月链接2*E5-2678v364G2T$409/月链接这里我们需要注意,默...

19ise.com为你推荐
固态硬盘是什么固态硬盘是什么?和原先的有什么差别?有必要买吗?mathplayerjavascript 如何判断document.body.innerHTML是否为空bbs.99nets.com怎么把电脑的IP设置和路由器一个网段rawtoolsTF卡被写保护了怎么办?丑福晋爱新觉罗.允禄真正的福晋是谁?他真的是一个残酷,噬血但很专情的一个人吗?网站检测请问论文检测网站好的有那些?www.haole012.com012.qq.com是真的吗百度指数词百度指数为0的词 为啥排名没有www.kknnn.com求有颜色的网站!要免费的抓站工具大家在家用什么工具练站?怎么固定?面壁思过?在医院是站站立架
美国免费虚拟主机 二级域名 北京域名空间 域名服务器的作用 花生壳免费域名 免费域名跳转 com域名抢注 美国主机排名 荣耀欧洲 安云加速器 mediafire 国外服务器 la域名 英语简历模板word 合租空间 91vps 国外代理服务器软件 cdn加速是什么 购买国外空间 申请免费空间和域名 更多