Layout Virtuoso
Gère la lecture du layout, le placement des composants, l'appariement et le routage, les broches/vias, le GDS et les vérifications DRC/LVS/PEX. Une fois la vérification physique terminée, transmet les mesures de post-simulation à virtuoso-testbench et l'optimisation des paramètres à virtuoso-params.
Vérifications préalables
Lisez d'abord Conventions de la plateforme et Protocole de configuration d'environnement, lisez la configuration locale partagée, puis connectez-vous si nécessaire. Définissez clairement lib/cell/view, PDK, technologie de fabrication, version du schéma, surface cible, appariement, courant et contraintes parasites. La technologie de fabrication est extraite de la base de données ; ne faites pas confiance à l'état historique de la bibliothèque.
Lisez layout-python-api.md et layout-skill-api.md et vérifiez les signatures réelles installées. L'interface de liaison technologique se trouve dans library-python-api.md.
Processus d'édition
- Lisez la hiérarchie, les composants réels et la géométrie des terminaux, les paires couche/usage légales, la grille de fabrication, les définitions de vias et le layout existant. Ne devinez pas les coordonnées des connexions à partir de captures d'écran.
- Élaborez une stratégie de placement et de routage, en précisant les contraintes de symétrie, d'appariement, de centrage, d'anneau de garde, d'alimentation et de signaux sensibles. Les règles proviennent du PDK réel sélectionné dans la configuration ; n'utilisez pas de valeurs numériques d'autres technologies.
- Par défaut, utilisez
modify(); n'utilisezcreate()que pour les nouvelles vues ; vérifiez d'abord qu'il n'y a pas d'écrasement. Générez les composants avec des PCells et des paramètres confirmés, évitez de dessiner à la main des composants de procédé complexes. - Les coordonnées Python utilisent des tuples/listes, les coordonnées SKILL sont générées par le builder d'API. Vérifiez avec les fonctions réelles et la version actuelle si les labels/vias/PCells peuvent être créés par script ; ne reprenez pas la conclusion « doit être fait en GUI » des anciens cookbooks.
- Utilisez des directions de routage et une grille conformes aux règles du procédé ; le routage à angle droit est un point de départ courant, mais la direction et l'angle sont déterminés par le PDK. Placez les labels de broches sur la couche/forme correcte ; un label n'équivaut pas automatiquement à une broche avec terminal électrique complet.
- Sauvegardez, relisez la géométrie et les broches, puis vérifiez par capture d'écran ; si le zoom ne montre pas les petites formes, lisez d'abord le nombre de formes et le bbox, sans recréer.
Vérification et livraison
Suivez verification.md pour préparer le stream map / deck / top cell, exportez le nouveau GDS de cette session et vérifiez les logs de l'exécution en cours. Rapportez séparément l'état des vérifications DRC, LVS et PEX ; la réussite d'une vérification ne permet pas de déduire la réussite des autres. En l'absence d'outil, de licence ou de deck, livrez le layout et le plan de vérification en indiquant clairement que l'état est « non exécuté ».
Après une modification du layout, régénérez les résultats de vérification associés ; interdisez d'utiliser un ancien résultat PEX comme résultat du layout actuel. La livraison inclut l'emplacement du layout, le GDS, les logs de vérification actuels, les points non résolus et l'état de post-simulation demandé par l'utilisateur.