2025-11-12T17:13:10.726463

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

Información Básica

  • ID del Artículo: 2510.08664
  • Título: Faver: Boosting LLM-based RTL Generation with Function Abstracted Verifiable Middleware
  • Autores: Jianan Mu, Mingyu Shi, Yining Wang, Tianmeng Yang, Bin Sun, Xing Hu, Jing Ye, Huawei Li
  • Clasificación: cs.SE cs.AI
  • Fecha de Publicación: 9 de octubre de 2025 (preimpresión en arXiv)
  • Enlace del Artículo: https://arxiv.org/abs/2510.08664

Resumen

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%.

Antecedentes de Investigación y Motivación

1. Problema Central

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.

2. Importancia del Problema

  • El diseño RTL es un cuello de botella crítico en el flujo de diseño de circuitos integrados
  • La generación automática de RTL puede mejorar significativamente la eficiencia del diseño de chips
  • Los métodos existentes no pueden aprovechar efectivamente la experiencia humana de "diseño y verificación"

3. Limitaciones de Métodos Existentes

  • 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

4. Motivación de la Investigació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.

Contribuciones Principales

  1. 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
  2. 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
  3. 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%
  4. Análisis Teórico: Proporciona modelos matemáticos de tasa de éxito del sistema y tasa de veracidad de retroalimentación

Explicación Detallada del Método

Definición de Tarea

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

Arquitectura del Modelo

El marco Faver contiene cuatro pasos clave:

1. Generación de Especificación de Verificación

  • Mantener puertos E/S: Conservar las mismas definiciones de puertos de entrada y salida
  • Abstracción Funcional: Convertir conexiones topológicas de RTL en lógica de procesamiento de entrada/salida de software
  • Análisis de Límites: Analizar condiciones límite de RTL y enumerarlas en la especificación de verificación

2. Generación de Modelo de Referencia Basada en Plantilla de Clase

Diseño Central:

class ref_model(Model):
    def __init__(self):
        global state_flag0, state_flag1  # Registros mapeados como variables globales
    
    @driver_hook()
    def reset(self):  # Función de reinicio dedicada
        pass
    
    @driver_hook() 
    def step(self):   # Interfaz funcional unificada
        pass
    
    def func1(self):  # Otras funciones de funcionalidad
        pass

Técnicas Clave:

  • Mapeo de Registro a Variable Global: Mapear registros de hardware como variables globales a nivel de clase
  • Reloj como Evento: Tratar el flanco ascendente del reloj como evento "call step"
  • Interfaz Unificada: Acceder a cada módulo a través de la función step

3. Generación Jerárquica de Estímulos de Prueba

Mecanismo de Colaboración LLM-Regla:

  • Planificación de Alto Nivel: LLM diseña plan de prueba para garantizar cobertura integral del espacio funcional
  • Generación de Datos Temporales: LLM genera datos de entrada temporal con fuerte correlación funcional
  • Refinamiento Basado en Reglas:
    • Insertar función de reinicio basada en reglas
    • Verificación de límites y corrección de flujo de datos

4. Co-simulación Colaborativa y Optimización Iterativa

  • 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

Puntos de Innovación Técnica

  1. Puente de Brecha Semántica: Convertir topología de circuito en lógica de software a través de abstracción funcional
  2. Extracción de Variables Temporales: Mapear innovadoramente conceptos de temporización de hardware a modelo impulsado por eventos de software
  3. Estrategia de Verificación Jerárquica: Combinar la capacidad semántica de alto nivel de LLM con la precisión del sistema basado en reglas

Configuración Experimental

Conjunto de Datos

  • RTLLM: Conjunto de prueba de referencia académico para generación de código RTL
  • VerilogEval: Otro conjunto de evaluación de generación de código Verilog ampliamente utilizado
  • Datos SFT Recopilados Internamente: Más de 5000 pares de descripción en lenguaje natural y código RTL

Métricas de Evaluación

  • Pass@1: Tasa de aprobación de generación única
  • Pass@5: Tasa de éxito de al menos una aprobación en cinco generaciones
  • sys_sel_pass@1: Tasa de aprobación del sistema de diseño y verificación para salida de diseño único
  • sys_inner_pass@5: Tasa de éxito de cualquier diseño aprobado en cinco iteraciones internas

Métodos de Comparación

Modelos Base:

  • DeepSeek-R1-0528, Kimi K2, GPT-4O, QWQ-32B
  • Qwen2.5-Coder-32B-Instruct

Modelos SFT:

  • Serie CodeV, RTLCoder-Mistral-7B, CraftRTL-SC2-15B
  • Qwen2.5-7B-SFT (entrenamiento propio)

Líneas Base de Verificación:

  • baseline-V: Generación de testbench Verilog por LLM
  • baseline-L: LLM como juez
  • baseline-P: Generación de testbench Python por LLM (sin Faver)

Detalles de Implementación

  • Usar Toffee (plataforma de co-simulación Python-Verilog basada en Verilator)
  • Umbral de fallo continuo establecido en 5
  • Adoptar método LoRA para entrenamiento SFT para reducir gastos computacionales

Resultados Experimentales

Resultados Principales

Mejora Significativa de Rendimiento:

  • 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.

Experimentos de Ablación

Análisis de Contribución de Componentes:

  • 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

Análisis de Rendimiento del Verificador

Métricas de Precisión:

  • Verdadero Positivo significativamente mayor que Falso Positivo
  • Verdadero Negativo significativamente mayor que Falso Negativo
  • Valida las condiciones a > b y c > d en el análisis teórico

Efecto de Mejora Iterativa:

  • Faver-DeepSeek-R1-0528 muestra mejora de precisión estable durante el proceso iterativo
  • DeepSeek-R1-0528 original muestra patrón de fluctuación aleatoria en precisión

Análisis de Casos

Usando diseño de núcleo de convolución como ejemplo:

  1. Abstracción Funcional: Abstraer conexión topológica de multiplicadores y sumadores en operación de convolución
  2. Procesamiento de Límites: Identificar restricción de ancho de datos de 8 bits y problemas de coincidencia de dimensiones
  3. Mapeo Temporal: Convertir flujo de bits impulsado por reloj en secuencia de llamadas de función step

Trabajo Relacionado

Direcciones de Investigación Principal

  1. Generación de RTL Basada en LLM: Modelos especializados como ChipGPT, ChipNeMo, BetterV
  2. Métodos de Diseño y Verificación: VerilogCoder, MAGE y otros que adoptan retroalimentación de verificación
  3. Verificación RTL: VerilogReader y otros enfocados en generación de vectores de prueba

Ventajas de Este Artículo

  • Primera solución sistemática de la brecha espacio-temporal en co-verificación Python-RTL
  • Proporciona marco de verificación completo de extremo a extremo, en lugar de depender de plataformas de prueba manuales
  • Evita limitaciones de métodos simples de predicción de salida a través de abstracción funcional

Conclusiones y Discusión

Conclusiones Principales

  1. Faver puente exitosamente las prácticas de verificación de software con características de dependencia de estado temporal del diseño de hardware
  2. La retroalimentación de verificación de nivel funcional preciso es crítica para mejorar la salida de LLM en entorno de diseño de hardware
  3. La estrategia de verificación jerárquica combina efectivamente la capacidad semántica de LLM con la precisión del sistema basado en reglas

Limitaciones

  1. Limitación de Umbral Iterativo: Establecer umbral fijo de 5 iteraciones puede no ser aplicable a diseños de todas las complejidades
  2. Dependencia del Sistema de Reglas: La verificación de límites y lógica de reinicio aún requieren reglas predefinidas
  3. Limitación del Conjunto de Datos: La evaluación se realiza principalmente en puntos de referencia académicos relativamente simples

Direcciones Futuras

  1. Extender a diseños de hardware más complejos (como procesadores, SoC)
  2. Umbral iterativo adaptativo y clasificación de errores más inteligente
  3. Integración con cadenas de herramientas EDA existentes

Evaluación Profunda

Fortalezas

  1. 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
  2. Suficiencia Experimental: Evaluación integral en múltiples modelos y conjuntos de datos, incluyendo experimentos de ablación y análisis teórico
  3. Valor Práctico: Proporciona implementación de código abierto completa con buena reproducibilidad
  4. Apoyo Teórico: Proporciona modelo matemático de tasa de éxito del sistema, fortaleciendo la base teórica del método

Deficiencias

  1. Alcance de Evaluación: Evaluación principalmente en puntos de referencia académicos, falta verificación de diseños de complejidad a nivel industrial
  2. Sistema de Reglas: Aún depende de reglas predefinidas para verificación de límites, grado limitado de automatización
  3. Escalabilidad: La escalabilidad del método para diseños de hardware muy complejos aún no se ha verificado completamente

Impacto

  1. Contribución Académica: Proporciona nuevo paradigma de verificación para campo de diseño de hardware basado en LLM
  2. Valor Práctico: Puede aplicarse directamente a flujos de diseño RTL existentes, con impacto inmediato
  3. Reproducibilidad: Implementado basado en herramientas de código abierto, facilitando reproducción y extensión por comunidad de investigación

Escenarios Aplicables

  • Diseño de circuitos digitales de complejidad media
  • Desarrollo de hardware que requiere verificación de prototipo rápido
  • Generación de código RTL en entornos educativos y de investigación
  • Como herramienta de verificación auxiliar para herramientas EDA existentes

Referencias

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.