Brevet FR2774188A1 — publié le 19990730

CIRCUIT DE VERIFICATICW DE PARITÉ La présente invention concerne un circuit de vérification de parité du contenu d'un registre. Il est courant, dans un système numérique, que les données échangées soient pourvues d'un bit de parité. Les bits de parité sont établis par le circuit émetteur des données, de manière que le nombre de bits à 1 de chaque donnée, y compris le bit de parité, soit pair. Ceci permet à un circuit récepteur de vérifier si les données ont subi des erreurs. La vérification de parité s'effectue le plus souvent au niveau de registres qui stockent temporairement les données. La figure 1 représente schématiquement une association classique d'un registre et d'un circuit de vérification de parité. Le registre comprend plusieurs bascules 10 recevant sur leurs entrées D respectives les bits DO à Dn d'une donnée, y compris son bit de parité. Les bascules 10 sont normalement toutes cadencées par un signal d'horloge CK. Les sorties Q des bascules 10 (QO à Qn) sont reliées à un circuit (non représenté) qui exploite ou transmet la donnée stockée dans le registre. Le circuit de vérification de parité 12 reçoit toutes les sorties Q des bascules 10 et fournit un signal d'erreur ERR lorsque la parité est mauvaise. En fait, le circuit 12 est une porte OUexclusif ayant autant d'entrées que de bascules 10. Un inconvénient de l'organisation de la figure 1 est que les interconnexions entre les bascules 10 et le circuit de vérification 12 occupent une surface de métallisation importante et augmentent significativement les capacités parasites à piloter par les sorties des bascules 10. Un objet de la présente invention est donc de prévoir un circuit de vérification de parité qui permette de réduire la surface de métallisation occupée par les interconnexions entre le circuit de vérification et un registre. Cet objet est atteint grâce à un circuit de vérification de parité du contenu d'un registre dont les bascules peuvent, dans un mode de test, être connectées pour former une chaîne de balayage dans laquelle une entrée de balayage de chaque bascule est connectée à une sortie de balayage d'une bascule précédente. Le circuit de vérification comprend une porte OUexclus if pour chaque bascule à partir de la deuxième bascule du registre, ladite porte ayant deux entrées respectivement connectées à la sortie normale de la bascule et à l'entrée de balayage respective, et une sortie connectée, hors mode de test, à la sortie de balayage respective, le résultat de la vérification de parité étant prélevé sur la sortie de la porte associée à la dernière bascule du registre. Selon un mode de réalisation de la présente invention, le circuit comprend, pour chaque bascule, un multiplexeur qui connecte la sortie de la porte respective à la sortie de balayage hors mode de test, et connecte la sortie normale de la bascule à la sortie de balayage dans le mode de test. Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles la figure 1, précédemment décrite, représente schématiquement une association classique d'un circuit de vérification de parité et des bascules d'un registre la figure 2 représente des bascules d'un registre pouvant être connectées pour former un chemin de balayage (scan path) dans un mode de test la figure 3 représente schématiquement la structure d'une bascule de la figure 2 la figure 4 représente un mode de réalisation de bascule permettant de réaliser un circuit de vérification de parité selon l'invention ; et la figure 5 représente une succession de bascules du type de la figure 4, dans lesquelles on n'a représenté que les éléments servant à former le circuit de vérification de parité. Afin de réaliser un circuit de vérification de parité de faible surface d'interconnexion, la présente invention requiert que les registres utilisés soient du type dont les bascules peuvent être mis dans un mode de test où elles sont connectées les unes aux autres pour former un chemin de balayage (scan patch) La figure 2 représente schématiquement les bascules d'un tel registre. Chaque bascule, en fait une cellule à bascule 14, en plus de disposer d'une entrée de donnée D, d'une entrée d horloge CK et d'une sortie Q, comporte également une entrée de balayage SI, une sortie de balayage SO et une entrée de mise en mode de test T. Les entrées de mise en mode de test reçoivent toutes un même signal T. L'entrée de balayage SI de chaque cellule est reliée à la sortie de balayage SO d'une cellule précédente, pouvant être une cellule du même registre ou une autre cellule, ceci pour former une chaîne reliant toutes les bascules d'un circuit. Ce type d'interconnexion est classique et il n'est pas utile de décrire ici son utilisation. La figure 3 représente schématiquement la structure d'une cellule 14 du type utilisé dans la figure 2. Un multiplexeur 16 reçoit, sur une première entrée, le bit Di devant être stocké dans la bascule 18 de la cellule et, sur une deuxième entrée, l'entrée de balayage SI de la cellule. Le multiplexeur 16 est comnandé par le signal de test T de manière que, en mode de test, l'entrée SI soit connectée à l'entrée D de la bascule 18 et que, en mode normal, le bit Di soit fourni à l'entrée D de la bascule 18. La sortie de balayage SO et la sortie normale Qi de la cellule sont normalement identiques. Souvent, ce qui n'est pas représenté, chacune de ces sorties est fournie à partir de la sortie de la bascule 18 par un amplificateur tampon. Avec de telles cellules, lorsque le signal de test T est inactif (à 0), les bascules 18 sont connectées comne à la figure 1. Lorsque le signal de test est actif (à 1), les bascules 18 sont connectées pour former un registre à décalage avec toutes les autres bascules du circuit. La présente invention propose de réaliser une partie de la fonction du circuit de vérification de parité 12 dans chacune des cellules 14 et de faire coopérer les parties de fonction des différentes cellules grâce aux liaisons entre les entrées et sorties de balayage des cellules pour réaliser la fonction complète de vérification de parité. A la figure 4, pour ce faire, chaque cellule selon l'invention, désignée par 14', comporte une porte OU-exclusif 20 recevant sur une première entrée la sortie Q de la bascule 18 et sur une deuxième entrée l'entrée de balayage SI de la cellule. Si chacune des cellules à bascule d'un circuit est du type de la figure 4, il est nécessaire de pouvoir différencier chaque registre. Pour cela, la deuxième entrée de la porte 20 peut recevoir, comme cela est représenté, la sortie d'une porte ET 22 à laquelle sont fournis l'entrée de balayage SI et un signal de propagation de parité PP. La sortie de balayage SO est fournie par un multiplexeur 24 qui reçoit sur une première entrée la sortie Q de la bascule 18 et sur une deuxième entrée la sortie de la porte OUexclusif 20. Ce multiplexeur 24 est commandé par le signal de test T pour sélectionner la sortie Q de la bascule 18 en mode de test ou la sortie de la porte 20 hors mode de test. La figure 5 représente l'interconnexion des portes OUexclusif 20 des plusieurs cellules 14' formant un registre, hors mode de test (T = 0) et en fonction des signaux PP appliqués aux cellules. Le signal PP de la première cellule d'un registre est mis à 0 tandis que les signaux PP des autres cellules du même registre sont tous mis à 1. Ainsi, la porte OU-exclusif 20 de chacune des cellules dont le signal PP est à 1 reçoit la sortie Qi de la bascule 18 de la cellule et la sortie de la porte 20 de la cellule précédente. La porte 20 de la première cellule du registre reçoit la valeur 0 à la place d'une valeur dépendant d'une cellule précédente. En d'autres termes, la porte 20 de la deuxième cellule reçoit les sorties Q0 et Q1 des bascules des deux premières cellules du registre. L'interconnexion représentée en figure 5 des portes OUexclusif à deux entrées 20 assure la fonction d'une porte OUexclusif à entrées multiples. Le signal d'erreur de parité ERR est prélevé sur la sortie de la porte 20 de la dernière cellule 14' du registre. En fait, les registres d'un circuit étant définis de manière définitive dès la conception du circuit, il est inutile de prévoir des signaux PP pour différencier les registres. En effet, la première cellule de chaque registre pourra être de type classique, comne représentée à la figure 3, tandis que les cellules suivantes du même registre auront la structure représentée en figure 4, sauf que l'entrée de propagation SI est directement connectée à la porte OU-exclusif 20, comme cela est représenté par des pointillés 26 à la figure 4. REVENDICATIONS 1. Circuit de vérification de parité du contenu d'un registre dont les bascules (18) peuvent, dans un mode de test, être connectées pour former une chaîne de balayage dans laquelle une entrée de balayage (SI) de chaque bascule est connectée à une sortie de balayage (SO) d'une bascule précédente, caractérisé en ce que le circuit de vérification comprend une porte OU-exclusif (20) pour chaque bascule à partir de la deuxième bascule du registre, ladite porte ayant deux entrées respectivement connectées à la sortie normale (Q) de la bascule et à l'entrée de balayage respective (SI), et une sortie connectée, hors mode de test, à la sortie de balayage respective (SO), le résultat (ERR) de la vérification de parité étant prélevé sur la sortie de la porte (20) associée à la dernière bascule du registre. 2. Circuit de vérification de parité selon la revendication 1, caractérisé en ce qu'il comprend, pour chaque bascule (18), un multiplexeur (24) qui connecte la sortie de la porte (20) respective à la sortie de balayage (SO) hors mode de test, et connecte la sortie normale (Q) de la bascule à la sortie de balayage dans le mode de test.