Reti Logiche AW.Fornaciari Sintesi FSM – Prima parte Reti Logiche.
Elettronica L Dispense del corsomasetti/Dida07/Lucidi/porte-logiche.pdf · Gli Obiettivi...
Transcript of Elettronica L Dispense del corsomasetti/Dida07/Lucidi/porte-logiche.pdf · Gli Obiettivi...
Le porte logiche
Elettronica LDispense del corso
Gli Obiettivi
Introdurre il concetto di funzione logica.Dare una corrispondenza tra funzioni logiche e strutture di gate elementari.Introdurre l’algebra di commutazione.Estendere l’uso del MOST alla realizzazione di porte logiche elementari.
Reti logiche combinatorie
0 0 0 ……..01 0 0 ……..00 1 0 ……..01 1 0 ……..00 0 1 ……..0
0 1 1 ……..11 1 1 ……..1
0/10/10/10/10/1
0/10/1
x1 x2 x3 … xn z = F(x1,.., xn)
Tabella della verità Struttura combinatoria
Espressione
sintesi
analisi Gk
G3 G2 G1
x1x2x3
xn
z
blocchi logici elementari(gate)
sintesi
analisi
sintesi
Funzione completa di n variabili binarie: z=F(x1,x2,…xn)
N a b c d e f -0 0 0 0 0 1 1 1 1 1 1 -1 0 0 0 1 0 1 1 0 0 0 -2 0 0 1 0 1 1 0 1 1 0 -3 0 0 1 1 1 1 1 1 0 0 -4 0 1 0 0 0 1 1 0 0 1 -5 0 1 0 1 1 0 1 1 0 1 -6 0 1 1 0 1 0 1 1 1 1 -7 0 1 1 1 1 1 1 0 0 0 -8 1 0 0 0 1 1 1 1 1 1 -9 1 0 0 1 1 1 1 1 0 1 -- 1 0 1 0 - - - - - - -- 1 0 1 1 - - - - - - -- 1 1 0 0 - - - - - - -- 1 1 0 1 - - - - - - -- 1 1 1 0 - - - - - - -- 1 1 1 1 - - - - - - -
x1 x2 x3 x4Def: Insieme delle coppie ordinate
formate da una configurazione di valori delle variabili indipendenti xi e dal corrispondente valore della variabile dipendente z.
{ }( , ) | ,nx z x B z B∈ ∈
Il numero N di distinte funzioni complete di n variabili è finito (ma elevato!):
22n
N =
Operatori logici elementari
Regole: Funzione: x z Realizzazione: 0 = 0 0 01 = 1 1 1 x z
Identità : z = x
Regole: Funzione: x z Realizzazione: 0’ = 1 0 11’ = 0 1 0 x z
Complementazione : x’, x
Operatori logici elementari (II)
Regole: Funzione: x y z Realizzazione: 0 + 0 = 0 0 0 00 + 1 = 1 0 1 1 x1 + 0 = 1 1 0 1 z1 + 1 = 1 1 1 1 y
Somma logica: x + y
Regole: Funzione: x y z Realizzazione: 0 · 0 = 0 0 0 00 · 1 = 0 0 1 0 x1 · 0 = 0 1 0 0 z1 · 1 = 1 1 1 1 y
Prodotto logico: x · y , xy
Operatori logici elementari (III)
Regole: Funzione: x y z Realizzazione: 0 0 = 0 0 0 00 1 = 1 0 1 1 x1 0 = 1 1 0 1 z1 1 = 0 1 1 0 y
Somma modulo due (or esclusivo) : x y
Equivalenza: x y
Regole: Funzione: x y z Realizzazione: 0 0 = 1 0 0 10 1 = 0 0 1 0 x1 0 = 0 1 0 0 z1 1 = 1 1 1 1 y
+
≡
Operatori logici elementari (IV)
Regole: Funzione: x y z Realizzazione: 0 0 = 1 0 0 10 1 = 1 0 1 1 x1 0 = 1 1 0 1 z1 1 = 0 1 1 0 y
Regole: Funzione: x y z Realizzazione: 0 0 = 1 0 0 10 1 = 0 0 1 0 x1 0 = 0 1 0 0 z1 1 = 0 1 1 0 z
Nand : z = x y, x·y, xy
Nor : z = x y, x+y
Note
Si può dimostrare che a partire da “AND”, “OR” e “NOT” può venire sintetizzata qualunque funzione logica.
Esempio: or esclusivo z = ( x y)L’or esclusivo è vero (z=1) se è vero x (x=1) o è vero y (y=1), ma non
entrambi x y z0 0 00 1 11 0 11 1 0
x
y
z
+
AND e OR a più ingressiI gate logici AND e OR sono generalizzabili in modo ovvio a più di 2 ingressi...
L'uscita è vera se sono veri tutti gli ingressi
L'uscita è vera se è vero almeno uno degli ingressi
Epressioni logiche e gateEsiste una corrispondenza biunivoca tra espressione logica e struttura di gate...
Lo schema logico di un’espressionenon può avere segnali in retroazione
La valutazione di un’espressione per ogni possibile configurazione di ingresso definisce una funzione logica.
un’espressione definisce in maniera univoca una funzione logica completa (ma non è vero il contrario).
Due espressioni sono equivalenti se definiscono la stessa funzione.
cba
a b c
il flusso dell’informazione è sempre unidirezionale
⇔
Algebre binarieAlgebra binaria: Sistema matematico formato da un insieme di operatori definiti assiomaticamente ed atti a descrivere con una espressione ogni funzione di variabili binarie.
Calcolo delle proposizioni {vero,falso}{e,o,non} => Boole (1854)Algebra di commutazione {0,1}{+,·,’} => Shannon (1938)
Algebra di commutazione
1) Costanti: 0, 1
2) Operazioni:
somma logica (+) prodotto logico (·) complementazione (’)
3) Postulati:
0 + 0 = 0 0 · 0 = 0 0’ = 1
1 + 0 = 1 1 · 0 = 0 1’ = 0
0 + 1 = 1 0 · 1 = 0
1 + 1 = 1 1 · 1 = 1
4) Variabili: simboli sostituibili o con 0 o con 1
Equivalenze notevoli Proprietà della somma e del prodotto logico:
E1) commutativa x + y = y + x x y = y x
E2) associativa (x + y) + z = x + y + z(x y) z = x y z
E3) distributiva (x y) + (x z) = x (y + z)(x + y) (x + z) = x + (y z)
E4) idempotenza x + x = x x x = x
E5) identità x + 0 = x x 1 = x
E6) limite x + 1 = 1 x 0 = 0
Equivalenze notevoliProprietà della complementazione: E7) involuzione (x ’) ’ = x
E8) limitazione x + x ’ = 1 x x ’ = 0
E9) combinazione x y + x y’ = x (x+y) (x+y’) = x
E10) Ia legge di De Morgan (x + y) ’ = x ’ y ’ IIa legge di De Morgan (x y) ’ = x ’ + y ’
E11) consenso x y + x’ z + y z = x y + x’ z (x+y) (x’+z) (y+z) = (x+y) (x’+z)
Interruttori per l’algebra binariaContatti in serie
I1 I2
A B
Esiste un cammino conduttivo se I1 e I2 (and) sono chiusi.
Esiste un circuito aperto se I1 o I2 (or) sono aperti.
In funzione dell’interpretazione data alle cose, la serie di due interruttori può rappresentare un AND o un OR. La prima interpretazione è una valutazione in “logica positiva”, la seconda in “logica negativa”. Le due interpretazioni sono legate dalle leggi di De Morgan.
Contatti in parallelo
I1
I2
A B
Esiste un cammino conduttivo se I1 o I2 (or) sono chiusi.
Esiste un circuito aperto se I1 e I2 (and) sono aperti.
Il parallelo di due interruttori può rappresentare un OR (logica positiva) o un AND (logica negativa).
Transistor come interruttoriD
S
G ≡ GNDD
S
G ≡ VDD
D
S
G
NMOS: interruttore OFF se il GATE è basso, ON se il gate è alto
D
S
G ≡ VDD
D
S
G ≡ GNDD
S
G
PMOS: interruttore ON se il GATE è basso, OFF se il gate è alto
Interruttori non idealiNon è possibile fare un uso del tutto arbitrario dei transistor MOS come interruttori, perché sono interruttori non ideali...
VDD
“0”
load
VDD“1”
load
L'NMOS trasferisce bene lo zero logico. ... ma male l'uno logico.
grazie alla bassa Ron, questo nodo può essere portato a massa.
Questo nodo non può essere portato a tensioni superiori a VDD- V
TN
grazie alla bassa Ron, questo nodo può essere portato a VDD
GND“1”
load
Il PMOS trasferisce bene l'uno logico.
Questo nodo non può essere portato a tensioni inferiori a |VTP|
GND
“0”
load
... ma male lo zero logico.
Importante:
Importante:
Porte logiche CMOSVDD
VSS
PUN
PDN
In1In2In3
F = G
In1In2In3
PMOS Only
NMOS Only
PUN = Pull-up network.È una rete di transistor che, (solo) quando gli ingressi assumono una configurazione che deve portare alta l'uscita, fornisce un cammino a bassa impedenza tra VDD e l'uscita.
PDN = Pull-down network.È una rete di transistor che, (solo) quando gli ingressi assumono una configurazione che deve portare bassa l'uscita, fornisce un cammino a bassa impedenza tra massa e l'uscita.
Non può mai capitare che i cammini conduttivi verso massa e Vdd siano contemporaneamente aperti: non si dissipa potenza statica
NMOS x PDN, PMOS x PUN Il PDN è costituito da una combinazione di interruttori che si chiudono
quando i segnali di comando sono ALTI.
Il PDN si attiva e crea un percorso conduttivo quando si hanno determinate combinazioni di segnali ALTI in ingresso... Il PUN è costituito da una combinazione di interruttori che si chiudono
quando i segnali di comando sono BASSI.
Il PUN si attiva e crea un percorso conduttivo quando si hanno determinate combinazioni di segnali BASSI in ingresso...
PUN e PDN non devono mai essere attivi contemporaneamente (altrimenti si ha un cortocircuito tra VDD e massa) né inattivi contemporaneamente (altrimenti l'uscita della porta logica rimane flottante)
Per analizzare o progettare il comportamento di una porta logica basta guardare solo il PDN (o il PUN). L'altro network dovrà semplicemente avere comportamento complementare al primo.
Esempio: NOR a 2 ingressi
Il PDN deve fornire un cammino conduttivo tra GND e l’uscita se almeno uno dei due ingressi è alto OR ⇒ switch in parallelo
Il PUN deve fornire un circuito aperto tra VDD e l’uscita se almeno uno dei due ingressi è alto (cioè un cammino conduttivo quando i 2 ingressi sono entrambi bassi) AND ⇒ switch in serie
NOR: l’uscita si abbassa quando si ha una configurazione in cui almeno uno degli ingressi è ALTO. Conviene osservare prima il comportamento del PDN:
Non è possibile realizzare un OR ma solo un NOR
Esempio: NAND a 2 ingressiNAND: l’uscita si abbassa quando si ha una configurazione in cui entrambi gli ingressi sono ALTI. Conviene osservare prima il comportamento del PDN:
Il PDN deve fornire un cammino conduttivo tra GND e l'uscita se entrambi gli ingressi sono alti AND ⇒ switch in serie
Il PUN deve fornire un circuito aperto tra VDD e l'uscita se entrambi gli ingressi sono alti (cioè un cammino conduttivo quando almeno uno dei 2 ingressi è basso)OR ⇒ switch in parallelo
Non è possibile realizzare un AND ma solo un NAND
Funzioni invertenti e non invertenti
L’operazione delle porte logiche a più ingressi è simile a quello dell’inverter
Tutti i gate statici CMOS sono necessariamente invertenti.
Per realizzare le funzioni logiche non invertenti si aggiungono ulteriori inversioni:
Gate da realizzare
Realizzazione ovvia
Realizzazione alternativa (De Morgan)
Rappresentazio-ne alternativa
Operazioni logiche in cascata
Rete da realizzare
Realizzazione ovvia(18 transistor)
Realizzazione ottimizzata(12 transistor)
De Morgan
Porte a più ingressiLa generalizzazione a più ingressi è banale, per esempio:
Dal punto di vista delle prestazioni è comunquesconsigliabile realizzare gate con fan-in molto elevato.
Prestazioni statiche e dinamiche
Per studiare i tempi di propagazione si usano modelli approssimati:
La “serie” di due MOST comandati dallo stesso segnale è (circa)equivalente ad un MOST dilunghezza doppia
W,L
W,LW,2·L
W,L W,L2·W,L
Il “parallelo” di due MOST comandati dallo stesso segnale èequivalente ad un MOST di larghezzadoppia
Transitori: caso migliore/peggioreQuindi il “caso peggiore” si verifica quando la serie di due dispositivi deve caricare (o scaricare) la capacità di uscita.
Per avere fronti di salita e discesa confrontabili:
I dispositivi posti in parallelo tra loro vannorealizzati ad area “standard”;I dispositivi posti in serie tra loro vannorealizzati con un fattore di forma più grande(intuitivamente moltiplicato per un coefficiente pari al numero di dispositivi posti in serie)
Si ha un “caso migliore”, con tempo di salita/discesa più rapido quando i dispositivi posti in parallelo fra loro agiscono sinergicamente per fare commutare l’uscita.