Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR ESTIMATING A NOISE GENERATED IN AN ELECTRONIC SYSTEM AND RELATED METHOD FOR TESTING NOISE IMMUNITY
Document Type and Number:
WIPO Patent Application WO/2007/090980
Kind Code:
A3
Abstract:
The invention concerns a method for testing immunity to noise derived from interferences between components in a mixed analogic and digital electronic system. Said method consists in: determining by simulating the highest-level noise observed in the system, or the worst noise generated by interferences. If a test for noise sensitivity is successful with this injected worst noise, then the system is accepted. In the case where the worst noise test fails, the method consists in calculating by simulating the lowest-level noise observed in said system, or the injected best noise. And if a test for noise sensitivity fails with this injected best signal, then the system is rejected. The invention also concerns extraction of macromodel current sources of the cells for injecting said worst and said best noises. Said extraction is performed based on a detailed model of each cell, by comparing the frequency spectra obtained for different switching patterns applied in input of the circuit cells.

Inventors:
FABIN BENOIT EMMANUEL (FR)
CLEMENT FRANCOIS JEAN RAYMOND (FR)
DHIA AMINE (FR)
Application Number:
PCT/FR2007/050740
Publication Date:
March 27, 2008
Filing Date:
February 02, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COUPLING WAVE SOLUTIONS CWS (FR)
FABIN BENOIT EMMANUEL (FR)
CLEMENT FRANCOIS JEAN RAYMOND (FR)
DHIA AMINE (FR)
International Classes:
G06F17/50
Foreign References:
US20020022951A12002-02-21
US20030115557A12003-06-19
Other References:
SINGH R ET AL: "Method for modelling substrate coupling in large chip designs", ELECTRONICS LETTERS, IEE STEVENAGE, GB, vol. 33, no. 11, 22 May 1997 (1997-05-22), pages 952 - 954, XP006007502, ISSN: 0013-5194
LAUREN HUI CHEN ET AL: "AGGRESSOR ALIGNMENT FOR WORST-CASE COUPLING NOISE", PROCEEDINGS INTERNATIONAL SYMPOSIUM ON PHYSICAL DESIGN, 2000. ISPD-2000. SAN DIEGO, CA, APRIL 9 - 12, 2000, PROCEEDINGS OF THE INTERNATIONAL SYMPOSIUM ON PHYSICAL DESIGN, NEW YORK, NY : ACM, US, 9 April 2000 (2000-04-09), pages 48 - 54, XP000922013, ISBN: 1-58113-191-7
KENNETH L SHEPARD ET AL: "Harmony: Static Noise Analysis of Deep Submicron Digital Integrated Circuits", IEEE TRANSACTIONS ON COMPUTER AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 18, no. 8, August 1999 (1999-08-01), pages 1132 - 1150, XP011007734, ISSN: 0278-0070
Attorney, Agent or Firm:
SCHMIT - CHRETIEN - SCHIHIN (Paris, Paris, FR)
Download PDF:
Claims:

REVENDICATIONS

1 - Procédé d'estimation d'un bruit généré dans un système (1 ) mixte de type numérique, et analogique et/ou radio-fréquentiel, ce système comportant des cellules (2.1-2.4) élémentaires réalisant chacune une fonction, ce procédé comportant les étapes suivantes :

- modéliser chaque cellule (2.1 ) numérique et/ou analogique et/ou radio-fréquentielle par un macro-modèle (4) d'injection de bruit, ce macromodèle (4) comportant des sources de courant pour modéliser le bruit injecté dans le système par la cellule (2.1 ),

- extraire par simulation les sources de courant des macro-modèles,

- définir un modèle de distribution (27) des instants de commutation des cellules numériques (2.1), ce modèle de distribution (27) définissant les instants auxquels les cellules du système commutent, - réutiliser les sources de courant extraites dans les macro-modèles suivant le modèle de distribution (27) défini, et

- calculer le bruit observable à l'intérieur du système, caractérisé en ce que l'étape de réutilisation des sources au sein des macro-modèles comporte l'étape suivante : - injecter dans le système (1 ) un bruit marginal pouvant être injecté par les sources de courant, ce bruit marginal pouvant être le pire ou le meilleur bruit injectable par les sources de courant lors du fonctionnement du système,

- le pire bruit étant, dans son expression dans le domaine fréquentiel, le bruit de niveau le plus haut pouvant être injecté par les sources de courant lors du fonctionnement du système (1 ),

- le meilleur bruit étant, dans son expression dans le domaine fréquentiel, le bruit de niveau le plus faible pouvant être injecté par les sources de courant lors du fonctionnement du système (1 ). 2 - Procédé selon la revendication 1 , caractérisé en ce que :

- le système est un circuit intégré, les cellules (2.1-2.4) étant réalisées sur un substrat (3) de ce circuit (1 ),

- les sources de courant du macro-modèle modélisant le courant de bruit se propageant dans le substrat (3), des interconnexions du circuit (1 ) et dans le boîtier du circuit (1 ).

3 - Procédé selon la revendication 2, caractérisé en ce que pour extraire les sources de courants de chaque macro-modèle (4), il comporte les étapes suivantes :

- modéliser la cellule (2.1 ) à l'aide d'une modélisation détaillée, cette modélisation modélisant les transistors qui composent cette cellule (2.1 ), et pouvant provenir d'une bibliothèque de cellules élémentaires,

- définir un environnement de test de cette cellule (2.1 ), cet environnement étant défini par des paramètres ayant une influence sur le bruit généré par la cellule (2.1 ), - appliquer des motifs de commutation différents sur des bornes d'entrée (E1-EN) de la cellule à l'aide de sources de tension (U1-UN) connectées à ces entrées (E 1-EN), de manière à obtenir des formes d'ondes (15-17) de source de bruit pour chaque motif de commutation,

- classer ces formes d'onde (15-17) en fonction d'un niveau de bruit qui leur est associé, et

- stocker les sources de bruit associées à ces formes d'onde (15-17) et le macro-modèle (4) de la cellule dans une mémoire.

4 - Procédé selon la revendication 3, caractérisé en ce que :

- la cellule est modélisée par un modèle SPICE de type MM9, BSIM3 ou BSIM4.

5 - Procédé selon l'une des revendications 3 à 4, caractérisé en ce que pour définir l'environnement de test, il comporte les étapes suivantes :

- fixer un temps de montée (RT) et de descente (FT) des signaux des sources en entrée de la cellule (2.1 ), et - fixer une valeur d'une charge capacitive (C1-CM) connectée aux différentes sorties (S1-SM) de la cellule (2.1).

6 - Procédé selon la revendication 5, caractérisé en ce que pour définir l'environnement de test, il comporte en outre l'étape suivante :

- modéliser le réseau d'alimentation de la cellule (2.1) en tenant compte des parasites et couplages de lignes d'alimentation de ce réseau connectées à des bornes de la cellule.

7 - Procédé selon l'une des revendications 3 à 6, caractérisé en ce qu'il comporte l'étape suivante :

- tirer au sort un échantillon de motifs de commutation à appliquer sur les bornes d'entrées (E1-EN) de la cellule parmi tous les motifs de

commutation possibles, tous ces motifs de commutation possibles étant considérés comme équiprobables.

8 - Procédé selon l'une des revendications 3 à 7, caractérisé en ce que pour classer les formes d'ondes (15-17), il comporte les étapes suivantes :

- calculer par transformée de Fourier les spectres fréquentiels des formes d'ondes (15-17) obtenues,

- calculer des densités spectrales des spectres fréquentiels (19-21 ), et

- classer les formes d'onde en fonction de la valeur de leur densité spectrale.

9 - Procédé selon la revendication 8, caractérisé en ce que :

- les densités spectrales des spectres fréquentiels (19-21 ) sont calculées sur tout le spectre, ou sur une plage de fréquence (Df), ou pour une raie spectrale particulière. 10 - Procédé selon l'une des revendications 8 à 9, caractérisé en ce qu'il comporte les étapes suivantes :

- retenir la forme d'onde (15-17) qui comporte la densité spectrale la plus élevée comme une source de pire bruit du macro-modèle (4), et

- retenir la forme d'onde (15-17) qui comporte la densité spectrale la plus faible comme une source de meilleur bruit du macro-modèle (4).

11 - Procédé selon l'une des revendications 3 à 10, caractérisé en ce qu'il comporte les étapes suivantes :

- calculer pour chaque forme d'onde un premier polynôme qui approche la partie réelle du spectre fréquentiel de la forme d'onde et un deuxième polynôme qui approche la partie imaginaire du spectre fréquentiel de la forme d'onde par une méthode d'approximation des moindres carrés, et

- stocker pour chaque forme d'onde les coefficients des polynômes obtenus à l'intérieur d'une mémoire, de manière que la taille des formes d'ondes soit réduite par rapport à un stockage des points du spectre entier. 12 - Procédé selon la revendication 11 , caractérisé en ce que pour calculer le bruit observable à l'intérieur du circuit, il comporte l'étape suivante :

- effectuer une somme des spectres fréquentiels des formes d'ondes des différentes cellules en utilisant les polynômes associés à chacun, le

temps de calcul d'une telle somme étant plus court que celui nécessaire pour effectuer une somme des formes d'onde dans le domaine temporel,

- les polynômes des spectres fréquentiels étant réutilisables pour différentes périodes des formes d'ondes, des raies des spectres multiples de 1/T pouvant être sélectionnées, T étant une période d'horloge du circuit.

13 - Procédé de test d'immunité au bruit d'un système (1 ) mixte de type numérique et analogique et/ou radio-fréquentiel, ce système (1) comportant des cellules (2.1-2.4) reliées entre elles via des nœuds du circuit, chaque nœud correspondant à une connexion entre deux cellules ou entre une cellule et un réseau d'alimentation du système, ce procédé comportant les étapes suivantes :

- modéliser les cellules numériques (2.1 ) par des macro-modèles (4), ces macro-modèles comportant des éléments de connexion passifs de type RLC, et des sources de bruit qui modélisent une injection de bruit par les cellules dans le système,

- connecter ces macro-modèles avec le reste du système à l'aide des éléments de connexion de ces macro-modèles,

- utiliser des sources de bruit extraites dans les macro-modèles de manière à injecter du bruit dans le système, - calculer les niveaux de bruit dans chaque nœud du système (1 ), et

- réaliser un test de sensibilité de ce système au bruit injecté, le test étant réussi si le bruit calculé est inférieur aux seuils de sensibilité du système et échouant si le bruit calculé est supérieur aux mêmes seuils de sensibilité, caractérisé en ce que l'étape de réutilisation des sources au sein des macro-modèles comporte l'étape suivante :

- injecter dans le système le pire bruit pouvant être injecté par les cellules, ce pire bruit étant le bruit le plus important pouvant être injecté dans le système par ces cellules lors d'un fonctionnement du système (1 ), et - si le test de sensibilité réussit avec le pire bruit injecté, accepter le circuit.

14 - Procédé selon la revendication 13, caractérisé en ce que si le test avec le pire bruit injecté échoue, il comporte l'étape suivante :

- injecter dans le système le meilleur bruit pouvant être injecté par les cellules, ce meilleur bruit étant le bruit le plus faible pouvant être injecté dans le système par les cellules lors d'un fonctionnement du système, et

- si le test de sensibilité échoue, écarter le système. 15 - Procédé selon l'une des revendications 13 à 14, caractérisé en ce que si le test de sensibilité au bruit échoue avec le pire bruit mais réussit avec le meilleur bruit, il comporte l'étape suivante :

- injecter dans le système un bruit moyen pouvant être injecté par les cellules lors d'un fonctionnement de ce système, et - si le test de sensibilité réussit, modifier une architecture du circuit et recommencer les étapes suivant les revendications 13 et 14.

16 - Dispositif apte à mettre en œuvre les étapes du procédé selon l'une des revendications 1 à 12 et/ou les étapes du procédé selon l'une des revendications 13 à 15.

Description:

Procédé d'estimation d'un bruit généré dans un système électronique et procédé de test d'immunité au bruit associé

La présente invention concerne un procédé d'estimation du bruit généré dans un système électronique et un procédé de test d'immunité associé. L'invention a notamment pour but de déterminer le bon ou le mauvais fonctionnement du système à partir d'une analyse d'un bruit dans ce système. L'invention possède une application particulièrement avantageuse dans le domaine des systèmes électroniques mixtes comportant des composants analogiques et numériques. A titre d'exemple non restrictif, les systèmes électroniques englobent les circuits intégrés sur un bloc de silicium unique, ou sur plusieurs substrats silicium dans un même boîtier, aussi bien que l'assemblage de composants (intégrés ou non) sur un circuit imprimé.

La fabrication de ces systèmes électroniques est une opération très onéreuse, particulièrement lorsque le système comporte un ou plusieurs composants intégrés sur silicium. Ainsi, avant de démarrer une fabrication en grande série, il est indispensable de contrôler tous les paramètres de fabrication, et de conférer à certains des valeurs qui permettent de maximiser la probabilité que le circuit fabriqué fonctionne correctement.

A cet effet, il existe un ensemble de produits logiciels, appelés «outils d'automatisation de conception électronique», qui permettent d'aider à la conception de systèmes électroniques depuis la description des spécifications du système à réaliser jusqu'à la réalisation des masques photographiques utilisés lors de la fabrication du système.

Un des éléments importants dans la conception d'un système électronique est de quantifier le bruit produit par les circuits, notamment dans un système mixte. A cet effet, on identifie des circuits générateurs de bruit (les agresseurs) et des circuits sensibles au bruit (les victimes).

Plus précisément, tous les circuits du système peuvent être considérés comme générateurs de bruit (agresseurs). Toutefois, il est préférable de choisir les circuits générateurs de bruit dans le groupe comportant : les circuits numériques, les cellules mémoires, des circuits analogiques et radio-fréquenciels (RF), tels que les VCO (Voltage Contrai

Oscillator en anglais), les amplificateurs de puissance, et les circuits d'entrée-sortie. En particulier, les circuits numériques ont tendance à générer du bruit au moment des commutations de leurs signaux d'entrée. Bien entendu, un circuit comportant au moins un circuit générateur de bruit est lui- même considéré comme un circuit générateur de bruit.

Les circuits sensibles au bruit (victimes) sont choisis dans le groupe comportant : les circuits analogiques et RF, tels que les amplificateurs, les filtres, les oscillateurs, les mélangeurs, les échantilloneurs-bloqueurs, des circuits numériques de type mémoire, les boucles de phase, les circuits d'entrée-sortie et les références de tension. Bien entendu, un circuit comportant au moins un circuit sensible au bruit est lui-même considéré comme sensible au bruit.

Le bruit généré par les agresseurs se répand vers les victimes en passant par les substrats sur lesquels sont montés les circuits, les interconnections métalliques et les boîtiers. Ce bruit a tendance à dégrader les performances des victimes. Ainsi, on entend par bruit tout signal généré par un bloc agresseur qui a une influence non désirée sur les victimes.

Des logiciels tels que SPICE permettent d'analyser l'effet des blocs agresseurs sur les victimes. A cette fin, on ajoute des modèles d'impédances aux modèles SPICE du système mixte original pour modéliser le substrat. On peut ainsi analyser l'influence sur les victimes du bruit injecté par les agresseurs à travers le substrat. Toutefois, pour les grands systèmes électroniques qui comportent plusieurs millions de transistors ou de portes logiques, typiquement lorsque le système comporte des circuits intégrés, les modélisations SPICE demandent trop de ressources système. Pour ces grands systèmes, on met donc plutôt en œuvre des procédés qui utilisent des modèles approchés du substrat et modélisent l'injection de bruit dans ce substrat par des sources de courant.

On connaît ainsi le procédé décrit dans le brevet US-6941258 et dans lequel on considère un circuit intégré composé d'un ensemble de cellules.

Une cellule est un système élémentaire du circuit de type analogique ou numérique. Une cellule remplit une fonction donnée, et peut prendre par exemple la forme d'une porte logique ou d'un ensemble de portes logiques.

A chaque cellule est associé un macro-modèle qui modélise le bruit injecté par la cellule dans le substrat, les éléments parasites de la cellule et

la connexion au reste du système. Ce macro-modèle comporte des sources de courant qui injectent un courant de bruit à l'intérieur du substrat, par exemple, un courant de bruit de commutation engendré par la cellule. Par ailleurs, le macro-modèle comporte des résistances, des capacités et éventuellement des inductances qui modélisent des liaisons entre les bornes de la cellule, les noeuds d'alimentation et la connexion au substrat.

Pour extraire les sources de courant du macro-modèle, on calcule le courant de bruit injecté par la cellule en utilisant un modèle de simulation de la cellule très détaillé. Le bruit associé à une cellule est alors calculé en faisant commuter ses entrées. Des motifs de commutation qui caractérisent le passage des entrées de la cellule d'un état à un autre sont ainsi définis pour une phase d'extraction donnée. Et lors d'une application de ces motifs de commutation sur les bornes d'entrée d'une cellule, on mesure et on extrait les courants générateurs de bruit de cette cellule. Pour calculer le bruit global du circuit, on combine les macro-modèles des cellules et les signaux de bruits qu'elles génèrent en introduisant un délai de commutation entre les changements d'état des cellules. Car les cellules n'injectent pas toutes du bruit en même temps dans le substrat. On combine ainsi les macro-modèles et les signaux de bruit suivant une modélisation des instants de commutation des cellules du circuit.

Dans la pratique, la méthode présentée dans le document US- 6941258 propose de calculer un macro-modèle global de l'ensemble du circuit qui est une combinaison des macro-modèles des cellules du circuit, tout en tenant compte des décalages dans l'injection de bruit par les cellules dans le reste du circuit intégré. Les sources de bruit de ce macro-modèle global sont ainsi des combinaisons des sources de bruit des macro-modèles de chaque cellule.

Un tel procédé de calcul de bruit permet de simuler le bruit observable dans un circuit intégré sur silicium unique et d'obtenir des résultats proches de la réalité. En effet, le résultat de cette simulation est proche de celui obtenu par une simulation tout transistor des circuits numériques. Toutefois, une telle méthode de simulation ne permet pas d'affirmer avec certitude le bon fonctionnement d'un circuit. En effet, cette méthode détermine le bruit injecté uniquement dans le substrat du circuit intégré et ne prend notamment

pas en compte le bruit associé aux interconnexions des cellules entre elles que ce soit sur silicium, dans les boîtiers ou sur circuit imprimé.

En outre, cette méthode est une simulation au plus proche qui permet d'avoir une idée précise du bruit moyen engendré par les circuits numériques. Toutefois, cette méthode ne tient pas compte des fonctionnements marginaux du système en termes d'activité de commutation, ni des aléas de production pouvant dégrader les performances du système.

La présente invention se propose donc de fournir des informations plus pertinentes sur le bruit injecté dans le système électronique de manière à pouvoir déterminer de manière certaine si le fonctionnement désiré du système est sensiblement affecté ou pas par le bruit injecté par ses cellules, notamment par ses cellules numériques.

A cette fin, dans l'invention, on calcule, dans un pire cas, le bruit le plus élevé pouvant être observé dans le système. Dans une mise en oeuvre, pour calculer ce bruit, toutes les cellules injectent dans le système le bruit le plus élevé qu'elles peuvent injecter.

Si un test de sensibilité au bruit est réussi dans le pire cas, c'est à dire que le bruit calculé dans le système est inférieur aux seuils de tolérance des circuits sensibles, alors on en déduit que le système, dans ses meilleures et pires conditions de fonctionnement en termes de bruit et avec ses aléas de production, sera insensible au bruit engendré par ses cellules numériques. Dans ce cas, aucun autre test supplémentaire n'est nécessaire.

En revanche, si le test échoue, c'est-à-dire que le bruit calculé dans le système est supérieur aux seuils de tolérance des circuits sensibles, alors on calcule par simulation dans le meilleur cas, le bruit le plus bas possible pouvant être observé dans le système. Dans une mise en œuvre, pour calculer ce bruit, toutes les cellules injectent dans le système le bruit le plus bas qu'elles peuvent injecter.

Si le test de sensibilité au bruit échoue dans ce meilleur cas, alors l'architecture du système est fortement remise en cause et souvent tout le système doit être modifié pour remplir des conditions d'immunité au bruit. A cet effet, il faudra modifier le positionnement des composants, la répartition des signaux d'entrées/sorties sur les bornes des circuits intégrés, et introduire, s'il y a lieu, des blindages autour des victimes du bruit. Un échec

du test de meilleur cas peut également imposer de recourir à un boîtier plus coûteux pour les composants intégrés.

Si le test de sensibilité échoue dans le pire cas mais réussit dans le meilleur cas, alors certains aspects du système doivent être modifiés. D'autres modélisations peuvent encore être mises en œuvre, comme une modélisation du cas moyen où le système est modélisé avec des sources de bruit qui injectent un bruit moyen dans le substrat. Toutes ces modélisations du système et les tests de sensibilité au bruit qui leur sont associés donnent des indications sur l'immunité au bruit du système à tester. II est à noter que les cas extrêmes d'injection de bruit sont élaborés en prenant compte de la réalité de leur occurrence. En effet, pour avoir un sens, le meilleur et le pire cas doivent pouvoir être rencontrés dans un mode de fonctionnement du système. Le pire cas (respectivement meilleur cas) ne doit donc pas être trop pessimiste (respectivement trop optimiste) de manière à donner une idée précise de l'immunité au bruit du système étudié.

Pour modéliser le système numérique et l'injection de bruit dans les différents cas précités, on définit pour chaque circuit du système un macromodèle du bruit injecté dans le système au travers du substrat, des interconnexions et du boîtier des cellules. Ce macro-modèle comporte un ensemble de sources qui représentent les différents modes d'injection de bruit (pire et meilleur cas), ainsi qu'un ensemble d'éléments passifs, notamment des capacités, des résistances et des inductances, qui traduisent les interactions parasites entre les différentes sources du modèle ainsi que les couplages avec le substrat, les interconnexions et les composants de boîtier. Dans la pratique, pour déterminer le meilleur et le pire cas, on ajuste la modélisation des sources de bruit, les éléments passifs des macromodèles des circuits demeurant identiques d'un cas à l'autre.

A cet effet, on extrait les sources de courant de ce macro-modèle. Pour cela, on modélisé d'abord chaque cellule de la manière la plus précise possible en utilisant des modèles de transistors les plus complets possibles, disponibles dans le Designkit des cellules numériques élémentaires (ou Corelib). On définit ensuite un environnement de test pour la cellule à tester, cet environnement étant défini par des sources de tension en entrée comportant un temps de montée/descente particulier entre deux

changements d'états, une charge capacitive connectée à chaque sortie de la cellule, ainsi qu'un modèle d'alimentation.

Les sources de tension d'entrée sont soumises à des motifs de commutation. Ces motifs de commutation définissent le passage des entrées de la cellule d'un niveau de tension à un autre. Ces motifs peuvent être exhaustifs, c'est-à-dire que toutes les variations d'entrées possibles seront appliquées en entrée de la cellule, ou pseudo exhaustifs, c'est-à-dire qu'une partie seulement des variations d'entrée possibles sera appliquée en entrée de la cellule. Par une simulation SPICE de la cellule dans son environnement de test, on obtient des formes d'ondes (une par motif de commutation) pour lesquelles un classement statistique est réalisé. Ces formes d'ondes peuvent être ainsi classées en fonction de leur densité spectrale. A cette fin, les formes d'ondes sont transposées dans le domaine fréquentiel et sont alors approchées par des fonctions polynomiales qui facilitent le stockage de ces formes d'onde et la réutilisation de ces formes d'ondes pour la reconstitution d'une somme de courants injectés dans le système par un bloc donné.

On considère que plus la densité spectrale d'une forme d'onde est grande, plus le bruit généré est important (pire cas). Et plus la densité spectrale d'une forme d'onde est petite, plus le bruit généré est faible (meilleur cas). Pour chaque cellule, on peut ainsi identifier et extraire des sources de bruit pour le pire cas, le meilleur cas et le cas moyen. Ces sources de bruit sont conservées dans une mémoire et sont réutilisables d'un système à un autre. On définit ensuite des blocs numériques comportant un ensemble de cellules numériques. Ainsi on entend par circuit dans un système électronique, des éléments qui peuvent se trouver à divers niveaux de hiérarchie de blocs. Le premier niveau est un composant tel qu'un transistor. Le deuxième niveau est une fonction élémentaire telle qu'une porte ET ou une porte OU. Le troisième niveau est un assemblage de fonctions élémentaires pour réaliser une fonction déterminée, le nombre de niveaux de hiérarchie n'étant pas limité.

Pour les blocs du système, on définit un modèle équivalent d'injection de bruit qui modélise l'injection de bruit de courant lors des appels de courant au niveau des cellules. A cette fin, on choisit une modélisation de l'activité de

commutation qui définit à quel moment les blocs numériques ou les cellules qui les composent injectent leur bruit à l'intérieur du système. Le bruit peut ainsi être calculé dans le système pour des blocs de hiérarchie différente, les bruits de ces blocs pouvant alors être combinés entre eux pour calculer le bruit global observable dans le système.

Chaque modèle d'injection est affinable en termes de définition du macro-modèle, de définition des jeux de paramètres choisis pour l'extraction des sources de courant dans les différents cas envisagés, et de réutilisation des sources de bruit au sein d'un bloc selon une distribution des instants de commutation des cellules.

Le procédé selon l'invention peut être mis en œuvre avec un système électronique comportant un seul circuit intégré en silicium dans son boîtier, plusieurs circuits intégrés en silicium dans un boîtier, ou plusieurs composants électroniques, avec optionnellement des circuits intégrés, connectés sur un circuit imprimé.

L'invention concerne donc un procédé d'estimation d'un bruit généré dans un système mixte de type numérique, et analogique et/ou radio- fréquentiel, ce système comportant des cellules élémentaires réalisant chacune une fonction, ce procédé comportant les étapes suivantes : - modéliser chaque cellule numérique et/ou analogique et/ou radio- fréquentielle par un macro-modèle d'injection de bruit, ce macro-modèle comportant des sources de courant pour modéliser le bruit injecté dans le système par la cellule,

- extraire par simulation les sources de courant des macro-modèles, - définir un modèle de distribution des instants de commutation des cellules numériques, ce modèle de distribution définissant les instants auxquels les cellules du système commutent,

- réutiliser les sources de courant extraites dans les macro-modèles suivant le modèle de distribution défini, et - calculer le bruit observable à l'intérieur du système, caractérisé en ce que l'étape de réutilisation des sources au sein des macro-modèles comporte l'étape suivante :

- injecter dans le système un bruit marginal pouvant être injecté par les sources de courant, ce bruit marginal pouvant être le pire ou le meilleur bruit injectable par les sources de courant lors du fonctionnement du

système, le pire bruit étant le bruit de niveau le plus haut pouvant être injecté par les sources de courant lors du fonctionnement du système, le meilleur bruit étant le bruit de niveau le plus faible pouvant être injecté par les sources de courant lors du fonctionnement du système. L'invention concerne en outre un procédé de test d'immunité au bruit d'un système mixte de type numérique et analogique et/ou radio-fréquentiel, ce système comportant des cellules reliées entre elles via des nœuds du circuit, chaque nœud correspondant à une connexion entre deux cellules ou entre une cellule et un réseau d'alimentation du système, ce procédé comportant les étapes suivantes :

- modéliser les cellules numériques par des macro-modèles, ces macro-modèles comportant des éléments de connexion passifs de type RLC, et des sources de bruit qui modélisent une injection de bruit par les cellules dans le système, - connecter ces macro-modèles avec le reste du système à l'aide des éléments de connexion de ces macro-modèles,

- utiliser des sources de bruit extraites dans les macro-modèles de manière à injecter du bruit dans le système,

- calculer les niveaux de bruit dans chaque nœud du système, et - réaliser un test de sensibilité de ce système au bruit injecté, le test étant réussi si le bruit calculé est inférieur aux seuils de sensibilité du système et échouant si le bruit calculé est supérieur aux mêmes seuils de sensibilité, caractérisé en ce que l'étape de réutilisation des sources au sein des macro-modèles comporte l'étape suivante :

- injecter dans le système le pire bruit pouvant être injecté par les cellules, ce pire bruit étant le bruit le plus important pouvant être injecté dans le système par ces cellules lors d'un fonctionnement du système, et

- si le test de sensibilité réussit avec le pire bruit injecté, accepter le circuit.

L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Ces figures ne sont données qu'à titre illustratif et nullement limitatif de l'invention. Ces figures montrent :

- figure 1 : une représentation schématique d'un système électronique mixte classique comportant des cellules numériques et analogiques ;

- figure 2 : une représentation schématique d'un macro-modèle connu modélisant une cellule numérique ;

- figure 3 : une représentation schématique d'une cellule et de son environnement de test pour extraire les sources de bruit dans le procédé selon l'invention ;

- figure 4 : un schéma bloc représentant les étapes d'extraction des sources de bruit des macro-modèles et la réutilisation de ces sources dans le procédé selon l'invention ;

- figures 5 : des représentations graphiques de formes d'onde obtenues dans le domaine temporel et dans le domaine fréquentiel pour différents motifs de commutation lors de l'extraction des sources de bruit selon l'invention ;

- figure 6 : un histogramme représentant le nombre de cellules du système susceptibles d'être appelées sur chaque intervalle de temps [ti ;ti+1 [ ;

- figure 7 : un tableau selon l'invention indiquant une décision d'acceptation ou de non acceptation de systèmes en fonction de résultats de tests de sensibilité dans différents cas de fonctionnement de ces systèmes.

Les éléments identiques conservent la même référence d'une figure à l'autre.

La figure 1 montre un circuit intégré 1 qui comporte des cellules 2.1-

2.4 numériques et analogiques réalisant des fonctions élémentaires. Ces cellules, qui peuvent être par exemple des ensembles de portes logiques, sont montées sur un substrat 3 de ce circuit 1. Les cellules numériques injectent un bruit dans le circuit lors de leur fonctionnement en commutation.

L'injection du bruit de chaque cellule numérique à l'intérieur du substrat 3 peut être modélisée par un macro-modèle 4 connu représenté sur la figure 2. Ce macro-modèle 4 comporte quatre sources de courant IPvdd, IPgnd, IBsub et IBcais qui modélisent le bruit généré par la commutation des transistors NMOS et PMOS, et injecté dans le reste du circuit 1 , soit le substrat 3 et l'ensemble des interconnections et des réseaux d'alimentation du circuit 1.

Plus précisément, le courant IPvdd est le courant consommé par la cellule pour la commutation. Le courant IPgnd est différent du courant fourni IPvdd, puisqu'une partie du courant fourni IPvdd est dérivée vers des

charges de sortie et vers le substrat 3 du circuit. Le courant IBsub est un courant de fuite vers le substrat, tandis que le courant IBcais est un courant de fuite vers le caisson du circuit 1.

Par ailleurs, les liaisons entre des bornes de la cellule et le substrat 3 sont modélisées par ces impédances Z1-Z6 reliées entre elles. En outre, un condensateur C reliant deux réseaux de résistance modélise la liaison entre la partie du substrat dopé N et celle dopée P. Le macro-modèle 4 est relié au reste du circuit intégré 1 par l'intermédiaire de résistances R1-R4. Les valeurs des éléments Z1-Z6, C et R1-R4, qui dépendent notamment d'une géométrie de la cellule, sont connues a priori pour chaque cellule étudiée.

En variante, les macro-modèles peuvent comporter plusieurs alimentations. Les éléments parasites des structures NMOS et PMOS peuvent également être modélisés différemment.

Bien entendu, d'autres macro-modèles peuvent être mis en œuvre dans le procédé selon l'invention.

Pour extraire les sources de courant du macro-modèle 4, on modélise chaque cellule 2.1-2.4 dans un environnement de test. La cellule 2.1 qui comporte des entrées E1-EN et des sorties S1-SM est ainsi représentée dans son environnement de test à la figure 3. On entend par environnement de test tous les paramètres extérieurs à la cellule qui ont une influence sur son comportement, en particulier sur le bruit qu'elle est susceptible d'injecter dans le circuit 1.

Plus précisément, cette cellule 2.1 est modélisée à l'aide d'un modèle contenu dans un ensemble de fichiers de données appelé Designkit. Ces fichiers de données sont utilisés par les logiciels de conception et de vérification de circuit numérique du type VHDL, SPICE, ou VITAL. Ce modèle modélise précisément chaque phénomène physique se produisant dans la cellule 2.1 , et permet une modélisation des différents modes d'injection de bruit des transistors qui la composent. Dans un exemple, la cellule 2.1 est modélisée par un modèle SPICE de type EKV, MM9, BSIM3v3 ou BSIM4, et divers éléments parasites, tels que des condensateurs, des résistances, et des diodes.

La cellule 2.1 est alimentée par un générateur 4 pouvant être modélise comme étant idéal. Toutefois, il est aussi possible de mettre en

œuvre un modèle de générateur qui modélise les parasites et couplages des lignes d'alimentation jusqu'à chaque cellule numérique.

Dans cet environnement, on fixe les temps de montée RT et les temps de descente FT des signaux U1-UN appliqués sur les entrées E1-EN de la cellule 2.1. Ces temps de montées RT et de descente FT peuvent être les temps de basculement minimum, maximum ou moyen des cellules numériques susceptibles de commander les entrées de la cellule considérée. Plus les temps de montée sont courts (c'est-à-dire plus la commutation est abrupte), plus le bruit injecté par la cellule observable est important. A l'inverse, plus les temps de montée sont longs, plus le bruit injecté par la cellule est faible.

En outre, on fixe la valeur des charges capacitives C1-CM connectées aux sorties S1-SM de la cellule 2.1. Ces charges C1-CM correspondent à une capacité d'entrée interne de cellules suivantes reliées aux sorties de la cellule 2.1. Plusieurs jeux de capacités peuvent être utilisés, les valeurs de capacités de sortie influant sur les délais de commutation des cellules, ainsi que sur le bruit généré par la cellule 2.1 en commutation.

On définit ensuite les motifs de commutation qui seront appliqués aux entrées E1-EN du circuit à l'aide de U1-UN. On rappelle que ces motifs définissent le passage des niveaux des entrées de la cellule d'un état à un autre. Un motif de commutation est par exemple représenté en haut à droite de la figure 3. Dans un premier temps, on définit le nombre d'états qui peuvent changer dans le motif. Ainsi, on peut choisir de faire varier les entrées E1-EN suivant un code de type Gray. Dans ce cas, une seule entrée change dans un motif de commutation. En variante, on choisit de faire varier plusieurs entrées en même temps dans le motif de commutation. En variante, il est possible de prendre en compte des décalages temporels entre les changements d'état des entrées.

Dans un deuxième temps, on choisit un nombre de motifs de commutation à appliquer sur les entrées E1-EN. On peut ainsi choisir d'appliquer en entrée tous les motifs possibles, c'est-à-dire 2 N .(2 N -1 ) motifs. Toutefois, un tel choix demande un temps d'exécution très élevé. On choisit donc de préférence un nombre limité de motifs en tirant au sort les motifs qui seront simulés, tous les motifs étant considérés comme équiprobables. Par expérience, une telle limitation des motifs permet une estimation pertinente

des formes d'ondes pire cas et meilleur cas, sous réserve que la taille de l'échantillon ou estimateur soit suffisante. Cette limitation des motifs permet de gagner du temps dans l'exécution de l'extraction des sources de courant et rend facilement intégrable dans un logiciel l'outil d'extraction de source de courant selon l'invention. En variante, les motifs peuvent être pondérés de manière à prendre en compte ceux les plus susceptibles d'être observés en entrée de la cellule 2.1.

Une fois l'environnement de test défini, on applique les différents motifs de commutation aux entrées de la cellule 2.1. Pour chaque motif de commutation, on obtient des données de simulation stockées dans une mémoire 13 représentée sur la figure 4.

A partir de ces données de simulation, les formes d'onde de courant temporelle correspondant au bruit de la cellule peut être représentées pour chaque motif de commutation dans une étape 14. Ainsi, sur la figure 5a sont représentées les formes d'ondes temporelles 15-17 de la source de bruit IBsub pour trois motifs de commutation différents. Ces formes d'ondes 15-17 peuvent présenter des valeurs l(t) et dl/dt minimales et maximales différentes, à des instants différents. Il est donc bien difficile d'établir quelle forme d'onde représente le pire cas ou le meilleur cas. L'effet de ces formes d'onde sur les victimes est en outre difficile à estimer.

Ces formes d'ondes 15-17 temporelles sont transposées dans le domaine fréquentiel à l'aide d'une cellule 18 de Transformation de Fourier. On obtient alors des spectres fréquentiels dont la magnitude 19-22 est représentée sur la figure 5b et dont la phase 22, qui oscille entre -pi et +pi, est représentée sur la figure 5c. Les formes d'ondes sont stockées et réutilisées dans leur forme spectrale en raison de la nature des algorithmes d'analyse du système, qui mettent en œuvre une résolution matricielle pour chaque fréquence, et de la nature des victimes qui sont de type analogiques ou radio-fréquencielles.

Ensuite dans une étape 24, on met en œuvre une technique d'approximation des moindres carrés sur les parties réelles et imaginaires des spectres de fréquence. Cette étape 24 permet d'approcher chaque spectre fréquentiel 19-22 par deux polynômes : un premier approchant la partie réelle du spectre et un deuxième la partie imaginaire du spectre. On

obtient alors un ensemble de polynômes 25 dont les coefficients sont stockés dans une mémoire 26.

Un tel stockage de coefficients présente l'intérêt de prendre moins de place que le stockage des points des spectres, et de permettre une réutilisation des formes d'ondes pour reproduire différentes valeurs de périodes du même signal correspondant à des espacements de raies dans le domaine fréquentiel. En effet, il est possible de réutiliser les spectres pour différentes périodes des formes d'ondes, des raies de ces spectres 41-43 multiples de 1/T pouvant être sélectionnées, T étant la période d'horloge. Un autre avantage du stockage des polynômes est la réduction du temps d'exécution lors du calcul de sommes de spectres pour le calcul de bruit d'un bloc, ainsi que la bonne précision du résultat obtenu.

Les blocs 14, 18, 23-25 qui composent le bloc 33 représentent ainsi les étapes d'extraction des sources de bruit des macro-modèles. Une fois que les sources de bruit ont été extraites, on réalise un classement statistique des spectres obtenus de manière à identifier les sources de bruit minimale et maximale de chaque cellule correspondant à un pire cas et à un meilleur cas d'injection de bruit par la cellule.

A cette fin, on calcule les densités spectrales des spectres à partir de leurs raies spectrales. Pour réaliser un classement des spectres suivant leur niveau de bruit, on considère que plus la densité spectrale est élevée, plus le niveau de bruit est grand. Et plus la densité spectrale est faible, plus le niveau de bruit généré par la cellule est faible. On extrait ainsi la source de pire cas de la cellule en extrayant la forme d'onde possédant la densité spectrale la plus grande. Et on extrait la source de meilleur cas en extrayant la forme d'onde possédant la densité spectrale la plus faible.

La densité spectrale peut être calculée sur tout le spectre de fréquence. Toutefois, cette densité spectrale peut aussi être calculée pour une plage de fréquence Df ou pour une raie fréquentielle particulière. Différents classements des formes d'onde sont donc possibles suivant le type de calcul de densité spectrale retenu et la plage de fréquence choisie. Dans cette étape, il est aussi possible de déterminer un spectre moyen, un écart type entre les spectres, ou toute autre donnée statistique donnant une indication quant au bruit injectable par les cellules.

En variante, d'autres méthodes pourraient être utilisées pour comparer les différents spectres entre eux et les classer.

Les blocs suivants 26-30 de la figure 4 représentent une phase 32 de reconstruction d'un modèle de bruit pour un circuit digital. Autrement dit, ces blocs 26-30 représentent des étapes d'utilisation des macro-modèles et des sources de courant extraites pour calculer un bruit pire cas, meilleur cas ou autre dans un circuit particulier.

Plus précisément, lors de cette phase de reconstruction, les bruits 26 meilleur ou pire cas de chaque cellule sont injectés sous forme spectrale en tenant compte des délais de commutation des cellules.

A cet effet, on utilise un modèle 27 qui modélise les instants de commutation des cellules dans le temps. Ce modèle 27 permet de déterminer l'évolution dans le temps du nombre de cellules appelées, c'est-à- dire l'évolution dans le temps du nombre de cellules en commutation. La figure 6 montre ainsi l'exemple d'un histogramme modélisant une distribution discrète des appels de courant au cours d'une période d'horloge T. Ce graphe indique le nombre de cellules (nombre entier) susceptible d'être appelle sur chaque intervalle de temps [ti, ti+1 [. Les instants t1-tP constituent un découpage discret de la période T en P intervalles de temps. Durant chaque période T, le nombre de cellules en commutation évolue, les cellules numériques transmettant de proche en proche les signaux aux cellules suiveuses. Ce graphe modélise ainsi une activité de commutation propre à chaque période d'horloge, cette activité étant liée à une modification des entrées d'un bloc numérique. Le nombre de cellules en commutation augmente jusqu'à un pic. Cette augmentation dépend d'un paramètre de sortance (fanout en anglais) qui indique le nombre de cellules branchées en sortie de chaque cellule dont les sorties changent d'état. Après le pic, le nombre de cellules en commutation diminue jusqu'à devenir nul.

A partir du modèle d'activité de commutation 27, il est possible de déterminer à quel moment les cellules injectent leur bruit dans le substrat. On associe alors à chaque cellule un délai de commutation par rapport à un front d'horloge de circuit, ce délai représentant le temps d'appel effectif de la cellule et donc le moment d'injection du bruit de la cellule. En fonction du cas choisi (meilleur ou pire), le modèle d'activité de commutation des cellules

peut aussi être adapté. En particulier, le nombre de cellules susceptibles de commuter et donc d'injecter leur bruit peut varier d'un cas à un autre.

En outre, on associe à chaque cellule des spectres d'injection de bruit différents suivant le cas de fonctionnement choisi. Dans le pire cas de fonctionnement, on considère que la plupart des cellules ou toutes injectent la forme d'onde extraite correspondant à leur bruit maximal. Dans le meilleur cas de fonctionnement, on considère que la plupart des cellules ou toutes injectent la forme d'onde extraite correspondant à leur bruit minimal. Dans le cas de fonctionnement moyen, des calculs sont réalisés sur les formes d'ondes extraites pour déterminer les formes d'ondes moyennes des sources de bruit de chaque cellule. Pour un grand nombre de cellules appelées, on peut choisir les formes d'ondes au hasard parmi celles extraites et disponibles pour chaque cellule.

A chaque cellule sont donc associés un spectre de bruit et un délai d'injection du bruit. Une somme fréquentielle de ces spectres et de ces délais est alors réalisée dans une étape 28. On obtient alors un spectre de bruit résultant 29 dans le domaine fréquentiel. Ce spectre de bruit 29 peut être alors, selon les besoins de l'analyse du système, transformé en un signal temporel de bruit résultant à l'aide d'une cellule 31 de transformé de Fourier inverse. Le bloc 32 permet ainsi d'obtenir une forme d'onde temporelle ou fréquentielle de bruit injectable par un bloc numérique à partir d'une connaissance des sources de bruit des cellules internes à ce bloc extraites et d'un modèle de commutation.

Pour savoir si le circuit 1 est sensible au bruit résultant, on considère pour chaque victime un gabarit de sensibilité au bruit qui donne le seuil de sensibilité au bruit de la victime pour chaque fréquence. On réalise alors un test de sensibilité au bruit en comparant le bruit de bloc calculé et le gabarit.

Le tableau de la figure 7 indique les décisions d'acceptation ou de non acceptation de trois systèmes en fonction d'un résultat de leur test de sensibilité réalisé dans le pire cas, le cas moyen et le meilleur cas d'injection de bruit. La lettre R signifie que le test effectué sur le système a réussi, c'est- à-dire que le niveau de bruit calculé dans le système est acceptable compte tenu des gabarits de sensibilité des victimes considérés ou des protocoles de test de sensibilité de chaque victime. La lettre NR signifie que le test effectué sur le système a échoué, c'est-à-dire que le niveau de bruit calculé dans le

système n'est pas acceptable compte tenu des gabarits de sensibilité considérés ou des protocoles de test de sensibilité de chaque victime.

Plus précisément, le système 1 a réussi les tests de sensibilité au bruit dans le pire cas, le meilleur cas et le cas moyen d'injection de bruit. Le système 1 possède donc une bonne immunité au bruit et est donc considéré comme acceptable. Cette décision est prise lorsque le test réalisé avec le pire bruit est réussi. Dans ces conditions, il est certain que le système fonctionne quel que soit le niveau de bruit injecté dans tous ses modes d'utilisation, y compris les modes marginaux. Avec le système 2, le test de sensibilité au bruit a échoué pour tous les cas d'injection de bruit. Le système 2 est donc considéré comme possédant une mauvaise immunité au bruit et doit donc être écarté de la production. Ce choix est fait lorsqu'il est mis en évidence que le test de sensibilité a échoué dans le meilleur cas d'injection de bruit. Dans ces conditions, il est certain que le système 2 ne pourra jamais correctement fonctionner.

Avec le système 3, le test de sensibilité au bruit a réussi pour le meilleur cas et le cas moyen, mais a échoué pour le pire cas d'injection. Dans ces conditions, il est difficile de déterminer si le système 3 est acceptable ou pas. Pour affiner l'analyse, il est possible de réaliser des tests en injectant des niveaux de bruit intermédiaires dans le système. Vraisemblablement, des modifications d'architectures du système 3 devront être réalisées pour que ce système 3 devienne acceptable.

Dans une mise en oeuvre du procédé selon l'invention, on réalise d'abord un test de sensibilité avec le pire cas, puis avec le meilleur cas et enfin avec le cas moyen. Ainsi, il est possible de savoir très vite si un système possède une bonne immunité au bruit. Si le test pire cas a échoué, d'autres analyses supplémentaires sont nécessaires (meilleur cas, cas moyen) permettant d'approfondir l'analyse du système. On note que le pire cas (respectivement le meilleur cas) de fonctionnement n'est pas forcément obtenu pour un choix des pires, (respectivement meilleurs) paramètres de commutation, d'environnement et de source de bruit des différentes cellules. En effet, ces différents cas de fonctionnement doivent pouvoir être observés dans un fonctionnement réel du système. Autrement dit, ces cas de fonctionnement ne sont pas des cas

artificiels mais des cas que l'on peut rencontrer lorsque le système fonctionne dans ses marges. Un choix de tous les pires (respectivement meilleur) paramètres d'injection de bruit peut donc ne pas correspondre au pire (respectivement meilleur) cas d'injection de bruit d'un système donné car un tel cas pourrait ne jamais se produire.

Les tests et expériences peuvent orienter des choix de modélisation pertinents pour le pire cas (respectivement meilleur cas) qui ne doivent pas être trop pessimistes (respectivement trop optimistes).

Bien entendu, les différentes étapes du procédé selon l'invention peuvent être mises en œuvre par un circuit électronique ou à l'aide d'un logiciel exécuté par un ordinateur, le logiciel étant enregistré sur un support du type disquette, CD, DVD, ou mémoire USB.