Era un ingegnere di verifica del design ASIC presso Qualcomm. Nel modo più semplice posso spiegarlo:
Test: assicurarsi che un prodotto funzioni, dopo averlo creato (pensa al QA).
Verifica: assicurarsi che un prodotto funzioni PRIMA di averlo creato.
Sono entrambi test, solo che la verifica è più complicata perché devi trovare un modo per testare il prodotto prima che esista e devi essere in grado di assicurarti che funzioni come previsto e di specificare quando effettivamente esce.
Ad esempio, Intel sta progettando il prossimo processore, hanno le specifiche, hanno gli schemi e le simulazioni. Spendono $ 1 miliardo di dollari per passare attraverso la fabbricazione e la produzione. Quindi il chip ritorna e lo provano e scoprono che non funziona. Hanno appena buttato un sacco di soldi fuori dalla finestra.
Lancia la verifica. Gli ingegneri della verifica creano modelli che simulano il comportamento del chip, creano il banco di prova che testerà quei modelli particolari. Ottengono i risultati di questi modelli e poi lo confrontano con i risultati RTL (modello del circuito che scrive in un linguaggio di progettazione hardware). Se corrispondono, le cose sono (di solito) OK.
Esistono diverse metodologie per il processo di verifica, una popolare è la Universal Verification Methodology (UVM) .
C'è molta profondità nel campo e le persone possono passare tutta la loro carriera in esso.
Un'altra informazione casuale: di solito sono necessari 3 ingegneri di verifica per 1 ingegnere progettista. Questo è ciò che dicono tutti nel campo.
EDIT: Molte persone pensano alla verifica come a un ruolo di prova, ma non lo è; è un ruolo di progettazione in sé perché devi comprendere tutte le complessità del tuo IC come fa un designer, e quindi devi sapere come progettare modelli, banchi di prova e tutti i casi di test che copriranno tutte le funzionalità del tuo IC , oltre a cercare di colpire ogni singola riga di codice RTL per tutte le possibili combinazioni di bit. Ricorda che al giorno d'oggi un processore ha miliardi di transistor a causa del processo di fabbricazione che consente sempre più piccoli (ora 14 nm).
Inoltre, in grandi aziende come Intel, AMD, Qualcomm, ecc., I progettisti in realtà non progettano il chip. Di solito l'architetto definirà tutte le specifiche, impaginerà i tipi di pezzi che devono essere uniti per ottenere una funzione particolare con un requisito specifico (velocità, risoluzione, ecc.), E quindi il progettista lo codificherà in RTL. Non è affatto un lavoro facile, non è tanto progettare quanto molti ingegneri che escono da scuola pensano che sia. Quello che tutti vogliono essere è un architetto, ma ci vuole molta educazione ed esperienza per arrivare a quel punto. Molti architetti hanno un dottorato di ricerca e come 15-20 anni di esperienza nel campo come designer. Queste sono persone brillanti (e talvolta pazze) che meritano di fare quello che stanno facendo, e sono bravi a farlo. L'architetto sul primo chip su cui ho lavorato era un po 'imbarazzante e non seguiva davvero alcune norme sociali, ma poteva risolvere qualsiasi cosa tu fossi bloccato riguardo al chip, e a volte lo risolveva nella sua testa e ti diceva a guardare un segnale e saresti come "come diavolo l'ha fatto?". Quindi gli chiedi di spiegare e lui lo fa e ti va ben oltre la testa. In realtà mi ha ispirato a leggere libri di testo anche se mi sono già laureato.