Brevet FR2800877A1 — publié le 20010511

La présente invention concerne un dispositif d'émulation de défauts dans des circuits logiques numeriques et notamment un dispositif d'émulation de défauts dans des circuits logiques numériques comportant un circuit débogueur dans lequel, à chaque registre utile interne du circuit logi que numérique, est associé un registre image pour extraire le contenu du registre utile associé ou enregistrer une valeur prédéterminée dans le registre utile associé. Un composant PLD (Programmable Logic Device, c'est-à-dire un composant logique programmable), qui permet d'observer les n#uds internes par des éléments images asso ciés aux n#uds internes, est décrit dans le document US-A- 5 079. Ce circuit permet de transférer les états des n#uds internes inscrits dans les registres utiles n#uds internes vers les éléments images qui permettent de les ren- disponibles aux entrées/sorties par l'intermédiaire de registres à décalage. Le document US-A-5 870 410 décrit un système interfaces comportant par exemple des composants PLD comme ceux décrits dans le document US-A-5 764 079. Les éléments d'interface servent non seulement à observer les états des n#uds internes, mais à leur appliquer également des vecteurs de tests pour l'observation des défauts. Si toutefois ici les n#uds internes subissent des défauts, il n'est plus possible de les observer en même temps par une opération normale de recherche de défaut de circuit (débogage). La présente invention a pour but de développer un dispositif d'émulation de défauts dans des circuits logiques numériques, permettant de copier les défauts du circuit logi que tout en permettant simultanément une recherche de défaut (débogage) dans un tel circuit 'Logique entaché de défauts. A cet effet, l'invention concerne un dispositif d'émulation de défauts dans des circuits logiques numériques comprenant plusieurs registres utiles associés à des n#uds internes au circuit dans lesquels sont enregistrés les états de commutation des n#uds de commutation internes dépendant des signaux d'entrée, caractérisé en ce qu'à chaque registre utile on associe un registre image permettant d'extraire l'état de commutation du registre utile, en associant en ou tre un ou plusieurs registres utiles, un registre d'activation de défauts branché sur le registre utile de fa çon telle que la sortie du registre utile soit fixée une valeur de défaut indépendamment de l'application d'un signal d'entrée provenant de celui-ci. Un tel registre d'activation de défauts associé aux différents registres utiles dans un circuit logique numé rique permet une manipulation statistique d'un circuit fabri qué pour copier les défauts provenant du procédé de fabrication et permettre de juger de la qualité des tests dans la fabrication de tels circuits intégrés. Dans des exemples de réalisation préférentiels de la présente invention, un registre d'activation dynamique de défauts est en outre associé au registre utile ainsi qu'un registre de niveau de défaut dynamique ; ces registres sont reliés au registre utile et au registre d'activation de dé fauts pour que la sortie du registre utile soit fixée pendant une durée prédéterminée au cours du fonctionnement du circuit logique numérique à une valeur de défaut, indépendamment du signal d'entrée appliqué au registre utile. Ces registres supplémentaires permettent une manipulation dynamique d'un circuit fabriqué pour copier et analyser l'influence des dif férents défauts sur le fonctionnement. La présente invention crée un dispositif d'émulation de défaut dans des circuits logiques numériques dans lesquels on associe aux noeuds internes des circuits avec des registres utiles, chaque fois un registre image. Ce re gistre image permet d'observer et de saisir le comportement interne d'un circuit, par exemple d'un circuit FPGA (Réseau de Portes à Champ Programmable) ou d'un composant PLD, par exemple au cours d'un test de prototype ou pendant un test dans le système, afin d'utiliser les données saisies au cours d'une analyse ultérieure du fonctionnement du circuit. Les registres d'activation de défauts, les regis tres dynamiques d'activation de défauts et les registres dy namiques de niveau de défauts, en plus des registres images, permettent de copier intentionnellement à la fois de tels dé- fauts engendrés dans le procédé de fabrication des circuits intégrés et de modéliser un comportement de défaut dans le circuit, qui correspond précisément aux perturbations dans les conditions d'environnement normales, comme par exemple les circuits utilisés dans l'espace, et soumis aux rayonne ments cosmiques. Le dispositif selon l'invention, pour l'émulation de défauts, offre ainsi la possibilité d'analyser en commun les défauts de développement, les défauts de fabri cation et les perturbations liées au fonctionnement normal. La nécessité de l'analyse combinée a donc pour conséquence de développer le fonctionnement d'un circuit, pour que le cir cuit assure sa fonction en mode normal tout en étant entaché d'un certain nombre de défauts de fabrication ou subissant un nombre défini de perturbations. De telles perturbations peu vent être émulées par le dispositif selon l'invention Ainsi, il est possible selon l'invention, en plus de définition librement prédéterminée des états internes du circuit ainsi que de la lecture des états internes par un ou plusieurs registres images, de positionner les défauts dans circuit logique numérique pour avoir en même temps un positionnement des défauts et un débogage du circuit Ainsi, on aura chaque fois l'état de commutation momentané regis tre utile interne par le fonctionnement en temps réel du cir cuit alors que les états des registres de positionnement des défauts résultent de défauts spécifiques qui ont éte intro duits dans le circuit en fonctionnement de configuration. Le positionnement des défauts dans le circuit est assuré par une commande qui peut activer les défauts positionnés à ins tants déterminés. Le dispositif selon l'invention est avantageux en ce qu'il permet la détection des états internes d'un circuit logique numérique en temps réel, et en même temps posi tionner les défauts de manière statistique ou dynamique dans le circuit. Le procédé est indépendant de la technique appli quée et n'est lié à aucune propriété particulière cir cuit ; les registres images intégrés dans le circuit logique numérique, les registres d'activation de défauts et les re gistres d'activation dynamique de défauts ainsi que les re- gistres dynamiques de niveau de défauts n'influencent la vitesse et le fonctionnement du circuit intégré. registres d'activation de défauts, les regis tres dynamiques d'activation de défauts et/ou les registres dynamiques niveau de défauts peuvent être combinés dans les registres images selon une chaîne de détection, de sorte que pendant un mode de configuration, certaines données soient introduites alors qu'elles sont éliminées de la chaîne de détection lorsqu'on est en dehors du mode de configura tion. Suivant d'autres caractéristiques avantageuses de l'invention # le registre image et le registre d'activation de défauts sont montés dans une chaîne de détection pour que dans un mode de configuration, des valeurs prédéfinies puissent être poussées dans le registre image et le registre d'activation de défauts, les registres d'activation dé fauts étant coupés de la chaîne de détection en dehors du mode de configuration, # à un ou plusieurs registres utiles auxquels est associé un registre activation de défauts, on associe en outre un registre dynamique d'activation de défauts et un registre dynamique niveau de défauts, reliés au registre utile et au registre d'activation de défaut pour que la sortie du registre utile soit fixée pendant une durée prédétermi née, de préférence pendant le fonctionnement du circuit logique numérique, sur une valeur de défaut indépendamment du signal d'entrée appliqué au registre utile, # le registre dynamique d'activation de défaut définit si la sortie du registre utile doit être maintenue à une valeur de défaut définie par le registre dynamique de niveau de défaut, # le registre dynamique d'activation de défaut et le regis tre dynamique de niveau de défaut sont prévus dans une chaîne de détection pour que dans un mode de configuration de défaut dynamique, des valeurs prédéfinies puissent être introduites dans ceux-ci, le registre dynamique d'activa tion de défaut et le registre dynamique de niveau de dé- faut étant coupés de la chaîne de détection en dehors du mode de configuration dynamique de défaut, un registre image et/ou le registre dynamique d'activation de défaut et/ou le registre dynamique de niveau de défaut sont en forme de mémoires FIFO. La présente invention sera décrite ci-après de manière plus détaillée à l'aide d'exemples de réalisation re présentés dans les dessins annexés dans lesquels la figure 1 est un schéma de l'ensemble d'une cellule com portant le registre utile d'un n#ud d'un circuit logique numérique et un exemple de réalisation préférentiel du dispositif de l'invention, la figure 2 est un schéma montrant comment un registre utile d'un circuit logique numérique est remplacé par une cellule globale, les figures 3a, 3b sont des schémas explicitant comment le dispositif selon l'invention est impliqué dans l'émulation de défauts d'un circuit de débogage, la figure 4 est un schéma montrant un circuit utile portant un circuit de débogage/émulation de défauts, # les figures 5a-5c sont des schémas décrivant l'enre gistrement d'états de commutation prédéterminés d'un - gistre utile d'un circuit logique numérique en fonction d'un registre image, les figures 6a-6c sont des schémas décrivant la lecture des états du circuit d'un registre utile dans un circuit logique numérique en fonction d'un registre image, les figures 7a-7c sont des schémas décrivant une émulation statistique de défauts, # les figures 8 et 9 sont des schémas qui, combinés à la - gure 1, servent à décrire une émulation dynamique de dé fauts. La figure 1 montre un exemple de réalisation d'une cellule globale remplaçant, dans un circuit logique nu mérique, un registre utile pour implémenter un dispositif se lon l'invention de simulation de défauts. Selon la figure 1, la cellule globale comprend un registre utile R1, un registre image R2, un registre d'activation de défauts R3, un registre d'activation dynamique de défauts R4 et un registre dynamique de niveaux de défauts R5. Ces registres ont une structure identique selon un exemple préférentiel de l'invention et peuvent être constitués par des bascules Flip-Flop D. Les re gistres R1-R5 sont reliés par des démultiplexeurs MUX1-MUX6 un signal d'entrée d, à un signal de sortie q, à une entrée de chaîne de détection scan i, à une sortie de chaîne de dé tection scan o et à un nombre de signaux de commande Fsim e, Cpt e, DFS upd, DFS e, Set e, Scan e, de façon que la cellule globale puisse réaliser les fonctions de l'émulateur de dé fauts selon l'invention. En d'autres termes, la figure 1 montre une cel lule de l'emulateur de défauts selon l'invention remplaçant chaque fois un élément de mémoire du circuit utile. Tous registres nouveaux, introduits, sont accessibles pour une commande de l'émulateur de défauts, par exemple par l'intermédiaire d'une ou plusieurs chaînes à décalage, sépa rées ; à la figure 1, le segment (scan i...scan-o) associé à une cellule représente uniquement une chaîne à décalage. Le registre utile R1 assure la fonction du registre utile d'origine dans le circuit utile et il est commandé par l'horloge . Pour ne pas gêner le fonctionnement du circuit, ce registre n'est pas intégré dans une interface de contrôle pour commander l'émulateur-débogueur, dans l'exemple ci- dessus dans la chaîne de détection. Le registre image R2 sert à émuler en continu pour l'analyse de défauts comme cela sera décrit ci-après à l'aide des figures 3a et 3b. La commande du circuit débogueur assure le transfert du contenu du registre utile Rl dans le registre image R2 par 1e signal de commande Cpt e de sorte que l'état du circuit du registre utile RI est lu et mémorisé par le registre image R2 et l'interface de commande, par la chaîne de détection scan i...scan o dans l'exemple de réalisation représenté. De plus, par le registre d'image R2, on peut initialiser le registre utile RI par le signal de commande Set -e avec une valeur définie par l'utilisateur. Le registre d'activation de défauts R3 sert alors à positionner un défaut dans le registre utile RI. Pour cela, par l'interface de commande, la commande peut extraire dans le registre d'activation de défauts R3 une valeur qui con trôle si le registre Ri fonctionne normalement ou si un dé faut a été activé. Cet enregistrement du positionnement du défaut se produit ainsi dans un mode de configuration avant l'émulation de défauts proprement dite, étant remarque que le circuit utile ne peut fonctionner sans perturbations pendant le positionnement de défauts dans le circuit. L'activation d'un défaut signifie que le registre utile Rl conserve son contenu, par exemple selon la figure 1 par 1e couplage de réaction 2 et par l'élément amont MUX2, et qu'il isolé par l'entrée de données (d) proprement dite. Le registre d'activation de défauts R3 sert à émuler des dé fauts statistiques, alors que pour l'émulation de défauts dy namiques, c'est-à-dire pendant le fonctionnement systematique normal du circuit, pour positionner et activer ou désactiver de nouveaux défauts à des instants quelconques à des posi tions quelconques, en plus à la fois le registre dynamique d'activation de défauts R4 et le registre dynamique de niveau de défauts R5 sont nécessaires. I1 est à remarquer ici que dans exemples de réalisation de l'invention, qui doivent assurer uniquement une émulation statistique de défauts, le registre d'activation de défauts R3 est suffisant alors que dans les variantes de réalisation qui doivent en outre assu rer une emulation dynamique de défauts, il faut prévoir éga lement les deux registres R4 et R5. Avant de décrire de manière plus détaillée la construction précise de la cellule globale et son fonctionne ment en reportant aux figures 1 et 5 à 9, on décrira le montage du dispositif d'émulation de défauts selon l'invention dans un système de circuit débogueur. Selon la figure 2, et comme cela a déjà été évo qué ci-dessus en référence à la figure 1, pour réaliser le dispositif d'émulation de défauts selon l'invention, on rem place le registre utile R1 avec une entrée de signal (d), une sortie de signal (q) et une entrée d'horloge C, par une cel lule globale Z, comportant une entrée de signal (d), une sor tie de signal (q), une entrée d'horloge C1, une entrée d'horloge C2 et recevant les signaux de commande évoqués ci- dessus propos de la figure 1. L'entrée d'horloge C2 sert à commander en cadence les registres R2-R5 par la chaîne de dé tection formée. Si pour des registres différents R2, on a des chaînes de détection différentes, on peut également com mander les registres avec des horloges différentes. Selon les figures 3a et 3b on décrira ci-après la relation et la situation de l'émulateur de défauts selon l'invention dans le système global d'un circuit débogueur. La figure 3a montre l'environnement 10 du système concerné par le DUT 12 à tester. Le DUT 12 est relié à l'environnement 10 du système par une interface 14 transmet tant les signaux d'entrée et de sortie échangés entre DUT et l'environnement du système. Le DUT est en outre relié par une interface circuit débogueur/émulateur 16 à une commande 18 pour le circuit débogueur/émulateur ; la commande 18 est elle-même reliée à une mémoire 20. La figure 3a montre en ou tre schématiquement une partie 22 du DUT qui contient les composants du circuit débogueur/émulateur de défauts du DUT. Ces composants correspondent par exemple aux registres R2-R5 de la figure 1. La commande 18 fournit les signaux de com mande nécessaires comme ceux montrés par exemple à la figure 1, permettant un fonctionnement continu du circuit débogueur, ainsi que les signaux de commande nécessaires à l'émulation de défauts. Pour le mode de recherche de défauts exécuté en continu, la commande 18 extrait de préférence de manière cy clique tous les états de commutation internes du DUT 12 par le registre image et enregistre ces états dans la mémoire 20. La commande 18 est également reliée par une interface hôte 24 à un ordinateur 26 qui, à partir des diagrammes d'états de commutation du DUT 12 tels que saisis par la commande 18 et enregistrés dans la mémoire 20 ainsi que des vecteurs des si gnaux d'entrée saisis, est en mesure d'exécuter une simula tion programmée du comportement du DUT 12. Le modèle de commutation pour la simulation de programme dans l'ordinateur 26 existe de préférence comme liste de réseaux de portes, de sorte que les diagrammes d'états de commutation, enregistrés dans la mémoire 20 et lus par la commande 18, puissent être utilisés sans transformation pour la simulation par l'ordinateur hôte 26. Selon la figure 3b, on décrira un exemple de pro cédé de circuit débogueur, travaillant en continu avec la si mulation de programme suivante. L'axe de la partie superieure de la figure 3b correspond à l'axe du temps réel alors que l'axe inférieur correspond à un temps de simulation virtuel. Le DUT 12 fonctionne en temps réel par application de signaux d'entrée par l'interface 14 qui peuvent représenter in fluence de l'environnement du système sur le DUT 12. Pendant le fonctionnement du DUT 12, qui peut être par exemple un FPGA ou un PLD, on extrait les états de commutation de tous les noeuds de commutation internes du DUT 12, de manière cy clique par le circuit 30 ; cela est indiqué par la flèche 31 la figure 3b. Le circuit 30 est relié par une interface 32 au DUT 12. Bien que le circuit 30 et le DUT 12 soient repré sentés à la figure 3b comme séparés par une interface 32, une partie du circuit 30, à savoir au moins le registre image de celui-ci, est formée sur le circuit intégré correspondant au DUT 12. Le fonctionnement du circuit logique, par exemple par l'exécution d'un test de prototype ou d'un test dans le sys tème, se poursuit pendant le fonctionnement du circuit débo- gueur, jusqu'à l'instant t1 lorsque se produit un état de défaut 33 dans le DUT 12. Cet état de défaut 33 représente une condition d'interruption. Lorsque se produit une telle condition d'interruption 33, en fonction des états de circuit extraits cycliquement à partir du circuit débogueur 30 et des signaux d'entrée fournis au DUT 12, on exécute une simulation de pro gramme pour chercher les causes de l'état de défaut 33. Le transfert des données évoqué ci-dessus est représenté schéma tiquement à la figure 3b par une flèche 34. On remarque ici que les opérations représentées au-dessus de la flèche 34 correspondent à un environnement en temps réel, alors que les opérations représentées sur l'axe des temps, en dessous de la flèche 34, représentent un temps de simulation virtuel. Comme cela apparaît à la figure 3b, pour la simu lation, pour trouver la cause du défaut, on revient en ar rière l'instant t1 vers l'instant t2 pour commencer simulation à cet instant t2. L'intervalle de retour est préférence choisi pour que le diagramme d'états de commuta tion memorisés à l'instant t2 indique un fonctionnement cor rect DUT. Ainsi, on a un intervalle de simulation programme 35 pour l'analyse de la cause du défaut. Cet inter valle commence à l'instant t2. La consommation d'intervalles pour procédé d'analyse de la cause de défauts qui commence après la saisie de l'état de défaut 33, est ainsi raccourcie considérablement. Comme l'indique schématiquement la flèche 34, données lues de manière cyclique sont utilisées pour une analyse suivante du comportement de commutation ; les états internes du circuit décrivent le comportement interne du 12, alors que les signaux d'entrée représentent données l'environnement conduisant au comportement obser vé. La recherche de défauts qui se poursuit en conti nu par lecture cyclique du registre image dans la mémoire 20 offre la possibilité d'analyser les causes d'erreurs de manière très rapide car partant de défauts produits on peut revenir un temps prédéterminé pour effectuer alors la simu lation de programme à partir du diagramme d'états de commuta tion memorisés à cet instant et des vecteurs de signaux d'entrée correspondants. Le dispositif d'émulation de défauts selon l'invention est réalisé alors par le registre d'activation de défauts R3, le registre dynamique d'activation de défauts R4 et le registre dynamique de niveau de défaut R5 dans le seg ment circuit débogueur/émulateur prévu sur le DUT 12. Les signaux de commande nécessaires à l'émulation de défauts, et qui seront détaillés ultérieurement, sont fournis de pré férence une commande commune 18 de l'émulateur/circuit débogueur. En variante, à l'exemple de réalisation décrit a l'aide de la figure 3a, on peut prévoir d'autres composants du dispositif de recherche de défauts et d'émulation, par exemple la mémoire RAM 20, les éléments de base de la com- mande 18 ou l'ensemble de la commande 18 selon les conditions d'encombrement de la platine du DUT 12. I1 est remarquer que d'autres composants équipant la platine du circuit du DUT 12 peuvent offrir des avantages à 1 a lecture du registre du circuit grâce à des temps de passage plus courts des si gnaux ; toutefois, la place limitée, disponible sur la pla tine, peut conduire à une capacité limitée de la mémoire 20. La figure 4 montre schématiquement le câblage de plusieurs cellules globales Z selon l'invention dans une chaîne de détection 40. Selon la figure 4, la commande 18 fournit le jeu de signaux d'entrée décrit par exemple en ré férence la figure 1 par l'intermédiaire des lignes de com mande 42 vers les branchements correspondants des cellules globales Z qui peuvent également être appelées cellules de débogage/émulation. Il est à remarquer que les cellules glo bales Z sont représentées à échelle agrandie pour être plus claires la figure 4 ; l'agrandissement respectif est sché matisé par une loupe. Comme cela apparaît à la figure 4, les cellules globales Z sont combinées dans une chaîne de détec tion et les entrées de détection respectives des cellules globales de la figure 4 portent la référence 44 ; les sorties de détection des cellules globales à la figure 4 portent la référence 46. Chaque cellule globale reçoit un signal utile (d) et fournit en sortie un signal utile (q) vers un circuit utile comme l'indique schématiquement la double flèche 48 à la figure 4. Selon la figure 4, l'entrée et la sortie de la chaîne de détection sort reliées à la commande 18. La com mande 18 est elle-même reliée par interface à une mémoire et/ou un ordinateur hôte comme cela est indiqué schématique ment par la flèche 50 à la figure 4. Le cadre 52 de la figure 4 montre le circuit utile formé par les différents registres utiles appartenant à la cellule globale Z. Les cellules utiles Z décrites ci-dessus fournis sent ainsi aussi bien la possibilité d'une recherche continue de défauts de circuit par la lecture cyclique des états de commutation internes du DUT, qu'une émulation simultanée des défauts par une commande correspondante des registres d'activation de défauts, des registres dynamiques d'activa- tion de défauts et des registres dynamiques de niveaux de dé fauts selon l'invention. Après avoir décrit la situation de l'émulateur de défauts selon l'invention dans le circuit dé- bogueur, on décrira ci-après en se référant aux figures 1, 5, 6, 7, 8, la fois la structure et le fonctionnement de l'exemple de réalisation préférentiel d'une cellule globale représentant un dispositif selon l'invention émulation de défauts. Il est à remarquer que la description suivante se rapporte uniquement à un exemple de réalisation envisagé ici de manière préférentielle d'un dispositif d'émulation de dé fauts ; il est clair pour les spécialistes que l'on peut avoir des variantes de circuits assurant la fonction du dis positif d'émulation de défauts selon l'invention. Selon la figure 1, la cellule globale de l'exemple de réalisation préférentiel comprend le registre utile R1, le registre image R2, le registre activation de défauts R3, le registre dynamique d'activation de défauts R4 et le registre dynamique de niveau de défauts R5. On a en ou tre six démultiplexeurs MUXl-MUX6 reliant les registres Rl-R5 aux signaux de commande d'une chaîne de détection et aux si gnaux d'entrée et de sortie, pour assurer la fonctionnalité selon l'invention. Dans le détail, l'entrée de données 100 du registre utile Rl est reliée à la sortie de données du démul- tiplexeur MUX2. La sortie de données 104 du registre utile Rl est reliée par le chemin de réaction 2 à une entrée de don nées de MUX2, par une ligne 106 à une entrée de données du démultiplexeur MUX1, et en outre à la sortie de données (q) de la cellule globale. L'entrée de données 108 du registre image R2 est reliée à la sortie de données du démultiplexeur MUX1. La sortie de données 112 du registre image R2 est re liée chaque fois à une entrée de données des démultiplexeurs MUX1, MUX2, MUX3, MUX4. L'entrée de données 114 du registre d'activation de défauts R3 est reliée à la sortie de données du démultiplexeur MUX3. La sortie de données 116 du registre d'activation de défauts R3 est reliée chaque fois à une en trée de données du démultiplexeur MUX3 et MUX4 ainsi qu'à une entrée de commande du démultiplexeur MUX2. Il est à remarquer ici que les bornes appelées chaque fois entrées de données des démultiplexeurs sont dans les dessins, des bornes prévues sur le grand coté gauche des démultiplexeurs. Au contraire, les entrées de commande des démultiplexeurs sont prévues cha que fois sur le petit côté du démultiplexeur. L'entrée de données 118 du registre dynamique d'activation défauts R4 est relié à la sortie de données du démultiplexeur MUX5. La sortie de données 120 du registre dynamique d'activation de défauts R4 est reliée aux entrées de données des démultiplexeurs MUX3, MUX4, MUX5 ainsi qu' une entrée de commande du démultiplexeur MUX2. L'entrée de données 122 du registre de niveau de défauts R5 est reliée la sortie de données du démultiplexeur MUX6. La sortie de données 124 du registre R5 est reliée à une entrée de données respective des démultiplexeurs MUX2, MUX5, MUX6. L'entrée de données (d) de la cellule globale est reliée à une entrée de données du démultiplexeur MUX2. L'entrée de la chaîne de détection scan i de la cellule glo bale est reliée à une entrée de données de MUX1 et à une en trée de données de MUX6. La sortie de la chaîne de détection scan o est reliée à la sortie de données du démultiplexeur MUX4. Le signal de commande Fsim e est relié aux en trées de commande respectives des démultiplexeurs MUX1, MUX2, MUX4. Le signal de commande Cpt e est relié à une entrée de commande de MUX1. Le signal de commande DFS upd est relié une entrée de commande de MUX3 et à une entrée de commande de MUX4. Le signal de commande DFS e est relié aux entrées de commande respectives des démultiplexeurs MUX1, MUX3, MUX4, MUX5, MUX6. Le signal de commande Set e est relié à une en trée de commande du démultiplexeur MUX2. Le signal de com mande scan e est relié aux entrées de commande respectives des démultiplexeurs MUX1, MUX2, MUX3, MUX5, MUX6. Pour décrire le fonctionnement du circuit repré senté à la figure 1, on se reportera aux différents modes de fonctionnement du circuit qui seront décrits ci-après selon les états de fonctionnement. Les figures 5b, 6b et 7b ne re présentent que les éléments et les lignes nécessaires à la description du mode de fonctionnement respectif, les autres éléments étant supprimes pour simplifier le dessin. Les figu res 5a, 6a, 7a et 8 montrent des diagrammes d'états indiquant le passage dans les différents états pour différentes occupa tions des signaux de commande. Les figures 5c, 6c, 7c et 9 décrivent les états dans lesquels se trouve le circuit ainsi que les signaux de sortie des démultiplexeurs respectifs cor respondant aux différents états. Dans la mesure où la des cription suivante n'évoquera pas certains états ou certaines occupations de signaux, qui ne sont pas nécessaires pour la compréhension du fonctionnement du circuit, on se reportera aux diagrammes d'états et aux tableaux évoqués dans les figu res ci-dessus. Selon les figures 5a-5c on décrira un mode de fonctionnement mise ' l'état servant à mettre le circuit utile dans un état prédéterminé. Cela signifie que tous les registres utiles R1 peuvent être mis dans un état prédéfini. Pour cela on met tout d'abord le signal de commande Scan e à l'état 1 pour que le démultiplexeur MUX1 commute l'entrée de la chaîne de détection scan i sur sa sortie pour décaler 1 a valeur prédéfinie dans le registre image R2 ; cela se fait à la fréquence d'horloge C2. Cet état 200 est représenté à la figure 5a par la désignation Scan in . L'occupation du re gistre R2 peut se faire par une chaîne de détection série, comme le montre la figure 4, qui contient toutes ou certaines des cellules d'émulateurs. On peut également envisager des structures de bus ou d'autres mécanismes pour occuper les re gistres images R2 avec les valeurs correspondantes. Si les registres images R2 sont occupés par les valeurs correspondantes, le fonctionnement passe à un état 200 appelé état de mise à l'état (Set) et pour cela le signal de commande Scan e est mis à l'état 0 alors que le si gnal de commande Set e est mis à l'état 1 comme cela apparaît dans le diagramme d'états de la figure 5a. Dans cette situa tion, comme cela apparaît à la figure 5c, le démultiplexeur MUX2 commute l'entrée de données reliée à la sortie de don nées du registre d' image R2 à son entrée pour que la valeur mémorisée dans le registre d'image R2 puisse être lue dans le registre utile Rl. Le registre utile Rl est ainsi chargé avec une valeur prédéfinie ; puis le fonctionnement passe à l'état 204 appelé état sim , dans lequel le signal de commande Set -e est mis à l'état 0. L'état sim 204 représente ainsi le fonctionnement normal du circuit utile d'une émulation de défauts ou d'un circuit débogueur. Tous les autres signaux de commande de la cellule globale représentée à la figure 1 restent inactifs dans ce mode de fonctionnement, c'est-à-dire que ces signaux conser vent polarité choisie pour laquelle l'état 1 indique un signal actif alors que l'état 0 indique un signal désactivé. Selon les figures 6a-6c on décrira ci-après un mode fonctionnement de débogage pendant que le registre utile fonctionne de manière non perturbée dans des conditions normales. Dans le mode de fonctionnement de débogage, les états commutation respectifs du registre utile sont lus dans registre image. Selon la figure 6a, la référence 206 montre que le mode de débogage est usuellement précédé un mode de mise a l'état comme cela a été décrit ci-dessus. Pour le mode de débogage il faut un signal de commande supplémentaire Ctp e qui est mis à un niveau actif à partir fonctionne ment normal (état sim 204) ; puis on passe à état de sai sie 208. Par l'activation du signal de commande Cpt e , le démultiplexeur MUX1 commute son entrée de données reliée à la sortie de données du registre utile Rl sur sa sortie, de sorte que l'information enregistrée dans le registre utile R1 est chargée par le flanc suivant du signal d'horloge C2 dans le registre image R2. Puis le signal de commande Cpt e est désactivé et le signal Scan e activé, de sorte l'on passe dans un état de détection 210 désigné par Scan-out . Dans cet état de fonctionnement 210, le contenu du registre image R2 est détecté par la chaîne de détection et ' est enregis tré par exemple dans la mémoire RAM 20, comme cela a été dé crit '-dessus en relation avec la figure 3a. Ces opérations s'effectuent sans influencer le circuit utile. Tous les si gnaux commande qui ne participent pas au mode de fonction nement débogage sont supposés être à l'état 0. Le mode de fonctionnement débogage represente ainsi la lecture cyclique des états de commutation des n#uds internes d'un circuit logique numérique. Comme cela apparaî tra clairement ci-après, ce mode de fonctionnement débogage peut être exécuté sans être perturbé par l'émulation dé fauts selon l'invention. Selon les figures 7a-7c, on décrira ci-après un premier exemple de réalisation d'une émulation de défauts se lon l'invention qui se rapporte à une émulation d'un défaut statistique. Pour l'émulation d'un défaut statistique (comme le montre la figure 7b), on a en plus besoin du registre d'activation de défauts R3 et de deux autres démultiplexeurs MUX3, MUX4. Les défauts statistiques sont localisés par le registre d'activation de défauts R3 avec l'émulation propre ment dite dans le circuit ; cela se fait par un mode de fonc tionnement de mise à l'état (Set) comme l'indiquent les états 212, 214 de la figure 7a. La figure 7b montre un circuit dans lequel les registres R2, R3 sont combinés selon une chaîne de détection pour avoir une configuration simultanée des regis tres R1, R3 avec une valeur définie par l'utilisateur pendant mode de fonctionnement mise à l'état (Set) car le si gnal de commande Scan e est activé pendant l'état 212 (Scan in) dans les entrées de commande des trois démultiplexeurs MUX1-MUX3. Dans l'état Set suivant, 214, la valeur mémorisée dans le registre image R2 est enregistrée dans le registre utile R1 pour activer le signal de commande Set e. Ainsi, le registre d'activation de défauts R3 contient une valeur indi quant si, lors d'une émulation ultérieure, il faut émuler un défaut dans le registre utile Rl, ce qui, dans l'exemple de realisation représenté, est le cas si le registre d'acti vation de défauts R3 contient en mémoire un état 1, car dans ce cas le démultiplexeur MUX2 est commandé par la sortie du registre d'activation de défauts R3 pour mettre son entrée de données reliée à la sortie du registre utile Rl, sur sa sor tie de données. Ainsi, le registre utile Rl est bloqué sur une valeur de défaut fixe par sa ligne de réaction 2 et le démultiplexeur MUX2. A partir du mode de fonctionnement Set, qui con tient les états 212, 214, on passe au fonctionnement à l'état sim 216 par lequel l'émulation de défauts commence par la mise l'état du signal fsim e. Si la commande activee par le signal de commande Cpt-e déclenche une lecture cyclique, c'est-à-dire un mode de fonctionnement débogage, les états de saisie et Scan-Out 218, 220 sont exécutés ; ces états corres pondent principalement aux états 208, 210 décrits '-dessus dans lesquels les contenus respectifs des registres utiles sont lus par l'intermédiaire des registres images et de la chaîne de détection. Après la lecture des registres images à l'état 220, le fonctionnement par désactivation du signal de commande Scan e passe de nouveau à l'état sim 216 ; puis, à partir de cet état, par l'activation du signal Cpt_e, on peut obtenir de nouveau un instantané des états de commutation in ternes. Le chargement des registres R1, R3 avec des va leurs définies par l'utilisateur (comme cela a été décrit ci- dessus pour les états 212, 214) peut être considéré comme un mode de fonctionnement de configuration. A la fin de ce mode de configuration, par activation du signal de commande Fsim e, la sortie du registre image R2 est commutée par le démultiplexeur MUX4 directement sur la sortie de chaîne de détection scan o, si bien que pendant les états 216, 218, 220, le registre d'activation de défauts R3 est dégagé de la chaîne de détection. Le démultiplexeur MUX4 représente ainsi un élément de commutation pour la commutation interne de la chaîne de détection, pour raccourcir de nouveau la chaîne de détection pour le mode débogage, c'est-à-dire la lecture cy clique des états de commutation du registre utile, pour obte nir uniquement l'élément image R2. Comme cela apparaît dans le tableau de la figure 7c pour MUX2, il y a dans ce cas une émulation de défauts de sorte qu'en fonction de la valeur enregistrée dans le regis tre d'activation de défauts R3, par l'intermédiaire du démul- tiplexeur MUX2, soit le signal d'entrée (d) est transmis en cadence dans le registre utile R1, soit le registre est main tenu à une valeur de défaut par la ligne de réaction 2 si la valeur enregistrée dans le registre d'activation de défauts R3 est égale à 1. A côté du montage de la figure 7b de la chaîne de détection, il existe des variantes de montage des cellules d'émulateur entre elles et avec la commande pour realiser la fonction de l'invention. Par exemple, on peut ne conserver que registre image dans une chaîne de détection et alors dans une première étape on positionne 1a valeur de l'initialisation du registre utile dans le circuit. Dans une seconde étape, on peut alors régler précisément l'initialisation pour le registre d'activation de defauts R3. De nouveau, en variante, on peut rendre accessible simultané ment deux registres par des accès séparés la com mande ; cela peut par exemple se faire par deux chaînes de détection distinctes. Dans l'exemple de réalisation décrit ci-dessus, on a choisi un chemin intermédiaire selon lequel les deux registres R2, R3 sont intégrés dans chaîne de détection ; toutefois, on peut exclure le registre d'activation de défauts R3 en mode de débogage, de la chaîne de détection, de sorte que la lecture du registre image R2 n'allonge pas le temps nécessaire pour qu'ainsi le temps en tre deux incursions successives de l'état de commutation pen dant le mode de débogage ne soit pas augmenté. L'émulation décrite ci-dessus de défaut statisti que peut se faire en parallèle à un procédé de débogage sans perturber celui-ci tout en permettant d'émuler des défauts variables pendant le procédé de débogage. Pour permettre une telle émulation de défaut dy namique, dans l'exemple de réalisation préférentiel de la présente invention, comme cela est représenté à la figure 1, on peut prévoir le registre dynamique d'activation de défauts R4, supplémentaire, ainsi que le registre dynamique de niveau de défauts R5, supplémentaire. Le fonctionnement du circuit comprenant ces deux registres supplémentaires sera décrit ci- après à l'aide des figures 1, 8 et 9. Dans l'émulation dynamique, pour chaque registre utile on peut positionner à la fois une nouvelle valeur de défaut dans le registre dynamique de niveau de défauts R5 ainsi qu'un signal d'activation dynamique de défauts dans le registre dynamique d'activation de défauts R4. Un signal de commande DFS upd valide le nouveau positionnement de défaut lorsque ce signal est activé. Lorsque ce signal de commande DFS upd est activé, le registre utile Rl prend la nouvelle valeur de défaut du registre R5 si la valeur mémorisée dans le registre dynamique d'activation de défauts R4 indique qu'il faut activer un nouveau positionnement de défaut. Le contenu du registre d'activation dynamique de défauts R4 est alors transmis au registre R3 pour activer ce positionnement de defaut. Pour ne déranger ni le mode normal ni le posi tionnement actuel de défaut, on commute la chaîne de détec tion dans l'exemple de réalisation représenté à la figure 1 par signal DFS e de façon à charger un nouveau positionne ment de défaut dans les registres R4, R5, sans modifier le registre utile Rl et les registres R2, R3. De plus, le posi tionnement de défaut se compose principalement d'une valeur de défaut sur laquelle reste le registre utile R1. De même, il est important de connaître l'information selon laquelle un défaut doit être activé pour la cellule concernée, c'est-à- dire le registre utile R1 concerné ou si le registre utile doit fonctionner en mode normal. A la base, pour une émula tion de défaut dynamique, il est en outre nécessaire que de nouveaux positionnements de défaut puissent être introduits pendant le fonctionnement du circuit utile, c'est-à-dire du circuit DUT, sans perturber le fonctionnement normal sans qu'un défaut localisé déjà ne soit modifié provisoirement et, de préférence, sans interrompre l'opération de débogage. En principe, il faut avoir un accès séparé de la commande vers les registres R4, R5. Cela peut se réaliser, d'une part, par un accès totalement séparé ou, comme dans l'exemple de réali sation de la figure 1, par un câblage correspondant de la chaîne de détection. Selon la figure 8, l'émulation d'un défaut dyna mique commence par l'initialisation du circuit, c'est- -dire la mise à l'état de valeurs de départ pour le registre utile et le positionnement initial de défaut dans les états 222 (Scan in) et 224 (Set), correspondant aux états 212, 214 de la figure 7a. Après ce mode de configuration, on a de nouveau le cycle recherche de défaut et émulation correspondant l'état 226 la figure 8 et désigné de nouveau par état sim . Partant de cet état 226, la figure 8 montre de nou veau la lecture cyclique des états de commutation internes par les états 228, 230 correspondant principalement aux états de fonctionnement 218, 220 de la figure 7a. En variante à cette lecture dans les états 228, 230, on peut également effectuer un nouveau positionnement de défaut qui commence par la mise à l'état du signal de com mande DFS e pour passer à l'état 232 appelé scan in fp . Dans cet état, par la chaîne de détection, dans laquelle sont commutés les registres R4, R5, on charge des valeurs définies par l'utilisateur dans ces registres. Les registres R1-R3 restent ainsi inchangés. Après l'enregistrement de nouveaux positionnements de défaut dans les registres R4, R5 dans l'état de fonctionnement 232, on passe à l'état 234 portant la dénomination update , dans lequel le signal de commande DFS upd est mis à l'état. On active ainsi le nouveau posi tionnement de défaut enregistré précédemment. Comme on n'utilise dans l'exemple de réalisation représenté à la figure 1 qu'une seule chaîne de détection entre les cellules du circuit débogueur/émulateur et le dis positif de commande, on peut effectuer le nouveau positionne ment des défauts par le parcours des états 232, 234, seulement en variante de l'exécution d'une lecture par le passage dans les états 228, 230. I1 est toutefois évident qu'en prévoyant des accès séparés aux registres R4 et R5, on peut avoir un passage simultané dans les états saisie 228 et scan in fp 232 si la commande et les interfaces sont réalisées de manière appropriée. La présente invention développe ainsi un disposi tif d'émulation de défauts permettant simultanément une ana lyse de défaut par circuit, par l'extraction cyclique d'états de commutation internes par des registres images avec une émulation de défauts des nceuds internes au circuit. Le dispo- sitif selon l'invention permet à la fois le positionnement de défauts statistiques et celui de défauts dynamiques. L'exemple de réalisation ci-dessus de la présente invention a été décrit en se référant à des registres images ou des registres de positionnement de défauts comportant un niveau FIFO égal à l'unité. En variante, il est possible de réaliser notamment les registres R2, R4, R5 par des registres ayant niveau FI FO plus élevé, permettant l'émulation de défauts dynamiques selon laquelle les différents défauts ne sont positionnés que pendant une durée brève dans une cellule comme cela apparaît clairement dans les explications suivan tes. Si l'on configure le registre image R2 comme un registre unique avec un niveau FIFO égal à l'unité, on ne peut extraire que dans chaque seconde cadence du registre, une valeur du circuit alors qu'à partir d'un niveau FIFO égal à 2, peut extraire à chaque cadence C2, une valeur du cir cuit et la fournir à la commande. Cela permet une observation du circuit sans intervalle. Dans une réalisation du registre dynamique d'activation de défauts R4 avec un niveau FIFO égal à l'unité, on ne peut enregistrer en continu que informa tions indiquant si un nouveau défaut doit être activé pour une activation globale de l'émulation de défauts ou si la cellule doit fonctionner normalement. Si ce registre R4 est au contraire configuré comme une mémoire FIFO, émettant en continu les informations mémorisées pour une émulation active de défauts, il est possible d'activer des défauts pendant une durée prédéterminée puis de les désactiver de nouveau, indé pendamment des autres cellules de circuit débogueur et d'émulation. Pour un niveau FIFO égal par exemple quatre et en remplissant ce registre FIFO avec la séquence [1,1,1,0], on peut obtenir qu'après l'activation de l'émulation de dé fauts, pour trois cadences de cellules C2 on met en mémoire un état 1 dans le registre R3, ce qui dans l'exemple de réa lisation représenté signifie l'activation du défaut. L'état 0 inscrit dans la cadence suivante, et qui représente une dés- activation du défaut, commute ainsi le défaut en l'excluant de nouveau pour trois cadences. De façon comparable au registre R4, on peut éga lement enregistrer, dans le registre R5, une séquence de ni veaux défauts si le registre R5 est une mémoire FIFO. Dans chaque cadence on a la possibilité de régler le registre sur une valeur définie. Cela permet, d'une part, de créer sé quence niveaux différents de défauts. D'autre part même dans le circuit, on peut générer une séquence de simulations de parties de circuit en série. De cette manière, peut également simuler des parties de circuit définies à l'intérieur du circuit utile. R E V E N D I C A T I 0 N S 1 ) Dispositif d'émulation de défauts dans des circuits logi ques numériques (12) comprenant plusieurs registres utiles (R1) associés à des n#uds internes au circuit, dans lesquels sont enregistrés les états de commutation des n#uds de commu tation internes dépendant des signaux d'entrée, caractérisé en ce qu' à chaque registre utile (R1) on associe un registre image (R2) permettant d'extraire l'état de commutation du registre utile ), en associant en outre à un ou plusieurs registres utiles (R1) un registre d'activation de défauts (R3), branché sur le registre utile (R1) de façon telle que la sortie du registre utile (R1) soit fixée à une valeur de défaut indé pendamment de l'application d'un signal d'entrée provenant de celui-ci. 2 ) Dispositif selon la revendication 1, caractérisé en ce que le registre image (R2) et le registre d'activation de défauts (R3) sont montés dans une chaîne de détection (40), de façon telle dans un mode de configuration, des valeurs prédéfi- nies puissent être poussées dans le registre image (R2) et le registre d'activation de défauts (R3), les registres d'activation de défauts (R3) étant coupés de la chaîne de dé tection (40) en dehors du mode de configuration. 3 ) Dispositif selon l'une quelconque des revendications ou 2, caractérisé en ce qu' à un ou plusieurs registres utiles (R1) auxquels est associe un registre d'activation de défauts (R3), on associe en outre un registre dynamique d'activation de défauts (R4) et un re gistre dynamique de niveau de défauts (R5), reliés au regis tre utile (R1) et au registre d'activation de défaut (R3) pour que la sortie du registre utile soit fixée pendant une durée prédéterminée, de préférence pendant le fonctionnement du circuit logique numérique (12), sur une valeur de défaut indépendamment du signal d'entrée appliqué au registre utile (R1) . 4 ) Dispositif selon la revendication 3, caractérisé en ce que le registre dynamique d'activation de défaut (R4) définit si la sortie du registre utile (R1) doit être maintenue à une valeur de défaut, définie par le registre dynamique de niveau de défaut (R5). Dispositif selon l'une quelconque des revendications 3 4, caractérisé en ce que le registre dynamique d'activation de défaut ) et le re gistre dynamique de niveau de défaut (R5) sont prévus dans une chaîne de détection (40) pour que dans un mode de confi guration dynamique de défaut, des valeurs prédéfinies puis sent être introduites dans ceux-ci, le registre dynamique d'activation de défaut (R4) et le registre dynamique de ni veau de défaut (R5) étant coupés de la chaîne détection (40) en dehors du mode de configuration dynamique de défaut. Dispositif selon l'une quelconque des revendications 1 5, caractérisé en ce qu' un registre image (R2) et/ou le registre dynamique d'activation de défaut (R4) et/ou le registre dynamique de niveau de défaut (R5) sont en forme de mémoires FIFO.