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

- Specifica e architettura: che cosa deve fare il chip, con quali prestazioni, consumi e costo.
- 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).
- 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.
- 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.
- 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.
- Chiusura temporale e verifiche fisiche, che vediamo sotto.
- 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 è
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 il blocco acceso ma inattivo dissipa la potenza di perdita
, lo spegnimento fa risparmiare energia solo se il periodo di inattività supera il tempo di pareggio
![]()
Dimostrazione. Lasciando il blocco acceso per un tempo
si spende
; spegnendolo si spende
(trascurando la piccola perdita residua dell’interruttore). Conviene spegnere se
, cioè
. ∎
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.





