Brevet FR2931971A1 — publié le 20091204

FILTRAGE DE PETITES VALEURS POUR LA VERIFICATION DES CIRCUITS INTEGRES DESCRIPTION DOMAINE TECHNIQUE ÉTAT DE LA TECHNIQUE ANTÉRIEURE L'invention concerne le domaine des circuits intégrés et des procédés et des dispositifs 5 permettant de les concevoir. A la suite de la conception d'un circuit intégré on cherche à estimer son comportement électrique avant sa production. Ce comportement électrique est typiquement 10 modélisé par des modèles pour différents types de composants. On distingue : - d'une part les composants dessinés et voulus, 15 - d'autre part les composants non dessinés, mais qui sont nécessaires pour modéliser le comportement physique du circuit intégré. En particulier, dans les technologies dites � sub-100nm � les interconnexions, les boitiers ou le 20 substrat ont une influence importante sur le comportement du circuit intégré. Par exemple, idéalement, l'horloge du circuit doit arriver partout au même moment. Malheureusement ce n'est pas le cas, car chaque 25 transistor introduit un léger retard. En plus les interconnexions introduisent un retard supplémentaire. Au dessus des � sub-100nm �, le retard supplémentaire 2 des interconnexions est négligeable. En dessous, on constate que le retard des signaux par les interconnexions est plus élevé que celui introduit par les composants actifs. Ces effets dus aux interconnexions et aux transistors doivent donc être modélisés, lors de la vérification du circuit, sans que ces composants fassent partie du dessin du circuit électrique. Ces composants sont appelés � parasitaires �, car ils dégradent le bon fonctionnement du circuit intégré. Leur particularité est que la relation courant-tension y est linéaire. Typiquement on utilise des composants résistifs, capacitifs et inductifs pour modéliser les effets électromagnétiques dus aux déplacements de courant dans les composants non dessinés et les différents comportements de ces composants. Un comportement consiste à retarder des signaux; un autre comportement réalise l'inverse, et le signal peut alors être accéléré à cause des parasites. Encore un autre comportement est le couplage des signaux d'un réseau à un autre via une interférence électrique ou magnétique. On connaît un procédé de simulation d'un circuit intégré dont le déroulement est rappelé brièvement sur la figure 1. Tout d'abord, une description du plan des masques, dite layout 10, est utilisée pour représenter l'implémentation d'un circuit intégré. A partir de ce layout et des informations technologiques au moins deux logiciels 20 et 30 sont utilisés pour reconnaître la représentation électrique du circuit intégré : 3 un premier logiciel 20 d'extraction, dit � extraction C �, qui reconnaît la partie conçue par le concepteur, et un deuxième logiciel 30 d'extraction, dit � extraction I �, est un logiciel qui reconnaît les interconnexions et qui les modélise avec des composants linéaires. Les informations technologiques mentionnées ci-dessus concernent les couches des masques et leurs spécificités : pour chaque couche -et il peut y en avoir une bonne centaine- on a au moins les informations telles que le nom, le numéro, la couleur pour l'affichage, la conductivité, la perméabilité, la susceptibilité, etc. Le résultat des deux extractions consiste en une liste de composants électriques et de leurs connexions entre eux, dite netlist 40. Cette netlist est d'habitude utilisée pour exécuter des simulations et analyses en utilisant un simulateur 50. Cependant la capacité des simulateurs est dépassée par la masse d'informations à traiter (le nombre de composants linéaires est exorbitant), et les analyses effectuées à ce stade sont donc onéreuses. Il existe des moyens pour réduire le nombre des composants par des approches de réduction d'ordre de grandeur (� Model Order Reduction �). Un système dédié à une telle réduction est décrit dans le document WO2007051838. Les extracteurs ainsi que le système de réduction décrits dans ce document ont un problème commun. En particulier, une étape importante dans la délivrance de la netlist est le filtrage des petites 4 valeurs. Dans la technique actuellement connue, on filtre les composants dits � parasitaires � lors de l'exécution du logiciel 30 (extraction � I �). Le filtrage habituel consiste à définir un seuil de valeur minimale pour les différents types de composants. On trouve ainsi une résistance minimale pour les résistances, ainsi qu'une valeur capacitive minimale pour les capacités. Un exemple de ce filtrage est illustré en 10 figures 2A et 2B. La référence 210 désigne une partie d'un circuit intégré. Avant filtrage cette partie comporte des résistances R1-R4 et des capacitances C1-C2. p1-p6 indiquent les points de croisement ou d'intersection 15 avec d'autres parties du circuit. Le filtrage consiste à déterminer un seuil Rmin et à comparer toutes les résistances R1-R4 avec Rmin. Supposons que, dans le circuit 210, seul R2 20 soit plus petite que Rmin. Dans ce cas, R2 sera filtré c'est-à-dire que R2 sera supprimé et que ses connexions p2 et p3 se regrouperont en une seule connexion. Le résultat de cette approche simple de filtrage est illustré en figure 2B, c'est le circuit 220. 25 Cette approche, malgré sa simplicité, n'est plus suffisamment efficace, car le seuil des valeurs minimales est difficile à déterminer et aucun contrôle sur la précision de l'opération ne peut être appliqué. Il se pose donc le problème de trouver un 30 nouveau procédé de filtrage, permettant de surmonter ces inconvénients. Il se pose également le problème de trouver un nouveau procédé permettant d'améliorer la précision des simulations de circuits intégrés. EXPOSÉ DE L'INVENTION 5 Pour résoudre ce problème, la présente invention propose une technique pour améliorer la précision des simulations de circuit intégré par l'application d'une nouvelle méthode de filtrage et un nouveau procédé pour préparer les données. L'invention concerne d'abord plus spécifiquement un procédé de simulation d'un circuit électronique, représenté sous forme de masques et de connexions, comportant : a) la définition du circuit sous forme d'une première liste de composants électriques et de leurs connexions entre eux, b) la séparation des données de cette première liste en un premier sous-ensemble de composants à modifier par une étape de filtrage, et en un deuxième sous-ensemble de composants à ne pas modifier par cette étape de filtrage, c) le filtrage des données du premier sous-ensemble de composants, d) la définition du circuit sous forme d'une deuxième liste de composants électriques et de leurs connexions entre eux, à partir des données du deuxième sous-ensemble et des données résultant de l'étape c), e) la simulation du circuit à l'aide de cette deuxième liste. 6 En cas de résultat satisfaisant de la simulation, le circuit peut être fabriqué. Selon l'invention les données sont préparées en séparant les données à ne pas modifier par filtrage des données à filtrer. Les données sont ensuite transformées, filtrées, retransformées et restituées à l'endroit où elles ont été prises pour former la deuxième liste. Les données de cette deuxième liste peuvent ensuite être analysées en utilisant un simulateur. L'invention met donc en oeuvre une étape complémentaire aux étapes connues mises en oeuvre dans les systèmes connus d'extraction et de réduction. Une étape complémentaire de réduction des données de la première ou de la deuxième liste peut d'ailleurs être mise en oeuvre. Selon un mode de réalisation l'étape c) de filtrage comporte une étape de filtrage des valeurs d'une matrice symétrique conservant son caractère défini positif. L'étape c) de filtrage de petites valeurs peut être effectuée en mettant en oeuvre une rotation de Jacobi. L'invention concerne donc également un procédé pour filtrer des petites valeurs pour la vérification des circuits intégrés, comportant, à partir d'une description de circuit intégré à fabriquer : a) une étape de reconnaissance des composants pour rétablir la description électrique du 7 circuit intégré, par exemple par utilisation de logiciels d'extraction, b) une étape de séparation des données pour déterminer le contenu des parasites, c) une étape de transformation de la description de réseau en une représentation matricielle symétrique définie positive, d) une étape de filtrage des petites valeurs, par exemple un filtrage des petites valeurs est effectué en utilisant une rotation de Jacobi, e) une étape de transformation de la description matricielle en description réseau. Une nouvelle description du circuit intégré peut alors être obtenue. Les données à traiter et les données à ne pas traiter peuvent être séparées soit automatiquement soit manuellement (exemple de séparation manuelle : on peut prendre un éditeur de texte et couper une des deux parties d'un fichier pour recopier cette partie dans un fichier vierge). L'invention concerne également un dispositif de simulation d'un circuit électronique, représenté sous forme de masques et de connexions, comportant : a) des moyens pour recevoir la définition du circuit sous forme d'une première liste de composants électriques et de leurs connexions entre eux, b) des moyens pour séparer des données de cette première liste en un premier sous-ensemble de composants à modifier par une étape de filtrage, et en un deuxième sous-ensemble de composants à ne pas modifier par cette étape de filtrage, c) des moyens pour filtrer des données du premier sous- ensemble de composants, d) des moyens pour définir le circuit sous forme d'une deuxième liste de composants électriques et de leurs connexions entre eux, à partir des données du deuxième sous-ensemble et des données résultant de l'étape c), e) des moyens pour simuler le circuit à l'aide de cette deuxième liste. L'invention concerne également un support de données lisible par ordinateur, comportant les instructions pour mettre en oeuvre un procédé selon 15 l'invention. L'étape de filtrage, ou les moyens pour filtrer des données, peut comporter ou peuvent mettre en oeuvre les sous-étapes suivantes . A) on définit deux paramètres d'erreur : 20 eabsolur et erelatif B) on calcule, pour tout élément Cpq de la matrice C tel que Cpa T C = pq C Qpq Où Qpq est une matrice de rotation sur les 25 indices (p, q) . 10 -4 q 0 0 0 avec : c = cos 0 et s = sin 0, la valeur de l'angle 8 étant choisie de façon à avoir : C' Pq = C' qP = 0 C) Si, pour tous les éléments non diagonaux (donc i j) de C' et C on a: C ij ù Cij EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS Comme indiqué auparavant, la présente invention est un système pour améliorer la précision du processus de filtrage de petites valeurs après la création d'un circuit intégré. La figure 3 représente des étapes d'un procédé pour le filtrage des petites valeurs selon la présente invention. Ce procédé commence à partir du plan 110 des masques lithographiques, ou de la description informatique de ces masques. Ce plan est le schéma des couches des différents composants (géométrie) et de leurs connexions. Ces masques sont organisés en couches, qui peuvent être nombreuses, par exemple au moins 100 couches ou plus, et chacune de ces couches contient les 11 formes géométriques qui vont servir de négatif lors de la fabrication du circuit. Chaque couche contient aussi les profils ou informations technologiques, c'est-à-dire les caractéristiques techniques de matériaux tels que l'impédance en fonction de la distance entre les composants, de la permittivité relative, de la perméabilité des matériaux et de la température, ou encore les caractéristiques des diffusions, les profils de dopage, etc. Par exemple, chaque matériau a sa résistivité par tronçon. Un tronçon a une section et une longueur limitées. L'ensemble des tronçons pour tous les composants ou éléments géométriques définit le réseau résistif. Cette description du plan des masques est encore appelée � layout � 110. Cette description est fournie à un ou deux types de logiciel d'extraction. Dans le cas de deux logiciels, comme sur la figure 3, un premier logiciel 120, dit Extraction � C �, permet d'extraire le circuit dessiné, et un deuxième logiciel 130, dit extraction � I �, permet d'extraire les interconnexions du plan de masque, à l'aide des informations technologiques telles que celles mentionnées ci dessus, qui sont associées au layout 110. Des exemples de ces logiciels sont : - Pour le logiciel 120, le logiciel � Assura � de Cadence Design Systems, ou � Calibre � de 30 Mentor Graphics ou � Star � de Synopsys. 12 - Pour le logiciel 130, on peut utiliser les extensions pour les interconnexions des logiciels cités ci-dessus, donc notamment le logiciel � Assura RCX � de Cadence Design Systems, ou � Calibre XRC � de Mentor Graphics ou � Star RCXT � de Synospys. Le résultat de ces deux extractions consiste en une liste de composants électriques et de leurs connexions entre eux, dite netlist 140. Autrement dit, cette netlist est une description électrique du circuit intégré qui comporte une liste des composants reconnus lors de l'étape 120 ou 130 et les connexions entre ces composants. On notera qu'il ne s'agit pas nécessairement de tous les types de composants (résistances, capacités, inductions...). En fait, les logiciels 120, 130 ont de préférence une fonction permettant d'être sélectif, donc de choisir le mode d'extraction, par exemple � R �, et/ou � C �, et/ou � RC �, et/ou � RCL �, ce qui permet de sélectionner les composants ainsi retenus (uniquement résistances, ou uniquement capacités, ou uniquement inductions, ...etc ou mélange de deux ou plusieurs de ces catégories). Cette description peut être mémorisée dans une base de données ou un fichier électronique. L'invention comporte une étape 150 de séparation de données. Cette étape est mise en oeuvre à partir des informations relatives au circuit intégré et elle permet de définir les parties à filtrer d'une manière plus contrôlée que si le filtrage était réalisé immédiatement après les étapes 120, 130 d'extraction mais avant génération de la netlist 140. 13 Le résultat de cette étape de séparation 150 comporte deux sous-ensembles de données : - un premier sous-ensemble 160 de données, dite données � à garder � ; - un deuxième sous-ensemble 170 de données, dites données � à filtrer �. On peut supposer non vide chacun de ces sous-ensembles. Pour déterminer, d'une part, ce qui est à garder et, d'autre part, ce qui est à filtrer, il y a par exemple une reconnaissance des éléments à considérer pour le filtrage et/ou, ensuite, la détermination des seuils utilisés pour le filtrage. Les données à filtrer 170 se présentent par exemple en tant que données contenant uniquement des éléments tels que des résistances et des capacitances. Ces composants sont combinés de plusieurs façons (par exemple : résistances en série et en parallèle, capacités de couplage à l'intérieur d'un même réseau, capacités de couplage entre deux réseaux distincts,...etc) pour créer un réseau électrique. Les données 170 à filtrer sont ensuite successivement: - mises en matrices (étape 180) pour arriver à une représentation mathématique; au cours de cette étape, deux matrices, l'une, G, ou matrice de résistances et l'autre, C, ou matrice de capacités (rappelons que les composants des netlists 140 sont stockés dans des � listes �, pas dans des matrices) - filtrées (étape 182), 14 - et mises en réseau (étape 185); c'est la retransformation des matrices en réseau électrique. Les données 160 (qui ont été gardées et non pas filtrées) et les données générées par l'étape 185 sont mélangées ou combinées pour établir une nouvelle netlist 190. La manière dont est réalisé ce � mélange � ou cette recombinaison, dépend de la manière dont on a séparé les données. Dans le cas où on a des fichiers séparés en entrée, les fichiers en sortie sont simplement concaténés. Dans le cas où on a du trouver les parties à filtrer, on a gardé en mémoire l'endroit, ou les endroits, dans le fichier 140, où il faut restituer les composants. Cette netlist est fournie à un logiciel de simulation pour une étape de simulation 195. Actuellement il existe plusieurs logiciels disponibles pour exécuter cette étape 195 de simulation, on peut utiliser par exemple l'un des logiciels suivants: � Spectre � ou � UltraSim � de Cadence Design Systems, � Eldo � de Mentor Graphics ou � HSIM �, ou � Primetime � de Synopsys. Le document WO2007/051838 décrit un procédé qui permet de réduire considérablement la taille des fichiers des netlists. C'est une approche qui réduit les composants R,L,C,K. Ce procédé du document WO2007/051838 peut être mis en oeuvre à partir du résultat de l'étape 190. Dans ce cas, comme illustré sur la figure 4A, au lieu de passer directement de cette dernière étape 190 à l'étape de simulation 195, on met en oeuvre le procédé 15 de réduction de données (étape 192) tel que décrit dans le document précité (ou une autre réduction des données). Selon une variante, illustrée sur la figure 4B, il est possible de mettre en oeuvre le procédé selon la présente invention après avoir utilisé le procédé de réduction de données (étape 145) décrit dans le document WO2007/051838 (ou une autre réduction des données) puis réalisé les opérations de séparation pour définir d'une part les données à garder et d'autre part celles à filtrer. Un réseau électrique RC s'exprime par une matrice de conductances G et une matrice de capacités C qui traduisent les lois de Kirchoff du réseau. Les temps d'exécution d'un logiciel de simulation de circuit électrique seront dépendants de la dimension ainsi que du nombre d'éléments non nuls de ces matrices. Un procédé de réduction d'ordre, tel que décrit dans le document WO2007/051838, ou tel qu'utilisé à l'intérieur des logiciel de simulation cités plus haut, utilise également un système avec des matrices réelles (G) et imaginaires (C). Ce genre de système permet de réduire la dimension des matrices G et C tout en conservant leur caractère défini positif. Cependant, il arrive souvent que le procédé de réduction densifie les matrices en augmentant le nombre d'éléments non nuls, ce qui réduit son intérêt pour la simulation, car on peut se retrouver avec plus de composant qu'avant la réduction. 16 Fréquemment, les matrices réduites contiennent un grand nombre de petites valeurs non nulles. On cherche à supprimer ces petites valeurs en considérant qu'elles ont un impact faible sur la simulation. Ceci est possible si la matrice réduite est a diagonale dominante, ce qui est souvent le cas des matrices suivant une réduction des résistances uniquement. Ceci n'est pas possible facilement si les matrices ne sont pas à diagonale dominante, ce qui est souvent le cas pour des matrices qui sortent d'une réduction de réseau électrique avec composants R, C et L (tel que décrit en WO2007/051838).En effet, la simple suppression des petites valeurs, donc sans le système selon la présente invention, risque de faire perdre la positivité d'une matrice qui n'est pas à diagonale dominante et peut ensuite entrainer l'instabilité de la simulation suivante. Ceci permet de saisir l'intérêt de mettre le système de filtrage derrière le système de réduction. Selon l'invention, on peut mettre en oeuvre un procédé de filtrage des petites valeurs d'une matrice symétrique conservant son caractère défini positif et garantissant ainsi la stabilité. Pour expliquer un tel procédé de filtrage, on part de la méthode de diagonalisation de Jacobi. Cette méthode est, d'une manière générale, expliquée dans l'article de Rutishauser � The Jacobi Method for Real Symmetric Matrices �, Numerical Mathematics 9 (1966), 1-10. 17 Selon cette méthode, on applique une suite de transformations qui permettent de supprimer successivement les éléments de la matrice qui sont situés en dehors de sa diagonale. Supposons que la matrice soit constituée d'un ensemble d'éléments (Cpq) , p= 1,_N, q = 1, ..., M. Chaque transformation est une rotation sur les 2 indices (p, q) permettant de mettre à zéro l'élément Cpq. Cette transformation conserve les valeurs propres. A la fin de l'algorithme de Jacobi, une matrice diagonale contenant les valeurs propres de la matrice est obtenue. Dans le procédé selon l'invention, on effectue la congruence suivante : C' QTpq c Qpq Où Qpq est une matrice de rotation sur les indices (p, q) . 0 0 0 O c 0 s 0 0 1 0 0 0 ùs 0 r 0 0 0 0 0 1 avec : c = cos 0 et s = sin 0 A20 18 La valeur de l'angle 8 est choisie de façon à avoir : C ' Yl(T C' Dans le procédé de filtrage selon l'invention, on examine les éléments Cpq non-diagonaux de la matrice, dont la valeur absolue est inférieure à une erreur absolue eabsolu• La valeur typique pour un filtrage capacitif est de eabsolu=10-18F. On définit également une erreur relative erelatif. Selon ce procédé, on examine successivement tous les éléments Cpq de la matrice en vérifiant si IC Le procédé est donc contrôlé par une erreur absolue et une erreur relative liées au degré de précision que l'on souhaite garder. Typiquement erelatif = 5 % . 19 La transformation de Jacobi ne modifie que les lignes et colonnes p et q de la matrice mais elle peut transformer un élément nul de la matrice en élément non nul. Afin de ne pas introduire de nouveaux éléments non nuls dans la matrice, on modifie la rotation élémentaire de Jacobi comme suit : • Si la rotation de Jacobi est acceptée, on examine les éléments C'ij. • Si = 0 et C' 0 alors on effectue la transformation suivante : ci; = 0, Cii = C' ii +IC'ii, c>> = C'>> +10';; ; Sinon Cil = C' ii Cette modification de la transformation de Jacobi garantit toujours la positivité de la matrice après transformation. Les valeurs propres seront faiblement altérées si eabsolu est petit (l'erreur sur les valeurs propres est de l'ordre de eabsolu). La figure 5A représente un système d'ordinateur 300 qui peut être utilisé pour implémenter la présente invention. Un ordinateur 302 reçoit un jeu d'instruction programmé sur un média 304 lisible par l'ordinateur, tel qu'un CD-ROM, DVD, bande ou un lien direct avec un autre ordinateur. L'ordinateur exécute les instructions pour lire tout ou partie d'une description d'un plan de masques à partir d'une base de données 306 ou tout autre médium de stockage. L'ordinateur exécute successivement les étapes de séparation de données, transformation, filtrage, pour arriver à une autre représentation du circuit intégré en vue de la simulation. 20 L'ordinateur 302 peut être un ordinateur isolé ou lié à un réseau. De plus, il peut être lié à d'autres ordinateurs 324 à travers des moyens de communication 320 tel que l'Internet. L'ordinateur ou le micro-ordinateur 302 est configuré de manière adaptée pour le traitement des informations relatives à un circuit selon un procédé conforme à l'invention. Il comporte une section de calcul avec tous les composants électroniques, logiciels ou autres, nécessaires à la mise en oeuvre d'un procédé selon l'invention, par exemple tel que celui de la figure 3. Ainsi, par exemple (figure 5B), il comporte un processeur programmable 326, une mémoire 328 et un périphérique d'entrée, par exemple un disque dur 332, couplés à un bus système 330. Le processeur peut être, par exemple, un microprocesseur, ou un processeur d'unité centrale. La mémoire 328 peut être, par exemple, un disque dur, une mémoire morte ROM, un disque optique compact, une mémoire vive dynamique DRAM ou tout autre type de mémoire RAM, un élément de stockage magnétique ou optique, des registres ou d'autres mémoires volatiles et/ou non volatiles. Des algorithmes de traitement selon l'invention, de calculs à partir de données de circuits, comportent des instructions qui peuvent être stockées dans la mémoire, et qui permettent d'effectuer des opérations de filtrage et/ou des simulations telles que décrites plus haut sur des données de circuit, conformément à l'un quelconque des modes de réalisation de la présente invention. 21 Un programme, permettant de mettre en oeuvre un procédé selon l'invention est résidant ou enregistré sur un support (par exemple : disquette ou un CD ROM ou un DVD ROM ou un disque dur amovible ou un support magnétique) susceptible d'être lu par un système informatique ou par le microordinateur 302. Le micro-ordinateur 302 peut être également relié à d'autres dispositifs périphériques, tels que par exemple, des dispositifs d'impression. Il peut être relié à un réseau électronique de type Internet, permettant d'envoyer des données relatives aux résultats de simulation. Il est possible d'afficher sur un écran une image représentative d'un résultat de simulation, et également une image d'un plan de masque. Une fois le circuit testé avec satisfaction par le concepteur, il peut être fabriqué et physiquement testé. Des moyens de fabrication du circuit, tels que connus dans l'industrie des semi-conducteurs et des circuits intégrés, peuvent alors être mis en oeuvre, dès lors que le résultat de simulation obtenu avec un dispositif de simulation d'un circuit électronique selon l'invention est satisfaisant. Un procédé et un dispositif selon l'invention jouent donc un rôle important dans la fabrication d'un circuit intégré, car ils permettent une économie de temps considérable dans l'élaboration et la fabrication d'un tel circuit. REVENDICATIONS1. Procédé de simulation d'un circuit électronique, représenté sous forme de masques et de connexions, comportant : a) la définition du circuit sous forme d'une première liste (140) de composants électriques et de leurs connexions entre eux, b) la séparation des données de cette première liste en un premier sous-ensemble (170) de composants à modifier par une étape de filtrage, et en un deuxième sous-ensemble (160) de composants à ne pas modifier par cette étape de filtrage, c) le filtrage des données du premier sous- ensemble (170) de composants, d) la définition du circuit sous forme d'une deuxième liste (190) de composants électriques et de leurs connexions entre eux, à partir des données du deuxième sous-ensemble (160) et des données résultant de l'étape c), e) la simulation (195) du circuit à l'aide de cette deuxième liste, f) en cas de résultat satisfaisant de la simulation, la fabrication du circuit. 2. Procédé selon la revendication 1, comportant en outre, entre l'étape d) et l'étape e), une étape de réduction des données de la deuxième liste.30 3. Procédé selon la revendication 1, comportant en outre, entre l'étape a) et l'étape b), une étape de réduction des données de la première liste. 4. Procédé selon l'une des revendications 1 à 3, le premier sous-ensemble (170) de composants contenant des résistances et des capacitances. 10 5. Procédé selon l'une des revendications 1 à 4, dans lequel l'étape c) de filtrage comporte une étape de filtrage des valeurs d'une matrice symétrique conservant son caractère défini positif. 15 6. Procédé selon la revendication 5 dans lequel : A) on définit deux paramètres d'erreur : eabsolur et erelatif B) on calcule, pour tout élément Cpq de la 20 matrice C tel que Cpq 7. Procédé selon la revendication 6, dans lequel, si on remplace C par C' à l'issue de l'étape C, alors . • E) Si = 0 et C' i 0 alors on effectue la transformation suivante : ci; = 0, cil = + I c' II c>> _ +IC';;I ; Sinon : Cid = C' ii 8. Dispositif de simulation d'un circuit électronique, représenté sous forme de masques et de connexions, comportant : 25 a) des moyens pour recevoir la définition du circuit sous forme d'une première liste (140) de composants électriques et de leurs connexions entre eux, b) des moyens pour séparer des données de cette première liste en un premier sous-ensemble (170) de composants à modifier par une étape de filtrage, et en un deuxième sous-ensemble (160) de composants à ne pas modifier par cette étape de filtrage, c) des moyens pour filtrer des données du premier sous-ensemble (170) de composants, d) des moyens pour définir le circuit sous forme d'une deuxième liste (190) de composants électriques et de leurs connexions entre eux, à partir des données du deuxième sous-ensemble (160) et des données résultant de l'étape c), e) des moyens pour simuler le circuit à l'aide de cette deuxième liste. 9. Dispositif selon la revendication 8, comportant en outre des moyens pour réaliser une réduction des données de la première ou de la deuxième liste.