Università degli Studi del Sannio
Facoltà di Ingegneria
- Impressionante crescita in complessità degli attuali IC digitali
- Progesso tecnologico più veloce di capacità umana di progettazione
- Necessità di strumenti CAD e di ben definite metodologie di progetto
Design Gap
- Continuo aumento del team operante su di un progetto
(circa 500 persone per progetto di microprocessori)
- Aumento del team insostenibile all'infinito
- Necessità di evolvere le tecniche di progetto per ridurre il design gap
- Introduzione di nuove metodologie una volta in un decennio
- Maggiori cambiamenti dagli anni '70 in poi
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Evoluzione delle strategie di progetto
1) Full-custom
2) Programmable Logic Array (PLA)
3) Celle standard
4) Macrocelle
5) Compilatori di moduli
6) Gate array
7) Hardware riconfigurabile
un semplice processore digitale
DATAPATH è Implementato in più modi
(trade-offs tra area, velocità, potenza, riutilizzo, tempo di progetto)
CONTROL è
MEMORY
è
Giovanni Vito Persiano
Implementato con PLA e Celle standard
Implementato con compilatori di moduli (array)
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Trade-off tra Efficienza Energetica e Flessibilità
Flessibilità (o programmabilità) = riutilizzo del hardware per più applicazioni
Processo CMOS a 0.25 mm
Massima efficienza energetica è
Implementatazione con nessuna flessibilità
(progetto full-custom o semicustoms hard-wired)
Buona efficienza energetica è
Implementatazione con limitata flessibilità
(moduli configurabili o parametrizzabili)
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Diagramma ad Y delle viste e dei livelli di progettazione digitale
Metodologie di progettazione digitale
- Scelta dipendente da rapporto costo-prestazioni
Costi di progetto (NRE - Non-Recurring Expense)
Costo dato da 2 componenti:
Costi di produzione
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
- Scelta necessaria se prestazioni obiettivo primario
- Elevato costo e lungo time-to market
- Definizione di tutti gli step tecnologici
- Unica possibilità agli albori dell'elettronica digitale
Processore INTEL 4004 (PMOS, 1971)
- Struttura poco regolare
(no modularità)
- Riutilizzo di blocchi base (librerie di celle)
- Elevati volumi di produzione (microprocessori, memorie)
- Prestazioni obiettivo primario (workstation, supercomputer)
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Passaggio all'automazione ed alle strutture regolari
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
- Progetto più rapido e più automatizzato rispetto approccio full-custom
- Costi e prestazioni inferiori rispetto approccio full-custom
- Metodologia cell-based oppure array-based
Progetto cell-based: approccio a celle standard
- Unità base data da porta logica
- Libreria comprende porte elementari (INV, AND/NAND, OR/NOR, ecc.)
e funzioni complesse (AOI, MUX, full-adder, ecc.)
- Progetto svolto da disegno già esistente o generato con HDL
- Minori vincoli su canali di collegamento per più livelli di metal
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Progetto con celle standard a 3 livelli di metal
- Canali di collegamento occupano un'area notevole
Progetto con celle standard a 7 livelli di metal
- Canali di collegamento sono virtualmente assenti
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Esempio con celle standard - NAND a 3 ingressi
Processo CMOS a 0.18 mm
Progetto con celle standard oggi ampiamente diffuso grazie a:
a) buona qualità degli algoritmi di placement e routing
b) affermazione di sofisticati strumenti di sintesi logica
c) progetto eseguito a diversi livelli di astrazione (VHDL, Verilog)
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Progetto cell-based: approccio a generazione automatica delle celle
- Librerie composte da centinaia a migliaia di celle
- Richiesta di celle ottimizzate per una specifica applicazione
- Necessità di ricompilazione ad ogni migrazione tecnologica
ò
Generazione automatica delle celle (compiled cell)
: Inverter
Geometria
iniziale
Giovanni Vito Persiano
Definzione
MOS
Routing
simbolico
Cella
compattata
Layout
finale
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Progetto cell-based: approccio a macrocelle
- Approccio a celle standard inadeguato per MUX, memorie, DSP, ecc.
- Unità base data da entità (macrocella) più complessa di porta logica
- Due tipologie di macrocella: Hard Macro e Soft Macro
Progetto basato su Hard Macro
Hard Macro = modulo progettato per eseguire una specifica funzione
- Progetto full-custom del modulo dal punto di vista strutturale
- Libreria di macro tipicamente forniti dal costruttore
- Non esportabilità in altre tecnologie e processi
- Per macro configurabili è generatore di moduli (module compiler)
emoria SRAM 256x32 (oppure a 8192 bit)
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Progetto basato su Soft Macro
Soft Macro = modulo per una data funzionalità senza specifica descrizione fisica
- Progetto del modulo dal punto di vista comportamentale
- Implementazione strutturale definita dai vincoli di progetto
- Facile esportabilità ad altre tecnologie e processi
- Generatori strutturali di Soft Macro è netlist (struttura,vincoli di progetto)
Moltiplicatore di Booth 8x8
Moduli di Proprietà Intellettuale
Macromoduli forniti da costruttori tramite specifico accordo o licenza
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Flusso di progetto semicustom
1) Cattura del progetto è HDLs, diagrammi a blocchi, moduli IP
2) Sintesi logica è netlist tramite HDL e uso di macro generate in precedenza
3) Simulazione e verifica strutturale è rispetto delle specifiche di progetto
4) Floorplanning è concepimento del layout globale con stima dei parametri
5) Piazzamento è definizione della posizione delle celle nel layout
6) Collegamento è definizione delle connessioni tra celle e blocchi
7) Estrazione circuitale è modello elettrico del chip (dispositivi, connessioni)
8) Simulazione e verifica post layout è rispetto delle specifiche di progetto
9) Tape-out è generazione file binario per passaggio in produzione
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Fenomeno di "timing closure"
: per tecnologie inferiori a 0.25 mm:
Parametri delle interconnessioni rilevanti è inaccurata simulazione logica e strutturale
Debolezza dei modelli di predizione è difficile convergenza per rispettare temporizzazione
Aumento del numero di iterazioni è tempi di definzione del chip pari a settimane
a) Progetto iniziale
b) Progetto intermedio
violazioni di timing
(linee bianche)
c) Progetto finale
Giovanni Vito Persiano
più stretta interazione tra
progetto fisico e logico
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
- Progetto più economico (meno step tecnologici) è minori NRE
- Adatto anche per piccoli volumi di produzione
- Non ottimizzato in termini di potenza, velocità, area
- Due soluzioni: programmabili tecnologicamente o sul campo
Array prediffusi (mask-programmable)
Wafer con celle/transistor prefabbricati è definizione dei collegamenti (metal)
Tempi di progettazione ridotti è qualche settimana
Due tipologie di celle prediffuse è gate array e sea-of-gates
cella
Architettura Gate-Array
cella
Architettura Sea-of Gates
righe di celle
non connesse
canale di
collegamento
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Esempio di cella gate array
Cella non connessa
Cella programmata
(NOR a 4 ingressi)
Esempio di cella sea-of-gate
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Esempio di progetto gate array
Esempio di progetto sea-of-gate
Memory
Subsystem
Logica
Random
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
1) Tecniche di programmazione
- Fusibili o antifusibili (programmabili solo una volta)
- Memorie non volatili (EEPROM, Flash)
- Memorie volatili (SRAM, DRAM)
Programmazione con antifusibili
2) Stili di programmazione logica
- Array-based o cell-based
- Look-up table
3) Stili di interconnessione logica
- Array-based
- Sistemi reticolari (mesh networks)
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Stili di programmazione logica
Programmazione array-based
Programmabilità è maggiore flessibilità, minori densità e prestazioni
PLA, PROM e PAL poco utilizzate nell'era del VLSI poiché:
1) Scarse densità e prestazioni nell'implementazione di funzione logiche complesse
2) Incapacità di implementare logica sequenziale
ò
Soluzione 1) è Suddivisione dell'array in sezioni più piccole (macrocelle)
Soluzione 2) è Inserimento di flip-flop e collegamenti per riporto uscita-ingresso
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Implementazione di PAL complesse
Esempio di programmazione di macrocelle (PROM)
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Programmazione cell-based
- Array-based molto efficace per logica a 2 livelli o con elevato fan in
- Array-based poco efficace per logica multilivello o con elevato fan out
ò
Multiplexer come generatore di funzioni logiche
Multiplexer a due ingressi
F=A S+B S
Cella logica complessa (Actel fuse-based FPGA)
A=D=1
B=C=0
SA=SB=In1
S0=S1=In2
è In1 + In2
A=C=D=SB=0
B=In1
è In1 In2 In3
SA=In2
S0=S1=In3
Programmazione basata su look-up table
In1 + In2
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Stili di interconnessione logica
Interconnessione array-based
Riprogrammabilità è cella di memori a volatile (SRAM) o non volatile (EEPROM)
(molte interconnessioni è troppa area, potenza e ritardo)
Programmabile una volta è interconnessione con fuse o antifuse (più compatto)
(fuse è bassa densità, lunghi tempi di programmazione)
Interconnessione mesh-based
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI
Università degli Studi del Sannio
Facoltà di Ingegneria
Implementazione circuitale di S-box e C-box
- S-box e C-box programmati con pass-transistor pilotati da SRAM o EEPROM
Interconnessione mesh-based di tipo gerarchico
- Uso di mesh sovrapposte per
consentire connessioni più lunghe
- Connessione ogni 2 S-box
- Ridotti fan-out e resistenza
Giovanni Vito Persiano
Corso di Circuiti e Sistemi VLSI