Dans le monde complexe de la conception du silicium, garantir la précision et la fiabilité de nos conceptions est primordial. À mesure que nos puces deviennent plus sophistiquées, le processus de recherche de bogues (identification et correction des erreurs dans nos conceptions) devient encore plus critique. L'IA générative a le potentiel de révolutionner l'industrie de la conception de silicium en améliorant nos capacités de chasse aux bogues. Comment? Expérimentons !
Expérience 4 : à la recherche de bugs
Pour démontrer l’efficacité de l’IA générative dans la conception du silicium, j’ai mené une expérience avec le GPT-4 d’OpenAI. Nous avons fourni au système une spécification de conception (provenant de https://mathcircle.berkeley.edu/sites/default/files/archivedocs/2010_2011/contest/1011contestpdf/comp8.pdf) parallèlement à une mise en œuvre de la conception. Le but? Pour voir si GenAI pouvait identifier des bugs.
Spécification de conception : Sur un échiquier 5×5, un roi se déplace selon les règles suivantes : 1. Il peut se déplacer d'une case à la fois, horizontalement, verticalement ou en diagonale. 2. Il peut se déplacer dans chacune des huit directions autorisées au maximum trois fois sur l'ensemble de son parcours.
Voici le résultat du modèle GenAI :
1. Bug : écrasement de cur_x_pos par cur_y_pos sinon commencer cur_x_pos <= nxt_y_pos; cur_y_pos <= nxt_y_pos; fin Cette section fera que la position x actuelle du roi (cur_x_pos) prendra toujours la valeur de nxt_y_pos, ce qui est incorrect. Contre-exemple : Scénario d'entrée : supposons que le roi est en position (2,2) et que la move_request reçoit la direction = 3'b010 (Up). Transition de conception : Attendu : cur_x_pos reste 2 et cur_y_pos devient 3. Réel : cur_x_pos et cur_y_pos deviennent 3. Résultat: Résultat attendu : King passe à (2,3). Résultat réel : King se déplace en (3,3).
2. Bug : initialisation de cur_moves_count[] à zéro if (reset) cur_moves_count[dir] <= 3'd0; Le nombre de mouvements de toutes les directions est initialisé à zéro lors de la réinitialisation. Cependant, la condition pour vérifier le nombre maximum de mouvements utilise < 3'd3, ce qui signifie que le roi peut se déplacer 4 fois dans chaque direction avant qu'une erreur ne soit générée. Contre-exemple : Scénario d'entrée : Supposons que le roi soit en position (0,0) et que quatre move_requests consécutives soient fournies avec la direction = 3'b000 (Droite). Transition de conception : Attendu : après 3 mouvements vers la droite, le 4ème mouvement devrait déclencher une erreur. Réel : King se déplace quatre fois vers la droite sans déclencher d’erreur. Résultat: Résultat attendu : King se déplace vers (3,0) puis une erreur est déclenchée. Résultat réel : King passe à (4,0) sans erreur.
3. Bug : Absence de vérification des limites Bien que le code contienne des contrôles de limites pour le mouvement du roi sur l'échiquier, il ne tient pas compte de la possibilité que l'ajout ou la soustraction des valeurs à 3 bits puisse entraîner des erreurs de roulement. Par exemple, si cur_x_pos vaut 3'd7 (ce qui ne devrait pas se produire en fonction de la conception actuelle, mais pourrait être dû à des influences externes ou à d'autres problèmes de conception), la soustraction de 1 pourrait donner 0 plutôt que le 6 attendu en raison du basculement de bits. . Contre-exemple : Il s’agit peut-être d’un bug théorique puisque la conception actuelle ne permet pas qu’un tel scénario se produise. Cependant, il est essentiel d’en tenir compte pour une conception robuste. Recommandation : les contrôles de limites peuvent être améliorés et des contrôles de cohérence supplémentaires peuvent être ajoutés pour garantir que la position du roi ne sort jamais de la plage valide.
Des observations intrigantes
- Identification des bogues : Le modèle GenAI a identifié un écart spécifique entre la spécification de conception et sa mise en œuvre avec un contre-exemple approprié comprenant le scénario, les transitions et l'analyse des résultats réels et attendus. Il s’agissait en effet d’un véritable bug qui devait être rectifié.
- Faux négatif: Comme tout outil, l’IA Générative n’est pas infaillible. Cela a mis en évidence un problème qui, après une inspection plus approfondie, s'est avéré ne pas être un bug. Cela rappelle que même si l’IA peut être un assistant précieux, l’expertise et le jugement humains restent cruciaux dans le processus de validation.
- Problème d'amélioration : Au-delà de la simple recherche de bugs, le modèle GenAI proposait également une amélioration : une suggestion pour améliorer la conception qui ne corrigeait pas nécessairement un bug mais plutôt optimisait davantage la conception. Cet avantage inattendu démontre comment l’IA peut non seulement aider à détecter les erreurs, mais aussi à suggérer des innovations.
Le paysage de demain – Éditeurs/analyseurs de code HDL propulsés par GenAI !
Les implications de cette expérience sont profondes. En intégrant les outils d'IA générative dans notre flux de développement de code HDL, nous pouvons :
- Accélérez le processus de recherche de bogues : L'automatisation des étapes initiales de la détection des bogues peut réduire les heures de travail consacrées au débogage des longues formes d'onde de simulation.
- Réduisez les coûts de vérification : Avec moins de bugs à trouver pour les outils/ingénieurs de vérification, la clôture de la vérification peut être réalisée plus rapidement, ce qui entraîne des économies à long terme.
En conclusion
À mesure que l’industrie des semi-conducteurs continue d’évoluer, l’utilisation d’outils tels que l’IA générative peut nous donner un avantage, en garantissant que nos conceptions sont non seulement exemptes d’erreurs, mais qu’elles repoussent également les limites du possible. Ce n’est qu’une question de temps lorsque les copilotes et les plug-ins seront largement adoptés dans l’ensemble du secteur.
Lisez aussi:
IA générative pour la conception du silicium – Article 3 (Simuler ma conception)
IA générative pour la conception du silicium – Article 2 (Déboguer ma forme d'onde)
IA générative pour la conception du silicium – Article 1 (Code My FSM)
Partagez cet article via:
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- La source: https://semiwiki.com/eda/338432-generative-ai-for-silicon-design-article-4-hunt-for-bugs/
- :possède
- :est
- :ne pas
- $UP
- 1
- 4ème
- 7
- 8
- a
- Selon
- Compte
- précision
- atteint
- à travers
- présenter
- ajoutée
- ajoutant
- Supplémentaire
- Adoption
- Après
- AI
- Tous
- permettre
- aux côtés de
- aussi
- Bien que
- toujours
- an
- selon une analyse de l’Université de Princeton
- ainsi que
- tous
- SONT
- tableau
- article
- AS
- Assistante gérante
- assumer
- At
- automatiser
- basé
- BE
- devenez
- devient
- before
- commencer
- profiter
- Berkeley
- jusqu'à XNUMX fois
- Au-delà
- Bit
- tous les deux
- frontières
- Punaise
- chasse aux bogues
- bogues
- mais
- by
- CAN
- capacités
- maisons
- Causes
- vérifier
- Contrôles
- Échecs
- chips
- plus
- fermeture
- code
- Comparaison
- complexe
- condition
- menée
- consécutif
- Considérer
- contient
- continue
- Prix
- les économies de coûts
- pourriez
- engendrent
- critique
- crucial
- Courant
- Vous permet de définir
- démontrer
- démontre
- Conception
- Avec nos Bagues Halo
- détaillé
- Détection
- Développement
- DID
- direction
- instructions
- contradiction
- down
- deux
- chacun
- Edge
- efficacité
- d'autre
- fin
- améliorer
- assurer
- assurer
- Tout
- erreur
- Erreurs
- essential
- Ether (ETH)
- Pourtant, la
- évolue
- dépasse
- attendu
- expérience
- nous a permis de concevoir
- externe
- moins
- Trouvez
- trouver
- flux
- Abonnement
- Pour
- quatre
- De
- fonctionnel
- plus
- Gain
- génératif
- IA générative
- véritable
- Donner
- objectif
- Goes
- arriver
- vous aider
- Souligner
- appuyez en continu
- Comment
- Cependant
- HTTPS
- humain
- chasse
- Chasse
- i
- Identification
- identifier
- if
- la mise en oeuvre
- implications
- amélioré
- l'amélioration de
- in
- Y compris
- indiquer
- industrie
- initiale
- innovations
- contribution
- instance
- Intégration
- développement
- aide
- vous aider à faire face aux problèmes qui vous perturbent
- IT
- SES
- juste
- King
- Peindre
- paysage d'été
- conduisant
- à gauche
- laisser
- en tirant parti
- comme
- LIMIT
- Location
- Matière
- largeur maximale
- maximales
- sens
- pourrait
- erreurs
- modèle
- module
- PLUS
- (en fait, presque toutes)
- Bougez
- mouvement
- se déplace
- my
- nécessairement
- nécessaire
- négatif
- n'allons jamais
- of
- on
- ONE
- uniquement
- l'optimisation
- or
- Autre
- nos
- ande
- Résultat
- sortie
- au contrôle
- PARAMOUNT
- /
- Platon
- Intelligence des données Platon
- PlatonDonnées
- position
- possibilité
- possible
- Post
- défaillances
- alimenté
- représentent
- processus
- profond
- correct
- proposé
- à condition de
- Poussant
- collectés
- gamme
- plutôt
- Lire
- Recommandation
- réduire
- Reg
- fiabilité
- rester
- reste
- rappel
- nécessaire
- résultat
- révolutionner
- bon
- robuste
- Itinéraire
- Courir
- s
- Épargnes
- scénario
- Section
- sur le lien
- semi-conducteur
- sert
- devrait
- Silicium
- simulation
- sophistiqué
- source
- groupe de neurones
- spécification
- dépensé
- carré
- étapes
- tel
- combustion propre
- T
- Prenez
- que
- qui
- La
- puis
- théorique
- this
- trois
- fiable
- fois
- à
- outil
- les outils
- transition
- transitions
- déclencher
- déclenché
- déclenchement
- Tourné
- Inattendu
- sur
- Droit
- us
- Usages
- Info de contact.
- validation
- Précieux
- Plus-value
- Valeurs
- Vérification
- Versus
- verticalement
- via
- vs
- était
- we
- quand
- qui
- tout en
- large
- sera
- comprenant
- sans
- world
- X
- zéphyrnet
- zéro