University of Padova
Information Engineering Dept. – Microelectronics Lab.
Corso di Laurea in Ingegneria
dell’Informazione
Elettronica Digitale
- Lezione 2 -
Andrea Gerosa - gerosa@dei.unipd.it
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 = BC + 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