Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Ingebed

Het mysterie uit aangepaste extensies halen in RISC-V SoC-ontwerp

Het is niet nieuw om te praten over het configureren van een basisprocessor of het toevoegen van aangepaste extensies om de compromissen tussen hardware-softwareontwerp in een systeem op chip (SoC) op te lossen. Dit was een belangrijk onderdeel van de waardepropositie die door de RISC-V-gemeenschap werd omarmd, met veel informatie die is gepubliceerd over de voordelen ervan, zoals deze:"Een gids om applicaties te versnellen met precies de juiste RISC-V aangepaste instructies .”

Bij het ontwerpen van een systeem voor veel producten vandaag de dag, beperken stroomverbruik, prestaties en matrijsgebied veel van de complexe kunstmatige (AI) en machine learning (ML) SoC-vereisten.

Het uitbreiden van de open-source RISC-V-instructiesetarchitectuur (ISA) wordt vaak over het hoofd gezien als een effectief middel om deze beperkingen aan te pakken. Een recent webinarpanel onder leiding van Quantum Leap Solutions, een ontwerpservicebedrijf voor de halfgeleiderindustrie, probeerde het mysterie van de uitbreiding van de RISC-V ISA voor SoC-ontwerpen te helpen oplossen. De webinar getiteld “RISC-V Flexibiliteit – De kracht van aangepaste extensies ”, beantwoordde vragen van meer dan 100 aanwezigen.

De panelleden probeerden inzicht te geven in de rol van de gewijzigde ISA bij het ontwerpen voor opkomende toepassingen en hoe ontwerpers kijken naar uitbreidingen van de nieuwe RISC-V-instructiesetarchitectuur.

Gemodereerd door Mike Ingster, oprichter en president van Quantum Leap Solutions, waren de panelleden:

  • John Min, directeur van FAE bij Andes Technology
  • Larry Lapides, vice-president verkoop bij Imperas Software
  • Taek Nam, senior applicatie-engineer bij Mentor

Mike Ingster: Waarom is RISC-V een betere optie voor AI- en ML-leertoepassingen dan andere CPU-architecturen?

John Min :De tijd waarin RISC-V werd uitgevonden viel samen met het mainstream worden van AI. RISC-V vector instructieset is ontworpen met AI- en VR-type toepassingen in gedachten.

Larry Lapides :Ik zou hieraan willen toevoegen dat in een AI-toepassing met een multiplex-array van heterogene processors - een architectuur die we meer dan eens hebben geïmplementeerd - de ontwerper scalaire en vector-processors binnen de array kan combineren. Ten tweede stelt de RISC-V-architectuur de ontwerper in staat om onnodige functionaliteit te verwijderen met behoud van vectorinstructies. Dit zorgt voor betere prijs, prestaties en oppervlakte:PPA.

Ingster :Kunnen RISC-V-kernen met vectorextensies ook worden uitgebreid met aangepaste instructies?

Min :Ja. Een voorbeeld is een RISC-V-vectorkern met een referentie-implementatie die klantextensies gebruikt om extra buffers toe te voegen. Dit voorkomt dat de vectoreenheid vastloopt door een gebrek aan gegevens.

Lapides :Imperas en Andes hebben gezamenlijke klanten die aangepaste functies hebben geïmplementeerd om op dit gebied te helpen.

Ingster :Moeten in een array met meerdere processors alle CPU's dezelfde configuratie hebben? Of kunnen ze andere aangepaste instructies hebben?

Lapides :Ja, heterogene processors in een SoC-ontwerp zijn gebruikelijk. Bovendien zijn het niet alleen de aangepaste instructies die van processor tot processor kunnen verschillen. De basisinstructies van elke processor kunnen ook variëren. De ene processor kan bijvoorbeeld vectorinstructies hebben en een andere processor scalaire instructies. Deze kunnen worden doorschoten en gecombineerd.

Min :In een multiplex-array kunnen zowel CPU's als simulatoren heterogeen zijn om multicore-simulatie mogelijk te maken.

Ingster :Zie je een serverklasse RISC-V-processor op de markt?

Min :Het komt. Het CPU-ontwerp wordt in de loop van de tijd op verschillende manieren sneller. Een daarvan is door de frequentie te verhogen. Een andere is door de CPU-pijplijn uit te breiden. Een andere is door de processor zo te ontwerpen dat deze instructies niet in de juiste volgorde uitvoert. En de uitvoeringsbreedte zal worden vergroot om een ​​meer super scalaire organisatie te bieden of - wat tegenwoordig gebruikelijk wordt - ontwerpen die duizenden multicores gebruiken. Het is slechts een kwestie van tijd voordat we deze elementen in de volgende generatie RISC-V-processors voor AI-bedrijfsapplicaties gaan integreren.

Lapides :Als we naar de geschiedenis van RISC-V kijken, zien we dat er aanvankelijk proof-of-concept-SoC's waren met 32 ​​en 64 bits, maar ongeveer twee jaar geleden begonnen we SoC's te zien die waren gericht op beveiliging en IoT:32-bits SoC's concurrerend met microcontrollers. Nu beginnen we de eerste processors van toepassingsklasse te zien. Ze zijn niet van serverklasse, maar we zien aanvankelijk silicium op 64-bits RISC-V-processors met echte RTOS en kijken naar geavanceerde applicaties. We beginnen te zien dat er pijplijnen worden aangelegd die niet meer in gebruik zijn. Ik verwacht de eerste serverklasse RISC-V-processors in de komende twee tot drie jaar.

Ingster :Kunnen aangepaste extensies apparaatbeveiliging en levenscyclusbeheer bieden?

Min :Ja, afhankelijk van de uitvoering. Bijvoorbeeld door een instructie-extensie in te schakelen om controle uit te voeren. Het programma controleert op de aangepaste extensie. Als het niet aanwezig is, kan de software niet worden uitgevoerd. Een andere optie is om een ​​aangepaste poort naar het geheugen te implementeren. De RISC-V CPU zou dus een privébus naar het geheugen hebben in plaats van de hoofdbus te gebruiken.

Taek Nam :Ontwerpers kunnen Tessent embedded analytics IP gebruiken voor beveiliging en levenscyclusbeheer in SoC's met aangepaste extensies.

Ingster :Waarom verschilt de RISC-V-benadering van aangepaste instructies van andere, zoals ARC en Tensilica?

Min :CPU's gebruiken aangepaste extensies om een ​​specifieke taak te versnellen. Wat RISC-V anders maakt, is dat het een formeel mechanisme biedt om de aangepaste extensie in de standaard op te nemen.

Ingster :Hoe kan een ontwikkelaar aangepaste instructies delen met klanten of partners?

Min :Er zijn drie opties. Houd het eerst privé. Ten tweede, de toevoeging aan RISC-V International voorstellen voor opname in de standaard. Andes heeft bijvoorbeeld een set DSP-instructies gedoneerd aan RISC-V International. Dit zijn nu de P-extensies van de RISC-V-standaard. Ten derde, als u het gebruik van de instructie met anderen deelt, deelt u de inhoud en het headerbestand. Als u van plan bent de implementatie van de aangepaste instructie te delen, moet u mogelijk een driezijdige NDA doen.

Lapides :De ontwikkelaar van aangepaste extensies kan het model aan hun klanten of partners doorgeven als een open source of binair model, een ISS of instructienauwkeurig processormodel, dat kan worden gebruikt voor vroege pre-siliciumsoftwareontwikkeling.

Ingster :Zullen aangepaste extensies leiden tot compatibiliteitsproblemen binnen de RISC-V-gemeenschap?

Min :Dit hangt af van hoe de aangepaste instructies worden gebruikt. Als een aangepaste instructie bedrijfseigen wordt gehouden, zal deze per definitie geen fragmentatie veroorzaken, aangezien de ontwikkelaar de enige is die deze gebruikt. Als de aangepaste instructie zo succesvol wordt dat deze door vele anderen wordt gebruikt, is het misschien tijd om deze op te nemen in de basis RISC-V-set. Het is aan de maker om het openbaar te maken of eigendom te houden. Hoe dan ook, er zal geen fragmentatie optreden.

Ingster :Wordt de vectorprocessor ondersteund door een compiler in zijn huidige versie?

Min :De RISC-V vectorextensies, versie 0.8, zijn stabiel genoeg dat compilers ze ondersteunen. Zowel GCC als LLVM ondersteunen de bestaande 0.8-versie van de specificatie. De definitieve versies van de compilers zullen beschikbaar zijn wanneer de RISC-V Vector Extension-specificatie is voltooid.

Ingster :  Hoe worden aangepaste extensies ondersteund in de softwaretoolketen?

Lapides :Ontwerpers voegen de aangepaste extensies toe aan hun RISC-V-model en bieden zo een instructiesetsimulator die kan worden gebruikt voor softwareontwikkeling. Aan de kant van de toolketen kan ondersteuning voor nieuwe aangepaste extensies worden toegevoegd aan GCC en LLVM. Beide zijn open source-toolketens en kunnen naar goeddunken van de klant worden gewijzigd. Ontwerpers kunnen ook een macro-implementatie samenstellen om een ​​aangepaste instructie te ondersteunen.

Ingster :Hoe wordt de compiler op de hoogte gebracht van een nieuw gemaakte aangepaste instructie?

Lapides :Het softwareteam moet de instructie in de compiler implementeren.

Min :Een alternatief zonder het harde werk van het maken van de toevoeging, vooral als het de bedoeling is om de instructie bedrijfseigen te houden, is om de aangepaste instructie als een bibliotheek te behandelen - bijvoorbeeld DSP-bibliotheken. Als de aangepaste instructie nodig is bij het uitvoeren van het programma, roept u de bibliotheek op met een headerbestand. Dus voor minimaal werk behaalt het ontwerpteam veel van de winst die wordt verwacht van het creëren van een aangepaste functie.

Ingster :Welke besturingssystemen worden ondersteund op RISC-V en is er ondersteuning voor Android?

Lapides :Ik heb gezien dat Android niet wordt ondersteund, maar er zijn enkele draagbare apparaten die zijn ontworpen met RISC-V. De Linux-vrije RTOS, de Zephyr RTOS zijn de belangrijkste die worden ondersteund. Er worden andere realtime besturingssystemen ondersteund. De software-webpagina van de RISC-V International heeft een volledige lijst.

Min :Android OS is niet geverifieerd op RISC-V-processors. Ik geloof dat het meer een overdrachtsoefening is dan een kwestie van kan het worden uitgevoerd. Op RISC-V-kernen draait momenteel Linux.

Ingster :Hoe worden aangepaste extensies geverifieerd?

Lapides :Aangepaste extensies worden toegevoegd aan de RTL van het ontwerp, maar ze moeten ook worden toegevoegd aan het processormodel. Met deze mogelijkheid kunnen zowel aangepaste instructies als aangepaste registers worden geverifieerd. Door het toevoegen van extensies aan het processormodel dat op een instructiesetsimulator wordt uitgevoerd, is softwareontwikkeling meestal mogelijk.

Taek: Onlangs hebben we een klant aangepaste instructies laten implementeren in hun SoC. Met behulp van ons ingebedde analyse-IP was hun doel om de verbetering van hun softwareprestaties te verifiëren door de aangepaste extensies toe te voegen. Dit werd bereikt door tracering te gebruiken om de gegevens en de uitvoering van instructies te volgen. Dit is een effectief middel om prestatieverbetering te valideren.

Ingster :Hoeveel ruimte is er nodig om het ingesloten analyse-IP toe te voegen?

Taek: Er is geen standaardantwoord, maar 1 procent is een typische quote voor een gebied dat is gewijd aan embedded analytics IP. Deze schatting omvat analytische modellen, communicator en berichtenstructuur die deze elementen verbinden. Doordat de blokken meerdere opties hebben zijn er verschillende configuraties mogelijk. Het ontwerp van elke klant wordt geëvalueerd en het ingebedde analyse-IP wordt geconfigureerd voor implementatie in hun ontwerp. Op deze manier wordt de totale oppervlakte geschat. We bepalen een oplossing die de impact op het gebied kan minimaliseren om de beste waarde te bieden aan een bepaald ontwerp.

Dit zijn hoogtepunten uit het panel, waarvan de volledige versie wordt gehost door Kwantumsprongoplossingen .


Ingebed

  1. Wat is het 'bereiken' van een magneet?
  2. De rol van Computer-Aided Design (CAD) bij 3D-printen
  3. De uitdagingen van productontwerp
  4. Wat is ingebed systeemontwerp:stappen in het ontwerpproces
  5. Optimaliseren van de RF-feedline in PCB-ontwerp
  6. Bluetooth 5.1 SoC is ontworpen om het ontwerp en de kosten te verkleinen
  7. PCB-ontwerppakket gaat naar de cloud
  8. De voordelen van prototypen van PCB's
  9. We hebben de bron "Hoe aangepaste behuizingen voor moederborden te ontwerpen" bijgewerkt
  10. Waarom maatwerk de toekomst is
  11. De rol van werkinstructies in het bedrijf