FR 2811830 A1 20020118 FR 0009165 A 20000713 CIRCUIT MULTIFONCTIONS L'invention a pour objet un circuit multifonctions pour un circuit intégré qui réalise des fonctions de détection d'erreur et/ou de décalage dans un registre et/ou de comptage. L'invention est notamment intéressante pour les circuits intégrés pour carte à mémoire, ou plus généralement pour tout circuit intégré qui reçoit et/ou transmet des données. Un circuit intégré pour carte sans contact reçoit en général de l'énergie, un signal de synchronisation, des données, des instructions, etc., par l'intermédiaire d'un signal modulé transmis par un lecteur. La transmission peut se faire avec ou sans contact direct entre le lecteur et la carte. Des circuits de détection de données et de démodulation extraient les données reçues, qui comprennent notamment des données numériques, des instructions, des adresses, etc. Les données sont en général transmises sous la forme de blocs (encore appelés trames) de P*N bits transmis en série, chaque trame étant suivie d'un nombre (encore appelé clé) de N bits déduit de la trame de P*N bits transmis par l'opération d'arithmétique polynomiale modulo 2 suivante. Si on considère qu'une trame de P*N bits est équivalente à un polynôme de degré P*N-1l, et si ce polynôme est divisé par un polynôme de référence (encore appelé polynôme générateur), alors la clé est un nombre de N bits équivalent au reste de la division, le reste étant un polynôme de degré N-1. Les polynômes générateurs utilisés sont définis par les normes ISO 14443 et ISO 15693. 0 Le circuit intégré peut comprendre également un circuit de détection d'erreur qui vérifie la bonne réception de chaque trame de bits à l'aide de la clé qu'il reçoit à la fin de la transmission de chaque trame de bits. Les données sont ensuite mémorisées ou utilisées par ailleurs. Le circuit intégré d'une carte peut également comprendre un ou plusieurs compteurs binaires, qui sont utilisés par exemple comme circuits de mesure du temps, pour déterminer des temps de programmation ou d'effacement d'une mémoire, ou bien des temps de synchronisation ou de retournement d'une antenne d'émission/réception du circuit de détection. Enfin, le circuit intégré peut également comprendre un registre à décalage, utilisé par exemple pour mémoriser temporairement une clé issue d'un calcul de détection d'erreur avant l'émission de données en direction du lecteur. IS Un problème récurrent des circuits intégrés est leur taille, en terme de surface de silicium utilisée. Ils doivent être intégrés dans des objets de plus en plus petits tels que des cartes ou des étiquettes électroniques. Or augmenter le nombre de leurs fonctionnalités entraîne le plus souvent une augmentation de taille. Un autre problème récurrent est la consommation d'énergie des circuits intégrés, qui augmente le plus souvent avec le nombre de leurs fonctionnalités et leur taille. Or dans le cas de cartes sans contact notamment, l'énergie reçue par la carte est limitée et il est donc indispensable de limiter la consommation de chaque élément du circuit intégré. Pour limiter la taille, en terme de surface de silicium, et la consommation energétique globale du circuit intégré, l'invention propose de supprimer le circuit de détection d'erreur et/ou le registre à décalage et/ou le circuit de comptage habituellement utilisés et de les remplacer par un unique circuit 3S multifonctions plus petit et consommant moins d'énergie. Avec ces objectifs en vue, l'invention a pour objet un circuit multifonctions comprenant un jeu de bascules connectées en série, le circuit étant caractérisé en ce qu'il comprend également des moyens de connexion pour configurer le circuit multifonctions et obtenir ainsi au moins deux des trois circuits suivants: circuit de détection d'erreur, circuit de comptage, ou registre à décalage. L'idée de l'invention est apparue après les constats suivants: - le circuit de détection d'erreur, le compteur et/ou le registre à décalage ne sont jamais utilisés simultanément dans le temps, et - ils utilisent chacun un jeu de bascules approximativement de même taille, connectées entre elles en série, directement ou par l'intermédiaire de portes logiques, comme on le comprendra mieux par la suite. L'invention propose ainsi d'utiliser un même jeu de bascules pour réaliser un circuit unique pour mettre en oeuvre au moins deux des trois fonctions suivantes: détection d'erreur, décalage dans un registre ou comptage. Bien sûr, selon un mode de réalisation d'un circuit multifonctions selon l'invention, le même jeu de bascules est utilisé pour mettre en oeuvre les trois fonctions dans un même circuit. Avant de décrire plus complètement -l'invention et ses modes de réalisation, il est nécessaire de décrire des modes de réalisation connus d'un circuit de détection d'erreur, d'un générateur de nombres pseudoaléatoires et d'un registre à décalage, ainsi que leur fonctionnement. Le circuit de détection d'erreur de la figure 1 permet la vérification de toutes les clés de N - 16 bits reçues lors de la transmission de trames de données de taille P*N, selon les normes ISO 14443 et ISO 15693. Le circuit de la figure 1 permet en effet de diviser un polynôme de degré P*N-1 (en arithmétique polynomiale modulo 2), équivalent à des données DATA de P*N bits, par le polynôme générateur PGD(X) = X16+X12+X5+1. Le circuit de détection d'erreur de la figure 1 comprend N bascules 100 à 115 et trois portes logiques 120, 122, 124. Chaque bascule 100 à 115 comprend une entrée de données D, une entrée d'horloge CP et une sortie de données Q. Toutes les bascules sont identiques, la bascule 115 a simplement été volontairement agrandie pour faciliter la compréhension du lecteur. Chaque porte logique comprend deux entrées et une sortie. L'entrée de données D des bascules 100 à 102 est connectée à la sortie de données Q des bascules 101 à 103. L'entrée de données D des bascules 104 à 109 est connectée à la sortie de données Q des bascules 105 à 110. L'entrée de données D des bascules 111 à 114 est connectée à la sortie Q des bascules 112 à 115. Les entrées d'horloge CP de toutes les bascules sont connectées ensemble pour recevoir un même signal de d'horloge SCP (connexions non représentées sur la figure 1), utilisé pour cadencer le fonctionnement du circuit de détection. La porte 120 est de type OUEXCLUSIF à deux entrées, une de ses entrées est connectée à la sortie de la bascule 100 et son autre entrée est connectée à une borne d'entrée 126 pour recevoir des données DATA en série. La sortie de la porte 120 est connectée à l'entrée de la bascule 115. La porte 122 est de type OU-EXCLUSIF, ses entrées sont connectées respectivement à la sortie de la porte 120 et à la sortie Q de la bascule 104. Enfin, la porte 124 est de type OU-EXCLUSIF, ses entrées sont connectées respectivement à la sortie de la porte 120 et à la sortie Q de la bascule 111. Le circuit de la figure 1 fonctionne de la manière suivante. En réception, les données DATA, puis la clé correspondante, sont transmises en série au circuit de détection d'erreur, sur la borne d'entrée de données 126. Si la transmission des données s'est effectuée correctement, alors le contenu des bascules 100 à 115 est égal à 0 à la fin de la transmission. Inversement, en émission, les données DATA sont transmises en série au circuit de détection d'erreur suivies de N zéros. A la fin, les bascules 100 à 115 contiennent la clé associée aux données DATA, qui est transmise au lecteur à la suite des données. (0 Le circuit de détection d'erreur de la figure 1 est utilisé notamment lorsque les données DATA sont transmises en série sous la forme de P mots de N bits, le bit de poids le plus fort étant chargé en premier, avec N = 16, et que la clé associée à une trame de données de P*N bits est un nombre codé sur N = 16 bits, le bit de poids le plus faible de la clé étant chargé en premier, après le chargement du bit de poids le plus faible des données DATA. Cependant, des circuits autres que le circuit de la figure 1 peuvent être utilisés et sont également connus pour la détection d'erreur par clé. Par exemple, la clé peut avoir N = 2, 12, 16 ou 32 bits, on utilise dans ce cas un jeu de N = 2, 12, 16 ou 32 bascules. Il est également possible de charger les données DATA, ou bien la clé, en série en commençant par le bit de poids le plus faible. Il est également possible d'utiliser d'autres polynômes générateurs, en fonction du type de données à transmettre par exemple. De manière générale, tous ces circuits sont o similaires au circuit de la figure 1: ils comprennent un ensemble de N bascules, N étant la taille du polynôme générateur utilisé, N étant également la taille de la clé transmise après des données de P*N bits. Les N bascules sont associées en série par l'intermédiaire de: - une première porte logique, par exemple de type OU-EXCLUSIF, comprenant une entrée connectée à la borne d'entrée de données pour recevoir les données DATA en série, une entrée connectée à la sortie Q de la 1" bascule ou à la sortie Q de la Nième bascule, et une sortie connectée à l'entrée de données D de la NIe' bascule ou à l'entrée de données de la 1ère bascule, - une deuxième porte de type OU- EXCLUSIF, comprenant une entrée connectée à la sortie de la le'r porte, une entrée connectée à la sortie Q de la ilme bascule et une sortie connectée à l'entrée d'une bascule adjacente à la iième bascule, c'est-à- dire à la sortie de la (i-1)Ime bascule ou à la sortie de la (i+l) me bascule, i étant un nombre compris entre 1 et N-1 (i = 4 et la ie me bascule est la bascule 103 dans l'exemple de la figure 1), - éventuellement une (par exemple dans le cas du circuit de la figure 1) ou plusieurs autres portes de type OU-EXCLUSIF. Le nombre total de portes OU- EXCLUSIF à utiliser est fonction du nombre de monômes du polynôme générateur. Ainsi, si on considère un circuit A comportant une première et une deuxième portes, et éventuellement une ou plusieurs autres portes, et si le circuit A est associé à un jeu de N bascules selon un schéma analogue à celui de la figure 1, alors l'ensemble forme un circuit de détection d'erreur; il est utilisé pour vérifier la transmission d'une trame de données quelconque associée à une clé de taille inférieure ou égale à la taille (c'est- à-dire le nombre de bascules) du jeu de bascules. Un générateur de nombres pseudo-aléatoires de M bits est un circuit qui, à chaque cycle i d'un signal d'horloge, fournit une série de nombres Xi tel que la série est périodique, et tel que un même nombre est fourni une seule fois sur une période, de manière aléatoire. Un générateur de nombres pseudo-aléatoires de M bits peut donc aisément remplacer un compteur de M bits, en identifiant simplement le rang i de chaque nombre Xi fourni par le générateur. Les propriétés des générateurs de nombres pseudo-aléatoires et leur fonctionnement sont détaillés notamment dans le document Dl (Conception des circuits intégrés MOS, CNET - ENST, Ed. Eyrolles). La figure 2 montre un exemple de réalisation d'un générateur connu de nombres pseudo-aléatoires de M bits, associé au polynôme générateur PGC(X) = 1 + X + X15. Ce polynôme a une période maximale de 2M - 1, c'est-à- dire qu'il fournit sur une période tous les nombres de M bits compris entre 1 et 2M - 1. De plus, ce polynôme comprend un nombre réduit de monômes, ce qui le rend très simple à mettre en oeuvre dans la mesure o le nombre de portes logiques à utiliser est fonction du nombre de monômes du polynôme associé. Le polynôme est en général choisi de sorte que le générateur associé ait la période la plus grande possible (2M - 1) et qu'il nécessite un nombre de composants (portes, bascules) le plus petit possible. Puisque, dans l'exemple de la figure 2, le polynôme associé est de degré 15, alors il faut M = 15 bascules pour réaliser le circuit correspondant. Le circuit de la figure 2 comprend 15 bascules 201 à 215, identiques à la bascule 115, comprenant chacune une entrée de données D, une entrée d'horloge CP, une entrée d'initialisation ST et une sortie de données Q. L'entrée de données D des bascules 201 à 213 est connectée respectivement à la sortie Q des bascules 202 à Jo 214. L'entrée D de la bascule 215 est connectée à la sortie Q de la bascule 201. Les entrées d'horloge CP de toutes les bascules 201 à 215 sont connectées ensemble pour recevoir le même signal de synchronisation SCP (connexions non représentées sur la figure 1). De même, les entrées d'initialisation de toutes les bascules sont connectées ensemble pour recevoir le même signal d'initialisation SST (connexions non représentées sur la figure 1). Le générateur de nombres pseudo-aléatoires comprend également une porte 220, de préférence de type OU- EXCLUSIF, comprenant deux entrées et une sortie, connectées respectivement à la sortie de la bascule 201, à la sortie de la bascule 215 et à l'entrée de la bascule 214. Eventuellement, le circuit comprend également une borne de sortie parallèle (non représentée sur la figure 2) constituée de l'ensemble des sorties D des bascules 201 à 215. Il est à noter que la valeur "0" est une valeur stable pour le circuit de la figure 2; en effet, si X0, la valeur initiale du générateur de nombres pseudo- aléatoires, est nulle, alors tous les Xi sont nuls. Il est donc indispensable d'initialiser à "1" au moins une des bascules 201 à 215, afin de contourner cette valeur nulle. Dans l'exemple de la figure 2, les entrées d'initialisation ST de toutes les bascules sont connectées ensemble pour recevoir un même signal SST, toutes les bascules sont ainsi initialisées à "1". Il est à noter également que la valeur "1" peut être une valeur stable pour d'autres générateurs similaires à celui de la figure 1, par exemple des générateurs ayant un polynôme caractéristique différente ou des générateurs réalisés à partir de portes logiques de type différent. Dans ce cas, on aura soin d'initialiser à "0" un tel générateur. De manière générale, les générateurs de nombres pseudo-aléatoires sont similaires au circuit de la figure 2: ils comprennent un ensemble de M bascules, M étant la taille du polynôme générateur associé. Les M bascules sont associées en série par l'intermédiaire de: - une porte logique, par exemple de type OU- EXCLUSIF, comprenant une entrée connectée à la sortie de la première bascule, une entrée connectée à la sortie de la jième bascule et une sortie connectée à l'entrée de données D d'une bascule adjacente à la jlem bascule, c'est-à-dire à la sortie de la (j-l)ième bascule ou à la sortie de la (j+l)ième bascule, j étant un nombre compris entre 1 et M-1 (dans l'exemple de la figure 1, j = 214), - éventuellement une ou plusieurs autres portes OU- EXCLUSIF si le polynôme générateur comprend un nombre de monômes supérieurs a 3. Ainsi, si on considère un circuit B comprenant une porte logique et si le circuit B est associé à un jeu de M bascules selon un schéma similaire à celui de la figure 2, alors l'ensemble forme un générateur de nombres pseudo-aléatoires, qui peut aisément être utilisé comme compteur. Le générateur de nombres pseudo-aléatoires présente de plus l'avantage d'être plus simple à réaliser qu'un compteur classique. Selon un mode de réalisation connu, un registre à décalage simple de taille N comprend, conformément à la figure 3, un ensemble de N bascules 300 à 315, identiques à la bascule 115 et comprenant chacune une entrée de données D, une entrée d'horloge CP, une entrée d'initialisation ST et une sortie de données Q. Les bascules sont associées en série, l'entrée de données D des première à N-lième bascules étant connectée respectivement à la sortie de données Q des deuxième à Nieme bascules. N est en pratique égal à la taille des mots de données à traiter. Les entrées d'horloge CP de toutes les bascules sont connectées ensemble pour recevoir un même signal de synchronisation et de cadencement SCP (connexions non représentées sur la figure 3). Dans l'exemple de la figure 3, le registre à décalage comprend également une entrée de données 320 et/ou une sortie de données 321 pour entrer et/ou sortir des données en série dans le registre. Le registre peut également comprendre, si nécessaire, une sortie de données parallèle (non représentée), constituée par les sorties série de toutes les bascules 300 à 315. Ainsi, si on considère un circuit C comprenant éventuellement une borne de sortie de données, et si le circuit C est associé au jeu de N bascules selon un schéma analogue à celui de la figure 3, alors l'ensemble forme un registre à décalage de N bits. Les moyens de connexion de l'invention comprennent de préférence au moins deux des trois circuits A, B, C suivants: - un circuit A comportant une borne d'entrée de données, une première porte logique dont une première entrée est connectée à la borne d'entrée de données, et une deuxième porte, - un circuit B comprenant une troisième porte logique, - un circuit C, les moyens de connexion comprennent également des moyens de liaison pour connecter sélectivement le jeu de bascules au circuit A pour réaliser le circuit de détection d'erreur, au circuit B pour réaliser le circuit de comptage ou au circuit C pour réaliser le registre à décalage. Selon un mode de réalisation de l'invention, les moyens de liaison associent, en fonction d'un signal de sélection, le jeu de bascules soit au circuit A pour former le circuit de détection d'erreur soit au circuit B pour former le circuit de comptage. Pour cela, le circuit multifonctions de l'invention comprend le circuit A et le circuit B, et les moyens de liaison comportent: - une quatrième porte comprenant une sortie connectée à une entrée de données de la Nlme bascule ou à une entrée de données de la 1ère bascule, s - une cinquième porte comprenant une sortie connectée à une première entrée des deuxième et quatrième Il portes, et comprenant deux entrée connectées respectivement à une première borne d'entrée de sélection par l'intermédiaire d'un inverseur et à la sortie de la première porte, la deuxième entrée de la première porte étant connectée à une sortie de la 1ere bascule ou à une sortie de la Nième bascule, une sortie de la deuxième porte étant connectée à une entrée de données de la iième bascule, une entrée de la deuxième porte étant connectée à la sortie d'une bascule adjacente à la iieme bascule, i étant un nombre compris entre 1 et N-1, une sortie de la troisième porte étant connectée à une entrée de données de la jieme bascule, une entrée de la troisième porte étant connectée à la sortie d'une bascule adjacente à la j ieme bascule, j étant un nombre compris entre 1 et N-1, - une sixième porte comprenant deux entrée connectées respectivement à la borne d'entrée de sélection et à la sortie de la kieme bascule, et une sortie connectée à une deuxième entrée de la quatrième porte et à une deuxième entrée de la troisième porte, k étant un nombre compris entre 1 et N. Selon un autre mode de réalisation, les moyens de liaison associent, en fonction du signal de sélection, le jeu de bascules soit au circuit A pour former le circuit de détection d'erreur, soit au circuit C -pour former le registre à décalage. Dans ce cas, le circuit multifonctions selon l'invention comprend le circuit A et le circuit C, et les moyens de liaison comprennent des o30 premier et deuxième multiplexeurs comprenant une entrée de sélection connectée à une deuxième borne d'entrée de sélection sur laquelle est appliquée un deuxième signal de sélection, le premier multiplexeur comprenant également une sortie de données connectée à l'entrée de données de la i"em" bascule, une première entrée de données connecté à la sortie de la deuxième porte et une deuxième entrée de données connectée à la sortie d'une bascule adjacente à ]a ilème bascule et à une première entrée de la deuxième porte, une deuxième entrée de la deuxième porte étant connectée à la sortie de la première porte, les entrées de la première porte étant connectées respectivement à la borne d'entrée de données et à la sortie de la première ou de la Nième bascule, i étant un nombre entier compris entre 1 et N-1, et le deuxième multiplexeur comprenant également une sortie de données connectée à l'entrée de données de la Nieme ou 1ère bascule, une première entrée de données connectée à la sortie soit de la è1ere bascule soit de la Nième bascule et une deuxième entrée de données connectée à la sortie de la première porte. Selon un autre mode de réalisation, les moyens de liaison associent, en fonction du signal de sélection, le jeu de bascules soit au circuit B pour former le circuit de comptage soit au circuit C pour former le registre à décalage. Dans ce cas, le circuit multifonctions de l'invention comprend le circuit B et le circuit C, et en ce que les moyens de liaison comprennent: - la sixième porte comprenant une première entrée connectée à la borne d'entrée de sélection par l'intermédiaire d'un inverseur, et une deuxième entrée connectée à la sortie de la kième bascule, - - le deuxième multiplexeur comprenant deux entrées de données connectées respectivement à la sortie de la sixième porte et à la sortie de données de la première bascule ou de la Nième bascule, une entrée de sélection connectée à la borne d'entrée de sélection pour recevoir le signal de sélection, et une sortie de données connectée à l'entrée de données de la N'èm& bascule ou à l'entrée de données de la 1ère bascule, - un troisième multiplexeur comprenant une sortie de données connectée à l'entrée de données de la j1em bascule, une première entrée de données connecté à la sortie de la troisième porte et une deuxième entrée de données connectée à la sortie d'une bascule adjacente à la jLe- bascule et à une première entrée de la troisième porte, une deuxième entrée de la troisième porte étant connectée à la sortie de la sixième porte. Enfin, selon un autre mode de réalisation, les moyens de liaison associent, en fonction de deux signaux de sélection, le jeu de bascules soit au circuit A pour former le circuit de détection, soit au circuit B pour former le circuit de comptage ou soit au circuit C pour former le registre à décalage. Le circuit multifonctions selon l'invention comprend dans ce cas les circuits A, B et C, et les moyens de liaison comprennent: - la quatrième porte, - la cinquième porte comprenant deux entrées connectées respectivement à la borne d'entrée de sélection par l'intermédiaire de l'inverseur et à la sortie de la première porte, la deuxième entrée de la première porte étant connectée à la sortie de la 1lre bascule ou à la sortie de la Nième bascule, - la sixième porte dont les entrées sont connectées respectivement à la sortie de la kime bascule et à la borne d'entrée de sélection, et dont la sortie est connectée à la première entrée de la quatrième porte et à la deuxième entrée de la troisième porte, - - le premier multiplexeur, sa sortie de données étant connectée à la sortie de la ir"'e bascule, sa première entrée de données étant connectée à la sortie 0 d'une bascule adjacente à la ième bascule et à 'entrée de la deuxième porte, sa deuxième entrée de données étant connectée à la sortie de la deuxième porte, - le troisième multiplexeur, sa sortie de données étant connectée à la sortie de la j eme bascule, sa première entrée de données étant connectée à la sortie d'une bascule adjacente à la sortie d'une bascule adjacente à la jieme bascule et à la première entrée de la troisième porte, sa deuxième entrée de données étant connectée à la sortie de la troisième porte, et - le deuxième multiplexeur, sa sortie étant connecté à l'entrée de données de la Nleme bascule ou à l'entrée de données de la 1ère bascule, sa première entree de données étant connectée à la sortie de la 1're bascule ou à la sortie de la Nième bascule, sa deuxième entrée de données étant connectée à la sortie de la quatrième porte, les entrées de sélection de tous les multiplexeurs étant connectées ensemble à la deuxième borne d'entrée de sélection pour recevoir le deuxième signal de sélection. De préférence, le jeu de bascules comprend N bascules, avec N un nombre égal par exemple à 12, 16 ou 32. Le circuit multifonctions de l'invention peut alors être utilisé lorsque les données sont transmises sous la forme de trame de P mots de 12, 16 ou 32 bits et/ou lorsque la clé correspondant à une trame est de 12, 16 ou 32 bits. L'invention a également pour objet une carte à circuit intégré, caractérisée en ce que le circuit intégré comporte un circuit multifonctions tel que décrit ci-dessus. L'invention sera mieux comprise et d'autres caractéristiques et avantages apparaîtront à la lecture de la description qui va suivre d'un exemple non limitatif d'un circuit multifonctions, la description faisant référence aux dessins annexés dans lesquels: - la figure 1 est un schéma d'un détecteur d'erreur connu, - la figure 2 est un schéma d'un générateur de nombres pseudo-aléatoires, - la figure 3 est un schéma d'un registre à S35 décalage connu, - la figure 4 est un schéma d'un circuit multifonctions selon l'invention. Les figures 1 à 3 ayant été décrites précédemment et constituant l'état de la technique, elles ne seront pas décrites plus en détail. Le circuit multifonctions de la figure 4 peut être utilisé comme détecteur d'erreur, comme compteur ou bien comme registre à décalage, pour des données de N = 16 bits, la sélection de l'une des trois fonctions étant faite par l'intermédiaire de deux signaux de commande. Le circuit multifonctions comprend N = 16 bascules 400 à 415 de type D, identiques à la bascule 115 de la figure 1, deux bornes d'entrée de sélection 418, 419 sur lesquelles sont appliqués des signaux RD, P, une borne d'entrée de données 420 pour recevoir des données extérieures DATA, un inverseur 423, sept portes logiques 422, 424, 426, 428, 430, 432 et 434 et quatre multiplexeurs 429, 431, 433, 435. Les bascules 400 à 415 sont identiques à la bascule 115, elles comprennent chacune une entrée de données D, une sortie de données Q, une entrée d'initialisation ST et une entrée d'horloge CP. Les entrées d'initialisation ST de toutes les bascules 400 à 415 sont connectées ensemble à une borne d'entre 416 pour recevoir un même signal d'initialisation SST. De même, les entrées d'horloge CP de toutes les bascules 40-0 à 415 sont connectées ensemble à une borne d'entrée 417 pour recevoir un même signal d'horloge SCP. Les bascules 400 à 402 ont leur entrée de données D () connectée respectivement à la sortie de données Q des bascules 401 à 403. Les bascules 404 à 409 ont leur entrée de données D connectée respectivement à la sortie de données des bascules 405 à 410. Enfin, les bascules 411 à 413 ont leur entrée de données D connectée respectivement à la sortie de données des bascules 412 à 414. Les portes logiques comprennent deux entrées et une sortie. Les multiplexeurs comprennent deux entrées de données, une entrée de sélection et une sortie de données. Dans l'exemple, la porte 422 est de type OU- EXCLUSIF, ses entrées de données sont connectées respectivement à la borne d'entrée de données 420 pour recevoir des données DATA depuis l'extérieur, et à la sortie Q de la bascule 400. La porte 424 est ici de type ET, ses deux entrées de données sont connectées respectivement à la borne d'entrée 419 par l'intermédiaire de l'inverseur 423, et à la sortie de données de la porte logique 422. La porte 426 est de type ET; ses deux entrées sont connectées respectivement à la sortie Q de la bascule 401 et à la borne d'entrée 419. La porte 428 est de type OU-EXCLUSIF, ses deux entrées de données sont connectées respectivement à la sortie de la porte 424 et à la sortie de données Q de la bascule 404. Les deux entrées de données du multiplexeur 429 sont connectées respectivement à la sortie de la porte 428 et à la sortie Q de la bascule 404. La sortie du multiplexeur 429 est connectée à l'entrée D de la bascule 403. La porte 430 est de type OU-EXCLUSIF, ses entrées de données sont connectées respectivement à la sortie de la porte 424 et à la sortie de données Q- de la bascule 411. Les deux entrées de données du multiplexeur 431 sont connectées à la sortie de la porte 430 et à la sortie Q de la bascule 411 et la sortie du multiplexeur 431 est connectée à l'entrée D de la bascule 410. La porte 432 est de type OU-EXCLUSIF, ses entrées de données sont connectées respectivement à la sortie de la porte 426 et à la sortie de données D de la bascule 415. Les entrées de données du multiplexeur 433 sont connectées à la sortie de la porte 432 et à la sortie Q de la bascule 415. La sortie du multiplexeur 433 est connectée à l'entrée de données D de la bascule 414. La porte 434 est de type OU, ses deux entrées sont connectées respectivement à la sortie de la porte 426 et à la sortie de la porte 424. Les deux entrées de données du multiplexeur 435 sont connectées à la sortie de la porte 434 et à la sortie de données Q de la bascule 400. La sortie du multiplexeur 435 est connectée à l'entrée de donnée D de la bascule 415. Enfin, les entrées de sélection de tous les multiplexeurs 429, 431, 433, 435 sont connectées ensemble à la borne d'entrée 418 pour recevoir un même signal de validation RD. Lorsque RD est égal à "0", l'entrée des bascules 403, 410, 414 et 415 est reliée respectivement à la sortie des portes 428, 430, 432 et 434. Inversement, lorsque RD est égal à "1", alors l'entrée de données D des bascules 403, 410, 414 et 415 est reliée respectivement à la sortie des bascules 404, 411, 415 et 400. Eventuellement, mais non nécessairement, le circuit de la figure 4 peut comprendre en complément une borne de sortie série 421 connectée à la sortie de la première bascule 400 pour sortir en série des données contenues dans les bascules 400 à 415. Le circuit de la figure 4 peut également comprendre une borne de sortie de données parallèle constituée des N sorties des N bascules 400 à 415. Le fonctionnement global du circuit multifonctions de la figure 4 est le suivant. Cas o RD = "0" et P = "0" Puisque RD est nul, les entrées des bascules 403, 410, 414 et 415 sont reliées respectivement aux sorties des portes 428, 430, 432 et 434. De plus, puisque P est égal à "0", la porte 424 est transparente et est équivalente à un fil connecté entre la sortie de la porte 422 et l'entrée des portes 428, 430, 434. De même, la sortie de la porte 426 est égale à "0", la porte 434 est donc transparente et est équivalente à un fil connecté entre la sortie de la porte 426 et l'entrée de données D de la Nleme bascule 415. Enfin, puisque P est égal à "0", la porte 432 reçoit un "0" sur l'une de ses bornes, elle est donc transparente et équivalente à un fil connecté entre la sortie de la bascule 415 et l'entrée de données D de la bascule 414. Ainsi, lorsque RD et P sont nuls, le circuit de la figure 4 est équivalent à un circuit de détection d'erreur connu tel que celui de la figure 1, et il fonctionne de manière similaire. Cas RD = "0" et P = "1" Puisque RD est nul, les entrées des bascules 403, 410, 414 et 415 sont connectées aux sorties des portes 428, 430, 432 et 434. De plus, puisque P est égal à "1", la porte 426 est donc transparente et équivalente à un fil connecté entre l'entrée de la porte 434 et la sortie de la bascule 401. La sortie de la porte 424 est maintenue égale à "0", la porte 434 est équivalente à un fil, la sortie de la bascule 401 est donc reliée à l'entrée de données la bascule 415. Pour les mêmes raisons, les portes 428 et 430 sont équivalentes à un fil et l'entrée de données des bascules 403, 410 est relié à la sortie des bascules 404, 411. Ainsi, lorsque P "1" et RD = "0", alors le circuit est équivalent à un générateur de nombres pseudo- aléatoires tel que celui de la figure 2 et il fonctionne de manière identique. Cas RD ="1" et P = "0" Lorsque RD est égal à "1", les entrées des bascules 403, 410, 414 sont reliées directement aux sorties des bascules 404, 411 et 415. Les portes 422 à 432 sont dans ce cas inutilisées. Le circuit est alors équivalent à un registre à décalage tel que celui de la figure 3. Le circuit de la figure 4 n'est bien sûr qu'un exemple de mise en oeuvre de l'invention, d'autres circuits peuvent être envisagés, sans sortir du cadre de l'invention. Par exemple, il est possible de remplacer les portes 424, 426 par des portes NON-ET, et la porte 434 par une porte NON- ET. Dans ce cas, il est nécessaire de connecter les entrées des portes 428, 430, 432 à des sorties négatives /Q des bascules 404, 411, 415 au lieu de les connecter à leurs sorties positives Q. Un tel circuit modifié fonctionne de manière identique à celui de la figure 4. Ceci est possible grâce aux équivalences simples entre les différentes fonctions logiques de l'algèbre binaire. De même, pour réaliser la fonction détection d'erreur avec le circuit de la figure 4, les données DATA sont entrées en série sur une entrée de la porte 422 dont l'autre entrée est reliée à la sortie Q de la lère bascule 400; on parle dans ce cas d'un mode de chargement par le bit de poids le plus faible. Il est cependant possible d'utiliser un circuit dans lequel les données DATA sont entrées en série sur une entrée d'une porte de type OU- EXCLUSIF dont l'autre entrée est connectée à la sortie Q de la NI"ne bascule 415 (mode de chargement- par le bit de poids le plus fort). Pour obtenir un tel circuit, il est bien sûr nécessaire de modifier les éléments de logique (choix et emplacement des portes notamment) du circuit de 3,0 la figure 4. Le circuit de la figure 4 est utilisé pour des données de taille N = 16 et il est associé au polynôme PGD(X) = X16+X 2+X5+1 pour la fonction détection d'erreur et au polynôme PGC(X) = 1+X+X'5 pour la fonction comptage 3S (ou génération de nombres aléatoires). D'autres polynômes peuvent bien sûr être mis en oeuvre dans des circuits multifonctions selon l'invention. Dans ce cas, le nombre de bascules utilisées sera adapté à la taille des données (par exemple N = 12 ou 32) et au degré des polynômes choisis, le nombre et la position des portes (428, 430, 432, 434) et des multiplexeurs (429, 431, 433, 435) associés seront également adaptés. Dans l'exemple de la figure 4 encore, les entrées d'initialisation ST de toutes les bascules 400 à 415 sont connectées ensemble pour recevoir un même signal d'initialisation SST; il s'agit en effet de ne pas initialiser à 0 le jeu de bascules afin que le circuit de génération de nombres pseudo-aléatoires puisse fonctionner correctement. Il est cependant possible d'appliquer le signal SST sur l'entrée ST d'une unique bascule, ceci est suffisant pour éviter la valeur 0. Bien sûr, si dans un autre exemple de mise en oeuvre, la valeur "1" est une valeur stable, alors au moins une bascule sera initialisée à "0". Dans l'exemple de la figure 4, la fonction de comptage (ou génération de nombres pseudo-aléatoires) est réalisée avec les bascules 401 à 415 car il est suffisant d'utiliser 15 bascules pour réaliser une telle fonction; Cependant, cette fonction peut également être réalisée avec les bascules 400 à 414. Il suffit pour cela de déplacer la porte 432 et le multiplexeur 433 entre la bascule 413 et la bascule 414, de connecter la sortie du multiplexeur 433 à l'entrée de la bascule 413, et de connecter l'une des entrées du multiplexeur 433 et l'une des entrées de la porte 432 à la sortie de la bascule (0 414. L'entrée de la bascule 414 est bien sûr dans ce cas reliée directement à la sortie de la bascule 415. Il est possible également d'utiliser un nombre de bascules inférieur à 15 pour réaliser la fonction compteur, en choisissant par exemple un polynôme générateur différent de celui choisi dans l'exemple. Enfin, le lien entre l'entrée de la première bascule 400 et la Nième bascule 415 n'est pas indispensable et peut être supprimé, on supprimera également le multiplexeur 435 dans ce cas. Le circuit de la figure 4 permet de réaliser des fonctions de comptage, de détection d'erreur et de décalage de registre avec un unique circuit, en sélectionnant une des trois fonctions par l'intermédiaire de deux signaux de sélection RD, P. Il est cependant possible de simplifier le circuit de la figure 4 pour réaliser un circuit mettant en oeuvre seulement deux des trois fonctions, si la troisième fonction n'est pas nécessaire. Par exemple, si seules les fonctions de détection IS d'erreur et de décalage de registre sont nécessaires, un seul signal de sélection est indispensable, le signal RD. Les portes 424, 426, 434, l'inverseur 423, la borne d'entrée 419, les portes 430, 432 et les multiplexeurs associés 431, 433 sont inutiles et peuvent être dans ce cas supprimés, ainsi que toutes les liaisons associées à ces éléments. Le circuit est finalement complété en reliant directement la sortie de la bascule 415 à l'entrée de la bascule 414, et la sortie de la porte 422 directement aux entrées des portes 428, 430, 432. Dans ce cas, lorsque RD est égal à "0", alors le circuit est équivalent à un circuit de détection d'erreur. Inversement, si RD est égal à "1", alors le circuit est équivalent à un registre à décalage. De la même façon, si seules les fonctions de détection d'erreur et de comptage sont nécessaires, un seul signal est indispensable, le signal P. Les multiplexeurs 429, 431, 433, 435, la borne d'entrée 418, la liaison entre la sortie de la bascule 400 et l'entrée de la bascule 415, sont dans ce cas supprimes, ainsi que toutes les liaisons associées à ces éléments. Le circuit est finalement complété en reliant directement la sortie des portes 428, 430, 432 434 respectivement à l'entrée des bascules 403, 410, 414, 415. Dans ce cas, lorsque P est égal à "0", alors le circuit est équivalent à un circuit de détection d'erreur. Inversement, lorsque P est égal à "1", alors le circuit est équivalent à un générateur de nombres pseudo-aléatoires, qui peut notamment être utilisé comme compteur. Enfin, si seules les fonctions de décalage de registre et de comptage sont nécessaires, un seul signal est indispensable, par exemple le signal RD. Les portes 422, 424, 428, 430, la borne 419, l'inverseur 423, et les multiplexeurs 429, 431 sont dans ce cas supprimés, ainsi que toutes les liaisons associées à ces éléments. Le circuit est finalement complété en reliant directement la sortie des bascules 404, 411, respectivement à l'entrée des bascules 403, 410, et en reliant la sortie de la porte 426 à l'entrée du multiplexeur 435. De plus, l'entrée de la porte 426 n'est plus reliée à la borne 419 pour recevoir le signal P, mais à la borne 418 par l'intermédiaire de l'inverseur 423 pour recevoir le signal /RD. Dans ce cas, lorsque RD est égal à "0", alors le circuit est équivalent à un générateur de nombres pseudo-aléatoires. Inversement, lorsque RD est égal à "1", alors le circuit est équivalent à un registre à décalage. REVENDICATIONS 1. Circuit multifonctions comprenant un jeu de bascules (400, 401 à 415) connectées en série, le circuit étant caractérisé en ce qu'il comprend également des moyens de connexion (418, 419, 420, 421, 422, 423, 424, 426, 428, 429, 432, 433, 434, 435) pour configurer le circuit multifonctions et obtenir ainsi au moins deux des trois circuits suivants: circuit de détection d'erreur, circuit de comptage, ou registre à décalage. 2. Circuit multifonctions selon la revendication 1, caractérisé en ce que les moyens de connexion comprennent au moins deux des trois circuits A, B, C suivants: - un circuit A comportant une borne d'entrée de données (420) , une première porte logique (422) dont une première entrée est connectée à la borne d'entrée de données (423), et une deuxième porte (428), - un circuit B comprenant une troisième porte logique (432), - un circuit C, et en ce les moyens de connexion comprennent également des moyens de liaison (418, 419, 423, 424, 426, 429, 433, 434, 435) pour connecter sélectivement le jeu de bascules au circuit A pour réaliser le circuit de détection d'erreur, au circuit B pour réaliser le circuit de comptage ou au circuit C pour réaliser le registre à décalage. 3. Circuit selon la revendication 1, caracterisé en ce que le circuit reçoit des données sur la borne d'entrée de données (420) sous la forme de trame de mots de N bits et en ce que le jeu de bascules comprend des première (400) à N ème (415) bascules associées en série. 4. Circuit selon la revendication 1, caractérisé en ce que au moins une bascule du jeu de bascules comprend une entrée d'initialisation (ST) à "1", pour recevoir un signal d'initialisation (SST). 5. Circuit selon la revendication 1, caractérisé en ce que toutes les bascules du jeu de bascules comprennent une entrée d'horloge (CP) et en ce que les entrées d'horloge de toutes les bascules sont connectées ensemble pour recevoir un même signal d'horloge (CCP). 6. Circuit selon la revendication 1, caractérisé en ce qu'il comprend le circuit A et le circuit B, et en ce que les moyens de liaison comportent: - une quatrième porte (434) comprenant une sortie connectée à une entrée de données (D) de la Nième bascule (415) ou à une entrée de données (D) de la 1ére bascule (400), - une cinquième porte (424) comprenant une sortie connectée à une première entrée des deuxième (428) et quatrième (434) portes, et comprenant deux entrée connectées respectivement à une première borne d'entrée de sélection (419) par l'intermédiaire d'un inverseur (423) et à la sortie de la première porte (422), la deuxième entrée de la première porte (422) étant connectée à une sortie (Q) de la 1ère bascule (400) ou à une sortie de la N 6me (415) bascule, une sortie de la deuxième porte (428) étant connectée à une entrée de données (D) de la i eme bascule, o30 une entrée de la deuxième (428) porte étant connectée à la sortie d'une bascule adjacente à la inaeó bascule, i étant un nombre compris entre 1 et N-l, une sortie de la troisième (432) porte étant connectée à une entrée de données (D) de la ji4m bascule, )5 une entrée de la troisième porte (432) étant connectée à la sortie d'une bascule adjacente à la jlme bascule, j étant un nombre compris entre 1 et N-1, - une sixième porte (426) comprenant deux entrée connectées respectivement à la borne d'entrée de sélection (419) et à la sortie de la km- bascule (401), et une sortie connectée à une deuxième entrée de la quatrième (434) porte et à une deuxième entrée de la troisième (432) porte, k étant un nombre compris entre 1 et N. 7. Circuit selon la revendication 1, caractérisé en ce qu'il comprend le circuit A et le circuit C, et en ce que les moyens de liaison comprennent des premier et deuxième multiplexeurs (429, 435) comprenant une entrée de sélection connectée à une deuxième borne d'entrée de sélection (418) sur laquelle est appliquée un deuxième signal de sélection (RD), le premier multiplexeur (429) comprenant également une sortie-de données connectée à l'entrée de données de la ieème bascule (403), une première entrée de données connecté à la sortie de la deuxième porte (428) et une deuxième entrée de données connectée à la sortie (Q) d'une bascule adjacente à la iième bascule (403) et à une première entrée de la deuxième porte (428), une deuxième entrée de la deuxième porte (428) étant connectée à la sortie de la première porte (422), les entrées de la première porte (422) étant connectées respectivement à la borne d'entrée de données (420) et à la sortie de la première (400) ou de la Nlème (415) bascule, i étant un nombre entier compris entre 1 et N-l, et le deuxième multiplexeur (435) comprenant également une sortie de données connectée à l'entrée de données de la Nième (415) ou 1èrc (400) bascule, une première entrée de données connectée à la sortie soit de la 1'e" (400) bascule soit de la Nlème (415) bascule et une deuxième entrée de données connectée à la sortie de la première porte (422). 8. Circuit selon la revendication 1, caractérisé en ce qu'il comprend le circuit B et le circuit C, et en ce que les moyens de liaison comprennent: - la sixième porte (426) comprenant une première entrée connectée à la borne d'entrée de sélection (418) par l'intermédiaire d'un inverseur, et une deuxième entrée connectée à la sortie de la kième bascule (401), - le deuxième multiplexeur (435) comprenant deux entrées de données connectées respectivement à la sortie de la sixième porte (426) et à la sortie de données (Q) de la première (400) bascule ou de la Ni6me bascule (415), une entrée de sélection connectée à la borne d'entrée de sélection (418) pour recevoir le signal RD, et une sortie de données connectée à l'entrée de données (D) de la Nième bascule (415) ou à l'entrée de données (D) de la lère bascule (400), - un troisième multiplexeur (433) comprenant une sortie de données connectée à l'entrée de données (D) de la jième bascule (414), une première entrée de données connecté à la sortie de la troisième porte (432) et une deuxième entrée de données connectée à la sortie (Q) d'une bascule adjacente à la jième bascule (414) et à une première entrée de la troisième porte (432), une deuxième entrée de la troisième porte (432) étant connectée à la sortie de la sixième porte (426). 9. Circuit selon la revendication 1, caractérisé en ce qu'il comprend les circuits A, B et C, et en ce que les moyens de liaison comprennent: - la quatrième porte (434), - la cinquième porte (424) comprenant deux entrées connectées respectivement à la borne d'entrée de sélection (419) par l'intermédiaire de l'inverseur (423) et à la sortie de la première porte (422), la deuxième entrée de la première porte (422) étant connectée à la sortie de la 1ère bascule (400) ou à la sortie de la Nlein bascule (415), - la sixième porte (426) dont les entrées sont connectées respectivement à la sortie (Q) de la ki n" bascule (401) et à la borne d'entrée de sélection (419), et dont la sortie est connectée à la première entrée de la quatrième porte (434) et à la deuxième entrée de la troisième porte (432), - le premier multiplexeur (429), sa sortie de données étant connectée à la sortie (Q) de la iieI (403) bascule, sa première entrée de données étant connectée à la sortie (Q) d'une bascule adjacente à la i mó bascule (403) et à l'entrée de la deuxième porte (428), sa deuxième entrée de données étant connectée à la sortie de la deuxième porte (428), - le troisième multiplexeur (433), sa sortie de données étant connectée à la sortie (Q) de la jième (410) bascule, sa première entrée de données étant connectée à la sortie (Q) d'une bascule adjacente à la sortie (Q) d'une bascule adjacente à la jieme bascule (410) et à la première entrée de la troisième porte (432), sa deuxième entrée de données étant connectée à la sortie de la troisième porte (432), et - le deuxième (435) multiplexeur, sa sortie étant connecté à l'entrée de données de la Nième bascule (415) ou à l'entrée de données de la 1ère bascule, sa première entrée de données étant connectée à la sortie de la 1t bascule (400) ou à la sortie de la Nieme bascule (415), sa deuxième entrée de données étant connectée à la sortie de o30 la quatrième porte (434), les entrées de sélection de tous les multiplexeurs étant connectées ensemble à la deuxième borne d'entrée de sélection (418) pour recevoir le deuxième signal de sélection (RD). 10. Carte à puce, caractérisée en ce qu'elle comporte un circuit multifonctions selon l'une des revendications 1 à 9.