Avec un nombre croissant d'entreprises intéressées par les appareils basés sur RISC-V ISA et un nombre croissant de cœurs, d'accélérateurs et de composants d'infrastructure mis à disposition, soit commercialement, soit sous forme open source, les utilisateurs finaux sont confrontés à un défi de plus en plus difficile : s'assurer qu'ils font les meilleurs choix.
Chaque utilisateur aura probablement un ensemble de besoins et de préoccupations qui équivaut presque à la flexibilité des offres RISC-V, s'étendant bien au-delà des mesures PPA traditionnelles vers des problèmes de sûreté et de sécurité ou des considérations de qualité. Cela pourrait inclure l’adaptabilité des garanties de vérification, qui permettent l’extension architecturale et la vérification nécessaire qui l’accompagne.
Traditionnellement, trois niveaux de prototypage ont été déployés : les prototypes virtuels, l'émulation et les prototypes FPGA, y compris les hybrides entre eux. Chaque plateforme est ensuite utilisée à diverses fins, notamment la vérification logicielle, la validation architecturale, la vérification fonctionnelle du matériel, l'analyse des performances, etc.
Alors que les écosystèmes de conception et de logiciels de RISC-V sont en train de s'établir, les écosystèmes de configuration et de vérification sont à la traîne et nécessitent la construction d'une nouvelle technologie. C'est la flexibilité même de RISC-V qui crée d'énormes défis en matière de vérification, surtout au-delà de ce qui est requis pour la vérification des processeurs fixes. Cela rend également le co-développement matériel-logiciel non seulement possible, mais nécessaire.
Co-développement
Dans le passé, le matériel était sélectionné, puis le logiciel était développé pour fonctionner dessus. Avec RISC-V, le matériel est souvent piloté par le logiciel. « La première chose que vous devez choisir est les options RISC-V standard que vous souhaitez », déclare Simon Davidmann, fondateur et PDG de Logiciel Imperas. « L'ensemble de fonctionnalités RISC-V compte actuellement 200 ou 300 options. Comment savoir si votre algorithme bénéficierait d'une unité à virgule flottante, ou SIMD, de multiplicateurs matériels ou même d'un moteur vectoriel ? Vous devez déterminer les capacités matérielles dont vous aurez besoin et que vous pouvez vous permettre pour le type d'application ou le travail que vous souhaitez que ce processeur effectue. Cela en soi devient un peu un défi.
Des prototypes sont nécessaires pour faire ce genre de compromis. « Si l'objectif du concepteur est d'évaluer les performances et l'adéquation à l'usage prévu, alors le prototypage virtuel est le seul choix viable », déclare Steve Roddy, directeur marketing chez Quadrique. « La création de prototypes matériels prend 10 à 50 fois plus de temps que la création d'un modèle SystemC d'un sous-système ou d'un SoC entier. Le prototype virtuel SystemC fonctionne généralement assez rapidement pour répondre aux questions de performances, telles que le nombre d'images par seconde de débit que je peux obtenir avec ce cœur de processeur, ou quelle est la bande passante maximale et moyenne requise pour la fonction X, dans une enveloppe de précision acceptable.
Obtenir la bonne précision peut être difficile. « Tout est question de précision et de capacité à faire tourner un modèle très rapidement », déclare Frank Schirrmeister, vice-président des solutions et du développement commercial chez IP Artéris. « La bonne précision est définie par les exigences de votre question, et les générer n’est pas anodin. Si vous êtes un fournisseur ASIP, vous pourrez les générer à partir de n'importe quel modèle dont vous disposez. Selon la question dont vous avez besoin, la précision du pipeline, la précision de la mémoire peuvent être nécessaires, mais il n'est pas nécessaire qu'elle soit totalement précise, mais lorsqu'un service de CAO est impliqué, il a trop peur de répondre à la mauvaise question.
Mais la précision est un compromis par rapport à la vitesse. "Bien que certains prototypes virtuels soient précis en termes de cycles, ils fonctionnent souvent trop lentement pour pouvoir fournir le débit logiciel nécessaire", explique Davidmann d'Imperas. « Les prototypes virtuels les plus performants ne sont pas des moteurs de performances, car ils ne modélisent pas les pipelines de processeurs. Ils l'examinent d'un point de vue logiciel, où vous pouvez le compiler et l'exécuter sur du matériel, et vous pouvez voir les performances approximatives en examinant le nombre d'instructions ou les estimations approximatives du timing. Cela devrait suffire pour prendre ce genre de décision architecturale.
Il faut souvent plusieurs prototypes. « Nous prototypons généralement pour deux raisons », explique Venki Narayanan, directeur principal de l'ingénierie logicielle et système au sein de l'unité commerciale FPGA de Microchip Technology. « La première concerne la validation architecturale afin de garantir que nous répondons à toutes les mesures et exigences de performance ainsi qu'à la validation fonctionnelle. L’autre raison concerne le développement de logiciels et de micrologiciels intégrés. Nous utilisons différents niveaux de techniques de prototypage, la plus courante étant d'utiliser nos propres FPGA pour développer une plateforme d'émulation pour la validation architecturale et fonctionnelle. Nous utilisons également des modèles architecturaux tels que QEMU pour créer des plates-formes virtuelles destinées à la fois à la validation des performances et au développement de logiciels embarqués.
Le nombre de possibilités augmente. « Aujourd'hui, les entreprises utilisent de nombreuses manières de prototyper avec RISC-V », déclare Mark Himelstein, CTO de RISC-V International. « Cela va des ordinateurs monocarte au niveau du fabricant aux cartes d'entreprise compatibles LINUX. Les environnements d'émulation (comme QEMU) permettent aux développeurs de progresser avec les logiciels avant que leur matériel ne soit terminé, et il existe des pièces disponibles partout, des SoC intégrés (de sociétés comme Espressif et Telink), aux FPGA (de sociétés comme Microsemi), en passant par la prochaine carte Horse Creek d'Intel et SiFive.
Cela revient au compromis performances/précision. « Les prototypes physiques nécessitent beaucoup plus d'efforts de conception, car vous connectez et synthétisez du vrai RTL, mais ils offrent une précision et un débit bien plus élevés », explique Roddy de Quadric. « La mise au point d'un prototype physique dans un système FPGA, qu'il soit développé en interne ou provenant de grandes sociétés d'EDA, demande des efforts. Mais il peut s’exécuter un ordre de grandeur plus rapide qu’un modèle SystemC, et plusieurs ordres de grandeur plus rapide qu’une simulation complète au niveau de la porte. Les équipes de conception passeront généralement des modèles basés sur C pendant le processus de sélection de l'IP vers des modèles physiques à la fois pour la vérification de la conception réelle après la sélection de l'IP et en tant que plate-forme de développement de logiciels système.
Une fois que vous savez quel ensemble de fonctionnalités vous souhaitez dans le matériel, vous pouvez voir si quelqu'un a déjà créé une solution qui répond à la plupart de vos besoins. « Il y a de fortes chances qu'avec tous les fournisseurs disponibles, il existera une solution commerciale qui répondra au type de chose que vous recherchez », explique Davidmann. « Mais avec RISC-V, vous n’êtes pas obligé d’accepter cette solution telle quelle. Une partie importante de la valeur de RISC-V réside dans la liberté de le changer, de le modifier et d'ajouter différentes choses que vous souhaitez.
Sélection d'une implémentation
Il existe de nombreuses façons d'implémenter un ensemble de fonctionnalités, telles que le nombre d'étapes du pipeline ou des fonctionnalités d'exécution spéculative. Chacun aura un compromis différent entre puissance, performances et surface. "La version ISA, qu'il s'agisse de RISC-V, Arm, Xtensa de Cadence ou ARC de Synopsys, n'a pas vraiment d'impact sur les objectifs et les compromis en matière de modélisation et de prototypage", explique Roddy. « Un architecte système doit répondre aux questions sur les objectifs de conception du SoC, quelle que soit la marque du processeur. Au niveau technique, le train RISC-V occupe vraiment une position stable sur le marché par rapport au support des outils de modélisation et d'analyse des performances. Il existe de nombreux fournisseurs principaux concurrents, chacun avec des implémentations et des fonctionnalités de processeur différentes. En tant que processeur système principal, il n'a pas la longévité d'un Arm, et par conséquent, moins d'acteurs de l'écosystème dans le monde de l'EDA disposent d'un support de modélisation largement validé et prêt à l'emploi pour les cœurs RISC-V disponibles dans le commerce. des fournisseurs RISC-V. En tant que noyau configurable et modifiable, le monde RISC-V est en retard par rapport au niveau d'automatisation des jeux d'instructions que Tensilica a passé 25 ans à construire. Ainsi, RISC-V a moins de support de modélisation en tant que bloc de construction prêt à l'emploi et moins d'automatisation à utiliser comme plate-forme pour l'expérimentation de jeux d'instructions.
Mais ce n’est qu’un aspect de la mise en œuvre qui doit être évalué. Quelle en est la qualité ? Si vous souhaitez le modifier, comment le revalider ?
La performance est la plus facile à évaluer. « Ce n'est pas différent de s'adresser à n'importe quel fournisseur de processeurs traditionnel », explique Davidmann. «Ils vous diront que ce cœur vous donne autant de Dhrystones par watt, ils vous donneront les données analytiques typiques d'un processeur, qui indiquent la vitesse à laquelle cette microarchitecture fonctionne. Ils disposent de toutes ces données, et toute personne acquérant une licence pour un cœur de processeur connaîtra ces données et ira leur parler et obtenir ces informations. Ils auront probablement de nombreuses options sélectionnables dans leur fiche technique, et ils diront : « Si vous activez cette option, vous obtenez ceci ou cela. » Vous pouvez le consulter sur la fiche technique, sur les sites Web des fournisseurs. »
À ce niveau, vous avez probablement besoin d’une précision de cycle. "Je vois la plupart des gens l'injecter dans un émulateur et y faire passer suffisamment de données pour prendre une décision raisonnable", explique Schirrmeister. « Je ne pense pas que cela passera bientôt aux prototypes virtuels. Certaines entreprises parlent de prototypes FPGA, dans lesquels vous disposez de votre propre solution monocarte. En fonction de la question à laquelle vous devez répondre, vous pouvez décider de le configurer, de le générer, puis de le pomper dans un FPGA pour y faire passer plus de données, avec les routines logicielles appropriées par-dessus. L'industrie dispose de moyens d'accès suffisamment rapides aux émulateurs et au prototypage pour rendre cela possible. Le problème fondamental est que vous voulez prendre cette décision sur la base de données aussi précises que possible, mais vous ne disposez peut-être pas de données aussi précises au moment où vous souhaitez prendre cette décision.
Beaucoup de ces prototypes doivent inclure plus que le simple processeur. « Les plates-formes virtuelles offrent la possibilité de s'intégrer à d'autres fonctions matérielles physiques externes, telles que la mémoire et les capteurs fonctionnant dans un environnement réel », explique Narayanan de Microchip. « Les systèmes hybrides peuvent rassembler des plates-formes virtuelles avec des prototypes physiques pour d'autres fonctions externes. L'émulation et le prototypage FPGA aident à détecter les bogues liés au timing, tels que les conditions de course, car ils sont plus précis en termes de cycle et les fonctions externes fonctionnent à grande vitesse.
Vérification
La conception des processeurs étant interne depuis longtemps, il n'existe pas d'écosystème de vérification public pour la construction d'un processeur et les fonctionnalités de RISC-V nécessitent une solution de vérification beaucoup plus flexible que celle qui a jamais existé dans le passé. La création de ceci commence tout juste à se produire.
« Il existe des mesures industrielles telles que Dhrystones ou CoreMark, qui permettent aux utilisateurs de comparer les performances », explique Davidmann. « Mais comment comparer la qualité de la vérification ? Il doit y avoir des règles du jeu équitables pour que chaque fournisseur puisse dire : « C’est ainsi que nous procédons ». Nous avons besoin de mesures de qualité liées à la vérification.
C’est là que le mouvement open source peut aider. "Si vous regardez l'écosystème RISC-V, vous disposez d'un grand nombre de développeurs de processeurs très expérimentés", explique Schirrmeister. « Il y a deux extrêmes. La première est que je reçois un noyau d'un fournisseur et si cela ne fonctionne pas, vous avez un problème avec lui. D’un autre côté, j’ai une liberté totale et je fais tout moi-même. Un équilibre se développe quelque part entre ces deux extrêmes. Vous obtenez quelque chose pour lequel un certain nombre de vérifications sont fournies par votre fournisseur, et les extensions relèvent alors de votre propre responsabilité.
Et c'est là que les mesures entrent en jeu. « La compatibilité ISA n'est que le premier échelon d'une échelle pleine de complexités que seules quelques entreprises ont gravies », déclare Dave Kelf, PDG de Breker Verification Systems. « Le prototypage est peut-être le seul moyen de garantir pleinement un fonctionnement fiable du processeur, mais exploiter des charges de travail réelles pour piloter ces prototypes ne fait qu'effleurer la surface de la couverture réelle du processeur. Cela est en contradiction avec les efforts concurrentiels d’un ISA ouvert qui entraînent un développement accéléré et des problèmes de délais de commercialisation.
Mais quelles sont ces mesures ? "Au sein du groupe qualité d'OpenHW, nous essayons de déterminer quelles devraient être ces mesures", explique Davidmann. « Cela inclut des éléments comme la couverture fonctionnelle, car il ne s’agit pas de simples instructions. Pour un processeur de haute qualité, il vous faut bien plus que cela. Vous devez disposer d’une méthodologie de vérification garantissant que vos comparaisons avec une référence couvrent tout. La couverture fonctionnelle montre simplement que vous avez réussi le test, mais cela doit être associé à une méthodologie qui compare à une forme de référence connue. Nous allons ajouter une technologie d’injection de fautes afin qu’il devienne possible de savoir si votre banc de test détecte réellement des problèmes.
Fig. 1 : Définition de l'architecture d'une solution de vérification RISC-V. Source : Imperas
Il faudra une suite d’outils. « À mesure que l'écosystème RISC-V mûrit, les implémentations commerciales commencent à prendre en charge des segments de marché définis », déclare Ashish Darbari, fondateur et PDG d'Axiomise. « Nous constatons un soutien pour des marchés, comme celui de l'automobile, qui exigent une conformité en matière de sécurité fonctionnelle. Nous voyons le support de l’IoT, nécessitant de la sécurité. Les fournisseurs RISC-V investissent dans des techniques de vérification avancées, notamment le prototypage virtuel pour la modélisation architecturale et les performances. Des outils sont désormais disponibles pour l'adoption précoce de méthodes formelles permettant d'éliminer les bogues dès le début du processus de conception et d'éviter leur insertion alors que les concepteurs ont du mal à détecter les bogues mineurs avec la simulation sur l'interface processeur-mémoire.
L'un des outils nécessaires est la possibilité de générer des cas de test basés sur une liste de fonctionnalités ou un ensemble de capacités. « La génération automatisée de contenu de test pour piloter des prototypes qui prennent en compte les complexités de la vérification en temps opportun est essentielle », explique Kelf de Breker. « Ces mécanismes de génération commencent désormais à émerger sur le marché. »
Conclusion
Un écosystème est aussi bon que son composant le plus faible, et pour RISC-V, il s'agit de la chaîne d'outils EDA. Les raisons en sont doubles. Premièrement, jusqu’à récemment, il n’existait aucun marché commercial pour les outils de vérification des processeurs. Même s'ils existaient dans le passé, ils avaient tous disparu ou été dissous dans les anciennes sociétés de transformation. Deuxièmement, la flexibilité de RISC-V ISA crée une nouvelle approche d'optimisation au niveau du système qui nécessite un nouvel ensemble d'outils. Il faut du temps pour que cette opportunité soit comprise et pour que des outils commerciaux apparaissent pour y répondre correctement.
Services Connexes
Un RISC-V minimal
Y a-t-il de la place pour une version encore plus petite d'un processeur RISC-V qui pourrait remplacer les microcontrôleurs 8 bits ?
RISC-V pousse dans le courant dominant
Les cœurs de processeur open source commencent à apparaître dans des SoC et des packages hétérogènes.
Trace efficace dans RISC-V
Comment travailler avec la nouvelle norme de débogage RISC-V.
Dans quelle mesure les puces RISC-V sont-elles sécurisées ?
L'open source en soi ne garantit pas la sécurité. Cela revient toujours aux fondamentaux du design.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://semiengineering.com/selecting-the-right-risc-v-core/
- 1
- 10
- a
- capacité
- Capable
- À propos
- au dessus de
- accéléré
- accélérateurs
- Accepter
- acceptable
- Compte
- précision
- Avec cette connaissance vient le pouvoir de prendre
- actually
- propos
- Adoption
- Avancée
- Après
- à opposer à
- algorithme
- Tous
- déjà
- montant
- selon une analyse de l’Université de Princeton
- Analytique
- ainsi que
- et infrastructure
- répondre
- apparaître
- Application
- une approche
- approprié
- Arc
- architectural
- architecture
- Réservé
- BRAS
- d'aspect
- évalué
- Automatisation
- Automation
- l'automobile
- disponibles
- moyen
- RETOUR
- Bande passante
- basé
- Essentiel
- car
- devient
- devenir
- before
- Début
- va
- profiter
- LES MEILLEURS
- jusqu'à XNUMX fois
- Au-delà
- Big
- Bit
- Block
- planche
- brand
- apporter
- largement
- Punaise
- bogues
- construire
- Développement
- construit
- la performance des entreprises
- Développement des affaires
- CAD
- capacités
- capable
- Attraper
- CEO
- certaines
- challenge
- globaux
- chances
- Change
- chips
- le choix
- choix
- Selectionnez
- Grimpé
- CMO
- Collatéral
- comment
- commercial
- commercialement
- Commun
- Sociétés
- comparer
- compatibilité
- compétition
- compétitif
- complet
- complexités
- conformité
- composant
- composants électriques
- ordinateurs
- Préoccupations
- conditions
- confiance
- configuration
- Connecter les
- considérations
- contenu
- Core
- pourriez
- accouplé
- couverture
- couvrant
- Processeur
- créée
- crée des
- La création
- création
- Ruisseau
- CTO
- Lecture
- données
- Dave
- décision
- définir
- livrer
- demandes
- Département
- Selon
- déployé
- Conception
- procédé de design
- designers
- développer
- développé
- mobiles
- développement
- Développement
- Compatibles
- différent
- difficile
- Directeur
- Ne fait pas
- Ne pas
- down
- motivation
- entraîné
- conduite
- pendant
- chacun
- "Early Bird"
- plus facile
- risque numérique
- Écosystèmes
- effort
- efforts
- non plus
- intégré
- permet
- Moteur
- ENGINEERING
- Moteurs
- assez
- assurer
- assurer
- Entreprise
- Tout
- entrée
- Environment
- environnements
- Équivaut à
- Équilibre
- établies
- estimations
- évaluer
- Pourtant, la
- JAMAIS
- peut
- exécution
- expérimenté
- extension
- extension
- extensions
- externe
- extrêmes
- Visage
- familier
- Mode
- RAPIDE
- plus rapide
- Fonctionnalité
- Fonctionnalités:
- few
- champ
- figues
- Trouvez
- trouver
- Prénom
- s'adapter
- fixé
- Flexibilité
- flexible
- formulaire
- formel
- fondateur
- Fondateur et PDG
- fpga
- spirituelle
- de
- plein
- d’étiquettes électroniques entièrement
- fonction
- fonctionnel
- fonctions
- Notions de base
- généralement
- générer
- générateur
- génération
- obtenez
- obtention
- Donner
- donne
- Go
- Objectifs
- aller
- Bien
- plus grand
- Réservation de groupe
- Croissance
- guarantir
- arriver
- Matériel
- aider
- aide
- de haute qualité
- chez nous
- Cheval
- Comment
- HTTPS
- majeur
- Impact
- Mettre en oeuvre
- la mise en oeuvre
- in
- comprendre
- inclut
- Y compris
- croissant
- de plus en plus
- industrie
- d'information
- Infrastructure
- Des instructions
- intégrer
- Intel
- intéressé
- Interfaces
- International
- sueñortiendo
- impliqué
- IOT
- IP
- vous aider à faire face aux problèmes qui vous perturbent
- IT
- lui-même
- Emploi
- clés / KEY :
- Genre
- Savoir
- connu
- échelle
- gros
- Legacy
- Niveau
- niveaux
- en tirant parti
- Licence
- Probable
- linux
- Liste
- Location
- Longtemps
- longévité
- Style
- recherchez-
- LES PLANTES
- Entrée
- faire
- fabricant
- FAIT DU
- de nombreuses
- marque
- Marché
- Marchés
- mûrit
- largeur maximale
- Découvrez
- Mémoire
- Méthodologie
- méthodes
- Métrique
- minimal
- modèle
- modélisation statistique
- numériques jumeaux (digital twin models)
- modifier
- PLUS
- (en fait, presque toutes)
- mouvement
- en mouvement
- nécessaire
- Besoin
- Besoins
- Nouveauté
- nombre
- nombreux
- objectif
- Chances
- Offrandes
- ONE
- ouvert
- open source
- d'exploitation
- opération
- Opportunités
- à mettre en œuvre pour gérer une entreprise rentable. Ce guide est basé sur trois décennies d'expérience
- Option
- Options
- de commander
- passer commande
- Autre
- propre
- Forfaits
- partie
- les pièces
- passé
- Courant
- Personnes
- performant
- Physique
- pipeline
- Pivoter
- plateforme
- Plateformes
- Platon
- Intelligence des données Platon
- PlatonDonnées
- joueurs
- jouer
- Point
- Point de vue
- position
- possibilités
- possible
- power
- président
- Probablement
- Problème
- d'ouvrabilité
- processus
- Processeur
- processeurs
- Progrès
- correctement
- prototype
- prototypes
- prototypage
- fournir
- à condition de
- de voiture.
- public
- pompe
- pompage
- but
- des fins
- qualité
- question
- fréquemment posées
- Race
- gamme
- tout fait
- réal
- monde réel
- raison
- raisonnable
- Les raisons
- récemment
- Indépendamment
- fiable
- remplacer
- exigent
- conditions
- exigence
- Exigences
- a besoin
- responsabilité
- Salle
- Courir
- pour le running
- Sécurité
- Sûreté et sécurité
- Deuxièmement
- sécurisé
- sécurité
- segments
- choisi
- la sélection
- sélection
- supérieur
- capteur
- set
- plusieurs
- devrait
- montrer
- Spectacles
- significative
- Simon
- étapes
- simulation
- unique
- Lentement
- faibles
- So
- Logiciels
- développement de logiciels
- sur mesure
- Solutions
- quelques
- Quelqu'un
- quelque chose
- quelque part
- disponible
- Identifier
- vitesse
- dépensé
- Spin
- stable
- étapes
- Standard
- Commencez
- Steve
- Encore
- Lutter
- tel
- suite
- Support
- Surface
- combustion propre
- Système
- Prenez
- prend
- Discours
- parlant
- équipes
- Technique
- techniques
- Technologie
- modèle
- tester
- La
- leur
- donc
- chose
- des choses
- trois
- Avec
- débit
- fiable
- long
- fois
- timing
- à
- aujourd'hui
- ensemble
- trop
- les outils
- top
- Total
- tracer
- traditionnel
- TOUR
- débutante
- typiquement
- compris
- unité
- prochain
- utilisé
- Utilisateur
- utilisateurs
- validé
- validation
- Plus-value
- variété
- vendeur
- fournisseurs
- Vérification
- version
- viable
- Vice-président
- Voir
- Salle de conférence virtuelle
- plateformes virtuelles
- vouloir
- façons
- sites Internet
- Quoi
- Qu’est ce qu'
- que
- qui
- tout en
- sera
- dans les
- Activités:
- faire des exercices
- world
- pourra
- faux
- X
- années
- Votre
- zéphyrnet