Introduction
Restrictedbyelectronictechnology,especiallyprogrammabletechnology,thetraditionaldesignmethodistodividethehardwareandsoftwareintotwoindependentpartsfordesign.Inthewholedesignprocess,theprincipleofhardwarefirstisusuallyadopted.Generally,thehardwaredesigniscarriedoutfirst,andthenthesoftwaredesigniscarriedoutonthehardwaredesignplatform.Withthedevelopmentofelectronictechnology,variouslarge-scaleprogrammableintegratedcircuitshavebeenwidelyused,andthelimitationsoftraditionaldesignmethodshavebecomeobstaclesrestrictingthefullperformanceofprogrammablechips.Onthisbasis,peoplehavebeguntostudysoftwareandhardwarecoordination.Designtechnology.Thesoftwareandhardwareco-designisbasedonthesystemdesignasthegoal,throughcomprehensiveanalysisofthesystemsoftwareandhardwarefunctionsandexistingresources,tomaximizethepotentialofthesystemsoftwareandhardware,andco-designthesoftwareandhardwarearchitecture,sothatthesystemcanruninthebestworkingstate.
Comparisonbetweencollaborativedesignandtraditionaldesignmethods
Traditionaldesignmethodsgenerallyadopttop-downdesignmethods,ormodulardesignmethods,whichgenerallygiveprioritytohardwaremodulesDesignmethod.ThebasicdesignideaisshowninFigure1.
Thisdesignmethoddividesthehardwareandsoftwareintotwoseparateparts.Intheentiredesignprocess,theprincipleofhardwarefirstisusuallyadopted,thatis,inthecaseofanoutlineestimationofthesoftwaretaskrequirements,thehardwaredesignisfirstcarriedout,andafterthehardwareplatformisestablished,thesoftwaredesigniscarriedoutonthishardwaredesignplatform.Duetothelackofaclearunderstandingofthesoftwarearchitectureandimplementationmechanisminthehardwaredesignprocess,thehardwaredesignworkhascertainlimitations.Duetothelimitationofdesignspaceduringsystemoptimization,onlytheperformanceofhardware/softwarecanbeimproved,andthesystemcannotbecomprehensivelyoptimized.Thefinaldesignresultobtainedisdifficulttomakefulluseofhardwareandsoftwareresources,anditisdifficulttoadapttomoderncomplexsystemdesigntasks.Softwareandhardwareco-designistomakesoftwaredesignandhardwaredesignasanorganicwholetocarryoutparalleldesign,toachievethebestcombinationofsoftwareandhardware,sothatthesystemcanobtainefficientworkingability.Thebasicideaofsoftwareandhardwareco-designisshowninFigure2.
Ascanbeseenfromthefigure,themainadvantageofsoftwareandhardwareco-designisthatduringthedesignprocess,thehardwareandsoftwaredesigninteract.Thisinteractionisreflectedinallstagesandlevelsofthedesignprocess.,Thedesignprocessfullyrealizedthecoordinationofsoftwareandhardware.Inthesoftwareandhardwarefunctionallocation,theexistingsoftwareandhardwareresourcesareconsidered.Intheprocessofsoftwareandhardwarefunctiondesignandsimulationevaluation,softwareandhardwaresupporteachother.Thisenablesthesoftwareandhardwarefunctionalmodulestobecombinedintheearlystagesofdesignanddevelopment,soastofindandsolvesystemdesignproblemsearly,avoidingaseriesofproblemscausedbyrepeatedmodificationsinthelaterstagesofdesignanddevelopment,andisconducivetofullytappingthepotentialofthesystemandreducingit.Volume,reducecosts,andimproveoverallperformance.
Theprocessofsoftwareandhardwareco-design
Theprocessofsoftwareandhardwareco-designcanbedividedintofourstages:"systemdescription,systemdesign,simulationverification,andcomprehensiveimplementation".
Systemdescriptionistheprocessofusingoneormoredescriptionlanguagestocomprehensivelydescribethefunctionsandperformanceofthesystemtobedesigned,andtoestablishthesoftwareandhardwaremodelsofthesystem.SystemmodelingcanbeachievedwiththehelpofEDAtools,oritcanbedonebythedesignerinnaturallanguage.
Systemdesigncanbedividedintotwostages:softwareandhardwarefunctionallocationandsystemmapping.Softwareandhardwarefunctionallocationistodeterminewhichsystemfunctionsareimplementedbyhardwaremodulesandwhichsystemfunctionsareimplementedbysoftwaremodules.Hardwaregenerallyprovidesbetterperformance,whilesoftwareiseasiertodevelopandmodify,andthecostisrelativelylow.Duetotheconfigurabilityandprogrammabilityofhardwaremodules,aswellasthehardwareizationandfirmwareizationofsomesoftwarefunctions,somefunctionscanberealizedbybothsoftwareandhardware,andtheboundariesofsoftwareandhardwarearenotveryobvious.Inaddition,whenallocatingsoftwareandhardwarefunctions,itisnecessarytoconsidernotonlytheresourceconditionsthatthemarketcanprovide,butalsomanyfactorssuchassystemcostanddevelopmenttime.Therefore,thefunctionaldivisionofsoftwareandhardwareisacomplexandarduousprocess,anditisthemostimportantlinkintheentiretaskflow.Systemmappingisbasedontheresultofsystemdescriptionandsoftwareandhardwaretaskdivision.Thesoftwareandhardwaremodulesofthesystemandthespecificimplementationmethodsoftheirinterfacesareselectedrespectively,andtheyareintegratedtofinallydeterminethesystemstructure.Specifically,thisprocessistodeterminewhichhardwaremodules(suchasMCU,DSP,FPGA,memory,I/Ointerfacecomponents,etc.),softwaremodules(suchasoperatingsystems,drivers,functionalmodules,etc.),andsoftwaremoduleswillbeusedinthesystem.Thecommunicationmethodsbetweenhardwaremodules(suchasbus,sharedmemory,datachannel,etc.)andthespecificimplementationmethodsofthesemodules.
Simulationverificationistheprocessofverifyingthecorrectnessofthesystemdesign.Evaluatethecorrectnessofthedesignresultstoachievethepurposeofavoidingrepeatedmodificationswhenproblemsarefoundinthesystemimplementationprocess.Intheprocessofsystemsimulationandverification,thesimulatedworkingenvironmentandactualuseareverydifferent,andtheinteractionmethodsandeffectsbetweensoftwareandhardwarearealsodifferent,whichalsomakesitdifficulttoensurethereliabilityofthesystemintherealenvironment.Therefore,systemsimulationalsohascertainlimitations.
Theprocessofcomprehensiverealizationisthespecificdesignprocessofsoftwareandhardwaresystems.Afterthedesignresultsareverifiedbysimulation,thesystemcanbedevelopedandproducedaccordingtotherequirementsofthesystemdesign,thatis,thehardwareandsoftwarecanbedesignedaccordingtotherequirementsoftheaforementionedwork,anditcanworkinacoordinatedmanner,andthenvariousexperimentsarecarriedout.
Examplesoftraditionaldesignandsoftwareandhardwareco-designmethods
TakeembeddedTVimagescalingasanexample,usuallytheanalogvideosignalsentbythevideosensor(ChinaadoptsthePAL-Dsystemwitharesolutionof768×576).AfterA/Dconversion,inordertomeettheneedsofdifferentresolutiondisplay,itisnecessarytousetheadjacentpixelinterpolationalgorithmforthedigitalvideoafterA/Dconversion.Afterthecorrelationcalculation,itisconvertedtotherequiredresolutionandthendisplayed.Theadjacentpixelinterpolationalgorithmrequiresmultipledatamultiplicationsanddivisions.Undernormalcircumstances,divisioncanbeconvertedtomultiplication.Assumingthateachmonochromeadjacentpixelinterpolationoperationrequires5multiplicationsand5additions,eachtimeMultiplicationrequires4clockcycles,andeachadditiontakes1clockcycle.Thesourceimageresolutionis768×576,25framespersecond,andthedestinationimageresolutionis1280×1024.
Traditionaldesignprocess
Traditionaldesignmethodusessoftwaretorealizetheprocessofadjacentpixelinterpolationalgorithm.ThesoftwarecalculatesthevalueofeachpixelinthetargetimageinsequenceandsendsitEnterthedisplaybufferfordisplay.Thehardwarerequirementsduringthedesignprocessarecalculatedasfollows:
Thenumberofpointstobeprocessedforoneframeofimage:m=1280×1024=1310720
Thetotalnumberofpointstobeprocessedinonesecond:M=m×25=32768000
Thenumberofclocksrequiredtoprocessapoint:N=5×4+5×1=25
Thetotalnumberofclocksrequiredtoprocesspixelspersecond:C=M×N=32768000×25=819200000
Thatis,themaximuminformationflowis819.28M,andaccordingtothedesignredundancyof20%,inthecaseofpuresoftwareprocessing,therequiredprocessorspeedrequirementis1GHz.ThesystemhardwarerealizationblockdiagramisshownasinFig.3.
Softwareandhardwareco-designprocess
Theprocessofhardware-softwareco-designwithFPGAasthecore,givingfullplaytotheperformanceofprogrammabledevices,andimplementingadjacentpixelinterpolationalgorithmbywayofFPGAprogramming,Realizetheprocessrealizedbysoftwareinthetraditionaldesignprocessinthewayofhardwarepipeline.ThesystemhardwarerealizationblockdiagramisshownasinFig.4.ItcanbeseenfromthefigurethatthepixelprocessingpipelinewithFPGAasthecorereplacestheprocessor,whichreducesthecomplexityofthesystem.Inaddition,becausethemaximuminformationprocessingcapacityofthepixelprocessingpipelineis1280×1024×25=32768000,thatisThemaximuminformationflowis32.768M.Accordingtothedesignredundancyof20%,therequiredprocessingspeedislessthanone-tenthofthetraditionaldesign,whichsimplifiesthesystemdesign,reducesthetechnicaldifficultyofthesystem,andimprovesthereliabilityofthesystem.
Significanceofsoftwareandhardwareco-design
Sincesoftwareandhardwareco-designtakesprogrammabledesigntechnologyasthecore,itadoptsthecombinationofsoftwareandhardwaretodesigntheoptimalsoftwareandhardwareinterface,whichislimitedThestatemachineordataprocessingpipelinemethodrealizesthefunctionsofpartofthesoftwareprocess,whichhasthefollowingsignificancetotheproductdesign:
Improvetheperformanceofthesystem.Itcanbeusedinthedesignofnewproductsandthetechnologicalupgradingandtransformationofoldproducts;
Improvethereliabilityofthesystem.Co-designofsoftwareandhardwarecanreducethecomplexityofthesystemandthedifficultyoftechnicalimplementationtoacertainextent,whichisofgreatbenefittoimprovethereliabilityoftheproduct
RealizethededicatedtestpointtestthroughFPGAorJTAGboundaryscantestimprovesthetestabilityofthesystem;
ThedataprocessingpipelineIPcoreimplementedbyFPGAhasveryhighportabilityandcanbedirectlyappliedtosimilarproductsDevelopmentshortenstheproductdevelopmentcycle;
TheuseofsoftwarefirmwaretosolidifypartofthecoretechnologyintheprogrammabledeviceisconducivetotheconfidentialityofthecoretechnologyandhelpsFortheprotectionofintellectualpropertyrights.
Theory
First,thedescriptionmethodofthesystem.Isthecurrentlywidelyusedhardwaredescriptionlanguagestillvalid?Howtodefineasystem-levelsoftwarefunctiondescriptionorhardwarefunctiondescription?Sofar,thereisnouniversallyrecognizedandusablesystemfunctiondescriptionlanguagefordesignerstouse.
Thesecondistheinterfacebetweenthisnewdesigntheoryandtheexistingintegratedcircuitdesigntheory.Itisforeseeablethatthisbrand-newdesigntheoryshouldbeaperfectionoftheexistingintegratedcircuitdesigntheory,andahigher-leveldesigntheorybasedontheexistingtheory.Itformsamorecompletetheorytogetherwiththeexistingtheory.system.Underthisassumption,theoutputofthisdesigntheoryshouldbetheinputoftheexistingtheory.
Thirdly,howthisnewtheoryofsoftwareandhardwareco-designwilldeterminetheoptimalityprinciple.Obviously,itisnotenoughtofollowthepreviousoptimalitycriterion.Inadditiontohardwareoptimizationindicatorssuchasspeedandareathatchipdesignersarealreadyfamiliarwith,software-relatedindicatorssuchascodelength,resourceutilization,andstabilitymustalsobecarefullyconsideredbythedesigner.
Fourth,howtoverifythefunctionofsuchasystemincludingsoftwareandhardware.Inadditiontotheenvironmentnecessaryforverification,confirmingtheplaceandmechanismofdesignerrorswillbeasubjectthathastobefaced.Finally,theissueofpowerconsumption.Traditionalintegratedcircuitshaveawholesetoftheoriesandmethodsintheanalysisandestimationofpowerconsumption.However,itisfarfromenoughtousetheseready-madetheoriestoanalyzeandestimatetheSOCthatcontainsbothsoftwareandhardware.Itispossibletosimplyanalyzethepowerconsumptionofahardwaredesign,butthedynamicpowerconsumptioncausedbysoftwareoperationcanonlybeknownthroughthejointoperationofsoftwareandhardware.
Actually,youcanalsocitealotofissuesthatthenewtheorieswillinvolve,andtheytogetherformatheoreticalsystemforSOC-orientedsoftwareandhardwareco-design.
Thecontentinvolvedinthesoftwareandhardwareco-designincludes:HW-SWcollaborativedesignprocess,HW-SWdivision,HW-SWparallelsynthesis,HW-SWparallelsimulation.
.