Retrospettiva del 2023. Innovazione nella verifica - Semiwiki

Retrospettiva del 2023. Innovazione nella verifica – Semiwiki

Nodo di origine: 3086907

Come di consueto a gennaio iniziamo con uno sguardo ai documenti esaminati l'anno scorso. Paul Cunningham (GM, Verification at Cadence), Raúl Camposano (Silicon Catalyst, imprenditore, ex CTO di Synopsys e ora CTO di Silvaco) e io continuiamo la nostra serie sulle idee di ricerca. Come sempre, feedback gradito. Stiamo pianificando di avviare una serie dal vivo quest'anno per discutere idee e argomenti più ampi e per ottenere il vostro feedback. Dettagli da seguire!

Retrospettiva 2023

Le scelte 2023

Questi sono i blog che abbiamo pubblicato durante l'anno, ordinati per popolarità. Abbiamo registrato una media di 12.7 coinvolgimenti per blog, un aumento significativo rispetto allo scorso anno che consideriamo un'indicazione che continui a apprezzare le nostre recensioni sulle ricerche attuali in fase di verifica. Il leader non è stata una sorpresa, applicando i LLM alla revisione automatizzata del codice con quasi 17 impegni. Un secondo vicino utilizza il machine learning per sviluppare astrazioni di modelli. In effetti, i primi 4 blog nel 2023 riguardavano tutti le applicazioni di AI/ML. Le reti di Petri sono apparse anche quest'anno, qui per convalidare i protocolli DRAM in rapida evoluzione. L'uso di hardware dedicato per la speculazione nella simulazione e un metodo per trovare anomalie hanno completato l'elenco. La retrospettiva per il 2022 si è svolta più o meno come al solito, ma è stata messa in ombra dall’interesse per altri giornali nel corso dell’anno. È una scommessa sicura che esamineremo più applicazioni di AI/ML nel 2024!

Il punto di vista di Paolo

Un altro anno vola e 49 articoli letti da quando abbiamo aperto il blog a novembre 2019! Allora pensavamo che sarebbe stato un ottimo modo per riunire la nostra comunità di verificatori e mostrare il nostro apprezzamento per i continui investimenti nella ricerca sulla verifica presso le istituzioni accademiche di tutto il mondo.

Ciò che non avevo previsto era come la lettura di tutti questi documenti avrebbe ispirato nuovi investimenti e innovazioni in Cadence. Scrivere questo blog mi ha insegnato che, anche a livello esecutivo in ingegneria, rimanere in contatto con la ricerca di base e leggere regolarmente articoli fa bene agli affari. Quindi grazie lettori e grazie Bernard!

Non sorprende che i nostri primi 3 risultati dell'anno scorso fossero tutti articoli sull'uso dell'intelligenza artificiale nella verifica, uno sull'intelligenza artificiale per automatizzare la revisione del codice (link), uno sull'intelligenza artificiale per aiutare a trovare i bug più rapidamente nei modelli SimuLink di alto livello di dispositivi a segnale misto (link) e uno sull'utilizzo dell'intelligenza artificiale per identificare automaticamente quale riga di codice sorgente è la causa principale del fallimento di un test (link). Dobbiamo assolutamente continuare a investire nella ricerca qui sia nel mondo accademico che nel mondo commerciale. In qualche modo, nel prossimo decennio dovremo trovare il prossimo 10x in termini di produttività nella verifica, e molto probabilmente arriverà dall'intelligenza artificiale.

Detto questo, il mio messaggio personale del 2024 non è legato all’intelligenza artificiale. Si tratta di due articoli sulla simulazione logica: uno sulla simulazione parallelizzata utilizzando l'esecuzione speculativa della coda degli eventi (link), e l'altro sul miglioramento della qualità della distribuzione degli input randomizzati nei test casuali vincolati utilizzando funzioni di hashing intelligenti (link). Io chiamo queste innovazioni “a livello del motore”: rendere fondamentalmente migliori gli elementi costitutivi degli strumenti EDA. Anche qui dobbiamo continuare la ricerca e l’innovazione. Questi due articoli erano molto innovativi ma non avevano nulla a che fare con l’intelligenza artificiale. Non dimentichiamo di continuare a investire anche nell'innovazione non legata all'intelligenza artificiale.

Il punto di vista di Raull

Scrivere questa retrospettiva durante le vacanze si scontra inevitabilmente con una delle necessità dell'umanità che può essere elevata ad arte: mangiare. La recensione dei ristoranti forse ha abbastanza punti in comune con i giornali di revisione per giustificare valutazioni come ★★★ eccezionale, vale un viaggio speciale, ★★ eccellente, merita una deviazione, ★ alta qualità, vale una sosta e 😋 eccezionalmente buono a prezzi moderati. Paolo ha già affermato che il ns Recensione di settembre era un "Argomento da stella Michelin”. Continuerò su questa linea, usando le vostre preferenze (numero di visualizzazioni), cari lettori, come metro di paragone.

Mentre il blog dell'anno scorso riguardava in gran parte algoritmi interessanti, quello di quest'anno riguardava AI / ML ed Software (software). I primi tre articoli ★★★ riguardavano tutti la verifica del SW utilizzando AI/ML. Il blog più votato (Luglio) riguardava la revisione del codice con l'intelligenza artificiale generativa, il secondo (Novembre) si occupava di testare e verificare SW per sistemi ciberfisici utilizzando modelli di intelligenza artificiale surrogati, e il terzo (Maggio) riguardava il rilevamento e la correzione dei bug in Java potenziati con i classificatori AI. Due di questi tre articoli utilizzano set di dati di grandi dimensioni da GitHub per la formazione. Tali dati non sono disponibili pubblicamente per la progettazione hardware (HW); che è probabilmente abbastanza diverso da SW da sollevare almeno la questione se questi risultati possano/saranno replicati per HW. Tuttavia, guardare cosa sta facendo la comunità SW in merito alla verifica è sicuramente fonte di ispirazione.

I successivi tre articoli, classificati con ★★, sono una raccolta eclettica di AI/ML, un algoritmo molto interessante e Petri-Nets. Tutti riguardano la verifica in EDA. di settembre l'articolo era un'anteprima dell'utilizzo di un LLM (GPT-4) e di un controllore di modelli (JasperGold) per tradurre l'inglese in System Verilog Assertions (SVA). Il prossimo (Giugno) ha affrontato come campionare lo spazio delle soluzioni per la verifica casuale vincolata uniformemente (soddisfare i vincoli) – un algoritmo interessante per un problema difficile, risalente al 2014. L'ultimo contributo in questo gruppo (Aprile) estese Petri Nets per la verifica delle specifiche JEDEC DDR; è educativo sia sulle specifiche JEDEC che sulle reti di Petri e scopre una violazione dei tempi.

I documenti 7-9, classificati con ★, trattano la verifica della progettazione analogica, la verifica della CPU e l'esecuzione parallela del software. In Ottobre abbiamo esaminato un articolo invitato alla rivista aperta IEEE della Solid-State Circuits Society, oltre ad essere un buon tutorial sulla progettazione e validazione analogica, il contributo principale consiste nella sostituzione dei modelli di circuiti analogici con modelli funzionali per accelerare la simulazione Spice di 4 ordini di grandezza . Il giornale di febbraio riguardava l'utilizzo dei DNN per migliorare i generatori di istruzioni casuali nella verifica della CPU, mostrando una riduzione di "il numero di simulazioni di un fattore 2 circa” in un semplice esempio (IBM Northstar, 5 istruzioni). Marzo ci ha portato la progettazione completa di un acceleratore HW per implementare il Modello di esecuzione SLOT (Spatially Location Ordered Tasks). per sfruttare il parallelismo e la speculazione e per applicazioni che generano attività dinamicamente in fase di esecuzione.

Il che ci lascia con due 😋 destinatari. In Agosto abbiamo esaminato un documento del 2013 che ha aperto la strada al clustering k-means (2013) per il rilevamento dei bug post-silicio. E dentro Dicembre abbiamo affrontato un argomento molto importante, la verifica della sicurezza tramite IFT (Information Flow Tracking) e la sua estensione dal livello gate a RTL. Non sorprende che il contributo di dicembre abbia avuto meno successo poiché i nostri lettori probabilmente si trovavano di fronte al dilemma descritto inizialmente.

Le valutazioni a volte possono essere arbitrarie, tutti questi contributi sono degni di nota e fanno avanzare lo stato dell'arte. Possiamo essere grati a una comunità di ricerca internazionale attiva nel mondo accademico e industriale che affronta problemi davvero difficili. Per quanto riguarda le mie preferenze personali, puoi immaginare...

Condividi questo post tramite:

Timestamp:

Di più da Semiwiki