FR3082638A1 - Conception d'un circuit 3d comprenant des macros - Google Patents

Conception d'un circuit 3d comprenant des macros Download PDF

Info

Publication number
FR3082638A1
FR3082638A1 FR1855326A FR1855326A FR3082638A1 FR 3082638 A1 FR3082638 A1 FR 3082638A1 FR 1855326 A FR1855326 A FR 1855326A FR 1855326 A FR1855326 A FR 1855326A FR 3082638 A1 FR3082638 A1 FR 3082638A1
Authority
FR
France
Prior art keywords
circuit
macros
circuit design
layout
design
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1855326A
Other languages
English (en)
Other versions
FR3082638B1 (fr
Inventor
Sebastien Thuries
Olivier Billoint
Didier Lattard
Pascal Vivet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Original Assignee
Commissariat a lEnergie Atomique CEA
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Commissariat a lEnergie Atomique CEA, Commissariat a lEnergie Atomique et aux Energies Alternatives CEA filed Critical Commissariat a lEnergie Atomique CEA
Priority to FR1855326A priority Critical patent/FR3082638B1/fr
Priority to EP19180684.3A priority patent/EP3584724A1/fr
Priority to US16/443,509 priority patent/US10997346B2/en
Publication of FR3082638A1 publication Critical patent/FR3082638A1/fr
Application granted granted Critical
Publication of FR3082638B1 publication Critical patent/FR3082638B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

L'invention concerne un procédé de conception de circuit 3D comprenant : fournir des fichiers de conception de circuit (410) 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 (402, 404), un placement et un 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.

Description

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 des millions de transistors, une phase clé du processus de conception est l'opération de mise en œuvre 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 Graphie Database System — système de 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 œuvre 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 ensuite appliqué pour interconnecter les cellules de la conception de circuit afin de créer un tracé du circuit.
B16909 - DD18558ST
Les circuits 3D, dans lesquels des cellules sont disposées sur de multiples niveaux empilés interconnectés par des interconnexions comme des vias 3D, procurent de nombreux avantages en ce qui concerne la compacité et les performances des circuits.
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 œuvre 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 consommatrice de temps et coûteuse.
B16909 - DD18558ST
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é
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 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 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.
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 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 être superposés.
B16909 - DD18558ST
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.
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 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 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 œuvre 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 œuvre lorsque les instructions sont exécutées par un ou plusieurs processeurs. 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 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 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 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 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 ;
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 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 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 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 entre des dispositifs de transistors 108 des niveaux 102, 104.
B16909 - DD18558ST
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).
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 intégrés formant des niveaux correspondants référencés Tl (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 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 Ml 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é comme interface, des 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 Tl dans l'empilement comprend par exemple des bossages 210 pour connecter l'empilement à une carte de circuit (non illustrée en figure 2).
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 des vias 3D ont un diamètre égal ou inférieur à 5 pm.
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 est occupé par des circuits macros plus grands, parfois appelés
B16909 - DD18558ST circuits IP (de l'anglais Intellectual Property - propriété intellectuelle).
Comme cela est connu de l'homme de l'art, les cellules logiques sont des circuits relativement petits comprenant des dispositifs logiques numériques qui sont utilisés pour mettre en œuvre 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 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 la sélection, pendant la synthèse du circuit, de la cellule standard particulière pour mettre en œuvre 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 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 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 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 Tl dans l'exemple de la figure 3A, contenant seulement des cellules logiques, ou un mélange de cellules logiques et de
B16909 - DD18558ST 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).
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 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 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 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 œuvre 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 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 œuvre un procédé
B16909 - DD18558ST 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 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 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 œuvre dans le circuit 3D. Pendant la conception du circuit 3D, la mémoire 408 mémorise aussi par exemple un ou plusieurs macros modifiés (MODIFIED MACRO(S)) 412, une mise en œuvre 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 mise en œuvre matérielle 414. Dans certains modes de réalisation, les mémoires 404 et 408 pourraient être mises en œuvre 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 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.
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 exemple des instructions informatiques pour contrôler lesdits un
B16909 - DD18558ST 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 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.
La figure 5 est un organigramme 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 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 œuvre par l'outil de conception de circuits 3D de la figure 4, excepté l'étape 503, qui est par exemple mise en œuvre 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 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 :
un ou plusieurs fichiers LEF (Library Exchange Format 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 et des macros ;
B16909 - DD18558ST 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éesortie (I/O), et d'autres composants physiques ; et
- 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 vias 3D. Par exemple, cela implique une opération mise en œuvre par un ordinateur consistant a 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.
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 connectivité des broches des macros et d'assurer un routage vertical 3D dans la conception de logique 2D pendant le placementroutage ; et
- l'encapsulation du macro.
Comme on va le décrire plus en détail ci-après, à la suite de ces 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 œuvre physique relativement bien optimisée de la puce logique 3D.
Comme cela est connu de l'homme de l'art, la propriété 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 2D standards d'être utilisés pour la conception de circuits 3D.
B16909 - DD18558ST
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 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 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 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 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 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 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 superposition à laquelle d'autres éléments de circuits peuvent
B16909 - DD18558ST ê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 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 mettre en œuvre des plots d'interconnexion 3D. Un exemple de la mise en œuvre 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 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 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 modifications sont toutes par exemple des opérations mises en œuvre 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 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 de la figure 4 afin de générer une mise en œuvre matérielle de la
B16909 - DD18558ST 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 œuvre matérielles au niveau 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 ê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 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 la surface de l'un des niveaux du tracé de circuit 3D final. Le plan d'implantation 3D fournit par exemple un préplacement des macros 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 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 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 d'interconnexion supérieure du dispositif, et comprennent des
B16909 - DD18558ST 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 superposable, mais peut être superposé à d'autres macros. Dans 1 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 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 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 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. Comme 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 é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 logiques et les plots d'interconnexion 3D des macros sont forcées
B16909 - DD18558ST à 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 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 7B, une connexion 722 entre cellules logiques peut passer à 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 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 é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 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 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 exemple partagées par des niveaux adjacents du circuit 3D, et une
B16909 - DD18558ST 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 de la figure 8, le macro est une SRAM ayant une couche active (ACTIVE) , une couche métallique comprenant 4 niveaux (Ml à 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 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 surmontent les principales difficultés de la conception, et en particulier le placement et le routage, d'une conception de 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 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 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 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 s'appliquer à des circuits 3D comprenant trois niveaux ou plus
B16909 - DD18558ST 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 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 de réalisation pourraient être combinés, dans des variantes de réalisation, selon diverses combinaisons.

Claims (10)

  1. REVENDICATIONS
    1. 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. 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. 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. 4. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel chacun desdits un ou plusieurs macros comprend une couche de superposition (608) définissant une région de chaque macro à laquelle d'autres circuits peuvent être superposés.
  5. 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) comme étant encapsulés
    B16909 - DD18558ST dans un niveau supérieur dans lequel les plots d'interconnexion 3D sont présents.
  6. 6. Procédé selon l'une quelconque des revendications 1 à 5, dans lequel le tracé de circuit 3D comprend un ou plusieurs niveaux comprenant seulement les macros.
  7. 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 est traduite en une liste de connexions définissant lesdites une ou plusieurs cellules logiques.
  8. 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.
  9. 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 œuvre le procédé de l'une quelconque des revendications 1 à 8.
  10. 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 œuvre lorsque les instructions sont exécutées par un ou plusieurs processeurs.
FR1855326A 2018-06-18 2018-06-18 Conception d'un circuit 3d comprenant des macros Expired - Fee Related FR3082638B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1855326A FR3082638B1 (fr) 2018-06-18 2018-06-18 Conception d'un circuit 3d comprenant des macros
EP19180684.3A EP3584724A1 (fr) 2018-06-18 2019-06-17 Conception d'un circuit en 3d comprenant des macros
US16/443,509 US10997346B2 (en) 2018-06-18 2019-06-17 Conception of a 3D circuit comprising macros

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1855326 2018-06-18
FR1855326A FR3082638B1 (fr) 2018-06-18 2018-06-18 Conception d'un circuit 3d comprenant des macros

Publications (2)

Publication Number Publication Date
FR3082638A1 true FR3082638A1 (fr) 2019-12-20
FR3082638B1 FR3082638B1 (fr) 2021-07-02

Family

ID=63684026

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1855326A Expired - Fee Related FR3082638B1 (fr) 2018-06-18 2018-06-18 Conception d'un circuit 3d comprenant des macros

Country Status (3)

Country Link
US (1) US10997346B2 (fr)
EP (1) EP3584724A1 (fr)
FR (1) FR3082638B1 (fr)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12093628B2 (en) * 2013-04-15 2024-09-17 Monolithic 3D Inc. Automation methods for 3D integrated circuits and devices
US11720736B2 (en) * 2013-04-15 2023-08-08 Monolithic 3D Inc. Automation methods for 3D integrated circuits and devices
US11615228B1 (en) * 2013-04-15 2023-03-28 Monolithic 3D Inc. Automation methods for 3D integrated circuits and devices
US11120884B2 (en) 2015-09-30 2021-09-14 Sunrise Memory Corporation Implementing logic function and generating analog signals using NOR memory strings
TWI713195B (zh) 2018-09-24 2020-12-11 美商森恩萊斯記憶體公司 三維nor記憶電路製程中之晶圓接合及其形成之積體電路
JP7425069B2 (ja) * 2019-01-30 2024-01-30 サンライズ メモリー コーポレイション 基板接合を用いた高帯域幅・大容量メモリ組み込み型電子デバイス
US10868538B1 (en) * 2019-07-29 2020-12-15 Taiwan Semiconductor Manufacturing Company Ltd. Logic cell structure and integrated circuit with the logic cell structure
US11515309B2 (en) 2019-12-19 2022-11-29 Sunrise Memory Corporation Process for preparing a channel region of a thin-film transistor in a 3-dimensional thin-film transistor array
US11127719B2 (en) * 2020-01-23 2021-09-21 Nvidia Corporation Face-to-face dies with enhanced power delivery using extended TSVS
US11616023B2 (en) 2020-01-23 2023-03-28 Nvidia Corporation Face-to-face dies with a void for enhanced inductor performance
US11699662B2 (en) 2020-01-23 2023-07-11 Nvidia Corporation Face-to-face dies with probe pads for pre-assembly testing
TWI783369B (zh) 2020-02-07 2022-11-11 美商森恩萊斯記憶體公司 準揮發性系統級記憶體
WO2021159028A1 (fr) 2020-02-07 2021-08-12 Sunrise Memory Corporation Circuit de mémoire à haute capacité à faible latence efficace
US11507301B2 (en) 2020-02-24 2022-11-22 Sunrise Memory Corporation Memory module implementing memory centric architecture
US11714945B2 (en) * 2020-04-09 2023-08-01 Tokyo Electron Limited Method for automated standard cell design
CN111710644B (zh) * 2020-05-20 2022-01-04 西南科技大学 一种基于硅通孔的三维集成电路布局方法
US11569219B2 (en) * 2020-10-22 2023-01-31 Arm Limited TSV coupled integrated circuits and methods
US11455454B2 (en) * 2020-11-24 2022-09-27 Arm Limited Methods and apparatuses for concurrent coupling of inter-tier connections
WO2022173700A1 (fr) 2021-02-10 2022-08-18 Sunrise Memory Corporation Interface de mémoire dotée de voies de données en série à grande vitesse configurables pour mémoire à grande largeur de bande
US12488171B2 (en) * 2022-06-30 2025-12-02 Advanced Micro Devices, Inc. Through silicon via macro with dense layout for placement in an integrated circuit floorplan
US12591729B2 (en) * 2022-12-09 2026-03-31 Xilinx, Inc. Alignment of macros based on anchor locations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150205903A1 (en) * 2013-04-15 2015-07-23 Monolithic 3D Inc. Design automation for monolithic 3d devices
US20160042110A1 (en) * 2014-08-10 2016-02-11 Qualcomm Incorporated High quality physical design for monolithic three-dimensional integrated circuits (3d ic) using two-dimensional integrated circuit (2d ic) design tools

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526739B2 (en) * 2005-07-26 2009-04-28 R3 Logic, Inc. Methods and systems for computer aided design of 3D integrated circuits
US8060843B2 (en) * 2008-06-18 2011-11-15 Taiwan Semiconductor Manufacturing Company, Ltd. Verification of 3D integrated circuits
US20150199464A1 (en) * 2014-01-10 2015-07-16 Nvidia Corporation Floorplan anneal using perturbation of selected automated macro placement results

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150205903A1 (en) * 2013-04-15 2015-07-23 Monolithic 3D Inc. Design automation for monolithic 3d devices
US20160042110A1 (en) * 2014-08-10 2016-02-11 Qualcomm Incorporated High quality physical design for monolithic three-dimensional integrated circuits (3d ic) using two-dimensional integrated circuit (2d ic) design tools

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PANTH SHREEPAD ET AL: "Shrunk-2-D: A Physical Design Methodology to Build Commercial-Quality Monolithic 3-D ICs", IEEE TRANSACTIONS ON COMPUTER AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 36, no. 10, 1 October 2017 (2017-10-01), pages 1716 - 1724, XP011660449, ISSN: 0278-0070, [retrieved on 20170915], DOI: 10.1109/TCAD.2017.2648839 *

Also Published As

Publication number Publication date
US20190384884A1 (en) 2019-12-19
US10997346B2 (en) 2021-05-04
EP3584724A1 (fr) 2019-12-25
FR3082638B1 (fr) 2021-07-02

Similar Documents

Publication Publication Date Title
FR3082638A1 (fr) Conception d'un circuit 3d comprenant des macros
JP7539901B2 (ja) プログラマブルロジックデバイスおよび異種メモリを有するユニファイド半導体デバイス、および、それを形成するための方法
US9021414B1 (en) Automation for monolithic 3D devices
US11569204B2 (en) Input output for an integrated circuit
TW202018901A (zh) 使用標準商業化可編程邏輯ic晶片之邏輯驅動器
US11205034B2 (en) Automation for monolithic 3D devices
US11030371B2 (en) Automation for monolithic 3D devices
US11270055B1 (en) Automation for monolithic 3D devices
KR101688700B1 (ko) 삼차원 집적 회로를 위한 방법 및 장치
US20210256192A1 (en) Automation for monolithic 3d devices
US11341309B1 (en) Automation for monolithic 3D devices
US11487928B2 (en) Automation for monolithic 3D devices
US20220222414A1 (en) Design automation for monolithic 3d devices
US11615228B1 (en) Automation methods for 3D integrated circuits and devices
US11574109B1 (en) Automation methods for 3D integrated circuits and devices
Sisto et al. Design enablement of fine pitch face-to-face 3D system integration using die-by-die place & route
Kim et al. Design quality trade-off studies for 3-D ICs built with sub-micron TSVs and future devices
Pangracious et al. Three-Dimensional Design Methodologies for Tree-based FPGA Architecture
Kaul et al. Thermal reliability considerations of resistive synaptic devices for 3D CIM system performance
Burns TSV-based 3D integration
Vivet et al. Advanced 3d design and technologies for 3-layer smart imager
Chang et al. Design-aware partitioning-based 3-D IC design flow with 2-D commercial tools
US11720736B2 (en) Automation methods for 3D integrated circuits and devices
Huang et al. Layer-aware design partitioning for vertical interconnect minimization
Chen et al. Reshaping system design in 3D integration: Perspectives and challenges

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20191220

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

ST Notification of lapse

Effective date: 20250205