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.

Gigsgigscloud($9.8)联通用户优选日本软银VPS

gigsgigsCloud日本东京软银VPS的大带宽配置有100Mbps、150Mbps和200Mbps三种,三网都走软银直连,售价最低9.8美元/月、年付98美元。gigsgigscloud带宽较大延迟低,联通用户的好选择!Gigsgigscloud 日本软银(BBTEC, SoftBank)线路,在速度/延迟/价格方面,是目前联通用户海外VPS的最佳选择,与美国VPS想比,日本软银VPS延迟更...

易探云:买香港/美国/国内云服务器送QQ音乐绿钻豪华版1年,价值180元

易探云产品限时秒杀&QQ音乐典藏活动正在进行中!购买易探云香港/美国云服务器送QQ音乐绿钻豪华版1年,价值180元,性价比超级高。目前,有四大核心福利产品推荐:福利一、香港云服务器1核1G2M,仅218元/年起(香港CN2线路,全球50ms以内);福利二、美国20G高防云服务器1核1G5M,仅336元/年起(美国BGP线路,自带20G防御);福利三、2G虚拟主机低至58.8元/年(更有免费...

digital-vm:VPS低至$4/月,服务器$80/月,10Gbps超大带宽,不限流量,机房可选:日本新加坡美国英国西班牙荷兰挪威丹麦

digital-vm,这家注册在罗马尼亚的公司在国内应该有不少人比较熟悉了,主要提供VPS业务,最高10Gbps带宽,还不限制流量,而且还有日本、新加坡、美国洛杉矶、英国、西班牙、荷兰、挪威、丹麦这些可选数据中心。2020年,digital-vm新增了“独立服务器”业务,暂时只限“日本”、“新加坡”机房,最高也是支持10Gbps带宽... 官方网站:https://digital-vm.co...

19ise.com为你推荐
杨紫别祝我生日快乐祝自己生日快乐内涵丰富的话西部妈妈网加入新疆妈妈网如何通过验证?bbs.99nets.com怎么打造完美SF22zizi.com河南福利彩票22选52010175开奖结果同一ip网站最近我们网站老是出现同一个IP无数次的进我们网站,而且是在同一时刻,是不是被人刷了?为什么呀?百度关键词工具常见百度关键词挖掘方法分别是什么请列举?百度关键词分析百度竞价关键词分析需要从哪些数据入手?www.yahoo.com.hk香港有什么有名的娱乐门户网站吗?777k7.comwww.777tk.com.怎么打不 开www.haole012.com阜阳有什么好的正规的招聘网站?
免费域名 免费二级域名申请 域名备案批量查询 已经备案域名 highfrequency asp.net主机 idc测评网 缓存服务器 回程路由 国外空间 台湾谷歌地址 e蜗 赞助 美国凤凰城 atom处理器 cdn服务 umax 七十九刀 建站技术 web是什么意思 更多