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: Potenziamento della Generazione RTL basata su LLM con Middleware Verificabile ad Astrazione Funzionale

Informazioni Fondamentali

  • ID Articolo: 2510.08664
  • Titolo: Faver: Boosting LLM-based RTL Generation with Function Abstracted Verifiable Middleware
  • Autori: Jianan Mu, Mingyu Shi, Yining Wang, Tianmeng Yang, Bin Sun, Xing Hu, Jing Ye, Huawei Li
  • Classificazione: cs.SE cs.AI
  • Data di Pubblicazione: 9 ottobre 2025 (preprint arXiv)
  • Link Articolo: https://arxiv.org/abs/2510.08664

Riassunto

Questo articolo propone Faver (Function Abstracted Verifiable Middleware) per affrontare il problema dell'accuratezza nella generazione di codice RTL basata su modelli di linguaggio di grandi dimensioni (LLM). Il metodo combina strutture di codice favorevoli agli LLM con template basati su regole, disaccoppiando i dettagli della verifica dei circuiti e consentendo agli LLM di concentrarsi sulla funzionalità stessa. Negli esperimenti con modelli SFT e modelli open-source, Faver aumenta l'accuratezza della generazione del modello fino al 14%.

Contesto di Ricerca e Motivazione

1. Problema Fondamentale

La progettazione RTL è la fase meno automatizzata e più dispendiosa in termini di manodopera nella progettazione dei chip. Sebbene gli LLM mostrino potenziale nella generazione RTL, a causa dell'enorme divario semantico tra specifiche di alto livello e RTL, insieme ai dati di addestramento limitati, i modelli esistenti presentano scarse prestazioni in termini di accuratezza della generazione.

2. Importanza del Problema

  • La progettazione RTL è un collo di bottiglia critico nel flusso di progettazione dei circuiti integrati
  • L'automatizzazione della generazione RTL può migliorare significativamente l'efficienza della progettazione dei chip
  • I metodi esistenti non sfruttano efficacemente l'esperienza umana nel "design and verification"

3. Limitazioni dei Metodi Esistenti

  • Giudizio diretto da LLM: Mancanza di strumenti di ragionamento robusti per verificare la funzionalità in base alle specifiche
  • Generazione di testbench RTL: I dati di testbench sono più scarsi dei dati di progettazione e la difficoltà di generazione è paragonabile alla progettazione RTL
  • Verifica Python semplice: Le differenze tra hardware e software nella granularità spazio-temporale rendono difficile la co-verifica

4. Motivazione della Ricerca

Trarre ispirazione dal metodo "design and verification" dell'esperienza umana, ma affrontare le difficoltà intrinseche degli LLM nella verifica hardware, in particolare le sfide relative alle variabili dipendenti dal timing e alla generazione di stimoli di test.

Contributi Principali

  1. Propone il framework Faver: Consente agli LLM di scrivere codice semantico di alto livello per verificare i circuiti e beneficiare del framework design and verification
  2. Progetta template di astrazione funzionale-classe: Mappa la semantica di clock e registri nella progettazione hardware a classi Python/C guidate da eventi, riducendo il divario spazio-temporale tra verifica hardware e software
  3. Verifica sperimentale: Dimostra su più set di test e LLM che Faver aumenta l'accuratezza della generazione RTL basata su LLM fino al 14%
  4. Analisi teorica: Fornisce modelli matematici per il tasso di successo del sistema e il tasso di veridicità del feedback

Dettagli del Metodo

Definizione del Compito

Input: Descrizione della specifica in linguaggio naturale dei requisiti funzionali hardware Output: Codice RTL (Verilog) funzionalmente corretto e verificato Vincoli: L'RTL generato deve essere corretto sia sintatticamente che funzionalmente

Architettura del Modello

Il framework Faver comprende quattro fasi chiave:

1. Generazione della Specifica di Verifica

  • Mantenimento delle porte I/O: Conserva le stesse definizioni di porte di ingresso e uscita
  • Astrazione funzionale: Converte le connessioni topologiche RTL nella logica di elaborazione input-output del software
  • Analisi dei confini: Analizza le condizioni al contorno dell'RTL e le enumera nella specifica di verifica

2. Generazione del Modello di Riferimento basata su Template di Classe

Progettazione principale:

class ref_model(Model):
    def __init__(self):
        global state_flag0, state_flag1  # Registri mappati come variabili globali
    
    @driver_hook()
    def reset(self):  # Funzione di reset dedicata
        pass
    
    @driver_hook() 
    def step(self):   # Interfaccia funzionale unificata
        pass
    
    def func1(self):  # Altre funzioni funzionali
        pass

Tecniche chiave:

  • Mappatura registro-variabile globale: Mappa i registri hardware a variabili globali a livello di classe
  • Clock come evento: Considera il fronte di salita del clock come evento "call step"
  • Interfaccia unificata: Accede a ciascun modulo attraverso la funzione step

3. Generazione Gerarchica di Stimoli di Test

Meccanismo di collaborazione LLM-regola:

  • Pianificazione di alto livello: L'LLM progetta il piano di test, garantendo una copertura completa dello spazio funzionale
  • Generazione di dati temporali: L'LLM genera dati di ingresso temporali con forte correlazione funzionale
  • Raffinamento basato su regole:
    • Inserisce funzioni di reset basate su regole
    • Esegue controlli e correzioni dei confini sul flusso di dati

4. Co-simulazione Collaborativa e Ottimizzazione Iterativa

  • Utilizza co-simulazione Python-Verilog per un matching preciso
  • Confronto a livello di carattere della forma d'onda, classificazione dei tipi di errore (errori funzionali, mancata corrispondenza temporale, problemi di condizioni al contorno)
  • Soglia iterativa impostata a 5 iterazioni per evitare cicli infiniti

Punti di Innovazione Tecnica

  1. Colmare il divario semantico: Converte la topologia dei circuiti in logica software attraverso l'astrazione funzionale
  2. Estrazione di variabili temporali: Mappa innovativamente i concetti di timing hardware al modello software guidato da eventi
  3. Strategia di verifica gerarchica: Combina la capacità semantica di alto livello degli LLM con la precisione del sistema basato su regole

Configurazione Sperimentale

Dataset

  • RTLLM: Benchmark accademico per la generazione di codice RTL
  • VerilogEval: Un altro set di valutazione ampiamente utilizzato per la generazione di codice Verilog
  • Dataset SFT raccolto autonomamente: Oltre 5000 coppie di descrizioni in linguaggio naturale e codice RTL

Metriche di Valutazione

  • Pass@1: Tasso di superamento della generazione singola
  • Pass@5: Tasso di successo di almeno un superamento su cinque generazioni
  • sys_sel_pass@1: Tasso di superamento dell'output di un singolo design del sistema design and verification
  • sys_inner_pass@5: Tasso di superamento di qualsiasi design tra cinque iterazioni interne

Metodi di Confronto

Modelli di base:

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

Modelli SFT:

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

Baseline di verifica:

  • baseline-V: Testbench Verilog generato da LLM
  • baseline-L: LLM come giudice
  • baseline-P: Testbench Python generato da LLM (senza Faver)

Dettagli di Implementazione

  • Utilizza Toffee (piattaforma di co-simulazione Python-Verilog basata su Verilator)
  • Soglia di fallimento continuo impostata a 5
  • Utilizza il metodo LoRA per l'addestramento SFT per ridurre i costi computazionali

Risultati Sperimentali

Risultati Principali

Miglioramenti significativi delle prestazioni:

  • DeepSeek-R1-0528 su RTLLM: Pass@1 aumenta dal 74% al 83% di sys_sel_pass@1
  • Qwen2.5-7B-SFT: sys_inner_pass@5 aumenta del 14% rispetto al modello originale
  • I modelli di base ottengono universalmente un miglioramento del tasso di superamento di circa il 10%

Coerenza tra modelli: Tutti i modelli testati mostrano miglioramenti coerenti su entrambi i dataset, dimostrando l'efficacia universale di Faver.

Esperimenti di Ablazione

Analisi del contributo dei componenti:

  • Faver- (senza generazione di stimoli di test): miglioramento medio del 2,75%
  • Faver completo: miglioramento fino al 12%
  • Dimostra che sia la generazione del modello di riferimento che la generazione gerarchica di stimoli di test contribuiscono in modo importante al miglioramento delle prestazioni

Analisi delle Prestazioni del Verificatore

Metriche di accuratezza:

  • True Positive significativamente superiore a False Positive
  • True Negative significativamente superiore a False Negative
  • Verifica le condizioni a > b e c > d nell'analisi teorica

Effetto del miglioramento iterativo:

  • Faver-DeepSeek-R1-0528 mostra un miglioramento stabile dell'accuratezza durante il processo iterativo
  • Il DeepSeek-R1-0528 originale mostra un modello di fluttuazione casuale dell'accuratezza

Analisi dei Casi

Prendendo come esempio la progettazione del kernel di convoluzione:

  1. Astrazione funzionale: Converte le connessioni topologiche di moltiplicatori e sommatori in operazioni di convoluzione
  2. Gestione dei confini: Identifica i vincoli di larghezza dati a 8 bit e i problemi di corrispondenza dimensionale
  3. Mappatura temporale: Converte il flusso di bit guidato dal clock in sequenze di chiamate di funzione step

Lavori Correlati

Principali Direzioni di Ricerca

  1. Generazione RTL basata su LLM: Modelli specializzati come ChipGPT, ChipNeMo, BetterV
  2. Metodi di design and verification: VerilogCoder, MAGE e altri che adottano il feedback di verifica
  3. Verifica RTL: VerilogReader e altri focalizzati sulla generazione di vettori di test

Vantaggi di questo Articolo

  • Primo a risolvere sistematicamente il divario spazio-temporale nella co-verifica Python-RTL
  • Fornisce un framework di verifica end-to-end completo, piuttosto che dipendere da piattaforme di test manuali
  • Evita le limitazioni dei metodi di semplice predizione dell'output attraverso l'astrazione funzionale

Conclusioni e Discussione

Conclusioni Principali

  1. Faver colma con successo le pratiche di verifica del software e le caratteristiche dipendenti dallo stato temporale della progettazione hardware
  2. Il feedback di verifica a livello funzionale preciso è fondamentale per migliorare l'output degli LLM nell'ambiente di progettazione hardware
  3. La strategia di verifica gerarchica combina efficacemente la capacità semantica degli LLM con la precisione del sistema basato su regole

Limitazioni

  1. Limitazione della soglia iterativa: L'impostazione di una soglia iterativa fissa di 5 potrebbe non essere adatta a progetti di tutte le complessità
  2. Dipendenza dal sistema di regole: I controlli dei confini e la logica di reset richiedono ancora regole predefinite
  3. Limitazioni del dataset: La valutazione è principalmente su benchmark accademici relativamente semplici

Direzioni Future

  1. Estensione a progetti hardware più complessi (come processori, SoC)
  2. Soglie iterative adattive e classificazione degli errori più intelligente
  3. Integrazione con le catene di strumenti EDA esistenti

Valutazione Approfondita

Punti di Forza

  1. Innovazione tecnica: Primo a risolvere sistematicamente il problema del timing degli LLM nella verifica hardware, realizzando un mapping semantico efficace attraverso template di classe e modelli guidati da eventi
  2. Completezza sperimentale: Valutazione completa su più modelli e dataset, inclusi esperimenti di ablazione e analisi teorica
  3. Valore pratico: Fornisce un'implementazione open-source completa con buona riproducibilità
  4. Supporto teorico: Fornisce modelli matematici per il tasso di successo del sistema, rafforzando la base teorica del metodo

Insufficienze

  1. Ambito di valutazione: Valutazione principalmente su benchmark accademici, mancanza di verifica di progetti complessi a livello industriale
  2. Sistema di regole: Ancora dipendente da regole predefinite per i controlli dei confini, grado di automazione limitato
  3. Scalabilità: La scalabilità del metodo per progetti hardware molto complessi non è ancora completamente verificata

Impatto

  1. Contributo accademico: Fornisce un nuovo paradigma di verifica per il campo della progettazione hardware basata su LLM
  2. Valore pratico: Può essere direttamente applicato ai flussi di progettazione RTL esistenti con impatto immediato
  3. Riproducibilità: Implementato sulla base di strumenti open-source, facilitando la riproduzione e l'estensione da parte della comunità di ricerca

Scenari Applicabili

  • Progettazione di circuiti digitali di complessità media
  • Sviluppo hardware che richiede verifica rapida del prototipo
  • Generazione di codice RTL in ambienti educativi e di ricerca
  • Come strumento di verifica ausiliario per gli strumenti EDA esistenti

Riferimenti Bibliografici

L'articolo cita importanti lavori nel campo, inclusi:

  • ChipGPT, ChipNeMo e altri LLM specializzati per la progettazione hardware
  • VerilogCoder, MAGE e altri metodi di design and verification
  • RTLLM, VerilogEval e altri benchmark di valutazione standard
  • Toffee, Verilator e altri strumenti di co-simulazione

Valutazione Complessiva: Questo è un articolo di alta qualità con importanti contributi nel campo della generazione RTL basata su LLM. Attraverso il design innovativo del middleware di astrazione funzionale, risolve efficacemente il problema del divario semantico tra verifica software e hardware, i risultati sperimentali sono convincenti e possiede buon valore pratico e impatto accademico.