- Impressionante crescita in complessità degli attuali IC digitali ...unina.stidue.net/Circuiti...
Transcript of - Impressionante crescita in complessità degli attuali IC digitali ...unina.stidue.net/Circuiti...
Design Gap
- 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
- 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
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
un semplice processore digitale
1) Full-custom
2) Programmable Logic Array (PLA)
3) Celle standard
4) Macrocelle
5) Compilatori di moduli
6) Gate array
7) Hardware riconfigurabile
DATAPATH Implementato in più modi(trade-offs tra area, velocità, potenza, riutilizzo, tempo di progetto)
�
CONTROL Implementato con PLA e Celle standard�
MEMORY Implementato con compilatori di moduli (array)�
Evoluzione delle strategie di progetto
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
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)
Trade-off tra Efficienza Energetica e Flessibilità
Processo CMOS a 0.25 m�
Flessibilità (o programmabilità) = riutilizzo del hardware per più applicazioni
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
Diagramma ad Y delle viste e dei livelli di progettazione digitale
Metodologie di progettazione digitale
- Scelta dipendente da rapporto costo-prestazioni
Costo dato da 2 componenti:
Costi di progetto (NRE - Non-Recurring Expense)
Costi di produzione
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
Processore INTEL 4004 (PMOS, 1971)
- 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
- 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
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
Passaggio all'automazione ed alle strutture regolari
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
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
- Unità base data da porta logica
- Libreria comprende porte elementarie funzioni complesse (AOI, MUX, full-adder, ecc.)
(INV, AND/NAND, OR/NOR, ecc.)
- Progetto svolto da disegno già esistente o generato con HDL
- Minori vincoli su canali di collegamento per più livelli di metal
Progetto cell-based: approccio a celle standard
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
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
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
Esempio con celle standard - NAND a 3 ingressi
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)
Progetto con celle standard oggi ampiamente diffuso grazie a:
Processo CMOS a 0.18 m�
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
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
Geometriainiziale
DefinzioneMOS
Routingsimbolico
Cellacompattata
Layoutfinale
�
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
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
emoria SRAM 256x32 (oppure a 8192 bit)
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)�
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
Progetto basato su Soft Macro
Moltiplicatore di Booth 8x8
Macromoduli forniti da costruttori tramite specifico accordo o licenza
- 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)�
Moduli di Proprietà Intellettuale
Soft Macro = modulo per una data funzionalità senza specifica descrizione fisica
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
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
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
Fenomeno di "timing closure"
: per tecnologie inferiori a 0.25 m:�
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
c) Progetto finale
violazioni di timing(linee bianche)
più stretta interazione traprogetto fisico e logico
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
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
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�
Array prediffusi (mask-programmable)
Architettura Gate-Array Architettura Sea-of Gatescella
righe di cellenon connesse
canale dicollegamento
cella
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
Esempio di cella gate array
Cella non connessaCella programmata
(NOR a 4 ingressi)
Esempio di cella sea-of-gate
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
Esempio di progetto gate array
Esempio di progetto sea-of-gate
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
LogicaRandom
MemorySubsystem
1) Tecniche di programmazione
- Fusibili o antifusibili (programmabili solo una volta)
Programmazione con antifusibili
- Memorie non volatili (EEPROM, Flash)
- Memorie volatili (SRAM, DRAM)
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
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
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
Soluzione 1) Suddivisione dell'array in sezioni più piccole (macrocelle)�
Soluzione 2) Inserimento di flip-flop e collegamenti per riporto uscita-ingresso�
2) Incapacità di implementare logica sequenziale
�
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
Implementazione di PAL complesse
Esempio di programmazione di macrocelle (PROM)
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
Programmazione cell-based
Programmazione basata su look-up table
- 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 Cella logica complessa (Actel fuse-based FPGA)
�
�
�
A=D=1
B=C=0
SA=SB=In1
S0=S1=In2
A=C=D=SB=0
B=In1
SA=In2
S0=S1=In3
In1 + In2
In1 + In2
In1 In2 In3
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria
F=A S+B S
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)�
(fuse bassa densità, lunghi tempi di programmazione)�
Programmabile una volta interconnessione con fuse o antifuse (più compatto)�
Interconnessione mesh-based
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
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
- Connessione ogni 2 S-box
- Ridotti fan-out e resistenza
Interconnessione mesh-based di tipo gerarchico
- Uso di mesh sovrapposte perconsentire connessioni più lunghe
Giovanni Vito Persiano
Università degli Studi del Sannio
Corso di Circuiti e Sistemi VLSI
Facoltà di Ingegneria