L’histoire montre que le débogage est une nécessité en ingénierie
Tout ingénieur sait exactement ce qu’Albert Einstein veut dire dans sa célèbre citation « Si je disposais d’une heure pour résoudre un problème, je passerais 55 minutes à réfléchir au problème et 5 minutes à réfléchir aux solutions ». Le débogage en représente peut-être la traduction la plus concrète. – par Sumit Vishwakarma, chef de produit pour la vérification AMS chez Siemens EDA.
Le terme « débogage » trouve son origine dans les années 1940, à l’époque où l’amiral Grace Hopper, scientifique de la marine américaine, travaillait sur un ordinateur Mark II à l’université de Harvard. Le Mark II utilisait des relais électromagnétiques ultra-rapides en lieu et place des compteurs électromécaniques équipant le Mark I, ce qui rendait le Mark II nettement plus rapide que son prédécesseur.
Un jour, Grace Hopper constata que son ordinateur fonctionnait mal. Lorsque son équipe tenta de déterminer l’origine du problème, elle découvrit qu’un papillon de nuit était venu se coincer dans l’un des relais. Une fois l’insecte (« bug » en anglais) retiré, l’ordinateur retrouva son fonctionnement normal. Hopper fit alors remarquer qu’ils avaient « dé-buggé » le système, inventant du même coup une expression technique toujours utilisée aujourd’hui.
Le 9 septembre 1947, l’insecte mort fut collé avec du ruban adhésif dans le journal de bord de l’ordinateur, accompagné de la mention : « C’est la première fois qu’un bug est découvert ».
Ce premier « débogage » réalisé par Hopper et son équipe marque le début d’une longue histoire, ce que confirme une étude récente du Wilson Research Group, qui détaille l’emploi du temps des ingénieurs en vérification. Bien que ceux-ci accomplissent différentes tâches, telles que la planification des essais, le développement de bancs d’essai et l’exécution de simulations, c’est le débogage qui occupe plus de 40 % de leur temps.
Le débogage couvre tous les aspects du processus de conception et de vérification des semi-conducteurs. Toutefois, comparé au débogage des autres types de conceptions, le débogage d’une conception à signaux mixtes est une tâche particulièrement longue et fastidieuse. En effet, il nécessite de maîtriser à la fois le domaine numérique et le domaine analogique.
Pour travailler rapidement et éliminer les « bogues » préliminaires, la plupart des ingénieurs en vérification utilisent un niveau d’abstraction plus élevé dans leur méthode de vérification. Ils emploient la modélisation RNM (modélisation basée sur les nombres réels) pour décrire un bloc analogique comme un modèle discret à virgule flottante, ce qui leur permet de le simuler dans un solveur numérique à des vitesses de simulation proches de celles obtenues avec les blocs numériques.
Dans une conception, lorsqu’un bloc RNM interagit avec un bloc logique standard, une conversion du signal se produit. Le solveur numérique insère des éléments de frontière « réel vers logique » et « logique vers réel ». Il en va de même dans le cas d’une simulation de signaux mixtes lorsque SPICE interagit avec des blocs logiques ou RNM. Le simulateur de signaux mixtes insère un élément de frontière « électrique à réel » ou « électrique à logique ». À mesure que la conception et sa hiérarchie se complexifient, le nombre d’itérations augmente, ce qui complique le débogage de ces conversions de frontières.
Si vous souhaitez en savoir plus, l’article de Semiconductor Engineering intitulé Hug The Debug – Before It’s Too Late, offre plus de détails sur les méthodes de traitement des signaux mixtes. En outre, le webinaire de Siemens EDA intitulé When it’s do or die – Choose Debug! explique comment Siemens EDA peut améliorer votre productivité lors du débogage des signaux mixtes. Ce webinaire à la demande présente la plate-forme de signaux mixtes Symphony de Siemens EDA et le débogueur de signaux mixtes Visualizer.
–––
Auteur
Sumit Vishwakarma est chef de produit pour la vérification AMS chez Siemens EDA et est responsable des produits de vérification des signaux mixtes. Il possède plus de 18 ans d’expérience dans les secteurs des semi-conducteurs et de l’EDA, où il a occupé des postes allant d’ingénieur de conception et d’application à chef de produit et spécialiste de la vérification. Plusieurs de ses articles ont été publiés dans IEEE, DesignCon, DVCon et DAC. Il a également rédigé de nombreux articles techniques et publications de blogue consacrés aux méthodes de vérification numérique et AMS. Sumit Vishwakarma est titulaire d’un MSEE de l’Arizona State University et d’un certificat en ingénierie et science de la gestion (MS&E) de l’université de Stanford. C’est aussi un artiste numérique prolifique, qui aime enseigner l’art aux jeunes.
CE PUBLI-RÉDACTIONNEL A ÉTÉ RÉDIGÉ PAR SIEMENS EDA