Home technology Software and hardware co-design

Software and hardware co-design



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.Thebasicideaof​​softwareandhardwareco-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".

  1. Systemdescriptionistheprocessofusingoneormoredescriptionlanguages​​tocomprehensivelydescribethefunctionsandperformanceofthesystemtobedesigned,andtoestablishthesoftwareandhardwaremodelsofthesystem.SystemmodelingcanbeachievedwiththehelpofEDAtools,oritcanbedonebythedesignerinnaturallanguage.

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

  3. Simulationverificationistheprocessofverifyingthecorrectnessofthesystemdesign.Evaluatethecorrectnessofthedesignresultstoachievethepurposeofavoidingrepeatedmodificationswhenproblemsarefoundinthesystemimplementationprocess.Intheprocessofsystemsimulationandverification,thesimulatedworkingenvironmentandactualuseareverydifferent,andtheinteractionmethodsandeffectsbetweensoftwareandhardwarearealsodifferent,whichalsomakesitdifficulttoensurethereliabilityofthesystemintherealenvironment.Therefore,systemsimulationalsohascertainlimitations.

  4. 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.

.

This article is from the network, does not represent the position of this station. Please indicate the origin of reprint
TOP