FR 2578668 A1 19860912 FR 8503429 A 19850308 Système de simulation d'un circuit électronique La présente invention a pour objet un sys- tème de simulation d'un circuit électronique permet- tant de simuler le comportement électrique, dans le temps, d'un circuit électronique déterminé soumis à des conditions électriques de fonctionnement déter- minées. De manière classique, le circuit électro- nique simulé est décrit comme étant un réseau compor- tant un certain nombre de noeuds et de branches, cha- que branche pouvant comporter un ou plusieurs compo- sants du type résistance, capacité, inductance, tran- sistor ou autre. On définit ensuite les conditions d'alimentation électrique de ce circuit électronique ainsi que la forme du ou des signaux électriques de commande appliqués sur une ou plusieurs entrées de ce circuit. Un système de simulation reçoit donc une première suite de signaux électriques codés représen- tatifs de la description du circuit électrique, c'est-à-dire indiquant les noeuds du réseau, les branches reliant chacune deux de ces noeuds et les composants de chaque branche, une deuxième suite de signaux électriques codés représentatifs des condi- tions électriques de fonctionnement du circuit, une troisième suite de signaux électriques codés repré- sentatifs de la fonction qui existe entre la tension appliquée aux bornes de chacun des composants du cir- cuit (résistance, capacité, inductance, transistor ou autre), ou sa dérivée par rapport au temps, et le courant traversant ledit composant, et une quatrième suite de signaux électriques codés indiquant les noeuds pour lesquels il doit effectuer ta simulation de l'état électrique à un instant t déterminé ainsi que la détermination de l'intervalle de temps At pour la simulation suivante effectuée à l'instant t+At. Les signaux électriques desdites suites sont en géné- ral des signaux binaires. Les systèmes de simulation permettent d'évaluer les performances probables d'un circuit électronique sans qu'il soit nécessaire de réaliser physiquement ce circuit. Ils permettent également de tester rapidement différentes variantes d'un circuit en cours de développement. Les systèmes de simulation sont donc utilisés couramment pour le développement de circuits électroniques. Chaque système de simulation est défini essentiellement par deux paramètres qui sont, d'une part, le système d'équations différentielles utilisé pour modéliser le circuit électronique et, d'autre part, la méthode employée pour résoudre ce système d'équations différentielles. Parmi les représentations les plus utili- sées, on peut citer les modèles d'Euler, du trapeze et de GEAR. Pour chacun de ces modèles, on peut choi- sir en fonction du type de circuit électronique simu- Lé et de la précision souhaitée dans le calcul des potentiels des noeuds, d'utiliser ces modèles à l'or- dre 1, à l'ordre 2 ou à un ordre supérieur, c'est-à- dire de ne prendre en compte respectivement que la dérivée première du potentiel, les deux premières dé- rivées du potentiel ou les dérivées d'ordres supé- rieurs. Le modèle choisi pour représenter un cir- cuit électronique ne constitue en général pas une ca- ractéristique du système de simulation. En revanche, le choix d'une méthode de résolution du modèle est caractéristique d'un système de simulation et définit ses performances et capacités. Les systèmes de simulation de circuits électroniques sont en général classés en trois géné- rations définies chacune par la méthode utilisée pour résoudre le système d'équations différentielles re- présentatif dudit circuit électronique. La première génération correspond aux premiers systèmes de simu- Lation qui ont été développés dans les années 60. Les systèmes de simulation développés dans les années 70 correspondent à peu près à La deuxième génération. Un premier exemple d'un tel système de simulation est décrit dans l'article "SPICE 2: a computer program to simulate semiconductor circuits", de L.N. Nagel, Université de CaLifornie Berkeley, Mai 1975. Dans ce système de simulation, la résolu- tion du système d'équations différentielles repré- sentatif du circuit électronique est réalisée par la méthode de Newton. Cette méthode consiste à calculer le jacobien du système d'équations différentielles, ce qui représente une matrice de pxp éléments pour un circuit électronique de p noeuds, puis à inverser ce jacobien. Le potentiel en chaque noeud du circuit électronique s'obtient ensuite directement au moyen de l'inverse du jacobien. L'inversion du jacobien représente un vo- lume de calcul important. Il faut noter que ce volume croît comme le carré de la taille du circuit simulé, ce qui limite en pratique l'utilisation de ce système de simulation aux circuits électroniques ne dépassant pas environ 50 transistors, car pour des circuits électroniques plus complexes, le temps de calcul de- vient prohibitif. L'article "MOTIS - A MOS timing simulator" de B.R. CHAWLA, H.K. GUMMEL et P. KOZAK, paru dans transactions IEEE, vol. CAS-22, n 12, pp. 901-910, décembre 1975, décrit un autre système de simulation de deuxième génération qui n'utilise pas la méthode de Newton. L'une des caractéristiques de ce système de simulation consiste à négliger le couplage entre certains noeuds, en particulier les faibLes couplages arrière. Ceci permet de simplifier le système d'équations différentielles modélisant le circuit électronique simulé et donc de diminuer le volume des calculs permettant d'obtenir les potentiels des noeuds. Le fait de négliger certains couplages a tou- tefois pour inconvénient de diminuer la précision sur les potentiels calculés, qui ne sont connus qu'à 10% près environ, et de restreindre l'utilisation de ce système de simulation aux circuits logiques, c'est-à- dire aux circuits ne comportant pas de couplages ar- rière. Une seconde caractéristique de ce système de simulation est l'ordonnancement des noeuds qui consiste à classer les noeuds dans l'ordre dans le- quel ils reçoivent un signal électrique se propageant dans le circuit électronique simulé, et à calculer les potentiels des noeuds du circuit dans cet ordre. Cet ordonnancement est nécessaire à cause de l'ap- proximation causée par la suppression des faibles couplages. On connaît enfin un système de simulation, dit de troisième génération, dans lequel le potentiel en chaque noeud est déterminé par un calcul itératif sur chaque équation du système d'équations différen- tielles. Ce système de simulation est décrit notam- ment dans les articles "The Waveform Relaxation Method for time-domain analysis of large scale inte- grated circuits" de E. LELARASME, A.E. RUEHLI, et A. SANGIOVANNIVINCENTELLI paru dans IEEE Transactions on CAD, Vol. CAD-1, N 3, Juillet 1982, pp. 131-145 et "RELAX a new circuit simulator for large scale MOS integrated circuits" de E. LELARASME et A. SANGIOVANNI-VINCENTELLI publié à la 19ème Conférence DAC, 1982. La méthode de résolution utilisée dans ce système de simulation est appelée méthode de relaxa- tion d'onde, en abrégé MRO, par référence aux itéra- tions successives effectuées pour obtenir le poten- tiel en un noeud du circuit. Avant de décrire le fonctionnement de ce système de simulation connu en référence à l'organi- gramme de la figure 1, on va préciser les notations utilisées dans la suite de la description pour repré- senter le circuit électronique simulé. L'état de ce circuit électronique peut être représenté par l'équation différentielle implicite *.* F (t, V, V, V,...)=0, o t est le temps, V=(1v, 2v,... Pv) représente les potentiels de cha- cun des p noeuds du circuit, V est la dérivée premiè- w re de V, V est la dérivée seconde de V. L'équation F(t, V, V, V...)=0 est un en- semble de p équations différentielles. L'ordre de cette équation est en général compris entre 1 et 6. La résolution de cette équation pour un instant t détermine les potentiels (Jv)1.j,p des noeuds du circuit électronique à cet instant. Dans la suite de la description, l'indice n, compris entre I et N note les instants successifs de calcul de l'état du circuit électronique, l'indice i indique le numéro de l'itération de relaxation lors du calcul du potentiel d'un noeud, et l'indice j, compris entre 1 et p, désigne l'un des noeuds dans un circuit électronique à p noeuds. Avec ces notations, la valeur du potentiel du noeud j à l'instant n obte- nue à la ième itération est notée iv. L'organigramme représenté sur la figure 1 illustre le traitement effectué par le système de si- mulation MRO connu pour calculer le potentieL en cha- que noeud d'un circuit électronique simulé. Ce traitement comprend une suite d'inter- rogations (ou propositions) dont le contenu est Li- bellé dans un Losange à une entrée et deux sorties, l'une utilisée en cas de réponse affirmative, L'autre en cas de réponse négative et une suite d'opérations, dont Le contenu est libellé dans un rectangle à une entrée et une sortie. Chacune des propositions et des opérations est repéré par une référence numérique. L'organigramme comprend en outre une déclaration de début référencée 2 et une déclaration de fin de trai- tement référencée 36. Les opérations réalisées sont les suivan- tes: - 4: initialisation de l'indice d'itération i à la valeur 1, - 6: initialisation de l'indice de noeud j à la va- leur 1, - 8: initialisation de l'indice temporel n à la va- leur 1, - 10: résolution de l'équation JE(vn)=0 ! calcul de en = v - v 1, et il1 n À j. mémorisation de Jv1 et de Je n n.n - 14: affectation de la valeur e1 à la variable j i e, j - 16: affectation de la valeur maximale entre Je et Jei à la variable jei, - 20: incrémentation de l'indice temporel n, i i - 24: affectation de la valeur e à la variable d, j i - 26: affectation de la valeur maximale entre e et i i d à la variable d, - 30: incrémentation de l'indice de noeud j, - 34: incrémentation de l'indice d'itération i. Les interrogations, ou propositions, sont les suivantes: - 12: l'indice temporel n est égal à 1, - 18: Liindice temporel n est égal à N, - 22: l'indice de noeud j est égal à 1, - 28: l'indice de noeud j est égal à p, - 32: di est inférieur à une valeur de seuil déter- minée 6. Le calcul du potentiel en chaque noeud d'un circuit électronique simulé se fait, conformément à l'organigramme de la figure 1, de la manière suivan- te. Dans un premier temps, les indices d'itération i et de noeud j sont initialisés à 1. Le procédé de résolution consiste alors à calculer, pour chaque instant Tn, 1 l'équation différentielle implicite 1E(lv1)=0, dé- n duite de la première composante de l'équation diffé- * *. rentielle vectorielle F(t, V, V,,...)=0, pour cha- que instant Tn (opération 10). Cette opération est ensuite répétée pour chacun des p noeuds. A la fin de la première itération, on a donc mémorisé pxN valeurs de potentiel. Ces valeurs constituent une première ap- proximation du potentiel de chaque noeud à chaque instant. Par itérations successives, ces pxN valeurs de potentiel vont être affinées. Cette itération se poursuit jusqu'à la con- vergence de chacune des pxN suites (Jnv1 ivn2 j3 ' vn,...), o 1. j à nJvi - Jv- l (opération 10). Cette méthode de calcul du potentiel en chaque noeud et à chaque instant d'un circuit élec- tronique simulé appelle au moins deux remarques. Pre- mièrement, la valeur réelle du potentiel en un noeud quelconque et à un instant quelconque n'est connue qu'à la fin du traitement. Deuxièmement, cette métho- de nécessite de mémoriser au moins pxN valeurs de potentiel constituant le résultat d'une itération, mais aussi les pxN valeurs de potentiel calculées lors de l'itération précédente, afin de vérifier si chacune des pxN suites de potentiels convergent. Cette méthode de traitement requiert donc une mémoire de données contenant au moins 2xpxN valeurs de poten- tiel. Il faut remarquer également que si une seule suite ne converge pas, une nouvelle itération est ef- fectuée pour chacune des pxN suites, ce qui peut con- duire à recalculer inutilement des valeurs de poten- tiel dont les suites associées sont déjà convergen- tes. Le nombre d'instants N o le potentiel est calculé pouvant être supérieur à 1000, on conçoit que cette méthode de résolution nécessite une mémoire très importante, qui est de l'ordre de... Mo pour un circuit électronique comprenant environ 50 transis- tors. L'invention a pour objet un système de si- mulation permettant notamment de simuler des circuits électroniques notablement plus complexes que les cir- cuits électroniques simulables par les systèmes de simulation connus. L'invention a également pour but une augmentation de la vitesse de calcul du potentiel en chaque noeud. Ces buts sont atteints par l'utilisation d'une méthode de résolution originale. Cette méthode consiste essentiellement à fixer un instant T, o n 1 T2,...TN De manière précise, le système de simula- tion de l'invention comprend une mémoire, un proces- seur, un circuit d'interface et des bus de données, d'adresse et de commande reliant lesdits éléments, Ladite mémoire comprenant une première zone contenant des données pour représenter Le circuit électronique simulé, une deuxième zone contenant des instructions et une troisième zone de calcul, ledit circuit éLec- tronique simulé étant représenté par un réseau com- prenant des noeuds et des branches, chaque branche comprenant au moins un composant électrique, l'état dudit circuit électronique étant déterminé par le po- tentiel électrique en chaque noeud, ledit processeur exécutant les instructions contenues dans ladite deuxième zone de mémoire, ledit système se caractéri- sant en ce que ledit processeur est apte à calculer le potentiel de tous les noeuds à un instant fixé Tn 1 in implicite relative au potentiel de ce noeud, ce cal- cul étant répété successivement pour tous les ins- tants T1, T2...TN La méthode mise en oeuvre dans le système de l'invention permet donc de calculer le potentiel de tous les noeuds à un instant donné, puis le poten- tiel de tous les noeuds à l'instant suivant, etc... De cette manière, il n'est plus nécessaire de mémori- ser toutes les valeurs de potentiel calculées comme dans la méthode MRO. Ceci a pour résultat un gain d'espace mé- moire très important qui permet notamment de simuler des circuits électroniques ayant une complexité de 1000 transistors ou plus. Ceci permet également de délivrer des valeurs de potentiel sans attendre la fin de la simulation, puisque le calcul des valeurs de potentiel correspondant aux x premiers instants, 1,x AN, est terminé après une durée -T, o Test la durée totale de la simulation. De manière préférée, le processeur du sys- tème de simulation de l'invention calcule, pour cha- que instant fixé Tn, o l n (N, le potentiel de cha- que noeud par une méthode itérative. Pour résoudre L'équation implicite relati- ve au potentiel d'un noeud, Le processeur utilise la méthode du point fixe suivi d'une sécante. Cette méthode connue évite le recours à toute dérivation de l'équation implicite décrivant l'état du circuit électronique simulé. Par rapport à la méthode de Newton, utilisée généralement dans les systèmes de simulation connus, qui calcule la dérivée de l'équation implicite, le gain en temps de calcul est important. De manière avantageuse, le système de simu- lation se caractérise en ce que pour chaque instant fixé Tn, o 1 n potentiel dudit noeud à l'instant suivant Tn+1. Cette prédiction de la valeur du potentiel en chaque noeud à l'instant suivant est intéressante car, d'une part, elle est pratiquement gratuite en temps des calculs en ce sens qu'il n'y a pas d'équa- tion différentielle à résoudre pour obtenir ce pré- dicteur et, d'autre part, elle constitue une initia- lisation du calcul itératif du potentiel de chaque noeud à l'instant suivant et permet donc de réduire le nombre d'itérations d'une unité par rapport à L'art antérieur décrit en référence à la figure 1. La valeur du potentiel de chaque noeud s'obtient ainsi, en moyenne, en deux itérations au lieu de trois dans l'art antérieur; le gain en temps de calcul est donc de l'ordre de 33%. De manière préférée, le système de simula- tion se caractérise en ce que les noeuds du circuit électronique simulé sont ordonnés suivant Les dates auxquelles ils reçoivent un signal se propageant dans ledit circuit et émis par un noeud prédéterminé, Le processeur calculant le potentieL des noeuds suivant cet ordre. L'ordonnancement des noeuds a pour effet de rendre plus rapide La convergence des vaLeurs de po- tentieL calculées par itération. Cet ordonnancement reste une option dans le système de simulation de l'invention. Il est important de noter que Les va- leurs de potentiel caLculées sont identiques, avec Le système de simulation de l'invention, que Les noeuds soient ordonnés ou qu'ils ne Le soient pas. Les caractéristiques et avantages de l'in- vention ressortiront mieux de La description qui va suivre, donnée à titre illustratif mais non limita- tif, en référence aux dessins annexés, sur lesquels: - la figure 1, déjà décrite, représente l'organigramme correspondant à la méthode de résolu- tion connue dite de relaxation d'onde, - la figure 2 représente l'organigramme correspondant à la méthode de résolution de l'invention, les figures 3a et 3b représentent des graphiques dans l'espace des incides i, j, n iLLus- trant l'ordre dans lequel sont effectués les caLculs des potentiels des noeuds respectivement selon la mé- thode de relaxation d'onde décrite en référence à la figure 1 et la méthode de l'invention décrite en ré- férence à la figure 2, - la figure 4 représente schématiquement un système de simulation conforme à l'invention, - la figure 5a représente schématiquement un circuit numérique simulé par le système de L'invention, - la figure 5b représente en détaiL un ad- ditionneur du circuit de la figure 5a, - la figure 5c est un chronogramme des si- gnaux de sortie de la figure 5a calcuLés au moyen du système de simulation de l'invention, - la figure 6 représente schématiquement un convertisseur analogique-numérique simuLé par le système de l'invention, - la figure 7a représente schématiquement un circuit à capacités commutées simulé par le systè- me de l'invention, - La figure 7b représente la réponse impul- sionnelle du circuit de la figure 7a calculée par le système de simulation de l'invention. - la figure 8 est un graphique comparant, pour des systèmes de simulation connus, et pour le système de simulation de l'invention, le temps de calcul en fonction du nombre de transistors du cir- cuit électronique simulé. On va maintenant décrire la méthode de ré- solution utilisée dans le système de simulation de L'invention en référence à l'organigramme de la figu- re 2. Cet organigramme comprend des rectangles et des losanges dont la signification est identique à ceux de la figure 1. Le traitement comprend les propositions ou interrogations suivantes: - 48: l'indice de noeud j est égal à 1, - 56: l'indice de noeud j est égal à p, - 58: la variable dn est inférieure à un seuil dé- terminé, - 64: l'indice temporel n est égal à N. Le traitement comprend également les opé- rations suivantes: - 40: initialisation de l'indice temporel n à 1, - 42: initialisation de l'indice d'itération i à 1, - 44: initialisation de l'indice de noeud j à 1, - 46:. résolution de JE(Jv1)=O, À calcul de ei =| Jv Jvi-l n. ,n -. 35. mémorisation de Iv et le, n n - 50: affectation de La vaLeur 1en à la variable dn nfi - 52: affectation de La plus grande des valeurs en- j ii i tre en et dn à La variable dn, n n - 54: incrémentation de L'indice de noeud j, - 60:. incrémentation de L'indice d'itération i, Effaçage de iv pour 1 j - 66: incrémentation de L'indice temporel n. L'organigramme comprend en outre deux opé- rations de déclaration référencées 38 et 68 et cor- * respondant respectivement au début et à La fin du traitement. On va maintenant décrire en détail le trai- tement effectué par le système de simulation de L'in- vention. Ce traitement consiste, pour Le noeud j, o 1 4 j p, à résoudre une équation implicite Liant Le potentiel de ce noeud au potentiel des autres noeuds du graphe représentant le circuit électronique simu- lé. L'équation différentielle utilisée pour décrire l'évolution du potentiel d'un noeud du graphe n'est pas liée au système de simulation de L'inyen- tion. De nombreux modèles de représentation peuvent être utilisés tels que ceux du trapèze ou de GEAR déjà cités plus haut. A titre d'exemple illustratif, on va décrire le traitement effectué par le système de simulation de l'invention en utilisant le modèle d'intégration inverse d'Euler du premier ordre qui peut être représenté par l'équation V=F(V,t), dans laquelle V est un vecteur dont les composantes sont les potentiels de chaque noeud du graphe et V est un vecteur dont les composantes sont les dérivées pre- mières desdits potentiels. De manière classique, on associe au graphe représentant le circuit électronique à simuLer une suite ordonnée des noeuds de ce graphe. Ces noeuds sont classés dans l'ordre dans lequel ils reçoivent un signal se propageant dans le graphe et émis à par- tir d'un noeud particulier. Cette méthode, dite d'or- donnancement des noeuds, permet de simplifier les calculs de résolution de l'équation différentielle décrivant le graphe, sans limiter la précision de ces calculs. On suppose que l'indice j classe les noeuds dans cet ordre. Avec cet ordre et en remplaçant la dérivée continue V par un accroissement discret, l'équation d'intégration inverse d'Euler peut être remplacée par les j équations: vi j i (lv i ji J+lvi p i-1p vn vn-1 + nt'JFv...,nv n n,..., Vn ième o F note la jime composante de F, 1 X est la durée entre les instants Tnl etTn. Le traitement effectué par le système de simulation de L'invention consiste, pour un instant T fixé, o 1l (i=1) du potentiel en chaque noeud j(1 j p) du gra- phe représentant le circuit électronique simulé. Cet- te première valeur est calculée pour chacun des noeuds j à l'aide de l'expression précédente. On note que lors du calcul de la première valeur d'un potentiel (i=1), le calcul de la valeur du potentiel du noeud de rang j fait intervenir les valeurs des potentiels des noeuds inférieurs à j cal- culées au cours de la même itération et les valeurs des potentiels des noeuds d'indice supérieur à j ob- - tenues au cours de l'itération précédente. Or, lors de la première itération, pour le noeud j, les potentiels des noeuds d'indice supérieur à j ne sont pas calculés. On utilise alors pour ces noeuds, une valeur de potentiel calculée d'une manié- re différente qui sera précisée dans la suite de La description. Les potentiels de ces noeuds sont repé- rés par un indice d'itération égal à O. Lorsqu'une première valeur de potentiel est obtenue pour chacun des noeuds du graphe par une première itération, une ou plusieurs autres itéra- tions peuvent être réalisées. Ces itérations sont poursuivies jusqu'à ce que chacune des p suites (vn)i,1 converge. La convergence est déclarée at- teinte lorsque la différence entre les deux derniers termes de chacune des p suites est inférieure à un seuil déterminé È. Dans l'organigramme de la figure 2, la con- vergence est mise en oeuvre par l'opération 46 dans laquelle on calcule le terme d'erreur je' égal à la différence entre les valeurs de potentiel du noeud j, à l'instant Tn, données par les deux dernières itéra- tions; elle est aussi mise en oeuvre dans les opéra- tions 50 et 52 qui déterminent l'erreur maximale dn À. n dans la suite (je)1 j qui compare cette erreur dn au seuil déterminé. Si la proposition 58 est vraie, les p va- leurs obtenues au cours de la dernière itération constituent les valeurs des potentiels des p noeuds du graphe à l'instant Tn. Si la proposition 58 est fausse, une nouvelle itération est commandée par l'opération 60. Il faut noter que pour chaque instant Tn, le nombre de valeurs de potentiel mémorisé à chaque itération i est égal à p. Pour vérifier la convergen- ce des p valeurs de potentiel à un instant donné, il suffit de conserver en mémoire les valeurs de poten- tiel des deux dernières itérations, soit 2xp valeurs. Comme on le verra dans la suite de la des- cription, les valeurs de potentiel obtenues à un ins- tant Tn sont utilisées pour initialiser le calcul des potentiels à l'instant suivant Tn+1. Cette étape d'initialisation effectuée, les p valeurs de poten- tiel calculées à l'instant T ne sont plus utilisées n par le système de simulation. Ces valeurs peuvent donc être avantageusement stockées dans une mémoire secondaire du système de simulation et être effacées de la mémoire centrale (opération 60). Il apparait donc qu'à chaque instant le nombre de valeurs de potentiel mémorisées dans la mé- moire centrale du système de simulation n'excède pas 2xp termes. Ceci est à comparer aux 2xpxN termes qui devaient être mémorisés dans le système de simulation fondé sur la méthode MRO connue. Cette nécessité d'une mémoire de taille importante dans le système selon l'art antérieur a pour conséquence de limiter ses performances à des circuits électroniques dont le graphe est limité à une cinquantaine de transistors. Cette contrainte n'existe plus avec le système de simulation de l'in- vention dont les performances, du point de vue de la mémoire centrale requise, permettent le traitement de circuits électroniques représentés par un graphe com- portant de l'ordre de un millier de transistors. Le système de simulation de l'invention peut également, selon une variante préférée de réali- sation, accroître ses performances par la diminution du temps de calcul nécessaire pour déterminer la va- leur des potentiels des noeuds du graphe. Cette va- riante préférée de réalisation correspond à l'opéra- tion 62 de l'organigramme de la figure 2. Cette opé- ration consiste à estimer, ou prédire, une valeur du potentiel de chacun des p noeuds du graphe à l'ins- tant Tn+1 en fonction des valeurs calculées à l'ins- tant précédent Tn. Les valeurs estimées, ou prédic- teurs, produites par cette opération sont notées nVo n+l' Cette opération 62 est intéressante car les prédicteurs s'obtiennent par résoLution d'une simple équation aLgébrique, ce qui est pratiquement gratuit en temps de calcul. Pour chaque noeud j, ce prédic- teur peut être calculé par L'expression: v =ivin + At.jiF(lv...,jv i lv iî...,Pv) n+l-n n n n n L'opération 62 est importante car, en ini- tialisant les valeurs de potentiel pour L'instant Tn+l, elle permet de supprimer une itération. Le nom- bre d'itérations nécessaires pour calculer la valeur des potentiels des noeuds à un instant donné est ainsi ramené, en moyenne, à 2 au lieu de 3 dans les systèmes de simulation connus. La diminution en temps de calcul n'est donc pas négligeable. On peut résumer les caractéristiques du traitement connu correspondant à l'organigramme de la figure 1 et du traitement selon l'invention corres- pondant à l'organigramme de la figure 2 à l'aide d'un graphique représentant les calculs effectués. Sur la figure 3a, on a représenté le cas correspondant au traitement connu de la figure 1. Ce graphique comporte un ensemble de rectangles parallè- les repérés par un système orthonormé de coordonnées dont les axes représentent respectivement l'indice d'itération i, l'indice de noeud j et l'indice tempo- rel n. Les rectangles sont parallèles au plan (j, n). La longueur du côté de chaque rectangle est égale à p suivant l'axe j et à N suivant l'axe n. Le rectan- gle L1 représente les pxN valeurs de potentiel calcu- lées lors de la première itération (i=1). De même, les rectangles L et L3 correspondent respectivement aux itérations d'ordre 2 et d'ordre 3. Suivant la représentation adoptée, les calculs se font rectangle par rectangle. Ainsi, si pour une seule valeur de potentiel, il est nécessaire de procéder à une quatrième itération, cette itéra- tion devra en fait être réalisée pour pxN valeurs. Rappelons par ailleurs que toutes les valeurs de po- tentiel calculées doivent être contenues simultané- ment dans la mémoire centrale du système de simula- tion. La figure 3b illustre les caractéristiques du traitement opéré suivant l'invention. Les valeurs de potentiel calculées sont ici également représen- tées par des rectangles M1, M2,...,MN. Ces rectangles sont parallèles au plan (i,p). La longueur de leurs côtés suivant l'axe i n'est pas fixe et est en géné- ral égale à 2 ou 3; la longueur de leurs côtés sui- vant l'axe j est égale à p. La taille de chacun des rectangles correspond au volume des calculs effectués à chaque instant Tn, I n 4 N. La comparaison des figures 3a et 3b montre que le traitement effectué suivant l'invention est plus souple, car le nombre d'itérations n'est pas fixe mais varie au contraire pour chaque valeur de l'indice temporel n. D'autre part, le nombre de va- leurs mémorisées à chaque instant dans la mémoire centrale du système de simulation de l'invention est égal au plus à 2p. Enfin, à la différence du traite- ment correspondant à la figure 3a, dans lequel les valeurs de potentiel pour chaque instant n compris entre 1 et N ne sont disponibles qu'à la fin des calculs, le traitement suivant l'invention permet de délivrer régulièrement, pendant les calculs, les va- leurs des potentiels de chaque noeud au cours des instants successifs. On va maintenant décrire en référence à la figure 4 un mode de réalisation du système de simula- tion de l'invention. Ce système comprend un moyen de calcul 69 relié par un bus bidirectionnel 70, à un moyen de commande et de visualisation 72, un moyen de mémorisation 74 et un moyen d'impression 76. De ma- nière classique, le bus 70 comprend des voies de don- nées, des voies d'adresse et des voies de commande. Le moyen de calcul 69 comprend un proces- seur 78, une mémoire morte 80, une mémoire vive 82 et uncircuit d'entrée-sortie 84. Ces différents élé- ments sont reliés entre eux par un bus de données 86 et un bus d'adresse 88. Le circuit d'entrée-sortie 84 est par ailleurs relié au bus 70. La mémoire vive 82 comprend une première zone contenant des données pour représenter Le cir- cuit électronique simulé, ces données étant entrées au moyen d'un programme contenu dans la mémoire morte 80. La mémoire vive 82 comprend en outre une zone de caLcul utilisée par le processeur 78 pour L'exécution du traitement correspondant à l'organigramme de la figure 2. Le traitement correspondant à cet organi- gramme est représenté sous forme d'une suite d'ins- tructions contenues dans la mémoire morte 80 exécuta- ble par ledit processeur 78. Outre les avantages, déjà soulignés, du système de simulation quant à la faible mémoire né- cessaire, à la complexité des circuits électroniques simulables et la vitesse de calcul, le système de l'invention présente également la caractéristique remarquable d'être apte à simuler tous les types de circuits électroniques, ce qui n'est pas le cas des systèmes de simulation connus. On va décrire successivement, en référence aux figures 5 à 7, un circuit numérique, un conver- tisseur analogique-numérique et un circuit à capaci- tés commutées simulés par le système de l'invention. On a représenté sur La figure 5a un circuit numérique simulé par le système de simulation de l'invention. IL s'agit d'un additionneur à boucle comprenant trois additionneurs élémentaires référen- cés 90, 92, 94 et quatre bascules de type D référen- cées 96, 98, 100, 102. Chaque additionneur comprend une entrée A, une entrée B, une entrée de retenue CI, une sortie S et une sortie de retenue CO. A chaque additionneur est associée une bascule dont l'entrée de données B est reliée à la sortie S et la sortie non inverseuse Q à l'entrée B. Le circuit comprend également les Liaisons suivantes: sortie CO de l'additionneur 90 reliée à l'entrée CI de l'additionneur 92, sortie CO de l'additionneur 92 reliée à l'entrée CI de L'addi- tionneur 94, sortie CO de l'additionneur 94 reliée à l'entrée de données D de La bascule 102. De plus, l'entrée CI de l'additionneur 90 reçoit un signal lo- gique au niveau bas. En outre, on a rebouclté le cir- cuit en reliant La sortie non inverseuse Q de La bas- cule 102 à l'entrée A de l'additionneur 90. Le circuit représenté sur la figure 5a com- prend deux entrées A2 et A3 reliées respectivement aux entrées A des additionneurs 92 et 94, et quatre sorties S1, S2, S3 et 54 reliées respectivement aux sorties inverseuses Q des bascules 96, 98, 100 et à la sortie non inverseuse Q de la bascule 102. On a représenté sur la figure 5b un-mode de réalisation de chacun des additionneurs 90, 92 et 94. Il comprend quatre transistors MOS 104, 106, 108, , quatre inverseurs 112, 114, 116 et 118 et trois portes NON-OU 120, 122 et 124. L'entrée A de L'additionneur est reliée à l'entrée de l'inverseur 112, à une entrée de la porte 120, à l'entrée de l'inverseur 118 par le transistor 104 et à une entrée de La porte 122 par ce même tran- sistor 104. L'entrée B de L'additionneur est reliée à L'autre entrée de la porte 120, à L'entrée de l'in- verseur 114 et à la base du transistor 104. La sortie de l'inverseur 112 est reliée par Le transistor 106, commandé par la sortie de L'inverseur 114, et par le transistor 110 à La sortie S de L'additionneur. L'en- trée de retenue CI de l'additionneur est reliée à L'entrée de l'inverseur 116, à La base du transistor 110 et à l'autre entrée de la porte 122. La sortie de L'inverseur 116 commande la base du transistor 108 qui reLie la sortie de l'inverseur 118 à la sortie S de l'additionneur. Enfin, les entrées de La porte 124 sont reliées aux sorties des portes 120 et 122, et sa sortie est reliée à la sortie de retenue CO. Le circuit additionneur à boucle représen- té sur la figure 5a, et dont les additionneurs 90, 92 et 94 sont illustrés par la figure 5b, est un circuit numérique comportant environ 150 transistors MOS. Ce circuit peut difficiLement être simulé sur un système de simulation reposant sur la méthode de relaxation d'onde à cause de l'importante mémoire de données re- quise. Cette contrainte disparaît avec le système de simulation de l'invention. La figure 5c représente les signaux de sor- tie S1, S2, S3 et S4 du circuit de la figure 5a en fonction du signal d'horloge CLK appliqué sur les bascules. Le chronogramme da la figure 5c correspond à une fréquence d'horloge de 50 MHz, il représente le cas o les entrées A2 et A3 de l'additionneur à bou- cle sont maintenues au niveau logique haut. On note la précision de la simulation de la valeur des si- gnaux calcuLée par le système de simulation qui par- vient à reproduire les imperfections dans le front de montée des signaux dès lors que la fréquence du si- gnal d'horloge est élevée. A titre d'illustration des performances du système de simulation de L'invention, le circuit ad- ditionneur de la figure 5a a été simulé par un systè- me de simulation utilisant la méthode de Newton évo- quée plus haut. Le rapport des temps de traitement pour une simulation identique effectuée sur un même ordinateur (VAX/VMS 780 de Digital Equipment) est de en faveur du système de simulation de l'invention. On a représenté sur la figure 6 un conver- tisseur analogique-numérique à 8 bits. IL s'agit là d'un circuit qui est en général délicat à simuler car, comme tout circuit analogique, il comporte des couplages forts entre certains noeuds. De plus, le circuit représenté sur la figure est particulièrement complexe car il comporte 256 cellules contenant cha- cune 6 transistors, soit une complexité de l'ordre de 1600 transistors MOS. La structure d'un tel conver- tisseur est classique et est décrite notamment dans l'article "THPM 14.6: A 60 ns Glitch-Free NMOS DAC" de V. SHEN et D. HODGES présenté en 1983 à la Confé- rence IEEE International Solid-State Circuits. Ce convertisseur comprend 256 cellules identiques, référencées 126 organisées en une matrice de 16 lignes et de 16 colonnes. Des interrupteurs, constitués de transistors MOS, sont prévus pour re- lier chaque cellule soit à une tension Von, soit à une tension Voff. Dans le premier cas, la cellule débite, dans le second elle ne débite pas. Le courant de sortie du convertisseur est constitué par la su- perposition des courants délivrés par les cellules débitrices. Les 8 bits du signal numérique reçu sont divisés en un premier groupe de 4 bits utilisés pour L'adressage d'une ligne de la matrice et en un deuxième groupe de 4 bits utiLisés pour L'adressage d'une coLonne de La matrice. La combinaison de ces deux signaux d'adressage permet de désigner L'une des cellules de la matrice. Des moyens de commande 128 et 130 recevant chacun L'un des groupes de 4 bits ac- tionnent aLors des interrupteurs pour rendre débitri- ces toutes Les ceLluLes dont l'indice de ligne est identique à L'indice de ligne de la celluLe désignée mais dont la colonne est supérieure, et toutes les ceLlules dont l'indice *de ligne est supérieur à- L'in- dice de ligne de la ceLlule désignée. Le système de simulation de l'invention a permis de simuler ce convertisseur analogique-numé- rique en rendant possible l'analyse du temps d'éta- blissement du courant de sortie, lorsque Le signal d'entrée passe de l'amplitude maximaLe à un signal nul, avec une précision de 0,1% en prenant en compte les effets parasites djus aux contraintes d'incrémen- tation. On a représenté sur la figure 7a un troi- sième type de circuit électronique simulé par Le sys- tème de simulation de l'invention. Il s'agit d'un filtre passe-bas de Butterworth du 4ème ordre. La principale difficulté de simulation d'un tel circuit provient de la présence de capacités commutées. Le filtre représenté sur la figure 7a a une structure classique. Il comporte quatre amplifica- teurs différentiels 132, 134, 136 et 138 munis chacun d'une chaîne de contre-réaction constituée de conden- sateurs portant respectivement les références 140, 142, 144 et 146. Le filtre comporte également des capacités commutées disposées comme suit: une capacité commu- tée 148 entre l'entrée E du filtre et l'entrée inver- seuse de l'amplificateur 132, une capacité commutée entre La sortie de l'amplificateur 132 et L'en- trée inverseuse de L'ampLificateur 134, une capacité commutée 152 entre la sortie de l'amplificateur 134 et L'entrée inverseuse de l'amplificateur 136, une capacité commutée 154 entre la sortie de l'amplifica- teur 136 et L'entrée de L'amplificateur inverseur 138, et une capacité commutée 156 en parallèLe avec le condensateur 140. Le filtre comporte enfin des Liaisons pour relier La sortie d'un amplificateur à la capacité commutée associée à l'amplificateur pré- cédent, tel que l'amplificateur 134 et la capacité commutée 148. La simulation d'un tel circuit requiert le calcul de la valeur de potentiel des noeuds du graphe associés à ce circuit pendant un nombre d'instants successifs très important. Les calculs effectués par le système de simulation sont donc volumineux. Pour diminuer le vo.lume du traitement, sans nuire à la précision du calcul des potentiels des noeuds, - on utilise des macromodèLes pour les amplificateurs opé- rationnels et pour les commutateurs MOS. Grâce à la méthode de calcul par bloc pour les noeuds couplés linéairement, et à l'utilisation de l'équation de conservation de la charge dans les condensateurs flottants, la réponse impulsionnelle de ce filtre a été calculée de manière très précise. Cette réponse impulsionnelle a été obtenue en 12 mn de temps pro- cesseur sur un ordinateur VAX/VMS 780 de Digital Equipment. La fonction de transfert du filtre passe- bas du 4ème ordre a également été calculée en utili- sant un programme de transformée de Fourier rapide. Celle-ci permet d'étudier les phénomènes fortement non linéaires des amplificateurs opérationnels tels que la limitation du temps de réponse et le gain fi- ni. On terminera cette description en compa- rant les performances du système de simulation de l'invention avec deux systèmes de simulation connus, l'un mettant en oeuvre la méthode de résolution de Newton, et l'autre mettant en oeuvre la méthode de relaxation d'onde. Cette comparaison est illustrée par le graphique de la figure 8 sur lequel est repré- sentée, pour chacun de ces systèmes de simulation, une courbe indiquant le logarithme du temps de calcul t (temps de calcul CPU) en fonction du logarithme du nombre de transistors Tr du circuit électronique si- * mulé, ce nombre de transistors étant un indice repré- sentatif de la complexité d'un circuit électronique simulé. Les temps de calcul indiqués correspondent à une simulation effectuée sur un ordinateur de type VAX/VMS 780 de Digital Equipment. Bien entendu, ce temps de calcul varie en fonction du matériel infor- matique utilisé. Il ne faut donc retenir dans ce gra- phique que le rapport des temps de calcul entre les simulations effectuées par deux systèmes différents. Les courbes C1, C2 et C3 correspondent res- pectivement à une simulation effectuée selon la mé- thode de Newton, selon la méthode de relaxation d'onde et selon la méthode de l'invention. Les cour- bes C2 et C3 ont une pente sensiblement égale, le temps de calcul croissant ici linéairement avec la complexité du circuit électronique simulé. En revan- che, pour la méthode de résolution de Newton qui con- siste à inverser le jacobien du système d'équations différentielles représentant le circuit électronique simulé, le volume des calculs augmente comme le carré de la complexité du circuit simulé. La pente de la courbe C1 est ainsi double des pentes des courbes C2 et C3, ce qui conduit à des temps de calcul prohibi- tifs pour des circuits électroniques simulés compor- tant plus de 300 transistors environ. - La méthode de relaxation d'onde représen- tée par la courbe C2 a des performances, du point de vue temps de calcul, comparable à la méthode de l'in- vention représentée par la courbe C3 pour les cir- cuits électroniques dont la complexité est inférieure à 300 transistors environ. Cette complexité de cir- cuits électroniques simulés constitue cependant une limite pour la méthode de relaxation d'onde, sur l'ordinateur VAX/VMS 780 de digital Equipment. En effet, pour réaliser cette simulation, le système de simulation mettant en oeuvre la méthode de relaxation d'onde utilise une mémoire vive de 25 Mo, ce qui sa- ture la mémoire centrale de cet ordinateur. A titre de comparaison, le système de simulation de l'inven- tion ne requiert qu'une mémoire vive de 1 Mo pour simuler un circuit de 300 transistors. En conclusion, les avantages du système de simulation de l'invention peuvent être résumés par les points suivants: - rapidité de calcul au moins comparable aux systèmes de simulation les plus rapides connus, pour un cir- cuit électronique simulé de taille donnée, - possibilité de simuler des circuits électroniques complexes beaucoup plus rapidement que les systèmes de simulation connus, - polyvalence du système de simulation de l'invention qui peut simuler aussi bien des circuits numériques que des circuits analogiques ou des circuits à ca- pacité commutée. REVENDICATIONS 1. Système de simulation d'un circuit élec- tronique comprenant une mémoire, un processeur, un circuit d'interface et des bus de données, d'adresse et de commande reliant Lesdits éléments, Ladite mé- moire comprenant une première zone contenant des don- nées pour représenter le circuit électronique simulé, une deuxième zone contenant des instructions et une troisième zone de calcuL, ledit circuit électronique simulé étant représenté par un réseau comprenant des noeuds et des branches, chaque branche comprenant au moins un composant électrique, l'état dudit circuit électronique étant déterminé par le potentiel élec- trique en chaque noeud, ledit processeur exécutant les instructions contenues dans Ladite deuxième zone de mémoire, ledit système étant caractérisé en ce que ledit processeur est apte à calculer Le potentiel de tous les noeuds à un instant fixé Tn, 1I ne N en ré- solvant pour chaque noeud une équation implicite re- lative au potentiel de ce noeud, ce calcul étant ré- pété successivement pour tous les instants T1, T2,--.,TN- -2. Système de simulation selon la revendi- cation 1, caractérisé en ce que, pour chaque instant fixé Tn, 1$ n (N, le processeur calcule le potentiel de chaque noeud par une méthode itérative. 3. Système de simulation selon La revendi- cation 2, caractérisé en ce que, pour chaque instant fixé Tn, 1 n UN, le processeur -calcule, à chaque itération une valeur du potentiel de tous les noeuds, compare pour chaque noeud la valeur obtenue à cette itération et la valeur obtenue à l'itération précé- dente, et décide d'une nouvelle itération en fonction desdites comparaisons. 4. Système selon l'une quelconque des re- vendications 1 à 3, caractérisé en ce que pour résou- dre l'équation implicite relative au potentiel d'un noeud, le processeur utiLise La méthode du point fixe suivi d'une sécante. 5. Système de simulation selon L'une queL- conque des revendications 1 à 4, caractérisé en ce que, pour chaque instant fixé Tn, 14 n N, Le proces- seur déduit une valeur estimée, ou prédicteur, de La valeur du potentiel de chaque noeud à l'instant sui- vant Tn+1 à partir du potential calculé à l'instant Tnt ledit prédicteur étant utilisé pour initialiser le calcuL itératif du potentiel dudit noeud à L'ins- tant suivant Tn+1l 6. Système de simulation selon l'une quel- conque des revendications 1 à 5, caractérisé en ce que les noeuds du circuit électronique simuLé sont ordonnés suivant les dates auxquelles ils reçoivent un signal se propageant dans ledit circuit et émis par un noeud prédéterminé, le processeur calculant le potentiel des noeuds suivant cet ordre.