Brevet FR2830942A1 — publié le 20030418

Le domaine technique de la présente invention concerne la localisation d'un court-circuit dans un circuit intégré, en particulier, la détermination du trajet électrique le plus court en inférant automatiquement des libellés à partir d'une connectivité schématique. Dans un circuit intégré, un court-circuit se produit lorsque deux fils qui doivent être séparés sont accidentellement connectés. Par exemple, sur la figure 1, un premier fil libellé SIG1 est accidentellement en chevauchement 10 avec un second fil libellé SIG2. Dans cet exemple, un outil d' extraction de connectivité, un outil bien connu dans la technique, va reconnaître que ces fils libellés SIG1, SIG2 sont connectés. De plus, l'outil d' extraction de connectivité peut reconnaître le chevauchement 10 du fait qu'il est identifié par deux libellés en conflit SIG1, SIG2 par opposition à un seul libellé. Si l'outil d'extraction reconnaît deux libellés en conflit sur un seul fil, l'outil d' extraction va remarquer l'erreur et l'indiquer comme étant un court-circuit. L'outil extracteur de connectivité va alors reporter le plus court trajet électrique entre les libellés en conflit, comme représenté sur la figure 2. Un concepteur diagnostique ensuite le problème par l'examen de la forme d'erreur. Le problème de la technique antérieure illustré ci-dessus est simple à déboguer par un concepteur. Cependant, dans des conceptions réelles, certains fils, particulièrement les alimentations électriques et les horloges, peuvent avoir des millions de formes et des libellés relativement moins nombreux. Dans ces exemples, le plus court trajet électrique peut être très grand et plusieurs jours peuvent être nécessaires au concepteur pour qu'il puisse diagnostiquer le court-circuit à partir des informations reportées par l'outil d' extraction de connectivité. Une première manière que peut entreprendre un concepteur pour résoudre ce problème consiste à revenir à la conception et d'ajouter plus de libellés. Avec les libellés supplémentaires, le plus court trajet entre deux libellés en conflit peut être plus petit et la forme d'erreur peut être plus facile à déboguer. Mais le traitement d'ajout de libellés supplémentaires manuellement peut également consommer beaucoup de temps et être disposé aux erreurs. Pour résoudre ces problèmes ainsi que d'autres liés à la détermination du plus court traj et d' un court-circuit dans un circuit, un procédé, utilisant un outil localisateur de court-circuit, crée une copie de la maquette du circuit et peut automatiquement inférer des libellés supplémentaires à partir d'un fichier textuel de connectivité schématique. En inférant des libellés supplémentaires pour des noms de signaux sur la copie de la maquette, l'outil localisateur de court-circuit est capable d'obtenir le plus court trajet entre deux libellés en conflit. La forme d'erreur obtenue est ensuite beaucoup plus petite et plus facile à diagnostiquer. Ceci élimine en outre la nécessité qu'un concepteur ajoute manuellement des libellés. Ceci réduit fortement le temps nécessaire pour diagnostiquer les courts-circuits et réduit le temps de conception des circuits intégrés. Ce procédé est particulièrement efficace sur les alimentations électriques et les réseaux d'horloges qui sont les courts- circuits les plus difficiles à diagnostiquer. En d'autres termes, on prévoit, selon l' invention, un procédé pour déterminer l'emplacement d'un court-circuit dans un circuit, caractérisé en ce qu'il comporte les étapes consistant à: (a) exécuter un outil d' extraction de connectivité sur une maquette du circuit, (b) déterminer si un court-circuit existe dans le circuit, dans lequel si un court-circuit existe, le procédé comporte l'étape consistant à: exécuter un outil localisateur de court-circuit, et (c) comparer la maquette du circuit à un schéma du circuit. Avantageusement, mais facultativement, le procédé présente au moins l'une des caractéristiques suivantes: - l'étape d'exécution d'un outil localisateur de court-circuit comporte en outre les étapes consistant à: examiner un schéma du circuit, créer une copie de la maquette du circuit, et inférer des libellés sur la copie de la maquette. - l'étape d'examen comporte en outre l'étape consistant à évaluer un fichier textuel de connectivité du schéma; - l'étape d'évaluation comporte en outre l'étape consistant à obtenir des informations relatives aux connexions électriques de chaque composant; - l'étape d'inférence comporte en outre l'étape consistant à renommer des noms de signaux; - le procédé comporte en outre l'étape consistant à exécuter l'outil d'extraction de connectivité sur la copie de la maquette; - le procédé comporte en outre l'obtention du plus court trajet entre des libellés en conflit dans le circuit; - le procédé comporte en outre la modification de la maquette du circuit; - le procédé comporte en outre l'exécution de l'outil d' extraction de connectivité sur la maquette modifiée. La description détaillée va se reporter aux dessins qui vont suivre, o les références numériques analogues font référence à des éléments identiques, et sur lesquels: - la figure 1 illustre deux fils court-circuités sur un circuit, - la figure 2 illustre un trajet classique entre les fils court-circuités de la figure 1, - la figure 3a illustre un schéma d'un exemple de circuit, - la figure 3b illustre une représentation textuelle du schéma de la figure 3a, - la figure 3c illustre une maquette du schéma ayant des fils court-circuités, - la figure 4 illustre un trajet classique du court-circuit de la figure 3c, - la figure 5a est un ordinogramme permettant de déterminer l'emplacement du court-circuit de la figure 3c, - la figure 5b est un ordinogramme permettant de déterminer le plus court trajet pour le courtcircuit de la figure 3c, - la figure 6 illustre une maquette du schéma comportant des libellés inférés, et - la figure 7 illustre le plus court trajet pour la maquette de la figure 6. La figure 3a est un schéma d'un exemple de circuit 15. Dans le circuit 15, CK1 est relié à une entrée SET de dix verrous, GND1 est relié à une entrée GND des dix verrous et VDD est relié à VDD. Le circuit 15 est un exemple et peut avoir diverses conceptions. La figure 3b est une représentation textuelle du schéma de la figure 3a. La représentation textuelle liste chaque point de connexion du schéma. En particulier, le texte liste le circuit 15 contenant CK1, GND1, ENTRÉE[0: 9], SORTIE[0:9] et VDD. De plus, le texte liste la totalité des dix verrous et à quel élément est connecté chaque composant de chaque verrou. Par exemple, pour le neuvième verrou, GND est connecté à GND1, ENTRÉE est la neuvième entrée, SORTIE est la neuvième sortie, SET est connecté à CK1 et à une alimentation en énergie. La figure 3c est une maquette du circuit 15 de la figure 3a comportant des fils court-circuités. La maquette du circuit 15 représente les dix verrous et la connexion des fils concernant SET et GND. Comme décrit ci- dessus, le fil CK1 est connecté à l'ensemble des ports SET et le fil GND1 est connecté à l'ensemble des ports GND. Toutefois, dans le neuvième verrou 20, le fil GND et le fil SET sont accidentellement connectés 25 du fait que le fil GND est connecté à CK1 et crée ainsi un court-circuit. Si un concepteur devait utiliser un outil d' extraction de connectivité classique sur la figure 3c pour déterminer le trajet entre les libellés en conflit pour le court-circuit 25, l'outil d'extraction produit une forme d'erreur 30 représentée sur la figure 4. Du fait que les libellés se trouvent tous sur le côté gauche de la maquette et que le court-cicuit 25 se trouve sur le c6td droit de la maquette, la forme d'erreur 30 englobe tout le circuit 15. u concepteur doit examiner tout le cicuit 15 pour dAtenminer o ae produit le court-cicuit 25. Suivant la taille du c1rcuit 15, plusies j ours peuvent Stre ncessaires au concepteur avant de pouvoir dtenminer o se produit ce court-circuit 25. Pour la prdsente invention, une fois qu'n court-cicuit a td dtemind par 1'outil d' extraction de connsctivit6, l'outil peut appeler un outil localisateur de court-cicuit pour dterminer la pls courte fome d'erreur du court-cicuit 25. L'outil localisateur de court-cicuit peut Atre automatiquement activ par 1'outil d' extraction de connactivitd ou l'outil d' extraction de connsctivitd peut notifier un concepteur qu'il peut alors activer l'outil localisateur de court-cicuit. La figure Sa illustre n procAdA pemettant de dAterminer 1'eplacement du court-cicuit 25. Une fois que le concepteur obtient un schma du cicuit , come reprAsentd sur la figure 3a, le concepteur crde une maquette (figure 3c) du cicuit 15 partir du scbJma (Atape 32). Une fois que la maquette est acheve, le concepteur exdoute l'outil d' extraction de connectivitd sur la maquette pour dteniner la connexion valide (6tape 33). Pedant que 1'outil d' extraction de connectivitd s'exActe, l'outil dAtermine s'il existe un court-cicit (dLape 34). Si un court-cicuit 25 existe, l'outil localisateur de court-cicuit sera activ6. Ceci sera dcrit ci-dessous en se rapportant la figure Sb. S'il n'existe pas de court-cicuit, ceci Gignifie que l'outil d'extraction a 46 capable d'obtenir une connectivité électrique valide pour la maquette et va maintenant comparer le schéma du circuit 15 à la maquette (étape 35). Si toutes les connexions sont valides, l'outil d' extraction de connectivité va s'arrêter, sinon il va échouer et revenir à la maquette (étape 32). A ce stade, si l'outil d' extraction de connoctivité échoue, ceci ne signifie pas qu'il existe un court-circuit dans la maquette, mais plutôt qu'un libellé ou un nom de signal a été mal orthographié par le concepteur. Le concepteur va alors revenir à la maquette pour contrôler tous les libellés ou les noms de signaux. La figure 5b illustre un procédé que l'outil localisateur de courtcircuit utilise pour déterminer le trejet électrique le plus court pour le court-circuit 25. Initialement, l'outil localisateur de court-circuit examine le schéma du circuit 15 (étape 40). L'outil localisateur évalue le fichier textuel de connectivité du schéma tel que représenté sur la figure 3b. A partir du fichier textuel, l'outil localisateur connaît à quoi les ports SET et GND doivent être connectés. Dans cet exemple, tous les ports SET doivent être connectés à CK1 et tous les ports GND doivent être connectés à GND1. L'outil localisateur réalise alors une copie de la maquette représentée sur la figure 3c (étape 45). L'outil localisateur de court-circuit ntutilise pas la maquette d'origine du fait que l'outil localisateur peut aj outer un grand nombre de libellés qui peuvent rendre la maquette d'origine plus difficile pour qu'un concepteur puisse la comprendre et assurer sa maintenance. Maintenant qu'une copie de la maquette a été effectuée et l'outil localisateur a examiné le fichier textuel, l'outil sait que tous les ports SET sont supposs tre connacts CK1 et tous les ports GND sont G0ppOS6S Stre connects GND1. L'outil localisateur va maintenant inf4rer et renommer par le 11belld CK1 tous les libellAs SET et par le 11bellA GD1 tous les libell6s GD (6tape 50). One fois que tous les libellAs ont Atd infrs, comme reprsent sur la figure 6, l'outil localisateur de court-circuit appelle l'outil d'extraction de connectivit6. L'outil d' extraction de connectivitd s'exGcute nouveau sur la copie de la maquette contenant les libellAs inf66s (dLape 55). Une fois que 1'outil d'extraction de connsctivitd s'est exdcut6, l'outil d' extraction localise le plus court trajet lectrique entre deux libellAs en conflit (6tape 60). L'outil d' extraction va examiner chaque verrou et v6rifier que tous les ports CK1 sont connacts CK1 et tous les ports GD1 sont connect6G GD1. Toutefois, l'outil va reconnaitre que pour le neuvide verrou 20, GD1 est connectd la fois CK1 et GD1. L'out11 va alors gAn6rer une plus courte forme d'erreur 65, comme reprdsentd sur la figure 7. En utilisant les libellAs inf66s, la forme d'erreur du court-cicuit est limite celle du neuvime verrou. Cette forme d'erreur 65 indique au concepteur une erreur beaucoup plus poche du court-cicuit rdel par opposition la forme d'erreur 30 de la figure 4 o elle englobait tout le cicit 15. Une fois que la fome d'erreur plus courte 65 est dAtenminde, le concepteur peut modifier la maguette (6tape 61) et exdcuter l'outil d' extraction de connectivit sur la maquette modifide. Bien que la description ci-dessus soit dcrite en se reportant des exeples de modes de rdalisation, de nobreuses modifications apparaitront facilement 1'homme du metier, et la pr6sente description est deGt16e Convair ces variat10. REVENDICATIONS 1. Procédé pour déterminer l'emplacement d'un court-circuit dans un circuit, caractérisé en ce qu'il comporte les étapes consistant à: (a) exécuter un outil d' extraction de connectivité (33) sur une maquette du circuit (15), (b) déterminer si un court-circuit (25) existe (34) dans le circuit (15), dans lequel si un court-circuit (25) existe, le procédé comporte l'étape consistant à: exéauter un outil localisateur de courtcircuit, et (c) comparer la maquette (35) du circuit (15) à un schéma du circuit (15). 2. Procédé selon la revendication 1, caractérisé en ce que l'étape d'exécution d'un outil localisateur de court-circuit comporte en outre les étapes consistant à: examiner un schéma (40) du circuit (15), créer une copie de la maquette (45) du circuit (15), et inférer des libellés sur la copie de la maquette (50). 3. Procédé selon la revendication 2, caractérisé en ce que l'étape d'examen comporte en outre l'étape consistant à évaluer un fichier textuel de connectivité du schéma. 4. Procédé selon la revendication 3, caractérisé en ce que l'étape d'évaluation comporte en outre l'étape consistant à obtenir des informations relatives aux connexions électriques de chaque composant. II 5. ProcAdA selon la revendication 2, caractris en ce gue 1'6tape d'inf&rence coporte en outre 1'6tape consistant renommer des noms de signaux. 6. Procd selon la revendication 2, caract6ris en ce gu'11 comporte en outre 1'6tape consistant exdcuter l'outil d' extraction de connsctivit sur la copie de la maguette (55). 7. ProcdA selon la revendication 6, caract4ris en ce gu'il coporte en outre 1'obtention du plus IO court trajet entre des libells en conflit (60) dans le cicuit (15). 8. ProcdA selon la revendication 7, caract41sA en ce gu'il coporte en outre la modification de la maguette du cicit (15). I5 9. Procd selon la revendication 8, caract6ris en ce qu'il coporte en outre 1'exdcution de 1'outil d' extraction de connsetivitd sur la maguette