Transcripción de ChipAgents: Acelerando el diseño y la verificación de RISC-V con agentes de IA
28 de mayo de 2025 - Presentación en RISC-V International
La creciente brecha de complejidad en el diseño de semiconductores
Mehir Arora: ¿Se escucha mi voz? ¿Funciona este micrófono? Bien, funciona. Fantástico. Muy bien. Mi nombre es Mehir Arora. Vengo de ChipAgents.ai. Somos una empresa de automatización de diseño electrónico (EDA, por sus siglas en inglés) basada en IA, realmente una de las primeras. Nos enfocamos en IA agéntica para el diseño y la verificación de chips de hardware, y explicaré exactamente qué significa eso durante esta presentación.
Nuestro objetivo final surge de un problema central que todos están experimentando. Hace 30 años, uno podía trabajar con 10.000 puertas lógicas, pero hoy en día se trabaja con al menos 10 mil millones. Hemos visto un aumento exponencial en la complejidad de los chips. Hemos visto un aumento exponencial en las demandas. Sin embargo, en realidad ha habido una escasez de ingenieros de hardware. No existe un aumento exponencial en el número de ingenieros de hardware que iguale las expectativas cada vez mayores que se imponen a los equipos de hardware que ahora producen SOCs de tamaño completo. Estos son sistemas realmente enormes, que potencialmente alcanzan billones de puertas lógicas para los sistemas de IA a mayor escala que se producen actualmente.
Nuestro objetivo es que equipos más pequeños que utilicen agentes de IA puedan competir con equipos 5 veces más grandes. En aproximadamente un año, esa cifra será más cercana a 25 veces el tamaño. Veremos equipos de 5 personas siendo capaces de enfrentarse a equipos de 25, o equipos de 20 a 30 enfrentándose a grupos de 100 a 150. Tenemos muchos casos de uso diferentes, todos habilitados por la IA agéntica, lo que significa que realmente se puede delegar una tarea completa de principio a fin a estos sistemas. Los ejecutarán por usted de forma asíncrona.
Casos de uso específicos para la IA agéntica en la ingeniería de hardware
Todo el mundo quiere conocer los casos de uso, así que les demostraré un par de ellos en un segundo. No llevan mucho tiempo. Algunos de nuestros casos de uso principales destacan por el hecho de que este es un producto muy general con muchas capacidades diferentes. Una de las cosas realmente interesantes es que se pueden hacer cosas como leer los registros de regresión. Quizás esté ejecutando muchas regresiones nocturnas. Puede leer las salidas de los registros, sus formas de onda (waveforms), su diseño bajo prueba y su banco de pruebas (testbench), y el agente puede determinar de forma autónoma la causa raíz de esos problemas.
También hay funciones excelentes como la lectura de especificaciones, ya sean especificaciones internas o protocolos muy extensos que son estándares maduros y de acceso abierto. Puede tomar esas especificaciones y producir planes de verificación completos para todo el diseño. También puede leer ese plan de verificación y generar elementos como modelos de cobertura UVM, secuencias y verificadores. Además, puede leer la microarquitectura o una arquitectura SystemC, y luego implementar e integrar nuevos módulos SystemVerilog. Habilitamos todos estos nuevos flujos.
Benchmarks de vanguardia y fundamentos académicos
Todo el mundo está muy interesado en el rendimiento, así que hablaré brevemente sobre ello. Nuestro equipo proviene originalmente del ámbito académico. Nuestros fundadores son profesores y estudiantes de posgrado de la UC Santa Barbara. También soy exalumno de la UC Santa Barbara y provengo del área de investigación. El trabajo inicial se realizó en algo llamado SWE-bench, que es un benchmark muy famoso para agentes de IA enfocado en la programación en Python. La versión verificada de esto se desarrolló junto con Princeton y OpenAI. Nuestros fundadores establecieron los resultados líderes en este benchmark SWE-bench, y ahora nos hemos trasladado al hardware.
La diapositiva en pantalla muestra una tabla sobre Verilog-Eval, un benchmark producido por Nvidia para agentes que trabajan en tareas de nivel de transferencia de registros (RTL). Establecimos los resultados de vanguardia en este benchmark hace un par de meses. Esta es nuestra tarea ahora: tomar este trabajo académico y convertirlo en un producto. Voy a darles una demostración rápida de nuestro sistema. Para aclarar exactamente en qué consistirá la demostración, realizaremos un análisis de causa raíz y también hablaremos sobre la generación de planes de prueba y modelos de cobertura UVM.
Demostración en vivo: Análisis de causa raíz de formas de onda y planificación de pruebas AXI
Para la demostración, tengo un módulo de Estándar de Encriptación Avanzada (AES), que es un módulo de cifrado. Actualmente está averiado y queremos encontrar la causa raíz a partir de las formas de onda. Simultáneamente, también tengo una especificación de protocolo AXI que obtuve de ARM, y quiero reunir todo este material de verificación. Lo haré por ustedes ahora mismo.
En la pantalla, tengo abierto Visual Studio Code. ChipAgents es nuestro producto estrella, y lo desplegamos como una utilidad de línea de comandos. Aunque tengo abierto Visual Studio Code, tenemos una terminal abierta tanto a la izquierda como a la derecha. Como solo tenemos 10 minutos, ejecutaré estas demostraciones en paralelo.
La primera demostración tiene que ver con este módulo de cifrado AES. El problema que tenemos es este módulo AES aquí, que es solo el módulo superior. Hay un par de otros módulos también. También tengo un banco de pruebas. Este banco de pruebas es muy rápido. Tiene solo este primer caso de prueba aquí y estos otros dos casos de prueba. El problema es que el primer caso de prueba pasa, pero el segundo falla. Es un problema particularmente difícil, pero afortunadamente, tengo una forma de onda correspondiente al rastro de salida de esta ejecución.
Esta es mi interfaz para ChipAgents, que se basa completamente en lenguaje natural. Ingresaré mi comando a ChipAgents en lenguaje natural completo. Déjenme asegurarme de estar en el directorio correcto. Tomaré este prompt y me moveré al directorio AES de ChipAgents. Ahí está. Abriré ChipAgents y proporcionaré el prompt allí, informando al agente que el primer caso de prueba pasa y el segundo falla. Quiero que utilice la forma de onda para averiguar qué está pasando.
Simultáneamente, echemos un vistazo a este protocolo AXI. Esta es una especificación de 300 páginas que descargué del sitio web de ARM para todo el protocolo AXI. Lo que quiero hacer es leer la especificación del protocolo y escribir un plan de prueba en markdown. También quiero escribir el modelo de cobertura UVM y las secuencias UVM, y quiero un par de cosas diferentes sobre esas secuencias basadas en algunos requisitos generales. Voy a presionar enter allí también, y comenzará todo el proceso. Estoy ejecutando estas dos cosas en paralelo porque no tenemos mucho tiempo, y de esta manera puedo hablar mucho sobre lo que está sucediendo aquí.
Depuración detallada del módulo de cifrado AES
Permítanme hablar primero sobre las formas de onda y sus capacidades. Verán que el agente está examinando testbench.vcd. Una de las primeras preguntas que recibimos es: ¿qué otros formatos de forma de onda soportan? Soportamos FSDBs, y muchos otros formatos de forma de onda diferentes están en el horizonte. En este momento, soportamos FSDBs a través de las bibliotecas de visualización de formas de onda de Verdi.
Pueden ver que el agente está analizando este archivo de forma de onda. Está visualizando una serie de señales diferentes involucradas en el VCD, y también está visualizando varios archivos, incluidos los componentes centrales del módulo de cifrado AES.
Mientras eso se ejecuta, permítanme resolver un problema de directorio para la especificación AXI. Estaba en el directorio incorrecto para esa. Ahí está, esa es la especificación AXI. Ahora le pediré que lea la especificación AXI y escriba un plan de prueba en markdown, secuencias UVM y un modelo de cobertura. Intercambié mis directorios por error, pero eso está bien porque el análisis de la forma de onda ya está terminado. Este resultado es muy, muy interesante.
Revisemos y observemos el análisis de la forma de onda. Para reiterar, lo que ChipAgents está haciendo realmente es leer la forma de onda. Lee los diferentes archivos asociados con el AES y, a partir de ahí, ejecuta un análisis de causa raíz. Este es el análisis de forma de onda que ha resultado. El problema principal está, de hecho, en la máquina de estados del módulo de cifrado AES-128. En la etapa de "add round key", cuando el contador de rondas es igual a NR menos 1, lo que representa la ronda final, establece correctamente el texto cifrado y la bandera de finalización (done flag), pero establece incorrectamente la etapa en "sub bytes" en lugar de "idle". Ese es el problema central.
El agente incluso me da evidencia dentro de la forma de onda. Proporciona la marca de tiempo exacta en picosegundos de interés, donde me indica específicamente sobre la señal de finalización y también sobre la transición incorrecta de la etapa. Me indica las otras marcas de tiempo que también puedo observar para examinar el texto cifrado. Justo aquí en la salida, me muestra cómo está ciclando 4, luego 1, luego 2, y luego vuelve a 4, cuando debería estar haciendo la transición a la etapa 0. Resalta la causa raíz real en el código entre las líneas 80 y 90. El error se muestra de forma bastante visible. Esta línea aquí debe cambiarse a 0, y luego también me informa sobre el impacto.
Finalmente, ChipAgents resume nuestros resultados, y pueden ver que ha completado todo el análisis de causa raíz de forma autónoma. Esto es muy emocionante para nosotros. Tenemos múltiples clientes comerciales que ya están utilizando ChipAgents de esta manera: tomando las salidas de las ejecuciones de regresión nocturnas, alimentando la forma de onda y los archivos de diseño bajo prueba en ChipAgents, y luego aislando la causa raíz.
Automatización de planes de prueba AXI y generación de secuencias UVM
Pero eso no es lo único que ChipAgents puede hacer, aunque es muy emocionante. Otras cosas que ChipAgents puede hacer incluyen preparar todo este plan de prueba para mí, en lo cual ha estado trabajando en segundo plano. Permítanme aceptar la creación de este archivo, y luego explicaré exactamente qué está pasando. Lo que ChipAgents estaba haciendo mientras revisábamos el resto de esto era trabajar en el protocolo AXI. Leyó este protocolo AXI, verificó la tabla de contenidos, verificó los canales principales de AXI y sus propósitos, los tipos de transición AXI y los aspectos clave. Ahora, ha reunido este plan de prueba AXI a gran escala para mí. Mientras tanto, también le pedí que creara estas secuencias UVM reales.
En resumen, hablaré sobre el plan de prueba AXI real. Lo formatearé aquí en markdown para que todos vean algunas de las capacidades. Pueden ver que lo que ha hecho por mí es enumerar el plan de prueba muy bien en estas tablas de markdown. Esa fue mi solicitud; quería que estuviera en markdown. Captura todos los detalles específicos sobre la interfaz AXI. Por ejemplo, aquí está toda la información sobre los "handshakes" de los canales y todos los diferentes "handshakes" que se realizan en todos los canales. Aquí están el reloj y el reinicio, los canales de solicitud de escritura y los canales de datos de escritura.
Puedo desplazarme un poco hacia abajo para ver algunas cosas más interesantes. Tenemos todos estos tipos de ráfagas (burst types) enumerados en AXI también, junto con diferentes atributos de memoria, diferentes tipos de protección y seguridad, identificadores de transacciones, ordenamiento de solicitudes y accesos exclusivos y atómicos. Hay mucha información que tuvo que extraer de esta especificación. Esta especificación tiene 300 páginas, y el agente ha reunido este plan de verificación para mí justo ante sus ojos. Esto no existía antes; nada del material existía antes.
Hemos probado este sistema en escalas arbitrarias, tamaños arbitrarios y cantidades arbitrarias de documentos. Puede proporcionarle miles de páginas; Ethernet tiene 3.000 páginas, por ejemplo. ChipAgents maneja eso perfectamente y producirá planes de prueba para usted, o puede realizar consultas sobre ellos para determinar información sobre esas especificaciones. Esto también es bastante útil cuando consulta otros documentos muy largos, potencialmente bases de código completas. Por ejemplo, en el lado de la verificación, un gran cuello de botella es comprender el RTL. Puede alimentar cientos de archivos en ChipAgents, y los revisará todos y le devolverá respuestas sobre el flujo de datos.
Al mismo tiempo, ChipAgents ha reunido este largo conjunto de transacciones para mí. Déjenme desplazarme hasta arriba para encontrar la ruta. Aquí están las secuencias UVM. Podemos hacer todo tipo de partes diferentes del banco de pruebas UVM, pero solo mostraré las secuencias reales. Este es un archivo Verilog de 800 líneas recién producido para usted, extraído de la nada, sin más que la especificación y el plan de prueba que produjo. Contiene las secuencias base, las secuencias de escritura con una serie de restricciones diferentes, las secuencias de lectura, etcétera. Puedo seguir desplazándome por esto, pero verán que todas estas secuencias se alinean directamente con el plan de prueba real que está implementado.
El futuro de la automatización del diseño electrónico
ChipAgents está haciendo mucho más también. Para resumir brevemente, somos la única empresa en el mundo en este momento que está abordando este importante problema en la automatización del diseño electrónico. El problema central en el hardware es que existen expectativas exponenciales sobre los equipos de hardware. Las personas necesitan ser capaces de manejar enormes cantidades de información y datos, y luego tabularlos y convertirlos en enormes cantidades de material de verificación. Necesitan realizar una gran cantidad de depuración y una gran cantidad de diseño.
Construimos este sistema, y ayuda a los equipos a sentir que son 5 o 10 veces más grandes. Esa es la tarea que se nos encomendó, y este es el progreso que hemos podido lograr hasta ahora. Ya tenemos muchos clientes comerciales utilizando ChipAgents. Este es el futuro del EDA, y por eso estamos emocionados de construirlo. Muchas gracias.