Brevet FR2846790A1 — publié le 20040507

DISPOSITIF POUR LA DETERMINATION DE LA VERSION DE MASQUE UTILISEE POUR CHAQUE COUCHE METAL D'UN CIRCUIT INTEGRE La présente invention se rapporte à un dispositif permettant la détermination de l'enchaînement des numéros de version des masques de photogravure mis en oeuvre dans un processus de réalisation d'une puce, et notamment des masques métaux, la détermination automatique des numéros de version des masques 5 correspondants à chaque couche métal pouvant avantageusement être effectuée d'un point de vue logiciel. L'invention concerne donc le domaine de la microélectronique et plus particulièrement celui de la réalisation de puces désignant de manière générale tout type de composants électroniques à circuits intégrés. Un circuit intégré est typiquement un dispositif électronique multicouches 10 qui comprend, par exemple, des régions source/drain formées dans un substrat de silicium (niveau transistor), une couche de polysilicium pour former une région de grille sur le substrat (niveau poly), ainsi qu'une pluralité de couches d'interconnexion (niveaux métaux) . Pour fabriquer chacun de ces niveaux d'un circuit intégré, un ou plusieurs masques de gravure sont utilisés en combinaison 15 avec des techniques standards de photogravure et d'attaques chimiques pour transférer les motifs respectifs de chacun des masques mis en oeuvre au niveau des diverses couches du circuit intégré. En particulier, pour la réalisation de circuits intégrés complexes, un grand nombre de niveaux de masque sont requis et tous les masques de gravure utilisés pour la réalisation du circuit intégré complexe forment 20 un jeu de masques donné qui est lié audit circuit intégré. Chaque circuit intégré donné est en fait doté d'un numéro de version auquel se rapporte le jeu de masques correspondant à ladite version du circuit intégré. Chaque masque du jeu de masques ayant égalemenit son propre numéro de version. En effet, quand une version améliorée d'un circuit intégré existant déjà doit 25 être produite, dans le but par exemple de corriger certains défauts identifiés dans la topologie initiale du circuit, de nouvelles versions de masque sont générées pour chaque niveau o un (ou des) défaut(s) a (ont) été identifié(s), de façon à le corriger. On insère donc une nouvelle version de masque o le défaut identifié a été corrigé à la place du masque existant défectueux dans le jeu de masques initial, générant ainsi une nouvelle version du circuit intégré. A chaque version améliorée d'un circuit intégré est alors attribué un nouveau numéro de version du circuit 5 auquel est associé un jeu de masques correspondant. Ce numéro de version est la façon la plus simple de connaître la topologie des différentes couches du circuit intégré ainsi que les défauts référencés associés à chaque version du circuit intégré. De multiples versions de masque peuvent donc être générées à partir d'une topologie initiale de circuit intégré, de façon à corriger des défauts identifiés dans 0 certaines couches correspondantes. Il s'agit essentiellement des couches métaux. Dans le cadre de la présente invention, on s'intéressera donc plus particulièrement aux niveaux de masque métal, c'est-à-dire les niveaux de masque utilisés pour la réalisation des couches d'interconnexion. Le numéro de version du circuit intégré est habituellement indiqué sur le 1 5 boîtier du circuit, par sérigraphie par exemple. Ainsi, le numéro de version peut être accessible visuellement pour permettre à l'opérateur de déterminer la version de la puce et en conséquence le jeu de masques correspondant avec les versions de masque s'y rapportant. Toutefois, lorsque le boîtier de la puce se trouve encarté par exemple, 20 l'information concernant le numéro de version de la puce n'est plus disponible. De plus, dans la phase de modélisation, l'approche consistant à lire visuellement le numéro de version d'une puce sur le boîtier de la puce peut être source d'erreurs à cause notamment d'une documentation vague ou imprécise des changements de masque requis pour chaque changement de version, ou à cause 25 d'une éventuelle interprétation ou identification incorrecte par l'opérateur du jeu de masques adapté correspondant à chaque version. Egalement, un autre inconvénient est que le numéro de version de la puce gravé sur le boîtier n'est pas exploitable d'un point de vue logiciel, ce qui est un handicap dans un contexte d'automatisation accrue de la gestion et de la validation des différents numéros de version de chaque niveau de masque métal à utiliser pour une version de puce donnée. Aussi, pour les puces comprenant une couche mémoire de type ROM, une solution consiste à indiquer le numéro de version de la puce dans un 5 microprogramme embarqué dans la mémoire de la puce. Si des modifications sont nécessaires pour corriger un ou des défauts identifiés sur au moins un niveau de masque métal, au moins une nouvelle version de masque correspondant va être générée et le microprogramme va alors être également modifié de façon à indiquer le nouveau numéro de version de la puce. Ce microprogramme peut être interrogé 0 par une application extérieure par l'intermédiaire de moyens logiciels, permettant ainsi d'identifier précisément le numéro de version de la puce et donc d'en tirer les conséquences pour ce qui est de la gestion des défauts à mettre en oeuvre pour cette version. Cette solution présente toutefois certains inconvénients. Notamment, dans 15 un cas o il n'y aurait aucun défaut au niveau du microprogramme et o la correction à effectuer serait située au niveau d'une autre couche métal, il faut néanmoins générer un nouveau microprogramme embarqué pour refléter le nouveau numéro de version de la puce et, également, générer une nouvelle version de masque correspondant au niveau métal à corriger. Cette solution implique donc 20 dans ce cas de changer deux niveaux de masque au lieu d'un seul, ce qui la rend plus onéreuse. Une.autre solution consiste à gérer le numéro de version de la puce en le codant en dur par une pluralité de fils reliés, soit à la masse, soit à la tension d'alimentation, de façon à créer un code binaire reflétant le numéro de version de la 25 puce. Cependant, l'inconvénient. de cette solution est lié à son manque de flexibilité. En effet, le codage du numéro de version de la puce est effectué dans un premier temps à un haut niveau de modélisation et ensuite, l'outil automatique de placement routage qui va mettre en oeuvre ce codage va coder le numéro de version 30 en répartissant les fils sur plusieurs couches. Par conséquent, comme le numéro de version de la puce est codé sur plusieurs couches, il faut éventuellement régénérer plusieurs niveaux de masque métal si la modification à effectuer n'implique pas les couches o est codé le numéro de version de la puce. La gestion des numéros de version de la puce est donc d'une part, assez complexe à mettre en oeuvre et, 5 d'autre part, onéreuse puisqu'il faut intervenir au niveau de plusieurs couches pour modifier le code reflétant le numéro de version. Aussi, un des buts de la présente invention est de prévoir un dispositif permettant de déterminer la version des différents niveaux de masque métal mis en oeuvre dans la fabrication d'un circuit intégré donné, tout en palliant les 10 inconvénients de l'art antérieur, c'est-à-dire qui permet d'identifier de façon simple et automatique, par l'intermédiaire d'une seule et unique application logicielle, les versions de masque correspondant à chaque couche métal du circuit intégré. Un autre but de l'invention est de réduire le cot de fabrication des circuits intégrés. A cet effet, la présente invention a pour objet un dispositif pour la détermination de la version de masque métal utilisé pour la fabrication d'une couche métal donnée dans un circuit intégré comprenant une pluralité de couches métaux, toute modification apportée à la couche métal donnée nécessitant la génération d'une nouvelle version du masque métal correspondant, ledit dispositif 20 étant caractérisé en ce qu'il comprend une cellule intégrée à ladite couche métal comprenant au moins une première source de tension pour fournir un premier niveau de tension, au moins une seconde source de tension pour fournir un second niveau de tension et un bus de sortie, composé d'au moins un fil conducteur connecté sélectivement à l'une desdites première et seconde source de tension en 25 fonction de la version de masque métal utilisée pour la fabrication de ladite couche métal, de sorte à fournir un signal binaire de sortie représentatif de ladite version de masque utilisée. Selon un mode de réalisation préféré, le bus de sortie de la cellule comprend deux fils conducteurs. Avantageusement, le nombre de fils conducteurs composant le bus de sortie de la cellule est proportionnel au nombre de versions de masque métal pouvant être utilisé pour la couche métal donnée. De préférence, à l'intérieur de la cellule, chaque fil conducteur composant 5 le bus de sortie est routé proche de la première source de tension et de la seconde source de tension de façon à faciliter les connexions et déconnexions de l'une à l'autre. De préférence, la première source de tension comprend une borne d'alimentation. De préférence, la seconde source d'alimentation comprend une borne de masse. L'invention concerne également un circuit intégré comprenant une pluralité de couches métaux, caractérisé en ce que chaque couche métal comprend le dispositif selon l'invention décrit plus haut. 1 5 D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante donnée à titre d'exemple illustratif et non limitatif et faite en référence aux figures annexées dans lesquelles: - la figure 1 montre un schéma d'une couche métal intégrant le dispositif selon l'invention dans une première configuration; 20 - la figure 2 montre un schéma d'une couche métal intégrant le dispositif selon l'invention dans une seconde configuration. La figure 1 montre donc un empilement de couches métaux, respectivement MetalO, Metall, Metal2 et Metal3, qui forment les couches d'interconnexion d'un circuit intégré. Chacune des couches métaux MetalO à Metal3 du circuit intégré 25 comprend une cellule Cell spécifiquement dédiée à la détermination de la version du masque métal qui a servi à la fabrication de la couche métal correspondante. Chaque cellule comprend au moins une sortie. Dans l'exemple de la figure 1, la cellule comprend deux fils conducteurs de sortie S I et S2 formant un bus de sortie de la. cellule. Chaque cellule comprend également au moins une première 30 source de tension se présentant sous la forme d'une borne d'alimentation de façon à fournir un premier niveau de tension haut Vdd et au moins une deuxième source de tension se présentant sous la forme d'une borne de masse de façon à fournir un second niveau de tension bas GND. Dans l'exemple de la figure 1, chaque cellule comprend successivement, réparti sur toute la surface de la cellule, une première 5 borne d'alimentation Vdd, une borne de masse GND et une seconde borne d'alimentation Vdd, la borne de masse étant placée entre les deux bornes d'alimentation. A l'intérieur de la cellule, le premier fil conducteur Sl est routé entre la première borne d'alimentation et la borne de masse, et le deuxième fil conducteur S2 est routé entre la borne de masse et la deuxième borne 10 d'alimentation. Ainsi, à l'intérieur de la cellule Cell, chacun des deux fils conducteurs, respectivement Si et S2, est routé proche à la fois de la borne d'alimentation Vdd et de la borne de masse GND, de manière à faciliter les connexions et déconnexions des fils conducteurs Si et S2 d'une borne à l'autre. Le signal de 15 sortie de la cellule résulte en effet d'une combinaison prédéterminée des connexions des fils conducteurs SI et S2 à la borne d'alimentation ou à la masse au sein de chaque cellule. Selon le mode de réalisation décrit, le bus de sortie de la cellule formé des deux fils conducteurs Si et S2 permet donc de fournir un signal binaire de sortie 20 codé sur deux bits. Un tel signal de sortie codé sur deux bits permet de supporter quatre numéros de versions de masque distinctes pour une couche métal donnée, qui se rapportent aux différentes modifications nécessaires pour éliminer successivement plusieurs défauts identifiés dans la couche métal. Le nombre de fils conducteurs composant le bus de sortie de la cellule est 25 en fait déterminé proportionnellement en fonction du nombre de versions de masque métal désiré pour une couche métal donnée. Au moins un fil conducteur de sortie est nécessaire, ce qui permet de coder deux numéros de version de masque. Le nombre de versions de masque distinctes pouvant être supporté pour une couche métal donnée est en fait donné par la relation suivante: nombre de versions = 2 nombre de fils conducteurs composant le bus de sortie de la cellule Dans l'état initial représenté à la figure 1, chaque couche métal à une version zéro de son masque correspondant. Dans cette configuration, les deux fils conducteurs S1 et S2 sont connectés à la masse GND à l'intérieur de chaque cellule de chaque couche métal MetalO à Metal3. Les deux bits formant le signal de sortie 5 de chaque cellule sont donc à l'état zéro, signifiant que chaque couche métal a une version zéro de son masque. La figure 2 illustre une évolution par rapport à la configuration initiale décrite en référence à la figure 1. Dans l'exemple de la figure 2, le masque métal utilisé pour la fabrication de la couche Metal3 a été modifié de sorte à éliminer un 1 0 défaut du masque, correspondant à un défaut identifié sur la couche metal3 dans sa configuration initiale. Une nouvelle version du masque, appelée version 1, est alors utilisée pour la fabrication de la couche metal3 du circuit intégré. Les autres couches ne sont pas modifiées et gardent la version zéro de leur masque de fabrication correspondant. Ainsi, pour les couches MetalO à Metal2, les deux bits de sortie de chaque cellule correspondante restent à l'état zéro, indiquant que ces couches ont une version zéro de leur masque. Les deux fils conducteurs constituant le bus de sortie de chacune des cellules associées respectivement aux couches MetalO à Metal2 sont donc toujours connectés à la masse GND. Quant à la cellule associée à la couche Metal3, son signal de sortie est modifié pour refléter le changement de version du masque métal correspondant à la couche Metal3. Pour ce faire, quand on change le masque Metal3, à l'intérieur de la cellule, une nouvelle configuration des connexions des fils Si et S2 aux bornes d'alimentation et de masse est sélectionnée. Ainsi, le fil conducteur S 1 est 25 déconnecté de la borne de masse GND pour être connecté à la borne d'alimentation Vdd, et la connexion du fil conducteur S2 à la borne de masse GND n'est pas modifiée. Le bit de poids faible fourni par SI passe à l'état 1, tandis que le bit de poids fort fourni par S2 reste à l'état 0. Cette nouvelle sélection des connexions effectuée à l'intérieur de la cellule associée à la couche Metal3 se traduit par une 30 nouvelle combinaison des bits de sortie de la cellule, qui permet de coder le nouveau numéro de version du masque correspondant à la couche Metal3. Le masque est donc maintenant en version 1. Ce numéro de version est disponible en sortie de la cellule de la couche Metal3 par l'intermédiaire du bus de sortie de la cellule qui fournit le code binaire 0-1 représentatif de la version 1 du masque s utilisée pour la fabrication de la couche Metal3. Par la suite, un éventuel nouveau défaut détecté sur la couche Metal3 peut nécessiter la mise en oeuvre d'une version 2 du masque correspondant pour le corriger. Dans ce cas, quand on change le masque, un nouveau code binaire représentatif de la version 2 du masque sera généré en sortie de la cellule associée, par exemple le code 1-0. Le bit de poids 1 0 faible SI sera alors reconnecté à la masse et le bit de poids fort S2 sera déconnecté de la masse pour être connecté à l'alimentation. Les informations binaires obtenues en sortie de chaque cellule associées à chaque couche métal du circuit intégré peuvent alors être utilisées par un microprogramme du circuit intégré pour être fournies ultérieurement à une 15 application logicielle externe au circuit intégré. Ces informations binaires peuvent aussi être traitées et fournies directement à l'application logicielle externe par l'intermédiaire de moyens matériels. Par exemple, en référence au mode de réalisation décrit aux figures 1 et 2, les deux bits de sortie de chaque cellule associée respectivement aux quatre couches métaux MetalO à Metal3, peuvent être 20 regroupés dans un mot de huit bits destiné à être envoyé vers l'application logicielle externe. Ce mot codé sur huit bits étant alors représentatif de la version de masque utilisé pour chaque couche métal MetalO à Metal3 du circuit intégré. Ainsi, par l'intermédiaire d'une seule et unique application logicielle, il est possible de déterminer simplement et aisément pour un circuit intégré donné, la 25 version de masque utilisée pour chaque couche métal du circuit intégré et, par conséquent, les défauts qui ont été corrigés pour chaque couche métal puisque chaque version de masque pour une couche donnée correspond à un (ou plusieurs) défaut(s) qui a été (ont été) identifié(s) et corrigé(s). REVENDICATIONS 1. Dispositif pour la détermination de la version de masque métal utilisée pour la fabrication d'une couche métal donnée (Metal3) dans un circuit intégré comprenant. une pluralité de couches métaux (MetalO,..., Metal3), toute modification apportée à la couche métal donnée (Metal3) nécessitant la génération 5 d'une nouvelle version du masque métal correspondant, ledit dispositif étant caractérisé en ce qu'il comprend une cellule (Cell) intégrée à ladite couche métal (Metal3) comprenant au moins une première source de tension (Vdd) pour fournir un premier niveau de tension, au moins une seconde source de tension (GND) pour fournir un second niveau de tension, et un bus de sortie composé d'au moins un fil 10 conducteur (Si, S2) connecté sélectivement à l'une desdites première et seconde source de tension en fonction de la version de masque métal utilisée pour la fabrication de ladite couche métal, de sorte à générer un signal binaire de sortie représentatif de ladite version de masque utilisée. 2. Dispositif selon la revendication 1, caractérisé en ce que le bus de sortie 15 de la cellule comprend deux fils conducteurs (S 1, S2). 3. Dispositif selon la revendication 1 ou 2, caractérisé en ce que le nombre de fils conducteurs composant le bus de sortie de la cellule est proportionnel au nombre de versions de masque métal pouvant être utilisé pour la couche métal donnée. 4. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que, à l'intérieur de la cellule, chaque fil conducteur composant le bus de sortie est routé proche de la première source de tension et de la seconde source de tension de façon à faciliter les connexions et déconnexions de l'une à l'autre. 5. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la première source de tension comprend une borne d'alimentation (Vdd). 6. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la seconde source de tension comprend une borne de masse (GND). 7. Circuit intégré comprenant une pluralité de couches métaux (MetalO, Metal3), caractérisé en ce que chaque couche métal comprend le dispositif selon l'une des revendications 1 à 6.