FR2766275A1 - Circuit de validation de modeles de simulation - Google Patents
Circuit de validation de modeles de simulation Download PDFInfo
- Publication number
- FR2766275A1 FR2766275A1 FR9709529A FR9709529A FR2766275A1 FR 2766275 A1 FR2766275 A1 FR 2766275A1 FR 9709529 A FR9709529 A FR 9709529A FR 9709529 A FR9709529 A FR 9709529A FR 2766275 A1 FR2766275 A1 FR 2766275A1
- Authority
- FR
- France
- Prior art keywords
- input
- multiplexers
- ring
- cells
- cell
- 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
- 238000012360 testing method Methods 0.000 claims description 34
- 239000003990 capacitor Substances 0.000 claims description 13
- 238000004088 simulation Methods 0.000 description 21
- 238000005259 measurement Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 2
- 235000013599 spices Nutrition 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/30—Marginal testing, e.g. by varying supply voltage
- G01R31/3016—Delay or race condition test, e.g. race hazard test
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
L'invention concerne un circuit destiné à mesurer le temps de propagation d'un front de signal entre une entrée (A) et une sortie (Z) d'une cellule logique. Il comprend plusieurs cellules logiques de même type connectées en anneau, une même entrée à tester de chaque cellule étant reliée à la sortie d'un multiplexeur respectif (12) ayant une entrée de sélection reliée à la sortie de la cellule précédente, et deux entrées de donnée mises à des états fixes différents.
Description
CIRCUIT DE VALIDATION DE MODULES DE SIMULATION
La présente invention concerne de façon générale la simulation de circuits logiques et plus particulièrement un circuit logique spécifique permettant de vérifieur que les modèles utilisés pour les simulations logiques conviennent.
La présente invention concerne de façon générale la simulation de circuits logiques et plus particulièrement un circuit logique spécifique permettant de vérifieur que les modèles utilisés pour les simulations logiques conviennent.
La figure 1 symbolise une cellule logique pouvant être un circuit logique élémentaire ou un élément d'une bibliothèque de cellules standard. De façon générale, la cellule comprend une ou plusieurs entrées Ao, A1... An, et au moins une sortie Z. On appelle "arc" chaque chemin entre une entrée et une sortie.
Une telle cellule, prise isolément, peut être analysée par un simulateur analogique, de type SPICE, qui tiendra compte de la structure de plus bas niveau (les transistors) de la cellule. Les résultats de la simulation permettront de relever tous les paramètres caractéristiques de la cellule, notamment les temps de propagation tp de chaque arc. Un temps de propagation est le temps que met un front d'un signal appliqué sur 1 'entrée A correspondante à apparaître sur la sortie Z, avec la même polarité ou non.
Pour un arc donné, il existe plusieurs temps de propagation. En effet, un temps de propagation dépend de la polarité ou sens du front présenté en entrée et dépend également des états présents sur les autres entrées. Ainsi, pour un seul arc, le nombre de temps de propagation différents est égal à la somme du nombre de combinaisons des états des autres entrées qui sensibilisent l'entrée étudiée à des fronts positifs et du nombre de combinaisons des états des autres entrées qui sensibilisent entrée étudiée à des fronts négatifs. On dit qu ' une entrée est sensibilisée lorsqu'un front appliqué sur cette entrée provoque effectivement un front sur la sortie de la cellule.
Les temps de propagation de chaque arc pourront etre trouvés par une simulation analogique en utilisant des stimulations adéquates trouvées à partir de la fonction logique de la cellule. La précision des résultats dépend de la précision des modèles de transistor utilisés par le simulateur. Les modèles de transistor impliquent des paramètres qui dépendent de la technologie à simuler.
L'affinage des paramètres des modèles d'un simulateur analogique s'effectue au fur et à mesure de la maturation d'une technologie. A la naissance d'une technologie, les paramètres sont inconnus et grossièrement estimés, ce qui ne fournit pas des résultats satisfaisants. L'affinage des paramètres s'effectue en confrontant de nombreux résultats de mesure à des résultats de simulation.
En pratique, un circuit logique peut être réalisé à partir de plusieurs milliers de cellules de bibliothèque. I1 n'est alors pas envisageable de simuler le circuit logique entier à l'aide d'un simulateur analogique, car cela prendrait trop de temps. On a alors recours à une simulation logique, notamment permise par des langages de simulation fonctionnelle, tels que le
VHDL ou le VERILOG.
VHDL ou le VERILOG.
Une simulation logique tient compte des fonctions logiques des cellules et de temps de propagation précalculés. Des valeurs par défaut des temps de propagation tp pourront être fournies par une simulation analogique des cellules. Ces valeurs par défaut sont généralement corrigées dans une procédure dite de rétroannotation à partir de valeurs calculées par un calculateur de retards qui prend en compte l'implantation silicium du circuit simulé (c'est-à-dire les capacités effectives des interconnexions après routage).
Toutefois, on ne peut utiliser tous les temps de propagation de chaque arc de chaque cellule, car la simulation serait de nouveau trop longue et nécessiterait une base de données démesurée.
Une manière courante de procéder est d'utiliser la situation la plus désavantageuse, c'est-à-dire que l'on prend, pour chaque arc, et pour chaque polarité de front, le temps de propagation le plus élevé.
Avec cette solution, le circuit réel sera toujours plus rapide que ce qu'indiquera la simulation. En fait, dans de nombreux cas, la simulation invalidera le circuit alors qu'il fonctionnerait convenablement en réalité.
Une façon plus fine de procéder serait d'organiser, pour chaque arc et chaque polarité de front, les temps de propagation en plusieurs classes, le critère de regroupement étant d'avoir un écart maximal entre les temps de propagation qui soit inférieur à un certain seuil.
Alors, on utiliserait le temps de propagation le plus élevé dans chaque classe, la classe utilisée étant déterminée par un ensemble correspondant de conditions sur les états des entrées de la cellule.
Cependant, les conditions qui déterminent une classe sont souvent complexes et le passage des classes à un modèle temporel d'une cellule pose des problèmes, car la plupart des outils de conception ne supportent pas ce type de modélisation (calculateur de retards, rétro-annotation, simulation avec retards conditionnels...).
En pratique, cette solution n'est pas exploitée. On est donc confronté à deux problèmes distincts. Le premier concerne la caractérisation exhaustive d'une cellule afin d'en déduire un modèle temporel ac acceptable. Le deuxième problème concerne la validation des modèles temporels choisis ainsi que leur exploitation par les outils de conception (calculateur de retards, simulateur logique avec retards rétro-annotés...) dans le contexte d'une méthodologie de conception telle quelle est appliquée par l'utilisateur.
Un objet de la présente invention est de prévoir un circuit de test permettant de déterminer de manière précise et simple tous les temps de propagation de chaque arc d'une cellule logique.
Un autre objet de la présente invention est de prévoir un circuit de test permettant de valider les modèles temporels des cellules dans le contexte d'une simulation logique avec rétro-annotation des retards.
Ces objets sont atteints grâce à un circuit destiné à mesurer le temps de propagation d'un front de signal entre une entrée et une sortie d'une cellule logique. Le circuit comprend plusieurs cellules logiques de même type connectées en anneau, une même entrée à tester de chaque cellule étant reliée à la sortie d'un multiplexeur respectif ayant une entrée de sélection reliée à la sortie de la cellule précédente, et deux entrées de donnée mises à des états fixes différents.
Selon un mode de réalisation de la présente invention, les états des entrées de donnée des multiplexeurs sont choisis pour que les entrées des cellules reçoivent successivement un front de même polarité entre deux fronts suc successifs d'un signal de sortie de 1 'anneau, un élément inverseur étant connecté dans l'anneau.
Selon un mode de réalisation de la présente invention, chaque cellule a plusieurs entrées dont une seule est testée, chaque entrée non-testée d'une cellule étant reliée à la sortie d'un multiplexeur respectif ayant une entrée de sélection reliée à la sortie de la cellule précédente, et deux entrées de donnée mises à un même état fixe choisi pour sensibiliser l'entrée testée.
Selon un mode de réalisation de la présente invention, les entrées de donnée des multiplexeurs associés à une même entrée des cellules sont connectées en parallèle.
Selon un mode de réalisation de la présente invention, les sorties des multiplexeurs et des cellules sont reliées à des condensateurs de capacité élevée par rapport à la capacité d'entrée des cellules et des multiplexeurs.
Selon un mode de réalisation de la présente invention, le circuit comprend plusieurs anneaux associés à différentes cellules à tester, un premier des anneaux étant destiné à tester des multiplexeurs avec une première combinaison d'états différents sur leurs entrées de donnée, un deuxième anneau étant destiné à tester des multiplexeurs avec une deuxième combinaison d'états différents sur leurs entrées, et un troisième anneau étant destiné à tester des éléments inverseurs.
Selon un mode de réalisation de la présente invention, le circuit comprend, pour chaque cellule à tester, un premier anneau dans lequel les sorties des cellules et des multiplexeurs sont reliées à des condensateurs de capacité élevée par rapport à la capacité d'entrée des cellules et des multiplexeurs, et un deuxième anneau dans lequel les sorties des cellules et des multiplexeurs ne sont pas reliées à des condensateurs.
Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles
la figure 1, précédemment décrite, symbolise une cellule logique
la figure 2 représente un anneau oscillant d'inverseurs permettant de mesurer le temps de propagation moyen d'un inverseur
la figure 3 représente un anneau oscillant selon la présente invention permettant de mesurer indépendamment les temps de propagation d'un inverseur pour les fronts positifs et pour les fronts négatifs
la figure 4 représente un anneau permettant de mesurer indépendamment les temps de propagation de chaque arc d'une cellule à plusieurs entrées ; et
la figure 5 représente une architecture d'un circuit de test permettant des mesures sur 1'ensemble des cellules logiques d'une bibliothèque.
la figure 1, précédemment décrite, symbolise une cellule logique
la figure 2 représente un anneau oscillant d'inverseurs permettant de mesurer le temps de propagation moyen d'un inverseur
la figure 3 représente un anneau oscillant selon la présente invention permettant de mesurer indépendamment les temps de propagation d'un inverseur pour les fronts positifs et pour les fronts négatifs
la figure 4 représente un anneau permettant de mesurer indépendamment les temps de propagation de chaque arc d'une cellule à plusieurs entrées ; et
la figure 5 représente une architecture d'un circuit de test permettant des mesures sur 1'ensemble des cellules logiques d'une bibliothèque.
La figure 2 représente un oscillateur classique constitué d'un nombre impair d'inverseurs connectés en anneau.
A la sortie de l'un quelconque des inverseurs, on recueille un signal rectangulaire de rapport cyclique sensiblement égal à 50 %. La demi-période du signal de sortie est égale au temps que met un front à 1 'entrée du premier inverseur à apparaître sur la sortie du dernier inverseur. Ce temps est la somme des temps de propagation des inverseurs.
Toutefois, parmi les 2k+1 inverseurs de l'anneau, k inverseurs reçoivent un front donné tandis que les k+l inverseurs restants reçoivent un front de polarité opposée. Le temps de propagation t,, d'un inverseur qui reçoit un front positif ou montant diffère du temps de propagation t~+ d'un inverseur qui reçoit un front négatif ou descendant (les signes "+" et "-" indiquent les polarités respectives du front entrant et du front sortant). I1 en résulte que la première demi-période du signal produit par l'anneau diffère de la deuxième demi-période par la valeur t+~ - t+. Cette valeur, trop faible, n'est pas mesurable et ne permet donc pas de déterminer indépendamment les valeurs t,, et t~,.
La figure 3 représente un mode de réalisation d'anneau oscillant selon la présente invention permettant, dans l'exemple d'un inverseur, de déterminer indépendamment le temps t+ de propagation des fronts positifs et le temps t~+ de propagation des fronts négatifs.
Dans cet anneau, 1 'entrée de chaque inverseur 10 reçoit la sortie d'un multiplexeur respectif 12 à deux entrées de donnée. L'entrée de sélection de chaque multiplexeur 12 est reliée à la sortie de l'inverseur 10 précédent.
Les multiplexeurs 12 ont, selon l'invention, deux fonctions. Une première fonction est de réaliser un inverseur programmable, c'est-à-dire un élément qui, dans un premier état, inverse le signal qu'il reçoit, et, dans l'autre état, n'inverse pas le signal. Pour cela, les deux entrées de donnée de chaque multiplexeur 12 reçoivent des états logiques opposes.
La deuxième fonction des multiplexeurs 12, qui sera décrite plus en détail en relation avec la figure 4, est de fixer 1 'état d'une entrée non-testée. Pour cela, les deux entrées de donnée de chaque multiplexeur sont mises au même état, celui que l'on veut appliquer à l'entrée non-testée.
Par ailleurs, lorsque les arcs à tester sont inverseurs, comme c'est le cas dans la figure 3, les multiplexeurs 12 sont mis dans un mode inverseur. Chaque multiplexeur 12 reçoit alors sur sa première entrée 1' état "0" et sur sa deuxième entrée 1 'état "1", la première entrée étant celle qui est sélectionnée lorsque l'entrée de sélection est à "1". Dans la figure 3, lorsqu'un multiplexeur reçoit un "1" de l'inverseur précédente, il fournit la valeur "0" et, lorsqu'il reçoit un "0", il fournit la valeur "1".
Si les arcs à tester ne sont pas inverseurs, comme on le verra en relation avec la figure 4, les états des deux entrées de donnée de chaque multiplexeur 12 sont intervertis, ce qui rend les multiplexeurs non-inverseurs.
En conséquence, chaque cellule à tester (10) précédée de son multiplexeur 12, constitue un élément non-inverseur. Pour que la boucle constituée de ces éléments oscille, on insère un inverseur supplémentaire 14 dans la boucle.
Dans la figure 3, entre deux fronts du signal de sortie de l'anneau, tous les inverseurs 10 reçoivent un front de même polarité. I1 en va de même pour les multiplexeurs 12. En conséquence, la durée d'un état prédéterminé du signal de sortie (une "demi-période") fait intervenir le même temps de propagation d'inverseur et le même temps de propagation de multiplexeur. Si on connaît le temps de propagation des multiplexeurs 12 et de l'inverseur 14, on pourra facilement déduire le temps de propagation des inverseurs 10 en mesurant les "demi-périodes" du signal de sortie. Ceci sera exposée plus en détail ultérieurement.
La figure 4 représente un mode de réalisation d'anneau oscillant selon l'invention prévu pour tester, à titre d'exemple, les arcs d'une porte ET 16.
Une porte ET 16 ne comporte que des arcs non-inverseurs.
Ainsi, les multiplexeurs 12 associés aux arcs à tester sont mis dans un mode non-inverseur, c'est-à-dire que les entrées sélectionnées par un "1" sont mises à "1" et les entrées sélectionnées par un "0" sont mises à "0".
En outre, une entrée d'une porte ET n'est sensibilisée que si son autre entrée est à "1". Ainsi, les autres entrées des portes 16 sont reliées aux sorties de multiplexeurs respectifs 12', connectés de la même manière que les multiplexeurs 12, mais dont les deux entrées sont mises à "1".
De manière générale, chaque entrée d'une cellule quelconque à tester est précédée d'un multiplexeur. Ce multiplexeur est mis en mode inverseur ou non-inverseur, comme les multiplexeurs 12, lorsque l'on souhaite tester 1 'entrée correspondante. Le multiplexeur précédant toute entrée non testée est réglé comme les multiplexeurs 12' pour fixer 1 'état de 1 'entrée correspondante à une valeur permettant de sensibiliser 1'entrée à tester.
L'inverseur supplémentaire 14 de la figure 3 peut être remplacé par une porte NON ET 14 dont une première entrée reçoit la sortie de la dernière cellule 16 à tester, dont une deuxième entrée reçoit un signal de validation EN, et dont une troisième entrée reçoit le complément RST* d'un signal de remise à zéro.
Lorsqu'un circuit de test comporte plusieurs anneaux pour tester différentes cellules, une telle porte 14' servira à remettre à zéro les anneaux en début de test et à valider un seul des anneaux à la fois.
Bien entendu, pour que les mesures fournies par un circuit selon 1' invention soient correctes, chaque cellule de 1 'anneau doit être testée dans les mêmes conditions. En particulier on teste le même arc dans chacune des cellules de 1 'anneau, même si ces cellules ont une fonction logique symétrique, comme une porte logique élémentaire. En effet, la structure interne d'une porte logique élémentaire n'est pas symétrique et les temps de propagation de chaque arc d'une telle porte sont effectivement différents. Ainsi, les entrées de donnée des multiplexeurs associés à une même entrée de cellule sont connectées en parallèle.
La figure 5 représente schematiquement un circuit de test selon l'invention. Ce circuit de test comporte un ensemble d'anneaux 50, du type de la figure 4, destinés à tester un ensemble de cellules logiques, par exemple d'une bibliothèque. Les entrées de donnée des multiplexeurs des anneaux 50 sont reliées aux lignes d'un bus de commande CTRL commun. Le nombre de lignes du bus de commande CTRL est égal au double du nombre d' entrées de la cellule ayant le plus grand nombre d'entrées.
Comme on l'a précédemment indiqué, pour chaque cellule à tester, on peut prévoir deux anneaux, l'un avec des condensateurs de forte valeur, et 1 'autre sans ces condensateurs.
Outre les anneaux 50 permettant de tester les cellules de bibliothèque, le circuit comprend des anneaux spéciaux. Un premier anneau spécial 52 est destiné à tester les éléments inverseurs 14'. Cet anneau pourra exceptionnellement être constitué seulement d'éléments inverseurs 14'.
Un deuxième anneau special 53 est destiné à tester les multiplexeurs 12 en mode non-inverseur. L'anneau est simplement constitué des multiplexeurs 12 connectés directement l'un à l'autre.
Un troisième anneau spécial 54 est destiné à tester les multiplexeurs en mode inverseur. Chaque multiplexeur est précédé d'un élément inverseur 14'.
Les entrées de donnée des multiplexeurs des anneaux spéciaux 52 à 54 sont mis à des états fixes et elles ne sont donc pas reliées au bus de commande CTRL.
Un seul anneau à la fois est sélectionné par un décodeur d'adresses 56 qui valide le signal EN de cet anneau en fonction d'une adresse Ad. En même temps, on applique des états adéquats sur les lignes du bus de commande CTRL afin de déterminer les temps de propagation souhaités de la cellule de l'anneau sélectionné. Une ligne de remise à zéro générale RST est reliée à tous les anneaux.
Si l'arc d'une cellule testée dans un anneau 50 est inverseur, le circuit de test permet d'établir les deux équations suivantes
TH50 = t14± + n(t12,, + t50±)
TL50 = t14-+ + n(t12,, + t50~+)
La valeur TH50 est la durée mesurée des "demi-périodes" à l'état haut du signal de sortie de l'anneau 50 sélectionné et la valeur TL50 est la durée mesuree des "demi-périodes" à l'état bas du signal de sortie. Les signes "+" et "-" designent les polarités respectives des fronts en entrée et en sortie d'un arc.
TH50 = t14± + n(t12,, + t50±)
TL50 = t14-+ + n(t12,, + t50~+)
La valeur TH50 est la durée mesurée des "demi-périodes" à l'état haut du signal de sortie de l'anneau 50 sélectionné et la valeur TL50 est la durée mesuree des "demi-périodes" à l'état bas du signal de sortie. Les signes "+" et "-" designent les polarités respectives des fronts en entrée et en sortie d'un arc.
Les valeurs t50 sont les temps de propagation que l'on souhaite déterminer, les valeurs t12 sont des temps de propagation d'un multiplexeur 12, les valeurs t14 sont des temps de propagation d'un élément inverseur 14', et n est le nombre de cellules testes dans un anneau.
A partir des temps mesurés TH50 et TL50, on cherche à calculer les temps t50+~ et t50~+. I1 faut donc connaître les deux temps t12 et les deux temps t14. Pour cela on se sert des anneaux spéciaux 52 et 54 qui permettent d'établir le système de quatre équations à quatre inconnues suivant
TH52 = t14± + n(tl4~+ + t14±)
TL52 = t14-+ + n(t14,, + t14-+)
TH54 = t14± + n(t12-+ + t14±)
TL54 = t14-+ + n(t12± + t14-+)
Toutefois, 1' anneau 52 étant constitué seulement d 'élé- ments inverseurs, on rencontre le problème évoqué en relation avec la figure 2, c'est-à-dire que l'on ne parvient pas à mesurer une différence entre les temps TH52 et TL52, différence égale à t14± - t14-+. I1 en résulte que les deux dernières équations cidessus sont équivalentes et ne permettent pas de calculer individuellement les temps t14± et t14-+.
TH52 = t14± + n(tl4~+ + t14±)
TL52 = t14-+ + n(t14,, + t14-+)
TH54 = t14± + n(t12-+ + t14±)
TL54 = t14-+ + n(t12± + t14-+)
Toutefois, 1' anneau 52 étant constitué seulement d 'élé- ments inverseurs, on rencontre le problème évoqué en relation avec la figure 2, c'est-à-dire que l'on ne parvient pas à mesurer une différence entre les temps TH52 et TL52, différence égale à t14± - t14-+. I1 en résulte que les deux dernières équations cidessus sont équivalentes et ne permettent pas de calculer individuellement les temps t14± et t14-+.
Une première solution consiste à considérer que les temps t14± et t14~, sont égaux, ce qui constitue une approximation raisonnable, car un élément inverseur simple, tel qu'une porte NON-ET 14', présente des temps de propagation peu différents.
Une solution plus précise consiste à introduire une équation supplémentaire en utilisant les résultats d'une simulation électrique de l'élément inverseur. L'équation supplémentaire pourra être du type tl4+~ = kt14-+, où le coefficient k, égal au rapport des temps de propagation fournis par la simulation, est de tordre de 0,9 pour un élément inverseur simple dans une technologie courante.
Lorsque les arcs à tester dans un anneau 50 sont noninverseurs, le circuit de test permet d'établir les équations suivantes
TH50 = T14± + n(t12 + t50~~)
TL50 = t14~, + n(t12++ + t50++)
L'anneau spécial 53 permet d'établir les équations suivantes
TH53 = T14± + ntl2~~
TL53 = t14,, + nt12++ à partir desquelles on détermine les temps de propagation t12++ et t12--, les temps t14 ayant déjà été calculés plus haut.
TH50 = T14± + n(t12 + t50~~)
TL50 = t14~, + n(t12++ + t50++)
L'anneau spécial 53 permet d'établir les équations suivantes
TH53 = T14± + ntl2~~
TL53 = t14,, + nt12++ à partir desquelles on détermine les temps de propagation t12++ et t12--, les temps t14 ayant déjà été calculés plus haut.
Afin de permettre des mesures optionnelles, les anneaux d'un circuit de test selon l'invention peuvent comporter d'autres éléments. Dans ce cas, on prévoit des anneaux spéciaux supplémentaires permettant de déterminer les temps de propagation de ces éléments.
Un circuit de test selon l'invention permet de mesurer tous les temps de propagation des cellules logiques d'une bibliothèque.
Lorsque ces cellules sont réalisées dans une technologie nouvelle, les paramètres mesurés pourront servir directement à constituer des modèles de simulation analogique (SPICE). Si la technologie est déjà mûre, les temps de propagation mesurés pourront être confrontés aux temps de propagation fournis par le simulateur analogique, afin de vérifier la concordance et éventuellement corriger les paramètres des modèles du simulateur analogique.
Bien entendu, les temps de propagation mesurés dépendent des capacités des interconnexions entre les cellules du circuit de test. Pour qu'une comparaison entre le circuit de test et le circuit simulé (en logique ou en analogique) soit valable, les capacités des interconnexions doivent être estimées et fournies en tant que paramètres de la simulation. Pour éviter cette étape et les erreurs qu'elle peut introduire, on préférera, comme cela est représenté en figure 3, connecter un condensateur C aux sorties des éléments disposés dans les anneaux du circuit de test. Les condensateurs C sont de valeur importante par rapport aux valeurs normales des lignes d'interconnexion. Ils sont réalisés à partir de transistors dont on connaît avec précision les capacités de grille. Ainsi, les capacités des lignes d'interconnexion pourront être négligées et on fournira les valeurs des condensateurs C comme paramètres de simulation à la place des capacités des lignes d'interconnexion.
Afin de multiplier les possibilités de test, le circuit de test pourra comprendre, pour chaque cellule, un premier anneau muni des condensateurs C et un deuxième anneau dépourvu des condensateurs C.
Un circuit de test selon l'invention permet par ailleurs de vérifier ou d'optimiser les compromis et choix effectués dans un simulateur logique. Un circuit de test selon l'invention, réalisé à partir d'un grand nombre de cellules logiques, est de taille comparable à celui d'un circuit typiquement réalisé dans une technologie donnée. En soumettant ce circuit de test au simulateur logique, il révélera des défauts de précision que présente le simulateur avec un circuit normal. Les paramètres du simulateur pourront alors être optimisés pour améliorer les résultats de simulation.
Claims (7)
1. Circuit destine à mesurer le temps de propagation d'un front de signal entre une entrée (A) et une sortie (Z) d'une cellule logique, caractérisé en ce qu'il comprend plusieurs cellules logiques de même type connectées en anneau, une même entrée à tester de chaque cellule étant reliée à la sortie d'un multiplexeur respectif (12) ayant une entrée de sélection reliée à la sortie de la cellule précédente, et deux entrées de donnée mises à des états fixes différents.
2. Circuit selon la revendication 1, caractérisé en ce que les états des entrées de donnée des multiplexeurs sont choisis pour que les entrées des cellules reçoivent successivement un front de même polarité entre deux fronts successifs d'un signal de sortie de 1 'anneau, un élément inverseur (14) étant connecté dans l'anneau.
3. Circuit selon la revendication 2, caractérisé en ce que chaque cellule (16) a plusieurs entrées dont une seule est testee, chaque entrée non-testée d'une cellule étant reliée à la sortie d'un multiplexeur respectif (12') ayant une entrée de sélection reliée à la sortie de la cellule précédente, et deux entrées de donnée mises à un même état fixe choisi pour sensibiliser l'entrée testée.
4. Circuit selon la revendication 2 ou 3, caractérisé en ce que les entrées de donnée des multiplexeurs associés à une même entrée des cellules sont connectées en parallèle.
5. Circuit selon l'une quelconque des revendications 1 à 4, caractérisé en ce que les sorties des multiplexeurs et des cellules sont reliées à des condensateurs (C) de capacité élevée par rapport à la capacité d'entrée des cellules et des multiplexeurs.
6. Circuit selon 1 'une quelconque des revendications 1 à 5, caractérisé en ce qu'il comprend plusieurs anneaux associés à différentes cellules à tester, un premier des anneaux étant destiné à tester des multiplexeurs avec une première combinaison d'états différents sur leurs entrées de donnée, un deuxième anneau étant destiné à tester des multiplexeurs avec une deuxième combinaison d'états différents sur leurs entrées, et un troisième anneau étant destiné à tester des éléments inverseurs.
7. Circuit selon la revendication 6, caractérisé en ce qu'il comprend, pour chaque cellule à tester, un premier anneau dans lequel les sorties des cellules et des multiplexeurs sont reliées à des condensateurs (C) de capacité élevée par rapport à la capacité d'entrée des cellules et des multiplexeurs, et un deuxième anneau dans lequel les sorties des cellules et des multiplexeurs ne sont pas reliées à des condensateurs.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9709529A FR2766275B1 (fr) | 1997-07-21 | 1997-07-21 | Circuit de validation de modeles de simulation |
US09/119,424 US6253352B1 (en) | 1997-07-21 | 1998-07-20 | Circuit for validating simulation models |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9709529A FR2766275B1 (fr) | 1997-07-21 | 1997-07-21 | Circuit de validation de modeles de simulation |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2766275A1 true FR2766275A1 (fr) | 1999-01-22 |
FR2766275B1 FR2766275B1 (fr) | 1999-10-15 |
Family
ID=9509667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9709529A Expired - Fee Related FR2766275B1 (fr) | 1997-07-21 | 1997-07-21 | Circuit de validation de modeles de simulation |
Country Status (2)
Country | Link |
---|---|
US (1) | US6253352B1 (fr) |
FR (1) | FR2766275B1 (fr) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9925659D0 (en) * | 1999-10-29 | 1999-12-29 | Sgs Thomson Microelectronics | A method of verification |
US6883858B2 (en) * | 2002-09-10 | 2005-04-26 | L & L Products, Inc. | Structural reinforcement member and method of use therefor |
US6954916B2 (en) * | 2003-06-30 | 2005-10-11 | International Business Machines Corporation | Methodology for fixing Qcrit at design timing impact |
US7679458B2 (en) * | 2005-12-06 | 2010-03-16 | Qualcomm, Incorporated | Ring oscillator for determining select-to-output delay of a multiplexer |
US8661385B1 (en) * | 2007-09-07 | 2014-02-25 | Altera Corporation | Method and apparatus for performing delay annotation |
US11146251B2 (en) * | 2020-03-06 | 2021-10-12 | International Business Machines Corporation | Performance-screen ring oscillator with switchable features |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5355097A (en) * | 1992-09-11 | 1994-10-11 | Cypress Semiconductor Corporation | Potentiometric oscillator with reset and test input |
EP0671633A2 (fr) * | 1994-03-11 | 1995-09-13 | Advanced Micro Devices, Inc. | Test d'unités de retard à réglage variable |
US5561692A (en) * | 1993-12-09 | 1996-10-01 | Northern Telecom Limited | Clock phase shifting method and apparatus |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4458165A (en) * | 1983-03-23 | 1984-07-03 | Tektronix, Inc. | Programmable delay circuit |
US4737670A (en) * | 1984-11-09 | 1988-04-12 | Lsi Logic Corporation | Delay control circuit |
US4712061A (en) * | 1986-02-24 | 1987-12-08 | Gould Inc. | Small propagation delay measurement for digital logic |
US4782283A (en) * | 1986-08-22 | 1988-11-01 | Aida Corporation | Apparatus for scan testing CMOS integrated systems |
US5083299A (en) * | 1990-07-16 | 1992-01-21 | Unisys Corporation | Tester for measuring signal propagation delay through electronic components |
US5121003A (en) * | 1990-10-10 | 1992-06-09 | Hal Computer Systems, Inc. | Zero overhead self-timed iterative logic |
US5428626A (en) * | 1993-10-18 | 1995-06-27 | Tektronix, Inc. | Timing analyzer for embedded testing |
US5471176A (en) * | 1994-06-07 | 1995-11-28 | Quantum Corporation | Glitchless frequency-adjustable ring oscillator |
US5594690A (en) * | 1995-12-15 | 1997-01-14 | Unisys Corporation | Integrated circuit memory having high speed and low power by selectively coupling compensation components to a pulse generator |
US5731725A (en) * | 1995-12-15 | 1998-03-24 | Unisys Corporation | Precision delay circuit |
JP3564855B2 (ja) * | 1996-02-29 | 2004-09-15 | ソニー株式会社 | リングオシレータ及びpll回路 |
US5811983A (en) * | 1996-09-03 | 1998-09-22 | Integrated Device Technology, Inc. | Test ring oscillator |
US5920211A (en) * | 1997-03-27 | 1999-07-06 | Lsi Logic Corporation | Fully digital clock synthesizer |
-
1997
- 1997-07-21 FR FR9709529A patent/FR2766275B1/fr not_active Expired - Fee Related
-
1998
- 1998-07-20 US US09/119,424 patent/US6253352B1/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5355097A (en) * | 1992-09-11 | 1994-10-11 | Cypress Semiconductor Corporation | Potentiometric oscillator with reset and test input |
US5561692A (en) * | 1993-12-09 | 1996-10-01 | Northern Telecom Limited | Clock phase shifting method and apparatus |
EP0671633A2 (fr) * | 1994-03-11 | 1995-09-13 | Advanced Micro Devices, Inc. | Test d'unités de retard à réglage variable |
Non-Patent Citations (1)
Title |
---|
"Critical path oscillator", IBM TECHNICAL DISCLOSURE BULLETIN., vol. 33, no. 1a, June 1990 (1990-06-01), NEW YORK US, pages 198 - 200, XP000120158 * |
Also Published As
Publication number | Publication date |
---|---|
FR2766275B1 (fr) | 1999-10-15 |
US6253352B1 (en) | 2001-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0198729B1 (fr) | Système de simulation d'un circuit électronique | |
FR2619926A1 (fr) | Procede et appareil de diagnostic de defauts sur une carte de circuit | |
FR2839156A1 (fr) | Circuit et procede utilisant de multiples chaines d'acces serie pour le test de cirucuits integres | |
EP0146661B1 (fr) | Procédé de diagnostic électrique pour identifier une cellule défectueuse dans une chaîne de cellules formant un registre à décalage | |
FR2522157A1 (fr) | Circuit de calcul rapide de la transformee de fourier discrete d'un signal, destine notamment a un appareil de controle par courants de foucault | |
EP0578540B1 (fr) | Procédé pour tester le fonctionnement d'un circuit intégré spécialisé, et circuit intégré spécialisé s'y rapportant | |
EP2422206A1 (fr) | Dispositif de surveillance du fonctionnement d'un circuit numerique | |
EP0020999B1 (fr) | Procédé de mesure du temps d'accès d'adresse de mémoires, mettant en oeuvre la technique de recirculation des données, et testeur en résultant | |
EP2779221A1 (fr) | Procédé, dispositif et système de détection automatique de défauts dans des vias TSV | |
FR2844373A1 (fr) | Procede d'analyse de couplage d'interconnexion dans les circuits vlsi | |
FR2766275A1 (fr) | Circuit de validation de modeles de simulation | |
WO2016030314A1 (fr) | Procédé de détermination de paramètres linéiques d'une ligne de transmission | |
FR2602940A1 (fr) | Circuit logique de detection pour un systeme de transmission synchrone de donnees a symboles ternaires et controle des interferences intersymboles de type reponse partielle classe 1 n = 2 | |
EP3025161A1 (fr) | Procede automatise d'analyse d'une carte portant plusieurs composants de type fpga | |
FR2903497A1 (fr) | Circuit electronique comprenant un mode de test securise par insertion de donnees leurres dans la chaine de test,procede associe. | |
EP2069814B1 (fr) | Registre scan parametrique, circuit numerique et procede de test d'un circuit numerique a l'aide d'un tel registre | |
FR2873833A1 (fr) | Debogueur d'un circuit electronique fabrique a partir d'un programme en langage de description de materiel | |
FR2548382A1 (fr) | Dispositif de test de circuit numerique | |
FR2870955A1 (fr) | Debogueur d'un circuit electronique fabrique a partir d'un programme en langage de description de materiel | |
FR2720173A1 (fr) | Circuit intégré comprenant des moyens pour arrêter l'exécution d'un programme d'instructions quand une combinaison de points d'arrêt est vérifiée. | |
FR2459980A1 (fr) | Procedes et appareils de localisation de defauts dans des circuits electroniques | |
FR2538908A1 (fr) | Procede de mesure en courant alternatif de l'intensite par rapport a l'intensite nominale, et circuit electronique correspondant | |
FR2768575A1 (fr) | Procede de mesure de delai temporel et circuit mettant en oeuvre le procede | |
FR2759826A1 (fr) | Procede de simulation precise de circuits logiques | |
EP4293564A1 (fr) | Calendrier de fautes pour accélération de l'analyse de fiabilité des circuits intégrés |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
CD | Change of name or company name | ||
ST | Notification of lapse |
Effective date: 20070330 |