Brevet FR2402970A1 — publié le 19790406

invention concerne un générateur de séquences de signaux numériques, destiné notamment au contrôle de mémoires vives, la séquence de signaux numériques étant une séquence de nombres de base B codes en binaire. Un tel générateur trouve des applications pour le test de circuits logiques ; parmi ces applications, il en est une qui est importante, c'est la vérification du bon état des mémoires vives Ce sont des mémoires qui permettent l'écriture et la lecture de mots binaires formés d'un ou de plusieurs éléments binaires. On connaît des procédés de contrôle de mémoires vives qui utilisent des générateurs de séquences de signaux numériques ; la séquence fournie est une séquence de mots comprenant chacun autant d'éléments binaires que les mots de la mémoire et entre chaque mot de la séquence, les deux états logiques sont distribués de maniere que chaque élément binaire présente au moins une fois chaque état dans la séquence. L'invention propose un générateur du genre mentionné dans le préambule qui fournit une séquence telle qu'elle permette des tests plus systématiques des circuits logiques. Pour cela, un générateur de séquences de signaux numériques est remarquable en ce qu'il est conçu pour fournir une séquence qui comporte, B fois, chaque chiffre de la numérotation définie par la base B et que tous les chiffres de la séquence sont précédés et suivis d'un chiffre différent à chaque fois qu'ils apparaîssent dans la séquence. Pour une base B donnée, il existe plusieurs séquences du type décrit ci-dessus. La demanderesse a trouvé que, parmi ces séquences, une pouvait être engendrée d'une maniere particulierement simple ne mettant en oeuvre que peu de matériel. Pour cela, selon une caractéristique de l'invention, un générateur de séquences de signaux numériques est remarquable en ce que la séquence fournie est définie par la séquence engendrée par un montage formé de n cellules CO, CI, ..., C(n-1), comportant chacune une premiere et une deuxieme bascules de type JK montées en cascades, dont l'entrée K de la premiere est reliée à la sortie de la deuxième et dont l'entrée J de la premiere reçoit un signal j(n-1) j(n-1) I qs(n) O R(n-l) avec le symbole O représente l'opération effectuée par une porte OU-EXCLUSIF, les signaux qei et qsi étant les signaux de sortie de la premiere et de la deuxieme bascules, les signaux de sortie du montage étant prélevés à la sortie d'une desdites bascules. Un avantage d'un tel générateur est qu'il peut être réalisé d'une manière peu coûteuse ; cette réalisation est particulièrement adaptée au test des mémoires vives, car en meme temps qu'un chiffre peut être inscrit dans la mémoire, un autre chiffre est fourni, correspondant à un mot lu de la mémoire. La description suivante, en regard des dessins annexés, le tout donné à titre d'exemple non limitatif, fera bien comprendre comment l'invention peut être réalisée. Les dessins représentent - à la figure 1, un générateur de séquences de signaux numériques conforme à l'invention, utilisé pour le contrôle de mémoires vives, - à la figure 2, le mode de réalisation préféré d'un générateur de séquences de signaux numériques conforme à l'invention et utilisé pour le contrôle de mémoires vives A la figure 1, la référence I montre un générateur de séquences de signaux numériques conforme à l'invention ; les séquences engendrées sont des séquences de mots à trois éléments binaires, ce qui correspond à une numérotation à base huit. La référence 2 montre une mémoire que lton veut tester.Pour effectuer ce test, on applique un certain code d'adresse aux entrées pour codes d'adresses 3 de la mémoire 2, puis chaque mot de la séquence apparaissant aux sorties 4 du générateur I est inscrit, d'une part, dans la mémoire 2 et, d'autre part, dans un registre 5 ; les mots ainsi inscrits sont ensuite lus et comparés entre eux au moyen d'un organe de comparaison 6. Cet organe 6 est formé d'additionneurs modulo deux ou de portes "OU-EXCLUSIF" 7, 8, 9 comparant, chacun, chaque élément binaire disponible aux sorties Il du registre 5 avec chaque élément binaire correspondant disponible aux sorties 12 de la mémoire 2.Si la comparaison indique une mauvaise concordance de ces mots, un signal de valeur "I" apparaît à la sortie 13 d'une porte "OU" 14, dont les entrées sont connectées aux sorties des additionneurs 7, 8, 9. Conformément à l'invention, le générateur de séquences de signaux numériques est remarquable en ce qu'il est conçu pour fournir une séquence qui comporte huit fois chaque chiffre de la numérotation, c'est-à-dire, ici, les chiffres 0, l, ..., t ; ces chiffres sont suivis d'un chiffre différent à chaque fois qu'ils apparaissent dans la séquence ; un exemple d'une telle séquence Ol 1022033044055066077121314151617232425262734353637454647565767O Comme ces chiffres sont codés en binaires, on a aux trois sorties du générateur I la séquence en signaux binaires: 000 001 001 000 010 Ainsi dans cette séquence, Si on prend par exemple le chiffre "3", on constate qu'il y est présent huit fois la première fois, il est suivi du chiffre ...... 3 la deuxième fois, il est suivi du chiffre ...... 0 la troisième fois, il est suivi du chiffre ..... 1 la quatrième fois, il est suivi du chiffre ..... 2 la cinquième fois, il est suivi du chiffre ..... 4 la sixième fois, il est suivi du chiffre ....... 5 la septième fois, il est suivi du chiffre ...... 7 Pour fournir une telle séquence, le générateur 1 est constitué à partir d'une mémoire morte 20 adressée par un compteur par soixante#uatre 21, comptant les impulsions d'une horloge 22 ; à chaque code d'adresse fourni par le compteur 21, correspond dans la mémoire 20 un mot définissant un chiffre de la séquence. Ainsi, par une telle séquence, on obtient un test complet de la mémoire 2, puisque, sur chaque combinaison de codes possibles enregistrés dans la mémoire, on inscrit toutes les combinaisons possibles de codes. En reprenant l'exemple ci-dessus, on vérifie si la mémoire 2 est capable d inscrire un chiffre 3 à une adresse donnée, alors qu'à cette même adresse était déjà enregistré un chiffre "3", puis on vérifie ai ce même chiffre 3 peut être inscrit, alors qu'un chiffre O était déjà enregistré et ainsi de suite ... Il faut bien remarquer que ces séquences sont les plus courtes pour tester, relativement à une mémoire, les possibilités d'inscrire n'importe quel mot, alors qu'un mot quelconque était déjà inscrit dans la mémoire. De telles séquences, qui permettent d'inscrire n 'importe quelle combinaison d'éléments binaires alors qu'une combinaison quelconque était déjà enregistrée, sont faciles à trouver pour une base B quelconque par exemple : on part d'une séquence telle que 0, 1, 0, 2 .......... 0, B-1, 1, 2, 1, 3 .......... 1, B-l, 2, 3, 2, 4 ~~~~~~~~~~ 2, B-l, B-2, B-l. et, à cette séquence, on double une fois chaque chiffre de la séquence, quel que soit son rang dans celle-ci. Chaque chiffre de cette séquence peut être substitué à un autre, on peut effectuer des permutations circulaires, on peut encore bouleverser 1 tordre de certains éléments de la séquence. Mais parmi toutes ces séquences possibles, il en est une qui est particulièrement avantageuse, c'est celle que fournit le générateur montré à la figure 2. Sur cette figure, les éléments communs avec ceux de la figure I portent les mêmes références. Pour fournir une séquence de base B (où B peut s'écrire : B = le générateur montré à la figure 2 comporte n cellules CO, Cl, ... C(n-l). Chaque cellule comporte deux bascules de type JK portant les références BEO, BSO pour la cellule CO, BEI, BS1 pour la cellule CI et BE(n-l), BS(n-1 > pour la cellule Cn. Les sorties Q et Q des bascules BEO, BEI, BE(n-î) sont reliées respectivement aux entrées J et K des bascules BSO, BSI, ... BS(n-l) ; les sorties Q des bascules BSO, BSI, ... BS(n-1) sont reliées respectivement aux entrées K des bascules BEO, BEI, ... BE(n-I). La sortie Q de la bascule BSO est reliée à l'entrée J de la bascule BEO tandis que la sortie Q de la bascule BSI est reliée à l'entrée J de la bascule BEI par l'intermédiaire d'un additionneur modulo deux ou porte "OU-EXCLUSIF" ADI et que la sortie Q de la bascule BS(n-l) est reliée à l'entrée J de la bascule BE ont un nombre d'entrées qui croît avec le rang de la cellule à laquelle elles appartiennent ; ainsi la porte NA1 a deux entrées, et ainsi de suite jusqutà la porte NA(n-l) qui a 2n-2 entrées. Une entrée de la porte NAI est reliée au fil QSO connecté à la sortie Q de la bascule BSO, l'autre entrée est reliée au fil QEO connecté à la sortie Q de la bascule BEO. La porte NAn possède deux séries d'entrées - la première est destinée au raccordement des sorties Q des bascules BEO, BEl, ... BE(n-2) par l'intermédiaire des fils QEO, QEl, ... QE(n-2), - la seconde est destinée au raccordement des sorties Q des bascules BSO, BSI, ... BS(n-2). Les fils QEO, QEl, ... QE(n-l) sont connectés aux sorties 4 du générateur. Les différentes entrées de remise à zéro des bascules BEO, BEI, ... BE(n-1), BSO, BSI, ... BS(n-1) sont reliées à un fil RZ, destiné à recevoir un signal pour l'utilisation du générateur. Si on appelle qe(n-l) et qs(n-l) le signal logique à la sortie Q des bascules BE(n-1) et BS(n-l),le signal j(k) à l'entrée J d'une bascule contenu dans une cellule quelconque de rang k s'écrit :-j(k) I qs(k) e R(k) avec R(k) = qeO. qsO,qe1. qsl ... qe(k-1) . qs(k-l) ou pour simplifier l'écriture : On remarquera que les bascules BS0, BS1, ... BS(n-1) sont montées en cascades avec les bascules BEO, BEI, ... BE(n-1), de sorte que le signal de sortie des bascules BSO, BS1, ...BS(n-1) prend la valeur du signal de sortie des bascules BEO, BEI, ... BE(n-l) après une impulsion du signal fourni par lthorloge 22, c'est-à-dire que les sorties des bascules BSO, BS1, ... BS(n-l) sont équivalentes aux sorties 11. Ce mode préféré de réalisation du générateur conforme à l'invention évite la présence d'un registre intermédiaire, tel que représenté à la figure 1 sous la référence 5. Il est facile de montrer qu'un tel générateur montré à la figure 2 fournit la séquence suivante donnée au tableau I ; cette séquence est relative à n-3, c'est-à-dire : B=8. Sur le tableau I, la première colonne donne le rang du chiffre, la deuxième, le chiffre codé en binaire et la troisième colonne le chiffre en décimal. TABLEAU I rang du chiffre codé binaire chiffre rang du chiffre codé binaire chiffre chiffre QE2 QE1 QE0 décimal chiffre QE2 QE1 QE0 décimal 1 0 0 0 0 33 1 0 0 4 2 0 0 1 1 34 0 0 1 1 3 0 0 1 1 35 1 0 1 5 4 0 Q 0 0 36 1 0 0 4 5 0 1 0 2 37 0 1 0 2 6 0 1 l 3 38 I 1 1 7 7 Q O 1 1 39 1 O 1 5 8 0 1 0 2 40 0 1 0 2 9 0 1 0 2 41 1 1 0 6 10 0 0 1 1 42 1 0 1 5 11 0 1 1 3 43 0 1 1 3 12 0 1 0 2 44 1 1 0 6 13 0 0 0 0 450 1 0 0 4 14 0 1 1 3 46 0 1 1 3 15 0 1 1 3 47 1 1 1 7 16 0 0 0 0 48 1 0 0 4 17 1 0 0 4 49 0 0 0 0 18 1 0 1 5 50 1 0 1 5 19 0 0 1 l 51 1 0 1 5 20 1 0 0 4 52 0 0 0 0 21 1 1 0 6 53 1 1 0 0 6 22 0 1 1 3 541 1 1 1 7 23 1 0 1 5 1 24 1 1 0 6 56 1 1 0 6 25 0 1 0 2 57 1 1 0 6 26 1 0 1 5 581 0 0 1 1 27 1 1 1 7 59 1 1 1 7 28 0 1 0 2 60 1 1 0 6 29 1 0 0 4 0 61 0 0 0 0 30 1 1 1 7 62 1 1 1 7 31 0 1 1 3 63 1 1 1 7 32 1 0 0 4 64 0 0 0 0 On remarquera que le générateur montré à la figure 2 peut être réalisé par des bascules du type D, mais dans ce cas le réseau de réaction des différentes cellules sera plus compliqué. Bien que les principes de la presente invention aient été décrits ci-dessus en relation avec des exemples particuliers de réalisation, on comprendra clairement que ladite description est faite seulement à titre d'exemples et ne limite pas la portée de l'invention. REVENDICATIONS 1. Générateur de séquences de signaux numériques destiné notamment au contrôle de mémoires vives, la séquence de signaux numériques étant une séquence de nombres de base B codés en binaire, caractérisé en ce qu'il est conçu pour fournir une séquence qui comporte B fois chaque chiffre de la numérotation définie par la base B et que tous les chiffres de la séquence sont précédés et suivis d'un chiffre différent à chaque fois qu ils apparats sent dans la séquence. 2. Générateur de séquences de signaux numériques selon la revendication I, pour fournir une séquence de nombres de base B ou B=2n, caractérisé en ce que la séquence fournie est définie par la séquence engendrée par un montage formé de n cellules CO, Cl, ... C(n-1) comportant chacune une première et une deuxième bascules du type JK montées en cascades, dont l'entrée K de la première est reliée à la sortie de la deuxième et dont ltentrée J de la première reçoit un signal : j(n-l) n J(nb qs(n-1) e R(n-l) avec les signaux qei et qsi étant les signaux de sortie de la première et de la deuxième bascules, les signaux de sortie du montage étant prélevés à la sortie d'une desdites bascules. 3. Générateur de séquences de signaux numériques selon la revendication 1 ou 2, caractérisé en ce qu'il comporte une mémoire morte dans laquelle sont enregistrés les différents nombres de la séquence et un dispositif d'adressage de la mémoire pour faire apparaître les différents chiffres de la séquence à la sortie de la mémoire. 4. Générateur de séquences de signaux numériques selon la revendication 2, caractérisé en ce qu'il est constitué par ledit montage. 5. Générateur de séquences de signaux numériques selon la revendication 4 convenant pour le contrôle des mémoires vives, caractérisé en ce que les sorties des deuxièmes bascules fournissent un chiffre destiné à être comparé aux chiffres sortie de la mémoire à contrôler.