FR 3068798 A1 20190111 FR 1756352 A 20170705 B15634 - DD17599 1 PROCEDE DE GENERATION D'UN AGENCEMENT DE CIRCUIT 3D A PARTIR D'UN AGENCEMENT DE CIRCUIT 2D 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 5 dispositif informatique pour générer un agencement de circuit 3D à partir d'un agencement de circuit 2D. Exposé de l'art antérieur Pendant la conception d'un circuit intégré comprenant des millions de transistors, une phase clé du processus de 10 conception est l'opération connue sous le nom de "placement et routage". Pendant cette opération, un fichier d'un système de base de données graphique, GDS (de l'anglais Graphic Database System) représentant la conception du circuit est généré par un outil de conception dédié, avant la fabrication. L'outil de conception 15 place d'abord les cellules du circuit sur la surface disponible du circuit intégré, puis un algorithme de routage est appliqué pour interconnecter les cellules du circuit afin de créer un agencement de circuit. Les circuits 3D, dans lesquels des cellules sont 20 disposées sur de multiples niveaux empilés interconnectés par des vias 3D, procurent de nombreux avantages en ce qui concerne la B15634 - DD17599 2 compacité et les performances du circuit. Par exemple, la technologie de transistors 3D monolithique, connu aussi sous le nom de 3D séquentielle et CoolCubeTM, implique la fabrication d'une pluralité de couches de transistors en un seul bloc. En particulier, deux ou plusieurs couches ou niveaux de transistors sont formés séquentiellement, et interconnectés par l'intermédiaire de vias 3D verticaux. 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 par rapport à d'autres technologies 3D est que ce procédé permet une haute densité d'interconnexions (faible taille et faible espacement des vias, par rapport à la technologie TSV (de l'anglais Through-Silicon-Vias qui signifie traversées à travers le silicium) ou la technologie de contact face contre face (cuivre sur cuivre). En outre, les procédés de fabrication 3D qui impliquent l'empilement de deux ou plusieurs circuits intégrés souffrent de problèmes d'alignement, contrairement à l'approche 3D monolithique dans laquelle le dispositif est fabriqué séquentiellement. Un problème pour 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 des conceptions de circuits 3D à haute densité. En outre, la création d'un nouvel outil de conception agencé pour des circuits 3D prendrait beaucoup de temps et serait coûteuse. Il existe donc un besoin dans la technique d'un procédé et d'un dispositif de conception de circuits permettant la conception de circuits 3D ayant une densité relativement élevée. Résumé Un objet des modes de réalisation de la présente description est de répondre au moins partiellement à un ou 35 plusieurs besoins de l'art antérieur. B15634 - DD17599 3 Selon un aspect, on prévoit un procédé de génération, par un dispositif informatique, d'un agencement de circuit 3D sur la base d'un agencement de circuit 2D, le procédé comprenant : réaliser, par le dispositif informatique, une opération de 5 placement sur une conception de circuit 2D pour générer un agencement de circuit 2D comprenant R rangées de cellules de circuit, où R est un entier égal à au moins trois ; affecter, par le dispositif informatique, certaines des cellules de circuit d'un premier groupe de cellules de circuit de l'agencement de circuit 10 2D à une ou plusieurs premières rangées d'un premier niveau de l'agencement de circuit 3D et certaines des cellules de circuit du premier groupe de cellules de circuit à une ou plusieurs deuxièmes rangées d'un deuxième niveau de l'agencement de circuit 3D ; affecter, par le dispositif informatique, certaines des 15 cellules de circuit d'un deuxième groupe de cellules de circuit de l'agencement de circuit 2D à une ou plusieurs deuxièmes rangées du premier niveau de l'agencement de circuit 3D et certaines des cellules de circuit du deuxième groupe de cellules de circuit à une ou plusieurs deuxièmes rangées du deuxième niveau de 20 l'agencement de circuit 3D, l'affectation de chaque cellule de circuit des premier et deuxième groupes étant réalisée en sélectionnant, parmi au moins l'une des premières rangées et au moins l'une des deuxièmes rangées, la rangée ayant l'espace disponible le plus grand, et en affectant la cellule de circuit à 25 la rangée sélectionnée ; et transmettre l'agencement de circuit 3D à une usine de fabrication pour sa fabrication. Selon un mode de réalisation, chacun des premier et deuxième niveaux de l'agencement de circuit 3D a initialement le même nombre de rangées que l'agencement de circuit 2D, et chaque 30 cellule du premier groupe de cellules de circuit est affectée à une rangée correspondante du premier ou du deuxième niveau. Selon un mode de réalisation, le procédé comprend en outre, après l'affectation de la totalité des cellules de circuit de l'agencement de circuit 2D à des niveaux de l'agencement de 35 circuit 3D : réduire le nombre de rangées du premier niveau de B15634 - DD17599 4 l'agencement de circuit 3D en vidant les cellules de circuit d'au moins une rangée et en supprimant ladite au moins une rangée, les cellules de circuit vidées étant déplacées vers l'une ou l'autre des rangées adjacentes à la rangée vidée dans le premier niveau ; 5 et réduire le nombre de rangées du deuxième niveau de l'agencement de circuit 3D en vidant les cellules de circuit d'au moins une rangée et en supprimant ladite au moins une rangée, les cellules de circuit vidées étant déplacées vers une ou deux rangées adjacentes à la rangée vidée dans le deuxième niveau. 10 Selon un mode de réalisation, l'étape de sélection, parmi au moins l'une des premières rangées et au moins l'une des deuxièmes rangées, de la rangée ayant l'espace disponible le plus grand, comprend la comparaison de l'espace disponible dans la totalité des rangées des premier et deuxième niveaux et la 15 sélection de la rangée ayant le plus d'espace disponible. Selon un mode de réalisation, chacune des cellules de circuit est constituée d'une pluralité de sous-cellules. Selon un mode de réalisation, le procédé comprend en outre, avant les opérations d'affectation, l'affectation initiale 20 d'un ou plusieurs circuits de l'agencement de circuit 2D à un ou plusieurs niveaux de l'agencement de circuit 3D. Selon un autre aspect, on prévoit un support de stockage lisible par un ordinateur mémorisant des instructions d'ordinateur qui mettent en oeuvre le procédé susmentionné lorsqu'il est exécuté 25 par un dispositif informatique. Selon un autre aspect, on prévoit un dispositif informatique pour générer un agencement de circuit 3D sur la base d'un agencement de circuit 2D, le dispositif informatique comprenant : un ou plusieurs dispositifs mémoires mémorisant 30 l'agencement de circuit 2D ; et un dispositif de traitement agencé pour : réaliser une opération de placement sur une conception de circuit 2D pour générer un agencement de circuit 2D comprenant R rangées de cellules de circuit, R étant un entier égal à au moins trois ; affecter certaines des cellules de circuit d'un premier groupe de cellules de circuit de l'agencement de circuit 2D à une B15634 - DD17599 5 ou plusieurs premières rangées d'un premier niveau de l'agencement de circuit 3D et certaines des cellules de circuit du premier groupe de cellules de circuit à une ou plusieurs deuxièmes rangées d'un deuxième niveau de l'agencement de circuit 3D ; affecter 5 certaines des cellules de circuit d'un deuxième groupe de cellules de circuit de l'agencement de circuit 2D à une ou plusieurs deuxièmes rangées du premier niveau de l'agencement de circuit 3D et certaines des cellules de circuit du deuxième groupe de cellules de circuit à une ou plusieurs deuxièmes rangées du 10 deuxième niveau de l'agencement de circuit 3D, le dispositif informatique étant agencé pour affecter chaque cellule de circuit des premier et deuxième groupes en sélectionnant, parmi au moins l'une des premières rangées et au moins l'une des deuxièmes rangées, la rangée ayant l'espace disponible le plus grand, et en 15 affectant la cellule de circuit à la rangée sélectionnée ; et transmettre l'agencement de circuit 3D à une usine de fabrication pour sa fabrication. Brève description des dessins Les caractéristiques et avantages susmentionnés, et 20 d'autres, apparaîtront clairement avec la description suivante de modes de réalisation particuliers, faite à titre illustratif et non limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 est une vue en coupe d'un circuit 3D 25 monolithique selon un exemple de réalisation ; la figure 2A représente une phase d'affectation pour affecter des cellules d'une conception de circuit 2D à des niveaux d'une conception de circuit 3D ; les figures 2B et 2C représentent une opération de 30 réduction du nombre de rangées selon un exemple de réalisation de la présente description ; la figure 3 illustre schématiquement un dispositif informatique selon un exemple de réalisation de la présente description ; 315634 - DD17599 6 la figure 4 est un organigramme illustrant des étapes dans un procédé de génération d'un agencement de circuit 3D selon un exemple de réalisation de la présente description ; la figure 5 représente la génération d'un agencement de 5 circuit 3D comportant 3 niveaux selon un exemple de réalisation de la présente description ; la figure 6 représente la génération d'un agencement de circuit 3D selon un autre exemple de réalisation de la présente description ; et 10 les figures 7A et 7B représentent la génération d'un agencement de circuit 3D selon encore un autre exemple de réalisation de la présente description. Description détaillée Tel qu'il est utilisé ici, le terme "environ", précédant 15 une valeur, est utilisé pour indiquer une tolérance de plus ou moins 10 % par rapport à la valeur en question. La figure 1 est une vue en coupe d'un circuit 3D monolithique 100 selon un exemple de réalisation. Le circuit 100 comprend par exemple un niveau de transistors 102 formé sur une 20 couche poignée 101, et un autre niveau de transistors 104 superposé au-dessus du niveau de transistors 102. Une couche d'interconnexion métallique intermédiaire 106 sert par exemple à assurer des interconnexions entre des dispositifs de transistors 108 des niveaux 102, 104. Bien que cela ne soit pas illustré en 25 figure 1, une autre couche d'interconnexion métallique pourrait être prévue au-dessus du niveau de transistors 104. Des exemples de vias 3D 110, 112 sont aussi illustrés, connus sous le nom de vias inter-niveau monolithiques (MIV). Un via inter-niveau monolithique présente l'avantage 30 d'avoir des dimensions notablement plus petites qu'un TSV (via à travers le silicium). Par exemple, alors qu'un TSV a typiquement un diamètre d'environ 1000 fois celui d'un transistor, un MIV a par exemple un diamètre du même ordre de grandeur que les vias dans la couche métallique, par exemple d'environ 40 nm pour la B15634 - DD17599 7 technologie 14 nm, ou plus généralement un diamètre compris entre 35 et 120 nm. Les figures 2A à 2C représentent des vues à plat d'agencements de circuit pendant un procédé de conception d'un 5 circuit 3D, comme un circuit 3D monolithique, selon un exemple de réalisation de la présente description. Ce procédé de conception est par un exemple mis en oeuvre par un dispositif informatique approprié, comme celui de la figure 3, comme on va le décrire maintenant. 10 La figure 3 illustre schématiquement un dispositif informatique 300 adapté à mettre en oeuvre un procédé de conception de circuit 3D. Le dispositif 300 comprend par exemple un ou plusieurs processeurs (P) 302 sous le contrôle d'instructions mémorisées dans une mémoire d'instructions (INSTR MEM) 304. Une 15 mémoire 306 mémorise par exemple un agencement de circuit 2D (2D CIRCUIT LAYOUT) et un agencement de circuit 3D (3D CIRCUIT LAYOUT) généré sur la base de l'agencement de circuit 2D. Les mémoires 304 et 306 peuvent être mises en oeuvre dans un même dispositif mémoire ou dans des dispositifs mémoires séparés. Bien sûr, bien 20 que cela ne soit pas représenté en figure 3, le dispositif informatique 300 pourrait en outre 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 et/ou une interface de comumnication permettant à l'agencement de 25 circuit 3D généré d'être transmis à une usine de fabrication pour sa fabrication. Les opérations représentées en figures 2A à 2C vont maintenant être décrites en faisant référence à la figure 4. La figure 4 est un organigramme illustrant des étapes 30 dans un procédé de conception d'un circuit 3D selon un exemple de réalisation de la présente description. Le procédé est par exemple mis en oeuvre par le dispositif de la figure 3. Dans une étape 401, un placement est réalisé pour générer un agencement de circuit 2D. Dans certains modes de 35 réalisation, l'agencement de circuit 2D est représenté par un B15634 - DD17599 8 fichier GDS, bien que d'autres formats de fichiers puissent être utilisés. Comme cela est représenté en figure 2A, un agencement de circuit 2D 200 est par exemple généré en utilisant une opération de placement, correspondant à une première phase d'une opération 5 de placement et de routage. Dans les exemples de réalisation décrits ici, l'agencement de circuit 2D 200 comprend 33 cellules standard numérotées "1" à "33". Les rangées 1 à 6 de l'agencement de circuit 2D comprennent respectivement : les cellules "1" à "4" ; les cellules "5" à "10" ; les cellules "11" à "16" ; les 10 cellules "17" à "21" ; les cellules "22" à "28" ; et les cellules "29" à "33". Toutes les cellules standard ont par exemple une hauteur égale H, mais elles ont une largeur variable. Dans l'exemple de la figure 2A, ces cellules standard sont agencées dans 6 rangées de hauteur égale H. 15 En outre, l'agencement de circuit 2D 200 est par exemple constitué de colonnes et de rangées de sites élémentaires, chaque site élémentaire ayant la même hauteur H et la même largeur W. Chacune des cellules standard occupe un nombre entier de ces sites élémentaires dans la direction des rangées. Dans l'exemple de la 20 figure 2A, l'agencement de circuit 2D a une largeur égale à 10 sites élémentaires, chaque cellule standard ayant une largeur comprise entre 1 et 4 sites élémentaires, en d'autres termes une largeur comprise entre W et 4W. Dans l'exemple de la figure 2A, les cellules "1", "27" et "30" ont une largeur de 4 sites 25 élémentaires, les cellules "3", "8", "11" et "29" ont une largeur de 3 sites élémentaires, les cellules "4", "5", "10", "13", "14" et "17" à "21" ont une largeur de 2 sites élémentaires, et les cellules restantes ont une largeur d'un seul site élémentaire. Bien sûr, dans des variantes de réalisation, l'agen30 cernent de circuit 2D pourrait avoir des dimensions différentes, et comprendre un nombre différent de cellules standard, par exemple des centaines ou des milliers de cellules standard. En faisant de nouveau référence à la figure 4, dans une étape 402, un agencement de circuit 3D vide de N niveaux est par 35 exemple généré, N étant par exemple un entier égal ou supérieur à B15634 - DD17599 9 2. Par exemple, chaque niveau a initialement le même nombre de rangées que l'agencement de circuit 2D 200, et chaque rangée a par exemple le même nombre de sites élémentaires que les rangées de l'agencement de circuit 2D 200. 5 Dans une étape 403, une sélection est faite, parmi au moins une première rangée d'un premier des niveaux de l'agencement de circuit 3D et au moins une deuxième rangée d'un deuxième des niveaux de l'agencement de circuit 3D, de la rangée ayant le plus d'espace libre disponible, en d'autres termes le plus grand nombre 10 de sites élémentaires libres. Dans une étape 404, une cellule d'un groupe de M rangées courantes de l'agencement de circuit 2D est ensuite affectée à la rangée sélectionnée dans l'étape 403, où M est un entier positif, et est par exemple compris entre 1 et 10. 15 Dans une étape 405, on détermine s'il y a d'autres cellules non affectées dans les M rangées courantes de l'agencement de circuit 2D, et si oui, les étapes 403 et 404 sont répétées. Dans la négative, dans une opération 406, on détermine s'il y a un groupe non affecté de M rangées dans l'agencement de 20 circuit 2D, et si oui, dans une opération 407 les M rangées courantes sont remplacées par les autres M rangées non affectées, et les étapes 403 à 405 sont répétées jusqu'à ce que toutes les cellules de toutes les rangées de l'agencement de circuit 2D aient été affectées à des rangées de l'agencement de circuit 3D. 25 Un exemple de l'affectation de cellules des étapes 403 à 407 est représenté en figure 2A. Dans l'exemple de la figure 2A, l'agencement de circuit 3D comprend deux niveaux, un niveau supérieur TL et un niveau inférieur BL. Toutefois, le procédé de conception de circuit 3D décrit ici pourrait être utilisé pour 30 générer des conceptions de circuits 3D ayant un nombre de niveaux quelconque. Initialement, chaque niveau TL, BL de l'agencement de circuit 3D a par exemple les mêmes dimensions que l'agencement de circuits 2D. En outre, dans l'exemple de la figure 2A, M est égal à 1, et chaque cellule de chaque rangée de l'agencement de circuit 35 2D est affectée à l'une ou l'autre d'une rangée correspondante B15634 - DD17599 10 dans le niveau supérieur TL et d'une rangée correspondante dans le niveau inférieur BL. Par exemple, des cellules de l'agencement de circuit 2D 200 sont affectées rangée par rangée en commençant par la rangée 5 supérieure de la figure, et les rangées sont traitées à partir de la gauche vers la droite. L'algorithme d'affectation implique par exemple l'affectation d'une cellule dans une rangée r de l'agencement de circuit 2D à une rangée r correspondante du niveau supérieur TL ou du niveau inférieur BL sur la base de celle de 10 ces rangées qui a le plus de sites élémentaires disponibles, en d'autres termes le moins de sites élémentaires occupés. Dans le cas où les nombres de sites élémentaires occupés des rangées r des niveaux supérieur et inférieur sont égaux, la priorité est par exemple donnée à l'un des niveaux, et au niveau supérieur dans 15 l'exemple de la première rangée de la figure 2A. Ainsi on peut voir dans l'exemple de la figure 2A que les cellules standard "1" et "4" de la rangée 1 de l'agencement de circuit 2D 200 ont été affectées à la rangée 1 du niveau supérieur TL, et que les cellules standard "2" et "3" de la rangée 20 1 de l'agencement de circuit 2D 200 ont été affectées à la rangée 1 du niveau inférieur BL. En outre, les cellules "6" et "8" de la rangée 2 de l'agencement de circuit 2D sont affectées à la rangée 2 du niveau supérieur TL, et les cellules "5", "7", "9" et "10" sont affectées à la rangée 2 du niveau inférieur BL. 25 En faisant de nouveau référence à l'étape 406 il est déterminé qu'il n'y a affectées dans la conception de circuit 2D, est une opération 408. Dans l'étape 408, le nombre de 30 niveau de l'agencement de circuit 3D est Toutefois, comme cela est décrit plus en fonction de la façon dont l'affectation certains cas la réduction du nombre de nécessaire. la figure 4, si dans plus de rangées non l'opération suivante rangées dans chaque par exemple réduit. détail ci-après, en est réalisée, dans rangées n'est pas B15634 - DD17599 11 La figure 2B représente un exemple d'une phase de réduction du nombre de rangées pour les niveaux supérieur et inférieur représentés en figure 2A, dans laquelle le nombre de rangées des niveaux supérieur et inférieur de l'agencement de 5 circuit 3D est réduit de 6 à 4. Plus généralement, le nombre de rangées est par exemple réduit d'environ un tiers dans le cas où il y a deux niveaux dans l'agencement de circuit 3D. Cela est par exemple obtenu en regroupant les rangées de chaque niveau en groupes de trois rangées adjacentes, et en vidant les cellules de 10 la rangée intermédiaire de chaque groupe, ce qui permet de supprimer la rangée intermédiaire vidée. La figure 2B représente la réduction de rangées appliquée au niveau supérieur TL. Une première vue V1 du niveau supérieur TL correspond à l'agencement de cellules à la suite de 15 l'affectation de niveaux de la figure 2A. Le vidage de rangées est par exemple réalisé sur la base de l'algorithme suivant : - pour chaque rangée à vider, les cellules standard sont par exemple traitées de la droite vers la gauche ; 20 - la cellule la plus à droite de la rangée est déplacée vers une rangée de destination correspondant à la rangée adjacente du groupe ayant le moins de sites élémentaires occupés ; - si dans la rangée de destination il n'y a pas de cellule standard occupant un site élémentaire dans une même 25 colonne que la cellule à déplacer, la cellule est par exemple déplacée à une position se trouvant après la cellule du côté droit de la rangée ; - si dans la rangée de destination il y a une cellule standard existante occupant un site élémentaire d'une même colonne 30 que la cellule à déplacer, par exemple la cellule est insérée à droite de la cellule standard existante, et toutes les autres cellules standard se trouvant à droite de la cellule standard existante sont décalées vers la droite du nombre de sites élémentaires de la nouvelle cellule pour faire de la place pour 35 la nouvelle cellule. B15634 - DD17599 12 Par exemple, comme cela est représenté en figure 2B, la rangée intermédiaire MR1 du premier groupe de trois rangées, qui est la rangée 2 du niveau supérieur TL, est vidée en insérant la cellule standard "8" entre les cellules standard "11" et "14" dans 5 la rangée 3 du niveau supérieur TL, et en insérant la cellule standard "6" entre les cellules standard "1" et "4" dans la rangée 1 du niveau supérieur TL. La rangée intermédiaire MR2 du deuxième groupe de trois rangées est vidée de manière similaire. Une vue V2 en figure 2B illustre le niveau supérieur TL 10 une fois que toutes les rangées intermédiaires ont été vidées. Ainsi, dans l'exemple de la figure 2E, les rangées MR1 et MR2 sont vides. Ces rangées vides sont ensuite par exemple retirées entièrement en réunissant les rangées occupées, comme cela est représenté par une vue V3 en figure 2B. En outre, les colonnes 15 vides de sites élémentaires sont aussi par exemple retirées. La figure 20 illustre à la fois le niveau supérieur TL et le niveau inférieur BL résultant des phases d'affectation de 20 l'agencement de circuit 2D d'origine, et par exemple entre 60 et 80 pour cent de la largeur de l'agencement de circuit 2D d'origine. En outre, les cellules qui étaient proches dans l'agencement de circuit 2D d'origine restent proches, soit dans le même niveau, 25 soit dans un niveau adjacent, dans l'agencement de circuit 3D. En faisant référence de nouveau à la figure 4, après l'étape 408, dans une étape 409, un routage est par exemple réalisé entre les cellules de circuit de chaque niveau et entre les niveaux de l'agencement de circuit 3D. En outre, un circuit 3D selon 30 l'agencement de circuit 3D est ensuite par exemple fabriqué. Par exemple, des fichiers définissant l'agencement de circuit 3D sont transmis à une usine de fabrication de sorte que des circuits 3D peuvent être fabriqués sur la base de l'agencement de circuit. Ces fichiers comprennent par exemple un fichier GDS représentant 35 l'agencement du circuit 3D. cellules et de réduction de rangées des figures 2A et 2E. Le circuit 3D résultant comprend, dans chaque niveau, des cellules standard occupant les deux tiers du nombre de rangées de B15634 - DD17599 13 Bien que dans l'exemple des figures 2A à 2C, le procédé soit appliqué à des cellules standard, plus généralement le procédé pourrait être appliqué à des cellules de circuits, chaque cellule de circuit correspondant à une seule cellule standard, ou 5 à un groupe de plusieurs cellules standard. Les cellules de circuits ont par exemple une hauteur commune, par exemple une hauteur égale à un même nombre entier de sites élémentaires. En outre, bien que dans l'exemple des figures 2A à 2C les cellules du niveau supérieur et du niveau inférieur aient les 10 mêmes hauteurs et largeurs que les cellules correspondantes de l'agencement de circuit 2D, dans des variantes de réalisation les cellules du niveau supérieur pourraient être élargies par rapport à celles du niveau inférieur, afin d'assurer de la place supplémentaire pour former des vias 3D verticaux, par exemple du 15 type décrit dans le brevet des États-Unis d'Amérique US 8 710 671. En outre, bien que dans le procédé de la figure 4, chacun des niveaux de l'agencement de circuit 3D soit vide avant les étapes d'affectation de cellules 403 à 407, dans des variantes de réalisation un ou plusieurs circuits de l'agencement de circuit 20 2D sont placés sur un niveau correspondant avant les opérations d'affectation. Par exemple, il peut être décidé que certains macros, comme une mémoire ou un autre IP, ou un paquet de cellules standard, doivent être affectés à un certain niveau plutôt que d'avoir leurs cellules standard divisées entre des niveaux. Les 25 étapes d'affectation se déroulent ensuite tout en prenant en compte le fait que certaines rangées ont déjà des sites élémentaires occupés. Bien que le procédé de la figure 4 implique la conception d'un agencement de circuit 3D comportant deux niveaux, le procédé 30 pourrait également être appliqué pour générer des agencements de circuits 3D ayant un plus grand nombre de niveaux, calme on va le décrire maintenant en faisant référence à la figure 5. La figure 5 illustre un exemple dans lequel le procédé de la figure 4 est appliqué pour générer, sur la base du même 35 agencement de circuit 2D 200 que celui de la figure 2A, un B15634 - DD17599 14 agencement de circuit 3D ayant trois niveaux, un niveau supérieur TL, un niveau intermédiaire ML et un niveau inférieur BL. Cela est obtenu en utilisant le procédé décrit précédemment en relation avec la figure 4, dans lequel les étapes d'affectation de cellules 5 402 et 403 réalisent l'affectation de cellules à chacun de trois niveaux plutôt qu'a deux niveaux. Il serait aussi possible d'avoir d'autres nombres de niveaux en appliquant une combinaison de la solution à deux niveaux et de la solution à trois niveaux. En particulier, les 10 rangées de l'agencement de circuit 2D sont par exemple regroupées en un certain nombre de groupes à deux niveaux et à trois niveaux, et une approche à deux niveaux ou à trois niveaux est ensuite appliquée à chaque groupe. Bien que dans les modes de réalisation des figures 2A à 15 2C et de la figure 5, les cellules de la conception de circuit 2D soient affectées aux niveaux du circuit 3D une rangée à la fois, dans des variantes de réalisation, plusieurs rangées pourraient être traitée en même temps, comme on va le décrire maintenant en faisant référence à la figure 6. 20 La figure 6 est basée sur le même agencement de circuit 2D 200 que celui utilisé dans les précédents modes de réalisation. Toutefois, dans cet exemple, l'agencement de circuit 3D est généré en remplissant des niveaux supérieur et inférieur ayant déjà un nombre réduit de rangées par rapport à l'agencement de circuit 25 2D. Dans l'exemple de la figure 6, les niveaux supérieur et inférieur ont chacun seulement 4 rangées. Dans ce mode de réalisation, les cellules de la conception de circuit 2D sont par exemple affectées en groupes de trois rangées, en d'autres teintes le paramètre M de l'étape 404 de la figure 4 est égal à 3. Les 30 cellules sont par exemple affectées en affectant la cellule restante qui est la plus à gauche et la plus proche du haut du groupe de M rangées. Ainsi, les cellules se trouvant dans les trois premières rangées de l'agencement 200 sont par exemple affectées dans l'ordre "1", "5", "6", "7", etc. jusqu'à "16". 35 Chaque cellule est par exemple affectée à l'une des deux premières B15634 - DD17599 15 rangées du niveau supérieur TL ou à l'une des deux rangées supérieures du niveau inférieur BL sur la base de la rangée ayant le plus de sites élémentaires disponibles. Dans le cas où le nombre de sites élémentaires disponibles est égal entre deux ou 5 plusieurs des rangées, la préférence est par exemple donnée dans l'ordre suivant, de la plus haute à la plus basse : première rangée de niveau supérieur ; première rangée de niveau inférieur ; deuxième rangée de niveau supérieur ; deuxième rangée de niveau inférieur. 10 Ainsi on peut voir que, dans l'exemple de la figure 6, la réduction du nombre de rangées est réalisée en même temps que l'affectation de cellules, et l'opération de réduction de rangées 408 de la figure 4 peut ainsi par exemple être omise. Bien que dans les exemples susmentionnés les cellules 15 standard soient affectées une cellule à la fois, dans des variantes de réalisation, les cellules pourraient être traitées par groupes de cellules, corme on va le décrire maintenant plus en détail en faisant référence aux figures 7A et 7B. La figure 7A illustre un exemple d'une première 20 opération d'affectation de cellules. L'exemple est basé sur le même agencement de circuit 2D 200 que dans les exemples précédents. Toutefois, les cellules "1" à "33" de l'agencement 2D sont maintenant considérées comme étant des sous-cellules de cellules plus grandes. Un rectangle en pointillés 702 désigne par 25 exemple une zone correspondant à une taille par défaut de chacune des cellules à définir. Cette zone désigne initialement une première cellule comportant plusieurs sous-cellules "1", "5", "6" et "11" tombant dedans, En outre, toutes les sous-cellules ayant au moins un site élémentaire tombant dans le rectangle 702 sont 30 par exemple considérées ccumLe faisant partie de la cellule. Ainsi, comme cela est représenté dans le niveau supérieur TL en figure 7A, le rectangle 702 est par exemple agrandi pour former une cellule 702' comprenant la totalité de la cellule "1", et comprenant aussi les cellules "7" et "12". D'autres cellules sont 35 ensuite définies par exemple de la même manière. B15634 - DD17599 16 La figure 7B illustre le niveau supérieur TL et le niveau inférieur BL à la suite de plusieurs autres affectations de cellules. En particulier, une cellule 704 constituée des sous-cellules "2", "3", "8", "9", "13" et "14" est par exemple affectée 5 au niveau inférieur BL ; une cellule 706 constituée des sous-cellules "4", "10", "15" et "16" est par exemple affectée au niveau supérieur TL à droite de la cellule 702' ; une cellule 708 constituée des sous-cellules "17", "18", "22" à "25" et "29" est par exemple affectée au niveau inférieur en dessous de la cellule 10 704 ; une cellule 710 constituée des sous-cellules "19", "20", "26", "27" et "30" à "32" est par exemple affectée au niveau supérieur en dessous de la cellule 702' ; et une cellule 712 constituée des sous-cellules "21", "28" et "33" est par exemple affectée au niveau inférieur à droite de la cellule 708. 15 On notera en figure 7B que la totalité des cellules 702' à 712 ont par exemple la même hauteur de trois sites élémentaires, et ainsi une rangée dans ce mode de réalisation peut être considérée comme ayant une hauteur de trois sites élémentaires. En outre, chaque niveau de l'agencement de circuit 3D comprend 20 plusieurs sites élémentaires vides vu la forme non rectangulaire de certaines des cellules. Un avantage des modes de réalisation décrits ici est qu'un agencement de circuit 3D peut être généré en adaptant un agencement 2D produit en utilisant un algorithme de placement 25 standard, et tout en maintenant un facteur de forme qui est relativement proche de l'original. En effet, d'autres processus d'affectation de cellules de circuit à des niveaux de l'agencement de circuit 3D pourraient conduire à une distribution irrégulière des cellules de circuit entre les diverses rangées. 30 En outre, dans l'exemple des figures 2A, 2B et 5, en affectant des cellules de l'agencement 2D à des rangées correspondantes des niveaux de l'agencement de circuit 3D, dans la conception de circuit 3D des longueurs de fil relativement faibles résultant du placement 2D peuvent être conservées. B15634 - DD17599 17 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 dans lesquels 5 l'agencement de circuit 3D final comprend deux ou trois niveaux de transistors, il sera clair pour l'homme de l'art que les principes décrits ici pourraient être appliqués à la génération d'agencements de circuits 3D ayant un nombre quelconque de niveaux de transistors. 10 En outre, bien que les exemples décrits ici soient basés sur la technologie de transistors 3D monolithique, il sera clair pour l'homme de l'art que les techniques décrites ici pourraient être appliquées à d'autres REVENDICATIONS1. Procédé de génération, par un dispositif informatique (300), d'un agencement de circuit 3D sur la base d'un agencement de circuit 2D, le procédé comprenant : réaliser, par le dispositif informatique (300), une 5 opération de placement sur une conception de circuit 2D pour générer un agencement de circuit 2D (200) comprenant R rangées de cellules de circuit, où R est un entier égal à au moins trois ; affecter, par le dispositif informatique (300), certaines des cellules de circuit d'un premier groupe de cellules 10 de circuit de l'agencement de circuit 2D à une ou plusieurs premières rangées d'un premier niveau de l'agencement de circuit 3D et certaines des cellules de circuit du premier groupe de cellules de circuit à une ou plusieurs deuxièmes rangées d'un deuxième niveau de l'agencement de circuit 3D ; 15 affecter, par le dispositif informatique (300), certaines des cellules de circuit d'un deuxième groupe de cellules de circuit de l'agencement de circuit 2D à une ou plusieurs deuxièmes rangées du premier niveau de l'agencement de circuit 3D et certaines des cellules de circuit du deuxième groupe de 20 cellules de circuit à une ou plusieurs deuxièmes rangées du deuxième niveau de l'agencement de circuit 3D, l'affectation de chaque cellule de circuit des premier et deuxième groupes étant réalisée : en sélectionnant, parmi au moins l'une des premières 25 rangées et au moins l'une des deuxièmes rangées, la rangée ayant l'espace disponible le plus grand ; et en affectant la cellule de circuit à la rangée sélectionnée ; et transmettre l'agencement de circuit 3D à une usine de 30 fabrication pour sa fabrication. 2. Procédé selon la revendication 1, dans lequel chacun des premier et deuxième niveaux de l'agencement de circuit 3D a initialement le même nombre de rangées que l'agencement de circuit 2D, et chaque cellule du premier groupe de cellules de circuit B15634 - DD17599 19 est affectée à une rangée correspondante du premier ou du deuxième niveau. 3. Procédé selon la revendication 2, comprenant en outre, après l'affectation de la totalité des cellules de circuit de l'agencement de circuit 2D à des niveaux de l'agencement de circuit 3D : réduire le nombre de rangées du premier niveau de l'agencement de circuit 3D en vidant les cellules de circuit d'au moins une rangée et en supprimant ladite au moins une rangée, les 10 cellules de circuit vidées étant déplacées vers l'une ou l'autre des rangées adjacentes à la rangée vidée dans le premier niveau ; et réduire le nombre de rangées du deuxième niveau de l'agencement de circuit 3D en vidant les cellules de circuit d'au 15 moins une rangée et en supprimant ladite au moins une rangée, les cellules de circuit vidées étant déplacées vers une ou deux rangées adjacentes à la rangée vidée dans le deuxième niveau. 4. Procédé selon la revendication 1, dans lequel l'étape de sélection, parmi au moins l'une des premières rangées et au 20 moins l'une des deuxièmes rangées, de la rangée ayant l'espace disponible le plus grand, comprend la comparaison de l'espace disponible dans la totalité des rangées des premier et deuxième niveaux et la sélection de la rangée ayant le plus d'espace disponible. 25 5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel chacune des cellules de circuit est constituée d'une pluralité de sous-cellules. 6. Procédé selon l'une quelconque des revendications 1 à 5, comprenant en outre, avant les opérations d'affectation, 30 l'affectation initiale d'un ou plusieurs circuits de l'agencement de circuit 2D à un ou plusieurs niveaux de l'agencement de circuit 3D. 7. Support de stockage lisible par un ordinateur mémorisant des instructions d'ordinateur qui mettent en oeuvre le B15634 - DD17599 20 procédé de l'une quelconque des revendications 1 à 6 lorsqu'elles sont exécutées par un dispositif informatique. 8. Dispositif informatique pour générer un agencement de circuit 3D sur la base d'un agencement de circuit 2D, le 5 dispositif informatique comprenant : un ou plusieurs dispositifs mémoires (306) mémorisant l'agencement de circuit 2D ; et un dispositif de traitement (302) agencé pour : réaliser une opération de placement sur une conception 10 de circuit 2D pour générer un agencement de circuit 2D (200) comprenant R rangées de cellules de circuit, R étant un entier égal à au moins trois ; affecter certaines des cellules de circuit d'un premier groupe de cellules de circuit de l'agencement de circuit 2D à une 15 ou plusieurs premières rangées d'un premier niveau de l'agencement de circuit 3D et certaines des cellules de circuit du premier groupe de cellules de circuit à une ou plusieurs deuxièmes rangées d'un deuxième niveau de l'agencement de circuit 3D ; affecter certaines des cellules de circuit d'un deuxième 20 groupe de cellules de circuit de l'agencement de circuit 2D à une ou plusieurs deuxièmes rangées du premier niveau de l'agencement de circuit 3D et certaines des cellules de circuit du deuxième groupe de cellules de circuit à une ou plusieurs deuxièmes rangées du deuxième niveau de l'agencement de circuit 3D, le dispositif 25 informatique (300) étant agencé pour affecter chaque cellule de circuit des premier et deuxième groupes : en sélectionnant, parmi au moins l'une des premières rangées et au moins l'une des deuxièmes rangées, la rangée ayant l'espace disponible le plus grand ; et 30 en affectant la cellule de circuit à la rangée sélectionnée ; et transmettre l'agencement de circuit 3D à une usine de fabrication pour sa fabrication.