Brevet FR2880711A1 — publié le 20060714

SYNTHESE D'UN COMPOSANT DE CIRCUIT MONOLITHIQUE Domaine de l'invention La présente invention concerne un procédé de synthèse de la structure d'un composant de circuit monolithique tel qu'une bobine présentant des caractéristiques de fonctionnement souhaitées, par exemple un facteur de qualité et une valeur d'inductance donnés. Exposé de l'art antérieur Il n'existe pas actuellement de procédé de synthèse à proprement parler permettant d'obtenir de façon automatisée un composant présentant des caractéristiques de fonctionnement souhaitées. On procède en fait par essais successifs à partir d'un ensemble de composants de référence, ou d'étude. Dans le cas où l'on cherche à synthétiser une bobine, on réalise un ensemble de bobines de référence présentant des structures différentes. On forme typiquement des petites, des moyennes et des grosses bobines présentant une ligne spirale étroite ou large et un espacement entre spires petit ou grand. Les figures lA à 1D illustrent quatre exemples de bobines de référence. Une fois ces bobines de référence fabriquées, on mesure les valeurs d'inductance et de coefficient de qualité de chaque bobine. Au vu de ces mesures, on identifie quelle est ou quelles sont les bobines de référence présentant des caractéristiques de fonctionnement les plus proches de celles souhaitées. L'identification de ces bobines de référence les plus proches permet de définir approximativement la taille et la forme de la bobine susceptible de présenter les caractéristiques de fonctionnement souhaitées. Ce pseudo-procédé de synthèse est très empirique. De plus, afin de pouvoir synthétiser des bobines présentant diverses caractéristiques de fonctionnement, il est nécessaire de disposer d'un grand nombre de bobines de référence. Résumé de l'invention Un objet de la présente invention est de prévoir un procédé de synthèse automatisé d'un composant de circuit monolithique. Un autre objet de la présente invention est de prévoir un procédé de synthèse de composants qui soit précis et qui nécessite un petit nombre seulement de composants de référence. Pour atteindre ces objets, la présente invention prévoit un procédé de synthèse de la structure d'un composant de circuit monolithique d'un type donné présentant des caractéristiques de fonctionnement souhaitées, la structure et les caractéristiques de fonctionnement d'un tel composant étant définies au moyen respectivement de variables structurelles et de variables de fonctionnement, comprenant les étapes suivantes: définir le composant souhaité par un jeu de valeurs de variables de fonctionnement souhaitées; former un ensemble de composants de référence du type donné présentant des jeux de valeurs de variables structurelles différents; mesurer le jeu de valeurs de variables de fonctionnement de chaque composant dudit ensemble; construire des réseaux de neurones dont chacun associe l'ensemble des variables structurelles à l'une des variables de fonctionnement, chacun de ces réseaux permettant de déterminer la valeur d'une variable de fonctionnement à partir de valeurs des variables structurelles, les valeurs des paramètres des réseaux de neurones étant déterminées à partir 2880711 3 des mesures précédentes; choisir des jeux de valeurs de variables structurelles et pour chaque jeu choisi, calculer séparément la valeur de chaque variable de fonctionnement au moyen desdits réseaux de neurones, pour obtenir un jeu résultat; et retenir un jeu résultat correspondant sensiblement au jeu de valeurs de variables de fonctionnement souhaitées, le jeu de valeurs de variables structurelles correspondant au jeu résultat retenu définissant le composant synthétisé. Selon une variante du procédé décrit précédeuuuent, il est prévu d'adjoindre dans chaque réseau de neurones une variable d'utilisation aux variables structurelles, à définir le composant souhaité par un ensemble de jeux de valeurs de variables de fonctionnement souhaitées correspondant à une pluralité de valeurs possibles de la variable d'utilisation, et pour chaque choix d'un jeu de valeurs de variables structurelles à répéter les calculs pour la pluralité de valeurs possibles de la variable d'utilisation de façon à obtenir un ensemble de jeux résultats. Selon une variante du procédé décrit précédemment, les choix de jeux de valeurs de variables structurelles sont effectués selon une méthode d'optimisation mettant en oeuvre un algorithme génétique. Selon une variante du procédé décrit précédeuuuent, la détermination des paramètres de chaque réseau de neurones est effectuée selon une méthode d'optimisation mettant en oeuvre un algorithme génétique. Selon une variante du procédé décrit précédemment, une plage de valeurs possibles est définie pour chacune des variables structurelles et les jeux de valeurs de variables structurelles des composants de référence couvrent sensiblement l'ensemble des plages de valeurs définies pour chacune des variables structurelles. Selon une variante du procédé décrit précédemment, pour évaluer si un jeu résultat de valeurs de variables de fonctionnement correspond sensiblement à un jeu de valeurs souhaitées, on se place dans un espace multidimensionnel défini par des axes référençant chacune des variables de fonctionnement où chaque jeu correspond à un point et on évalue la distance séparant les deux points correspondant aux deux jeux considérés. Selon une variante du procédé décrit précédemment, le composant considéré est une bobine. Selon une variante du procédé décrit précédemment, le composant considéré est un microrésonateur. Selon une variante du procédé décrit précédemment, la 10 variable d'utilisation est la fréquence. Brève description des dessins Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers à titre non-limitatif en relation avec les figures jointes lesquelles: les figures lA à 1D sont des vues de dessus de bobines de référence; les figures 2A et 2B sont des schémas de deux réseaux 20 de neurones utilisés dans un mode de mise en oeuvre du procédé de synthèse selon la présente invention; la figure 3 est un diagramme illustrant les valeurs d'inductance et de coefficient qualité d'une bobine que l'on souhaite synthétiser en fonction de la fréquence de signaux susceptibles de la traverser; les figures 4A et 4B sont des schémas de deux réseaux de neurones utilisés dans une variante de mise en oeuvre du procédé de synthèse selon la présente invention; la figure 5 est un schéma d'un "individu" utilisé dans une méthode d'optimisation basée sur un algorithme génétique; la figure 6 est un schéma illustrant la composition d'une "population" utilisée dans une méthode d'optimisation basée sur un algorithme génétique; faite parmi la figure 7 est un schéma illustrant un procédé de "croisement" utilisé dans une méthode d'optimisation basée sur un algorithme génétique; et la figure 8 est une vue en perspective d'un micro-5 résonateur. Description détaillée Par souci de clarté, de mêmes éléments ont été désignés par de mêmes références aux différentes figures et, de plus, comme cela est habituel dans la représentation des circuits intégrés, les figures lA. à lD ne sont pas tracées à l'échelle. Dans une première partie, on décrira un exemple de procédé de synthèse dans le cas où l'on souhaite synthétiser une bobine de type "à spires carrées". Dans une deuxième partie, on décrira un mode de mise en oeuvre du procédé de synthèse de la présente invention dans le cas où l'on souhaite synthétiser une bobine de type "à spires carrées". Dans une troisième partie, on décrira de façon générale le procédé de synthèse de la présente invention. Dans une quatrième partie, on décrira le procédé de calcul associé à un réseau de neurones utilisé dans le procédé de la présente invention. Dans une cinquième partie, on décrira de façon 25 générale une méthode d'optimisation basée sur un algorithme génétique. Dans une sixième partie, on décrira un autre mode de mise en oeuvre du procédé de la présente invention dans le cas où l'on souhaite synthétiser un résonateur. 1. Exemple de procédé de synthèse d'une bobine à spires carrées Dans l'exemple ci-après, on souhaite synthétiser une bobine de type "à spires carrées" telle que celles représentées en figures lA à 1D, qui présente des valeurs souhaitées d'inductance Ls et de coefficient de qualité Qs. A l'issue de ce procédé de synthèse on obtient une bobine à spires carrées dont la structure est définie de façon générale par une largeur W d'une ligne spirale constituant la bobine, un écartement S entre deux spires de la bobine, une longueur D d'un côté d'un carré fictif entourant la bobine, un nombre de spires N, et une largeur U d'une piste de connexion placée sous la bobine. On considère dans la suite de la description que la structure d'une bobine à spires carrées est définie par un jeu X de valeurs de variables structurelles W, S, D, N et U et que ses caractéristiques de fonctionnement sont définies par un jeu Y de valeurs de variables de fonctionnement L et Q. Par ailleurs, préalablement à la synthèse d'une bobine, on peut définir des valeurs maximales pour chacune des variables structurelles W, S, D, N et U de la bobine. Ces valeurs maximales sont par exemple fonction du procédé utilisé pour fabriquer des bobines à spires carrées. Les valeurs des variables structurelles W, S, D, N et U doivent par exemple être respectivement inférieures aux valeurs maximales suivantes 5 pm, 5 pm, 50 pm, 10 et 5 pm. Le premier exemple de procédé de synthèse à proprement 20 parler est le suivant. Dans une étape initiale, on fabrique, par exemple sur un circuit intégré, un ensemble de bobines de référence du type "à spires carrées" présentant des structures différentes telles que celles représentées en figures lA à 1D. On forme des petites, des moyennes et des grosses bobines présentant une liyne spirale étroite ou large et un espacement entre spires petit ou grand. Une fois ces bobines fabriquées, on mesure chacune des bobines de référence afin de connaître leurs valeurs d'induc- tance L et de coefficient de qualité Q. On obtient alors un tableau indiquant, pour chaque bobine de référence définie par un jeu Xr de valeurs de variables structurelles, un jeu Yr de valeurs de variables de fonctionnement de référence. On définit ensuite un modèle mathématique d'une bobine 35 à spires carrées permettant de calculer les valeurs d'un jeu Y de valeurs de variables de fonctionnement comprenant une valeur d'inductance L et une valeur de coefficient de qualité Q, Y=[L, Q], à partir d'un jeu X de valeurs de variables structurelles comprenant les valeurs des variables structurelles W, S, D, N et U d'une bobine, X=[W, S, D, N, U]. Pour ce faire, on choisit un type de fonction mathématique f susceptible de modéliser le composant selon la relation Y=f [X] . La fonction f est définie par un ensemble de paramètres dont les valeurs sont à déterminer. On détermine alors les valeurs des paramètres de la fonction f à partir des valeurs indiquées dans le tableau selon un procédé d'apprentissage mettant en oeuvre une méthode connue sous le nom de méthode "d'optimisation". Ce procédé consiste à choisir un premier jeu de valeurs de paramètres pour la fonction f puis à calculer pour chaque bobine de référence un jeu Yc de valeurs d'inductance Lc et de coefficient de qualité Qc correspondant au jeu Xr de valeurs de W, S, D, N et U de la bobine de référence considérée. On détermine ensuite si les jeux de valeurs Yc calculées pour chacune des bobines de référence sont "éloignés" des jeux Yr de valeurs mesurées pour ces mêmes bobines. Si tel est le cas, on choisit un deuxième jeu de valeurs de paramètres pour la fonction f et on répète les calculs précédents. On continue ainsi jusqu'à trouver un jeu de valeurs de paramètres satisfaisant pour la fonction f. Le choix des jeux de valeurs de paramètres peut être effectué de diverses manières. On peut par exemple utiliser une méthode d'optimisation qui permet de choisir un nouveau jeu de paramètres après analyse de "l'éloignement" des jeux Yc de valeurs calculées par rapport aux jeux Yr de valeurs de référence pour chacun des choix précédents de paramètres. Une fois la fonction f définie, on détermine la fonction inverse de f, appelée ci-après f1, permettant de calculer un jeu X de valeurs de variables structurelles connaissant les valeurs d'un jeu Y de valeurs de variables de fonctionnement. On peut alors synthétiser une bobine à spires carrées présentant un jeu Ys de valeurs souhaitées d'inductance Ls et de coefficient de qualité Qs en calculant le jeu Xs de valeurs de variables W, S, D, N et U égal à f-1(Ys). Came cela apparaîtra ci-après, un inconvénient de ce procédé de synthèse est qu'il est nécessaire en pratique de disposer d'un grand nombre de bobines de référence pour arriver à déterminer suffisamment précisément les valeurs des paramètres de la fonction f. De plus, ceci nécessite d'effectuer un grand nombre de mesures de valeurs d'inductance et de coefficient de qualité. 2.0 Procédé de synthèse selon la présente invention d'une bobine à spires carrées 2.1 Procédé de base On fabrique initialement, comme précédemment, un ensemble de bobines de référence que l'on mesure afin d'obtenir un tableau indiquant pour chaque bobine de référence définie par un jeu Xr de valeurs de variables structurelles, un jeu Yr de valeurs de variables de fonctionnement de référence. On définit alors un modèle mathématique d'une bobine à spires carrées permettant de calculer les valeurs d'un jeu Y de valeurs de variables de fonctionnement comprenant une valeur d'inductance L et une valeur de coefficient de qualité Q, Y=[L, Q], à partir d'un jeu X de valeurs de variables structurelles comprenant les valeurs des variables structurelles W, S, D, N et U d'une bobine, X=[W, S, D, N, U]. Selon la présente invention, le modèle mathématique utilisé pour modéliser le composant que l'on souhaite synthétiser, dans notre exemple une bobine, est constitué de plusieurs réseaux de neurones, le nombre de réseaux de neurones étant égal au nombre de variables de fonctionnement, c'est-à-dire deux dans cet exemple, L et Q. Les figures 2A et 2B sont des schémas de deux réseaux de neurones. Le premier réseau de neurones permet de calculer un coefficient de qualité Q correspondant à un jeu X=[W, S, D, N 2880711 9 U]. Le second réseau de neurones permet de calculer une valeur d'inductance L correspondant à un même jeu X=[W, S, D, N, U]. Dans cet exemple, chaque réseau de neurones comprend une seule couche "cachée" de neurones constituée de 6 neurones appelés Zl à Z6. La couche de neurones "initiale" comprend 5 neurones associés à chacune des variables structurelles U, W, S, N et D. La couche de neurones "finale" comprend un unique neurone associé à une variable fonctionnelle, l'inductance L ou le coefficient de qualité Q. Les neurones de la couche initiale sont reliés à ceux de la couche cachée et les neurones de la couche cachée sont reliés au neurone de la couche finale. Plus précisément, chacun des neurones de la couche initiale U, W, S, N et D est relié à chacun des neurones Zl à Z6 de la couche cachée et chacun des neurones Zl à Z6 est relié au neurone de la couche finale Q ou L. Chaque lien entre deux neurones est représenté symboliquement par une flèche. Chaque flèche est associée à un paramètre dont la valeur doit être définie. De plus, chacun des neurones Zl à Z6 de la couche cachée est associé à une fonction de type "à seuil" dont le ou les paramètres doivent être définis. Les fonctions associées à chaque neurone de la couche cachée, les paramètres associés à chaque flèche et le procédé de calcul associé à chacun des réseaux de neurones sont décrits plus en détails dans le chapitre suivant. Une fois que la structure des réseaux de neurones est définie, on détermine les valeurs des paramètres associés à chacune des flèches et les valeurs des paramètres des fonctions associées aux neurones Z1 à Z6. Cette détermination est effectuée selon un procédé d'apprentissage, tel que celui décrit précédeuunent, consistant à choisir plusieurs jeux de paramètres, à calculer pour chaque jeu de paramètres des jeux Yc de valeurs d'inductance et de coefficient de qualité Yc=[Lc, Qc] correspondant aux bobines de référence, et à retenir le jeu de paramètres donnant les jeux Yc les plus proches des jeux Yr de référence. Le procédé d'apprentissage retenu utilise de préférence une méthode d'optimisation basée sur un algorithme génétique décrit dans la suite de la description. On définit alors un jeu Ys de valeurs d'inductance Ls et de coefficient de qualité Qs correspondant à la bobine que l'on souhaite synthétiser. On cherche ensuite un jeu X de valeurs de variables structurelles W, S, D, N et U définissant une bobine à spires carrées présentant sensiblement les valeurs Ls et Qs souhaitées. Un mode de mise en oeuvre de cette recherche est le suivant. On choisit un premier jeu Xl de valeurs de variables structurelles tel que, pour chaque variable, la valeur choisie soit inférieure à la valeur maximale préalablement définie pour cette variable. On calcule ensuite le jeu Yl de valeurs de variables de fonctionnement correspondant au jeu Xl à partir du modèle mathématique précédemment défini, c'est-à- dire les deux réseaux de neurones représentés en figures 2A et 2B. On détermine ensuite si le jeu Yl calculé est proche ou non du jeu Ys souhaité. Pour estimer si les deux jeux sont proches on pourra considérer que les jeux Yl et Ys correspondent à deux points d'un espace à deux dimensions défini par deux axes référençant respectivement la valeur d'inductance L et la valeur du coefficient de qualité Q. On calcule ensuite la distance euclidienne dl entre les points Yl et Ys. Les deux jeux peuvent être estimés comme proches si la distance dl est inférieure à une distance seuil prédéterminée. Pour définir cette distance seuil, on peut par exemple considérer la distance D entre le point Ys et l'origine de l'espace à deux dimensions et prendre une distance seuil égale à un certain pourcentage, par exemple 5 %, de cette distance D. Dans le cas où le premier jeu choisi Yl n'est pas suffisamment proche du jeu Ys souhaité, on choisit un deuxième jeu X2 de valeurs de variables structurelles, et on calcule le jeu Y2 de valeurs de variables de fonctionnement correspondant. Puis on calcule la distance d2 séparant les points Y2 et Ys et on calcule le rapport d2/D. Si ce rapport est supérieur au seuil prédéterminé, on choisit un troisième jeu X3, on calcule le jeu Y3 correspondant, et ainsi de suite jusqu'à obtenir un jeu de valeurs de variables structurelles Xn qui corresponde à un jeu de valeurs de variables de fonctionnement Yn qui soit proche du jeu Ys souhaité. Comme cela apparaîtra ci-après, d'autres procédés de recherche d'un jeu X de variables structurelles définissant une bobine présentant sensiblement les valeurs Ls et Qs souhaitées peuvent être utilisés. On peut par exemple prévoir de choisir plusieurs jeux Xl à Xn et de sélectionner au final le jeu Xl, où 1 est un entier compris entre 1 et n, correspondant au jeu Yl de variables de fonctionnement le plus proche du jeu Ys souhaité. 2.2 Comparaison de procédés Le nombre de composants de référence nécessaires pour obtenir au final des valeurs d'inductance L ou de coefficient de qualité Q avec une précision de moins de 5 est différent selon que l'on met en oeuvre le procédé selon la présente invention dans lequel on construit plusieurs réseaux de neurones pour chacune des variables de fonctionnement ou que l'on met en oeuvre le procédé décrit précédemment dans lequel on définit une fonction inverse f1. La fonction f7 est par exemple la fonction inverse de la fonction f correspondant à un "gros" réseau de neurones décrit ci-après. Afin de comparer les deux procédés, on se place dans le cas où on souhaite synthétiser une bobine à spires carrées telle que décrite précédemment. Dans le procédé de la présente invention, chaque réseau de neurones utilisé comprend une couche initiale consti- tuée de 5 neurones U, W, S, N et D, une couche cachée constituée de 6 neurones et une couche finale constituée d'un seul neurone Q ou L. Dans le procédé "à fonction fi", le "gros" réseau de neurones comprend une couche initiale constituée de 5 neurones U, W, S, N et D, une couche finale constituée de 2 neurones Q et L et une couche cachée constituée de 12 neurones. Le nombre de neurones de la couche cachée du "gros" réseau de neurones est supérieur à celui de la couche cachée des "petits" réseaux de neurones utilisés dans le procédé de la présente invention étant donné que le nombre de neurones de la couche finale du gros réseau de neurones est plus grand. En effet, en se référant au document de Lippman "An introduction to computing with neural nets", IEEE ASSP Magazine, 4-22, le nombre Nc de neurones de la couche cachée est défini par la relation Nc=Ns*(Ne+l), où Ns et Ne sont respectivement le nombre de neurones de la couche finale et de la couche initiale. Pour chaque réseau de neurones, le nombre Np de paramètres qui sont associés soit à une flèche soit à une fonction de type "à seuil" d'un des neurones de la couche cachée est défini par Np = Ne*Nc + Nc*Ns + Nc. Il y a donc 42 paramètres dans un petit réseau et 96 paramètres dans le gros réseau. Quelle que soit la précision avec laquelle on souhaite obtenir les valeurs de L et Q, plus le nombre de paramètres est grand plus le nombre de composants de référence nécessaires est élevé, le nombre de composants de référence étant sensiblement proportionnel au nombre de paramètres. Les paramètres de chacun des petits réseaux étant déterminés à partir d'un même ensemble de composants de référence, un avantage de la présente invention est donc qu'elle permet de synthétiser un composant selon un procédé nécessitant peu de composants de référence. 2.3 Procédé perfectionné En pratique, les valeurs d'inductance L et de coeffi- cient de qualité Q d'une bobine varient en fonction de la fréquence des signaux traversant la bobine. L'amplitude et le sens des variations de ces grandeurs avec la fréquence dépendent de la structure de la bobine. En effet, les variations d'inductance L et de coefficient Q d'une bobine à larges spires peu espacées sont différentes de celles d'une bobine à spires minces et espacées. Afin de synthétiser une bobine présentant des variations souhaitées des valeurs d'inductance L et de coefficient de qualité Q sur une plage donnée de fréquences, le procédé décrit précédeuuuent peut être perfectionné de la façon suivante. La figure 3 est un diagramme illustrant les valeurs d'inductance L et de coefficient qualité Q de la bobine que l'on souhaite synthétiser en fonction de la fréquence des signaux susceptibles de traverser la bobine. Dans cet exemple, six jeux Ysl à Ys6 de valeurs d'inductance et de coefficient de qualité souhaitées sont donnés pour six valeurs de fréquence fl à f6, fl étant plus faible que f6. La valeur d'inductance L souhaitée augmente avec la fréquence, la valeur du coefficient de qualité Q souhaité augmente entre fl et f3, puis diminue entre f3 et f6. Lors des mesures des valeurs d'inductance L et de coefficient de qualité Q des bobines de référence, on effectue pour chaque bobine une mesure des grandeurs L et Q pour chacune des fréquences fl à f6. Pour chaque bobine de référence, on obtient alors 6 jeux Yrl à Yr6 de valeurs d'inductance L et de coefficient de qualité. On définit ensuite un modèle mathématique d'une bobine à spires carrées comprenant comme précédemment deux réseaux de neurones permettant de calculer respectivement une valeur d'inductance L et une valeur de coefficient de qualité Q. Les figures 4A et 4B sort des schémas de deux réseaux de neurones "complétés" par rapport aux réseaux de neurones représentés en figures 2A et 2B. Chaque réseau de neurones comprend en outre dans la couche de neurone initiale un neurone supplémentaire "f" associé à une variable de fréquence. De plus, la couche de neurones cachés comprend dans cet exemple 6 neurones Z1 à Z6. Comme les autres neurones U, W, S, N et D de la couche de neurones initiale, le neurone "f" est relié à chacun des neurones Zl à Z6. On détermine ensuite comme précédemment les valeurs des paramètres associés à chacune des flèches et les valeurs des paramètres des fonctions associées aux neurones Z1 à Z6 selon le procédé d'apprentissage décrit précédemment, à la différence que pour chaque jeu de paramètres choisi, on calcule pour chaque bobine de référence, 6 jeux Ycl à Yc6 de valeurs d'inductance et de coefficient de qualité pour chacune des six valeurs de fréquences fl à f6. Le jeu de paramètres retenu à l'issue du procédé d'apprentissage est celui donnant, pour l'ensemble des bobines de référence, les jeux calculés Ycl à Yc6 les plus proches des jeux souhaités Ysl à Ys6. Une fois le modèle mathématique de la bobine défini, on effectue une recherche d'un jeu X de valeurs de variables structurelles W, S, D, N et U définissant une bobine à spires carrées présentant sensiblement les valeurs Ls et Qs souhaitées représentées en figure 3 en fonction de la fréquence f des signaux susceptibles de traverser la bobine synthétisée. Pour ce faire, on effectue sensiblement les mêmes opérations que celles décrites précédemment excepté que pour chaque jeu Xl choisi de valeurs de variables structurelles W, S, D, N et U, on calcule un ensemble de jeux Yll à y16 de valeurs d'inductance L et de coefficient de qualité Q pour chacune des 6 fréquences fl à f6. Ensuite, pour chaque ensemble de jeux Y11 à Y16, on détermine si leurs valeurs d'inductance et de coefficient de qualité sont proches de celles de l'ensemble de jeux souhaités Ysl à Ys6. Pour estimer si deux ensembles de jeux Yll à Yl6 et Ysl à Ys6 sont proches, on considère comme précédemment que chacun des jeux Yll à Y16 et Ysl à Ys6 correspond à un point d'un espace à deux dimensions défini par deux axes référençant une valeur d'inductance L et une valeur du coefficient de qualité Q. On calcule ensuite pour chaque fréquence fj, la distance dj séparant les points Ylj et Ysj, j étant un entier compris entre 1 et 6. Puis on calcule une distance moyenne des distances dl à d6. Comme précédemment, le jeu Xl de variables structurelles finalement retenu est soit le jeu Xl correspondant à l'ensemble de jeux Yll à y16 le plus proche de l'ensemble de jeux Ysl à Ys6 souhaités, soit le premier jeu Xl choisi pour lequel la distance moyenne correspondant à l'ensemble de jeux Yll à y16 est inférieure à une valeur de distance seuil prédéterminée. 3. Généralisation et applications du procédé de synthèse Le procédé de la présente invention vise de façon générale à synthétiser un composant d'un type donné. Des types de composants donnés sont par exemple des composants inductifs, capacitifs, résistifs, des filtres, des résonateurs, des dispositifs microélectromécaniques connus sous le nom anglais de MEMs, ou des transistors. Chaque type de composant peut être défini géométrique-ment par un jeu X devariables structurelles xl à xn. Par ailleurs, chaque type de composant présente des caractéristiques de fonctionnement propres définissables de façon générale au moyen d'un jeu Y de variables de fonctionnement yl à ym. Les caractéristiques de fonctionnement sont par exemple des caractéristiques électriques, électromagnétiques, mécaniques ou des coefficients de qualité, de couplage. De plus, chacune des variables de fonctionnement yl à ym est éventuellement fonction d'une ou de plusieurs variables dites "d'utilisation". Une variable d'utilisation est par exemple la fréquence de signaux traversant le composant considéré ou la température du composant. Par souci de clarté, dans la suite de la description on considérera uniquement le cas où une seule variable d'utilisation u est éventuellement prise en compte. Le procédé de la présente invention permet de synthétiser un ou plusieurs composants d'un type donné. Lors du procédé de synthèse de la présente invention, on cherche à trouver des valeurs de variables structurelles définissant la géométrie d'un composant présentant sensiblement un jeu Ys de valeurs de variables de fonctionnement souhaitées. De plus, on peut définir plusieurs jeux Ysl, Ys2, Ysk de valeurs de variables de fonctionnement souhaitées pour chacune de k valeurs de la variable d'utilisation, conne cela est décrit dans l'exemple précédent en relation avec la figure 3. Le composant synthétisé doit pouvoir être fabriqué. Les valeurs des variables structurelles du composant doivent par conséquent être comprises dans des plages de valeurs possibles prédéfinies. Préalablement à la synthèse à proprement parler d'un composant, on construit un modèle général du composant du type considéré. Pour ce faire, on forme un ensemble de p composants de référence du type considéré présentant des structures différentes, c'est-à-dire des jeux Xrl à Xrp de variables structurelles différents, où p est un entier positif. De préférence, on prévoit un ensemble de composants de référence tels que les valeurs de leurs variables structurelles couvrent sensiblement toutes les plages de valeurs possibles de chacune des variables structurelles. On mesure ensuite chacun des p composants de référence et on obtient p jeux Yrl à Yrp de valeurs de variables de fonctionnement. Dans le cas où l'on souhaite synthétiser un composant présentant plusieurs jeux de valeurs souhaitées Ysl à Ysk pour k valeurs de la variable d'utilisation u, on détermine pour chaque composant de référence b, un jeu de valeurs Yrbl à Yrbk pour chacune des k valeurs considérées de la variable d'utilisation. Selon une variante de l'étape précédemment décrite, au lieu de fabriquer des composants de référence et de mesurer ensuite les valeurs de leurs variables de fonctionnement, on peut utiliser un logiciel de simulation pour calculer, à partir d'un ensemble d'équations physiques modélisant le type de composant étudié, des valeurs d'inductance et de coefficient de qualité d'un ensemble de composants de référence préalablement définis sous forme informatique. On construit ensuite un nombre m de réseaux de neurones, un réseau pour chacune des m variables de fonctionne-ment yl à ym. Chaque réseau de neurones comprend une couche de neurones initiale, une ou plusieurs couches de neurones cachée et une couche de neurone finale. La couche initiale comprend n neurones associés à chacune des n variables structurelles xl à xn et éventuellement un neurone associé à une variable d'utilisation u. La couche finale de chaque réseau comprend un neurone associé à une des variables de fonctionnement yl à ym. Le nombre de neurones des couches cachées peut être fixé librement. Comme précédemment décrit, chaque neurone d'une couche est relié à chaque neurone de la couche suivante, chaque lien étant représenté par une flèche. Chaque flèche est associée à un paramètre à déterminer. De plus, une fonction de type "à seuil" est associée à chaque neurone des couches cachées. Ainsi, quand la valeur de "potentiel" reçue par un neurone est sensiblement inférieure à un potentiel seuil, la valeur de potentiel émise par ce neurone est négative ou nulle et, quand la valeur de potentiel reçue est supérieure à ce potentiel seuil, la valeur de potentiel émise est positive. Les fonctions associées à chacun des neurones des couches cachées peuvent être différentes. Chaque fonction est généralement définie au moyen de paramètres à déterminer. La structure générale de chacun des m réseaux de neurones étant définie, on détermine les valeurs de chacun des paramètres associés à une flèche et de chacun des paramètres des fonctions associées à un neurone d'une couche cachée. Cette détermination est effectuée selon un procédé d'apprentissage visant à identifier par essais successifs un jeu satisfaisant de paramètres. Pour ce faire, pour chaque jeu de paramètres choisi, on calcule pour chaque composant de référence b un jeu Ycb de valeurs de variables de fonctionnement. Puis on cherche à iden- tifier le jeu de paramètres pour lequel les jeux Ycl à Ycp calculés pour les p composants de référence sont les plus proches des jeux Yrl à Yrp de référence. Pour évaluer si l'ensemble de jeux Ycl à Ycp et L'ensemble de jeux Yrl à Yrp sont proches, on peut se placer dans un espace à m dimensions défini par m axes référençant les valeurs de m variables de fonctionnement et calculer pour chaque composant de référence b une distance db séparant les points de coordonnées Yrb et Ycb, puis calculer la moyenne de ces distances. Dans le cas où plusieurs jeux Ysl à Ysk de valeurs souhaitées sont définies pour k valeurs d'une variable d'utilisation u, on calcule pour chaque composant de référence b un ensemble de jeux Ycbl à Ycbk, puis pour chaque composant de référence b, on calcule une distance moyenne db des distances entre les couples de points Ysl/Ycbl à Ysk/Ycbk et on calcule pour finir une moyenne de ces distances. On retient au final le jeu de paramètres pour lequel la moyenne est la plus faible. Selon un mode de mise en oeuvre préféré du procédé de l'invention, on utilise un procédé d'optimisation mettant en oeuvre un algorithme génétique pour rechercher un jeu de paramètres présentant une distance minimale. Après avoir défini complètement le modèle d'un compo- sant du type donné, on cherche à identifier un composant présentant sensiblement le jeu Ys ou les jeux Ysl à Ysk de valeurs souhaitées. Comme pour le procédé d'apprentissage précédemment décrit, on procède par essais successifs. On choisit plusieurs jeux Xl à Xq de valeurs de variables structurelles et on calcule, à partir du modèle précédemment défini, les jeux "résultats" Yl à Yq correspondant à chacun de ces jeux Xl à Xq. Dans le cas où l'on souhaite synthétiser un composant présentant plusieurs jeux de valeurs souhaitées Ysl à Ysk pour k valeurs de la variable d'utilisation u, pour chaque jeu Xl, 1 étant un entier compris entre 1 et q, on calcule k jeux résultats Yl1 à Ylk pour chacune des k valeurs considérées de la variable u. On estime ensuite si les jeux résultats calculés sont proches ou non du jeu Ys ou des jeux Ysl à Ysk souhaités. Pour faire cette estimation, on pourra se placer dans un espace à m dimensions défini par m axes référençant les valeurs de chacune 2880711 19 des variables de fonctionnement. On considère alors que chaque jeu résultat Yl, ou chacun des jeux résultats Yll à Ylk, ainsi que le jeu Ys ou chacun des jeux Ysl à Ysk correspond à un point de cet espace à m dimensions. On estime alors pour chaque jeu Xl, si le jeu Yl correspondant est proche de Ys ou si l'ensemble de jeux Yll à Ylk est proche de:L'ensemble de jeux Ysl à Ysk. Pour ce faire, soit on calcule pour chaque jeu Yl la distance dl séparant les jeux Yl et Ys, soit on calcule pour chaque ensemble de jeux Yll à Ylk la distance dl entre Yll et Ysl, la distance d2 entre Y12 et Ys2 et ainsi de suite jusqu'à la distance dk entre Ylk et Ysk, puis une distance moyenne de ces distances dl à dk. Selon un mode de mise en oeuvre du procédé de la présente invention, on choisit des jeux Xl à Xq de valeurs de variables structurelles jusqu'à trouver un jeu Xq pour lequel le jeu Yq ou l'ensemble de jeux Yql à Yqk correspondant sont suffisanunent proches du jeu Ys ou de l'ensemble de jeux Ysl à Ysk souhaités, c'est-à-dire tels que la distance dq séparant Yq et Ysq ou la distance moyenne entre l'ensemble de jeux Yql à Yqk et Ysl à Ysk est inférieure à une distance seuil prédéterminée. Selon un autre mode de mise en oeuvre du procédé de la présente invention, on choisit un nombre prédéterminé de jeux Xl à Xq de valeurs de variables structurelles et on retient au final le jeu Xl correspondant au jeu Yl ou à l'ensemble de jeux Y1.1 à Ylq le plus proche du jeu Ys ou de l'ensemble de jeux Ysl à Ysk. Selon le nombre de ressources informatiques dont on dispose et le temps maximal que l'on souhaite passer pour cette recherche d'un jeu X satisfaisant on peut prévoir de choisir un nombre plus ou moins important de jeux Xl à Xq. On peut éventuellement prévoir un mode intermédiaire entre ces deux modes de mise en oeuvre du procédé de la présente invention. On effectue par exemple une première série de choix de jeux Xl à Xq, et on regarde si la distance entre le jeu Ys et le jeu Yl le plus proche de Ys est inférieure à une distance seuil prédéterminée. Si tel n'est pas le cas, on effectue une deuxième série de choix de jeux X(q+l) à Xq' et on regarde de nouveau si la distance la plus petite entre le jeu Ys et un jeu Yl le plus proche de Ys est inférieure ou non à une distance seuil prédéterminée. On continue ainsi jusqu'à obtenir une dis-tance minimale satisfaisante ou pendant une durée prédéterminée. Quelle que soit la technique de recherche utilisée, on peut utiliser un procédé d'optimisation basé sur un algorithme génétique pour rechercher le jeu X]_ le plus satisfaisant. 4. Procédé de calcul associé à un réseau de neurones Un réseau de neurones comprend de façon générale une couche "initiale", une ou plusieurs couches "cachées" et une couche "finale". On décrira ci-après des réseaux de neurones comprenant une unique couche cachée, de tels réseaux s'avérant satisfaisants dans la modélisation de composants. Par ailleurs, dans le procédé de synthèse de la présente invention, sont utilisés uniquement des réseaux de neurones comprenant un seul neurone dans la couche finale, cet unique neurone correspondant à une variable de fonctionnement. De plus, chaque neurone de la couche initiale correspond à une variable structurelle ou à une variable d'utilisation du composant que l'on souhaite synthétiser. En outre, on décide généralement du nombre de neurones de la couche cachée en fonction du nombre de neurones de la couche initiale. Plus les neurones de la couche initiale sont nombreux, plus on prévoit de préférence un grand nombre de neurones pour la couche cachée. Connue précédemment décrit en relation avec les figures 2A, 2B, 4A et 4B, chacun des neurones de la couche initiale est relié par une flèche à un neurone de la couche cachée. De même, chacun des neurones de la couche cachée est relié au neurone de la couche finale. Dans cette description. générale des réseaux de neurones, les neurones de la couche initiale sont appelés Xl à Xn, les neurones de la couche cachée sont appelés Zl à Zm et le neurone de la couche finale est appelé Y, n et m étant deux entiers positifs. Le paramètre associé à une flèche reliant un neurone Xi de la couche d'entrée, i étant compris entre 1 et n, à un neurone Zj, où j est un entier compris entre 1 et m, est appelé "Wi,j". Le paramètre associé à une flèche reliant un neurone Zj au neurone Y est appelé Wi,y. Chaque réseau de neurones est en fait une représentation schématique d'un procédé de calcul d'une valeur d'une variable de fonctionnement correspondant au neurone Y, à partir des valeurs des variables structurelles et de la variable d'utilisation u associées à chacun des neurones Xl à Xn de la couche initiale. Le procédé de calcul associé à chaque réseau de 15 neurones est le suivant. On calcule une valeur de "potentiel" reçu par chacun des neurones Z1 à Zm de la couche cachée. Pour le neurone Zj, le potentiel vj reçu par ce neurone est calculé comme suit: vj = xi * Wi, j où. xi correspond à la valeur de la variable structurelle ou d'utilisation associée au neurone Xi. Le potentiel Vj fourni par un neurone Zj est égal à f(vj), où f est une fonction "à seuil" telle qu'une sigmoïde associée au neurone Zj. Le potentiel Vj émis par le neurone Zj peut être calculé de la façon suivante: 1-exp(-a*vj) Vj =fwj=1+ex p(-a*vj) où a est un coefficient pouvant être différent pour chacune des sigmoïdes associées aux neurones Z1 à Zm. Pour finir, on calcule la valeur y de la variable de 30 fonctionnement associée au neurone Y selon la formule suivante: ni Y=EVJ 5. Algorithme d'optimisation génétique Le procédé d'apprentissage utilisé pour définir les paramètres des réseaux de neurones et le procédé de recherche du jeu de variables structurelles correspondant au(x) jeu(x) de valeurs de variables de fonctionnement souhaitées utilisent un procédé d'optimisation. Un procédé d'optimisation particulière-ment performant pour la mise en oeuvre de la présente invention est un procédé mettant en oeuvre un algorithme génétique. Les procédés d'optimisation mettant en oeuvre un algorithme génétique sont bien connus. Dans le cas du procédé d'apprentissage, un exemple de mise en oeuvre d'un procédé d'optimisation basé sur un algorithme génétique consiste à effectuer pour chaque réseau de neurones les opérations suivantes illustrées en figures 5 à 7. Chacun des paramètres pl à pk du réseau de neurones est associé à un gène. Chaque gène correspond à un "mot" binaire de 5 bits dans cet exemple. Chaque mot binaire peut coder un nombre entier ou un nombre décimal correspondant à une valeur possible du paramètre associé au gène considéré. Une suite de gènes définie un "individu" et par extension, une "population" correspond à un ensemble d'individus. On choisit initialement une population PO comprenant n individus différents, les plus hétérogènes possibles. On calcule ensuite pour chaque individu correspondant à un jeu donné de valeurs de paramètres quel est l'écart moyen entre les jeux de variables de fonctionnement mesurés Yr et calculés Yc correspondant aux composants de référence. On sélectionne alors sensible-ment la moitié des n individus de la population initiale PO présentant les écarts moyens les plus faibles. On procède ensuite à des "croisements" ou à des "mutations" entre les n/2 individus sélectionnés afin d'obtenir une nouvelle population Pl comprenant n individus. Comme cela est illustré en figure 7, un croisement de deux individus A et B consiste à former deux nouveaux individus C et D comprenant chacun une partie des individus A et B. Une mutation consiste à former un nouvel individu en modifiant un ou plusieurs bits d'un individu. On procède ensuite à de nouveaux calculs afin de déterminer pour chacun des individus de la population Pl quel est l'écart moyen entre les jeux de variables de fonctionnement mesurés Yr et calculés Yc. Puis on sélectionne de nouveau la moitié des individus de la population Pl et on procède de nouveau à des croisements ou à des mutations afin d'obtenir une nouvelle population P2. On continue ainsi jusqu'à identifier un individu pour lequel l'écart moyen entre les jeux de variables de fonctionnement mesurés Yr et calculés Yc est inférieur à un seuil prédéfini. Dans le cas du procédé de recherche du jeu de variables structurelles correspondant au(x) jeu(x) de variables de fonctionnement souhaitées, on procède de façon identique en associant chaque variable structurelle à un gène. 6. Synthèse d'un microrésonateur La figure 8 est une vue en perspective d'un microrésonateur pouvant être placé dans un circuit intégré afin par exem- ple de réaliser un filtre. Le microrésonateur est posé sur une poutre 10 s'appuyant sur deux plots 11 et 12. Le microrésonateur est constitué d'un empilement 14 sensiblement parallélépipédique d'une couche conductrice inférieure 15, d'une couche piézoélectrique 16 et d'une couche conductrice supérieure 17. La couche conductrice inférieure 15, constituant une électrode inférieure, se prolonge d'un côté de la poutre par une bande conductrice 18 afin de relier l'électrode inférieure au reste du circuit non représenté. La couche piézoélectrique 16 et la couche conductrice supérieure 17 se prolongent de l'autre côté de la poutre par une portion 19. Un via conducteur 20 placé au bout de la portion 19 assure la liaison entre la couche conductrice supérieure, constituant une électrode supérieure, et une bande conductrice 21 placée sur la poutre 10, afin de relier l'électrode supérieure du microrésonateur au reste du circuit. Les électrodes du microrésonateur sont reliées à des bornes entre lesquelles est appliquée une tension. Le microrésonateur entre en résonance lorsque cette tension présente une fréquence égale à la fréquence de résonance du microrésonateur. La fréquence de résonance fr d'un tel microrésonateur et l'amplitude A de ses oscillations sont fonction de ses caractéristiques géométriques et notamment de la largeur 1 et de la longueur L de l'empilement 14 ainsi que des épaisseurs el, e2 et e3 des couches conductrices inférieure 15 et supérieur 17 et de la couche piézoélectrique 16. De plus, il est possible de faire varier la fréquence de résonance fr et l'amplitude des oscillations A d'un micro-résonateur tel que celui représenté en figure 8, en prévoyant un dispositif de déformation de la poutre 10. On peut par exemple placer une électrode contre la surface inférieure de la poutre 10 et une électrode sous la poutre et appliquer une tension continue V entre les deux électrodes afin d'obtenir une déformation souhaitée de la poutre 10. La détermination des caractéristiques géométriques d'un microrésonateur présentant une fréquence de résonance et une amplitude d'oscillation souhaitées peut être effectuée selon le procédé de synthèse de la présente invention. On peut également synthétiser un microrésonateur présentant un ensemble de couples Ysl à Ysk de fréquence de résonance fr et d'amplitude d'oscillations A pour un ensemble de tensions continues Vi à Vk appliquées entre les électrodes de déformation de la poutre 10. La largeur 1, la longueur L et les épaisseurs el, e2 et e3 des couches de l'empilement 14 constituent des variables structurelles. La fréquence de résonance fr et l'amplitude d'oscillation A constituent des variables de fonctionnement. La tension V constitue une variable d'utilisation. Pour ce faire, on forme plusieurs microrésonateurs de référence présentant des jeux différents de valeurs de variables structurelles 1, L, el, e2 et e3. Chaque microrésonateur de référence est ensuite mesuré afin de déterminer les couples Yrl à Yrk de fréquence fr et d'amplitude A pour chacune des k valeurs de tensions continues V1 à Vk. On construit ensuite deux réseaux de neurones comprenant chacun une couche initiale composée de 6 neurones associés à chacune des variables structurelles 1, L, el, e2 et e3 et à la variable d'utilisation V, ainsi qu'une couche cachée comprenant par exemple 7 neurones Zl à Z7. Chaque réseau de neurones de la couche finale est associé à une variable de fonctionnement fr ou A. On détermine alors les valeurs des paramètres des réseaux de neurones à partir des mesures précédemment effectuées selon le procédé d'apprentissage décrit précédenuuent. On choisit ensuite des jeux de valeurs de variables structurelles Xl à Xq et on calcule pour chaque valeur V1 à Vk les jeux de variables de fonctionnement correspondants Yll-Ylk à Yql-Yqk. On retient alors le jeu Xl pour lequel les jeux Yll-Ylk sont les plus proches des jeux souhaités Ysl à Ysk. Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'honune de l'art En particulier, dans les exemples précédemment décrits relatifs à une bobine ou à un microrésonateur, on pourra considérer d'autres variables structurelles telles que l'épaisseur de la bobine ou la longueur de la poutre sur laquelle est posé le microrésonateur. De plus, on pourra utiliser le procédé de la présente invention pour déterminer la nature ou la composition idéale d'un matériau constitutif du composant synthétisé. Dans l'exemple de la bobine, on peut par exemple introduire une ou plusieurs variables structurelles supplémentaires "de composi- tion" telles que la résistivité du matériau constitutif de la ligne spirale, la constante diélectrique du matériau isolant séparant les spires et ainsi de suite. Les valeurs possibles de ces variables structurelles de composition peuvent être définies 20 par une plage continue de valeurs ou par un ensemble fini de n valeurs correspondant à un ensemble de n matériaux différents. De plus, l'homme de l'art pourra mettre en oeuvre le procédé de la présente invention dans le cas où plusieurs varia- bles d'utilisation du composant considéré peuvent être prises en compte. Il faudra pour cela considérer non pas k valeurs d'une variable d'utilisation mais un ensemble de jeux de valeurs d'utilisation pouvant aisément être représentés dans un ensemble à n dimensions où n est le nombre de variables d'utilisation considérées. 27 REVENDICATIONS 1. Procédé de synthèse de la structure d'un composant de circuit monolithique d'un type donné présentant des caractéristiques de fonctionnement souhaitées, la structure et les caractéristiques de fonctionnement d'un tel composant étant définies au moyen respectivement de variables structurelles (X= [xl à xn]) et de variables de fonctionnement (Y= [yl à yn]), comprenant les étapes suivantes: définir le composant souhaité par un jeu de valeurs de variables de fonctionnement souhaitées (Ys) ; former un ensemble de composants de référence du type donné présentant des jeux de valeurs de variables structurelles différents; mesurer le jeu de valeurs de variables de fonctionne-ment (Yr) de chaque composant dudit ensemble; construire des réseaux de neurones dont chacun associe l'ensemble des variables structurelles à l'une des variables de fonctionnement, chacun de ces réseaux permettant de déterminer la valeur d'une variable de fonctionnement à partir de valeurs des variables structurelles, les valeurs des paramètres des réseaux de neurones étant déterminées à partir des mesures précédentes; choisir des jeux de valeurs de variables structurelles (X1 à Xq) et pour chaque jeu choisi (Xl), calculer séparément la valeur de chaque variable de fonctionnement au moyen desdits réseaux de neurones, pour obtenir un jeu résultat (Yl) ; et retenir un jeu résultat correspondant sensiblement au jeu de valeurs de variables de fonctionnement souhaitées, le jeu de valeurs de variables structurelles correspondant au jeu résultat retenu définissant le composant synthétisé. 2. Procédé selon la revendication 1, caractérisé en ce qu'il consiste à adjoindre dans chaque réseau de neurones une variable d'utilisation (u) aux variables structurelles, à définir le composant souhaité par un ensemble de jeux de valeurs de variables de fonctionnement souhaitées (Ysl à Ysk) correspon- 15 dant à une pluralité de valeurs possibles de la variable d'utilisation, et pour chaque choix d'un jeu de valeurs de variables structurelles (Xl) à répéter les calculs pour la pluralité de valeurs possibles de la variable d'utilisation de façon à obtenir un ensemble de jeux résultats (Yll à Ylk). 3. Procédé selon la revendication 1, dans lequel les choix de jeux de valeurs de variables structurelles sont effectués selon une méthode d'optimisation mettant en oeuvre un algorithme génétique. 4. Procédé selon la revendication 1, dans lequel la détermination des paramètres de chaque réseau de neurones est effectuée selon une méthode d'optimisation mettant en oeuvre un algorithme génétique. 5. Procédé selon la revendication 1, dans lequel une plage de valeurs possibles est définie pour chacune des variables structurelles (xl à xn) et dans lequel les jeux de valeurs de variables structurelles des composants de référence couvrent sensiblement l'ensemble des plages de valeurs définies pour chacune des variables structurelles. 6. Procédé selon la revendication 1, dans lequel pour évaluer si un jeu résultat de valeurs de variables de fonctionnement (Yl) correspond sensiblement à un jeu de valeurs souhaitées (Yr) on se place dans un espace multidimensionnel défini par des axes référençant chacune des variables de fonctionnement où chaque jeu correspond à un point et on évalue la distance séparant les deux points correspondant aux deux jeux considérés. 7. Procédé selon la revendication 1, dans lequel le composant considéré est une bobine. 8. Procédé selon la revendication 1, dans lequel le 30 composant considéré est un microrésonateur. 9. Procédé selon les revendications 2 et 7, dans lequel la variable d'utilisation est la fréquence.