University of Padova
Information Engineering Dept. – Microelectronics Lab.
Corso di Laurea in Ingegneria
dell’Informazione
Elettronica Digitale
- Lezione 2 -
Andrea Gerosa - [email protected]
Tel. 049-827-7728
Logica binaria e Porte logiche
 Variabili binarie
 Operatori logici
 Operatori logici fondamentali: sono le 3
funzioni logiche
• AND, OR e NOT.
 Porte logiche
 Algebra di Boole
Variabili binarie
 Valori
•
•
•
•
True/False
On/Off
Yes/No
1/0
 Esempi di variabili:
• A, B, y, z, o X1
• RESET, START_IT, o ADD1
Operatori Logici fondamentali
 AND (·)
 OR (+)
 NOT ( ¯ ), (') o (~)
AND
0·0=0
0·1=0
1·0=0
1·1=1
OR
NOT
0+0=0
0+1=1
1+0=1
1+1=1
0=1
1=0
Tabella di verità
 Elenco dei valori di uscita di una funzione logica per
ogni possibile combinazione degli ingressi binari
• Funzione di N variabili binarie  2N righe
X
0
0
1
1
AND
Y Z = X·Y
0
0
1
0
0
0
1
1
X
0
0
1
1
Y
0
1
0
1
OR
Z = X+Y
0
1
1
1
NOT
X
0
1
Z=X
1
0
Regole di precedenza
 Precedenza degli operatori fondamentali
in ordine decrescente:
1. Parentesi
2. NOT
3. AND
4. OR
Esempio: F = A(B + C)(C + D)
Porte Logiche
 Rappresentazione simbolica del circuito che realizza
una funzione logica:
Tempo o ritardo di propagazione
 La commutazione dell’uscita di una porta non
può essere istantanea.
 Il ritardo tra la commutazione dell’ingresso(i) e
la commutazione dell’uscita è il tempo o ritardo
di propagazione) tp:
1
Input
0
1
Output
0
0
tp
tp
0.5
1
tp = 0.3 ns
1.5
Time (ns)
Circuiti logici
Tabella di verità
XYZ
000
001
010
011
100
101
110
111
F = X + Y Z
0
1
0
X
0
Y
1
1
Z
1
1
Equazione logica
F = X +Y Z
Circuito logico
 Tabella di verità, equazione (o espressione) logica e circuito
logico descrivono la stessa funzione logica.
 La tabella di verità è unica; l’equazione e il circuito no.
F
Algebra di Boole
 Definisce in modo rigoroso l’algebra con cui
operare sulle variabili logiche
 Definita da George Boole (filosofo) nel 1854
 Codificata in 6 postulati da Huntington nel 1904
 Ristretta all’algebra commutativa da Shannon nel
1938
 2 Approcci: definizione rigorosa a partire da
postulati o definizione regole a partire dagli
operatori
Algebra di Boole
1.
3.
5.
7.
9.
X+0= X
X+1 =1
X+X =X
X+X =1
2.
4.
6.
8.
X .1 =X
X .0 =0
X .X = X
X .X = 0
X=X
10. X + Y = Y + X
12. (X + Y) + Z = X + (Y + Z)
14. X(Y + Z) = XY + XZ
16. X + Y = X . Y
11. XY = YX
Commutativa
Associativa
13. (XY) Z = X(YZ)
15. X + YZ = (X + Y) (X + Z) Distributiva
De Morgan
17. X . Y = X + Y
Principio di Dualità
 Data una generica espressione booleana, si
definisce espressione duale quella che si
ottiene:
1. Cambiando tutti gli operatori AND in
OR e viceversa
2. Cambiando tutti i valori “0” in “1” e
viceversa
 Per il principio di dualità, se un’espressione
è vera allora è vera anche la duale.
Principio di dualità
a  b + c  = a  b + a  c  a + b  c = a + b   a + c 
a+b = 0
 a b =1
e non
a b = 0
Teoremi dell’algebra di Boole
 A + A·B = A
(Assorbimento)
 A·(A+B)=A
Dimostrazione
A + A·B
= A·1+A·B
X=X·1
= A · ( 1 + B) X · Y + X · Z = X ·(Y + Z)
=A·1
=A
1+X=1
X·1=X
Teoremi dell’algebra di Boole
 Combinazione o semplificazione
 Teorema del consenso
Teoremi dell’algebra di Boole
Semplificazione di un’espressione
 Minimizzare il numero di letterali
(variabili dirette o negate):
A B + ACD + A BD + AC D + A BCD
= AB + ABCD + A C D + A C D + A B D
= AB + AB(CD) + A C (D + D) + A B D
= AB + A C + A B D = B(A + AD) +AC
= B (A + D) + A C 5 letterali
Forme canoniche
 Tra le possibili espressioni logiche di una
data funzione, ne identifichiamo 2
particolari:
• Somma di mintermini – SOM (Sum of
Minterms)
• Prodotto di maxtermini – POM (Product of
Maxterms)
Mintermini - definizioni
 Data una funzione logica a N variabili:
 Termine prodotto: qualsiasi prodotto tra letterali
 Mintermine: termine prodotto che contiene tutte
le N variabili (dirette o negate).
 Per ogni funzione di N variabili, esistono 2N
mintermini.
XY
XY
XY
XY
Maxtermini - definizioni
 Data una funzione logica a N variabili:
 Termine somma: qualsiasi somma tra letterali
 Maxtermine: termine somma che contiene tutte
le N variabili (dirette o negate).
 Per ogni funzione di N variabili, esistono 2N
maxtermini.
X +Y
X +Y
X +Y
X +Y
Maxtermini e Mintermini
 Indici
i
Mint., mi
Maxt., Mi
0
xy
x+y
1
xy
x+y
2
xy
x+y
3
xy
x+y
 L’indice i corrisponde alla riga della TdV a cui
associamo mi e Mi
Mintermini e TdV
 Variabile = 0
• appare negata nel
mint.
 Variabile =1
• Appare diretta
nel mint.
Mintermini e TdV
 Un solo mint. vale “1” per ogni riga
 Una funzione logica può essere espressa
come OR tra mintermini
Somma di Mintermini
 F1 = m1 + m4 + m7
 F1 = x y z + x y z + x y z
x y z index m1 + m4 + m7 = F1
000
0
0
+
0
+
0
=0
001
1
1
+
0
+
0
=1
010
2
0
+
0
+
0
=0
011
3
0
+
0
+
0
=0
100
4
0
+
1
+
0
=1
101
5
0
+
0
+
0
=0
110
6
0
+
0
+
0
=0
111
7
0
+
0
+
1
=1
Maxtermini e TdV
 Variabile = 0
• appare diretta nel
maxt.
 Variabile =1
• Appare negata
nel maxt.
Maxtermini e TdV
 Un solo maxt. vale “0” per ogni riga
 Una funzione logica può essere espressa
come AND tra maxtermini
Prodotto di Maxtermini

F1 =
M0 ·
M2
·
M3
·
M5
· M6
F1 = (x + y + z) ·(x + y + z)·(x + y + z )
·(x + y + z )·(x + y + z)
xyz
000
001
010
011
100
101
110
111
i
0
1
2
3
4
5
6
7
M0  M2  M 3  M5  M6
0  1  1  1  1
1  1  1  1  1
1  0  1  1  1
1  1  0  1  1
1  1  1  1  1
1  1  1  0  1
1  1  1  1  0
1  1  1  1  1
= F1
=0
=1
=0
=0
=1
=0
=0
=1
Somma canonica
 Qualsiasi funzione logica può essere
espressa come Somma di Mintermini.
f =x+x y
f = x( y + y ) + x y
f = xy + x y + x y
Abbreviazioni
F = m1+m4+m5+m6+m7
F( A, B, C) = m(1,4,5,6,7)
F ( A, B, C ) :On  set = m1 , m4 , m5 , m6 , m7 
Prodotto canonico
 Qualsiasi funzione logica può essere
espressa come Prodotto di Maxtermini.
f ( x, y , z ) = x + x y
x + x y = (x + x )(x + y ) = 1  (x + y ) = x + y
x + y + z  z = ( x + y + z ) x + y + z 
Conversione tra forme canoniche
F ( x , y , z ) = m ( 1, 3 , 5 , 7 )
F( x, y, z) = PM(0, 2,4,6)
F( x, y , z ) = m( 0, 2,4,6)
F( x, y , z ) = PM(1, 3,5,7 )
Altre forme standard
 Somma di prodotti (SOP)
 Prodotto di somme (POS)
ABC+ ABC+B
(A + B) · (A+ B + C )· C
Complessità circuitale
 Per ogni funzione esiste
un’implementazione SOP come somma di
tutti i mintermini
• circuito logico 2 livelli tale che:
• il primo livello è formato da una schiera di
porte AND a N ingressi
• il secondo livello consiste in una singola
porta OR
 Spesso esistono altre forme SOP a cui
corrispondono circuiti meno complessi
Esempio
F( A, B, C) = m(1,4,5,6,7)
F = A B  C + A B  C + A B  C + A B  C + A B  C
 5 AND a 3 ingressi + 1 OR a 5 ingressi
 Può essere semplificata:
F = BC + A
Esempio
A
B
C
A
B
C
A
B
C
A
B
C
A
B
C
A
B
C
F
F
Problema di minimizzazione
 Le forme canoniche e le altre realizzazioni a
SOP o POS differiscono tra loro in termini di
complessità
• L’algebra di Boole è uno strumento per semplificare
le espressioni logiche
• Espressioni logiche più semplici corrispondono a
implementazioni meno complesse
 Problemi
• Definire un criterio di complessità minima
• Esiste un’unica soluzione a minima complessità?
• Necessitiamo di un metodo per individuare la
soluzione minima
Terms of Use
 All (or portions) of this material © 2008 by Pearson
Education, Inc.
 Permission is given to incorporate this material or
adaptations thereof into classroom presentations and
handouts to instructors in courses adopting the latest
edition of Logic and Computer Design Fundamentals
as the course textbook.
 These materials or adaptations thereof are not to be
sold or otherwise offered for consideration.
 This Terms of Use slide or page is to be included within
the original materials or any adaptations thereof.
Chapter 2 - Part 1
37