caricato da Utente1901

Circuiti Logici

Circuiti Logici
Dott. Ing. Alfio Dario Grasso
1
Concetti Base
Ing. A.D. Grasso
Circuiti Logici
Concetti Base
Sistemi combinatori
circuiti capaci di fornire un output
legato unicamente agli ingressi
attuali, ossia un output che non
dipende dal valore degli ingressi in
istanti precedenti
Ing. A.D. Grasso
Sistemi sequenziali
circuiti il cui output dipenderà non
solo dagli ingressi attuali ma anche
dalla storia precedente
Circuiti Logici
Funzioni Logiche
Ing. A.D. Grasso
Circuiti Logici
Funzioni Logiche
Ing. A.D. Grasso
Circuiti Logici
Funzioni Logiche
Ing. A.D. Grasso
Circuiti Logici
Funzioni Logiche
Ing. A.D. Grasso
Circuiti Logici
Algebra Booleana
Ing. A.D. Grasso
Circuiti Logici
Algebra Booleana
Ing. A.D. Grasso
Circuiti Logici
Algebra Booleana
Ing. A.D. Grasso
Circuiti Logici
Algebra Booleana
Ing. A.D. Grasso
Circuiti Logici
Algebra Booleana
Ing. A.D. Grasso
Circuiti Logici
Caratteristiche statiche invertitore
vi
•
•
•
•
vo
vo  f vi 
Soglia logica
Swing logico di ingresso
Swing logico di uscita
Margine di rumore
Ri = 
VTC ideale
VOH = VCC
Ro = 0
Fanout = 
dVo
VOL = 0V
Ing. A.D. Grasso
La caratteristica di trasferimento
in tensione di un invertitore è la
relazione che lega la tensione di
uscita vo con la tensione di
ingresso vi
Circuiti Logici
VCC/2
dVi
 
VIN
Caratteristiche statiche invertitore
• Soglia logica
è la tensione di autopolarizzazione dell’inverter
vo
voH
vLT
vLT
vLT
voL
vLT
Ing. A.D. Grasso
Circuiti Logici
vi
Caratteristiche statiche invertitore
• Swing logico
Si individuano inoltre i punti D e E tali che
vo
voHmin
dvo
 1
dvi
dvo
 1
dvi
A
di coordinate
A  viL max ,voH min 
B  viH min , voL max 
voLmax
B
viLmax
Ing. A.D. Grasso
Si definiscono swing logico di ingresso
(ILS) e di uscita (OLS) le seguenti grandezze
dvo
 1
dvi
viHmin
I LS  viH min  viL max
vi
Circuiti Logici
OLS  voH min  voLmax
Caratteristiche statiche invertitore
• Margine di rumore
Il rumore nel dominio digitale rappresenta variazioni indesiderate del valore logico di un nodo. Si definisce margine
di rumore di un invertitore il massimo livello di rumore che può essere sostenuto dall’invertitore quando è messo in
cascata con un altro invertitore uguale.
vi1
vo1= vi2
I1
vi2 = vo1
vo2
I2
voHmin
viHmin2
Si definisce margine di rumore alto
(NMH) la differenza
NM H  voH min  viH min 2
viLmax2
analogamente si definisce
margine di rumore basso (NML)
la differenza
NM L  viL max 2  voLmax
NMH
voLmax
vo2
viLmax viHmin
NML
vi1
Dal momento che i due invertitori sono uguali si ha: viHmin2 = viHmin e viLmax2 = viLmax
dunque
NM H  voH min  viH min
NM L  viL max  voLmax
Fan-in e fan-out
► Si definisce fan-in il numero massimo di ingressi ad una porta logica
che ne garantiscono il funzionamento
► Si definisce fan-out il numero massimo di porte logiche che una data
porta può pilotare garantendo il suo funzionamento
Con riferimento allo specifico caso riportato in figura,
entrambe le definizioni sono associate all’invertitore
INV; in tal caso il fan-in e il fan-out sono,
rispettivamente, il numero massimo di invertitori che
possono pilotare e essere pilotati da INV mantenendo
il suo funzionamento logico corretto. Ciascun
invertitore (così come tutte le porte logiche) ha una
capacità di ingresso e una capacità di uscita. Le
capacità di uscita degli invertitori Ii1…Iim contribuisco
ad aumentare la capacità in ingresso a INV, mentre
quelle di ingresso di Io1…Ion aumentano la sua capacità
di uscita. Si comprende quindi come all’aumentare di
m e n si possa raggiungere un carico capacitivo di
ingresso/uscita non più sostenibile da INV: in altri
termini trattandosi di un invertitore questo significa
che INV non effettuerebbe più correttamente
l’inversione dell’ingresso.
fan-in
fan-out
Ii1
Io1
Ii2
Io2
Iim
INV
Ion
Caratteristiche dinamiche invertitore
vi
•
•
•
•
•
vo
Tempo di salita
Tempo di discesa
Ritardo di salita (tempo di propagazione basso-alto)
Ritardo di discesa (tempo di propagazione alto-basso)
Ritardo di propagazione (tempo di propagazione)
Tempi di salita e di discesa
Con riferimento alla figura, si individuino i punti in cui vo è pari al 90% e al 10% della massima
escursione in tensione di uscita (vOH - vOL); vo raggiunge i suddetti valori rispettivamente nei tempi tf90,
tf10 per la transizione alto-basso e tr90, tr10 per quella basso-alto.
vi
vo
vOH
tir
tif
t
vO90%=vOL+0.9(vOH-vOL)
vO10%=vOL+0.1(vOH-vOL)
vOL
tf90
tf10 tr10
tr90
t
Si definisce tempo di salita tr la differenza tr90-tr10
t r  tr 90  tr10
Si definisce tempo di discesa tf la differenza tf10-tf90
t f  t f 10  t f 90
Ritardi di salita e di discesa
Analogamente a quanto fatto prima, si individuino i punti in cui vo è pari al 50% della massima
escursione in tensione di uscita (vOH - vOL); vo raggiunge i suddetti valori rispettivamente nei tempi tof50
per la transizione alto-basso e tor50 per quella basso-alto. Si individuino inoltre i punti in cui vi è pari al
50% della massima escursione in tensione di ingresso (vIH - vIL); vi raggiunge i suddetti valori
rispettivamente nei tempi tif50 per la transizione basso-alto e tir50 per quella alto-basso (vi è un’onda
quadra quindi tali valori coincidono con l’inizio delle transizioni).
vi
Si definisce ritardo di salita tpLH o
tempo di propagazione basso-alto
vIH
 pLH  tor50  tif 50
vIL
vo
tir50
tif50
t
vOH
vO50%=vOL+0.5(vOH-vOL)
vOL
pLH
tof50
pHL
tor50
Si definisce ritardo di discesa tpHL o
tempo di propagazione alto-basso
 pHL  tof 50  tir 50
t
 pLH   pHL
Si definisce inoltre ritardo di propagazione pd o tempo di propagazione


pd
la quantità
2
Potenza media statica
Siano IoL e IoH rispettivamente le correnti (statiche) erogate dalla tensione di alimentazione VDD in
corrispondenza delle tensioni nominali di uscita voL e voH. Si definisce potenza media statica la quantità
PST  VDD
I oL  I oH
2
VDD
vo
voH
IoH
INV
voH
VDD
IoL
INV
voL
voL
vi
Potenza dinamica
Durante una transizione basso-alto l’energia totale EH erogata dall’alimentazione è
VDD
ic
INV


0
0
EH   VDD  ic t dt  VDD  ic t dt
 VDD  CL 
vOH
vOL
dV  VDD  CL  vOH  vOL 
cL Solo metà dell’energia totale erogata viene immagazzinata in CL il resto viene
dissipata dai dispositivi che compongono l’invertitore.
Durante la transizione alto-basso CL perde la carica immagazzinata
precedentemente che viene dissipata nei dispositivi usati per scaricare il
condensatore: in questa fase l’alimentazione non fornisce energia. Quindi durante
una transizione completa basso-alto-basso l’energia EL→H →L dissipata è
INV
ic
ELH L  VDD  CL  vOH  vOL 
Dato il clock di periodo T (f = 1/T) si definisce potenza dinamica Pd 
Nel caso in cui vOH = VDD e vOL = 0 la potenza dinamica diviene
VDD
cL
EL  H  L
 VDD  CL  vOH  vOL   f
T
2
Pd  VDD
 CL  f
Logica CMOS
•
I transistori MOS sono degli switches comandati in tensione
d
nMOS
pMOS
g=0
g=1
d
d
OFF
g
s
s
s
d
d
d
g
OFF
ON
s
Ing. A.D. Grasso
ON
s
Circuiti Logici
s
Inverter CMOS
A
0
1
VDD
Y
A
A
Y
Y
GND
Ing. A.D. Grasso
Circuiti Logici
Inverter CMOS
A
0
1
VDD
Y
OFF
0
A=1
Y=0
ON
A
Y
GND
Ing. A.D. Grasso
Circuiti Logici
Inverter CMOS
A
0
1
VDD
Y
1
0
ON
A=0
Y=1
OFF
A
Y
GND
Ing. A.D. Grasso
Circuiti Logici
CMOS NAND Gate
A
0
0
1
1
B
0
1
0
1
Ing. A.D. Grasso
Y
Y
A
B
Circuiti Logici
CMOS NAND Gate
A
0
0
1
1
B
0
1
0
1
Ing. A.D. Grasso
Y
1
ON
ON
Y=1
A=0
B=0
Circuiti Logici
OFF
OFF
CMOS NAND Gate
A
0
0
1
1
B
0
1
0
1
Ing. A.D. Grasso
Y
1
1
OFF
ON
Y=1
A=0
B=1
Circuiti Logici
OFF
ON
CMOS NAND Gate
A
0
0
1
1
B
0
1
0
1
Ing. A.D. Grasso
Y
1
1
1
ON
A=1
B=0
Circuiti Logici
OFF
Y=1
ON
OFF
CMOS NAND Gate
A
0
0
1
1
B
0
1
0
1
Ing. A.D. Grasso
Y
1
1
1
0
OFF
A=1
B=1
Circuiti Logici
OFF
Y=0
ON
ON
CMOS NOR Gate
A
0
0
1
1
B
0
1
0
1
Ing. A.D. Grasso
Y
1
0
0
0
A
B
Y
Circuiti Logici
Logica CMOS
Ing. A.D. Grasso
Circuiti Logici
Logica CMOS
Ing. A.D. Grasso
Circuiti Logici
Circuiti Sequenziali
Ing. A.D. Grasso
Circuiti Sequenziali
Concetti Base
Sistemi combinatori
circuiti capaci di fornire un output
legato unicamente agli ingressi
attuali, ossia un output che non
dipende dal valore degli ingressi in
istanti precedenti
Ing. A.D. Grasso
Sistemi sequenziali
circuiti il cui output dipenderà non
solo dagli ingressi attuali ma anche
dalla storia precedente
Circuiti Logici
Concetti Base
Ing. A.D. Grasso
Circuiti Sequenziali
Concetti Base
Ing. A.D. Grasso
Circuiti Sequenziali
Latch SR
Ing. A.D. Grasso
Circuiti Sequenziali
Latch SR
Forbidden state
Ing. A.D. Grasso
Circuiti Sequenziali
Latch SR
Implementazione con porte NAND (logica negata)
Ing. A.D. Grasso
Circuiti Sequenziali
Flip-Flop SR
Ing. A.D. Grasso
Circuiti Sequenziali
Flip-Flop JK
Aggiungendo un ulteriore feedback al flip-flop SR, viene eliminato lo stato proibito
Toggle state
Ing. A.D. Grasso
Circuiti Sequenziali
Flip-Flop JK
Aggiungendo un ulteriore feedback al flip-flop SR, viene eliminato lo stato proibito
1
1
10
1
01
1
10
1
1
1
0
0
Ing. A.D. Grasso
01
1
Circuiti Sequenziali
Flip-Flop T, D
Ing. A.D. Grasso
Circuiti Sequenziali
Flip-Flop race condition
Supponiamo per esempio di volere che il flip–flop inverta lo stato ad ogni impulso di
clock, ossia l’uscita Q debba assumere i valori 0,1,0,1…
Se il clock rimane nello stato 1 per un tempo maggiore dei ritardi caratteristici del sistema
può accadere che la prima transizione del sistema ne provochi immediatamente un’altra
od eventualmente molte altre prima che il clock ritorni a 0.
Race around condition
Ing. A.D. Grasso
Circuiti Sequenziali
Flip-Flop SR master-slave
Ing. A.D. Grasso
Circuiti Sequenziali
Flip-Flop SR master-slave
Ing. A.D. Grasso
Circuiti Sequenziali
Flip-Flop JK master-slave
Ing. A.D. Grasso
Circuiti Sequenziali
Flip-Flop JK edge-triggered
La transizione avviene sul
fronte di discesa del clock
Gli ingressi vengono «campionati» sul fronte di discesa. In questo modo
viene eliminata la race condition.
Ing. A.D. Grasso
Circuiti Sequenziali
Flip-Flop JK comparison
Master Slave
Ing. A.D. Grasso
Positive Edge Triggered
Circuiti Sequenziali
Negative Edge Triggered
Flip-Flop JK comparison
Ing. A.D. Grasso
Circuiti Sequenziali
Registri
Ing. A.D. Grasso
Circuiti Sequenziali
Registri
Ing. A.D. Grasso
Circuiti Sequenziali
Registri
Parallel input – Parallel output (PI-PO)
Ing. A.D. Grasso
Circuiti Sequenziali
Registri
Serial input – Serial output (SI-SO)
Ing. A.D. Grasso
Circuiti Sequenziali
Registri
Serial input – Parallel output (SI-PO)
Ing. A.D. Grasso
Circuiti Sequenziali
Registri
Parallel input –Serial output (PI-SO)
Ing. A.D. Grasso
Circuiti Sequenziali
Contatori
Ing. A.D. Grasso
Circuiti Sequenziali
Contatori
Ing. A.D. Grasso
Circuiti Sequenziali
Contatori
Ing. A.D. Grasso
Circuiti Sequenziali
Memorie
Ing. A.D. Grasso
Memorie
Concetti Base
Ing. A.D. Grasso
Memorie
Memorie volatili dinamiche (DRAM)
Ing. A.D. Grasso
Memorie
Memorie volatili dinamiche (DRAM)
Ing. A.D. Grasso
Memorie
Memorie volatili dinamiche (DRAM)
Ing. A.D. Grasso
Memorie
Memorie volatili statiche (SRAM)
Ing. A.D. Grasso
Memorie
Memorie volatili statiche (SRAM)
Ing. A.D. Grasso
Memorie
Memorie volatili statiche (SRAM)
Ing. A.D. Grasso
Memorie
Memorie non volatili (EEPROM)
Ing. A.D. Grasso
Memorie
Memorie non volatili (EEPROM)
Ing. A.D. Grasso
Memorie
Memorie non volatili (EEPROM)
Ing. A.D. Grasso
Memorie
Memorie a sola lettura (ROM)
Ing. A.D. Grasso
Memorie
Classificazione
Ing. A.D. Grasso
Memorie