FR 2990764 A1 20131122 FR 1254611 A 20120521 DISPOSITIF DE TEST ET DE SURVEILLANCE OU MONITORING DE CIRCUITS NUMERIQUES L'objet de l'invention concerne un dispositif pour le test et le monitoring de circuits numériques séquentiels, le dispositif étant inséré, par exemple, dans une chaîne d'observation et contrôle ou « chaîne de scan », avec un impact minimal sur la latence de ces circuits. Les dispositifs selon l'invention permettent d'éviter l'utilisation des bascules scan standard, connues de l'Homme du métier, sur des chemins critiques. L'expression « chemin critique » dans la présente description désigne un chemin électrique entre une bascule ou une entrée primaire et une autre bascule ou une sortie primaire qui se distingue par le fait que la latence de propagation des signaux électriques qui parcourent le chemin correspond à une des plus grandes latences qui caractérisent les chemins électriques d'un circuit (entre une bascule ou une entrée primaire et une autre bascule ou une sortie primaire). Les circuits réalisés à base de micro et de nanotechnologies peuvent être affectés par des fautes qui sont générées, par exemple, par des défauts physiques résultant du procédé de fabrication ou du processus de vieillissement, par une inadaptation de la fréquence d'horloge du circuit à la tension d'alimentation, et/ou par des variations de la température ou de la tension d'alimentation. Ces fautes peuvent engendrer des erreurs de fonctionnement et finalement la défaillance des systèmes dans lesquels ces circuits sont utilisés. Les défauts physiques introduits dans les circuits lors du processus de fabrication peuvent être identifiés à l'aide de tests de fabrication. La capacité à détecter ces défauts peut être augmentée de façon significative en utilisant des solutions de conception en vue du test offrant la possibilité de configurer une partie ou toutes les bascules des circuits en chaînes de scan pendant le test. Un exemple est donnée dans les pages 366-368 du livre de M. Abramovici, M.A. Breuer, A.D. Friedman « Digital Systems Testing and Testable Design », IEEE Press, 1990. 1. En ce qui concerne les autres sources de défaillance, elles se manifestent généralement par des fautes de délai. Une des approches les plus efficaces de prévention de ces défaillances est de détecter les éventuelles fautes de délai avant qu'elles ne génèrent des erreurs. Parmi ce type de solutions connues de l'Homme du métier, certaines techniques de monitoring offrent une détection en ligne des fautes de délai en effectuant un double échantillonnage des signaux sur les chemins critiques. Une de ces solutions repose sur l'utilisation d'un élément de délai, par exemple un « Buffer », d'éléments d'échantillonnage à l'entrée et à la sortie de l'élément de délai, et d'un élément de comparaison entre les sorties des éléments d'échantillonnage. Des exemples de cette méthode sont décrits, par exemple, dans la publication de S. Mitra, N. Siefert, M. Zhang, Q. Shi, K.S. Kim "Robust system design with built-in soft-error resilience," IEEE Computer, Special Issue on Nano-Scale Design and Test, 38(2), pp. 43-52,2005 ou celle de M. Nicolaidis "Time redundancy Based Soft-Error Tolerance to Rescue Nanometer Technologies," VLSI Test Symposium (VTS), 1999. Par la suite, les éléments d'échantillonnage à l'entrée des éléments de délai seront appelés des éléments d'échantillonnage primaires tandis que les éléments d'échantillonnage à la sortie des éléments de délai seront appelés des éléments d'échantillonnage secondaires. Les éléments d'échantillonnage primaires sont des bascules utilisées pour effectuer les calculs correspondant à la fonctionnalité du circuit, tandis que les éléments d'échantillonnage secondaires sont des bascules utilisées pour la comparaison des signaux à l'entrée et à la sortie des éléments de délai. Une différence entre les deux valeurs échantillonnées indique une faute de délai qui ne s'est pas encore manifestée comme une erreur et dont la valeur est inférieure à la marge temporelle normalement introduite dans les périodes d'horloge pour absorber les variations de la latence des circuits numériques. Dès qu'une faute de délai est détectée, un signal d'erreur ou d'alerte est généré. Un des objectifs de la présente invention est de fournir un dispositif de test et de monitoring associé à des bascules dans un circuit séquentiel afin de : - réduire l'impact sur la performance des solutions en vue du test basées sur des chaînes de scan, - permettre la détection en ligne des fautes de délai basée sur un double échantillonnage décalé dans le temps. Le dispositif selon l'invention peut s'intégrer dans des chaînes de scan et permet d'éviter l'utilisation des bascules scan standard, connues de l'Homme du métier, sur des chemins critiques. L'objet de la présente invention concerne un dispositif de test et de monitoring de circuits numériques destiné à être inséré dans des chaînes de scan, le dispositif étant associé à au moins un élément d'échantillonnage primaire d'un signal « D », ledit dispositif comportant au moins un élément d'échantillonnage secondaire du signal « D », ledit élément d'échantillonnage secondaire étant disposé en aval d'un module de contrôle logique ou « logique scan », un signal d'activation du mode d'observation et contrôle ou « scan enable » agit au niveau d'élément d'échantillonnage secondaire afin que le dispositif fonctionne dans un mode scan ou dans un mode fonctionnel, ceci permettant son introduction dans une chaîne de scan, ledit élément d'échantillonnage primaire recevant un premier signal d'horloge et le élément d'échantillonnage secondaire recevant un deuxième signal d'horloge. Le dispositif peut comporter un module fournissant un signal de «reset» (remise à zéro) dudit élément d'échantillonnage primaire. Le dispositif comporte, par exemple, un module adapté à générer un signal pour contrôler le maintien de l'état dudit élément d'échantillonnage primaire. Selon une variante de réalisation, le premier signal d'horloge et le deuxième signal d'horloge sont identiques. Ledit élément d'échantillonnage secondaire et le module « logique scan » forment, par exemple, une bascule standard. Le module fournissant un signal de «reset» de l'élément 30 d'échantillonnage primaire comprend deux portes NAND adaptées à générer un «reset» sélectif en mode scan et un «reset» normal en mode fonctionnel. Le dispositif peut comporter une porte XOR utilisée pour comparer les versions du signal « D» échantillonnées par ledit élément d'échantillonnage primaire et par ledit élément d'échantillonnage secondaire. Le dispositif comporte, par exemple, un inverseur sur le chemin du 5 deuxième signal d'horloge. Le dispositif comporte, par exemple, un élément de délai disposé sur le chemin du premier signal d'horloge et/ou disposé sur le chemin du deuxième signal d'horloge. Le module « logique scan » comporte, par exemple, un multiplexeur 10 contrôlé par le signal « scan enable ». Selon une autre variante de réalisation, le module « logique scan » comporte, une porte XNOR, une porte NOR et une porte NAND ou une porte XOR, une porte NOR et une porte NAND. Pour un élément d'échantillonnage primaire comprenant une entrée 15 explicite pour un signal de maintien ou signal « hold », le module maintien logique ou « logique hold » est composée d'une porte NAND dont les entrées « scan enable » et « hold » sont inversées. Dans le cas d'un élément d'échantillonnage primaire comprenant une entrée explicite pour un signal de maintien « hold », le module « logique hold » 20 est composé de deux portes NAND dont l'entrée « hold » est inversée. Pour un élément d'échantillonnage primaire ne comportant pas d'entrée explicite pour un signal de maintien « hold », le module « logique hold » est composé d'une porte NOR recevant le premier signal d'horloge et le signal « scan enable » en entrée. 25 Pour un élément d'échantillonnage primaire ne comportant pas d'entrée explicite pour un signal de maintien « hold », le module « logique hold » est composé d'une porte NOR et une porte AND, la porte NOR reçoit sur une première entrée le premier signal d'horloge et sur une deuxième entrée la sortie de la porte AND. 30 Pour un élément d'échantillonnage primaire ne comportant pas d'entrée explicite pour un signal de maintien « hold », le module « logique hold » contient une première porte NAND et une deuxième porte NAND, la première porte NAND reçoit sur une première entrée le premier signal d'horloge et sur une deuxième entrée la sortie de la deuxième porte NAND. Pour un élément d'échantillonnage primaire ne comportant pas d'entrée explicite pour un signal de maintien « hold » et qui dispose d'une entrée de « reset » synchrone avec le premier signal d'horloge, l'entrée correspondant au signal « reset » dans le module « logique hold » est bloquée à la valeur O-logique. Au moins une partie des éléments d'échantillonnage primaire et/ou secondaire est adaptée à mettre à jour leur état sur le front descendant de leur signal d'horloge. Selon une variante de réalisation, au moins une partie des éléments d'échantillonnage primaire et/ou secondaire est adaptée à mettre à jour leur état sur le niveau haut ou bas de leur signal d'horloge. L'invention concerne aussi l'utilisation du dispositif présentant l'une des caractéristiques précitées dans un circuit qui comporte plusieurs chaînes de scan comprenant un ou plusieurs dispositifs de test et de surveillance ou « monitoring », lesdits dispositifs de test et de monitoring étant disposés sur des chemins critiques dudit système. Ou encore, l'invention concerne l'utilisation du dispositif présentant 20 au moins l'une des caractéristiques précitées dans un circuit comprenant plusieurs chaînes de scan contenant au moins un dispositif de test et de monitoring selon l'invention. D'autres caractéristiques et avantages du dispositif selon l'invention 25 apparaîtront mieux à la lecture de la description qui suit d'un exemple de réalisation donné à titre illustratif et nullement limitatif annexé des figures qui représentent : - La figure 1 et la figure 2, un exemple de dispositifs de test et monitoring selon l'invention pouvant être insérés dans des chaînes de scan, 30 - Les figures 3A et 3B, deux modalités d'implémentation pour les éléments « logique scan » des figures 1 et 2, respectivement, - La figure 4, deux exemples de modalités d'implémentation pour l'élément « logique hold » de la figure 1, - La figure 5, trois exemples de modalités d'implémentation pour l'élément « logique hold » de la figure 2, - La figure 6, un exemple d'architecture de chaîne de scan qui comporte des dispositifs selon les figures 1 et 2, - La figure 7, un chronogramme avec trois signaux utiles pour le contrôle de la phase de test d'un circuit contenant des chaînes de scan selon la figure 6, - La figure 8, une architecture de chaînes de scan pour des circuits pipelinés basés sur des dispositifs de la figure 2, - La figure 9, un procédé de test mis en oeuvre dans des architectures selon la figure 8. Dans la suite de la description, à titre d'exemple illustratif, il est considéré que l'état des éléments d'échantillonnage est remis à jour sur le front montant du signal d'horloge qui arrive à ces éléments d'échantillonnage. Pour les éléments d'échantillonnages qui ont une entrée explicite permettant d'imposer le maintien de leur état, la valeur 1-logique prise par le signal qui contrôle leur maintien appelé ici « hold » indique le maintien de l'état de ces éléments d'échantillonnage. Pour les éléments d'échantillonnage qui ont des entrées explicites permettant leur remise à zéro, cette opération est contrôlée par un signal appelé « reset » et déclenchée quand ce signal prend la valeur 1-logique. Pour les éléments d'échantillonnage qui peuvent être contrôlés par les signaux de type « hold » et « reset », il est considéré que c'est le signal « reset » qui a la priorité. Le signal « scan enable » est utilisé pour définir deux modes de fonctionnement : un mode scan quand le signal « scan enable » prend la valeur 1-logique et un mode fonctionnel ou normal quand le signal « scan enable » prend la valeur O-logique. La figure 1 est un exemple de dispositif de test et de monitoring associé à une bascule 100. Ce dispositif selon l'invention peut être inséré dans des chaînes de scan et peut être utilisé pour la détection en ligne des fautes de délai affectant le signal « D » 101 basée sur un double échantillonnage décalé dans le temps. Le signal « D » 101 peut être doublement échantillonné par la bascule standard 100 qui est un élément d'échantillonnage primaire et par la bascule 110 qui est un échantillonnage secondaire après avoir parcouru un module « logique scan » 120. La bascule 100, associée au dispositif de test et de monitoring selon l'invention, comprend une entrée explicite 111 qui permet de gérer l'état de la bascule, et notamment d'imposer le maintien de son état. Pour cela, un module « logique hold » 160 génère le signal permettant le maintien de l'état de la bascule 100 en mode scan. La bascule 100 reçoit aussi un premier signal d'horloge 105a qui cadence la capture du signal « D» 101. Le dispositif comporte aussi un module « logique scan » 120 dont une première entrée 1201 reçoit le signal « D » et une deuxième entrée 1202 reçoit le signal entrée scan ou « scan in ». Une troisième entrée 1203 reçoit un signal « scan enable » 103. Ce module « logique scan » 120 avec le signal 103 permettent de choisir le signal appliqué à l'entrée de la bascule 100. Le signal « scan in » est choisi en mode scan et le signal « D » 101 est choisi en mode fonctionnel. Les signaux entrée scan ou « scan in » et sortie scan ou « scan out » représentent les connections aval et amont du dispositif selon l'invention proposé dans une chaîne de scan. Deux exemples d'implémentations possibles du module « logique scan » 120 sont données en figures 3A et 3B. La sortie 120s du module « logique scan » 120 est reliée à la bascule 110. La bascule 110 est ainsi positionnée après le module « logique scan » 120, ou en aval c'est-à-dire que le signal D va d'abord parcourir le module « logique scan » avant qu'il soit échantillonné par la bascule 110. Cette bascule peut être implémentée de façon qu'elle soit moins rapide mais aussi plus petite que la bascule 100. La bascule 110 reçoit un deuxième signal horloge, 105b, par exemple le même que celui reçu par la bascule 100. Les deux valeurs D1, D2 du signal « D », capturées par la bascule 100 et la bascule 110, sont comparées, dans cet exemple de mise en oeuvre, au moyen d'une porte XOR, 150, dont le résultat peut être vu comme un signal d'erreur ou une alerte 107. Sans sortir du cadre de l'invention, il est possible d'utiliser le dispositif sans la porte 150. Selon une variante de réalisation, l'élément d'échantillonnage primaire 100 est adapté à mettre à jour son état sur le front descendant du signal d'horloge 105a. Selon une autre variante, l'élément d'échantillonnage primaire 100 est adapté à mettre à jour leur état sur le niveau haut ou bas du signal d'horloge 105a. Selon une variante de réalisation, l'élément d'échantillonnage secondaire 110 est adapté à mettre à jour son état sur le front descendant du signal d'horloge 105b. Selon une autre variante, l'élément d'échantillonnage secondaire 110 est adapté à mettre à jour leur état sur le niveau haut ou bas du signal d'horloge 105b. Le module « logique hold » 160 est adapté à générer le signal qui permet le maintien de l'état de la bascule 100 en mode scan. Ce maintien est, par exemple, imposé de manière sélective à l'aide d'un signal « hold » 109 combiné avec le signal « scan enable » 103, et potentiellement, avec le signal « Q » 108 correspondant à la sortie de la bascule 100. Des exemples d'implémentations possibles pour le module « 160» sont donnés à la figure 4. La présence du module « logique hold » 160 est optionnelle. En l'absence de ce module, le signal « hold » 109 est connecté directement à l'entrée 111 de la bascule 100. Deux portes NAND (et-logique inversé), 130 et 140, assurent la génération d'un signal de »reset» ou signal de remise à zéro, 112, pour la bascule 100. Il est considéré que la bascule 100 est remise à zéro quand le signal 112 prend la valeur 0-logique. En mode fonctionnel, le signal 112 est contrôlé seulement par le signal « reset » 104 car le signal « scan enable » 103 prend la valeur 0-logique. En mode scan, caractérisé par la valeur 1-logique du signal « scan enable » 103, la bascule 100 peut être remise à zéro de manière sélective à l'aide des signaux « scan in » 102 et « reset » 104. Le signal 112 peut être forcé de prendre la valeur 1-logique, ce qui empêche la bascule 100 d'être resetée, si le signal « scan in » 102 prend la valeur 1-logique. Le signal 112 prend la valeur 0-logique et la bascule 100 est resetée si le signal « scan in » 102 prend la valeur O-logique et le signal « reset » 104 prend la valeur 1-logique. Les portes 130 et 140 sont optionnelles et en leur absence le signal « reset » 104 doit être inversé et connecté directement à l'entrée 112 de la bascule 100. Dans le cas où la bascule 100 ne dispose pas d'entrée « reset » 112, les portes 130 et 140 ainsi que le signal « reset » 104 ne sont pas nécessaires. D'autres combinaisons de portes logiques ou d'implémentations optimisées au niveau transistor peuvent être implémentées par l'homme du métier afin d'obtenir le même contrôle du signal 112. La figure 2 schématise une variante de réalisation du dispositif 10 illustré en figure 1 pour des bascules 200 qui ne possèdent pas d'entrée explicite permettant d'imposer le maintien de leur état. Sur cette figure les éléments identiques à ceux décrits à la figure 1 portent les mêmes références. Dans cette variante de réalisation, le maintien de l'état de ces bascules est obtenu à travers le masquage du signal d'horloge « clk » 105a, par 15 exemple à l'aide d'un module « logique hold » 260. En mode scan, le maintien de l'état des bascules est sélectif car le module « logique hold » 260 est contrôlé, en dehors du signal d'horloge « clk » 105a, par le signal « scan enable » 103 et potentiellement par le signal « Q » 108, le signal correspond au signal « D » après passage dans la bascule 200. 20 Le signal « reset » 104 en entrée du module « logique hold » 260 est nécessaire seulement si la bascule 200 dispose d'une entrée de reset synchrone. Des implémentations possibles pour le module 260 sont décrites en figure 5. Un inverseur 270 est disposé sur le chemin du signal d'horloge « clk 25 » 105b et avant la bascule 110. Dans le cas où les deux signaux d'horloge 105a et 105b sont identiques, cet inverseur permet avantageusement de garantir que l'élément d'échantillonnage primaire, ou bascule 200, et l'élément d'échantillonnage secondaire 110 mettent à jour leur état sur un même événement (front ou niveau) du signal d'horloge et d'équilibrer le chemin 30 parcouru par le signal d'horloge « clk » 105a jusqu'à l'élément d'échantillonnage primaire 200 et le chemin parcouru par le signal d'horloge « clk » 105b jusqu'à l'élément d'échantillonnage secondaire 110. Il est possible aussi de ne pas utiliser d'inverseur 270, dans ce cas, le signal d'horloge 105b est relié directement à la bascule 110. Dans les deux dispositifs décrits dans les figures 1 et 2, le module « logique scan » 120 introduit une différence de latence entre les chemins 5 parcourus par les deux versions D1, D2 du signal « D » avant d'arriver aux éléments d'échantillonnage primaire et secondaire. Cette différence de latence est utilisée comme fenêtre de détection pour les fautes de délai. Afin d'ajuster la fenêtre de détection introduit par cette latence, il est possible d'insérer un élément de délai, tel qu'un tampon ou « buffer », sur les chemins des signaux w d'horloge « clk » ,105a et 105b, arrivant respectivement aux éléments d'échantillonnage primaire 100 et 200, ou secondaire 110. Sans sortir du cadre de la présente invention, les deux exemples de dispositifs décrits dans les figures 1 et 2, peuvent être mis en oeuvre à l'aide d'autres combinaisons de portes logiques ou d'implémentations optimisées au 15 niveau transistor. Les dispositifs décrits aux figures 1 et 2, permettent aussi la détection en ligne de fautes transitoires. Dans le cas où ce type de fautes doit être pris en compte, le signal 107 en sortie de la porte 150, est considéré comme un signal d'erreur. Dans le cas contraire, le signal 107 peut être 20 considéré comme un signal d'alerte indiquant seulement un risque d'erreur. Afin de réduire la puissance consommée par les dispositifs décrits en figures 1 et 2, l'élément d'échantillonnage secondaire 110, l'élément « logique scan » 120 et l'élément 150 peuvent être déconnectés de l'alimentation pendant des modes de fonctionnement où il n'y a pas besoin d'effectuer d'opérations de 25 test ou de monitoring. La figure 3A présente un premier mode d'implémentation pour le module « logique scan » 120. Cette implémentation est composée d'un multiplexeur 320 contrôlé par le signal « scan enable » 103, le multiplexeur recevant le signal « D » 101 et le signal « scan in » 102. 30 La figure 3B représente un deuxième schéma d'implémentation, qui comprend une porte XNOR (ou-logique exclusive inversé) 322, une porte NOR (ou-logique inversé) 323 et une porte NAND (et-logique inversé) 321. Les signaux « scan enable » 103 et activation du mode débogage ou « debug enable » 311 arrivants sur ces portes doivent être inversés. La porte 322 peut être remplacée par une porte XOR (ou-logique exclusive) non représentée pour des raisons de simplification, à condition de modifier l'utilisation du signal 109 5 de façon appropriée. Le signal « debug enable » 311 peut être remplacé par le signal « scan enable » 103. De plus, la porte 321 est optionnelle et, en son absence, le signal « D » 101 peut être relié directement à l'entrée de la porte XNOR 322. D'autres combinaisons de portes logiques ou d'implémentations optimisées au niveau transistor peuvent être utilisées par l'Homme du métier, 10 sans sortir du cadre de l'invention, sous réserve qu'elles présentent la même fonctionnalité que celle des dispositifs des figures 3A et 3B. L'ensemble formé par l'élément d'échantillonnage secondaire 110 en figures 1 et 2 et l'élément « logique scan » 120 tel qu'il est implémenté en figure 3A constitue l'équivalent d'un type de bascule scan standard, bascule à 15 multiplexage des entrées, appelée en Anglais « multiplexed data flip-flop », d'après la terminologie utilisée dans la publication de M. Abramovici, M.A. Breuer, A.D. Friedman « Digital Systems Testing and Testable Design », IEEE Press, 1990, pages 369-370. Cet ensemble peut être remplacé par un autre type de bascule scan standard comme, par exemple, architecture scan à l'aide 20 de la logique sensible à niveau « level-sensitive scan design » (LSSD), bascule double port ou « two-port dual-dock flip-flop », bascule pour registre à décalage avec multiplexage des entrées ou « multiplex data shift register latch » décrits dans la même publication, pages 370-372. Des modifications facilement identifiables par l'Homme du métier permettent d'utiliser d'autres 25 types de bascule scan standard, comme, par exemple, ceux mentionnés ci-dessus, à la place de la bascule scan standard « multiplexed data flip-flop ». Les figures 4A et 4B représentent deux exemples d'implémentations possibles du module « logique hold » 160 pour des éléments d'échantillonnage primaires 100 qui ont une entrée explicite permettant d'imposer le maintien de 30 leur état. La première implémentation figure 4A est composée d'une porte NAND (et-logique inversé) 460 dont les entrées « scan enable » 103 et « hold » 109 définies en figure 1 doivent être inversées. Dans cette implémentation, l'état de la bascule 100 est maintenu si un des deux signaux « hold » 109 ou « scan enable » 103 prend la valeur 1-logique. La deuxième implémentation figure 4B permet un maintien sélectif en 5 mode scan à l'aide supplémentaire du signal « Q » 108 en entrée. Cette implémentation nécessite deux portes NAND (et-logique inversé) 461 et 462 dont l'entrée qui correspond au signal « hold » 109 doit être inversée. Dans cette implémentation, l'état de la bascule 100 est maintenu : si (i) le signal « hold » 109 prend la valeur 1-logique ou (ii) si les signaux « Q» 108 et « scan 10 enable » 103 prennent la valeur 1-logique. D'autres combinaisons de portes logiques ou d'implémentations optimisées au niveau transistor peuvent être implémentées par l'homme du métier afin d'obtenir la même fonctionnalité que celle fournie par les dispositifs des figures 4A et 4B. 15 Les figures 5A, 5B et 5C présentent trois implémentations possibles du module « logique hold » 260 pour des éléments d'échantillonnage primaires 200 (figure 2) qui n'ont pas d'entrée explicite permettant d'imposer le maintien de leur état. Dans les deux premières implémentations figures 5A et 5B, l'état de la bascule 200 est maintenu en bloquant le signal d'horloge 213 à la valeur 20 0-logique tandis que, dans la troisième implémentation figure 5C, le signal d'horloge 213 est bloqué à la valeur 1-logique. Les implémentations des figures 5B et 5C permettent un maintien sélectif en mode scan à l'aide supplémentaire du signal « Q » 108 en entrée. La première implémentation, en figure 5A, est composée d'une porte 25 NOR (ou-logique inversé) 560 et d'une porte AND (et-logique) 561. La porte 560 reçoit le signal d'horloge 105a en entrée et un signal correspondant à la sortie de la porte 561. Dans cette implémentation, l'état de la bascule 200 est maintenu si le signal « scan enable » 103 prend la valeur 1-logique et le signal « reset » 104 prend la valeur 0-logique. 30 La deuxième implémentation, en figure 5B, est composée d'une porte NOR (ou-logique inversé) 562 et une porte AND (et-logique) 563. La porte 562 reçoit sur une première entrée le signal d'horloge 105a et sur une deuxième entrée la sortie de la porte 563. Dans cette implémentation, l'état de la bascule 200 est maintenu si les signaux « scan enable » 103 et « Q » 108 prennent la valeur 1-logique et le signal « reset » prend la valeur 0-logic. Dans sa troisième implémentation, en figure 5C, le module « logique 5 hold » contient deux portes NAND (et-logique inversé) 564 et 565, la sortie de la porte 565 correspond à une entrée de la porte 564. Le maintien de l'état de la bascule 200 est assuré par les mêmes conditions nécessaires au maintien dans le cas de l'implémentation figure 5B. La seule différence est que dans le cas de l'implémentation figure 5B il faut considérer comme contrainte supplémentaire 10 que la sortie de la porte 565 ne doit pas subir une transition de 1-logique à 0-logique pendant que le signal d'horloge « clk » 105a est à la valeur 1-logique. Dans les dispositifs figue 5A, figure 5B et figure 5C, l'utilisation du signal « reset » est nécessaire seulement si la bascule 200 dispose d'une entrée de « reset » synchrone avec le signal d'horloge « clk » 105a. Dans ce 15 cas, les portes 563 et 565 ont seulement deux entrées correspondant aux signaux « Q » 108 et « scan enable » 103 tandis que la porte 561 n'est plus nécessaire, le signal « scan enable » 103 étant directement connecté à la porte 560. L'élimination du signal « reset » 104 est équivalente au blocage à la valeur 0-logique de l'entrée qui reçoit ce signal dans les portes 561, 563 et 565. 20 D'autres combinaisons de portes logiques ou d'implémentations optimisées au niveau transistor peuvent être utilisées par l'homme du métier afin d'obtenir la même fonctionnalité que celle fournie par les dispositifs des figures 5A, 5B et 5C. La figure 6 présente un exemple d'architecture d'une chaîne de scan 25 appelée scan mixte ou « mixed-scan » pouvant contenir des bascules scan standard 610 et des dispositifs de test et monitoring, similaires aux dispositifs présentés dans les figures 1 et 2, associés à des bascules 620. A la différence des dispositifs de test et monitoring proposés, les bascules scan standard 610 sont employées, à la fois, pour effectuer les calculs correspondant à la 30 fonctionnalité d'un circuit et pour faciliter le test de ce circuit. Les bascules 620, sans les dispositifs de test et monitoring, peuvent être utilisées seulement pour effectuer les calculs correspondant à la fonctionnalité d'un circuit. Dans le circuit où une telle chaîne de scan est insérée, il est considéré qu'au moins une partie des bascules qui se trouvent sur des chemins critiques sont protégées par des dispositifs similaires à ceux présentés dans les figures 1 et 2. Dans ce cas, ces dispositifs sont inclus dans une ou plusieurs chaînes de scan tandis que les éléments d'échantillonnage primaires ne sont pas inclus dans des chaînes de scan afin de ne pas affecter la latence du circuit. Les sorties des bascules 620 qui ne sont pas dans des chaînes de scan peuvent être observées à l'aide de points d'observation 630 connus par l'homme du métier dans le domaine de la conception en vue d'une meilleure testabilité. Ces points d'observation peuvent être à leur tour insérés dans des chaînes de scan ou dans des registres à décalage à rétroaction linéaire à chargement parallèle ou MISRs (Multiple-Input Signature Registers) connus de l'Homme du métier. La figure 7 schématise un exemple pour la forme des signaux utilisés 15 au cours d'un procédé de test de production comprenant une succession de modes scan et fonctionnel. Dans cet exemple trois signaux permettent le contrôle du test d'un circuit comprenant une configuration de chaînes de scan similaire à celle illustrée en figure 6. Le signal « reset » 104 prend la valeur 1-logique pendant le dernier 20 cycle d'horloge exécuté en mode scan, défini par la valeur 1-logique du signal « scan enable » 103, afin de reseter sélectivement les éléments d'échantillonnage primaires qui ne sont pas inclues dans des chaînes de scan et qui disposent d'un dispositif de test et monitoring tel que introduit dans ce brevet. En mode scan, ce signal de « reset » 104 ne doit pas affecter les 25 bascules scan standard. En mode fonctionnel, il suffit d'appliquer un ou plusieurs cycles à la fréquence la plus proche possible de la fréquence cible du circuit. Cet exemple correspond à la situation où les deux signaux d'horloge 105a et 105b sont identiques et l'ensemble formé par les éléments 110 et 120 30 (tel que implémenté en figure 3A) est équivalent au type de bascule scan standard appelée en Anglais « multiplexed data flip-flop » et mentionnée auparavant. Sans sortir du cadre de l'invention, pour les dispositifs décrits en figures 1-5 et 7, un Homme du métier peut aisément mettre en oeuvre les modifications nécessaires à ces derniers dans le cas où au moins une des situations suivantes se présente : (i) une partie ou tous les éléments d'échantillonnage 100, 110 et 200 peuvent mettre à jour leur état lors du front descendent du signal d'horloge arrivant à ces éléments d'échantillonnage, (ii) une partie ou tous les éléments d'échantillonnage 100, 110 et 200 peuvent mettre à jour leur état sur le niveau haut ou le niveau bas du signal d'horloge arrivant à ces éléments d'échantillonnage, (iii) les valeurs 1-logique du signal 112 et O-logique du signal « reset » 104 sont utilisées pour reseter les éléments d'échantillonnage primaires 100 et 200, (iv) la valeur O-logique des signaux « hold » 109 et 111 sont utilisées pour assurer le maintien de l'état de l'élément d'échantillonnage primaire 100, (y) les valeurs du signal « scan enable » 103 utilisées pour signaler les modes scan et fonctionnel sont inversées. (vi) l'ensemble formé par les éléments 110 et 120 (figures 1 et 2) est équivalent à un autre type de bascule scan standard comme, par exemple, « level-sensitive scan design » (LSSD), « two-port dual-dock flip-flop », « multiplex data shift register latch » mentionnées auparavant. La figure 8 représente un autre exemple d'architecture de chaînes de scan qui peut être utilisé pour des circuits configurés en pipeline ou « pipelinés ». Les éléments 820 représentent des bascules protégées par des dispositifs similaires à ceux présentés dans la figure 2 avec un module « logique scan » tel que implémenté en figure 3B. Les bascules protégées ne sont pas inclues dans des chaînes de scan et seulement ces dispositifs sont inclus dans des chaînes de scan. Il est recommandé que chaque chaîne de scan contienne un seul dispositif par étage de pipeline. L'information dans les chaînes de scan circule dans le sens opposé du flot d'information fonctionnelle. Par conséquent, les derniers dispositifs dans les chaînes de scan font partie des premiers étages du pipeline. Un registre multi-signature MISR (Multi-lnput Signature Register) peut être utilisé pour compresser les sorties des chaînes de scan afin de permettre l'utilisation de chaînes de scan par un programme de test en ligne. L'état du MISR doit être accessible au programme de test en ligne, c'est-à-dire qu'il doit être possible de lire et au moins de reseter son état. De plus, le MISR doit être contoumable pendant le test de production (hors ligne) afin de permettre une meilleure observabilité. Les entrées 801 et les sorties 802 sont des entrées et des sorties fonctionnelles du pipeline. Dans cette architecture, les chaînes de scan n'ont pas d'entrées provenant de l'extérieur. La figure 9 présente un diagramme des étapes mises en oeuvre dans un procédé de partition en plusieurs étapes d'un programme de test afin de réduire la probabilité de masquage d'erreur ou « aliasing » dans des circuits pipelinés contenant des dispositifs similaires à ceux représentés en figure 8. En accord avec ce procédé, le programme de test commence avec une étape d'initialisation 910 avec tous les étages du pipeline en mode fonctionnel. L'étape d'initialisation est suivie par une succession d'étapes 920 au début desquelles un étage du pipeline est mis en mode observation et contrôle ou « mode scan ». Le premier étage à être mis en mode scan est l'étage à l'entrée du pipeline (tout à gauche en figure 8), c'est-à-dire l'étage qui contient les derniers éléments dans les chaînes de scan illustrées en figure 8. A chaque nouvelle étape 920, l'étage suivant qui jouxte le dernier étage passé en mode scan est à son tour passé en mode scan sans changer le mode des autres étages. Cela présuppose l'existence d'un signal « scan enable » pour chaque étage du pipeline qui est contrôlable par le programme de test. Par exemple, ces signaux « scan enable » peuvent être générés à partir de l'état d'un registre de contrôle. Le contenu du MISR illustré en figure 8 peut être reseté au début de chaque étape 920. L'arrêt du procédé est contrôlé à l'aide de l'étape 930 exécutée après chaque étape 920. Le procédé est arrêté si tous les étages ont été testés en mode scan ou si, à la fin d'une étape 920, l'état du MISR en figure 8 est incorrecte. A la fin, le programme de test doit indiquer le succès ou l'insuccès de l'opération de test. Pour ce type de test, le schéma présenté en figure 7 ne s'applique pas. Le dispositif selon l'invention présente notamment comme avantage d'éviter l'insertion de bascules standard sur les chemins critiques et de fait de minimiser l'impact de solutions de conception en vue de test. REVENDICATIONS1 - Dispositif de test et de surveillance ou monitoring de circuits numériques 5 destiné à être inséré dans des chaînes de scan, le dispositif étant associé à au moins un élément d'échantillonnage primaire (100, 200) d'un signal « D », ledit dispositif de test et de monitoring comportant au moins un élément d'échantillonnage secondaire (110) du signal « D », ledit élément d'échantillonnage secondaire (110) étant disposé en aval d'un module « logique 10 scan » (120), un signal (103) « scan enable » agissant au niveau dudit élément d'échantillonnage secondaire (110) afin que le dispositif de test et de monitoring fonctionne dans un mode scan ou dans un mode fonctionnel, ledit élément d'échantillonnage primaire (100) recevant un premier signal d'horloge (105a) et ledit élément d'échantillonnage secondaire (110) recevant un deuxième signal 15 d'horloge (105b). 2 - Dispositif selon la revendication 1 caractérisé en ce qu'il comporte un module fournissant un signal (112) de «reset» audit élément d'échantillonnage primaire (100). 20 3 - Dispositif selon l'une des revendications 1 à 2 caractérisé en ce qu'il comporte un module (160, 260) adapté à générer un signal pour contrôler le maintien de l'état dudit élément d'échantillonnage primaire (100, 200). 25 4 - Dispositif selon l'une des revendications 1 à 3 caractérisé en ce que le premier signal d'horloge (105a) et le deuxième signal d'horloge (105b) sont identiques. - Dispositif selon l'une des revendications 1 à 3 caractérisé en ce que 30 l'ensemble formé par ledit élément d'échantillonnage secondaire (110) et le module « logique scan » (120) forment une bascule standard.6 - Dispositif selon la revendication 2 caractérisé en ce que le module fournissant un signal de « reset» de l'élément d'échantillonnage primaire comprend deux portes NAND (130) et (140) adaptées à générer un «reset» sélectif en mode scan et un «reset» normal en mode fonctionnel. 7 - Dispositif selon l'une des revendications 1 à 6 caractérisé en ce qu'il comporte une porte XOR (150) utilisée pour comparer les versions du signal «D » échantillonnées par ledit élément d'échantillonnage primaire (100, 200) et par ledit élément d'échantillonnage secondaire (110). 8 - Dispositif selon l'une des revendications 1 à 7 caractérisé en ce qu'il comporte un inverseur (270) sur le chemin du deuxième signal d'horloge (105b). 9 - Dispositif selon l'une des revendications 1 à 8 caractérisé en ce qu'il comporte un élément de délai disposé sur le chemin du premier signal d'horloge (105a) arrivant à l'élément primaire d'échantillonnage et/ou un élément de délai disposé sur le chemin du deuxième signal d'horloge (105b) arrivant à l'élément secondaire d'échantillonnage (110). 10 - Dispositif selon l'une des revendications 1 à 9 caractérisé en ce que le module « logique scan » (120) comporte un multiplexeur (320) contrôlé par le signal « scan enable » (103). 11 - Dispositif selon l'une des revendications 1 à 10 caractérisé en ce que le module « logique scan » (120) comporte, une porte XNOR (322), une porte NOR (323) et une porte NAND (321) ou une porte XOR, une porte NOR (323) et une porte NAND (321). 12 - Dispositif selon l'une des revendications 1 à 11 caractérisé en ce que pour un élément d'échantillonnage primaire (100) comprenant une entrée explicite pour un signal de maintien « hold », le module « logique hold » (160) estcomposée d'une porte NAND (460) dont les entrées « scan enable » (103) et « hold » (109) sont inversées. 13 - Dispositif selon l'une des revendications 1 à 11 caractérisé en ce que pour un élément d'échantillonnage primaire (100) comprenant une entrée explicite pour un signal de maintien « hold », le module « logique hold » (160) est composé de deux portes NAND (461, 462) dont l'entrée « hold » (109) est inversée. 14 - Dispositif selon l'une des revendications 1 à 11 caractérisé en ce que pour un élément d'échantillonnage primaire (200) ne comportant pas d'entrée explicite pour un signal de maintien « hold », le module « logique hold » (260) est composé d'une porte NOR (560) recevant le signal d'horloge (105a) et le signal « scan enable » (103) en entrée. 15 - Dispositif selon l'une des revendications 1 à 11 caractérisé en ce que pour un élément d'échantillonnage primaire (200) ne comportant pas d'entrée explicite pour un signal de maintien « hold », le module « logique hold » (260) est composé d'une porte NOR (560, 562) et une porte AND (561, 563), la porte NOR (560, 562) reçoit sur une première entrée le signal d'horloge (105a) et sur une deuxième entrée la sortie de la porte AND (563). 16 - Dispositif selon l'une des revendications 1 à 11 caractérisé en ce que pour un élément d'échantillonnage primaire (200) ne comportant pas d'entrée explicite pour un signal de maintien « hold », le module « logique hold » (260) contient une première porte NAND (564) et une deuxième porte NAND (565), la première porte NAND (564) reçoit sur une première entrée le premier signal d'horloge (105a) et sur une deuxième entrée la sortie de la deuxième porte NAND (565). 17 - Dispositif selon l'une des revendications 14, 15 et 16 caractérisé en ce qu'il comporte une porte AND (561, 563) ou une porte NAND (565), une desentrées desdites portes correspondant au signal « reset » (104) est bloquée à la valeur O-logique. 18 - Dispositif selon l'une des revendications 1 à 11 caractérisé en ce que au 5 moins une partie des éléments d'échantillonnage primaire (100, 200) et/ou secondaire (110) sont adaptés à mettre à jour leur état sur le front descendant du signal d'horloge (105a, 105b). 19 - Dispositif selon l'une des revendications 1 à 11 caractérisé en ce que au 10 moins une partie des éléments d'échantillonnage primaire (100, 200) et/ou secondaire (110) sont adaptés à mettre à jour leur état sur le niveau haut ou bas du signal d'horloge (105a, 105b). 15