Astra Trainer
Industrie del futuro

La verifica è la maggior parte della progettazione dei chip

Aleksandr Mikhailov
Founder, Astra Trainer
Aggiornato
10 min di lettura

Chiedi a un'aula di studenti di ingegneria chi vuole progettare chip e si alzano quasi tutte le mani. Chiedi chi vuole verificarli e l'aula diventa onesta.

La parte del lavoro per cui nessuno fa domanda

L'immagine pubblica della progettazione di chip è l'architettura: qualcuno che decide cosa fa il processore, quanti core ha, come funziona la gerarchia di memoria. Quel lavoro esiste, è genuinamente interessante, ed è una piccola frazione dell'organico.

In un tipico progetto di chip digitale, il blocco più grande di sforzo ingegneristico è la verifica, e nei progetti complessi gli ingegneri di verifica superano regolarmente in numero gli ingegneri di progettazione. È anche, sistematicamente, il gruppo più difficile da assumere.

Il motivo per cui lo squilibrio persiste è un equivoco su cosa sia la verifica. Viene ampiamente immaginata come test: far girare il progetto e controllare l'output. È più vicina all'opposto. Un ingegnere di verifica costruisce un modello indipendente di cosa il progetto dovrebbe fare, costruisce un ambiente che genera stimoli che il progettista non ha previsto, misura quali comportamenti sono stati effettivamente esercitati, e argomenta dalla copertura che il rischio residuo è accettabile.

La verifica non è controllare che il progetto funzioni. È costruire l'argomentazione che non può fallire in un modo che non hai cercato.

È un'attività di progettazione con propria metodologia, propri linguaggi e propria difficoltà intellettuale. I team che la trattano come lavoro junior la coprono di conseguenza e ne scoprono la conseguenza al tape-out.

Cosa copre questa direzione

L'ambito: progettazione digitale, linguaggi di descrizione hardware, verifica, progetto fisico, analisi di timing e potenza, e design for test.

Quattro aree.

Progettazione a livello register transfer. Descrivere il comportamento hardware in un linguaggio di descrizione hardware, in uno stile che sintetizza in porte logiche.

Verifica. Stimolo casuale vincolato, copertura funzionale, metodi basati su asserzioni e tecniche formali.

Progetto fisico. Floorplanning, placement, distribuzione del clock, routing e chiusura del timing.

Analisi e test. Timing statico, potenza, integrità del segnale, e le strutture che rendono testabile un chip prodotto.

Perché un chip non è software

La differenza più determinante in assoluto, e quella che ridisegna ogni decisione di processo nel settore.

Non esiste la patch. Un bug funzionale scoperto dopo la produzione si corregge cambiando il progetto e producendo un nuovo set di maschere, il che è costoso ai nodi di processo maturi ed estremamente costoso a quelli più avanzati, e costa mesi. Un bug trovato dopo il lancio del prodotto può essere risolvibile solo aggirandolo via software, o non essere risolvibile affatto.

Il progetto è parallelo per natura. I linguaggi di descrizione hardware descrivono strutture che esistono tutte contemporaneamente. Gli ingegneri software che passano all'hardware scrivono tipicamente codice sequenziale che simula correttamente e o non riesce a sintetizzare o sintetizza in qualcosa di enorme. Lo spostamento concettuale va da istruzioni eseguite in ordine a logica che esiste tutta insieme.

Il timing è fisico. Un progetto non è corretto in astratto. È corretto a una frequenza di clock, a una tensione, a una temperatura, attraverso la variazione di produzione, e ciascuno di quegli angoli deve essere dimostrato chiuso.

Tutto costa area, e l'area costa denaro. L'area del die si traduce direttamente in resa e in costo per chip. Una funzione che nel software sarebbe gratis ha un costo unitario permanente in silicio.

Questi quattro fatti spiegano perché il processo del settore appare conservativo visto da fuori. Non è conservatorismo. È la risposta appropriata a un passaggio produttivo a colpo unico.

Il progetto fisico, dove va davvero il calendario

Tra una descrizione register transfer verificata e un layout producibile c'è un corpo di lavoro che gli esterni spesso danno per automatizzato.

Gli strumenti ne fanno enormi quantità. Non eliminano l'ingegneria.

Chiusura del timing. Il progetto deve rispettare i suoi vincoli di timing su ogni percorso a ogni angolo. I percorsi che falliscono si correggono ridimensionando, ristrutturando la logica, spostando blocchi, aggiustando il floorplan, o cambiando l'architettura. L'ultima opzione è abbastanza comune da far sì che trattare il progetto fisico come un passaggio a valle produca calendari che non reggono.

Potenza e termica. Vanno gestite sia la potenza statica sia quella di commutazione, insieme alla caduta di tensione lungo la rete di distribuzione della potenza e ai punti caldi che crea un'attività densa.

Instradabilità. Un floorplan comodo per il placement può risultare impossibile da instradare, e scoprirlo tardi costa settimane.

Distribuzione del clock. Portare il clock attraverso un die grande con skew controllato è una specializzazione, e consuma una quota significativa della potenza totale del chip.

Gli ingegneri di progetto fisico sono scarsi, la competenza richiede anni da costruire, ed è largamente invisibile nel modo in cui il settore viene descritto agli studenti.

Dove si colloca in questo dominio

La progettazione dei chip e il VLSI sono la terza delle nove direzioni del dominio semiconduttori, elettronica e quantistica di Astra Trainer. Si collega direttamente a fisica e dispositivi a semiconduttore, dato che ogni modello di timing e potenza poggia sul comportamento dei dispositivi, e a manifattura di semiconduttori e packaging avanzato, dove il progetto incontra il processo che lo costruirà.

Si collega anche verso l'esterno a IA e calcolo, dove il progetto di acceleratori è ormai una gran parte dei nuovi progetti di chip. I partner di solito pianificano la progettazione di chip insieme ai sistemi embedded, perché i team hardware e software di un programma system-on-chip hanno bisogno di un vocabolario condiviso. Qui trovi le nove direzioni.

Il design for test, che non è opzionale

Un chip prodotto deve essere testato, e le strutture che lo rendono possibile vengono aggiunte al progetto deliberatamente.

Le catene di scan collegano gli elementi di memorizzazione del progetto in registri a scorrimento così lo stato interno può essere caricato e osservato. Le strutture di autotest integrato permettono a memorie e blocchi analogici di testarsi da soli. Il boundary scan permette di verificare le connessioni tra chip incapsulati su una scheda. La compressione del test riduce quanti dati devono passare attraverso un tester, perché il tempo di tester è costoso e scala con il volume.

Tutto questo occupa area del die e consuma sforzo di progettazione su funzionalità che il cliente non userà mai. Viene incluso comunque, per un motivo che vale la pena dire chiaramente.

La resa di produzione non è mai al cento percento. I difetti si verificano. Un chip che non può essere testato non può essere scremato, il che significa che parti difettose raggiungono i clienti, il che nell'automotive, nel medicale e nell'industriale è un problema di sicurezza e responsabilità, non una statistica di qualità.

L'errore ricorrente è decidere le strutture di test tardi, quando il floorplan è già definito e aggiungerle è dirompente. L'inserimento del test è una decisione di progetto, presa presto, insieme all'architettura.

I ruoli, nel dettaglio

Ingegneri di progettazione a livello register transfer. Il ruolo che la maggior parte delle persone immagina.

Ingegneri di verifica del progetto. Il gruppo più numeroso nella maggior parte dei progetti e il più difficile da coprire.

Ingegneri di progetto fisico. Dal floorplanning alla chiusura del timing.

Ingegneri di analisi di timing statico e signoff.

Ingegneri di design for test. Scan, autotest e compressione.

Ingegneri di progettazione analogica e a segnale misto. Persistentemente scarsi, perché la competenza resiste all'automazione.

Ingegneri di verifica formale, che dimostrano proprietà invece di simularle.

Architetti di computer. Il gruppo più piccolo, e quello che tutti immaginano essere l'intero campo.

Ingegneri di electronic design automation, che costruiscono e mantengono i flussi di strumenti da cui dipende il resto del settore.

Chi può essere riqualificato

Ingegneri software. Il bacino disponibile più grande, e la conversione funziona quando il modello parallelo viene insegnato esplicitamente invece di essere dato per scontato. La verifica in particolare premia le competenze software, dato che gli ambienti di verifica moderni sono grandi programmi orientati agli oggetti. È la via più rapida verso la carenza più grande del settore.

Ingegneri di field programmable gate array. Adiacenza stretta. La fluidità nei linguaggi di descrizione hardware e l'intuito sul timing esistono già. Ciò che è nuovo è la disciplina che deriva dal non poter riprogrammare il componente.

Ingegneri elettronici. Verso la progettazione a segnale misto e il progetto fisico, portando intuito su dispositivi e layout.

Ingegneri di test dalla manifattura. Verso il design for test, dato che sanno già cosa è non testabile e perché.

Ingegneri software embedded. Verso la verifica e l'integrazione system-on-chip, avendo già il confine tra hardware e software.

Laureati in fisica e matematica. Verso la verifica formale, dove il ragionamento è più vicino alla dimostrazione che alla programmazione.

Strumenti, metodologia e flussi riservati. La progettazione di chip dipende da strumenti commerciali di electronic design automation, process design kit e regole di fonderia forniti su licenza e accordo di riservatezza, che differiscono tra organizzazioni e nodi di processo. La formazione costruisce metodologia e concetti. Non fornisce licenze di strumenti, process design kit, regole di fonderia o alcun flusso di progetto riservato, e non sostituisce la qualifica interna che il loro uso richiede.

Cosa portarsi a casa

La verifica è la parte più grande dello sforzo, la parte più grande del rischio di calendario e il gruppo scoperto più grande, ed è lavoro di progettazione, non testing.

Un chip non si può correggere con una patch, il che spiega l'intera forma del processo del settore.

Il progetto fisico rimanda regolarmente lavoro a monte verso l'architettura, quindi trattarlo come passaggio a valle produce calendari che falliscono.

Il design for test costa area e sforzo su funzionalità che nessuno compra, e senza di esso parti difettose raggiungono i clienti.

E gli ingegneri software sono la fonte realistica più grande di nuova capacità di verifica, a patto che qualcuno insegni il modello parallelo invece di darlo per trasferito.

Domande frequenti
Perché la verifica assorbe tanto sforzo in un progetto di chip?

Perché il passaggio di produzione è a colpo unico. La verifica costruisce un modello indipendente del comportamento previsto, genera stimoli che il progettista non ha anticipato e misura la copertura, per argomentare che i modi di guasto non scoperti sono improbabili.

Gli ingegneri software possono passare alla progettazione di chip?

Sì, e la verifica è il punto d'ingresso più naturale, perché gli ambienti di verifica moderni sono grandi programmi orientati agli oggetti. Il divario da insegnare è il passaggio da esecuzione sequenziale a strutture che esistono tutte insieme.

Perché il progetto fisico non è solo automazione?

Gli strumenti fanno la maggior parte del lavoro meccanico, ma chiusura del timing, distribuzione della potenza, instradabilità e distribuzione del clock richiedono regolarmente di ristrutturare la logica o cambiare l'architettura, il che significa che il progetto fisico retroagisce sulla progettazione invece di seguirla.

Perché includere strutture di test che i clienti non useranno mai?

Perché la resa di produzione non è mai perfetta e un chip non testabile non può essere scremato per i difetti. Nell'automotive, nel medicale e nell'industriale, spedire parti non scremate è un problema di sicurezza e responsabilità.

Quali ruoli adiacenti si convertono bene al lavoro VLSI?

Ingegneri software verso la verifica, ingegneri di field programmable gate array verso la progettazione, ingegneri elettronici verso segnale misto e progetto fisico, ingegneri di test della manifattura verso il design for test.

Copri la parte del progetto per cui nessuno fa domanda
Nove direzioni in semiconduttori, elettronica e quantistica, inclusa la progettazione di chip e VLSI insieme a fisica dei dispositivi, manifattura e sistemi embedded. Costruite con i tuoi team, in lezioni da cinque minuti.