Brevet FR3082638A1 — publié le 20191220

B16909 - DD18558ST 1 CONCEPTION D'UN CIRCUIT 3D COMPRENANT DES MACROS Domaine de l'invention La présente description concerne le domaine de la conception de circuits 3D, et en particulier un procédé et un dispositif informatique pour générer un tracé (en anglais "layout") de circuit 3D en utilisant un outil de conception de circuits 2D. Exposé de l'art antérieur Pendant la conception d'un circuit intégré comprenant 10 des millions de transistors, une phase clé du processus de conception est l'opération de mise en oeuvre physique impliquant une synthèse du circuit et un "placement-routage". Pendant cette opération, un fichier représentant le circuit à fabriquer, comme un fichier GDS (de l'anglais Graphic Database System - système de 15 base de données graphique), est généré par un outil de conception dédié. L'outil de conception réalise par exemple une synthèse de circuits afin de générer une mise en oeuvre au niveau portes, puis place les cellules de la conception de circuit sur la surface disponible du circuit intégré. Un algorithme de routage est 20 ensuite appliqué pour interconnecter les cellules de la conception de circuit afin de créer un tracé du circuit. B16909 - DD18558ST 2 Les circuits 3D, dans lesquels des cellules sont disposées sur de multiples niveaux empilés interconnectés par des interconnexions came des vias 3D, procurent de nombreux avantages en ce qui concerne la compacité et les performances des circuits. 5 Il existe diverses technologies qui peuvent être utilisées pour fabriquer des circuits 3D. Par exemple, certaines de ces technologies sont basées sur la fabrication de plusieurs circuits 2D, qui sont ensuite empilés dans un agencement face contre face, face contre dos, ou dos contre dos, ou empilés en utilisant un mélange de ces interfaces. La "face" d'un circuit intégré correspond au côté le plus proche des niveaux d'interconnexions métalliques, alors que le "dos" correspond au côté le plus proche du substrat, généralement constitué de silicium. Une autre technologie, connue sous le nom de technologie de transistors 3D monolithique, et connue aussi sous le nom de 3D séquentielle et CoolCube', implique la fabrication d'une pluralité de niveaux de transistors d'un seul bloc. En particulier, deux ou plusieurs niveaux de transistors sont formés séquentiellement et interconnectés par des vias 3D verticaux correspondant à un agencement face contre dos. Par exemple, cette technologie est décrite plus en détail dans la publication de P. Batude et al. intitulée "3D sequential integration opportunities and technology optimization", IEEE International Interconnect Technology Conference, 2014, pages 373-376. Un avantage de la technologie 3D monolithique est que les épaisseurs de silicium de chaque niveau peuvent être relativement petites, ce qui permet une haute densité d'interconnexions entre les niveaux. Un problème dans la conception de circuits 3D est que les outils logiciels existants mettant en oeuvre le placement et le routage ont été développés pour des circuits 2D, et ne sont pas compatibles avec la génération de conceptions de circuits 3D à haute densité. En outre, la création d'un nouvel outil de conception agencé pour la conception de circuits 3D serait consonuatrice de temps et coûteuse. B16909 - DD18558ST 3 On a donc besoin dans la technique d'un procédé et d'un dispositif de conception de circuits permettant la conception de circuits 3D ayant une relativement grande densité. Résumé 5 Un objet de modes de réalisation de la présente description est de résoudre au moins partiellement un ou plusieurs besoins de l'art antérieur. Selon un aspect, on prévoit un procédé de conception de circuits 3D comprenant : fournir, à un outil de conception de 10 circuits, des fichiers de conception de circuit représentant une conception de circuit 3D comprenant un ou plusieurs macros comportant chacun une propriété permettant que d'autres éléments de circuit lui soient superposés ; réaliser, par l'outil de conception de circuit, un placement et un routage de la conception 15 de circuit 3D pour générer un tracé de circuit 3D de la conception de circuit 3D, le placement et le routage comprenant au moins partiellement la superposition d'une ou plusieurs cellules logiques sur lesdits un ou plusieurs macros et le routage de connexions entre lesdites une ou plusieurs cellules logiques et 20 des plots d'interconnexion 3D définis sur des faces desdits un ou plusieurs macros ; et générer un tracé de circuit 3D final en extrayant, à partir du tracé de circuit 3D, un premier tracé de circuit d'un premier niveau comprenant lesdites une ou plusieurs cellules logiques et un deuxième tracé de circuit d'un deuxième 25 niveau comprenant lesdits un ou plusieurs macros. Selon un mode de réalisation, le procédé comprend en outre la transmission du tracé de circuit 3D final de la conception de circuit 3D à un site de production pour sa fabrication. Selon un mode de réalisation, le procédé comprend en 30 outre la fabrication d'une conception de circuit 3D sur la base du tracé de circuit 3D final. Selon un mode de réalisation, chacun desdits un ou plusieurs macros comprend une couche de superposition définissant une région de chaque macro à laquelle d'autres circuits peuvent 35 être superposés. B16909 - DD18558ST 4 Selon un mode de réalisation, lesdits un ou plusieurs macros sont définis dans les fichiers de conception de circuit comme étant encapsulés dans un niveau supérieur dans lequel les plots d'interconnexion 3D sont présents. 5 Selon un mode de réalisation, le tracé de circuit 3D comprend un ou plusieurs niveaux comprenant seulement les macros. Selon un mode de réalisation, le procédé comprend en outre, avant de réaliser le placement et le routage, une opération de synthèse pendant laquelle une définition fonctionnelle d'un 10 circuit logique de la conception de circuit 3D est traduite en une liste de connexions définissant lesdites une ou plusieurs cellules logiques. Selon un mode de réalisation, l'opération de synthèse est basée sur un préplacement desdits un ou plusieurs macros sur 15 un plan d'implantation 3D. Selon un autre aspect, on prévoit un système de conception de circuits comprenant un ou plusieurs processeurs et une ou plusieurs mémoires mémorisant des instructions de logiciel qui amènent lesdits un ou plusieurs processeurs à mettre en oeuvre 20 le procédé susmentionné. Selon un autre aspect, on prévoit un support de stockage non transitoire mémorisant des instructions de logiciel qui amènent le procédé susmentionné à être mis en oeuvre lorsque les instructions sont exécutées par un ou plusieurs processeurs. 25 Brève description des dessins Les caractéristiques et avantages susmentionnés et d'autres apparaîtront clairement avec la description détaillée suivante de modes de réalisation, donnée à titre d'illustration et non de limitation, en faisant référence aux dessins joints dans 30 lesquels : la figure 1 est une vue en coupe d'un circuit 3D selon un exemple d'agencement face contre dos ; la figure 2 est une vue en coupe d'un empilement de circuits intégrés selon un exemple ; B16909 - DD18558ST 5 la figure 3A illustre un circuit 3D selon un exemple de réalisation de la présente description ; la figure 3B est une vue à plat d'une conception de circuit 2D comprenant des cellules logiques et des circuits 5 macros ; la figure 3C est une vue à plat de couches d'une conception de circuit 3D comprenant une couche de cellules logiques et une autre couche de macros ; la figure 4 illustre schématiquement un système de 10 conception de circuits 3D selon un exemple de réalisation de la présente description ; la figure 5 est un organigramme représentant des étapes dans un procédé de conception de circuit 3D selon un exemple de réalisation de la présente description ; 15 la figure 6A est une vue à plat d'un macro comprenant une couche de superposition ; la figure 6B est une vue à plat de plots d'interconnexions 3D du macro de la figure 6A ; la figure 7A illustre un plan d'implantation d'un 20 circuit 3D selon un exemple de réalisation de la présente description ; la figure 7B illustre le circuit 3D de la figure 7A pendant le placement-routage selon un exemple de réalisation de la présente description ; et 25 la figure 8 est une vue en coupe d'un circuit 3D comprenant un circuit logique superposé sur un macro selon un exemple de réalisation de la présente description. Description détaillée La figure 1 est une vue en coupe d'un circuit 3D 30 monolithique 100 selon un exemple de réalisation. Le circuit 100 comprend par exemple un niveau 102 de transistors formé sur une couche poignée 101, et un autre niveau 104 de transistors formé au-dessus du niveau 102. Une couche d'interconnexion métallique intermédiaire 106 sert par exemple à assurer des interconnexions 35 entre des dispositifs de transistors 108 des niveaux 102, 104. B16909 - DD18558ST 6 Bien que cela ne soit pas illustré en figure 1, une autre couche d'interconnexion métallique pourrait être prévue au-dessus du niveau 104. Des exemples de vias 3D 110, 112 sont aussi illustrés, connus sous le nom de vias inter-niveaux monolithiques (MIV). 5 La figure 2 est une vue en coupe d'un circuit 3D 200 comprenant un empilement de circuits intégrés, comprenant des interfaces face contre face, dos contre dos et dos contre face entre les côtés du dessus (FACE) et les côtés du dessous (BACK) des circuits. Dans l'exemple de la figure 2, il y a cinq circuits 10 intégrés formant des niveaux correspondants référencés Ti (niveau inférieur) à T5 (niveau supérieur). Chaque circuit intégré comprend par exemple une couche de substrat (SUBSTRATE) 202 constituée par exemple de silicium, une couche de transistors (TRANSISTORS) 204 ou FEOL (extrémité avant de ligne) et une couche 15 d'interconnexions métalliques (METALS) 206 ou BEOL (extrémité arrière de ligne) comprenant un ou plusieurs niveaux métalliques, dont des exemples de couches M1 et MX sont représentés en figure 2. Les substrats 202 des niveaux Tl à T4 ont par exemple été amincis. Là où le côté arrière est utilisé connue interface, des 20 TSV (vias à travers le silicium) 208 sont par exemple utilisés pour former des connexions entre la couche métallique 206 et le côté arrière. Le niveau inférieur T1 dans l'empilement comprend par exemple des bossages 210 pour connecter l'empilement à une carte de circuit (non illustrée en figure 2). 25 La figure 3A illustre un circuit 3D 300 selon un exemple de réalisation de la présente description. Le circuit 3D 300 peut par exemple être considéré comme un circuit 3D à haute densité, impliquant un circuit 3D comprenant un empilement de niveaux (des puces ou des couches dans un circuit monolithique) dans lequel 30 des vias 3D ont un diamètre égal ou inférieur à 5 um. Les présents inventeurs ont remarqué que dans des circuits numériques ou des circuits mixtes numériques / analogiques, la surface occupée par des cellules logiques, c'est-à-dire des cellules standard, va en général jusqu'à 50 %. Le reste 35 est occupé par des circuits macros plus grands, parfois appelés B16909 - DD18558ST 7 circuits IP (de l'anglais Intellectuel Property - propriété intellectuelle). Comme cela est connu de l'homme de l'art, les cellules logiques sont des circuits relativement petits comprenant des 5 dispositifs logiques numériques qui sont utilisés pour mettre en oeuvre des fonctions logiques booléennes, comme des portes ET, OU, NON OU, OU EXCLUSIF et NON OU EXCLUSIF, ou des fonctions de mémorisation basiques, comme des verrous et des bascules. Ces cellules logiques sont générées par l'outil de conception de 10 circuit pendant une opération de synthèse basée sur du code définissant la fonctionnalité des cellules logiques, par exemple sous la forme de code RTL (de l'anglais Register Transfer Level niveau transfert de registres). Chaque cellule logique est par exemple sélectionnée dans une librairie de cellules standards, et 15 la sélection, pendant la synthèse du circuit, de la cellule standard particulière pour mettre en oeuvre chaque fonction logique peut être basée non seulement sur la fonction logique, mais aussi sur d'autres facteurs comme la surface disponible, le positionnement des macros et d'autres cellules logiques, etc. Dans 20 certains modes de réalisation, cette sélection peut être modifiée pendant l'opération de placement et de routage. Comme cela est aussi connu dans la technique, les macros sont en général des circuits plus grands qui peuvent comprendre des circuits de cellules logiques, des mémoires et/ou d'autres 25 circuits comprenant des circuits analogiques. La conception d'un macro, comprenant le positionnement dans le macro des diverses cellules du macro et des interconnexions entre ces cellules, peut être considérée comme fixe, en d'autres termes, elle n'est pas modifiée pendant la synthèse du circuit et les opérations de 30 placement et de routage. Comme cela est représenté en figure 3A, selon des modes de réalisation de la présente description, le circuit 3D 300 est par exemple conçu pour avoir l'un de ses niveaux, le niveau inférieur 11 dans l'exemple de la figure 3A, contenant seulement 35 des cellules logiques, ou un mélange de cellules logiques et de B16909 - DD18558ST 8 quelques macros (LOGIC (+ MACROS)), et pour avoir un ou plusieurs niveaux contenant seulement des macros. Dans l'exemple de la figure 3A, il y a des niveaux T2 est T3 contenant seulement des macros (MACROS). 5 Le circuit 3D 300 pourrait par exemple être formé en utilisant une technologie monolithique 3D séquentielle comme décrit précédemment en relation avec la figure 1, qui correspond à l'utilisation d'interfaces dos contre face entre les niveaux. En variante, il pourrait être formé en empilant deux ou plusieurs 10 circuits intégrés en utilisant des interfaces dos contre dos, face contre face, et/ou dos contre face, comme cela a été décrit précédemment en relation avec la figure 2, ou par un mélange des technologies des figures 1 et 2. En outre, dans le cas où deux ou plusieurs circuits intégrés sont empilés, chacun de ces circuits 15 peut être formé en utilisant une technologie de transistors et de métallisation différente (Back End of Line - extrémité arrière de ligne). La figure 3B est une vue à plat illustrant un exemple d'un tracé de circuit 350 qui a été généré en supposant que la 20 conception de circuit doit être générée comme un circuit 2D. La conception de circuit comprend par exemple des macros 352, dont dix ayant diverses tailles se trouvent dans l'exemple de la figure 3B. Un circuit logique 354 constitué de cellules standard, représenté par des lignes horizontales en figure 3B, est mis en 25 oeuvre dans l'espace entourant les macros 352. La figure 3C est une vue à plat illustrant un exemple de tracé de conception 3D de la conception de circuit de la figure 3B, comprenant deux niveaux, un niveau inférieur 356 de logique et un niveau supérieur 358 de macros. En particulier, le niveau 30 356 comprend par exemple une partie ou la totalité du circuit logique 354, alors que le niveau 358 comprend par exemple la totalité des macros 352. La figure 4 illustre schématiquement un système de conception de circuits 3D 400 adapté à mettre en oeuvre un procédé B16909 - DD18558ST 9 de conception de circuits 3D, par exemple la conception d'un circuit 3D similaire à celui de la figure 3A ou 3C. Le système 400 comprend par exemple un ou plusieurs processeurs (P) 402 sous le contrôle d'instructions mémorisées 5 dans une mémoire d'instructions 404, qui est par exemple une RAM, bien que dans des variantes de réalisation cela puisse être un autre type de mémoire comme une mémoire FLASH. Par exemple, lesdits un ou plusieurs processeurs 402 sont couplés, par l'intermédiaire d'un bus 406, à la mémoire 404 et aussi à une 10 autre mémoire (MEMORY) 408. La mémoire 408 est par exemple une mémoire non volatile mémorisant des fichiers de conception de circuits (CIRCUIT DESIGN FILES) 410 représentant des macros et des cellules standard à mettre en oeuvre dans le circuit 3D. Pendant la conception du circuit 3D, la mémoire 408 mémorise aussi par 15 exemple un ou plusieurs macros modifiés (MODIFIED MACRO(S)) 412, une mise en oeuvre matérielle (HARDWARE IMPLEMENTATION) 414 de la conception de circuit résultant de la synthèse des fichiers de conception de circuit 410, et le tracé du circuit 3D (3D CIRCUIT LAYOUT) 416 résultant du placement et du routage appliqués à la 20 mise en oeuvre matérielle 414. Dans certains modes de réalisation, les mémoires 404 et 408 pourraient être mises en oeuvre dans un même dispositif mémoire. Le système 400 comprend en outre une interface de communication (COMMS INTERFACE) 417, par exemple couplée au bus 25 406, et par l'intermédiaire de laquelle le tracé du circuit 3D peut être transmis, pour sa fabrication, à un site de fabrication de circuits intégrés ou à une fonderie de semi-conducteurs (IC FABRICATION SITE) 420, par l'intermédiaire d'une liaison de communication 418 comprenant par exemple l'Internet. 30 Bien sûr, bien que cela ne soit pas représenté en figure 4, le système 400 pourrait en plus comprendre un ou plusieurs dispositifs d'entrée d'utilisateur, comme un clavier, une souris, etc., un ou plusieurs dispositifs de sortie comme un afficheur. La mémoire 404 et/ou la mémoire 408 mémorisent par 35 exemple des instructions informatiques pour contrôler lesdits un B16909 - DD18558ST 10 ou plusieurs processeurs 402 pour réaliser un procédé de conception de circuit 3D, comprenant par exemple des étapes de synthèse de circuit et de placement-routage. Cette combinaison de logiciel et de ressources de traitement sera appelée ici outil de 5 conception de circuits 3D. On va maintenant décrire plus en détail un procédé de génération d'un tracé de circuit 3D utilisant l'outil de conception de circuit 3D de la figure 4, en faisant référence à la figure 5. 10 La figure 5 est un organigranue illustrant un exemple d'étapes dans un procédé de conception de circuit 3D selon un exemple de réalisation de la présente description. En particulier, le circuit 3D est par exemple défini par un tracé de circuit de chaque niveau du circuit 3D, représenté par exemple dans le format 15 GDS (General Design Specification - spécification de conception générale), ou OASIS (Open Artwork System Interchange Standard norme d'échange pour système graphique ouvert). Au moins certaines des étapes de ce procédé sont mises en oeuvre par l'outil de conception de circuits 3D de la figure 4, excepté l'étape 503, 20 qui est par exemple mise en oeuvre par un opérateur de l'outil de conception. On a supposé qu'initialement les macros et les cellules standards de la conception de circuit sont représentés par les fichiers de conception de circuit 410 de la figure 4, et que ces 25 fichiers ont été chargés dans la mémoire 408. Les fichiers de conception de circuit 410 peuvent par exemple être en Verilog ou en VHDL (langage de description matérielle VHSIC, où VHSIC signifie circuit intégré à très haute vitesse) et peuvent par exemple inclure 30 - un ou plusieurs fichiers LEF (Library Exchange Fo/mat - format d'échange de librairie) contenant les informations de cellules standards et de macros pour la conception ; - un ou plusieurs fichiers temporels LIB (Liberty liberté) définissant des modèles temporels des cellules standards 35 et des macros ; B16909 - DD18558ST 11 - un fichier DEF (Design Exchange Format - format d'échange de conception) définissant des informations de placement des macros et des cellules standards, et les broches d'entrée-sortie (I/O), et d'autres composants physiques ; et 5 - un ou plusieurs fichiers RTL. Dans une étape 501, des propriétés physiques des conceptions de circuit d'un ou plusieurs macros à inclure dans la conception de circuit 3D sont modifiées, tout en respectant la technologie 3D visée, et en particulier le pas et le diamètre des 10 vies 3D. Par exemple, cela implique une opération mise en oeuvre par un ordinateur consistant à modifier un fichier LEF associé à chaque macro pour générer un fichier "LEF-3D", et modifier un fichier LIB associé à chaque macro pour générer un fichier "LIB3D". 15 Cette modification implique par exemple - l'ajout d'une propriété de "superposition" au macro ; - le décalage de broches du macro vers une couche d'interconnexion supérieure du dispositif, par exemple vers la couche HB (couche de liaison hybride), afin de maintenir la 20 connectivité des broches des macros et d'assurer un routage vertical 3D dans la conception de logique 2D pendant le placement-routage ; et - l'encapsulation du macro. Comme on va le décrire plus en détail ci-après, à la suite de ces 25 modifications, le placement et le routage peuvent être réalisés sur les puces logiques avec les fichiers .lib-3D et .lef-3D afin d'obtenir une mise en oeuvre physique relativement bien optimisée de la puce logique 3D. Comme cela est connu de l'homme de l'art, la propriété 30 de superposition rend un circuit superposable par d'autres éléments, et peut être utilisée pour rendre disponible de l'espace libre dans une conception de circuit 2D. Les présents inventeurs proposent d'exploiter cette propriété de superposition pour permettre à des algorithmes de placement et de routage de circuits 35 2D standards d'être utilisés pour la conception de circuits 3D. B16909 - DD18558ST 12 En particulier, dans la présente description, l'ajout de la propriété de superposition est utilisé pour rendre le macro superposable par d'autres éléments tels que des cellules standard, par exemple par une modification du fichier LEF du macro. La 5 superposition est par exemple définie comme s'étendant sur toute la surface du macro. En d'autres termes, le macro entier est défini comme étant superposable par d'autres circuits pendant les opérations de placement et de routage. L'opération de définition de la couche de superposition va maintenant être décrite plus en 10 détail en faisant référence à la figure 6A. La figure 6A est une vue à plat d'un macro selon un exemple de réalisation, qui par exemple représente un circuit mémoire. Ce circuit comprend des broches de masse 602, des broches de tension d'alimentation 604, et des broches de signaux 606. Un 15 rectangle en trait discontinu 608 en figure 6A représente la couche de superposition, en d'autres termes la zone dans laquelle la superposition du macro est permise. Cette région est par exemple définie par sa frontière, qui dans l'exemple de la figure 6A correspond à la frontière du macro. Cette région est par exemple 20 conçue comme une couche de superposition par une indication dans les propriétés de cette région indiquant qu'elle doit être considérée comme une couche de superposition, par exemple en activant un drapeau approprié. Bien que dans l'exemple de la figure 6A la couche 608 s'étende sur la totalité de la surface du 25 macro, dans d'autres modes de réalisation, certaines régions du macro pourraient rester à l'extérieur de la région couverte par la couche de superposition, par exemple pour permettre à des vias 3D de passer à travers ces régions. En faisant de nouveau référence à la figure 5, l'étape 30 501 implique aussi par exemple l'encapsulation d'un ou plusieurs macros dans le niveau supérieur du dispositif, c'est-à-dire dans le haut de l'empilement BEOL du circuit, qui dans certains modes de réalisation est une couche de liaison hybride (HB). Ainsi, la totalité du ou des macros encapsulés devient une couche de 35 superposition à laquelle d'autres éléments de circuits peuvent B16909 - DD18558ST 13 être superposés. En outre, en encapsulant chaque macro dans la couche supérieure de l'empilement BEOL, on force l'outil de conception du circuit à réaliser un routage vers et à partir de chaque macro via des connexions définies dans cette couche, plutôt 5 que de passer à travers des niveaux métalliques inférieurs. En outre, toutes les broches d'entrée et de sortie, comprenant les broches de signaux et les broches d'alimentation, sont décalées vers une face supérieure du dispositif, par exemple la couche HB, et sont transformées en un tracé approprié pour 10 mettre en oeuvre des plots d'interconnexion 3D. Un exemple de la mise en oeuvre de cette étape va maintenant être décrit plus en détail en faisant référence à la figure 6B. La figure 6B est une vue à plat du macro 600 à la suite de l'encapsulation du macro dans la couche métallique du 15 dispositif, et du transfert des broches d'alimentation 602, 604 et des broches de signaux 606 vers un niveau supérieur de la couche métallique, comme le niveau HB. Les nouveaux plots de liaison remplaçant les broches 602, 604 et 606 sont référencés 602', 604' et 606' respectivement en figure 6B. En outre, la 20 caractérisation électrique du macro, y compris les caractéristiques temporelles des signaux, la dissipation thermique, etc., définie par exemple dans le fichier LIB associé au macro, est par exemple modifiée sur la base des nouveaux plots de liaison et des nouvelles connexions à ces plots. Ces 25 modifications sont toutes par exemple des opérations mises en oeuvre par ordinateur qui peuvent être obtenue en utilisant des scripts de concepteur qui dépendent du pas d'interconnexion 3D visé et du diamètre et dans certains cas des propriétés du maillage de réseau d'alimentation, par exemple, de la taille et du pas des 30 pistes du réseau d'alimentation. En faisant de nouveau référence à la figure 5, dans une étape 502, une synthèse du circuit est réalisée de manière similaire à une conception de circuits 2D. Cela implique par exemple le traitement des fichiers de conception de circuit 410 35 de la figure 4 afin de générer une mise en oeuvre matérielle de la B16909 - DD18558ST 14 conception de circuit prête pour le placement-routage. Par exemple, un ou plusieurs fichiers RTL représentant des fonctions logiques sont transformés en une ou plusieurs listes d'interconnexions définissant des mises en oeuvre matérielles au niveau 5 portes. Dans certains modes de réalisation, la synthèse du circuit peut être basée non seulement sur la conception de circuit du circuit logique, mais aussi sur les macros modifiés générés dans l'étape 501. En effet, bien que les macros ne puissent pas 10 être modifiés en eux-mêmes pendant la synthèse du circuit, certains aspects physiques des macros peuvent impacter la synthèse du circuit logique. En outre, dans certains modes de réalisation, la synthèse peut être basée en partie sur un plan d'implantation représentant un préplacement des macros généré dans l'opération 15 503, comme on va le décrire maintenant. Dans l'étape 503, un plan d'implantation 3D est par exemple défini pour le circuit 3D. Le plan d'implantation 3D comprend par exemple un seul niveau ayant les dimensions et 1 a surface de l'un des niveaux du tracé de circuit 3D final. Le pla n 20 d'implantation 3D fournit par exemple un préplacement des macro s du circuit 3D. Ce préplacement est par exemple défini par un opérateur utilisant une application logicielle appropriée, ou est fourni à l'outil de conception sous forme d'un fichier électronique. Dans certains modes de réalisation, des rails 25 d'alimentation de la conception de circuit sont aussi pré-placés pendant cette opération. Un exemple du préplacement de macros dans la conception va maintenant être décrit plus en détail en faisant référence à la figure 7A. La figure 7A illustre un plan d'implantation 3D 700 30 représentant un exemple du préplacement de huit macros 702 à 709. Les macros 702 à 708 doivent par exemple être placés dans un niveau supérieur du circuit 3D, et ces macros correspondent par exemple à des macros modifiés dans l'étape 501 décrite précédemment, qui sont superposables, encapsulés dans une couche 35 d'interconnexion supérieure du dispositif, et comprennent des B16909 - DD18558ST 15 plots d'interconnexion 3D 710. Le macro 709 doit par exemple être placé dans un niveau inférieur du circuit 3D, avec le circuit logique. Par conséquent, pour éviter tout chevauchement avec le circuit logique, le macro 709 n'est pas modifié pour être 5 superposable, mais peut être superposé à d'autres macros. Dans l'exemple de la figure 7A, les macros 708 et 709 sont partiellement superposés entre eux. En faisant de nouveau référence à la figure 5, dans une étape 504, un placement et une optimisation post-placement sont 10 ensuite par exemple réalisés, sur la base du plan d'implantation 3D généré dans l'étape 503. Pendant cette étape, les plots d'interconnexion 3D des macros créés sur la face supérieure du dispositif sont traités comme étant des broches à connecter à des broches du circuit logique, et l'outil de conception de circuit 15 réalise le placement des cellules du circuit logique sur la base des emplacements de ces plots d'interconnexion 3D. Le placement est par exemple basé sur des algorithmes de placement 2D connus qui par exemple visent à placer des cellules logiques d'une manière qui réduit les distances entre les cellules connectées 20 afin de réduire les longueurs de fil. L'opération de placement et d'optimisation post-placement va maintenant être décrite plus en détail en faisant référence à la figure 7B. La figure 7B illustre le plan d'implantation 3D 700 de la figure 7A pendant l'étape de placement 504 de la figure 5. 25 Co e cela est illustré, certaines cellules logiques 712, 714, 716, 718 et 720 ont été placées, en superposition avec le macro 702, au vu de connexions entre ces cellules logiques et les plots d'interconnexion 3D du macro 702 et du macro 703. En faisant de nouveau référence à la figure 5, dans une 30 étape 505, un routage et une optimisation post-routage sont par exemple réalisés pour lesdits un ou plusieurs macros et pour le circuit logique. Comme cela a été expliqué précédemment, les macros de la conception étant encapsulés dans la couche supérieure du dispositif, les connexions entre les broches des cellules 35 logiques et les plots d'interconnexion 3D des macros sont forcées B16909 - DD18558ST 16 à passer à travers cette couche supérieure, émulant ainsi des interconnexions 3D entre des cellules logiques et des macros. En d'autres termes, alors que des connexions entre cellules logiques dans la conception peuvent passer entre des niveaux inférieurs de 5 la couche métallique, comme les niveaux Ml, M2, M3 ou M4, les connexions entre cellules logiques et macros passent toujours à travers le niveau supérieur du dispositif. Par exemple, en faisant de nouveau référence à la figure 7S, une connexion 722 entre cellules logiques peut passer à 10 travers n'importe quelle couche métallique, alors que des connexions 724 entre cellules logiques et macros passent à travers la couche supérieure du dispositif. En faisant de nouveau référence à la figure 5, dans une étape 506, le tracé du circuit 3D, représenté par exemple par un 15 fichier GDS ou OASIS associé à chaque niveau du circuit 3D, est par exemple transmis à un site de production pour sa fabrication et/ou le circuit 3D est fabriqué sur la base de la couche de circuit 3D. Le tracé du circuit de chaque niveau du circuit 3D est par exemple extrait du tracé du circuit 3D généré dans les 20 étapes 504 et 505. Par exemple, cela est obtenu en séparant, à partir du tracé du circuit 3D, un premier tracé de circuit fournissant une vue d'un niveau supérieur du circuit 3D comprenant le placement final des macros, et un deuxième tracé de circuit fournissant une vue du niveau inférieur du circuit 3D, comprenant 25 les cellules logiques et tous les macros disposés dans le niveau inférieur, avec les macros superposés retirés. La figure 8 est une vue en coupe d'une portion 800 d'une conception de circuit 3D résultant des opérations de placement et de routage 504 et 505 de la figure 5. En particulier, le circuit 30 comprend par exemple un circuit 802 comprenant les cellules logiques (LOGIC CELLS) du dispositif, comprenant une couche active (ACTIVE), et une couche métallique comprenant des niveaux métalliques (Ml à M6), des niveaux M7 et M8, des couches de réseau d'alimentation L9 et L10 (SHARED POWER MESH LAYER), qui sont par 35 exemple partagées par des niveaux adjacents du circuit 3D, et une B16909 - DD18558ST 17 couche de liaison hybride (HB). Un macro 804 est superposé au circuit 802, les éléments du macro 804 qui chevauchent le circuit 802 étant représentés avec des lignes interrompues et étant référencés avec du texte en italique en figure 8. Dans l'exemple 5 de la figure 8, le macro est une SRAM ayant une couche active (ACTIVE), une couche métallique comprenant 4 niveaux (RU à M4) et une couche de liaison hybride (HB). La figure 8 représente aussi le macro 804 dans son encapsulation 806 et disposé face contre face avec le circuit 802, avec les plots d'interconnexion 3D de 10 la couche HB du circuit 802 contactant les plots d'interconnexion 3D de la couche HB du macro 804. Un avantage des modes de réalisation décrits ici est qu'ils suiinontent les principales difficultés de la conception, et en particulier le placement et le routage, d'une conception de 15 circuit 3D en utilisant un outil de conception de circuit 2D. En particulier, le procédé et le système décrits ici permettent d'optimiser le placement et le routage par l'outil de conception sur la base de l'emplacement des plots d'interconnexions 3D des macros de la conception, qui sont superposés au circuit logique 20 du dispositif. Avec la description ainsi faite d'au moins un mode de réalisation illustratif, diverses altérations, modifications et améliorations apparaîtront facilement à l'homme de l'art. Par exemple, bien qu'on ait décrit des exemples sur la base d'une 25 interface face contre face entre des niveaux d'un circuit 3D, il apparaîtra clairement à l'homme de l'art que ce procédé pourrait être adapté à une interface face contre dos ou dos contre dos en définissant une ou plusieurs régions dans lesquelles des cellules logiques ne peuvent pas être placées afin de fournir la place pour 30 des vias à travers le silicium, comme les vias 110 ou 112 de la figure 1, ou les vias 208 de la figure 2. En outre, il sera clair que bien qu'on ait décrit des exemples basés sur des circuits 3D comprenant seulement deux niveaux, les techniques décrites ici pourraient également 35 s'appliquer à des circuits 3D comprenant trois niveaux ou plus B16909 - DD18558ST 18 dans lesquels l'un des niveaux, comme le niveau inférieur, comprend des cellules logiques et optionnellement un ou plusieurs macros, et les autres niveaux comprennent seulement des macros. Pendant le préplacement de ces macros, l'opérateur s'assure par 5 exemple que les macros d'un même niveau ne sont pas superposés et que suffisamment d'espace libre est préservé pour des TSV appropriés. En outre, il apparaîtra clairement à l'homme de l'art que les divers éléments décrits en relation avec les divers modes 10 de réalisation pourraient être combinés, dans des variantes de réalisation, REVENDICATIONS1. Procédé de conception de circuit 3D comprenant : fournir, à un outil de conception de circuit (402, 404), des fichiers de conception de circuit (410) représentant une conception de circuit 3D comprenant un ou plusieurs macros (702 à 708) comportant chacun une propriété permettant que d'autres éléments de circuit lui soient superposés ; réaliser, par l'outil de conception de circuit (402, 404), un placement et un routage de la conception de circuit 3D pour générer un tracé de circuit 3D de la conception de circuit 3D, le placement et le routage comprenant au moins partiellement la superposition d'une ou plusieurs cellules logiques sur lesdits un ou plusieurs macros et le routage de connexions entre lesdites une ou plusieurs cellules logiques et des plots d'interconnexion 3D définis sur des faces desdits un ou plusieurs macros ; et générer un tracé de circuit 3D final en extrayant, à partir du tracé de circuit 3D, un premier tracé de circuit d'un premier niveau comprenant lesdites une ou plusieurs cellules logiques et un deuxième tracé de circuit d'un deuxième niveau comprenant lesdits un ou plusieurs macros. 2. Procédé selon la revendication 1, comprenant en outre : transmettre le tracé de circuit 3D final de la conception de circuit 3D à un site de production pour sa fabrication. 3. Procédé selon la revendication 1 ou 2, comprenant en outre la fabrication d'une conception de circuit 3D sur la base du tracé de circuit 3D final. 4. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel chacun desdits un ou plusieurs macros comprend 30 une couche de superposition (608) définissant une région de chaque macro à laquelle d'autres circuits peuvent être superposés. 5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel lesdits un ou plusieurs macros sont définis dans les fichiers de conception de circuit (410) conne étant encapsulés R16909 - DD18558ST 20 dans un niveau supérieur dans lequel les plots d'interconnexion 3D sont présents. 6. Procédé selon l'une quelconque des revendications 1 à 5, dans lequel le tracé de circuit 3D comprend un ou plusieurs 5 niveaux comprenant seulement les macros. 7. Procédé selon l'une quelconque des revendications 1 à 6, comprenant en outre, avant de réaliser le placement et le routage, une opération de synthèse pendant laquelle une définition fonctionnelle d'un circuit logique de la conception de circuit 3D 10 est traduite en une liste de connexions définissant lesdites une ou plusieurs cellules logiques. 8. Procédé selon la revendication 7, dans lequel l'opération de synthèse est basée sur un préplacement desdits un ou plusieurs macros sur un plan d'implantation 3D. 15 9. Système de conception de circuits comprenant : un ou plusieurs processeurs (402) ; et une ou plusieurs mémoires (404) mémorisant des instructions de logiciel qui amènent lesdits un ou plusieurs processeurs à mettre en oeuvre le procédé de l'une quelconque des 20 revendications 1 à 8. 10. Support de stockage non transitoire mémorisant des instructions de logiciel qui amènent le procédé de l'une quelconque des revendications 1 à 8 à être mis en oeuvre lorsque les instructions sont exécutées par un ou plusieurs processeurs.