Avec l’augmentation de la complexité et la réduction des tailles des puces, les bogues après fabrication, « post-silicon bugs », notamment ceux causés par les conditions externes (hautes températures, calcul intensif, etc…), restent nombreux et peuvent coûter de long mois de tests et plusieurs millions de dollars.
En effet, les puces les plus complexes sont polyvalentes et doivent fonctionner dans des cas très variés, ce qui rend impossible l’exécution de tests exhaustifs.
Actuellement, une puce de conception est d’abord validée en simulations, puis après gravure, un prototype subit des tests supplémentaires. Si des problèmes sont détectés à ce stade, il faut trouver la cause du problème, ce qui se révèle de plus en plus complexe, et le réparer sans altérer les résultats corrects dans les autres cas. Enfin, il s’agit de refaire un prototype et de recommencer le processus. Ce processus d’essais-échecs reste donc assez lent, surtout avec les circuits les plus complexes.
Des chercheurs de l’université du Michigan ont présenté à la conférence internationale de la Conception Assistée par Ordinateur, l’ICCAD, à San José, CA, une méthode différente. C’est une systématisation de la recherche et de la réparation de ces bugs, qui s’inspire d’algorithmes de résolutions de puzzles, nommée FogClear, et qui regroupe plusieurs outils.
Tout d’abord, puisque les tests sur le silicium produisent des traces (bugtraces) extrêmement longues, ils utilisent une méthode de minimisation des traces pour réduire leur complexité. Leur méthode de minimisation, Butramin, se sert de la puce pour faire cette minimisation rapidement, contrairement à la plupart des autres méthodes qui utilisent des simulateurs. Ensuite, cette trace est simulée dans un simulateur logique afin de déterminer si l’erreur est fonctionnelle ou électrique.
Si l’erreur est fonctionnelle, PAFER est un framework qui va analyser l’écart entre le résultat de l’expérience et le résultat théorique et essayer d’en déduire des solutions. Ces solutions seront analysées automatiquement par PAFER. L’utilisation de leur outil, PARSyn, permet de prendre en compte l’espace physique, afin de savoir de vérifier qu’une solution possible est compatible avec l’espace disponible sur la puce.
Les erreurs électriques, quant à elles, bien que plus rares, peuvent devenir statistiquement notables dans de grands circuits. En général, les modifications du câblage permettent d’en venir à bout, sans toucher à la partie logique, mais elles peuvent coûter chères si elles doivent être effectuées après gravure. En utilisant l’outil SymWire, certaines symétries de cellules sont détectées et sont modifiées afin de minimiser les erreurs potentielles, notamment celles dues au couplage. Enfin, SafeResynth, cherche automatiquement les cellules inutilisées et les intègre au circuit afin de dédoubler les signaux trop faibles et de réduire les erreurs qui s’en suivent.
En intégrant tous ces outils qu’ils ont développés dans un Framework, FogClear permet d’automatiser et donc de réduire le temps et les coûts de cette phase de développement.