FR2768575A1 - Procede de mesure de delai temporel et circuit mettant en oeuvre le procede - Google Patents
Procede de mesure de delai temporel et circuit mettant en oeuvre le procede Download PDFInfo
- Publication number
- FR2768575A1 FR2768575A1 FR9711610A FR9711610A FR2768575A1 FR 2768575 A1 FR2768575 A1 FR 2768575A1 FR 9711610 A FR9711610 A FR 9711610A FR 9711610 A FR9711610 A FR 9711610A FR 2768575 A1 FR2768575 A1 FR 2768575A1
- Authority
- FR
- France
- Prior art keywords
- logic
- signal
- signals
- circuit
- logic gates
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/22—Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral
- H03K5/24—Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral the characteristic being amplitude
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
Landscapes
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Tests Of Electronic Circuits (AREA)
- Logic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
L'invention concerne un procédé pour mesurer un décalage temporel entre des fronts dans des premier et deuxième signaux logiques (Ckl, Ck2). Il comprend les étapes suivantes :- fournir le premier signal (Ck1) à un ensemble de portes logiques montées en série, de sorte à propager un front dans l'ensemble de portes lorsqu'un front apparaît dans le premier signal, et- lorsqu'un front apparaît dans le deuxième signal, échantillonner des signaux produits par ces portes,- déterminer, dans les signaux échantillonnés, la position du front qui s'est propagé, cette position étant représentative du décalage temporel entre les fronts dans les premier et deuxième signaux. L'invention concerne également un circuit (1) pour mesurer le décalage temporel entre des fronts dans les premier et deuxième signaux (Ck1, Ck2).
Description
Procédé de mesure de délai temporel
et circuit mettant en oeuvre le procédé.
et circuit mettant en oeuvre le procédé.
L'invention concerne le domaine des circuits intégrés. Elle concerne plus particulièrement la détermination du décalage temporel entre des deux signaux logiques, autrement dit du décalage temporel entre des fronts dans ces signaux logiques.
La production de circuits intégrés comprend généralement des étapes de test des circuits fabriqués. La fabrication peut elle-même être, éventuellement, destinée à des fins de test, quand il s'agit de valider un nouveau circuit ou de transférer la fabrication d'un circuit d'une technologie éprouvée vers une nouvelle technologie.
Ces tests sont habituellement de deux types : les tests structurels, d'une part, et les tests fonctionnels, d'autre part.
Les tests structurels ont pour objet de vérifier que les circuits ne présentent pas de défauts physiques les rendant inopérants, ces défauts étant indépendants des applications des circuits.
Les tests fonctionnels ont pour objet de vérifier, pour les circuits ne présentant pas de défauts physiques, que ces circuits fonctionnent correctement pour les applications auxquelles ils sont destinés.
Dans le cadre des tests fonctionnels, on peut être amené à mesurer des délais temporels internes aux circuits testés.
Ces délais peuvent concerner, par exemple, les temps d'accès à des dispositifs internes aux circuits tels que des mémoires. On peut aussi être amené à mesurer le délai entre deux signaux logiques. Ainsi, on pourra vouloir vérifier le décalage entre les fronts de deux signaux d'horloge utilisés dans un même circuit. On pourra également vouloir vérifier le temps de propagation d'un signal dans des portes logiques. Par exemple, si un nouveau procédé de fabrication est utilisé, on souhaite généralement déterminer des délais typiques, tels que les délais de traversée d'inverseurs logiques. La détermination de ces délais est importante, car ils vont déterminer la fréquence de fonctionnement pouvant être atteinte par les circuits fabriqués.
Les tests, généralement pilotés par des machines de test automatiques, peuvent être réalisés avant encapsulation, par le biais de sondes permettant d'accéder aux plots d'accès du circuit. Ils peuvent également être réalisés après encapsulation, en accédant au circuit par le biais de ses broches d'accès.
Comme on cherche de plus en plus à diminuer la surface des circuits tout en augmentant l'intégration des circuits et leur fréquence de fonctionnement, cette méthode a plusieurs inconvénients.
Tout d'abord, en pratique, le nombre d'entrées et de sorties des circuits n'augmente pas proportionnellement à la complexité grandissante de ces circuits. La diminution des résolutions minimales de fabrication permet de disposer de circuits de plus en plus complexes, à surface égale, alors que le nombre de plots augmente peu.
En effet, ce nombre de plots est fonction du type de boîtier dans lequel doit être inséré le circuit. Or, la taille des broches doit être suffisamment importante pour permettre d'assurer un soudage fiable de ses broches et, proportionnellement, cette taille diminue moins vite que les résolutions minimales de fabrication. Comme, par ailleurs, on souhaite généralement limiter la surface des circuits, cela se traduit par un accroissement du nombre de circuits internes non accessibles directement depuis l'extérieur des circuits.
Il se pose donc, lors des tests, un problème d'accès aux éléments internes des circuits. Cela est d'autant plus vrai pour les circuits comprenant, par exemple, des processeurs internes mettant en oeuvre des périphériques sans relation avec l'extérieur, tels que des mémoires de programmes ou des mémoires dynamiques.
Un autre problème provient de la volonté de disposer de circuits de plus en plus performants en terme de fréquence de fonctionnement. On est donc amené à mesurer des délais temporels de plus en plus courts. Cela revient, en pratique, à utiliser des appareils de test à large bande passante, aptes à échantillonner des signaux aux fréquences de fonctionnement des circuits, ces fréquences pouvant atteindre plusieurs centaines de mégahertz. Cela pose des problèmes de réalisation des appareils de test, par exemple au niveau des sondes permettant d'accéder aux plots ou broches des circuits.
Un autre problème provient de la présence éventuelle de circuits internes fonctionnant à une fréquence de fonctionnement supérieure à celle des circuits internes d'interface avec l'extérieur. Les circuits internes d'interface sont, généralement, dimensionnés par rapport aux charges qu'ils doivent supporter sur les plots ou broches d'entrée et de sortie. On a tendance à utiliser des circuits tampons aptes à fournir des courants importants mais dont les performances, en terme de fréquence de fonctionnement, sont limitées, sous peine de devoir supporter une consommation très importante. Par contre, pour réaliser les circuits internes logiques, on peut utiliser des fréquences plus importantes, les charges supportées par ces circuits étant généralement faibles. Si cela est le cas, on pourra difficilement mesurer des délais liés à ces circuits logiques internes puisque, même si on peut accéder à ces circuits par le biais des plots ou broches, on sera limité en fréquence par les circuits d'interface.
Un but de l'invention est de proposer un procédé de mesure de délai temporel amélioré, qui permette de s'affranchir du problème de bande passante lié aux appareils de test et aux circuits d'interface des circuits intégrés.
Un autre but de l'invention est de proposer un procédé qui ne nécessite pas de dispositifs internes utilisant une surface importante du circuit dans lequel on réalise la mesure.
Ainsi, l'invention propose un procédé pour mesurer un décalage temporel entre des fronts dans des premier et deuxième signaux logiques. ll comprend les étapes suivantes:
- fournir le premier signal logique à un ensemble de portes logiques montées en série, de sorte à propager un front dans l'ensemble de portes logiques lorsqu'un front apparaît dans le premier signal logique, et
- lorsqu'un front apparaît dans le deuxième signal logique, échantillonner des signaux produits par ces portes logiques, et
- déterminer, dans les signaux échantillonnés, la position du front qui s'est propagé, cette position étant représentative du décalage temporel entre les fronts dans les premier et deuxième signaux logiques.
- fournir le premier signal logique à un ensemble de portes logiques montées en série, de sorte à propager un front dans l'ensemble de portes logiques lorsqu'un front apparaît dans le premier signal logique, et
- lorsqu'un front apparaît dans le deuxième signal logique, échantillonner des signaux produits par ces portes logiques, et
- déterminer, dans les signaux échantillonnés, la position du front qui s'est propagé, cette position étant représentative du décalage temporel entre les fronts dans les premier et deuxième signaux logiques.
Selon un mode de réalisation, il comprend une étape de rebouclage de tout ou partie des portes logiques pour former un oscillateur en anneau et produire un signal oscillant dont la fréquence est représentative d'un temps de traversée unitaire de ces portes logiques.
L'invention concerne également un circuit pour mesurer un décalage temporel entre des fronts dans des premier et deuxième signaux logiques. Il comprend:
- un ensemble de N portes logiques montées en série, N étant un nombre entier, lesdites portes logiques comprenant au moins une entrée pour recevoir un signal logique d'entrée et une sortie pour produire un signal logique de sortie dont l'état est représentatif de l'état du signal d'entrée, ledit ensemble recevant le premier signal logique et,
- des moyens d'échantillonnage reliés aux sorties des portes logiques pour échantillonner tout ou partie des signaux logiques produits en sortie des portes logiques, I'échantillonnage étant piloté par le deuxième signal logique.
- un ensemble de N portes logiques montées en série, N étant un nombre entier, lesdites portes logiques comprenant au moins une entrée pour recevoir un signal logique d'entrée et une sortie pour produire un signal logique de sortie dont l'état est représentatif de l'état du signal d'entrée, ledit ensemble recevant le premier signal logique et,
- des moyens d'échantillonnage reliés aux sorties des portes logiques pour échantillonner tout ou partie des signaux logiques produits en sortie des portes logiques, I'échantillonnage étant piloté par le deuxième signal logique.
Selon un mode de réalisation, des moyens d'échantillonnage sont reliés aux sorties de toutes les portes logiques, de sorte que toutes les portes logiques supportent une charge équivalente sur leur sortie, que les signaux produits par ces portes soient échantillonnés ou non.
Selon un mode de réalisation, il comprend des moyens de multiplexage pour fournir, à la chaîne de portes logiques, le premier signal ou l'un des signaux de sortie produits dans la chaîne, de sorte à pouvoir former un oscillateur en anneau par rebouclage d'un nombre impair de portes logiques.
Selon un mode de réalisation, il comprend un circuit diviseur de fréquence pour produire un signal oscillant de sortie lorsque l'on forme un oscillateur en anneau, ledit signal oscillant étant produit en divisant la fréquence d'un signal oscillant produit par l'oscillateur en anneau.
Selon un mode de réalisation, il comprend un circuit de traitement pour produire un signal de sortie à partir des signaux échantillonnés, ce circuit de traitement étant agencé de sorte à minimiser le nombre de signaux de sortie du circuit.
Selon un mode de réalisation, le circuit de traitement est un circuit de codage comprenant des moyens pour déterminer la position d'un motif représentatif du décalage temporel à déterminer et pour coder cette position en logique hexadécimale.
Selon un mode de réalisation, le circuit de traitement est un circuit de conversion parallèle - série.
Selon un mode de réalisation, les moyens d'échantillonnage comprennent des bascules de type D ayant une entrée de commande pour recevoir le deuxième signal logique.
Selon un mode de réalisation, les portes logiques sont des inverseurs.
D'autres avantages et particularités apparaîtront à la lecture de la description qui suit d'un exemple de réalisation de l'invention, à lire conjointement aux dessins annexés dans lesquels:
- la figure I illustre un exemple de circuit selon l'invention,
- les figures 2a à 2d illustrent un exemple de chronogrammes de signaux logiques produits ou reçus par le circuit de la figure 1.
- la figure I illustre un exemple de circuit selon l'invention,
- les figures 2a à 2d illustrent un exemple de chronogrammes de signaux logiques produits ou reçus par le circuit de la figure 1.
La figure 1 illustre un exemple de circuit I mettant en oeuvre l'invention.
Le circuit 1 est utilisé pour produire, sur une sortie 3, un signal logique de sortie
Delay représentatif d'un délai temporel entre deux signaux logiques d'entrée Ckl et
Ck2, reçus sur des entrées 5 et 7. Les signaux étant de type logique, ledit délai temporel correspondra à un délai entre les apparitions de fronts dans ces deux signaux.
Delay représentatif d'un délai temporel entre deux signaux logiques d'entrée Ckl et
Ck2, reçus sur des entrées 5 et 7. Les signaux étant de type logique, ledit délai temporel correspondra à un délai entre les apparitions de fronts dans ces deux signaux.
Les signaux Ckl et Ck2 seront par exemple des signaux d'horloge. Dans la suite de la description, on supposera à titre d'exemple que le signal Ck2 est un signal d'horloge produit à partir du signal Ckl. Le circuit 1 sera utilisé pour calculer le retard du signal
Ck2 par rapport au signal Ckl. Dans l'exemple, ledit retard sera un retard entre les fronts du signal Ckl et les fronts descendants du signal Ck2.
Ck2 par rapport au signal Ckl. Dans l'exemple, ledit retard sera un retard entre les fronts du signal Ckl et les fronts descendants du signal Ck2.
Les signaux sont des signaux logiques pouvant prendre deux états, un état haut noté "1" et un état bas noté "0". A chaque état correspondra un potentiel électrique. A l'état "1" correspond un potentiel d'alimentation haut Vdd et à l'état "0" correspond un potentiel d'alimentation bas Vss. Le seuil entre l'état bas et l'état haut correspondra à un potentiel moyen (Vdd - Vss) / 2 = Vdd / 2, en considérant que Vss = O volt.
Le signal Ckl est fourni à un ensemble de N circuits logiques montés en série, N nombre entier. Ces circuits reçoivent au moins un signal logique d'entrée et produisent au moins un signal logique de sortie. On choisira ces circuits de telle sorte qu'une transition d'état dans le signal d'entrée reçu par ces circuits entraîne une transition d'état dans le signal de sortie produit par ces circuits.
De préférence, on choisira des circuits logiques identiques, de sorte que le délai de traversée des circuits logiques soit le même pour tous les circuits logiques. Par délai de traversée, on entend le délai entre le moment où se produisent des transitions d'état dans les signaux logiques d'entrée et le moment où apparaît la répercussion de ces transitions sur les états des signaux logiques de sortie. En notant dg le délai de traversée d'un circuit logique, le délai de traversée des N circuits logiques sera égal à
N * dg.
N * dg.
Dans l'exemple, les N circuits logiques sont des inverseurs Gi, G2, . . GN-1, GN. Ils comprennent une entrée et une sortie. Le premier inverseur G1 reçoit un signal logique d'entrée SO et produit un signal logique S1. Les entrées des inverseurs
Gi avec i indice variant de 2 à N, sont reliées aux sorties des inverseurs Gi-l et produisent des signaux logiques Si.
Gi avec i indice variant de 2 à N, sont reliées aux sorties des inverseurs Gi-l et produisent des signaux logiques Si.
Le signal SO est fourni par un multiplexeur 9 comprenant deux entrées. Le multiplexeur 9 reçoit les signaux Ckl et SN sur ses entrées. Il est commandé par un signal logique de commande Loop reçu sur une entrée de commande 11 du circuit 1.
On supposera que SO = Ckl si Loop = O et que SO = SN si Loop = 1.
Comme on le verra par la suite, I'emploi du multiplexeur 9 permet de calculer un délai relatif entre les signaux Ckl et Ck2, lorsque S0 = Ckl, ou de calculer le délai de traversée unitaire des inverseurs montés en série, lorsque S0 = SN.
Le circuit 1 comprend des moyens d'échantillonnage des signaux S0, S1, S2 ..
SN produits par les inverseurs. Ces moyens d'échantillonnage comprennent, dans l'exemple décrit, des bascules de type D. Chaque bascule comprend une entrée de donnée D, une sortie de donnée Q et une entrée de commande. On supposera que
I'échantillonnage se produit sur front montant dans le signal de commande reçu par les bascules.
I'échantillonnage se produit sur front montant dans le signal de commande reçu par les bascules.
De préférence, on utilisera N + 1 bascules LO, L1, L2, . . LN, pour recevoir, respectivement, les signaux SO, S1, S2, ... SN sur leur entrée de donnée. On note QO,
Q1, Q2 ... QN les signaux produits sur les sorties Q des bascules. Ces bascules seront utilisées soit pour échantillonner les signaux Si produits par les inverseurs Gi, soit comme charge de sortie d'une partie des inverseurs.
Q1, Q2 ... QN les signaux produits sur les sorties Q des bascules. Ces bascules seront utilisées soit pour échantillonner les signaux Si produits par les inverseurs Gi, soit comme charge de sortie d'une partie des inverseurs.
Les entrées de commande des bascules utilisées pour échantillonner reçoivent le signal Ck2. Les bascules utilisées comme charge de sortie, tel la bascule LN-I de la figure 1, pourront ne pas recevoir de signal de commande ou bien recevoir un signal de commande inactif, d'état constant.
On pourrait choisir d'échantillonner les N signaux produits par les N inverseurs.
Dans l'exemple décrit, ce n'est pas le cas. Cela dépendra de la précision recherchée dans la détermination des délais. Plus le nombre de signaux échantillonnés est important, plus la détermination des délais sera précise.
On pourrait, si le nombre de signaux échantillonnés est inférieur à N, ne pas placer de bascule en sortie des inverseurs produisant les signaux qui ne sont pas pns en compte. On pourrait alors introduire une différence entre les délais de traversée des inverseurs produisant les signaux échantillonnés et les autres inverseurs. En effet, ces délais de traversée sont déterminés à la fois par la constitution interne des circuits logiques utilisés, mais également par la charge que voient ces circuits sur leur sortie.
En plaçant des bascules, non utilisées pour la détermination des délais, en sortie des inverseurs produisant des signaux non échantillonnés, on minimise les différences entre les délais de traversée des N inverseurs. En effet, les inverseurs Gl à GN-I supportent alors une charge équivalente sur leur sortie, cette charge étant formée par l'entrée de l'inverseur suivant et par l'entrée de donnée de la bascule associée à chaque inverseur.
Les sorties de donnée des bascules qui sont utilisées pour échantillonner les signaux produits par les inverseurs sont reliées à un circuit de traitement 13. Les sorties des autres bascules, utilisées comme charge de sortie des inverseurs, ne sont pas reliées. Il en est ainsi de la bascule LN- 1, dans l'exemple illustré sur la figure 1.
Le circuit de traitement produit le signal Delay à partir des signaux Q1, Q2
QN reçus. Ce signal Delay sera représentatif de la position d'un front qui s'est propagé. Cette position est représentative du décalage temporel entre des fronts dans les signaux Ckl et Ck2 et permet donc facilement, à un appareil de test ou à un processeur interne, de déterminer un décalage temporel entre ces signaux.
QN reçus. Ce signal Delay sera représentatif de la position d'un front qui s'est propagé. Cette position est représentative du décalage temporel entre des fronts dans les signaux Ckl et Ck2 et permet donc facilement, à un appareil de test ou à un processeur interne, de déterminer un décalage temporel entre ces signaux.
L'objet du circuit de traitement est de minimiser le nombre de signaux produits en sortie du circuit 1. En effet, on pourrait fournir, sur des sorties, tous les signaux produits par les bascules. Cela peut amener en pratique à utiliser un nombre de sorties trop important. L'utilisation d'un circuit de traitement permet de minimiser ce nombre de sorties. Ce circuit pourra être, par exemple, un circuit codant en hexadécimal la donnée formée par les différents signaux reçus des bascules. On pourra aussi, par exemple, utiliser un circuit de traitement opérant une conversion parallèle - série
On va maintenant décrire le fonctionnement du circuit 1. On donnera également un exemple de circuit de traitement, en langage VHDL.
On va maintenant décrire le fonctionnement du circuit 1. On donnera également un exemple de circuit de traitement, en langage VHDL.
Les figures 2a, 2b, 2c et 2d illustrent des chronogrammes des signaux Ckl, Si,
S2 et Ck2.
S2 et Ck2.
1 - Détermination du retard entre Ckl et Ck2.
On va tout d'abord considérer l'hypothèse où le multiplexeur 9 fournit le signal
Ckl à l'entrée du premier inverseur G1. On considérera que le délai de traversée du multiplexeur 9 est négligeable, autrement dit qu'on a SO = Ckl.
Ckl à l'entrée du premier inverseur G1. On considérera que le délai de traversée du multiplexeur 9 est négligeable, autrement dit qu'on a SO = Ckl.
Supposons que les signaux Ckl = SO et Ck2 sont initialement à l'état "0" Les signaux S1 et S2 sont alors, respectivement, à l'état " 1 " et à l'état "0".
Supposons qu'à un instant t = tO, une transition positive apparaisse dans le signal
Ckl. Ce signal va passer de l'état "0" à l'état "1" à un instant tl correspondant au moment où le signal Ckl atteint la valeur Vdd /2.
Ckl. Ce signal va passer de l'état "0" à l'état "1" à un instant tl correspondant au moment où le signal Ckl atteint la valeur Vdd /2.
Suite à l'apparition de la transition positive dans le signal Ckl, l'inverseur G1 va produire une transition négative dans le signal S1, avec un retard dgb. A l'instant tO + dgb, le potentiel du signal S1 va chuter pour atteindre, à l'instant t2 = tl + dgb, la valeur Vdd / 2. A cet instant, I'état du signal S1 passe de "1" à "0".
Suite à l'apparition de la transition négative dans le signal Ckl, l'inverseur G2 va produire une transition positive dans le signal S2, avec un retard dgh. A l'instant tO + dgb + dgh, le potentiel du signal S2 va augmenter pour atteindre, à l'instant t2 + dgh, la valeur Vdd / 2. A cet instant, l'état du signal S2 passe de "O" à "1".
Entre les instants tl et t2 = tl + dgb, compte tenu d'un temps de traversée non nul des inverseurs, on aura simultanément Ckl = 1 et S1 = 1. De même, entre les instants t2 et t2 + dgh, on aura simultanément S1 = O et S2 = 0.
La transition initiale va ainsi se propager dans la chaîne d'inverseurs, les inverseurs ayant, successivement, durant un laps de temps égal à leur délai de traversée, des signaux d'entrée et de sortie dans le même état logique.
De même, Supposons qu'à un instant t = t3, une transition négative apparaisse dans le signal Ckl. Ce signal va passer de l'état "1" à l'état "0" à un instant t4 correspondant au moment où le signal Ckl atteint la valeur Vdd I 2.
Suite à l'apparition de la transition négative dans le signal Ckl, I'inverseur G1 va produire une transition positive dans le signal S1, avec un retard dgh. A l'instant t3 + dgh, le potentiel du signal S 1 va augmenter pour atteindre, à l'instant t5 = t4 + dgb, la valeur Vdd / 2. A cet instant, I'état du signal S1 passe de "O" à "1".
Suite à l'apparition de la transition positive dans le signal S1, l'inverseur G2 va produire une transition négative dans le signal S2, avec un retard dgb. A l'instant t3 + dgh + dgb, le potentiel du signal S2 va diminuer pour atteindre, à l'instant t5 + dgb, la valeur Vdd / 2. A cet instant, l'état du signal S2 passe de " 1 " à "0".
Entre les instants t4 et t5 = t4 + dgh, compte tenu d'un temps de traversée non nul des inverseurs, on aura simultanément Ckl = O et S1 = O. De même, entre les instants t5 et t5 + dgb, on aura simultanément S1 = 1 et S2 = 1.
On remarquera que l'on a considéré deux délais de traversée, dgh et dgb, selon que le signal d'entrée des inverseurs est affecté d'une transition positive ou d'une transition négative. En pratique, les inverseurs sont généralement dimensionnés pour que ces délais soient équivalents et l'on supposera, pour simplifier, qu'ils sont égaux et quel'onadg= dgb = dgh.
Supposons qu'un front montant apparaisse dans le signal Ck2, à un instant tO + dck. On va mémoriser les états des signaux SO, S1, S2 . . SN qui sont échantillonnés, à un instant tL proche de l'instant to + dck. On pourra considérer que cet instant tL correspond à l'instant où le potentiel du signal Ck2 atteint la valeur Vdd I 2.
Si tL est antérieur à tl, les signaux en entrée et en sortie des inverseurs auront des états complémentaires. Si on échantillonne les signaux SO, S1, S2 et S3, on obtiendra la configuration 0 - 1 - 0 - 1. Si tL est entre les instants tl et t2 = tl + dg, alors on obtiendra la configuration 1 - 1 - 0 - 1. Si tL est entre les instants t2 et t2 + dg, on obtiendra la configuration 1 - 0 - 0 - 1. Si tL est entre les instants t2 + dg et t2 + (2 * dg), on obtiendra la configuration 1 - 0 - 1 - 1, et ainsi de suite.
Au délai dt = (tl - tO + dg) près, on connaît donc le délai entre les fronts montants dans les signaux Ckl et Ck2. On pourra supposer que cela est également vrai pour les fronts descendants. Sinon, on pourra dupliquer les bascules et commander celles-ci par l'inverse du signal Ck2, où bien encore utiliser des bascules ayant des entrées de commande sensibles à des fronts descendants.
La détermination du délai entre les transitions dans les signaux Ckl et Ck2 pourra être par exemple utilisée pour piloter la production de ces signaux, s'il existe un lien de causalité ou un lien fonctionnel entre ces signaux. Ainsi, si le signal Ck2 est produit à partir du signal Ckl, on pourra augmenter ou diminuer de manière précise le retard du signal Ck2 par rapport au signal Ckl, par exemple en utilisant des circuits à retard de longueur variable.
Si ces signaux sont fournis par un dispositif externe, tel qu'un appareil de test, on pourra évaluer l'impact des délais entre ces signaux sur le fonctionnement du circuit testé. Ainsi, les signaux Ckl et Ck2 pourront être par exemple des signaux d'adresse et de donnée d'une mémoire. On pourra également étudier, par exemple, les retards introduits entre ces signaux entre le moment où ils sont fournis au circuit testé et le moment où ils sont fournis à des noeuds internes donnés du circuit testé.
On remarquera que le délai mesuré entre les signaux Ckl et Ck2 est un délai relatif, mesuré par rapport aux fronts du signal Ckl, et exprimé en nombre d'inverseurs traversés. Or, le temps de traversée dg des inverseurs peut être variable, par exemple en fonction de la tension d'alimentation ou de la température ambiante.
Comme on va le voir, le circuit 1 illustré permet de produire un signal représentatif de ce délai dg.
2 - Détermination de dg.
On va maintenant considérer l'hypothèse où Loop = 1. Le multiplexeur 9 fournit le signal SN à l'entrée du premier inverseur G1. On considérera que le délai de traversée du multiplexeur 9 est négligeable, autrement dit qu'on a SO = SN.
Si N est impair, on va réaliser un oscillateur en anneau dont la fréquence de fonctionnement sera égale à 1 / (N * dg). De même que dans le cas précédent on va assister à la propagation d'un front dans la chaîne d'inverseurs, à la seule différence que cette propagation va être entretenue par les inverseurs tant que ceux-ci forment une boucle.
Lorsque que N est impaire et que SO = SN, on peut déterminer la valeur de dg, et cela de plusieurs manières.
On peut, par exemple, utiliser un diviseur de fréquence pour produire un signal d'horloge de fréquence inférieure à la fréquence du signal produit par la chaîne d'inverseurs. Ainsi, sur la figure 1, on a disposé un circuit diviseur de fréquence 15 recevant le signal SN et produisant un signal Sout sur une sortie 15. L'utilisation d'un circuit diviseur de fréquence permet de produire un signal de fréquence compatible avec la bande passante d'un appareil de test et / ou la fréquence des plots d'entrée / sortie d'un circuit intégré comprenant le circuit 1, si la fréquence 1 / (N * dg) ne l'est pas dans certaines conditions. On ne décrira pas en détail le circuit diviseur de fréquence, ce type de circuit étant bien connu de l'homme de l'art.
On peut également prévoir, dans le circuit de traitement 13, un système de détermination de la fréquence d'oscillation, en utilisant deux échantillonnages successifs dans les bascules et en divisant le délai entre les échantillonnages par le nombre d'inverseurs traversés. Il convient alors, bien entendu, de prévoir un délai entre les échantillonnages qui soit inférieur à la durée minimale estimée de propagation de l'oscillation dans l'ensemble de la chaîne. Cette méthode ne permet pas, à l'inverse de la première, de mesurer directement la valeur absolue du temps de traversée.
Si on ne souhaite pas déterminer la valeur dg, on n'utilisera pas de multiplexeur 9 et on fournira directement le signal Ckl à l'entrée de inverseur G1. Dans ce cas, comme les transitions ne sont pas créées dans le circuit 1, on pourra utiliser un nombre
N pair de circuits logiques dans la chaule.
N pair de circuits logiques dans la chaule.
Le circuit 1 pourra être un circuit - test, c'est-à-dire être réalisé dans un but de validation de conception et/ou de technologie. Dans ce cas, les signaux Ckl et Ck2 pourront être des signaux fournis par un appareil de test. Connaissant le délai entre ces signaux, l'appareil de test pourra déterminer le temps de traversée des inverseurs, en divisant ledit délai par le nombre d'inverseurs traversés. On pourra tester l'évolution de ce temps de traversée en fonction des variations de fabrication et/ou de fonctionnement, et déterminer ainsi les valeurs extrêmes et typiques de ce temps de traversée.
Ce pourra être également un circuit destiné à la vente et dans lequel on produit un signal Ck2 à partir d'un signal Ckl, et pour lequel on souhaite disposer d'un moyen de contrôle de la production du signal Ck2. Ce pourra être également un circuit destiné à la vente et dans lequel on souhaite vérifier, après fabrication, des valeurs de caractéristiques telles que le temps de traversée de portes logiques.
3 - Circuit de traitement.
Pour ce qui concerne l'exemple de réalisation du circuit de traitement 13, on en donnera une description fonctionnelle, en langage VHDL:
Dans l'exemple ci-dessous, le circuit de traitement est un circuit de codage qui permet, à partir de 32 signaux reçus, de produire un signal de sortie formé de 5 signaux. Pour cela, on code en hexadécimal la valeur binaire formée par les 32 signaux reçus, ce qui permet de diminuer fortement le nombre de sorties du circuit.
library IEEE, synopsys;
use WEE.std~logic~1 164.all; use IEEE.std~logic~arith.all
entity dec is
port ( INQ: In std logicvector(31 dowto 0);
Delay: Out std~logicvector (4 downto 0));
end dec
architecture behavioral of dec is
begin
process (INQ)
variable RES : natural := 31
variable found : boolean := false;
begin
RES := 31 ,
found := false;
for I in 31 downto 1 loop
ifINQ(i)=INQ(i- 1) then found := true; exit,
else RES := RES - 1; endif;
end loop;
if found then Delay < = CONV~STD~LOGIC~VECTOR (RES, 5);
else Delay < = "00000"; endif;
end process,
end behavioral,
Entre les lignes "entity dec" et "end dec", on définit les signaux logiques reçus (INQ) par le circuit 13 et les signaux produits (Delay) par le circuit 13. Ces signaux sont des vecteurs formés de plusieurs signaux logiques.
Dans l'exemple ci-dessous, le circuit de traitement est un circuit de codage qui permet, à partir de 32 signaux reçus, de produire un signal de sortie formé de 5 signaux. Pour cela, on code en hexadécimal la valeur binaire formée par les 32 signaux reçus, ce qui permet de diminuer fortement le nombre de sorties du circuit.
library IEEE, synopsys;
use WEE.std~logic~1 164.all; use IEEE.std~logic~arith.all
entity dec is
port ( INQ: In std logicvector(31 dowto 0);
Delay: Out std~logicvector (4 downto 0));
end dec
architecture behavioral of dec is
begin
process (INQ)
variable RES : natural := 31
variable found : boolean := false;
begin
RES := 31 ,
found := false;
for I in 31 downto 1 loop
ifINQ(i)=INQ(i- 1) then found := true; exit,
else RES := RES - 1; endif;
end loop;
if found then Delay < = CONV~STD~LOGIC~VECTOR (RES, 5);
else Delay < = "00000"; endif;
end process,
end behavioral,
Entre les lignes "entity dec" et "end dec", on définit les signaux logiques reçus (INQ) par le circuit 13 et les signaux produits (Delay) par le circuit 13. Ces signaux sont des vecteurs formés de plusieurs signaux logiques.
On considérera que le circuit 13 reçoit un vecteur INQ formé de 32 signaux logiques et fournit un signal de sortie Delay qui est un vecteur formé de 5 signaux logiques.
Entre les lignes "architecture behavioral ..." et "end behavioral" on décrit le fonctionnement souhaité pour le circuit 13. On définit, en premier lieu, des signaux logiques internes au circuit 13 qui sont utilisés pour produire le vecteur Delay fourni en sortie par ce circuit.
On va utiliser un indice naturel RES et une variable booléenne Found.
Initialement, on initialise RES à 31 et on a Found = O. On compare INQ (i) et
INQ(i-1), pour i compris entre 31 et 1. Dès que l'on a INQ(i) = INQ(i-l) on a trouvé l
INQ(i-1), pour i compris entre 31 et 1. Dès que l'on a INQ(i) = INQ(i-l) on a trouvé l
Bien entendu, des modifications pourront être apportées par l'homme du métier sans sortir du cadre de l'invention.
Ainsi, on pourra utiliser des portes logiques de type différent que les inverseurs.
On pourra aussi modifier les polarités des différents signaux produits et adapter les circuits décrits en conséquence.
On pourra bien sûr disposer de circuits de mesure fonctionnant parallèlement, par exemple si l'on souhaite mesurer les temps de traversée de différents types de portes logiques et /ou si l'on souhaite mesurer plusieurs délais entre différents signaux logiques.
Claims (10)
1 - Procédé pour mesurer un décalage temporel entre des fronts dans des premier et deuxième signaux logiques (Ckl, Ck2) caractérisé en ce qu'il comprend les étapes suivantes:
- fournir le premier signal logique (Ckl) à un ensemble de portes logiques montées en série, de sorte à propager un front dans l'ensemble de portes logiques lorsqu'un front apparaît dans le premier signal logique, et
- lorsqu'un front apparaît dans le deuxième signal logique, échantillonner des signaux produits par ces portes logiques,
- déterminer, dans les signaux échantillonnés, la position du front qui s'est propagé, cette position étant représentative du décalage temporel entre les fronts dans les premier et deuxième signaux logiques.
2 - Procédé selon la revendication 1, caractérisé en ce qu'il comprend une étape de rebouclage de tout ou partie des portes logiques pour former un oscillateur en anneau et produire un signal oscillant (Sout) dont la fréquence est représentative d'un temps de traversée unitaire de ces portes logiques.
3 - Circuit (1) pour mesurer un décalage temporel entre des fronts dans des premier et deuxième signaux logiques (Ckl, Ck2), caractérisé en ce qu'il comprend
- un ensemble de N portes logiques (G1, G2, . ., GN) montées en série, N étant un nombre entier, lesdites portes logiques comprenant au moins une entrée pour recevoir un signal logique d'entrée et une sortie pour produire un signal logique de sortie dont l'état est représentatif de l'état du signal d'entrée, ledit ensemble recevant le premier signal logique et,
- des moyens d'échantillonnage (LO, L 1, . . LN) reliés aux sorties des portes logiques pour échantillonner tout ou partie des signaux logiques produits en sortie des portes logiques, I'échantillonnage étant piloté par le deuxième signal logique.
4 - Circuit selon la revendication 3, caractérisé en ce que des moyens d'échantillonnage sont reliés aux sorties de toutes les portes logiques, de sorte que toutes les portes logiques supportent une charge équivalente sur leur sortie, que les signaux produits par ces portes soient échantillonnés ou non.
5 - Circuit selon l'une des revendications 3 ou 4, caractérisé en ce qu'il comprend des moyens de multiplexage pour fournir, à la chaîne de portes logiques, le premier signal (Ckl) ou l'un des signaux de sortie (SN) produits dans la chaîne, de sorte à pouvoir former un oscillateur en anneau par rebouclage d'un nombre impair de portes logiques.
6 - Circuit selon la revendication 5 caractérisé en ce qu'il comprend un circuit diviseur de fréquence (13) pour produire un signal oscillant de sortie (Sout) lorsque l'on forme un oscillateur en anneau, ledit signal oscillant étant produit en divisant la fréquence d'un signal oscillant (SN) produit par l'oscillateur en anneau.
7 - Circuit selon l'une des revendications 3 à 6, caractérisé en ce qu'il comprend un circuit de traitement (13) pour produire un signal de sortie (Delay) à partir des signaux échantillonnés, ce circuit de traitement étant agencé de sorte à minimiser le nombre de signaux de sortie du circuit (1).
8 - Circuit selon la revendication 7, caractérisé en ce que le circuit de traitement est un circuit de codage comprenant des moyens pour déterminer la position d'un motif représentatif du décalage temporel à déterminer et pour coder cette position en logique hexadécimale.
9 - Circuit selon la revendication 7, caractérisé en ce que le circuit de traitement est un circuit de conversion parallèle - série.
10 - Circuit selon l'une des revendications 3 à 9, caractérisé en ce que les moyens d'échantillonnage comprennent des bascules de type D ayant une entrée de commande pour recevoir le deuxième signal logique.
1 1 - Circuit selon l'une des revendications 3 à 10, caractérisé en ce que les portes logiques sont des inverseurs.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9711610A FR2768575B1 (fr) | 1997-09-12 | 1997-09-12 | Procede de mesure de delai temporel et circuit mettant en oeuvre le procede |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9711610A FR2768575B1 (fr) | 1997-09-12 | 1997-09-12 | Procede de mesure de delai temporel et circuit mettant en oeuvre le procede |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2768575A1 true FR2768575A1 (fr) | 1999-03-19 |
FR2768575B1 FR2768575B1 (fr) | 2004-04-09 |
Family
ID=9511205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9711610A Expired - Fee Related FR2768575B1 (fr) | 1997-09-12 | 1997-09-12 | Procede de mesure de delai temporel et circuit mettant en oeuvre le procede |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2768575B1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1435689A1 (fr) * | 2003-01-02 | 2004-07-07 | Texas Instruments Incorporated | Procédé et circuit pour réduire le décalage d'horloge entre deux signaux |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4618788A (en) * | 1983-02-17 | 1986-10-21 | Itt Industries, Inc. | Integrated delay circuit for digital signals |
US4814879A (en) * | 1987-08-07 | 1989-03-21 | Rca Licensing Corporation | Signal phase alignment circuitry |
EP0392653A2 (fr) * | 1989-03-30 | 1990-10-17 | Plessey Semiconductors Limited | Interface de données asynchrone pour vitesse élevée |
US4977582A (en) * | 1988-03-31 | 1990-12-11 | At&T Bell Laboratories | Synchronization of non-continuous digital bit streams |
US5146478A (en) * | 1989-05-29 | 1992-09-08 | Siemens Aktiengesellschaft | Method and apparatus for receiving a binary digital signal |
EP0553744A2 (fr) * | 1992-01-31 | 1993-08-04 | Konica Corporation | Méthode pour retarder un signal, dispositif et circuit pour retarder un signal pour l'utilisation dans l'appareil |
US5272390A (en) * | 1991-09-23 | 1993-12-21 | Digital Equipment Corporation | Method and apparatus for clock skew reduction through absolute delay regulation |
EP0639004A1 (fr) * | 1993-08-11 | 1995-02-15 | Advanced Micro Devices, Inc. | Procédé et dispositif de retard numérique de temps |
-
1997
- 1997-09-12 FR FR9711610A patent/FR2768575B1/fr not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4618788A (en) * | 1983-02-17 | 1986-10-21 | Itt Industries, Inc. | Integrated delay circuit for digital signals |
US4814879A (en) * | 1987-08-07 | 1989-03-21 | Rca Licensing Corporation | Signal phase alignment circuitry |
US4977582A (en) * | 1988-03-31 | 1990-12-11 | At&T Bell Laboratories | Synchronization of non-continuous digital bit streams |
EP0392653A2 (fr) * | 1989-03-30 | 1990-10-17 | Plessey Semiconductors Limited | Interface de données asynchrone pour vitesse élevée |
US5146478A (en) * | 1989-05-29 | 1992-09-08 | Siemens Aktiengesellschaft | Method and apparatus for receiving a binary digital signal |
US5272390A (en) * | 1991-09-23 | 1993-12-21 | Digital Equipment Corporation | Method and apparatus for clock skew reduction through absolute delay regulation |
EP0553744A2 (fr) * | 1992-01-31 | 1993-08-04 | Konica Corporation | Méthode pour retarder un signal, dispositif et circuit pour retarder un signal pour l'utilisation dans l'appareil |
EP0639004A1 (fr) * | 1993-08-11 | 1995-02-15 | Advanced Micro Devices, Inc. | Procédé et dispositif de retard numérique de temps |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1435689A1 (fr) * | 2003-01-02 | 2004-07-07 | Texas Instruments Incorporated | Procédé et circuit pour réduire le décalage d'horloge entre deux signaux |
US6897694B2 (en) | 2003-01-02 | 2005-05-24 | Texas Instruments Incorporated | Circuitry for reducing the skew between two signals |
Also Published As
Publication number | Publication date |
---|---|
FR2768575B1 (fr) | 2004-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7795939B2 (en) | Method and system for setup/hold characterization in sequential cells | |
US6058496A (en) | Self-timed AC CIO wrap method and apparatus | |
EP2422206B1 (fr) | Dispositif de surveillance du fonctionnement d'un circuit numerique | |
EP0146661B1 (fr) | Procédé de diagnostic électrique pour identifier une cellule défectueuse dans une chaîne de cellules formant un registre à décalage | |
EP0887653A1 (fr) | Procédé de test fonctionnel et circuit comprenant des moyens de mise en oeuvre du procédé | |
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 | |
US20150069994A1 (en) | Timing Skew Characterization Apparatus and Method | |
EP0648017B1 (fr) | Dispositif de surveillance du déphasage entre deux signaux d'horloge | |
FR2844373A1 (fr) | Procede d'analyse de couplage d'interconnexion dans les circuits vlsi | |
US9720035B2 (en) | Performance-screen ring oscillator (PSRO) using an integrated circuit test signal distribution network | |
FR2814876A1 (fr) | Positionnement du front et mesure de la gigue pour des elements electroniques | |
JPH06168997A (ja) | 集積回路テストウェハ | |
EP0809255B1 (fr) | Cellule pour registre à décalage | |
WO2015010898A1 (fr) | Procede automatise d'analyse d'une carte portant plusieurs composants de type fpga | |
FR2768575A1 (fr) | Procede de mesure de delai temporel et circuit mettant en oeuvre le procede | |
US7096144B1 (en) | Digital signal sampler | |
FR2889328A1 (fr) | Dispositif d'interfacage unidirectionnel de type fifo entre un bloc maitre et un bloc esclave, bloc maitre et bloc esclave correspondants | |
WO2008001010A2 (fr) | Procédé de modélisation du bruit injecté dans un système électronique | |
FR2766275A1 (fr) | Circuit de validation de modeles de simulation | |
JP2012073169A (ja) | オンチップジッタデータ取得回路、ジッタ測定装置、及びその方法 | |
FR3033412A1 (fr) | Testeur de circuits integres sur une galette de silicium et circuit integre. | |
FR2866435A1 (fr) | Procede d'elaboration automatique de fichiers de description hdl de systeme electronique digital integre et systeme digital elecronique integre obtenu | |
FR2548382A1 (fr) | Dispositif de test de circuit numerique | |
US8008935B1 (en) | Tester and a method for testing an integrated circuit | |
EP2069814B1 (fr) | Registre scan parametrique, circuit numerique et procede de test d'un circuit numerique a l'aide d'un tel registre |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
CD | Change of name or company name | ||
ST | Notification of lapse |
Effective date: 20070531 |