ELETTRONICA DEI SISTEMI DIGITALI LS
Giorgio Baccarani
Il corso tratta le moderne
metodologie di progetto dei circuiti integrati a larga scala (VLSI) in
tecnologia CMOS, con riferimento sia alle architetture circuitali che
realizzano le più importanti funzioni logiche e aritmetiche, sia alle tecniche
di progettazione assistita ai vari livelli di astrazione.
Il corso prevede un ciclo di esercitazioni di
laboratorio in un'aula appositamente attrezzata con un congruo numero di
stazioni SUN e con software avanzato (sistema OPUS) per la progettazione VLSI.
Gli studenti avranno l'opportunità di sviluppare il progetto di una semplice
cella circuitale di tipo combinatorio e di una di tipo sequenziale in
tecnologia "sea of gates".
Il corso è idealmente integrato dall'insegnamento di "Laboratorio di Elettronica dei Sistemi Digitali", dove gli studenti
potranno sviluppare un progetto di una macrocella funzionalmente completa di
assegnate specifiche.
Tendenze evolutive della Microelettronica. Il mercato mondiale
dell'elettronica e dei componenti elettronici.
Evoluzione della microelettronica verso livelli crescenti di integrazione.
Legge di Moore. Miniaturizzazione dei componenti elettronici elementari. Requisiti funzionali e
prestazioni dei dispositivi elettronici. Contrazione delle
geometrie: regole di scaling a tensione e campo
costanti. Teoria generalizzata delle regole di scaling.
Limiti fisici al processo di riduzione delle dimensioni dei componenti.
Illustrazione della "International Technology Roadmap of Semiconductors" (ITRS). Problemi
insoluti e problematiche di ricerca e sviluppo industriale.
Problematiche di progetto nella microelettronica. Metodologie
progettuali semicustom: FPGA, GA, SOG, SC. Metodologie progettuali full custom:
progetto basato su macrocelle. Implicazioni
economico-finanziarie e industriali della legge di Moore.
Celle digitali in logica
statica CMOS. Richiami sulle proprietà dei circuiti digitali e
loro parametri rappresentativi. Brevi cenni di tecnologia planare del
silicio, con particolare riferimento ai processi CMOS standard ed SOI. Regole di layout. Richiami sul
ritardo di propagazione dell'invertitore statico e delle porte logiche CMOS.
Considerazioni energetiche. Relazioni ritardo-consumo. Regole
di composizione delle logiche statiche CMOS per la realizzazione di funzioni
logiche complesse. Logiche pseudo n-MOS. Logiche a pass transistors.
Logiche statiche CVSL. Logiche SCL. Memorizzazione
dell'informazione in forma statica. Latch e registri statici CMOS: registri SR, JK e D con e senza controllo
asincrono. Registri D a interruttori e
invertitori, registri statici C2MOS, registri concatenati (chain latch).
Celle digitali in logica
dinamica CMOS. Richiami sulle logiche CMOS dinamiche e sulle loro modalità
di connessione in cascata. Logiche Domino e Zipper. Il problema della condivisione di carica e sue
possibili soluzioni. Logiche C2MOS. Logiche CVSL dinamiche.
Connessione in pipeline di logiche dinamiche. Timing a quattro fasi e a due
fasi non sovrapposte. Timing a due fasi: logiche NORA. Timing a una sola fase. Latch n-C2MOS
e p-C2MOS. Variante "split output" dei latch n-C2MOS e p-C2MOS.
Registri dinamici a una sola fase e divisori di
frequenza. Latch TSPC-1 e TSPC-2. Applicazioni delle
logiche a una sola fase. Il rumore nelle logiche
dinamiche. Caratterizzazione dei margini di immunità
ai disturbi nelle logiche dinamiche.
Aritmetica computazionale. Sommatore completo in logica CMOS
statica e dinamica. Sommatore completo a "pass transistors". Sommatori seriali in logica statica e dinamica. Architettura
dei sommatori paralleli di vario tipo (ripple carry, carry
look-ahead, carry select, carry save,
carry skip). Analisi
delle prestazioni. Moltiplicatore seriale. Moltiplicatore parallelo a matrice. Moltiplicatori paralleli ad albero di Wallace
e ad albero binario. Moltiplicatori iterativi. Divisore seriale. Divisore a matrice con e senza ripristino. Divisione
iterativa: metodi di Newton e di Goldschmidt. Cenni sul calcolo di funzioni irrazionali e trascendenti: radice
quadrata, logaritmo, esponenziale. Standard IEEE-754 sulla
rappresentazione dei numeri in virgola mobile. Formati dei
numeri in virgola mobile in precisione singola, singola estesa, doppia e doppia
estesa. Numeri speciali, numeri denormalizzati,
non-numeri. Arrotondamento nello standard IEEE-754. Algoritmi
di somma, moltiplicazione e divisione in virgola mobile. Condizioni di overflow e di underflow.
Architettura dei
microprocessori. Schema a blocchi di un elaboratore digitale su singolo chip a set
esteso di istruzioni. Unità di elaborazione
e unità di controllo. Struttura dell'unità di elaborazione
e descrizione dei blocchi funzionali che la compongono: unità logico-aritmetica
(ALU), shifter, registri, porte di ingresso/uscita e
bus. Unità di controllo e descrizione dei blocchi che la
compongono: registro delle istruzioni, program counter,
sequenziatore, microcodice,
decodificatore. Architetture a set ridotto di istruzioni
(RISC) e loro caratteristiche distintive: standardizzazione delle istruzioni,
elaborazione in pipeline, tecniche per la rimozione degli interlocks,
memoria cache a bordo del processore. Descrizione
dell'architettura e dei blocchi funzionali di un tipico microprocessore RISC:
il MIPS-X. Formato delle istruzioni. Pipeline
del MIPS e sue dipendenze. Registri di bypass. Gestione del coprocessore
matematico. Cache delle istruzioni. Controllore di cache: la tag memory e la memoria dei bit
di validità. Tecniche di self-timing. Il controllo del
processore MIPS: gestione unificata delle eccezioni e dei salti condizionati.
Gestione delle occorrenze di cache miss. Architetture
superscalari RISC.
1.
Jan M. Rabaey,
Anantha P. Chandrakasan, Borivoje Nikolic, Digital Integrated Circuits – A design Perspective, 2nd Edition, Prentice Hall, 2003
2.
J. Hennessy, D. Patterson: Computer
Architecture. A Quantitative Approach, Morgan Kaufmann Publishers,
1990.
3. E. Franchi Scarselli, L. Selmi:
Esercizi
d'Esame di Elettronica Digitale, Patron
Editore, 1998.
Modalità di
svolgimento dell'esame
La prova di esame potrà svolgersi secondo due diverse modalità a scelta dello
studente:
1) Colloquio finale su tutti
contenuti del corso;
2) Prova intermedia di laboratorio,
consistente nel progetto di una porta logica e di un registro CMOS statico o
dinamico, seguito da un colloquio finale sulla seconda parte del corso
(Aritmetica computazionale, e moduli circuitali di un
processore RISC).
Sono disponibili i trasparenti tratti dal volume del Prof. Jan Rabaey, integrati e utilizzati dal docente nello svolgimento delle lezioni.
Chapter01 Introduction
Chapter02 The manufacturing process
Chapter03 The devices
Chapter04 The wire
Chapter05 The CMOS inverter
Chapter06 Designing combinational logic gates
in CMOS
Chapter07 Designing sequential logic circuits
Chapter08 Implementation strategies for
digital ICs
Chapter09 Copying with interconnect
Chapter10 Timing issues in digital circuits
Chapter11 Designing arithmetic building
blocks
Chapter12 Designing memory and array
structures
Sono inoltre disponibili i trasparenti
dell’articolo di Stefan Rusu:
“Trends and Challenges in VLSI Technology Scaling Toward
100 nm”, Proceedings of the European Solid-State Circuits Conference (ESSCIRC-2001),
Rusu_2001 Trends and Challenges in VLSI
Technology Scaling Toward 100 nm
Papers
De-Man_1983 NORA:
a racefree dynamic CMOS technique for pipelined logic
structures
Horowitz_1987 MIPS-X
a 20 MIPS peak 32-bit microprocessor with on-chip cache
Horowitz_1989 SPIM. A pipelined 64x64-bit iterative multiplier
Horowitz_1997 Skew-tolerant
Domino circuits
Svensson_1989 High-speed
CMOS circuit technique
Svensson_1990 A
unified single-phase clocking scheme for VLSI systems
Svensson-01_1994
Impact of clock slope on true
single-phase clocked (TSPC) CMOS circuits
Svensson-02_1994 Noise
in dynamic CMOS circuits
Appunti a
cura del docente