introduction
Restrictedbyelectronictechnology, especiallyprogrammabletechnology, thetraditionaldesignmethodistodividethehardwareandsoftwareintotwoindependentpartsfordesign.Inthewholedesignprocess, theprincipleofhardwarefirstisusuallyadopted.Generally, thehardwaredesigniscarriedoutfirst, andthenthesoftwaredesigniscarriedoutonthehardwaredesignplatform.Withthedevelopmentofelectronictechnology, variouslarge-scaleprogrammableintegratedcircuitshavebeenwidelyused, andthelimitationsoftraditionaldesignmethodshavebecomeobstaclesrestrictingthefullperformanceofprogrammablechips.Onthisbasis, peoplehavebeguntostudysoftwareandhardwarecoordination.Designtechnology.Thesoftwareandhardwareco-designisbasedonthesystemdesignasthegoal, throughcomprehensiveanalysisofthesystemsoftwareandhardwarefunctionsandexistingresources, tomaximizethepotentialofthesystemsoftwareandhardware, andco-designthesoftwareandhardwarearchitecture, sothatthesystemcanruninthebestworkingstate.
Comparaison entre la conception collaborative et les méthodes de conception traditionnelles
Les méthodes de conception traditionnelles adoptent généralement des méthodes de conception descendante, ou des méthodes de conception modulaire, qui donnent généralement la priorité aux modules matériels.
Thisdesignmethoddividesthehardwareandsoftwareintotwoseparateparts.Intheentiredesignprocess, theprincipleofhardwarefirstisusuallyadopted, thatis, inthecaseofanoutlineestimationofthesoftwaretaskrequirements, thehardwaredesignisfirstcarriedout, andafterthehardwareplatformisestablished, thesoftwaredesigniscarriedoutonthishardwaredesignplatform.Duetothelackofaclearunderstandingofthesoftwarearchitectureandimplementationmechanisminthehardwaredesignprocess, thehardwaredesignworkhascertainlimitations.Duetothelimitationofdesignspaceduringsystemoptimization, onlytheperformanceofhardware / softwarecanbeimproved, andthesystemcannotbecomprehensivelyoptimized.Thefinaldesignresultobtainedisdifficulttomakefulluseofhardwareandsoftwareresources, anditisdifficulttoadapttomoderncomplexsystemdesigntasks.Softwareandhardwareco-designistomakesoftwaredesignandhardwaredesignasanorganicwholetocarryoutparalleldesign, toachievethebestcombinationofsoftwareandhardware, sothatthesystemcanobtainefficientworkingability.Thebasicideaof la co-conception du logiciel et du matériel est illustrée dans la figure 2.
Ascanbeseenfromthefigure, themainadvantageofsoftwareandhardwareco-designisthatduringthedesignprocess, thehardwareandsoftwaredesigninteract.Thisinteractionisreflectedinallstagesandlevelsofthedesignprocess., Thedesignprocessfullyrealizedthecoordinationofsoftwareandhardware.Inthesoftwareandhardwarefunctionallocation, theexistingsoftwareandhardwareresourcesareconsidered.Intheprocessofsoftwareandhardwarefunctiondesignandsimulationevaluation, softwareandhardwaresupporteachother.Thisenablesthesoftwareandhardwarefunctionalmodulestobecombinedintheearlystagesofdesignanddevelopment, soastofindandsolvesystemdesignproblemsearly, avoidingaseriesofproblemscausedbyrepeatedmodificationsinthelaterstagesofdesignanddevelopment, andisconducivetofullytappingthepotentialofthesystemandreducingit.Volume, reducecosts, andimproveoverallperformance.
Le processus de co-conception logicielle et matérielle
Le processus de co-conception du logiciel et du matériel peut être divisé en quatre étapes : « description du système, conception du système, vérification de la simulation et mise en œuvre complète ».
La description du système consiste à utiliser un ou plusieurs langages de description pour décrire de manière exhaustive les fonctions et les performances du système à concevoir et pour établir le modèle logiciel et matériel du système.
Systemdesigncanbedividedintotwostages: softwareandhardwarefunctionallocationandsystemmapping.Softwareandhardwarefunctionallocationistodeterminewhichsystemfunctionsareimplementedbyhardwaremodulesandwhichsystemfunctionsareimplementedbysoftwaremodules.Hardwaregenerallyprovidesbetterperformance, whilesoftwareiseasiertodevelopandmodify, andthecostisrelativelylow.Duetotheconfigurabilityandprogrammabilityofhardwaremodules, aswellasthehardwareizationandfirmwareizationofsomesoftwarefunctions, somefunctionscanberealizedbybothsoftwareandhardware, andtheboundariesofsoftwareandhardwarearenotveryobvious.Inaddition, whenallocatingsoftwareandhardwarefunctions, itisnecessarytoconsidernotonlytheresourceconditionsthatthemarketcanprovide, butalsomanyfactorssuchassystemcostanddevelopmenttime.Therefore, thefunctionaldivisionofsoftwareandhardwareisacomplexandarduousprocess, anditisthemostimportantlinkintheentiretaskflow.Systemmappingisbasedontheresultofsystemdescriptionandsoftwareandhardwaretaskdivision.Thesoftwareandh ardwaremodulesofthesystemandthespecificimplementationmethodsoftheirinterfacesareselectedrespectively, andtheyareintegratedtofinallydeterminethesystemstructure.Specifically, thisprocessistodeterminewhichhardwaremodules (suchasMCU, DSP, FPGA, mémoire, E / Ointerfacecomponents, etc.), softwaremodules (suchasoperatingsystems, conducteurs, functionalmodules, etc.), andsoftwaremoduleswillbeusedinthesystem.Thecommunicationmethodsbetweenhardwaremodules (suchasbus, SharedMemory, DataChannel, etc.) andthespecificimplementationmethodsofthesemodules .
La vérification de la simulation est le processus de vérification de l'exactitude de la conception du système.
Leprocessusderéalisationglobaleestleprocessusspécifiquedeconceptiondeslogicielsetdessystèmesmatériels. Aprèsvérificationdesrésultatsdelaconceptionparsimulation,lesystèmepeutêtredéveloppéetréaliséconformémentauxexigencesdelaconceptiondusystème,c'est-à-dire quelematérieletleslogicielspeuventêtreconçusconformémentauxexigencesdestravauxprécités,etilpeutfonctionnerdemanièredifférente.
Exemplesdeméthodesdeco-conceptiondeconceptiondeslogicielsetdematérielsoftde conception traditionnelle
TakeembeddedTVimagescalingasanexample, usuallytheanalogvideosignalsentbythevideosensor (ChinaadoptsthePAL-Dsystemwitharesolutionof768 × 576) .AfterA / Dconversion, inordertomeettheneedsofdifferentresolutiondisplay, itisnecessarytousetheadjacentpixelinterpolationalgorithmforthedigitalvideoafterA / Dconversion.Afterthecorrelationcalculation, itisconvertedtotherequiredresolutionandthendisplayed.Theadjacentpixelinterpolationalgorithmrequiresmultipledatamultiplicationsanddivisions.Undernormalcircumstances, divisioncanbeconvertedtomultiplication.Assumingthateachmonochromeadjacentpixelinterpolationoperationrequires5multiplicationsand5additions, eachtimeMultiplicationrequires4clockcycles, andeachadditiontakes1clockcycle.Thesourceimageresolutionis768 × 576,25framespersecond, andthedestinationimageresolutionis1280 × 1024.
Processus de conception traditionnel
La méthode de conception traditionnelle utilise un logiciel pour réaliser le processus d'un algorithme d'interpolation des pixels adjacents. Le logiciel calcule la valeur de chaque pixel dans l'ordre de l'image cible et l'envoie.
Lenombredepointsàtraiterpourunecadred'image :m=1280×1024=1310720
Lenombretotaldepointsàtraiterenuneseconde : M=m×25=32768000
Lenombred'horlogesnécessairespourtraiterunpoint :N=5×4+5×1=25
Lenombretotald'horlogesnécessairespourtraiterlespixelsparseconde :C=M×N=32768000×25=819200000
C'est-à-dire que le flux d'informations maximal est de 819,28 M, et selon la redondance de conception de 20 %, dans le cas d'un traitement purement logiciel, la vitesse requise du processeur est de 1 GHz.
Processus de co-conception du logiciel et du matériel
Theprocessofhardware-Logicielco-designwithFPGAasthecore, givingfullplaytotheperformanceofprogrammabledevices, andimplementingadjacentpixelinterpolationalgorithmbywayofFPGAprogramming, Realizetheprocessrealizedbysoftwareinthetraditionaldesignprocessinthewayofhardwarepipeline.ThesystemhardwarerealizationblockdiagramisshownasinFig.4.ItcanbeseenfromthefigurethatthepixelprocessingpipelinewithFPGAasthecorereplacestheprocessor, whichreducesthecomplexityofthesystem.Inaddition, becausethemaximuminformationprocessingcapacityofthepixelprocessingpipelineis1280 × 1024 × 25 = 32768000, thatisThemaximuminformationflowis32.768M.Accordingtothedesignredundancyof20%, therequiredprocessingspeedislessthanone-tenthofthetraditionaldesign, whichsimplifiesthesystemdesign, reducesthetechnicaldifficultyofthesystem, andimprovesthereliabilityofthesystem.
Importance de la co-conception logicielle et matérielle
Étant donné que la co-conception logicielle et matérielle prend la technologie de conception programmable comme noyau, elle adopte la combinaison de logiciels et de matériel pour concevoir l'interface logicielle et matérielle optimale, qui est limitée.
Améliorer les performances du système.
Améliorer la fiabilité du système. La co-conception du logiciel et du matériel peut réduire la complexité du système et la difficulté de la mise en œuvre technique dans une certaine mesure, ce qui est très avantageux pour améliorer la fiabilité du produit
Réaliser le test de point de test dédié via FPGA ou JTAGboundaryscantestaméliorelatestabilitédusystème ;
Le pipeline de traitement des données IPcore mis en œuvre par FPGA a une très grande portabilité et peut être directement appliqué à des produits similaires. Le développement raccourcit le cycle de développement du produit ;
L'utilisationd'unmicrologicielpoursolidifierunepartiedelatechnologiedebasedansledispositifprogrammableestfavorableàlaconfidentialitédelatechnologiedebaseetcontribueàlaprotectiondesdroitsdepropriétéintellectuelle.
Théorie
Tout d'abord, la méthode de description du système. La langue de description du matériel actuellement largement utilisée est-elle toujours valable ? Comment définir une description des fonctions logicielles au niveau du système ou une description des fonctions du matériel ?
La seconde est l'interface entre cette nouvelle théorie de conception et la théorie de conception de circuits intégrés existante.
Troisièmement,commentcettenouvellethéoriedecoconceptiondulogicieletdumatérieldétermineraleprinciped'optimalité.Évidemment,il ne suffit pasdesuivrelecritèred'optimisationprécédent.
Quatrièmement, howtoverifythefunctionofsuchasystemincludingsoftwareandhardware.Inadditiontotheenvironmentnecessaryforverification, confirmingtheplaceandmechanismofdesignerrorswillbeasubjectthathastobefaced.Finally, theissueofpowerconsumption.Traditionalintegratedcircuitshaveawholesetoftheoriesandmethodsintheanalysisandestimationofpowerconsumption.However, itisfarfromenoughtousetheseready-madetheoriestoanalyzeandestimatetheSOCthatcontainsbothsoftwareandhardware.Itispossibletosimplyanalyzethepowerconsumptionofahardwaredesign, butthedynamicpowerconsumptioncausedbysoftwareoperationcanonlybeknownthroughthejointoperationofsoftwareandhardware.
En fait, vous pouvez également citer de nombreux problèmes que les nouvelles théories impliqueront, et ils forment ensemble un système théorique pour une co-conception logicielle et matérielle orientée SOC.
Le contenu impliqué dans la co-conception logicielle et matérielle comprend : le processus de conception collaborative HW-SW, la division HW-SW, la synthèse HW-SWparallel, la simulation HW-SWparallel.
.