FR2960977A1 - VARIABLE SOLICITATION SEQUENCE GENERATOR FOR INTEGRATED SELF-TEST CIRCUIT - Google Patents
VARIABLE SOLICITATION SEQUENCE GENERATOR FOR INTEGRATED SELF-TEST CIRCUIT Download PDFInfo
- Publication number
- FR2960977A1 FR2960977A1 FR1054445A FR1054445A FR2960977A1 FR 2960977 A1 FR2960977 A1 FR 2960977A1 FR 1054445 A FR1054445 A FR 1054445A FR 1054445 A FR1054445 A FR 1054445A FR 2960977 A1 FR2960977 A1 FR 2960977A1
- Authority
- FR
- France
- Prior art keywords
- prbs
- sequence
- output
- sequences
- generators
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318385—Random or pseudo-random test pattern
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31712—Input or output aspects
- G01R31/31717—Interconnect 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 génération d'au moins une séquence de test pour tester une connexion de données, le procédé comprenant la combinaison sélective par une fonction logique (206) des séquences pseudo-aléatoire (PRBS) de sortie d'une pluralité de générateurs PRBS (202, 204), chaque générateur ayant un nombre d'états spécifique à ce générateur, distinct de celui des autres générateurs.The invention relates to a method for generating at least one test sequence for testing a data connection, the method comprising the selective combination by a logical function (206) of pseudo-random sequences (PRBS) of output of a plurality PRBS generators (202, 204), each generator having a number of states specific to this generator, distinct from that of the other generators.
Description
B10063 - 09-GR2-416 1 GÉNÉRATEUR DE SÉQUENCE À SOLLICITATION VARIABLE 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. TECHNICAL FIELD The present invention relates to a circuit for performing an integrated self-test (BIST), and in particular to a BIST method and circuit for conducting an integrated self-test (BIST), and in particular a BIST method and circuit for generate and verify a test sequence. BACKGROUND OF THE PRIOR ART With the increase in complexity and clock frequencies of integrated circuits and with the use of new technologies at 32 nm, it is desirable to rigorously test data connections between chips and chips. / or input / output terminals of the integrated circuits. One objective of these tests is to ensure that a wide range of signals can be transmitted and received correctly by the data connections.
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 transmise sur la connexion de données pendant une phase de B10063 - 09-GR2-416 An integrated self-test circuit (BIST) is a type of automatic test equipment designed to rigorously test connections between chips, and which is integrated with the functional circuit of the chip. The BIST circuit generally comprises two main elements: a pseudo-random bit sequence generator (PRBS), which generates a pseudo-random bit sequence for use as a test sequence that is transmitted over the data connection for a period of time. phase of B10063 - 09-GR2-416
2 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 15 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 génération d'au moins une séquence de test pour tester une connexion de données, le procédé comprenant 20 la combinaison sélective par une fonction logique de séquences pseudo-aléatoire de sortie d'une pluralité de générateurs PRBS, chaque générateur ayant un nombre d'états spécifique distinct de celui des autres générateurs. Selon un mode de réalisation, la combinaison sélective 25 des séquences de sortie résulte de la fourniture d'un signal de commande pour l'activation sélective de chacune des séquences de sortie. Selon un autre mode de réalisation, l'activation sélective des séquences de sortie résulte de l'injection d'un 30 état de germe dans chaque générateur PRBS pour initialiser son état. Selon un autre mode de réalisation, l'activation sélective des séquences de sortie comprend la commande d'au moins un multiplexeur pour fournir chaque séquence de sortie à 35 un circuit logique de combinaison. 2 test; and a verification circuit that verifies that the test sequence is correctly received at the receiver level. A problem exists with existing BIST circuits which are generally relatively expensive in terms of chip area. One reason is related to the PRBS generator which is often positioned at each transmitter and receiver side. In addition, existing BIST circuits generally do not allow flexibility with respect to the difficulty of the bias applied by the test pattern. The difficulty is defined by the length of the sequence, and determines the maximum number of contiguous "0" or "1" bits that are generated by the PRBS generator. SUMMARY An object of embodiments of the present invention is to at least partially solve one or more problems of the prior art. Thus, according to one aspect of the present invention there is provided a method of generating at least one test sequence for testing a data connection, the method comprising the selective combination by a logical function of pseudo-random output sequences. of a plurality of PRBS generators, each generator having a specific number of states distinct from that of the other generators. According to one embodiment, the selective combination of the output sequences results from the provision of a control signal for the selective activation of each of the output sequences. According to another embodiment, the selective activation of the output sequences results from the injection of a seed state into each PRBS generator to initialize its state. According to another embodiment, the selective activation of the output sequences comprises controlling at least one multiplexer to provide each output sequence to a combination logic circuit.
B10063 - 09-GR2-416 B10063 - 09-GR2-416
3 Selon un autre mode de réalisation, le nombre d'états de chacun des générateurs PRBS est égal soit à un nombre premier soit à un produit de nombres premiers, le nombre premier ou les nombres premiers de chaque générateur étant différents de celui ou ceux des autres générateurs. Selon un autre mode de réalisation, le nombre spécifique d'états de chacun des générateurs PRBS est égal soit à un nombre premier soit à un produit de nombres premiers, au moins un nombre premier étant identique pour au moins deux générateurs PRBS, et des valeurs de germe injectées dans chacun de ces deux générateurs PRBS sont sélectionnées sur la base d'un niveau de difficulté souhaité de ladite au moins une séquence de test. Selon un autre mode de réalisation, la fonction 15 logique de combinaison des séquences de sortie est une opération OU-Exclusif ou une opération OU-Exclusif inversée. Selon un autre mode de réalisation, le procédé comprend en outre la duplication des séquences de sortie d'au moins un des générateurs PRBS pour fournir des première et 20 seconde séquences identiques, et la génération de ladite au moins une séquence de test sur la base des première et seconde séquences. Selon un autre mode de réalisation, ladite au moins une séquence de test est générée en transmettant alternativement 25 sur une ligne chacune des première et seconde séquences identiques. Selon un autre mode de réalisation, ladite au moins une séquence de test est générée en combinant au moins l'une des première et seconde séquences identiques avec une autre séquence 30 de sortie. Selon un autre aspect de la présente invention, il est prévu un procédé de vérification, par un circuit récepteur, de ladite au moins une séquence de bits pseudo-aléatoire ci-dessus, reçue par l'intermédiaire de la connexion de données, comprenant 35 l'extraction des deux, ou plus, occurrences de chaque séquence B10063 - 09-GR2-416 According to another embodiment, the number of states of each of the PRBS generators is equal to either a prime number or a product of prime numbers, the prime number or prime numbers of each generator being different from that or those of other generators. According to another embodiment, the specific number of states of each of the PRBS generators is equal to either a prime number or a prime number product, at least a prime number being identical for at least two PRBS generators, and values Germs injected into each of these two PRBS generators are selected based on a desired level of difficulty of the at least one test sequence. According to another embodiment, the logic function of combining the output sequences is an exclusive-OR operation or a reverse OR-operation. According to another embodiment, the method further comprises duplicating the output sequences of at least one of the PRBS generators to provide identical first and second sequences, and generating said at least one test sequence based on first and second sequences. In another embodiment, said at least one test sequence is generated by alternately transmitting on a line each of the first and second identical sequences. In another embodiment, said at least one test sequence is generated by combining at least one of the first and second identical sequences with another output sequence. According to another aspect of the present invention, there is provided a method of checking, by a receiver circuit, said at least one pseudo-random bit sequence above, received via the data connection, comprising extracting two or more occurrences of each sequence B10063 - 09-GR2-416
4 de sortie à partir de la séquence reçue, et la comparaison des deux occurrences ou plus. Selon un autre aspect de la présente invention, il est prévu un circuit pour générer au moins une séquence de test pour tester une connexion de données, le circuit comprenant une logique de combinaison agencée pour combiner sélectivement des séquences de sortie d'une pluralité de générateurs PRBS, dans lequel la pluralité de générateurs PRBS est constituée de générateurs à n bits ayant chacun une valeur de n différente de la valeur de n de chacun des autres générateurs. Selon un mode de réalisation, chacun des générateurs PRBS mémorise un nombre de bits correspondant à sa valeur unique de n, les valeurs desdits bits définissant pour chaque générateur PRBS un nombre spécifique d'états, le nombre spécifique étant égal à un nombre premier ou à un produit de nombres premiers, le nombre premier ou les nombres premiers de chaque générateur étant différents du nombre premier ou des nombres premiers de chaque autre générateur. Selon un autre aspect de la présente invention, il est prévu un système pour vérifier une transmission de données sur une connexion de données, le système comprenant : un premier bloc de circuit comprenant le circuit ci-dessus pour générer au moins une séquence de test ; et un circuit récepteur pour recevoir ladite au moins une séquence de bits pseudo-aléatoire 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 premier bloc de circuit est agencé pour générer ladite au moins une séquence de test de façon à comprendre au moins deux occurrences de chacune des séquences de sortie, et le circuit récepteur comprend un bloc d'extraction agencé pour extraire et fournir audit comparateur lesdites au moins deux occurrences d'au moins une des séquences de sortie. 4 output from the received sequence, and comparing the two or more occurrences. According to another aspect of the present invention, there is provided a circuit for generating at least one test sequence for testing a data connection, the circuit comprising a combination logic arranged to selectively combine output sequences of a plurality of generators. PRBS, wherein the plurality of PRBS generators consists of n-bit generators each having a value of n different from the value of n of each of the other generators. According to one embodiment, each of the PRBS generators stores a number of bits corresponding to its unique value of n, the values of said bits defining for each PRBS generator a specific number of states, the specific number being equal to a prime number or a product of prime numbers, the prime number or prime numbers of each generator being different from the prime number or prime numbers of each other generator. According to another aspect of the present invention there is provided a system for verifying data transmission over a data connection, the system comprising: a first circuit block comprising the circuit above for generating at least one test sequence; and a receiver circuit for receiving said at least one pseudo-random bit sequence via the data connection, and a comparator for detecting errors in the data transmission. According to one embodiment, the first circuit block is arranged to generate said at least one test sequence so as to comprise at least two occurrences of each of the output sequences, and the receiver circuit comprises an extraction block arranged to extract and providing said comparator with said at least two occurrences of at least one of the output sequences.
B10063 - 09-GR2-416 B10063 - 09-GR2-416
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 5 en relation avec les figures jointes parmi lesquelles : 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 ; 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 15 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 20 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 25 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 ; 30 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 B10063 - 09-GR2-416 BRIEF DESCRIPTION OF THE DRAWINGS These and other objects, features, and advantages will be set forth in detail in the following description of particular non-limiting embodiments in connection with the accompanying figures, in which: FIG. circuit blocks interconnected via a data connection and comprising a BIST circuit according to an embodiment of the present invention; FIG. 2 illustrates a pseudo-random bit stream generation module according to an embodiment of the present invention; Figures 3A-3J illustrate examples of pseudo-random generators according to embodiments of the present invention; FIG. 4 illustrates a pseudo-random bit stream generation module according to another embodiment of the present invention; Figure 5 illustrates circuit blocks connected to one another via a data connection and comprising a BIST circuit according to another embodiment of the present invention; Fig. 6 illustrates a circuit block having an output interface comprising a BIST circuit according to an embodiment of the present invention; Fig. 7 illustrates circuit blocks interconnected via a data connection and including a BIST circuit according to another embodiment of the present invention; Figures 8A to 8E illustrate the circuit of Figure 7 in more detail according to various embodiments of the present invention; Fig. 9 illustrates circuit blocks interconnected via a data connection and comprising B10063-09-GR2-416.
6 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. 6 a BIST circuit according to yet another embodiment of the present invention; and Fig. 10 illustrates an electronic device according to an embodiment of the present invention.
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 B10063 - 09-GR2-416 DETAILED DESCRIPTION OF EMBODIMENTS OF THE PRESENT INVENTION In the following description, only those aspects that are useful for understanding the invention are described in detail. In particular, the main function of the circuit blocks during normal operation has not been described, the invention being applicable to any circuit block, regardless of its main function. In addition, the implementation of the data connection to be tested, which could be serial, parallel or any other type of connection, has not been described in detail, the invention being applicable to any type of connection of data. FIG. 1 illustrates a circuit 100 comprising circuit blocks 102 and 104, which are for example two chips provided on an integrated circuit. In this example, the circuit block 102 transmits, via a data connection 105, data signals to the circuit block 104. The data connection 105 includes one or more data lines 106 connected between the circuit 108 of the circuit block 102 and the receiving circuit 110 of the circuit block 104. The data connection 105 is, for example, a serial or parallel connection, and the transmission 108 and the reception 110 circuits are implemented by for example, the physical layer of the connection by an interface between one or more lines of input data and the data lines 106. Each data line 106 is constituted for example by a single wire, or a differential pair of wires. to ensure immunity to noise. Note that a serial interface with more than one line of data is not the same as a parallel interface. In a parallel interface, the B10063 - 09-GR2-416
7 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 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. 7 bits of a symbol, for example, 8 or 12 bits of data, are transmitted at the same time on 8 or 12 lines of parallel data, while in a serial interface the data bits forming each data symbol are transmitted in series. , one after the other on the same line of data. For example, in a serial interface, a first byte is sent on the first data line, a second byte is sent on the second data line, then a third byte is sent on the first data line, and so on. However, the same byte is not distributed over many rows of data. Although not shown in FIG. 1, in addition to the data lines 106, the data connection 105 may include one or more clock lines, control lines used for protocols, and so on.
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. During normal operation, a standard data signal D is sent on one or more lines 112 to the transmit circuit 108 of the data connection 105. During a test mode, a sequence generation circuit (PAT GEN) 111 replace the standard data signal D with a test sequence S, comprising one or more bit sequences, which are sent on said one or more lines 112 to the transmission circuit 108 of the data connection 105. In particular, the circuit 111 comprises a PRBS generation module (PRBS UNIT) 114, which generates said one or more test sequences S and provides them on one or more lines 115 to an input of a multiplexer 116 which is controlled to select either the data signal D is the test sequence S for supply on the lines 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 B10063 - 09-GR2-416 Thus, during the test mode, the test sequence S is transmitted over the data connection 105 to test the data connection 105 for a wide range of signals. On the receiver side, during normal operation, the data D received via the data connection 105 is supplied by the receiver circuit 110 to the B10063 - 09-GR2-416
8 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 par l'intermédiaire de la connexion de données 105 est fournie à 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. 8 processing circuit (not shown in Figure 1) which performs the normal function of the circuit block 104. During the test mode, the test sequence S 'received via the data connection 105 is supplied to a circuit SEQ VER 122, which comprises a PRBS generation module (PRBS UNIT) 124. The generation module 124 is identical to the generation module 114 of the circuit block 102, and is controlled to generate the same sequence of bits. After temporal adaptation of the data streams S and S ', such as, for example, the latency compensation between the generations of S and S' (not shown), a comparator (COMP) 126 of the circuit 122 compares the bit sequence It is received via the data connection 105 to the bit sequence S received from the PRBS generator 124. The differences detected by the comparator 126 make it possible to evaluate the success of the transmission on the data connection. The comparator 126 is for example implemented by an exclusive-OR gate (XOR), which compares the sequences S and S 'bit by 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. The test sequence generated by the generators 114 and 124 has a determined difficulty value. The biasing metric is related to the sequence length of the bit stream, that is, the number of bits before the bit sequence is repeated. The length of the sequence is equal to the number of possible states for the PRBS generator. In particular, each PRBS generator stores n bits, and the combinations of possible values of these bits define the number of states of the generator. Here, the difficulty level will be called n-bit value, which represents the number of bits stored by the PRBS generator, and is also connected to the maximum bit sequence "0" or "1" in the output bit sequence . As will be described in more detail below, the implementation of an n-bit PRBS generally comprises n-1 flip-flops, and has a sequence length and a number of states equal to 2n-1.
B10063 - 09-GR2-416 B10063 - 09-GR2-416
9 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 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 124 de la figure 1, et permet de sélectionner des niveaux de 15 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 PRBS 204 est un générateur à R bits, Q et R étant des entiers 20 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. Les séquences A et B sont fournies bit à bit à un bloc 25 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 d'appliquer l'un de ces trois niveaux de difficulté différents. 30 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 activé, la séquence de sortie S de la porte XOR 206 va être la 35 séquence B. Si les deux générateurs 204 et 206 sont activés, la B10063 - 09-GR2-416 Often, errors occur in the data connection only when a certain level of difficulty is reached, ie after the transmission of a number of bits "0" or "1" in sequence. Thus, the level of difficulty is generally chosen according to the expected use of the data connection. However, in some cases, the circuit blocks 102, 104 may be used for different applications, and thus it is desirable to provide a varying difficulty level. This level of difficulty can therefore be evaluated and a solicitation metric associated with it. FIG. 2 illustrates a generation module PRBS (PRBS GEN) 200, which implements, for example, the modules 114 and 124 of FIG. 1, and makes it possible to select levels of variable difficulty. The PRBS generation module 200 comprises first and second PRBS generators (PRBS GEN) 202 and 204. The PRBS generator 202 is a Q-bit generator, while the PRBS generator 204 is an R-bit generator, where Q and R are whole numbers not equal. Thus, the sequence A coming from the generator 202 will have a difficulty value of Q bits, while the sequence B coming from the generator 204 will have a difficulty value of R bits. Sequences A and B are provided bit by bit to an XOR block 206, which generates an output bit sequence equal to the XOR combination of the A and B sequences, noted here A * B. The sequence A, the sequence B and the sequence A * B each have a different level of difficulty, and the generation module 200 makes it possible to apply one of these three different levels of difficulty. In particular, the generators 202 and 204 include enable inputs 208 and 210, respectively. If only the generator 202 is activated, the output sequence S of the XOR gate 206 will be the sequence A. If only the generator 204 is activated, the output sequence S of the XOR gate 206 will be the sequence B. If the two generators 204 and 206 are activated, the B10063 - 09-GR2-416
10 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 appelé pseudo-aléatoire ou PRBS (en anglais "Pseudo Random Bit 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 pseudoalé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. The output sequence S of the XOR gate 206 will be the sequence A * B. There are two types of test sequence, one called pseudo-random or PRBS (Pseudo Random Bit Stream) and the other called more generally test sequence.A sequence PRBS is generated by an n-bit generator having 2n-1 states, and therefore a sequence length of 2n-1 bits While a test sequence may be a pseudo-random sequence, it may not have the characteristic of generating a sequence of 2n-1 bits in length In the example of FIG. 2, the sequences A and B are PRBS sequences, and the sequence S is a test sequence, which may or may not be a pseudo-random sequence.Of course, the XOR gate 206 could be replaced by a block implementing a variant of the XOR function, such as an XNOR function, which is the inverse of the XOR function The number of states of each generator 202, 204, which is also equal to the sequence length of each generator, is a prime number, or e st equal to the product of one or more prime numbers. In particular, the polynomial equation representing each n-bit PRBS is for example a primitive polynomial, which means that it is irreducible, and therefore, under certain conditions included in the knowledge of those skilled in the art, the length of the sequence is the prime number 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 B10063 - 09-GR2-416 In some embodiments, the n values of each of the generators 202 and 204 are chosen such that they do not have common prime numbers constituting the sequence lengths of each generator. In this way, for a given combination of generators, the combined sequence will have, at a certain stage, the maximum level of difficulty. By way of example, suppose that the two pseudo-random sequence generators 202, 204 are generators with n1 bits and n2 bits respectively, the lengths of the sequences A and B will thus be 2n1-1 and 2n2-1 respectively. If 2n1-1 is not prime and equal to KxL, and 2n2-1 is not prime and B10063 - 09-GR2-416
11 é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 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-1) (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. Since it is equal to KxM, K, L and M being all prime numbers, the combined sequence A * B will have a sequence length equal to KxLxM, which is less than (2n1-1) (2n2-1). Since the sequence length is reduced, the maximum difficulty level may never occur. However, if 2n1-1 is not prime and equal to KxL and 2n2-1 is not prime and equal to MxJ, K, L, M and J are all different primes, the combined sequence A * B is have a sequence length equal to KxLxMxJ, which is equal to (2n1-1) (2n2-1). Preferably, the values n1 and n2 are different prime numbers, since this implies that the sequence lengths will be Mersenne primes, that is, 2n-1, where n is a prime number.
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 20 B10063 - 09-GR2-416 Table I below illustrates the values of n between 5 and 23, and the corresponding Mersenne numbers for each of these n values, represented as products of prime numbers. TABLE 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 20 B10063 - 09-GR2-416
12 Si un même nombre premier est présent pour deux valeurs de n dans le tableau I et si les séquences correspondantes sont combinées, cela va impliquer que le nombre 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. If the same prime number is present for two values of n in Table I and the corresponding sequences are combined, it will imply that the common prime number will only appear once in the calculation of the length of the combined sequence. Thus, for example, if the 6-bit and 9-bit PRBS generator sequences were combined by an XOR operation, because of the repetition factor of 7, the resulting sequence would have a length of (3x3x7) x73 = 4599, and not not (3x3x7) x (7x73) = 32193. Alternatively, if the 7-bit and 8-bit PRBS generator sequences were combined, the length of the resulting sequence would be 127x (3x5x17) = 32385, while the total number of flip-flops in the two generators would be the same as in the 6-bit and 9-bit PRBS generators.
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 B10063 - 09-GR2-416 Alternatively, there may be one or more prime numbers common to the generators to be combined. In this case, the seed value of each generator is chosen for example so that the maximum sequence of 0 and / or 1 occurs at a determined position in the sequence of each generator. In this way, the combined sequence can have a desired level of difficulty. FIGS. 3A and 3B illustrate examples of implementation of 5-bit and 7-bit PRBS generators respectively, while FIGS. 3C to 3F illustrate examples of implementation of 8-bit PRBS generators and FIGS. 3G to 3J. illustrate exemplary embodiments of 9-bit, 11-bit, 12-bit and 13-bit PRBS generators, respectively, each of which can implement the Q-bit generator 202 or the R-bit generator 204 of FIG. The generator PRBS 300 of FIG. 3A comprises four flip-flops F1 to F4 connected in series, the output of the flip-flop F4 being connected to the input of an XOR gate X1, and the output of the XOR gate X1 being connected to the F1 flip-flop input. The output of the flip-flop F2 is connected to a second input of the XOR gate B10063 - 09-GR2-416
13 Xl. 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 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 Xl 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". Xl. Each of the latches is clocked by a clock signal CLK, so that they operate synchronously. To initialize the PRBS generator 300 with a certain n-bit state, a seed input is provided to each flip-flop F1 to F4, as will now be described. A flip-flop Fi is shown in FIG. 3A, which represents any one of flip-flops F1 to F4. As illustrated, the flip-flop Fi comprises a multiplexer Mi having an input intended to receive the signal S (i-1) originating from the preceding flip-flop or originating from the XOR gate X1 in the case of the flip-flop F1, and a second input intended to receive a seed entry bit SEEDi. The output of the multiplexer Mi is coupled to the data input of a flip-flop of type D, Di, which is clocked by a clock signal CLK. The output of the flip-flop Di provides the output Si of the flip-flop Fi. Thus, to inject a seed value into the PRBS 300, the multiplexer Mi of each flip-flop is controlled, via its control input, so as to select the corresponding seed input SEEDi to be supplied to the corresponding flip-flop Di . At the next cycle of the clock CLK, the multiplexer Mi is controlled to select the input S (i-1), and thus the sequence generated by the PRBS is initialized with the seed value injected. While the output sequence can be taken from any of the outputs of the flip-flops, the output is for example the signal S3 taken at the output of the third flip-flop F3. The sequence length of each of the signals SO to S4 will be 31 bits, and at some stage of the sequence there will be a contiguous maximum of 5 bits "1" and four 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 B10063 - 09-GR2-416 The seed entry is used, for example, as an enable input 208, 210 in FIG. 2 to enable or disable the generator 300. In particular, if a seed value of five "0" is injected into the PRBS, each of the SO signals at S4 will thus remain in the low state. A constant logic value "0" on an input of the XOR gate 206 of Fig. 2 B10063 - 09-GR2-416
14 va simplement permettre à l'autre signal d'entrée de la porte XOR 206 de passer directement. 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 B10063 - 09-GR2-416 14 will simply allow the other input signal of the XOR gate 206 to pass directly. Each of the PRBS generators 301 to 309 shown in Figs. 3B to 3J has a structure similar to that of the generator 300 of Fig. 3A. In particular, each of them comprises a series of flip-flops, each of them being for example implemented in a manner similar to flip-flop Fi of FIG. 3A, provided with a seed input. The differences between each of the circuits are the number of flip-flops and the number and connection of the XOR gates, as will be described now. The 7-bit generator 301 of FIG. 3B comprises six flip-flops F1 to F6 and an XOR gate X1. The inputs of the XOR gate X1 are connected to the outputs of the flip-flops F5 and F6, respectively. The 8-bit generator 302 of FIG. 3C comprises seven flip-flops F1 to F7, and three XOR gates X1, X2 and X3. The inputs of the XOR gate X1 are respectively connected to the output of the flip-flop F2 and to the output of the XOR gate X2. The inputs of the XOR gate X2 are respectively connected to the output of the flip-flop F4 and to the output of the XOR gate X3. The inputs of the XOR gate X3 are connected to the outputs of the flip-flops F6 and F7 respectively. The 8-bit generator 303 of FIG. 3D comprises seven flip-flops F1 to F7, and three XOR gates X1, X2 and X3. The inputs of the XOR gate X1 are respectively coupled to the output of the flip-flop F3 and to the output of the XOR gate X2. The inputs of the XOR gate X2 are respectively connected to the output of the flip-flop F4 and to the output of the XOR gate X3. The inputs of the XOR gate X3 are connected to the outputs of the flip-flops F5 and F7 respectively. The 8-bit generator 304 of FIG. 3E comprises seven flip-flops F1 to F7, and three XOR gates X1, X2 and X3. The inputs of the XOR gate X1 are respectively connected to the output of the flip-flop F1 and the output of the XOR gate X2. The B10063 - 09-GR2-416
15 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 entrées de la porte XOR X3 sont reliées aux sorties des bascules F3 et F7 respectivement. 15 inputs of the XOR gate X2 are respectively connected to the output of the flip-flop F2 and to the output of the XOR gate X3. The inputs of the XOR gate X3 are connected to the outputs of the flip-flops F3 and F7 respectively.
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 15 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 sortie de la bascule 20 entrées de la porte sortie de la bascule XOR Xl F1 et à XOR X2 F6 et àsont reliées respectivement à la la sortie de la porte XOR X2. Les sont reliées respectivement à la 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 25 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 30 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 35 sortie de la bascule F1 et à la sortie de la porte XOR X2. Les B10063 - 09-GR2-416 The 8-bit generator 305 of FIG. 3F comprises seven flip-flops F1 to F7, and five XOR gates X1, X2, X3, X4 and X5. Each of the XOR gates X1 to X4 has an input connected to the output of the XOR gates X2 to X5 respectively, and the other input connected to the output of the flip-flops F1 and F3 to F5 respectively. The inputs of the XOR gate X5 are connected to the outputs of the flip-flops F6 and F7. The four implementations 302 to 305 of the 8-bit PRBS generators show that it is possible to generate different sequences of the same length but having different values. The 9-bit generator 306 of FIG. 3G comprises eight flip-flops F1 to F8, and three XOR gates X1, X2 and X3. The inputs of the output gate of the flip-flop 20 inputs of the output gate of the flip-flop XOR F1 X1 and XOR X2 F6 and are respectively connected to the output of the gate XOR X2. The are connected respectively to the output of the XOR X3 gate. The inputs of the XOR gate X3 are connected to the outputs of the flip-flops F7 and F8 respectively. The 11-bit generator 307 of FIG. 3H comprises ten flip-flops F1 to F10, and three XOR gates X1, X2 and X3. The inputs of the XOR gate X1 are respectively connected to the output of the flip-flop F1 and the output of the XOR gate X2. The inputs of the XOR gate X2 are respectively connected to the output of the flip-flop F6 and to the output of the XOR gate X3. The 30 inputs of the XOR gate X3 are connected to the outputs of the flip-flops F9 and F10 respectively. The 12-bit generator 308 of FIG. 3I comprises eleven flip-flops F1 to Fil, and three XOR gates X1, X2 and X3. The inputs of the XOR gate X1 are respectively connected to the output of the flip-flop F1 and to the output of the XOR gate X2. The B10063 - 09-GR2-416
16 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 entrées de la porte XOR X3 sont reliées aux sorties des bascules F10 et F11, respectivement. 16 inputs of the XOR gate X2 are respectively connected to the output of the flip-flop F9 and to the output of the XOR gate X3. The inputs of the XOR gate X3 are connected to the outputs of the flip-flops F10 and F11, respectively.
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 B10063 - 09-GR2-416 The 13-bit generator 309 of FIG. 3J comprises twelve flip-flops F1 to F12, and three XOR gates X1, X2 and X3, although for the purpose of compactness the flip-flops F2, F4, F5 and F10 are not illustrated. The inputs of the XOR gate X1 are respectively connected to the output of the flip-flop F6 and to the output of the XOR gate X2. The inputs of the XOR gate X2 are respectively connected to the output of the flip-flop F8 and to the output of the XOR gate X3. The inputs of the XOR gate X3 are connected to the outputs of the flip-flops F11 and F12 respectively. The generator PRBS 202 of FIG. 2 is for example implemented by one of the circuits 300, 301 and 306 to 309, while the generator PRBS 204 is for example implemented by another one of these circuits 300, 301 and 306 to 309 or by one of the circuits 302 to 305. FIG. 4 illustrates a generation module PRBS 400 according to an exemplary variant in which there are five generators PRBS (PRBS GEN) 401 to 405, which are generators 5-bit, 7-bit, 8-bit, 9-bit, and 11-bit PRBS, respectively. They could for example be implemented by circuits 300, 301, 302, 306 and 307 of FIGS. 3A, 3B, 3C, 3G and 3H respectively, although other circuits are also possible. A first output sequence A1, B1, C1, D1 and E1 of each generator 401 to 405 respectively, which is for example provided by the output of the flip-flop F1 of the corresponding generator, is connected to an input of a corresponding multiplexer 408 to 412. The outputs of the multiplexers 408 to 412 are connected to corresponding inputs of a five-input XOR gate 406. Similarly, a second output sequence A2, B2, C2, D2 and E2 from each generator 401 to 405 , which is for example provided by the output of the flip-flop F4 B10063 - 09-GR2-416
17 du générateur correspondant, est reliée à une entrée d'un multiplexeur correspondant 416 à 420. Les sorties des multiplexeurs 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. 17 of the corresponding generator, is connected to an input of a corresponding multiplexer 416 to 420. The outputs of the multiplexers 416 to 420 are coupled to corresponding inputs of a five-input XOR gate 414. Each of the multiplexers 408 to 412 and 416 at 420 is a two-input multiplexer, having its other input connected to a logic value "1". Alternatively, the output sequences A1 and A2 could be sequences taken from different implementations of a 5-bit generator, and similarly for the output sequences B1 and B2, C1 and C2, D1 and D2 and E1 and E2. For example, Cl could be the S1 sequence from the 8-bit generator 302 of Figure 3C, while C2 could be the S1 sequence from the 8-bit generator 303 of 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 B10063 - 09-GR2-416 By controlling the selection made by each multiplexer 408 to 412 and 416 to 420 through its selection input, the output of each multiplexer can be selected as the corresponding sequence A1 to E1, A2 to E2, or the logical value constant "1". A logic value "1" will not affect the output of the corresponding XOR gate 406, 414. In this way, the output signal S1 from the XOR gate 406 may be an XOR combination of any of the sequences A1 to E1, and the output signal S2 of the XOR gate 414 may be an XOR combination of the any of A2 to E2. For example, by controlling the multiplexers 408, 409 and 410 to select the signals A1 to C1, and the multiplexers 411 and 412 to select the logic value "1", the signal S1 is selected as Al * B1 * C1 which will therefore have a sequence length and a difficulty similar to that of a 20-bit PRBS generator. At the same time, by controlling the multiplexers 416, 417 and 418 to select the logic value "1", and the multiplexers 419 and 420 to select the signals D2 and E2, the signal S2 is selected as D2 * E2, which will have also a sequence length and B10063 - 09-GR2-416
18 une difficulté similaire à celle d'un générateur PRBS à 20 bits. Les signaux S1 et S2 pourront alors être transmis sur des lignes de données parallèles de la connexion de données 105 de la figure 1. 18 a difficulty similar to that of a 20-bit PRBS generator. The signals S1 and S2 can then be transmitted on parallel data lines of the data connection 105 of FIG.
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 B10063 - 09-GR2-416 In alternative embodiments, rather than using the multiplexers 408 to 412 and 416 to 420, the signals A1 to E1 and A2 to E2 could be turned on or off via the seed input of each generator, for example. a signal being deactivated by injecting a seed value consisting entirely of zeros into the corresponding generator. In addition, the signals A1 to E1 could be taken from the output of the same flip-flops as the signals A2 to E2, or other flip-flops of these generators. Figures 2 to 4 show only two examples of PRBS generation modules. Those skilled in the art will appreciate that alternate embodiments could include more or fewer PRBS generators, and generate any number of test signals based on any combination of two, three, four or more PRBS signals. . In any case, because of the way in which the PRBS signals are combined, the difficulty level of at least one of the generated test signals will be variable, either via the seed input, as this is represented in FIG. 1, either by means of a multiplexer, as shown in FIG. 4, or by means of alternative means. FIG. 5 illustrates a circuit 500, which is similar to the circuit 100 of FIG. 1, and comprises the circuit blocks 102, 104, the data connection 105, and the sequence generation 111 and sequence verify 122 circuits, and these features will not be described in detail. With respect to the circuit 100 of FIG. 1, the circuit 500 further comprises control blocks (CONTROL) 502 and 503 in the circuit blocks 102 and 104, respectively, respectively connected to each of the PRBS generation modules (PRBS UNIT). 114 and 124 by lines 504 and 506. Lines 504 B10063 - 09-GR2-416
19 fournissent par exemple des valeurs de germe à chacun des générateurs PRBS des modules 114, 124, tandis que les lignes 506 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. For example, they supply seed values to each of the PRBS generators of the modules 114, 124, while the lines 506 provide, for example, control signals for enabling or disabling one or more of the generators. Alternatively, activation or deactivation can be performed using only the seed entry, and thus lines 506 could be omitted in some embodiments. An operating mode of each of the control blocks is controlled, for example, by a control signal on an input line 508, which indicates, for example, the difficulty level of the test sequence to be applied to the data connection. For example, assuming that four different difficulty levels can be applied by different combinations of PRBS generators in each module 114, 124, the control signal on the line 508 is for example a 2-bit value indicating which of the four levels of difficulty must be applied. The time characteristics of this control signal can also provide time information, such that the PRBS modules 114, 124 operate synchronously. A delay block (DELAY) 512 is for example provided at the output of the PRBS module 124 for delaying the signal S by a delay corresponding to the delay introduced by the data connection, so that a valid comparison between S and It can be done by the comparator 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 B10063 - 09-GR2-416 In alternative embodiments, the control blocks 502, 503 could both be part of one of the circuit blocks 102, 104, or could be provided elsewhere. Figure 6 illustrates a circuit 600, similar to that of Figure 1, except that only the circuit block 102 is provided. In this example, the sequence generation 111 and sequence checking 122 circuits are fully implemented in the circuit block 102, and are arranged to test signals to be provided via output pads 602, 603 and 604 of the circuit 102. For example, the pads B10063 - 09-GR2-416
20 602 à 604 pourraient former trois des connexions qui constituent une sortie HDMI (interface multimédia à haute définition). 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 B10063 - 09-GR2-416 602 to 604 could form three of the connections that constitute an HDMI output (high definition multimedia interface). In this example, the data connection 105 is fully implemented in the circuit block 104, and includes the transmit block 108, which is connected to the output pads 602 to 604, the data lines 106 comprising in this case the connections to and from the pads 602 to 604, and the receiving circuit 110, which is also connected to the output pads 602 to 604. The receiving circuit 110, in this example, is not used during normal operation , and is intended to be used only during the test mode. The receiver circuit 110 also receives for example a clock signal CLK from another pad 606, to control the temporal operation of the reception of the test sequences. This clock signal is for example introduced by an operator on a pad 606 during the test mode, or could be supplied from inside the circuit block 102. The sequence checking circuit 122 receives the data signal S ' from the data connection 105, and in this example only includes the comparator (COMP) 126. In particular, in this embodiment, it is possible for the PRBS generation module 114 to provide one or more PRBS sequences for transmission over the data connection 105, and also provide these sequences to the comparator 126, via a delay element (DELAY) 608, so that they can be well synchronized with respect to the received sequences. The delay element 608 introduces a delay similar to the delay introduced by the data connection 105, so that a valid comparison between S and S 'can be made by the comparator 126. Figure 7 illustrates a circuit 700, which is similar to the circuit 100 of FIG. 1, and includes circuit blocks 102 and 104 interconnected by a data connection 105. However, rather than including a PRBS generation module in the two circuit blocks 102 and 104, a module PRBS with B10063 - 09-GR2-416
21 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, 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. PRBS WITH DUPLICATION UNIT 702 is provided in the sequence generation circuit 111 of the circuit block 102, which generates one or more PRBS signals which include some duplication. In addition, BIST circuit 124 includes an EXTRACT DUPLICATION block 704, which provides signals on lines 706 and 708 to comparator (COMP) 126 for comparison. The comparator is for example implemented by a simple XOR gate, which performs the bitwise comparison. By duplicating one or more PRBS that are transmitted over the data connection 105, the receiving side can verify the correct receipt of the data without using another PRBS module. The duplication involves the generation of two identical versions of at least one sequence, for example of the PRBS type, and the generation of the test sequence to be transmitted on the data connection 105 on the basis of these two identical sequences. The test sequence may comprise portions of each duplicated sequence temporally offset and / or spread over a plurality of lines, for example in combination with other signals. Such embodiments will now be described in more detail with reference to the examples of FIGS. 8A to 8E. For ease of illustration, the data connection 105 and the multiplexer 116 are not shown in these figures, but are indicated by a dashed line 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 B10063 - 09-GR2-416 FIG. 8A illustrates a circuit 800 implementing the PRBS module with duplication 702 and the duplication extraction module 704 of FIG. 7. The PRBS module with duplication 702 comprises a PRBS generation module (PRBS GEM UNIT) 802, which for example includes one or more generators PRBS, and may or may not allow the selection of a variable difficulty level. The PRBS generation module 802 provides a PRBS signal P, which is duplicated to provide an adapter block 804 with duplicate PA and PB sequences. These sequences are clocked in the adapter block 804 by a clock signal CLK1, which for example has half the frequency of the clock CLK2 used B10063 - 09-GR2-416
22 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 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. 22 to clock the output sequence S at the output of the adapter block 804 to be sent over the data connection. The output sequence S comprises alternating portions of the PA and PB sequences temporally offset with respect to each other, and comprises, for example, B PA bits followed by B PB bits followed by B PA bits, etc. B is for example a word of 16 or 32 bits of data, although other sizes are possible. On the receiver side, the duplication extraction module 704 comprises a synchronization block 808, which is for example clocked by the clock signal CLK2, which receives the sequence transmitted on the data connection 105, and provides this sequence S ' to a separator 809, for example clocked by a WORD CLK signal. Separator 809 provides B-bit groups of received sequence S 'to buffers 810, 812 alternately, which have their outputs coupled to other buffers 814 and 816 respectively. The buffers 810 to 816 are, for example, first-in, first-out (FIFO) FIFO buffers, the size of which is, for example, B bits. A multiplexer 817 selects the contents of one of the buffers 810 and 814 to provide bit by bit to an input of the comparator 126, while a multiplexer 818 selects the contents of one of the buffers 812 and 816 to be provided bit by bit. at another input of the comparator 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 B10063 - 09-GR2-416 The selection made by the multiplexers 817 and 818 depends on the particular timing between the splitter 809 and the received stream. For example, assuming that the sequence S comprises words PA ', PB1, PA2, PB2, PA3, etc., then the separator can supply words PA1, PA2, PA3, etc. to buffer 810, and words PB1, PB2, PB3, etc. to buffer 812. In this case, the contents of buffers 810 and 812 are for example supplied bit by bit to the inputs of comparator 126 for comparison. Alternatively, the words PB1, PB2, PB3, ..., may be provided at the buffer 810, and the words PA2, PA3, PA4, ..., may be provided at the buffer 812. In this case, the contents buffers B10063 - 09-GR2-416
23 812 et 814 est par exemple fourni bit par bit aux entrées respectives du comparateur 126 pour tester la présence 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. For example, 812 and 814 are provided bit by bit at the respective inputs of comparator 126 to test for the presence of errors. In some cases, if the synchronization of the separator is not known, the contents of each of the buffers 810 and 814 can be compared to the contents of each of the buffers 812 and 816, and it is verified that there is a match between the bits of the buffers. at least two of these buffers. FIG. 8B illustrates an exemplary variant in which the PRBS module with duplication 702 comprises a PRBS generation module 822 (PBRS GEN UNIT) which is arranged to generate three different signals A, B and C, each supplied by a PRBS generator to n different bits. The signals A and B are supplied to an XOR gate 823 to obtain the signal A * B, the signals B and C are supplied to an XOR gate 824 to obtain the signal B * C, and the signals A and C are supplied to a XOR gate 825 to obtain the signal A * C. The signals A * B, B * C and A * C are supplied to an adapter block 826 which provides an output sequence S comprising bits from each of the sequences in turn, for example a first group of B bits of the sequence A * B, followed by a second group of B bits of the sequence B * C, followed by a third group of B bits of the sequence A * C, followed by a fourth group of B bits of the sequence A * B and so on. B can be a word, for example 16 or 32 bits of data, although other sizes are also possible. The sequences A * B, B * C and A * C are for example introduced into the block 826 clocked by a clock signal CLK1, and the sequence S is clocked at the output by a clock signal CLK2 having three times the frequency of CLK1. The outputs S are then transmitted on the data connection.
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 B10063 - 09-GR2-416 On the receiver side, the duplication extraction module 704 includes a synchronization block 828, which receives the sequence from the data connection 105, and provides the received sequence S 'to a buffer 832, which is connected in series to two Other buffers 834 and 836. The buffers 832 to 836 are for example FIFO buffers each having a size B B10063 - 09-GR2-416
24 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 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. 24 bits. In this example, an XOR gate 838 performs an XOR function between the bits stored in the buffers 832 and 834. For example, assuming that these buffers memorize words that could correspond to corresponding portions of the signals A * B and B * C, the combination XOR of these words carried out bit by bit could generate the signal A * C. This could then be compared by the comparator 126 to the content of the third buffer which could store a word corresponding to the corresponding part of the signal A * C. In fact, the XOR combination of any two of the A * B, B * C and A * C sequences could be equal to the third sequence, and therefore an advantage of the configuration of Figure 8B is that the verification can be applied simple regardless of which group of bits is in each of the buffers at every moment.
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 35 la figure 8C, excepté que le module de génération PRBS 862 B10063 - 09-GR2-416 Figure 8C illustrates a circuit 840 according to an alternative embodiment in which the data connection transmits three signals, such as three data signals, or two data signals and a validation signal. The PRBS module with duplication 702 comprises a PRBS generation module (PRBS GEN UNIT) 842 which generates two PRBS signals A and B, generated by different n-bit generators, the values of n being for example chosen to give the value 2n. -1 different prime numbers. The module 702 further comprises an XOR gate 844, which receives at its inputs the signals A and B, and generates a signal A * B. The three signals A, B and A * B are provided on respective lines 846, 848 and 850 to the data connection for transmission. On the receiver side, the signals which should correspond to the transmitted signals A, B and A * B, are provided on lines 852, 854 and 856 respectively. Lines 852 and 854 are connected to the inputs of an XOR gate 858, which must thus generate the signal A * B, which can thus be compared to the signal on the line 856 by the comparator 126. FIG. 8D illustrates an example similar to FIG. that of FIG. 8C, except that the generation module PRBS 862 B10063 - 09-GR2-416
25 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 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 B10063 - 09-GR2-416 25 generates three sequences A, B and C, and XOR gates 863, 864 and 865 are connected to generate the signals A * B, B * C and A * C, respectively, which are transmitted over the data connection. On the receiver side, the signals which should represent the signals A * B, B * C and A * C are received on lines 866, 867 and 868, respectively. In this example, the signals on the lines 866 and 867 are applied to an Exclusive OR gate 869, so that the output of the XOR gate 869 must be the A * C signal. This output and the signal on line 868 are provided to comparator 126. Figure 8E illustrates another example similar to that of Figure 8D, except that the PRBS generation module 882 generates four sequences A, B, C and D, and that pairs of these sequences are combined by four gates 883 to 886 to obtain the signals A * C, B * D, B * C and A * D. On the receiver side, an XOR gate 888 receives the signals which should be A * C and B * D, while an XOR gate 890 receives the signals which should be B * C and A * D, and so the two XOR gates 888 and 890 provide a signal which should be equal to the same combined signal A * B * C * D. The outputs of the XOR gates 888 and 890 are connected to the inputs of the comparator 126. FIG. 9 illustrates a circuit 900 of another embodiment in which the data connection 105 is a serial connection which comprises a group of data lines 902. , for example four data lines, and a clock line 904, each line connecting output pads of the circuit block 102 and input pads of the circuit block 104. The data connection 105 is in this example a DDR memory interface (double data rate), the circuit block 104 is for example a RAM (random access memory), and the block 102 is a DMA module (direct access memory). Thus, in normal operation, the data connection 105 is for example arranged to transmit, in series on the rising edges of the clock CLK, bits of data signals DH on the lines 902, and on the falling edges of the clock CLK. B10063 - 09-GR2-416
26 des bits de signaux de données DL sur les lignes 902. Chacun des 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 5 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 10 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 15 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 20 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 25 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 30 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 35 en oeuvre plusieurs générateurs ayant le même nombre d'états, de B10063 - 09-GR2-416 26 of the data signal bits DL on the lines 902. Each of the data signals DH and DL comprises, for example, four bit streams in parallel. The transmitting circuit 108 includes a clock source 906 which provides the clock signal CLK. The sequence generation circuit 111 of the circuit block 102 includes a multiplexer 908, which receives the normal data signals DH and DL at corresponding inputs, and also SH and SL test sequences which respectively replace these signals for the test of the data connection 105. Thus, the multiplexer 908 will provide the transmission circuit 108 of the data connection 105 either the data signals DH, DL, or the test sequences SH, SL. The sequence generation circuit 111 further comprises a sequence generator (SEQ GEN) 910, which receives from a PRBS module (PRBS UNIT) 912 a number of PRBS sequences, and determines the combination of these sequences to be transmitted for each connection, based on control signals from a control block (CTRL) 914. In one example, the PBRS generation module 912 comprises one or two 5-bit PRBS generators which provide a pair of sequences a5 and A5, one or two 7-bit generators that provide a pair of sequences b7 and B7, one or more 8-bit generators that provide C18, C28, C38 and C48 sequences, one or two 9-bit generators that provide a pair of sequences d9 and D9, one or two 11-bit generators that provide a pair of sequences e11 and E11, one or two 13-bit generators that provide a pair of sequences f13 and F13, one or two 17-bit generators that provide There is a pair of sequences G17 and G17 and one or two 19-bit generators that provide a pair of h19 and H19 sequences. A single PRBS generator can be used to generate several sequences of the same length by taking the output of different flip-flops of the generator. As an alternative, particularly in the case of the 8-bit generator, several generators having the same number of states can be used, from B10063 - 09-GR2-416.
27 différentes façons, pour obtenir les différentes séquences. Les 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 avec une être combinée en plus G17 et H19. Du côté récepteur, ou plusieurs des séquences un bloc de synchronisation F13, 916, cadencé par le signal d'horloge CLK reçu par l'intermédiaire de données 105, reçoit les signaux fournit ces signaux à un module de détection de mot 920 est activer le mode de test. En référence peut être transmis sur 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 : la du de utilisé, par exemple, particulier, un certain la connexion de données ligne 904 de la connexion de circuit de réception 110, et vérification 918. Un bloc pour mot de B10063 - 09-GR2-416 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 B10063 - 09-GR2-416 17 different ways, to get the different sequences. The data lines 902 receive, for example, the following signal combination: Table II Line number SH SL 0 a5 * e11 * C18 b7 * d9 * C18 1 A5 * E11 * C28 B7 * D9 * C28 2 a5 * E11 * C38 b7 In addition, to selectively increase or decrease the difficulty level, the 8-bit generators could be disabled to remove signals C18 through C48, and / or each of the sequences SH on lines 0 to 3 could for example be further combined with one or more of the sequences f13, g17 and h19, and each of the SL sequences on lines 0 to 3 could with a combination be further G17 and H19. On the receiver side, or several of the sequences, a synchronization block F13, 916, clocked by the clock signal CLK received via data 105, receives the signals that provides these signals to a word detection module 920. test mode. With reference can be transmitted on at the beginning of the test mode, and when the block 920 detects this word, it sends an activation signal to the verification module 918. The module 918 performs for example the following exclusive-OR operations: the for example, to use, in particular, the line data connection 904 of the receive circuit connection 110, and check 918. A word block of B10063 - 09-GR2-416 Table III HS number * SL line 0 a5 * ell * b7 * d9 1 A5 * E11 * B7 * D9 2 a5 * E11 * b7 * D9 3 A5 * ell * B7 * d9 Thus, performing the OR-Exclusive operation between HS and SL data on the fronts rising and falling clock, the C18 to C48 sequences cancel each other out. Then, performing the exclusive-OR function of all four values in the SH * SL column of Table III, a zero value should be obtained if no error is introduced by the data connection 105. As an additional example , one of the signals transmitted on the rising and falling edges of a clock on one of the data lines could be combined by XOR with a global locator value GL, which means that in the absence of errors, the value GL will be obtained instead of a null value. The value GL is for example a counter value, making it possible to detect the position of an error in the sequence. The receiver side can know the values of GL, or know that the values of GL will present an expected progression between a value of 12 bits and the next, so that errors can be detected. FIG. 10 illustrates an electronic device 1000 comprising interconnected circuit blocks 1002, 1004 which for example each comprise a BIST circuit according to the previously described embodiments for testing the connection of data between them, for example in both directions. Further, in addition to or instead, the device 1000 comprises a circuit block 1110 having a connection to an output 1111 of the device, and a sequence generating circuit 1112 according to the embodiments described herein for testing the data connection. to exit 1111, for example to the studs of 28 B10063 - 09-GR2-416
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. 29 output of the circuit block 1110, or the output terminals of the output 1111 of the device. Each of the test circuits 1006, 1008 and 1112 includes, for example, an output line 1114, 1116 and 1118, respectively, to provide test data at an output of the device, so that they can be evaluated by an operator. The device 1000 is for example a portable electronic device provided with one or more of the functions of a laptop, a mobile phone, a camera and / or a digital video camera, a portable game console, etc. Alternatively, the device 1000 could be a set-top box, a personal computer, a television set or other display device, a hard disk recorder, or other electronic device including data connections to be tested. An advantage of the embodiments described herein, which include several PRBS generators and circuits for selectively combining their output signals, is that a PRBS sequence having a varying difficulty level can be obtained. One skilled in the art will notice that the number of different difficulty levels that can be selected depends on the number of generators with different difficulty values, and the number of data connection lines to be tested. An advantage of choosing the n values of the PRBS generators in the group 5, 7, 8, 9, 11, 13, 17 and 19, is that the prime numbers which individually constitute, or when they are multiplied, the lengths of the sequence of these generators will be unique, and therefore the range of selectable difficulty levels will be great for the number of generators. A given difficulty level may be associated with a solicitation metric. This can remain relative and for example correlate different uses: automatic test and test on a final application bench.
B10063 - 09-GR2-416 B10063 - 09-GR2-416
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. An advantage of the embodiments described herein that add redundancy to the test signal is that verification of the test signal can be performed by a simple comparison without using another PRBS generator. This also avoids synchronizing a PRBS generator on the receiver side with a PRBS generator on the transmitter side. In some advantageous embodiments, redundancy is added by generating three or more test sequences by combining two or more different PRBS signals in different combinations, and transmitting the three or more test sequences over a plurality of different test sequences. lines of data connections to be tested, or in series on the same line of the data connection. Thus, at least one illustrative embodiment of the invention has been described, but various changes, modifications and improvements will be readily apparent to those skilled in the art. For example, those skilled in the art will appreciate that the PRBS generators of FIGS. 3A-3J are just a few examples, and that other implementations of generators having the same number of states, or different number of states. In addition, those skilled in the art will appreciate that the embodiments of Figs. 8A through 8E could be adapted to combine a different number of sequences for transmission over a different number of lines. Also, techniques for adding duplication could be combined, so that duplication occurs over time and over multiple lines as well. In addition, those skilled in the art will appreciate that the various embodiments described herein could be combined in alternative embodiments in various combinations. In addition, although some relatively simple examples have been given, the principles described here could be applied to data connections having a larger number of data lines.
Claims (15)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1054445A FR2960977B1 (en) | 2010-06-07 | 2010-06-07 | VARIABLE SOLICITATION SEQUENCE GENERATOR FOR INTEGRATED SELF-TEST CIRCUIT |
US13/154,382 US20110299581A1 (en) | 2010-06-07 | 2011-06-06 | Built-in self-test circuitry |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1054445A FR2960977B1 (en) | 2010-06-07 | 2010-06-07 | VARIABLE SOLICITATION SEQUENCE GENERATOR FOR INTEGRATED SELF-TEST CIRCUIT |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2960977A1 true FR2960977A1 (en) | 2011-12-09 |
FR2960977B1 FR2960977B1 (en) | 2012-07-13 |
Family
ID=43447837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1054445A Expired - Fee Related FR2960977B1 (en) | 2010-06-07 | 2010-06-07 | VARIABLE SOLICITATION SEQUENCE GENERATOR FOR INTEGRATED SELF-TEST CIRCUIT |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110299581A1 (en) |
FR (1) | FR2960977B1 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10235134B1 (en) * | 2014-09-17 | 2019-03-19 | EMC IP Holding Company LLC | Rotating bit values while generating a large, non-compressible data stream |
US10114850B1 (en) | 2014-09-17 | 2018-10-30 | EMC IP Holding Company LLC | Data stream generation using prime numbers |
US10038733B1 (en) | 2014-09-17 | 2018-07-31 | EMC IP Holding Company LLC | Generating a large, non-compressible data stream |
US10163371B1 (en) * | 2014-09-17 | 2018-12-25 | EMC IP Holding Company LLC | Rotating bit values based on a data structure while generating a large, non-compressible data stream |
US10114832B1 (en) | 2014-09-17 | 2018-10-30 | EMC IP Holding Company LLC | Generating a data stream with a predictable change rate |
US10647266B2 (en) * | 2016-05-17 | 2020-05-12 | Magna Electronics Inc. | Vehicle vision system with forward viewing camera |
CN111199769A (en) * | 2018-11-20 | 2020-05-26 | 长鑫存储技术有限公司 | Detection circuit and detection method for semiconductor memory |
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 |
EP4228187B1 (en) | 2022-02-15 | 2024-06-19 | Aptiv Technologies AG | Integrity tests for mixed analog digital systems |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
EP0218791A1 (en) * | 1985-06-24 | 1987-04-22 | International Business Machines Corporation | Weighted random pattern testing apparatus and method |
US20020124219A1 (en) * | 2001-03-05 | 2002-09-05 | Reiko Kuroki | Pseudo random signal producing circuit |
US20080178055A1 (en) * | 2007-01-24 | 2008-07-24 | Nec Electronics Corporation | Test pattern generation circuit having plural pseudo random number generation circuits supplied with clock signals at different timing respectively |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4745603A (en) * | 1986-05-27 | 1988-05-17 | American Telephone And Telegraph Company, At&T Bell Laboratories | Code sequence generator for a digital transmission line fault location system |
US4742518A (en) * | 1986-05-27 | 1988-05-03 | American Telephone And Telegraph Company, At&T Bell Laboratories | Fault location system for a digital transmission line |
US6393594B1 (en) * | 1999-08-11 | 2002-05-21 | International Business Machines Corporation | Method and system for performing pseudo-random testing of an integrated circuit |
US6542538B2 (en) * | 2000-01-10 | 2003-04-01 | Qualcomm Incorporated | Method and apparatus for testing wireless communication channels |
JP3937034B2 (en) * | 2000-12-13 | 2007-06-27 | 株式会社日立製作所 | Semiconductor integrated circuit test method and test pattern generation circuit |
US6684351B1 (en) * | 2000-12-22 | 2004-01-27 | Applied Micro Circuits Corporation | System and method for diagnosing errors in multidimensional digital frame structure communications |
US6983407B2 (en) * | 2002-06-14 | 2006-01-03 | International Business Machines Corporation | Random pattern weight control by pseudo random bit pattern generator initialization |
DE10339999B4 (en) * | 2003-08-29 | 2005-07-14 | Infineon Technologies Ag | Pseudorandom number generator |
US20050154953A1 (en) * | 2004-01-12 | 2005-07-14 | Norskog Allen C. | Multiple function pattern generator and comparator having self-seeding test function |
FR2865870B1 (en) * | 2004-01-30 | 2006-05-26 | Centre Nat Rech Scient | GENERATING A HIGH-RANDOM RANDOM BIT FLOW |
US7404115B2 (en) * | 2004-02-12 | 2008-07-22 | International Business Machines Corporation | Self-synchronising bit error analyser and circuit |
TWI274250B (en) * | 2004-12-17 | 2007-02-21 | Univ Nat Chiao Tung | Bit error rate tester and pseudo random bit sequences generator thereof |
US7941718B2 (en) * | 2006-03-07 | 2011-05-10 | Freescale Semiconductor, Inc. | Electronic device testing system |
US8131789B2 (en) * | 2008-03-28 | 2012-03-06 | Atmel Corporation | True random number generator |
FR2960978B1 (en) * | 2010-06-07 | 2013-06-21 | St Microelectronics Grenoble 2 | ASYNCHRONOUS SEQUENCE COMPARATOR FOR INTEGRATED SELF-TEST CIRCUIT |
US8453043B2 (en) * | 2010-09-13 | 2013-05-28 | Taiwan Semiconductor Manufacturing Company, Ltd. | Built-in bit error rate test circuit |
-
2010
- 2010-06-07 FR FR1054445A patent/FR2960977B1/en not_active Expired - Fee Related
-
2011
- 2011-06-06 US US13/154,382 patent/US20110299581A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
EP0218791A1 (en) * | 1985-06-24 | 1987-04-22 | International Business Machines Corporation | Weighted random pattern testing apparatus and method |
US20020124219A1 (en) * | 2001-03-05 | 2002-09-05 | Reiko Kuroki | Pseudo random signal producing circuit |
US20080178055A1 (en) * | 2007-01-24 | 2008-07-24 | Nec Electronics Corporation | Test pattern generation circuit having plural pseudo random number generation circuits supplied with clock signals at different timing respectively |
Also Published As
Publication number | Publication date |
---|---|
US20110299581A1 (en) | 2011-12-08 |
FR2960977B1 (en) | 2012-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2960978A1 (en) | ASYNCHRONOUS SEQUENCE COMPARATOR FOR INTEGRATED SELF-TEST CIRCUIT | |
FR2960977A1 (en) | VARIABLE SOLICITATION SEQUENCE GENERATOR FOR INTEGRATED SELF-TEST CIRCUIT | |
US5228042A (en) | Method and circuit for testing transmission paths | |
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 | |
FR2884080A1 (en) | Electronic circuit assembly, has stages, each comprising monitoring circuit that compares output value present on output of latch of considered stage at observation time with input value present on input of latch at another observation time | |
EP2526433A1 (en) | Integrated silicon circuit comprising a physically non-reproducible function, and method and system for testing such a circuit | |
FR2672139A1 (en) | FAST TIME BASE GENERATOR. | |
EP2324442B1 (en) | Method for detecting abnormalities in a cryptographic circuit protected by differential logic, and circuit for implementing said method | |
WO2007013306A1 (en) | Semiconductor logic circuit device test vector generation method and test vector generation program | |
FR3033965A1 (en) | ||
US20120226953A1 (en) | Semiconductor integrated circuit, design apparatus and design method | |
FR3023396A1 (en) | RANDOM NUMBER GENERATOR | |
US20100251042A1 (en) | Double data rate memory physical interface high speed testing using self checking loopback | |
FR2494868A1 (en) | LOGIC CIRCUIT FOR TEST OPERATION | |
US9983262B1 (en) | Built-in self test controller for a random number generator core | |
US9565014B2 (en) | Initializing a descrambler | |
FR2722928A1 (en) | SYNCHRONIZATION DETECTION CIRCUIT | |
EP0939372B1 (en) | Device for production testing of the dynamic characteristics of components using serial transmission | |
EP1821111A1 (en) | Electronic circuit comprising a test mode secured by using an identifier, and associated method. | |
FR2604577A1 (en) | CODE GENERATING CIRCUIT WITH PSEUDO-RANDOM NOISE | |
FR3094593A1 (en) | Method of synchronizing digital data sent in series | |
FR2723274A1 (en) | PULSE GENERATOR AND METHOD FOR TESTING A NEUTRON COINCIDENCE SYSTEM | |
US9933481B2 (en) | Testing a feedback shift-register | |
Ahmed et al. | Behavioral test benches for digital clock and data recovery circuits using Verilog-A |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20150227 |