PROCEDE DE CONCEPTION D'UN CIRCUIT ELECTRONIQUE Domaine technique La présente invention se rapporte au domaine de la conception de circuits électroniques intégrant notamment des moyens de contrôle de son fonctionnement. Arrière plan de l'invention Un circuit intégré comprend généralement de multiples composants logiques, tels que des portes logiques, interconnectés entre eux de manière à former des chemins logiques pour la réalisation d'opérations diverses, telles que calcul, etc. Un chemin logique relie notamment une entrée à une sortie et traverse un certain nombre de portes logiques. Certains de ces chemins logiques peuvent potentiellement être considérés comme des chemins dits critiques (ou « critical path » en anglais), notamment lorsque les temps de propagation à travers ces chemins sont les plus élevés. Ces chemins critiques déterminent les performances du circuit et fixent notamment les conditions extrêmes dans lesquelles le circuit fonctionne correctement. Par exemple, le chemin logique pour lequel le temps de propagation ou de traitement est le plus élevé, fixe la fréquence maximale de fonctionnement du circuit. En outre, un chemin peut être considéré comme critique lorsqu'il est particulièrement sensible à la valeur de la tension d'alimentation pour le bon fonctionnement de la portion du circuit s'y rapportant, ou lorsqu'il est particulièrement sensible à une variation de température ou à une variation brusque de tension. Il est donc important de pouvoir déterminer les chemins critiques parmi les 30 chemins logiques du circuit. Différents outils permettant de déterminer ces chemins critiques existent, et ne sont donc pas détaillés ci-après.
En outre, il est également important de pouvoir surveiller ces chemins logiques considérés comme critiques, pour prédire une éventuelle défaillance du circuit dans des conditions de fonctionnement particuliers. Pour cela, il est connu d'implémenter une réplique de chacun des chemins à surveiller. Cette réplique est 5 communément appelé « replica path » en anglais, et est notamment une reproduction sous-optimale du chemin à surveiller. Plus précisément, cette réplique est un circuit qui applique notamment la même fonction logique sur un signal d'entrée que le chemin à surveiller, mais diffère du chemin à surveiller au niveau de quelques paramètres tels que par exemple le délai de propagation ou la tension 10 seuil, de sorte que la défaillance de la réplique survienne avant celle du chemin à surveiller. Une autre solution consiste à introduire, à la fin du chemin critique, une bascule de détection anticipant l'arrivé du signal sur la bascule de sortie. Cette solution, appelée « canary detection », intrusive, augmente le délai du chemin critique, et est donc proscrite. 15 Exposé de l'invention Dans ce contexte, il est présenté ci-après une nouvelle solution pour obtenir un circuit témoin qui est une réplique d'un chemin logique d'un circuit 20 fonctionnel. La solution proposée a notamment l'avantage d'être moins complexe et de permettre une reproduction conforme du chemin critique, sans nécessiter de modifier la structure du circuit principal. En outre, le circuit témoin obtenu est 25 contrôlé séparément du circuit principal. Le circuit témoin est structurellement indépendante des parties logiques dans lesquelles se situent les chemins logiques à répliquer et peut être localement placée au même endroit ou ailleurs, ce qui lui permet d'être atteinte par les mêmes 30 contraintes ou non (chutes de tension, augmentation de la température, variation de procédé de fabrication). En outre, le circuit témoin peut être activé peu importe les modes de fonctionnement dans lesquelles se trouvent les chemins critiques.
Ce circuit témoin est donc une reproduction à l'identique des chemins critiques (même cellules, même distance inter cellules, même profondeur logique, même « fan-out ») ce qui lui permet d'être considéré comme une réplique de type 5 clone. A cet effet, selon un aspect, il est proposé un procédé de conception d'un circuit électronique comprenant les étapes suivantes : A/ l'identification d'un premier ensemble de cellules logiques critiques d'un 10 circuit principal, ces cellules critiques étant connectées en série selon un chemin «à surveiller », entre un noeud d'entrée et un noeud de sortie du circuit principal ; B/ l'identification de toutes les cellules logiques de sortie, autre que celles traversées par ce chemin, qui sont connectées directement en sortie de 15 chacune de ces cellules critiques ; Cl la détermination de la capacité équivalente de chacune des cellules de sortie identifiée, pour le chemin considéré; D/ pour chaque cellule critique, la détermination d'un niveau logique pour chaque entrée non connectée à une autre cellule critique du chemin considéré, 20 l'ensemble des niveaux logiques ainsi déterminés étant aptes à contraindre un signal présent au noeud d'entrée à suivre le chemin considéré ; E/ l'implantation d'un circuit témoin formé d'un deuxième ensemble de cellules logiques témoins, ce deuxième ensemble étant distinct du premier ensemble et étant la reproduction conforme du premier ensemble en termes 25 de nombre et de type de cellules, et en termes de schéma de connexion, chacune des cellules témoins étant l'homologue d'une des cellules critiques ; F/ l'implantation d'au moins une cellule de charge en sortie de chacune des cellules témoins, la capacité équivalente totale en sortie de chaque cellule témoin étant égale à la capacité équivalente totale déterminée en Cl pour la 30 cellule critique correspondante ; G/ pour chaque cellule témoin, le positionnement de chacune des entrées de la cellule témoin à un niveau logique conforme à la configuration déterminée en D/ pour la cellule critique correspondante ; H/ l'implantation d'un générateur de signaux relié à l'entrée du circuit témoin ; et I/ l'implantation d'un détecteur/récepteur de signaux relié à la sortie du circuit témoin. En pratique, chaque cellule témoin peut être connectée en sortie à une seule 10 cellule de charge dont la capacité équivalente est égale à la somme des capacités équivalentes déterminée à l'étape Cl de ladite cellule critique correspondante. En d'autres termes, chaque sortie de tout ou partie des cellules témoins peut être connectée à une cellule de charge de capacité équivalente sensiblement égale à 15 la somme des capacités équivalentes déterminée à l'étape Cl pour la cellule critique correspondante. De préférence, la sortie de la cellule témoin qui est connectée directement à la sortie du circuit témoin, est exempte de cellule de charge définie à l'étape F/. 20 Avantageusement, le procédé peut en outre comprendre l'implantation d'un multiplexeur-inverseur, une des entrées de ce multiplexeur-inverseur étant connecté au générateur de signaux, et la sortie de ce multiplexeur-inverseur est connectée à l'entrée du circuit témoin. 25 Avantageusement, le procédé peut en outre comprendre, l'implantation d'un circuit de retour formé d'un troisième ensemble de cellules logiques, ce troisième ensemble étant la reproduction conforme du deuxième ensemble en termes de nombre et de type de cellules logiques, de schéma de connexion, et de capacité 30 équivalente en sortie de chaque cellule logique, l'entrée du troisième ensemble étant connecté à la sortie du deuxième ensemble et la sortie du troisième ensemble étant connectée à l'autre entrée du multiplexeur-inverseur.
De préférence, le procédé peut en outre comprendre, le positionnement de chacune des entrées libres des cellules du circuit de retour, à un niveau logique apte à contraindre un signal appliqué en entrée du circuit de retour à suivre le 5 chemin considéré. L'ensemble des niveaux logiques appliqués aux cellules du circuit de retour peut en outre être apte à générer un signal en sortie du circuit de retour ayant un niveau logique identique à celui du signal appliqué en entrée du circuit témoin. 10 Selon un autre aspect, il est également proposé une utilisation du circuit obtenu selon le procédé décrit ci-dessus, comprenant l'application d'un niveau logique à chacune des entrées libres des cellules du circuit de retour, l'ensemble des niveaux logiques appliquées étant apte à contraindre un signal appliqué en 15 entrée du circuit de retour à suivre le chemin considéré, et à générer un signal en sortie du circuit de retour ayant un niveau logique identique à celui du signal appliqué en entrée du circuit témoin. Par exemple, 20 - durant un premier cycle, le multiplexeur-inverseur sélectionne le signal présent à l'entrée qui est connectée au générateur de signaux ; et - durant un deuxième cycle, le multiplexeur-inverseur sélectionne le signal présent à l'entrée qui est connectée à la sortie du circuit de retour. 25 De préférence, le deuxième cycle est répété successivement. Description sommaire des figures Certaines caractéristiques de l'invention, ainsi que les avantages qui en 30 découlent, ressortiront bien de la description des modes de réalisation qui suit, à l'appui des figures annexées données à titre d'exemple non limitatif, et dans lesquelles : La figure 1 présente les étapes principales du procédé de conception selon un mode de réalisation ; La figure 2 est une représentation schématique d'une portion d'un circuit principal dont certaines cellules logiques sont interconnectées selon un chemin à 5 surveiller ; Les figures 3 à 7 sont des représentations schématiques des différentes étapes de la figure 1 pour obtenir le circuit témoin selon un mode de réalisation ; Les figures 8 et 9 sont des représentations schématiques des étapes supplémentaires selon un autre mode de réalisation qui autorise un fonctionnement 10 en oscillation ; et La figure 10 est une représentation schématique de la portion du circuit principal présentée sur la figure 2, et une représentation schématique d'un circuit réalisé avec le procédé de conception selon l'autre mode de réalisation. 15 Description détaillée La figure 1 présente les principales étapes, selon un mode de réalisation, d'un procédé de conception d'un circuit électrique comprenant au moins un circuit témoin constituant une réplique d'une portion d'un circuit principal selon un 20 chemin à surveiller. Le circuit principal comprend notamment de multiples cellules logiques, tels que des portes logiques, interconnectées entre elles de manière à réaliser une ou plusieurs fonctions. Une première étape (étape A) consiste tout d'abord à identifier préalablement 25 un ou des chemins à surveiller du circuit principal. Un chemin à surveiller peut par exemple être le chemin pour lequel le temps de propagation est le plus lent, ou le chemin le plus consommateur de courant, ou le chemin qui nécessite une tension particulièrement élevée, ou qui est sensible à une variation de température ou une variation brusque de la tension, ou tout autre paramètre considéré comme critique. 30 Par exemple, un chemin critique peut être la configuration (en termes d'enchainement des cellules logiques) qui limite le fonctionnement du circuit principal dans les pires conditions de température et de tension.
Par exemple, sur la figure 2 est représenté un circuit de référence considéré comme incluant un chemin critique. Ce circuit de référence est une portion du circuit principal, et comprend un premier ensemble 1 de cellules logiques critiques 5 10, 11, 12, 13, 14 traversées par le chemin à surveiller identifié préalablement. En pratique, ces cellules critiques 10, 11, 12, 13, 14 sont connectées en série selon le chemin «à surveiller » entre un noeud d'entrée 15 et un noeud de sortie 16 du circuit principal. En d'autres termes, le chemin critique relie le noeud d'entrée 15 au noeud de sortie 16 en traversant une seule fois chaque cellule du premier 10 ensemble 1. L'étape suivante (étape B) consiste à identifier toutes les cellules logiques de sortie 100, 101, 102, 103, autre que celles traversées par le chemin à surveiller, qui sont connectées directement en sortie de chacune des cellules critiques 10, 11, 12, 15 13, 14 du premier ensemble 1. La capacité équivalente d'entrée de chacune des cellules de sortie 100, 101, 102, 103 est alors déterminée (étape C). Ensuite, pour chaque cellule critique 10, 11, 12, 13, 14 du chemin à surveiller, on détermine (étape D) un niveau logique à appliquer sur chacune des 20 entrées libres de la cellule critique considérée, apte à contraindre un signal présent au noeud d'entrée à suivre le chemin à surveiller. Une entrée libre d'une cellule critique est notamment constituée par une entrée qui n'est pas connectée à une autre cellule critique du chemin à surveiller ou qui n'est pas connectée au noeud d'entrée. En d'autres termes, les niveaux logiques à appliquer aux cellules critiques 25 10, 11, 12, 13, 14 du premier ensemble 1 sont tels que les cellules critiques 10, 11, 12, 13, 14 sont rendues passantes et sont tels que le signal appliqué au noeud d'entrée 15 passe par les cellules critiques 10, 11, 12, 13, 14 suivant le chemin à surveiller. 30 Un circuit témoin est ensuite réalisé. Pour ce faire, comme illustré sur la figure 3, on implémente (étape E) tout d'abord un deuxième ensemble 2 de cellules logiques témoins 20, 21, 22, 23, 24 entre une borne d'entrée 25 et une borne de sortie 26 du circuit témoin. Ce deuxième ensemble 2 est distinct du premier ensemble 1 et est la reproduction conforme du premier ensemble 1 en termes de nombre et de type de cellules logiques, et en termes de schéma de connexion. Ainsi, chaque cellule témoin 20, 21, 22, 23, 24 du deuxième ensemble 2 est l'homologue d'une des cellules critiques 10, 11, 12, 13, 14 du premier ensemble 1. On implante (étape F) ensuite au moins une cellule de charge 200, 201, 202, 203 en sortie de chacune des cellules témoins 20, 21, 22, 23, 24. La capacité équivalente totale en sortie d'une cellule témoin 20, 21, 22, 23, 24 doit de préférence être égale à la capacité équivalente totale déterminée à l'étape C pour la cellule critique 10, 11, 12, 13, 14 correspondante. En pratique, la capacité équivalente totale en sortie d'une cellule témoin 20, 21, 22, 23, 24 peut être obtenue à partir d'une unique ou de plusieurs cellule(s) de charge. Par exemple, la capacité équivalente totale en sortie de la cellule témoin référencée 23 peut être obtenue avec deux cellules de charge référencées respectivement 201 et 202 comme illustré sur la figure 4, ou être obtenue avec une seule cellule de charge référencée 203 comme illustrée sur la figure 5. Chaque cellule de charge peut notamment être une simple cellule de type inverseur ou suiveur ou tout simplement une capacité. En outre, de préférence, pour la cellule témoin 24 connectée directement à la borne de sortie 26 du circuit témoin, la capacité équivalente totale en sortie de cette cellule témoin 24 est de préférence formée par la capacité d'un détecteur/récepteur de signaux 6 qui sera connecté directement à la borne de sortie 26 du circuit témoin.
A ce stade, le circuit témoin est donc similaire au circuit de référence, en termes de nombre et de type de cellules, en termes de schéma de connexion et en termes de charge équivalente totale appliquée en sortie de chaque cellule.
Les entrées libres des cellules témoins 20, 21, 22, 23, 24 peuvent alors être positionnées (étape G) selon la configuration déterminée à l'étape D pour la cellule critique 10, 11, 12, 13, 14 correspondante. En d'autres termes, comme illustré sur la figure 6, pour chaque cellule témoin 20, 21, 22, 23, 24, on positionne chacune de ses entrées libres (c'est-à-dire les entrées qui ne sont pas connectées à une autre cellule témoin ou à la borne d'entrée du circuit témoin) à un niveau logique de sorte à rendre la cellule témoin 20, 21, 22, 23, 24 passante selon le chemin à 5 surveiller. Ainsi, un signal appliqué à la borne d'entrée du circuit témoin 20, 21, 22, 23, 24 traversera les cellules témoins selon un chemin identique au chemin à surveillé identifié à l'étape A. Dans le cas où il existe plusieurs solutions de positionnement des entrées libres, notamment dans le cas d'une cellule à plusieurs entrées libres, on retiendra par exemple la configuration qui amène le délai le plus 10 long sur la cellule considérée. Enfin, comme illustré sur la figure 7, un générateur de signaux 5 est relié (étape H) à la borne d'entrée 25 du circuit témoin et un détecteur/récepteur de signaux 6 est relié (étape I) à la borne de sortie 26 du circuit témoin. Comme 15 explicité ci-avant, ce détecteur de signaux 6 peut remplacer la cellule de charge à placer en sortie de la cellule témoin 23 qui est connectée à la borne de sortie 26 du circuit témoin. Le circuit ainsi obtenu est une réplique du circuit de référence selon un 20 chemin à surveiller. En pratique, le circuit témoin peut être disposé sur la même puce que le circuit principal. Ainsi, en faisant fonctionner le circuit témoin dans les mêmes conditions que celles du circuit principal, il est possible de prédire une éventuelle défaillance du circuit principal. Il est également possible de faire fonctionner ce circuit témoin indépendamment du circuit principal, pour étudier et 25 anticiper le comportement du circuit principal dans certaines conditions de fonctionnement. En pratique, le générateur de signaux et le détecteur de signaux peuvent être des composants bistables de type bascules D, commandés par un même signal 30 d'horloge dont la période est modulable, ou commandés par deux signaux distincts dont le délai entre eux est connu et contrôlable. Par exemple, dans le cas où le circuit témoin est la réplique du chemin pour lequel le temps de propagation est le plus lent, il est possible de déterminer la fréquence maximale de fonctionnement du circuit principal. Il suffit pour cela de déterminer le délai entre l'application d'un signal par le générateur sur la borne d'entrée du circuit témoin et la détection d'un évènement sur la borne de sortie du détecteur.
Selon un autre mode de réalisation, il est possible de prévoir un fonctionnement en mode oscillation grâce à l'ajout d'un circuit de retour. Ce circuit additionnel induit notamment un délai supplémentaire dans le chemin, et constitue une charge supplémentaire pour le circuit témoin. Le système ainsi réalisé est sous-optimisé par rapport au circuit de référence, et présentera une défaillance avant le circuit de référence. Pour ce faire, il est possible de prévoir l'implantation un multiplexeur-inverseur (figure 8) et l'implantation d'un circuit de retour formé d'un troisième 15 ensemble de cellules logiques (figure 9) distinct des premier et deuxième ensembles. Par exemple, comme illustré sur la figure 8, une des entrées 40 du multiplexeur-inverseur 4 est connectée au générateur de signaux 5, et la sortie 42 20 du multiplexeur-inverseur 4 est connectée à la borne d'entrée 25 du deuxième ensemble 2 du circuit témoin. Comme illustré sur la figure 9, le circuit de retour comprend un troisième ensemble 3 de cellules logiques 30, 31, 32, 33, 34, et est une reproduction 25 conforme du deuxième ensemble 2 en termes de nombre et de type de cellules logiques, de schéma de connexion, et de capacité équivalente en sortie de chaque cellule logique. Ce troisième ensemble 3 constitue donc également une réplique du chemin à surveiller. L'entrée 35 du troisième ensemble 3 est connectée à la borne de sortie 26 du deuxième ensemble 2 et la sortie 36 du troisième ensemble 3 est 30 connectée à l'autre entrée 41 du multiplexeur-inverseur 4. Comme pour le circuit témoin, dans ce troisième ensemble 3, la capacité équivalente totale en sortie de la dernière cellule logique 34 suivant le chemin à surveiller est formée par le multiplexeur-inverseur 4. Le système ainsi obtenue est formé de deux circuits similaires montés tête- bêche. Bien entendu, le circuit ainsi réalisé peut être disposé sur la même puce que le circuit principal. La figure 10 montre le circuit ainsi obtenu et la portion répliquée du circuit principal côte à côte. En pratique, les niveaux logiques des entrées libres (c'est-à-dire les entrées qui ne sont pas connectées à une autre cellule logique ou à l'entrée du circuit de retour) des cellules 30, 31, 32, 33, 34 du troisième ensemble 3, sont alors positionnées de manière à rendre les cellules logiques 30, 31, 32, 33, 34 passantes. En d'autres termes, les niveaux logiques sont tels qu'un signal appliqué à l'entrée du circuit de retour passe par toutes les cellules logiques 30, 31, 32, 33, 34 de ce circuit de retour. En outre, les niveaux logiques appliqués sont tels que pour un signal appliqué à la borne d'entrée 25 du circuit témoin, le niveau logique du signal résultant en sortie 36 du circuit de retour est identique à celui du signal qui a été appliqué à la borne d'entrée 25. En d'autres termes, durant un cycle pendant lequel le signal traverse une fois les cellules du circuit témoin et les cellules du circuit de retour, le signal en sortie 20 du circuit de retour est identique au signal appliqué à la borne d'entrée du circuit témoin. Ainsi, en faisant fonctionner le système sur plusieurs cycles successifs, c'est-à-dire en mode oscillation, il est possible de déterminer la fréquence de 25 fonctionnement du circuit principal avec une meilleure précision. En outre, cette oscillation peut également permettre de faire « vieillir » le silicium des composants logiques. En effet, si la partie logique comprenant les chemins critiques est fortement sollicitée, elle verra la qualité de son silicium 30 évoluer avec le temps et avec le nombre de commutation de ses transistors. Un objectif de l'oscillation est donc de rattraper ce retard en utilisant ce mode aussi souvent possible que sont sollicités les chemins critiques.
En pratique, en mode oscillation, il suffit de sélectionner l'entrée du multiplexeur connectée au générateur de signaux pour le premier cycle, puis de sélectionner l'entrée du multiplexeur qui est connectée à la sortie du circuit de 5 retour pour les cycles suivants. Le procédé de conception présenté ci-dessus est simple à mettre en oeuvre puisqu'il suffit dans un premier temps d'identifier les cellules logiques d'un chemin à surveiller, et les niveaux logiques à appliquer en entrée de ces cellules 10 logiques pour les rendre passantes selon le chemin à surveiller, et de déterminer les capacités équivalentes en sortie de chacune des cellules. Il suffit alors de reproduire la configuration identifiée, sous la forme d'un circuit distinct et indépendant électriquement du circuit principal.
15 Le circuit ainsi conçu présente un fonctionnement similaire à une portion d'un circuit principal selon un chemin particulier. Aucune modification de la structure du circuit principal n'est nécessaire. La réplique obtenue est indépendante du circuit principal en termes de structure et de fonctionnement. Il est ainsi possible de connaître les limites et d'évaluer avec précisions les performances du 20 circuit principal. Par exemple, il est possible de réaliser un contrôle en temps réel du comportement du circuit principal fonctionnant dans des conditions critiques ou limites. 25