FR2960978A1 - Comparateur de sequence asynchrone pour circuit d'autotest integre - Google Patents

Comparateur de sequence asynchrone pour circuit d'autotest integre Download PDF

Info

Publication number
FR2960978A1
FR2960978A1 FR1054446A FR1054446A FR2960978A1 FR 2960978 A1 FR2960978 A1 FR 2960978A1 FR 1054446 A FR1054446 A FR 1054446A FR 1054446 A FR1054446 A FR 1054446A FR 2960978 A1 FR2960978 A1 FR 2960978A1
Authority
FR
France
Prior art keywords
sequence
circuit
sequences
test
bit
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
Application number
FR1054446A
Other languages
English (en)
Other versions
FR2960978B1 (fr
Inventor
Herve Le-Gall
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Grenoble 2 SAS
Original Assignee
STMicroelectronics Grenoble 2 SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Grenoble 2 SAS filed Critical STMicroelectronics Grenoble 2 SAS
Priority to FR1054446A priority Critical patent/FR2960978B1/fr
Priority to US13/154,378 priority patent/US8572447B2/en
Publication of FR2960978A1 publication Critical patent/FR2960978A1/fr
Application granted granted Critical
Publication of FR2960978B1 publication Critical patent/FR2960978B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318385Random or pseudo-random test pattern
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31712Input or output aspects
    • G01R31/31717Interconnect testing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

L'invention concerne un procédé de test d'une connexion de données (105) utilisant au moins une séquence de test, le procédé comprenant les étapes suivantes : fournir une première séquence de bits par un premier générateur ; dupliquer la première séquence pour générer une deuxième séquence de bits identique à la première ; et générer ladite au moins une séquence de test sur la base des première et deuxième séquences.

Description

B10149 - 10-GR2-014 1 COMPARATEUR DE SÉQUENCE ASYNCHRONE POUR CIRCUIT D'AUTOTEST INTÉGRÉ
Domaine de l'invention La présente invention concerne un circuit pour réaliser un autotest intégré (BIST), et en particulier un procédé et un circuit BIST pour générer et vérifier une séquence de test. Exposé de l'art antérieur Avec l'augmentation de la complexité et des fréquences d'horloge des circuits intégrés et avec l'utilisation de nouvelles technologies à 32 nm, il est souhaitable de réaliser des tests rigoureux des connexions de données entre des puces et/ou des bornes d'entrée/sortie des circuits intégrés. Un objectif de ces tests est d'assurer qu'une large plage de signaux peut être émise et reçue correctement par les connexions de données.
Un circuit d'autotest intégré (BIST) est un type d'équipement de test automatique destiné à tester de façon rigoureuse des connexions entre puces, et qui est intégré avec le circuit fonctionnel de la puce. Le circuit BIST comprend en général deux éléments principaux : un générateur de séquences de bits pseudo-aléatoires (PRBS), qui génère une séquence de bits pseudo-aléatoire à utiliser en tant que séquence de test qui est B10149 - 10-GR2-014
2 transmise sur la connexion de données pendant une phase de test ; et un circuit de vérification qui vérifie que la séquence de test est correctement reçue au niveau récepteur. Un problème existe avec des circuits BIST existants qui sont en général relativement coûteux en terme de surface de puce. L'une des raisons est liée au générateur PRBS qui est souvent positionné au niveau de chaque côté émetteur et récepteur. En outre, les circuits BIST existants ne permettent pas en général une flexibilité en ce qui concerne la difficulté de la sollicitation appliquée par la séquence de test. La difficulté est définie par la longueur de la séquence, et détermine le nombre maximum de bits "0" ou "1" contigus qui sont générés par le générateur PRBS. Résumé Un objet de modes de réalisation de la présente invention est de résoudre au moins partiellement un ou plusieurs problèmes de l'art antérieur. Ainsi, selon un aspect de la présente invention, il est prévu un procédé de test d'une connexion de données utilisant au moins une séquence de test, le procédé comprenant les étapes suivantes : fournir une première séquence de bits par un premier générateur ; dupliquer la première séquence pour générer une deuxième séquence de bits identique à la première ; et générer ladite au moins une séquence de test sur la base des première et deuxième séquences. Selon un mode de réalisation, le procédé comprend en outre : émettre ladite au moins une séquence de test sur une connexion de données ; recevoir ladite au moins une séquence de test par un circuit récepteur couplé à la connexion de données ; et vérifier que les première et deuxième séquences sont identiques. Selon un autre mode de réalisation, la vérification que les première et deuxième séquences sont identiques comprend la réalisation d'une opération OU-Exclusif sur au moins deux B10149 - 10-GR2-014
3 signaux de test reçus par l'intermédiaire de la connexion de données. Selon un autre mode de réalisation, ladite au moins une séquence de test est générée en transmettant, alterna- tivement, des parties des première et deuxième séquences sur une même ligne. Selon un autre mode de réalisation, ladite au moins une séquence de test est générée en combinant, par une fonction logique OU-Exclusif, la première séquence avec une troisième séquence générée par un deuxième générateur. Selon un autre mode de réalisation, ladite au moins une séquence de test comprend au moins trois séquences de test, une première desdites au moins trois séquences de test comprenant une combinaison de la première et de la troisième séquence, une deuxième desdites au moins trois séquences de test comprenant une combinaison de la deuxième séquence avec une quatrième séquence générée par un troisième générateur, et une troisième desdites au moins trois séquences de test comprenant une combinaison des troisième et quatrième séquences.
Selon un autre aspect de la présente invention, il est prévu un circuit pour tester une connexion de données en utilisant au moins une séquence de test, le circuit comprenant : un premier générateur agencé pour générer une première séquence de bits ; un circuit de traitement de signal agencé pour dupliquer la première séquence pour générer une deuxième séquence identique à la première séquence, et pour générer ladite au moins une séquence de test sur la base des première et deuxième séquences. Selon un mode de réalisation, le circuit de traitement de signal comprend un bloc adaptateur agencé pour recevoir en parallèle chacune des première et deuxième séquences à une première cadence d'horloge, et pour fournir alternativement, pour transmission sur une ligne de données de la connexion de données, des parties des première et deuxième séquences à une B10149 - 10-GR2-014
4 deuxième cadence d'horloge supérieure à la première cadence d'horloge. Selon un autre mode de réalisation, le circuit de traitement de signal comprend au moins une porte OU-Exclusif pour combiner au moins l'une des première et deuxième séquences avec au moins une autre séquence. Selon un autre aspect de la présente invention, il est prévu un premier bloc de circuit comprenant le circuit ci-dessous pour générer au moins une séquence de bits ; un circuit récepteur pour recevoir ladite au moins une séquence de bits par l'intermédiaire de la connexion de données ; et un comparateur pour détecter des erreurs dans la transmission de données. Selon un mode de réalisation, le circuit récepteur comprend un premier tampon adapté à recevoir une première partie de la séquence de test générée sur la base de la première séquence, et un deuxième tampon adapté à recevoir une deuxième partie de la séquence de test générée sur la base de la deuxième séquence, dans lequel le comparateur est agencé pour comparer les bits mémorisés dans les premier et deuxième tampons.
Selon un autre mode de réalisation, le circuit récepteur comprend au moins une porte OU-Exclusif ou au moins une porte NON OU-Exclusif pour combiner deux, ou plus, desdites au moins deux séquences de test. Selon un autre mode de réalisation, le comparateur comprend une porte OU-Exclusif ou une porte NON OU-Exclusif. Selon un autre aspect de la présente invention, il est prévu un circuit intégré comprenant le circuit ci-dessus. Selon un autre aspect de la présente invention, il est prévu un dispositif électronique comprenant le circuit intégré ci-dessus. Brève description des dessins Ces objets, caractéristiques et avantages, ainsi que d'autres 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 : B10149 - 10-GR2-014
la figure 1 illustre des blocs de circuit reliés entre eux par l'intermédiaire d'une connexion de données et comprenant un circuit BIST selon un mode de réalisation de la présente invention ; 5 la figure 2 illustre un module de génération de flux de bits pseudo-aléatoires selon un mode de réalisation de la présente invention ; les figures 3A à 3J illustrent des exemples de générateurs pseudo-aléatoires selon des modes de réalisation de 10 la présente invention ; la figure 4 illustre un module de génération de flux de bits pseudo-aléatoires selon un autre mode de réalisation de la présente invention ; la figure 5 illustre des blocs de circuit reliés entre 15 eux par l'intermédiaire d'une connexion de données et comprenant un circuit BIST selon un autre mode de réalisation de la présente invention ; la figure 6 illustre un bloc de circuit comportant une interface de sortie comprenant un circuit BIST selon un mode de 20 réalisation de la présente invention ; la figure 7 illustre des blocs de circuit reliés entre eux par l'intermédiaire d'une connexion de données et comprenant un circuit BIST selon un autre mode de réalisation de la présente invention ; 25 les figures 8A à 8E illustrent le circuit de la figure 7 plus en détail selon divers modes de réalisation de la présente invention ; la figure 9 illustre des blocs de circuit reliés entre eux par l'intermédiaire d'une connexion de données et comprenant 30 un circuit BIST selon encore un autre mode de réalisation de la présente invention ; et la figure 10 illustre un dispositif électronique selon un mode de réalisation de la présente invention.
B10149 - 10-GR2-014
6 Description détaillée de modes de réalisation de la présente invention Dans la description suivante, seuls les aspects qui sont utiles pour la compréhension de l'invention sont décrits en détail. En particulier, la fonction principale des blocs de circuit pendant un fonctionnement normal n'a pas été décrite, l'invention pouvant s'appliquer à tout bloc de circuit, quelle que soit sa fonction principale. En outre, la mise en oeuvre de la connexion de données à tester, qui pourrait être série, parallèle ou tout autre type de connexion, n'a pas été décrite en détail, l'invention pouvant s'appliquer à tout type de connexion de données. La figure 1 illustre un circuit 100 comprenant des blocs de circuit 102 et 104, qui sont par exemple deux puces prévues sur un circuit intégré. Dans cet exemple, le bloc de circuit 102 transmet, par l'intermédiaire d'une connexion de données 105, des signaux de données au bloc de circuit 104. La connexion de données 105 comprend une ou plusieurs lignes de données 106 connectées entre le circuit d'émission 108 du bloc de circuit 102 et le circuit de réception 110 du bloc de circuit 104. La connexion de données 105 est par exemple une connexion série ou parallèle, et les circuits d'émission 108 et de réception 110 mettent en oeuvre par exemple la couche physique de la connexion par une interface entre une ou plusieurs lignes de données d'entrée et les lignes de données 106. Chaque ligne de données 106 est constituée par exemple d'un seul fil, ou d'une paire différentielle de fils pour assurer une immunité au bruit. On notera qu'une interface série comprenant plus qu'une seule ligne de données n'est pas la même chose qu'une interface parallèle. Dans une interface parallèle, les bits d'un symbole, par exemple, 8 ou 12 bits de données, sont transmis en même temps sur 8 ou 12 lignes de données parallèles, tandis que dans une interface série les bits de données formant chaque symbole de données sont transmis en série, l'un après B10149 - 10-GR2-014
7 l'autre sur la même ligne de données. Par exemple, dans une interface série, un premier multiplet est envoyé sur la première ligne de données, un deuxième multiplet est envoyé sur la deuxième ligne de données puis un troisième multiplet est envoyé sur la première ligne de données, et ainsi de suite. Cependant, le même multiplet n'est pas réparti sur de nombreuses lignes de données. Bien que cela ne soit pas représenté en figure 1, en plus des lignes de données 106, la connexion de données 105 peut comprendre une ou plusieurs lignes d'horloge, des lignes de commande utilisées pour des protocoles, etc. Pendant un fonctionnement normal, un signal de données standard D est envoyé sur une ou plusieurs lignes 112 vers le circuit d'émission 108 de la connexion de données 105. Pendant un mode de test, un circuit de génération de séquence (PAT GEN) 111 remplace le signal de données standard D par une séquence de test S, comprenant une ou plusieurs séquences de bits, qui sont envoyées sur lesdites une ou plusieurs lignes 112 vers le circuit d'émission 108 de la connexion de données 105.
En particulier, le circuit 111 comprend un module de génération PRBS (PRBS UNIT) 114, qui génère lesdites une ou plusieurs séquences de test S et les fournit sur une ou plusieurs lignes 115 vers une entrée d'un multiplexeur 116 qui est contrôlé de façon à sélectionner soit le signal de données D soit la séquence de test S pour fourniture sur les lignes 112. Ainsi, pendant le mode de test, la séquence de test S est transmise sur la connexion de données 105 pour tester la connexion de données 105 pour une large plage de signaux. Du côté récepteur, pendant un fonctionnement normal, les données D reçues par l'intermédiaire de la connexion de données 105 sont fournies par le circuit récepteur 110 au circuit de traitement (non représenté en figure 1) qui réalise la fonction normale du bloc de circuit 104. Pendant le mode de test, la séquence de test S' reçue 35 par l'intermédiaire de la connexion de données 105 est fournie à B10149 - 10-GR2-014
8 un circuit de vérification de séquence (SEQ VER) 122, qui comprend un module de génération PRBS (PRBS UNIT) 124. Le module de génération 124 est identique au module de génération 114 du bloc de circuit 102, et est contrôlé de façon à générer la même séquence de bits. Après adaptation temporelle des flux de données S et S', comme par exemple de la compensation du temps de latence entre les générations de S et S' (non-représenté), un comparateur (COMP) 126 du circuit 122 compare la séquence de bits S' reçue par l'intermédiaire de la connexion de données 105 à la séquence de bits S reçue du générateur PRBS 124. Les différences détectées par le comparateur 126 permettent d'évaluer la réussite de la transmission sur la connexion de données. Le comparateur 126 est par exemple mis en oeuvre par une porte OU-Exclusif (XOR), qui compare les séquences S et S' bit à bit. La séquence de test générée par les générateurs 114 et 124 a une valeur de difficulté déterminée. La métrique de sollicitation est reliée à la longueur de séquence du flux de bits, autrement dit au nombre de bits avant que la séquence de bits ne se répète. La longueur de la séquence est égale au nombre d'états possibles pour le générateur PRBS. En particulier, chaque générateur PRBS mémorise n bits, et les combinaisons de valeurs possibles de ces bits définissent le nombre d'états du générateur.
Ici, le niveau de difficulté va être appelé valeur de n bits, qui représente le nombre de bits mémorisés par le générateur PRBS, et est aussi relié à la séquence maximum de bits "0" ou "1" dans la séquence de bits de sortie. Comme cela sera décrit plus en détail dans la suite, la mise en oeuvre d'un PRBS à n bits comprend en général n-1 bascules, et a une longueur de séquence et un nombre d'états égaux à 2n-1. Souvent, des erreurs ne se produisent dans la connexion de données que lorsqu'un certain niveau de difficulté est atteint, autrement dit après la transmission d'un certain nombre de bits "0" ou "1" en séquence. Ainsi, le niveau de B10149 - 10-GR2-014
9 difficulté est en général choisi en fonction de l'utilisation attendue de la connexion de données. Cependant, dans certains cas, les blocs de circuit 102, 104 peuvent être utilisés pour différentes applications, et ainsi il est souhaitable de prévoir un niveau de difficulté variable. Ce niveau de difficulté peut donc être évaluée et une métrique de sollicitation lui être associée. La figure 2 illustre un module de génération PRBS (PRBS GEN) 200, qui met en oeuvre par exemple les modules 114 et 10 124 de la figure 1, et permet de sélectionner des niveaux de difficulté variables. Le module de génération PRBS 200 comprend des premier et second générateurs PRBS (PRBS GEN) 202 et 204. Le générateur PRBS 202 est un générateur à Q bits, tandis que le générateur 15 PRBS 204 est un générateur à R bits, Q et R étant des entiers non égaux. Ainsi, la séquence A provenant du générateur 202 va avoir une valeur de difficulté de Q bits, tandis que la séquence B provenant du générateur 204 va avoir une valeur de difficulté de R bits. 20 Les séquences A et B sont fournies bit à bit à un bloc XOR 206, qui génère une séquence de bits de sortie égale à la combinaison XOR des séquences A et B, notée ici A*B. La séquence A, la séquence B et la séquence A*B ont chacune un niveau de difficulté différent, et le module de génération 200 permet 25 d'appliquer l'un de ces trois niveaux de difficulté différents. En particulier, les générateurs 202 et 204 comprennent des entrées de validation 208 et 210, respectivement. Si seul le générateur 202 est activé, la séquence de sortie S de la porte XOR 206 va être la séquence A. Si seul le générateur 204 est 30 activé, la séquence de sortie S de la porte XOR 206 va être la séquence B. Si les deux générateurs 204 et 206 sont activés, la séquence de sortie S de la porte XOR 206 va être la séquence A*B. On distingue deux types de séquence de test, l'un 35 appelé pseudo-aléatoire ou PRBS (en anglais "Pseudo Random Bit B10149 - 10-GR2-014
10 Stream) et l'autre appelé plus généralement séquence de test. Une séquence PRBS est générée par un générateur de n bits ayant 2n-1 états, et donc une longueur de séquence de 2n-1 bits. Tandis qu'une séquence de test peut être une séquence pseudo- aléatoire, elle peut ne pas posséder la caractéristique de générer une séquence d'une longueur de 2n-1 bits. Dans l'exemple de la figure 2, les séquences A et B sont des séquence PRBS, et la séquence S est une séquence de test, qui peut ou non être une séquence pseudo-aléatoire.
Bien sûr, la porte XOR 206 pourrait être remplacée par un bloc mettant en oeuvre une variante de la fonction XOR, comme une fonction XNOR, qui est l'inverse de la fonction XOR. Le nombre d'états de chaque générateur 202, 204, qui est aussi égal à la longueur de séquence de chaque générateur, est un nombre premier, ou est égal au produit d'un ou plusieurs nombres premiers. En particulier, l'équation polynomiale représentant chaque PRBS à n bits est par exemple un polynôme primitif, ce qui signifie qu'il est irréductible, et donc, sous certaines conditions comprises dans les connaissances de l'homme de l'art, la longueur de la séquence est le nombre premier 2n-1. Dans certains modes de réalisation, les n valeurs de chacun des générateurs 202 et 204 sont choisies de telle sorte qu'elles n'aient pas de nombres premiers communs constituant les longueurs de séquence de chaque générateur. De cette façon, pour une combinaison donnée de générateurs, la séquence combinée va avoir, à un certain stade, le niveau de difficulté maximum. A titre d'exemple, supposons que les deux générateurs de séquence pseudo-aléatoire 202, 204 soient des générateurs à n1 bits et n2 bits respectivement, les longueurs des séquences A et B vont donc être 2n1-1 et 2n2-1 respectivement. Si 2n1-1 n'est pas premier et égal à KxL, et 2n2-1 n'est pas premier et égal KxM, K, L et M étant tous des nombres premiers, la séquence combinée A*B va avoir une longueur de séquence égale à KxLxM, ce qui est inférieur à (2n1-1)(2n2-1). Puisque la longueur de B10149 - 10-GR2-014
11 séquence est réduite, le niveau de difficulté maximum peut ne jamais survenir. Cependant, si 2n1-1 n'est pas premier et égal à KxL et 2n2-1 n'est pas premier et égal à MxJ, K, L, M et J étant tous des nombres premiers différents, la séquence combinée A*B va avoir une longueur de séquence égale à KxLxMxJ, ce qui est égal à (2n1-l) (2n2-1) . De préférence, les valeurs n1 et n2 sont des nombres premiers différents, car cela implique que les longueurs de séquence seront des nombres premiers de Mersenne, autrement dit égales à 2n-1, n étant un nombre premier. Le tableau I ci-après illustre les valeurs de n entre 5 et 23, et les nombres de Mersenne correspondants pour chacune de ces n valeurs, représentés sous forme de produits de nombres premiers. TABLEAU I N 2n-1 5 31 6 3x3x7 7 127 8 3x5x17 9 7x73 10 3x11x31 11 23x89 12 3x3x5x7x13 13 8191 14 3x43x127 15 7x31x151 16 3x3x5x31x47 17 131071 18 3x3x3x7x19x73 19 524287 3x5x5xllx31x41 21 7x7x127x337 22 3x23x89x683 23 47x178481 Si un même nombre premier est présent pour deux valeurs de n dans le tableau I et si les séquences 20 correspondantes sont combinées, cela va impliquer que le nombre B10149 - 10-GR2-014
12 premier commun va apparaître seulement une fois dans le calcul de la longueur de la séquence combinée. Ainsi, par exemple, si les séquences de générateurs PRBS à 6 bits et à 9 bits étaient combinées par une opération XOR, en raison du facteur de répétition de 7, la séquence résultante aurait une longueur de (3x3x7) x73=4599, et non pas (3x3x7) x (7x73) =32193. A titre de variante, si les séquences de générateurs PRBS à 7 bits et à 8 bits étaient combinées, la longueur de la séquence résultante serait 127x(3x5x17)=32385, tandis que le nombre total de bascules dans les deux générateurs serait le même que dans les générateurs PRBS à 6 bits et à 9 bits. A titre de variante, il peut y avoir un ou plusieurs nombres premiers communs entre les générateurs à combiner. Dans ce cas, la valeur de germe de chaque générateur est choisie par exemple de telle sorte que la séquence maximum de 0 et/ou de 1 se produise à une position déterminée dans la séquence de chaque générateur. De cette façon, la séquence combinée peut avoir un niveau de difficulté souhaité. Les figures 3A et 3B illustrent des exemples de mise en oeuvre de générateurs PRBS à 5 bits et à 7 bits respectivement, tandis que les figures 3C à 3F illustrent des exemples de mise en oeuvre de générateurs PRBS à 8 bits et les figures 3G à 3J illustrent des exemples de mise en oeuvre de générateurs PRBS à 9 bits, 11 bits, 12 bits et 13 bits, respectivement, chacun d'eux pouvant mettre en oeuvre le générateur à Q bits 202 ou le générateur à R bits 204 de la figure 2. Le générateur PRBS 300 de la figure 3A comprend quatre bascules F1 à F4 reliées en série, la sortie de la bascule F4 étant reliée à l'entrée d'une porte XOR X1, et la sortie de la porte XOR X1 étant reliée à l'entrée de la bascule F1. La sortie de la bascule F2 est reliée à une seconde entrée de la porte XOR X1. Chacune des bascules est cadencée par un signal d'horloge CLK, de sorte qu'elles fonctionnent de façon synchrone. Pour initialiser le générateur PRBS 300 avec un certain état à n B10149 - 10-GR2-014
13 bits, une entrée de germe est fournie à chaque bascule F1 à F4, comme on va le décrire maintenant. Une bascule Fi est représentée en figure 3A, qui représente l'une quelconque des bascules F1 à F4. Comme cela est illustré, la bascule Fi comprend un multiplexeur Mi ayant une entrée destinée à recevoir le signal S(i-1) provenant de la bascule précédente ou provenant de la porte XOR X1 dans le cas de la bascule F1, et une seconde entrée destinée à recevoir un bit d'entrée de germe SEEDi. La sortie du multiplexeur Mi est couplée à l'entrée de données d'une bascule de type D, Di, qui est cadencée par un signal d'horloge CLK. La sortie de la bascule Di fournit la sortie Si de la bascule Fi. Ainsi, pour injecter une valeur de germe dans le PRBS 300, le multiplexeur Mi de chaque bascule est commandé, par l'intermédiaire de son entrée de commande, de façon à sélectionner l'entrée de germe correspondante SEEDi à fournir à la bascule Di correspondante. Au cycle suivant de l'horloge CLK, le multiplexeur Mi est commandé de façon à sélectionner l'entrée S(i-1), et ainsi la séquence générée par le PRBS est initialisée avec la valeur de germe injectée. Alors que la séquence de sortie peut être prélevée sur l'une quelconque des sorties des bascules, la sortie est par exemple le signal S3 pris au niveau de la sortie de la troisième bascule F3. La longueur de séquence de chacun des signaux SO à S4 va être de 31 bits, et à un certain stade de la séquence, il va y avoir un maximum contigu de 5 bits "1" et quatre bits "0". L'entrée de germe est utilisée par exemple comme entrée de validation 208, 210 en figure 2 pour activer ou désactiver le générateur 300. En particulier, si une valeur de germe de cinq "0" est injectée dans la PRBS, chacun des signaux SO à S4 va ainsi rester à l'état bas. Une valeur logique constante "0" sur une entrée de la porte XOR 206 de la figure 2 va simplement permettre à l'autre signal d'entrée de la porte XOR 206 de passer directement.
B10149 - 10-GR2-014
14 Chacun des générateurs PRBS 301 à 309 représentés dans les figures 3B à 3J a une structure similaire à celle du générateur 300 de la figure 3A. En particulier, chacun d'eux comprend une série de bascules, chacune d'elles étant par exemple mise en oeuvre de façon similaire à la bascule Fi de la figure 3A, munie d'une entrée de germe. Les différences entre chacun des circuits sont le nombre de bascules et le nombre et la connexion des portes XOR, comme cela va être décrit maintenant.
Le générateur à 7 bits 301 de la figure 3B comprend six bascules F1 à F6, et une porte XOR Xl. Les entrées de la porte XOR Xl sont reliées aux sorties des bascules F5 et F6, respectivement. Le générateur à 8 bits 302 de la figure 3C comprend sept bascules F1 à F7, et trois portes XOR X1, X2 et X3. Les entrées de la porte XOR Xl sont reliées respectivement à la sortie de la bascule F2 et à la sortie de la porte XOR X2. Les entrées de la porte XOR X2 sont reliées respectivement à la sortie de la bascule F4 et à la sortie de la porte XOR X3. Les entrées de la porte XOR X3 sont reliées aux sorties des bascules F6 et F7 respectivement. Le générateur à 8 bits 303 de la figure 3D comprend sept bascules F1 à F7, et trois portes XOR X1, X2 et X3. Les entrées de la porte XOR Xl sont couplées respectivement à la sortie de la bascule F3 et à la sortie de la porte XOR X2. Les entrées de la porte XOR X2 sont reliées respectivement à la sortie de la bascule F4 et à la sortie de la porte XOR X3. Les entrées de la porte XOR X3 sont reliées aux sorties des bascules F5 et F7 respectivement.
Le générateur à 8 bits 304 de la figure 3E comprend sept bascules F1 à F7, et trois portes XOR X1, X2 et X3. Les entrées de la porte XOR Xl sont reliées respectivement à la sortie de la bascule F1 et à la sortie de la porte XOR X2. Les entrées de la porte XOR X2 sont reliées respectivement à la sortie de la bascule F2 et à la sortie de la porte XOR X3. Les B10149 - 10-GR2-014
15 entrées de la porte XOR X3 sont reliées aux sorties des bascules F3 et F7 respectivement. Le générateur à 8 bits 305 de la figure 3F comprend sept bascules F1 à F7, et cinq portes XOR X1, X2, X3, X4 et X5.
Chacune des portes XOR X1 à X4 a une entrée reliée à la sortie des portes XOR X2 à X5 respectivement, et l'autre entrée reliée à la sortie des bascules F1 et F3 à F5 respectivement. Les entrées de la porte XOR X5 sont reliées aux sorties des bascules F6 et F7.
Les quatre mises en oeuvre 302 à 305 des générateurs PRBS à 8 bits montrent qu'il est possible de générer différentes séquences de la même longueur mais qui ont des valeurs différentes. Le générateur à 9 bits 306 de la figure 3G comprend huit bascules F1 à F8, et trois portes XOR X1, X2 et X3. Les entrées de la porte XOR Xl sont reliées respectivement à la sortie de la bascule F1 et à la sortie de la porte XOR X2. Les entrées de la porte XOR X2 sont reliées respectivement à la sortie de la bascule F6 et à la sortie de la porte XOR X3. Les entrées de la porte XOR X3 sont reliées aux sorties des bascules F7 et F8 respectivement. Le générateur à 11 bits 307 de la figure 3H comprend dix bascules F1 à F10, et trois portes XOR X1, X2 et X3. Les entrées de la porte XOR Xl sont reliées respectivement à la sortie de la bascule F1 et à la sortie de la porte XOR X2. Les entrées de la porte XOR X2 sont reliées respectivement à la sortie de la bascule F6 et à la sortie de la porte XOR X3. Les entrées de la porte XOR X3 sont reliées aux sorties des bascules F9 et F10 respectivement.
Le générateur à 12 bits 308 de la figure 3I comprend onze bascules F1 à Fil, et trois portes XOR X1, X2 et X3. Les entrées de la porte XOR X1 sont reliées respectivement à la sortie de la bascule F1 et à la sortie de la porte XOR X2. Les entrées de la porte XOR X2 sont reliées respectivement à la sortie de la bascule F9 et à la sortie de la porte XOR X3. Les B10149 - 10-GR2-014
16 entrées de la porte XOR X3 sont reliées aux sorties des bascules F10 et F11, respectivement. Le générateur à 13 bits 309 de la figure 3J comprend douze bascules F1 à F12, et trois portes XOR X1, X2 et X3, bien que dans un but de compacité, les bascules F2, F4, F5 et F10 ne soient pas illustrées. Les entrées de la porte XOR X1 sont reliées respectivement à la sortie de la bascule F6 et à la sortie de la porte XOR X2. Les entrées de la porte XOR X2 sont reliées respectivement à la sortie de la bascule F8 et à la sortie de la porte XOR X3. Les entrées de la porte XOR X3 sont reliées aux sorties des bascules F11 et F12 respectivement. Le générateur PRBS 202 de la figure 2 est par exemple mise en oeuvre par l'un des circuits 300, 301 et 306 à 309, tandis que le générateur PRBS 204 est par exemple mis en oeuvre par un autre de ces circuits 300, 301 et 306 à 309 ou par l'un des circuits 302 à 305. La figure 4 illustre un module de génération PRBS 400 selon une variante d'exemple dans laquelle il y a cinq générateurs PRBS (PRBS GEN) 401 à 405, qui sont des générateurs PRBS à 5 bits, 7 bits, 8 bits, 9 bits et 11 bits, respectivement. Ils pourraient par exemple être mis en oeuvre par les circuits 300, 301, 302, 306 et 307 des figures 3A, 3B, 3C, 3G et 3H respectivement, bien que d'autres circuits soient aussi possibles.
Une première séquence de sortie Al, B1, Cl, Dl et El de chaque générateur 401 à 405 respectivement, qui est par exemple fournie par la sortie de la bascule F1 du générateur correspondant, est reliée à une entrée d'un multiplexeur correspondant 408 à 412. Les sorties des multiplexeurs 408 à 412 sont reliées à des entrées correspondantes d'une porte XOR à cinq entrées 406. De façon similaire, une deuxième séquence de sortie A2, B2, C2, D2 et E2 provenant de chaque générateur 401 à 405, qui est par exemple fournie par la sortie de la bascule F4 du générateur correspondant, est reliée à une entrée d'un multiplexeur correspondant 416 à 420. Les sorties des multi- B10149 - 10-GR2-014
17 plexeurs 416 à 420 sont couplées à des entrées correspondantes d'une porte XOR à cinq entrées 414. Chacun des multiplexeurs 408 à 412 et 416 à 420 est un multiplexeur à deux entrées, ayant son autre entrée reliée à une valeur logique "1".
A titre de variante, les séquences de sortie Al et A2 pourraient être des séquences prises à partir de différentes mises en oeuvre d'un générateur à 5 bits, et de façon similaire pour les séquences de sortie B1 et B2, Cl et C2, D1 et D2 et E1 et E2. Par exemple, Cl pourrait être la séquence S1 provenant du générateur à 8 bits 302 de la figure 3C, tandis que C2 pourrait être la séquence S1 provenant du générateur à 8 bits 303 de la figure 3D. En contrôlant la sélection faite par chaque multiplexeur 408 à 412 et 416 à 420 par l'intermédiaire de son entrée de sélection, la sortie de chaque multiplexeur peut être sélectionnée comme étant la séquence correspondante Al à E1, A2 à E2, ou la valeur logique constante "1". Une valeur logique "1" ne va pas affecter la sortie de la porte XOR 406, 414 correspondante. De cette manière, le signal de sortie S1 provenant de la porte XOR 406 peut être une combinaison XOR de l'une quelconque des séquences Al à E1, et le signal de sortie S2 de la porte XOR 414 peut être une combinaison XOR de l'une quelconque des séquences A2 à E2. Par exemple, en contrôlant les multiplexeurs 408, 409 et 410 pour sélectionner les signaux Al à cl, et les multiplexeurs 411 et 412 pour sélectionner la valeur logique "1", le signal S1 est sélectionné comme étant Al*B1*C1 qui aura donc une longueur de séquence et une difficulté similaire à celle d'un générateur PRBS à 20 bits. En même temps, en contrôlant les multiplexeurs 416, 417 et 418 pour sélectionner la valeur logique "1", et les multiplexeurs 419 et 420 pour sélectionner les signaux D2 et E2, le signal S2 est sélectionné comme étant D2*E2, ce qui aura aussi une longueur de séquence et une difficulté similaire à celle d'un générateur PRBS à 20 bits.
Les signaux S1 et S2 pourront alors être transmis sur des lignes B10149 - 10-GR2-014
18 de données parallèles de la connexion de données 105 de la figure 1. Dans des variantes de réalisation, plutôt que d'utiliser les multiplexeurs 408 à 412 et 416 à 420, les signaux Al à El et A2 à E2 pourraient être activés ou désactivés par l'intermédiaire de l'entrée de germe de chaque générateur, par exemple un signal étant désactivé par l'injection d'une valeur de germe constituée entièrement de zéros dans le générateur correspondant. En outre, les signaux Al à El pourraient être pris sur la sortie des mêmes bascules que les signaux A2 à E2, ou d'autres bascules de ces générateurs. Les figures 2 à 4 ne montrent que deux exemples de modules de génération PRBS. L'homme de l'art remarquera que des variantes de réalisation pourraient inclure plus ou moins de générateurs PRBS, et générer un nombre quelconque de signaux de test sur la base d'une combinaison quelconque de deux, trois, quatre ou plus des signaux PRBS. Dans tous les cas, en raison de la façon dont sont combinés les signaux PRBS, le niveau de difficulté d'au moins l'un des signaux de test générés va être variable, soit par l'intermédiaire de l'entrée de germe, comme cela est représenté en figure 1, soit par l'intermédiaire d'un multiplexeur, comme cela est représenté en figure 4, soit par l'intermédiaire de moyens alternatifs. La figure 5 illustre un circuit 500, qui est similaire au circuit 100 de la figure 1, et comprend les blocs de circuit 102, 104, la connexion de données 105, et les circuits de génération de séquence 111 et de vérification de séquence 122, et ces fonctionnalités ne vont pas être décrites en détail. Par rapport au circuit 100 de la figure 1, le circuit 500 comprend en plus des blocs de commande (CONTROL) 502 et 503 dans les blocs de circuit 102 et 104, respectivement, reliés respectivement à chacun des modules de génération PRBS (PRBS UNIT) 114 et 124 par des lignes 504 et 506. Les lignes 504 fournissent par exemple des valeurs de germe à chacun des générateurs PRBS des modules 114, 124, tandis que les lignes 506 B10149 - 10-GR2-014
19 fournissent par exemple des signaux de commande pour activer ou désactiver un ou plusieurs des générateurs. A titre de variante, l'activation ou la désactivation peut être effectuée en utilisant seulement l'entrée de germe, et ainsi les lignes 506 pourraient être omises dans certains modes de réalisation. Un mode de fonctionnement de chacun des blocs de commande est contrôlé, par exemple, par un signal de commande sur une ligne d'entrée 508, qui indique par exemple le niveau de difficulté de la séquence de test à appliquer sur la connexion de données 105. Par exemple, en supposant que quatre niveaux de difficulté différents puissent être appliqués par différentes combinaisons de générateurs PRBS dans chaque module 114, 124, le signal de commande sur la ligne 508 est par exemple une valeur de 2 bits indiquant lequel des quatre niveaux de difficulté doit être appliqué. Les caractéristiques temporelles de ce signal de commande peuvent aussi fournir des informations temporelles, de telle sorte que les modules PRBS 114, 124 fonctionnent de façon synchrone. Un bloc de retard (DELAY) 512 est par exemple prévu au niveau de la sortie du module PRBS 124 pour retarder le signal S d'un retard correspondant au retard introduit par la connexion de données, de sorte qu'une comparaison valide entre S et S' peut être faite par le comparateur 126. Dans des variantes de réalisation, les blocs de commande 502, 503 pourraient faire tous deux partie d'un des blocs de circuits 102, 104, ou pourraient être prévus ailleurs. La figure 6 illustre un circuit 600, similaire à celui de la figure 1, excepté que seul le bloc de circuit 102 est prévu. Dans cet exemple, les circuit de génération de séquence 111 et de vérification de séquence 122 sont entièrement mis en oeuvre dans le bloc de circuit 102, et est agencé pour tester des signaux destinés à être fournis par l'intermédiaire de plots de sortie 602, 603 et 604 du circuit 102. Par exemple, les plots 602 à 604 pourraient former trois des connexions qui constituent une sortie HDMI (interface multimédia à haute définition).
B10149 - 10-GR2-014
20 Dans cet exemple, la connexion de données 105 est entièrement mise en oeuvre dans le bloc de circuit 104, et comprend le bloc d'émission 108, qui est relié aux plots de sortie 602 à 604, les lignes de données 106 comprenant dans ce cas les connexions vers et en provenance des plots 602 à 604, et le circuit de réception 110, qui est aussi relié aux plots de sortie 602 à 604. Le circuit de réception 110, dans cet exemple, n'est pas utilisé pendant le fonctionnement normal, et est prévu pour être utilisé seulement pendant le mode de test.
Le circuit récepteur 110 reçoit aussi par exemple un signal d'horloge CLK provenant d'un autre plot 606, pour contrôler le fonctionnement temporel de la réception des séquences de test. Ce signal d'horloge est par exemple introduit par un opérateur sur un plot 606 pendant le mode de test, ou pourrait être fourni de l'intérieur du bloc de circuit 102. Le circuit de vérification de séquence 122 reçoit le signal de données S' provenant de la connexion de données 105, et dans cet exemple comprend seulement le comparateur (COMP) 126. En particulier, dans ce mode de réalisation, il est possible que le module de génération PRBS 114 fournisse une ou plusieurs séquences PRBS pour transmission sur la connexion de données 105, et fournisse aussi ces séquences au comparateur 126, par l'intermédiaire d'un élément de retard (DELAY) 608, de sorte qu'elles puissent être bien synchronisées par rapport aux séquences reçues. L'élément de retard 608 introduit un retard similaire au retard introduit par la connexion de données 105, de sorte qu'une comparaison valide entre S et S' peut être faite par le comparateur 126. La figure 7 illustre un circuit 700, qui est similaire au circuit 100 de la figure 1, et comprend des blocs de circuit 102 et 104 interconnectés par une connexion de données 105. Cependant, plutôt que d'inclure un module de génération PRBS dans les deux blocs de circuits 102 et 104, un module PRBS avec duplication (PRBS WITH DUPLICATION UNIT) 702 est prévu dans le circuit de génération de séquence 111 du bloc de circuit 102, B10149 - 10-GR2-014
21 qui génère un ou plusieurs signaux PRBS qui comprennent une certaine duplication. En outre, le circuit BIST 124 comprend un bloc d'extraction de duplication (EXTRACT DUPLICATION) 704, qui fournit des signaux sur des lignes 706 et 708 au comparateur (COMP) 126 pour comparaison. Le comparateur est par exemple mis en oeuvre par une simple porte XOR, qui effectue la comparaison bit à bit. En dupliquant une ou plusieurs PRBS qui sont transmises sur la connexion de données 105, le côté récepteur peut vérifier la réception correcte des données sans utiliser un autre module PRBS. La duplication implique la génération de deux versions identiques d'au moins une séquence par exemple de type PRBS, et la génération de la séquence de test à transmettre sur la connexion de données 105 sur la base de ces deux séquences identiques. La séquence de test peut comprendre des parties de chaque séquence dupliquées décalées temporellement et/ou étalées sur une pluralité de lignes, par exemple en combinaison avec d'autres signaux. De tels modes de réalisation vont maintenant être décrits plus en détail en référence aux exemples des figures 8A à 8E. Pour faciliter l'illustration, la connexion de données 105 et le multiplexeur 116 ne sont pas représentés dans ces figures, mais sont indiqués par une ligne en pointillés 801. La figure 8A illustre un circuit 800 mettant en oeuvre le module PRBS avec duplication 702 et le module d'extraction de duplication 704 de la figure 7. Le module PRBS avec duplication 702 comprend un module de génération PRBS (PRBS GEM UNIT) 802, qui comprend par exemple un ou plusieurs générateurs PRBS, et peut permettre ou pas la sélection d'un niveau de difficulté variable. Le module de génération PRBS 802 fournit un signal PRBS P, qui est dupliqué pour fournir, à un bloc adaptateur 804, des séquences dupliquées PA et PB. Ces séquences sont cadencées dans le bloc adaptateur 804 par un signal d'horloge CLK1, qui a par exemple la moitié de la fréquence de l'horloge CLK2 utilisée pour cadencer la séquence de sortie S au niveau de la sortie du bloc adaptateur 804 pour être envoyée sur la connexion de B10149 - 10-GR2-014
22 données. La séquence de sortie S comprend des portions en alternance des séquences PA et PB décalées temporellement l'une par rapport à l'autre, et comprend par exemple B bits de PA suivis de B bits de PB suivis de B bits de PA etc... B est par exemple un mot de 16 ou 32 bits de données, bien que d'autres tailles soient possibles. Du côté récepteur, le module d'extraction de duplication 704 comprend un bloc de synchronisation 808, qui est par exemple cadencé par le signal d'horloge CLK2, qui reçoit la séquence transmise sur la connexion de données 105, et fournit cette séquence S' à un séparateur 809, cadencé par exemple par un signal WORD CLK. Le séparateur 809 fournit des groupes constitutifs de B bits de la séquence reçue S' à des tampons 810, 812 alternativement, qui ont leurs sorties couplées à d'autres tampons 814 et 816 respectivement. Les tampons 810 à 816 sont par exemple des tampons de type FIFO premier entré-premier sorti (en anglais "First In First Out"), dont la taille est par exemple de B bits. Un multiplexeur 817 sélectionne le contenu de l'un des tampons 810 et 814 à fournir bit par bit à une entrée du comparateur 126, tandis qu'un multiplexeur 818 sélectionne le contenu de l'un des tampons 812 et 816 à fournir bit par bit à une autre entrée du comparateur 126. La sélection faite par les multiplexeurs 817 et 818 dépend de la synchronisation particulière entre le séparateur 809 et le flux reçu. Par exemple, en supposant que la séquence S comprend des mots PA', PB1, PA2, PB2, PA3 etc..., alors le séparateur peut fournir des mots PA1, PA2, PA3 etc... au tampon 810, et des mots PB1, PB2, PB3 etc... au tampon 812. Dans ce cas, le contenu des tampons 810 et 812 est par exemple fourni bit par bit aux entrées du comparateur 126 pour comparaison. A titre de variante, les mots PB1, PB2, PB3,..., peuvent être fournis au tampon 810, et les mots PA2, PA3, PA4,..., peuvent être fournis au tampon 812. Dans ce cas, le contenu des tampons 812 et 814 est par exemple fourni bit par bit aux entrées respectives du comparateur 126 pour tester la présence B10149 - 10-GR2-014
23 d'erreurs. Dans certains cas, si on ne connaît pas la synchronisation du séparateur, le contenu de chacun des tampons 810 et 814 peut être comparé au contenu de chacun des tampons 812 et 816, et on vérifie qu'il y a concordance entre les bits d'au moins deux de ces tampons. La figure 8B illustre une variante d'exemple dans laquelle le module PRBS avec duplication 702 comprend un module de génération PRBS 822 (PBRS GEN UNIT) qui est agencé pour générer trois signaux différents A, B et C, chacun fourni par un générateur PRBS à n bits différent. Les signaux A et B sont fournis à une porte XOR 823 pour obtenir le signal A*B, les signaux B et C sont fournis à une porte XOR 824 pour obtenir le signal B*C, et les signaux A et C sont fournis à une porte XOR 825 pour obtenir le signal A*C. Les signaux A*B, B*C et A*C sont fournis à un bloc adaptateur 826 qui fournit une séquence de sortie S comprenant des bits provenant de chacune des séquences tour à tour, par exemple un premier groupe de B bits de la séquence A*B, suivi d'un deuxième groupe de B bits de la séquence B*C, suivi d'un troisième groupe de B bits de la séquence A*C, suivi d'un quatrième groupe de B bits de la séquence A*B et ainsi de suite. B peut être un mot, par exemple 16 ou 32 bits de données, bien que d'autres tailles soient aussi possibles. Les séquences A*B, B*C et A*C sont par exemple introduites dans le bloc 826 cadencées par un signal d'horloge CLK1, et la séquence S est cadencée en sortie par un signal d'horloge CLK2 ayant trois fois la fréquence de CLK1. Les sorties S sont ensuite transmises sur la connexion de données. Du côté récepteur, le module d'extraction de duplication 704 comprend un bloc de synchronisation 828, qui reçoit la séquence provenant de la connexion de données 105, et fournit la séquence reçue S' à un tampon 832, qui est relié en série à deux autres tampons 834 et 836. Les tampons 832 à 836 sont par exemple des tampons FIFO ayant chacun une taille B bits. Une porte XOR 838 réalise dans cet exemple une fonction XOR entre les bits mémorisés dans les tampons 832 et 834. Par B10149 - 10-GR2-014
24 exemple, en supposant que ces tampons mémorisent des mots qui pourraient correspondre à des portions correspondantes des signaux A*B et B*C, la combinaison XOR de ces mots effectuée bit à bit pourrait générer le signal A*C. Cela pourrait alors être comparé par le comparateur 126 au contenu du troisième tampon qui pourrait mémoriser un mot correspondant à la partie correspondante du signal A*C. En fait, la combinaison XOR de deux quelconques des séquences A*B, B*C et A*C pourrait être égale à la troisième séquence, et donc un avantage de la configuration de la figure 8B est que la vérification peut être appliquée de façon simple sans tenir compte de quel groupe de bits est dans chacun des tampons à chaque instant. La figure 8C illustre un circuit 840 selon une variante de réalisation dans laquelle la connexion de données transmet trois signaux, comme trois signaux de données, ou deux signaux de données et un signal de validation. Le module PRBS avec duplication 702 comprend un module de génération PRBS (PRBS GEN UNIT) 842 qui génère deux signaux PRBS A et B, générés par des générateurs à n bits différents, les valeurs de n étant par exemple choisies pour donner à la valeur 2n-1 des nombres premiers différents. Le module 702 comprend en outre une porte XOR 844, qui reçoit au niveau de ses entrées les signaux A et B, et génère un signal A*B. Les trois signaux A, B et A*B sont fournis sur des lignes respectives 846, 848 et 850 à la connexion de données pour transmission. Du côté récepteur, les signaux qui devraient correspondre aux signaux transmis A, B et A*B, sont fournis sur des lignes 852, 854 et 856 respectivement. Les lignes 852 et 854 sont reliées aux entrées d'une porte XOR 858, qui doit ainsi générer le signal A*B, qui peut ainsi être comparé au signal sur la ligne 856 par le comparateur 126. La figure 8D illustre un exemple similaire à celui de la figure 8C, excepté que le module de génération PRBS 862 génère trois séquences A, B et C, et que des portes XOR 863, 864 et 865 sont reliées de façon à générer les signaux A*B, B*C et B10149 - 10-GR2-014
25 A*C respectivement, qui sont transmis sur la connexion de données. Du côté récepteur, les signaux qui devraient représenter les signaux A*B, B*C et A*C sont reçus sur des lignes 866, 867 et 868, respectivement. Dans cet exemple, les signaux présents sur les lignes 866 et 867 sont appliqués à une porte OU Exclusif 869, de sorte que la sortie de la porte XOR 869 doit être le signal A*C. Cette sortie et le signal sur la ligne 868 sont fournis au comparateur 126. La figure 8E illustre un autre exemple similaire à celui de la figure 8D, excepté que le module de génération PRBS 882 génère quatre séquences A, B, C et D, et que des paires de ces séquences sont combinées par quatre portes 883 à 886 pour obtenir les signaux A*C, B*D, B*C et A*D. Du côté récepteur, une porte XOR 888 reçoit les signaux qui devraient être A*C et B*D, tandis qu'une porte XOR 890 reçoit les signaux qui devraient être B*C et A*D, et ainsi les deux portes XOR 888 et 890 fournissent un signal qui devrait être égal au même signal combiné A*B*C*D. Les sorties des portes XOR 888 et 890 sont reliées aux entrées du comparateur 126.
La figure 9 illustre un circuit 900 d'un autre mode de réalisation dans lequel la connexion de données 105 est une connexion série qui comprend un groupe de lignes de données 902, par exemple quatre lignes de données, et une ligne d'horloge 904, chaque ligne reliant des plots de sorties du bloc de circuit 102 et des plots d'entrée du bloc de circuit 104. La connexion de données 105 est dans cet exemple une interface mémoire DDR (double débit de données), le bloc de circuit 104 est par exemple une RAM (mémoire à accès aléatoire), et le bloc 102 est un module DMA (accès direct en mémoire). Ainsi, en fonctionnement normal, la connexion de données 105 est par exemple agencée pour transmettre en série sur les fronts montants de l'horloge CLK des bits de signaux de données DH sur les lignes 902, et sur les fronts descendants de l'horloge CLK des bits de signaux de données DL sur les lignes 902. Chacun des B10149 - 10-GR2-014
26 signaux de données DH et DL comprend par exemple quatre flux de bits en parallèle. Le circuit d'émission 108 comprend une source d'horloge 906 qui fournit le signal d'horloge CLK.
Le circuit de génération de séquence 111 du bloc de circuit 102 comprend un multiplexeur 908, qui reçoit les signaux de données normaux DH et DL au niveau d'entrées correspondantes, et aussi des séquences de test SH et SL qui remplacent respectivement ces signaux pendant le test de la connexion de données 105. Ainsi, le multiplexeur 908 va fournir au circuit d'émission 108 de la connexion de données 105 soit les signaux de données DH, DL, soit les séquences de test SH, SL. Le circuit de génération de séquence 111 comprend en outre un générateur de séquences (SEQ GEN) 910, qui reçoit d'un module PRBS (PRBS UNIT) 912 un certain nombre de séquences PRBS, et détermine la combinaison de ces séquences à transmettre pour chaque connexion, sur la base de signaux de commande provenant d'un bloc de commande (CTRL) 914. Dans un exemple, le module de génération PBRS 912 comprend un ou deux générateurs PRBS à 5 bits qui fournissent une paire de séquences a5 et A5, un ou deux générateurs à 7 bits qui fournissent une paire de séquences b7 et B7, un ou plusieurs générateurs à 8 bits qui fournissent des séquences C18, C28, C38 et C48, un ou deux générateurs à 9 bits qui fournissent une paire de séquences d9 et D9, un ou deux générateurs à 11 bits qui fournissent une paire de séquences e11 et E11, un ou deux générateurs à 13 bits qui fournissent une paire de séquences f13 et F13, un ou deux générateurs à 17 bits qui fournissent une paire de séquences g17 et G17 et un ou deux générateurs à 19 bits qui fournissent une paire de séquences h19 et H19. On peut utiliser un seul générateur PRBS pour générer plusieurs séquences de la même longueur en prenant la sortie de différentes bascules du générateur. A titre de variante, en particulier dans le cas du générateur à 8 bits, on peut mettre en oeuvre plusieurs générateurs ayant le même nombre d'états, de différentes façons, pour obtenir les différentes séquences. Les B10149 - 10-GR2-014
27 lignes de données 902 reçoivent par exemple la combinaison de signaux suivante : Tableau II Numéro de ligne SH SL 0 a5*e11*C18 b7*d9*C18 1 A5*E11*C28 B7*D9*C28 2 a5*E11*C38 b7*D9*C38 3 A5*e11*C48 B7*d9*C48 En outre, pour augmenter ou diminuer sélectivement le niveau de difficulté, les générateurs à 8 bits pourraient être désactivés pour retirer les signaux C18 à C48, et/ou chacune des séquences SH sur les lignes 0 à 3 pourrait par exemple être combinée en plus avec une ou plusieurs des séquences f13, g17 et h19, et chacune des séquences SL sur les lignes 0 à 3 pourrait être combinée en plus avec une ou plusieurs des séquences F13, G17 et H19. Du côté récepteur, un bloc de synchronisation 916, cadencé par le signal d'horloge CLK reçu par l'intermédiaire de la ligne 904 de la connexion de données 105, reçoit les signaux du circuit de réception 110, et fournit ces signaux à un module de vérification 918. Un bloc de détection de mot 920 est utilisé, par exemple, pour activer le mode de test. En particulier, un certain mot de référence peut être transmis sur la connexion de données au début du mode de test, et lorsque le bloc 920 détecte ce mot, il envoie un signal d'activation au module de vérification 918. Le module 918 effectue par exemple les opérations OU-Exclusif suivantes : B10149 - 10-GR2-014 Tableau III Numéro de SH*SL ligne 0 a5*ell*b7*d9 1 A5*E11*B7*D9 2 a5*E11*b7*D9 3 A5*ell*B7*d9 Ainsi, en effectuant l'opération OU-Exclusif entre les données SH et SL sur les fronts montant et descendant d'horloge, les séquences C18 à C48 s'annulent. Ensuite, en effectuant la fonction OU-Exclusif de toutes les quatre valeurs de la colonne SH*SL du tableau III, on devrait obtenir une valeur nulle si aucune erreur n'est introduite par la connexion de données 105. A titre d'exemple supplémentaire, un des signaux transmis sur les fronts montant et descendant d'horloge sur l'une des lignes de données pourrait être combiné par XOR avec une valeur de localisateur global GL, ce qui signifie qu'en l'absence d'erreurs, la valeur GL va être obtenue au lieu d'une valeur nulle. La valeur GL est par exemple une valeur de compteur, permettant de détecter la position d'une erreur dans la séquence. Le côté récepteur peut connaître les valeurs de GL, ou savoir que les valeurs de GL vont présenter une progression attendue entre une valeur de 12 bits et la suivante, de telle sorte que des erreurs peuvent être détectées. La figure 10 illustre un dispositif électronique 1000, comprenant des blocs de circuit interconnectés 1002, 1004 qui par exemple comprennent chacun un circuit BIST selon les modes de réalisation décrits précédemment pour tester la connexion de données entre eux, par exemple dans les deux sens. En outre, en plus ou à la place, le dispositif 1000 comprend un bloc de circuit 1110 ayant une connexion vers une sortie 1111 du dispositif, et un circuit de génération de séquence 1112 selon les modes de réalisation décrits ici pour tester la connexion de données vers la sortie 1111, par exemple jusqu'aux plots de 28 B10149 - 10-GR2-014
29 sortie du bloc de circuit 1110, ou aux bornes de sortie de la sortie 1111 du dispositif. Chacun des circuits de test 1006, 1008 et 1112 comprend, par exemple, une ligne de sortie 1114, 1116 et 1118 respectivement, pour fournir des données de test à une sortie du dispositif, de sorte qu'elles peuvent être évaluées par un opérateur. Le dispositif 1000 est par exemple un dispositif électronique portable muni d'une ou plusieurs des fonctions d'un ordinateur portable, un téléphone mobile, un appareil photo et/ou une caméra vidéo numérique, une console de jeu portable, etc... A titre de variante, le dispositif 1000 pourrait être un boîtier décodeur, un ordinateur personnel, un poste de télévision ou un autre dispositif d'affichage, un enregistreur à disque dur, ou un autre dispositif électronique comprenant des connexions de données à tester. Un avantage des modes de réalisation décrits ici, qui comprennent plusieurs générateurs PRBS et des circuits pour combiner sélectivement leurs signaux de sortie, est qu'on peut obtenir une séquence PRBS ayant un niveau de difficulté variable. L'homme de l'art remarquera que le nombre de niveaux de difficulté différents qu'on peut sélectionner dépend du nombre de générateurs ayant des valeurs de difficulté différentes, et du nombre de lignes de connexion de données à tester. Un avantage du fait de choisir les n valeurs des générateurs PRBS dans le groupe 5, 7, 8, 9, 11, 13, 17 et 19, est que les nombres premiers qui constituent individuellement, ou lorsqu'ils sont multipliés, les longueurs de séquence de ces générateurs vont être uniques, et donc que la plage de niveaux de difficulté sélectionnables va être grande pour le nombre de générateurs. Un niveau de difficulté donné peut être associé avec une métrique de sollicitation. Celle-ci peut rester relative et par exemple mettre en corrélation des utilisations différentes : test automatique et test sur un banc d'application finale.
B10149 - 10-GR2-014
30 Un avantage des modes de réalisation décrits ici qui ajoutent une redondance au signal de test est que la vérification du signal de test peut être effectuée par une simple comparaison sans utiliser un autre générateur PRBS. Cela évite aussi de synchroniser un générateur PRBS du côté récepteur avec un générateur PRBS du côté émetteur. Dans certains modes de réalisation avantageux, on ajoute une redondance en générant trois, ou plus, séquences de test, en combinant dans différentes combinaisons deux, ou plus, signaux PRBS différents, et en transmettant les trois ou plus séquences de test sur une pluralité de lignes de connexions de données à tester, ou en série sur une même ligne de la connexion de données. On a ainsi décrit au moins un mode de réalisation illustratif de l'invention, mais divers changements, diverses modifications et améliorations apparaîtront facilement à l'homme de l'art. Par exemple, l'homme de l'art remarquera que les générateurs PRBS des figures 3A à 3J ne sont que quelques exemples, et qu'on pourrait utiliser d'autres mises en oeuvre de générateurs ayant le même nombre d'états, ou un nombre d'états différent. En outre, l'homme de l'art remarquera que les modes de réalisation des figures 8A à 8E pourraient être adaptés pour combiner un nombre différent de séquences pour transmission sur un nombre différent de lignes. Aussi, les techniques destinées à ajouter une duplication pourraient être combinées, de telle sorte que la duplication se produise dans le temps et aussi sur plusieurs lignes. En outre, l'homme de l'art remarquera que les divers modes de réalisation décrits ici pourraient être combinés dans des variantes de réalisation selon diverses combinaisons. En outre, bien qu'on ait donné certains exemples relativement simples, les principes décrits ici pourraient être appliqués à des connexions de données ayant un plus grand nombre de lignes de données.

Claims (15)

  1. REVENDICATIONS1. Procédé de test d'une connexion de données (105) utilisant au moins une séquence de test, le procédé comprenant les étapes suivantes : fournir une première séquence de bits par un premier 5 générateur ; dupliquer la première séquence pour générer une deuxième séquence de bits identique à la première ; et générer ladite au moins une séquence de test sur la base des première et deuxième séquences. 10
  2. 2. Procédé selon la revendication 1, comprenant en outre : émettre ladite au moins une séquence de test sur une connexion de données ; recevoir ladite au moins une séquence de test par un 15 circuit récepteur (110) couplé à la connexion de données (105) ; et vérifier que les première et deuxième séquences sont identiques.
  3. 3. Procédé selon la revendication 2, dans lequel la 20 vérification que les première et deuxième séquences sont identiques comprend la réalisation d'une opération OU-Exclusif sur au moins deux signaux de test reçus par l'intermédiaire de la connexion de données.
  4. 4. Procédé selon l'une quelconque des revendications 1 25 à 3, dans lequel ladite au moins une séquence de test est générée en transmettant, alternativement, des parties des première et deuxième séquences sur une même ligne.
  5. 5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel ladite au moins une séquence de test est 30 générée en combinant, par une fonction logique OU-Exclusif, la première séquence avec une troisième séquence générée par un deuxième générateur.
  6. 6. Procédé selon la revendication 5, dans lequel ladite au moins une séquence de test comprend au moins troisB10149 - 10-GR2-014 32 séquences de test, une première desdites au moins trois séquences de test comprenant une combinaison de la première et de la troisième séquence, une deuxième desdites au moins trois séquences de test comprenant une combinaison de la deuxième séquence avec une quatrième séquence générée par un troisième générateur, et une troisième desdites au moins trois séquences de test comprenant une combinaison des troisième et quatrième séquences.
  7. 7. Circuit (111) pour tester une connexion de données 10 (105) en utilisant au moins une séquence de test, le circuit comprenant : un premier générateur agencé pour générer une première séquence de bits ; un circuit de traitement de signal (702) agencé pour 15 dupliquer la première séquence pour générer une deuxième séquence identique à la première séquence, et pour générer ladite au moins une séquence de test sur la base des première et deuxième séquences.
  8. 8. Circuit selon la revendication 7, dans lequel le 20 circuit de traitement de signal (702) comprend un bloc adaptateur (804, 826) agencé pour recevoir en parallèle chacune des première et deuxième séquences à une première cadence d'horloge, et pour fournir alternativement, pour transmission sur une ligne de données de la connexion de données, des parties 25 des première et deuxième séquences à une deuxième cadence d'horloge supérieure à la première cadence d'horloge.
  9. 9. Circuit selon la revendication 7 ou 8, dans lequel le circuit de traitement de signal comprend au moins une porte OU-Exclusif (823, 824, 825, 844, 863, 864, 865) pour combiner au 30 moins l'une des première et deuxième séquences avec au moins une autre séquence.
  10. 10. Circuit comprenant : un premier bloc de circuit (102) comprenant le circuit de l'une quelconque des revendications 7 à 9, pour générer au 35 moins une séquence de bits ;B10149 - 10-GR2-014 33 un circuit récepteur (104, 110, 122) pour recevoir ladite au moins une séquence de bits par l'intermédiaire de la connexion de données ; et un comparateur (126) pour détecter des erreurs dans la 5 transmission de données.
  11. 11. Circuit selon la revendication 10, dans lequel le circuit récepteur comprend un premier tampon (810, 814, 832) adapté à recevoir une première partie de la séquence de test générée sur la base de la première séquence, et un deuxième 10 tampon (812, 816, 834) adapté à recevoir une deuxième partie de la séquence de test générée sur la base de la deuxième séquence, dans lequel le comparateur est agencé pour comparer les bits mémorisés dans les premier et deuxième tampons.
  12. 12. Circuit selon la revendication 10 ou 11, dans 15 lequel le circuit récepteur comprend au moins une porte OU-Exclusif ou au moins une porte NON OU-Exclusif pour combiner deux, ou plus, desdites au moins deux séquences de test.
  13. 13. Circuit selon l'une quelconque des revendications 10 à 12, dans lequel le comparateur comprend une porte OU- 20 Exclusif (126) ou une porte NON OU-Exclusif.
  14. 14. Circuit intégré comprenant le circuit de l'une quelconque des revendications 10 à 13.
  15. 15. Dispositif électronique comprenant le circuit intégré de la revendication 14.
FR1054446A 2010-06-07 2010-06-07 Comparateur de sequence asynchrone pour circuit d'autotest integre Expired - Fee Related FR2960978B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1054446A FR2960978B1 (fr) 2010-06-07 2010-06-07 Comparateur de sequence asynchrone pour circuit d'autotest integre
US13/154,378 US8572447B2 (en) 2010-06-07 2011-06-06 Circuitry for built-in self-test

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1054446A FR2960978B1 (fr) 2010-06-07 2010-06-07 Comparateur de sequence asynchrone pour circuit d'autotest integre

Publications (2)

Publication Number Publication Date
FR2960978A1 true FR2960978A1 (fr) 2011-12-09
FR2960978B1 FR2960978B1 (fr) 2013-06-21

Family

ID=43478283

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1054446A Expired - Fee Related FR2960978B1 (fr) 2010-06-07 2010-06-07 Comparateur de sequence asynchrone pour circuit d'autotest integre

Country Status (2)

Country Link
US (1) US8572447B2 (fr)
FR (1) FR2960978B1 (fr)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2960977B1 (fr) * 2010-06-07 2012-07-13 St Microelectronics Grenoble 2 Generateur de sequence a sollicitation variable pour circuit d'autotest integre
TW201237758A (en) * 2011-03-15 2012-09-16 Askey Computer Corp Lithium cell simulating device
US8943233B1 (en) 2013-02-22 2015-01-27 Pmc-Sierra Us, Inc. Link negotiation method for enabling communication between serial attached small computer interface (SAS) storage devices
FR3051084B1 (fr) 2016-05-04 2019-08-02 Stmicroelectronics (Rousset) Sas Generateur de nombres d'oscillations
FR3051086B1 (fr) 2016-05-04 2019-07-26 Stmicroelectronics (Rousset) Sas Circuit de comptage d'impulsions
FR3051085B1 (fr) 2016-05-04 2020-02-14 Stmicroelectronics (Rousset) Sas Structure de multiplexeur
US10175296B2 (en) * 2016-12-07 2019-01-08 Intel Corporation Testing a board assembly using test cards
CN109765482A (zh) * 2019-03-11 2019-05-17 世芯电子科技(无锡)有限公司 一种多芯片间高速互连测试方法
US11774496B2 (en) * 2021-03-23 2023-10-03 Indian Institute Of Technology Pseudo-random binary sequences (PRBS) generator for performing on-chip testing and a method thereof
TWI831399B (zh) * 2022-09-30 2024-02-01 創意電子股份有限公司 半導體晶片及序列檢查電路

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1326183A (en) * 1971-01-06 1973-08-08 Saxton D Electrical pulse generators
US4142239A (en) * 1977-06-29 1979-02-27 The United States Of America As Represented By The Secretary Of The Army Apparatus for generating digital streams having variable probabilities of error
US5034906A (en) * 1990-03-30 1991-07-23 Microwave Logic Pseudorandom Binary Sequence delay systems
US20020124219A1 (en) * 2001-03-05 2002-09-05 Reiko Kuroki Pseudo random signal producing circuit

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4687980A (en) 1980-10-20 1987-08-18 Eaton Corporation X-Y addressable workpiece positioner and mask aligner using same
TW538250B (en) * 2000-04-21 2003-06-21 Ind Tech Res Inst Built-in self-verification circuit applied in system chip design
US7610526B2 (en) * 2005-01-24 2009-10-27 Hewlett-Packard Development Company, L.P. On-chip circuitry for bus validation
KR100799018B1 (ko) * 2006-12-27 2008-01-28 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 자기 보상 방법
JP2008180592A (ja) * 2007-01-24 2008-08-07 Nec Electronics Corp テストパターン生成回路及びテスト回路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1326183A (en) * 1971-01-06 1973-08-08 Saxton D Electrical pulse generators
US4142239A (en) * 1977-06-29 1979-02-27 The United States Of America As Represented By The Secretary Of The Army Apparatus for generating digital streams having variable probabilities of error
US5034906A (en) * 1990-03-30 1991-07-23 Microwave Logic Pseudorandom Binary Sequence delay systems
US20020124219A1 (en) * 2001-03-05 2002-09-05 Reiko Kuroki Pseudo random signal producing circuit

Also Published As

Publication number Publication date
US8572447B2 (en) 2013-10-29
US20110302471A1 (en) 2011-12-08
FR2960978B1 (fr) 2013-06-21

Similar Documents

Publication Publication Date Title
FR2960978A1 (fr) Comparateur de sequence asynchrone pour circuit d'autotest integre
FR2960977A1 (fr) Generateur de sequence a sollicitation variable pour circuit d'autotest integre
TWI231372B (en) Circuit comprising a plurality of scan chains and method for testing thereof
US7275195B2 (en) Programmable built-in self-test circuit for serializer/deserializer circuits and method
FR2672139A1 (fr) Generateur de base de temps rapide.
EP3375092B1 (fr) Procédé de synchronisation de convertisseurs de données par un signal transmis de proche en proche
EP2324442B1 (fr) Procede de detection d'anomalies dans un circuit de cryptographie protege par logique differentielle et circuit mettant en oeuvre un tel procede
FR3033965A1 (fr)
US20120226953A1 (en) Semiconductor integrated circuit, design apparatus and design method
FR2963687A1 (fr) Arbre d'horloge pour bascules commandees par impulsions
FR2494868A1 (fr) Circuit logique permettant une operation d'essai
US9565014B2 (en) Initializing a descrambler
FR3023396A1 (fr) Generateur de nombres aleatoires
FR2722928A1 (fr) Circuit de detection de synchronisation
EP0939372B1 (fr) Dispositif de test en production des caractéristiques dynamiques de composants utilisant des transmissions série
EP1571522A1 (fr) Dispositif de protection contre l'injection d'erreur dans un bloc logique asynchrone d'un module logique élémentaire
US9548857B2 (en) Initializing a descrambler
EP3716523A1 (fr) Procédé de synchronisation de données numériques envoyées en série
EP1571754B1 (fr) Dispositif de protection contre l'injection d'erreur dans une bascule synchrone d'un module logique élémentaire
FR2996968A1 (fr) Circuit de protection de rapport cyclique
US9933481B2 (en) Testing a feedback shift-register
Ahmed et al. Behavioral test benches for digital clock and data recovery circuits using Verilog-A
EP4053727A1 (fr) Générateur de nombres aléatoires
FR3047565A1 (fr) Procede et dispositif de test d'une chaine de bascules
JP5437170B2 (ja) 検査装置、および集積回路

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20150227