ELETTRONICA DEI SISTEMI DIGITALI  LS

Giorgio Baccarani

 

Finalità del corso

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.

 

Programma del corso

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.

 

Testi consigliati

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).

 

 

Materiale didattico

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), Villach, Austria, Sept. 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

 

Operatore «O»

Codifica di Booth

Divisione iterativa

Scaling Theory