Astra Trainer
Industrias del futuro

La verificación es la mayor parte del diseño de chips

Aleksandr Mikhailov
Founder, Astra Trainer
Actualizado
10 min de lectura

Pregunta a una sala de estudiantes de ingeniería quién quiere diseñar chips y se levantará casi todas las manos. Pregunta quién quiere verificarlos y la sala se vuelve honesta.

La parte del trabajo para la que nadie se apunta

La imagen pública del diseño de chips es la arquitectura: alguien decidiendo qué hace el procesador, cuántos núcleos tiene, cómo funciona la jerarquía de memoria. Ese trabajo existe, es realmente interesante, y es una fracción pequeña de la plantilla.

En un proyecto típico de chip digital, el mayor bloque individual de esfuerzo de ingeniería es la verificación, y en diseños complejos los ingenieros de verificación suelen superar en número a los de diseño. Y es, además, de forma constante, el grupo más difícil de contratar.

El motivo de que persista el desequilibrio es un malentendido sobre qué es la verificación. Se imagina, en general, como pruebas: ejecutar el diseño y comprobar la salida. Es casi lo contrario. Un ingeniero de verificación construye un modelo independiente de lo que se supone que debe hacer el diseño, monta un entorno que genera estímulos que el diseñador no anticipó, mide qué comportamientos se han ejercitado de verdad, y argumenta, a partir de la cobertura, que el riesgo restante es aceptable.

La verificación no es comprobar que el diseño funciona. Es construir el argumento de que no puede fallar de una forma que no hayas buscado.

Eso es una actividad de diseño con su propia metodología, sus propios lenguajes y su propia dificultad intelectual. Los equipos que la tratan como trabajo júnior la dotan de personal en consecuencia, y descubren la consecuencia en el tape-out.

Qué abarca esta dirección

El alcance: diseño digital, lenguajes de descripción de hardware, verificación, diseño físico, análisis de temporización y potencia, y diseño para pruebas.

Cuatro áreas.

Diseño a nivel de transferencia de registros (RTL). Describir el comportamiento del hardware en un lenguaje de descripción de hardware, con un estilo que sintetiza en puertas lógicas.

Verificación. Estímulos aleatorios restringidos, cobertura funcional, métodos basados en aserciones y técnicas formales.

Diseño físico. Planificación de planta, colocación, distribución de reloj, enrutado y cierre de temporización.

Análisis y pruebas. Temporización estática, potencia, integridad de señal, y las estructuras que hacen que un chip fabricado se pueda probar.

Por qué un chip no es software

La diferencia individual con más consecuencias, y la que reconfigura cada decisión de proceso de la industria.

No hay parche. Un fallo funcional descubierto después de fabricar se arregla cambiando el diseño y produciendo un nuevo juego de máscaras, algo caro en nodos de proceso maduros y extremadamente caro en los más avanzados, y que cuesta meses. Un fallo detectado después de que el producto haya salido al mercado quizá solo se pueda solucionar rodeándolo por software, o no se pueda solucionar en absoluto.

El diseño es paralelo por naturaleza. Los lenguajes de descripción de hardware describen estructuras que existen todas al mismo tiempo. Los ingenieros de software que pasan a hardware suelen escribir código secuencial que simula correctamente pero que no sintetiza, o que sintetiza en algo enorme. El cambio conceptual es pasar de instrucciones que se ejecutan en orden a lógica que existe toda a la vez.

La temporización es física. Un diseño no es correcto en abstracto. Es correcto a una frecuencia de reloj, a una tensión, a una temperatura, a lo largo de la variación de fabricación, y hay que demostrar que cierra en cada una de esas esquinas.

Todo cuesta área, y el área cuesta dinero. El área del die se traduce directamente en rendimiento (yield) y en coste por chip. Una función que en software sería gratis tiene un coste unitario permanente en silicio.

Estos cuatro hechos explican por qué el proceso de la industria parece conservador desde fuera. No es conservadurismo. Es la respuesta adecuada a un paso de fabricación de una sola oportunidad.

Diseño físico: adónde se va realmente el calendario

Entre una descripción RTL verificada y un layout fabricable hay un cuerpo de trabajo que quienes miran desde fuera suelen suponer automatizado.

Las herramientas hacen una parte enorme de ese trabajo. No eliminan la ingeniería.

Cierre de temporización. El diseño tiene que cumplir sus restricciones de temporización en cada camino y en cada esquina. Los caminos que fallan se arreglan redimensionando, reestructurando la lógica, moviendo bloques, ajustando el floorplan o cambiando la arquitectura. Esta última opción es lo bastante habitual como para que tratar el diseño físico como un paso posterior produzca calendarios que no se sostienen.

Potencia y térmica. Hay que gestionar tanto la potencia estática como la de conmutación, junto con la caída de tensión en la red de distribución de potencia y los puntos calientes que crea la actividad densa.

Enrutabilidad. Un floorplan cómodo para la colocación puede ser imposible de enrutar, y descubrirlo tarde cuesta semanas.

Distribución de reloj. Llevar el reloj por todo un die grande con un desfase (skew) controlado es una especialidad, y consume una parte considerable de la potencia total del chip.

Los ingenieros de diseño físico escasean, la habilidad tarda años en construirse, y es prácticamente invisible en cómo se describe la industria a los estudiantes.

Dónde encaja dentro del dominio

Diseño de chips y VLSI es la tercera de las nueve direcciones del dominio de semiconductores, electrónica y cuántica de Astra Trainer. Conecta directamente con física y dispositivos semiconductores, porque cada modelo de temporización y potencia se apoya en el comportamiento del dispositivo, y con fabricación de semiconductores y empaquetado avanzado, donde el diseño se encuentra con el proceso que lo va a construir.

También conecta hacia fuera con IA y computación, donde el diseño de aceleradores es ya una parte grande de los nuevos proyectos de chips. Los partners suelen trabajar el diseño de chips junto con sistemas embebidos, porque los equipos de hardware y software de un programa de sistema en chip necesitan un vocabulario compartido. Aquí puedes ver las nueve direcciones.

Diseño para pruebas, que no es opcional

Un chip fabricado tiene que probarse, y las estructuras que lo hacen posible se añaden al diseño de forma deliberada.

Las cadenas de escaneo conectan los elementos de almacenamiento del diseño en registros de desplazamiento para poder cargar y observar el estado interno. Las estructuras de autoprueba integrada permiten que las memorias y los bloques analógicos se prueben a sí mismos. El escaneo de frontera permite comprobar las conexiones entre chips empaquetados en una placa. La compresión de pruebas reduce cuántos datos hay que pasar por un tester, porque el tiempo de tester es caro y escala con el volumen.

Todo esto ocupa área del die y consume esfuerzo de diseño en una funcionalidad que el cliente nunca usará. Se incluye de todos modos, por una razón que merece la pena decir directamente.

El rendimiento de fabricación nunca es del cien por cien. Los defectos ocurren. Un chip que no se puede probar no se puede cribar, lo que significa que piezas defectuosas llegan a los clientes, y en aplicaciones de automoción, médicas e industriales eso es un problema de seguridad y responsabilidad legal, no una simple estadística de calidad.

El error recurrente es decidir las estructuras de prueba tarde, cuando el floorplan ya está fijado y añadirlas resulta disruptivo. La inserción de pruebas es una decisión de diseño que se toma pronto, junto con la arquitectura.

Los puestos, uno a uno

Ingenieros de diseño RTL. El puesto que la mayoría imagina.

Ingenieros de verificación de diseño. El grupo más numeroso en la mayoría de los proyectos, y el más difícil de cubrir.

Ingenieros de diseño físico. Desde la planificación de planta hasta el cierre de temporización.

Ingenieros de análisis de temporización estática y cierre (signoff).

Ingenieros de diseño para pruebas. Escaneo, autoprueba y compresión.

Ingenieros de diseño analógico y de señal mixta. Escasos de forma crónica, porque la habilidad se resiste a la automatización.

Ingenieros de verificación formal, que demuestran propiedades en lugar de simularlas.

Arquitectos de computadores. El grupo más pequeño, y el que todo el mundo imagina que es todo el campo.

Ingenieros de automatización de diseño electrónico (EDA), que construyen y mantienen los flujos de herramientas de los que depende el resto de la industria.

A quién se puede reconvertir hacia aquí

Ingenieros de software. La cantera más grande disponible, y la reconversión funciona cuando se enseña el modelo paralelo de forma explícita en lugar de darlo por hecho. La verificación en particular premia la habilidad de software, porque los entornos de verificación modernos son grandes programas orientados a objetos. Es la vía más rápida hacia la mayor escasez de la industria.

Ingenieros de FPGA. Muy cerca. Ya tienen soltura con los lenguajes de descripción de hardware y la intuición de temporización. Lo nuevo es la disciplina que viene de no poder reprogramar la pieza.

Ingenieros de electrónica. Hacia diseño de señal mixta y diseño físico, aportando intuición de dispositivo y de layout.

Ingenieros de pruebas de fabricación. Hacia diseño para pruebas, porque saben qué no se puede probar y por qué.

Ingenieros de software embebido. Hacia verificación e integración de sistema en chip; ya dominan la frontera entre hardware y software.

Graduados en física y matemáticas. Hacia verificación formal, donde el razonamiento se parece más a la demostración que a la programación.

Herramientas, metodología y flujos confidenciales. El diseño de chips depende de herramientas comerciales de automatización de diseño electrónico, kits de diseño de proceso y reglas de fundición que se suministran bajo licencia y confidencialidad, y que difieren entre organizaciones y nodos de proceso. La formación desarrolla metodología y conceptos. No suministra licencias de herramientas, kits de diseño de proceso, reglas de fundición ni ningún flujo de diseño confidencial, y no sustituye a la cualificación interna que exige su uso.

Qué llevarte de todo esto

La verificación es la mayor parte del esfuerzo, la mayor parte del riesgo de calendario y el grupo sin cubrir más numeroso, y es trabajo de diseño, no de pruebas.

Un chip no se puede parchear, lo que explica toda la forma del proceso de la industria.

El diseño físico devuelve trabajo hacia arriba, a la arquitectura, de forma habitual, así que tratarlo como un paso posterior produce calendarios que fallan.

El diseño para pruebas cuesta área y esfuerzo en una funcionalidad que nadie compra, y sin él llegan piezas defectuosas a los clientes.

Y los ingenieros de software son la fuente realista más grande de nueva capacidad de verificación, siempre que alguien enseñe el modelo paralelo en lugar de dar por hecho que se traslada solo.

Preguntas frecuentes
¿Por qué la verificación ocupa tanto de un proyecto de chip?

Porque el paso de fabricación es de una sola oportunidad. La verificación construye un modelo independiente del comportamiento previsto, genera estímulos que el diseñador no anticipó y mide la cobertura, para poder argumentar que los modos de fallo no descubiertos son improbables.

¿Pueden los ingenieros de software pasarse al diseño de chips?

Sí, y la verificación es la puerta de entrada más natural, porque los entornos de verificación modernos son grandes programas orientados a objetos. La brecha que se puede enseñar es el paso de la ejecución secuencial a estructuras que existen todas a la vez.

¿Por qué el diseño físico no es solo automatización?

Las herramientas hacen la mayor parte del trabajo mecánico, pero el cierre de temporización, la distribución de potencia, la enrutabilidad y la distribución de reloj exigen con frecuencia reestructurar la lógica o cambiar la arquitectura, lo que significa que el diseño físico retroalimenta al diseño en lugar de limitarse a seguirlo.

¿Por qué incluir estructuras de prueba que los clientes nunca usan?

Porque el rendimiento de fabricación nunca es perfecto, y un chip que no se puede probar no se puede cribar en busca de defectos. En aplicaciones de automoción, médicas e industriales, enviar piezas sin cribar es un problema de seguridad y responsabilidad legal.

¿Qué puestos afines se reconvierten bien hacia el trabajo de VLSI?

Los ingenieros de software hacia verificación, los ingenieros de FPGA hacia diseño, los ingenieros de electrónica hacia diseño de señal mixta y diseño físico, y los ingenieros de pruebas de fabricación hacia diseño para pruebas.

Cubre la parte del proyecto para la que nadie se apunta
Nueve direcciones en semiconductores, electrónica y cuántica, incluidos diseño de chips y VLSI junto con física de dispositivos, fabricación y sistemas embebidos. Diseñadas con tus propios equipos, en lecciones de cinco minutos.