ELETTRONICA DIGITALE (II PARTE) (1) 22/11 Prof. Adelio SALSANO Elettronica Digitale (II Parte) Prof. Adelio Salsano Dott. Stefano Bertazzoni – Ing. Salvatore Pontarelli Periodo didattico I semestre – II Emisemestre Dal 22 Novembre 2010 al 29 Gennaio 2011 Lezioni e esercitazioni Lunedì ore 11.30 – 13.15, Aula 18 (Ind) Mercoledì ore 11,30 – 13,15 Aula 4 NE Giovedì ore 16 -17,45, Aula 4 NE Ricevimento studenti: Lunedì e giovedì ore 15-17 Materiale didattico Dispense e lucidi forniti dai docenti Carl Hamacher, Zvonko Vranesic Safwat Zaky “Introduzione all’architettura dei calcolatori” Mac Graw-Hill Elettronica Digitale (II Parte) 10-11_1 2 Organizzazione del corso Quattro settimane di lezioni ed esercitazioni per richiami sui circuiti digitali programmabili e per le architetture hardware e le caratteristiche software dei microprocessori e dei microcontrollori. Verifica intermedia Quattro settimane di lezioni ed esercitazioni relative alle metodologie e agli strumenti di progettazione dei sistemi a microprocessore e dei sistemi di comunicazione. Verifiche finali e esami Elettronica Digitale (II Parte) 10-11_1 3 PROGRAMMA • • • • • • • • • • • • • • • • • • • Presentazione del corso e concetti generali Dispositivi logici: PLA, PAL, FPGA, Gate Array, Standard cell Architetture dei microprocessori e (micro)calcolatori Unità del calcolatore:processore e memoria. Registri dedicati e di uso generale Collegamenti tra unità: bus Livelli di astrazione Linguaggio macchina o assembly language Funzionamento del processore:fetch,decode, execute Tipi di istruzione mecchina Formalismo RTL Classi di istruzioni Modi di indirizzamento Salti condizionati Architetture di I/O Istruzioni e registri di I/O Lo stack e il suo funzionamento Sistema di I/O: bus dati, indirizzo e controllo, istruzioni di I/O Polling, Interrupt e DMA Elettronica Digitale (II Parte) 10-11_1 4 Programma (segue) • • • • • Cenni sui problemi di sincronizzazione Porte seriali e parallele Sistema operativo Presentazione del processore commerciale Progetto del microcontrollore basato sul microprocessore commerciale prescelto Prerequisiti • • • • • Circuiti logici elementari (primo emisemestre) e loro sintesi Teoremi fondamentali dell’algebra booleana Elementi di memoria, Circuiti sequenziali Registri Elettronica Digitale (II Parte) 10-11_1 5 Segnali e Informazione Tecnologie e architetture microelettroniche Nozioni di base Elettronica Digitale (II Parte) 10-11_1 6 Segnale e Informazione • Per elaborare informazioni, occorre rappresentarle (o codificarle) mediante una tecnica di rappresentazione. • Per rappresentare le informazioni si usano segnali. • I segnali devono essere elaborati, nei modi opportuni, tramite dispositivi di elaborazione. • In un sistema digitale le informazioni sono rappresentate, elaborate e trasmesse mediante grandezze fisiche che assumono solo valori discreti. • Ogni valore è associato a una cifra (digit) della rappresentazione. Elettronica Digitale (II Parte) 10-11_1 7 Segnale Binario • Segnale binario: grandezza fisica che assume due valori distinti, indicati per convenzione con le cifre 0 e 1: s 0, 1 (low, high - false, true) • Grandezze fisiche usate per rappresentare l’informazione nel sistema digitale: elettrica (tensione o corrente) magnetica (intensità magnetica) ottica (potenza ottica) Elettronica Digitale (II Parte) 10-11_1 8 Segnale Binario (segue) Elettronica Digitale (II Parte) 10-11_1 9 Logic Devices • ASIC (Application Specific Integrated Circuit) • Standard Cell • Gate Array Programmate durante la produzione nella Fab PLD (Programmable Logic Devices) • SPLD (Simple PLD) • PLA (Programmable Logic Array) • PAL (Programmable Array Logic) • GAL (Generic Array Logic) Programmabili sul campo • CPLD (Complex PLD) • FPGA Re/Programmabili nel circuito Elettronica Digitale (II Parte) 10-11_1 10 Strutture PLD INn INn IN3 IN2 IN3 IN2 IN1 IN1 OUT1 OUTm OUT3 OUT2 OUT1 Programmable Logic Array (PLA) OUTm Programmable Array Logic (PAL) Elettronica Digitale (II Parte) 10-11_1 11 PLA: Simbologia a) Z Z = A1CD1 a) Z A B C D .. Elettronica Digitale (II Parte) 10-11_1 12 Programmable Array Logic (PAL) Elettronica Digitale (II Parte) 10-11_1 13 Sistemi di Programmazione Giunzione di tipo AntiFuse Giunzione di tipo Fuse Elettronica Digitale (II Parte) 10-11_1 14 FPGA: Architettura IO LE V R C HRC IM LE LE IM LE IM LE LE IM LE IM IO IM V R C IO HRC LE V R C LE HRC LE LE IM LE IM LE IM LE LE LE IO Elettronica Digitale (II Parte) 10-11_1 15 FPGA: Logic Element (Block) S OUT IN[3:0] LUT D SET CLR Q Q CLK CLR Elettronica Digitale (II Parte) 10-11_1 16 FPGA: LUT – Look Up Table (2 Ingressi) IN[0] IN[1] AND OR XOR 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 ADD[0] ADD[1] OUT OUT OUT Memory Words 1 Bit OUT IN[1:0] CDI D SET CLR Q Q D SET CLR Q Q D SET CLR Q Q D SET CLR CDO Q Q CLK Elettronica Digitale (II Parte) 10-11_1 17 FPGA: Programmazione OUT IN[1:0] CDI D SET CLR Q Q D SET CLR Q Q D SET CLR Q Q D SET CLR CDO Q Q CLK CLK CDI (AND) CDI (OR) CDI (XOR) Elettronica Digitale (II Parte) 10-11_1 18 FPGA: LUT OUT IN[3:0] CDO Q Q D SET SET Q CDI D SET Q CLR D Q D Q Q SET Q D D SET SET Q CLR D Q D Q Q SET Q D D SET SET Q CLR D Q D Q Q SET Q D D CLR SET CLR Q CLR SET Q Q CLR CLR Q CLR SET Q Q CLR CLR Q CLR SET Q Q CLR CLR Q D SET Q Q D CLR SET CLR Q Q CLK Elettronica Digitale (II Parte) 10-11_1 19 FPGA: Routing (VRC) IN0 IN1 LE OUT LE IN2 IN3 Elettronica Digitale (II Parte) 10-11_1 20 FPGA: Routing (IM) Elettronica Digitale (II Parte) 10-11_1 21 FPGA: Programmazione nodi CDI CDO D SET Q CLK CLR CDI LUT Q LUT LUT Elettronica Digitale (II Parte) 10-11_1 C LUT 22 FPGA : motivi delle scelte • Riprogrammabilità anche parziale • Funzionalità volatili e non volatili: SRAM, FLASH, FUSE e MPGA • Tool molto efficienti (HDL) • Prototipi di test • Ecc. Elettronica Digitale (II Parte) 10-11_1 23