Brevet FR3023620A1 — publié le 20160115

Procédé de gestion du fonctionnement d'un mode test d'un composant logique avec restauration de l'état précédant le test Des modes de mise en oeuvre et de réalisation de l'invention concernent le fonctionnement de composants électroniques, et plus particulièrement le fonctionnement d'un mode de test d'un composant logique d'un circuit intégré pour la réalisation d'une détection de défaut. L'impact d'une particule sur un transistor ou proche d'un transistor peut engendrer un courant parasite dans un circuit intégré, suivant le pouvoir ionisant de cette particule (par exemple caractérisé par son transfert linéaire d'énergie (LET : Linear Energy Transfer)). En effet, la quantité de charge engendrée par une particule correspond à celle mise en oeuvre pendant le changement d'état d'un noeud logique commandé par un transistor. La conséquence de cet impact peut être le changement d'état, ou de niveaux, des signaux logiques, et par conséquent entraîner des erreurs en sortie du circuit. Certains secteurs d'activités, comme l'aérospatial ou le secteur médical, ont besoin d'une robustesse de composant permettant une fiabilité de réponse proche de 100%, cette caractéristique primant sur les autres facteurs. Pour contrôler, l'état des composants électroniques d'un circuit intégré notamment, il est connu de réaliser un test à l'aide d'un générateur automatique de motifs de test, généralement désigné par l'acronyme anglosaxon ATPG (Automatic Test Pattern Generation ou Automatic Test Pattern Generator), en sortie de chaîne de fabrication d'un circuit intégré, et/ou, dans certains cas des tests autonome embarqués désignés par l'acronyme anglais LBIST (Logic Built-In Self-Test) en cours de fonctionnement du circuit. Un ATPG est un procédé de test assisté par ordinateur utilisé pour trouver une séquence de test en entrée qui, lorsqu'elle est appliquée à un circuit intégré, permet à un équipement de test externe au circuit intégré de distinguer entre un comportement normal et un comportement défectueux du circuit électronique testé. Les séquences de test générées sont utilisées pour tester des dispositifs semiconducteurs en sortie de fabrication, avant toute utilisation Un procédé de test autonome embarqué, souvent appelé par l'acronyme anglosaxon BIST (Built-In Self-Test), est un mécanisme permettant à un système matériel ou logiciel, ou comprenant les deux, de réaliser son propre diagnostic de manière autonome. Le diagnostic peut être déclenché automatiquement, par exemple à intervalle régulier ou à chaque démarrage du circuit intégré, par déclenchement d'un circuit d'auto-surveillance, ou encore en continu. On trouve souvent ce mécanisme dans les circuits intégrés, car il permet une automatisation de la vérification du circuit. Cette vérification se fait avant la vérification fonctionnelle. Le test du type LBIST est une forme de test BIST dans lesquels les circuits intégrés sont configurés pour être capables de réaliser leur propre test de fonctionnement, sans assistance par ordinateur ou un autre équipement externe. Le test de type LBIST présente l'avantage de permettre de tester des circuits électroniques internes ne présentant pas de bornes de connexion externes permettant un raccordement direct du circuit à un système automatisé externe tel qu'un ATPG. Il présente également l'avantage de pouvoir déclencher une phase de test à n'importe quel moment au cours de la vie du circuit intégré. Le principe d'un test LBIST repose également sur la génération d'au moins une séquence de test à injecter dans les composants électroniques à tester et l'analyse du signal obtenu en sortie des composants en réponse à la séquence de test injectée. L'inconvénient majeur est que lorsqu'une phase de test LBIST est déclenchée au cours du fonctionnement, l'information contenue dans chacun des composants électroniques est perdue. Par conséquent, le circuit intégré ne peut pas reprendre son fonctionnement à la suite du test exactement dans l'état dans lequel il était avant le test. Selon un mode de réalisation et un mode de mise en oeuvre, il est proposé un procédé et une architecture de gestion du fonctionnement d'un composant logique visant permettant de réaliser une phase de test en cours de fonctionnement du circuit intégré et de remettre le composant logique à l'issue de la phase de test dans l'état dans lequel il se trouvait avant cette phase de test. Selon un aspect, il est proposé un procédé de gestion du fonctionnement d'un ensemble de N bascules d'un circuit intégré chaînées par l'intermédiaire de leur sortie de test et de leur entrée de test. Le procédé selon cet aspect comprend, après un mode de fonctionnement normal des N bascules, un placement des N bascules dans un mode de test. Le mode de test comprend : une injection d'une première séquence de N bits tests dans l'entrée de test de la première bascule de la chaîne de test, une mémorisation de la séquence de N valeurs délivrées par la sortie de test de la dernière bascule de la chaîne de test résultant de ladite injection de ladite première séquence de N bits test, et ultérieurement une injection de la séquence de N valeurs mémorisées dans l'entrée de test de la première bascule de la chaîne de test de façon à restaurer l'état des N bascules avant leur placement dans le mode de test. L'injection d'une séquence de N bits tests dans l'entré de test de la première bascule d'une chaîne de test formée de N bascules a pour conséquence de placer chacune des N bascules dans un état déterminé, chaque bascule ayant copié un bit test sur sa sortie à l'issue de l'injection. A l'issue de l'injection, le premier bit test de la séquence est copié en sortie de la dernière bascule de la chaîne et le dernier bit test de la séquence est copié en sortie de la première bascule de la chaîne de test. L'injection d'une séquence de bits dans la chaîne de test a pour conséquence de pousser, c'est-à-dire de décaler, l'état des bascules de bascule en bascule de l'entrée vers la sortie de la chaîne de test. Les valeurs dans les bascules de la chaîne de test sont ainsi une à une délivrées en sortie de la chaîne de test au fur et à mesure que les bits tests de la séquence de test sont injectés. La mémorisation des N valeurs délivrées par la sortie de test de la dernière bascule de la chaîne de test lors de l'initiation de la phase de test par l'injection de la première séquence de N bits de test permet de mémoriser l'état de l'ensemble des N bascules pendant le fonctionnement de la phase de test du composant logique sans perte de temps. Les moyens de mémorisation peuvent être couplés à une borne de sortie de test couplée à la sortie de test de la dernière bascule de la chaîne de test. La borne de sortie de test peut également être couplée aux moyens d'analyse des résultats de la phase de test. Les N premières valeurs délivrées sur la borne de sortie de test à l'initiation de la phase de test ne résultant pas d'un fonctionnement des bascules avec des bits de test en entrée, ces valeurs ne sont pas analysées par les moyens d'analyse et peuvent donc être directement envoyées vers les moyens de mémorisation. La sortie de test et la sortie de données d'une bascule ayant la même valeur en sortie à chaque instant, les N valeurs mémorisées sont réinjectées dans la chaîne de test via l'entrée de test de la première bascule de la chaîne de test avant que le fonctionnement normal de l'ensemble des N bascules ne reprenne. Une fois toute la séquence injectée, chacune des N bascules de l'ensemble possède à nouveau sur sa sortie de données la valeur qu'il avait avant l'initiation de la phase de test. Avantageusement, le mode de test comprend en outre une injection d'au moins une deuxième séquence de N bits tests à la suite de l'injection de la première séquence de N bits tests. L'injection d'une pluralité de séquence de bits de test permet de multiplier les séquences de détection de défaut et ainsi de favoriser la détection et la localisation de défaut dans le circuit. L'injection de la séquence de N valeurs mémorisées peut être effectuée à la suite de l'injection de la dernière séquence de N bits tests. Dans le cas où le procédé comprend l'injection d'une unique séquence de test, l'injection de la séquence de N valeurs mémorisées est réalisée à la suite de l'injection de l'unique séquence de test. De cette manière l'injection de la séquence des N valeurs mémorisées permet d'extraire la dernière séquence de valeurs résultant de la phase de test. L'utilisation de la séquence des N valeurs mémorisées pour extraire la dernière séquence de résultat permet d'optimiser temporellement la phase de test, et de ne pas perdre de temps pour la restauration de l'état des bascules précédant la phase de test. Selon un autre aspect, il est proposé un dispositif comprenant un circuit intégré comportant un ensemble de N bascules, chaque bascule comportant une entrée de données, une entrée de test, une sortie de test et une sortie de données, et les N bascules de l'ensemble étant couplées en série via leur entrée de test et leur sortie de test respective de manière à former une chaîne de N bascules comprenant une entrée de chaîne de test et une sortie de chaîne de test. Selon une caractéristique générale de cet aspect, le dispositif comprend un circuit de contrôle configuré pour placer, après un mode de fonctionnement normal des bascules, l'ensemble de N bascules dans un mode de test dans lequel l'entrée de test de la première bascule de la chaîne de test est destinée à recevoir au moins une première séquence de N bits tests. Le dispositif comprend également des moyens de mémorisation configurés pour enregistrer la séquence de N valeurs délivrées par la sortie de test de la dernière bascule de la chaîne de test. Le circuit de contrôle est en outre configuré pour délivrer à l'entrée de test de la première bascule de la chaîne de test la séquence de N valeurs mémorisées de façon à restaurer l'état des N bascules avant leur placement dans le mode de test, c'est-à-dire, l'état que chacune des N bascules avait avant d'entamer la phase de test. L'entrée de test de la première bascule de la chaîne de test peut être destinée à recevoir au moins une deuxième séquence de N bits test à la suite de la première séquence de N bits test. L'entrée de test de la première bascule de la chaîne de test peut également être destinée à recevoir la séquence des N valeurs mémorisées à la suite de l'injection de la dernière séquence de bits tests. Avantageusement, les moyens de mémorisation peuvent comprendre une mémoire vive externe au circuit intégré comprenant l'ensemble de bascules. De préférence, la mémoire vive est montée sur le même support que le circuit intégré auquel elle est couplée. D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée d'un mode de réalisation et d'un mode de mise en oeuvre, nullement limitatifs, et des dessins annexés sur lesquels : la figure 1 représente un circuit intégré selon un mode de réalisation ; la figure 2 présente un organigramme d'un procédé de gestion du fonctionnement d'un ensemble de N bascules d'un circuit intégré selon un mode de mise en oeuvre de l' invention. La figure 1 représente de manière schématique un circuit intégré selon un mode de réalisation de l'invention. Dans l'exemple illustré sur la figure 1, le circuit intégré comprend un ensemble de quatre bascules 1 à 4. Chaque bascule 1 à 4 comporte une entrée de données d apte à recevoir un signal de données D et une sortie de données q apte à délivrer un signal de sortie Q et une entrée d'horloge. L'entrée d'horloge de chacune des quatre bascules 1 à 4 du circuit intégré reçoit le même signal d'horloge CLK. Les bascules 1 à 4 sont ainsi synchronisées. Dans un autre mode de réalisation, les bascules du circuit intégré peuvent recevoir des signaux d'horloge différents. En mode de fonctionnement normal, les bascules 1 à 4 opèrent en recopiant le signal de données D en entrée sur leur sortie de données q à chaque front d'horloge montant. Le signal de sortie Q correspond normalement au signal de données D à l'issue du front d'horloge montant. Le signal de données D délivré à chaque bascule 1 à 4 peut être le même ou bien différent et indépendant du signal de données D délivré aux trois autres bascules. Chaque bascule 1 à 4 comprend en outre une entrée de test ti apte à recevoir un signal de test TI, TQl, TQ2 ou TQ3 selon la bascule, une sortie de test tq apte à délivrer un signal résultant de test TQl à TQ4, et une entrée de commande de mode test te destinée à recevoir un signal de commande de test TE pour actionner le mode de test de la bascule. En mode de fonctionnement test, chaque bascule 1 à 4 opère en recopiant le signal de test TI, TQl, TQ2 ou TQ3 à l'entrée de test ti sur la sortie de test tq à chaque front montant de son horloge. La sortie de test tq délivre alors en sortie un signal résultant du test TQ dont la valeur correspond au signal de test TI, TQl, TQ2 ou TQ3 à l'issue du front d'horloge montant. Les bascules 1 à 4 sont couplées en série via leur entrée et sortie de test ti et tq respectives pour former une chaine de test avec une entrée de chaine de test et une sortie de chaine de test. Ainsi la sortie de test tq de la première bascule 1 est couplée à l'entrée de test ti de la deuxième bascule 2, la sortie de test tq de la deuxième bascule 2 est couplée à l'entrée de test ti de la troisième bascule 3, et la sortie de test tq de la troisième bascule 3 est couplée à l'entrée de test ti de la quatrième bascule 4, l'entrée test ti de la première bascule 1 formant l'entrée de la chaîne de test et la sortie de test tq de la quatrième bascule 4 formant la sortie de test de la chaîne de test. Le circuit intégré comprend un dispositif 5 de gestion du fonctionnement de l'ensemble de quatre bascules. Le dispositif 5 de gestion comprend une mémoire vive 6 montée sur le même support que les bascules 1 à 4 du circuit intégré. La mémoire vive 6 est couplée à la sortie de la chaine de test, c'est-à-dire à la sortie de test tq de la quatrième bascule 4. Le dispositif 5 de gestion comprend en outre un circuit de contrôle 7 configuré pour placer, après un mode de fonctionnement normal des bascules 1 à 4, l'ensemble de quatre bascules 1 à 4 dans un mode de test. Le circuit de contrôle 7 peut être réalisé à l'aide d'un circuit ou de composants logiques. La figure 2 présente un organigramme d'un procédé de gestion du fonctionnement d'un ensemble de quatre bascules d'un circuit intégré mis en oeuvre par le dispositif 5 de gestion de la figure 1. Après une étape initiale 100 de fonctionnement en mode normal des bascules 1 à 4, le circuit de contrôle 7 du dispositif 5 de gestion commande, dans une première étape 110, le placement les quatre bascules 1 à 4 dans un mode de test. Le placement dans le mode de test est réalisé par le dispositif 5 de gestion à l'aide d'un circuit de commande 8 apte à délivrer à l'entrée de commande de test te de chaque bascule 1 à 4 un signal de commande TE du mode des bascules apte à basculer les bascules 1 à 4 dans le mode de test. Le dispositif 5 de gestion comprend en outre un circuit d'injection 9 d'un signal de test TI apte à définir une séquence de quatre bits test à injecter dans les quatre bascule 1 à 4 du circuit intégré. La séquence de bits test comprend un nombre de bits test correspondant au nombre de bascules chainées en série par leur entrée et sortie de test ti et tq. Une fois, les quatre bascules 1 à 4 placées dans le mode de test, le dispositif 5 de gestion commande, dans une deuxième étape 120, l'injection du signal de test TI dans la chaîne de test. L'injection des quatre bits tests dans la chaîne de test est réalisée sur quatre fronts d'horloge étant donné le chaînage des quatre bascules 1 à 4. A Chaque front d'horloge une bascule copie sur sa sortie de test tq la valeur du signal qu'elle a sur son entrée de test ti. La séquence de test se propage ainsi dans la chaîne de test. Dans le cas où les bascules ne sont pas défectueuses, à l'issue des quatre fronts d'horloge, le premier bit de test de la séquence de test se trouve sur la sortie de test tq de la quatrième bascule 4, le deuxième bit de test de la séquence de test se trouve sur l'entrée de test ti de la quatrième bascule 4 ainsi que sur la sortie de test tq de la troisième bascule 3, le troisième bit de test de la séquence de test se trouve sur l'entrée de test ti de la troisième bascule 3 ainsi que sur la sortie de test tq de la deuxième bascule 2, et le quatrième bit de test de la séquence de test se trouve sur l'entrée de test ti de la deuxième bascule 1 et sur la sortie tq de la première bascule 1. Simultanément à la commande d'injection de la première séquence quatre bits de test, le circuit de contrôle 7 du dispositif 5 de gestion commande à la mémoire 6, dans une étape 130, d'enregistrer les quatre valeurs du signal délivré en sortie de la chaîne de test, c'est-à-dire sur la sortie de test tq de la quatrième bascule 4, lors des quatre premiers fronts d'horloge. Les quatre valeurs mémorisées lors des quatre fronts d'horloge du chargement de la première séquence de test correspondent aux quatre valeurs présentent sur les quatre bascules 1 à 4 à l'issue du mode de fonctionnement normal avant que le mode de test ne soit engagé. Les quatre valeurs mémorisées représentent donc l'état des bascules 1 à 4 lorsque le mode de fonctionnement normal a été interrompu. Plus précisément, la première valeur délivrée par la sortie de la chaine de test correspond à l'état de la quatrième bascule 4, la deuxième valeur délivrée par la sortie de la chaine de test correspond à l'état de la troisième bascule 3, la troisième valeur délivrée par la sortie de la chaine de test correspond à l'état de la deuxième bascule 2, la quatrième valeur délivrée par la sortie de la chaine de test correspond à l'état de la première bascule 1. Lorsque la chaîne de test comprend un grand nombre de bascules, il est possible de réaliser une mémorisation par blocs de n bits, par exemple par blocs de huit bits. Dans le mode de test du dispositif illustré sur la figure 1, le circuit de contrôle 7 du dispositif 5 de gestion commande, dans une étape suivante 140, l'injection d'une pluralité de séquence de tests supplémentaires. Le résultat de chaque séquence de test est extraite de la chaine de test via la sortie de test tq de la quatrième bascule qui est couplée en outre à des moyens de traitement 10 aptes à recevoir, enregistrer et traiter les signaux de résultats de test. Une fois la dernière séquence de test injectée, pour extraire les résultats de la dernière séquence, et restaurer l'état des bascules 1 à 4 précédant le mode de test sans perdre de temps, le circuit de contrôle 7 commande, dans une étape 150, l'injection de la séquence formée des quatre valeurs mémorisées par le circuit d'injection 9. Le circuit d'injection 9 est couplé à la mémoire vive 6 de manière à récupérer les valeurs mémorisées avant de les injecter. Les quatre valeurs mémorisées sont injectées en entrée de la chaîne de test dans l'ordre où elles ont été initialement délivrées par la sortie de la chaîne de test. L'état de chacune des quatre bascules 1 à 4 est ainsi restauré en même temps que les résultats de la dernière séquence de test sont délivrés par la sortie de la chaîne de test. Le dispositif 5 de gestion commande ensuite, dans une étape 160, la sortie du mode de test des bascules 1 à 4 en plaçant à nouveau les bascules dans un mode de fonctionnement normal à l'aide d'un signal de commande TE du mode des bascules correspondant délivré par le circuit de commande 8. Le procédé et l'architecture de gestion du fonctionnement d'un composant logique permettent ainsi de réaliser une phase de test en cours de fonctionnement du circuit intégré et de restaurer l'état du composant logique à l'issue de la phase de test pour reprendre exactement dans l'état dans lequel il se trouvait avant cette phase de test. REVENDICATIONS1. Procédé de gestion du fonctionnement d'un ensemble de N bascules (1 à 4) d'un circuit intégré chaînées par l'intermédiaire de leur sortie de test (tq) et de leur entrée de test (ti), comprenant, après un mode de fonctionnement normal des N bascules (1 à 4), un placement des N bascules (1 à 4) dans un mode de test comportant : une injection d'une première séquence de N bits tests dans l'entrée de test (ti) de la première bascule (1) de la chaîne de test, une mémorisation de la séquence de N valeurs délivrées par la sortie de test (tq) de la dernière bascule (4) de la chaîne de test résultant de ladite injection de ladite première séquence de N bits test, et ultérieurement une injection de la séquence des N valeurs mémorisées dans l'entrée de test (ti) de la première bascule (1) de la chaîne de test de façon à restaurer l'état des N bascules (1 à 4) avant leur placement dans le mode de test. 2. Procédé selon la revendication 1, dans lequel le mode de test comprend en outre une injection d'au moins une deuxième séquence de N bits tests à la suite de l'injection de la première séquence de N bits tests. 3. Procédé selon l'une des revendications 1 ou 2, dans lequel l'injection de la séquence de N valeurs mémorisées est effectuée à la suite de l'injection de la dernière séquence de N bits tests. 4. Dispositif (5) comprenant un circuit intégré comportant un ensemble de N bascules (1 à 4), chaque bascule (1 à 4) comportant une entrée de données (d), une entrée de test (ti), une sortie de test (tq) et une sortie de données (q), et les N bascules de l'ensemble étant couplées en série via leur entrée de test (ti) et leur sortie de test (tq) respective de manière à former une chaîne de N bascules (1 à 4) comprenant une entrée de chaîne de test et une sortie de chaîne de test, caractérisé en ce que le dispositif (5) comprend un circuit de contrôle (7) configuré pour placer, après un mode de fonctionnementnormal des bascules (1 à 4), l'ensemble de N bascules (1 à 4) dans un mode de test dans lequel l'entrée de test (ti) de la première bascule (1) de la chaîne de test est destinée à recevoir au moins une première séquence de bits tests, des moyens de mémorisation (6) configurés pour enregistrer la séquence de N valeurs délivrées par la sortie de test (tq) de la dernière bascule (4) de la chaîne de test, le circuit de contrôle (7) étant en outre configuré pour délivrer à l'entrée de test (ti) de la première bascule (1) de la chaîne de test la séquence de N valeurs mémorisées de façon à restaurer l'état des N bascules avant leur placement dans le mode de test. 5. Dispositif (5) selon la revendication 4, dans lequel les moyens de mémorisation (6) comprennent une mémoire vive externe au circuit intégré comprenant l'ensemble de bascules (1 à 4). 6. Dispositif (5) selon la revendication 5, dans lequel la mémoire vive est montée sur le même support que le circuit intégré auquel elle est couplée.