Brevet FR2969765A1 — publié le 20120629

CIRCUIT NUMERIQUE TESTABLE PAR SEULEMENT DEUX BROCHES Domaine technique de l'invention L'invention est relative au test de circuits intégrés numériques selon la technique de configuration en registre à décalage, plus couramment connue sous la dénomination anglaise « scan test ». L'invention concerne plus particulièrement le test en registre à décalage de circuits ayant un faible nombre de broches. État de la technique La figure 1 est destinée à illustrer le principe classique du test en registre à décalage, ou « scan test ». Un circuit numérique peut se décomposer en des sous-ensembles de fonctions logiques combinatoires 10 reliées entre elles par des bascules 12, ordinairement de type D, cadencées par une horloge commune CK. Les bascules 12 sont également reliées à une ligne de réinitialisation commune RST. Afin de réaliser un test du circuit, on arrête le fonctionnement normal du circuit pour placer des valeurs connues dans les bascules 12 par le mécanisme décrit ci-après. On fait ensuite fonctionner le circuit normalement sur un nombre donné de coups d'horloge CK, puis on l'arrête de nouveau pour récupérer les états des bascules par le même mécanisme et les comparer à des valeurs attendues. Afin d'écrire des valeurs de test, ou un vecteur de test, dans les bascules 12 du circuit à tester, celui-ci est placé dans un mode « balayage » ou « scan » à l'aide d'un signal SC-EN. Dans ce mode, les bascules 12 sont connectées dans une configuration de registre à décalage, typiquement à l'aide de multiplexeurs 14. Chaque bascule 12 se retrouve dans ce cas précédée d'un multiplexeur 14 dont une première entrée reçoit le signal normalement destiné à l'entrée D de la bascule, provenant d'un sous-ensemble de fonctions logiques combinatoires 10, et dont une deuxième entrée, sélectionnée par le niveau actif (1) du signal SC-EN, est reliée à la sortie d'une bascule 12 précédente. Ainsi, lorsque le signal SC-EN est actif, les bascules forment une chaîne de bascules connectées en registre à décalage cadencé par l'horloge CK. La deuxième entrée du premier multiplexeur de la chaîne forme l'entrée SC-IN du registre à décalage, par laquelle on introduit en série le vecteur de test, comprenant un bit pour chaque bascule du registre. La sortie de la dernière bascule de la chaîne forme la sortie SC-OUT du registre, par laquelle on extrait en série le jeu de résultats de test correspondant au dernier vecteur de test introduit. Entre une introduction d'un vecteur de test et l'extraction d'un jeu de résultats, le signal SC-EN peut être désactivé pour laisser le circuit fonctionner normalement pendant un ou plusieurs cycles d'horloge avec les valeurs du vecteur de test comme valeurs initiales dans les bascules. Ce fonctionnement produit de nouvelles valeurs dans les bascules, qui sont les valeurs constituant le jeu de résultats extrait lorsqu'on active de nouveau le signal SC-EN. On s'aperçoit que cette technique de test requiert cinq signaux, SC-IN, SC-OUT, SC-EN, CK et RST. Ces cinq signaux devraient être normalement disponibles sur des broches distinctes d'un circuit à tester. C'est d'ailleurs ce que préconise la norme JTAG (IEEE std 1149.1), qui définit des protocoles de communication selon un principe similaire. Des broches d'horloge CK et de réinitialisation RST sont disponibles sur la plupart des circuits numériques. Les broches SC-IN et SC-OUT peuvent être confondues avec deux broches d'entrée et/ou de sortie du circuit, dont les rôles peuvent être configurés par une commande, à fournir par exemple sur une broche supplémentaire dédiée à la configuration du test, souvent appelée TMC (de l'anglais « Test Mode Configuration »). Le circuit comporte donc au départ au moins huit broches, si on compte deux broches d'alimentation. Dans certains circuits numériques, on souhaite minimiser le nombre de broches, notamment le nombre de broches dédiées au test. Le brevet US7739566 propose une solution permettant de réduire le nombre de broches à cinq, dont deux broches d'alimentation, deux broches d'entrée/sortie, et une broche d'horloge. La broche d'entrée est utilisée pour recevoir à la fois les commandes de test et les vecteurs de test. Le signal déterminant les phases de balayage et de capture (SC-EN) est généré en interne par une machine d'état en réponse à des commandes reçues sur la broche d'entrée. II existe pourtant des circuits numériques complexes, donc qu'on souhaiterait tester en registre à décalage, possédant seulement quatre broches, à savoir deux broches d'alimentation, une broche d'horloge, et une broche d'exploitation unique. Il s'agit, par exemple, de capteurs fournissant leurs valeurs de mesure à intervalles réguliers. Résumé de l'invention On souhaite par conséquent disposer d'une solution pour tester en registre à décalage des circuits intégrés numériques possédant, outre les broches d'alimentation, seulement deux broches de signal, à savoir une broche d'horloge et une broche d'exploitation. On tend à satisfaire ce besoin en prévoyant un procédé de test en registre à décalage d'un circuit intégré comprenant les étapes suivantes mises en oeuvre par le circuit lui-même : à la mise sous tension du circuit, surveiller les séquences de bits apparaissant sur une borne d'exploitation configurée pour recevoir de l'extérieur des données série à la cadence d'un signal d'horloge extérieur appliqué sur une borne d'horloge ; mettre le circuit en mode de test si une séquence de bits est identifiée à une séquence d'initialisation de test ; connecter des bascules du circuit en registre à décalage et connecter le registre à décalage pour recevoir un vecteur de test en série à partir de la broche d'exploitation ; commuter la direction de transfert de ladite borne d'exploitation en mode sortie pour fournir vers l'extérieur des données numériques en série à la cadence du signal d'horloge ; et connecter le registre à décalage pour fournir son contenu, en tant que jeu de résultats de test, en série sur ladite borne d'exploitation. Selon un mode de mise en ceuvre du procédé, la direction de transfert de la broche d'exploitation est commutée à chaque cycle d'horloge de manière à alterner la réception d'un bit du vecteur de test et la fourniture d'un bit du jeu de résultats par la broche d'exploitation. Selon un mode de mise en oeuvre du procédé, la direction de transfert de la broche d'exploitation reste inchangée pendant un nombre de cycles d'horloge 25 consécutifs correspondant à la taille du vecteur de test. Selon un mode de mise en oeuvre du procédé, la commutation de la direction de transfert de la broche d'exploitation est synchronisée sur le complément logique du signal d'horloge. Selon un mode de mise en oeuvre, le procédé comprend les étapes suivantes 30 mises en oeuvre par le circuit lui-même : entre la fin de réception d'un vecteur de test et le début de fourniture du jeu de résultats de test, effectuer une phase de capture en reconnectant lesdites bascules en mode de fonctionnement normal pendant un ou plusieurs cycles d'horloge ; et synchroniser le passage dans la 3 phase de capture et la sortie de cette phase sur le complément logique du signal d'horloge. Selon un mode de mise en oeuvre du procédé, le circuit détermine la taille des vecteurs de test à partir d'une information véhiculée dans ladite séquence 5 d'initialisation de test. Selon un mode de mise en oeuvre du procédé, le circuit détermine le nombre de cycles de la phase de capture à partir d'une information véhiculée dans ladite séquence d'initialisation de test. Selon un mode de mise en ceuvre du procédé, le circuit détermine la fin d'un test à 10 partir d'un bit d'arrêt surnuméraire inséré dans les vecteurs de test. Selon un mode de mise en ceuvre, le procédé comprend les étapes suivantes mises en ceuvre par le circuit lui-même : mettre le circuit en mode d'autotest si la séquence de bits sur la borne d'exploitation identifie un autotest ; effectuer un autotest en fonction de paramètres véhiculés dans la séquence d'initialisation ; 15 commuter la direction de la borne d'exploitation en mode sortie ; et fournir en série sur la borne d'exploitation une combinaison des valeurs contenues dans des bascules du circuit. Description sommaire des dessins D'autres avantages et caractéristiques ressortiront plus clairement de la 20 description qui va suivre de modes particuliers de réalisation donnés à titre d'exemples non limitatifs et illustrés à l'aide des dessins annexés, dans lesquels : la figure 1, précédemment décrite, représente schématiquement une portion de circuit numérique testable en registre à décalage ; la figure 2 représente schématiquement une architecture interne d'un circuit 25 intégré numérique pouvant être testé en registre à décalage par seulement deux broches de signal ; la figure 3 représente une évolution de signaux du circuit de la figure 2 lors d'une mise sous tension ; la figure 4 représente un exemple détaillé d'éléments de la figure 3 ; et la figure 5 est un chronogramme illustrant deux modes de mise en oeuvre d'un test en registre à décalage d'un circuit du type de la figure 4. Description d'un mode de réalisation préféré de l'invention La figure 2 représente schématiquement un circuit intégré numérique possédant seulement quatre broches, à savoir deux broches d'alimentation Vdd et Vss, une broche CK pour appliquer un signal d'horloge, et une broche d'exploitation unique 10 ayant une direction de transfert commutable (en entrée ou en sortie série). Les fonctions numériques que l'on souhaite tester en registre à décalage (ou « scan test ») sont rassemblées dans un noyau (CORE) 20. Ce test se déroulera à l'intérieur du circuit en utilisant les cinq signaux classiques, à savoir SC-EN pour passer les bascules du noyau 20 en configuration « registre à décalage », SC-IN pour introduire les vecteurs de test, SC-OUT pour extraire les jeux de résultats, CKi pour cadencer les décalages, et RSTi pour réinitialiser les bascules. Ces cinq signaux sont gérés par un circuit de commande 22, ci-après dénommé ULPS (« Ultra-Low Pin-count Scan-test »), qui met en oeuvre, à l'aide d'une machine d'état, un protocole particulier permettant de faire transiter par l'unique broche d'exploitation 10 toutes les données à échanger avec l'extérieur pour effectuer un test complet du noyau 20 en registre à décalage. La broche d'exploitation 10 peut être une entrée ou une sortie, numérique série ou analogique. Elle est associée à un circuit de commutation 24 (10SW) permettant au circuit ULPS de basculer la broche 10 de son mode de fonctionnement normal, quelconque, en un mode d'entrée numérique série ou un mode de sortie numérique série. Les signaux entrants et sortants du circuit de commutation 24 correspondant au mode de fonctionnement normal transitent par le circuit ULPS qui les aiguille par les entrées ou sorties adéquates du noyau 20. Par exemple, si la fonction normale du noyau 20 est de fournir un signal sortant sur la broche 10, ce signal de sortie du noyau, OUT, partage l'accès à la broche 10 avec le signal SC-OUT. Un circuit de configuration de mode de test 26 (TMC) est relié pour recevoir les données série entrantes du circuit de commutation 24, et est cadencé par le signal d'horloge CK. II gère le fonctionnement du circuit ULPS et peut avoir une fonctionnalité semblable à celle du circuit TMC décrit dans le brevet US7739566. En fonctionnement normal du circuit, le signal SC-EN est inactif (les bascules du noyau 20 ne sont pas reliées en registre à décalage), et la broche d'exploitation 10 est configurée dans son mode normal, par exemple pour fournir des données numériques en série. Ces données série sont aiguillées directement sur la broche 10 depuis le noyau 20 par le circuit 10SW. Selon une alternative, le noyau 20 peut être prévu pour recevoir des données numériques en série, auquel cas la broche 10 est mise en mode d'entrée, et les données qui y arrivent de l'extérieur sont aiguillées directement vers le noyau. Le signal d'horloge CKi fourni au noyau est, dans ce mode de fonctionnement, une copie du signal sur la broche CK. Le choix d'effectuer un test du circuit ou de le mettre en mode de fonctionnement normal survient à la mise sous tension du circuit. Dès la mise sous tension, le io circuit ULPS place la broche 10 en mode d'entrée série et attend une commande en provenance du circuit TMC. Celui-ci attend sur la broche 10 une information de configuration, sous la forme d'une séquence de bits. Si une telle séquence est reconnue, celle-ci est utilisée pour configurer le test à effectuer à l'aide du circuit TMC, et le test commence alors tout de suite. Si aucune information de test n'est 15 reconnue, le circuit se met à fonctionner normalement, par exemple à l'expiration d'un délai d'attente ou à réception d'une commande spécifique sur la broche 10. Au cours du test, le circuit ULPS met les bascules du noyau 20 en registre à décalage à l'aide du signal SC-EN et fait transiter des vecteurs de test et des jeux de résultats entre la borne 10 et le noyau 20, en basculant en correspondance la 20 direction (entrée ou sortie) de la borne 10. Le fonctionnement du circuit sera décrit plus en détail ci-après à l'aide de figures. La figure 3 illustre l'évolution de signaux à la mise sous tension du circuit intégré et comment s'effectue le passage du circuit en mode de test, le cas échéant. On a notamment représenté la tension d'alimentation Vdd, le signal de réinitialisation 25 RST, le signal d'horloge CK, un signal TRG de fin de délai d'attente, et deux cas d'utilisation de la borne 10. A un instant t0, on applique une tension d'alimentation au circuit. La tension Vdd augmente progressivement pour atteindre sa valeur nominale à un instant t1. Au début de cette phase de mise sous tension, les signaux ont tendance à varier de 3o manière aléatoire. Les bascules s'établissent à des états quelconques. Un circuit interne de réinitialisation à la mise sous tension (« Power-On-Reset ») est prévu pour maintenir le signal de réinitialisation RST à sa valeur active dès le début de la mise sous tension, jusqu'à ce que la tension Vdd soit suffisante pour un fonctionnement correct et que la valeur active du signal RST ait effectivement duré assez longtemps pour provoquer la réinitialisation de toutes les bascules du circuit. Cette durée peut être établie en comparant la tension Vdd à un seuil et se termine peu avant l'instant t1. Le signal CK, étant fourni par un testeur externe, est usuellement à son régime 5 établi dès que le circuit est mis sous tension. Dès que le signal RST devient inactif, près de l'instant t1, le circuit ULPS est prêt à recevoir du circuit TMS un signal de démarrage de test en registre à décalage. Le circuit TMC surveille les signaux sur la borne IO et cherche à reconnaître une séquence d'initialisation de test à n'importe quel cycle d'horloge après sa 10 réinitialisation. Les signaux IOa à la figure 3 correspondent à une absence de séquence d'initialisation de test. Dans ce cas, une impulsion TRG signale, par exemple, la fin d'un délai d'attente qui a été fixé pour accepter une séquence d'initialisation. Dès cette impulsion, le circuit ULPS place la borne IO dans son mode normal et la 15 commute vers le noyau 20. Le circuit intégré se met à fonctionner dans son mode normal. Selon une alternative n'utilisant pas de délai d'attente, le circuit TMC peut être prévu pour également reconnaître une séquence identifiant une absence de test, en réponse à laquelle le circuit intégré est mis en mode de fonctionnement normal. 20 Les signaux IOb correspondent à la réception d'une séquence d'initialisation CFG, après l'instant t1. Dès l'identification de cette séquence, celle-ci est exploitée par le circuit TMC pour configurer les paramètres de test du noyau 20, et le test démarre dès la fin de l'interprétation de la séquence ou, le cas échéant, après un nombre fixe de cycles après celle-ci. En démarrant le test selon cette règle, le 25 testeur externe peut prendre comme référence de synchronisation la fin de la séquence. On décrira par la suite le déroulement d'une phase de test dans le cadre d'une structure particulière décrite en relation avec la figure 4. La figure 4 représente schématiquement un mode de réalisation plus détaillé du 30 circuit de gestion ULPS 22 et du circuit de commutation IOSW 26. Le circuit ULPS comprend une machine d'état FSM 40 élaborant notamment le signal de mise en registre à décalage SC-EN et le signal de commande de direction du circuit IOSW. 2969765 s Ces deux signaux, pour être exploités, sont resynchronisés sur les fronts descendants de l'horloge CK par deux bascules respectives SYNC cadencées par le complément logique du signal d'horloge CK. Ainsi, les transitions utiles de ces signaux SC-EN et 10SW sont décalées d'une demi-période d'horloge par rapport aux transitions utiles des autres signaux du circuit. On verra l'utilité de cette particularité ultérieurement. Dans le cas où le noyau 20 du circuit intégré est prévu pour fournir un signal sortant OUT en fonctionnement normal, le circuit ULPS comprend un multiplexeur 42 commandé par la machine d'état FSM pour aiguiller vers la broche d'exploitation 10 le signal SC-EN véhiculant les jeux de résultats de test en provenance du noyau 20 ou le signal de sortie normal OUT du noyau. Le circuit 10SW comprend deux portes tampons, dont une à sortie trois états activée par la machine d'état. L'entrée de la première porte tampon est reliée à la broche 10 et sa sortie fournit le signal SC-IN véhiculant les vecteurs de test, lequel signal est également reçu par le circuit TMC ; si le noyau 20 est normalement prévu pour recevoir un signal d'entrée IN par la broche 10, ce signal correspond typiquement au signal SC-IN fourni par le circuit 10SW. La sortie de la deuxième porte, porte à trois états, est reliée à la broche 10 et son entrée reçoit la sortie du multiplexeur 42, tandis que sa commande de mise en troisième état est fournie par le circuit ULPS. Le circuit ULPS comprend par ailleurs un compteur CNT qui peut être initialisé, sur une commande reçue de la machine d'état FSM, à l'une des deux valeurs NTEST et NCAPT présentées par le circuit TMC sur les entrées du circuit ULPS. Un multiplexeur 44 permet, sur commande de la machine d'état FSM, de sélectionner l'une ou l'autre des valeurs NTEST et NCAPT pour le compteur. Le compteur CNT est prévu pour décrémenter son contenu à chaque coup de l'horloge CK et envoyer un signal à la machine d'état FSM en fin de comptage. Les valeurs NTEST et NCAPT sont véhiculées dans la séquence d'initialisation de test à la mise sous tension du circuit. Elles sont extraites par le circuit TMC et fournies au circuit ULPS. La valeur NTEST correspond au nombre de bits des vecteurs de test et la valeur NCAPT correspond au nombre de cycles des phases de capture. La valeur NTEST peut dans de nombreuses applications être constante ; elle peut alors être câblée au lieu d'être fournie dans la séquence d'initialisation. Par contre, même si la longueur des vecteurs de test est constante, il peut être utile de faire varier la longueur des phases de capture d'un test au suivant. Par « test » on entend une succession de passes de test, chaque passe de test correspondant à une phase de fourniture d'un vecteur de test, suivie ou non d'une phase de capture, suivie enfin d'une phase de récupération d'un jeu de résultats. Ainsi, les valeurs NTEST et NCAPT sont fournies en début de test pour l'ensemble du test. Avec les éléments décrits jusqu'à maintenant, la machine d'état FSM serait mise dans une boucle dans laquelle elle enchaîne des passes de test à l'infini avec les mêmes paramètres NTEST et NCAPT. Dans ce cas, il est 1 o envisageable d'arrêter le test et changer de paramètres NTEST et NCAPT en mettant le circuit hors tension, puis de nouveau sous tension pour fournir une nouvelle séquence d'initialisation avec des paramètres différents (ou, si on ne souhaite plus faire de test, mettre le circuit en mode de fonctionnement normal). Il serait préférable de pouvoir changer de paramètres de test sans devoir passer 15 par une phase de mise hors tension du circuit qui augmente de façon significative la durée du test complet. Les éléments décrits ci-après permettent d'enchaîner différents tests sans passer par une mise hors tension du circuit. Comme cela est représenté, la machine d'état FSM reçoit du circuit TMC une commande de début de test START et une commande de fin de test STOP. La 20 commande START est celle fournie lorsque le circuit TMC reconnaît sur la borne 10 après la mise sous tension une séquence d'initialisation destinée au lancement d'un test. La commande STOP est fournie par le circuit TMC lorsque celui-ci reconnaît une signature d'arrêt spécifique dans un vecteur de test en cours de fourniture. En 25 réponse à cette commande STOP, la machine d'état FSM interrompt la phase de test en cours, place la borne 10 en mode entrée, lance la réinitialisation de tout le circuit (sauf d'elle-même), et s'arrête pour attendre une nouvelle commande START. Le circuit TMC attend une nouvelle séquence d'initialisation sur la borne 10, comme dans le cas où le circuit est mis sous tension. Par contre, la 30 synchronisation avec le testeur n'étant pas perdue, le testeur peut fournir. la séquence d'initialisation immédiatement après l'envoi du vecteur avec la signature d'arrêt. Dès que cette nouvelle séquence d'initialisation est reconnue, le circuit TMC fournit les nouveaux paramètres NTEST et NCAPT à la machine d'état et démarre celle-ci avec la commande START. À ce stade on peut également décider que le test est terminé, et placer le circuit en mode de fonctionnement normal. Dans le mode de fonctionnement qui vient d'être décrit, le vecteur avec la signature d'arrêt ne sert pas à effectuer une nouvelle passe de test. Même si la durée de transmission d'un tel vecteur pour commander un arrêt est négligeable par rapport à une réinitialisation du circuit en passant par une mise hors tension, on peut souhaiter exploiter ce vecteur pour une dernière passe de test. Ainsi, selon une variante, la machine d'état peut être prévue pour exploiter ce vecteur dans une dernière passe de test. En réponse au signal STOP, la machine d'état ne s'arrête qu'après avoir effectué une phase de capture et la phase correspondante de fourniture du jeu de résultats de test. Il est difficile de choisir un vecteur de test particulier pouvant servir de signature pour détecter un arrêt du test, surtout si ce vecteur doit être le même pour des circuits de nature différente. En effet, ce vecteur « signature » serait choisi pour ne pas correspondre à un vecteur de test utile ; si le vecteur n'est pas utile pour tester un circuit donné, il peut cependant être utile pour tester un circuit de nature différente. Pour éviter ce problème, on propose d'ajouter un bit d'arrêt, surnuméraire, aux vecteurs de test, qui indique l'arrêt du test par un état correspondant, disons 1. Le vecteur de test est ainsi plus long, de un bit, que le registre à décalage du noyau 20 originel à tester. De préférence, le registre à décalage comprend une bascule supplémentaire pour recevoir le bit d'arrêt. La bascule sera placée en tête ou en queue du registre à décalage, selon que le bit d'arrêt est placé en queue ou en tête du vecteur de test. L'état de cette bascule supplémentaire est alors également extrait dans le jeu de résultats de test, mais il pourra être ignoré par le testeur. Selon une variante, le bit d'arrêt est ajouté en queue de vecteur et on ne prévoit pas de bascule supplémentaire dans le registre à décalage. La longueur du registre à décalage et la longueur effective du vecteur de test étant égales à N = NTEST, le vecteur « rallongé » est reçu en N+1 cycles. Comme la phase de capture est démarrée à la réception du dernier, N-ème, bit du vecteur de test effectif, les bascules du noyau se trouvent dans leur configuration normale à l'arrivée du N+1-ème bit surnuméraire. Ce bit surnuméraire ne perturbe donc pas 2969765 Il le contenu du registre à décalage, mais, la borne 10 étant toujours en mode entrée, il est vu et interprété par le circuit TMC. Selon une autre variante, le bit d'arrêt est placé en tête du vecteur et on considère que la taille du vecteur de test est NTEST = N+1, alors que la taille du registre à 5 décalage est N. Au N+1-ème cycle, le bit d'arrêt est poussé hors du registre à décalage, et ignoré, tandis que le registre à décalage contient alors le vecteur de test souhaité. Dans ce cas, le compteur CNT reçoit la valeur NTEST-1 pour les phases d'extraction des jeux de résultats. La figure 5 est un chronogramme illustrant un exemple de déroulement de test. Y 10 sont représentées les évolutions du signal d'horloge CK, de la commande fournie par le compteur CNT à la machine d'état, du signal SC-EN, de la commande de direction du circuit 10SW, et des signaux échangés par la borne d'exploitation 10. Le signal IOb représente une variante des signaux échangés par la borne 10. A l'activation du signal START par le circuit TMC (événement non représenté), le 15 compteur CNT reçoit la valeur NTEST. La borne 10 est mise en mode entrée, ce qui est représenté par le signal 10SW à 1, et le signal SC-EN est activé, configurant les bascules du noyau 20 en registre à décalage. A chaque coup de l'horloge CK, un nouveau bit V1 à Vn du vecteur de test, présenté sur la borne 10, est transféré dans le registre à décalage par la ligne SC-IN (figure 4). 20 Lorsque le compteur a décompté la valeur NTEST, il fournit une impulsion à la machine d'état. La machine d'état charge la valeur NCAPT dans le compteur et commande la désactivation du signal SC-EN pour passer le noyau en mode de fonctionnement normal et effectuer une phase de capture. A ce stade, l'ensemble du vecteur V1 à Vn a été transféré dans les bascules du noyau 20, connectées en 25 registre à décalage. Tandis que les bits de ce vecteur entraient dans le registre à décalage par la ligne SC-IN, les bits qui étaient présents dans le registre ont été poussés hors de celui-ci par la ligne SC-OUT, connectée dans le vide. Ces bits sortants, ne correspondant en fait à rien d'utile, sont ainsi ignorés. Si le signal SC-EN était synchronisé sur les fronts montants de l'horloge CK, il 30 basculerait au front montant suivant de l'horloge CK, c'est-à-dire en même temps que devrait avoir lieu le premier cycle de capture ; les bascules seraient commandées pour verrouiller l'état présent à leur entrée alors que cette entrée serait en cours de commutation. Les bascules prendraient des valeurs aléatoires qui fausseraient les cycles de capture suivants. C'est pour éviter cela que le signal SC-EN est synchronisé sur les fronts descendants de l'horloge CK. Ainsi, le signal SC-EN bascule seulement une demi-période après l'impulsion du compteur CNT, à savoir une demi-période avant le premier cycle de capture, laissant le temps aux entrées des bascules de commuter avant que ne commence le premier cycle de capture. La direction de la borne 10 importe peu pendant la capture ; on suppose ici qu'elle reste en mode entrée. Cela permet par ailleurs de recevoir le bit d'arrêt surnuméraire STP du vecteur de test, selon une des variantes décrites précédemment, pour signaler au circuit TMC la fin d'un test. Lorsque le compteur CNT a décompté la valeur NCAPT, une nouvelle impulsion est fournie à la machine d'état, indiquant la fin de la phase de capture. La valeur NTEST est de nouveau chargée dans le compteur, et le signal SC-EN est de nouveau activé, cette fois pour extraire le jeu de résultats de test R1 à Rn du registre à décalage. L'activation du signal SC-EN survient une demi-période après l'impulsion du compteur CNT, c'est-à-dire une demi-période avant l'extraction du premier bit R1 du jeu de résultats ; cela assure que les bascules aient le temps de commuter vers leur configuration en registre à décalage avant qu'on ne tente d'extraire le premier bit. Le signal 10SW bascule également en réponse à l'impulsion du compteur CNT, pour passer la direction de la broche 10 en mode sortie. Comme ce signal est également synchronisé sur les fronts descendants de l'horloge CK, il passe à o en même temps que le signal SC-EN passe à 1, c'est-à-dire une demi-période avant l'extraction du premier bit R1 du jeu de résultats. Cela laisse le temps à la nouvelle configuration de la broche 10 de se stabiliser et de présenter une valeur propre du premier bit R1 sur la broche 10. Si le signal 10SW était synchronisé sur les fronts montants de l'horloge CK, la commutation de direction de la broche 10 aurait lieu en même temps que l'extraction du premier bit R1, provoquant très probablement une erreur d'échantillonnage par le testeur. Pendant que les bits de résultat sont extraits, de nouveaux bits provenant de la ligne SC-IN, déconnectée, sont transférés dans le registre à décalage. Ces bits ne correspondent à rien d'utile, et sont en fait ceux qui seront extraits mais ignorés à la prochaine écriture d'un vecteur de test. Ils sont pour cette raison rendus tous égaux à une valeur par défaut qui permet de minimiser les interférences avec le fonctionnement du circuit pendant la sortie des valeurs de résultat. Lorsque le compteur CNT a décompté la valeur NTEST, cela est signalé par une nouvelle impulsion fournie à la machine d'état. La valeur NTEST est de nouveau chargée dans le compteur. On a fini d'extraire les bits de résultat et on s'apprête à écrire un nouveau vecteur de test, dans les conditions décrites du début du chronogramme. Le signal SC-EN reste actif pour garder les bascules du noyau en registre à décalage. Par contre, le signal 10SW bascule pour commuter la direction de la broche 10, en mode entrée. Le signal 10SW, synchronisé sur les fronts descendants de l'horloge CK, bascule une demi-période après l'impulsion du compteur CNT, c'est-à-dire une demi-période avant l'échantillonnage du premier bit V1 du nouveau vecteur. Cela laisse le temps à la nouvelle configuration de la broche 10 de se stabiliser et permet d'échantillonner une valeur propre du premier bit V1 du vecteur. Dans une deuxième variante, illustrée par le signal IOb sur la borne d'exploitation, on alterne, à la cadence des cycles d'horloge CK, la fourniture d'un bit (IN) du vecteur et la lecture d'un bit (OUT) d'un jeu de résultats, ce jeu de résultats correspondant à la capture effectuée pour le vecteur de la passe précédente. De cette manière, au fur et à mesure qu'on écrit un nouveau vecteur dans le registre à décalage, on lit le jeu de résultats de la passe précédente, contenu dans le registre à décalage. Si le vecteur contient un bit d'arrêt STP, celui-ci est introduit par la broche 10 au deuxième cycle de la phase de capture, comme un bit faisant partie du vecteur de test, mais non écrit dans le registre à décalage (selon une des variantes précédemment décrites de traitement du bit d'arrêt). La machine d'état alterne en correspondance la direction de la borne d'exploitation 10 entre le mode entrée, en aiguillant les bits entrants sur l'entrée SC-IN du noyau, et le mode sortie, en aiguillant les bits sortants SC-OUT du noyau sur la borne 10. Le registre à décalage du noyau fonctionne donc avec une horloge CKi à la moitié de la fréquence de l'horloge CK. Un registre à décalage accepte un bit entrant en début de chaîne en même temps qu'il fournit un bit sortant en fin de chaîne. Ces deux bits, entrant et sortant, ne peuvent pas être transférés en même temps par la borne unique 10. Du fait que les bits du vecteur de test et du jeu de résultats transitent à la moitié de la fréquence d'horloge, chaque bit sortant est présent sur deux cycles d'horloge pour extraction par la borne 10 ; on présente ce bit en sortie sur le premier coup d'horloge, par exemple, et le bit entrant est échantillonné en entrée au deuxième coup d'horloge. La description qui précède concerne le test du noyau 20. Bien entendu, il est judicieux d'également tester le circuit ULPS lui-même. Pour cela, celui-ci peut être muni d'un système d'auto-test ou BIST (de l'anglais « Built-In Self-Test ») qui transmettra un résultat de test par la broche 10 à la fin d'une passe d'autotest s dédiée. Cette passe d'auto-test est choisie dans la séquence d'initialisation fournie par le testeur sur la borne 10 à la mise sous tension. L'autotest peut consister à charger dans le compteur CNT une valeur fournie dans la séquence d'initialisation et à faire fonctionner la machine d'état FSM « à vide » pour l'amener à décrémenter le compteur d'une valeur donnée. Les valeurs des 10 bascules du circuit ULPS, y compris celles du compteur, sont alors combinées et fournies en un train d'informations en série par le circuit BIST sur la borne 10. cette combinaison peut consister en un calcul d'une signature sur les valeurs des bascules. REVENDICATIONS1. Procédé de test en registre à décalage d'un circuit intégré comprenant les étapes suivantes mises en oeuvre par le circuit lui-même : - à la mise sous tension du circuit, surveiller les séquences de bits 5 apparaissant sur une borne d'exploitation (10) configurée pour recevoir de l'extérieur des données série à la cadence d'un signal d'horloge extérieur (CK) appliqué sur une borne d'horloge ; - mettre le circuit en mode de test si une séquence de bits est identifiée à une séquence d'initialisation de test (CFG) ; et 10 - connecter des bascules du circuit (20) en registre à décalage (SC-EN) et connecter le registre à décalage pour recevoir un vecteur de test en série (SC-IN) à partir de la broche d'exploitation (10) ; caractérisé en ce qu'il comprend les étapes suivantes également mises en oeuvre par le circuit lui-même : 15 commuter la direction de transfert de ladite borne d'exploitation (10) en mode sortie pour fournir vers l'extérieur des données numériques en série à la cadence du signal d'horloge ; et - connecter le registre à décalage pour fournir son contenu, en tant que jeu de résultats de test, en série (SC-OUT) sur ladite borne d'exploitation. 20 2. Procédé selon la revendication 1, dans lequel la direction de transfert de ladite broche d'exploitation est commutée à chaque cycle d'horloge de manière à alterner la réception d'un bit du vecteur de test et la fourniture d'un bit du jeu de résultats par ladite broche d'exploitation. 3. Procédé selon la revendication 1, dans lequel la direction de transfert de la 25 broche d'exploitation reste inchangée pendant un nombre de cycles d'horloge consécutifs correspondant à la taille du vecteur de test. 4. Procédé selon la revendication 1, dans lequel la commutation de la direction de transfert de la broche d'exploitation (10) est synchronisée sur le complément logique du signal d'horloge (CK). 15 . Procédé selon la revendication 1, comprenant les étapes suivantes mises en oeuvre par le circuit lui-même : - entre la fin de réception d'un vecteur de test et le début de fourniture du jeu de résultats de test, effectuer une phase de capture en reconnectant 5 lesdites bascules en mode de fonctionnement normal pendant un ou plusieurs cycles d'horloge ; et - synchroniser (SYNC) le passage dans la phase de capture et la sortie de cette phase (SC-EN) sur le complément logique du signal d'horloge (CK). 6. Procédé selon la revendication 1, dans lequel le circuit détermine la taille des 10 vecteurs de test (NTEST) à partir d'une information véhiculée dans ladite séquence d'initialisation de test. 7. Procédé selon la revendication 5, dans lequel le circuit détermine le nombre de cycles de la phase de capture (NCAPT) à partir d'une information véhiculée dans ladite séquence d'initialisation de test. 15 8. Procédé selon la revendication 1, dans lequel le circuit détermine la fin d'un test à partir d'un bit d'arrêt surnuméraire (STP) inséré dans les vecteurs de test. 9. Procédé selon la revendication 1, comprenant les étapes suivantes mises en oeuvre par le circuit lui-même : 20 - mettre le circuit en mode d'autotest si la séquence de bits sur la borne d'exploitation identifie un autotest ; - effectuer un autotest en fonction de paramètres véhiculés dans la séquence d'initialisation ; - commuter la direction de la borne d'exploitation (IO) en mode sortie ; et 25 fournir en série sur la borne d'exploitation une combinaison des valeurs contenues dans des bascules du circuit.