Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Universit degli Studi di Milano
Riferimenti al testo: Appendice C, sezioni C.1 e C.2
A.A. 2012-2013
1/46
http::borghese.di.unimi.it\
Sommario
Variabili ed operatori semplici. Implementazione circuitale (porte logiche). I l t i i it l ( t l i h ) Dal circuito alla funzione. Algebra Booleana.
A.A. 2012-2013
2/46
http::borghese.di.unimi.it\
NOT AND OR
QUALUNQUE funzione booleana (logica) pu essere espressa combinando opportunamente tre funzioni booleane elementari. Si dice anche che AND, OR, NOT formano un set completo.
3/46 http::borghese.di.unimi.it\
A.A. 2012-2013
Circuiti Booleani
An Investigation of the Laws of Thorught on Which to Found the Mathematical Theories of Logic and Probabilities G. Boole, 1854: approccio alla logica come algebra. Variabili (binarie, 0 = FALSE; 1 = TRUE). Operazioni sulle variabili (NOT, AND, OR). Equivalenza tra operazioni logiche su proposizioni vere/false e operazioni algebriche su variabili binarie. Utilizzo dellalgebra Booleana per: Analisi dei circuiti. Descrizione della funzione logica implementata dai circuiti. Semplificazione di espressioni logiche per ottenere implementazioni efficienti. Progettazione (sintesi) dei circuiti digitali. Data una certa funzione logica, sviluppare il circuito digitale che la implementa.
A.A. 2012-2013
4/46
http::borghese.di.unimi.it\
Operatore NOT
Tabella della verit
A 0 1
Y 1 0
A Y
Inverter logico : se A vero (TRUE 1), Inverter logico (TRUE=1), NOT A falso (FALSE=0) __ NOT A = A
A.A. 2012-2013
5/46
http::borghese.di.unimi.it\
Operatore AND
A 0 0 1 1 B 0 1 0 1 Y 0 0 0 1
Prodotto logico Y = A AND B = A B = AB
A.A. 2012-2013
6/46
http::borghese.di.unimi.it\
Operatore OR
A 0 0 1 1 B 0 1 0 1 Y 0 1 1 1
Somma logica Y = A OR B = A + B
A.A. 2012-2013
7/46
http::borghese.di.unimi.it\
= =
_____ Y=A+B
A B
_ Y=A+B
Inserire un cerchietto allingresso corrisponde a negare la variabile in ingresso. Inserire un cerchietto alluscita corrisponde a negare (complementare) luscita.
A.A. 2012-2013
8/46
http::borghese.di.unimi.it\
Funzione composta
A 0 0 1 1 B 0 1 0 1 OR(A,!B) 1 0 1 1 A B
Y
Or(A,!B)
_ Y=A+B
9/46 http::borghese.di.unimi.it\
A.A. 2012-2013
Operatore NOR
A 0 0 1 1 B 0 1 0 1 OR(A,B) Y 0 1 1 1 1
A Operatore OR negato
0 0 0
B
A B
=
Y
Not(Or(A,B))
_____ Y=A+B
10/46 http::borghese.di.unimi.it\
A.A. 2012-2013
Operatore NAND
A 0 0 1 1 B AND(A,B) Y 0 1 0 1 0 0 0 1 1 1
B Operatore AND negato
1 0
A B
=
Y
Not(And(A,B))
A.A. 2012-2013
11/46
http::borghese.di.unimi.it\
Rappresentano circuiti che forniscono in uscita il risultato di operazioni logiche elementari sui valori di tutte le variabili in ingresso Le variabili in ingesso possono essere n.
A.A. 2012-2013
12/46
http::borghese.di.unimi.it\
A B C D
A.A. 2012-2013
13/46
http::borghese.di.unimi.it\
Sommario
Variabili ed operatori semplici. Implementazione circuitale (porte logiche). logiche) Dal circuito alla funzione. Algebra Booleana.
A.A. 2012-2013
14/46
http::borghese.di.unimi.it\
Il Transistor
Modello: interruttore tra Emettitore e Collettore, comandato dalla tensione sulla Base. 2 casi estremi: i t i Tensione VBE bassa C,E isolati
Transistor in stato di INTERDIZIONE
B E C
C B VBE
A.A. 2012-2013
B E
15/46
VBE
E
http::borghese.di.unimi.it\
VIN
VOUT
Si definisce porta logica (gate), un dispositivo elettronico in grado di trasformare la tensione agli ingressi secondo gli operatori fondamentali.
A.A. 2012-2013
16/46
http::borghese.di.unimi.it\
Porta NAND
Solo se V1=V2= VH I due transistor sono chiusi e passa corrente, VOUT = VL Altrimenti VOUT = VH
Tabella della verit V1 V2 VOUT VH=1 VH=1 VL=0 VH=1 VL=0 VH=1 1 0 1 VL=0 VH=1 VH=1 VL=0 VL=0 VH=1
A.A. 2012-2013
17/46
http::borghese.di.unimi.it\
Porta NOR
Se Vi alto, il transistor corrispondente, conduce e la tensione Vout si avvicina alla massa (Vout = Low).
Se V1 = V2 = 0 nessun transistor conduce, e Vout viene tirata (pull-up) verso la tensione dellalimentazione.
V1
V2
VOUT
VH=1 VH=1 VL=0 VH=1 VL=0 VL=0 VL=0 VH=1 VL=0 VL=0 VL=0 VH=1
A.A. 2012-2013
18/46
http::borghese.di.unimi.it\
NOT
19/46
http::borghese.di.unimi.it\
A.A. 2012-2013
20/46
http::borghese.di.unimi.it\
10
A.A. 2012-2013
21/46
http::borghese.di.unimi.it\
Low = 0
A.A. 2012-2013
22/46
http::borghese.di.unimi.it\
11
Tempo di commutazione
La commutazione non istantanea:
23/46
http::borghese.di.unimi.it\
Sommario
Variabili ed operatori semplici. Implementazione circuitale (porte logiche). Dal circuito alla funzione. Algebra Booleana.
A.A. 2012-2013
24/46
http::borghese.di.unimi.it\
12
Funzione
Una relazione che associa ad ogni elemento dell'insieme X(x), detto dominio, associa uno ed un solo elemento dell'insieme Y(y), detto codominio, indicandola con y = f(x) (Wikipedia). (y), , ( )( p ) Sinonimi: mappa, trasformazione. Nulla detto sulla forma di questa relazione.
Funzione analitica (e.g. Y = sin(x) log(cos(x/2))... Funzione a pi valori di input e pi valori di output (x ed y vettori) Tabella di corrispondenza. p ....
A.A. 2012-2013
25/46
http::borghese.di.unimi.it\
Funzioni logiche
La funzione calcolata da un circuito con n ingressi. Il circuito sar costituito da unopportuna combinazione di porte semplici (NOT, AND, OR). Per ciascuna delle 2n combinazioni degli ingressi, pu essere calcolata luscita. Il valore della funzione pu essere rappresentato in 3 modi: Circuito Tabella della verit (Truth Table, TT). p Espressione simbolica
A.A. 2012-2013
26/46
http::borghese.di.unimi.it\
13
0 ABC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 F 0 0 1 0 0 0 1 1
1 0 1 0
A.A. 2012-2013
27/46
http::borghese.di.unimi.it\
A.A. 2012-2013
28/46
http::borghese.di.unimi.it\
14
___ abc
a b
y 1 0 0 0 1 0 0 1
__ abc
abc
Implementazione circuitale possibile. Non lunica! ___ __ Funzione e tabella y = a b c + a bc + a b c 29/46 coincidono http::borghese.di.unimi.it\
Sommario
Variabili ed operatori semplici. Implementazione circuitale (porte logiche). Dal circuito alla funzione. Algebra Booleana.
A.A. 2012-2013
30/46
http::borghese.di.unimi.it\
15
31/46
http::borghese.di.unimi.it\
Regole algebriche
Doppia Inversione Identit Elemento nullo Idempotenza Inverso Commutativa Associativa Distributiva Assorbimento De Morgan AND 1x=x 0x=0 xx=x
__
xx=0 xy=yx (x y) z = x (y z)
AND rispetto ad OR
x+x=1 x+y=y+x (x + y) + z = x + (y + z)
OR rispetto ad AND
x (y + z) = x y + x z x (x + y) = x __ _ _ xy = x + y
32/46
http::borghese.di.unimi.it\
16
Teoremi di De Morgan
De Morgan ~ (x y) = ~ x + ~ y __ _ _ xy = x + y x Y z ~ (x+y) = ~ x ~ y ____ _ _ x+y=xy
x I y x II y
A.A. 2012-2013
= =
33/46
x y
http::borghese.di.unimi.it\
Principio di dualit
Nellalgebra di Boole vale il principio di dualit. Il duale di una funzione booleana si ottiene sostituendo AND ad OR, OR ad AND, gli 0 agli 1 e gli 1 agli 0. Esempi: Identit Elemento nullo 1x=x 0x=0 0+x=x 1+x=1
Le propriet commutativa, distributiva, identit, inverso sono p p , , , postulati: assunti veri per definizione. Le altre propriet sono teoremi dimostrabili.
A.A. 2012-2013
34/46
http::borghese.di.unimi.it\
17
A.A. 2012-2013
35/46
http::borghese.di.unimi.it\
Porte Universali
Quale il numero minimo di porte con cui possibile implementare tutte le altre? Con la legge di De-Morgan riusciamo a passare da 3 a 2. es.: con NOT e AND (NAND) si ottiene OR: NOT(NOT(A)AND(NOT(B))) = A OR B
E possibile usarne una sola? ibil l ? S, ad esempio la porta NAND, o la NOR che sono chiamate porte universali.
A.A. 2012-2013
36/46
http::borghese.di.unimi.it\
18
Porta Universale NOR NOT A = 0 NOR A A OR B = (A NOR B) NOR 0 A AND B = (A NOR 0) NOR (B NOR 0)
A.A. 2012-2013
37/46
http::borghese.di.unimi.it\
x y
xy
__ xy
__ __ xy = xy
NAND(x,y)
= (per De Morgan)
x y
38/35
http:\\borghese.di.unimi.it\
19
x y
x=A y = !B
xy
__ xy
__ __ xy = xy
NAND(x,y)
= (per De Morgan)
A B
x =xA
___
____
y=y !B
A.A. 2012-2013
Semplificazioni notevoli
Propriet distributiva di OR rispetto ad AND: _ _ A + AB = (A + A) (A + B) Sviluppando il prodotto: _ _ _ _ (A + B )(A + A) = AA + A A + BA + BA = A + AB + AB Raccogliendo A: _ _ A + AB + AB = A + (A +A)B = A + B _ _ Dimostrare che: (A + B )(B + C) = AB + AC + BC _ _ Dimostrare che: A + AB = A + B
A.A. 2012-2013
40/35
http:\\borghese.di.unimi.it\
20
A B C A B C A B C
B C A B C
A.A. 2012-2013
41/35
http:\\borghese.di.unimi.it\
A.A. 2012-2013
42/46
http::borghese.di.unimi.it\
21
Esercizi
Usare la sola porta NAND per realizzare AND, OR e NOT e disegnarne gli schemi logici Calcolare le TT per le seguenti funzioni DA + AC + ~B A+ B +C + D ~D~ABC + ~DABC + ~D~AB~C + ~DAB~C Trasformare in funzioni equivalenti le seguenti ~(ABCD) ~(DA) + ~(B + ~C)
A.A. 2012-2013
43/46
http::borghese.di.unimi.it\
Esercizio
Data la funzione booleana: F = (A AND B) OR (B AND NOT(C)) Esprimere la funzione F con il solo connettivo logico NOR e i l f i l i l i disegnare il circuito. Esprimere la funzione F con il solo connettivo logico NAND e disegnare il circuito.
A.A. 2012-2013
44/46
http::borghese.di.unimi.it\
22
Esercizio
Data la funzione booleana: F = (A AND B) OR (B AND NOT(C)) Esprimere la funzione F con il solo connettivo logico NOR e i l f i l i l i disegnare il circuito. Esprimere la funzione F con il solo connettivo logico NAND e disegnare il circuito.
Costruire le porte logiche: AND, OR, NOT utilizzando solo la porta NAND.
A.A. 2012-2013
45/46
http::borghese.di.unimi.it\
Sommario
Variabili ed operatori semplici. Implementazione circuitale (porte logiche). Dal circuito alla funzione. Algebra Booleana.
A.A. 2012-2013
46/46
http::borghese.di.unimi.it\
23