FR3069121A1 - Bascule de puce electronique numerique - Google Patents

Bascule de puce electronique numerique Download PDF

Info

Publication number
FR3069121A1
FR3069121A1 FR1756565A FR1756565A FR3069121A1 FR 3069121 A1 FR3069121 A1 FR 3069121A1 FR 1756565 A FR1756565 A FR 1756565A FR 1756565 A FR1756565 A FR 1756565A FR 3069121 A1 FR3069121 A1 FR 3069121A1
Authority
FR
France
Prior art keywords
flip
flop
output
alert
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1756565A
Other languages
English (en)
Other versions
FR3069121B1 (fr
Inventor
Pascal Urard
Florian Cacho
Vincent Huard
Alok Kumar Tripathi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SA
STMicroelectronics Crolles 2 SAS
STMicroelectronics International NV
Original Assignee
STMicroelectronics SA
STMicroelectronics Crolles 2 SAS
STMicroelectronics International NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SA, STMicroelectronics Crolles 2 SAS, STMicroelectronics International NV filed Critical STMicroelectronics SA
Priority to FR1756565A priority Critical patent/FR3069121B1/fr
Priority to US16/031,960 priority patent/US10585143B2/en
Publication of FR3069121A1 publication Critical patent/FR3069121A1/fr
Application granted granted Critical
Publication of FR3069121B1 publication Critical patent/FR3069121B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/31816Soft error testing; Soft error rate evaluation; Single event testing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318541Scan latches or cell details
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318552Clock circuits details
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318594Timing aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis

Abstract

L'invention concerne une bascule comprenant : une entrée de données (D) et une entrée (104) d'horloge (CLK) ; des entrée (TI) et sortie (TQ) de chaîne de test ; un circuit de surveillance (106) 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), adapté à, pendant une période de surveillance, appliquer un 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 (TI) de chaîne de test.

Description

BASCULE DE PUCE ELECTRONIQUE 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 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, 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 donnée à une bascule soit trop proche de la survenance d'un front d'horloge, car il en résulterait une incertitude sur la prise en compte de cette donnée par la bascule. Ainsi, une donnée résultant d'une étape de traitement doit être présentée à une bascule en préservant une marge temporelle - ou temps d'initialisation (en anglais setup time) - avant un front d'horloge.
B15735 - 16-GR3-0680
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 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 transistors 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 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 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 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.
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
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 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 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 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 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 1'alerte é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 ; modifier des tensions de grilles arrière des transistors ; et modifier la précision des traitements numériques.
B15735 - 16-GR3-0680
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.
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
1'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 :
une analyse temporelle ; b) identifier 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 cidessus 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 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éalisation d'une bascule ;
la figure 3A 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 la figure 4 est un chronogramme de cinq signaux de la puce de la figure 3A en fonctionnement ;
la figure 5 illustre schématiquement, de manière plus détaillée, un mode de réalisation d'une bascule ;
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 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 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é, 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érique 100. La puce 100 comprend diverses bascules élémentaires
B15735 - 16-GR3-0680
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 é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. 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 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 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 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.
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 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 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. 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 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 traitement 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 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 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 front d'horloge est inférieure à un seuil. La sortie de donnée Q
B15735 - 16-GR3-0680 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 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 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 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 3A.
La bascule 200 comprend un circuit de transmission 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
multiplexeur 208 commandé par un signal de commande de
surveillance CE. Dans l'exemple de la figure 2, à l'état de
niveau bas du signal CE, la sortie du multiplexeur 208
correspond à la sortie de donnée Q de la bascule 102 (entrée
0), et à 1 'état de niveau haut du signal CE, la sortie du
multiplexeur 208 correspond à la sortie de la porte OU 206
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 donnée issue d'un chemin critique, comme ceci est décrit ciaprè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 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, 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 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 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 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 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 commande de surveillance CE. Le multiplexeur 308 fournit la
B15735 - 16-GR3-0680 sortie TQ de chaîne de test de la bascule 304. Dans l'exemple de la figure 3A, à 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 correspond à l'entrée TI 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 3A selon une variante dans laquelle le multiplexeur 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 Q de la bascule 306, et à l'état de niveau haut du signal CE, la sortie du multiplexeur 308' correspond à la sortie d'un inverseur 310 dont l'entrée est couplée à l'entrée TI 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'.
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 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.
La figure 4 est un chronogramme illustrant, dans la puce 300 de la figure 3A 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 bascule 200, et un exemple de sortie de chaîne de test TQN reçue
B15735 - 16-GR3-0680 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 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 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 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 ensuite le signal d'alerte. Dans chacune des bascules suivantes de la chaîne, le signal d'alerte arrive sur l'entrée TI 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, 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 temporelle ne se produise dans le circuit. Le signal d'alerte fournit donc un avertissement permettant le déclenchement d'une contremesure 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 TQN de la dernière bascule de la chaîne. Il n'y a donc pas
B15735 - 16-GR3-0680 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 sortie TQ et entrée TI 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 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 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 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 3A. Les bascules 200 et 200' comprennent des éléments communs qui ne sont pas décrits ici à nouveau, et seules les 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' 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 TI 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 mise à niveau bas (RST) recevant le signal de commande de
B15735 - 16-GR3-0680 surveillance CE. La bascule 102 a une sortie de donnée inverse Q, 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 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 bascule 200 de la figure 2.
En période de surveillance, dans une chaîne du type de celle de la figure 3A, 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 surveillance ou après apparition d'un niveau d'alerte sur l'entrée TI 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 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 é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.
La figure 6 illustre schématiquement un mode de réalisation 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 3A ou 200' de la figure 5.
Le circuit de surveillance 600 comprend un premier verrou de stockage de donnée 602 et un deuxième verrou de
B15735 - 16-GR3-0680 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 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 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 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 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, 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 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 figure 5. La figure 7A illustre schématiquement un exemple de
B15735 - 16-GR3-0680 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 Q de sortie inverse, respectivement 60 8 et 612, des 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 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 NM5 de type MOS à canal N, commandé par le noeud d'horloge 616. Le noeud 50 6 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 50 6 est relié à 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 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 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é par le signal CE. Le transistor PM11 a sa grille reliée au noeud
B15735 - 16-GR3-0680
501 de sortie Q 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 NM12 de type MOS à canal N. Le transistor NM12 a sa grille connectée au noeud 506. Le noeud 716 est relié à la masse GND par deux transistors NM13 et NM14 en parallèle. Le transistor NM13 a sa grille connectée au noeud 501 et le transistor NM14 est commandé par le signal CE.
La figure 8 illustre schématiquement, de manière plus 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 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 transistor NM15 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.
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 inverseur 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 PMI6 commandé par le signal CE relie le noeud 612 au noeud VDD.
Dans le verrou 800, le noeud 608 est relié à un noeud 814 par un interrupteur 816 commandé par le signal d'horloge
B15735 - 16-GR3-0680
CLK. Le noeud 814 correspond à l'entrée d'un inverseur 818 dont la sortie correspond au noeud 501 de sortie Q 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êtebêche avec l'inverseur 818. A titre d'exemple, l'inverseur 820 est en outre commandé par 1 ' 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. Un transistor NM17 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 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 en l'absence du verrou 604, dans une configuration identique, pour obtenir une bascule du type de la bascule 306 des figures 3A 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 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 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 à partir du signal TE par exemple par un inverseur non représenté.
B15735 - 16-GR3-0680
Le noeud 900 est relié au noeud 60 8 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 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 bascule, le transistor NM25 est commandé par l'inverse TE du signal TE, le transistor NM2 6 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 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 à 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 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 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 propagation des signaux dépasse un seuil.
B15735 - 16-GR3-0680
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 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 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.
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.
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 réalisation d'un dispositif de conception de circuit 1100. Ce dispositif est par exemple adapté à mettre en œuvre le procédé de la figure 10.
Le dispositif 1100 comprend par exemple un dispositif de traitement (P) 1102, qui peut comprendre un ou plusieurs 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 circuit (CIRCUIT DESIGN) à laquelle est appliqué le procédé de
B15735 - 16-GR3-0680 la figure 10, et la conception de circuit (FINAL LAYOUT) résultant du procédé.
Une interface de communication (COMMS INTERFACE) 1108 est par exemple prévue pour coupler le dispositif de traitement 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 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. 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 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 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 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.
B15735 - 16-GR3-0680

Claims (12)

1. Bascule comprenant :
une entrée de données (D) et une entrée (104) d'horloge (CLK) ;
des entrée (TI) 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 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 (TI) de chaîne de test.
2. Bascule selon la revendication 1, dans laquelle le 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 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 (TI) de chaîne de test.
4. Bascule selon la revendication 2 ou 3, dans 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 à 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 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.
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 (TI) 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 (TI) 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 é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 ;
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 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 supplémentaire définissant une bascule supplémentaire (304)
B15735 - 16-GR3-0680 dépourvue de circuit de surveillance comprenant des entrée (TI) 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 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
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 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.
B 15735 16-GR3-0680
1/6
100
Figl
B 15735 16-GR3-0680
2/6
300
Fig 3A
Fig3B
B 15735 16-GR3-0680
3/6
CLK
Qi
TQi
TQN
Fig 4
CE
Fig 5
B 15735 16-GR3-0680
4/6
Fig7A
GND
GND
Fig7B
B 15735 16-GR3-0680
5/6
Fig 9
B 15735 16-GR3-0680
6/6
Fig 10
1108
COMMS
INTERFACE
Fig 11
FR1756565A 2017-07-11 2017-07-11 Bascule de puce electronique numerique Expired - Fee Related FR3069121B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1756565A FR3069121B1 (fr) 2017-07-11 2017-07-11 Bascule de puce electronique numerique
US16/031,960 US10585143B2 (en) 2017-07-11 2018-07-10 Flip flop of a digital electronic chip

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1756565 2017-07-11
FR1756565A FR3069121B1 (fr) 2017-07-11 2017-07-11 Bascule de puce electronique numerique

Publications (2)

Publication Number Publication Date
FR3069121A1 true FR3069121A1 (fr) 2019-01-18
FR3069121B1 FR3069121B1 (fr) 2020-01-24

Family

ID=60382306

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1756565A Expired - Fee Related FR3069121B1 (fr) 2017-07-11 2017-07-11 Bascule de puce electronique numerique

Country Status (2)

Country Link
US (1) US10585143B2 (fr)
FR (1) FR3069121B1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113484604B (zh) * 2021-07-08 2023-04-21 中国人民解放军国防科技大学 可消除测量电路影响的set脉冲测量电路及集成电路芯片
US11680983B1 (en) 2022-02-01 2023-06-20 Nxp Usa, Inc. Integrated circuit having an in-situ circuit for detecting an impending circuit failure
US20240103066A1 (en) * 2022-09-27 2024-03-28 Infineon Technologies Ag Circuit and method for testing a circuit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020199161A1 (en) * 2001-06-20 2002-12-26 Mitsubishi Denki Kabushiki Kaisha Method of designing logic circuit, and computer product
US20150177321A1 (en) * 2012-05-21 2015-06-25 Commissariat A L'energie Atomique Et Aux Energies Alternatives Device for testing and monitoring digital circuits
US20170161416A1 (en) * 2015-12-04 2017-06-08 Commissariat à l'énergie atomique et aux énergies alternatives Method for equipping registers of an integrated circuit to detect timing violations

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6359946B1 (en) * 1998-09-23 2002-03-19 National Instruments Corp. Clock synchronization for asynchronous data transmission
US6169501B1 (en) * 1998-09-23 2001-01-02 National Instruments Corp. Adjustable serial-to-parallel or parallel-to-serial converter
JP2002124937A (ja) * 2000-10-16 2002-04-26 Nec Corp 同期はずれ検出回路
US9124258B2 (en) * 2010-06-10 2015-09-01 Freescale Semiconductor, Inc. Integrated circuit device, electronic device and method for detecting timing violations within a clock signal
US8996937B2 (en) * 2011-12-28 2015-03-31 Stmicroelectronics International N.V. Apparatus for monitoring operating conditions of a logic circuit
US9329229B2 (en) * 2012-11-15 2016-05-03 Freescale Semiconductors, Inc. Integrated circuit with degradation monitoring
US9229051B2 (en) * 2012-11-15 2016-01-05 Freescale Semiconductor, Inc. Integrated circuit with degradation monitoring

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020199161A1 (en) * 2001-06-20 2002-12-26 Mitsubishi Denki Kabushiki Kaisha Method of designing logic circuit, and computer product
US20150177321A1 (en) * 2012-05-21 2015-06-25 Commissariat A L'energie Atomique Et Aux Energies Alternatives Device for testing and monitoring digital circuits
US20170161416A1 (en) * 2015-12-04 2017-06-08 Commissariat à l'énergie atomique et aux énergies alternatives Method for equipping registers of an integrated circuit to detect timing violations

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DIXIUS ANDREAS ET AL: "A deep-submicron CMOS flow for general-purpose timing-detection insertion", 2015 22ND INTERNATIONAL CONFERENCE MIXED DESIGN OF INTEGRATED CIRCUITS & SYSTEMS (MIXDES), DEPARTMENT OF MICROELECTRONICS AND COMPUTER SCIENCE, LODZ UNIVERISTY OF TECHNOLOGY, 25 June 2015 (2015-06-25), pages 248 - 253, XP033196460, DOI: 10.1109/MIXDES.2015.7208520 *
TOSHINORI SATO ET AL: "Exploiting Input Variations for Energy Reduction", 3 September 2007, TED CIRCUIT AND SYSTEM DESIGN : POWER AND TIMING MODELING, OPTIMIZATION AND SIMULATION : 17TH INTERNATIONAL WORKSHOP, PATMOS 2007, GOTHENBURG, SWEDEN, SEPTEMBER 3-5, 2007 ; PROCEEDINGS; [LECTURE NOTES IN COMPUTER SCIENCE], SPRINGER, BERLIN, HEIDELBER, ISBN: 978-3-540-74441-2, XP019067758 *
YUJI KUNITAKE ET AL: "Possibilities to miss predicting timing errors in canary flip-flops", CIRCUITS AND SYSTEMS (MWSCAS), 2011 IEEE 54TH INTERNATIONAL MIDWEST SYMPOSIUM ON, IEEE, 7 August 2011 (2011-08-07), pages 1 - 4, XP031941599, ISBN: 978-1-61284-856-3, DOI: 10.1109/MWSCAS.2011.6026656 *

Also Published As

Publication number Publication date
US10585143B2 (en) 2020-03-10
FR3069121B1 (fr) 2020-01-24
US20190018062A1 (en) 2019-01-17

Similar Documents

Publication Publication Date Title
FR3069121A1 (fr) Bascule de puce electronique numerique
FR2884080A1 (fr) Ensemble de circuits electroniques protege contre des perturbations transitoires
Vazquez et al. Low-sensitivity to process variations aging sensor for automotive safety-critical applications
EP0146661B1 (fr) Procédé de diagnostic électrique pour identifier une cellule défectueuse dans une chaîne de cellules formant un registre à décalage
WO2010122036A1 (fr) Dispositif de surveillance du fonctionnement d'un circuit numerique
US7157930B2 (en) Scan flip flop, semiconductor device, and production method of semiconductor device
FR2846491A1 (fr) Architecture comprenant des cellules de remplacement pour reparer des erreurs de conception dans des circuits integres apres fabrication
EP1816484B1 (fr) Procédé de détection d'un dysfonctionnement dans une machine d'état
EP3376670B1 (fr) Ligne à retard configurable
EP3025161B1 (fr) Procede automatise d'analyse d'une carte portant plusieurs composants de type fpga
EP3176713B1 (fr) Procédé pour équiper des registres d'un circuit intégré pour détecter des violations temporelles
FR3084488A1 (fr) Dispositif de detection d'une faute dans un circuit de propagation d'un signal d'horloge, et procede correspondant
US10060971B2 (en) Adjusting latency in a scan cell
FR3112004A1 (fr) Détection d'une impulsion électromagnétique
FR2903205A1 (fr) Procede de controle du temps d'evaluation d'une machine d'etat
KR100372661B1 (ko) 직류 스트레스 인가 회로 및 이를 이용한 반도체 회로
FR2802733A1 (fr) Bascule de type d maitre-esclave securisee
EP0229433B1 (fr) Dispositif de test de circuit logique combinatoire
FR2604577A1 (fr) Circuit generateur de code a bruit pseudo-aleatoire
US11519962B2 (en) Test circuit
EP3407530A1 (fr) Dispositif logique de détection de fautes
EP1531409A2 (fr) Procédé de vérification d'un circuit intégré
US10001523B2 (en) Adjusting latency in a scan cell
EP1845617A1 (fr) Bascule de type D pour circuit haute fréquence
FR3090917A1 (fr) Dispositif synchrone muni d’un circuit de garde de marge

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20190118

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

ST Notification of lapse

Effective date: 20220305