ELETTRONICA DIGITALE (II PARTE)
(1)
22/11
Prof. Adelio SALSANO
Elettronica Digitale (II Parte) 10-11_1
2
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 NEGiovedì ore 16 -17,45, Aula 4 NE
Ricevimento studenti:Lunedì e giovedì ore 15-17
Materiale didatticoDispense e lucidi forniti dai docentiCarl Hamacher, Zvonko Vranesic Safwat Zaky “Introduzione all’architettura dei calcolatori”
Mac Graw-Hill
Elettronica Digitale (II Parte) 10-11_1
3
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
4
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
5
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
6
Segnali e InformazioneSegnali e Informazione
Tecnologie e architetture microelettroniche
Nozioni di base
Elettronica Digitale (II Parte) 10-11_1
7
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
8
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
9
Segnale Binario (segue)
Elettronica Digitale (II Parte) 10-11_1
10
Logic Devices• ASIC (Application Specific Integrated Circuit)
• Standard Cell
• Gate Array
PLD (Programmable Logic Devices)
• SPLD (Simple PLD)• PLA (Programmable Logic Array) • PAL (Programmable Array Logic)• GAL (Generic Array Logic)
• CPLD (Complex PLD)
• FPGA
Programmate durante la produzione nella Fab
Programmabili sul campo
Re/Programmabili nel circuito
Elettronica Digitale (II Parte) 10-11_1
11
Strutture PLD
Programmable Logic Array (PLA)
Programmable Array Logic (PAL)
IN1IN2IN3INn
OUT1OUT2OUT3OUTm
IN1IN2IN3INn
OUT1
OUTm
Elettronica Digitale (II Parte) 10-11_1
12
PLA: Simbologia
Z
Z
Z = A1CD1
a)
a)
A B C D ..
Elettronica Digitale (II Parte) 10-11_1
13
Programmable Array Logic (PAL)
Elettronica Digitale (II Parte) 10-11_1
14
Sistemi di Programmazione
Giunzione di tipo Fuse
Giunzione di tipo AntiFuse
Elettronica Digitale (II Parte) 10-11_1
15
FPGA: Architettura
LE LE LE LE
LE LE LE LE
LE LE LE LE
LE LE LE LE
VRC
VRC
VRC
HRC
HRC
HRC
IO
IO
IO IO
IM IM IM
IM IM IM
IM IM IM
Elettronica Digitale (II Parte) 10-11_1
16
FPGA: Logic Element (Block)
CLR
IN[3:0]
Q
QSET
CLR
D
CLK
S
LUT
OUT
Elettronica Digitale (II Parte) 10-11_1
17
FPGA: LUT – Look Up Table (2 Ingressi)
IN[0] IN[1]
OUT
0 0
0 1
1 0
1 1
0
0
0
1
ADD[0] ADD[1] OUT
0
1
1
1
0
1
1
0
OUT
AND OR XOR
Memory Words1 Bit
Q
QSET
CLR
DCDI CDO
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
IN[1:0]
CLK
OUT
Elettronica Digitale (II Parte) 10-11_1
18
FPGA: Programmazione
Q
QSET
CLR
DCDI CDO
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
IN[1:0]
CLK
OUT
CLK
CDI(AND)
CDI(OR)
CDI(XOR)
Elettronica Digitale (II Parte) 10-11_1
19
FPGA: LUT
CDI
IN[3:0]
Q
QSET
CLR
D
CLK
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
DCDO
OUT
Elettronica Digitale (II Parte) 10-11_1
20
FPGA: Routing (VRC)
LE LE
IN0
IN1
IN2
IN3
OUT
Elettronica Digitale (II Parte) 10-11_1
21
FPGA: Routing (IM)
Elettronica Digitale (II Parte) 10-11_1
22
Q
QSET
CLR
DCDI
CLK
CDO
CDI LUT LUT LUT LUT CDO
FPGA: Programmazione nodi
Elettronica Digitale (II Parte) 10-11_1
23
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.