Faver: Boosting LLM-based RTL Generation with Function Abstracted Verifiable Middleware
Mu, Shi, Wang et al.
LLM-based RTL generation is an interesting research direction, as it holds the potential to liberate the least automated stage in the current chip design. However, due to the substantial semantic gap between high-level specifications and RTL, coupled with limited training data, existing models struggle with generation accuracy. Drawing on human experience, design with verification helps improving accuracy. However, as the RTL testbench data are even more scarce, it is not friendly for LLMs. Although LLMs excel at higher-level languages like Python/C, they have a huge semantic gap from RTL. When implementing the same functionality, Python/C code and hardware code differ significantly in the spatiotemporal granularity, requiring the LLM not only to consider high-level functional semantics but also to ensure the low-level details align with the circuit code. It is not an easy task. In this paper, we propose a function abstracted verifiable middleware (Faver) that streamlines RTL verification in LLM-based workflows. By mixing LLM-friendly code structures with a rule-based template, Faver decouples the details of circuit verification, allowing the LLM to focus on the functionality itself. In our experiments on the SFT model and open-source models, Faver improved the model's generation accuracy by up to 14%.
academic
Faver: Potenciando la Generación de RTL Basada en LLM con Middleware Verificable de Abstracción Funcional
Este artículo aborda el problema de precisión en la generación de código RTL basada en modelos de lenguaje grande (LLM), proponiendo un middleware verificable de abstracción funcional (Faver). El método desvincula los detalles de verificación de circuitos combinando estructuras de código amigables con LLM y plantillas basadas en reglas, permitiendo que el LLM se enfoque en la funcionalidad en sí. En experimentos con modelos SFT y modelos de código abierto, Faver mejora la precisión de generación del modelo hasta en un 14%.
El diseño RTL es la etapa menos automatizada e intensiva en mano de obra del diseño de chips. Aunque los LLM muestran potencial en la generación de RTL, debido a la brecha semántica masiva entre especificaciones de alto nivel y RTL, junto con datos de entrenamiento limitados, los modelos existentes tienen un desempeño deficiente en precisión de generación.
Juicio directo de LLM: Carece de herramientas de razonamiento robustas para verificar funcionalidad basada en especificaciones
Generación de testbench RTL: Los datos de testbench son más escasos que los datos de diseño, y la dificultad de generación es comparable a la del diseño RTL
Verificación Python simple: Las diferencias entre hardware y software en granularidad espacio-temporal son enormes, lo que dificulta la co-verificación
Inspirarse en el método de "diseño y verificación" de la experiencia de diseño humano, pero abordar las dificultades inherentes de los LLM en verificación de hardware, particularmente los desafíos de variables relacionadas con temporización y generación de estímulos de prueba.
Propone el Marco Faver: Permite que los LLM escriban código semántico de alto nivel para verificar circuitos y se beneficien del marco de diseño y verificación
Diseña Plantillas de Abstracción de Clase Funcional: Mapea la semántica de reloj y registro del diseño de hardware a clases de funciones Python/C impulsadas por eventos, reduciendo la brecha espacio-temporal entre verificación de hardware y software
Validación Experimental: Demuestra en múltiples conjuntos de prueba y LLM que Faver mejora la precisión de generación de RTL basada en LLM hasta en un 14%
Análisis Teórico: Proporciona modelos matemáticos de tasa de éxito del sistema y tasa de veracidad de retroalimentación
Entrada: Descripción de especificación de requisitos funcionales de hardware en lenguaje natural
Salida: Código RTL (Verilog) funcionalmente correcto y verificado
Restricciones: El RTL generado debe ser correcto tanto sintáctica como funcionalmente
Usar co-simulación Python-Verilog para coincidencia precisa
Comparación de forma de onda a nivel de carácter, clasificación de tipos de error (error funcional, desajuste de temporización, problemas de condición límite)
Umbral iterativo establecido en 5 iteraciones para evitar bucles infinitos
DeepSeek-R1-0528 en RTLLM: Pass@1 mejorado de 74% a sys_sel_pass@1 de 83%
Qwen2.5-7B-SFT: sys_inner_pass@5 mejorado en 14% en comparación con modelo original
Mejora universal de aproximadamente 10% en tasa de aprobación para todos los modelos probados
Consistencia Entre Modelos:
Todos los modelos probados muestran mejoras consistentes en ambos conjuntos de datos, demostrando la efectividad universal de Faver.
Faver- (sin generación de estímulos de prueba): Mejora promedio de 2.75%
Faver completo: Mejora de hasta 12%
Demuestra que tanto la generación de modelo de referencia como la generación jerárquica de estímulos de prueba contribuyen significativamente a la mejora de rendimiento
Innovación Técnica: Primera solución sistemática del problema de temporización de LLM en verificación de hardware, logrando mapeo semántico efectivo a través de plantillas de clase y modelo impulsado por eventos
Suficiencia Experimental: Evaluación integral en múltiples modelos y conjuntos de datos, incluyendo experimentos de ablación y análisis teórico
Valor Práctico: Proporciona implementación de código abierto completa con buena reproducibilidad
Apoyo Teórico: Proporciona modelo matemático de tasa de éxito del sistema, fortaleciendo la base teórica del método
El artículo cita trabajos importantes en el campo, incluyendo:
ChipGPT, ChipNeMo y otros LLM especializados en diseño de hardware
VerilogCoder, MAGE y otros métodos de diseño y verificación
RTLLM, VerilogEval y otros puntos de referencia de evaluación estándar
Toffee, Verilator y otras herramientas de co-simulación
Evaluación General: Este es un artículo de alta calidad con contribuciones importantes en el campo de generación de RTL basada en LLM. A través del diseño innovador de middleware de abstracción funcional, resuelve efectivamente el problema de brecha semántica entre verificación de software y hardware, con resultados experimentales convincentes y buen valor práctico e impacto académico.