Retrospettiva 2021. Innovazione nella verifica

Nodo di origine: 1589503

Come stabilito l'anno scorso, utilizzeremo il numero di gennaio di questo blog per ripercorrere gli articoli esaminati l'anno scorso. Abbiamo perso Jim Hogan e il beneficio della sua intuizione all'inizio dell'anno scorso, ma abbiamo acquisito un nuovo e noto esperto in Raúl Camposano (un altro amico di Jim). Paul (GM, Verification at Cadence), Raúl (Silicon Catalyst, imprenditore, ex CTO di Synopsys) e io siamo pronti a continuare questa serie fino al 2022 e oltre. Come sempre, feedback gradito.

Retrospettiva 2021. Innovazione nella verifica

Le scelte 2021

Questi sono i blog in ordine, da gennaio a dicembre. Tutti hanno ottenuto buoni risultati. La più interessante di tutte è stata la retrospettiva, che mi ha suggerito che anche tu volevi sapere cosa gli altri hanno trovato più interessante 😀. Quest'anno si sono distinti i temi "Finding Large Coverage Holes" e "Agile and Verification", seguiti da "Side Channel Analysis" e "Instrumenting Post Silicon Validation". Indicatori abbastanza buoni di dove stai cercando nuove idee.

Retrospettiva 2020

Trovare fori di copertura grandi

Riduzione del tempo di compilazione in emulazione

Agile e Verifica, Validazione

Fuzzing per convalidare la sicurezza SoC

Reti neurali e test CR

Convalida Post-Silicio Strumentazione

Analisi del canale laterale presso RTL

Un'astrazione dell'acceleratore simile a ISA

Controlli di coerenza della memoria su RTL

Modellazione del potere basata sull'apprendimento

Test concolico scalabile

Il punto di vista di Paolo

Mi sto davvero divertendo con questo blog; Non posso credere che siano già passati 2 anni. È sorprendente per me come Bernard sembri trovare qualcosa di nuovo e interessante ogni mese. La nostra intenzione quando abbiamo lanciato questo blog era solo quella di condividere e apprezzare ricerche interessanti, ma in pratica i documenti hanno influenzato direttamente la tabella di marcia di Cadence nella verifica. Il che penso sia la massima dimostrazione di apprezzamento.

Il tema più importante che ho visto nei nostri blog del 2021 è stato l’aumento dell’astrazione. Come è avvenuto negli ultimi 30 anni, questa continua a essere la principale leva per migliorare la produttività. Anche se probabilmente dovrei qualificarlo specifico del dominio astrazione. Storicamente, le astrazioni sono state indipendenti dall'applicazione: dal poligono al cancello, dalla netlist a RTL. Ora le astrazioni sono spesso frammentarie: da ISA a ILA per la verifica dell'acceleratore nel blog di settembre. Mappatura di assiomi comportamentali di alto livello su SystemVerilog per la verifica della coerenza della memoria nel blog di ottobre. Verilog to Chisel per la verifica agile della CPU nel blog di aprile. Asserzioni generalizzate su serie di simulazioni per la verifica della sicurezza nel blog di maggio. E poi, ovviamente, alcune astrazioni hanno continuato a essere indipendenti dal dominio: dal livello di gate al C++ per la modellazione energetica a livello di sistema nel blog di novembre. Copertura del text tagging nel blog di febbraio.

L’altro tema che ha continuato a emergere è come l’innovazione emerge dall’intersezione di competenze e prospettive diverse. Il blog di febbraio sull’utilizzo degli algoritmi di classificazione dei documenti per trovare buchi di copertura è un ottimo esempio di quest’anno. I primi metodi ML degli anni '1980 sono stati riscoperti e riapplicati alla verifica della CPU nel blog di giugno. Teoria dei giochi utilizzata per ottimizzare i tempi di compilazione FPGA in emulazione nel blog di marzo. È stato fantastico vedere Bernard introdurre questo principio nella nostra selezione di documenti quest'anno, allontanandosi in pochi mesi dalla "verifica funzionale" per dedicarsi ad argomenti come alimentazione, sicurezza e microspie elettriche. Ci aiuta a collegare i punti tra due domini diversi.

Non vedo l'ora di continuare la nostra verifica casuale anche quest'anno!

Il punto di vista di Raull

Senza soffermarci su nessun ambito in particolare, da giugno a dicembre abbiamo toccato tanti argomenti interessanti in Verification. I due più popolari erano la logica incorporata per rilevare i flop ribaltati (errori hardware) e la valutazione della perdita del canale lato alimentazione a livello RTL. Un altro documento di livello RTL riguardava la coerenza della memoria. A un livello ancora più elevato, abbiamo esaminato le astrazioni a livello di istruzione per la verifica. Avevamo anche i documenti obbligatori su ML/NN, uno per generare migliori test pseudo-casuali, l’altro per costruire modelli di potenza accurati dell’IP. Infine, la nostra scelta di dicembre sui Concolic Testing per raggiungere filiali difficili da attivare riguarda anche l'aumento della copertura dei test.

Una delle aree su cui ci concentriamo su questo blog è la commerciabilità; i documenti metodologici, i documenti fondamentali, le estensioni degli approcci esistenti e le nicchie troppo piccole non sono tutti idonei per ragioni diverse. Questo ovviamente ha poco a che fare con i meriti tecnici. Alcune delle ricerche presentate sono mature per l'adozione, ad esempio l'uso di ML/NN per migliorare diversi compiti nell'EDA. Alcuni riguardano la metodologia, ad esempio un'infrastruttura di emulazione; alcuni sono più fondamentali come le astrazioni di livello superiore. Altre sono nicchie interessanti, ad esempio le perdite dei canali laterali. Ma sono tutti meritevoli di ricerca e leggere i documenti è stato tempo ben speso!

La mia opinione

Noi tre abbiamo avuto una vivace discussione su quale principio (se presente) sto seguendo nella scelta dei documenti. Pubblicato sicuramente in un forum importante. Come dice Paul, è stata una sorta di passeggiata casuale attraverso gli argomenti. Mi piacerebbe ricevere suggerimenti dai lettori per orientare le nostre scelte. In base ai successi siete in tanti, ma evidentemente siete timidi nel condividere le vostre idee. Forse una email privata sarebbe più semplice per me – info@findthestory.net.

  • Sono particolarmente interessato ai difficili problemi tecnici che devi affrontare costantemente
  • Se puoi (non richiesto), fornire un riferimento a un articolo sull'argomento. Questo potrebbe essere pubblicato in qualsiasi forum.
  • Non sono così interessato ai problemi risolti: come hai utilizzato alcuni strumenti del fornitore per far funzionare qualcosa nel tuo flusso di verifica. A meno che tu non pensi che il tuo esempio mostri alcune capacità fondamentalmente utili che possono essere generalizzate oltre la tua applicazione.

Nel frattempo continueremo la nostra passeggiata casuale, arricchita da temi che sentiamo continuano ad essere di grande attualità: controllo di coerenza, sicurezza, astrazione

Condividi questo post tramite: Fonte: https://semiwiki.com/eda/306830-2021-retrospective-innovation-in-verification/

Timestamp:

Di più da Semiwiki