Vai al contenuto
Microelettronica

Flusso di progetto, analisi temporale e progetto a basso consumo

Dall'RTL al GDS, verifica funzionale e sintesi, analisi temporale statica e angoli, DRC, LVS ed estrazione, clock gating, soglie multiple e power gating con tempo di pareggio dimostrato.

Un processore moderno non si disegna transistor per transistor: miliardi di dispositivi si ottengono da una descrizione ad alto livello attraverso una catena di programmi di progetto automatico (EDA). Ogni passo trasforma il progetto e ogni passo va verificato, perché un errore scoperto dopo la produzione costa milioni e mesi. In questa lezione vediamo il flusso di progetto digitale dalla descrizione RTL al file per la fabbrica, l’analisi temporale statica, le verifiche fisiche, e le tecniche di progetto a basso consumo con la dimostrazione del tempo di pareggio dello spegnimento.

Il flusso

Flusso di progetto di un circuito integrato digitale
Dalla descrizione RTL, verificata con la simulazione (SIM), la sintesi (SYN) produce una rete di porte; il piazzamento e l’instradamento (P e R) ne fanno un disegno fisico; l’analisi temporale (STA) e le verifiche delle regole e della corrispondenza (DRC e LVS) lo controllano, rimandando indietro le correzioni, fino al file finale per la fabbrica (GDS).
  1. Specifica e architettura: che cosa deve fare il chip, con quali prestazioni, consumi e costo.
  2. RTL: la logica si descrive a livello di trasferimento tra registri in un linguaggio come Verilog o VHDL (lezione su FPGA e Verilog di Elettronica dei sistemi digitali).
  3. Verifica funzionale: simulazioni con milioni di casi di prova generati in modo casuale e guidato, asserzioni, e verifiche formali che dimostrano matematicamente alcune proprietà. Nei grandi progetti la verifica impegna più ingegneri del progetto stesso.
  4. Sintesi logica: un programma traduce l’RTL in una rete di porte prese da una libreria di celle standard del processo, ottimizzando per area, velocità e consumo.
  5. Piazzamento e instradamento: le celle vengono disposte sul chip e collegate con i livelli di metallo; si costruisce l’albero del clock, che porta il clock a milioni di registri con ritardi quasi uguali.
  6. Chiusura temporale e verifiche fisiche, che vediamo sotto.
  7. Tape-out: il disegno finale, in formato GDS, va alla fabbrica per la produzione delle maschere.

L’analisi temporale statica

Invece di simulare tutti i possibili segnali, impossibile per miliardi di porte, l’analisi temporale statica (STA) calcola per ogni percorso tra due registri il ritardo massimo e minimo, sommando i ritardi delle celle e dei collegamenti estratti dal disegno fisico (lezioni sui ritardi e sulle interconnessioni). Controlla per ogni percorso le condizioni di setup (il dato arriva in tempo prima del fronte di clock) e di hold (non cambia troppo presto dopo), già viste nella lezione sulla temporizzazione di Elettronica dei sistemi digitali. Il margine (slack) di un percorso è il tempo che avanza; un margine negativo è una violazione da correggere ridimensionando celle, aggiungendo ripetitori o cambiando la logica.

L’analisi si ripete in tutti gli angoli di processo, tensione e temperatura: transistor lenti a bassa tensione e alta temperatura per il setup, veloci per l’hold. Con la variabilità dei processi moderni si usano anche analisi statistiche.

Le verifiche fisiche

  • DRC (design rule check): il disegno rispetta le migliaia di regole geometriche del processo, distanze e larghezze minime, densità dei metalli?
  • LVS (layout versus schematic): il circuito estratto dal disegno coincide con quello voluto, transistor per transistor e collegamento per collegamento?
  • Estrazione dei parassiti: resistenze e capacità di tutti i collegamenti, per l’analisi temporale e per le simulazioni analogiche.
  • Analisi dell’alimentazione: cadute di tensione, elettromigrazione (lezione sulle interconnessioni).

Il progetto a basso consumo

La potenza dinamica è \alpha CV^2f e quella statica viene dalle correnti di perdita (lezioni sull’energia di Architettura dei calcolatori e sul MOSFET nanometrico). Le tecniche principali:

  • clock gating: l’albero del clock consuma da solo il 30-40 % della potenza dinamica, perché commuta a ogni ciclo. Si ferma il clock dei registri che non devono cambiare, riducendo il fattore di attività;
  • soglie multiple: celle con soglia alta, più lente ma con perdite dieci volte minori, sui percorsi che hanno margine; celle a soglia bassa solo su quelli critici;
  • isole di tensione e DVFS: blocchi alimentati a tensioni diverse, regolate secondo il carico;
  • spegnimento dell’alimentazione (power gating): un interruttore toglie l’alimentazione a un blocco inattivo, azzerando anche le perdite.

Spegnere però costa: bisogna salvare lo stato, e alla riaccensione caricare tutte le capacità del blocco.

Teorema. Se spegnere e riaccendere un blocco costa l’energia E_{sw} e il blocco acceso ma inattivo dissipa la potenza di perdita P_{leak}, lo spegnimento fa risparmiare energia solo se il periodo di inattività supera il tempo di pareggio

    \[ t_{be} = \frac{E_{sw}}{P_{leak}} \]

Dimostrazione. Lasciando il blocco acceso per un tempo t si spende P_{leak}t; spegnendolo si spende E_{sw} (trascurando la piccola perdita residua dell’interruttore). Conviene spegnere se E_{sw} \lt  P_{leak}t, cioè t \gt  E_{sw}/P_{leak}. ∎

Il controllore di potenza del chip stima quanto durerà l’inattività e decide di conseguenza; nei telefoni i blocchi si spengono e si riaccendono migliaia di volte al secondo.

Il progetto analogico e misto

I blocchi analogici (lezioni sull’operazionale integrato e sul rumore) si progettano ancora in gran parte a mano, con simulazioni a livello di transistor in tutti gli angoli e analisi statistiche di Monte Carlo sul disaccoppiamento, e si disegnano con cura. L’integrazione con la parte digitale richiede di isolare i circuiti sensibili dai disturbi che i circuiti digitali iniettano nel substrato e nelle alimentazioni (lezioni di Compatibilità elettromagnetica). Programmi di generazione automatica e tecniche di apprendimento automatico stanno entrando anche qui, ma l’esperienza del progettista conta ancora molto.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x