Brevet FR3069121A1 — publié le 20190118

B15735 - 16-GR3-0680 1 BASCULE DE PUCE ELECTRONIgJE NUMERIQUE Domaine La présente demande concerne le domaine des circuits électroniques, et en particulier une bascule permettant, dans une puce numérique, de stocker une donnée binaire utilisée par 5 la puce. Exposé de l'art antérieur Dans une puce numérique telle qu'un microprocesseur, des données binaires sont stockées dans des bascules. A chaque front d'un signal d'horloge, par exemple chaque front montant, 10 chaque bascule stocke une donnée. Les diverses données sont ensuite traitées par la puce. Des données binaires résultant de l'étape de traitement parviennent aux diverses bascules et sont stockées au front d'horloge suivant. Afin que le microprocesseur fonctionne sans erreur, il ne faut pas que la présentation d'une 15 donnée à une bascule soit trop proche de la survenance d'un front d'horloge, prise en compte donnée résultant une bascule en car il en résulterait une incertitude sur la de cette donnée par la bascule. Ainsi, une d'une étape de traitement doit être présentée à préservant une marge temporelle - ou temps (en anglais "setup time") - avant un front 20 d'initialisation d'horloge. B15735 - 16-GR3-0680 2 Or, le temps mis par une étape de traitement pour fournir toutes les données aux bascules peut varier entre diverses puces identiques fabriquées simultanément ou issues de lots différents, en raison de la variabilité du procédé de 5 fabrication. De plus, dans une même puce, ce temps dépend de paramètres tels que la température de fonctionnement, la tension d'alimentation, et de diverses tensions telles que, par exemple, des tensions de polarisation de caissons, parfois appelés grilles arrières, dans et sur lesquels sont formés les transis-10 tors qui effectuent les traitements. En outre, ce temps dépend de l'âge de la puce et des diverses phases de fonctionnement qu'elle a traversées. Les techniques connues permettant de préserver la marge temporelle présentent divers problèmes de mise en oeuvre 15 et de fonctionnement. Résumé Un mode de réalisation prévoit de pallier tout ou partie des inconvénients décrits ci-dessus. Ainsi, un mode de réalisation prévoit une bascule 20 comprenant : une entrée de données et une entrée d'horloge ; des entrée et sortie de chaîne de test ; un circuit de surveillance adapté à générer une alerte si le temps entre l'arrivée d'une donnée et un front de l'horloge est inférieur à un seuil ; et un circuit de transmission d'alerte, adapté à, pendant une période 25 de surveillance, appliquer un niveau d'alerte sur la sortie de chaîne de test en cas d'alerte générée par le circuit de surveillance, et à appliquer le niveau d'alerte sur la sortie de chaîne de test lorsqu'un niveau d'alerte est reçu à l'entrée de chaîne de test. 30 Selon un mode de réalisation, le circuit de transmission d'alerte est adapté, après application du niveau d'alerte, à maintenir le niveau d'alerte sur la sortie de chaîne de test jusqu'à l'arrivée au circuit de transmission d'alerte d'un signal de remise à zéro. B15735 - 16-GR3-0680 3 Selon un mode de réalisation, le circuit de transmission d'alerte comprend un verrou asynchrone recevant la sortie d'une porte OU dont une entrée reçoit l'alerte et une autre entrée est reliée à l'entrée de chaîne de test. Selon un mode de réalisation, la période de surveillance est celle pendant laquelle un signal de commande de surveillance est appliqué, le signal de remise à zéro correspondant à l'absence du signal de commande de surveillance. Selon un mode de réalisation, la bascule comprend : un 10 premier verrou activé dans un premier état du signal d'horloge, en série avec un deuxième verrou activé dans un deuxième état du signal d'horloge ; un troisième verrou en série avec le premier verrou, activé dans le premier état du signal d'horloge ; et une porte OU exclusif entre les sorties des premier et troisième 15 verrous. Un autre mode de réalisation prévoit une puce électronique comprenant une pluralité de bascules ci-dessus, reliées en chaîne de test par leurs entrées et sorties de chaîne de test, la période de surveillance étant commune aux diverses 20 bascules. Selon un mode de réalisation, la chaîne de test comprend en outre des bascules supplémentaires dépourvues de circuits de surveillance comportant chacune des entrée et sortie de chaîne de test et un multiplexeur adapté à appliquer le 25 niveau d'alerte sur la sortie de chaîne de test au cours de la période de surveillance si l'entrée de chaîne de test est au niveau d'alerte. Selon un mode de réalisation, la puce comprend en outre un circuit de commande adapté à recevoir l'alerte émis par 30 l'une quelconque des bascules et à provoquer une ou plusieurs contre-mesures dans le groupe suivant : ralentir le signal d'horloge ; augmenter des tensions d'alimentation de transistors de la puce ; modifier des tensions de grilles arrière des transistors ; et modifier la précision des traitements 35 numériques. B15735 - 16-GR3-0680 4 Un autre mode de réalisation prévoit un dispositif de stockage mémorisant une librairie de cellules standard pour la conception de puces électroniques, la librairie comprenant une cellule standard définissant une bascule ci-dessus. 5 Selon un mode de réalisation, la librairie comprend en outre une cellule standard supplémentaire définissant une bascule supplémentaire dépourvue de circuit de surveillance comprenant des entrée et sortie de chaîne de test et un multiplexeur adapté à appliquer le niveau d'alerte sur la sortie de chaîne de test au cours de la période de surveillance si l'entrée de chaîne de test est au niveau d'alerte. Un autre mode de réalisation prévoit un procédé de conception d'une puce réalisé par ordinateur, le procédé comprenant : a) réaliser une analyse temporelle ; b) identifier des bascules à surveiller ; et c) remplacer chaque bascule à surveiller par une bascule ci-dessus. Selon un mode de réalisation, le procédé comprend en outre : définir une chaîne de test comprenant lesdites bascules à surveiller ; et remplacer par la bascule supplémentaire ci- dessus chaque bascule de la chaîne de test qui n'est pas une bascule à surveiller. Brève description des dessins Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes 25 de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 illustre schématiquement une puce numérique ; la figure 2 illustre schématiquement un mode de réali30 sation d'une bascule ; la figure aA illustre schématiquement une puce comprenant des bascules de la figure 2 ; la figure 3B illustre schématiquement un mode de réalisation d'une bascule ; B15735 - 16-GR3-0680 5 la figure 4 est un chronogramme de cinq signaux de la puce de la figure aA en fonctionnement ; la figure 5 illustre schématiquement, de manière plus détaillée, un mode de réalisation d'une bascule ; 5 la figure 6 illustre schématiquement un exemple d'un circuit de surveillance de marge temporelle d'un mode de réalisation d'une bascule ; les figures 7A, 7B, 8 et 9 illustrent schématiquement de manière plus détaillée des exemples de diverses parties d'un 10 mode de réalisation d'une bascule ; la figure 10 est un organigramme illustrant des étapes dans un procédé de conception de circuit selon un mode de réalisation ; et la figure 11 illustre schématiquement un mode de 15 réalisation d'un dispositif de conception de circuit. Description détaillée De mêmes éléments ont été désignés par de mêmes références dans les différentes figures et, de plus, les diverses figures ne sont pas tracées à l'échelle. Par souci de clarté, 20 seuls les éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. En particulier, un circuit de commande permettant de prendre des mesures pour conserver une marge temporelle n'est pas décrit en détail, l'homme de l'art étant à même de réaliser ce circuit à partir des indications fonctionnelles de la présente description. Dans la présente description, le terme "connecté" désigne une connexion électrique directe entre deux éléments, tandis que le terme "couplé" ou "relié" désigne une connexion électrique entre deux éléments qui peut être directe ou par l'intermédiaire d'un ou de plusieurs composants passifs ou actifs, comme des résistances, des condensateurs, des inductances, des diodes, des transistors, etc... La figure 1 illustre schématiquement une puce numé35 rique 100. La puce 100 comprend diverses bascules élémentaires B15735 - 16-GR3-0680 6 102. Les bascules 102 reçoivent et stockent des données issues de chemins de circuit. Chaque bascule élémentaire 102 comprend une entrée de donnée D, une sortie de donnée Q et une entrée d'horloge 104 couplée à une ligne d'horloge CLK. Chaque bascule 5 élémentaire 102 comprend un circuit de surveillance (SLACK MONITOR) 106 adapté à générer une alerte F si le temps qui sépare l'arrivée d'une donnée d'un front d'horloge est inférieur à un seuil. De tels circuits de surveillance sont connus dans la technique. Par exemple, une publication de Y. Kanitake et al. 10 intitulée "Possibilities to Miss Predicting Timing Errors in Canary Flip-flops", IEEE, 7 janv.2011, décrit un type de circuit de surveillance appelé "canary flip-flop". Des bascules élémentaires 102 sont par exemple positionnées sur des chemins critiques dans le circuit. Des chemins 15 critiques sont des chemins identifiés comme ayant un temps de propagation relativement long, et ce sont ces chemins qui risquent donc d'être les premiers responsables d'une défaillance du système. A titre d'exemple, trois bascules élémentaires 102 20 sont représentées en figure 1, bien qu'en pratique, le nombre de bascules de ce type dans une puce numérique soit beaucoup plus élevé, typiquement plusieurs centaines voire milliers. En pratique, la puce comprend en outre des bascules (non représentées en figure 1) non équipées de circuit de surveillance et 25 destinées à recevoir et stocker des données ne provenant pas de chemins critiques. Un circuit de commande 108 (CTRL) reçoit les diverses alertes en provenance des divers circuits de surveillance, par des pistes conductrices 110. 30 En cas d'alerte, le circuit de commande 108 permet ensuite de prendre des mesures pour maintenir la marge temporelle entre l'arrivée des données et les fronts d'horloge, par exemple augmenter les tensions d'alimentation, modifier les potentiels des grilles arrière des transistors, ralentir le fréquence du signal d'horloge, ou modifier la précision des B15735 - 16-GR3-0680 7 traitements des données. Certaines de ces mesures peuvent être prises par des circuits extérieurs à la puce. Dans un circuit, plus le nombre de bascules équipées d'un circuit de surveillance est élevé, plus le circuit est 5 protégé contre le risque de faute temporelle. Toutefois, quand ce nombre est important, il existe aussi un nombre élevé de pistes conductrices 110 qui doivent parvenir au circuit de commande 108. Ce nombre élevé de pistes est alors difficile à réaliser et occupe une part importante de la surface de la puce. 10 De plus, le traitement par le circuit de commande des signaux d'alerte sur ces pistes nécessite un bloc logique de taille importante. En pratique, on est donc conduit à limiter le nombre de données critiques que l'on surveille. Par ailleurs, les chemins critiques à surveiller par 15 des bascules 102 sont par exemple identifiés lors de la conception de la puce, à l'aide d'un modèle informatique. Pour cela, on utilise par exemple une librairie de cellules de composants. Chaque cellule décrit un composant tel qu'une bascule, une porte logique, etc. On simule le fonctionnement d'une étape de traite- 20 ment et on détermine les chemins dont les temps de propagation sont les plus longs, ces chemins étant les chemins critiques. On fixe alors les positions des bascules 102 et des pistes 110. Les pistes 110 occupant une surface importante, il est nécessaire d'effectuer des nouvelles simulations pour identifier des 25 nouveaux chemins critiques et, pour chaque nouvelle bascule 102 à insérer on doit reconcevoir une piste 110 correspondante. La figure 2 illustre schématiquement un mode de réalisation d'une bascule 200. La bascule 200 comprend une bascule élémentaire 102 de stockage de données, qui reprend les éléments 30 de la bascule 102 décrite en relation avec la figure 1, à savoir, une entrée de donnée D, une sortie de donnée Q, une entrée d'horloge 104 couplée à une ligne d'horloge CLK, et un circuit de surveillance (SLACK MONITOR) 106 adapté à générer un signal d'alerte F si la durée entre l'arrivée d'une donnée et un 35 front d'horloge est inférieure à un seuil. La sortie de donnée Q B15735 - 16-GR3-0680 8 de la bascule 102 correspond à la sortie de donnée Q de la bascule 200. La bascule 200 comporte en outre une entrée TI et une sortie TQ de chaîne de test. Ce type de bascule est couramment 5 désigné par l'expression anglaise "scan chain flip flop". Une telle bascule comprend par exemple un multiplexeur 202 commandé par un signal de commande de test TE. Dans l'exemple de la figure 2, à l'état de niveau bas du signal TE, la sortie du multiplexeur correspond à l'entrée de donnée D de la bascule 10 200, et à l'état de niveau haut du signal TE, la sortie du multiplexeur correspond à l'entrée TI de chaîne de test de la bascule, bien que les états du signal TE et les entrées du multiplexeur puissent être inversés. La sortie du multiplexeur est reliée à l'entrée de donnée D de la bascule 102. Une telle 15 bascule munie d'une entrée et d'une sortie de chaîne de test permet de réaliser un test de fonctionnement de la puce après fabrication, d'une manière qui sera décrite ci-après en relation avec la figure aA. La bascule 200 comprend un circuit de transmission 20 d'alerte 204. A titre d'exemple, le circuit de transmission d'alerte 204 comprend une porte OU 206 qui reçoit l'entrée TI de test en chaîne et le signal d'alerte F du circuit de surveil- lance 106. Le circuit de transmission 204 comprend un 208 commandé par un signal de commande de CE. Dans l'exemple de la figure 2, à l'état de du signal CE, la sortie du multiplexeur 208 la sortie de donnée Q de la bascule 102 (entrée multiplexeur 25 surveillance niveau bas correspond à et à l'état de niveau haut du signal CE, la sortie du multiplexeur 208 correspond à la sortie de la porte OU 206 30 (entrée "1"), bien que les états du signal CE et les entrées du multiplexeur puissent être inversés. La sortie du multiplexeur forme la sortie TQ de chaîne de test de la bascule 200. On peut utiliser des bascules du type de la bascule 200 dans une puce pour surveiller la marge temporelle de chaque B15735 - 16-GR3-0680 9 donnée issue d'un chemin critique, comme ceci est décrit ci-après en relation avec la figure 3A. La figure 3A illustre schématiquement un mode de réalisation d'une puce 300 comprenant des bascules 200 du type 5 de celle de la figure 2. Chaque bascule 200 correspond à une donnée issue d'un chemin critique. A titre d'exemple, trois bascules 200 sont représentées, mais en pratique, la puce peut comprendre des centaines voire milliers de bascules 200. Les bascules 200 sont reliées en chaîne de test, 10 c'est-à-dire que la sortie TQ de chaîne de test de chaque bascule 200 est reliée à l'entrée TI de chaîne de test de la bascule 200 suivante de la chaîne, la sortie TQ de la dernière bascule 200 de la chaîne étant reliée à un circuit de commande 302 (CTRL). Comme le circuit de commande 108 de la figure 1, le 15 circuit de commande 302 permet de mettre en oeuvre les mesures destinées à maintenir la marge temporelle. Les signaux de commande de test TE et de surveillance CE sont communs aux diverses bascules de la chaîne. A titre d'exemple, la chaîne de test comprend en outre 20 une bascule 304 entre deux bascules 200. La bascule 304 n'est pas prévue pour être couplée à un chemin critique, et n'est pas équipé d'un circuit de surveillance. La bascule 304 comprend des entrée et sortie de chaîne de test. La bascule comprend en outre un multiplexeur 202 commandé par le signal de commande de test 25 TE. Dans l'exemple de la figure 3, à l'état de niveau bas du signal TE, la sortie 203 du multiplexeur 202 correspond à l'entrée de donnée de la bascule 304, et à l'état de niveau haut du signal TE, la sortie du multiplexeur 202 correspond à l'entrée TI de chaîne de test, bien que les états du signal TE 30 et les entrées du multiplexeur puissent être inversés. La sortie du multiplexeur 202 est couplée à l'entrée de donnée D d'une bascule 306. La bascule 306 est comprise dans la bascule 304 et fournit la donnée Q de sortie de la bascule 304. La bascule 304 comprend en outre un multiplexeur 308 commandé par le signal de 35 commande de surveillance CE. Le multiplexeur 308 fournit la B15735 - 16-GR3-0680 10 sortie TQ de chaîne de test de la bascule 304. Dans l'exemple de la figure aA, à l'état de niveau bas du signal CE, la sortie du multiplexeur 306 correspond à la sortie Q de donnée, et à l'état de niveau haut du signal CE, la sortie du multiplexeur 306 5 correspond à l'entrée II de chaîne de test, bien que les états du signal CE et les entrées du multiplexeur puissent être inversés. La figure 3B illustre schématiquement la bascule 304 de la figure aA selon une variante dans laquelle le multiplexeur 10 308 est remplacé par un multiplexeur 308' commandé par le signal CE. Dans l'exemple de la figure 3B, à l'état de niveau bas du signal CE, la sortie du multiplexeur 308' correspond à une sortie de donnée inverse U de la bascule 306, et à l'état de niveau haut du signal CE, la sortie du multiplexeur 308' 15 correspond à la sortie d'un inverseur 310 dont l'entrée est couplée à l'entrée II de chaîne de test. Les états du signal CE et les entrées du multiplexeur 308' pourraient être inversés. La sortie TQ de la bascule 304 est fournie par la sortie d'un inverseur 312 qui reçoit la sortie du multiplexeur 308'. 20 Au cours d'une période de test, le signal de commande de test TE est par exemple à l'état haut et le signal de commande de surveillance CE est par exemple à l'état bas. A chaque front montant d'horloge, les données sont décalées d'une bascule 200 ou 304 dans la chaîne de bascules, ce qui permet de 25 tester le fonctionnement de l'ensemble de la puce. Au cours du fonctionnement de la puce, le signal de commande de surveillance CE est par exemple à l'état haut pendant une période de surveillance, et le fonctionnement de la chaîne est décrit ci-dessous en relation avec la figure 4. 30 La figure 4 est un chronogramme illustrant, dans la puce 300 de la figure aA en fonctionnement, un exemple d'horloge CLK, un exemple d'entrée de données Di d'une des bascules 200 de la chaîne, un exemple de sortie de donnée Qi de la même bascule 200, un exemple de sortie de chaîne de test TQi de la même 35 bascule 200, et un exemple de sortie de chaîne de test TQN reçue B15735 - 16-GR3-0680 11 de la dernière bascule de la chaîne par le circuit de commande 302. Le signal d'horloge CLK est un signal en créneaux, dont trois fronts montants sont représentés. Des données 5 arrivent sur l'entrée Di avant chaque front montant, les valeurs successives des données étant ici à titre illustratif. Le signal Qi prend la valeur de la donnée à chaque front d'horloge. La sortie TQi de la bascule est initialisée à un niveau bas en début de période de surveillance. Comme mentionné ci-dessus, le 10 circuit de surveillance 106 est prévu pour générer une alerte F si le temps qui sépare l'arrivée d'une des données et un front d'horloge est inférieur à un seuil, c'est-à-dire si la donnée arrive à l'intérieur d'une période At qui se termine au front montant. A titre d'exemple, la période At a une durée comprise 15 entre 20 et 40 ps. Dans l'exemple illustré, la donnée arrive au cours de la période At associée au deuxième front montant. Un signal d'alerte est alors généré par le circuit de surveillance et appliqué à la sortie TQi par le circuit de transmission 204. A titre d'exemple, le circuit de transmission 204 maintient 20 ensuite le signal d'alerte. Dans chacune des bascules suivantes de la chaîne, le signal d'alerte arrive sur l'entrée II de la bascule, et le circuit de transmission 204 applique alors ce signal sur la sortie TQ correspondante. L'alerte se propage ainsi le long de la chaîne, par exemple de manière asynchrone, 25 et parvient à la sortie TQN de la chaîne de test et au circuit de commande 302. La période At est par exemple choisie pour avoir une durée plus importante que le temps d'initialisation de la bascule, et l'alerte est donc générée avant qu'une faute tempo- 30 relle ne se produise dans le circuit. Le signal d'alerte fournit donc un avertissement permettant le déclenchement d'une contre-mesure avant que le fonctionnement du circuit soit compromis. Selon un avantage, un signal d'alerte généré par l'un quelconque des circuits de bascule 200 se retrouve sur la sortie 35 TQN de la dernière bascule de la chaîne. Il n'y a donc pas B15735 - 16-GR3-0680 12 besoin de prévoir une piste conductrice pour chaque bascule 200, contrairement aux bascules 102 de la figure 1. La mise en oeuvre des bascules 200 est donc particulièrement simple. Selon un autre avantage, des pistes conductrices entre 5 sortie TQ et entrée II de bascules voisines de la chaîne, servent à la fois pour la période de test et pour la période de surveillance. Ceci nécessite un nombre réduit de pistes et permet une mise en oeuvre particulièrement simple. Selon un autre avantage, du fait de la facilité de 10 mise en oeuvre, on peut surveiller les marges temporelles d'un pourcentage particulièrement élevé de bascules de la puce. On peut prévoir que la puce comprenne une ou plusieurs chaînes de bascules 200 et d'éventuelles bascules 304. On peut aussi prévoir, pour certaines parties de la puce ne comprenant 15 aucun chemin identifié comme critique, des chaînes de bascules de type classique ayant des entrée et sortie de chaîne de test, mais dépourvues de circuit de surveillance et/ou de transmission. La figure 5 représente schématiquement, de manière 20 plus détaillée, un mode de réalisation d'une bascule 200' du type de la bascule 200 de la figure 2, pouvant être utilisée dans une chaîne de bascules du type décrit en relation avec la figure aA. Les bascules 200 et 200' comprennent des éléments communs qui ne sont pas décrits ici à nouveau, et seules les 25 différences entre les bascules 200 et 200' sont mises en exergue. La bascule 200' correspond à la bascule 200, dans laquelle le circuit de transmission 204 est remplacé par un circuit de transmission 204'. Le circuit de transmission 204' 30 comprend une porte OU 206 dont une entrée est couplée à la sortie de signal d'alerte du circuit de surveillance 106, et dont l'autre entrée est couplée à l'entrée II de chaîne de test. La sortie de la porte OU est connectée à une entrée de mise à niveau haut (SET) d'un verrou 500. Le verrou 500 a une entrée de 35 mise à niveau bas (RST) recevant le signal de commande de B15735 - 16-GR3-0680 13 surveillance CE. La bascule 102 a une sortie de donnée inverse correspondant à un noeud 501, couplée à une entrée d'une porte NON OU 502 dont une autre entrée reçoit le signal CE. Une porte OU 504 reçoit la sortie 506 du verrou (latch) 500 et la 5 sortie 508 de la porte NON OU 502, et fournit la sortie TQ de test en chaîne de la bascule 200'. Du fait que la sortie 506 est au niveau bas lorsque le signal CE est au niveau bas, le fonctionnement des portes NON OU 502 et OU 504 est équivalent à celui du multiplexeur 208 de la 10 bascule 200 de la figure 2. En période de surveillance, dans une chaîne du type de celle de la figure aA, du fait de la présence du verrou 506, un niveau d'alerte est maintenu sur la sortie TQ de chaîne de test après génération d'un signal d'alerte par le circuit de surveil- 15 lance ou après apparition d'un niveau d'alerte sur l'entrée II de chaîne de test. Le niveau d'alerte est maintenu jusqu'à la fin de la période de surveillance. Une fois le signal d'alerte pris en compte par le circuit de commande 302, le circuit de commande 302 met fin à la période de surveillance en mettant le 20 signal CE au niveau bas, ce qui permet la remise au niveau bas de la sortie TQ. On peut alors commencer une nouvelle période de surveillance. Selon un avantage, du fait que le signal d'alerte est maintenu jusqu'à prise en compte par le circuit de commande, on 25 évite un échec dans la prise en compte de certains des signaux d'alerte générés. Du fait que la remise au niveau bas de la sortie TQ est obtenue par la mise au niveau bas du signal de commande CE, on n'a pas besoin d'amener aux diverses bascules un signal supplémentaire de remise au niveau bas. 30 La figure 6 illustre schématiquement un mode de réali- sation d'un circuit de surveillance 600 pouvant remplacer le circuit de surveillance 106 dans une bascule du type de la bascule 200 de la figure aA ou 200' de la figure 5. Le circuit de surveillance 600 comprend un premier 35 verrou de stockage de donnée 602 et un deuxième verrou de B15735 - 16-GR3-0680 14 stockage de donnée 604. L'entrée D de donnée du verrou 602 correspond à la sortie 203 du multiplexeur 202 de la bascule 200. La sortie Q de donnée du verrou 602 est connectée à l'entrée D de donnée du verrou 604. Les verrous 602 et 604 ont 5 chacun une entrée de validation EN et chacun stocke le niveau présent à son entrée de donnée lorsque l'entrée de validation est au niveau haut. Les entrées de validation EN des verrous 602 et 604 du circuit de surveillance sont commandées par la sortie d'un inverseur 606 recevant l'horloge CLK. La sortie Q de donnée 10 du verrou 602 correspond à un noeud 608 et est couplée à une entrée d'une porte OU exclusif 610. La sortie Q de donnée du verrou 604 correspond à noeud 612 et est couplée à l'autre entrée de la porte OU exclusif 610. Une porte ET 614 reçoit la sortie de la porte OU exclusif 610 et reçoit la sortie 616 d'un 15 inverseur 618. L'inverseur 618 reçoit la sortie de l'inverseur 606. La porte ET 614 fournit le signal d'alerte F. La production d'un signal d'alerte par le circuit de surveillance 600 est expliqué maintenant. Les verrous 602 et 604 sont tous les deux validés, dans l'exemple de ce mode de 20 réalisation, quand le signal d'horloge CLK est au niveau bas. Lorsqu'une donnée arrive à l'entrée 203 du verrou 602, la donnée atteint le noeud 608 avant d'atteindre la sortie 612 du verrou 604. La porte OU exclusif 612 est à son niveau de sortie haut tant que les noeuds de sortie sont à des niveaux différents, 25 jusqu'à ce que la donnée soit présente à la fois sur les deux noeuds de sortie 608 et 612. Ce niveau de sortie haut est transmis par la porte ET 614 si le niveau logique de l'horloge passe au niveau haut avant que les noeuds 608 et 610 soient dans le même état logique. Ceci se produit quand la donnée arrivée 30 avant le front montant est stockée dans le verrou 602 mais n'a pas eu le temps de parvenir jusqu'à la sortie du verrou 604 avant qu'arrive le front montant généré par l'inverseur 618. Les figures 7A et 7B illustrent schématiquement de manière plus détaillée des parties de la bascule 200' de la 35 figure 5. La figure 7A illustre schématiquement un exemple de B15735 - 16-GR3-0680 15 mode de réalisation de la porte OU 206, du verrou 500, de la porte OU exclusif 610 et de la porte ET 614, de la bascule 200'. Ce circuit est connecté aux noeuds 608, 612 et 616, et aux noeuds U de sortie inverse, respectivement 608 et 612, des 5 verrous 602 et 604. La figure 7B illustre un exemple de mise en oeuvre des portes 502 et 504 de la bascule 200'. En figure 7A, une association série de deux transistors NM1 et NM2 de type MOS à canal N, et une association série de deux transistors NM3 et NM4 de type MOS à canal N, sont en 10 parallèle entre un noeud 702 et un noeud 704. Le transistor NM1 a sa grille couplée au noeud 612, le transistor NM2 a sa grille couplée au noeud 608, le transistor NM3 a sa grille couplée au noeud 612, et le transistor NM4 a sa grille couplée au noeud 608. Le noeud 702 est relié à un noeud 506 par un transistor 15 NM5 de type MOS à canal N, commandé par le noeud d'horloge 616. Le noeud 506 correspond à l'inverse de la sortie 506 du verrou 500. Le noeud 704 est relié à un noeud d'application d'un potentiel bas de référence, par exemple la masse GND, par un transistor NM6 de type MOS à canal N. Le noeud 506 est relié à 20 un noeud d'application d'un potentiel haut d'alimentation VDD, ou noeud VDD, par un transistor PM7 de type MOS à canal P. Les transistors NM6 et PM7 sont commandés par le signal de commande CE. Un transistor NM8, de type MOS à canal N, relie les noeuds 704 et 506. Le transistor NM8 a sa grille reliée à l'entrée TI 25 de chaîne de test de la bascule 200. Un inverseur 710 a son entrée connectée au noeud 506 et sa sortie 712 connectée à l'entrée d'un inverseur à trois états 714 commandé par le signal CE. La sortie de l'inverseur 714 est connectée au noeud 506. Les inverseurs 710 et 714 sont ainsi reliés tête-bêche et forment le 30 verrou 500 de la figure 5. En figure 7B, la sortie TQ de test en chaîne est reliée au noeud VDD par un transistor PM9, de type MOS à canal P en parallèle avec une association série de deux transistors PM10 et PM11, de type MOS à canal P. Le transistor PM10 est commandé 35 par le signal CE. Le transistor PM11 a sa grille reliée au noeud B15735 - 16-GR3-0680 16 501 de sortie U de donnée inverse de la bascule 200'. Le transistor PM9 a sa grille connectée au noeud 506. La sortie TQ est reliée à un noeud 716 par un transistor N1V112 de type MOS à canal N. Le transistor N1V112 a sa grille 5 connectée au noeud 506. Le noeud 716 est relié à la masse GND par deux transistors N1V113 et N1V114 en parallèle. Le transistor N1V113 a sa grille connectée au noeud 501 et le transistor N1v114 est commandé par le signal CE. La figure 8 illustre schématiquement, de manière plus 10 détaillée, un mode de réalisation des verrous 602 et 604 du circuit de surveillance, et d'une partie de la bascule 200 permettant le stockage de la donnée au front montant de l'horloge. Cette partie comprend le verrou 602 et un verrou 800. L'entrée de donnée du verrou 602 correspond à l'entrée 15 d'un inverseur à trois états 802 commandé par l'inverse du signal d'horloge CLK et dont la sortie correspond au noeud 608. Un inverseur 804, par exemple à trois états et commandé par l'inverse d'un signal de remise à zéro (RST), a son entrée reliée au noeud 608 et sa sortie connectée au noeud 608. Un 20 transistor N1v115 de type MOS à canal N, commandé par le signal de remise à zéro, peut relier le noeud 608 à la masse GND. Un inverseur à trois états 806, commandé par le signal d'horloge CLK, est disposé tête-bêche avec l'inverseur 804 entre les noeuds 608 et 608. 25 Dans le verrou 604, le noeud 608 d'entrée est relié au noeud 612 par un interrupteur 808 commandé par l'inverse CLK du signal d'horloge CLK, par exemple obtenu à partir du signal CLK par un inverseur. Le noeud 612 correspond à l'entrée d'un inverseur 810 dont la sortie correspond au noeud 612. Un inver- 30 seur 812 tête-bêche avec l'inverseur 810 relie les noeuds 612 et 612. A titre d'exemple, l'inverseur 810 est à trois états et est commandé par le signal CE, et un transistor PM16 commandé par le signal CE relie le noeud 612 au noeud VDD. Dans le verrou 800, le noeud 608 est relié à un noeud 35 814 par un interrupteur 816 commandé par le signal d'horloge B15735 - 16-GR3-0680 17 CLK. Le noeud 814 correspond à l'entrée d'un inverseur 818 dont la sortie correspond au noeud 501 de sortie U de donnée inverse de la bascule. Un inverseur 820 à trois états commandé par l'inverse du signal d'horloge relie les noeuds 501 et 814, tête- 5 bêche avec l'inverseur 818. A titre d'exemple, l'inverseur 820 est en outre commandé par l'inverse du signal de remise à zéro RST, le signal RST et le signal CLK étant alors par exemple en entrée d'une porte OU, et l'inverseur 820 étant alors par exemple commandé par l'inverse de la sortie de la porte OU 822. 10 Un transistor N1V117 de type MOS à canal N commandé par le signal RST peut alors relier le noeud 814 à la masse GND. La sortie Q de donnée de la bascule 200 est la sortie d'un inverseur 824 dont l'entrée est connectée au noeud 501. Selon un avantage, du fait que le verrou 602 est 15 commun au circuit de surveillance et à la partie permettant le stockage de la donnée au front montant de l'horloge, la bascule 200 comprend un nombre particulièrement réduit de composants et utilise une surface de la puce particulièrement réduite. En outre, les verrous 602 et 800 peuvent être utilisés 20 en l'absence du verrou 604, dans une configuration identique, pour obtenir une bascule du type de la bascule 306 des figures aA et 3B. La figure 9 illustre un mode de réalisation du multiplexeur 202 d'une bascule du type de la bascule 200 de la figure 25 2, et de l'inverseur 802 de la figure 8. Le noeud VDD est reliée à un noeud 900 par une association série de deux transistors PM18 et PM19 de type MOS à canal P, en parallèle avec une association série de deux transistors PM20 et PM21 de type MOS à canal P. Le transistor PM18 30 est commandé par le signal de commande de test TE, la grille du transistor PM19 est couplée à l'entrée D de donnée de la bascule 200, le transistor PM20 a sa grille couplée à l'entrée TI de test en chaîne de la bascule 200, et le transistor PM21 est commandé par l'inverse TE du signal TE, obtenu par exemple à 35 partir du signal TE par exemple par un inverseur non représenté. B15735 - 16-GR3-0680 18 Le noeud 900 est relié au noeud 608 par un transistor PM22 de type MOS à canal P commandé par le signal d'horloge CLK. Un transistor NM23 de type MOS à canal N relie le noeud 608 à un noeud 902. Le transistor NM23 est commandé par 5 l'inverse CLK du signal d'horloge CLK. Le noeud 902 est relié à la masse par une association série de deux transistors NM24 et NM25 de type MOS à canal N, en parallèle avec une association série de deux transistors NM26 et NM27 de type MOS à canal N. Le transistor NM24 a sa grille connectée à l'entrée de donnée de la 10 bascule, le transistor NM25 est commandé par l'inverse TE du signal TE, le transistor NM26 est commandé par le signal TE et le transistor NM27 a sa grille reliée à l'entrée TI de test en chaîne. La structure de la figure 9 peut être utilisée dans 15 une bascule du type de la bascule 304 de la figure 3B. On pourra alors obtenir l'inverseur 310 sans transistor supplémentaire en connectant le noeud entre les transistors PM20 et PM21 au noeud entre les transistors NM26 et NM27, par une connexion représentée en pointillés sur la figure. Cette connexion correspond à 20 la sortie de l'inverseur 310 (TI). La figure 10 est un organigramme illustrant des étapes dans un procédé de conception de circuit selon un mode de réalisation. A une étape 1001, une analyse temporelle statique (en 25 anglais "Static Timing Analysis", ou STA) est par exemple réalisée sur la base d'une conception de circuit. Par exemple, la conception de circuit est représentée par un langage de description de matériel, tel que le langage dit VHDL (de l'anglais "VHSIC1- Hardware Description Language", où VHSIC 30 provient de l'anglais "Very High Speed Integrated Circuit"). A une étape 1002, des bascules à surveiller sont identifiées sur la base de l'analyse temporelle statique. Par exemple, les bascules qui sont identifiées sont celles qui sont à l'issue des chemins de circuit pour lesquels le temps de 35 propagation des signaux dépasse un seuil. B15735 - 16-GR3-0680 19 A une étape 1003, la conception d'une ou plusieurs chaînes de test est effectuée, dont au moins une regroupe les bascules identifiées à l'étape 1002. Dans certains modes de réalisation, une ou plusieurs chaînes de test pourraient ne 5 comprendre aucune des bascules identifiées à l'étape 1002. A une étape 1004, pour les chaînes de test ayant aux moins une bascule identifiée à l'étape 1002, ces bascules sont remplacées par la bascule 200 ou 200' décrite ci-dessus, et les autres bascules de la chaîne sont par exemple remplacées par la 10 bascule 304. A une étape 1005, une étape de placement et de routage du circuit est par exemple implémentée pour prendre en compte les modifications des bascules et la conception des chaînes de test aux étapes 1003 et 1004. 15 A une étape 1006, une nouvelle analyse temporelle statique est par exemple réalisée et, à une étape 1007, il est déterminé si une ou plusieurs nouvelles bascules à surveiller sont identifiées. Si oui, le procédé retourne à l'étape 1004. Sinon, la prochaine étape est une étape 1008. 20 A l'étape 1008, la conception de circuit issue des étapes 1001 à 1007 est par exemple fabriquée, par exemple en transmettant un fichier comprenant la conception de circuit vers un site de fabrication. La figure 11 illustre schématiquement un mode de 25 réalisation d'un dispositif de conception de circuit 1100. Ce exemple adapté à mettre en oeuvre le procédé dispositif est par de la figure 10. Le dispositif 1100 comprend par exemple un dispositif de traitement (P) 1102, qui peut comprendre un ou plusieurs 30 processeurs sous le contrôle d'instructions mémorisées par une mémoire d'instructions (INSTR MEM) 1104. Une mémoire (MEMORY) 1106, qui peut être intégrée avec la mémoire 1104 ou être un dispositif mémoire distinct, est aussi couplée au dispositif de traitement 1102, et mémorise par exemple la conception de 35 circuit (CIRCUIT DESIGN) à laquelle est appliqué le procédé de B15735 - 16-GR3-0680 20 la figure 10, et la conception de circuit (FINAL LA:MUT) résultant du procédé. Une interface de communication (COMMS INTERFACE) 1108 est par exemple prévue pour coupler le dispositif de traitement 5 1102 à un ou plusieurs réseaux et par exemple permettre de transmettre la conception de circuit à une usine pour la fabrication. Selon un avantage, la bascule décrite ci-dessus permet de surveiller la marge temporelle de chaque donnée issue d'un 10 chemin critique, la mise en oeuvre étant facile, et en particulier la liaison avec un circuit de commande étant simple. En outre, le choix de la bascule décrite ici permet de simplifier les étapes de conception. Des modes de réalisation particuliers ont été décrits. 15 Diverses variantes et modifications apparaîtront à l'homme de l'art. En particulier, bien que, dans les modes de réalisation décrits de chaînes de bascules, le circuit de transmission dans chaque bascule soit prévu pour transmettre le signal d'alerte à la bascule suivante de manière asynchrone, on pourra prévoir que 20 le circuit de transmission d'une bascule transmette le signal d'alerte à la bascule suivante à chaque front montant d'horloge. En outre, bien que l'on ait décrit des modes de réalisation particuliers de verrous de stockage d'une donnée lorsque qu'un signal de validation est au niveau haut, on peut 25 utiliser tout type de verrou adapté à stocker une donnée lorsque le signal de validation est au niveau haut. De plus, bien que l'on ait décrit en relation avec la figure 5 une configuration particulière de portes logiques 502 et 504 permettant d'obtenir un multiplexeur 208, on peut 30 utiliser toute autre configuration équivalente. En outre, bien que les bascules décrites soient prévues pour stocker des données aux fronts montants d'une horloge, on peut aussi prévoir que les bascules stockent les données aux fronts descendants de l'horloge. REVENDICATIONS1. Bascule comprenant : une entrée de données (D) et une entrée (104) d'horloge (CLK) ; des entrée (II) et sortie (TQ) de chaîne de test ; un circuit de surveillance (106 ; 600) adapté à générer une alerte (F) si le temps entre l'arrivée d'une donnée et un front de l'horloge est inférieur à un seuil ; et un circuit de transmission d'alerte (204 ; 204'), adapté à, pendant une période de surveillance, appliquer un 10 niveau d'alerte sur la sortie (TQ) de chaîne de test en cas d'alerte générée par le circuit de surveillance, et à appliquer le niveau d'alerte sur la sortie de chaîne de test lorsqu'un niveau d'alerte est reçu à l'entrée (II) de chaîne de test. 2. Bascule selon la revendication 1, dans laquelle le 15 circuit de transmission d'alerte (204 ; 204') est adapté, après application du niveau d'alerte, à maintenir le niveau d'alerte sur la sortie de chaîne de test jusqu'à l'arrivée au circuit de transmission d'alerte d'un signal de remise à zéro. 3. Bascule selon la revendication 2, dans laquelle le 20 circuit de transmission d'alerte comprend un verrou asynchrone (500) recevant la sortie d'une porte OU (206) dont une entrée reçoit l'alerte (F) et une autre entrée est reliée à l'entrée (II) de chaîne de test. 4. Bascule selon la revendication 2 ou 3, dans 25 laquelle la période de surveillance est celle pendant laquelle un signal de commande de surveillance (CE) est appliqué, le signal de remise à zéro correspondant à l'absence du signal de commande de surveillance. 5. Bascule selon l'une quelconque des revendications 1 30 à 4, comprenant : un premier verrou (602) activé dans un premier état (CLK) du signal d'horloge, en série avec un deuxième verrou (800) activé dans un deuxième état (CLK) du signal d'horloge ; B15735 - 16-GR3-0680 22 un troisième verrou (604) en série avec le premier verrou, activé dans le premier état du signal d'horloge ; et une porte OU exclusif (610) entre les sorties des premier et troisième verrous. 5 6. Puce électronique comprenant une pluralité de bascules (200 ; 200') selon l'une quelconque des revendications 1 à 5, reliées en chaîne de test par leurs entrées et sorties de chaîne de test, la période de surveillance étant commune aux diverses bascules. 7. Puce selon la revendication 6, dans laquelle la chaîne de test comprend en outre des bascules supplémentaires dépourvues de circuits de surveillance (304) comportant chacune des entrée (II) et sortie (TQ) de chaîne de test et un multiplexeur (308 ; 308') adapté à appliquer le niveau d'alerte sur la sortie de chaîne de test au cours de la période de surveillance si l'entrée (II) de chaîne de test est au niveau d'alerte. 8. Puce selon la revendication 6 ou 7, comprenant en outre un circuit de commande (302) adapté à recevoir l'alerte 20 émis par l'une quelconque des bascules et à provoquer une ou plusieurs contre-mesures dans le groupe suivant : ralentir le signal d'horloge ; augmenter des tensions d'alimentation de transistors de la puce ; 25 modifier des tensions de grilles arrière des transistors ; et modifier la précision des traitements numériques. 9. Dispositif de stockage mémorisant une librairie de cellules standard pour la conception de puces électroniques, la 30 librairie comprenant une cellule standard définissant une bascule (200 ; 200') selon l'une quelconque des revendications 1 à 5. 10. Dispositif de stockage selon la revendication 9, dans lequel la librairie comprend en outre une cellule standard 35 supplémentaire définissant une bascule supplémentaire (304) B15735 - 16-GR3-0680 23 dépourvue de circuit de surveillance comprenant des entrée (II) et sortie (TQ) de chaîne de test et un multiplexeur (308 ; 308') adapté à appliquer le niveau d'alerte sur la sortie de chaîne de test au cours de la période de surveillance si l'entrée de 5 chaîne de test est au niveau d'alerte. 11. Procédé de conception d'une puce réalisé par ordinateur, le procédé comprenant : a) réaliser une analyse temporelle ; b) identifier des bascules à surveiller ; et 10 c) remplacer chaque bascule à surveiller par une bascule (200) selon l'une quelconque des revendications 1 to 5. 12. Procédé selon la revendication 11, comprenant en outre : définir une chaîne de test comprenant lesdites 15 bascules à surveiller ; et remplacer par la bascule supplémentaire de la revendication 7 chaque bascule de la chaîne de test qui n'est pas une bascule à surveiller.