FR2824161A1 - Procede de calcul, base sur des tensions d'entree, du rapport p/n dans une porte statique - Google Patents
Procede de calcul, base sur des tensions d'entree, du rapport p/n dans une porte statique Download PDFInfo
- Publication number
- FR2824161A1 FR2824161A1 FR0205426A FR0205426A FR2824161A1 FR 2824161 A1 FR2824161 A1 FR 2824161A1 FR 0205426 A FR0205426 A FR 0205426A FR 0205426 A FR0205426 A FR 0205426A FR 2824161 A1 FR2824161 A1 FR 2824161A1
- Authority
- FR
- France
- Prior art keywords
- width
- branch
- signal
- fets
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
L'invention concerne un procédé de détermination de rapports P/ N dans des portes logiques statiques. Il comprend des étapes consistant à : identifier des FET connectés directement d'un premier (602) et d'un deuxième type connectés à un noeud de sortie (602); identifier des branches d'un premier (602) et d'un deuxième type créées par lesdits FET de chaque type connectés audit noeud de sortie; sélectionner une tension d'entrée admissible; enregistrer des valeurs de largeurs de FET; déterminer une largeur effective desdites valeurs de largeur; diviser (642 à 648) les largeurs effectives pour les deux types.
Description
La présente demande est liée à une demande intitulée "A method for
simulating noise on the input of a static gate and determining noise on the output", c'est-à-dire Un procédé de simulation de bruit sur l'entrce d'une porte statique et de détermination du bruit sur la sortie, numéro de bordereau HP 10007978-1 déposée le même j our que la présente demande ou à une
date proche.
La présente invention concerne de facon générale les circuits électroniques. La présente invention concerne plus particulièrement les circuits électroniques intégrés qui incluent des transistors à effet de champ (FET, abrégé de Field effect
transistor) de technologie CMOS.
Des circuits intégrés sont des circuits électriques qui comprennent des transistors, des résistances, des condensateurs et autres composants sur une "microplaquette" semi-conductrice unique. Les composants d'une microplaquette sont connectés entre eux pour exercer une fonction donnée ou un certain nombre de fonctions données, par exemple un microprocesseur, un dispositif logique programmable ou PL, abrégé de Programmable logic device, une mémoire morte programmable électriquement effaçable ou EEPROM, abrégé de Electrically erasable programmable read only memory, une mémoire vive ou RAM, un amplificateur opérationnel ou un régulateur de tension. Un concepteur de circuit conçoit typiquement le circuit intégré en créant un schéma de circuit qui indique les composants électriques et leurs connexions. Des conceptions peuvent être simulées par ordinateur pour vérifier la fonctionnalité et assurer que les buts de
performances sont satisfaits.
Dans le monde de l'ingénierie des dispositifs électriques, le travail de conception et d'analyse, impliqué dans la production de dispositifs électroniques, est souvent exécuté en utilisant des outils électroniques de conception assistée par ordinateur, ou outils d' E-CAD, abrégé de Electronic computer aided design. Des dispositifs électroniques incluent des dispositifs électroniques analogiques, numériques, des éléments matériels mélangés, des dispositifs optiques, électromécaniques et divers autres dispositifs électriques. La conception et la simulation ultérieure de toute carte de circuit, microplaquette à intogration à très grande échelle ou VLSI, abrégé de Very large scale integration ou autre dispositif électrique au moyen d'outils d' E-CAD permet de tester complètement un produit et élimine souvent le besoin de construire un prototype. Les outils d'E CAD sophistiqués actuels peuvent permettre à un fabricant de circuit de passer directement à l'étape de fabrication sans l'étape de prototype qui est
onéreuse et exige du temps.
Afin d'exécuter la simulation et l'analyse d'un dispositif constitué d'éléments matériels, les outils d'E-CAD doivent traiter une représentation électronique du dispositif constitué d'éléments maLériels. Une "liste d'interconnexion", ou "neLlist" selon le terme anglo-saxon, littéralement liste de réseau, est une représentation classique d'un dispositif constitué d'éléments matériels. Une "liste d'interconnexions" est une spécification détaillée de circuit utilisée par des synthétiseurs logiques, des simulateurs de circuits et d'autres outils de conception de circuits. Une liste d'interconnexion comprend typiquement une information concernant les composants de circuit et les connexions entre ces composants. Deux formes de listes d'interconnexions sont la liste ordinaire d'interconnexions et la liste hiérarchique d'interconnexions. Une liste d'interconnexions contient souvent un certain nombre de ''modules" de circuits qui sont utilisés de façon répétitive dans tout le circuit plus grand. Une liste ordinaire d'interconnexions contient de multiples exemplaires de modules de circuit qui ne contiennent sensiblement aucune différenciation de limite entre des modules de circuit et d'autres composants du dispositif. A titre d'analogie, une représentation graphique d'une liste ordinaire d'interconnexions est simplement le schéma complet du dispositif de circuit
représenté qui ne contient que des primitives.
Une liste hiérarchique d'interaonnexions ne maintient en revanche qu'un exemplaire d'un module de circuit qui peut étre utilisé dans de multiples emplacements. A titre d'analogie, une représentation graphique d'une liste hiérarchique d'interconnexions représenterait les dispositifs de base et/ou non répétitifs sous forme schématique, et les modules de circuit plus complexes et/ou répétitifs seraient représentés par des "boites noires". Une boite noire est un système ou un composant dont les entrées, les sorties et la fonction générale sont connus, mais dont le contenu n'est pas représenté. Ces représentations par "boîtes noires" peuvent masquer les complexités du circuit en permettant un niveau d' abstraction qui peut ne représenter que des entrées et des sorties ou un
autre ensemble réduit d'informations.
La conception d'un circuit intégré peut être représentée à des niveaux différents d'abstraction, par exemple le niveaux de Transfert de Registre ou RTL, abrégé de Register transfer level, et le niveau
logique, en utilisant un langage de description par
éléments matériels ou HDL, abrégé de Hardware
description language. Les langages VHDL et Verilog
sont des exemples de langages HDL. A un niveau quelconque d'abstraction, une conception de circuit intégré peut être spécifiée en utilisant une
description comportementale ou structurelle ou un
mélange de l'une et de l'autre. Au niveau logique, la
description comportementale est spécifice en utilisant
des équations de Boole. La description structurelle
est représentée sous forme de liste d'interconnexions de cellules primitives. Des exemples de cellules primitives sont des additionneurs complets, des portes NON-OU ou NAND, des sas et des bascules D. Des systèmes peuvent utiliser l' information fournie dans des listes d'interaonnexions pour évaluer une synchronisation de circuit et d'autres paramètres connexes. Plus spécifiquement, des systèmes peuvent exécuter une analyse de synchronisation de circuits en
utilisant des fichiers de listes d'interconnexions.
Bien que les éléments opérationnels spécifiques puissent varier d'un système à l'autre, ces systèmes interviennent généralement en identifiant certains trajets critiques de synchronisation, puis en évaluation les circuits pour déterminer si des violations de synchronisation peuvent se produire sur les trajets critiques. Des spécifications de sychronisation peuvent étre fournies à ces systèmes
au moyen d'un fichier de configurations.
L'un de ces systèmes est commercialisé sous la dénomination PathMill, par EPIC Design Technology, Inc. (achetée par Synogsys). PathMill est un outil d'analyse à base de transistors utilisé pour trouver des trajets critiques et vérifier une synchronisation dans des constructions de semiconducteurs. En utilisant une analyse de synchronisation statique et à niveaux mélangés, PathMill traite des transistors, des portes et des modèles de synchronisation. En outre, ce système calcule des retards de synchronisation, exécute des explorations de trejets et contrôle des exigences de synchronisation. PathMill peut analyser des conceptions combinatoires qui contiennent des portes, et des conceptions séquentielles qui contiennent des portes, des sas, des bascules et des horloges. Des conceptions combinatoires sont généralement mesurces par les trajets le plus long et
le plus court.
Alors que des outils comme ceux-ci sont utiles pour le processus de vérification de conception après l'implantation, PathMill et d'autres produits similaires souffrent de diverses insuffisances. I1 existe par exemple souvent un besoin d' identifier des portes comme des portes NONET ou NAND ou des portes NON-OU ou NOR à partir d'une conception de circuit du niveau de transistors afin de vérifier que certains critères de conception n'ont pas été violés. Il est par exemple parfois souhaitable de s 'assurer que le rapport (Wp/Lp) / (Wn/Ln) entre les largeurs des transistors à effet de champ à canal P ou PFET et des transistors à effet de champ à canal N ou NFET est à l'intérieur d'une certaine plage prédéfinie pour certaines portes, par exemple des portes NON-OU et NON-ET. Le rapport entre les largeurs des transistors PFET et NFET dépend aussi des tensions d'entrée
appliquées aux portes.
C'est donc le but de la présente invention que de réaliser un outil de conception qui évalue une liste d'interconnexions ou un autre fichier électronique représentatif d'un circuit électronique pour identifier les rapports entre les largeurs des transistors PFET et NFET dans des portes statiques en
fonction des entrées à ces portes.
Pour atteindre ce but, l' invention fournit un procédé de détermination de rapports P/N dans des portes logiques statiques caractérisé en ce qu'il comprend les étapes consistant à: a) identifier des FET connoctés directement d'un premier type connectés à un n_ud de sortiei b) identifier des FET connectés directement d'un deuxième type connectés audit n_ud de sortie; c) identifier des branches d'un premier type crcées par lesdits FET de premier type connectés audit n_ud de sortie; d) identifier des branches d'un deuxième type créées par lesdits FET de deuxième type connectés audit n_ud de sortie; e) sélectionner une tension d'entrce admissible; f) enregistrer des valeurs de largeurs de tous lesdits FET de premier type activés par lesdites valeurs d'entrée choisies; g) enregistrer des valeurs de largeurs de tous lesdits FET de deuxième type activés par lesdites valeurs d'entrée choisies; h) déterminer une largeur effective desdites valeurs de largeur enregistrées à l'étape (f); i) déterminer une largeur effective desdites valeurs de largeur enregistrces à l'étape (g); j) diviser la largeur effective à l'étape (h) pat la largeur effective à l'étape (i); k) répéter les étapes (e) à (j) jusqu'à ce que toutes les combinaisons possibles de tensions d'entrée
aient été épuisces.
Selon des modalités préférées, les FET d'un premier type sont des PFET et/ou les FET d'un deuxième type sont des NFET, et/ou une valeur maximale et/ou une valeur minimale de
P/N sont calculées.
Dans un mode de réalisation préféré, l' invention fournit ainsi un rapport P/N plus exact entre les largeurs d'un transistor PFET et d'un transistor NFET, P/N, de portes statiques à utiliser avec des outils de conception de circuit. En effet, l'invention identifie un rapport maximal et un rapport minimal P/N pour chaque combinaison logique possible d'entrces à une porte statique. Un rapport entre les P/N maximal et minimal est ensuite sélectionné à partir des valeurs P/N calculées pour chaque combinaison d'entrée logique. Les valeurs maximale et minimale de P/N peuvent ensuite être utilisées au moyen d'outils de conception de circuit pour évaluer des problèmes de bruit dans les portes statiques. Ce procédé permet aux concepteurs de circuits de mieux concevoir les microplaquettes VLSI et de réduire donc les risques de
défauts de conception des éléments matériels.
Les buts, particularités et avantages de l' invention exposés ci-dessus, ainsi que d'autres,
ressortiront davantage de la lecture de la description
qui suit d'un mode de réalisation préféré, en conjonction avec les dessins annexés dans lesquels: la Figure 1 est un schéma d'une porte logique d' inversion; la Figure 2 est un schéma d'une porte logique statique NON-OU; la Figure 3 est un schéma d'une porte logique stàtique NON-ET; la Figure 4 est un schéma d'une porte logique statique complexe; la Figure 5a est une partie d'un schéma logique du procédé utilisé pour calculer la valeur minimale de P/N pour un circuit logique statique; la Figure 5b est une partie d'un schéma logique du procédé utilisé pour calculer la valeur minimale de P/N pour un circuit logique statique; la Figure 5c est une partie d'un schéma logique du procédé utilisé pour calculer la valeur minimale de P/N pour un circuit logique statique; la Figure 6a est une partie d'un schéma logique du procédé utilisé pour calauler la valeur maximale de P/N pour un circuit logique statique; la Figure 6 b est une partie d'un schéma logique du procédé utilisé pour calculer la valeur maximale de P/N pour un circuit logique statiquei et la Figure 6c est une partie d'un schéma logique du procédé utilisé pour calculer la valeur maximale de
P/N pour un circuit logique statique.
Dans le cadre du présent exposé, le point de déclenchement d'une porte logique statique peut être défini comme la tension appliquée à l'entrée d'une porte logique statique qui est telle que la sortie de la porte logique est égale à son entrée. Cette valeur peut être détermince en utilisant un simulateur SPICE ou un autre circuit, ou d'autres procédés analytiques connus. La Figure 1 est un schéma d'un inverseur. En utilisant un simulateur de circuit SPICE ou autre, le point de déclenchement de l'inverseur de la Figure 1 pourrait être déterminé en connectant la sortie 102 à l'entrée 100 et en permettant à la tension au n_ud 102
et au n_ud 100 d'atteindre une valeur d'état stable.
Dan's le cas de l'inverseur de la Figure 1, la sortie 102 commence à diminuer vers une tension moindre que la tension du point de déclenchement au fur et à mesure que l'entrée 100 est élevée au-dessus de la tension du point de déclenchement. Si la tension d'entrce 100 est abaissce au-dessous du point de déclenchement, la tension de sortie 102 commence à s'élever au-dessus de la tension du point de déclenchement. Le point de déclenchement est déterminé principalement par le rapport entre le PFET désigné par PFET1 et le NFET désigné par NFET1. D'autres paramètres comme la température et des variations de processus peuvent modifier le point de déclenchement, mais ces paramètres sont habituellement pris en compte dans une simulation SPICE. A la Figure 1, le point de déclenchement peut être élevé, plus près de la tension VDD d'alimentation du dispositif, soit en augmentant la largeur du PFET1, soit en diminuant la largeur du NFET1, soit en effectuant l'un et l'autre. Inversement, le point de déclenchement de l'inverseur de la Figure 1 peut être abaissé, soit en augmentant la largeur du NFET1, soit en diminuant la largeur du PFET1, soit en effectuant l'un et l'autre. Les valeurs des longueurs du PFET1 et du NFET1 sont souvent les mêmes et ne peuvent donc pas être ajustées. Le rapport particulier P/N choisi pour un circuit particulier peut dépendre de la vitesse de commutation nécessaire pour un bord de transition particulier. Par exemple, si un concepteur souhaite que le bord devenant positif (passant du niveau bas au niveau haut de tension) de l'entrée d'un inverseur commute plus rapidement que le bord devenant négatif (passant du niveau haut au niveau bas de tension) , la largeur du NFET pourrait être accrue ou la largeur du PFET pourrait être diminuée ou l'un et l'autre. La longueur du PFET et du NFET sont habitue l lement le s mêmes de sorte que le raport P/N est habituellement égal au rapport entre les largeurs du PFET et du NFET. Dans le cas o les longueurs du PFET et du NFET sont différentes, le rapport P/N est (Wp/Lp) / (Wn/Ln). Les largeurs absolues du PFET et du NFET dépendent d'autres facteurs, comme la charge que l'inverseur pilote. Dans un environnement sans bruit, sur une microplaquette qui utilise des portes statiques CMOS, l'entrée à une porte serait idéalement, soit la tension VDD d'alimentation du dispositif, soit la masse GND, abrégé de Ground. Mais ceci ne se produit pas touj ours en pratique. Un bruit peut apparaître dans un circuit et peut provoquer une propagation de bruit dans des circuits et des erreurs de synchronisation de donnces
ou d'autres problèmes.
Un bruit peut résulter de nombreuses sources. Un bruit peut par exemple apparaître lorsque l'entrée s'élève momentanément au-dessus du point de déclenchement d'une porte alors que l'entrée est maintenue au niveau bas ou lorsqu'elle devient inférieure au point de déclenchement de la porte statique alors que l'entrée est maintenue au niveau haut. A la Figure 1, si l'entrée 100 est maintenue au niveau bas et si l'entrée s'élève audessus du point de déclenchement de l'inverseur, la sortie 102 s'abaisse momentanément à une tension inférieure à VDD. Un bruit sur les entrées peut résulter d'un "reLond de masse'', d'un couplage capacitif entre autres lignes, ainsi que d'autres causes. Afin de détecter plus exactement des erreurs de donnses, des erreurs de synchronisation ou d'autres problèmes posés par des éléments transitoires et parasites, il est important de calculer plus exactement des rapports P/N sur des portes statiques. Le procédé décrit ci-dessous
permet de calculer des rapports PlN plus précis.
La Figure 2 est utilisée comme exemple pour illustrer le procédé utilisé pour déterminer un rapport P/N. En premier lieu, la porte statique NON-OU représentée à la Figure 2 est extraite en utilisant un procédé automatisé. Un procédé d' extraction d'une logique statique est décrit dans le brevet des Etats
Unis N 6 077 717.
Le premier calcul effectué est le rapport maximal P/N. Dans ce cas, la sortie est normalement maintenue à un niveau "bas" et tout bruit ajouté s'efforce d'élever la tension de sortie et de provoquer éventuellement un parasite. Le rapport maximal P/N permet "plus facilement" à un bruit d'élever à une tension plus élevée la tension basse de la sortie, au n_ud 204. Puis, une "branche" de la porte NON-OU est identifiée. Une "branche" est définie comme un trajet spécial à partir de la sortie de la porte statique, à travers un transistor à effet de champ (FET) ou une série de FET, soit vers l'alimentation VDD du dispositif, soit vers la masse. Dans le cas particulier représenté à la Figure 2, une branche qui va du n_ud 204 à VDD est identifice. Le procédé demande si cette branche est touj ours en service et, si elle l'est, il provoque un abandon du programme parce que ceci indique que la sortie de la porte est connectée en permanence à la tension d'alimentation VDD du dispositif et n'est pas commandée par un signal d'entrée. Il existe deux transistors à effet de champ de type P ou PFET en série dans cette branche. Les signaux qui pilotent les grilles de chaque PFET, le PFET21 et le PFET 22 sont différents. Le PFET 21 comporte un signal A qui pilote le n_ud 206 et le PFET
22 comporte un signal B qui pilote le n_ud 208.
Puisque le rapport P/N est calculé sur la base de la configuration de signal à chaque grille, le procédé
pet choisir en premier lieu le signal A au n_ud 206.
Dans ce cas, le procédé suppose que le n_ud 206 est au niveau haut ("hors service" pour un PFET) et que le n_ud 208 est à un niveau bas ("en service" pour un PFET). Puisque la largeur du PFET 21 est de 10,65, le programme enregistre cette valeur pour le PFET le plus large pour le signal A et enregistre le nom du signal
B et le fait que le signal B. 208, est en service.
Puisque le PFET21 est le seul FET piloté par le signal A dans cette branche, le programme demande s'il existe une autre branche qui est connectée à partir de la sortie, le n_ud 204 à VDD, et comporte un FET commandé par le signal A. Il n'existe qu'une seule branche à partir de la sortie, le n_ud 204 à VDD de la Figure 2, de sorte que le programme calcule ensuite la largeur la plus petite d'un NFET qui est commandé par le signal A, n_ud 206, et est contenu dans une branche à partir de la sortie, n_ud 204 à GND. Il n'existe qu'une seule branche qui comporte le signal A, n_ud 206, qui commande la porte d'un NFET. La largeur de ce NFET, le NFET 21, est de
4,9, de sorte que la largeur minimale est de 4,9.
Le rapport maximal P/N est maintenant calculé pour le signal 1, n_ud 206. La largeur P est de 10,65 et la largeur N est de 4,9 de sorte que le rapport P/N est de 10,65/4,9. C'est là une valeur du pire des cas parce que la largeur du PFET22 n'a pas été incluse en série avec la largeur du PFET21. Si elle avait été incluse, la largeur maximale de P aurait été moindre et l'effet de bruit n'aurait pas été aussi prononcé dans ce cas. Calauler la largeur maximale de P de cette manière donne une valeur plus pessimiste, qui peut permettre une certaine marge d'erreur lors de la
modélisation du bruit ou pour d'autres problèmes liés.
Le rapport maximal P/N pour le signal B. n_ud 203, est calcul d'une manière semblable, et le résultat est un rapport P/N de 7,5/4,9. Le procédé utilisé pour déterminer le rapport maximal P/N pour un
signal donné est aussi illustré au tableau 1.
Tableau 1
pour chaque (branche p-fet) ( si (contient FET SUT) { enregistrer largeur maximale de FET SUT dans la branche (ceci est pessimiste, le cas optimiste consisterait à paralléliser toutes les largeurs de FET SUT dans la branche) et tous les noms de signaux qui ont t mis au niveau bas pour mettre en service
la branche (saut SUT).
sinon si (branche touj ours en service) { abandonner analyse de bruit our chaque (branche n-fet) 1Q i (contient EET SUT) enregistret largeur ettective de branche (parallliser toutes les largeurs de EET SUT dans la branche) et tous les noms de signaux qui ont At mis au niveau haut pour mettre en service la branche
(sauf SUT).
inon si (branche touj ours en service) abandonner analyse de bruit or chaque (branche N 1 comprime n-fet) our chaque (branche N 2 comprime nfet) i (cbN 2!= cbN 1 si (cb N 2 de n-fet est toujours en service cause de valeors logiques dans n-fet cbN l ou global d finit) ajouter largeur eff. cbN 2 largeur eff de cbN 1 enlever cbN 2 pour chaque (branche super comprimée n-fet) { largeur totale effective p-fet = 0 pour chaque (branche comprimée p-fet) { si (branche comprimée p-fet peut étre mise en service) { largeur totale effective p-fet += largeur effective de brancheO } si (rapport p:n maximum vu jusqu'ici { rapport p:n max de grille = largeur totale effective p-fet/ largeur spb n-fet } } Le procédé utilisé pour calauler le rapport maximal P/N est utilisé de méme pour calculer le rapport minimal P/N sauf que la valeur maximale du NFET est calculée de la manière dont la valeur maximale du PFET a été détermince et que la valeur minimale du PFET est calculée de la manière dont la valeur minimale du NFET a été déterminée. Un cas dans lequel le rapport minimal P/N peut étre utilisé est celui o le bruit sur les NFET du circuit statique peut s'efforcer de tirer la tension vers le niveau bas de la sortie alors que la sortie est maintenue au niveau haut. Ici aussi, en utilisant la porte statique NON-OU de la Figure 2, le programme recherche une branche provenant de la sortie, le n_ud 204 vers la masse. Dans ce cas, il existe deux branches connectées à la masse GND. Une branche contient le NFET21 qui est commandé par le signal A, n_ud 206, et l'autre branche
contient le NFET22 commandé par le signal B. n_ud 208.
La largeur maximale pour ces deux branches est de 4,9.
Puis, les branches provenant de la sortie, n_ud 204, à VDD sont déterminées. Dans ce cas, il n'existe qu'une seule branche. La largeur minimale P tant pour le signal A que pour le signal B est calculée en "parallélisant" les largeurs des PFET21 et PFET22. La largeur du PFET21 est de 10,65 et la largeur du PFET22 est de 7,3. Lorsque ces deux largeurs sont parallélisces, le résultat est une largeur de 4,33. Le procédé utilisé pour mettre en parallèle les largeurs
de FET en série est représenté à l'équation 1.
Wp = 1/{1/W1 + 1/W2 + 1/W3 +...} EQ. 1 En utilisant la valeur de 4,33 calculée pour P ci-dessus et la valeur de N précédemment dérivée, le rapport minimal P/N tant pour le signal 1, n_ud 206,
que pour le signal B. n_ud 208, est de 4,33 /4,9.
L'avantage de calculer les rapports maximal et minimum de P/N peut être vu à partir de cet exemple. Lorsque la sortie de la porte NON-OU à la Figure 2 est maintenue au niveau bas, le rapport maximal P/N, '65/4,9 crcerait plus probablement un entraînement vers le haut de la sortie, n_ud 204, qu'un rapport P/N de 4,33/4,9 ne le ferait, pour un parasite donné sur le signal A, n_ud 206. Le rapport minimal P/N 4,33/4,9, crcerait plus probablement un parasite lorsque la sortie, n_ud 204, est tenue au niveau haut et pour un parasite haut du signal A, nud 206 que le rapport maximal P/N, 10,65/4,9 ne le ferait. Les valeurs d'entrée aux signaux A et B. n_uds 206 et 208 respectivement, qui sont nécessaires pour rendre possibles les rapports maximal et minimal P/N sont enregistrces en même temps que les rapports calculés P/N. L'algorithme de calcul du rapport maximal P/N pour un signal donné est représenté aux Figures 6A, 6B et 6C. L'algorithme de calcul du rapport minimal P/N pour un signal donné est représenté aux Figures 5A, 5B
et 5C.
A la Figure 5A, une étape 502 sélectionne une branche N et passe à l'étape 504. A l'étape 504, le processus détermine si la branche N sélectionnée est toujours en service. Si tel est le cas, une étape 506 termine le programme. Dans le cas contraire, le processus passe à une étape 508. A l'étape 508, le processus détermine si une branche contient le FET SUT. Si tel est le cas, une étape 510 enregistre la
largeur maximale de FET SUT et passe à une étape 512.
A l'étape 512, le processus enregistre des signaux connectés par grilles à d'autres FET de la branche, et passe à une étape 514. Dans le cas contraire, le processus passe à l'étape 514. A l'étape 514, le processus détermine si toutes les branches N sont traitées. Si tel est le cas, une étape 516 sélectionne une branche P et passe à une étape 518. Dans le cas contraire, le processus revient à l'étape 502. A l'étape 518, le processus détermine si la branche P sélectionnce est touj ours en service. Si tel est le cas, une étape 5 termine le programme. Dans le cas contraire, le processus passe à une étape 522. A l'étape 522, le processus détermine si la branche sélectionnée contient un FET SUT. Si tel est le cas, une étape 504 parallélise toutes les largeurs du FET et les enregistre et passe à une étape 526. A l'étape 526, le processus enregistre des noms de signaux connectés par grilles à d'autres FET de la branche et passe à une étape 528. Dans le cas contraire, le processus passe à une étape 528. A l'étape 528, le processus détermine si toutes les branches P ont été traitées. Si tel est le cas, le processus passe à l'étape 530 représentée à la Figure SB. Dans le cas
contraire, le processus revient à l'étape 516.
A l'étape 530, le processus comprime les branches P et, si l'une des branches P est toujours en service lorsque les signaux sur les grilles d'une autre sont en service, le processus ajoute les largeurs effectives et passe à une étape 532. A l'étape 532, le processus détermine si davantage de compression peut être exécutée. Si tel est le cas, le processus revient à l'étape 530. Dans le cas contraire le processus passe à une étape 534. A l'étape 534 le processus sélectionne la branche P suivante complètement comprimée et passe à une étape 536. A l'étape 536, la branche n suivante est sélectionnce et le processus passe à une étape 538. A l'étape 538, le processus détermine si la branche n sélectionnce peut être mise en service, étant donné que le signal de branche P est au niveau haut. Si tel est le cas, le processus passe à une étape 540. A l'étape 540, le processus ajoute la largeur de la branche N à la largeur actuelle totale de N pour la branche P totalement comprimée et le processus passe à l'étape 542. Dans le cas contraire, le processus passe àune étape 542. A l'étape 542, le processus détermine si la branche P a été comparée à totes les branches N. Si tel est le cas, le processus passe à une étape 544 représentée à la figure 5C. Dans
le cas contraire, le processus revient à l'étape 536.
A l'étape 544, le processus détermine si le rapport entre la largeur totale de branche N et la largeur totale de branche P est le rapport maximal jusqu'ici. Si tel est le cas, le processus passe à une étape 546. A l'étape 546, le processus enregistre le rapport P/N et passe à une étape 548. A l'étape 548, le processus enregistre des pointeurs vers les branches utilisées. Dans le cas contraire, le processus passe à une étape 550. A l'étape 550, le processus détermine si toutes les branches P totalement comprimées ont été traitées. Si tel est le cas, le processus passe à une étape 552. A l'étape 552, le processus sort un rapport minimal P/N et les noms des FET utilisés dans les branches. Dans le cas
contraire, le processus revient à l'étape 534.
A la Figure 6A, une étape 602 sélectionne une branche P et passe à l'étape 604. A l'étape 604, le processus détermine si la branche P sélectionnée est touj ours en service. Si tel est le cas, une étape 606 termine le programme. Dans le cas contraire, le processus passe à une étape 608. A l'étape 608, le processus détermine si une branche contient le FET SUT. Si tel est le cas, une étape 610 enregistre la
largeur maximale de FET SUT et passe à une étape 612.
A l'étape 612, le processus enregistre des signaux connectés par grilles à d'autres FET de la branche, et passe à une étape 614. Dans le cas contraire, le processus passe à l'étape 614. A l'étape 614, le processus détermine si toutes les branches P sont traitées. Si tel est le cas, une étape 616 sélectionne une branche N et passe à une étape 618. Dans le cas contraire, le processus revient à l'étape 602. A l'étape 618, le processus détermine si la branche N sélectionnée est touj ours en service. Si tel est le cas, une étape 620 termine le programme. Dans le cas contraire, le processus passe à une étape 622. A l'étape 622, le processus détermine si la branche sélectionnée contient un FET SUT. Si tel est le cas, une étape 604 parallélise toutes les largeurs du FET et les enregistre et passe à une étape 626. A l'étape 626, le processus enregistre des noms de signaux connectés par grilles à d'autres FET de la branche et passe à une étape 628. Dans le cas contraire, le processus passe à une étape 628. A l'étape 628, le processus détermine si toutes les branches N ont été traitées. Si tel est le cas, le processus passe à l'étape 630 représentée à la Figure 6B. Dans le cas
contraire, le processus revient à l'étape 616.
A l'étape 630, le processus comprime les branches N et, si l'une des branches N est touj ours en service lorsque les signaux sur les grilles d'une autre sont en service, le processus ajoute les largeurs effectives et passe à une étape 632. A l'étape 632, le processus détermine si davantage de compression peut être exécutée. Si tel est le cas, le processus revient à l'étape 630. Dans le cas contraire le processus passe à une étape 634. A l'étape 634 le processus sélectionne la branche N suivante complètement comprimée et passe à une étape 636. A l'étape 636, la branche P suivante est sélectionnée et le processus passe à une étape 638. A l'étape 638, le processus détermine si la branche P sélectionnée peut être mise en service, étant donné que le signal de branche N est au niveau bas. Si tel est le cas, le processus passe à une étape 640. A l'étape 640, le processus ajoute la largeur de la branche P à la largeur actuelle totale de p pour la branche N totalement comprimée et le processus passe à l'étape 642. Dans le cas contraire, leprocessus passe à une étape 642. A l'étape 642, le processus détermine si la branche N a été comparée à toutes les branches P. Si tel est le cas, le processus passe à une étape 644 représentée à la figure 6C. Dans
le cas contraire, le processus revient à l'étape 636.
A l'étape 644, le processus détermine si le rapport entre la largeur totale de branche P et la largeur totale de branche N est le rapport maximal jusqu'ici. Si tel est le cas, le processus passe à une étape 646. A l'étape 646, le processus enregistre le rapport N/P et passe à une étape 648. A l'étape 648, le processus enregistre des pointeurs vers les branches utilisées. Dans le cas contraire, le processus passe à une étape 650. A l'étape 650, le processus détermine si toutes les branches N totalement comprimées ont été traitées. Si tel est le cas, le processus passe à une étape 652. A l'étape 652, le processus sort un rapport maximal P/N et les noms des FET utilisés dans les branches. Dans le cas
contraire, le processus revient à l'étape 634.
La Figure 3 contient un schéma d'une porte statique NON-ET à deux entrées. Dans cet exemple, le rapport maximal P/N pour le signal A est déterminé en n'utilisant que la largeur 5,5 du seul PFET, PFET31, correspondant au signal A, n_ud 306, et la valeur parallélisce 2,66 du NFET31 et du NFET32 en série. Il résulte de ces calouls un rapport maximal PJN de ,5/2,66 pour le signal A, n_ud 06. Le rapport maximal P/N pour le signal B. n_ud 304, est caloulé de manière similaire. La largeur du PFET32 est de 7,5 et la valeur parallélisée du NFET31 et NFET32 en série est
ici aussi de 2,66 d'o résulte une valeur de 7,5/2,66.
Ces calauls illustrent l' importance de déterminer le rapport maximal P/N pour chaque signal. Le rapport maximal P/N du signal B. n_ud 304, est plus grand que celui du signal A, n_ud 306, et il serait très prbablement plus sensible à un bruit amenant la sortie, n_ud 302, à un niveau plus élevé que sa valeur
nominalement maintenue au niveau bas.
Dans la porte statique NON-ET représentée à la Figure 3, le rapport minimal P/N pour le signal A, n_ud 306, est de 5,5/6,5. Dans ce cas, la valeur de P est la largeur 5,5 du PFET31 et la valeur de N est la largeur 6,5 du NFET31. La valeur parallélisée du NFET31 et du NFET32 n'est pas utilisée parce qu'il en résulterait une valeur de N plus petite, 2,66. Le procédé utilise la largeur du NFET31 au lieu de la valeur parallélisée des NFET31 et NFET32 parce que ceci crée un pire des cas et donne donc une plus grande marge d'erreur. Le rapport minimal P/N pour le signal B est calculé d'une manière semblable. La valeur de P est la largeur 7,5 du PFET32 et la valeur de N est la largeur 4,5 du NFET32, d'o résulte un rapport minimal P/N pour le signal B. n_ud 305, de 7,5/4,5. Ici aussi, ceci illustre l' importance de déterminer le rapport P/N de valeur minimale pour chaque signal. Le rapport du signal A, n_ud 306, est plus petit et serait très probablement plus sensible à
un bruit abaissant la sortie, n_ud 302.
La Figure 4 contient un schéma d'une porte logique statique complexe. Dans cet exemple, il existe trois branches vers VDD et deux branches vers GND. La valeur de P tant pour les deux rapports P/N, maximal et minimal, est la largeur du PFET associé à chaque signal parce qu'il n'existe qu'un seul signal dans chaque branche. La valeur de P du signal A, n_ud 402, est de 29,6, la largeur du PFET41. La valeur de P du signal B. n_ud 404, est de 30,6, la largeur du PFET42, tandis que la valeur de P du signal C, n_ud 406, est de 28,6, la largeur du PFET93. La valeur de N pour le rapport maximal P/N pour le signal A est de 11,8 parce que les deux branches qui conduisent à la masse cobtiennent le signal A, n_ud 402. Pour que les deux branche soient conductrices vers la masse, les signaux B et C doivent être au niveau haut. La largeur effective pour chaque branche est la valeur parallélisée des deux NFET en série, 5,9. Puisque les deux branches sont conductrices, la largeur effective des deux branches est la somme des deux largeurs effectives de chaque branche, 11, 8. Le rapport P/N maximal résultant pour le signal A, est 29,6/11,8. La valeur de N pour le rapport maximal P/N pour le signal B. n_ud 404, est la valeur parallélisée 5,9 de la branche qui contient le NFET42 et le NFET44. De même, la valeur de N pour le rapport maximal P/N pour le signal C, n_ud 406, est la valeur parallélisée 5,9 de la branche qui contient NFET41 et NFT43. Les rapports P/N maximaux résultants pour le signal B et le signal
C sont respectivement de 30,6/5,9 et 28,6/5,9.
La description précédente de la présente
invention a été présentée à des fins d' illustration et
de description. Elle ne doit pas étre considérée comme
exhaustive ni comme limitant l' invention à la forme précise décrite, et d'autres modifications et variantes peuvent étre possibles à la lumière des enseignements qui précèdent. Le mode de réalisation a été choisi et décrit afin d'expliquer au mieux les principes de l' invention et sa mise en application pratique afin de permettre ainsi à d'autres hommes de l'art d'utiliser au mieux l' invention dans divers -15 modes de réalisation et selon diverses modifications qui sont adaptées à l'utilisation particulière
attendue. Il faut comprendre que les revendications
annexées sont considérces comme incluant d'autres variantes des modes de réalisation sauf dans la mesure
des limites résultant de l'art antérieur.
\
Claims (6)
1. Procédé de détermination de rapports P/N dans des portes logiques statiques caractérisé en ce qu'il comprend les étapes consistant à: a) identifier des FET connectés directement d'un premier type connectés à un n_ud de sortie (602); b) identifier des FET connectés directement d'un deuxième type connectés audit n_ud de sortie (502); c) identifier des branches d'un premier type créées par lesdits FET de premier type connectés audit n_ud de sortie (602); d) identifier des branches d'un deuxième type créées par lesdits FET de deuxième type connectés audit n_ud de sortie (502); e) sélectionner une tension d'entrée admissible; f) enregistrer des valeurs de largeurs de tous lesdits FET de premier type activés par lesdites valeurs d'entrée choisies (604 à 610); g) enregistrer des valeurs de largeurs de tous lesdits FET de deuxième type activés par lesdites valeurs d'entrée choisies (504 à 510); h) déterminer (612 à 640) une largeur effective desdites valeurs de largeur enregistrées à l'étape ( f)i i) déterminer (512 à 540) une largeur effective desdites valeurs de largeur enregistrées à l'étape (g); j) diviser (642 à 648; 542 à 548) la largeur effective à l'étape (h) par la largeur effective à l'étape (i); k) répéter les étapes (e) à (j) jusqu'à ce que toutes les combinaisons possibles de tensions d'entrée
aient été épuisées (650, 652; 550, 552).
2. Procédé selon la revendication 1, caractérisé en ce que
les FET d'un premier type sont des PFET.
3. Procédé selon la revendication 1, caractérisé en ce que
les FET d'un deuxième type sont des NFET.
4. Procédé selon la revendication 1, caractérisé en ce que les FET d'un premier type sont des PFET et les
FET d'un deuxième type sont des NFET.
5. Procédé selon la revendication 4 caractérisé en ce que
une valeur maximale de P/N est calculée t652).
6. Procédé selon la revendication 4 caractérisé en ce que
une valeur minimale de P/N est calculée (552).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/845,384 US6496031B1 (en) | 2001-04-30 | 2001-04-30 | Method for calculating the P/N ratio of a static gate based on input voltages |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2824161A1 true FR2824161A1 (fr) | 2002-10-31 |
FR2824161B1 FR2824161B1 (fr) | 2006-10-06 |
Family
ID=25295113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0205426A Expired - Fee Related FR2824161B1 (fr) | 2001-04-30 | 2002-04-30 | Procede de calcul, base sur des tensions d'entree, du rapport p/n dans une porte statique |
Country Status (2)
Country | Link |
---|---|
US (1) | US6496031B1 (fr) |
FR (1) | FR2824161B1 (fr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7107552B2 (en) * | 2003-06-10 | 2006-09-12 | Intel Corporation | Method and apparatus to analyze noise in a pulse logic digital circuit design |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734798A (en) * | 1995-12-01 | 1998-03-31 | Hewlett-Packard Co. | Method and apparatus for extracting a gate modeled circuit from a fet modeled circuit |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68925897T2 (de) * | 1989-04-28 | 1996-10-02 | Ibm | Gate-Array-Zelle, bestehend aus FET's von verschiedener und optimierter Grösse |
US6735755B2 (en) * | 2000-03-27 | 2004-05-11 | Jeng-Jye Shau | Cost saving methods using pre-defined integrated circuit modules |
-
2001
- 2001-04-30 US US09/845,384 patent/US6496031B1/en not_active Expired - Lifetime
-
2002
- 2002-04-30 FR FR0205426A patent/FR2824161B1/fr not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734798A (en) * | 1995-12-01 | 1998-03-31 | Hewlett-Packard Co. | Method and apparatus for extracting a gate modeled circuit from a fet modeled circuit |
Non-Patent Citations (1)
Title |
---|
AISSI C ET AL: "Reduction of complex MOS structures used in switch-level simulators", MICROELECTRONICS JOURNAL, MACKINTOSH PUBLICATIONS LTD. LUTON, GB, vol. 29, no. 7, July 1998 (1998-07-01), pages 431 - 439, XP004124638, ISSN: 0026-2692 * |
Also Published As
Publication number | Publication date |
---|---|
US20020190745A1 (en) | 2002-12-19 |
FR2824161B1 (fr) | 2006-10-06 |
US6496031B1 (en) | 2002-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7428716B2 (en) | System and method for statistical timing analysis of digital circuits | |
US7512919B2 (en) | System and method for incremental statistical timing analysis of digital circuits | |
US7239997B2 (en) | Apparatus for statistical LSI delay simulation | |
Duvall | Statistical circuit modeling and optimization | |
US20050066298A1 (en) | System and method for probabilistic criticality prediction of digital circuits | |
US8122409B2 (en) | Method and device for selectively adding timing margin in an integrated circuit | |
EP2234026A1 (fr) | Procédé et système pour analyser les mesures de performance de circuits de type réseaux sous une variabilité de processus | |
FR2822263A1 (fr) | Systeme et procede de determination de la sensibilite au bruit d'un circuit integre | |
US8413095B1 (en) | Statistical single library including on chip variation for rapid timing and power analysis | |
EP1716425B1 (fr) | Procede d elaboration de fichiers de description hdl de systemes digitaux et systemes obtenus | |
Sadi et al. | SoC speed binning using machine learning and on-chip slack sensors | |
JP2006146345A (ja) | 半導体集積回路の設計方法及びその設計装置 | |
US6789223B2 (en) | Method for optimizing test development for digital circuits | |
US6223333B1 (en) | Pattern matching method, timing analysis method and timing analysis device | |
EP3443369B1 (fr) | Systeme et procede de test d'un circuit integre | |
FR2824161A1 (fr) | Procede de calcul, base sur des tensions d'entree, du rapport p/n dans une porte statique | |
US6502223B1 (en) | Method for simulating noise on the input of a static gate and determining noise on the output | |
US7412677B1 (en) | Detecting reducible registers | |
US6718522B1 (en) | Electrical rules checker system and method using tri-state logic for electrical rule checks | |
Wang et al. | On path-based learning and its applications in delay test and diagnosis | |
Zuber et al. | Statistical SRAM analysis for yield enhancement | |
Wang et al. | Reducing test time of embedded SRAMs | |
US6484295B1 (en) | Electrical rules checker system and method providing quality assurance of tri-state logic | |
US6484296B1 (en) | Electrical rules checker system and method for reporting problems with tri-state logic in electrical rules checking | |
Traiola | Test techniques for approximate digital circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20091231 |