Virtuoso Layout
Gestiona la lectura de layouts, colocación de dispositivos, matching y enrutamiento, pines/vías, GDS y DRC/LVS/PEX. Una vez completada la verificación física, pasa las mediciones de post-simulación a virtuoso-testbench y la optimización de parámetros a virtuoso-params.
Verificaciones previas
Lee primero las convenciones de la plataforma y el protocolo de configuración del entorno, luego lee la configuración local compartida y conecta según sea necesario. Define claramente lib/cell/view, PDK, enlace tecnológico, versión esquemática, área objetivo, matching, corriente y requisitos parasitarios. Consulta el enlace tecnológico desde la base de datos; no confíes en el estado del historial.
Lee layout-python-api.md, layout-skill-api.md y verifica las firmas reales de instalación. La interfaz de enlace tecnológico se encuentra en library-python-api.md.
Flujo de edición
- Lee la jerarquía, los dispositivos reales y la geometría de los terminales, las capas/propósitos legales, la cuadrícula de fabricación, viaDefs y el layout existente. No adivines coordenadas de conexión basándote en capturas de pantalla.
- Define la estrategia de colocación y enrutamiento, explicando las restricciones de simetría, matching, concéntricas, guard ring, alimentación y señales sensibles requeridas. Las reglas provienen del PDK real seleccionado en la configuración; no uses valores fijos de otros procesos.
- Por defecto usa
modify(); solo usacreate()para vistas nuevas; primero verifica si se va a sobrescribir. Genera dispositivos con PCells y parámetros confirmados, evitando dibujar a mano dispositivos complejos del proceso. - En Python usa coordenadas como tupla/lista; las coordenadas SKILL son generadas por el constructor de la API. Verifica si se pueden crear label/via/PCell mediante script usando las funciones reales y la versión actual, sin heredar conclusiones antiguas de "debe ser GUI".
- Usa direcciones de enrutamiento y cuadrícula acordes a las reglas del proceso; el enrutamiento a 90° es un punto de partida común, pero la dirección y el ángulo los determina el PDK. Coloca los labels de pines en la capa/forma correcta; un label no equivale automáticamente a un pin con terminal eléctrico completo.
- Guarda, relee la geometría y los puertos, y verifica con captura de pantalla. Si el zoom oculta formas pequeñas, lee primero la cantidad de formas y el bbox; no las crees de nuevo.
Verificación y entrega
Prepara el stream map / deck / top cell según verification.md, exporta el nuevo GDS de esta ejecución y revisa el log de la ejecución actual. Reporta el estado de DRC, LVS y PEX por separado; no se puede inferir que uno pase porque otro pasó. Si no hay herramienta, licencia o deck, entrega el layout y el plan de verificación, indicando claramente que no se ejecutó.
Tras cambiar el layout, regenera los resultados de verificación correspondientes; está prohibido usar PEX antiguo como resultado del layout actual. La entrega incluye la ubicación del layout, GDS, logs de verificación actuales, elementos no resueltos y el estado de post-simulación solicitado por el usuario.