Brevet FR2487076A1 — publié le 19820122

La présente invention concerne un dispositif pour le traitement de signaux numériques au moyen d'éléments logiques à fonctionnement combinatoire et à fonctionnement séquentiel dans lequel, pour le contrôle du circuit formé desdits élé- ments à fonctionnement séquentiel, un premier registre à dé- calage peut être formé avec une première entrée série, une première sortie série, une première sortie parallèle pour amener, en vue d'un traitement,ine1tme de données stockées à d'autres éléments du circuit et une première entrée paral- lèle pour recevoir ensuite une trame de résultat dudit trai- tement, et dans lequel un générateur detrame de contrôle est connecté à ladite première entrée série et un dispositif de vérification est connecté à ladite première sortie série. Pour un élément logique à fonctionnement combinatoire, une variation d'un signal d'entrée donne ou non une variation d'un signal de sortie, mais indépendamment du moment auquel la première variation apparaît. Dans un élément logique à fonctionnement séquentiel, certaines fonctions de mémoire sont représentées: un ou plusieurs états internes de l'élé- ment possèdent une certaine persistance. Ces états peuvent alors, en fonction des signaux d'entrée et de l'état interne lui-même, ne pas toujours être directement modifiés (mais ils le peuvent, par exemple, lorsqu'une période d'impulsion d'horloge suivante débute, après un certain retard,et dans des conditions analogues). Un dispositif du type mentionné plus haut est décrit dans un article de M.J.Y. Williams et J.B. Angell, "Enhancing testability of large-scale integrated circuits via test points and additional logic", IEEE, Tr. Computers, volume C 22, janvier 1973, pages 46 à 60. Par cette technique, les éléments à fonctionnement séquentiel du premier registre à décalage reçoivent chaque fois un état de départ bien défini. La vérification complète d'une trame de données de grande longueur est un problème compliqué dans certains cas: il est par conséquent avantageux de convertir lure ttame de résultat de grande longueur en 'ue lxaime secondai- re de longueur plus petite. Lorsqu'une déviation apparait dans ina t-tmme de résultat, il est possible dans de nombreux cas de détecter la nature de l'erreur dans le circuit. Cette dernière information n'est souvent pas intéressante, par exemple lors du contrôle de produits qui viennent d'être achevés. Dans ce cas, le plus souvent, l'information "bon"/ mauvais" est suffisante et cette information est alors habi- tuellement encore présente dans le motif secondaire. Pour le contrôle d'un circuit, on utilise en outre fréquemment un certain nombre de trames de contrôle qui entraînent chacune leur propre trame de résultat. La conception d'une telle série de trameg de contrôle est une affaire compliquée, parce que les différentes rames de contrôle doivent de préférence aussi contrôler chaque fois des fonctions partielles diffé- rentes du circuit. De plus, l'évaluation d'un grand nombre - de trames de résultat est une opération fastidieuse. Cepen- dant, le nombre de trames de contrôle doit souvent être rela- tivement grand: si le nombre est trop petit, des circuits défectueux sont souvent admis à tort comme ne l'étant pas. RESUME DE L'INVENTION L'invention a pour but de permettre d'une manière sim- ple le contrôle d'un dispositif tel que décrit plus haut, tout en assurant que le risque de non détection des erreurs soit faible. L'invention réalise ce but par le fait qu'elle est caractérisée en ce que le dispositif de vérification comporte un deuxième registre à décalage comportant une deu- xième entrée série et une deuxième sortie série, cette deu- xième entrée série étant couplée à la première sortie série, le deuxième registre à décalage est pourvu à partir de la deuxième sortie série d'un circuit de réaction permettant, au moyen d'au moins un élément OU Exclusif, de former unetr-uie de somme de plusieurs bits continu des trames de résultat veçn successivement, ladite première entrée série est con- nectée à une sortie dudit circuit de réaction pour réaliser ledit générateur de trames de contrôle, une sortie du deu- xième registre à décalage est en outre connectée, avec une sortie d'un générateur de trames de vérification,à un élemeat comparateur, le premier et le deuxième registre à décalage sont pourvus de moyens pour recevoir, avant le début d'un contrôle une trame de signaux initiale. De préférence, le dispositif de vérification est pourvu d'une entrée d'acti- vation pour recevoir un signal d'activation au terme d'un contrôle. La longueur du deuxième registre à décalage peut être limitée, et en tout cas., elle est souvent nettement plus petite que celle du premier registre à décalage: ceci rend la vérification simple. De plus, la- formation d'une trame de somme continue au moyen d'un circuit de réaction à fonction OU Exclusif est avantageuse: on obtient ainsi à partir d'une seule trame de contrôle de début, une série de trames de contrôle qui sont pseudo-indépendantes les unes des autres: il s'avère qu'on peut également détecter rapide- ment un grand nombre d'erreurs au moyen d'une série de trames de contrôle formée- de cette manière. Il est en outre avantageux que ledit circuit de réac- tion soit constitué d'un seul circuit porte OU EXCLUSIF qui reçoit les signaux de sortie du premier et du deuxième re- gistres à décalage. Ceci donne une réalisation très simple. Par contre, il est aussi possible de prévoir des circuits b réaction supplémentaires, par exemple à la manière d'un re- gistre à décalage à longueur maximum. DESCRIPTION DE LA FORME D'EXECUTION PREFEREE. L'invention sera décrite ci-après plus en détail avec référence à la figure du dessin annexé. Cette figure est une vue schématique d'un dispositif conforme à l'invention. Le circuit à contrôler comporte des éléments logiques fonction- nant de manière combinatoire et de manière séquentielle.Dans la forme d'exécution, tous les éléments logiques à fonctiaa- nement séquentiel peuvent être réunis dans le registre à dé- calage 30 de 12 bits. Dans de nombreux cas, un-circuit à contrôler comportera un beaucoup plus grand nombre d'étages à réunir en un registre à décalage; ce nombre peut être entièrement aléatoire. Le bloc 28 représente le reste du cir- cuit à contrôler, donc des éléments logiques à fonctionne- ment combinatoire et éventuellement d'autres éléments logi- ques à fonctionnement séquentiel qui ne sont pas compris dans le registre à décalage 30. Ces derniers peuvent alors être initialisés d'une autre manière, par exemple au moyen d'un signal de retour à l'état initial bien connu. Le circuit à contrôler est formé des parties 28 et 30. La fonction de ce circuit peut être de toute nature. Il peut être réalisé sous la forme d'un circuit intégré séparé, d'une combinaison de circuits intégrés ou d'un circuit hybride, compris l'un comme l'autre, par exemple, dans un module du type DIP. Par ailleurs, il peut également être réalisé sous la forme d'une plaque à circuit imprimé portant un certain-nombre de cir- cuits intégrés et de composants discrets éventuels. Le cir- cuit de contrôle décrit ci-après peut être assemblé avec les parties 28, 30: cependant, dans ce cas, l'amenée des signaux au circuit et leur évacuation de celui-ci ne peut pas non plus être complètement contrôlée. Dans de nombreux cas, le circuit de contrôle et dispositif de vérification annexe sera dès lors un dispositif distinct qui est à même de contrôler des circuits de toute nature: ce dispositif fait alors par- tie d'un processus de fabrication. Au début du contrôle, la pmndle trame de contrôle est chargé dans le registre à dé- calage 30. Cette opération s'effectue de la manière suivan- te. Au début de l'essai apparait un signal de retour à l'é- tat initial, qui est par exemple présenté manuellement sur la borne 22. Ceci amène la bascule-50 dans un premier état pour commuter le commutateur 48 dans sa position inférieure. Le compteur de décalage 24 et le compteur de motifs 26 sont en outre ramenés à leur état initial (0). Sur l'entrée du re- gistre à décalage 34 apparaît alors le signal de la borne 52. Ce signal peut concerner une série de bits de code, mais peut aussi être une valeur fixe, en l'occurrence continuel- lement "Ou' ou "1". Le signal de retour à l'état initial peut aussi, si nécessaire, activer l'horloge 20. Dans ure autre réalisation, il peut s'agir d'une horloge à fonctionnement libre. Le compteur de décalage 24 comporte vingt positions (la somme du nombre d'étages de bits des registres à décalage 30 et 34) et est à même, sous la commande de l'horloge 20, de compter en boucle sans interruption. Chaque fois qu'il a été avancé de 20 positions, le compteur 24 donne un signal de transfert de sortie sur la ligne 44. Le registre à déca- lage 30 est constitué d'étages maitre/esclave bien connus. Lorsque le signal de sortie de transfert est absent sur la ligne 44, l'information est enregistrée, dans la première moitié de la période d'impulsions d'horloge,dans la partie maître des bascules; dans l'autre moitié de la période d'impulsions d'horloge, l'information est enregistrée dans la première partie esclave suivante des bascules. Le regis- tre à décalage 12 comporte donc 12 étages maîtres, ainsi que 12 étages esclaves. Pendant les 20 premières périodes d'horloge, les informations de la borne 52 sont donc intro- duites par l'intermédiaire du commutateur 48 dans les re- gistres à décalage 34 et 30 connectés en série. Dans toutes ces positions, le contenu du registre à décalage 30 est également présenté au circuit 28. Pour plus de simplicité, six connexions seulement sont représentées. Les signaux de sortie du circuit 28 sont alors également présentés aux étages correspondants du registre à décalage; dans ce cas, pour plus de simplicité également, six connexions seulement sont représentées. Aussi longtemps que le signal de trans- fert n'est pas présent sur la ligne 44, les signaux de sortie du circuit 28 ne sont pas enregistrés. Lorsque la position 20 est atteinte, le signal de transfert de sortie du compteur 24 apparait pendant une démi- période d'impulsion d'horloge. Il commande alors le registre à décalage 30 d'une manière telle que l'information de sortie du circuit 28 soit enregistrée en lieu et place de celle de l'étage maître ou esclave précédent. Si nécessaire (non représenté) une impul- sion d'horloge de synchronisation est encore amenée au circuit 28. Le signal de transfert sur la ligne 44 est en outre amené au compteur de trames 26 et à la bascule 50 (bas- cule de positionnement/repositionnement). Le compteur de mo- tifs 26 compte chaque fois un pas de plus. La bascule 50 est inversée lors de la première réception du signal de trans- fert de sortie du compteur 24: le commutateur 48 reste en- suite dans sa position supérieure pendant le reste du con- trôle. Les registres à décalage 30 et 34 sont alors couplés en boucle. Contrairement à ce qui ressort de la description qui précède, il est également possible que l'amenée de a trame de contrôle au circuit 28 et la réception ainsi que. le stoc-as oge latrmae de résultat soient commandés par une impulsion d'horloge supplémentaire. Sous la commande de chaque série suivante de 20 pério- des d'impulsions d'horloge, à chaque fois,i trame de con- trôle est stockée dans le registre à décalage 30 et amenéeau circuit 28,la trame de résultat étant stocka à nouveau. La sortie du registre à décalage 34 est alors couplée par réaction à sa propre entrée par l'intermédiaire du circuit-porte OU EXCLUSIF 32. Cela signifie que le contenu du registre à décalage 34 est déterminé par tous les résul- tats des trames de contrôle amenées au circuit 28. Lorsqu'un bit d'un résultat est faux à cause d'un défaut, ceci peut encore être détecté dans le contenu du registre à décalage 34. Lorsque plusieurs bits erronés apparaissent, ils peuvent se compenser mutuellement. A priori, le risque qu'un circuit 28 défectueux produise après le traitement d'un grand nombre de trame de contrôle quand même le contenu correct dans le registre à décalage 34 est faible. Dans un cas entièrement stochastique et pour une longueur du registre à décalage 34 de 8 bits, ce risque n'est que de 1:2. Pour chaque cycle de 20 impulsions d'horloge, la position du compteur de trames 24 est donc augmentée. Dans une position de compteur prédéterminée, un signal de transfert de sortie apparait donc sur la ligne 60 et indique que l'opération de contrôle est achevée. Le circuit comporte en outre un générateur de trames de vérification 38. Il s'agit par exemple d'un regis- tre qui peut être chargé manuellement. Il contient autant d'informations que le registre à décalage 34, donc dans cet exemple 8 bits, qui, comme indiqué au dessin, peuvent être amenés parallèlement à l'élément comparateur 46. Ce dernier reçoit de la même manière les 8 bits du registre à décalage 34 et effectue une comparaison de bits sur les 8+8 bits reçus. Il est activé par le signal de transfert de sortie sur la ligne 60. Lorsque les 8 paires de bits fournissent toutes une égalité, le comparateur 46 donne un "1" logique qui est amené, en même temps que le signal de transfert de sortie sur la ligne 60, au circuit-porte ET 40. Lorsque ce circuit-porte ET fournit un "l", le circuit à contr8ler est en ordre. Il est donc alors nécessaire que les signaux sur la ligne 60 et 62 coexistent. Le signal de sortie sur la ligne 42 peut être utilisé de diverses manières. Il peut être stocké dans une bascule de positionnement/repositionne- ment qui reçoit un préréglage par le signal sur la borne 20. Deux voyants indicateurs sur les sorties de cette bascule indiquent alors respectivement un résultat "bon" et un résultat "erroné". Par ailleurs, l'élément 40 peut aussi être lui-même une bascule de positionnement-repositionne- ment qui est amenée sur positionnement par le signal présent sur la ligne 60. Lorsque le circuit est bon, la bascule est repositionnée un peu plus tard. Ainsi, la ligne 42 peut être connectée à un élément susceptible de détecter ce repositionnement afin d'indiquer un circuit correct. D'autre part, il est aussi possible que dans l'élément 46, la comparaison soit effectuée de manière continue: le signal d'activation sur la ligne 60 ne doit alors pas être fourni. Le signal sur la ligne 60 peut en outre encore être utilisé pour arrêter l'horloge 20 (non indique}. La trame de signal dans le générateur de trame de vérifi- cation peut être formé sur base d'unboncircuit d'exemple: ilpeuts'agir par exemple d'un circuit contr8lé de la manière classique. Une autre-possibilité consiste à produire la trame de vérification au moyen d'une simulation sur une machine à calculer (qui décrit le circuit par exemple sous la forme d'un ensemble de fonctions logiques). Les longueurs des registres à décalage 30 à 34 peuvent avoir un rapport quelconque. Pour l'élément 34, une longueur de 8 bits est souvent suffisante, mais 16 bits peuvent aussi être avan- tageux (le registre à décalage 30 est le plus souvent 2 fois plus long que le registre à décalage 34 ou davantage: le système de contrôle décrit est en effet surtout avantageux pour des circuits compliqués), En lieu et place du circuit porte OU EXCLUSIF 32 unique, plusieurs circuits portes couplés par réaction peuvent être utilisés entre les étages, de la manière courante pour des registres de longueur maximum. Il est aussi possible de réaliser l'amenée de l'information au registre à décalage 30 à partir de la sortie du circuit porte OU EXCLUSIF 32 et non à partir du registre à décalage 34 (mais dans ce cas après le commuta- teur 48). Ceci est surtout avantageux lorsque le registre à décalage 34 possède une entrée de retour à l'état initial spéciale. Ceci peut rendre le contrôle plus rapide car chaque cycle ne dure que 12 périodes d'impulsions d'horloge. Le gain dans des cas pratiques est alors beaucoup plus faible, par exemple un facteur 128/136. La comparaison dans l'élé- ment 46 peut être réalisée en série au lieu d'en parallèle. Lorsqu'une trame de contrôle initiale formée entièrement de signaux "0" est avantageux, cette trame peut être réalisée à l'aide d'entrées de retour à l'état initial sur les registres 30, 34 et le commutateur 48 peut alors être omis. La méthode de contrôle peut être utilisée avantageusement sur des circuits logiques MOS dynamiques. REVENDICATIONS: 1. Dispositif pour le traitement de signaux numériques au moyen d'éléments logiques à fonctionnement combinatoire et à fonctionnement séquentiel dans lequel, pour le contrôle du circuit formé desdits éléments à fonctionnement séquentiel, un premier registre à décalage (30) peut être formé avec une première entrée série, une première sortie série, une première sortie parallèle pour amener, en vue d'un traitement, un motif de données stockées à d'autres éléments (28) du circuit et une première entrée parallèle pour recevoir ensuite une trame de résultat dudit traite- ment, et dans lequel un générateur de trame de contrôle est connecté à ladite première entrée série et un dispositif de vérification (46) est connecté à ladite première sortie série, caractérisé en ce que le dispositif de vérification comporte un deuxième registre à décalage (34) comportant une deuxième entrée série et une deuxième sortie série, cette deuxième entrée série étant couplée à la première sor- tie série, le deuxième registre à décalage est pourvu à partir de la deuxième sortie série d'un circuit de réaction permettant, au moyen d'au moins un élément OU EXCLUSIF (32), de former une trame de somme de plusieurs bits continue des trames de résultat reçus successivement, ladite première entrée série est connectée à une sortie dudit circuit de réaction pour réaliser ledit générateur de trames de contrôle, une sortie du deuxième registre à décalage est en outre connectée, avec une sortie d'un générateur de trames de vérification (38) à un élément comparateur(46) et le premier et le deuxième registres à décalage sont pourvus de moyens (48, 52) pour recevoir, avant le début un contrôle, une trame de signaux initiale. 2. Dispositif selon la revendication 1, caractérisé en ce que le dispositif de vérification est pourvu d'une entrée d'activation (60) pour recevoir un signal d'activation au terme d'un contrôle. 3. Dispositif suivant la revendication 1 ou 2, caractéri- sé en ce que ledit circuit de réaction est constitué d'un seul circuit porte OU EXCLUSIF qui reçoit les signaux de sortie du premier et du deuxième registre à décalage.